@graupl/graupl 1.0.0-alpha.0 → 1.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/.stylelintignore +9 -0
  2. package/CHANGELOG.md +178 -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 -170
  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 +337 -4
  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/src/scss/base/_index.scss +5 -0
  102. package/{scss/component/button → src/scss/base/form}/_defaults.scss +1 -4
  103. package/src/scss/base/form/_index.scss +90 -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/_variables.scss +32 -0
  107. package/src/scss/base/table/_defaults.scss +8 -0
  108. package/src/scss/base/table/_index.scss +27 -0
  109. package/src/scss/base/table/_variables.scss +65 -0
  110. package/{scss → src/scss}/component/_index.scss +2 -0
  111. package/src/scss/component/button/_defaults.scss +39 -0
  112. package/{scss → src/scss}/component/button/_index.scss +44 -13
  113. package/src/scss/component/button/_variables.scss +132 -0
  114. package/src/scss/component/input-group/_defaults.scss +23 -0
  115. package/src/scss/component/input-group/_index.scss +45 -0
  116. package/src/scss/component/input-group/_variables.scss +63 -0
  117. package/src/scss/component/table/_defaults.scss +30 -0
  118. package/src/scss/component/table/_index.scss +77 -0
  119. package/src/scss/component/table/_variables.scss +64 -0
  120. package/src/scss/functions/_important.scss +11 -0
  121. package/src/scss/functions/_theme.scss +18 -0
  122. package/{scss → src/scss}/layout/columns/_defaults.scss +2 -4
  123. package/src/scss/layout/columns/_index.scss +36 -0
  124. package/src/scss/layout/columns/_variables.scss +47 -0
  125. package/{scss → src/scss}/layout/container/_defaults.scss +0 -2
  126. package/src/scss/layout/container/_index.scss +36 -0
  127. package/src/scss/layout/container/_variables.scss +47 -0
  128. package/{scss → src/scss}/mixins/_layer.scss +2 -2
  129. package/{scss → src/scss}/mixins/_media-queries.scss +11 -0
  130. package/{scss → src/scss}/state/focus/_defaults.scss +0 -2
  131. package/src/scss/state/focus/_variables.scss +40 -0
  132. package/src/scss/theme/_index.scss +4 -0
  133. package/src/scss/theme/color/_defaults.scss +61 -0
  134. package/src/scss/theme/color/_index.scss +42 -0
  135. package/src/scss/theme/color/_variables.scss +121 -0
  136. package/src/scss/theme/typography/_defaults.scss +52 -0
  137. package/src/scss/theme/typography/_index.scss +111 -0
  138. package/src/scss/theme/typography/_variables.scss +227 -0
  139. package/src/scss/utilities/_index.scss +13 -0
  140. package/src/scss/utilities/alignment/_defaults.scss +57 -0
  141. package/src/scss/utilities/alignment/_index.scss +29 -0
  142. package/src/scss/utilities/alignment/_variables.scss +3 -0
  143. package/src/scss/utilities/color/_defaults.scss +30 -0
  144. package/src/scss/utilities/color/_index.scss +38 -0
  145. package/src/scss/utilities/color/_variables.scss +3 -0
  146. package/src/scss/utilities/display/_defaults.scss +27 -0
  147. package/src/scss/utilities/display/_index.scss +15 -0
  148. package/src/scss/utilities/display/_variables.scss +3 -0
  149. package/src/scss/utilities/flex/_defaults.scss +58 -0
  150. package/src/scss/utilities/flex/_index.scss +36 -0
  151. package/src/scss/utilities/flex/_variables.scss +3 -0
  152. package/src/scss/utilities/inset/_defaults.scss +36 -0
  153. package/src/scss/utilities/inset/_index.scss +19 -0
  154. package/src/scss/utilities/inset/_variables.scss +3 -0
  155. package/src/scss/utilities/justification/_defaults.scss +54 -0
  156. package/src/scss/utilities/justification/_index.scss +29 -0
  157. package/src/scss/utilities/justification/_variables.scss +3 -0
  158. package/src/scss/utilities/list/_defaults.scss +34 -0
  159. package/src/scss/utilities/list/_index.scss +22 -0
  160. package/src/scss/utilities/list/_variables.scss +3 -0
  161. package/src/scss/utilities/position/_defaults.scss +21 -0
  162. package/src/scss/utilities/position/_index.scss +15 -0
  163. package/src/scss/utilities/position/_variables.scss +3 -0
  164. package/src/scss/utilities/spacing/_defaults.scss +44 -0
  165. package/src/scss/utilities/spacing/_index.scss +64 -0
  166. package/src/scss/utilities/spacing/_variables.scss +3 -0
  167. package/src/scss/utilities/typography/_defaults.scss +25 -0
  168. package/src/scss/utilities/typography/_index.scss +95 -0
  169. package/src/scss/utilities/typography/_variables.scss +3 -0
  170. package/src/scss/utilities/visibility/_defaults.scss +20 -0
  171. package/src/scss/utilities/visibility/_index.scss +15 -0
  172. package/src/scss/utilities/visibility/_variables.scss +3 -0
  173. package/stylelint.config.js +2 -0
  174. package/dist/base/link/link.css +0 -26
  175. package/dist/base/link/link.css.map +0 -1
  176. package/dist/component/button/button.css +0 -55
  177. package/dist/component/button/button.css.map +0 -1
  178. package/dist/layout/columns/columns.css +0 -26
  179. package/dist/layout/columns/columns.css.map +0 -1
  180. package/dist/layout/container/container.css +0 -38
  181. package/dist/layout/container/container.css.map +0 -1
  182. package/dist/state/focus/focus.css +0 -10
  183. package/dist/state/focus/focus.css.map +0 -1
  184. package/dist/theme/theme.css +0 -26
  185. package/dist/theme/theme.css.map +0 -1
  186. package/scss/base/_index.scss +0 -3
  187. package/scss/base/link/_variables.scss +0 -31
  188. package/scss/base/link/link.scss +0 -3
  189. package/scss/component/button/_variables.scss +0 -102
  190. package/scss/component/button/button.scss +0 -3
  191. package/scss/layout/columns/_index.scss +0 -30
  192. package/scss/layout/columns/_variables.scss +0 -20
  193. package/scss/layout/columns/columns.scss +0 -3
  194. package/scss/layout/container/_index.scss +0 -50
  195. package/scss/layout/container/_variables.scss +0 -26
  196. package/scss/layout/container/container.scss +0 -3
  197. package/scss/state/focus/_variables.scss +0 -36
  198. package/scss/state/focus/focus.scss +0 -3
  199. package/scss/theme/_defaults.scss +0 -45
  200. package/scss/theme/_index.scss +0 -35
  201. package/scss/theme/_variables.scss +0 -177
  202. package/scss/theme/theme.scss +0 -3
  203. /package/{scss → src/scss}/base/link/_index.scss +0 -0
  204. /package/{scss → src/scss}/layout/_index.scss +0 -0
  205. /package/{scss → src/scss}/state/_index.scss +0 -0
  206. /package/{scss → src/scss}/state/focus/_index.scss +0 -0
