@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.
Files changed (170) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/css/base/button.css +1 -1
  3. package/dist/css/base/button.css.map +1 -1
  4. package/dist/css/base/form.css +1 -1
  5. package/dist/css/base/form.css.map +1 -1
  6. package/dist/css/base/link.css +1 -1
  7. package/dist/css/base/link.css.map +1 -1
  8. package/dist/css/base/table.css +1 -1
  9. package/dist/css/base/table.css.map +1 -1
  10. package/dist/css/base.css +1 -1
  11. package/dist/css/base.css.map +1 -1
  12. package/dist/css/component/accordion.css +1 -1
  13. package/dist/css/component/accordion.css.map +1 -1
  14. package/dist/css/component/alert.css +1 -1
  15. package/dist/css/component/alert.css.map +1 -1
  16. package/dist/css/component/card.css +1 -1
  17. package/dist/css/component/card.css.map +1 -1
  18. package/dist/css/component/carousel.css +1 -1
  19. package/dist/css/component/carousel.css.map +1 -1
  20. package/dist/css/component/input-group.css +1 -1
  21. package/dist/css/component/input-group.css.map +1 -1
  22. package/dist/css/component/list.css +2 -0
  23. package/dist/css/component/list.css.map +1 -0
  24. package/dist/css/component/menu.css +1 -1
  25. package/dist/css/component/menu.css.map +1 -1
  26. package/dist/css/component/navigation.css +1 -1
  27. package/dist/css/component/navigation.css.map +1 -1
  28. package/dist/css/component.css +1 -1
  29. package/dist/css/component.css.map +1 -1
  30. package/dist/css/graupl.css +1 -1
  31. package/dist/css/graupl.css.map +1 -1
  32. package/dist/css/layout/columns.css.map +1 -1
  33. package/dist/css/layout/container.css.map +1 -1
  34. package/dist/css/layout/flex-columns.css.map +1 -1
  35. package/dist/css/layout.css +1 -1
  36. package/dist/css/layout.css.map +1 -1
  37. package/dist/css/normalize.css.map +1 -1
  38. package/dist/css/state/focus.css +1 -1
  39. package/dist/css/state/focus.css.map +1 -1
  40. package/dist/css/state.css +1 -1
  41. package/dist/css/state.css.map +1 -1
  42. package/dist/css/theme/color.css.map +1 -1
  43. package/dist/css/theme/typography.css.map +1 -1
  44. package/dist/css/theme.css.map +1 -1
  45. package/dist/css/utilities/alignment.css.map +1 -1
  46. package/dist/css/utilities/border.css +2 -0
  47. package/dist/css/utilities/border.css.map +1 -0
  48. package/dist/css/utilities/color.css +1 -1
  49. package/dist/css/utilities/color.css.map +1 -1
  50. package/dist/css/utilities/display.css +1 -1
  51. package/dist/css/utilities/display.css.map +1 -1
  52. package/dist/css/utilities/flex.css +1 -1
  53. package/dist/css/utilities/flex.css.map +1 -1
  54. package/dist/css/utilities/height.css +1 -1
  55. package/dist/css/utilities/height.css.map +1 -1
  56. package/dist/css/utilities/inset.css +1 -1
  57. package/dist/css/utilities/inset.css.map +1 -1
  58. package/dist/css/utilities/justification.css.map +1 -1
  59. package/dist/css/utilities/list.css.map +1 -1
  60. package/dist/css/utilities/order.css.map +1 -1
  61. package/dist/css/utilities/postion.css +1 -1
  62. package/dist/css/utilities/postion.css.map +1 -1
  63. package/dist/css/utilities/ratio.css +1 -1
  64. package/dist/css/utilities/ratio.css.map +1 -1
  65. package/dist/css/utilities/spacing.css +1 -1
  66. package/dist/css/utilities/spacing.css.map +1 -1
  67. package/dist/css/utilities/typography.css +1 -1
  68. package/dist/css/utilities/typography.css.map +1 -1
  69. package/dist/css/utilities/visibility.css.map +1 -1
  70. package/dist/css/utilities/width.css +1 -1
  71. package/dist/css/utilities/width.css.map +1 -1
  72. package/dist/css/utilities.css +1 -1
  73. package/dist/css/utilities.css.map +1 -1
  74. package/docs/components/alert.md +28 -28
  75. package/docs/components/button.md +36 -36
  76. package/docs/components/card.md +39 -39
  77. package/docs/components/inputgroup.md +12 -12
  78. package/docs/components/menu.md +112 -112
  79. package/docs/components/navigation.md +52 -52
  80. package/docs/content.md +86 -86
  81. package/docs/defaults.md +10 -10
  82. package/docs/forms.md +34 -34
  83. package/docs/layout.md +21 -21
  84. package/docs/state.md +8 -8
  85. package/docs/theme.md +58 -58
  86. package/docs/utilities.md +1 -1
  87. package/index.html +84 -12
  88. package/package.json +1 -1
  89. package/scss/component/list.scss +3 -0
  90. package/scss/utilities/border.scss +3 -0
  91. package/src/scss/_defaults.scss +14 -5
  92. package/src/scss/_variables.scss +10 -10
  93. package/src/scss/base/button/_index.scss +70 -70
  94. package/src/scss/base/button/_mixins.scss +22 -22
  95. package/src/scss/base/button/_variables.scss +36 -36
  96. package/src/scss/base/form/_variables.scss +34 -37
  97. package/src/scss/base/link/_index.scss +41 -41
  98. package/src/scss/base/link/_variables.scss +60 -60
  99. package/src/scss/base/table/_index.scss +7 -7
  100. package/src/scss/base/table/_variables.scss +26 -26
  101. package/src/scss/component/_index.scss +1 -0
  102. package/src/scss/component/accordion/_index.scss +6 -6
  103. package/src/scss/component/accordion/_variables.scss +65 -65
  104. package/src/scss/component/alert/_index.scss +11 -11
  105. package/src/scss/component/alert/_variables.scss +40 -43
  106. package/src/scss/component/card/_index.scss +6 -6
  107. package/src/scss/component/card/_variables.scss +39 -39
  108. package/src/scss/component/carousel/_index.scss +3 -3
  109. package/src/scss/component/carousel/_variables.scss +21 -21
  110. package/src/scss/component/input-group/_index.scss +1 -1
  111. package/src/scss/component/input-group/_variables.scss +12 -12
  112. package/src/scss/component/list/_defaults.scss +15 -0
  113. package/src/scss/component/list/_index.scss +50 -0
  114. package/src/scss/component/list/_variables.scss +176 -0
  115. package/src/scss/component/menu/_index.scss +135 -135
  116. package/src/scss/component/menu/_variables.scss +112 -112
  117. package/src/scss/component/navigation/_index.scss +38 -38
  118. package/src/scss/component/navigation/_variables.scss +52 -52
  119. package/src/scss/functions/_screen.scss +8 -0
  120. package/src/scss/functions/_utility.scss +28 -0
  121. package/src/scss/layout/columns/_index.scss +6 -6
  122. package/src/scss/layout/columns/_variables.scss +7 -7
  123. package/src/scss/layout/container/_variables.scss +10 -10
  124. package/src/scss/layout/flex-columns/_index.scss +8 -8
  125. package/src/scss/layout/flex-columns/_variables.scss +4 -4
  126. package/src/scss/mixins/_layer.scss +5 -1
  127. package/src/scss/mixins/_screen.scss +24 -3
  128. package/src/scss/mixins/_state.scss +18 -0
  129. package/src/scss/mixins/_theme.scss +15 -0
  130. package/src/scss/mixins/_utility.scss +119 -17
  131. package/src/scss/state/focus/_variables.scss +8 -8
  132. package/src/scss/theme/color/_index.scss +7 -7
  133. package/src/scss/theme/color/_variables.scss +7 -7
  134. package/src/scss/theme/typography/_variables.scss +52 -52
  135. package/src/scss/utilities/_index.scss +1 -0
  136. package/src/scss/utilities/alignment/_defaults.scss +7 -5
  137. package/src/scss/utilities/alignment/_index.scss +117 -24
  138. package/src/scss/utilities/border/_defaults.scss +61 -0
  139. package/src/scss/utilities/border/_index.scss +269 -0
  140. package/src/scss/utilities/border/_variables.scss +6 -0
  141. package/src/scss/utilities/color/_defaults.scss +6 -4
  142. package/src/scss/utilities/color/_index.scss +137 -26
  143. package/src/scss/utilities/display/_defaults.scss +8 -4
  144. package/src/scss/utilities/display/_index.scss +88 -15
  145. package/src/scss/utilities/flex/_defaults.scss +30 -6
  146. package/src/scss/utilities/flex/_index.scss +215 -31
  147. package/src/scss/utilities/height/_defaults.scss +7 -5
  148. package/src/scss/utilities/height/_index.scss +183 -45
  149. package/src/scss/utilities/inset/_defaults.scss +4 -2
  150. package/src/scss/utilities/inset/_index.scss +58 -5
  151. package/src/scss/utilities/justification/_defaults.scss +7 -5
  152. package/src/scss/utilities/justification/_index.scss +117 -24
  153. package/src/scss/utilities/list/_defaults.scss +6 -4
  154. package/src/scss/utilities/list/_index.scss +86 -17
  155. package/src/scss/utilities/order/_defaults.scss +5 -3
  156. package/src/scss/utilities/order/_index.scss +68 -20
  157. package/src/scss/utilities/position/_defaults.scss +5 -3
  158. package/src/scss/utilities/position/_index.scss +55 -10
  159. package/src/scss/utilities/ratio/_defaults.scss +7 -5
  160. package/src/scss/utilities/ratio/_index.scss +51 -12
  161. package/src/scss/utilities/ratio/_variables.scss +1 -1
  162. package/src/scss/utilities/spacing/_defaults.scss +4 -2
  163. package/src/scss/utilities/spacing/_index.scss +241 -28
  164. package/src/scss/utilities/typography/_defaults.scss +21 -5
  165. package/src/scss/utilities/typography/_index.scss +577 -143
  166. package/src/scss/utilities/visibility/_defaults.scss +5 -3
  167. package/src/scss/utilities/visibility/_index.scss +56 -10
  168. package/src/scss/utilities/width/_defaults.scss +7 -5
  169. package/src/scss/utilities/width/_index.scss +183 -45
  170. 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}-flex-columns-max-width: unset;
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}-flex-columns-size: calc(
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}-flex-columns-max-width: calc(
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}-flex-columns-size: 100%;
45
- --#{root-defaults.$prefix}-flex-columns-max-width: auto;
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}-flex-columns-size: calc(
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}-flex-columns-max-width: calc(
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}-flex-columns-max-width: unset;
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}-flex-columns-row-gap,
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}-flex-columns-column-gap,
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}-flex-columns-size,
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}-flex-columns-max-width,
24
+ --#{root-defaults.$prefix}flex-columns-max-width,
25
25
  #{defaults.$flex-columns-max-width}
