@graupl/graupl 1.0.0-beta.0 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devcontainer/devcontainer.json +221 -0
- package/.env +3 -0
- package/.github/workflows/docs.yml +13 -6
- package/.github/workflows/prerelease.yml +125 -0
- package/.github/workflows/release.yml +111 -0
- package/.github/workflows/test.yml +54 -3
- package/.versionrc.cjs +12 -0
- package/.vscode/settings.json +10 -0
- package/CHANGELOG.md +203 -1
- package/build.js +4 -2
- package/combine-at-rules.cjs +61 -0
- package/container/.env +26 -0
- package/container/build/app.dockerfile +41 -0
- package/container/docker-compose.yml +27 -0
- package/dist/css/base/button.css +1 -1
- package/dist/css/base/button.css.map +1 -1
- package/dist/css/base/form.css +1 -1
- package/dist/css/base/form.css.map +1 -1
- package/dist/css/base/link.css +1 -1
- package/dist/css/base/link.css.map +1 -1
- package/dist/css/base/table.css +1 -1
- package/dist/css/base/table.css.map +1 -1
- package/dist/css/base.css +1 -1
- package/dist/css/base.css.map +1 -1
- package/dist/css/component/accordion.css +4 -1
- package/dist/css/component/accordion.css.map +1 -1
- package/dist/css/component/alert.css +1 -1
- package/dist/css/component/alert.css.map +1 -1
- package/dist/css/component/card.css +1 -1
- package/dist/css/component/card.css.map +1 -1
- package/dist/css/component/carousel.css +1 -1
- package/dist/css/component/carousel.css.map +1 -1
- package/dist/css/component/input-group.css +1 -1
- package/dist/css/component/input-group.css.map +1 -1
- package/dist/css/component/list.css +2 -0
- package/dist/css/component/list.css.map +1 -0
- package/dist/css/component/menu.css +1 -1
- package/dist/css/component/menu.css.map +1 -1
- package/dist/css/component/navigation.css +1 -1
- package/dist/css/component/navigation.css.map +1 -1
- package/dist/css/component.css +4 -1
- package/dist/css/component.css.map +1 -1
- package/dist/css/graupl.css +4 -1
- package/dist/css/graupl.css.map +1 -1
- package/dist/css/init.css.map +1 -1
- package/dist/css/layout/columns.css +1 -1
- package/dist/css/layout/columns.css.map +1 -1
- package/dist/css/layout/container.css +1 -1
- package/dist/css/layout/container.css.map +1 -1
- package/dist/css/layout/flex-columns.css +1 -1
- package/dist/css/layout/flex-columns.css.map +1 -1
- package/dist/css/layout.css +4 -1
- package/dist/css/layout.css.map +1 -1
- package/dist/css/normalize.css.map +1 -1
- package/dist/css/state/focus.css +1 -1
- package/dist/css/state/focus.css.map +1 -1
- package/dist/css/state.css +1 -1
- package/dist/css/state.css.map +1 -1
- package/dist/css/theme/color.css.map +1 -1
- package/dist/css/theme/typography.css +1 -1
- package/dist/css/theme/typography.css.map +1 -1
- package/dist/css/theme.css +1 -1
- package/dist/css/theme.css.map +1 -1
- package/dist/css/utilities/alignment.css.map +1 -1
- package/dist/css/utilities/background.css +2 -0
- package/dist/css/utilities/background.css.map +1 -0
- package/dist/css/utilities/border.css +2 -0
- package/dist/css/utilities/border.css.map +1 -0
- package/dist/css/utilities/color.css +1 -1
- package/dist/css/utilities/color.css.map +1 -1
- package/dist/css/utilities/container.css +2 -0
- package/dist/css/utilities/container.css.map +1 -0
- package/dist/css/utilities/display.css +1 -1
- package/dist/css/utilities/display.css.map +1 -1
- package/dist/css/utilities/flex.css +1 -1
- package/dist/css/utilities/flex.css.map +1 -1
- package/dist/css/utilities/gradient.css +2 -0
- package/dist/css/utilities/gradient.css.map +1 -0
- package/dist/css/utilities/height.css +1 -1
- package/dist/css/utilities/height.css.map +1 -1
- package/dist/css/utilities/inset.css +1 -1
- package/dist/css/utilities/inset.css.map +1 -1
- package/dist/css/utilities/justification.css.map +1 -1
- package/dist/css/utilities/list.css.map +1 -1
- package/dist/css/utilities/order.css.map +1 -1
- package/dist/css/utilities/position.css +2 -0
- package/dist/css/utilities/position.css.map +1 -0
- package/dist/css/utilities/ratio.css +1 -1
- package/dist/css/utilities/ratio.css.map +1 -1
- package/dist/css/utilities/spacing.css +1 -1
- package/dist/css/utilities/spacing.css.map +1 -1
- package/dist/css/utilities/typography.css +1 -1
- package/dist/css/utilities/typography.css.map +1 -1
- package/dist/css/utilities/visibility.css +1 -1
- package/dist/css/utilities/visibility.css.map +1 -1
- package/dist/css/utilities/visually-hidden.css +2 -0
- package/dist/css/utilities/visually-hidden.css.map +1 -0
- package/dist/css/utilities/width.css +1 -1
- package/dist/css/utilities/width.css.map +1 -1
- package/dist/css/utilities/z-index.css +2 -0
- package/dist/css/utilities/z-index.css.map +1 -0
- package/dist/css/utilities.css +1 -1
- package/dist/css/utilities.css.map +1 -1
- package/dist/js/graupl.cjs.js +5 -3
- package/dist/js/graupl.esm.js +1305 -206
- package/dist/js/graupl.iife.js +5 -3
- package/docs/.vitepress/config.js +31 -1
- package/docs/.vitepress/theme/custom.scss +16 -16
- package/docs/compiling-graupl.md +6 -5
- package/docs/components/alert.md +28 -28
- package/docs/components/button.md +36 -36
- package/docs/components/card.md +39 -39
- package/docs/components/inputgroup.md +12 -12
- package/docs/components/menu.md +112 -112
- package/docs/components/navigation.md +52 -52
- package/docs/content.md +86 -86
- package/docs/defaults.md +10 -10
- package/docs/forms.md +34 -34
- package/docs/layout.md +21 -21
- package/docs/state.md +8 -8
- package/docs/theme.md +58 -58
- package/docs/utilities/alignment.md +411 -0
- package/docs/utilities/background.md +192 -0
- package/docs/utilities/border.md +268 -0
- package/docs/utilities/color.md +348 -0
- package/docs/utilities/container.md +3 -0
- package/docs/utilities/display.md +3 -0
- package/docs/utilities/flex.md +3 -0
- package/docs/utilities/gradient.md +3 -0
- package/docs/utilities/height.md +3 -0
- package/docs/utilities/inset.md +3 -0
- package/docs/utilities/justification.md +3 -0
- package/docs/utilities/list.md +3 -0
- package/docs/utilities/order.md +3 -0
- package/docs/utilities/position.md +3 -0
- package/docs/utilities/ratio.md +3 -0
- package/docs/utilities/responsive-classes.md +3 -0
- package/docs/utilities/spacing.md +3 -0
- package/docs/utilities/typography.md +3 -0
- package/docs/utilities/visibility.md +3 -0
- package/docs/utilities/visually-hidden.md +3 -0
- package/docs/utilities/width.md +3 -0
- package/docs/utilities/z-index.md +3 -0
- package/docs/utilities.md +1 -1
- package/favicon.ico +0 -0
- package/index.html +418 -55
- package/logo.svg +296 -0
- package/package.json +33 -37
- package/packages/core/build.js +9 -0
- package/packages/core/dist/css/base/button.css +2 -0
- package/packages/core/dist/css/base/button.css.map +1 -0
- package/packages/core/dist/css/base/form.css +2 -0
- package/packages/core/dist/css/base/form.css.map +1 -0
- package/packages/core/dist/css/base/link.css +2 -0
- package/packages/core/dist/css/base/link.css.map +1 -0
- package/packages/core/dist/css/base/table.css +2 -0
- package/packages/core/dist/css/base/table.css.map +1 -0
- package/packages/core/dist/css/base.css +2 -0
- package/packages/core/dist/css/base.css.map +1 -0
- package/packages/core/dist/css/component/accordion.css +5 -0
- package/packages/core/dist/css/component/accordion.css.map +1 -0
- package/packages/core/dist/css/component/alert.css +2 -0
- package/packages/core/dist/css/component/alert.css.map +1 -0
- package/packages/core/dist/css/component/card.css +2 -0
- package/packages/core/dist/css/component/card.css.map +1 -0
- package/packages/core/dist/css/component/carousel.css +2 -0
- package/packages/core/dist/css/component/carousel.css.map +1 -0
- package/packages/core/dist/css/component/input-group.css +2 -0
- package/packages/core/dist/css/component/input-group.css.map +1 -0
- package/packages/core/dist/css/component/list.css +2 -0
- package/packages/core/dist/css/component/list.css.map +1 -0
- package/packages/core/dist/css/component/menu.css +2 -0
- package/packages/core/dist/css/component/menu.css.map +1 -0
- package/packages/core/dist/css/component/navigation.css +2 -0
- package/packages/core/dist/css/component/navigation.css.map +1 -0
- package/packages/core/dist/css/component.css +5 -0
- package/packages/core/dist/css/component.css.map +1 -0
- package/packages/core/dist/css/graupl.css +5 -0
- package/packages/core/dist/css/graupl.css.map +1 -0
- package/{src/scss/_init.scss → packages/core/dist/css/init.css} +1 -2
- package/packages/core/dist/css/init.css.map +1 -0
- package/packages/core/dist/css/layout/columns.css +2 -0
- package/packages/core/dist/css/layout/columns.css.map +1 -0
- package/packages/core/dist/css/layout/container.css +2 -0
- package/packages/core/dist/css/layout/container.css.map +1 -0
- package/packages/core/dist/css/layout/flex-columns.css +2 -0
- package/packages/core/dist/css/layout/flex-columns.css.map +1 -0
- package/packages/core/dist/css/layout.css +5 -0
- package/packages/core/dist/css/layout.css.map +1 -0
- package/packages/core/dist/css/normalize.css +2 -0
- package/packages/core/dist/css/normalize.css.map +1 -0
- package/packages/core/dist/css/state/focus.css +2 -0
- package/packages/core/dist/css/state/focus.css.map +1 -0
- package/packages/core/dist/css/state.css +2 -0
- package/packages/core/dist/css/state.css.map +1 -0
- package/packages/core/dist/css/theme/color.css +2 -0
- package/packages/core/dist/css/theme/color.css.map +1 -0
- package/packages/core/dist/css/theme/typography.css +2 -0
- package/packages/core/dist/css/theme/typography.css.map +1 -0
- package/packages/core/dist/css/theme.css +2 -0
- package/packages/core/dist/css/theme.css.map +1 -0
- package/packages/core/dist/css/utilities/alignment.css +2 -0
- package/packages/core/dist/css/utilities/alignment.css.map +1 -0
- package/packages/core/dist/css/utilities/background.css +2 -0
- package/packages/core/dist/css/utilities/background.css.map +1 -0
- package/packages/core/dist/css/utilities/border.css +2 -0
- package/packages/core/dist/css/utilities/border.css.map +1 -0
- package/packages/core/dist/css/utilities/color.css +2 -0
- package/packages/core/dist/css/utilities/color.css.map +1 -0
- package/packages/core/dist/css/utilities/container.css +2 -0
- package/packages/core/dist/css/utilities/container.css.map +1 -0
- package/packages/core/dist/css/utilities/display.css +2 -0
- package/packages/core/dist/css/utilities/display.css.map +1 -0
- package/packages/core/dist/css/utilities/flex.css +2 -0
- package/packages/core/dist/css/utilities/flex.css.map +1 -0
- package/packages/core/dist/css/utilities/gradient.css +2 -0
- package/packages/core/dist/css/utilities/gradient.css.map +1 -0
- package/packages/core/dist/css/utilities/height.css +2 -0
- package/packages/core/dist/css/utilities/height.css.map +1 -0
- package/packages/core/dist/css/utilities/inset.css +2 -0
- package/packages/core/dist/css/utilities/inset.css.map +1 -0
- package/packages/core/dist/css/utilities/justification.css +2 -0
- package/packages/core/dist/css/utilities/justification.css.map +1 -0
- package/packages/core/dist/css/utilities/list.css +2 -0
- package/packages/core/dist/css/utilities/list.css.map +1 -0
- package/packages/core/dist/css/utilities/order.css +2 -0
- package/packages/core/dist/css/utilities/order.css.map +1 -0
- package/packages/core/dist/css/utilities/position.css +2 -0
- package/packages/core/dist/css/utilities/position.css.map +1 -0
- package/packages/core/dist/css/utilities/ratio.css +2 -0
- package/packages/core/dist/css/utilities/ratio.css.map +1 -0
- package/packages/core/dist/css/utilities/spacing.css +2 -0
- package/packages/core/dist/css/utilities/spacing.css.map +1 -0
- package/packages/core/dist/css/utilities/typography.css +2 -0
- package/packages/core/dist/css/utilities/typography.css.map +1 -0
- package/packages/core/dist/css/utilities/visibility.css +2 -0
- package/packages/core/dist/css/utilities/visibility.css.map +1 -0
- package/packages/core/dist/css/utilities/visually-hidden.css +2 -0
- package/packages/core/dist/css/utilities/visually-hidden.css.map +1 -0
- package/packages/core/dist/css/utilities/width.css +2 -0
- package/packages/core/dist/css/utilities/width.css.map +1 -0
- package/packages/core/dist/css/utilities/z-index.css +2 -0
- package/packages/core/dist/css/utilities/z-index.css.map +1 -0
- package/packages/core/dist/css/utilities.css +2 -0
- package/packages/core/dist/css/utilities.css.map +1 -0
- package/packages/core/package.json +58 -0
- package/packages/core/scss/base/button.scss +3 -0
- package/packages/core/scss/base/form.scss +3 -0
- package/packages/core/scss/base/link.scss +3 -0
- package/packages/core/scss/base/table.scss +3 -0
- package/packages/core/scss/base.scss +3 -0
- package/packages/core/scss/component/accordion.scss +3 -0
- package/packages/core/scss/component/alert.scss +3 -0
- package/packages/core/scss/component/card.scss +3 -0
- package/packages/core/scss/component/carousel.scss +3 -0
- package/packages/core/scss/component/input-group.scss +3 -0
- package/packages/core/scss/component/list.scss +3 -0
- package/packages/core/scss/component/menu.scss +3 -0
- package/packages/core/scss/component/navigation.scss +3 -0
- package/packages/core/scss/component.scss +3 -0
- package/packages/core/scss/graupl.scss +3 -0
- package/packages/core/scss/init.scss +3 -0
- package/packages/core/scss/layout/columns.scss +3 -0
- package/packages/core/scss/layout/container.scss +3 -0
- package/packages/core/scss/layout/flex-columns.scss +3 -0
- package/packages/core/scss/layout.scss +3 -0
- package/packages/core/scss/normalize.scss +3 -0
- package/packages/core/scss/state/focus.scss +3 -0
- package/packages/core/scss/state.scss +3 -0
- package/packages/core/scss/theme/color.scss +3 -0
- package/packages/core/scss/theme/typography.scss +3 -0
- package/packages/core/scss/theme.scss +3 -0
- package/packages/core/scss/utilities/alignment.scss +3 -0
- package/packages/core/scss/utilities/background.scss +3 -0
- package/packages/core/scss/utilities/border.scss +3 -0
- package/packages/core/scss/utilities/color.scss +3 -0
- package/packages/core/scss/utilities/container.scss +3 -0
- package/packages/core/scss/utilities/display.scss +3 -0
- package/packages/core/scss/utilities/flex.scss +3 -0
- package/packages/core/scss/utilities/gradient.scss +3 -0
- package/packages/core/scss/utilities/height.scss +3 -0
- package/packages/core/scss/utilities/inset.scss +3 -0
- package/packages/core/scss/utilities/justification.scss +3 -0
- package/packages/core/scss/utilities/list.scss +3 -0
- package/packages/core/scss/utilities/order.scss +3 -0
- package/{scss/utilities/postion.scss → packages/core/scss/utilities/position.scss} +1 -1
- package/packages/core/scss/utilities/ratio.scss +3 -0
- package/packages/core/scss/utilities/spacing.scss +3 -0
- package/packages/core/scss/utilities/typography.scss +3 -0
- package/packages/core/scss/utilities/visibility.scss +3 -0
- package/packages/core/scss/utilities/visually-hidden.scss +3 -0
- package/packages/core/scss/utilities/width.scss +3 -0
- package/packages/core/scss/utilities/z-index.scss +3 -0
- package/packages/core/scss/utilities.scss +3 -0
- package/{src → packages/core/src}/scss/_defaults.scss +59 -11
- package/{src → packages/core/src}/scss/_index.scss +1 -1
- package/packages/core/src/scss/_init.scss +6 -0
- package/{src → packages/core/src}/scss/_normalize.scss +1 -1
- package/packages/core/src/scss/_variables.scss +95 -0
- package/{src → packages/core/src}/scss/base/_index.scss +1 -1
- package/{src → packages/core/src}/scss/base/button/_defaults.scss +13 -24
- package/packages/core/src/scss/base/button/_index.scss +206 -0
- package/packages/core/src/scss/base/button/_mixins.scss +104 -0
- package/packages/core/src/scss/base/button/_variables.scss +252 -0
- package/{src → packages/core/src}/scss/base/form/_defaults.scss +8 -1
- package/packages/core/src/scss/base/form/_index.scss +227 -0
- package/packages/core/src/scss/base/form/_variables.scss +245 -0
- package/packages/core/src/scss/base/link/_defaults.scss +35 -0
- package/packages/core/src/scss/base/link/_index.scss +245 -0
- package/packages/core/src/scss/base/link/_variables.scss +370 -0
- package/packages/core/src/scss/base/table/_defaults.scss +68 -0
- package/packages/core/src/scss/base/table/_index.scss +314 -0
- package/packages/core/src/scss/base/table/_variables.scss +309 -0
- package/{src → packages/core/src}/scss/component/_index.scss +2 -1
- package/{src → packages/core/src}/scss/component/accordion/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/accordion/_index.scss +78 -60
- package/{src → packages/core/src}/scss/component/accordion/_variables.scss +127 -87
- package/{src → packages/core/src}/scss/component/alert/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/alert/_index.scss +51 -50
- package/packages/core/src/scss/component/alert/_variables.scss +200 -0
- package/{src → packages/core/src}/scss/component/card/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/card/_index.scss +53 -19
- package/packages/core/src/scss/component/card/_variables.scss +216 -0
- package/{src → packages/core/src}/scss/component/carousel/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/carousel/_index.scss +32 -28
- package/{src → packages/core/src}/scss/component/carousel/_variables.scss +22 -22
- package/{src → packages/core/src}/scss/component/input-group/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/input-group/_index.scss +2 -2
- package/{src → packages/core/src}/scss/component/input-group/_variables.scss +13 -13
- package/{src/scss/utilities/order → packages/core/src/scss/component/list}/_defaults.scss +7 -14
- package/packages/core/src/scss/component/list/_index.scss +52 -0
- package/packages/core/src/scss/component/list/_variables.scss +236 -0
- package/{src → packages/core/src}/scss/component/menu/_defaults.scss +11 -20
- package/packages/core/src/scss/component/menu/_index.scss +308 -0
- package/packages/core/src/scss/component/menu/_variables.scss +642 -0
- package/packages/core/src/scss/component/navigation/_defaults.scss +23 -0
- package/packages/core/src/scss/component/navigation/_index.scss +190 -0
- package/packages/core/src/scss/component/navigation/_variables.scss +290 -0
- package/packages/core/src/scss/functions/_container.scss +38 -0
- package/packages/core/src/scss/functions/_important.scss +36 -0
- package/{src → packages/core/src}/scss/functions/_screen.scss +9 -1
- package/{src → packages/core/src}/scss/functions/_theme.scss +2 -2
- package/packages/core/src/scss/functions/_utility.scss +28 -0
- package/{src → packages/core/src}/scss/layout/_index.scss +1 -1
- package/{src → packages/core/src}/scss/layout/columns/_defaults.scss +9 -4
- package/packages/core/src/scss/layout/columns/_index.scss +137 -0
- package/{src → packages/core/src}/scss/layout/columns/_variables.scss +13 -9
- package/packages/core/src/scss/layout/container/_defaults.scss +35 -0
- package/packages/core/src/scss/layout/container/_index.scss +628 -0
- package/packages/core/src/scss/layout/container/_variables.scss +114 -0
- package/packages/core/src/scss/layout/flex-columns/_defaults.scss +28 -0
- package/packages/core/src/scss/layout/flex-columns/_index.scss +184 -0
- package/{src → packages/core/src}/scss/layout/flex-columns/_variables.scss +9 -5
- package/{src → packages/core/src}/scss/mixins/_animation.scss +1 -1
- package/packages/core/src/scss/mixins/_container.scss +80 -0
- package/{src → packages/core/src}/scss/mixins/_layer.scss +6 -2
- package/{src → packages/core/src}/scss/mixins/_screen.scss +25 -4
- package/packages/core/src/scss/mixins/_state.scss +18 -0
- package/packages/core/src/scss/mixins/_theme.scss +15 -0
- package/packages/core/src/scss/mixins/_utility.scss +185 -0
- package/packages/core/src/scss/mixins/_visually-hidden.scss +30 -0
- package/packages/core/src/scss/state/_index.scss +3 -0
- package/{src → packages/core/src}/scss/state/focus/_defaults.scss +1 -2
- package/packages/core/src/scss/state/focus/_index.scss +42 -0
- package/packages/core/src/scss/state/focus/_mixins.scss +13 -0
- package/packages/core/src/scss/state/focus/_variables.scss +50 -0
- package/{src → packages/core/src}/scss/theme/_index.scss +1 -1
- package/{src → packages/core/src}/scss/theme/color/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/theme/color/_index.scss +8 -8
- package/{src → packages/core/src}/scss/theme/color/_variables.scss +12 -8
- package/{src → packages/core/src}/scss/theme/typography/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/theme/typography/_index.scss +10 -1
- package/packages/core/src/scss/theme/typography/_variables.scss +248 -0
- package/{src → packages/core/src}/scss/utilities/_index.scss +7 -1
- package/packages/core/src/scss/utilities/_template/_defaults.scss +41 -0
- package/packages/core/src/scss/utilities/_template/_index.scss +171 -0
- package/{src/scss/utilities/alignment → packages/core/src/scss/utilities/_template}/_variables.scss +1 -1
- package/{src → packages/core/src}/scss/utilities/alignment/_defaults.scss +21 -7
- package/packages/core/src/scss/utilities/alignment/_index.scss +336 -0
- package/{src/scss/utilities/display → packages/core/src/scss/utilities/alignment}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/background/_defaults.scss +122 -0
- package/packages/core/src/scss/utilities/background/_index.scss +634 -0
- package/packages/core/src/scss/utilities/background/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/border/_defaults.scss +73 -0
- package/packages/core/src/scss/utilities/border/_index.scss +558 -0
- package/{src/scss/utilities/list → packages/core/src/scss/utilities/border}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/color/_defaults.scss +49 -0
- package/packages/core/src/scss/utilities/color/_index.scss +469 -0
- package/{src/scss/utilities/flex → packages/core/src/scss/utilities/color}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/container/_defaults.scss +40 -0
- package/packages/core/src/scss/utilities/container/_index.scss +174 -0
- package/packages/core/src/scss/utilities/container/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/display/_defaults.scss +47 -0
- package/packages/core/src/scss/utilities/display/_index.scss +184 -0
- package/{src/scss/utilities/inset → packages/core/src/scss/utilities/display}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/flex/_defaults.scss +99 -0
- package/packages/core/src/scss/utilities/flex/_index.scss +486 -0
- package/{src/scss/utilities/color → packages/core/src/scss/utilities/flex}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/gradient/_defaults.scss +70 -0
- package/packages/core/src/scss/utilities/gradient/_index.scss +696 -0
- package/packages/core/src/scss/utilities/gradient/_variables.scss +29 -0
- package/packages/core/src/scss/utilities/height/_defaults.scss +54 -0
- package/packages/core/src/scss/utilities/height/_index.scss +525 -0
- package/packages/core/src/scss/utilities/height/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/inset/_defaults.scss +55 -0
- package/packages/core/src/scss/utilities/inset/_index.scss +258 -0
- package/packages/core/src/scss/utilities/inset/_variables.scss +6 -0
- package/{src → packages/core/src}/scss/utilities/justification/_defaults.scss +21 -7
- package/packages/core/src/scss/utilities/justification/_index.scss +333 -0
- package/packages/core/src/scss/utilities/justification/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/list/_defaults.scss +53 -0
- package/packages/core/src/scss/utilities/list/_index.scss +253 -0
- package/packages/core/src/scss/utilities/list/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/order/_defaults.scss +36 -0
- package/packages/core/src/scss/utilities/order/_index.scss +246 -0
- package/packages/core/src/scss/utilities/order/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/position/_defaults.scss +41 -0
- package/packages/core/src/scss/utilities/position/_index.scss +178 -0
- package/{src/scss/utilities/height → packages/core/src/scss/utilities/position}/_variables.scss +1 -1
- package/packages/core/src/scss/utilities/ratio/_defaults.scss +42 -0
- package/packages/core/src/scss/utilities/ratio/_index.scss +188 -0
- package/{src → packages/core/src}/scss/utilities/ratio/_variables.scss +2 -2
- package/{src → packages/core/src}/scss/utilities/spacing/_defaults.scss +19 -4
- package/packages/core/src/scss/utilities/spacing/_index.scss +970 -0
- package/packages/core/src/scss/utilities/spacing/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/typography/_defaults.scss +58 -0
- package/packages/core/src/scss/utilities/typography/_index.scss +1089 -0
- package/packages/core/src/scss/utilities/typography/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/visibility/_defaults.scss +39 -0
- package/packages/core/src/scss/utilities/visibility/_index.scss +173 -0
- package/packages/core/src/scss/utilities/visibility/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/visually-hidden/_defaults.scss +29 -0
- package/packages/core/src/scss/utilities/visually-hidden/_index.scss +189 -0
- package/packages/core/src/scss/utilities/visually-hidden/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/width/_defaults.scss +54 -0
- package/packages/core/src/scss/utilities/width/_index.scss +525 -0
- package/packages/core/src/scss/utilities/width/_variables.scss +6 -0
- package/packages/core/src/scss/utilities/z-index/_defaults.scss +40 -0
- package/packages/core/src/scss/utilities/z-index/_index.scss +173 -0
- package/packages/core/src/scss/utilities/z-index/_variables.scss +6 -0
- package/packages/core/vite.config.js +28 -0
- package/packages/icons/dist/css/base/button.css +2 -0
- package/packages/icons/dist/css/base/button.css.map +1 -0
- package/packages/icons/dist/css/base/link.css +2 -0
- package/packages/icons/dist/css/base/link.css.map +1 -0
- package/packages/icons/dist/css/base.css +2 -0
- package/packages/icons/dist/css/base.css.map +1 -0
- package/packages/icons/dist/css/component/icon.css +2 -0
- package/packages/icons/dist/css/component/icon.css.map +1 -0
- package/packages/icons/dist/css/component.css +2 -0
- package/packages/icons/dist/css/component.css.map +1 -0
- package/packages/icons/dist/css/icon.css +2 -0
- package/packages/icons/dist/css/icon.css.map +1 -0
- package/packages/icons/package.json +48 -0
- package/packages/icons/scss/base/button.scss +3 -0
- package/packages/icons/scss/base/link.scss +3 -0
- package/packages/icons/scss/base.scss +3 -0
- package/packages/icons/scss/component/icon.scss +3 -0
- package/packages/icons/scss/component.scss +3 -0
- package/packages/icons/scss/icon.scss +3 -0
- package/packages/icons/src/scss/_index.scss +4 -0
- package/packages/icons/src/scss/base/_index.scss +4 -0
- package/packages/icons/src/scss/base/button/_defaults.scss +7 -0
- package/packages/icons/src/scss/base/button/_index.scss +58 -0
- package/packages/icons/src/scss/base/button/_variables.scss +7 -0
- package/packages/icons/src/scss/base/link/_defaults.scss +7 -0
- package/packages/icons/src/scss/base/link/_index.scss +58 -0
- package/packages/icons/src/scss/base/link/_variables.scss +7 -0
- package/packages/icons/src/scss/component/_index.scss +3 -0
- package/packages/icons/src/scss/component/icon/_defaults.scss +30 -0
- package/packages/icons/src/scss/component/icon/_index.scss +60 -0
- package/packages/icons/src/scss/component/icon/_mixins.scss +62 -0
- package/packages/icons/src/scss/component/icon/_variables.scss +24 -0
- package/postcss.config.cjs +2 -3
- package/scss/base/button.scss +1 -1
- package/scss/base/form.scss +1 -1
- package/scss/base/link.scss +1 -1
- package/scss/base/table.scss +1 -1
- package/scss/base.scss +1 -1
- package/scss/component/accordion.scss +1 -1
- package/scss/component/alert.scss +1 -1
- package/scss/component/card.scss +1 -1
- package/scss/component/carousel.scss +1 -1
- package/scss/component/input-group.scss +1 -1
- package/scss/component/list.scss +3 -0
- package/scss/component/menu.scss +1 -1
- package/scss/component/navigation.scss +1 -1
- package/scss/component.scss +1 -1
- package/scss/graupl.scss +1 -1
- package/scss/init.scss +1 -1
- package/scss/layout/columns.scss +1 -1
- package/scss/layout/container.scss +1 -1
- package/scss/layout/flex-columns.scss +1 -1
- package/scss/layout.scss +1 -1
- package/scss/normalize.scss +1 -1
- package/scss/state/focus.scss +1 -1
- package/scss/state.scss +1 -1
- package/scss/theme/color.scss +1 -1
- package/scss/theme/typography.scss +1 -1
- package/scss/theme.scss +1 -1
- package/scss/utilities/alignment.scss +1 -1
- package/scss/utilities/background.scss +3 -0
- package/scss/utilities/border.scss +3 -0
- package/scss/utilities/color.scss +1 -1
- package/scss/utilities/container.scss +3 -0
- package/scss/utilities/display.scss +1 -1
- package/scss/utilities/flex.scss +1 -1
- package/scss/utilities/gradient.scss +3 -0
- package/scss/utilities/height.scss +1 -1
- package/scss/utilities/inset.scss +1 -1
- package/scss/utilities/justification.scss +1 -1
- package/scss/utilities/list.scss +1 -1
- package/scss/utilities/order.scss +1 -1
- package/scss/utilities/position.scss +3 -0
- package/scss/utilities/ratio.scss +1 -1
- package/scss/utilities/spacing.scss +1 -1
- package/scss/utilities/typography.scss +1 -1
- package/scss/utilities/visibility.scss +1 -1
- package/scss/utilities/visually-hidden.scss +3 -0
- package/scss/utilities/width.scss +1 -1
- package/scss/utilities/z-index.scss +3 -0
- package/scss/utilities.scss +1 -1
- package/stylelint.config.js +1 -0
- package/vite.config.js +6 -35
- package/dist/css/utilities/postion.css +0 -2
- package/dist/css/utilities/postion.css.map +0 -1
- package/dist/js/component/accordion.cjs.js +0 -3
- package/dist/js/component/accordion.esm.js +0 -1289
- package/dist/js/component/accordion.iife.js +0 -3
- package/dist/js/component/alert.cjs.js +0 -3
- package/dist/js/component/alert.esm.js +0 -529
- package/dist/js/component/alert.iife.js +0 -3
- package/dist/js/component/carousel.cjs.js +0 -3
- package/dist/js/component/carousel.esm.js +0 -1110
- package/dist/js/component/carousel.iife.js +0 -3
- package/src/scss/_variables.scss +0 -53
- package/src/scss/base/button/_index.scss +0 -107
- package/src/scss/base/button/_mixins.scss +0 -166
- package/src/scss/base/button/_variables.scss +0 -176
- package/src/scss/base/form/_index.scss +0 -93
- package/src/scss/base/form/_variables.scss +0 -156
- package/src/scss/base/link/_defaults.scss +0 -50
- package/src/scss/base/link/_index.scss +0 -134
- package/src/scss/base/link/_variables.scss +0 -262
- package/src/scss/base/table/_defaults.scss +0 -53
- package/src/scss/base/table/_index.scss +0 -121
- package/src/scss/base/table/_variables.scss +0 -135
- package/src/scss/component/alert/_variables.scss +0 -173
- package/src/scss/component/card/_variables.scss +0 -186
- package/src/scss/component/menu/_index.scss +0 -305
- package/src/scss/component/menu/_variables.scss +0 -500
- package/src/scss/component/navigation/_defaults.scss +0 -29
- package/src/scss/component/navigation/_index.scss +0 -189
- package/src/scss/component/navigation/_variables.scss +0 -237
- package/src/scss/functions/_important.scss +0 -13
- package/src/scss/layout/columns/_index.scss +0 -58
- package/src/scss/layout/container/_defaults.scss +0 -17
- package/src/scss/layout/container/_index.scss +0 -41
- package/src/scss/layout/container/_variables.scss +0 -50
- package/src/scss/layout/flex-columns/_defaults.scss +0 -18
- package/src/scss/layout/flex-columns/_index.scss +0 -80
- package/src/scss/mixins/_utility.scss +0 -30
- package/src/scss/mixins/_visually-hidden.scss +0 -20
- package/src/scss/state/_index.scss +0 -3
- package/src/scss/state/focus/_index.scss +0 -13
- package/src/scss/state/focus/_mixins.scss +0 -15
- package/src/scss/state/focus/_variables.scss +0 -44
- package/src/scss/theme/typography/_variables.scss +0 -231
- package/src/scss/utilities/alignment/_index.scss +0 -75
- package/src/scss/utilities/color/_defaults.scss +0 -35
- package/src/scss/utilities/color/_index.scss +0 -91
- package/src/scss/utilities/display/_defaults.scss +0 -32
- package/src/scss/utilities/display/_index.scss +0 -61
- package/src/scss/utilities/flex/_defaults.scss +0 -63
- package/src/scss/utilities/flex/_index.scss +0 -71
- package/src/scss/utilities/height/_defaults.scss +0 -41
- package/src/scss/utilities/height/_index.scss +0 -98
- package/src/scss/utilities/inset/_defaults.scss +0 -41
- package/src/scss/utilities/inset/_index.scss +0 -37
- package/src/scss/utilities/justification/_index.scss +0 -75
- package/src/scss/utilities/justification/_variables.scss +0 -6
- package/src/scss/utilities/list/_defaults.scss +0 -39
- package/src/scss/utilities/list/_index.scss +0 -56
- package/src/scss/utilities/order/_index.scss +0 -63
- package/src/scss/utilities/order/_variables.scss +0 -6
- package/src/scss/utilities/position/_defaults.scss +0 -26
- package/src/scss/utilities/position/_index.scss +0 -37
- package/src/scss/utilities/position/_variables.scss +0 -6
- package/src/scss/utilities/ratio/_defaults.scss +0 -28
- package/src/scss/utilities/ratio/_index.scss +0 -52
- package/src/scss/utilities/spacing/_index.scss +0 -169
- package/src/scss/utilities/spacing/_variables.scss +0 -6
- package/src/scss/utilities/typography/_defaults.scss +0 -30
- package/src/scss/utilities/typography/_index.scss +0 -224
- package/src/scss/utilities/typography/_variables.scss +0 -6
- package/src/scss/utilities/visibility/_defaults.scss +0 -25
- package/src/scss/utilities/visibility/_index.scss +0 -36
- package/src/scss/utilities/visibility/_variables.scss +0 -6
- package/src/scss/utilities/width/_defaults.scss +0 -41
- package/src/scss/utilities/width/_index.scss +0 -98
- package/src/scss/utilities/width/_variables.scss +0 -6
- /package/{src → packages/core/src}/js/accordion/Accordion.js +0 -0
- /package/{src → packages/core/src}/js/accordion/AccordionItem.js +0 -0
- /package/{src → packages/core/src}/js/accordion/index.js +0 -0
- /package/{src → packages/core/src}/js/alert/Alert.js +0 -0
- /package/{src → packages/core/src}/js/alert/index.js +0 -0
- /package/{src → packages/core/src}/js/carousel/Carousel.js +0 -0
- /package/{src → packages/core/src}/js/carousel/index.js +0 -0
- /package/{src → packages/core/src}/js/domHelpers.js +0 -0
- /package/{src → packages/core/src}/js/eventHandlers.js +0 -0
- /package/{src → packages/core/src}/js/navigation/index.js +0 -0
- /package/{src → packages/core/src}/js/storage.js +0 -0
- /package/{src → packages/core/src}/js/validate.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @graupl/
|
|
1
|
+
// @graupl/core default values.
|
|
2
2
|
//
|
|
3
3
|
// Generally, these should not be used directly when styling components unless a static value is needed.
|
|
4
4
|
// They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
|
|
@@ -9,11 +9,16 @@
|
|
|
9
9
|
@use "sass:map";
|
|
10
10
|
|
|
11
11
|
// Prefix for custom properties and other naming conventions.
|
|
12
|
-
$
|
|
12
|
+
$id: "graupl" !default;
|
|
13
|
+
$prefix: "#{$id}-" !default;
|
|
13
14
|
|
|
14
15
|
// Settings.
|
|
15
16
|
$use-important: true !default;
|
|
16
|
-
$
|
|
17
|
+
$screen-aware-utilities: true !default;
|
|
18
|
+
$theme-aware-utilities: true !default;
|
|
19
|
+
$state-aware-utilities: true !default;
|
|
20
|
+
$container-aware-utilities: false !default;
|
|
21
|
+
$use-layers: true !default;
|
|
17
22
|
|
|
18
23
|
// Layout properties.
|
|
19
24
|
$content-max-width: 96ch !default;
|
|
@@ -53,6 +58,12 @@ $base-screen-size-triggers: (
|
|
|
53
58
|
"xs",
|
|
54
59
|
),
|
|
55
60
|
),
|
|
61
|
+
allow-sidebars: (
|
|
62
|
+
mixin: "up",
|
|
63
|
+
args: (
|
|
64
|
+
"lg",
|
|
65
|
+
),
|
|
66
|
+
),
|
|
56
67
|
);
|
|
57
68
|
$custom-screen-size-triggers: () !default;
|
|
58
69
|
$screen-size-triggers: map.merge(
|
|
@@ -60,6 +71,17 @@ $screen-size-triggers: map.merge(
|
|
|
60
71
|
$custom-screen-size-triggers
|
|
61
72
|
);
|
|
62
73
|
|
|
74
|
+
// Container sizes.
|
|
75
|
+
$base-container-sizes: $screen-sizes;
|
|
76
|
+
$custom-container-sizes: () !default;
|
|
77
|
+
$container-sizes: map.merge($base-container-sizes, $custom-container-sizes);
|
|
78
|
+
$base-container-size-triggers: $screen-size-triggers;
|
|
79
|
+
$custom-container-size-triggers: () !default;
|
|
80
|
+
$container-size-triggers: map.merge(
|
|
81
|
+
$base-container-size-triggers,
|
|
82
|
+
$custom-container-size-triggers
|
|
83
|
+
);
|
|
84
|
+
|
|
63
85
|
// Spacing properties.
|
|
64
86
|
$spacer: 1rem !default;
|
|
65
87
|
$base-spacer-multipliers: (
|
|
@@ -87,7 +109,7 @@ $interactive-min-height: 44px !default;
|
|
|
87
109
|
|
|
88
110
|
// Border properties.
|
|
89
111
|
$border-radius: 0.125rem !default;
|
|
90
|
-
$border-width:
|
|
112
|
+
$border-width: 0.125rem !default;
|
|
91
113
|
$border-style: solid !default;
|
|
92
114
|
|
|
93
115
|
// Transition properties.
|
|
@@ -104,26 +126,42 @@ $transition-durations: map.merge(
|
|
|
104
126
|
$custom-transition-durations
|
|
105
127
|
);
|
|
106
128
|
|
|
129
|
+
// Selector properties.
|
|
130
|
+
$element-selector-base: "" !default;
|
|
131
|
+
$component-selector-base: "." !default;
|
|
132
|
+
$modifier-selector-base: "." !default;
|
|
133
|
+
$screen-aware-selector-separator: "\\:" !default;
|
|
134
|
+
$theme-aware-selector-separator: "\\:" !default;
|
|
135
|
+
$state-aware-selector-separator: "\\:" !default;
|
|
136
|
+
$container-aware-selector-separator: "\\:" !default;
|
|
137
|
+
|
|
138
|
+
// Selector prefixes.
|
|
139
|
+
$screen-aware-selector-prefix: "" !default;
|
|
140
|
+
$theme-aware-selector-prefix: "" !default;
|
|
141
|
+
$state-aware-selector-prefix: "" !default;
|
|
142
|
+
$container-aware-selector-prefix: "cq\\:" !default;
|
|
143
|
+
|
|
107
144
|
// State selectors.
|
|
145
|
+
$state-selector-base: $modifier-selector-base !default;
|
|
108
146
|
$base-state-selectors: (
|
|
109
147
|
visited: (
|
|
110
|
-
"
|
|
148
|
+
"#{$state-selector-base}visited",
|
|
111
149
|
":visited",
|
|
112
150
|
),
|
|
113
151
|
focus: (
|
|
114
|
-
"
|
|
152
|
+
"#{$state-selector-base}focus",
|
|
115
153
|
":focus-visible",
|
|
116
154
|
),
|
|
117
155
|
hover: (
|
|
118
|
-
"
|
|
156
|
+
"#{$state-selector-base}hover",
|
|
119
157
|
":hover",
|
|
120
158
|
),
|
|
121
159
|
active: (
|
|
122
|
-
"
|
|
160
|
+
"#{$state-selector-base}active",
|
|
123
161
|
":active",
|
|
124
162
|
),
|
|
125
163
|
disabled: (
|
|
126
|
-
"
|
|
164
|
+
"#{$state-selector-base}disabled",
|
|
127
165
|
":disabled",
|
|
128
166
|
"[disabled]",
|
|
129
167
|
"[aria-disabled=true]",
|
|
@@ -132,5 +170,15 @@ $base-state-selectors: (
|
|
|
132
170
|
$custom-state-selectors: () !default;
|
|
133
171
|
$state-selectors: map.merge($base-state-selectors, $custom-state-selectors);
|
|
134
172
|
|
|
135
|
-
//
|
|
136
|
-
$
|
|
173
|
+
// Utility properties.
|
|
174
|
+
$utility-selector-base: $modifier-selector-base !default;
|
|
175
|
+
|
|
176
|
+
// Utility modifier separators.
|
|
177
|
+
$utility-screen-aware-separator: $screen-aware-selector-separator !default;
|
|
178
|
+
$utility-theme-aware-separator: $theme-aware-selector-separator !default;
|
|
179
|
+
$utility-state-aware-separator: $state-aware-selector-separator !default;
|
|
180
|
+
$utility-container-aware-separator: $container-aware-selector-separator !default;
|
|
181
|
+
$utility-screen-aware-selector-prefix: $screen-aware-selector-prefix !default;
|
|
182
|
+
$utility-theme-aware-selector-prefix: $theme-aware-selector-prefix !default;
|
|
183
|
+
$utility-state-aware-selector-prefix: $state-aware-selector-prefix !default;
|
|
184
|
+
$utility-container-aware-selector-prefix: $container-aware-selector-prefix !default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// @graupl/core layer initialization styles.
|
|
2
|
+
|
|
3
|
+
@use "defaults" as root-defaults;
|
|
4
|
+
|
|
5
|
+
// Layer initialization.
|
|
6
|
+
@layer #{root-defaults.$id}.normalize, #{root-defaults.$id}.base, #{root-defaults.$id}.layout, #{root-defaults.$id}.component, #{root-defaults.$id}.theme, #{root-defaults.$id}.utilities, #{root-defaults.$id}.state;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// @graupl/core variables.
|
|
2
|
+
//
|
|
3
|
+
// These values are to be used to directly style components and provide a
|
|
4
|
+
// cleaner way to reference custom properties.
|
|
5
|
+
|
|
6
|
+
@use "defaults";
|
|
7
|
+
@use "sass:map";
|
|
8
|
+
|
|
9
|
+
// Layout properties.
|
|
10
|
+
$content-max-width: var(
|
|
11
|
+
--#{defaults.$prefix}content-max-width,
|
|
12
|
+
defaults.$content-max-width
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
// Spacing properties.
|
|
16
|
+
$spacer: var(--#{defaults.$prefix}spacer, defaults.$spacer);
|
|
17
|
+
$spacers: ();
|
|
18
|
+
|
|
19
|
+
@each $key, $value in defaults.$spacer-multipliers {
|
|
20
|
+
$space: var(
|
|
21
|
+
--#{defaults.$prefix}spacer-#{$key},
|
|
22
|
+
calc(#{$value} * #{$spacer})
|
|
23
|
+
);
|
|
24
|
+
$spacers: map.set($spacers, $key, $space);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Border properties.
|
|
28
|
+
$border-radius: var(
|
|
29
|
+
--#{defaults.$prefix}border-radius,
|
|
30
|
+
defaults.$border-radius
|
|
31
|
+
);
|
|
32
|
+
$border-top-left-radius: var(
|
|
33
|
+
--#{defaults.$prefix}border-top-left-radius,
|
|
34
|
+
#{$border-radius}
|
|
35
|
+
);
|
|
36
|
+
$border-top-right-radius: var(
|
|
37
|
+
--#{defaults.$prefix}border-top-right-radius,
|
|
38
|
+
#{$border-radius}
|
|
39
|
+
);
|
|
40
|
+
$border-bottom-right-radius: var(
|
|
41
|
+
--#{defaults.$prefix}border-bottom-right-radius,
|
|
42
|
+
#{$border-radius}
|
|
43
|
+
);
|
|
44
|
+
$border-bottom-left-radius: var(
|
|
45
|
+
--#{defaults.$prefix}border-bottom-left-radius,
|
|
46
|
+
#{$border-radius}
|
|
47
|
+
);
|
|
48
|
+
$border-width: var(--#{defaults.$prefix}border-width, defaults.$border-width);
|
|
49
|
+
$border-top-width: var(--#{defaults.$prefix}border-top-width, #{$border-width});
|
|
50
|
+
$border-right-width: var(
|
|
51
|
+
--#{defaults.$prefix}border-right-width,
|
|
52
|
+
#{$border-width}
|
|
53
|
+
);
|
|
54
|
+
$border-bottom-width: var(
|
|
55
|
+
--#{defaults.$prefix}border-bottom-width,
|
|
56
|
+
#{$border-width}
|
|
57
|
+
);
|
|
58
|
+
$border-left-width: var(
|
|
59
|
+
--#{defaults.$prefix}border-left-width,
|
|
60
|
+
#{$border-width}
|
|
61
|
+
);
|
|
62
|
+
$border-style: var(--#{defaults.$prefix}border-style, defaults.$border-style);
|
|
63
|
+
$border-top-style: var(--#{defaults.$prefix}border-top-style, #{$border-style});
|
|
64
|
+
$border-right-style: var(
|
|
65
|
+
--#{defaults.$prefix}border-right-style,
|
|
66
|
+
#{$border-style}
|
|
67
|
+
);
|
|
68
|
+
$border-bottom-style: var(
|
|
69
|
+
--#{defaults.$prefix}border-bottom-style,
|
|
70
|
+
#{$border-style}
|
|
71
|
+
);
|
|
72
|
+
$border-left-style: var(
|
|
73
|
+
--#{defaults.$prefix}border-left-style,
|
|
74
|
+
#{$border-style}
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
// Transition properties.
|
|
78
|
+
$transition-durations: (
|
|
79
|
+
fast: var(
|
|
80
|
+
--#{defaults.$prefix}transition-duration-fast,
|
|
81
|
+
map.get(defaults.$transition-durations, fast)
|
|
82
|
+
),
|
|
83
|
+
default: var(
|
|
84
|
+
--#{defaults.$prefix}transition-duration-default,
|
|
85
|
+
map.get(defaults.$transition-durations, default)
|
|
86
|
+
),
|
|
87
|
+
slow: var(
|
|
88
|
+
--#{defaults.$prefix}transition-duration-slow,
|
|
89
|
+
map.get(defaults.$transition-durations, slow)
|
|
90
|
+
),
|
|
91
|
+
);
|
|
92
|
+
$transition-timing-function: var(
|
|
93
|
+
--#{defaults.$prefix}transition-timing-function,
|
|
94
|
+
defaults.$transition-timing-function
|
|
95
|
+
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @graupl/
|
|
1
|
+
// @graupl/core button base default values.
|
|
2
2
|
//
|
|
3
3
|
// Generally, these should not be used directly when styling bases unless a static value is needed.
|
|
4
4
|
// They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
|
|
@@ -6,27 +6,23 @@
|
|
|
6
6
|
// They should not be used to define direct property values (i.e. font-size, color, etc.).
|
|
7
7
|
// Those should be defined as custom properties in the `_variables.scss` file.
|
|
8
8
|
|
|
9
|
+
@use "../../defaults" as root-defaults;
|
|
9
10
|
@use "sass:map";
|
|
10
11
|
|
|
11
12
|
// Button selectors.
|
|
12
|
-
$
|
|
13
|
-
$
|
|
14
|
-
$button-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
$button-
|
|
18
|
-
$button-
|
|
19
|
-
$button-
|
|
20
|
-
$button-hover-selector: ".hover" !default;
|
|
21
|
-
$button-visited-selector: ".visited" !default;
|
|
13
|
+
$selector-base: root-defaults.$component-selector-base !default;
|
|
14
|
+
$modifier-selector-base: root-defaults.$modifier-selector-base !default;
|
|
15
|
+
$button-selector-base: $selector-base !default;
|
|
16
|
+
$button-selector: "button" !default;
|
|
17
|
+
$button-link-selector-base: $modifier-selector-base !default;
|
|
18
|
+
$button-link-selector: "link" !default;
|
|
19
|
+
$button-theme-selector-base: $modifier-selector-base !default;
|
|
20
|
+
$button-theme-selector-prefix: "" !default;
|
|
22
21
|
|
|
23
22
|
// Button properties.
|
|
24
|
-
$button-transform: none !default;
|
|
25
|
-
$button-
|
|
26
|
-
$button-
|
|
27
|
-
$button-hover-transform: $button-transform !default;
|
|
28
|
-
$button-active-transform: scale(0.95) !default;
|
|
29
|
-
$button-disabled-transform: $button-transform !default;
|
|
23
|
+
$button-initial-transform: none !default;
|
|
24
|
+
$button-final-transform: scale(0.95) !default;
|
|
25
|
+
$button-disabled-transform: $button-initial-transform !default;
|
|
30
26
|
|
|
31
27
|
// Button state theme defaults.
|
|
32
28
|
// This map is used to define the default colour shades for the
|
|
@@ -40,16 +36,9 @@ $button-disabled-transform: $button-transform !default;
|
|
|
40
36
|
$base-button-state-theme-map: (
|
|
41
37
|
color: 900,
|
|
42
38
|
border-color: 700,
|
|
43
|
-
visited-color: 900,
|
|
44
|
-
visited-border-color: 700,
|
|
45
|
-
focus-color: 900,
|
|
46
|
-
focus-border-color: 700,
|
|
47
39
|
hover-color: 100,
|
|
48
40
|
hover-background: 700,
|
|
49
41
|
hover-border-color: 700,
|
|
50
|
-
active-color: 100,
|
|
51
|
-
active-background: 700,
|
|
52
|
-
active-border-color: 700,
|
|
53
42
|
disabled-color: 200,
|
|
54
43
|
disabled-border-color: 200,
|
|
55
44
|
);
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// @graupl/core button base styles.
|
|
2
|
+
//
|
|
3
|
+
// This module provides the base styles for the button component.
|
|
4
|
+
//
|
|
5
|
+
// The button component is meant to be used on <button> or <a> elements, but can be applied to anything.
|
|
6
|
+
//
|
|
7
|
+
// The following selectors are generated by default:
|
|
8
|
+
// - `.button`: The button component.
|
|
9
|
+
// - `.primary`: A component modifier to use the primary colour for the button component.
|
|
10
|
+
// - `.secondary`: A component modifier to use the secondary colour for the button component.
|
|
11
|
+
// - `.tertiary`: A component modifier to use the tertiary colour for the button component.
|
|
12
|
+
// - `.link`: A component modifier to make the button component look like a link component.
|
|
13
|
+
//
|
|
14
|
+
// The following custom properties control the generated selectors:
|
|
15
|
+
// - `--graupl-button-min-width`: The minimum width of the button component.
|
|
16
|
+
// - `--graupl-button-min-height`: The minimum height of the button component.
|
|
17
|
+
// - `--graupl-button-padding-x`: The horizontal padding of the button component.
|
|
18
|
+
// - `--graupl-button-padding-y`: The vertical padding of the button component.
|
|
19
|
+
// - `--graupl-button-padding`: The padding of the button component (combines x and y padding).
|
|
20
|
+
// - `--graupl-button-font-size`: The font size of the button component.
|
|
21
|
+
// - `--graupl-button-transition`: The transition of the button component.
|
|
22
|
+
// - `--graupl-button-transition-reduced-motion`: The transition of the button component when reduced motion is enabled.
|
|
23
|
+
// - `--graupl-button-transform`: The transform of the button component.
|
|
24
|
+
// - `--graupl-button-visited-transform`: The transform of a visited button component.
|
|
25
|
+
// - `--graupl-button-focus-transform`: The transform of a focused button component.
|
|
26
|
+
// - `--graupl-button-hover-transform`: The transform of a hovered button component.
|
|
27
|
+
// - `--graupl-button-active-transform`: The transform of an active button component.
|
|
28
|
+
// - `--graupl-button-disabled-transform`: The transform of a disabled button component.
|
|
29
|
+
// - `--graupl-button-background`: The background colour of the button component.
|
|
30
|
+
// - `--graupl-button-visited-background`: The background colour of a visited button component.
|
|
31
|
+
// - `--graupl-button-focus-background`: The background colour of a focused button component.
|
|
32
|
+
// - `--graupl-button-hover-background`: The background colour of a hovered button component.
|
|
33
|
+
// - `--graupl-button-active-background`: The background colour of an active button component.
|
|
34
|
+
// - `--graupl-button-disabled-background`: The background colour of a disabled button component.
|
|
35
|
+
// - `--graupl-button-color`: The text colour of the button component.
|
|
36
|
+
// - `--graupl-button-visited-color`: The text colour of a visited button component.
|
|
37
|
+
// - `--graupl-button-focus-color`: The text colour of a focused button component.
|
|
38
|
+
// - `--graupl-button-hover-color`: The text colour of a hovered button component.
|
|
39
|
+
// - `--graupl-button-active-color`: The text colour of an active button component.
|
|
40
|
+
// - `--graupl-button-disabled-color`: The text colour of a disabled button component.
|
|
41
|
+
// - `--graupl-button-border-top-width`: The top border width of the button component.
|
|
42
|
+
// - `--graupl-button-border-right-width`: The right border width of the button component.
|
|
43
|
+
// - `--graupl-button-border-bottom-width`: The bottom border width of the button component.
|
|
44
|
+
// - `--graupl-button-border-left-width`: The left border width of the button component.
|
|
45
|
+
// - `--graupl-button-border-width`: The border width of the button component (combines top, right, bottom, and left widths).
|
|
46
|
+
// - `--graupl-button-border-top-style`: The top border style of the button component.
|
|
47
|
+
// - `--graupl-button-border-right-style`: The right border style of the button component.
|
|
48
|
+
// - `--graupl-button-border-bottom-style`: The bottom border style of the button component.
|
|
49
|
+
// - `--graupl-button-border-left-style`: The left border style of the button component.
|
|
50
|
+
// - `--graupl-button-border-style`: The border style of the button component (combines top, right, bottom, and left styles).
|
|
51
|
+
// - `--graupl-button-border-top-left-radius`: The top left border radius of the button component.
|
|
52
|
+
// - `--graupl-button-border-top-right-radius`: The top right border radius of the button component.
|
|
53
|
+
// - `--graupl-button-border-bottom-right-radius`: The bottom right border radius of the button component.
|
|
54
|
+
// - `--graupl-button-border-bottom-left-radius`: The bottom left border radius of the button component.
|
|
55
|
+
// - `--graupl-button-border-radius`: The border radius of the button component (combines top-left, top-right, bottom-right, and bottom-left radii).
|
|
56
|
+
// - `--graupl-button-border-color`: The border colour of the button component.
|
|
57
|
+
// - `--graupl-button-visited-border-color`: The border colour of a visited button component.
|
|
58
|
+
// - `--graupl-button-focus-border-color`: The border colour of a focused button component.
|
|
59
|
+
// - `--graupl-button-hover-border-color`: The border colour of a hovered button component.
|
|
60
|
+
// - `--graupl-button-active-border-color`: The border colour of an active button component.
|
|
61
|
+
// - `--graupl-button-disabled-border-color`: The border colour of a disabled button component.
|
|
62
|
+
//
|
|
63
|
+
// The following variables control the generated selectors:
|
|
64
|
+
// - `$selector-base`: The selector base for the component.
|
|
65
|
+
// - `$modifier-selector-base`: The selector base for component modifiers.
|
|
66
|
+
// - `$button-selector-base`: The selector base for the button component.
|
|
67
|
+
// - `$button-selector`: The button component selector.
|
|
68
|
+
// - `$button-link-selector-base`: The selector base for the button link component modifier.
|
|
69
|
+
// - `$button-link-selector`: The button link component modifier selector.
|
|
70
|
+
// - `$button-theme-selector-base`: The selector base for the button theme component modifiers.
|
|
71
|
+
// - `$button-theme-selector-prefix`: The button theme component modifier selector prefix.
|
|
72
|
+
// - `$button-initial-transform`: The initial transform of the button.
|
|
73
|
+
// - `$button-final-transform`: The final transform of the button.
|
|
74
|
+
// - `$button-disabled-transform`: The disabled transform of the button.
|
|
75
|
+
// - `$custom-button-state-theme-map`: A map of custom button state theme values.
|
|
76
|
+
//
|
|
77
|
+
// @example
|
|
78
|
+
// <button class="button primary">Primary Button</button>
|
|
79
|
+
//
|
|
80
|
+
// @example
|
|
81
|
+
// <a class="button secondary" href="#">Secondary Button</a>
|
|
82
|
+
//
|
|
83
|
+
// @example
|
|
84
|
+
// <button class="button link">Link Button</button>
|
|
85
|
+
|
|
86
|
+
@use "../../base/link/variables" as link;
|
|
87
|
+
@use "../../defaults" as root-defaults;
|
|
88
|
+
@use "../../mixins/layer" as *;
|
|
89
|
+
@use "../link/defaults" as link-defaults;
|
|
90
|
+
@use "defaults";
|
|
91
|
+
@use "mixins" as *;
|
|
92
|
+
@use "variables" as *;
|
|
93
|
+
|
|
94
|
+
@include layer(base) {
|
|
95
|
+
// .button
|
|
96
|
+
#{defaults.$button-selector-base}#{defaults.$button-selector} {
|
|
97
|
+
@include apply-base;
|
|
98
|
+
|
|
99
|
+
// &.link
|
|
100
|
+
&#{defaults.$button-link-selector-base}#{defaults.$button-link-selector} {
|
|
101
|
+
--#{root-defaults.$prefix}button-padding: #{link.$link-padding};
|
|
102
|
+
--#{root-defaults.$prefix}button-transition: #{link.$link-transition};
|
|
103
|
+
--#{root-defaults.$prefix}button-transition-reduced-motion: #{link.$link-transition-reduced-motion};
|
|
104
|
+
--#{root-defaults.$prefix}button-transform: #{link.$link-transform};
|
|
105
|
+
--#{root-defaults.$prefix}button-visited-transform: #{link.$link-visited-transform};
|
|
106
|
+
--#{root-defaults.$prefix}button-focus-transform: #{link.$link-transform};
|
|
107
|
+
--#{root-defaults.$prefix}button-hover-transform: #{link.$link-hover-transform};
|
|
108
|
+
--#{root-defaults.$prefix}button-active-transform: #{link.$link-active-transform};
|
|
109
|
+
--#{root-defaults.$prefix}button-border-width: #{link.$link-border-width};
|
|
110
|
+
--#{root-defaults.$prefix}button-border-style: #{link.$link-border-style};
|
|
111
|
+
--#{root-defaults.$prefix}button-border-radius: #{link.$link-border-radius};
|
|
112
|
+
--#{root-defaults.$prefix}button-min-width: #{link.$link-min-width};
|
|
113
|
+
--#{root-defaults.$prefix}button-min-height: #{link.$link-min-height};
|
|
114
|
+
--#{root-defaults.$prefix}button-font-size: inherit;
|
|
115
|
+
|
|
116
|
+
text-decoration: link.$link-text-decoration;
|
|
117
|
+
text-decoration-thickness: link.$link-text-decoration-thickness;
|
|
118
|
+
text-decoration-style: link.$link-text-decoration-style;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// a
|
|
123
|
+
#{link-defaults.$link-selector-base}#{link-defaults.$link-selector} {
|
|
124
|
+
// &.button:not(.link)
|
|
125
|
+
&#{defaults.$button-selector-base}#{defaults.$button-selector}:not(
|
|
126
|
+
#{defaults.$button-link-selector-base}#{defaults.$button-link-selector}
|
|
127
|
+
) {
|
|
128
|
+
--#{root-defaults.$prefix}link-padding: #{$button-padding};
|
|
129
|
+
--#{root-defaults.$prefix}link-transition: #{$button-transition};
|
|
130
|
+
--#{root-defaults.$prefix}link-transition-reduced-motion: #{$button-transition-reduced-motion};
|
|
131
|
+
--#{root-defaults.$prefix}link-transform: #{$button-transform};
|
|
132
|
+
--#{root-defaults.$prefix}link-visited-transform: #{$button-visited-transform};
|
|
133
|
+
--#{root-defaults.$prefix}link-focus-transform: #{$button-focus-transform};
|
|
134
|
+
--#{root-defaults.$prefix}link-hover-transform: #{$button-hover-transform};
|
|
135
|
+
--#{root-defaults.$prefix}link-active-transform: #{$button-active-transform};
|
|
136
|
+
--#{root-defaults.$prefix}link-disabled-transform: #{$button-disabled-transform};
|
|
137
|
+
--#{root-defaults.$prefix}link-border-width: #{$button-border-width};
|
|
138
|
+
--#{root-defaults.$prefix}link-border-style: #{$button-border-style};
|
|
139
|
+
--#{root-defaults.$prefix}link-border-radius: #{$button-border-radius};
|
|
140
|
+
--#{root-defaults.$prefix}link-min-width: #{$button-min-width};
|
|
141
|
+
--#{root-defaults.$prefix}link-min-height: #{$button-min-height};
|
|
142
|
+
--#{root-defaults.$prefix}link-text-decoration: none;
|
|
143
|
+
--#{root-defaults.$prefix}link-visited-text-decoration: none;
|
|
144
|
+
--#{root-defaults.$prefix}link-focus-text-decoration: none;
|
|
145
|
+
--#{root-defaults.$prefix}link-hover-text-decoration: none;
|
|
146
|
+
--#{root-defaults.$prefix}link-active-text-decoration: none;
|
|
147
|
+
--#{root-defaults.$prefix}link-disabled-text-decoration: none;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@include layer(theme) {
|
|
153
|
+
// .button
|
|
154
|
+
#{defaults.$button-selector-base}#{defaults.$button-selector} {
|
|
155
|
+
@include apply-theme;
|
|
156
|
+
|
|
157
|
+
// &.link
|
|
158
|
+
&#{defaults.$button-link-selector-base}#{defaults.$button-link-selector} {
|
|
159
|
+
--#{root-defaults.$prefix}button-color: #{link.$link-color};
|
|
160
|
+
--#{root-defaults.$prefix}button-visited-color: #{link.$link-visited-color};
|
|
161
|
+
--#{root-defaults.$prefix}button-focus-color: #{link.$link-focus-color};
|
|
162
|
+
--#{root-defaults.$prefix}button-hover-color: #{link.$link-hover-color};
|
|
163
|
+
--#{root-defaults.$prefix}button-active-color: #{link.$link-active-color};
|
|
164
|
+
--#{root-defaults.$prefix}button-disabled-color: #{link.$link-disabled-color};
|
|
165
|
+
--#{root-defaults.$prefix}button-background: #{link.$link-background};
|
|
166
|
+
--#{root-defaults.$prefix}button-visited-background: #{link.$link-visited-background};
|
|
167
|
+
--#{root-defaults.$prefix}button-focus-background: #{link.$link-focus-background};
|
|
168
|
+
--#{root-defaults.$prefix}button-hover-background: #{link.$link-hover-background};
|
|
169
|
+
--#{root-defaults.$prefix}button-active-background: #{link.$link-active-background};
|
|
170
|
+
--#{root-defaults.$prefix}button-disabled-background: #{link.$link-disabled-background};
|
|
171
|
+
--#{root-defaults.$prefix}button-border-color: #{link.$link-border-color};
|
|
172
|
+
--#{root-defaults.$prefix}button-visited-border-color: #{link.$link-visited-border-color};
|
|
173
|
+
--#{root-defaults.$prefix}button-focus-border-color: #{link.$link-focus-border-color};
|
|
174
|
+
--#{root-defaults.$prefix}button-hover-border-color: #{link.$link-hover-border-color};
|
|
175
|
+
--#{root-defaults.$prefix}button-active-border-color: #{link.$link-active-border-color};
|
|
176
|
+
--#{root-defaults.$prefix}button-disabled-border-color: #{link.$link-disabled-border-color};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// a
|
|
181
|
+
#{link-defaults.$link-selector-base}#{link-defaults.$link-selector} {
|
|
182
|
+
// &.button:not(.link)
|
|
183
|
+
&#{defaults.$button-selector-base}#{defaults.$button-selector}:not(
|
|
184
|
+
#{defaults.$button-link-selector-base}#{defaults.$button-link-selector}
|
|
185
|
+
) {
|
|
186
|
+
--#{root-defaults.$prefix}link-color: #{$button-color};
|
|
187
|
+
--#{root-defaults.$prefix}link-visited-color: #{$button-visited-color};
|
|
188
|
+
--#{root-defaults.$prefix}link-focus-color: #{$button-focus-color};
|
|
189
|
+
--#{root-defaults.$prefix}link-hover-color: #{$button-hover-color};
|
|
190
|
+
--#{root-defaults.$prefix}link-active-color: #{$button-active-color};
|
|
191
|
+
--#{root-defaults.$prefix}link-disabled-color: #{$button-disabled-color};
|
|
192
|
+
--#{root-defaults.$prefix}link-background: #{$button-background};
|
|
193
|
+
--#{root-defaults.$prefix}link-visited-background: #{$button-visited-background};
|
|
194
|
+
--#{root-defaults.$prefix}link-focus-background: #{$button-focus-background};
|
|
195
|
+
--#{root-defaults.$prefix}link-hover-background: #{$button-hover-background};
|
|
196
|
+
--#{root-defaults.$prefix}link-active-background: #{$button-active-background};
|
|
197
|
+
--#{root-defaults.$prefix}link-disabled-background: #{$button-disabled-background};
|
|
198
|
+
--#{root-defaults.$prefix}link-border-color: #{$button-border-color};
|
|
199
|
+
--#{root-defaults.$prefix}link-visited-border-color: #{$button-visited-border-color};
|
|
200
|
+
--#{root-defaults.$prefix}link-focus-border-color: #{$button-focus-border-color};
|
|
201
|
+
--#{root-defaults.$prefix}link-hover-border-color: #{$button-hover-border-color};
|
|
202
|
+
--#{root-defaults.$prefix}link-active-border-color: #{$button-active-border-color};
|
|
203
|
+
--#{root-defaults.$prefix}link-disabled-border-color: #{$button-disabled-border-color};
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// @graupl/core button base styles.
|
|
2
|
+
|
|
3
|
+
@use "defaults";
|
|
4
|
+
@use "../../defaults" as root-defaults;
|
|
5
|
+
@use "../../theme/color/variables" as color;
|
|
6
|
+
@use "variables" as *;
|
|
7
|
+
@use "../../mixins/layer" as *;
|
|
8
|
+
@use "../../mixins/animation";
|
|
9
|
+
@use "../../functions/theme";
|
|
10
|
+
@use "sass:map";
|
|
11
|
+
|
|
12
|
+
/// Mixin to apply base styles for buttons.
|
|
13
|
+
@mixin apply-base() {
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
min-width: $button-min-width;
|
|
18
|
+
min-height: $button-min-height;
|
|
19
|
+
padding: $button-padding;
|
|
20
|
+
transform: $button-transform;
|
|
21
|
+
transition: $button-transition;
|
|
22
|
+
border-width: $button-border-width;
|
|
23
|
+
border-style: $button-border-style;
|
|
24
|
+
border-radius: $button-border-radius;
|
|
25
|
+
font-size: $button-font-size;
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
|
|
28
|
+
@each $state, $selectors in root-defaults.$state-selectors {
|
|
29
|
+
@each $selector in $selectors {
|
|
30
|
+
// e.g &:visited, &:focus-visible, &:hover, &:active, &:disabled
|
|
31
|
+
&#{$selector} {
|
|
32
|
+
transform: map.get($button-transform-states, $state);
|
|
33
|
+
|
|
34
|
+
// If the state is disabled, we want that to supersede all other states.
|
|
35
|
+
@if $state == "disabled" {
|
|
36
|
+
cursor: not-allowed;
|
|
37
|
+
|
|
38
|
+
@each $sub-state, $sub-selectors in root-defaults.$state-selectors {
|
|
39
|
+
@if $sub-state != $state {
|
|
40
|
+
@each $sub-selector in $sub-selectors {
|
|
41
|
+
// e.g &:visited, &:focus-visible, &:hover, &:active
|
|
42
|
+
&#{$sub-selector} {
|
|
43
|
+
transform: map.get($button-transform-states, $state);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@include animation.off {
|
|
54
|
+
--#{root-defaults.$prefix}button-transition: #{$button-transition-reduced-motion};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/// Mixin to apply theme styles for buttons.
|
|
59
|
+
@mixin apply-theme() {
|
|
60
|
+
border-color: $button-border-color;
|
|
61
|
+
background: $button-background;
|
|
62
|
+
color: $button-color;
|
|
63
|
+
|
|
64
|
+
@each $color, $map in map.get(color.$themes, active) {
|
|
65
|
+
// e.g. &.primary, &.secondary, &.tertiary
|
|
66
|
+
&#{defaults.$button-theme-selector-base}#{defaults.$button-theme-selector-prefix}#{$color} {
|
|
67
|
+
@each $prop, $shade in defaults.$button-state-theme-map {
|
|
68
|
+
--#{root-defaults.$prefix}button-#{$prop}: #{theme.get($color, $shade)};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@each $state, $selectors in root-defaults.$state-selectors {
|
|
74
|
+
@each $selector in $selectors {
|
|
75
|
+
// e.g &:visited, &:focus-visible, &:hover, &:active, &:disabled
|
|
76
|
+
&#{$selector} {
|
|
77
|
+
border-color: map.get($button-border-color-states, $state);
|
|
78
|
+
background: map.get($button-background-states, $state);
|
|
79
|
+
color: map.get($button-color-states, $state);
|
|
80
|
+
|
|
81
|
+
// If the state is disabled, we want that to supersede all other states.
|
|
82
|
+
@if $state == "disabled" {
|
|
83
|
+
@each $sub-state, $sub-selectors in root-defaults.$state-selectors {
|
|
84
|
+
@if $sub-state != $state {
|
|
85
|
+
@each $sub-selector in $sub-selectors {
|
|
86
|
+
// e.g &:visited, &:focus-visible, &:hover, &:active
|
|
87
|
+
&#{$sub-selector} {
|
|
88
|
+
border-color: map.get($button-border-color-states, $state);
|
|
89
|
+
background: map.get($button-background-states, $state);
|
|
90
|
+
color: map.get($button-color-states, $state);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@mixin apply() {
|
|
102
|
+
@include apply-base;
|
|
103
|
+
@include apply-theme;
|
|
104
|
+
}
|