@@ -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,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--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%)))));
14
- }
15
- a:active{
16
- color:var(--graupl-link-active-color, var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--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--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--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,mKCEa;ECNjB;EFOE;IACE,oKCEc;ECPlB;EFQE;IACE,+JCEe;ECRnB;EFQI;IACE,mKCTW;ECGjB;AACF","file":"link.css"}
@@ -1,55 +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(340, 65%, 35%))));
48
- --graupl-button-active-background:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%))));
49
- --graupl-button-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%))));
50
- --graupl-button-hover-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%))));
51
- --graupl-button-active-border-color:var(--graupl-theme-active--secondary, var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%))));
52
- }
53
- }
54
-
55
- /*# 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;AACF","file":"button.css"}
@@ -1,26 +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-1{
8
- --graupl-columns-count:1;
9
- }
10
- .columns-2{
11
- --graupl-columns-count:2;
12
- }
13
- .columns-3{
14
- --graupl-columns-count:3;
15
- }
16
- .columns-4{
17
- --graupl-columns-count:4;
18
- }
19
- @media screen and (max-width: 48ch){
20
- .columns{
21
- --graupl-columns-min-width:1fr;
22
- }
23
- }
24
- }
25
-
26
- /*# sourceMappingURL=columns.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/layout/columns/_index.scss","../../../scss/layout/columns/_variables.scss","columns.css"],"names":[],"mappings":"AASI;ECDF;IACE,YAAA;IACA,wTAAA;IAIA,sDCTU;ECAZ;EFaE;IACE,wBAAA;EEXJ;EFUE;IACE,wBAAA;EERJ;EFOE;IACE,wBAAA;EELJ;EFIE;IACE,wBAAA;EEFJ;EFOA;IACE;MACE,8BAAA;IELF;EACF;AACF","file":"columns.css"}
@@ -1,38 +0,0 @@
1
- @layer graupl.layout{
2
- .container,
3
- .container > .full-width{
4
- --graupl-container-full-width:minmax(var(--graupl-container-gap, var(--graupl-gap, 1rem)), 1fr);
5
- --graupl-container-content:min(
6
- var(--graupl-container-content-max-width, var(--graupl-content-max-width, 96ch)),
7
- calc(100% - var(--graupl-container-gap, var(--graupl-gap, 1rem)) * 2)
8
- );
9
- --graupl-container-breakout:minmax(
10
- 0,
11
- var(--graupl-container-breakout-width, calc((var(--graupl-container-breakout-max-width, calc(var(--graupl-container-content-max-width, var(--graupl-content-max-width, 96ch)) + 15ch)) - var(--graupl-container-content-max-width, var(--graupl-content-max-width, 96ch))) / 2))
12
- );
13
- --graupl-container-feature:minmax(
14
- 0,
15
- var(--graupl-container-feature-width, calc((var(--graupl-container-feature-max-width, calc(var(--graupl-container-breakout-max-width, calc(var(--graupl-container-content-max-width, var(--graupl-content-max-width, 96ch)) + 15ch)) + 20ch)) - var(--graupl-container-breakout-max-width, calc(var(--graupl-container-content-max-width, var(--graupl-content-max-width, 96ch)) + 15ch))) / 2))
16
- );
17
- display:grid;
18
- grid-template-columns:[full-width-start] var(--graupl-container-full-width) [feature-start] var(--graupl-container-feature) [breakout-start] var(--graupl-container-breakout) [content-start] var(--graupl-container-content) [content-end] var(--graupl-container-breakout) [breakout-end] var(--graupl-container-feature) [feature-end] var(--graupl-container-full-width) [full-width-end];
19
- }
20
- .container > :not(.breakout, .full-width, .feature),
21
- .container > .full-width > :not(.breakout, .full-width, .feature){
22
- grid-column:content;
23
- }
24
- .container .breakout,
25
- .container > .full-width .breakout{
26
- grid-column:breakout;
27
- }
28
- .container .feature,
29
- .container > .full-width .feature{
30
- grid-column:feature;
31
- }
32
- .container .full-width,
33
- .container > .full-width .full-width{
34
- grid-column:full-width;
35
- }
36
- }
37
-
38
- /*# sourceMappingURL=container.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/layout/container/_index.scss","container.css"],"names":[],"mappings":"AASI;ECFF;;IAEE,+FAAA;IACA;;;KAAA;IAIA;;;KAAA;IAIA;;;KAAA;IAKA,YAAA;IACA,6XACE;ECPJ;EDeE;;IACE,mBAAA;ECZJ;EDeE;;IACE,oBAAA;ECZJ;EDeE;;IACE,mBAAA;ECZJ;EDeE;;IACE,sBAAA;ECZJ;AACF","file":"container.css"}
@@ -1,10 +0,0 @@
1
- @layer graupl.state{
2
- *:focus-visible{
3
- border-color:transparent;
4
- outline:var(--graupl-focus-outline-width, var(--graupl-focus-width, var(--graupl-border-width, 2px))) var(--graupl-focus-outline-style, dotted) var(--graupl-focus-outline-color, var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)))));
5
- outline-offset:var(--graupl-focus-outline-offset, calc(-1 * var(--graupl-focus-outline-width, var(--graupl-focus-width, var(--graupl-border-width, 2px)))));
6
- box-shadow:var(--graupl-focus-box-shadow, var(--graupl-focus-width, var(--graupl-border-width, 2px)) var(--graupl-focus-width, var(--graupl-border-width, 2px)) 0 0 var(--graupl-focus-box-shadow-style, inset) var(--graupl-focus-box-shadow-color, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%))))), 0 0 0 var(--graupl-focus-width, var(--graupl-border-width, 2px)) var(--graupl-focus-box-shadow-style, inset) var(--graupl-focus-box-shadow-color, var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%))))));
7
- }
8
- }
9
-
10
- /*# sourceMappingURL=focus.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../scss/mixins/_layer.scss","../../../scss/state/focus/_index.scss","../../../scss/state/focus/_variables.scss","focus.css"],"names":[],"mappings":"AASI;ECHF;IACE,wBAAA;IACA,qSAAA;IACA,2JCUmB;IDTnB,onBCqBe;ECxBjB;AACF","file":"focus.css"}
@@ -1,26 +0,0 @@
1
- @layer graupl.theme{
2
- :root{
3
- background:var(--graupl-theme-active--light, var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%))));
4
- color:var(--graupl-theme-active--dark, var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%))));
5
- font-family:var(--graupl-font-family, system-ui, -apple-system, blinkmacsystemfont, Segoe UI, roboto, Helvetica Neue, arial, sans-serif);
6
- font-size:var(--graupl-font-size, clamp(0.85rem, 0.8rem + 0.5vw, 1.25rem));
7
- }
8
- .dark-mode{
9
- --graupl-theme-active--primary:var(--graupl-theme-dark--primary, var(--graupl-primary--300, hsl(219, 80%, 65%)));
10
- --graupl-theme-active--primary--dark:var(--graupl-theme-dark--primary--dark, var(--graupl-primary--200, hsl(219, 90%, 80%)));
11
- --graupl-theme-active--primary--light:var(--graupl-theme-dark--primary--light, var(--graupl-primary--400, hsl(219, 75%, 55%)));
12
- --graupl-theme-active--secondary:var(--graupl-theme-dark--secondary, var(--graupl-secondary--300, hsl(340, 65%, 65%)));
13
- --graupl-theme-active--light:var(--graupl-theme-dark--light, var(--graupl-primary--900, hsl(219, 100%, 10%)));
14
- --graupl-theme-active--dark:var(--graupl-theme-dark--dark, var(--graupl-primary--100, hsl(219, 100%, 95%)));
15
- }
16
- .light-mode{
17
- --graupl-theme-active--primary:var(--graupl-theme-light--primary, var(--graupl-primary--700, hsl(219, 80%, 35%)));
18
- --graupl-theme-active--primary--dark:var(--graupl-theme-light--primary--dark, var(--graupl-primary--800, hsl(219, 90%, 20%)));
19
- --graupl-theme-active--primary--light:var(--graupl-theme-light--primary--light, var(--graupl-primary--600, hsl(219, 75%, 45%)));
20
- --graupl-theme-active--secondary:var(--graupl-theme-light--secondary, var(--graupl-secondary--700, hsl(340, 65%, 35%)));
21
- --graupl-theme-active--light:var(--graupl-theme-light--light, var(--graupl-primary--100, hsl(219, 100%, 95%)));
22
- --graupl-theme-active--dark:var(--graupl-theme-light--dark, var(--graupl-primary--900, hsl(219, 100%, 10%)));
23
- }
24
- }
25
-
26
- /*# sourceMappingURL=theme.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../scss/mixins/_layer.scss","../../scss/theme/_index.scss","../../scss/theme/_variables.scss","theme.css"],"names":[],"mappings":"AASI;ECDF;IACE,+HCoJkB;IDnJlB,wHC+JiB;ID9JjB,wICoKU;IDnKV,0ECoKQ;ECzKV;EFSA;IACE,gHAAA;IACA,4HAAA;IACA,8HAAA;IACA,sHAAA;IACA,6GAAA;IACA,2GAAA;EEPF;EFWA;IACE,iHAAA;IACA,6HAAA;IACA,+HAAA;IACA,uHAAA;IACA,8GAAA;IACA,4GAAA;EETF;AACF","file":"theme.css"}
@@ -1,3 +0,0 @@
1
- // Graupl base.
2
-
3
- @forward "link";
@@ -1,31 +0,0 @@
1
- // Variables referencing custom properties.
2
-
3
- @use "../../variables" as base;
4
- @use "../../theme/variables" as theme;
5
- @use "defaults";
6
-
7
- // Link properties.
8
- $link-text-decoration: var(
9
- --#{defaults.$prefix}-link-text-decoration,
10
- #{defaults.$link-text-decoration}
11
- );
12
- $link-text-decoration-thickness: var(
13
- --#{defaults.$prefix}-link-text-decoration-thickness,
14
- #{base.$border-width}
15
- );
16
- $link-color: var(
17
- --#{defaults.$prefix}-link-color,
18
- #{theme.$theme-active--primary}
19
- );
20
- $link-hover-color: var(
21
- --#{defaults.$prefix}-link-hover-color,
22
- #{theme.$theme-active--secondary}
23
- );
24
- $link-active-color: var(
25
- --#{defaults.$prefix}-link-active-color,
26
- #{theme.$theme-active--secondary}
27
- );
28
- $link-visited-color: var(
29
- --#{defaults.$prefix}-link-visited-color,
30
- #{theme.$theme-active--primary}
31
- );
@@ -1,3 +0,0 @@
1
- // Link base styles.
2
-
3
- @forward "index";
@@ -1,102 +0,0 @@
1
- // Variables referencing custom properties.
2
-
3
- @use "../../variables" as base;
4
- @use "../../theme/variables" as theme;
5
- @use "defaults";
6
- @use "sass:map";
7
-
8
- // Button properties.
9
- $button-min-width: var(
10
- --#{defaults.$prefix}-button-min-width,
11
- #{defaults.$interactive-min-width}
12
- );
13
- $button-min-height: var(
14
- --#{defaults.$prefix}-button-min-height,
15
- #{defaults.$interactive-min-height}
16
- );
17
- $button-padding-x: var(--#{defaults.$prefix}-button-padding-x, #{base.$gap});
18
- $button-padding-y: var(
19
- --#{defaults.$prefix}-button-padding-y,
20
- calc(#{base.$gap} / 2)
21
- );
22
- $button-padding: var(
23
- --#{defaults.$prefix}-button-padding,
24
- #{$button-padding-y} #{$button-padding-x}
25
- );
26
- $button-font-size: var(
27
- --#{defaults.$prefix}-button-font-size,
28
- #{map.get(base.$font-size, default)}
29
- );
30
- $button-transition: var(
31
- --#{defaults.$prefix}-button-transition,
32
- background #{map.get(base.$transition-duration, fast)} #{base.$transition-timing-function},
33
- color #{map.get(base.$transition-duration, fast)} #{base.$transition-timing-function},
34
- border-color #{map.get(base.$transition-duration, fast)} #{base.$transition-timing-function},
35
- transform #{map.get(base.$transition-duration, fast)} #{base.$transition-timing-function}
36
- );
37
-
38
- // Transform properties.
39
- $button-hover-transform: var(
40
- --#{defaults.$prefix}-button-hover-transform,
41
- #{defaults.$button-hover-transform}
42
- );
43
- $button-active-transform: var(
44
- --#{defaults.$prefix}-button-active-transform,
45
- #{defaults.$button-active-transform}
46
- );
47
-
48
- // Background properties.
49
- $button-background: var(
50
- --#{defaults.$prefix}-button-background,
51
- #{theme.$theme-active--light}
52
- );
53
- $button-hover-background: var(
54
- --#{defaults.$prefix}-button-hover-background,
55
- #{theme.$theme-active--dark}
56
- );
57
- $button-active-background: var(
58
- --#{defaults.$prefix}-button-active-background,
59
- #{theme.$theme-active--dark}
60
- );
61
-
62
- // Text properties.
63
- $button-color: var(
64
- --#{defaults.$prefix}-button-color,
65
- #{theme.$theme-active--dark}
66
- );
67
- $button-hover-color: var(
68
- --#{defaults.$prefix}-button-hover-color,
69
- #{theme.$theme-active--light}
70
- );
71
- $button-active-color: var(
72
- --#{defaults.$prefix}-button-active-color,
73
- #{theme.$theme-active--light}
74
- );
75
-
76
- // Border properties.
77
- $button-border-width: var(
78
- --#{defaults.$prefix}-button-border-width,
79
- #{base.$border-width}
80
- );
81
- $button-border-style: var(
82
- --#{defaults.$prefix}-botton-border-style,
83
- #{base.$border-style}
84
- );
85
- $button-border-radius: var(
86
- --#{defaults.$prefix}-button-border-radius,
87
- #{base.$border-radius}
88
- );
89
-
90
- // Border colour properties.
91
- $button-border-color: var(
92
- --#{defaults.$prefix}-button-border-color,
93
- #{theme.$theme-active--dark}
94
- );
95
- $button-hover-border-color: var(
96
- --#{defaults.$prefix}-button-hover-border-color,
97
- #{theme.$theme-active--dark}
98
- );
99
- $button-active-border-color: var(
100
- --#{defaults.$prefix}-button-active-border-color,
101
- #{theme.$theme-active--dark}
102
- );
@@ -1,3 +0,0 @@
1
- // Graupl Button Component.
2
-
3
- @forward "index";
@@ -1,30 +0,0 @@
1
- // Graupl Columns layout.
2
-
3
- @use "variables" as *;
4
- @use "defaults";
5
- @use "../../variables" as base;
6
- @use "../../mixins/layer" as *;
7
-
8
- @include layer(layout) {
9
- .columns {
10
- display: grid;
11
- grid-template-columns: var(
12
- --#{defaults.$prefix}-columns,
13
- repeat(auto-fit, minmax(#{$columns-min-width}, #{$columns-max-width}))
14
- );
15
- gap: $columns-gap;
16
- }
17
-
18
- @for $i from defaults.$columns-min-count through defaults.$columns-max-count {
19
- .columns-#{$i} {
20
- --#{defaults.$prefix}-columns-count: #{$i};
21
- }
22
- }
23
-
24
- // Disable columns on small screens to avoid horizontal bleeding.
25
- @media screen and (max-width: #{defaults.$columns-disable-width}) {
26
- .columns {
27
- --#{defaults.$prefix}-columns-min-width: #{defaults.$columns-max-width};
28
- }
29
- }
30
- }