26
26
  );
@@ -6,7 +6,11 @@
6
6
  @use "../defaults" as root-defaults;
7
7
 
8
8
  @mixin layer($layer) {
9
- @layer #{root-defaults.$prefix}.#{$layer} {
9
+ @if root-defaults.$use-layers {
10
+ @layer #{root-defaults.$id}.#{$layer} {
11
+ @content;
12
+ }
13
+ } @else {
10
14
  @content;
11
15
  }
12
16
  }
@@ -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
- @include meta.apply($mixin, $mixin-args...) {
54
- @content;
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
- // Allow for custom overrides and additional styles.
19
- @content;
20
- }
21
- } @else {
22
- @each $prop in $property {
23
- #{$prop}: important.insert($value);
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
- // Allow for custom overrides and additional styles.
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}-focus-width,
12
+ --#{root-defaults.$prefix}focus-width,
13
13
  #{root-variables.$border-width}
14
14
  );
15
15
  $focus-outline-color: var(
16
- --#{root-defaults.$prefix}-focus-outline-color,
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}-focus-outline-width,
20
+ --#{root-defaults.$prefix}focus-outline-width,
21
21
  #{$focus-width}
22
22
  );
23
23
  $focus-outline-style: var(
24
- --#{root-defaults.$prefix}-focus-outline-style,
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}-focus-outline-offset,
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}-focus-box-shadow-color,
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}-focus-box-shadow-style,
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}-focus-box-shadow,
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 "variables" as *;
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 "../../functions/theme";
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}-#{$color}--#{$shade}: #{$value};
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}-theme-active--#{$color}--#{$shade}: #{$value};
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
- #{defaults.$theme-selector-prefix}#{$theme-name}#{defaults.$theme-selector-suffix} {
32
+ @include theme.theme($theme-name) {
33
33
  @each $color, $map in $theme {
34
34
  @each $shade, $value in $map {
35
- --#{root-defaults.$prefix}-theme-active--#{$color}--#{$shade}: #{$value};
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}-#{$color}--#{$shade},
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}-theme-#{$theme-name}--#{$color-name}--#{$shade},
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}-theme-active--#{$color-name}--#{$shade},
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}-root-color);
115
- $root-background: var(--#{root-defaults.$prefix}-root-background);
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}-root-color,
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}-root-background,
126
+ --#{root-defaults.$prefix}root-background,
127
127
  #{map.get(map.get(map.get($themes, active), primary), 100)}
128
128
  );
129
129
  }