@graupl/graupl 1.0.0-beta.0 → 1.0.0-beta.2
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/CHANGELOG.md +35 -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 +1 -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 +1 -1
- package/dist/css/component.css.map +1 -1
- package/dist/css/graupl.css +1 -1
- package/dist/css/graupl.css.map +1 -1
- package/dist/css/layout/columns.css.map +1 -1
- package/dist/css/layout/container.css.map +1 -1
- package/dist/css/layout/flex-columns.css.map +1 -1
- package/dist/css/layout.css +1 -1
- package/dist/css/layout.css.map +1 -1
- package/dist/css/normalize.css.map +1 -1
- package/dist/css/state/focus.css +1 -1
- package/dist/css/state/focus.css.map +1 -1
- package/dist/css/state.css +1 -1
- package/dist/css/state.css.map +1 -1
- package/dist/css/theme/color.css.map +1 -1
- package/dist/css/theme/typography.css.map +1 -1
- package/dist/css/theme.css.map +1 -1
- package/dist/css/utilities/alignment.css.map +1 -1
- 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/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/height.css +1 -1
- package/dist/css/utilities/height.css.map +1 -1
- package/dist/css/utilities/inset.css +1 -1
- package/dist/css/utilities/inset.css.map +1 -1
- package/dist/css/utilities/justification.css.map +1 -1
- package/dist/css/utilities/list.css.map +1 -1
- package/dist/css/utilities/order.css.map +1 -1
- package/dist/css/utilities/postion.css +1 -1
- package/dist/css/utilities/postion.css.map +1 -1
- 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.map +1 -1
- package/dist/css/utilities/width.css +1 -1
- package/dist/css/utilities/width.css.map +1 -1
- package/dist/css/utilities.css +1 -1
- package/dist/css/utilities.css.map +1 -1
- package/docs/components/alert.md +28 -28
- package/docs/components/button.md +36 -36
- package/docs/components/card.md +39 -39
- package/docs/components/inputgroup.md +12 -12
- package/docs/components/menu.md +112 -112
- package/docs/components/navigation.md +52 -52
- package/docs/content.md +86 -86
- package/docs/defaults.md +10 -10
- package/docs/forms.md +34 -34
- package/docs/layout.md +21 -21
- package/docs/state.md +8 -8
- package/docs/theme.md +58 -58
- package/docs/utilities.md +1 -1
- package/index.html +84 -12
- package/package.json +1 -1
- package/scss/component/list.scss +3 -0
- package/scss/utilities/border.scss +3 -0
- package/src/scss/_defaults.scss +14 -5
- package/src/scss/_variables.scss +10 -10
- package/src/scss/base/button/_index.scss +70 -70
- package/src/scss/base/button/_mixins.scss +22 -22
- package/src/scss/base/button/_variables.scss +36 -36
- package/src/scss/base/form/_variables.scss +34 -37
- package/src/scss/base/link/_index.scss +41 -41
- package/src/scss/base/link/_variables.scss +60 -60
- package/src/scss/base/table/_index.scss +7 -7
- package/src/scss/base/table/_variables.scss +26 -26
- package/src/scss/component/_index.scss +1 -0
- package/src/scss/component/accordion/_index.scss +6 -6
- package/src/scss/component/accordion/_variables.scss +65 -65
- package/src/scss/component/alert/_index.scss +11 -11
- package/src/scss/component/alert/_variables.scss +40 -43
- package/src/scss/component/card/_index.scss +6 -6
- package/src/scss/component/card/_variables.scss +39 -39
- package/src/scss/component/carousel/_index.scss +3 -3
- package/src/scss/component/carousel/_variables.scss +21 -21
- package/src/scss/component/input-group/_index.scss +1 -1
- package/src/scss/component/input-group/_variables.scss +12 -12
- package/src/scss/component/list/_defaults.scss +15 -0
- package/src/scss/component/list/_index.scss +50 -0
- package/src/scss/component/list/_variables.scss +176 -0
- package/src/scss/component/menu/_index.scss +135 -135
- package/src/scss/component/menu/_variables.scss +112 -112
- package/src/scss/component/navigation/_index.scss +38 -38
- package/src/scss/component/navigation/_variables.scss +52 -52
- package/src/scss/functions/_screen.scss +8 -0
- package/src/scss/functions/_utility.scss +28 -0
- package/src/scss/layout/columns/_index.scss +6 -6
- package/src/scss/layout/columns/_variables.scss +7 -7
- package/src/scss/layout/container/_variables.scss +10 -10
- package/src/scss/layout/flex-columns/_index.scss +8 -8
- package/src/scss/layout/flex-columns/_variables.scss +4 -4
- package/src/scss/mixins/_layer.scss +5 -1
- package/src/scss/mixins/_screen.scss +24 -3
- package/src/scss/mixins/_state.scss +18 -0
- package/src/scss/mixins/_theme.scss +15 -0
- package/src/scss/mixins/_utility.scss +119 -17
- package/src/scss/state/focus/_variables.scss +8 -8
- package/src/scss/theme/color/_index.scss +7 -7
- package/src/scss/theme/color/_variables.scss +7 -7
- package/src/scss/theme/typography/_variables.scss +52 -52
- package/src/scss/utilities/_index.scss +1 -0
- package/src/scss/utilities/alignment/_defaults.scss +7 -5
- package/src/scss/utilities/alignment/_index.scss +117 -24
- package/src/scss/utilities/border/_defaults.scss +61 -0
- package/src/scss/utilities/border/_index.scss +269 -0
- package/src/scss/utilities/border/_variables.scss +6 -0
- package/src/scss/utilities/color/_defaults.scss +6 -4
- package/src/scss/utilities/color/_index.scss +137 -26
- package/src/scss/utilities/display/_defaults.scss +8 -4
- package/src/scss/utilities/display/_index.scss +88 -15
- package/src/scss/utilities/flex/_defaults.scss +30 -6
- package/src/scss/utilities/flex/_index.scss +215 -31
- package/src/scss/utilities/height/_defaults.scss +7 -5
- package/src/scss/utilities/height/_index.scss +183 -45
- package/src/scss/utilities/inset/_defaults.scss +4 -2
- package/src/scss/utilities/inset/_index.scss +58 -5
- package/src/scss/utilities/justification/_defaults.scss +7 -5
- package/src/scss/utilities/justification/_index.scss +117 -24
- package/src/scss/utilities/list/_defaults.scss +6 -4
- package/src/scss/utilities/list/_index.scss +86 -17
- package/src/scss/utilities/order/_defaults.scss +5 -3
- package/src/scss/utilities/order/_index.scss +68 -20
- package/src/scss/utilities/position/_defaults.scss +5 -3
- package/src/scss/utilities/position/_index.scss +55 -10
- package/src/scss/utilities/ratio/_defaults.scss +7 -5
- package/src/scss/utilities/ratio/_index.scss +51 -12
- package/src/scss/utilities/ratio/_variables.scss +1 -1
- package/src/scss/utilities/spacing/_defaults.scss +4 -2
- package/src/scss/utilities/spacing/_index.scss +241 -28
- package/src/scss/utilities/typography/_defaults.scss +21 -5
- package/src/scss/utilities/typography/_index.scss +577 -143
- package/src/scss/utilities/visibility/_defaults.scss +5 -3
- package/src/scss/utilities/visibility/_index.scss +56 -10
- package/src/scss/utilities/width/_defaults.scss +7 -5
- package/src/scss/utilities/width/_index.scss +183 -45
- package/stylelint.config.js +1 -0
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
#{defaults.$flex-columns-fill-selector} {
|
|
22
|
-
--#{root-defaults.$prefix}
|
|
22
|
+
--#{root-defaults.$prefix}flex-columns-max-width: unset;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
{
|
|
30
30
|
#{defaults.$flex-columns-column-selector-prefix}#{$i} {
|
|
31
31
|
/* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
|
|
32
|
-
--#{root-defaults.$prefix}
|
|
32
|
+
--#{root-defaults.$prefix}flex-columns-size: calc(
|
|
33
33
|
(100% / #{defaults.$flex-columns-max-count} * #{$i}) -
|
|
34
34
|
#{$flex-columns-column-gap}
|
|
35
35
|
);
|
|
36
|
-
--#{root-defaults.$prefix}
|
|
36
|
+
--#{root-defaults.$prefix}flex-columns-max-width: calc(
|
|
37
37
|
100% / #{defaults.$flex-columns-max-count} * #{$i}
|
|
38
38
|
);
|
|
39
39
|
/* stylelint-enable scss/operator-no-newline-after */
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
|
|
42
42
|
@include screen.trigger(force-single-column) {
|
|
43
43
|
#{defaults.$flex-columns-column-selector-prefix}#{$i} {
|
|
44
|
-
--#{root-defaults.$prefix}
|
|
45
|
-
--#{root-defaults.$prefix}
|
|
44
|
+
--#{root-defaults.$prefix}flex-columns-size: 100%;
|
|
45
|
+
--#{root-defaults.$prefix}flex-columns-max-width: auto;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -61,17 +61,17 @@
|
|
|
61
61
|
@include screen.up($screen) {
|
|
62
62
|
#{defaults.$flex-columns-column-selector-prefix}#{$screen}-#{$i} {
|
|
63
63
|
/* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
|
|
64
|
-
--#{root-defaults.$prefix}
|
|
64
|
+
--#{root-defaults.$prefix}flex-columns-size: calc(
|
|
65
65
|
(100% / #{defaults.$flex-columns-max-count} * #{$i}) -
|
|
66
66
|
#{$flex-columns-column-gap}
|
|
67
67
|
);
|
|
68
68
|
/* stylelint-enable scss/operator-no-newline-after */
|
|
69
|
-
--#{root-defaults.$prefix}
|
|
69
|
+
--#{root-defaults.$prefix}flex-columns-max-width: calc(
|
|
70
70
|
100% / #{defaults.$flex-columns-max-count} * #{$i}
|
|
71
71
|
);
|
|
72
72
|
|
|
73
73
|
&#{defaults.$flex-columns-fill-selector} {
|
|
74
|
-
--#{root-defaults.$prefix}
|
|
74
|
+
--#{root-defaults.$prefix}flex-columns-max-width: unset;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -9,18 +9,18 @@
|
|
|
9
9
|
|
|
10
10
|
// Flex columns properties.
|
|
11
11
|
$flex-columns-row-gap: var(
|
|
12
|
-
--#{root-defaults.$prefix}
|
|
12
|
+
--#{root-defaults.$prefix}flex-columns-row-gap,
|
|
13
13
|
#{columns-variables.$columns-row-gap}
|
|
14
14
|
);
|
|
15
15
|
$flex-columns-column-gap: var(
|
|
16
|
-
--#{root-defaults.$prefix}
|
|
16
|
+
--#{root-defaults.$prefix}flex-columns-column-gap,
|
|
17
17
|
#{columns-variables.$columns-column-gap}
|
|
18
18
|
);
|
|
19
19
|
$flex-columns-size: var(
|
|
20
|
-
--#{root-defaults.$prefix}
|
|
20
|
+
--#{root-defaults.$prefix}flex-columns-size,
|
|
21
21
|
#{defaults.$flex-columns-size}
|
|
22
22
|
);
|
|
23
23
|
$flex-columns-max-width: var(
|
|
24
|
-
--#{root-defaults.$prefix}
|
|
24
|
+
--#{root-defaults.$prefix}flex-columns-max-width,
|
|
25
25
|
#{defaults.$flex-columns-max-width}
|
|
26
26
|
);
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
@use "../functions/screen";
|
|
7
7
|
@use "../defaults" as root-defaults;
|
|
8
8
|
@use "sass:map";
|
|
9
|
-
@use "sass:list";
|
|
10
9
|
@use "sass:meta";
|
|
11
10
|
|
|
12
11
|
// A mixin to generate a minimum screen width media query.
|
|
@@ -45,12 +44,34 @@
|
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
@mixin trigger($trigger) {
|
|
47
|
+
@if not map.has-key(root-defaults.$screen-size-triggers, $trigger) {
|
|
48
|
+
@error "The screen size trigger \"#{$trigger}\" does not exist.";
|
|
49
|
+
}
|
|
50
|
+
|
|
48
51
|
$screen-size-trigger: map.get(root-defaults.$screen-size-triggers, $trigger);
|
|
52
|
+
|
|
53
|
+
@if not map.has-key($screen-size-trigger, "mixin") {
|
|
54
|
+
@error "The screen size trigger \"#{$trigger}\" does not have a mixin key.";
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@if not map.has-key($screen-size-trigger, "args") {
|
|
58
|
+
@error "The screen size trigger \"#{$trigger}\" does not have an args key.";
|
|
59
|
+
}
|
|
60
|
+
|
|
49
61
|
$mixin-name: map.get($screen-size-trigger, "mixin");
|
|
50
62
|
$mixin-args: map.get($screen-size-trigger, "args");
|
|
63
|
+
|
|
64
|
+
@if not meta.mixin-exists($mixin-name) {
|
|
65
|
+
@error "The mixin \"#{$mixin-name}\" does not exist.";
|
|
66
|
+
}
|
|
67
|
+
|
|
51
68
|
$mixin: meta.get-mixin($mixin-name);
|
|
52
69
|
|
|
53
|
-
@
|
|
54
|
-
@
|
|
70
|
+
@if meta.accepts-content($mixin) {
|
|
71
|
+
@include meta.apply($mixin, $mixin-args...) {
|
|
72
|
+
@content;
|
|
73
|
+
}
|
|
74
|
+
} @else {
|
|
75
|
+
@warn "The mixin \"#{$mixin-name}\" does not accept content.";
|
|
55
76
|
}
|
|
56
77
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// @graupl/graupl state mixins.
|
|
2
|
+
//
|
|
3
|
+
// A series of mixins to tie styles to a state.
|
|
4
|
+
|
|
5
|
+
@use "../defaults" as root-defaults;
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
|
|
8
|
+
/// Applies styles to a specific state.
|
|
9
|
+
///
|
|
10
|
+
/// @param {string} $state
|
|
11
|
+
/// The name of the state to apply the styles to.
|
|
12
|
+
@mixin state($state) {
|
|
13
|
+
@each $selector in map.get(root-defaults.$state-selectors, $state) {
|
|
14
|
+
&#{$selector} {
|
|
15
|
+
@content;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// @graupl/graupl theme mixins.
|
|
2
|
+
//
|
|
3
|
+
// A series of mixins to tie styles to a theme-mode.
|
|
4
|
+
|
|
5
|
+
@use "../theme/color/defaults" as color-defaults;
|
|
6
|
+
|
|
7
|
+
/// Applies styles to a specific theme mode.
|
|
8
|
+
///
|
|
9
|
+
/// @param {string} $theme-name
|
|
10
|
+
/// The name of the theme mode to apply the styles to.
|
|
11
|
+
@mixin theme($theme-name) {
|
|
12
|
+
#{color-defaults.$theme-selector-prefix}#{$theme-name}#{color-defaults.$theme-selector-suffix} {
|
|
13
|
+
@content;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -3,28 +3,130 @@
|
|
|
3
3
|
// Mixins to help generate utility classes.
|
|
4
4
|
|
|
5
5
|
@use "./screen";
|
|
6
|
+
@use "./state";
|
|
7
|
+
@use "./theme";
|
|
6
8
|
@use "../functions/important";
|
|
9
|
+
@use "../functions/utility";
|
|
7
10
|
@use "../defaults" as root-defaults;
|
|
8
|
-
@use "sass:map";
|
|
9
|
-
|
|
10
|
-
@mixin create($selector, $property, $value, $breakpoint: false) {
|
|
11
|
-
#{$selector} {
|
|
12
|
-
@if $breakpoint {
|
|
13
|
-
@include screen.up($breakpoint) {
|
|
14
|
-
@each $prop in $property {
|
|
15
|
-
#{$prop}: important.insert($value);
|
|
16
|
-
}
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
/// Insert a map of properties and values into a utility class.
|
|
13
|
+
///
|
|
14
|
+
/// @param {Map} $map
|
|
15
|
+
/// The map of properties and values to apply to the selector.
|
|
16
|
+
@mixin _insert($map) {
|
|
17
|
+
@each $prop, $value in $map {
|
|
18
|
+
#{$prop}: important.insert($value);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Allow for custom overrides and additional styles.
|
|
22
|
+
@content;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// Handles wrapping utilities with a conditional state.
|
|
26
|
+
///
|
|
27
|
+
/// @param {?string} $state
|
|
28
|
+
/// The state to wrap.
|
|
29
|
+
@mixin _handle-state($state: null) {
|
|
30
|
+
@if $state {
|
|
31
|
+
@include state.state($state) {
|
|
32
|
+
@content;
|
|
33
|
+
}
|
|
34
|
+
} @else {
|
|
35
|
+
@content;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// Handles wrapping utilities with a conditional screen.
|
|
40
|
+
///
|
|
41
|
+
/// @param {?string} $screen
|
|
42
|
+
/// The screen to wrap.
|
|
43
|
+
@mixin _handle-screen($screen: null) {
|
|
44
|
+
@if $screen {
|
|
45
|
+
@include screen.up($screen) {
|
|
46
|
+
@content;
|
|
47
|
+
}
|
|
48
|
+
} @else {
|
|
49
|
+
@content;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
25
52
|
|
|
26
|
-
|
|
53
|
+
/// Handles wrapping utilities with a conditional theme.
|
|
54
|
+
///
|
|
55
|
+
/// @param {?string} $theme
|
|
56
|
+
/// The theme mode to wrap.
|
|
57
|
+
@mixin _handle-theme($theme: null) {
|
|
58
|
+
@if $theme {
|
|
59
|
+
@include theme.theme($theme) {
|
|
27
60
|
@content;
|
|
28
61
|
}
|
|
62
|
+
} @else {
|
|
63
|
+
@content;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Create a utility class with a list of properties and a single value.
|
|
68
|
+
///
|
|
69
|
+
/// @param {string} $selector
|
|
70
|
+
/// The selector to apply the utility class to.
|
|
71
|
+
/// @param {string|List} $property
|
|
72
|
+
/// The property/properties to apply to the selector.
|
|
73
|
+
/// @param {string} $value
|
|
74
|
+
/// The value to apply to the property/properties.
|
|
75
|
+
/// @param {?string} $screen
|
|
76
|
+
/// The screen to apply the utility class to.
|
|
77
|
+
/// @param {?string} $theme
|
|
78
|
+
/// The theme mode to apply the utility class to.
|
|
79
|
+
/// @param {?string} $state
|
|
80
|
+
/// The state to apply the utility class to.
|
|
81
|
+
@mixin create(
|
|
82
|
+
$selector,
|
|
83
|
+
$property,
|
|
84
|
+
$value,
|
|
85
|
+
$screen: null,
|
|
86
|
+
$theme: null,
|
|
87
|
+
$state: null
|
|
88
|
+
) {
|
|
89
|
+
$map: utility.convert-property-values-to-map($property, $value);
|
|
90
|
+
|
|
91
|
+
@include create-mapped(
|
|
92
|
+
$selector,
|
|
93
|
+
$map,
|
|
94
|
+
$screen: $screen,
|
|
95
|
+
$theme: $theme,
|
|
96
|
+
$state: $state
|
|
97
|
+
) {
|
|
98
|
+
@content;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/// Create a utility class with a map of properties and values.
|
|
103
|
+
///
|
|
104
|
+
/// @param {string} $selector
|
|
105
|
+
/// The selector to apply the utility class to.
|
|
106
|
+
/// @param {Map} $map
|
|
107
|
+
/// The map of properties and values to apply to the selector.
|
|
108
|
+
/// @param {?string} $screen
|
|
109
|
+
/// The screen to apply the utility class to.
|
|
110
|
+
/// @param {?string} $theme
|
|
111
|
+
/// The theme mode to apply the utility class to.
|
|
112
|
+
/// @param {?string} $state
|
|
113
|
+
/// The state to apply the utility class to.
|
|
114
|
+
@mixin create-mapped(
|
|
115
|
+
$selector,
|
|
116
|
+
$map,
|
|
117
|
+
$screen: null,
|
|
118
|
+
$theme: null,
|
|
119
|
+
$state: null
|
|
120
|
+
) {
|
|
121
|
+
@include _handle-theme($theme) {
|
|
122
|
+
#{$selector} {
|
|
123
|
+
@include _handle-screen($screen) {
|
|
124
|
+
@include _handle-state($state) {
|
|
125
|
+
@include _insert($map) {
|
|
126
|
+
@content;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
29
131
|
}
|
|
30
132
|
}
|
|
@@ -9,35 +9,35 @@
|
|
|
9
9
|
@use "../../functions/theme";
|
|
10
10
|
|
|
11
11
|
$focus-width: var(
|
|
12
|
-
--#{root-defaults.$prefix}
|
|
12
|
+
--#{root-defaults.$prefix}focus-width,
|
|
13
13
|
#{root-variables.$border-width}
|
|
14
14
|
);
|
|
15
15
|
$focus-outline-color: var(
|
|
16
|
-
--#{root-defaults.$prefix}
|
|
16
|
+
--#{root-defaults.$prefix}focus-outline-color,
|
|
17
17
|
#{theme.get(primary, 900)}
|
|
18
18
|
);
|
|
19
19
|
$focus-outline-width: var(
|
|
20
|
-
--#{root-defaults.$prefix}
|
|
20
|
+
--#{root-defaults.$prefix}focus-outline-width,
|
|
21
21
|
#{$focus-width}
|
|
22
22
|
);
|
|
23
23
|
$focus-outline-style: var(
|
|
24
|
-
--#{root-defaults.$prefix}
|
|
24
|
+
--#{root-defaults.$prefix}focus-outline-style,
|
|
25
25
|
#{defaults.$focus-outline-style}
|
|
26
26
|
);
|
|
27
27
|
$focus-outline-offset: var(
|
|
28
|
-
--#{root-defaults.$prefix}
|
|
28
|
+
--#{root-defaults.$prefix}focus-outline-offset,
|
|
29
29
|
calc(-1 * #{$focus-outline-width})
|
|
30
30
|
);
|
|
31
31
|
$focus-box-shadow-color: var(
|
|
32
|
-
--#{root-defaults.$prefix}
|
|
32
|
+
--#{root-defaults.$prefix}focus-box-shadow-color,
|
|
33
33
|
#{theme.get(primary, 100)}
|
|
34
34
|
);
|
|
35
35
|
$focus-box-shadow-style: var(
|
|
36
|
-
--#{root-defaults.$prefix}
|
|
36
|
+
--#{root-defaults.$prefix}focus-box-shadow-style,
|
|
37
37
|
#{defaults.$focus-box-shadow-style}
|
|
38
38
|
);
|
|
39
39
|
$focus-box-shadow: var(
|
|
40
|
-
--#{root-defaults.$prefix}
|
|
40
|
+
--#{root-defaults.$prefix}focus-box-shadow,
|
|
41
41
|
#{$focus-width $focus-width} 0 0 #{$focus-box-shadow-style}
|
|
42
42
|
#{$focus-box-shadow-color},
|
|
43
43
|
0 0 0 #{$focus-width} #{$focus-box-shadow-style} #{$focus-box-shadow-color}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// @graupl/graupl color theme styles.
|
|
2
2
|
|
|
3
|
-
@use "
|
|
3
|
+
@use "../../defaults" as root-defaults;
|
|
4
4
|
@use "../../mixins/layer" as *;
|
|
5
|
+
@use "../../mixins/theme";
|
|
5
6
|
@use "defaults";
|
|
6
|
-
@use "../../defaults" as root-defaults;
|
|
7
7
|
@use "sass:map";
|
|
8
|
-
@use "
|
|
8
|
+
@use "variables" as *;
|
|
9
9
|
|
|
10
10
|
@include layer(theme) {
|
|
11
11
|
:root {
|
|
@@ -15,24 +15,24 @@
|
|
|
15
15
|
// Generate the default colour properties.
|
|
16
16
|
@each $color, $map in defaults.$colors {
|
|
17
17
|
@each $shade, $value in $map {
|
|
18
|
-
--#{root-defaults.$prefix}
|
|
18
|
+
--#{root-defaults.$prefix}#{$color}--#{$shade}: #{$value};
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// Generate the active theme properties.
|
|
23
23
|
@each $color, $map in map.get($themes, defaults.$default-theme) {
|
|
24
24
|
@each $shade, $value in $map {
|
|
25
|
-
--#{root-defaults.$prefix}
|
|
25
|
+
--#{root-defaults.$prefix}theme-active--#{$color}--#{$shade}: #{$value};
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
// Generate the available theme properties.
|
|
31
31
|
@each $theme-name, $theme in $themes {
|
|
32
|
-
|
|
32
|
+
@include theme.theme($theme-name) {
|
|
33
33
|
@each $color, $map in $theme {
|
|
34
34
|
@each $shade, $value in $map {
|
|
35
|
-
--#{root-defaults.$prefix}
|
|
35
|
+
--#{root-defaults.$prefix}theme-active--#{$color}--#{$shade}: #{$value};
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -18,7 +18,7 @@ $colors: ();
|
|
|
18
18
|
@each $shade, $value in $map {
|
|
19
19
|
// Set the custom prop name and fallback value.
|
|
20
20
|
$color-property: var(
|
|
21
|
-
--#{root-defaults.$prefix}
|
|
21
|
+
--#{root-defaults.$prefix}#{$color}--#{$shade},
|
|
22
22
|
$value
|
|
23
23
|
);
|
|
24
24
|
|
|
@@ -53,7 +53,7 @@ $themes: (
|
|
|
53
53
|
|
|
54
54
|
@each $shade, $value in $map {
|
|
55
55
|
$color-property: var(
|
|
56
|
-
--#{root-defaults.$prefix}
|
|
56
|
+
--#{root-defaults.$prefix}theme-#{$theme-name}--#{$color-name}--#{$shade},
|
|
57
57
|
#{map.get($colors, map.get($value, color), map.get($value, shade))}
|
|
58
58
|
);
|
|
59
59
|
$color-map: map.merge(
|
|
@@ -86,7 +86,7 @@ $themes: (
|
|
|
86
86
|
|
|
87
87
|
@each $shade, $value in $map {
|
|
88
88
|
$color-property: var(
|
|
89
|
-
--#{root-defaults.$prefix}
|
|
89
|
+
--#{root-defaults.$prefix}theme-active--#{$color-name}--#{$shade},
|
|
90
90
|
#{$value}
|
|
91
91
|
);
|
|
92
92
|
$color-map: map.merge(
|
|
@@ -111,19 +111,19 @@ $themes: (
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
// Colour properties.
|
|
114
|
-
$root-color: var(--#{root-defaults.$prefix}
|
|
115
|
-
$root-background: var(--#{root-defaults.$prefix}
|
|
114
|
+
$root-color: var(--#{root-defaults.$prefix}root-color);
|
|
115
|
+
$root-background: var(--#{root-defaults.$prefix}root-background);
|
|
116
116
|
|
|
117
117
|
@if map.has-key($themes, active, primary, 900) {
|
|
118
118
|
$root-color: var(
|
|
119
|
-
--#{root-defaults.$prefix}
|
|
119
|
+
--#{root-defaults.$prefix}root-color,
|
|
120
120
|
#{map.get(map.get(map.get($themes, active), primary), 900)}
|
|
121
121
|
);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
@if map.has-key($themes, active, primary, 100) {
|
|
125
125
|
$root-background: var(
|
|
126
|
-
--#{root-defaults.$prefix}
|
|
126
|
+
--#{root-defaults.$prefix}root-background,
|
|
127
127
|
#{map.get(map.get(map.get($themes, active), primary), 100)}
|
|
128
128
|
);
|
|
129
129
|
}
|