@graupl/graupl 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (212) hide show
  1. package/.stylelintignore +9 -0
  2. package/CHANGELOG.md +177 -0
  3. package/dist/base/form.css +2 -0
  4. package/dist/base/form.css.map +1 -0
  5. package/dist/base/link.css +2 -0
  6. package/dist/base/link.css.map +1 -0
  7. package/dist/base/table.css +2 -0
  8. package/dist/base/table.css.map +1 -0
  9. package/dist/base.css +2 -0
  10. package/dist/base.css.map +1 -0
  11. package/dist/component/button.css +2 -0
  12. package/dist/component/button.css.map +1 -0
  13. package/dist/component/input-group.css +2 -0
  14. package/dist/component/input-group.css.map +1 -0
  15. package/dist/component/table.css +2 -0
  16. package/dist/component/table.css.map +1 -0
  17. package/dist/component.css +2 -0
  18. package/dist/component.css.map +1 -0
  19. package/dist/graupl.css +1 -284
  20. package/dist/graupl.css.map +1 -1
  21. package/dist/layout/columns.css +2 -0
  22. package/dist/layout/columns.css.map +1 -0
  23. package/dist/layout/container.css +2 -0
  24. package/dist/layout/container.css.map +1 -0
  25. package/dist/layout.css +2 -0
  26. package/dist/layout.css.map +1 -0
  27. package/dist/state/focus.css +2 -0
  28. package/dist/state/focus.css.map +1 -0
  29. package/dist/state.css +2 -0
  30. package/dist/state.css.map +1 -0
  31. package/dist/theme/color.css +2 -0
  32. package/dist/theme/color.css.map +1 -0
  33. package/dist/theme/typography.css +2 -0
  34. package/dist/theme/typography.css.map +1 -0
  35. package/dist/theme.css +2 -0
  36. package/dist/theme.css.map +1 -0
  37. package/dist/utilities/alignment.css +2 -0
  38. package/dist/utilities/alignment.css.map +1 -0
  39. package/dist/utilities/color.css +2 -0
  40. package/dist/utilities/color.css.map +1 -0
  41. package/dist/utilities/display.css +2 -0
  42. package/dist/utilities/display.css.map +1 -0
  43. package/dist/utilities/flex.css +2 -0
  44. package/dist/utilities/flex.css.map +1 -0
  45. package/dist/utilities/inset.css +2 -0
  46. package/dist/utilities/inset.css.map +1 -0
  47. package/dist/utilities/justification.css +2 -0
  48. package/dist/utilities/justification.css.map +1 -0
  49. package/dist/utilities/list.css +2 -0
  50. package/dist/utilities/list.css.map +1 -0
  51. package/dist/utilities/postion.css +2 -0
  52. package/dist/utilities/postion.css.map +1 -0
  53. package/dist/utilities/spacing.css +2 -0
  54. package/dist/utilities/spacing.css.map +1 -0
  55. package/dist/utilities/typography.css +2 -0
  56. package/dist/utilities/typography.css.map +1 -0
  57. package/dist/utilities/visibility.css +2 -0
  58. package/dist/utilities/visibility.css.map +1 -0
  59. package/dist/utilities.css +2 -0
  60. package/dist/utilities.css.map +1 -0
  61. package/docs/.vitepress/config.js +41 -1
  62. package/docs/.vitepress/theme/custom.scss +29 -29
  63. package/docs/compiling-graupl.md +56 -0
  64. package/docs/introduction.md +5 -0
  65. package/index.html +333 -72
  66. package/package.json +16 -4
  67. package/postcss.config.cjs +1 -1
  68. package/scss/base/form.scss +3 -0
  69. package/scss/base/link.scss +3 -0
  70. package/scss/base/table.scss +3 -0
  71. package/scss/base.scss +3 -0
  72. package/scss/component/button.scss +3 -0
  73. package/scss/component/input-group.scss +3 -0
  74. package/scss/component/table.scss +3 -0
  75. package/scss/component.scss +3 -0
  76. package/scss/graupl.scss +1 -5
  77. package/scss/layout/columns.scss +3 -0
  78. package/scss/layout/container.scss +3 -0
  79. package/scss/layout.scss +3 -0
  80. package/scss/state/focus.scss +3 -0
  81. package/scss/state.scss +3 -0
  82. package/scss/theme/color.scss +3 -0
  83. package/scss/theme/typography.scss +3 -0
  84. package/scss/theme.scss +3 -0
  85. package/scss/utilities/alignment.scss +3 -0
  86. package/scss/utilities/color.scss +3 -0
  87. package/scss/utilities/display.scss +3 -0
  88. package/scss/utilities/flex.scss +3 -0
  89. package/scss/utilities/inset.scss +3 -0
  90. package/scss/utilities/justification.scss +3 -0
  91. package/scss/utilities/list.scss +3 -0
  92. package/scss/utilities/postion.scss +3 -0
  93. package/scss/utilities/spacing.scss +3 -0
  94. package/scss/utilities/typography.scss +3 -0
  95. package/scss/utilities/visibility.scss +3 -0
  96. package/scss/utilities.scss +3 -0
  97. package/{scss → src/scss}/_defaults.scss +40 -13
  98. package/src/scss/_index.scss +14 -0
  99. package/src/scss/_init.scss +3 -0
  100. package/{scss → src/scss}/_variables.scss +14 -24
  101. package/{scss → src/scss}/base/_index.scss +1 -0
  102. package/{scss → src/scss}/base/form/_defaults.scss +0 -2
  103. package/{scss → src/scss}/base/form/_index.scss +12 -0
  104. package/src/scss/base/form/_variables.scss +145 -0
  105. package/{scss → src/scss}/base/link/_defaults.scss +0 -2
  106. package/src/scss/base/link/_index.scss +50 -0
  107. package/src/scss/base/link/_variables.scss +36 -0
  108. package/src/scss/base/table/_defaults.scss +8 -0
  109. package/src/scss/base/table/_index.scss +27 -0
  110. package/src/scss/base/table/_variables.scss +65 -0
  111. package/{scss → src/scss}/component/_index.scss +2 -0
  112. package/src/scss/component/button/_defaults.scss +39 -0
  113. package/src/scss/component/button/_index.scss +134 -0
  114. package/src/scss/component/button/_variables.scss +132 -0
  115. package/src/scss/component/input-group/_defaults.scss +23 -0
  116. package/src/scss/component/input-group/_index.scss +45 -0
  117. package/src/scss/component/input-group/_variables.scss +63 -0
  118. package/src/scss/component/table/_defaults.scss +30 -0
  119. package/src/scss/component/table/_index.scss +77 -0
  120. package/src/scss/component/table/_variables.scss +64 -0
  121. package/src/scss/functions/_important.scss +11 -0
  122. package/src/scss/functions/_theme.scss +18 -0
  123. package/{scss → src/scss}/layout/columns/_defaults.scss +1 -4
  124. package/src/scss/layout/columns/_index.scss +36 -0
  125. package/src/scss/layout/columns/_variables.scss +47 -0
  126. package/{scss → src/scss}/layout/container/_defaults.scss +0 -2
  127. package/src/scss/layout/container/_index.scss +36 -0
  128. package/src/scss/layout/container/_variables.scss +47 -0
  129. package/{scss → src/scss}/mixins/_layer.scss +2 -2
  130. package/{scss → src/scss}/mixins/_media-queries.scss +11 -0
  131. package/{scss → src/scss}/state/focus/_defaults.scss +0 -2
  132. package/src/scss/state/focus/_variables.scss +40 -0
  133. package/src/scss/theme/_index.scss +4 -0
  134. package/src/scss/theme/color/_defaults.scss +61 -0
  135. package/src/scss/theme/color/_index.scss +42 -0
  136. package/src/scss/theme/color/_variables.scss +121 -0
  137. package/src/scss/theme/typography/_defaults.scss +52 -0
  138. package/src/scss/theme/typography/_index.scss +111 -0
  139. package/src/scss/theme/typography/_variables.scss +227 -0
  140. package/src/scss/utilities/_index.scss +13 -0
  141. package/src/scss/utilities/alignment/_defaults.scss +57 -0
  142. package/src/scss/utilities/alignment/_index.scss +29 -0
  143. package/src/scss/utilities/alignment/_variables.scss +3 -0
  144. package/src/scss/utilities/color/_defaults.scss +30 -0
  145. package/src/scss/utilities/color/_index.scss +38 -0
  146. package/src/scss/utilities/color/_variables.scss +3 -0
  147. package/src/scss/utilities/display/_defaults.scss +27 -0
  148. package/src/scss/utilities/display/_index.scss +15 -0
  149. package/src/scss/utilities/display/_variables.scss +3 -0
  150. package/src/scss/utilities/flex/_defaults.scss +58 -0
  151. package/src/scss/utilities/flex/_index.scss +36 -0
  152. package/src/scss/utilities/flex/_variables.scss +3 -0
  153. package/src/scss/utilities/inset/_defaults.scss +36 -0
  154. package/src/scss/utilities/inset/_index.scss +19 -0
  155. package/src/scss/utilities/inset/_variables.scss +3 -0
  156. package/src/scss/utilities/justification/_defaults.scss +54 -0
  157. package/src/scss/utilities/justification/_index.scss +29 -0
  158. package/src/scss/utilities/justification/_variables.scss +3 -0
  159. package/src/scss/utilities/list/_defaults.scss +34 -0
  160. package/src/scss/utilities/list/_index.scss +22 -0
  161. package/src/scss/utilities/list/_variables.scss +3 -0
  162. package/src/scss/utilities/position/_defaults.scss +21 -0
  163. package/src/scss/utilities/position/_index.scss +15 -0
  164. package/src/scss/utilities/position/_variables.scss +3 -0
  165. package/src/scss/utilities/spacing/_defaults.scss +44 -0
  166. package/src/scss/utilities/spacing/_index.scss +64 -0
  167. package/src/scss/utilities/spacing/_variables.scss +3 -0
  168. package/src/scss/utilities/typography/_defaults.scss +25 -0
  169. package/src/scss/utilities/typography/_index.scss +95 -0
  170. package/src/scss/utilities/typography/_variables.scss +3 -0
  171. package/src/scss/utilities/visibility/_defaults.scss +20 -0
  172. package/src/scss/utilities/visibility/_index.scss +15 -0
  173. package/src/scss/utilities/visibility/_variables.scss +3 -0
  174. package/stylelint.config.js +2 -0
  175. package/dist/base/form/form.css +0 -78
  176. package/dist/base/form/form.css.map +0 -1
  177. package/dist/base/link/link.css +0 -26
  178. package/dist/base/link/link.css.map +0 -1
  179. package/dist/component/button/button.css +0 -62
  180. package/dist/component/button/button.css.map +0 -1
  181. package/dist/layout/columns/columns.css +0 -41
  182. package/dist/layout/columns/columns.css.map +0 -1
  183. package/dist/layout/container/container.css +0 -38
  184. package/dist/layout/container/container.css.map +0 -1
  185. package/dist/state/focus/focus.css +0 -10
  186. package/dist/state/focus/focus.css.map +0 -1
  187. package/dist/theme/theme.css +0 -42
  188. package/dist/theme/theme.css.map +0 -1
  189. package/scss/base/form/_variables.scss +0 -133
  190. package/scss/base/form/form.scss +0 -3
  191. package/scss/base/link/_index.scss +0 -33
  192. package/scss/base/link/_variables.scss +0 -31
  193. package/scss/base/link/link.scss +0 -3
  194. package/scss/component/button/_defaults.scss +0 -10
  195. package/scss/component/button/_index.scss +0 -75
  196. package/scss/component/button/_variables.scss +0 -102
  197. package/scss/component/button/button.scss +0 -3
  198. package/scss/layout/columns/_index.scss +0 -38
  199. package/scss/layout/columns/_variables.scss +0 -24
  200. package/scss/layout/columns/columns.scss +0 -3
  201. package/scss/layout/container/_index.scss +0 -50
  202. package/scss/layout/container/_variables.scss +0 -26
  203. package/scss/layout/container/container.scss +0 -3
  204. package/scss/state/focus/_variables.scss +0 -36
  205. package/scss/state/focus/focus.scss +0 -3
  206. package/scss/theme/_defaults.scss +0 -56
  207. package/scss/theme/_index.scss +0 -53
  208. package/scss/theme/_variables.scss +0 -297
  209. package/scss/theme/theme.scss +0 -3
  210. /package/{scss → src/scss}/layout/_index.scss +0 -0
  211. /package/{scss → src/scss}/state/_index.scss +0 -0
  212. /package/{scss → src/scss}/state/focus/_index.scss +0 -0
