@graupl/graupl 1.0.0-beta.1 → 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 +196 -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 +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 +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 +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 +1 -1
- package/dist/css/utilities/justification.css.map +1 -1
- package/dist/css/utilities/list.css +1 -1
- package/dist/css/utilities/list.css.map +1 -1
- package/dist/css/utilities/order.css +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/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/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/{src → packages/core/src}/scss/_variables.scss +43 -1
- 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/{src → packages/core/src}/scss/base/button/_variables.scss +108 -32
- 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/{src → packages/core/src}/scss/base/link/_variables.scss +148 -40
- 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 +73 -55
- package/{src → packages/core/src}/scss/component/accordion/_variables.scss +68 -28
- package/{src → packages/core/src}/scss/component/alert/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/alert/_index.scss +45 -44
- package/{src → packages/core/src}/scss/component/alert/_variables.scss +54 -24
- package/{src → packages/core/src}/scss/component/card/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/card/_index.scss +47 -13
- package/{src → packages/core/src}/scss/component/card/_variables.scss +54 -24
- package/{src → packages/core/src}/scss/component/carousel/_defaults.scss +1 -1
- package/{src → packages/core/src}/scss/component/carousel/_index.scss +29 -25
- package/{src → packages/core/src}/scss/component/carousel/_variables.scss +1 -1
- 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 +1 -1
- 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/{src → packages/core/src}/scss/component/menu/_index.scss +9 -6
- package/{src → packages/core/src}/scss/component/menu/_variables.scss +199 -57
- package/packages/core/src/scss/component/navigation/_defaults.scss +23 -0
- package/{src → packages/core/src}/scss/component/navigation/_index.scss +3 -2
- package/{src → packages/core/src}/scss/component/navigation/_variables.scss +79 -26
- 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 +6 -2
- 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 +5 -1
- 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/{src → packages/core/src}/scss/state/focus/_variables.scss +16 -10
- 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 +5 -5
- package/{src → packages/core/src}/scss/theme/color/_variables.scss +5 -1
- 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/{src → packages/core/src}/scss/theme/typography/_variables.scss +19 -2
- 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 +1 -1
- 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/base/button/_index.scss +0 -107
- package/src/scss/base/button/_mixins.scss +0 -166
- package/src/scss/base/form/_index.scss +0 -93
- package/src/scss/base/form/_variables.scss +0 -153
- package/src/scss/base/link/_defaults.scss +0 -50
- package/src/scss/base/link/_index.scss +0 -134
- 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/navigation/_defaults.scss +0 -29
- 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/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
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
// @graupl/core position utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// This file generates the position utility classes provided by Graupl.
|
|
4
|
+
//
|
|
5
|
+
// The following classes are generated by default:
|
|
6
|
+
// - `.position-static`: Sets the position property to `static`.
|
|
7
|
+
// - `.position-fixed`: Sets the position property to `fixed`.
|
|
8
|
+
// - `.position-absolute`: Sets the position property to `absolute`.
|
|
9
|
+
// - `.position-relative`: Sets the position property to `relative`.
|
|
10
|
+
// - `.position-sticky`: Sets the position property to `sticky`.
|
|
11
|
+
//
|
|
12
|
+
// The following custom properties control the generated classes:
|
|
13
|
+
// - N/A.
|
|
14
|
+
//
|
|
15
|
+
// The following variables control the generated classes:
|
|
16
|
+
// - `$selector-base`: The base selector for the utility classes.
|
|
17
|
+
// - `$use-important`: A flag to determine if the `!important` flag should be added to the utility classes.
|
|
18
|
+
// - `$screen-aware`: A flag to generate screen-aware utility classes.
|
|
19
|
+
// - `$theme-aware`: A flag to generate theme-aware utility classes.
|
|
20
|
+
// - `$state-aware`: A flag to generate state-aware utility classes.
|
|
21
|
+
// - `$container-aware`: A flag to generate container-aware utility classes.
|
|
22
|
+
// - `$screen-aware-separator`: The separator for screen-aware utility classes.
|
|
23
|
+
// - `$theme-aware-separator`: The separator for theme-aware utility classes.
|
|
24
|
+
// - `$state-aware-separator`: The separator for state-aware utility classes.
|
|
25
|
+
// - `$container-aware-separator`: The separator for container-aware utility classes.
|
|
26
|
+
// - `$screen-aware-selector-prefix`: The prefix for screen-aware utility classes.
|
|
27
|
+
// - `$theme-aware-selector-prefix`: The prefix for theme-aware utility classes.
|
|
28
|
+
// - `$state-aware-selector-prefix`: The prefix for state-aware utility classes.
|
|
29
|
+
// - `$container-aware-selector-prefix`: The prefix for container-aware utility classes.
|
|
30
|
+
// - `$position-selector-prefix`: The prefix for the position utility classes.
|
|
31
|
+
// - `$base-position-properties`: The base properties and values for the position utility classes.
|
|
32
|
+
// - `$custom-position-properties`: The custom properties and values for the position utility classes.
|
|
33
|
+
// - `$position-properties`: The combined properties and values for the position utility classes.
|
|
34
|
+
//
|
|
35
|
+
// Generating responsive utility classes can be done by setting `$screen-aware`, `$theme-aware`, or `$state-aware` to `true`.
|
|
36
|
+
// By default, only screen-aware utility classes are generated.
|
|
37
|
+
//
|
|
38
|
+
// When set to true, screen-aware utility classes will be generated for each screen size in the following pattern:
|
|
39
|
+
// - `.{screen-prefix}{screen-name}:{prefix}{value}`
|
|
40
|
+
//
|
|
41
|
+
// e.g. `.md:position-static` will set the `position` property to `static` on screens equal to or larger than the `md` breakpoint.
|
|
42
|
+
//
|
|
43
|
+
// When set to true, theme-aware utility classes will be generated for each theme in the following pattern:
|
|
44
|
+
// - `.{theme-prefix}{theme-name}:{prefix}{value}`
|
|
45
|
+
//
|
|
46
|
+
// e.g. `.dark:position-static` will set the `position` property to `static` when the `dark` theme is active.
|
|
47
|
+
//
|
|
48
|
+
// When set to true, state-aware utility classes will be generated for each state in the following pattern:
|
|
49
|
+
// - `.{state-prefix}{state-name}:{prefix}{value}`
|
|
50
|
+
//
|
|
51
|
+
// e.g. `.hover:position-static` will set the `position` property to `static` when the element is hovered.
|
|
52
|
+
//
|
|
53
|
+
// When set to true, container-aware utility classes will be generated for each container in the following pattern:
|
|
54
|
+
// - `.{container-prefix}{container-name}:{prefix}{value}`
|
|
55
|
+
//
|
|
56
|
+
// e.g. `.cq:md:position-static` will set the `position` property to `static` when the parent container is larger than the `md` breakpoint.
|
|
57
|
+
//
|
|
58
|
+
// @example
|
|
59
|
+
// <div class="position-static">This is a static position element.</div>
|
|
60
|
+
//
|
|
61
|
+
// @example
|
|
62
|
+
// <div class="position-fixed md:position-absolute">This element will be `position: fixed` unless the screen size is `md` or larger.</div>
|
|
63
|
+
|
|
64
|
+
@use "../../defaults" as root-defaults;
|
|
65
|
+
@use "../../mixins/layer" as *;
|
|
66
|
+
@use "../../mixins/utility";
|
|
67
|
+
@use "../../theme/color/variables" as color;
|
|
68
|
+
@use "defaults";
|
|
69
|
+
@use "sass:map";
|
|
70
|
+
@use "variables" as *;
|
|
71
|
+
|
|
72
|
+
@include layer(utilities) {
|
|
73
|
+
// `.`
|
|
74
|
+
$selector-prefix: defaults.$selector-base;
|
|
75
|
+
|
|
76
|
+
// For each position property, create a utility class.
|
|
77
|
+
@each $name, $property in defaults.$position-properties {
|
|
78
|
+
// e.g. `.position-static` or `.position-fixed`
|
|
79
|
+
$selector: #{$selector-prefix}#{defaults.$position-selector-prefix}#{$name};
|
|
80
|
+
|
|
81
|
+
@include utility.create(
|
|
82
|
+
$selector,
|
|
83
|
+
position,
|
|
84
|
+
$property,
|
|
85
|
+
$important: defaults.$use-important
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Generate screen-aware utilities.
|
|
90
|
+
@if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
|
|
91
|
+
@each $screen-name in map.keys(root-defaults.$screen-sizes) {
|
|
92
|
+
// e.g. `.md:` or `.lg:`
|
|
93
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$screen-aware-selector-prefix}#{$screen-name}#{defaults.$screen-aware-separator};
|
|
94
|
+
|
|
95
|
+
// For each position property, create a utility class.
|
|
96
|
+
@each $name, $property in defaults.$position-properties {
|
|
97
|
+
// e.g. `.md:position-static` or `.lg:position-fixed`
|
|
98
|
+
$selector: #{$selector-prefix}#{defaults.$position-selector-prefix}#{$name};
|
|
99
|
+
|
|
100
|
+
@include utility.create(
|
|
101
|
+
$selector,
|
|
102
|
+
position,
|
|
103
|
+
$property,
|
|
104
|
+
$important: defaults.$use-important,
|
|
105
|
+
$screen: $screen-name
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Generate theme-aware utilities.
|
|
112
|
+
@if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
|
|
113
|
+
@each $theme-name, $colors in color.$themes {
|
|
114
|
+
@if $theme-name != active {
|
|
115
|
+
// e.g. `.dark:` or `.light:`
|
|
116
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$theme-aware-selector-prefix}#{$theme-name}#{defaults.$theme-aware-separator};
|
|
117
|
+
|
|
118
|
+
// For each position property, create a utility class.
|
|
119
|
+
@each $name, $property in defaults.$position-properties {
|
|
120
|
+
// e.g. `.dark:position-static` or `.light:position-fixed`
|
|
121
|
+
$selector: #{$selector-prefix}#{defaults.$position-selector-prefix}#{$name};
|
|
122
|
+
|
|
123
|
+
@include utility.create(
|
|
124
|
+
$selector,
|
|
125
|
+
position,
|
|
126
|
+
$property,
|
|
127
|
+
$important: defaults.$use-important,
|
|
128
|
+
$theme: $theme-name
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Generate state-aware utilities.
|
|
136
|
+
@if defaults.$state-aware and root-defaults.$state-aware-utilities {
|
|
137
|
+
@each $state-name, $value in root-defaults.$state-selectors {
|
|
138
|
+
// e.g. `.hover:` or `.focus:`
|
|
139
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$state-aware-selector-prefix}#{$state-name}#{defaults.$state-aware-separator};
|
|
140
|
+
|
|
141
|
+
// For each position property, create a utility class.
|
|
142
|
+
@each $name, $property in defaults.$position-properties {
|
|
143
|
+
// e.g. `.hover:position-static` or `.focus:position-fixed`
|
|
144
|
+
$selector: #{$selector-prefix}#{defaults.$position-selector-prefix}#{$name};
|
|
145
|
+
|
|
146
|
+
@include utility.create(
|
|
147
|
+
$selector,
|
|
148
|
+
position,
|
|
149
|
+
$property,
|
|
150
|
+
$important: defaults.$use-important,
|
|
151
|
+
$state: $state-name
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Generate container-aware utilities.
|
|
158
|
+
@if defaults.$container-aware and root-defaults.$container-aware-utilities {
|
|
159
|
+
@each $container-name in map.keys(root-defaults.$container-sizes) {
|
|
160
|
+
// e.g. `.md:` or `.lg:`
|
|
161
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$container-aware-selector-prefix}#{$container-name}#{defaults.$container-aware-separator};
|
|
162
|
+
|
|
163
|
+
// For each position property, create a utility class.
|
|
164
|
+
@each $name, $property in defaults.$position-properties {
|
|
165
|
+
// e.g. `.md:position-static` or `.lg:position-fixed`
|
|
166
|
+
$selector: #{$selector-prefix}#{defaults.$position-selector-prefix}#{$name};
|
|
167
|
+
|
|
168
|
+
@include utility.create(
|
|
169
|
+
$selector,
|
|
170
|
+
position,
|
|
171
|
+
$property,
|
|
172
|
+
$important: defaults.$use-important,
|
|
173
|
+
$container: $container-name
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// @graupl/core ratio utilities default values.
|
|
2
|
+
//
|
|
3
|
+
// Generally, these should not be used directly when styling components unless a static value is needed.
|
|
4
|
+
// They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
|
|
5
|
+
//
|
|
6
|
+
// They should not be used to define direct property values (i.e. font-size, color, etc.).
|
|
7
|
+
// Those should be defined as custom properties in the `_variables.scss` file.
|
|
8
|
+
|
|
9
|
+
@use "../../defaults" as root-defaults;
|
|
10
|
+
@use "sass:map";
|
|
11
|
+
|
|
12
|
+
// Utility modifiers.
|
|
13
|
+
$selector-base: root-defaults.$utility-selector-base !default;
|
|
14
|
+
$use-important: root-defaults.$use-important !default;
|
|
15
|
+
$screen-aware: true !default;
|
|
16
|
+
$theme-aware: false !default;
|
|
17
|
+
$state-aware: false !default;
|
|
18
|
+
$container-aware: true !default;
|
|
19
|
+
$screen-aware-separator: root-defaults.$utility-screen-aware-separator !default;
|
|
20
|
+
$theme-aware-separator: root-defaults.$utility-theme-aware-separator !default;
|
|
21
|
+
$state-aware-separator: root-defaults.$utility-state-aware-separator !default;
|
|
22
|
+
$container-aware-separator: root-defaults.$utility-container-aware-separator !default;
|
|
23
|
+
$screen-aware-selector-prefix: root-defaults.$utility-screen-aware-selector-prefix !default;
|
|
24
|
+
$theme-aware-selector-prefix: root-defaults.$utility-theme-aware-selector-prefix !default;
|
|
25
|
+
$state-aware-selector-prefix: root-defaults.$utility-state-aware-selector-prefix !default;
|
|
26
|
+
$container-aware-selector-prefix: root-defaults.$utility-container-aware-selector-prefix !default;
|
|
27
|
+
|
|
28
|
+
// Ratio utilities.
|
|
29
|
+
$ratio-selector: "ratio" !default;
|
|
30
|
+
$ratio-variant-selector-prefix: "" !default;
|
|
31
|
+
$force-ratio-selector: "force-ratio" !default;
|
|
32
|
+
$base-ratios: (
|
|
33
|
+
"one-by-one": 100%,
|
|
34
|
+
"two-by-one": 50%,
|
|
35
|
+
"four-by-three": 75%,
|
|
36
|
+
"four-by-one": 25%,
|
|
37
|
+
"sixteen-by-nine": calc(9 / 16 * 100%),
|
|
38
|
+
"three-by-two": calc(2 / 3 * 100%),
|
|
39
|
+
"eight-by-five": calc(5 / 8 * 100%),
|
|
40
|
+
);
|
|
41
|
+
$custom-ratios: () !default;
|
|
42
|
+
$ratios: map.merge($base-ratios, $custom-ratios);
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
// @graupl/core ratio utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// This file generates the ratio utility classes provided by Graupl.
|
|
4
|
+
//
|
|
5
|
+
// The following classes are generated by default:
|
|
6
|
+
// - `.ratio`: Applies the default ratio styles.
|
|
7
|
+
// - `.force-ratio`: Ensures child elements maintain the aspect ratio.
|
|
8
|
+
// - `.one-by-one`: Applies a 1:1 aspect ratio.
|
|
9
|
+
// - `.two-by-one`: Applies a 2:1 aspect ratio.
|
|
10
|
+
// - `.four-by-three`: Applies a 4:3 aspect ratio.
|
|
11
|
+
// - `.four-by-one`: Applies a 4:1 aspect ratio.
|
|
12
|
+
// - `.sixteen-by-nine`: Applies a 16:9 aspect ratio.
|
|
13
|
+
// - `.three-by-two`: Applies a 3:2 aspect ratio.
|
|
14
|
+
// - `.eight-by-five`: Applies a 8:5 aspect ratio.
|
|
15
|
+
//
|
|
16
|
+
// The following custom properties control the generated classes:
|
|
17
|
+
// - `--graupl-ratio`: The aspect ratio value.
|
|
18
|
+
//
|
|
19
|
+
// The following variables control the generated classes:
|
|
20
|
+
// - `$selector-base`: The base selector for the utility classes.
|
|
21
|
+
// - `$use-important`: A flag to determine if the `!important` flag should be added to the utility classes.
|
|
22
|
+
// - `$screen-aware`: A flag to generate screen-aware utility classes.
|
|
23
|
+
// - `$theme-aware`: A flag to generate theme-aware utility classes.
|
|
24
|
+
// - `$state-aware`: A flag to generate state-aware utility classes.
|
|
25
|
+
// - `$container-aware`: A flag to generate container-aware utility classes.
|
|
26
|
+
// - `$screen-aware-separator`: The separator for screen-aware utility classes.
|
|
27
|
+
// - `$theme-aware-separator`: The separator for theme-aware utility classes.
|
|
28
|
+
// - `$state-aware-separator`: The separator for state-aware utility classes.
|
|
29
|
+
// - `$container-aware-separator`: The separator for container-aware utility classes.
|
|
30
|
+
// - `$screen-aware-selector-prefix`: The prefix for screen-aware utility classes.
|
|
31
|
+
// - `$theme-aware-selector-prefix`: The prefix for theme-aware utility classes.
|
|
32
|
+
// - `$state-aware-selector-prefix`: The prefix for state-aware utility classes.
|
|
33
|
+
// - `$container-aware-selector-prefix`: The prefix for container-aware utility classes.
|
|
34
|
+
// - `$ratio-selector`: The base selector for the ratio utility classes.
|
|
35
|
+
// - `$ratio-variant-selector-prefix`: The prefix for the ratio variant utility classes.
|
|
36
|
+
// - `$force-ratio-selector`: The selector for the force ratio utility class.
|
|
37
|
+
// - `$base-ratios`: The base properties and values for the aspect ratio utility classes.
|
|
38
|
+
// - `$custom-ratios`: The custom properties and values for the aspect ratio utility classes.
|
|
39
|
+
// - `$ratios`: The combined properties and values for the aspect ratio utility classes.
|
|
40
|
+
//
|
|
41
|
+
// Generating responsive utility classes can be done by setting `$screen-aware`, `$theme-aware`, or `$state-aware` to `true`.
|
|
42
|
+
// By default, only screen-aware utility classes are generated.
|
|
43
|
+
//
|
|
44
|
+
// When set to true, screen-aware utility classes will be generated for each screen size in the following pattern:
|
|
45
|
+
// - `.{screen-prefix}{screen-name}:{prefix}{value}`
|
|
46
|
+
//
|
|
47
|
+
// e.g. `.sm:one-by-one` will set the aspect ratio to 1:1 on screens equal to or larger than the `sm` breakpoint.
|
|
48
|
+
//
|
|
49
|
+
// When set to true, theme-aware utility classes will be generated for each theme in the following pattern:
|
|
50
|
+
// - `.{theme-prefix}{theme-name}:{prefix}{value}`
|
|
51
|
+
//
|
|
52
|
+
// e.g. `.dark:one-by-one` will set the aspect ratio to 1:1 when the `dark` theme is active.
|
|
53
|
+
//
|
|
54
|
+
// When set to true, state-aware utility classes will be generated for each state in the following pattern:
|
|
55
|
+
// - `.{state-prefix}{state-name}:{prefix}{value}`
|
|
56
|
+
//
|
|
57
|
+
// e.g. `.hover:one-by-one` will set the aspect ratio to 1:1 when the element is hovered.
|
|
58
|
+
//
|
|
59
|
+
// When set to true, container-aware utility classes will be generated for each container in the following pattern:
|
|
60
|
+
// - `.{container-prefix}{container-name}:{prefix}{value}`
|
|
61
|
+
//
|
|
62
|
+
// e.g. `.cq:md:one-by-one` will set the aspect ratio to 1:1 when the parent container is larger than the `md` breakpoint.
|
|
63
|
+
//
|
|
64
|
+
// @example
|
|
65
|
+
// <div class="ratio ratio-one-by-one">
|
|
66
|
+
// <img src="image.jpg" alt="Image" class="force-ratio">
|
|
67
|
+
// </div>
|
|
68
|
+
//
|
|
69
|
+
// @example
|
|
70
|
+
// <div class="ratio ratio-two-by-one md:ratio-one-by-one">
|
|
71
|
+
// <img src="image.jpg" alt="Image" class="force-ratio">
|
|
72
|
+
// </div>
|
|
73
|
+
|
|
74
|
+
@use "../../defaults" as root-defaults;
|
|
75
|
+
@use "../../functions/important";
|
|
76
|
+
@use "../../mixins/container";
|
|
77
|
+
@use "../../mixins/layer" as *;
|
|
78
|
+
@use "../../mixins/screen";
|
|
79
|
+
@use "../../mixins/state";
|
|
80
|
+
@use "../../mixins/theme";
|
|
81
|
+
@use "../../mixins/utility";
|
|
82
|
+
@use "../../theme/color/variables" as color;
|
|
83
|
+
@use "defaults";
|
|
84
|
+
@use "sass:map";
|
|
85
|
+
@use "variables" as *;
|
|
86
|
+
|
|
87
|
+
@include layer(utilities) {
|
|
88
|
+
// `.`
|
|
89
|
+
$selector-prefix: defaults.$selector-base;
|
|
90
|
+
|
|
91
|
+
// `.ratio`
|
|
92
|
+
#{$selector-prefix}#{defaults.$ratio-selector} {
|
|
93
|
+
position: important.insert(relative, $override: defaults.$use-important);
|
|
94
|
+
width: important.insert(100%, $override: defaults.$use-important);
|
|
95
|
+
|
|
96
|
+
&::before {
|
|
97
|
+
content: "";
|
|
98
|
+
display: important.insert(block, $override: defaults.$use-important);
|
|
99
|
+
padding-top: important.insert($ratio, $override: defaults.$use-important);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// `.force-ratio`
|
|
103
|
+
.#{defaults.$force-ratio-selector} {
|
|
104
|
+
position: important.insert(absolute, $override: defaults.$use-important);
|
|
105
|
+
inset: important.insert(0, $override: defaults.$use-important);
|
|
106
|
+
width: important.insert(100%, $override: defaults.$use-important);
|
|
107
|
+
height: important.insert(100%, $override: defaults.$use-important);
|
|
108
|
+
object-fit: important.insert(cover, $override: defaults.$use-important);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@each $ratio-selector, $value in defaults.$ratios {
|
|
113
|
+
// e.g. `.ratio-one-by-one` or `.ratio-two-by-one`
|
|
114
|
+
#{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
|
|
115
|
+
--#{root-defaults.$prefix}ratio: #{$value};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Generate screen-aware utilities.
|
|
120
|
+
@if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
|
|
121
|
+
@each $screen-name in map.keys(root-defaults.$screen-sizes) {
|
|
122
|
+
// e.g. `.md:` or `.lg:`
|
|
123
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$screen-aware-selector-prefix}#{$screen-name}#{defaults.$screen-aware-separator};
|
|
124
|
+
|
|
125
|
+
@each $ratio-selector, $value in defaults.$ratios {
|
|
126
|
+
@include screen.up($screen-name) {
|
|
127
|
+
// e.g. `.md:ratio-one-by-one` or `.lg:ratio-two-by-one`
|
|
128
|
+
#{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
|
|
129
|
+
--#{root-defaults.$prefix}ratio: #{$value};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Generate theme-aware utilities.
|
|
137
|
+
@if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
|
|
138
|
+
@each $theme-name, $colors in color.$themes {
|
|
139
|
+
@if $theme-name != active {
|
|
140
|
+
// e.g. `.dark:` or `.light:`
|
|
141
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$theme-aware-selector-prefix}#{$theme-name}#{defaults.$theme-aware-separator};
|
|
142
|
+
|
|
143
|
+
@each $ratio-selector, $value in defaults.$ratios {
|
|
144
|
+
@include theme.theme($theme-name) {
|
|
145
|
+
// e.g. `.dark:ratio-one-by-one` or `.light:ratio-two-by-one
|
|
146
|
+
#{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
|
|
147
|
+
--#{root-defaults.$prefix}ratio: #{$value};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Generate state-aware utilities.
|
|
156
|
+
@if defaults.$state-aware and root-defaults.$state-aware-utilities {
|
|
157
|
+
@each $state-name, $value in root-defaults.$state-selectors {
|
|
158
|
+
// e.g. `.hover:` or `.focus:`
|
|
159
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$state-aware-selector-prefix}#{$state-name}#{defaults.$state-aware-separator};
|
|
160
|
+
|
|
161
|
+
@each $ratio-selector, $ratio-value in defaults.$ratios {
|
|
162
|
+
// e.g. `.hover:ratio-one-by-one` or `.focus:ratio-two-by-one
|
|
163
|
+
#{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
|
|
164
|
+
@include state.state($state-name) {
|
|
165
|
+
--#{root-defaults.$prefix}ratio: #{$ratio-value};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Generate container-aware utilities.
|
|
173
|
+
@if defaults.$container-aware and root-defaults.$container-aware-utilities {
|
|
174
|
+
@each $container-name in map.keys(root-defaults.$container-sizes) {
|
|
175
|
+
// e.g. `.md:` or `.lg:`
|
|
176
|
+
$selector-prefix: #{defaults.$selector-base}#{defaults.$container-aware-selector-prefix}#{$container-name}#{defaults.$container-aware-separator};
|
|
177
|
+
|
|
178
|
+
@each $ratio-selector, $value in defaults.$ratios {
|
|
179
|
+
@include container.up($container-name) {
|
|
180
|
+
// e.g. `.md:ratio-one-by-one` or `.lg:ratio-two-by-one`
|
|
181
|
+
#{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
|
|
182
|
+
--#{root-defaults.$prefix}ratio: #{$value};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @graupl/
|
|
1
|
+
// @graupl/core spacing utilities 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.
|
|
@@ -6,8 +6,26 @@
|
|
|
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
|
|
|
12
|
+
// Utility modifiers.
|
|
13
|
+
$selector-base: root-defaults.$utility-selector-base !default;
|
|
14
|
+
$use-important: root-defaults.$use-important !default;
|
|
15
|
+
$screen-aware: true !default;
|
|
16
|
+
$theme-aware: false !default;
|
|
17
|
+
$state-aware: false !default;
|
|
18
|
+
$container-aware: true !default;
|
|
19
|
+
$screen-aware-separator: root-defaults.$utility-screen-aware-separator !default;
|
|
20
|
+
$theme-aware-separator: root-defaults.$utility-theme-aware-separator !default;
|
|
21
|
+
$state-aware-separator: root-defaults.$utility-state-aware-separator !default;
|
|
22
|
+
$container-aware-separator: root-defaults.$utility-container-aware-separator !default;
|
|
23
|
+
$screen-aware-selector-prefix: root-defaults.$utility-screen-aware-selector-prefix !default;
|
|
24
|
+
$theme-aware-selector-prefix: root-defaults.$utility-theme-aware-selector-prefix !default;
|
|
25
|
+
$state-aware-selector-prefix: root-defaults.$utility-state-aware-selector-prefix !default;
|
|
26
|
+
$container-aware-selector-prefix: root-defaults.$utility-container-aware-selector-prefix !default;
|
|
27
|
+
|
|
28
|
+
// Spacing properties.
|
|
11
29
|
$base-spacing-properties: (
|
|
12
30
|
g: gap,
|
|
13
31
|
rg: row-gap,
|
|
@@ -44,6 +62,3 @@ $spacing-properties: map.merge(
|
|
|
44
62
|
$base-spacing-properties,
|
|
45
63
|
$custom-spacing-properties
|
|
46
64
|
);
|
|
47
|
-
|
|
48
|
-
// Responsive utility flag.
|
|
49
|
-
$responsive: true !default;
|