diff options
| author | Volpeon <git@volpeon.ink> | 2024-10-17 16:45:00 +0200 |
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2024-10-17 16:45:00 +0200 |
| commit | 50f6acc739f24bfa2ca080d08e90d82f8fa83543 (patch) | |
| tree | 404dbe97d34b7e4fc3293c8e6a8c92d9941ac51e | |
| parent | Colors (diff) | |
| download | iro-design-50f6acc739f24bfa2ca080d08e90d82f8fa83543.tar.gz iro-design-50f6acc739f24bfa2ca080d08e90d82f8fa83543.tar.bz2 iro-design-50f6acc739f24bfa2ca080d08e90d82f8fa83543.zip | |
Revamped variable management
| -rw-r--r-- | package.json | 5 | ||||
| -rw-r--r-- | src/_functions.scss | 32 | ||||
| -rw-r--r-- | src/_palettes.scss | 234 | ||||
| -rw-r--r-- | src/_props.scss | 105 | ||||
| -rw-r--r-- | src/_vars.scss | 376 | ||||
| -rw-r--r-- | src/index.scss | 17 | ||||
| -rw-r--r-- | src_demo/index.scss | 2 | ||||
| -rw-r--r-- | src_old/.old/layouts/_message-group.scss (renamed from src/.old/layouts/_message-group.scss) | 0 | ||||
| -rw-r--r-- | src_old/.old/objects/_dialog.scss (renamed from src/.old/objects/_dialog.scss) | 0 | ||||
| -rw-r--r-- | src_old/.old/objects/_icon-nav.scss (renamed from src/.old/objects/_icon-nav.scss) | 0 | ||||
| -rw-r--r-- | src_old/.old/objects/_list-group.scss (renamed from src/.old/objects/_list-group.scss) | 0 | ||||
| -rw-r--r-- | src_old/.old/objects/_message.scss (renamed from src/.old/objects/_message.scss) | 0 | ||||
| -rw-r--r-- | src_old/.old/objects/_overflow-button.scss (renamed from src/.old/objects/_overflow-button.scss) | 0 | ||||
| -rw-r--r-- | src_old/_base.scss (renamed from src/_base.scss) | 0 | ||||
| -rw-r--r-- | src_old/_config.scss (renamed from src/_config.scss) | 10 | ||||
| -rw-r--r-- | src_old/_functions.scss | 135 | ||||
| -rw-r--r-- | src_old/_layouts.scss (renamed from src/_layouts.scss) | 0 | ||||
| -rw-r--r-- | src_old/_mixins.scss (renamed from src/_mixins.scss) | 0 | ||||
| -rw-r--r-- | src_old/_objects.scss (renamed from src/_objects.scss) | 0 | ||||
| -rw-r--r-- | src_old/_scopes.scss (renamed from src/_scopes.scss) | 0 | ||||
| -rw-r--r-- | src_old/_themes.scss (renamed from src/_themes.scss) | 0 | ||||
| -rw-r--r-- | src_old/_utils.scss (renamed from src/_utils.scss) | 0 | ||||
| -rw-r--r-- | src_old/_vars.scss | 298 | ||||
| -rw-r--r-- | src_old/functions/colors/_apca.scss | 127 | ||||
| -rw-r--r-- | src_old/functions/colors/_index.scss | 1 | ||||
| -rw-r--r-- | src_old/index.scss | 10 | ||||
| -rw-r--r-- | src_old/layouts/_button-group.scss (renamed from src/layouts/_button-group.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_card-list.scss (renamed from src/layouts/_card-list.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_container.scss (renamed from src/layouts/_container.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_flex.scss (renamed from src/layouts/_flex.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_form.scss (renamed from src/layouts/_form.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_media.scss (renamed from src/layouts/_media.scss) | 0 | ||||
| -rw-r--r-- | src_old/layouts/_overflow.scss (renamed from src/layouts/_overflow.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_action-button.scss (renamed from src/objects/_action-button.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_alert.scss (renamed from src/objects/_alert.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_avatar.scss (renamed from src/objects/_avatar.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_backdrop.scss (renamed from src/objects/_backdrop.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_badge.scss (renamed from src/objects/_badge.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_button.scss (renamed from src/objects/_button.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_card.scss (renamed from src/objects/_card.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_checkbox.scss (renamed from src/objects/_checkbox.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_divider.scss (renamed from src/objects/_divider.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_emoji.scss (renamed from src/objects/_emoji.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_field-label.scss (renamed from src/objects/_field-label.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_heading.scss (renamed from src/objects/_heading.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_icon.scss (renamed from src/objects/_icon.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_lightbox.scss (renamed from src/objects/_lightbox.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_menu.scss (renamed from src/objects/_menu.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_palette.scss (renamed from src/objects/_palette.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_popover.scss (renamed from src/objects/_popover.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_radio.scss (renamed from src/objects/_radio.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_side-nav.scss (renamed from src/objects/_side-nav.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_status-indicator.scss (renamed from src/objects/_status-indicator.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_switch.scss (renamed from src/objects/_switch.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_table.scss (renamed from src/objects/_table.scss) | 0 | ||||
| -rw-r--r-- | src_old/objects/_text-field.scss (renamed from src/objects/_text-field.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_blockquotes.scss (renamed from src/scopes/_blockquotes.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_code.scss (renamed from src/scopes/_code.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_headings.scss (renamed from src/scopes/_headings.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_links.scss (renamed from src/scopes/_links.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_lists.scss (renamed from src/scopes/_lists.scss) | 0 | ||||
| -rw-r--r-- | src_old/scopes/_tables.scss (renamed from src/scopes/_tables.scss) | 0 |
62 files changed, 1073 insertions, 279 deletions
diff --git a/package.json b/package.json index 7462243..a992040 100644 --- a/package.json +++ b/package.json | |||
| @@ -8,11 +8,12 @@ | |||
| 8 | "private": true, | 8 | "private": true, |
| 9 | "sideEffects": false, | 9 | "sideEffects": false, |
| 10 | "scripts": { | 10 | "scripts": { |
| 11 | "build": "npm run build:app && npm run build:style && npm run build:icons && npm run build:assets", | 11 | "build": "npm run build:app && npm run build:demostyle && npm run build:icons && npm run build:assets", |
| 12 | "build:assets": "cp -r static/* public/", | 12 | "build:assets": "cp -r static/* public/", |
| 13 | "build:app": "pug tpl/index.pug -p tpl --out public/", | 13 | "build:app": "pug tpl/index.pug -p tpl --out public/", |
| 14 | "build:icons": "node node_modules/iro-icons/scripts/create_sprite.js image video volume-2 arrow-right check trash bookmark cog logout tags lock user chevron-left chevron-right hash x send smile repeat heart star arrow-corner-down-left public/icons.svg", | 14 | "build:icons": "node node_modules/iro-icons/scripts/create_sprite.js image video volume-2 arrow-right check trash bookmark cog logout tags lock user chevron-left chevron-right hash x send smile repeat heart star arrow-corner-down-left public/icons.svg", |
| 15 | "build:style": "sass --load-path=node_modules src_demo/index.scss public/style.css", | 15 | "build:demostyle": "sass --load-path=node_modules src_demo/index.scss public/style.css", |
| 16 | "build:style": "sass --load-path=node_modules src/index.scss public/style.css", | ||
| 16 | "lint:style": "stylelint \"src/**/*.scss\"", | 17 | "lint:style": "stylelint \"src/**/*.scss\"", |
| 17 | "fix:style": "stylelint \"src/**/*.scss\" --fix", | 18 | "fix:style": "stylelint \"src/**/*.scss\" --fix", |
| 18 | "serve": "python -m http.server --bind 127.0.0.1 --directory public 8001" | 19 | "serve": "python -m http.server --bind 127.0.0.1 --directory public 8001" |
diff --git a/src/_functions.scss b/src/_functions.scss index 523aa84..4807cc1 100644 --- a/src/_functions.scss +++ b/src/_functions.scss | |||
| @@ -7,31 +7,7 @@ | |||
| 7 | @use 'iro-sass/src/index' as iro; | 7 | @use 'iro-sass/src/index' as iro; |
| 8 | @use 'iro-sass/src/easing' as easing; | 8 | @use 'iro-sass/src/easing' as easing; |
| 9 | @use 'functions/colors' as iro-colors; | 9 | @use 'functions/colors' as iro-colors; |
| 10 | @use 'config'; | 10 | @use 'palettes'; |
| 11 | |||
| 12 | @function color($key, $tree: iro.$props-default-tree, $default: null, $global: false) { | ||
| 13 | @return iro.props-get(list.join(--colors, $key), $tree, $default, $global); | ||
| 14 | } | ||
| 15 | |||
| 16 | @function global-color($key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 17 | @return color($key, $tree, $default, $global); | ||
| 18 | } | ||
| 19 | |||
| 20 | @function foreign-color($foreign-key, $key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 21 | @return iro.props-get(list.join($foreign-key --colors, $key), $tree, $default, $global); | ||
| 22 | } | ||
| 23 | |||
| 24 | @function dim($key, $tree: iro.$props-default-tree, $default: null, $global: false) { | ||
| 25 | @return iro.props-get(list.join(--dims, $key), $tree, $default, $global); | ||
| 26 | } | ||
| 27 | |||
| 28 | @function global-dim($key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 29 | @return dim($key, $tree, $default, $global); | ||
| 30 | } | ||
| 31 | |||
| 32 | @function foreign-dim($foreign-key, $key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 33 | @return iro.props-get(list.join($foreign-key --dims, $key), $tree, $default, $global); | ||
| 34 | } | ||
| 35 | 11 | ||
| 36 | @function font-prop($data, $overrides, $key, $prop) { | 12 | @function font-prop($data, $overrides, $key, $prop) { |
| 37 | @if (map.has-key($overrides, $prop)) { | 13 | @if (map.has-key($overrides, $prop)) { |
| @@ -60,10 +36,6 @@ | |||
| 60 | @return $map; | 36 | @return $map; |
| 61 | } | 37 | } |
| 62 | 38 | ||
| 63 | @function lum($color) { | ||
| 64 | @return list.nth(blend-convert.lin_sRGB_to_XYZ(blend-convert.lin_sRGB(blend-convert.sassToRgb($color))), 2) + .05; | ||
| 65 | } | ||
| 66 | |||
| 67 | @function palette($base-color, $contrasts, $chroma-range: 1, $ref-color: $base-color) { | 39 | @function palette($base-color, $contrasts, $chroma-range: 1, $ref-color: $base-color) { |
| 68 | $base-lch: color.to-space($base-color, oklch); | 40 | $base-lch: color.to-space($base-color, oklch); |
| 69 | $ref-lch: color.to-space($ref-color, oklch); | 41 | $ref-lch: color.to-space($ref-color, oklch); |
| @@ -82,7 +54,7 @@ | |||
| 82 | $chroma-inv: true; | 54 | $chroma-inv: true; |
| 83 | $chroma-range: -1 * $chroma-range; | 55 | $chroma-range: -1 * $chroma-range; |
| 84 | } | 56 | } |
| 85 | $chroma-easing: meta.get-function(config.$palette-chroma-easing, $module: easing); | 57 | $chroma-easing: meta.get-function(palettes.$palette-chroma-easing, $module: easing); |
| 86 | 58 | ||
| 87 | $palette: (); | 59 | $palette: (); |
| 88 | 60 | ||
diff --git a/src/_palettes.scss b/src/_palettes.scss new file mode 100644 index 0000000..f8c5b23 --- /dev/null +++ b/src/_palettes.scss | |||
| @@ -0,0 +1,234 @@ | |||
| 1 | @use 'sass:list'; | ||
| 2 | @use 'sass:map'; | ||
| 3 | @use 'sass:math'; | ||
| 4 | @use 'iro-sass/src/index' as iro; | ||
| 5 | @use 'iro-sass/src/responsive' as res; | ||
| 6 | @use 'iro-sass/src/easing' as easing; | ||
| 7 | @use 'include-media/dist/include-media' as media; | ||
| 8 | |||
| 9 | iro.$vars-root-size: 16px; | ||
| 10 | |||
| 11 | media.$breakpoints: ( | ||
| 12 | lg: 1340px, | ||
| 13 | md: 900px, | ||
| 14 | sm: 620px, | ||
| 15 | xs: 400px, | ||
| 16 | ); | ||
| 17 | |||
| 18 | media.$unit-intervals: ( | ||
| 19 | 'px': 1, | ||
| 20 | 'em': .01, | ||
| 21 | 'rem': .01, | ||
| 22 | '': 0 | ||
| 23 | ); | ||
| 24 | |||
| 25 | res.$named-viewports: media.$breakpoints; | ||
| 26 | |||
| 27 | $palette-precision: .01 !default; | ||
| 28 | |||
| 29 | $palette-chroma-easing: 'ease' !default; | ||
| 30 | |||
| 31 | $static-colors-override: () !default; | ||
| 32 | $static-colors: map.deep-merge(( | ||
| 33 | --base: hsl(0, 0%, 98%), | ||
| 34 | |||
| 35 | --contrasts: ( | ||
| 36 | --100: math.div(0, 12) * 110 - 10, | ||
| 37 | --200: math.div(1, 12) * 110 - 10, | ||
| 38 | --300: math.div(2, 12) * 110 - 10, | ||
| 39 | --400: math.div(3, 12) * 110 - 10, | ||
| 40 | --500: math.div(4, 12) * 110 - 10, | ||
| 41 | --600: math.div(5, 12) * 110 - 10, | ||
| 42 | --700: math.div(6, 12) * 110 - 10, | ||
| 43 | --800: math.div(7, 12) * 110 - 10, | ||
| 44 | --900: math.div(8, 12) * 110 - 10, | ||
| 45 | --1000: math.div(9, 12) * 110 - 10, | ||
| 46 | --1100: math.div(10, 12) * 110 - 10, | ||
| 47 | --1200: math.div(11, 12) * 110 - 10, | ||
| 48 | --1300: math.div(12, 12) * 110 - 10, | ||
| 49 | ), | ||
| 50 | |||
| 51 | --palettes: ( | ||
| 52 | --blue: oklch(56% .14 275.25), | ||
| 53 | --purple: oklch(56% .14 305.58), | ||
| 54 | --red: oklch(56% .14 14.69), | ||
| 55 | --green: oklch(56% .14 150.48), | ||
| 56 | --yellow: oklch(56% .14 84.08), | ||
| 57 | ), | ||
| 58 | |||
| 59 | --transparents: ( | ||
| 60 | --100: 0, | ||
| 61 | --200: .1, | ||
| 62 | --300: .25, | ||
| 63 | --400: .4, | ||
| 64 | --500: .55, | ||
| 65 | --600: .7, | ||
| 66 | --700: .8, | ||
| 67 | --800: .9, | ||
| 68 | --900: 1, | ||
| 69 | ), | ||
| 70 | ), $static-colors-override) !default; | ||
| 71 | |||
| 72 | $semantic-colors-common-override: () !default; | ||
| 73 | $semantic-colors-common: map.deep-merge(( | ||
| 74 | --accent: --theme --blue, | ||
| 75 | --accent-static: --static --blue, | ||
| 76 | --positive: --theme --green, | ||
| 77 | --positive-static: --static --green, | ||
| 78 | --negative: --theme --red, | ||
| 79 | --negative-static: --static --red, | ||
| 80 | --warning: --theme --yellow, | ||
| 81 | --warning-static: --static --yellow, | ||
| 82 | |||
| 83 | --focus-raw: --theme --accent, | ||
| 84 | --focus-static: --theme --accent-static, | ||
| 85 | |||
| 86 | --border-mute: --theme --base --200, | ||
| 87 | --border: --theme --base --300, | ||
| 88 | --border-strong: --theme --base --400, | ||
| 89 | |||
| 90 | --text-disabled: --theme --base --500, | ||
| 91 | --text-mute-more: --theme --base --600, | ||
| 92 | --text-mute: --theme --base --700, | ||
| 93 | --text: --theme --base --800, | ||
| 94 | --heading: --theme --base --900, | ||
| 95 | |||
| 96 | --focus: ( | ||
| 97 | --outline: --theme --focus-raw --400, | ||
| 98 | --border-mute: --theme --focus-raw --900, | ||
| 99 | --border: --theme --focus-raw --1000, | ||
| 100 | --border-text: --theme --focus-raw --1000-text, | ||
| 101 | --border-strong: --theme --focus-raw --1100, | ||
| 102 | --text: --theme --focus-raw --1100, | ||
| 103 | ), | ||
| 104 | ), $semantic-colors-common-override) !default; | ||
| 105 | |||
| 106 | $theme-light-override: () !default; | ||
| 107 | $theme-light: map.deep-merge(( | ||
| 108 | --contrasts: ( | ||
| 109 | --grays: ( | ||
| 110 | --50: -8, | ||
| 111 | --75: -4, | ||
| 112 | --100: 0, | ||
| 113 | |||
| 114 | --200: easing.cubic-bezier(.2, .1, .9, .9, math.div(1, 7)) * 98, | ||
| 115 | --300: easing.cubic-bezier(.2, .1, .9, .9, math.div(2, 7)) * 98, | ||
| 116 | --400: easing.cubic-bezier(.2, .1, .9, .9, math.div(3, 7)) * 98, | ||
| 117 | |||
| 118 | --500: easing.cubic-bezier(.2, .1, .9, .9, math.div(4, 7)) * 98, | ||
| 119 | --600: easing.cubic-bezier(.2, .1, .9, .9, math.div(5, 7)) * 98, | ||
| 120 | --700: easing.cubic-bezier(.2, .1, .9, .9, math.div(6, 7)) * 98, | ||
| 121 | --800: easing.cubic-bezier(.2, .1, .9, .9, math.div(7, 7)) * 98, | ||
| 122 | --900: 106, | ||
| 123 | ), | ||
| 124 | |||
| 125 | --colors: ( | ||
| 126 | --100: math.div(0, 12) * 96 + 5, | ||
| 127 | --200: math.div(1, 12) * 96 + 5, | ||
| 128 | --300: math.div(2, 12) * 96 + 5, | ||
| 129 | --400: math.div(3, 12) * 96 + 5, | ||
| 130 | --500: math.div(4, 12) * 96 + 5, | ||
| 131 | --600: math.div(5, 12) * 96 + 5, | ||
| 132 | --700: math.div(6, 12) * 96 + 5, | ||
| 133 | --800: math.div(7, 12) * 96 + 5, | ||
| 134 | --900: math.div(8, 12) * 96 + 5, | ||
| 135 | --1000: math.div(9, 12) * 96 + 5, | ||
| 136 | --1100: math.div(10, 12) * 96 + 5, | ||
| 137 | --1200: math.div(11, 12) * 96 + 5, | ||
| 138 | --1300: math.div(12, 12) * 96 + 5, | ||
| 139 | ), | ||
| 140 | ), | ||
| 141 | |||
| 142 | --ranges: ( | ||
| 143 | --full: .3, | ||
| 144 | --muted: .1, | ||
| 145 | ), | ||
| 146 | |||
| 147 | --palettes: ( | ||
| 148 | --base: hsl(260, 90%, 98%) --grays --full, | ||
| 149 | --blue: oklch(56% .16 275.25) --colors --muted, | ||
| 150 | --purple: oklch(56% .16 305.58) --colors --muted, | ||
| 151 | --red: oklch(56% .16 14.69) --colors --muted, | ||
| 152 | --green: oklch(56% .16 150.48) --colors --muted, | ||
| 153 | --yellow: oklch(56% .16 84.08) --colors --muted, | ||
| 154 | ), | ||
| 155 | |||
| 156 | --semantic: map.merge($semantic-colors-common, ( | ||
| 157 | --bg-l2: --theme --base --50, | ||
| 158 | --bg-l1: --theme --base --100, | ||
| 159 | --bg-base: --theme --base --200, | ||
| 160 | )), | ||
| 161 | |||
| 162 | --constants: ( | ||
| 163 | --shadow: rgba(#000, .15), | ||
| 164 | ), | ||
| 165 | ), $theme-light-override) !default; | ||
| 166 | |||
| 167 | $theme-dark-override: () !default; | ||
| 168 | $theme-dark: map.deep-merge(( | ||
| 169 | --contrasts: ( | ||
| 170 | --grays: ( | ||
| 171 | --50: 4.4, | ||
| 172 | --75: 2.2, | ||
| 173 | --100: 0, | ||
| 174 | |||
| 175 | --200: easing.cubic-bezier(.3, .1, .8, .8, math.div(1, 8)) * -108, | ||
| 176 | --300: easing.cubic-bezier(.3, .1, .8, .8, math.div(2, 8)) * -108, | ||
| 177 | --400: easing.cubic-bezier(.3, .1, .8, .8, math.div(3, 8)) * -108, | ||
| 178 | |||
| 179 | --500: easing.cubic-bezier(.3, .1, .8, .8, math.div(4, 8)) * -108, | ||
| 180 | --600: easing.cubic-bezier(.3, .1, .8, .8, math.div(5, 8)) * -108, | ||
| 181 | --700: easing.cubic-bezier(.3, .1, .8, .8, math.div(6, 8)) * -108, | ||
| 182 | --800: easing.cubic-bezier(.3, .1, .8, .8, math.div(7, 8)) * -108, | ||
| 183 | --900: easing.cubic-bezier(.3, .1, .8, .8, math.div(8, 8)) * -108, | ||
| 184 | ), | ||
| 185 | |||
| 186 | --colors: ( | ||
| 187 | --100: math.div(0, 12) * -100 - 5, | ||
| 188 | --200: math.div(1, 12) * -100 - 5, | ||
| 189 | --300: math.div(2, 12) * -100 - 5, | ||
| 190 | --400: math.div(3, 12) * -100 - 5, | ||
| 191 | --500: math.div(4, 12) * -100 - 5, | ||
| 192 | --600: math.div(5, 12) * -100 - 5, | ||
| 193 | --700: math.div(6, 12) * -100 - 5, | ||
| 194 | --800: math.div(7, 12) * -100 - 5, | ||
| 195 | --900: math.div(8, 12) * -100 - 5, | ||
| 196 | --1000: math.div(9, 12) * -100 - 5, | ||
| 197 | --1100: math.div(10, 12) * -100 - 5, | ||
| 198 | --1200: math.div(11, 12) * -100 - 5, | ||
| 199 | --1300: math.div(12, 12) * -100 - 5, | ||
| 200 | ), | ||
| 201 | ), | ||
| 202 | |||
| 203 | --ranges: ( | ||
| 204 | --full: 1, | ||
| 205 | --muted: .3, | ||
| 206 | ), | ||
| 207 | |||
| 208 | --palettes: ( | ||
| 209 | --base: hsl(257, 7%, 19%) --grays --full, | ||
| 210 | --blue: oklch(56% .16 275.25) --colors --muted, | ||
| 211 | --purple: oklch(56% .16 305.58) --colors --muted, | ||
| 212 | --red: oklch(56% .16 14.69) --colors --muted, | ||
| 213 | --green: oklch(56% .16 150.48) --colors --muted, | ||
| 214 | --yellow: oklch(56% .16 84.08) --colors --muted, | ||
| 215 | ), | ||
| 216 | |||
| 217 | --semantic: map.merge($semantic-colors-common, ( | ||
| 218 | --bg-base: --theme --base --50, | ||
| 219 | --bg-l1: --theme --base --75, | ||
| 220 | --bg-l2: --theme --base --100, | ||
| 221 | )), | ||
| 222 | |||
| 223 | --constants: ( | ||
| 224 | --shadow: rgba(#000, .5), | ||
| 225 | ), | ||
| 226 | ), $theme-dark-override) !default; | ||
| 227 | |||
| 228 | $themes-override: () !default; | ||
| 229 | $themes: map.deep-merge(( | ||
| 230 | light: $theme-light, | ||
| 231 | dark: $theme-dark, | ||
| 232 | ), $themes-override) !default; | ||
| 233 | |||
| 234 | $theme-default: list.nth(map.keys($themes), 1) !default; | ||
diff --git a/src/_props.scss b/src/_props.scss new file mode 100644 index 0000000..f7f54c5 --- /dev/null +++ b/src/_props.scss | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | @use 'sass:list'; | ||
| 2 | @use 'sass:map'; | ||
| 3 | @use 'sass:meta'; | ||
| 4 | |||
| 5 | @use 'iro-sass/src/functions' as functions; | ||
| 6 | |||
| 7 | @function is-prop-ref($value) { | ||
| 8 | @if meta.type-of($value) != 'list' { | ||
| 9 | @return false; | ||
| 10 | } | ||
| 11 | @if list.length($value) != 3 { | ||
| 12 | @return false; | ||
| 13 | } | ||
| 14 | @if list.nth($value, 1) != 'prop-ref' { | ||
| 15 | @return false; | ||
| 16 | } | ||
| 17 | @return true; | ||
| 18 | } | ||
| 19 | |||
| 20 | @function def($name, $value: ()) { | ||
| 21 | @return ('prop-ref' $name $value); | ||
| 22 | } | ||
| 23 | |||
| 24 | @function merge($ref, $value) { | ||
| 25 | @if not is-prop-ref($ref) { | ||
| 26 | @return $ref; | ||
| 27 | } | ||
| 28 | |||
| 29 | $v: list.nth($ref, 3); | ||
| 30 | $ref: list.set-nth($ref, 3, map.deep-merge($v, $value)); | ||
| 31 | @return $ref; | ||
| 32 | } | ||
| 33 | |||
| 34 | @function get-deep($name, $value, $key: (), $keys...) { | ||
| 35 | @if is-prop-ref($value) { | ||
| 36 | // $value: list.nth($value, 3); | ||
| 37 | @return get($value, $key, $keys); | ||
| 38 | } | ||
| 39 | @if meta.type-of($value) == 'map' { | ||
| 40 | @if list.length($keys) == 0 { | ||
| 41 | @return #{$name}#{$key} map.get($value, $key); | ||
| 42 | } @else { | ||
| 43 | @return get-deep(#{$name}#{$key}, map.get($value, $key), $keys...); | ||
| 44 | } | ||
| 45 | } | ||
| 46 | @return $name $value; | ||
| 47 | } | ||
| 48 | |||
| 49 | @function map-to-vars($name, $map) { | ||
| 50 | @if meta.type-of($map) != 'map' { | ||
| 51 | @return var($name); | ||
| 52 | } | ||
| 53 | |||
| 54 | $out: (); | ||
| 55 | |||
| 56 | @each $key, $value in $map { | ||
| 57 | $out: map.set($out, $key, map-to-vars(#{$name}#{$key}, $value)); | ||
| 58 | } | ||
| 59 | |||
| 60 | @return $out; | ||
| 61 | } | ||
| 62 | |||
| 63 | @function get($ref, $key: (), $keys...) { | ||
| 64 | @if not is-prop-ref($ref) { | ||
| 65 | @return $ref; | ||
| 66 | } | ||
| 67 | |||
| 68 | $name: list.nth($ref, 2); | ||
| 69 | $value: get(list.nth($ref, 3)); | ||
| 70 | |||
| 71 | @if meta.type-of($value) == 'map' { | ||
| 72 | $res: get-deep($name, $value, $key, $keys...); | ||
| 73 | $name: list.nth($res, 1); | ||
| 74 | $value: list.nth($res, 2); | ||
| 75 | } @else if meta.type-of($value) == 'list' { | ||
| 76 | $i: 1; | ||
| 77 | @each $item in $value { | ||
| 78 | $value: list.set-nth($value, $i, get($item)); | ||
| 79 | $i: $i + 1; | ||
| 80 | } | ||
| 81 | } | ||
| 82 | |||
| 83 | @return map-to-vars($name, $value); | ||
| 84 | } | ||
| 85 | |||
| 86 | @mixin declare-helper($name, $value) { | ||
| 87 | @if meta.type-of($value) == 'map' { | ||
| 88 | @each $key, $value in $value { | ||
| 89 | @include declare-helper(#{$name}#{$key}, $value); | ||
| 90 | } | ||
| 91 | } @else { | ||
| 92 | #{$name}: #{$value}; | ||
| 93 | } | ||
| 94 | } | ||
| 95 | |||
| 96 | @mixin materialize($refs) { | ||
| 97 | @each $ref in $refs { | ||
| 98 | @if is-prop-ref($ref) { | ||
| 99 | $name: list.nth($ref, 2); | ||
| 100 | $value: get(list.nth($ref, 3)); | ||
| 101 | |||
| 102 | @include declare-helper($name, $value); | ||
| 103 | } | ||
| 104 | } | ||
| 105 | } | ||
diff --git a/src/_vars.scss b/src/_vars.scss index afe1e15..aaa38a0 100644 --- a/src/_vars.scss +++ b/src/_vars.scss | |||
| @@ -4,243 +4,161 @@ | |||
| 4 | @use 'iro-sass/src/index' as iro; | 4 | @use 'iro-sass/src/index' as iro; |
| 5 | @use 'include-media/dist/include-media' as media; | 5 | @use 'include-media/dist/include-media' as media; |
| 6 | @use 'functions' as fn; | 6 | @use 'functions' as fn; |
| 7 | @use 'config'; | 7 | @use 'palettes'; |
| 8 | @use 'props'; | ||
| 8 | 9 | ||
| 9 | @include iro.props-store(( | 10 | $size--0: props.def(--size--0, 0) !default; |
| 10 | --dims: ( | 11 | $size--10: props.def(--size--10, iro.fn-px-to-rem(1px)) !default; |
| 11 | --size: ( | 12 | $size--25: props.def(--size--25, iro.fn-px-to-rem(2px)) !default; |
| 12 | --0: 0, | 13 | $size--40: props.def(--size--40, iro.fn-px-to-rem(3px)) !default; |
| 13 | --10: iro.fn-px-to-rem(1px), | 14 | $size--50: props.def(--size--50, iro.fn-px-to-rem(4px)) !default; |
| 14 | --25: iro.fn-px-to-rem(2px), | 15 | $size--65: props.def(--size--65, iro.fn-px-to-rem(5px)) !default; |
| 15 | --40: iro.fn-px-to-rem(3px), | 16 | $size--75: props.def(--size--75, iro.fn-px-to-rem(6px)) !default; |
| 16 | --50: iro.fn-px-to-rem(4px), | 17 | $size--85: props.def(--size--85, iro.fn-px-to-rem(7px)) !default; |
| 17 | --65: iro.fn-px-to-rem(5px), | 18 | $size--100: props.def(--size--100, iro.fn-px-to-rem(8px)) !default; |
| 18 | --75: iro.fn-px-to-rem(6px), | 19 | $size--115: props.def(--size--115, iro.fn-px-to-rem(9px)) !default; |
| 19 | --85: iro.fn-px-to-rem(7px), | 20 | $size--125: props.def(--size--125, iro.fn-px-to-rem(10px)) !default; |
| 20 | --100: iro.fn-px-to-rem(8px), | 21 | $size--130: props.def(--size--130, iro.fn-px-to-rem(11px)) !default; |
| 21 | --115: iro.fn-px-to-rem(9px), | 22 | $size--150: props.def(--size--150, iro.fn-px-to-rem(12px)) !default; |
| 22 | --125: iro.fn-px-to-rem(10px), | 23 | $size--160: props.def(--size--160, iro.fn-px-to-rem(13px)) !default; |
| 23 | --130: iro.fn-px-to-rem(11px), | 24 | $size--175: props.def(--size--175, iro.fn-px-to-rem(14px)) !default; |
| 24 | --150: iro.fn-px-to-rem(12px), | 25 | $size--200: props.def(--size--200, iro.fn-px-to-rem(16px)) !default; |
| 25 | --160: iro.fn-px-to-rem(13px), | 26 | $size--225: props.def(--size--225, iro.fn-px-to-rem(18px)) !default; |
| 26 | --175: iro.fn-px-to-rem(14px), | 27 | $size--250: props.def(--size--250, iro.fn-px-to-rem(20px)) !default; |
| 27 | --200: iro.fn-px-to-rem(16px), | 28 | $size--275: props.def(--size--275, iro.fn-px-to-rem(22px)) !default; |
| 28 | --225: iro.fn-px-to-rem(18px), | 29 | $size--300: props.def(--size--300, iro.fn-px-to-rem(24px)) !default; |
| 29 | --250: iro.fn-px-to-rem(20px), | 30 | $size--325: props.def(--size--325, iro.fn-px-to-rem(26px)) !default; |
| 30 | --275: iro.fn-px-to-rem(22px), | 31 | $size--350: props.def(--size--350, iro.fn-px-to-rem(28px)) !default; |
| 31 | --300: iro.fn-px-to-rem(24px), | 32 | $size--375: props.def(--size--375, iro.fn-px-to-rem(30px)) !default; |
| 32 | --325: iro.fn-px-to-rem(26px), | 33 | $size--400: props.def(--size--400, iro.fn-px-to-rem(32px)) !default; |
| 33 | --350: iro.fn-px-to-rem(28px), | 34 | $size--450: props.def(--size--450, iro.fn-px-to-rem(36px)) !default; |
| 34 | --375: iro.fn-px-to-rem(30px), | 35 | $size--500: props.def(--size--500, iro.fn-px-to-rem(40px)) !default; |
| 35 | --400: iro.fn-px-to-rem(32px), | 36 | $size--550: props.def(--size--550, iro.fn-px-to-rem(44px)) !default; |
| 36 | --450: iro.fn-px-to-rem(36px), | 37 | $size--600: props.def(--size--600, iro.fn-px-to-rem(48px)) !default; |
| 37 | --500: iro.fn-px-to-rem(40px), | 38 | $size--650: props.def(--size--650, iro.fn-px-to-rem(52px)) !default; |
| 38 | --550: iro.fn-px-to-rem(44px), | 39 | $size--700: props.def(--size--700, iro.fn-px-to-rem(56px)) !default; |
| 39 | --600: iro.fn-px-to-rem(48px), | 40 | $size--800: props.def(--size--800, iro.fn-px-to-rem(64px)) !default; |
| 40 | --650: iro.fn-px-to-rem(52px), | 41 | $size--900: props.def(--size--900, iro.fn-px-to-rem(72px)) !default; |
| 41 | --700: iro.fn-px-to-rem(56px), | 42 | $size--1000: props.def(--size--1000, iro.fn-px-to-rem(80px)) !default; |
| 42 | --800: iro.fn-px-to-rem(64px), | 43 | $size--1200: props.def(--size--1200, iro.fn-px-to-rem(96px)) !default; |
| 43 | --900: iro.fn-px-to-rem(72px), | 44 | $size--1600: props.def(--size--1600, iro.fn-px-to-rem(128px)) !default; |
| 44 | --1000: iro.fn-px-to-rem(80px), | 45 | $size--2000: props.def(--size--2000, iro.fn-px-to-rem(160px)) !default; |
| 45 | --1200: iro.fn-px-to-rem(96px), | 46 | $size--2400: props.def(--size--2400, iro.fn-px-to-rem(192px)) !default; |
| 46 | --1600: iro.fn-px-to-rem(128px), | 47 | $size--2500: props.def(--size--2500, iro.fn-px-to-rem(200px)) !default; |
| 47 | --2000: iro.fn-px-to-rem(160px), | 48 | $size--2600: props.def(--size--2600, iro.fn-px-to-rem(208px)) !default; |
| 48 | --2400: iro.fn-px-to-rem(192px), | 49 | $size--2800: props.def(--size--2800, iro.fn-px-to-rem(224px)) !default; |
| 49 | --2500: iro.fn-px-to-rem(200px), | 50 | $size--3200: props.def(--size--3200, iro.fn-px-to-rem(256px)) !default; |
| 50 | --2600: iro.fn-px-to-rem(208px), | 51 | $size--3400: props.def(--size--3400, iro.fn-px-to-rem(272px)) !default; |
| 51 | --2800: iro.fn-px-to-rem(224px), | 52 | $size--3500: props.def(--size--3500, iro.fn-px-to-rem(280px)) !default; |
| 52 | --3200: iro.fn-px-to-rem(256px), | 53 | $size--3600: props.def(--size--3600, iro.fn-px-to-rem(288px)) !default; |
| 53 | --3400: iro.fn-px-to-rem(272px), | 54 | $size--3800: props.def(--size--3800, iro.fn-px-to-rem(304px)) !default; |
| 54 | --3500: iro.fn-px-to-rem(280px), | 55 | $size--4600: props.def(--size--4600, iro.fn-px-to-rem(368px)) !default; |
| 55 | --3600: iro.fn-px-to-rem(288px), | 56 | $size--5000: props.def(--size--5000, iro.fn-px-to-rem(400px)) !default; |
| 56 | --3800: iro.fn-px-to-rem(304px), | 57 | $size--6000: props.def(--size--6000, iro.fn-px-to-rem(480px)) !default; |
| 57 | --4600: iro.fn-px-to-rem(368px), | ||
| 58 | --5000: iro.fn-px-to-rem(400px), | ||
| 59 | --6000: iro.fn-px-to-rem(480px), | ||
| 60 | ), | ||
| 61 | 58 | ||
| 62 | --font: ( | 59 | $font--standard--family: props.def(--font--standard--family, ('Inter', 'Open Sans', 'Segoe UI', 'Droid Sans', Roboto, Oxygen, 'Helvetica Neue', Helvetica, Tahoma, Arial, sans-serif)) !default; |
| 63 | --standard: ( | 60 | $font--standard--line-height: props.def(--font--standard--line-height, 1.5) !default; |
| 64 | --family: ('Inter', 'Open Sans', 'Segoe UI', 'Droid Sans', Roboto, Oxygen, 'Helvetica Neue', Helvetica, Tahoma, Arial, sans-serif), | 61 | $font--standard--feature-settings: props.def(--font--standard--feature-settings, ('\'ss01\'')) !default; |
| 65 | --line-height: 1.5, | ||
| 66 | --feature-settings: ('\'ss01\''), | ||
| 67 | ), | ||
| 68 | --headline: ( | ||
| 69 | --family: ('Inter', fn.dim(--font --standard --family, null)), | ||
| 70 | --line-height: 1.3, | ||
| 71 | --weight: 800, | ||
| 72 | --feature-settings: ('\'opsz\'' 32, '\'ss01\'', '\'cv06\''), | ||
| 73 | ), | ||
| 74 | --mono: ( | ||
| 75 | --family: ('Iosevka Term SS09', 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace), | ||
| 76 | --line-height: 1.4, | ||
| 77 | ) | ||
| 78 | ), | ||
| 79 | 62 | ||
| 80 | --font-size: ( | 63 | $font--headline--family: props.def(--font--headline--family, ('Inter', props.get($font--standard--family))) !default; |
| 81 | --50: iro.fn-px-to-rem(12px), | 64 | $font--headline--line-height: props.def(--font--headline--line-height, 1.3) !default; |
| 82 | --75: iro.fn-px-to-rem(13px), | 65 | $font--headline--weight: props.def(--font--headline--weight, 800) !default; |
| 83 | --100: iro.fn-px-to-rem(14px), | 66 | $font--headline--feature-settings: props.def(--font--headline--feature-settings, ('\'opsz\'' 32, '\'ss01\'', '\'cv06\'')) !default; |
| 84 | --150: iro.fn-px-to-rem(16px), | ||
| 85 | --200: iro.fn-px-to-rem(18px), | ||
| 86 | --300: iro.fn-px-to-rem(20px), | ||
| 87 | --400: iro.fn-px-to-rem(24px), | ||
| 88 | --500: iro.fn-px-to-rem(28px), | ||
| 89 | --600: iro.fn-px-to-rem(32px), | ||
| 90 | --700: iro.fn-px-to-rem(36px), | ||
| 91 | --800: iro.fn-px-to-rem(40px), | ||
| 92 | --900: iro.fn-px-to-rem(45px), | ||
| 93 | --1000: iro.fn-px-to-rem(50px), | ||
| 94 | --1100: iro.fn-px-to-rem(60px), | ||
| 95 | ), | ||
| 96 | 67 | ||
| 97 | --border: ( | 68 | $font--mono--family: props.def(--font--mono--family, ('Iosevka Term SS09', 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace)) !default; |
| 98 | --thick: 4px, | 69 | $font--mono--line-height: props.def(--font--mono--line-height, 1.4) !default; |
| 99 | --medium: 2px, | ||
| 100 | --thin: 1px, | ||
| 101 | ), | ||
| 102 | 70 | ||
| 103 | --shadow: ( | 71 | $font-size--50: props.def(--font-size--50, iro.fn-px-to-rem(12px)) !default; |
| 104 | --x: 0, | 72 | $font-size--75: props.def(--font-size--75 , iro.fn-px-to-rem(13px)) !default; |
| 105 | --y: 1px, | 73 | $font-size--100: props.def(--font-size--100, iro.fn-px-to-rem(14px)) !default; |
| 106 | --blur: 4px, | 74 | $font-size--150: props.def(--font-size--150, iro.fn-px-to-rem(16px)) !default; |
| 107 | ), | 75 | $font-size--200: props.def(--font-size--200, iro.fn-px-to-rem(18px)) !default; |
| 76 | $font-size--300: props.def(--font-size--300, iro.fn-px-to-rem(20px)) !default; | ||
| 77 | $font-size--400: props.def(--font-size--400, iro.fn-px-to-rem(24px)) !default; | ||
| 78 | $font-size--500: props.def(--font-size--500, iro.fn-px-to-rem(28px)) !default; | ||
| 79 | $font-size--600: props.def(--font-size--600, iro.fn-px-to-rem(32px)) !default; | ||
| 80 | $font-size--700: props.def(--font-size--700, iro.fn-px-to-rem(36px)) !default; | ||
| 81 | $font-size--800: props.def(--font-size--800, iro.fn-px-to-rem(40px)) !default; | ||
| 82 | $font-size--900: props.def(--font-size--900, iro.fn-px-to-rem(45px)) !default; | ||
| 83 | $font-size--1000: props.def(--font-size--1000, iro.fn-px-to-rem(50px)) !default; | ||
| 84 | $font-size--1100: props.def(--font-size--1100, iro.fn-px-to-rem(60px)) !default; | ||
| 108 | 85 | ||
| 109 | --rounding: 4px, | 86 | $border-width--thick: props.def(--border-width--thick, 4px) !default; |
| 87 | $border-width--medium: props.def(--border-width--medium, 2px) !default; | ||
| 88 | $border-width--thin: props.def(--border-width--thin, 1px) !default; | ||
| 110 | 89 | ||
| 111 | --key-focus: ( | 90 | $shadow--x: props.def(--shadow--x, 0) !default; |
| 112 | --outline: fn.dim(--border --thick, null), | 91 | $shadow--y: props.def(--shadow--y, 1px) !default; |
| 113 | --border: fn.dim(--border --medium, null), | 92 | $shadow--blur: props.def(--shadow--blur, 4px) !default; |
| 114 | --border-offset: fn.dim(--border --medium, null), | ||
| 115 | ), | ||
| 116 | 93 | ||
| 117 | --paragraph: ( | 94 | $rounding: props.def(--rounding, 4px) !default; |
| 118 | --margin-bs: fn.dim(--size --300, null), | ||
| 119 | ), | ||
| 120 | 95 | ||
| 121 | --heading: ( | 96 | $key-focus--outline-width: props.def(--key-focus--outline-width, props.get($border-width--thick)) !default; |
| 122 | --margin-bs: fn.dim(--size --700, null), | 97 | $key-focus--border: props.def(--key-focus--border, props.get($border-width--medium)) !default; |
| 123 | --margin-bs-sibling: fn.dim(--size --325, null), | 98 | $key-focus--border-offset: props.def(--key-focus--border-offset, props.get($border-width--medium)) !default; |
| 124 | 99 | ||
| 125 | --xxl: fn.dim(--font-size --300, null), | 100 | $paragraph--margin-bs: props.def(--paragraph--margin-bs, props.get($size--300)) !default; |
| 126 | --xl: fn.dim(--font-size --200, null), | ||
| 127 | --lg: fn.dim(--font-size --150, null), | ||
| 128 | --md: fn.dim(--font-size --100, null), | ||
| 129 | --sm: fn.dim(--font-size --75, null), | ||
| 130 | --xs: fn.dim(--font-size --50, null), | ||
| 131 | 101 | ||
| 132 | --display: ( | 102 | $heading--margin-bs: props.def(--heading--margin-bs, props.get($size--700)) !default; |
| 133 | --xxl: fn.dim(--font-size --1100, null), | 103 | $heading--margin-bs-sibling: props.def(--heading--margin-bs-sibling, props.get($size--325)) !default; |
| 134 | --xl: fn.dim(--font-size --700, null), | 104 | $heading--xxl: props.def(--heading--xxl, props.get($font-size--300)) !default; |
| 135 | --lg: fn.dim(--font-size --300, null), | 105 | $heading--xl: props.def(--heading--xl, props.get($font-size--200)) !default; |
| 136 | --md: fn.dim(--font-size --150, null), | 106 | $heading--lg: props.def(--heading--lg, props.get($font-size--150)) !default; |
| 137 | --sm: fn.dim(--font-size --75, null), | 107 | $heading--md: props.def(--heading--md, props.get($font-size--100)) !default; |
| 138 | --xs: fn.dim(--font-size --50, null), | 108 | $heading--sm: props.def(--heading--sm, props.get($font-size--75)) !default; |
| 139 | ), | 109 | $heading--xs: props.def(--heading--xs, props.get($font-size--50)) !default; |
| 110 | $heading--display--xxl: props.def(--heading--display--xxl, props.get($font-size--1100)) !default; | ||
| 111 | $heading--display--xl: props.def(--heading--display--xl, props.get($font-size--700)) !default; | ||
| 112 | $heading--display--lg: props.def(--heading--display--lg, props.get($font-size--300)) !default; | ||
| 113 | $heading--display--md: props.def(--heading--display--md, props.get($font-size--150)) !default; | ||
| 114 | $heading--display--sm: props.def(--heading--display--sm, props.get($font-size--75)) !default; | ||
| 115 | $heading--display--xs: props.def(--heading--display--xs, props.get($font-size--50)) !default; | ||
| 116 | $heading--display-sm--xxl: props.def(--heading--display-sm--xxl, props.get($font-size--900)) !default; | ||
| 117 | $heading--display-sm--xl: props.def(--heading--display-sm--xl, props.get($font-size--600)) !default; | ||
| 118 | $heading--display-sm--lg: props.def(--heading--display-sm--lg, props.get($font-size--200)) !default; | ||
| 119 | $heading--display-sm--md: props.def(--heading--display-sm--md, props.get($font-size--100)) !default; | ||
| 120 | $heading--display-sm--sm: props.def(--heading--display-sm--sm, props.get($font-size--75)) !default; | ||
| 121 | $heading--display-sm--xs: props.def(--heading--display-sm--xs, props.get($font-size--50)) !default; | ||
| 140 | 122 | ||
| 141 | --display-sm: ( | 123 | $list--indent: props.def(--list--indent, props.get($size--400)) !default; |
| 142 | --xxl: fn.dim(--font-size --900, null), | 124 | $list--compact-indent: props.def(--list--indent, props.get($size--250)) !default; |
| 143 | --xl: fn.dim(--font-size --600, null), | ||
| 144 | --lg: fn.dim(--font-size --200, null), | ||
| 145 | --md: fn.dim(--font-size --100, null), | ||
| 146 | --sm: fn.dim(--font-size --75, null), | ||
| 147 | --xs: fn.dim(--font-size --50, null), | ||
| 148 | ) | ||
| 149 | ), | ||
| 150 | 125 | ||
| 151 | --list: ( | 126 | // |
| 152 | --indent: fn.dim(--size --400, null), | ||
| 153 | --compact-indent: fn.dim(--size --250, null), | ||
| 154 | ), | ||
| 155 | ), | ||
| 156 | )); | ||
| 157 | 127 | ||
| 158 | @each $breakpoint in map.keys(media.$breakpoints) { | 128 | $static-colors: props.def(--static-colors); |
| 159 | @include media.media('<=#{$breakpoint}') { | 129 | @each $palette-name, $palette in map.get(palettes.$static-colors, --palettes) { |
| 160 | @include iro.props-store((), $breakpoint); | 130 | $palette: fn.palette($palette, map.get(palettes.$static-colors, --contrasts), 1, map.get(palettes.$static-colors, --base)); |
| 161 | } | 131 | $static-colors: props.merge($static-colors, ( $palette-name: $palette )); |
| 162 | } | 132 | } |
| 163 | 133 | ||
| 164 | @include iro.props-store(( | ||
| 165 | --dims: ( | ||
| 166 | --heading: ( | ||
| 167 | --margin-bs: fn.dim(--size --600, null), | ||
| 168 | ), | ||
| 169 | |||
| 170 | --list: ( | ||
| 171 | --indent: fn.dim(--size --300), | ||
| 172 | ), | ||
| 173 | ) | ||
| 174 | ), 'sm'); | ||
| 175 | |||
| 176 | @include iro.props-store(( | ||
| 177 | --dims: ( | ||
| 178 | --heading: ( | ||
| 179 | --margin-bs: fn.dim(--size --500, null), | ||
| 180 | ), | ||
| 181 | |||
| 182 | --list: ( | ||
| 183 | --indent: fn.dim(--size --250), | ||
| 184 | ), | ||
| 185 | ) | ||
| 186 | ), 'xs'); | ||
| 187 | |||
| 188 | // | 134 | // |
| 189 | 135 | ||
| 190 | @each $palette-name, $palette in map.get(config.$static-colors, --palettes) { | 136 | $transparent-colors: props.def(--transparent-colors); |
| 191 | @include iro.props-store(( | ||
| 192 | --colors: ( | ||
| 193 | #{$palette-name}-static: fn.palette( | ||
| 194 | $palette, | ||
| 195 | map.get(config.$static-colors, --contrasts), | ||
| 196 | 1, | ||
| 197 | map.get(config.$static-colors, --base), | ||
| 198 | ), | ||
| 199 | ), | ||
| 200 | )); | ||
| 201 | } | ||
| 202 | |||
| 203 | @each $palette-name, $palette in (--black: #000 #fff, --white: #fff #000) { | 137 | @each $palette-name, $palette in (--black: #000 #fff, --white: #fff #000) { |
| 204 | $color: list.nth($palette, 1); | 138 | $color: list.nth($palette, 1); |
| 205 | $text: list.nth($palette, 2); | 139 | $text: list.nth($palette, 2); |
| 206 | 140 | ||
| 207 | @include iro.props-store(( | 141 | $palette: fn.transparent-palette($color, $text, map.get(palettes.$static-colors, --transparents)); |
| 208 | --colors: ( | 142 | $transparent-colors: props.merge($transparent-colors, ( $palette-name: $palette )); |
| 209 | #{$palette-name}-transparent: fn.transparent-palette( | ||
| 210 | $color, | ||
| 211 | $text, | ||
| 212 | map.get(config.$static-colors, --transparents), | ||
| 213 | ), | ||
| 214 | ), | ||
| 215 | )); | ||
| 216 | } | 143 | } |
| 217 | 144 | ||
| 218 | @each $theme-name, $theme in config.$themes { | 145 | // |
| 219 | $tree: if($theme-name == config.$theme-default, iro.$props-default-tree, $theme-name); | 146 | |
| 147 | $themes: props.def(--themes); | ||
| 148 | @each $theme-name, $theme in palettes.$themes { | ||
| 149 | $themes: props.merge($themes, ( --#{$theme-name}: () )); | ||
| 220 | 150 | ||
| 221 | @each $palette-name, $palette in map.get($theme, --palettes) { | 151 | @each $palette-name, $palette in map.get($theme, --palettes) { |
| 222 | $base-color: list.nth($palette, 1); | 152 | $base-color: list.nth($palette, 1); |
| 223 | $contrasts: list.nth($palette, 2); | 153 | $contrasts: list.nth($palette, 2); |
| 224 | $ranges: list.nth($palette, 3); | 154 | $ranges: list.nth($palette, 3); |
| 225 | 155 | ||
| 226 | @include iro.props-store(( | 156 | $palette: fn.palette($base-color, map.get($theme, --contrasts, $contrasts), map.get($theme, --ranges, $ranges), list.nth(map.get($theme, --palettes, --base), 1)); |
| 227 | --colors: ( | 157 | $themes: props.merge($themes, ( --#{$theme-name}: ( $palette-name: $palette ) )); |
| 228 | $palette-name: fn.palette( | ||
| 229 | $base-color, | ||
| 230 | map.get($theme, --contrasts, $contrasts), | ||
| 231 | map.get($theme, --ranges, $ranges), | ||
| 232 | list.nth(map.get($theme, --palettes, --base), 1), | ||
| 233 | ), | ||
| 234 | ), | ||
| 235 | ), $tree); | ||
| 236 | } | 158 | } |
| 237 | 159 | ||
| 238 | @each $color, $value in map.get($theme, --constants) { | 160 | @each $color, $value in map.get($theme, --constants) { |
| 239 | @include iro.props-store(( | 161 | $themes: props.merge($themes, ( --#{$theme-name}: ( $color: $value ) )); |
| 240 | --colors: ( | ||
| 241 | $color: $value, | ||
| 242 | ), | ||
| 243 | ), $tree); | ||
| 244 | } | 162 | } |
| 245 | 163 | ||
| 246 | @each $color, $ref in map.get($theme, --semantic) { | 164 | @each $color, $ref in map.get($theme, --semantic) { |
| @@ -248,42 +166,34 @@ | |||
| 248 | 166 | ||
| 249 | @if meta.type-of($ref) == 'map' { | 167 | @if meta.type-of($ref) == 'map' { |
| 250 | @each $key, $r in $ref { | 168 | @each $key, $r in $ref { |
| 251 | $res: map.set($res, $key, fn.color($r)); | 169 | $repo-name: list.nth($r, 1); |
| 252 | } | 170 | $re1: list.nth($r, 2); |
| 253 | } @else { | 171 | $re2: iro.fn-list-slice($r, 3); |
| 254 | $res: fn.color($ref); | ||
| 255 | } | ||
| 256 | 172 | ||
| 257 | @include iro.props-store(( | 173 | $res2: null; |
| 258 | --colors: ( | ||
| 259 | $color: $res, | ||
| 260 | ), | ||
| 261 | ), $tree); | ||
| 262 | } | ||
| 263 | } | ||
| 264 | 174 | ||
| 265 | @each $theme-name, $theme in config.$themes { | 175 | @if $repo-name == --static { |
| 266 | $tree: if($theme-name == config.$theme-default, iro.$props-default-tree, $theme-name); | 176 | $res2: props.get($static-colors, $re1, $re2...); |
| 177 | } @else { | ||
| 178 | $res2: props.get($themes, --#{$theme-name}, $re1, $re2...); | ||
| 179 | } | ||
| 267 | 180 | ||
| 268 | @include iro.props-store(( | 181 | $res: map.merge($res, ($key: $res2)); |
| 269 | --colors: ( | 182 | } |
| 270 | 183 | } @else { | |
| 271 | ), | 184 | $repo-name: list.nth($ref, 1); |
| 272 | ), $tree); | 185 | $ref1: list.nth($ref, 2); |
| 273 | } | 186 | $ref2: iro.fn-list-slice($ref, 3); |
| 274 | 187 | ||
| 275 | @mixin apply-vars { | 188 | $res: null; |
| 276 | :root { | ||
| 277 | @include iro.props-assign; | ||
| 278 | 189 | ||
| 279 | @each $breakpoint in map.keys(media.$breakpoints) { | 190 | @if $repo-name == --static { |
| 280 | @include media.media('<=#{$breakpoint}') { | 191 | $res: props.get($static-colors, $ref1, $ref2...); |
| 281 | @include iro.props-assign($breakpoint); | 192 | } @else { |
| 193 | $res: props.get($themes, --#{$theme-name}, $ref1, $ref2...); | ||
| 282 | } | 194 | } |
| 283 | } | 195 | } |
| 284 | 196 | ||
| 285 | @media (prefers-color-scheme: dark) { | 197 | $themes: props.merge($themes, ( --#{$theme-name}: ( $color: $res ) )); |
| 286 | @include iro.props-assign('dark'); | ||
| 287 | } | ||
| 288 | } | 198 | } |
| 289 | } | 199 | } |
diff --git a/src/index.scss b/src/index.scss index a8d9c24..5c2a1e8 100644 --- a/src/index.scss +++ b/src/index.scss | |||
| @@ -1,10 +1,11 @@ | |||
| 1 | @use 'vars' as vars; | 1 | @use 'sass:map'; |
| 2 | @use 'sass:meta'; | ||
| 2 | 3 | ||
| 3 | @use 'base'; | 4 | @use 'props'; |
| 4 | @use 'layouts'; | 5 | @use 'vars'; |
| 5 | @use 'objects'; | ||
| 6 | @use 'scopes'; | ||
| 7 | @use 'themes'; | ||
| 8 | @use 'utils'; | ||
| 9 | 6 | ||
| 10 | @include vars.apply-vars; | 7 | $vars: map.values(meta.module-variables('vars')); |
| 8 | |||
| 9 | :root { | ||
| 10 | @include props.materialize($vars); | ||
| 11 | } | ||
diff --git a/src_demo/index.scss b/src_demo/index.scss index 3aed9e7..4812867 100644 --- a/src_demo/index.scss +++ b/src_demo/index.scss | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @use '../src/vars' as vars; | 1 | @use '../src/vars' as vars; |
| 2 | 2 | ||
| 3 | @use '../src/base'; | 3 | //@use '../src/base'; |
| 4 | @use 'base' as demo-base; | 4 | @use 'base' as demo-base; |
| 5 | 5 | ||
| 6 | @use 'components/sidebar'; | 6 | @use 'components/sidebar'; |
diff --git a/src/.old/layouts/_message-group.scss b/src_old/.old/layouts/_message-group.scss index 235e242..235e242 100644 --- a/src/.old/layouts/_message-group.scss +++ b/src_old/.old/layouts/_message-group.scss | |||
diff --git a/src/.old/objects/_dialog.scss b/src_old/.old/objects/_dialog.scss index 9333ce6..9333ce6 100644 --- a/src/.old/objects/_dialog.scss +++ b/src_old/.old/objects/_dialog.scss | |||
diff --git a/src/.old/objects/_icon-nav.scss b/src_old/.old/objects/_icon-nav.scss index d1c6539..d1c6539 100644 --- a/src/.old/objects/_icon-nav.scss +++ b/src_old/.old/objects/_icon-nav.scss | |||
diff --git a/src/.old/objects/_list-group.scss b/src_old/.old/objects/_list-group.scss index a346828..a346828 100644 --- a/src/.old/objects/_list-group.scss +++ b/src_old/.old/objects/_list-group.scss | |||
diff --git a/src/.old/objects/_message.scss b/src_old/.old/objects/_message.scss index 283ce26..283ce26 100644 --- a/src/.old/objects/_message.scss +++ b/src_old/.old/objects/_message.scss | |||
diff --git a/src/.old/objects/_overflow-button.scss b/src_old/.old/objects/_overflow-button.scss index b15ea1f..b15ea1f 100644 --- a/src/.old/objects/_overflow-button.scss +++ b/src_old/.old/objects/_overflow-button.scss | |||
diff --git a/src/_base.scss b/src_old/_base.scss index 8e4c1d9..8e4c1d9 100644 --- a/src/_base.scss +++ b/src_old/_base.scss | |||
diff --git a/src/_config.scss b/src_old/_config.scss index a4e1cfa..62a1401 100644 --- a/src/_config.scss +++ b/src_old/_config.scss | |||
| @@ -67,7 +67,7 @@ $static-colors: map.deep-merge(( | |||
| 67 | --800: .9, | 67 | --800: .9, |
| 68 | --900: 1, | 68 | --900: 1, |
| 69 | ), | 69 | ), |
| 70 | ), $static-colors-override); | 70 | ), $static-colors-override) !default; |
| 71 | 71 | ||
| 72 | $semantic-colors-common-override: () !default; | 72 | $semantic-colors-common-override: () !default; |
| 73 | $semantic-colors-common: map.deep-merge(( | 73 | $semantic-colors-common: map.deep-merge(( |
| @@ -101,7 +101,7 @@ $semantic-colors-common: map.deep-merge(( | |||
| 101 | --border-strong: --focus-raw --1100, | 101 | --border-strong: --focus-raw --1100, |
| 102 | --text: --focus-raw --1100, | 102 | --text: --focus-raw --1100, |
| 103 | ), | 103 | ), |
| 104 | ), $semantic-colors-common-override); | 104 | ), $semantic-colors-common-override) !default; |
| 105 | 105 | ||
| 106 | $theme-light-override: () !default; | 106 | $theme-light-override: () !default; |
| 107 | $theme-light: map.deep-merge(( | 107 | $theme-light: map.deep-merge(( |
| @@ -162,7 +162,7 @@ $theme-light: map.deep-merge(( | |||
| 162 | --constants: ( | 162 | --constants: ( |
| 163 | --shadow: rgba(#000, .15), | 163 | --shadow: rgba(#000, .15), |
| 164 | ), | 164 | ), |
| 165 | ), $theme-light-override); | 165 | ), $theme-light-override) !default; |
| 166 | 166 | ||
| 167 | $theme-dark-override: () !default; | 167 | $theme-dark-override: () !default; |
| 168 | $theme-dark: map.deep-merge(( | 168 | $theme-dark: map.deep-merge(( |
| @@ -223,12 +223,12 @@ $theme-dark: map.deep-merge(( | |||
| 223 | --constants: ( | 223 | --constants: ( |
| 224 | --shadow: rgba(#000, .5), | 224 | --shadow: rgba(#000, .5), |
| 225 | ), | 225 | ), |
| 226 | ), $theme-dark-override); | 226 | ), $theme-dark-override) !default; |
| 227 | 227 | ||
| 228 | $themes-override: () !default; | 228 | $themes-override: () !default; |
| 229 | $themes: map.deep-merge(( | 229 | $themes: map.deep-merge(( |
| 230 | light: $theme-light, | 230 | light: $theme-light, |
| 231 | dark: $theme-dark, | 231 | dark: $theme-dark, |
| 232 | ), $themes-override); | 232 | ), $themes-override) !default; |
| 233 | 233 | ||
| 234 | $theme-default: list.nth(map.keys($themes), 1) !default; | 234 | $theme-default: list.nth(map.keys($themes), 1) !default; |
diff --git a/src_old/_functions.scss b/src_old/_functions.scss new file mode 100644 index 0000000..523aa84 --- /dev/null +++ b/src_old/_functions.scss | |||
| @@ -0,0 +1,135 @@ | |||
| 1 | @use 'sass:color'; | ||
| 2 | @use 'sass:math'; | ||
| 3 | @use 'sass:map'; | ||
| 4 | @use 'sass:list'; | ||
| 5 | @use 'sass:meta'; | ||
| 6 | |||
| 7 | @use 'iro-sass/src/index' as iro; | ||
| 8 | @use 'iro-sass/src/easing' as easing; | ||
| 9 | @use 'functions/colors' as iro-colors; | ||
| 10 | @use 'config'; | ||
| 11 | |||
| 12 | @function color($key, $tree: iro.$props-default-tree, $default: null, $global: false) { | ||
| 13 | @return iro.props-get(list.join(--colors, $key), $tree, $default, $global); | ||
| 14 | } | ||
| 15 | |||
| 16 | @function global-color($key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 17 | @return color($key, $tree, $default, $global); | ||
| 18 | } | ||
| 19 | |||
| 20 | @function foreign-color($foreign-key, $key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 21 | @return iro.props-get(list.join($foreign-key --colors, $key), $tree, $default, $global); | ||
| 22 | } | ||
| 23 | |||
| 24 | @function dim($key, $tree: iro.$props-default-tree, $default: null, $global: false) { | ||
| 25 | @return iro.props-get(list.join(--dims, $key), $tree, $default, $global); | ||
| 26 | } | ||
| 27 | |||
| 28 | @function global-dim($key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 29 | @return dim($key, $tree, $default, $global); | ||
| 30 | } | ||
| 31 | |||
| 32 | @function foreign-dim($foreign-key, $key, $tree: iro.$props-default-tree, $default: null, $global: true) { | ||
| 33 | @return iro.props-get(list.join($foreign-key --dims, $key), $tree, $default, $global); | ||
| 34 | } | ||
| 35 | |||
| 36 | @function font-prop($data, $overrides, $key, $prop) { | ||
| 37 | @if (map.has-key($overrides, $prop)) { | ||
| 38 | @return map.get($overrides, $prop); | ||
| 39 | } @else if (map.has-key($data, $prop)) { | ||
| 40 | @return global-dim(--font $key $prop); | ||
| 41 | } | ||
| 42 | @return null; | ||
| 43 | } | ||
| 44 | |||
| 45 | @function set-font($key, $overrides: ()) { | ||
| 46 | $font: iro.props-get-static(list.join(--dims --font, $key), $global: true); | ||
| 47 | |||
| 48 | $map: ( | ||
| 49 | font-family: font-prop($font, $overrides, $key, --family), | ||
| 50 | font-size: font-prop($font, $overrides, $key, --size), | ||
| 51 | font-weight: font-prop($font, $overrides, $key, --weight), | ||
| 52 | font-style: font-prop($font, $overrides, $key, --style), | ||
| 53 | line-height: font-prop($font, $overrides, $key, --line-height), | ||
| 54 | text-transform: font-prop($font, $overrides, $key, --transform), | ||
| 55 | letter-spacing: font-prop($font, $overrides, $key, --spacing), | ||
| 56 | font-variant-alternates: font-prop($font, $overrides, $key, --variant-alternates), | ||
| 57 | font-feature-settings: font-prop($font, $overrides, $key, --feature-settings), | ||
| 58 | ); | ||
| 59 | |||
| 60 | @return $map; | ||
| 61 | } | ||
| 62 | |||
| 63 | @function lum($color) { | ||
| 64 | @return list.nth(blend-convert.lin_sRGB_to_XYZ(blend-convert.lin_sRGB(blend-convert.sassToRgb($color))), 2) + .05; | ||
| 65 | } | ||
| 66 | |||
| 67 | @function palette($base-color, $contrasts, $chroma-range: 1, $ref-color: $base-color) { | ||
| 68 | $base-lch: color.to-space($base-color, oklch); | ||
| 69 | $ref-lch: color.to-space($ref-color, oklch); | ||
| 70 | |||
| 71 | $ref-l: color.channel($ref-lch, 'lightness'); | ||
| 72 | $ref-y: iro-colors.apca_sRGB_to_Y($ref-lch); | ||
| 73 | |||
| 74 | $cmax: math.max(map.values($contrasts)...); | ||
| 75 | $cmax: math.max($cmax, math.abs(math.min(map.values($contrasts)...))); | ||
| 76 | |||
| 77 | $black-y: iro-colors.apca_sRGB_to_Y(#000); | ||
| 78 | $white-y: iro-colors.apca_sRGB_to_Y(#fff); | ||
| 79 | |||
| 80 | $chroma-inv: false; | ||
| 81 | @if $chroma-range < 0 { | ||
| 82 | $chroma-inv: true; | ||
| 83 | $chroma-range: -1 * $chroma-range; | ||
| 84 | } | ||
| 85 | $chroma-easing: meta.get-function(config.$palette-chroma-easing, $module: easing); | ||
| 86 | |||
| 87 | $palette: (); | ||
| 88 | |||
| 89 | @each $key, $contrast in $contrasts { | ||
| 90 | $y: iro-colors.apcaReverse($contrast, $ref-y); | ||
| 91 | $l: color.channel($base-lch, 'lightness'); | ||
| 92 | $c: 1; | ||
| 93 | |||
| 94 | @if $y != false { | ||
| 95 | $l: color.channel(iro-colors.apca_Y_to_sRGB($y), 'lightness', oklch); | ||
| 96 | } @else { | ||
| 97 | $y: $ref-y; | ||
| 98 | } | ||
| 99 | |||
| 100 | @if $chroma-range != 1 { | ||
| 101 | $c: if($ref-l > 50%, math.clamp(0, math.div($contrast, $cmax), 1), -1 * math.clamp(-1, math.div($contrast, $cmax), 0)); | ||
| 102 | @if $chroma-inv { | ||
| 103 | $c: 1 - $c; | ||
| 104 | } | ||
| 105 | $c: meta.call($chroma-easing, $c); | ||
| 106 | $c: $chroma-range + (1 - $chroma-range) * $c; | ||
| 107 | } | ||
| 108 | |||
| 109 | $color: oklch($l ($c * color.channel($base-lch, 'chroma')) color.channel($base-lch, 'hue')); | ||
| 110 | |||
| 111 | $contrast-black: iro-colors.apcaContrast($black-y, $y); | ||
| 112 | $contrast-white: iro-colors.apcaContrast($white-y, $y); | ||
| 113 | |||
| 114 | $palette: map.set($palette, $key, $color); | ||
| 115 | $palette: map.set($palette, #{$key}-text, if(math.abs($contrast-black) > math.abs($contrast-white), #000, #fff)); | ||
| 116 | } | ||
| 117 | |||
| 118 | @return $palette; | ||
| 119 | } | ||
| 120 | |||
| 121 | @function transparent-palette($color, $text, $alphas) { | ||
| 122 | $palette: ( | ||
| 123 | --text: $text, | ||
| 124 | ); | ||
| 125 | |||
| 126 | @each $key, $alpha in $alphas { | ||
| 127 | $palette: map.set($palette, $key, rgba($color, $alpha)); | ||
| 128 | } | ||
| 129 | |||
| 130 | @return $palette; | ||
| 131 | } | ||
| 132 | |||
| 133 | @function px-to-em($size, $base: iro.$vars-root-size) { | ||
| 134 | @return math.div($size, $base) * 1em; | ||
| 135 | } | ||
diff --git a/src/_layouts.scss b/src_old/_layouts.scss index 572308d..572308d 100644 --- a/src/_layouts.scss +++ b/src_old/_layouts.scss | |||
diff --git a/src/_mixins.scss b/src_old/_mixins.scss index dca6831..dca6831 100644 --- a/src/_mixins.scss +++ b/src_old/_mixins.scss | |||
diff --git a/src/_objects.scss b/src_old/_objects.scss index c5049cd..c5049cd 100644 --- a/src/_objects.scss +++ b/src_old/_objects.scss | |||
diff --git a/src/_scopes.scss b/src_old/_scopes.scss index a3aeb6c..a3aeb6c 100644 --- a/src/_scopes.scss +++ b/src_old/_scopes.scss | |||
diff --git a/src/_themes.scss b/src_old/_themes.scss index 2ca89cb..2ca89cb 100644 --- a/src/_themes.scss +++ b/src_old/_themes.scss | |||
diff --git a/src/_utils.scss b/src_old/_utils.scss index c0ce7a3..c0ce7a3 100644 --- a/src/_utils.scss +++ b/src_old/_utils.scss | |||
diff --git a/src_old/_vars.scss b/src_old/_vars.scss new file mode 100644 index 0000000..6e2cbfc --- /dev/null +++ b/src_old/_vars.scss | |||
| @@ -0,0 +1,298 @@ | |||
| 1 | @use 'sass:map'; | ||
| 2 | @use 'sass:meta'; | ||
| 3 | @use 'sass:list'; | ||
| 4 | @use 'iro-sass/src/index' as iro; | ||
| 5 | @use 'include-media/dist/include-media' as media; | ||
| 6 | @use 'functions' as fn; | ||
| 7 | @use 'config'; | ||
| 8 | |||
| 9 | @include iro.props-store(( | ||
| 10 | --dims: ( | ||
| 11 | --size: ( | ||
| 12 | --0: 0, | ||
| 13 | --10: iro.fn-px-to-rem(1px), | ||
| 14 | --25: iro.fn-px-to-rem(2px), | ||
| 15 | --40: iro.fn-px-to-rem(3px), | ||
| 16 | --50: iro.fn-px-to-rem(4px), | ||
| 17 | --65: iro.fn-px-to-rem(5px), | ||
| 18 | --75: iro.fn-px-to-rem(6px), | ||
| 19 | --85: iro.fn-px-to-rem(7px), | ||
| 20 | --100: iro.fn-px-to-rem(8px), | ||
| 21 | --115: iro.fn-px-to-rem(9px), | ||
| 22 | --125: iro.fn-px-to-rem(10px), | ||
| 23 | --130: iro.fn-px-to-rem(11px), | ||
| 24 | --150: iro.fn-px-to-rem(12px), | ||
| 25 | --160: iro.fn-px-to-rem(13px), | ||
| 26 | --175: iro.fn-px-to-rem(14px), | ||
| 27 | --200: iro.fn-px-to-rem(16px), | ||
| 28 | --225: iro.fn-px-to-rem(18px), | ||
| 29 | --250: iro.fn-px-to-rem(20px), | ||
| 30 | --275: iro.fn-px-to-rem(22px), | ||
| 31 | --300: iro.fn-px-to-rem(24px), | ||
| 32 | --325: iro.fn-px-to-rem(26px), | ||
| 33 | --350: iro.fn-px-to-rem(28px), | ||
| 34 | --375: iro.fn-px-to-rem(30px), | ||
| 35 | --400: iro.fn-px-to-rem(32px), | ||
| 36 | --450: iro.fn-px-to-rem(36px), | ||
| 37 | --500: iro.fn-px-to-rem(40px), | ||
| 38 | --550: iro.fn-px-to-rem(44px), | ||
| 39 | --600: iro.fn-px-to-rem(48px), | ||
| 40 | --650: iro.fn-px-to-rem(52px), | ||
| 41 | --700: iro.fn-px-to-rem(56px), | ||
| 42 | --800: iro.fn-px-to-rem(64px), | ||
| 43 | --900: iro.fn-px-to-rem(72px), | ||
| 44 | --1000: iro.fn-px-to-rem(80px), | ||
| 45 | --1200: iro.fn-px-to-rem(96px), | ||
| 46 | --1600: iro.fn-px-to-rem(128px), | ||
| 47 | --2000: iro.fn-px-to-rem(160px), | ||
| 48 | --2400: iro.fn-px-to-rem(192px), | ||
| 49 | --2500: iro.fn-px-to-rem(200px), | ||
| 50 | --2600: iro.fn-px-to-rem(208px), | ||
| 51 | --2800: iro.fn-px-to-rem(224px), | ||
| 52 | --3200: iro.fn-px-to-rem(256px), | ||
| 53 | --3400: iro.fn-px-to-rem(272px), | ||
| 54 | --3500: iro.fn-px-to-rem(280px), | ||
| 55 | --3600: iro.fn-px-to-rem(288px), | ||
| 56 | --3800: iro.fn-px-to-rem(304px), | ||
| 57 | --4600: iro.fn-px-to-rem(368px), | ||
| 58 | --5000: iro.fn-px-to-rem(400px), | ||
| 59 | --6000: iro.fn-px-to-rem(480px), | ||
| 60 | ), | ||
| 61 | |||
| 62 | --font: ( | ||
| 63 | --standard: ( | ||
| 64 | --family: ('Inter', 'Open Sans', 'Segoe UI', 'Droid Sans', Roboto, Oxygen, 'Helvetica Neue', Helvetica, Tahoma, Arial, sans-serif), | ||
| 65 | --line-height: 1.5, | ||
| 66 | --feature-settings: ('\'ss01\''), | ||
| 67 | ), | ||
| 68 | --headline: ( | ||
| 69 | --family: ('Inter', fn.dim(--font --standard --family, null)), | ||
| 70 | --line-height: 1.3, | ||
| 71 | --weight: 800, | ||
| 72 | --feature-settings: ('\'opsz\'' 32, '\'ss01\'', '\'cv06\''), | ||
| 73 | ), | ||
| 74 | --mono: ( | ||
| 75 | --family: ('Iosevka Term SS09', 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace), | ||
| 76 | --line-height: 1.4, | ||
| 77 | ) | ||
| 78 | ), | ||
| 79 | |||
| 80 | --font-size: ( | ||
| 81 | --50: iro.fn-px-to-rem(12px), | ||
| 82 | --75: iro.fn-px-to-rem(13px), | ||
| 83 | --100: iro.fn-px-to-rem(14px), | ||
| 84 | --150: iro.fn-px-to-rem(16px), | ||
| 85 | --200: iro.fn-px-to-rem(18px), | ||
| 86 | --300: iro.fn-px-to-rem(20px), | ||
| 87 | --400: iro.fn-px-to-rem(24px), | ||
| 88 | --500: iro.fn-px-to-rem(28px), | ||
| 89 | --600: iro.fn-px-to-rem(32px), | ||
| 90 | --700: iro.fn-px-to-rem(36px), | ||
| 91 | --800: iro.fn-px-to-rem(40px), | ||
| 92 | --900: iro.fn-px-to-rem(45px), | ||
| 93 | --1000: iro.fn-px-to-rem(50px), | ||
| 94 | --1100: iro.fn-px-to-rem(60px), | ||
| 95 | ), | ||
| 96 | |||
| 97 | --border: ( | ||
| 98 | --thick: 4px, | ||
| 99 | --medium: 2px, | ||
| 100 | --thin: 1px, | ||
| 101 | ), | ||
| 102 | |||
| 103 | --shadow: ( | ||
| 104 | --x: 0, | ||
| 105 | --y: 1px, | ||
| 106 | --blur: 4px, | ||
| 107 | ), | ||
| 108 | |||
| 109 | --rounding: 4px, | ||
| 110 | |||
| 111 | --key-focus: ( | ||
| 112 | --outline: fn.dim(--border --thick, null), | ||
| 113 | --border: fn.dim(--border --medium, null), | ||
| 114 | --border-offset: fn.dim(--border --medium, null), | ||
| 115 | ), | ||
| 116 | |||
| 117 | --paragraph: ( | ||
| 118 | --margin-bs: fn.dim(--size --300, null), | ||
| 119 | ), | ||
| 120 | |||
| 121 | --heading: ( | ||
| 122 | --margin-bs: fn.dim(--size --700, null), | ||
| 123 | --margin-bs-sibling: fn.dim(--size --325, null), | ||
| 124 | |||
| 125 | --xxl: fn.dim(--font-size --300, null), | ||
| 126 | --xl: fn.dim(--font-size --200, null), | ||
| 127 | --lg: fn.dim(--font-size --150, null), | ||
| 128 | --md: fn.dim(--font-size --100, null), | ||
| 129 | --sm: fn.dim(--font-size --75, null), | ||
| 130 | --xs: fn.dim(--font-size --50, null), | ||
| 131 | |||
| 132 | --display: ( | ||
| 133 | --xxl: fn.dim(--font-size --1100, null), | ||
| 134 | --xl: fn.dim(--font-size --700, null), | ||
| 135 | --lg: fn.dim(--font-size --300, null), | ||
| 136 | --md: fn.dim(--font-size --150, null), | ||
| 137 | --sm: fn.dim(--font-size --75, null), | ||
| 138 | --xs: fn.dim(--font-size --50, null), | ||
| 139 | ), | ||
| 140 | |||
| 141 | --display-sm: ( | ||
| 142 | --xxl: fn.dim(--font-size --900, null), | ||
| 143 | --xl: fn.dim(--font-size --600, null), | ||
| 144 | --lg: fn.dim(--font-size --200, null), | ||
| 145 | --md: fn.dim(--font-size --100, null), | ||
| 146 | --sm: fn.dim(--font-size --75, null), | ||
| 147 | --xs: fn.dim(--font-size --50, null), | ||
| 148 | ) | ||
| 149 | ), | ||
| 150 | |||
| 151 | --list: ( | ||
| 152 | --indent: fn.dim(--size --400, null), | ||
| 153 | --compact-indent: fn.dim(--size --250, null), | ||
| 154 | ), | ||
| 155 | ), | ||
| 156 | )); | ||
| 157 | |||
| 158 | @each $breakpoint in map.keys(media.$breakpoints) { | ||
| 159 | @include media.media('<=#{$breakpoint}') { | ||
| 160 | @include iro.props-store((), $breakpoint); | ||
| 161 | } | ||
| 162 | } | ||
| 163 | |||
| 164 | @include iro.props-store(( | ||
| 165 | --dims: ( | ||
| 166 | --heading: ( | ||
| 167 | --margin-bs: fn.dim(--size --600, null), | ||
| 168 | ), | ||
| 169 | |||
| 170 | --list: ( | ||
| 171 | --indent: fn.dim(--size --300), | ||
| 172 | ), | ||
| 173 | ) | ||
| 174 | ), 'sm'); | ||
| 175 | |||
| 176 | @include iro.props-store(( | ||
| 177 | --dims: ( | ||
| 178 | --heading: ( | ||
| 179 | --margin-bs: fn.dim(--size --500, null), | ||
| 180 | ), | ||
| 181 | |||
| 182 | --list: ( | ||
| 183 | --indent: fn.dim(--size --250), | ||
| 184 | ), | ||
| 185 | ) | ||
| 186 | ), 'xs'); | ||
| 187 | |||
| 188 | // | ||
| 189 | |||
| 190 | @each $palette-name, $palette in map.get(config.$static-colors, --palettes) { | ||
| 191 | @include iro.props-store(( | ||
| 192 | --colors: ( | ||
| 193 | #{$palette-name}-static: fn.palette( | ||
| 194 | $palette, | ||
| 195 | map.get(config.$static-colors, --contrasts), | ||
| 196 | 1, | ||
| 197 | map.get(config.$static-colors, --base), | ||
| 198 | ), | ||
| 199 | ), | ||
| 200 | )); | ||
| 201 | } | ||
| 202 | |||
| 203 | @each $palette-name, $palette in (--black: #000 #fff, --white: #fff #000) { | ||
| 204 | $color: list.nth($palette, 1); | ||
| 205 | $text: list.nth($palette, 2); | ||
| 206 | |||
| 207 | @include iro.props-store(( | ||
| 208 | --colors: ( | ||
| 209 | #{$palette-name}-transparent: fn.transparent-palette( | ||
| 210 | $color, | ||
| 211 | $text, | ||
| 212 | map.get(config.$static-colors, --transparents), | ||
| 213 | ), | ||
| 214 | ), | ||
| 215 | )); | ||
| 216 | } | ||
| 217 | |||
| 218 | @each $theme-name, $theme in config.$themes { | ||
| 219 | $tree: if($theme-name == config.$theme-default, iro.$props-default-tree, $theme-name); | ||
| 220 | |||
| 221 | @each $palette-name, $palette in map.get($theme, --palettes) { | ||
| 222 | $base-color: list.nth($palette, 1); | ||
| 223 | $contrasts: list.nth($palette, 2); | ||
| 224 | $ranges: list.nth($palette, 3); | ||
| 225 | |||
| 226 | @include iro.props-store(( | ||
| 227 | --colors: ( | ||
| 228 | $palette-name: fn.palette( | ||
| 229 | $base-color, | ||
| 230 | map.get($theme, --contrasts, $contrasts), | ||
| 231 | map.get($theme, --ranges, $ranges), | ||
| 232 | list.nth(map.get($theme, --palettes, --base), 1), | ||
| 233 | ), | ||
| 234 | ), | ||
| 235 | ), $tree); | ||
| 236 | } | ||
| 237 | |||
| 238 | @each $color, $value in map.get($theme, --constants) { | ||
| 239 | @include iro.props-store(( | ||
| 240 | --colors: ( | ||
| 241 | $color: $value, | ||
| 242 | ), | ||
| 243 | ), $tree); | ||
| 244 | } | ||
| 245 | |||
| 246 | @each $color, $ref in map.get($theme, --semantic) { | ||
| 247 | $res: (); | ||
| 248 | |||
| 249 | @if meta.type-of($ref) == 'map' { | ||
| 250 | @each $key, $r in $ref { | ||
| 251 | $res: map.set($res, $key, fn.color($r)); | ||
| 252 | } | ||
| 253 | } @else { | ||
| 254 | $res: fn.color($ref); | ||
| 255 | } | ||
| 256 | |||
| 257 | @include iro.props-store(( | ||
| 258 | --colors: ( | ||
| 259 | $color: $res, | ||
| 260 | ), | ||
| 261 | ), $tree); | ||
| 262 | } | ||
| 263 | } | ||
| 264 | |||
| 265 | @each $theme-name, $theme in config.$themes { | ||
| 266 | $tree: if($theme-name == config.$theme-default, iro.$props-default-tree, $theme-name); | ||
| 267 | |||
| 268 | @include iro.props-store(( | ||
| 269 | --colors: ( | ||
| 270 | |||
| 271 | ), | ||
| 272 | ), $tree); | ||
| 273 | } | ||
| 274 | |||
| 275 | @mixin apply-vars { | ||
| 276 | :root { | ||
| 277 | @include iro.props-assign; | ||
| 278 | |||
| 279 | @each $breakpoint in map.keys(media.$breakpoints) { | ||
| 280 | @include media.media('<=#{$breakpoint}') { | ||
| 281 | @include iro.props-assign($breakpoint); | ||
| 282 | } | ||
| 283 | } | ||
| 284 | |||
| 285 | @media (prefers-color-scheme: dark) { | ||
| 286 | @include iro.props-assign('dark'); | ||
| 287 | } | ||
| 288 | } | ||
| 289 | |||
| 290 | @each $theme-name, $theme in config.$themes { | ||
| 291 | $tree: if($theme-name == config.$theme-default, iro.$props-default-tree, $theme-name); | ||
| 292 | |||
| 293 | @include iro.bem-theme($theme-name) { | ||
| 294 | @include iro.props-assign(); | ||
| 295 | @include iro.props-assign($tree, --colors); | ||
| 296 | } | ||
| 297 | } | ||
| 298 | } | ||
diff --git a/src_old/functions/colors/_apca.scss b/src_old/functions/colors/_apca.scss new file mode 100644 index 0000000..0c03529 --- /dev/null +++ b/src_old/functions/colors/_apca.scss | |||
| @@ -0,0 +1,127 @@ | |||
| 1 | /* stylelint-disable scss/dollar-variable-pattern */ | ||
| 2 | /* stylelint-disable scss/at-function-pattern */ | ||
| 3 | |||
| 4 | @use 'sass:color'; | ||
| 5 | @use 'sass:list'; | ||
| 6 | @use 'sass:map'; | ||
| 7 | @use 'sass:math'; | ||
| 8 | |||
| 9 | $SA98G: ( | ||
| 10 | mainTRC: 2.4, | ||
| 11 | |||
| 12 | sRco: .2126729, | ||
| 13 | sGco: .7151522, | ||
| 14 | sBco: .072175, | ||
| 15 | |||
| 16 | normBG: .56, | ||
| 17 | normTXT: .57, | ||
| 18 | revTXT: .62, | ||
| 19 | revBG: .65, | ||
| 20 | |||
| 21 | blkThrs: .022, | ||
| 22 | blkClmp: 1.414, | ||
| 23 | scaleBoW: 1.14, | ||
| 24 | scaleWoB: 1.14, | ||
| 25 | loBoWoffset: .027, | ||
| 26 | loWoBoffset: .027, | ||
| 27 | deltaYmin: .0005, | ||
| 28 | loClip: .0001, | ||
| 29 | |||
| 30 | mFactor: 1.9468554433171, | ||
| 31 | mOffsetIn: .0387393816571401, | ||
| 32 | mExpAdj: .283343396420869, | ||
| 33 | mOffsetOut: .312865795870758, | ||
| 34 | ); | ||
| 35 | |||
| 36 | @function apca_sRGB_to_Y($color) { | ||
| 37 | $rgb: color.to-space($color, rgb); | ||
| 38 | |||
| 39 | @return map.get($SA98G, sRco) * math.pow(math.div(color.channel($rgb, 'red'), 255), map.get($SA98G, mainTRC)) + | ||
| 40 | map.get($SA98G, sGco) * math.pow(math.div(color.channel($rgb, 'green'), 255), map.get($SA98G, mainTRC)) + | ||
| 41 | map.get($SA98G, sBco) * math.pow(math.div(color.channel($rgb, 'blue'), 255), map.get($SA98G, mainTRC)); | ||
| 42 | } | ||
| 43 | |||
| 44 | @function apca_Y_to_sRGB($y) { | ||
| 45 | $c: math.round(math.pow($y, math.div(1, map.get($SA98G, mainTRC))) * 255); | ||
| 46 | @return rgb($c, $c, $c); | ||
| 47 | } | ||
| 48 | |||
| 49 | @function apcaContrast($txtY, $bgY) { | ||
| 50 | /* stylelint-disable-next-line @stylistic/number-no-trailing-zeros */ | ||
| 51 | $icp: .0 1.1; | ||
| 52 | |||
| 53 | @if math.min($txtY, $bgY) < list.nth($icp, 1) or math.max($txtY, $bgY) > list.nth($icp, 2) { | ||
| 54 | @return 0; | ||
| 55 | } | ||
| 56 | |||
| 57 | @if $txtY <= map.get($SA98G, blkThrs) { | ||
| 58 | $txtY: $txtY + math.pow(map.get($SA98G, blkThrs) - $txtY, map.get($SA98G, blkClmp)); | ||
| 59 | } | ||
| 60 | @if $bgY <= map.get($SA98G, blkThrs) { | ||
| 61 | $bgY: $bgY + math.pow(map.get($SA98G, blkThrs) - $bgY, map.get($SA98G, blkClmp)); | ||
| 62 | } | ||
| 63 | |||
| 64 | @if math.abs($bgY - $txtY) < map.get($SA98G, deltaYmin) { | ||
| 65 | @return 0; | ||
| 66 | } | ||
| 67 | |||
| 68 | $outputContrast: 0; | ||
| 69 | |||
| 70 | @if $bgY > $txtY { | ||
| 71 | $SAPC: map.get($SA98G, scaleBoW) * (math.pow($bgY, map.get($SA98G, normBG)) - math.pow($txtY, map.get($SA98G, normTXT))); | ||
| 72 | |||
| 73 | @if $SAPC >= map.get($SA98G, loClip) { | ||
| 74 | $outputContrast: $SAPC - map.get($SA98G, loBoWoffset); | ||
| 75 | } | ||
| 76 | } @else { | ||
| 77 | $SAPC: map.get($SA98G, scaleWoB) * (math.pow($bgY, map.get($SA98G, revBG)) - math.pow($txtY, map.get($SA98G, revTXT))); | ||
| 78 | |||
| 79 | @if $SAPC <= -1 * map.get($SA98G, loClip) { | ||
| 80 | $outputContrast: $SAPC + map.get($SA98G, loWoBoffset); | ||
| 81 | } | ||
| 82 | } | ||
| 83 | |||
| 84 | @return $outputContrast * 100; | ||
| 85 | } | ||
| 86 | |||
| 87 | @function apcaReverse($contrast, $knownY, $knownType: 'bg') { | ||
| 88 | $unknownY: $knownY; | ||
| 89 | |||
| 90 | $knownExp: 0; | ||
| 91 | $unknownExp: 0; | ||
| 92 | |||
| 93 | $scale: map.get($SA98G, if($contrast > 0, scaleBoW, scaleWoB)); | ||
| 94 | $offset: map.get($SA98G, if($contrast > 0, loBoWoffset, loWoBoffset)); | ||
| 95 | |||
| 96 | $contrast: math.div($contrast * .01 + $offset, $scale); | ||
| 97 | |||
| 98 | @if $knownY <= map.get($SA98G, blkThrs) { | ||
| 99 | $knownY: $knownY + math.pow(map.get($SA98G, blkThrs) - $knownY, map.get($SA98G, blkClmp)); | ||
| 100 | } | ||
| 101 | |||
| 102 | @if $knownType == 'bg' { | ||
| 103 | $knownExp: map.get($SA98G, if($contrast > 0, normBG, revBG)); | ||
| 104 | $unknownExp: map.get($SA98G, if($contrast > 0, normTXT, revTXT)); | ||
| 105 | $unknownY: math.pow(math.pow($knownY, $knownExp) - $contrast, math.div(1, $unknownExp)); | ||
| 106 | } @else { | ||
| 107 | $knownExp: map.get($SA98G, if($contrast > 0, normTXT, revTXT)); | ||
| 108 | $unknownExp: map.get($SA98G, if($contrast > 0, normBG, revBG)); | ||
| 109 | $unknownY: math.pow($contrast + math.pow($knownY, $knownExp), math.div(1, $unknownExp)); | ||
| 110 | } | ||
| 111 | |||
| 112 | @if '#{$unknownY}' == '#{math.sqrt(-1)}' { | ||
| 113 | @return false; | ||
| 114 | } | ||
| 115 | |||
| 116 | @if $unknownY > 1.06 or $unknownY < 0 { | ||
| 117 | @return false; | ||
| 118 | } | ||
| 119 | |||
| 120 | @if $unknownY <= map.get($SA98G, blkThrs) { | ||
| 121 | $unknownY: math.pow(($unknownY + map.get($SA98G, mOffsetIn)) * map.get($SA98G, mFactor), math.div(map.get($SA98G, mExpAdj), map.get($SA98G, blkClmp))) * math.div(1, map.get($SA98G, mFactor)) - map.get($SA98G, mOffsetOut); | ||
| 122 | } | ||
| 123 | |||
| 124 | $unknownY: math.max(math.min($unknownY, 1), 0); | ||
| 125 | |||
| 126 | @return $unknownY; | ||
| 127 | } | ||
diff --git a/src_old/functions/colors/_index.scss b/src_old/functions/colors/_index.scss new file mode 100644 index 0000000..9dad0f9 --- /dev/null +++ b/src_old/functions/colors/_index.scss | |||
| @@ -0,0 +1 @@ | |||
| @forward 'apca'; | |||
diff --git a/src_old/index.scss b/src_old/index.scss new file mode 100644 index 0000000..a8d9c24 --- /dev/null +++ b/src_old/index.scss | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | @use 'vars' as vars; | ||
| 2 | |||
| 3 | @use 'base'; | ||
| 4 | @use 'layouts'; | ||
| 5 | @use 'objects'; | ||
| 6 | @use 'scopes'; | ||
| 7 | @use 'themes'; | ||
| 8 | @use 'utils'; | ||
| 9 | |||
| 10 | @include vars.apply-vars; | ||
diff --git a/src/layouts/_button-group.scss b/src_old/layouts/_button-group.scss index a70d27a..a70d27a 100644 --- a/src/layouts/_button-group.scss +++ b/src_old/layouts/_button-group.scss | |||
diff --git a/src/layouts/_card-list.scss b/src_old/layouts/_card-list.scss index 65b6a66..65b6a66 100644 --- a/src/layouts/_card-list.scss +++ b/src_old/layouts/_card-list.scss | |||
diff --git a/src/layouts/_container.scss b/src_old/layouts/_container.scss index d13c4f3..d13c4f3 100644 --- a/src/layouts/_container.scss +++ b/src_old/layouts/_container.scss | |||
diff --git a/src/layouts/_flex.scss b/src_old/layouts/_flex.scss index d3f4f9c..d3f4f9c 100644 --- a/src/layouts/_flex.scss +++ b/src_old/layouts/_flex.scss | |||
diff --git a/src/layouts/_form.scss b/src_old/layouts/_form.scss index f6b60ea..f6b60ea 100644 --- a/src/layouts/_form.scss +++ b/src_old/layouts/_form.scss | |||
diff --git a/src/layouts/_media.scss b/src_old/layouts/_media.scss index c42aa3e..c42aa3e 100644 --- a/src/layouts/_media.scss +++ b/src_old/layouts/_media.scss | |||
diff --git a/src/layouts/_overflow.scss b/src_old/layouts/_overflow.scss index 8643bbf..8643bbf 100644 --- a/src/layouts/_overflow.scss +++ b/src_old/layouts/_overflow.scss | |||
diff --git a/src/objects/_action-button.scss b/src_old/objects/_action-button.scss index 7fe9d44..7fe9d44 100644 --- a/src/objects/_action-button.scss +++ b/src_old/objects/_action-button.scss | |||
diff --git a/src/objects/_alert.scss b/src_old/objects/_alert.scss index 067c00c..067c00c 100644 --- a/src/objects/_alert.scss +++ b/src_old/objects/_alert.scss | |||
diff --git a/src/objects/_avatar.scss b/src_old/objects/_avatar.scss index 19bff10..19bff10 100644 --- a/src/objects/_avatar.scss +++ b/src_old/objects/_avatar.scss | |||
diff --git a/src/objects/_backdrop.scss b/src_old/objects/_backdrop.scss index d0eaf52..d0eaf52 100644 --- a/src/objects/_backdrop.scss +++ b/src_old/objects/_backdrop.scss | |||
diff --git a/src/objects/_badge.scss b/src_old/objects/_badge.scss index 4e1662f..4e1662f 100644 --- a/src/objects/_badge.scss +++ b/src_old/objects/_badge.scss | |||
diff --git a/src/objects/_button.scss b/src_old/objects/_button.scss index 3ef4813..3ef4813 100644 --- a/src/objects/_button.scss +++ b/src_old/objects/_button.scss | |||
diff --git a/src/objects/_card.scss b/src_old/objects/_card.scss index 650ec3f..650ec3f 100644 --- a/src/objects/_card.scss +++ b/src_old/objects/_card.scss | |||
diff --git a/src/objects/_checkbox.scss b/src_old/objects/_checkbox.scss index 8527948..8527948 100644 --- a/src/objects/_checkbox.scss +++ b/src_old/objects/_checkbox.scss | |||
diff --git a/src/objects/_divider.scss b/src_old/objects/_divider.scss index d1e2897..d1e2897 100644 --- a/src/objects/_divider.scss +++ b/src_old/objects/_divider.scss | |||
diff --git a/src/objects/_emoji.scss b/src_old/objects/_emoji.scss index d8d1289..d8d1289 100644 --- a/src/objects/_emoji.scss +++ b/src_old/objects/_emoji.scss | |||
diff --git a/src/objects/_field-label.scss b/src_old/objects/_field-label.scss index 1518ea6..1518ea6 100644 --- a/src/objects/_field-label.scss +++ b/src_old/objects/_field-label.scss | |||
diff --git a/src/objects/_heading.scss b/src_old/objects/_heading.scss index 7990a6b..7990a6b 100644 --- a/src/objects/_heading.scss +++ b/src_old/objects/_heading.scss | |||
diff --git a/src/objects/_icon.scss b/src_old/objects/_icon.scss index 1491dd9..1491dd9 100644 --- a/src/objects/_icon.scss +++ b/src_old/objects/_icon.scss | |||
diff --git a/src/objects/_lightbox.scss b/src_old/objects/_lightbox.scss index 8ad8584..8ad8584 100644 --- a/src/objects/_lightbox.scss +++ b/src_old/objects/_lightbox.scss | |||
diff --git a/src/objects/_menu.scss b/src_old/objects/_menu.scss index 0f691a2..0f691a2 100644 --- a/src/objects/_menu.scss +++ b/src_old/objects/_menu.scss | |||
diff --git a/src/objects/_palette.scss b/src_old/objects/_palette.scss index 19f282f..19f282f 100644 --- a/src/objects/_palette.scss +++ b/src_old/objects/_palette.scss | |||
diff --git a/src/objects/_popover.scss b/src_old/objects/_popover.scss index 5ad58ec..5ad58ec 100644 --- a/src/objects/_popover.scss +++ b/src_old/objects/_popover.scss | |||
diff --git a/src/objects/_radio.scss b/src_old/objects/_radio.scss index 9fa937d..9fa937d 100644 --- a/src/objects/_radio.scss +++ b/src_old/objects/_radio.scss | |||
diff --git a/src/objects/_side-nav.scss b/src_old/objects/_side-nav.scss index 8e4e131..8e4e131 100644 --- a/src/objects/_side-nav.scss +++ b/src_old/objects/_side-nav.scss | |||
diff --git a/src/objects/_status-indicator.scss b/src_old/objects/_status-indicator.scss index 416e65e..416e65e 100644 --- a/src/objects/_status-indicator.scss +++ b/src_old/objects/_status-indicator.scss | |||
diff --git a/src/objects/_switch.scss b/src_old/objects/_switch.scss index e1f1132..e1f1132 100644 --- a/src/objects/_switch.scss +++ b/src_old/objects/_switch.scss | |||
diff --git a/src/objects/_table.scss b/src_old/objects/_table.scss index 2c9f65b..2c9f65b 100644 --- a/src/objects/_table.scss +++ b/src_old/objects/_table.scss | |||
diff --git a/src/objects/_text-field.scss b/src_old/objects/_text-field.scss index 6611ea6..6611ea6 100644 --- a/src/objects/_text-field.scss +++ b/src_old/objects/_text-field.scss | |||
diff --git a/src/scopes/_blockquotes.scss b/src_old/scopes/_blockquotes.scss index f6a13fe..f6a13fe 100644 --- a/src/scopes/_blockquotes.scss +++ b/src_old/scopes/_blockquotes.scss | |||
diff --git a/src/scopes/_code.scss b/src_old/scopes/_code.scss index 4df711b..4df711b 100644 --- a/src/scopes/_code.scss +++ b/src_old/scopes/_code.scss | |||
diff --git a/src/scopes/_headings.scss b/src_old/scopes/_headings.scss index 9593792..9593792 100644 --- a/src/scopes/_headings.scss +++ b/src_old/scopes/_headings.scss | |||
diff --git a/src/scopes/_links.scss b/src_old/scopes/_links.scss index d47c406..d47c406 100644 --- a/src/scopes/_links.scss +++ b/src_old/scopes/_links.scss | |||
diff --git a/src/scopes/_lists.scss b/src_old/scopes/_lists.scss index bad9731..bad9731 100644 --- a/src/scopes/_lists.scss +++ b/src_old/scopes/_lists.scss | |||
diff --git a/src/scopes/_tables.scss b/src_old/scopes/_tables.scss index 9b2124d..9b2124d 100644 --- a/src/scopes/_tables.scss +++ b/src_old/scopes/_tables.scss | |||
