@graupl/graupl 1.0.0-alpha.9 → 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/.github/workflows/codeql-analysis.yml +3 -3
  2. package/.husky/commit-msg +0 -1
  3. package/.husky/pre-commit +0 -1
  4. package/CHANGELOG.md +153 -0
  5. package/build.js +7 -0
  6. package/dist/css/base/button.css +2 -0
  7. package/dist/css/base/button.css.map +1 -0
  8. package/dist/css/base/form.css +2 -0
  9. package/dist/css/base/form.css.map +1 -0
  10. package/dist/css/base/link.css +2 -0
  11. package/dist/css/base/link.css.map +1 -0
  12. package/dist/css/base/table.css +2 -0
  13. package/dist/css/base/table.css.map +1 -0
  14. package/dist/css/base.css +2 -0
  15. package/dist/css/base.css.map +1 -0
  16. package/dist/css/component/accordion.css +2 -0
  17. package/dist/css/component/accordion.css.map +1 -0
  18. package/dist/css/component/alert.css +2 -0
  19. package/dist/css/component/alert.css.map +1 -0
  20. package/dist/css/component/card.css +2 -0
  21. package/dist/css/component/card.css.map +1 -0
  22. package/dist/css/component/carousel.css +2 -0
  23. package/dist/css/component/carousel.css.map +1 -0
  24. package/dist/{component → css/component}/input-group.css +1 -1
  25. package/dist/css/component/input-group.css.map +1 -0
  26. package/dist/css/component/menu.css +2 -0
  27. package/dist/css/component/menu.css.map +1 -0
  28. package/dist/css/component/navigation.css +2 -0
  29. package/dist/css/component/navigation.css.map +1 -0
  30. package/dist/css/component.css +2 -0
  31. package/dist/css/component.css.map +1 -0
  32. package/dist/css/graupl.css +2 -0
  33. package/dist/css/graupl.css.map +1 -0
  34. package/dist/css/init.css +2 -0
  35. package/dist/css/init.css.map +1 -0
  36. package/dist/css/layout/columns.css +2 -0
  37. package/dist/css/layout/columns.css.map +1 -0
  38. package/dist/css/layout/container.css.map +1 -0
  39. package/dist/css/layout/flex-columns.css +2 -0
  40. package/dist/css/layout/flex-columns.css.map +1 -0
  41. package/dist/css/layout.css +2 -0
  42. package/dist/css/layout.css.map +1 -0
  43. package/dist/css/normalize.css +2 -0
  44. package/dist/css/normalize.css.map +1 -0
  45. package/dist/css/state/focus.css +2 -0
  46. package/dist/css/state/focus.css.map +1 -0
  47. package/dist/css/state.css +2 -0
  48. package/dist/css/state.css.map +1 -0
  49. package/dist/css/theme/color.css +2 -0
  50. package/dist/css/theme/color.css.map +1 -0
  51. package/dist/css/theme/typography.css +2 -0
  52. package/dist/css/theme/typography.css.map +1 -0
  53. package/dist/css/theme.css +2 -0
  54. package/dist/css/theme.css.map +1 -0
  55. package/dist/css/utilities/alignment.css +2 -0
  56. package/dist/css/utilities/alignment.css.map +1 -0
  57. package/dist/{utilities/colors.css → css/utilities/color.css} +2 -2
  58. package/dist/css/utilities/color.css.map +1 -0
  59. package/dist/css/utilities/display.css +2 -0
  60. package/dist/css/utilities/display.css.map +1 -0
  61. package/dist/css/utilities/flex.css +2 -0
  62. package/dist/css/utilities/flex.css.map +1 -0
  63. package/dist/css/utilities/height.css +2 -0
  64. package/dist/css/utilities/height.css.map +1 -0
  65. package/dist/css/utilities/inset.css +2 -0
  66. package/dist/css/utilities/inset.css.map +1 -0
  67. package/dist/css/utilities/justification.css +2 -0
  68. package/dist/css/utilities/justification.css.map +1 -0
  69. package/dist/css/utilities/list.css +2 -0
  70. package/dist/css/utilities/list.css.map +1 -0
  71. package/dist/css/utilities/order.css +2 -0
  72. package/dist/css/utilities/order.css.map +1 -0
  73. package/dist/css/utilities/postion.css +2 -0
  74. package/dist/css/utilities/postion.css.map +1 -0
  75. package/dist/css/utilities/ratio.css +2 -0
  76. package/dist/css/utilities/ratio.css.map +1 -0
  77. package/dist/css/utilities/spacing.css +2 -0
  78. package/dist/css/utilities/spacing.css.map +1 -0
  79. package/dist/css/utilities/typography.css +2 -0
  80. package/dist/css/utilities/typography.css.map +1 -0
  81. package/dist/css/utilities/visibility.css +2 -0
  82. package/dist/css/utilities/visibility.css.map +1 -0
  83. package/dist/css/utilities/width.css +2 -0
  84. package/dist/css/utilities/width.css.map +1 -0
  85. package/dist/css/utilities.css +2 -0
  86. package/dist/css/utilities.css.map +1 -0
  87. package/dist/js/component/accordion.cjs.js +3 -0
  88. package/dist/js/component/accordion.esm.js +1289 -0
  89. package/dist/js/component/accordion.iife.js +3 -0
  90. package/dist/js/component/alert.cjs.js +3 -0
  91. package/dist/js/component/alert.esm.js +529 -0
  92. package/dist/js/component/alert.iife.js +3 -0
  93. package/dist/js/component/carousel.cjs.js +3 -0
  94. package/dist/js/component/carousel.esm.js +1110 -0
  95. package/dist/js/component/carousel.iife.js +3 -0
  96. package/dist/js/graupl.cjs.js +5 -0
  97. package/dist/js/graupl.esm.js +1462 -0
  98. package/dist/js/graupl.iife.js +5 -0
  99. package/docs/.vitepress/config.js +39 -12
  100. package/docs/components/alert.md +130 -0
  101. package/docs/components/button.md +84 -0
  102. package/docs/components/card.md +369 -0
  103. package/docs/components/index.md +1 -0
  104. package/docs/components/inputgroup.md +159 -0
  105. package/docs/components/menu.md +326 -0
  106. package/docs/components/navigation.md +158 -0
  107. package/docs/content.md +237 -0
  108. package/docs/defaults.md +121 -0
  109. package/docs/forms.md +79 -0
  110. package/docs/functions.md +9 -0
  111. package/docs/getting-started.md +1 -0
  112. package/docs/index.md +1 -7
  113. package/docs/introduction.md +22 -2
  114. package/docs/layout.md +200 -0
  115. package/docs/mixins.md +47 -0
  116. package/docs/state.md +67 -0
  117. package/docs/theme.md +258 -0
  118. package/docs/utilities.md +357 -0
  119. package/eslint.config.js +1 -0
  120. package/index.html +816 -327
  121. package/index.js +12 -0
  122. package/package.json +31 -10
  123. package/scss/base/button.scss +3 -0
  124. package/scss/base/form.scss +1 -1
  125. package/scss/base/link.scss +1 -1
  126. package/scss/base/table.scss +1 -1
  127. package/scss/base.scss +1 -1
  128. package/scss/component/accordion.scss +3 -0
  129. package/scss/component/alert.scss +3 -0
  130. package/scss/component/card.scss +3 -0
  131. package/scss/component/carousel.scss +3 -0
  132. package/scss/component/input-group.scss +1 -1
  133. package/scss/component/menu.scss +3 -0
  134. package/scss/component/navigation.scss +3 -0
  135. package/scss/component.scss +1 -1
  136. package/scss/graupl.scss +1 -3
  137. package/scss/init.scss +3 -0
  138. package/scss/layout/columns.scss +1 -1
  139. package/scss/layout/container.scss +1 -1
  140. package/scss/layout/flex-columns.scss +3 -0
  141. package/scss/layout.scss +1 -1
  142. package/scss/normalize.scss +3 -0
  143. package/scss/state/focus.scss +1 -1
  144. package/scss/state.scss +1 -1
  145. package/scss/theme/color.scss +1 -1
  146. package/scss/theme/typography.scss +1 -1
  147. package/scss/theme.scss +1 -1
  148. package/scss/utilities/alignment.scss +3 -0
  149. package/scss/utilities/color.scss +3 -0
  150. package/scss/utilities/display.scss +3 -0
  151. package/scss/utilities/flex.scss +3 -0
  152. package/scss/utilities/height.scss +3 -0
  153. package/scss/utilities/inset.scss +3 -0
  154. package/scss/utilities/justification.scss +3 -0
  155. package/scss/utilities/list.scss +3 -0
  156. package/scss/utilities/order.scss +3 -0
  157. package/scss/utilities/postion.scss +3 -0
  158. package/scss/utilities/ratio.scss +3 -0
  159. package/scss/utilities/spacing.scss +1 -1
  160. package/scss/utilities/typography.scss +1 -1
  161. package/scss/utilities/visibility.scss +3 -0
  162. package/scss/utilities/width.scss +3 -0
  163. package/scss/utilities.scss +1 -1
  164. package/src/js/accordion/Accordion.js +1163 -0
  165. package/src/js/accordion/AccordionItem.js +496 -0
  166. package/src/js/accordion/index.js +10 -0
  167. package/src/js/alert/Alert.js +581 -0
  168. package/src/js/alert/index.js +11 -0
  169. package/src/js/carousel/Carousel.js +1427 -0
  170. package/src/js/carousel/index.js +10 -0
  171. package/src/js/domHelpers.js +37 -0
  172. package/src/js/eventHandlers.js +39 -0
  173. package/src/js/navigation/index.js +36 -0
  174. package/src/js/storage.js +106 -0
  175. package/src/js/validate.js +225 -0
  176. package/src/scss/_defaults.scss +74 -5
  177. package/src/scss/_index.scss +4 -3
  178. package/src/scss/_init.scss +2 -2
  179. package/src/scss/_normalize.scss +197 -0
  180. package/src/scss/_variables.scss +7 -7
  181. package/src/scss/base/_index.scss +2 -1
  182. package/src/scss/base/button/_defaults.scss +60 -0
  183. package/src/scss/base/button/_index.scss +107 -0
  184. package/src/scss/base/button/_mixins.scss +166 -0
  185. package/src/scss/{component → base}/button/_variables.scss +64 -19
  186. package/src/scss/base/form/_defaults.scss +14 -4
  187. package/src/scss/base/form/_index.scss +23 -20
  188. package/src/scss/base/form/_variables.scss +14 -2
  189. package/src/scss/base/link/_defaults.scss +48 -5
  190. package/src/scss/base/link/_index.scss +111 -10
  191. package/src/scss/base/link/_variables.scss +234 -4
  192. package/src/scss/base/table/_defaults.scss +49 -4
  193. package/src/scss/base/table/_index.scss +102 -8
  194. package/src/scss/base/table/_variables.scss +75 -5
  195. package/src/scss/component/_index.scss +7 -3
  196. package/src/scss/component/accordion/_defaults.scss +40 -0
  197. package/src/scss/component/accordion/_index.scss +180 -0
  198. package/src/scss/component/accordion/_variables.scss +316 -0
  199. package/src/scss/component/alert/_defaults.scss +49 -0
  200. package/src/scss/component/alert/_index.scss +118 -0
  201. package/src/scss/component/alert/_variables.scss +173 -0
  202. package/src/scss/component/card/_defaults.scss +32 -0
  203. package/src/scss/component/card/_index.scss +178 -0
  204. package/src/scss/component/card/_variables.scss +186 -0
  205. package/src/scss/component/carousel/_defaults.scss +43 -0
  206. package/src/scss/component/carousel/_index.scss +188 -0
  207. package/src/scss/component/carousel/_variables.scss +104 -0
  208. package/src/scss/component/input-group/_defaults.scss +11 -4
  209. package/src/scss/component/input-group/_index.scss +13 -11
  210. package/src/scss/component/input-group/_variables.scss +4 -1
  211. package/src/scss/component/menu/_defaults.scss +66 -0
  212. package/src/scss/component/menu/_index.scss +305 -0
  213. package/src/scss/component/menu/_variables.scss +500 -0
  214. package/src/scss/component/navigation/_defaults.scss +29 -0
  215. package/src/scss/component/navigation/_index.scss +189 -0
  216. package/src/scss/component/navigation/_variables.scss +237 -0
  217. package/src/scss/functions/_important.scss +2 -0
  218. package/src/scss/functions/_screen.scss +30 -0
  219. package/src/scss/functions/_theme.scss +28 -7
  220. package/src/scss/layout/_index.scss +2 -1
  221. package/src/scss/layout/columns/_defaults.scss +12 -4
  222. package/src/scss/layout/columns/_index.scss +29 -7
  223. package/src/scss/layout/columns/_variables.scss +6 -2
  224. package/src/scss/layout/container/_defaults.scss +13 -4
  225. package/src/scss/layout/container/_index.scss +12 -7
  226. package/src/scss/layout/container/_variables.scss +4 -1
  227. package/src/scss/layout/flex-columns/_defaults.scss +18 -0
  228. package/src/scss/layout/flex-columns/_index.scss +80 -0
  229. package/src/scss/layout/flex-columns/_variables.scss +26 -0
  230. package/src/scss/mixins/_animation.scss +15 -0
  231. package/src/scss/mixins/_layer.scss +3 -5
  232. package/src/scss/mixins/_screen.scss +56 -0
  233. package/src/scss/mixins/_utility.scss +30 -0
  234. package/src/scss/mixins/_visually-hidden.scss +20 -0
  235. package/src/scss/state/_index.scss +1 -1
  236. package/src/scss/state/focus/_defaults.scss +6 -4
  237. package/src/scss/state/focus/_index.scss +7 -7
  238. package/src/scss/state/focus/_mixins.scss +15 -0
  239. package/src/scss/state/focus/_variables.scss +6 -2
  240. package/src/scss/theme/_index.scss +1 -1
  241. package/src/scss/theme/color/_defaults.scss +101 -19
  242. package/src/scss/theme/color/_index.scss +17 -17
  243. package/src/scss/theme/color/_variables.scss +72 -64
  244. package/src/scss/theme/typography/_defaults.scss +7 -5
  245. package/src/scss/theme/typography/_index.scss +1 -1
  246. package/src/scss/theme/typography/_variables.scss +11 -7
  247. package/src/scss/utilities/_index.scss +14 -2
  248. package/src/scss/utilities/alignment/_defaults.scss +62 -0
  249. package/src/scss/utilities/alignment/_index.scss +75 -0
  250. package/src/scss/utilities/alignment/_variables.scss +6 -0
  251. package/src/scss/utilities/color/_defaults.scss +35 -0
  252. package/src/scss/utilities/color/_index.scss +91 -0
  253. package/src/scss/utilities/color/_variables.scss +6 -0
  254. package/src/scss/utilities/display/_defaults.scss +32 -0
  255. package/src/scss/utilities/display/_index.scss +61 -0
  256. package/src/scss/utilities/display/_variables.scss +6 -0
  257. package/src/scss/utilities/flex/_defaults.scss +63 -0
  258. package/src/scss/utilities/flex/_index.scss +71 -0
  259. package/src/scss/utilities/flex/_variables.scss +6 -0
  260. package/src/scss/utilities/height/_defaults.scss +41 -0
  261. package/src/scss/utilities/height/_index.scss +98 -0
  262. package/src/scss/utilities/height/_variables.scss +6 -0
  263. package/src/scss/utilities/inset/_defaults.scss +41 -0
  264. package/src/scss/utilities/inset/_index.scss +37 -0
  265. package/src/scss/utilities/inset/_variables.scss +6 -0
  266. package/src/scss/utilities/justification/_defaults.scss +59 -0
  267. package/src/scss/utilities/justification/_index.scss +75 -0
  268. package/src/scss/utilities/justification/_variables.scss +6 -0
  269. package/src/scss/utilities/list/_defaults.scss +39 -0
  270. package/src/scss/utilities/list/_index.scss +56 -0
  271. package/src/scss/utilities/list/_variables.scss +6 -0
  272. package/src/scss/utilities/order/_defaults.scss +22 -0
  273. package/src/scss/utilities/order/_index.scss +63 -0
  274. package/src/scss/utilities/order/_variables.scss +6 -0
  275. package/src/scss/utilities/position/_defaults.scss +26 -0
  276. package/src/scss/utilities/position/_index.scss +37 -0
  277. package/src/scss/utilities/position/_variables.scss +6 -0
  278. package/src/scss/utilities/ratio/_defaults.scss +28 -0
  279. package/src/scss/utilities/ratio/_index.scss +52 -0
  280. package/src/scss/utilities/ratio/_variables.scss +9 -0
  281. package/src/scss/utilities/spacing/_defaults.scss +9 -4
  282. package/src/scss/utilities/spacing/_index.scss +134 -29
  283. package/src/scss/utilities/spacing/_variables.scss +5 -2
  284. package/src/scss/utilities/typography/_defaults.scss +29 -4
  285. package/src/scss/utilities/typography/_index.scss +155 -23
  286. package/src/scss/utilities/typography/_variables.scss +5 -2
  287. package/src/scss/utilities/visibility/_defaults.scss +25 -0
  288. package/src/scss/utilities/visibility/_index.scss +36 -0
  289. package/src/scss/utilities/visibility/_variables.scss +6 -0
  290. package/src/scss/utilities/width/_defaults.scss +41 -0
  291. package/src/scss/utilities/width/_index.scss +98 -0
  292. package/src/scss/utilities/width/_variables.scss +6 -0
  293. package/stylelint.config.js +5 -0
  294. package/vite.config.js +57 -0
  295. package/dist/base/form.css +0 -2
  296. package/dist/base/form.css.map +0 -1
  297. package/dist/base/link.css +0 -2
  298. package/dist/base/link.css.map +0 -1
  299. package/dist/base/table.css +0 -2
  300. package/dist/base/table.css.map +0 -1
  301. package/dist/base.css +0 -2
  302. package/dist/base.css.map +0 -1
  303. package/dist/component/button.css +0 -2
  304. package/dist/component/button.css.map +0 -1
  305. package/dist/component/input-group.css.map +0 -1
  306. package/dist/component/table.css +0 -2
  307. package/dist/component/table.css.map +0 -1
  308. package/dist/component.css +0 -2
  309. package/dist/component.css.map +0 -1
  310. package/dist/graupl.css +0 -2
  311. package/dist/graupl.css.map +0 -1
  312. package/dist/layout/columns.css +0 -2
  313. package/dist/layout/columns.css.map +0 -1
  314. package/dist/layout/container.css.map +0 -1
  315. package/dist/layout.css +0 -2
  316. package/dist/layout.css.map +0 -1
  317. package/dist/state/focus.css +0 -2
  318. package/dist/state/focus.css.map +0 -1
  319. package/dist/state.css +0 -2
  320. package/dist/state.css.map +0 -1
  321. package/dist/theme/color.css +0 -2
  322. package/dist/theme/color.css.map +0 -1
  323. package/dist/theme/typography.css +0 -2
  324. package/dist/theme/typography.css.map +0 -1
  325. package/dist/theme.css +0 -2
  326. package/dist/theme.css.map +0 -1
  327. package/dist/utilities/colors.css.map +0 -1
  328. package/dist/utilities/spacing.css +0 -2
  329. package/dist/utilities/spacing.css.map +0 -1
  330. package/dist/utilities/typography.css +0 -2
  331. package/dist/utilities/typography.css.map +0 -1
  332. package/dist/utilities.css +0 -2
  333. package/dist/utilities.css.map +0 -1
  334. package/scss/component/button.scss +0 -3
  335. package/scss/component/table.scss +0 -3
  336. package/scss/utilities/colors.scss +0 -3
  337. package/src/scss/component/button/_defaults.scss +0 -39
  338. package/src/scss/component/button/_index.scss +0 -98
  339. package/src/scss/component/table/_defaults.scss +0 -30
  340. package/src/scss/component/table/_index.scss +0 -77
  341. package/src/scss/component/table/_variables.scss +0 -64
  342. package/src/scss/mixins/_media-queries.scss +0 -26
  343. package/src/scss/utilities/colors/_defaults.scss +0 -5
  344. package/src/scss/utilities/colors/_index.scss +0 -22
  345. package/src/scss/utilities/colors/_variables.scss +0 -3
  346. /package/dist/{layout → css/layout}/container.css +0 -0
