SiteWebAstrolabe/src/scss/_config.scss
2020-06-19 23:47:44 +02:00

183 lines
3.7 KiB
SCSS

@import 'tokens';
/**
* SIZE SCALE
* This is a Major Third scale that powers all the utilities that
* it is relevant for (font-size, margin, padding). All items are
* calcuated off these tokens.
*/
$stalfos-size-scale: map-get($tokens, 'size-scale');
/**
* COLORS
* Colors are shared between backgrounds and text by default.
* You can also use them to power borders, fills or shadows, for example.
*/
$stalfos-colors: map-get($tokens, 'colors');
/**
* UTIL PREFIX
* All pre-built, framework utilities will have this prefix.
* Example: the wrapper utility is '.sf-wrapper' because the default
* prefix is 'sf-'.
*/
$stalfos-util-prefix: 'sf-';
/**
* METRICS
* Various misc metrics to use around the site
*/
$metrics: (
'wrap-max-width': 71.25rem,
'wrap-inner-max-width': 62.25rem,
'md-breakpoint': 48rem
);
/**
* CORE CONFIG
* This powers everything from utility class generation to breakpoints
* to enabling/disabling pre-built components/utilities.
*/
$stalfos-config: (
'align': (
'items': (
'start': 'flex-start',
'center': 'center',
'end': 'flex-end'
),
'output': 'responsive',
'property': 'align-items'
),
'bg': (
'items': $stalfos-colors,
'output': 'standard',
'property': 'background'
),
'color': (
'items': $stalfos-colors,
'output': 'standard',
'property': 'color'
),
'box': (
'items': (
'block': 'block',
'flex': 'flex',
'inline-flex': 'inline-flex',
'hide': 'none'
),
'output': 'responsive',
'property': 'display'
),
'font': (
'items': map-get($tokens, 'fonts'),
'output': 'standard',
'property': 'font-family'
),
'gap-top': (
'items': $stalfos-size-scale,
'output': 'standard',
'property': 'margin-top'
),
'gap-bottom': (
'items': $stalfos-size-scale,
'output': 'standard',
'property': 'margin-bottom'
),
'leading': (
'items': (
'tight': '1.2',
'mid': '1.5',
'loose': '1.7'
),
'output': 'standard',
'property': 'line-height'
),
'measure': (
'items': (
'long': '75ch',
'short': '60ch',
'compact': '40ch'
),
'output': 'standard',
'property': 'max-width'
),
'pad-top': (
'items': $stalfos-size-scale,
'output': 'standard',
'property': 'padding-top'
),
'pad-bottom': (
'items': $stalfos-size-scale,
'output': 'standard',
'property': 'padding-bottom'
),
'pad-left': (
'items': $stalfos-size-scale,
'output': 'standard',
'property': 'padding-left'
),
'space': (
'items': (
'between': 'space-between',
'around': 'space-around',
'before': 'flex-end'
),
'output': 'responsive',
'property': 'justify-content'
),
'stack': (
'items': (
'300': 0,
'400': 10,
'500': 20,
'600': 30,
'700': 40
),
'output': 'standard',
'property': 'z-index'
),
'ta': (
'items': (
'right': 'right',
'left': 'left',
'center': 'center'
),
'output': 'responsive',
'property': 'text-align'
),
'text': (
'items': $stalfos-size-scale,
'output': 'responsive',
'property': 'font-size'
),
'weight': (
'items': (
'light': '300',
'regular': '400',
'mid': '600',
'bold': '700'
),
'output': 'standard',
'property': 'font-weight'
),
'width': (
'items': (
'full': '100%',
'half': percentage(1/2),
'quarter': percentage(1/4),
'third': percentage(1/3)
),
'output': 'responsive',
'property': 'width'
),
'breakpoints': (
'md': #{'(min-width: ' + map-get($metrics, 'md-breakpoint') + ')'}
),
'utilities': (
'reset': 'on',
'icon': 'off',
'flow': 'on',
'wrapper': 'off'
)
);