@@ -0,0 +1,29 @@
1
+ // Graupl justification utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults" as defaults;
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+
8
+ @include layer(utilities) {
9
+ // For each justify content property, create a utility class.
10
+ @each $name, $property in defaults.$justify-content-properties {
11
+ .#{defaults.$justify-content-class-prefix}#{$name} {
12
+ justify-content: important.insert($property);
13
+ }
14
+ }
15
+
16
+ // For each justify items property, create a utility class.
17
+ @each $name, $property in defaults.$justify-items-properties {
18
+ .#{defaults.$justify-items-class-prefix}#{$name} {
19
+ justify-items: important.insert($property);
20
+ }
21
+ }
22
+
23
+ // For each justify self property, create a utility class.
24
+ @each $name, $property in defaults.$justify-self-properties {
25
+ .#{defaults.$justify-self-class-prefix}#{$name} {
26
+ justify-self: important.insert($property);
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -0,0 +1,34 @@
1
+ // Default values for Graupl.
2
+ //
3
+ // Generally, these should not be used directly when styling components.
4
+ // They are mainly used to provide default fallbacks for custom properties
5
+ // which can be found in the `variables.scss` file.
6
+
7
+ @use "sass:map";
8
+
9
+ // List style type properties.
10
+ $list-style-type-class-prefix: "list-style-" !default;
11
+ $base-list-style-type-properties: (
12
+ none: none,
13
+ disc: disc,
14
+ decimal: decimal,
15
+ circle: circle,
16
+ square: square,
17
+ );
18
+ $custom-list-style-type-properties: () !default;
19
+ $list-style-type-properties: map.merge(
20
+ $base-list-style-type-properties,
21
+ $custom-list-style-type-properties
22
+ );
23
+
24
+ // List style position properties.
25
+ $list-style-postion-class-prefix: "list-style-" !default;
26
+ $base-list-style-postion-properties: (
27
+ inside: inside,
28
+ outside: outside,
29
+ );
30
+ $custom-list-style-postion-properties: () !default;
31
+ $list-style-postion-properties: map.merge(
32
+ $base-list-style-postion-properties,
33
+ $custom-list-style-postion-properties
34
+ );
@@ -0,0 +1,22 @@
1
+ // Graupl visibility utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults" as defaults;
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+
8
+ @include layer(utilities) {
9
+ // For each list style type property, create a utility class.
10
+ @each $name, $property in defaults.$list-style-type-properties {
11
+ .#{defaults.$list-style-type-class-prefix}#{$name} {
12
+ list-style-type: important.insert($property);
13
+ }
14
+ }
15
+
16
+ // For each list style position property, create a utility class.
17
+ @each $name, $property in defaults.$list-style-postion-properties {
18
+ .#{defaults.$list-style-type-class-prefix}#{$name} {
19
+ list-style-position: important.insert($property);
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -0,0 +1,21 @@
1
+ // Default values for Graupl.
2
+ //
3
+ // Generally, these should not be used directly when styling components.
4
+ // They are mainly used to provide default fallbacks for custom properties
5
+ // which can be found in the `variables.scss` file.
6
+
7
+ @use "sass:map";
8
+
9
+ $position-class-prefix: "position-" !default;
10
+ $base-position-properties: (
11
+ static: static,
12
+ fixed: fixed,
13
+ absolute: absolute,
14
+ relative: relative,
15
+ sticky: sticky,
16
+ );
17
+ $custom-position-properties: () !default;
18
+ $position-properties: map.merge(
19
+ $base-position-properties,
20
+ $custom-position-properties
21
+ );
@@ -0,0 +1,15 @@
1
+ // Graupl position utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults" as defaults;
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+
8
+ @include layer(utilities) {
9
+ // For each position property, create a utility class.
10
+ @each $name, $property in defaults.$position-properties {
11
+ .#{defaults.$position-class-prefix}#{$name} {
12
+ position: important.insert($property);
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -0,0 +1,44 @@
1
+ // Default values for Graupl.
2
+ //
3
+ // Generally, these should not be used directly when styling components.
4
+ // They are mainly used to provide default fallbacks for custom properties
5
+ // which can be found in the `variables.scss` file.
6
+
7
+ @use "sass:map";
8
+
9
+ $base-spacing-properties: (
10
+ g: gap,
11
+ rg: row-gap,
12
+ cg: column-gap,
13
+ p: padding,
14
+ pt: padding-top,
15
+ pr: padding-right,
16
+ pb: padding-bottom,
17
+ pl: padding-left,
18
+ px: padding-left padding-right,
19
+ py: padding-top padding-bottom,
20
+ pbs: padding-block-start,
21
+ pbe: padding-block-end,
22
+ pbse: padding-block-start padding-block-end,
23
+ pis: padding-inline-start,
24
+ pie: padding-inline-end,
25
+ pise: padding-inline-start padding-inline-end,
26
+ m: margin,
27
+ mt: margin-top,
28
+ mr: margin-right,
29
+ mb: margin-bottom,
30
+ ml: margin-left,
31
+ mx: margin-left margin-right,
32
+ my: margin-top margin-bottom,
33
+ mbs: margin-block-start,
34
+ mbe: margin-block-end,
35
+ mbse: margin-block-start margin-block-end,
36
+ mis: margin-inline-start,
37
+ mie: margin-inline-end,
38
+ mise: margin-inline-start margin-inline-end,
39
+ );
40
+ $custom-spacing-properties: () !default;
41
+ $spacing-properties: map.merge(
42
+ $base-spacing-properties,
43
+ $custom-spacing-properties
44
+ );
@@ -0,0 +1,64 @@
1
+ // Graupl spacing utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults" as defaults;
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+ @use "../../variables" as root-variables;
8
+ @use "../../defaults" as root-defaults;
9
+
10
+ @include layer(utilities) {
11
+ // For each spacing property, create a utility class.
12
+ @each $name, $property in defaults.$spacing-properties {
13
+ @each $key, $value in root-variables.$spacers {
14
+ .#{$name}-#{$key} {
15
+ // If we're dealing with gap, column-gap, or row-gap inside of .columns, we should update
16
+ // the columns-column-gap property instead of the raw property.
17
+ @if $name == "g" {
18
+ &.columns {
19
+ --#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
20
+ $value
21
+ )};
22
+ --#{root-defaults.$prefix}-columns-row-gap: #{important.insert(
23
+ $value
24
+ )};
25
+ }
26
+
27
+ &:not(.columns) {
28
+ @each $prop in $property {
29
+ #{$prop}: important.insert($value);
30
+ }
31
+ }
32
+ } @else if $name == "cg" {
33
+ &.columns {
34
+ --#{root-defaults.$prefix}-columns-column-gap: #{important.insert(
35
+ $value
36
+ )};
37
+ }
38
+
39
+ &:not(.columns) {
40
+ @each $prop in $property {
41
+ #{$prop}: important.insert($value);
42
+ }
43
+ }
44
+ } @else if $name == "rg" {
45
+ &.columns {
46
+ --#{root-defaults.$prefix}-columns-row-gap: #{important.insert(
47
+ $value
48
+ )};
49
+ }
50
+
51
+ &:not(.columns) {
52
+ @each $prop in $property {
53
+ #{$prop}: important.insert($value);
54
+ }
55
+ }
56
+ } @else {
57
+ @each $prop in $property {
58
+ #{$prop}: important.insert($value);
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -0,0 +1,25 @@
1
+ // Default values for Graupl.
2
+ //
3
+ // Generally, these should not be used directly when styling components.
4
+ // They are mainly used to provide default fallbacks for custom properties
5
+ // which can be found in the `variables.scss` file.
6
+
7
+ @use "sass:map";
8
+
9
+ // Text size properties.
10
+ $text-class-prefix: "text-" !default;
11
+
12
+ // Font weight properties.
13
+ $font-weight-class-prefix: "font-" !default;
14
+
15
+ // Font style properties.
16
+ $font-style-class-prefix: "font-" !default;
17
+ $base-font-style-properties: (
18
+ normal: normal,
19
+ italic: italic,
20
+ );
21
+ $custom-font-style-properties: () !default;
22
+ $font-style-properties: map.merge(
23
+ $base-font-style-properties,
24
+ $custom-font-style-properties
25
+ );
@@ -0,0 +1,95 @@
1
+ // Graupl typography utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults";
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+ @use "../../theme/typography/variables" as typography;
8
+
9
+ @include layer(utilities) {
10
+ // For each font size property, create a utility class.
11
+ @each $size, $value in typography.$font-sizes {
12
+ .#{defaults.$text-class-prefix}#{$size} {
13
+ font-size: important.insert($value);
14
+ }
15
+ }
16
+
17
+ // Create utility classes for each type of text style in Graupl.
18
+ // These will apply not only the font size, but also the margin, font weight, and line height.
19
+ // This will allow for a more consistent and maintainable typography system.
20
+ .#{defaults.$text-class-prefix}paragraph {
21
+ margin: important.insert(typography.$paragraph-margin);
22
+ font-size: important.insert(typography.$paragraph-font-size);
23
+ font-weight: important.insert(typography.$paragraph-font-weight);
24
+ line-height: important.insert(typography.$paragraph-line-height);
25
+ }
26
+
27
+ .#{defaults.$text-class-prefix}small {
28
+ margin: important.insert(typography.$small-margin);
29
+ font-size: important.insert(typography.$small-font-size);
30
+ font-weight: important.insert(typography.$small-font-weight);
31
+ line-height: important.insert(typography.$small-line-height);
32
+ }
33
+
34
+ .#{defaults.$text-class-prefix}h1 {
35
+ margin: important.insert(typography.$h1-margin);
36
+ font-family: important.insert(typography.$h1-font-family);
37
+ font-size: important.insert(typography.$h1-font-size);
38
+ font-weight: important.insert(typography.$h1-font-weight);
39
+ line-height: important.insert(typography.$h1-line-height);
40
+ }
41
+
42
+ .#{defaults.$text-class-prefix}h2 {
43
+ margin: important.insert(typography.$h2-margin);
44
+ font-family: important.insert(typography.$h2-font-family);
45
+ font-size: important.insert(typography.$h2-font-size);
46
+ font-weight: important.insert(typography.$h2-font-weight);
47
+ line-height: important.insert(typography.$h2-line-height);
48
+ }
49
+
50
+ .#{defaults.$text-class-prefix}h3 {
51
+ margin: important.insert(typography.$h3-margin);
52
+ font-family: important.insert(typography.$h3-font-family);
53
+ font-size: important.insert(typography.$h3-font-size);
54
+ font-weight: important.insert(typography.$h3-font-weight);
55
+ line-height: important.insert(typography.$h3-line-height);
56
+ }
57
+
58
+ .#{defaults.$text-class-prefix}h4 {
59
+ margin: important.insert(typography.$h4-margin);
60
+ font-family: important.insert(typography.$h4-font-family);
61
+ font-size: important.insert(typography.$h4-font-size);
62
+ font-weight: important.insert(typography.$h4-font-weight);
63
+ line-height: important.insert(typography.$h4-line-height);
64
+ }
65
+
66
+ .#{defaults.$text-class-prefix}h5 {
67
+ margin: important.insert(typography.$h5-margin);
68
+ font-family: important.insert(typography.$h5-font-family);
69
+ font-size: important.insert(typography.$h5-font-size);
70
+ font-weight: important.insert(typography.$h5-font-weight);
71
+ line-height: important.insert(typography.$h5-line-height);
72
+ }
73
+
74
+ .#{defaults.$text-class-prefix}h6 {
75
+ margin: important.insert(typography.$h6-margin);
76
+ font-family: important.insert(typography.$h6-font-family);
77
+ font-size: important.insert(typography.$h6-font-size);
78
+ font-weight: important.insert(typography.$h6-font-weight);
79
+ line-height: important.insert(typography.$h6-line-height);
80
+ }
81
+
82
+ // For each font weight property, create a utility class.
83
+ @each $size, $value in typography.$font-weights {
84
+ .#{defaults.$font-weight-class-prefix}#{$size} {
85
+ font-weight: important.insert($value);
86
+ }
87
+ }
88
+
89
+ // For each font style property, create a utility class.
90
+ @each $size, $value in defaults.$font-style-properties {
91
+ .#{defaults.$font-style-class-prefix}#{$size} {
92
+ font-style: important.insert($value);
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -0,0 +1,20 @@
1
+ // Default values for Graupl.
2
+ //
3
+ // Generally, these should not be used directly when styling components.
4
+ // They are mainly used to provide default fallbacks for custom properties
5
+ // which can be found in the `variables.scss` file.
6
+
7
+ @use "sass:map";
8
+
9
+ // Visibility properties.
10
+ $visibility-class-prefix: "visibility-" !default;
11
+ $base-visibility-properties: (
12
+ visible: visible,
13
+ hidden: hidden,
14
+ collapse: collapse,
15
+ );
16
+ $custom-visibility-properties: () !default;
17
+ $visibility-properties: map.merge(
18
+ $base-visibility-properties,
19
+ $custom-visibility-properties
20
+ );
@@ -0,0 +1,15 @@
1
+ // Graupl visibility utilities.
2
+
3
+ @use "variables" as *;
4
+ @use "defaults" as defaults;
5
+ @use "../../mixins/layer" as *;
6
+ @use "../../functions/important";
7
+
8
+ @include layer(utilities) {
9
+ // For each visibility property, create a utility class.
10
+ @each $name, $property in defaults.$visibility-properties {
11
+ .#{defaults.$visibility-class-prefix}#{$name} {
12
+ visibility: important.insert($property);
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ // Variables referencing custom properties.
2
+
3
+ @forward "defaults";
@@ -8,6 +8,8 @@ const config = {
8
8
  rules: {
9
9
  "prettier/prettier": true,
10
10
  "scss/comment-no-empty": null,
11
+ "selector-max-compound-selectors": 4,
12
+ "selector-no-qualifying-type": null,
11
13
  },
12
14
  };
13
15
 
@@ -1,78 +0,0 @@
1
- @layer graupl.base{
2
- input,
3
- textarea,
4
- select{
5
- padding:var(--graupl-input-padding, var(--graupl-input-padding-y, calc(var(--graupl-gap, 1rem) / 2)) var(--graupl-input-padding-x, var(--graupl-gap, 1rem)));
6
- border-width:var(--graupl-input-border-width, var(--graupl-border-width, 2px));
7
- border-style:var(--graupl-botton-border-style, var(--graupl-border-style, solid));
8
- border-radius:var(--graupl-input-border-radius, var(--graupl-border-radius, 0.125rem));
9
- font-size:var(--graupl-input-font-size, var(--graupl-font-size-default, 1rem));
10
- }
11
- input:disabled,
12
- textarea:disabled,
13
- select:disabled{
14
- cursor:not-allowed;
15
- }
16
- label{
17
- font-size:var(--graupl-label-font-size, var(--graupl-input-font-size, var(--graupl-font-size-default, 1rem)));
18
- }
19
- fieldset{
20
- display:flex;
21
- flex-flow:var(--graupl-fieldset-direction, column) wrap;
22
- gap:var(--graupl-fieldset-gap, calc(var(--graupl-gap, 1rem) / 4));
23
- padding:var(--graupl-fieldset-padding, var(--graupl-fieldset-padding-y, var(--graupl-input-padding-y, calc(var(--graupl-gap, 1rem) / 2))) var(--graupl-fieldset-padding-x, var(--graupl-input-padding-x, var(--graupl-gap, 1rem))));
24
- border-width:var(--graupl-fieldset-border-width, var(--graupl-input-border-width, var(--graupl-border-width, 2px)));
25
- border-style:var(--graupl-fieldset-border-style, var(--graupl-botton-border-style, var(--graupl-border-style, solid)));
26
- border-radius:var(--graupl-fieldset-border-radius, var(--graupl-input-border-radius, var(--graupl-border-radius, 0.125rem)));
27
- font-size:var(--graupl-fieldset-font-size, var(--graupl-input-font-size, var(--graupl-font-size-default, 1rem)));
28
- }
29
- }
30
- @layer graupl.theme{
31
- input,
32
- textarea,
33
- select{
34
- border-color:var(--graupl-input-border-color, var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%)))));
35
- background:var(--graupl-input-background, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%)))));
36
- color:var(--graupl-input-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
37
- accent-color:var(--graupl-input-accent-color, var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%)))));
38
- }
39
- input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder{
40
- color:var(--graupl-input-placeholder-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%)))));
41
- }
42
- input::placeholder,
43
- textarea::placeholder,
44
- select::placeholder{
45
- color:var(--graupl-input-placeholder-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%)))));
46
- }
47
- input:disabled,
48
- textarea:disabled,
49
- select:disabled{
50
- border-color:var(--graupl-input-disabled-border-color, var(--graupl-theme-active--shade--light, var(--graupl-theme-light--shade--light, var(--graupl-primary--200, hsl(219, 90%, 80%)))));
51
- color:var(--graupl-input-disabled-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%)))));
52
- }
53
- input:disabled::-moz-placeholder, textarea:disabled::-moz-placeholder, select:disabled::-moz-placeholder{
54
- color:var(--graupl-input-disabled-placeholder-color, var(--graupl-input-disabled-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%))))));
55
- }
56
- input:disabled::placeholder,
57
- textarea:disabled::placeholder,
58
- select:disabled::placeholder{
59
- color:var(--graupl-input-disabled-placeholder-color, var(--graupl-input-disabled-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%))))));
60
- }
61
- label{
62
- color:var(--graupl-label-color, var(--graupl-input-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%))))));
63
- }
64
- label:has(+ input:disabled, + textarea:disabled, + select:disabled){
65
- color:var(--graupl-label-disabled-color, var(--graupl-input-disabled-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%))))));
66
- }
67
- fieldset{
68
- border-color:var(--graupl-fieldset-border-color, var(--graupl-input-border-color, var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))))));
69
- background:var(--graupl-fieldset-background, var(--graupl-input-background, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%))))));
70
- color:var(--graupl-fieldset-color, var(--graupl-input-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%))))));
71
- }
72
- fieldset:disabled{
73
- border-color:var(--graupl-fieldset-disabled-border-color, var(--graupl-input-disabled-border-color, var(--graupl-theme-active--shade--light, var(--graupl-theme-light--shade--light, var(--graupl-primary--200, hsl(219, 90%, 80%))))));
74
- color:var(--graupl-fieldset-disabled-color, var(--graupl-input-disabled-color, var(--graupl-theme-active--secondary--light, var(--graupl-theme-light--secondary--light, var(--graupl-secondary--600, hsl(235, 15%, 45%))))));
75
- }
76
- }
77
-
78
- /*# sourceMappingURL=form.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/base/form/_index.scss","../../../scss/base/form/_variables.scss","form.css"],"names":[],"mappings":"AASI;ECHF;;;IAGE,4JCGY;IDFZ,8EC2EiB;ID1EjB,iFC8EiB;ID7EjB,sFCiFkB;IDhFlB,8ECGc;ECNhB;EFKE;;;IACE,kBAAA;EEDJ;EFKA;IACE,6GCDc;ECFhB;EFMA;IACE,YAAA;IACA,uDAAA;IACA,iECCW;IDAX,mOCSe;IDRf,mHCoEoB;IDnEpB,sHCuEoB;IDtEpB,4HC0EqB;IDzErB,gHCSiB;ECbnB;AACF;AHpBI;EC4BF;;;IAGE,4KCuEiB;IDtEjB,+JCMe;IDLf,mJCeU;IDdV,sKCsFiB;EC3FnB;EFOE;IACE,wLCeoB;EClBxB;EFEE;;;IACE,wLCeoB;EClBxB;EFME;;;IACE,yLCiEwB;IDhExB,qLCgBiB;EClBrB;EFII;IACE,qOCiB2B;ECjBjC;EFDI;;;IACE,qOCiB2B;ECjBjC;EFKA;IACE,8KCKU;ECRZ;EFKE;IACE,yNCYiB;ECfrB;EFOA;IACE,iNCmDoB;IDlDpB,kMClBkB;IDmBlB,iLCJa;ECDf;EFOE;IACE,uOCkD2B;IDjD3B,4NCKoB;ECVxB;AACF","file":"form.css"}
@@ -1,26 +0,0 @@
1
- @layer graupl.base{
2
- a{
3
- -webkit-text-decoration:var(--graupl-link-text-decoration, underline);
4
- text-decoration:var(--graupl-link-text-decoration, underline);
5
- text-decoration-thickness:var(--graupl-link-text-decoration-thickness, var(--graupl-border-width, 2px));
6
- }
7
- }
8
- @layer graupl.theme{
9
- a{
10
- color:var(--graupl-link-color, var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%)))));
11
- }
12
- a:hover{
13
- color:var(--graupl-link-hover-color, var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%)))));
14
- }
15
- a:active{
16
- color:var(--graupl-link-active-color, var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%)))));
17
- }
18
- a:visited{
19
- color:var(--graupl-link-visited-color, var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%)))));
20
- }
21
- a:visited:hover{
22
- color:var(--graupl-link-hover-color, var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%)))));
23
- }
24
- }
25
-
26
- /*# sourceMappingURL=link.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/base/link/_index.scss","../../../scss/base/link/_variables.scss","link.css"],"names":[],"mappings":"AASI;ECHF;IACE,qEAAA;YAAA,6DAAA;IACA,uGCG6B;ECN/B;AACF;AHGI;ECIF;IACE,uJCCS;ECLX;EFME;IACE,gKCEa;ECNjB;EFOE;IACE,iKCEc;ECPlB;EFQE;IACE,+JCEe;ECRnB;EFQI;IACE,gKCTW;ECGjB;AACF","file":"link.css"}
@@ -1,62 +0,0 @@
1
- @layer graupl.component{
2
- .button{
3
- display:flex;
4
- align-items:center;
5
- justify-content:center;
6
- min-width:var(--graupl-button-min-width, 44px);
7
- min-height:var(--graupl-button-min-height, 44px);
8
- padding:var(--graupl-button-padding, var(--graupl-button-padding-y, calc(var(--graupl-gap, 1rem) / 2)) var(--graupl-button-padding-x, var(--graupl-gap, 1rem)));
9
- transition:var(--graupl-button-transition, background var(--graupl-transition-duration-fast, 150ms) var(--graupl-transition-timing-function, ease), color var(--graupl-transition-duration-fast, 150ms) var(--graupl-transition-timing-function, ease), border-color var(--graupl-transition-duration-fast, 150ms) var(--graupl-transition-timing-function, ease), transform var(--graupl-transition-duration-fast, 150ms) var(--graupl-transition-timing-function, ease));
10
- border-width:var(--graupl-button-border-width, var(--graupl-border-width, 2px));
11
- border-style:var(--graupl-botton-border-style, var(--graupl-border-style, solid));
12
- border-radius:var(--graupl-button-border-radius, var(--graupl-border-radius, 0.125rem));
13
- font-size:var(--graupl-button-font-size, var(--graupl-font-size-default, 1rem));
14
- cursor:pointer;
15
- }
16
- .button:hover{
17
- transform:var(--graupl-button-hover-transform, none);
18
- }
19
- .button:active{
20
- transform:var(--graupl-button-active-transform, scale(0.95));
21
- }
22
- }
23
- @layer graupl.theme{
24
- .button{
25
- border-color:var(--graupl-button-border-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
26
- background:var(--graupl-button-background, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%)))));
27
- color:var(--graupl-button-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
28
- }
29
- .button:hover{
30
- border-color:var(--graupl-button-hover-border-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
31
- background:var(--graupl-button-hover-background, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
32
- color:var(--graupl-button-hover-color, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%)))));
33
- }
34
- .button:active{
35
- border-color:var(--graupl-button-active-border-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
36
- background:var(--graupl-button-active-background, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
37
- color:var(--graupl-button-active-color, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%)))));
38
- }
39
- .button.primary{
40
- --graupl-button-hover-background:var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%))));
41
- --graupl-button-active-background:var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%))));
42
- --graupl-button-border-color:var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%))));
43
- --graupl-button-hover-border-color:var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%))));
44
- --graupl-button-active-border-color:var(--graupl-theme-active--primary, var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%))));
45
- }
46
- .button.secondary{
47
- --graupl-button-hover-background:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))));
48
- --graupl-button-active-background:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))));
49
- --graupl-button-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))));
50
- --graupl-button-hover-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))));
51
- --graupl-button-active-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(235, 20%, 35%))));
52
- }
53
- .button.tertiary{
54
- --graupl-button-hover-background:var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%))));
55
- --graupl-button-active-background:var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%))));
56
- --graupl-button-border-color:var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%))));
57
- --graupl-button-hover-border-color:var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%))));
58
- --graupl-button-active-border-color:var(--graupl-theme-active--tertiary, var(--graupl-theme-light--tertiary, var(--graupl-tertiary--700, hsl(340, 65%, 35%))));
59
- }
60
- }
61
-
62
- /*# sourceMappingURL=button.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/component/button/_index.scss","../../../scss/component/button/_variables.scss","button.css"],"names":[],"mappings":"AASI;ECDF;IACE,YAAA;IACA,kBAAA;IACA,sBAAA;IACA,8CCJe;IDKf,gDCDgB;IDEhB,+JCOa;IDNb,0cCcgB;IDbhB,+EC4DkB;ID3DlB,iFC+DkB;ID9DlB,uFCkEmB;IDjEnB,+ECMe;IDLf,cAAA;EELF;EFOE;IACE,oDCemB;ECpBvB;EFQE;IACE,4DCeoB;ECrBxB;AACF;AHbI;ECwBF;IACE,kKCwDkB;IDvDlB,gKCagB;IDZhB,oJC0BW;EClCb;EFUE;IACE,wKCuDsB;IDtDtB,oKCYoB;IDXpB,4JCyBe;ECjCnB;EFWE;IACE,yKCqDuB;IDpDvB,qKCUqB;IDTrB,6JCuBgB;EChCpB;EFYE;IACE,wJAAA;IACA,yJAAA;IACA,oJAAA;IACA,0JAAA;IACA,2JAAA;EEVJ;EFaE;IACE,8JAAA;IACA,+JAAA;IACA,0JAAA;IACA,gKAAA;IACA,iKAAA;EEXJ;EFcE;IACE,2JAAA;IACA,4JAAA;IACA,uJAAA;IACA,6JAAA;IACA,8JAAA;EEZJ;AACF","file":"button.css"}
@@ -1,41 +0,0 @@
1
- @layer graupl.layout{
2
- .columns{
3
- display:grid;
4
- grid-template-columns:var(--graupl-columns, repeat(auto-fit, minmax(var(--graupl-columns-min-width, calc((var(--graupl-content-max-width, 96ch) - var(--graupl-columns-gap, var(--graupl-gap, 1rem)) * (var(--graupl-columns-count, 3) - 1)) / var(--graupl-columns-count, 3))), var(--graupl-columns-max-width, 1fr))));
5
- gap:var(--graupl-columns-gap, var(--graupl-gap, 1rem));
6
- }
7
- .columns > *{
8
- grid-column:span var(--graupl-columns-span, 1);
9
- }
10
- .columns-1{
11
- --graupl-columns-count:1;
12
- }
13
- .span-1{
14
- --graupl-columns-span:1;
15
- }
16
- .columns-2{
17
- --graupl-columns-count:2;
18
- }
19
- .span-2{
20
- --graupl-columns-span:2;
21
- }
22
- .columns-3{
23
- --graupl-columns-count:3;
24
- }
25
- .span-3{
26
- --graupl-columns-span:3;
27
- }
28
- .columns-4{
29
- --graupl-columns-count:4;
30
- }
31
- .span-4{
32
- --graupl-columns-span:4;
33
- }
34
- @media screen and (max-width: 48ch){
35
- .columns{
36
- --graupl-columns-min-width:1fr;
37
- }
38
- }
39
- }
40
-
41
- /*# sourceMappingURL=columns.css.map */