@graupl/graupl 1.0.0-alpha.9 → 1.0.0-beta.0
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/.github/workflows/codeql-analysis.yml +3 -3
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/CHANGELOG.md +153 -0
- package/build.js +7 -0
- package/dist/css/base/button.css +2 -0
- package/dist/css/base/button.css.map +1 -0
- package/dist/css/base/form.css +2 -0
- package/dist/css/base/form.css.map +1 -0
- package/dist/css/base/link.css +2 -0
- package/dist/css/base/link.css.map +1 -0
- package/dist/css/base/table.css +2 -0
- package/dist/css/base/table.css.map +1 -0
- package/dist/css/base.css +2 -0
- package/dist/css/base.css.map +1 -0
- package/dist/css/component/accordion.css +2 -0
- package/dist/css/component/accordion.css.map +1 -0
- package/dist/css/component/alert.css +2 -0
- package/dist/css/component/alert.css.map +1 -0
- package/dist/css/component/card.css +2 -0
- package/dist/css/component/card.css.map +1 -0
- package/dist/css/component/carousel.css +2 -0
- package/dist/css/component/carousel.css.map +1 -0
- package/dist/{component → css/component}/input-group.css +1 -1
- package/dist/css/component/input-group.css.map +1 -0
- package/dist/css/component/menu.css +2 -0
- package/dist/css/component/menu.css.map +1 -0
- package/dist/css/component/navigation.css +2 -0
- package/dist/css/component/navigation.css.map +1 -0
- package/dist/css/component.css +2 -0
- package/dist/css/component.css.map +1 -0
- package/dist/css/graupl.css +2 -0
- package/dist/css/graupl.css.map +1 -0
- package/dist/css/init.css +2 -0
- package/dist/css/init.css.map +1 -0
- package/dist/css/layout/columns.css +2 -0
- package/dist/css/layout/columns.css.map +1 -0
- package/dist/css/layout/container.css.map +1 -0
- package/dist/css/layout/flex-columns.css +2 -0
- package/dist/css/layout/flex-columns.css.map +1 -0
- package/dist/css/layout.css +2 -0
- package/dist/css/layout.css.map +1 -0
- package/dist/css/normalize.css +2 -0
- package/dist/css/normalize.css.map +1 -0
- package/dist/css/state/focus.css +2 -0
- package/dist/css/state/focus.css.map +1 -0
- package/dist/css/state.css +2 -0
- package/dist/css/state.css.map +1 -0
- package/dist/css/theme/color.css +2 -0
- package/dist/css/theme/color.css.map +1 -0
- package/dist/css/theme/typography.css +2 -0
- package/dist/css/theme/typography.css.map +1 -0
- package/dist/css/theme.css +2 -0
- package/dist/css/theme.css.map +1 -0
- package/dist/css/utilities/alignment.css +2 -0
- package/dist/css/utilities/alignment.css.map +1 -0
- package/dist/{utilities/colors.css → css/utilities/color.css} +2 -2
- package/dist/css/utilities/color.css.map +1 -0
- package/dist/css/utilities/display.css +2 -0
- package/dist/css/utilities/display.css.map +1 -0
- package/dist/css/utilities/flex.css +2 -0
- package/dist/css/utilities/flex.css.map +1 -0
- package/dist/css/utilities/height.css +2 -0
- package/dist/css/utilities/height.css.map +1 -0
- package/dist/css/utilities/inset.css +2 -0
- package/dist/css/utilities/inset.css.map +1 -0
- package/dist/css/utilities/justification.css +2 -0
- package/dist/css/utilities/justification.css.map +1 -0
- package/dist/css/utilities/list.css +2 -0
- package/dist/css/utilities/list.css.map +1 -0
- package/dist/css/utilities/order.css +2 -0
- package/dist/css/utilities/order.css.map +1 -0
- package/dist/css/utilities/postion.css +2 -0
- package/dist/css/utilities/postion.css.map +1 -0
- package/dist/css/utilities/ratio.css +2 -0
- package/dist/css/utilities/ratio.css.map +1 -0
- package/dist/css/utilities/spacing.css +2 -0
- package/dist/css/utilities/spacing.css.map +1 -0
- package/dist/css/utilities/typography.css +2 -0
- package/dist/css/utilities/typography.css.map +1 -0
- package/dist/css/utilities/visibility.css +2 -0
- package/dist/css/utilities/visibility.css.map +1 -0
- package/dist/css/utilities/width.css +2 -0
- package/dist/css/utilities/width.css.map +1 -0
- package/dist/css/utilities.css +2 -0
- package/dist/css/utilities.css.map +1 -0
- package/dist/js/component/accordion.cjs.js +3 -0
- package/dist/js/component/accordion.esm.js +1289 -0
- package/dist/js/component/accordion.iife.js +3 -0
- package/dist/js/component/alert.cjs.js +3 -0
- package/dist/js/component/alert.esm.js +529 -0
- package/dist/js/component/alert.iife.js +3 -0
- package/dist/js/component/carousel.cjs.js +3 -0
- package/dist/js/component/carousel.esm.js +1110 -0
- package/dist/js/component/carousel.iife.js +3 -0
- package/dist/js/graupl.cjs.js +5 -0
- package/dist/js/graupl.esm.js +1462 -0
- package/dist/js/graupl.iife.js +5 -0
- package/docs/.vitepress/config.js +39 -12
- package/docs/components/alert.md +130 -0
- package/docs/components/button.md +84 -0
- package/docs/components/card.md +369 -0
- package/docs/components/index.md +1 -0
- package/docs/components/inputgroup.md +159 -0
- package/docs/components/menu.md +326 -0
- package/docs/components/navigation.md +158 -0
- package/docs/content.md +237 -0
- package/docs/defaults.md +121 -0
- package/docs/forms.md +79 -0
- package/docs/functions.md +9 -0
- package/docs/getting-started.md +1 -0
- package/docs/index.md +1 -7
- package/docs/introduction.md +22 -2
- package/docs/layout.md +200 -0
- package/docs/mixins.md +47 -0
- package/docs/state.md +67 -0
- package/docs/theme.md +258 -0
- package/docs/utilities.md +357 -0
- package/eslint.config.js +1 -0
- package/index.html +816 -327
- package/index.js +12 -0
- package/package.json +31 -10
- package/scss/base/button.scss +3 -0
- 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 +3 -0
- package/scss/component/alert.scss +3 -0
- package/scss/component/card.scss +3 -0
- package/scss/component/carousel.scss +3 -0
- package/scss/component/input-group.scss +1 -1
- package/scss/component/menu.scss +3 -0
- package/scss/component/navigation.scss +3 -0
- package/scss/component.scss +1 -1
- package/scss/graupl.scss +1 -3
- package/scss/init.scss +3 -0
- package/scss/layout/columns.scss +1 -1
- package/scss/layout/container.scss +1 -1
- package/scss/layout/flex-columns.scss +3 -0
- package/scss/layout.scss +1 -1
- package/scss/normalize.scss +3 -0
- 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 +3 -0
- package/scss/utilities/color.scss +3 -0
- package/scss/utilities/display.scss +3 -0
- package/scss/utilities/flex.scss +3 -0
- package/scss/utilities/height.scss +3 -0
- package/scss/utilities/inset.scss +3 -0
- package/scss/utilities/justification.scss +3 -0
- package/scss/utilities/list.scss +3 -0
- package/scss/utilities/order.scss +3 -0
- package/scss/utilities/postion.scss +3 -0
- package/scss/utilities/ratio.scss +3 -0
- package/scss/utilities/spacing.scss +1 -1
- package/scss/utilities/typography.scss +1 -1
- package/scss/utilities/visibility.scss +3 -0
- package/scss/utilities/width.scss +3 -0
- package/scss/utilities.scss +1 -1
- package/src/js/accordion/Accordion.js +1163 -0
- package/src/js/accordion/AccordionItem.js +496 -0
- package/src/js/accordion/index.js +10 -0
- package/src/js/alert/Alert.js +581 -0
- package/src/js/alert/index.js +11 -0
- package/src/js/carousel/Carousel.js +1427 -0
- package/src/js/carousel/index.js +10 -0
- package/src/js/domHelpers.js +37 -0
- package/src/js/eventHandlers.js +39 -0
- package/src/js/navigation/index.js +36 -0
- package/src/js/storage.js +106 -0
- package/src/js/validate.js +225 -0
- package/src/scss/_defaults.scss +74 -5
- package/src/scss/_index.scss +4 -3
- package/src/scss/_init.scss +2 -2
- package/src/scss/_normalize.scss +197 -0
- package/src/scss/_variables.scss +7 -7
- package/src/scss/base/_index.scss +2 -1
- package/src/scss/base/button/_defaults.scss +60 -0
- package/src/scss/base/button/_index.scss +107 -0
- package/src/scss/base/button/_mixins.scss +166 -0
- package/src/scss/{component → base}/button/_variables.scss +64 -19
- package/src/scss/base/form/_defaults.scss +14 -4
- package/src/scss/base/form/_index.scss +23 -20
- package/src/scss/base/form/_variables.scss +14 -2
- package/src/scss/base/link/_defaults.scss +48 -5
- package/src/scss/base/link/_index.scss +111 -10
- package/src/scss/base/link/_variables.scss +234 -4
- package/src/scss/base/table/_defaults.scss +49 -4
- package/src/scss/base/table/_index.scss +102 -8
- package/src/scss/base/table/_variables.scss +75 -5
- package/src/scss/component/_index.scss +7 -3
- package/src/scss/component/accordion/_defaults.scss +40 -0
- package/src/scss/component/accordion/_index.scss +180 -0
- package/src/scss/component/accordion/_variables.scss +316 -0
- package/src/scss/component/alert/_defaults.scss +49 -0
- package/src/scss/component/alert/_index.scss +118 -0
- package/src/scss/component/alert/_variables.scss +173 -0
- package/src/scss/component/card/_defaults.scss +32 -0
- package/src/scss/component/card/_index.scss +178 -0
- package/src/scss/component/card/_variables.scss +186 -0
- package/src/scss/component/carousel/_defaults.scss +43 -0
- package/src/scss/component/carousel/_index.scss +188 -0
- package/src/scss/component/carousel/_variables.scss +104 -0
- package/src/scss/component/input-group/_defaults.scss +11 -4
- package/src/scss/component/input-group/_index.scss +13 -11
- package/src/scss/component/input-group/_variables.scss +4 -1
- package/src/scss/component/menu/_defaults.scss +66 -0
- package/src/scss/component/menu/_index.scss +305 -0
- package/src/scss/component/menu/_variables.scss +500 -0
- package/src/scss/component/navigation/_defaults.scss +29 -0
- package/src/scss/component/navigation/_index.scss +189 -0
- package/src/scss/component/navigation/_variables.scss +237 -0
- package/src/scss/functions/_important.scss +2 -0
- package/src/scss/functions/_screen.scss +30 -0
- package/src/scss/functions/_theme.scss +28 -7
- package/src/scss/layout/_index.scss +2 -1
- package/src/scss/layout/columns/_defaults.scss +12 -4
- package/src/scss/layout/columns/_index.scss +29 -7
- package/src/scss/layout/columns/_variables.scss +6 -2
- package/src/scss/layout/container/_defaults.scss +13 -4
- package/src/scss/layout/container/_index.scss +12 -7
- package/src/scss/layout/container/_variables.scss +4 -1
- package/src/scss/layout/flex-columns/_defaults.scss +18 -0
- package/src/scss/layout/flex-columns/_index.scss +80 -0
- package/src/scss/layout/flex-columns/_variables.scss +26 -0
- package/src/scss/mixins/_animation.scss +15 -0
- package/src/scss/mixins/_layer.scss +3 -5
- package/src/scss/mixins/_screen.scss +56 -0
- package/src/scss/mixins/_utility.scss +30 -0
- package/src/scss/mixins/_visually-hidden.scss +20 -0
- package/src/scss/state/_index.scss +1 -1
- package/src/scss/state/focus/_defaults.scss +6 -4
- package/src/scss/state/focus/_index.scss +7 -7
- package/src/scss/state/focus/_mixins.scss +15 -0
- package/src/scss/state/focus/_variables.scss +6 -2
- package/src/scss/theme/_index.scss +1 -1
- package/src/scss/theme/color/_defaults.scss +101 -19
- package/src/scss/theme/color/_index.scss +17 -17
- package/src/scss/theme/color/_variables.scss +72 -64
- package/src/scss/theme/typography/_defaults.scss +7 -5
- package/src/scss/theme/typography/_index.scss +1 -1
- package/src/scss/theme/typography/_variables.scss +11 -7
- package/src/scss/utilities/_index.scss +14 -2
- package/src/scss/utilities/alignment/_defaults.scss +62 -0
- package/src/scss/utilities/alignment/_index.scss +75 -0
- package/src/scss/utilities/alignment/_variables.scss +6 -0
- package/src/scss/utilities/color/_defaults.scss +35 -0
- package/src/scss/utilities/color/_index.scss +91 -0
- package/src/scss/utilities/color/_variables.scss +6 -0
- package/src/scss/utilities/display/_defaults.scss +32 -0
- package/src/scss/utilities/display/_index.scss +61 -0
- package/src/scss/utilities/display/_variables.scss +6 -0
- package/src/scss/utilities/flex/_defaults.scss +63 -0
- package/src/scss/utilities/flex/_index.scss +71 -0
- package/src/scss/utilities/flex/_variables.scss +6 -0
- package/src/scss/utilities/height/_defaults.scss +41 -0
- package/src/scss/utilities/height/_index.scss +98 -0
- package/src/scss/utilities/height/_variables.scss +6 -0
- package/src/scss/utilities/inset/_defaults.scss +41 -0
- package/src/scss/utilities/inset/_index.scss +37 -0
- package/src/scss/utilities/inset/_variables.scss +6 -0
- package/src/scss/utilities/justification/_defaults.scss +59 -0
- package/src/scss/utilities/justification/_index.scss +75 -0
- package/src/scss/utilities/justification/_variables.scss +6 -0
- package/src/scss/utilities/list/_defaults.scss +39 -0
- package/src/scss/utilities/list/_index.scss +56 -0
- package/src/scss/utilities/list/_variables.scss +6 -0
- package/src/scss/utilities/order/_defaults.scss +22 -0
- package/src/scss/utilities/order/_index.scss +63 -0
- package/src/scss/utilities/order/_variables.scss +6 -0
- package/src/scss/utilities/position/_defaults.scss +26 -0
- package/src/scss/utilities/position/_index.scss +37 -0
- package/src/scss/utilities/position/_variables.scss +6 -0
- package/src/scss/utilities/ratio/_defaults.scss +28 -0
- package/src/scss/utilities/ratio/_index.scss +52 -0
- package/src/scss/utilities/ratio/_variables.scss +9 -0
- package/src/scss/utilities/spacing/_defaults.scss +9 -4
- package/src/scss/utilities/spacing/_index.scss +134 -29
- package/src/scss/utilities/spacing/_variables.scss +5 -2
- package/src/scss/utilities/typography/_defaults.scss +29 -4
- package/src/scss/utilities/typography/_index.scss +155 -23
- package/src/scss/utilities/typography/_variables.scss +5 -2
- package/src/scss/utilities/visibility/_defaults.scss +25 -0
- package/src/scss/utilities/visibility/_index.scss +36 -0
- package/src/scss/utilities/visibility/_variables.scss +6 -0
- package/src/scss/utilities/width/_defaults.scss +41 -0
- package/src/scss/utilities/width/_index.scss +98 -0
- package/src/scss/utilities/width/_variables.scss +6 -0
- package/stylelint.config.js +5 -0
- package/vite.config.js +57 -0
- package/dist/base/form.css +0 -2
- package/dist/base/form.css.map +0 -1
- package/dist/base/link.css +0 -2
- package/dist/base/link.css.map +0 -1
- package/dist/base/table.css +0 -2
- package/dist/base/table.css.map +0 -1
- package/dist/base.css +0 -2
- package/dist/base.css.map +0 -1
- package/dist/component/button.css +0 -2
- package/dist/component/button.css.map +0 -1
- package/dist/component/input-group.css.map +0 -1
- package/dist/component/table.css +0 -2
- package/dist/component/table.css.map +0 -1
- package/dist/component.css +0 -2
- package/dist/component.css.map +0 -1
- package/dist/graupl.css +0 -2
- package/dist/graupl.css.map +0 -1
- package/dist/layout/columns.css +0 -2
- package/dist/layout/columns.css.map +0 -1
- package/dist/layout/container.css.map +0 -1
- package/dist/layout.css +0 -2
- package/dist/layout.css.map +0 -1
- package/dist/state/focus.css +0 -2
- package/dist/state/focus.css.map +0 -1
- package/dist/state.css +0 -2
- package/dist/state.css.map +0 -1
- package/dist/theme/color.css +0 -2
- package/dist/theme/color.css.map +0 -1
- package/dist/theme/typography.css +0 -2
- package/dist/theme/typography.css.map +0 -1
- package/dist/theme.css +0 -2
- package/dist/theme.css.map +0 -1
- package/dist/utilities/colors.css.map +0 -1
- package/dist/utilities/spacing.css +0 -2
- package/dist/utilities/spacing.css.map +0 -1
- package/dist/utilities/typography.css +0 -2
- package/dist/utilities/typography.css.map +0 -1
- package/dist/utilities.css +0 -2
- package/dist/utilities.css.map +0 -1
- package/scss/component/button.scss +0 -3
- package/scss/component/table.scss +0 -3
- package/scss/utilities/colors.scss +0 -3
- package/src/scss/component/button/_defaults.scss +0 -39
- package/src/scss/component/button/_index.scss +0 -98
- package/src/scss/component/table/_defaults.scss +0 -30
- package/src/scss/component/table/_index.scss +0 -77
- package/src/scss/component/table/_variables.scss +0 -64
- package/src/scss/mixins/_media-queries.scss +0 -26
- package/src/scss/utilities/colors/_defaults.scss +0 -5
- package/src/scss/utilities/colors/_index.scss +0 -22
- package/src/scss/utilities/colors/_variables.scss +0 -3
- /package/dist/{layout → css/layout}/container.css +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// @graupl/graupl order utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// Responsive class must be within their own loop to prevent specificity issues.
|
|
4
|
+
// This keeps responsive specificity tied to screen size before property order.
|
|
5
|
+
|
|
6
|
+
@use "../../defaults" as root-defaults;
|
|
7
|
+
@use "../../layout/columns/defaults" as columns-defaults;
|
|
8
|
+
@use "../../layout/flex-columns/defaults" as flex-columns-defaults;
|
|
9
|
+
@use "../../mixins/layer" as *;
|
|
10
|
+
@use "../../mixins/utility";
|
|
11
|
+
@use "defaults";
|
|
12
|
+
@use "sass:map";
|
|
13
|
+
@use "variables" as *;
|
|
14
|
+
|
|
15
|
+
@include layer(utilities) {
|
|
16
|
+
$order-max-count: 0;
|
|
17
|
+
|
|
18
|
+
/* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
|
|
19
|
+
@if (
|
|
20
|
+
columns-defaults.$columns-max-count >
|
|
21
|
+
flex-columns-defaults.$flex-columns-max-count
|
|
22
|
+
) {
|
|
23
|
+
$order-max-count: columns-defaults.$columns-max-count;
|
|
24
|
+
} @else {
|
|
25
|
+
$order-max-count: flex-columns-defaults.$flex-columns-max-count;
|
|
26
|
+
}
|
|
27
|
+
/* stylelint-enable scss/operator-no-newline-after */
|
|
28
|
+
|
|
29
|
+
@each $order-property, $order-value in defaults.$order-properties {
|
|
30
|
+
@include utility.create(
|
|
31
|
+
".#{defaults.$order-class-prefix}#{$order-property}",
|
|
32
|
+
order,
|
|
33
|
+
$order-value
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@for $i from 1 through $order-max-count {
|
|
38
|
+
@include utility.create(".#{defaults.$order-class-prefix}#{$i}", order, $i);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Generate responsive utilities.
|
|
42
|
+
@if defaults.$responsive and root-defaults.$responsive-utilities {
|
|
43
|
+
@each $screen-size in map.keys(root-defaults.$screen-sizes) {
|
|
44
|
+
@each $order-property, $order-value in defaults.$order-properties {
|
|
45
|
+
@include utility.create(
|
|
46
|
+
".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$order-class-prefix}#{$order-property}",
|
|
47
|
+
order,
|
|
48
|
+
$order-value,
|
|
49
|
+
$screen-size
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@for $i from 1 through $order-max-count {
|
|
54
|
+
@include utility.create(
|
|
55
|
+
".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$order-class-prefix}#{$i}",
|
|
56
|
+
order,
|
|
57
|
+
$i,
|
|
58
|
+
$screen-size
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// @graupl/graupl position 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 "sass:map";
|
|
10
|
+
|
|
11
|
+
$position-class-prefix: "position-" !default;
|
|
12
|
+
$base-position-properties: (
|
|
13
|
+
static: static,
|
|
14
|
+
fixed: fixed,
|
|
15
|
+
absolute: absolute,
|
|
16
|
+
relative: relative,
|
|
17
|
+
sticky: sticky,
|
|
18
|
+
);
|
|
19
|
+
$custom-position-properties: () !default;
|
|
20
|
+
$position-properties: map.merge(
|
|
21
|
+
$base-position-properties,
|
|
22
|
+
$custom-position-properties
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
// Responsive utility flag.
|
|
26
|
+
$responsive: false !default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// @graupl/graupl position utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// Responsive class must be within their own loop to prevent specificity issues.
|
|
4
|
+
// This keeps responsive specificity tied to screen size before property order.
|
|
5
|
+
|
|
6
|
+
@use "../../defaults" as root-defaults;
|
|
7
|
+
@use "../../mixins/layer" as *;
|
|
8
|
+
@use "../../mixins/utility";
|
|
9
|
+
@use "defaults";
|
|
10
|
+
@use "sass:map";
|
|
11
|
+
@use "variables" as *;
|
|
12
|
+
|
|
13
|
+
@include layer(utilities) {
|
|
14
|
+
// For each position property, create a utility class.
|
|
15
|
+
@each $name, $property in defaults.$position-properties {
|
|
16
|
+
@include utility.create(
|
|
17
|
+
".#{defaults.$position-class-prefix}#{$name}",
|
|
18
|
+
position,
|
|
19
|
+
$property
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Generate responsive utilities.
|
|
24
|
+
@if defaults.$responsive and root-defaults.$responsive-utilities {
|
|
25
|
+
@each $screen-size in map.keys(root-defaults.$screen-sizes) {
|
|
26
|
+
// For each position property, create a utility class.
|
|
27
|
+
@each $name, $property in defaults.$position-properties {
|
|
28
|
+
@include utility.create(
|
|
29
|
+
".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$position-class-prefix}#{$name}",
|
|
30
|
+
position,
|
|
31
|
+
$property,
|
|
32
|
+
$screen-size
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// @graupl/graupl 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 "sass:map";
|
|
10
|
+
|
|
11
|
+
// Ratio utilities.
|
|
12
|
+
$ratio-class: "ratio" !default;
|
|
13
|
+
$ratio-variant-class-prefix: "" !default;
|
|
14
|
+
$force-ratio-class: "force-ratio" !default;
|
|
15
|
+
$base-ratios: (
|
|
16
|
+
"one-by-one": 100%,
|
|
17
|
+
"two-by-one": 50%,
|
|
18
|
+
"four-by-three": 75%,
|
|
19
|
+
"four-by-one": 25%,
|
|
20
|
+
"sixteen-by-nine": calc(9 / 16 * 100%),
|
|
21
|
+
"three-by-two": calc(2 / 3 * 100%),
|
|
22
|
+
"eight-by-five": calc(5 / 8 * 100%),
|
|
23
|
+
);
|
|
24
|
+
$custom-ratios: () !default;
|
|
25
|
+
$ratios: map.merge($base-ratios, $custom-ratios);
|
|
26
|
+
|
|
27
|
+
// Responsive utility flag.
|
|
28
|
+
$responsive: false !default;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// @graupl/graupl ratio utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// Responsive class must be within their own loop to prevent specificity issues.
|
|
4
|
+
// This keeps responsive specificity tied to screen size before property order.
|
|
5
|
+
|
|
6
|
+
@use "../../defaults" as root-defaults;
|
|
7
|
+
@use "../../mixins/layer" as *;
|
|
8
|
+
@use "../../mixins/screen";
|
|
9
|
+
@use "../../mixins/utility";
|
|
10
|
+
@use "defaults";
|
|
11
|
+
@use "sass:map";
|
|
12
|
+
@use "variables" as *;
|
|
13
|
+
|
|
14
|
+
@include layer(utilities) {
|
|
15
|
+
.#{defaults.$ratio-class} {
|
|
16
|
+
position: relative;
|
|
17
|
+
width: 100%;
|
|
18
|
+
|
|
19
|
+
&::before {
|
|
20
|
+
content: "";
|
|
21
|
+
display: block;
|
|
22
|
+
padding-top: $ratio;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.#{defaults.$force-ratio-class} {
|
|
26
|
+
position: absolute;
|
|
27
|
+
inset: 0;
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
object-fit: cover;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@each $ratio-class, $value in defaults.$ratios {
|
|
35
|
+
.#{defaults.$ratio-variant-class-prefix}#{$ratio-class} {
|
|
36
|
+
--#{root-defaults.$prefix}-ratio: #{$value};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Generate responsive utilities.
|
|
41
|
+
@if defaults.$responsive and root-defaults.$responsive-utilities {
|
|
42
|
+
@each $screen-size in map.keys(root-defaults.$screen-sizes) {
|
|
43
|
+
@each $ratio-class, $value in defaults.$ratios {
|
|
44
|
+
.#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$ratio-variant-class-prefix}#{$ratio-class} {
|
|
45
|
+
@include screen.up($screen-size) {
|
|
46
|
+
--#{root-defaults.$prefix}-ratio: #{$value};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// @graupl/graupl ratio utilities 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 "../../defaults" as root-defaults;
|
|
8
|
+
|
|
9
|
+
$ratio: var(--#{root-defaults.$prefix}-ratio);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
//
|
|
1
|
+
// @graupl/graupl spacing utilities default values.
|
|
2
2
|
//
|
|
3
|
-
// Generally, these should not be used directly when styling components.
|
|
4
|
-
// They are mainly used to provide
|
|
5
|
-
//
|
|
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.
|
|
6
8
|
|
|
7
9
|
@use "sass:map";
|
|
8
10
|
|
|
@@ -42,3 +44,6 @@ $spacing-properties: map.merge(
|
|
|
42
44
|
$base-spacing-properties,
|
|
43
45
|
$custom-spacing-properties
|
|
44
46
|
);
|
|
47
|
+
|
|
48
|
+
// Responsive utility flag.
|
|
49
|
+
$responsive: true !default;
|
|
@@ -1,21 +1,30 @@
|
|
|
1
|
-
//
|
|
1
|
+
// @graupl/graupl spacing utilities styles.
|
|
2
|
+
//
|
|
3
|
+
// Responsive class must be within their own loop to prevent specificity issues.
|
|
4
|
+
// This keeps responsive specificity tied to screen size before property order.
|
|
2
5
|
|
|
3
|
-
@use "
|
|
4
|
-
@use "defaults" as defaults;
|
|
5
|
-
@use "../../mixins/layer" as *;
|
|
6
|
+
@use "../../defaults" as root-defaults;
|
|
6
7
|
@use "../../functions/important";
|
|
8
|
+
@use "../../layout/columns/defaults" as columns-defaults;
|
|
9
|
+
@use "../../layout/flex-columns/defaults" as flex-columns-defaults;
|
|
10
|
+
@use "../../mixins/layer" as *;
|
|
11
|
+
@use "../../mixins/utility";
|
|
7
12
|
@use "../../variables" as root-variables;
|
|
8
|
-
@use "
|
|
13
|
+
@use "defaults";
|
|
14
|
+
@use "sass:map";
|
|
15
|
+
@use "variables" as *;
|
|
9
16
|
|
|
10
17
|
@include layer(utilities) {
|
|
11
18
|
// For each spacing property, create a utility class.
|
|
12
19
|
@each $name, $property in defaults.$spacing-properties {
|
|
13
20
|
@each $key, $value in root-variables.$spacers {
|
|
14
|
-
.#{$name}-#{$key}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
$selector: ".#{$name}-#{$key}";
|
|
22
|
+
|
|
23
|
+
// If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
|
|
24
|
+
// the columns-column-gap property instead of the raw property.
|
|
25
|
+
@if $name == "g" {
|
|
26
|
+
@include utility.create($selector, $property, $value) {
|
|
27
|
+
&#{columns-defaults.$columns-selector} {
|
|
19
28
|
--#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
|
|
20
29
|
$value
|
|
21
30
|
)};
|
|
@@ -24,40 +33,136 @@
|
|
|
24
33
|
)};
|
|
25
34
|
}
|
|
26
35
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
37
|
+
--#{root-defaults.$prefix}-flex-columns-column-gap: #{important.insert(
|
|
38
|
+
$value
|
|
39
|
+
)};
|
|
40
|
+
--#{root-defaults.$prefix}-flex-columns-row-gap: #{important.insert(
|
|
41
|
+
$value
|
|
42
|
+
)};
|
|
31
43
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
44
|
+
}
|
|
45
|
+
} @else if $name == "cg" {
|
|
46
|
+
@include utility.create($selector, $property, $value) {
|
|
47
|
+
&#{columns-defaults.$columns-selector} {
|
|
34
48
|
--#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
|
|
35
49
|
$value
|
|
36
50
|
)};
|
|
37
51
|
}
|
|
38
52
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
54
|
+
--#{root-defaults.$prefix}-flex-columns-column-gap: #{important.insert(
|
|
55
|
+
$value
|
|
56
|
+
)};
|
|
43
57
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
58
|
+
}
|
|
59
|
+
} @else if $name == "rg" {
|
|
60
|
+
@include utility.create($selector, $property, $value) {
|
|
61
|
+
&#{columns-defaults.$columns-selector} {
|
|
46
62
|
--#{root-defaults.$prefix}-columns-row-gap: #{important.insert(
|
|
47
63
|
$value
|
|
48
64
|
)};
|
|
49
65
|
}
|
|
50
66
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
68
|
+
--#{root-defaults.$prefix}-flex-columns-row-gap: #{important.insert(
|
|
69
|
+
$value
|
|
70
|
+
)};
|
|
55
71
|
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
}
|
|
73
|
+
} @else {
|
|
74
|
+
@include utility.create($selector, $property, $value);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Create the "auto" utility class.
|
|
79
|
+
@include utility.create("#{$name}-auto", $property, auto);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Generate responsive utilities.
|
|
83
|
+
@if defaults.$responsive and root-defaults.$responsive-utilities {
|
|
84
|
+
@each $screen-size in map.keys(root-defaults.$screen-sizes) {
|
|
85
|
+
@each $name, $property in defaults.$spacing-properties {
|
|
86
|
+
@each $key, $value in root-variables.$spacers {
|
|
87
|
+
$selector: ".#{$screen-size}#{root-defaults.$responsive-separator}#{$name}-#{$key}";
|
|
88
|
+
|
|
89
|
+
// If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
|
|
90
|
+
// the columns-column-gap property instead of the raw property.
|
|
91
|
+
@if $name == "g" {
|
|
92
|
+
@include utility.create(
|
|
93
|
+
$selector,
|
|
94
|
+
$property,
|
|
95
|
+
$value,
|
|
96
|
+
$screen-size
|
|
97
|
+
) {
|
|
98
|
+
&#{columns-defaults.$columns-selector} {
|
|
99
|
+
--#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
|
|
100
|
+
$value
|
|
101
|
+
)};
|
|
102
|
+
--#{root-defaults.$prefix}-columns-row-gap: #{important.insert(
|
|
103
|
+
$value
|
|
104
|
+
)};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
108
|
+
--#{root-defaults.$prefix}-flex-columns-column-gap: #{important.insert(
|
|
109
|
+
$value
|
|
110
|
+
)};
|
|
111
|
+
--#{root-defaults.$prefix}-flex-columns-row-gap: #{important.insert(
|
|
112
|
+
$value
|
|
113
|
+
)};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
} @else if $name == "cg" {
|
|
117
|
+
@include utility.create(
|
|
118
|
+
$selector,
|
|
119
|
+
$property,
|
|
120
|
+
$value,
|
|
121
|
+
$screen-size
|
|
122
|
+
) {
|
|
123
|
+
&#{columns-defaults.$columns-selector} {
|
|
124
|
+
--#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
|
|
125
|
+
$value
|
|
126
|
+
)};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
130
|
+
--#{root-defaults.$prefix}-flex-columns-column-gap: #{important.insert(
|
|
131
|
+
$value
|
|
132
|
+
)};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
} @else if $name == "rg" {
|
|
136
|
+
@include utility.create(
|
|
137
|
+
$selector,
|
|
138
|
+
$property,
|
|
139
|
+
$value,
|
|
140
|
+
$screen-size
|
|
141
|
+
) {
|
|
142
|
+
&#{columns-defaults.$columns-selector} {
|
|
143
|
+
--#{root-defaults.$prefix}-columns-row-gap: #{important.insert(
|
|
144
|
+
$value
|
|
145
|
+
)};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
&#{flex-columns-defaults.$flex-columns-selector} {
|
|
149
|
+
--#{root-defaults.$prefix}-flex-columns-row-gap: #{important.insert(
|
|
150
|
+
$value
|
|
151
|
+
)};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
} @else {
|
|
155
|
+
@include utility.create($selector, $property, $value, $screen-size);
|
|
59
156
|
}
|
|
60
157
|
}
|
|
158
|
+
|
|
159
|
+
// Create the "auto" utility class.
|
|
160
|
+
@include utility.create(
|
|
161
|
+
".#{$screen-size}#{root-defaults.$responsive-separator}#{$name}-auto",
|
|
162
|
+
$property,
|
|
163
|
+
auto,
|
|
164
|
+
$screen-size
|
|
165
|
+
);
|
|
61
166
|
}
|
|
62
167
|
}
|
|
63
168
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
//
|
|
1
|
+
// @graupl/graupl spacing utilities variables.
|
|
2
|
+
//
|
|
3
|
+
// These values are to be used to directly style components and provide a
|
|
4
|
+
// cleaner way to reference custom properties.
|
|
2
5
|
|
|
3
|
-
@
|
|
6
|
+
@use "defaults";
|
|
@@ -1,5 +1,30 @@
|
|
|
1
|
-
//
|
|
1
|
+
// @graupl/graupl typography utilities default values.
|
|
2
2
|
//
|
|
3
|
-
// Generally, these should not be used directly when styling components.
|
|
4
|
-
// They are mainly used to provide
|
|
5
|
-
//
|
|
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 "sass:map";
|
|
10
|
+
|
|
11
|
+
// Text size properties.
|
|
12
|
+
$text-class-prefix: "text-" !default;
|
|
13
|
+
|
|
14
|
+
// Font weight properties.
|
|
15
|
+
$font-weight-class-prefix: "font-" !default;
|
|
16
|
+
|
|
17
|
+
// Font style properties.
|
|
18
|
+
$font-style-class-prefix: "font-" !default;
|
|
19
|
+
$base-font-style-properties: (
|
|
20
|
+
normal: normal,
|
|
21
|
+
italic: italic,
|
|
22
|
+
);
|
|
23
|
+
$custom-font-style-properties: () !default;
|
|
24
|
+
$font-style-properties: map.merge(
|
|
25
|
+
$base-font-style-properties,
|
|
26
|
+
$custom-font-style-properties
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
// Responsive utility flag.
|
|
30
|
+
$responsive: false !default;
|