@@ -0,0 +1,63 @@
1
+ // @graupl/graupl flex utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // Flex direction properties.
12
+ $flex-direction-class-prefix: "flex-" !default;
13
+ $base-flex-direction-properties: (
14
+ row: row,
15
+ row-reverse: row-reverse,
16
+ col: column,
17
+ col-reverse: column-reverse,
18
+ );
19
+ $custom-flex-direction-properties: () !default;
20
+ $flex-direction-properties: map.merge(
21
+ $base-flex-direction-properties,
22
+ $custom-flex-direction-properties
23
+ );
24
+
25
+ // Flex wrap properties.
26
+ $flex-wrap-class-prefix: "flex-" !default;
27
+ $base-flex-wrap-properties: (
28
+ wrap: wrap,
29
+ wrap-reverse: wrap-reverse,
30
+ nowrap: nowrap,
31
+ );
32
+ $custom-flex-wrap-properties: () !default;
33
+ $flex-wrap-properties: map.merge(
34
+ $base-flex-wrap-properties,
35
+ $custom-flex-wrap-properties
36
+ );
37
+
38
+ // Flex grow properties.
39
+ $flex-grow-class-prefix: "flex-" !default;
40
+ $base-flex-grow-properties: (
41
+ grow: 1,
42
+ no-grow: 0,
43
+ );
44
+ $custom-flex-grow-properties: () !default;
45
+ $flex-grow-properties: map.merge(
46
+ $base-flex-grow-properties,
47
+ $custom-flex-grow-properties
48
+ );
49
+
50
+ // Flex shrink properties.
51
+ $flex-shrink-class-prefix: "flex-" !default;
52
+ $base-flex-shrink-properties: (
53
+ shrink: 1,
54
+ no-shrink: 0,
55
+ );
56
+ $custom-flex-shrink-properties: () !default;
57
+ $flex-shrink-properties: map.merge(
58
+ $base-flex-shrink-properties,
59
+ $custom-flex-shrink-properties
60
+ );
61
+
62
+ // Responsive utility flag.
63
+ $responsive: false !default;
@@ -0,0 +1,71 @@
1
+ // @graupl/graupl flex utilities styles.
2
+ //
3
+ // Responsive class must be within their own loop to prevent specificity issues.
4
+ // This keeps responsive specificity tied to screen size before property order.
5
+
6
+ @use "../../defaults" as root-defaults;
7
+ @use "../../functions/important";
8
+ @use "../../mixins/layer" as *;
9
+ @use "../../mixins/utility";
10
+ @use "defaults";
11
+ @use "sass:map";
12
+ @use "variables" as *;
13
+
14
+ @include layer(utilities) {
15
+ // For each flex direction property, create a utility class.
16
+ @each $name, $property in defaults.$flex-direction-properties {
17
+ @include utility.create(
18
+ ".#{defaults.$flex-direction-class-prefix}#{$name}",
19
+ flex-direction,
20
+ $property
21
+ );
22
+ @include utility.create(
23
+ ".#{defaults.$flex-wrap-class-prefix}#{$name}",
24
+ flex-wrap,
25
+ $property
26
+ );
27
+ @include utility.create(
28
+ ".#{defaults.$flex-grow-class-prefix}#{$name}",
29
+ flex-grow,
30
+ $property
31
+ );
32
+ @include utility.create(
33
+ ".#{defaults.$flex-shrink-class-prefix}#{$name}",
34
+ flex-shrink,
35
+ $property
36
+ );
37
+ }
38
+
39
+ // Create responsive utilities.
40
+ @if defaults.$responsive and root-defaults.$responsive-utilities {
41
+ @each $screen-size in map.keys(root-defaults.$screen-sizes) {
42
+ // For each flex direction property, create a utility class.
43
+ @each $name, $property in defaults.$flex-direction-properties {
44
+ @include utility.create(
45
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$flex-direction-class-prefix}#{$name}",
46
+ flex-direction,
47
+ $property,
48
+ $screen-size
49
+ );
50
+ @include utility.create(
51
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$flex-wrap-class-prefix}#{$name}",
52
+ flex-wrap,
53
+ $property,
54
+ $screen-size
55
+ );
56
+ @include utility.create(
57
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$flex-grow-class-prefix}#{$name}",
58
+ flex-grow,
59
+ $property,
60
+ $screen-size
61
+ );
62
+ @include utility.create(
63
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$flex-shrink-class-prefix}#{$name}",
64
+ flex-shrink,
65
+ $property,
66
+ $screen-size
67
+ );
68
+ }
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/graupl flex utilities variables.
2
+ //
3
+ // These values are to be used to directly style components and provide a
4
+ // cleaner way to reference custom properties.
5
+
6
+ @use "defaults";
@@ -0,0 +1,41 @@
1
+ // @graupl/graupl height utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // Height properties.
12
+ $height-class-prefix: "h-" !default;
13
+ $max-height-class-prefix: "max-h-" !default;
14
+ $min-height-class-prefix: "min-h-" !default;
15
+
16
+ // Height values.
17
+ $base-height-values: (
18
+ auto: auto,
19
+ fit-content: fit-content,
20
+ max-content: max-content,
21
+ min-content: min-content,
22
+ stretch: stretch,
23
+ 0: 0,
24
+ full: 100%,
25
+ quarter: 25%,
26
+ half: 50%,
27
+ three-quarters: 75%,
28
+ third: calc(100% / 3),
29
+ two-thirds: calc(100% / 1.5),
30
+ half-screen: 50vh,
31
+ third-screen: calc(100vh / 3),
32
+ two-thirds-screen: calc(100vh / 1.5),
33
+ quarter-screen: 25vh,
34
+ three-quarters-screen: 75vh,
35
+ full-screen: 100vh,
36
+ );
37
+ $custom-height-values: () !default;
38
+ $height-values: map.merge($base-height-values, $custom-height-values);
39
+
40
+ // Responsive utility flag.
41
+ $responsive: false !default;
@@ -0,0 +1,98 @@
1
+ // @graupl/graupl height utilities styles.
2
+ //
3
+ // Responsive class must be within their own loop to prevent specificity issues.
4
+ // This keeps responsive specificity tied to screen size before property order.
5
+
6
+ @use "../../defaults" as root-defaults;
7
+ @use "../../mixins/layer" as *;
8
+ @use "../../mixins/utility";
9
+ @use "../../variables" as root-variables;
10
+ @use "defaults";
11
+ @use "sass:map";
12
+ @use "variables" as *;
13
+
14
+ @include layer(utilities) {
15
+ // For each height property, create a utility class.
16
+ @each $height, $value in defaults.$height-values {
17
+ @include utility.create(
18
+ ".#{defaults.$height-class-prefix}#{$height}",
19
+ height,
20
+ $value
21
+ );
22
+ @include utility.create(
23
+ ".#{defaults.$max-height-class-prefix}#{$height}",
24
+ max-height,
25
+ $value
26
+ );
27
+ @include utility.create(
28
+ ".#{defaults.$min-height-class-prefix}#{$height}",
29
+ min-height,
30
+ $value
31
+ );
32
+ }
33
+
34
+ @each $spacer, $value in root-variables.$spacers {
35
+ @include utility.create(
36
+ ".#{defaults.$height-class-prefix}#{$spacer}",
37
+ height,
38
+ $value
39
+ );
40
+ @include utility.create(
41
+ ".#{defaults.$max-height-class-prefix}#{$spacer}",
42
+ max-height,
43
+ $value
44
+ );
45
+ @include utility.create(
46
+ ".#{defaults.$min-height-class-prefix}#{$spacer}",
47
+ min-height,
48
+ $value
49
+ );
50
+ }
51
+
52
+ // Create responsive utilities.
53
+ @if defaults.$responsive and root-defaults.$responsive-utilities {
54
+ @each $screen-size in map.keys(root-defaults.$screen-sizes) {
55
+ @each $height, $value in defaults.$height-values {
56
+ @include utility.create(
57
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$height-class-prefix}#{$height}",
58
+ height,
59
+ $value,
60
+ $screen-size
61
+ );
62
+ @include utility.create(
63
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$max-height-class-prefix}#{$height}",
64
+ max-height,
65
+ $value,
66
+ $screen-size
67
+ );
68
+ @include utility.create(
69
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$min-height-class-prefix}#{$height}",
70
+ min-height,
71
+ $value,
72
+ $screen-size
73
+ );
74
+ }
75
+
76
+ @each $spacer, $value in root-variables.$spacers {
77
+ @include utility.create(
78
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$height-class-prefix}#{$spacer}",
79
+ height,
80
+ $value,
81
+ $screen-size
82
+ );
83
+ @include utility.create(
84
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$max-height-class-prefix}#{$spacer}",
85
+ max-height,
86
+ $value,
87
+ $screen-size
88
+ );
89
+ @include utility.create(
90
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$min-height-class-prefix}#{$spacer}",
91
+ min-height,
92
+ $value,
93
+ $screen-size
94
+ );
95
+ }
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/graupl height utilities variables.
2
+ //
3
+ // These values are to be used to directly style components and provide a
4
+ // cleaner way to reference custom properties.
5
+
6
+ @use "defaults";
@@ -0,0 +1,41 @@
1
+ // @graupl/graupl inset utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // Inset properties.
12
+ $base-inset-properties: (
13
+ inset: inset,
14
+ inset-x: left right,
15
+ inset-y: top bottom,
16
+ inset-start: inset-inline-start,
17
+ inset-end: inset-inline-end,
18
+ top: top,
19
+ right: right,
20
+ bottom: bottom,
21
+ left: left,
22
+ );
23
+ $custom-inset-properties: () !default;
24
+ $inset-properties: map.merge($base-inset-properties, $custom-inset-properties);
25
+
26
+ // Inset values.
27
+ $base-inset-values: (
28
+ 0: 0,
29
+ auto: auto,
30
+ full: 100%,
31
+ quarter: 25%,
32
+ half: 50%,
33
+ three-quarters: 75%,
34
+ third: calc(100% / 3),
35
+ two-thirds: calc(100% / 1.5),
36
+ );
37
+ $custom-inset-values: () !default;
38
+ $inset-values: map.merge($base-inset-values, $custom-inset-values);
39
+
40
+ // Responsive utility flag.
41
+ $responsive: false !default;
@@ -0,0 +1,37 @@
1
+ // @graupl/graupl inset utilities styles.
2
+ //
3
+ // Responsive class must be within their own loop to prevent specificity issues.
4
+ // This keeps responsive specificity tied to screen size before property order.
5
+
6
+ @use "../../defaults" as root-defaults;
7
+ @use "../../functions/important";
8
+ @use "../../mixins/layer" as *;
9
+ @use "../../mixins/utility";
10
+ @use "defaults";
11
+ @use "sass:map";
12
+ @use "variables" as *;
13
+
14
+ @include layer(utilities) {
15
+ // For each inset property, create a utility class.
16
+ @each $type, $property in defaults.$inset-properties {
17
+ @each $name, $value in defaults.$inset-values {
18
+ @include utility.create(".#{$type}-#{$name}", $property, $value);
19
+ }
20
+ }
21
+
22
+ @if defaults.$responsive and root-defaults.$responsive-utilities {
23
+ @each $screen-size in map.keys(root-defaults.$screen-sizes) {
24
+ // For each inset property, create a utility class.
25
+ @each $type, $property in defaults.$inset-properties {
26
+ @each $name, $value in defaults.$inset-values {
27
+ @include utility.create(
28
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{$type}-#{$name}",
29
+ $property,
30
+ $value,
31
+ $screen-size
32
+ );
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/graupl inset utilities variables.
2
+ //
3
+ // These values are to be used to directly style components and provide a
4
+ // cleaner way to reference custom properties.
5
+
6
+ @use "defaults";
@@ -0,0 +1,59 @@
1
+ // @graupl/graupl justification utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // Justify content properties.
12
+ $justify-content-class-prefix: "justify-content-" !default;
13
+ $base-justify-content-properties: (
14
+ normal: normal,
15
+ start: flex-start,
16
+ end: flex-end,
17
+ center: center,
18
+ between: space-between,
19
+ around: space-around,
20
+ evenly: space-evenly,
21
+ stretch: stretch,
22
+ );
23
+ $custom-justify-content-properties: () !default;
24
+ $justify-content-properties: map.merge(
25
+ $base-justify-content-properties,
26
+ $custom-justify-content-properties
27
+ );
28
+
29
+ // Justify items properties.
30
+ $justify-items-class-prefix: "justify-items-" !default;
31
+ $base-justify-items-properties: (
32
+ start: start,
33
+ end: end,
34
+ center: center,
35
+ stretch: stretch,
36
+ );
37
+ $custom-justify-items-properties: () !default;
38
+ $justify-items-properties: map.merge(
39
+ $base-justify-items-properties,
40
+ $custom-justify-items-properties
41
+ );
42
+
43
+ // Justify self properties.
44
+ $justify-self-class-prefix: "justify-self-" !default;
45
+ $base-justify-self-properties: (
46
+ auto: auto,
47
+ start: start,
48
+ end: end,
49
+ center: center,
50
+ stretch: stretch,
51
+ );
52
+ $custom-justify-self-properties: () !default;
53
+ $justify-self-properties: map.merge(
54
+ $base-justify-self-properties,
55
+ $custom-justify-self-properties
56
+ );
57
+
58
+ // Responsive utility flag.
59
+ $responsive: false !default;
@@ -0,0 +1,75 @@
1
+ // @graupl/graupl justification utilities styles.
2
+ //
3
+ // Responsive class must be within their own loop to prevent specificity issues.
4
+ // This keeps responsive specificity tied to screen size before property order.
5
+
6
+ @use "../../defaults" as root-defaults;
7
+ @use "../../mixins/layer" as *;
8
+ @use "../../mixins/utility";
9
+ @use "defaults";
10
+ @use "sass:map";
11
+ @use "variables" as *;
12
+
13
+ @include layer(utilities) {
14
+ // For each justify content property, create a utility class.
15
+ @each $name, $value in defaults.$justify-content-properties {
16
+ @include utility.create(
17
+ ".#{defaults.$justify-content-class-prefix}#{$name}",
18
+ justify-content,
19
+ $value
20
+ );
21
+ }
22
+
23
+ // For each justify items property, create a utility class.
24
+ @each $name, $value in defaults.$justify-items-properties {
25
+ @include utility.create(
26
+ ".#{defaults.$justify-items-class-prefix}#{$name}",
27
+ justify-items,
28
+ $value
29
+ );
30
+ }
31
+
32
+ // For each justify self property, create a utility class.
33
+ @each $name, $value in defaults.$justify-self-properties {
34
+ @include utility.create(
35
+ ".#{defaults.$justify-self-class-prefix}#{$name}",
36
+ justify-self,
37
+ $value
38
+ );
39
+ }
40
+
41
+ // Generate responsive utilities.
42
+ @if defaults.$responsive and root-defaults.$responsive-utilities {
43
+ @each $screen-size in map.keys(root-defaults.$screen-sizes) {
44
+ // For each justify content property, create a utility class.
45
+ @each $name, $value in defaults.$justify-content-properties {
46
+ @include utility.create(
47
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$justify-content-class-prefix}#{$name}",
48
+ justify-content,
49
+ $value,
50
+ $screen-size
51
+ );
52
+ }
53
+
54
+ // For each justify items property, create a utility class.
55
+ @each $name, $value in defaults.$justify-items-properties {
56
+ @include utility.create(
57
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$justify-items-class-prefix}#{$name}",
58
+ justify-items,
59
+ $value,
60
+ $screen-size
61
+ );
62
+ }
63
+
64
+ // For each justify self property, create a utility class.
65
+ @each $name, $value in defaults.$justify-self-properties {
66
+ @include utility.create(
67
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$justify-self-class-prefix}#{$name}",
68
+ justify-self,
69
+ $value,
70
+ $screen-size
71
+ );
72
+ }
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/graupl justification utilities variables.
2
+ //
3
+ // These values are to be used to directly style components and provide a
4
+ // cleaner way to reference custom properties.
5
+
6
+ @use "defaults";
@@ -0,0 +1,39 @@
1
+ // @graupl/graupl list utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // List style type properties.
12
+ $list-style-type-class-prefix: "list-style-" !default;
13
+ $base-list-style-type-properties: (
14
+ none: none,
15
+ disc: disc,
16
+ decimal: decimal,
17
+ circle: circle,
18
+ square: square,
19
+ );
20
+ $custom-list-style-type-properties: () !default;
21
+ $list-style-type-properties: map.merge(
22
+ $base-list-style-type-properties,
23
+ $custom-list-style-type-properties
24
+ );
25
+
26
+ // List style position properties.
27
+ $list-style-position-class-prefix: "list-style-" !default;
28
+ $base-list-style-position-properties: (
29
+ inside: inside,
30
+ outside: outside,
31
+ );
32
+ $custom-list-style-position-properties: () !default;
33
+ $list-style-position-properties: map.merge(
34
+ $base-list-style-position-properties,
35
+ $custom-list-style-position-properties
36
+ );
37
+
38
+ // Responsive utility flag.
39
+ $responsive: false !default;
@@ -0,0 +1,56 @@
1
+ // @graupl/graupl list utilities styles.
2
+ //
3
+ // Responsive class must be within their own loop to prevent specificity issues.
4
+ // This keeps responsive specificity tied to screen size before property order.
5
+
6
+ @use "../../defaults" as root-defaults;
7
+ @use "../../mixins/layer" as *;
8
+ @use "../../mixins/utility";
9
+ @use "defaults";
10
+ @use "sass:map";
11
+ @use "variables" as *;
12
+
13
+ @include layer(utilities) {
14
+ // For each list style type property, create a utility class.
15
+ @each $name, $property in defaults.$list-style-type-properties {
16
+ @include utility.create(
17
+ ".#{defaults.$list-style-type-class-prefix}#{$name}",
18
+ list-style-type,
19
+ $property
20
+ );
21
+ }
22
+
23
+ // For each list style position property, create a utility class.
24
+ @each $name, $property in defaults.$list-style-position-properties {
25
+ @include utility.create(
26
+ ".#{defaults.$list-style-position-class-prefix}#{$name}",
27
+ list-style-position,
28
+ $property
29
+ );
30
+ }
31
+
32
+ // Generate responsive utilities.
33
+ @if defaults.$responsive and root-defaults.$responsive-utilities {
34
+ @each $screen-size in map.keys(root-defaults.$screen-sizes) {
35
+ // For each list style type property, create a utility class.
36
+ @each $name, $property in defaults.$list-style-type-properties {
37
+ @include utility.create(
38
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$list-style-type-class-prefix}#{$name}",
39
+ list-style-type,
40
+ $property,
41
+ $screen-size
42
+ );
43
+ }
44
+
45
+ // For each list style position property, create a utility class.
46
+ @each $name, $property in defaults.$list-style-position-properties {
47
+ @include utility.create(
48
+ ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$list-style-position-class-prefix}#{$name}",
49
+ list-style-position,
50
+ $property,
51
+ $screen-size
52
+ );
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/graupl list utilities variables.
2
+ //
3
+ // These values are to be used to directly style components and provide a
4
+ // cleaner way to reference custom properties.
5
+
6
+ @use "defaults";
@@ -0,0 +1,22 @@
1
+ // @graupl/graupl order utilities default values.
2
+ //
3
+ // Generally, these should not be used directly when styling components unless a static value is needed.
4
+ // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
5
+ //
6
+ // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
+ // Those should be defined as custom properties in the `_variables.scss` file.
8
+
9
+ @use "sass:map";
10
+
11
+ // Order properties.
12
+ $order-class-prefix: "order-" !default;
13
+ $base-order-properties: (
14
+ "none": 0,
15
+ "first": -9999,
16
+ "last": 9999,
17
+ );
18
+ $custom-order-properties: () !default;
19
+ $order-properties: map.merge($base-order-properties, $custom-order-properties);
20
+
21
+ // Responsive utility flag.
22
+ $responsive: true !default;