@graupl/graupl 1.0.0-alpha.8 → 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 (347) 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/.stylelintignore +9 -0
  5. package/CHANGELOG.md +160 -0
  6. package/build.js +7 -0
  7. package/dist/css/base/button.css +2 -0
  8. package/dist/css/base/button.css.map +1 -0
  9. package/dist/css/base/form.css +2 -0
  10. package/dist/css/base/form.css.map +1 -0
  11. package/dist/css/base/link.css +2 -0
  12. package/dist/css/base/link.css.map +1 -0
  13. package/dist/css/base/table.css +2 -0
  14. package/dist/css/base/table.css.map +1 -0
  15. package/dist/css/base.css +2 -0
  16. package/dist/css/base.css.map +1 -0
  17. package/dist/css/component/accordion.css +2 -0
  18. package/dist/css/component/accordion.css.map +1 -0
  19. package/dist/css/component/alert.css +2 -0
  20. package/dist/css/component/alert.css.map +1 -0
  21. package/dist/css/component/card.css +2 -0
  22. package/dist/css/component/card.css.map +1 -0
  23. package/dist/css/component/carousel.css +2 -0
  24. package/dist/css/component/carousel.css.map +1 -0
  25. package/dist/{component → css/component}/input-group.css +1 -1
  26. package/dist/css/component/input-group.css.map +1 -0
  27. package/dist/css/component/menu.css +2 -0
  28. package/dist/css/component/menu.css.map +1 -0
  29. package/dist/css/component/navigation.css +2 -0
  30. package/dist/css/component/navigation.css.map +1 -0
  31. package/dist/css/component.css +2 -0
  32. package/dist/css/component.css.map +1 -0
  33. package/dist/css/graupl.css +2 -0
  34. package/dist/css/graupl.css.map +1 -0
  35. package/dist/css/init.css +2 -0
  36. package/dist/css/init.css.map +1 -0
  37. package/dist/css/layout/columns.css +2 -0
  38. package/dist/css/layout/columns.css.map +1 -0
  39. package/dist/css/layout/container.css.map +1 -0
  40. package/dist/css/layout/flex-columns.css +2 -0
  41. package/dist/css/layout/flex-columns.css.map +1 -0
  42. package/dist/css/layout.css +2 -0
  43. package/dist/css/layout.css.map +1 -0
  44. package/dist/css/normalize.css +2 -0
  45. package/dist/css/normalize.css.map +1 -0
  46. package/dist/css/state/focus.css +2 -0
  47. package/dist/css/state/focus.css.map +1 -0
  48. package/dist/css/state.css +2 -0
  49. package/dist/css/state.css.map +1 -0
  50. package/dist/css/theme/color.css +2 -0
  51. package/dist/css/theme/color.css.map +1 -0
  52. package/dist/css/theme/typography.css +2 -0
  53. package/dist/css/theme/typography.css.map +1 -0
  54. package/dist/css/theme.css +2 -0
  55. package/dist/css/theme.css.map +1 -0
  56. package/dist/css/utilities/alignment.css +2 -0
  57. package/dist/css/utilities/alignment.css.map +1 -0
  58. package/dist/{utilities/colors.css → css/utilities/color.css} +2 -2
  59. package/dist/css/utilities/color.css.map +1 -0
  60. package/dist/css/utilities/display.css +2 -0
  61. package/dist/css/utilities/display.css.map +1 -0
  62. package/dist/css/utilities/flex.css +2 -0
  63. package/dist/css/utilities/flex.css.map +1 -0
  64. package/dist/css/utilities/height.css +2 -0
  65. package/dist/css/utilities/height.css.map +1 -0
  66. package/dist/css/utilities/inset.css +2 -0
  67. package/dist/css/utilities/inset.css.map +1 -0
  68. package/dist/css/utilities/justification.css +2 -0
  69. package/dist/css/utilities/justification.css.map +1 -0
  70. package/dist/css/utilities/list.css +2 -0
  71. package/dist/css/utilities/list.css.map +1 -0
  72. package/dist/css/utilities/order.css +2 -0
  73. package/dist/css/utilities/order.css.map +1 -0
  74. package/dist/css/utilities/postion.css +2 -0
  75. package/dist/css/utilities/postion.css.map +1 -0
  76. package/dist/css/utilities/ratio.css +2 -0
  77. package/dist/css/utilities/ratio.css.map +1 -0
  78. package/dist/css/utilities/spacing.css +2 -0
  79. package/dist/css/utilities/spacing.css.map +1 -0
  80. package/dist/css/utilities/typography.css +2 -0
  81. package/dist/css/utilities/typography.css.map +1 -0
  82. package/dist/css/utilities/visibility.css +2 -0
  83. package/dist/css/utilities/visibility.css.map +1 -0
  84. package/dist/css/utilities/width.css +2 -0
  85. package/dist/css/utilities/width.css.map +1 -0
  86. package/dist/css/utilities.css +2 -0
  87. package/dist/css/utilities.css.map +1 -0
  88. package/dist/js/component/accordion.cjs.js +3 -0
  89. package/dist/js/component/accordion.esm.js +1289 -0
  90. package/dist/js/component/accordion.iife.js +3 -0
  91. package/dist/js/component/alert.cjs.js +3 -0
  92. package/dist/js/component/alert.esm.js +529 -0
  93. package/dist/js/component/alert.iife.js +3 -0
  94. package/dist/js/component/carousel.cjs.js +3 -0
  95. package/dist/js/component/carousel.esm.js +1110 -0
  96. package/dist/js/component/carousel.iife.js +3 -0
  97. package/dist/js/graupl.cjs.js +5 -0
  98. package/dist/js/graupl.esm.js +1462 -0
  99. package/dist/js/graupl.iife.js +5 -0
  100. package/docs/.vitepress/config.js +39 -12
  101. package/docs/components/alert.md +130 -0
  102. package/docs/components/button.md +84 -0
  103. package/docs/components/card.md +369 -0
  104. package/docs/components/index.md +1 -0
  105. package/docs/components/inputgroup.md +159 -0
  106. package/docs/components/menu.md +326 -0
  107. package/docs/components/navigation.md +158 -0
  108. package/docs/content.md +237 -0
  109. package/docs/defaults.md +121 -0
  110. package/docs/forms.md +79 -0
  111. package/docs/functions.md +9 -0
  112. package/docs/getting-started.md +1 -0
  113. package/docs/index.md +1 -7
  114. package/docs/introduction.md +22 -2
  115. package/docs/layout.md +200 -0
  116. package/docs/mixins.md +47 -0
  117. package/docs/state.md +67 -0
  118. package/docs/theme.md +258 -0
  119. package/docs/utilities.md +357 -0
  120. package/eslint.config.js +1 -0
  121. package/index.html +816 -327
  122. package/index.js +12 -0
  123. package/package.json +32 -41
  124. package/scss/base/button.scss +3 -0
  125. package/scss/base/form.scss +1 -1
  126. package/scss/base/link.scss +1 -1
  127. package/scss/base/table.scss +1 -1
  128. package/scss/base.scss +1 -1
  129. package/scss/component/accordion.scss +3 -0
  130. package/scss/component/alert.scss +3 -0
  131. package/scss/component/card.scss +3 -0
  132. package/scss/component/carousel.scss +3 -0
  133. package/scss/component/input-group.scss +1 -1
  134. package/scss/component/menu.scss +3 -0
  135. package/scss/component/navigation.scss +3 -0
  136. package/scss/component.scss +1 -1
  137. package/scss/graupl.scss +1 -3
  138. package/scss/init.scss +3 -0
  139. package/scss/layout/columns.scss +1 -1
  140. package/scss/layout/container.scss +1 -1
  141. package/scss/layout/flex-columns.scss +3 -0
  142. package/scss/layout.scss +1 -1
  143. package/scss/normalize.scss +3 -0
  144. package/scss/state/focus.scss +1 -1
  145. package/scss/state.scss +1 -1
  146. package/scss/theme/color.scss +1 -1
  147. package/scss/theme/typography.scss +1 -1
  148. package/scss/theme.scss +1 -1
  149. package/scss/utilities/alignment.scss +3 -0
  150. package/scss/utilities/color.scss +3 -0
  151. package/scss/utilities/display.scss +3 -0
  152. package/scss/utilities/flex.scss +3 -0
  153. package/scss/utilities/height.scss +3 -0
  154. package/scss/utilities/inset.scss +3 -0
  155. package/scss/utilities/justification.scss +3 -0
  156. package/scss/utilities/list.scss +3 -0
  157. package/scss/utilities/order.scss +3 -0
  158. package/scss/utilities/postion.scss +3 -0
  159. package/scss/utilities/ratio.scss +3 -0
  160. package/scss/utilities/spacing.scss +1 -1
  161. package/scss/utilities/typography.scss +1 -1
  162. package/scss/utilities/visibility.scss +3 -0
  163. package/scss/utilities/width.scss +3 -0
  164. package/scss/utilities.scss +1 -1
  165. package/src/js/accordion/Accordion.js +1163 -0
  166. package/src/js/accordion/AccordionItem.js +496 -0
  167. package/src/js/accordion/index.js +10 -0
  168. package/src/js/alert/Alert.js +581 -0
  169. package/src/js/alert/index.js +11 -0
  170. package/src/js/carousel/Carousel.js +1427 -0
  171. package/src/js/carousel/index.js +10 -0
  172. package/src/js/domHelpers.js +37 -0
  173. package/src/js/eventHandlers.js +39 -0
  174. package/src/js/navigation/index.js +36 -0
  175. package/src/js/storage.js +106 -0
  176. package/src/js/validate.js +225 -0
  177. package/src/scss/_defaults.scss +74 -5
  178. package/src/scss/_index.scss +4 -3
  179. package/src/scss/_init.scss +2 -2
  180. package/src/scss/_normalize.scss +197 -0
  181. package/src/scss/_variables.scss +7 -7
  182. package/src/scss/base/_index.scss +2 -1
  183. package/src/scss/base/button/_defaults.scss +60 -0
  184. package/src/scss/base/button/_index.scss +107 -0
  185. package/src/scss/base/button/_mixins.scss +166 -0
  186. package/src/scss/{component → base}/button/_variables.scss +64 -19
  187. package/src/scss/base/form/_defaults.scss +14 -4
  188. package/src/scss/base/form/_index.scss +23 -20
  189. package/src/scss/base/form/_variables.scss +14 -2
  190. package/src/scss/base/link/_defaults.scss +48 -5
  191. package/src/scss/base/link/_index.scss +111 -10
  192. package/src/scss/base/link/_variables.scss +234 -4
  193. package/src/scss/base/table/_defaults.scss +49 -4
  194. package/src/scss/base/table/_index.scss +102 -8
  195. package/src/scss/base/table/_variables.scss +75 -5
  196. package/src/scss/component/_index.scss +7 -3
  197. package/src/scss/component/accordion/_defaults.scss +40 -0
  198. package/src/scss/component/accordion/_index.scss +180 -0
  199. package/src/scss/component/accordion/_variables.scss +316 -0
  200. package/src/scss/component/alert/_defaults.scss +49 -0
  201. package/src/scss/component/alert/_index.scss +118 -0
  202. package/src/scss/component/alert/_variables.scss +173 -0
  203. package/src/scss/component/card/_defaults.scss +32 -0
  204. package/src/scss/component/card/_index.scss +178 -0
  205. package/src/scss/component/card/_variables.scss +186 -0
  206. package/src/scss/component/carousel/_defaults.scss +43 -0
  207. package/src/scss/component/carousel/_index.scss +188 -0
  208. package/src/scss/component/carousel/_variables.scss +104 -0
  209. package/src/scss/component/input-group/_defaults.scss +11 -4
  210. package/src/scss/component/input-group/_index.scss +13 -11
  211. package/src/scss/component/input-group/_variables.scss +4 -1
  212. package/src/scss/component/menu/_defaults.scss +66 -0
  213. package/src/scss/component/menu/_index.scss +305 -0
  214. package/src/scss/component/menu/_variables.scss +500 -0
  215. package/src/scss/component/navigation/_defaults.scss +29 -0
  216. package/src/scss/component/navigation/_index.scss +189 -0
  217. package/src/scss/component/navigation/_variables.scss +237 -0
  218. package/src/scss/functions/_important.scss +2 -0
  219. package/src/scss/functions/_screen.scss +30 -0
  220. package/src/scss/functions/_theme.scss +28 -7
  221. package/src/scss/layout/_index.scss +2 -1
  222. package/src/scss/layout/columns/_defaults.scss +12 -4
  223. package/src/scss/layout/columns/_index.scss +29 -7
  224. package/src/scss/layout/columns/_variables.scss +6 -2
  225. package/src/scss/layout/container/_defaults.scss +13 -4
  226. package/src/scss/layout/container/_index.scss +12 -7
  227. package/src/scss/layout/container/_variables.scss +4 -1
  228. package/src/scss/layout/flex-columns/_defaults.scss +18 -0
  229. package/src/scss/layout/flex-columns/_index.scss +80 -0
  230. package/src/scss/layout/flex-columns/_variables.scss +26 -0
  231. package/src/scss/mixins/_animation.scss +15 -0
  232. package/src/scss/mixins/_layer.scss +3 -5
  233. package/src/scss/mixins/_screen.scss +56 -0
  234. package/src/scss/mixins/_utility.scss +30 -0
  235. package/src/scss/mixins/_visually-hidden.scss +20 -0
  236. package/src/scss/state/_index.scss +1 -1
  237. package/src/scss/state/focus/_defaults.scss +6 -4
  238. package/src/scss/state/focus/_index.scss +7 -7
  239. package/src/scss/state/focus/_mixins.scss +15 -0
  240. package/src/scss/state/focus/_variables.scss +6 -2
  241. package/src/scss/theme/_index.scss +1 -1
  242. package/src/scss/theme/color/_defaults.scss +101 -19
  243. package/src/scss/theme/color/_index.scss +17 -17
  244. package/src/scss/theme/color/_variables.scss +72 -64
  245. package/src/scss/theme/typography/_defaults.scss +7 -5
  246. package/src/scss/theme/typography/_index.scss +1 -1
  247. package/src/scss/theme/typography/_variables.scss +11 -7
  248. package/src/scss/utilities/_index.scss +14 -2
  249. package/src/scss/utilities/alignment/_defaults.scss +62 -0
  250. package/src/scss/utilities/alignment/_index.scss +75 -0
  251. package/src/scss/utilities/alignment/_variables.scss +6 -0
  252. package/src/scss/utilities/color/_defaults.scss +35 -0
  253. package/src/scss/utilities/color/_index.scss +91 -0
  254. package/src/scss/utilities/color/_variables.scss +6 -0
  255. package/src/scss/utilities/display/_defaults.scss +32 -0
  256. package/src/scss/utilities/display/_index.scss +61 -0
  257. package/src/scss/utilities/display/_variables.scss +6 -0
  258. package/src/scss/utilities/flex/_defaults.scss +63 -0
  259. package/src/scss/utilities/flex/_index.scss +71 -0
  260. package/src/scss/utilities/flex/_variables.scss +6 -0
  261. package/src/scss/utilities/height/_defaults.scss +41 -0
  262. package/src/scss/utilities/height/_index.scss +98 -0
  263. package/src/scss/utilities/height/_variables.scss +6 -0
  264. package/src/scss/utilities/inset/_defaults.scss +41 -0
  265. package/src/scss/utilities/inset/_index.scss +37 -0
  266. package/src/scss/utilities/inset/_variables.scss +6 -0
  267. package/src/scss/utilities/justification/_defaults.scss +59 -0
  268. package/src/scss/utilities/justification/_index.scss +75 -0
  269. package/src/scss/utilities/justification/_variables.scss +6 -0
  270. package/src/scss/utilities/list/_defaults.scss +39 -0
  271. package/src/scss/utilities/list/_index.scss +56 -0
  272. package/src/scss/utilities/list/_variables.scss +6 -0
  273. package/src/scss/utilities/order/_defaults.scss +22 -0
  274. package/src/scss/utilities/order/_index.scss +63 -0
  275. package/src/scss/utilities/order/_variables.scss +6 -0
  276. package/src/scss/utilities/position/_defaults.scss +26 -0
  277. package/src/scss/utilities/position/_index.scss +37 -0
  278. package/src/scss/utilities/position/_variables.scss +6 -0
  279. package/src/scss/utilities/ratio/_defaults.scss +28 -0
  280. package/src/scss/utilities/ratio/_index.scss +52 -0
  281. package/src/scss/utilities/ratio/_variables.scss +9 -0
  282. package/src/scss/utilities/spacing/_defaults.scss +9 -4
  283. package/src/scss/utilities/spacing/_index.scss +134 -29
  284. package/src/scss/utilities/spacing/_variables.scss +5 -2
  285. package/src/scss/utilities/typography/_defaults.scss +29 -4
  286. package/src/scss/utilities/typography/_index.scss +155 -23
  287. package/src/scss/utilities/typography/_variables.scss +5 -2
  288. package/src/scss/utilities/visibility/_defaults.scss +25 -0
  289. package/src/scss/utilities/visibility/_index.scss +36 -0
  290. package/src/scss/utilities/visibility/_variables.scss +6 -0
  291. package/src/scss/utilities/width/_defaults.scss +41 -0
  292. package/src/scss/utilities/width/_index.scss +98 -0
  293. package/src/scss/utilities/width/_variables.scss +6 -0
  294. package/stylelint.config.js +5 -0
  295. package/vite.config.js +57 -0
  296. package/dist/base/form.css +0 -2
  297. package/dist/base/form.css.map +0 -1
  298. package/dist/base/link.css +0 -2
  299. package/dist/base/link.css.map +0 -1
  300. package/dist/base/table.css +0 -2
  301. package/dist/base/table.css.map +0 -1
  302. package/dist/base.css +0 -2
  303. package/dist/base.css.map +0 -1
  304. package/dist/component/button.css +0 -2
  305. package/dist/component/button.css.map +0 -1
  306. package/dist/component/input-group.css.map +0 -1
  307. package/dist/component/table.css +0 -2
  308. package/dist/component/table.css.map +0 -1
  309. package/dist/component.css +0 -2
  310. package/dist/component.css.map +0 -1
  311. package/dist/graupl.css +0 -2
  312. package/dist/graupl.css.map +0 -1
  313. package/dist/layout/columns.css +0 -2
  314. package/dist/layout/columns.css.map +0 -1
  315. package/dist/layout/container.css.map +0 -1
  316. package/dist/layout.css +0 -2
  317. package/dist/layout.css.map +0 -1
  318. package/dist/state/focus.css +0 -2
  319. package/dist/state/focus.css.map +0 -1
  320. package/dist/state.css +0 -2
  321. package/dist/state.css.map +0 -1
  322. package/dist/theme/color.css +0 -2
  323. package/dist/theme/color.css.map +0 -1
  324. package/dist/theme/typography.css +0 -2
  325. package/dist/theme/typography.css.map +0 -1
  326. package/dist/theme.css +0 -2
  327. package/dist/theme.css.map +0 -1
  328. package/dist/utilities/colors.css.map +0 -1
  329. package/dist/utilities/spacing.css +0 -2
  330. package/dist/utilities/spacing.css.map +0 -1
  331. package/dist/utilities/typography.css +0 -2
  332. package/dist/utilities/typography.css.map +0 -1
  333. package/dist/utilities.css +0 -2
  334. package/dist/utilities.css.map +0 -1
  335. package/scss/component/button.scss +0 -3
  336. package/scss/component/table.scss +0 -3
  337. package/scss/utilities/colors.scss +0 -3
  338. package/src/scss/component/button/_defaults.scss +0 -39
  339. package/src/scss/component/button/_index.scss +0 -98
  340. package/src/scss/component/table/_defaults.scss +0 -30
  341. package/src/scss/component/table/_index.scss +0 -77
  342. package/src/scss/component/table/_variables.scss +0 -64
  343. package/src/scss/mixins/_media-queries.scss +0 -26
  344. package/src/scss/utilities/colors/_defaults.scss +0 -5
  345. package/src/scss/utilities/colors/_index.scss +0 -22
  346. package/src/scss/utilities/colors/_variables.scss +0 -3
  347. /package/dist/{layout → css/layout}/container.css +0 -0
@@ -0,0 +1,500 @@
1
+ // @graupl/graupl menu component 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";
7
+ @use "../../defaults" as root-defaults;
8
+ @use "../../variables" as root-variables;
9
+ @use "../../theme/color/variables" as color;
10
+ @use "../../functions/theme";
11
+ @use "sass:map";
12
+
13
+ // Menu properties.
14
+ $menu-flex-direction: var(
15
+ --#{root-defaults.$prefix}-menu-flex-direction,
16
+ #{defaults.$menu-flex-direction}
17
+ );
18
+ $menu-padding-x: var(
19
+ --#{root-defaults.$prefix}-menu-padding-x,
20
+ #{map.get(root-variables.$spacers, 0)}
21
+ );
22
+ $menu-padding-y: var(
23
+ --#{root-defaults.$prefix}-menu-padding-y,
24
+ #{map.get(root-variables.$spacers, 0)}
25
+ );
26
+ $menu-padding: var(
27
+ --#{root-defaults.$prefix}-menu-padding,
28
+ #{$menu-padding-y} #{$menu-padding-x}
29
+ );
30
+
31
+ // Menu gap properties.
32
+ $menu-column-gap: var(
33
+ --#{root-defaults.$prefix}-menu-column-gap,
34
+ #{map.get(root-variables.$spacers, 0)}
35
+ );
36
+ $menu-row-gap: var(
37
+ --#{root-defaults.$prefix}-menu-row-gap,
38
+ #{map.get(root-variables.$spacers, 0)}
39
+ );
40
+ $menu-gap: var(
41
+ --#{root-defaults.$prefix}-menu-gap,
42
+ #{$menu-column-gap} #{$menu-row-gap}
43
+ );
44
+
45
+ // Menu display properties.
46
+ $menu-show-display: var(
47
+ --#{root-defaults.$prefix}-menu-show-display,
48
+ #{defaults.$menu-show-display}
49
+ );
50
+ $menu-hide-display: var(
51
+ --#{root-defaults.$prefix}-menu-hide-display,
52
+ #{defaults.$menu-hide-display}
53
+ );
54
+ $menu-display: var(
55
+ --#{root-defaults.$prefix}-menu-display,
56
+ #{defaults.$menu-show-display}
57
+ );
58
+
59
+ // Menu color properties.
60
+ $menu-background: var(
61
+ --#{root-defaults.$prefix}-menu-background,
62
+ #{color.$root-background}
63
+ );
64
+ $menu-color: var(--#{root-defaults.$prefix}-menu-color, #{color.$root-color});
65
+
66
+ // Menu border properties.
67
+ $menu-border-color: var(
68
+ --#{root-defaults.$prefix}-menu-border-color,
69
+ #{$menu-color}
70
+ );
71
+ $menu-border-radius: var(
72
+ --#{root-defaults.$prefix}-menu-border-radius,
73
+ #{root-variables.$border-radius}
74
+ );
75
+ $menu-border-style: var(
76
+ --#{root-defaults.$prefix}-menu-border-style,
77
+ #{root-variables.$border-style}
78
+ );
79
+ $menu-border-width: var(
80
+ --#{root-defaults.$prefix}-menu-border-width,
81
+ #{defaults.$menu-border-width}
82
+ );
83
+ $menu-border: var(
84
+ --#{root-defaults.$prefix}-menu-border,
85
+ #{$menu-border-width} #{$menu-border-style}
86
+ );
87
+
88
+ // Submenu properties
89
+ $submenu-flex-direction: var(
90
+ --#{root-defaults.$prefix}-submenu-flex-direction,
91
+ #{defaults.$submenu-flex-direction}
92
+ );
93
+ $submenu-z-index: var(
94
+ --#{root-defaults.$prefix}-submenu-z-index,
95
+ #{defaults.$submenu-z-index}
96
+ );
97
+ $submenu-padding-x: var(
98
+ --#{root-defaults.$prefix}-submenu-padding-x,
99
+ #{map.get(root-variables.$spacers, 0)}
100
+ );
101
+ $submenu-padding-y: var(
102
+ --#{root-defaults.$prefix}-submenu-padding-y,
103
+ #{map.get(root-variables.$spacers, 0)}
104
+ );
105
+ $submenu-padding: var(
106
+ --#{root-defaults.$prefix}-submenu-padding,
107
+ #{$submenu-padding-y} #{$submenu-padding-x}
108
+ );
109
+
110
+ // Submenu gap properties.
111
+ $submenu-column-gap: var(
112
+ --#{root-defaults.$prefix}-submenu-column-gap,
113
+ #{$menu-column-gap}
114
+ );
115
+ $submenu-row-gap: var(
116
+ --#{root-defaults.$prefix}-submenu-row-gap,
117
+ #{$menu-row-gap}
118
+ );
119
+ $submenu-gap: var(
120
+ --#{root-defaults.$prefix}-submenu-gap,
121
+ #{$submenu-column-gap} #{$submenu-row-gap}
122
+ );
123
+
124
+ // Submenu display properties.
125
+ $submenu-show-display: var(
126
+ --#{root-defaults.$prefix}-submenu-show-display,
127
+ #{defaults.$submenu-show-display}
128
+ );
129
+ $submenu-hide-display: var(
130
+ --#{root-defaults.$prefix}-submenu-hide-display,
131
+ #{defaults.$submenu-hide-display}
132
+ );
133
+ $submenu-display: var(
134
+ --#{root-defaults.$prefix}-submenu-display,
135
+ #{defaults.$submenu-hide-display}
136
+ );
137
+
138
+ // Submenu color properties.
139
+ $submenu-background: var(
140
+ --#{root-defaults.$prefix}-submenu-background,
141
+ #{$menu-background}
142
+ );
143
+ $submenu-color: var(--#{root-defaults.$prefix}-submenu-color, #{$menu-color});
144
+
145
+ // Submenu border properties.
146
+ $submenu-border-color: var(
147
+ --#{root-defaults.$prefix}-submenu-border-color,
148
+ #{$submenu-color}
149
+ );
150
+ $submenu-border-radius: var(
151
+ --#{root-defaults.$prefix}-submenu-border-radius,
152
+ #{root-variables.$border-radius}
153
+ );
154
+ $submenu-border-style: var(
155
+ --#{root-defaults.$prefix}-submenu-border-style,
156
+ #{root-variables.$border-style}
157
+ );
158
+ $submenu-border-width: var(
159
+ --#{root-defaults.$prefix}-submenu-border-width,
160
+ #{root-variables.$border-width}
161
+ );
162
+ $submenu-border: var(
163
+ --#{root-defaults.$prefix}-submenu-border,
164
+ #{$submenu-border-width} #{$submenu-border-style}
165
+ );
166
+
167
+ // Submenu position properties.
168
+ $submenu-position: var(
169
+ --#{root-defaults.$prefix}-submenu-position,
170
+ #{defaults.$submenu-position}
171
+ );
172
+ $submenu-top: var(
173
+ --#{root-defaults.$prefix}-submenu-top,
174
+ #{defaults.$submenu-top}
175
+ );
176
+ $submenu-right: var(
177
+ --#{root-defaults.$prefix}-submenu-right,
178
+ #{defaults.$submenu-right}
179
+ );
180
+ $submenu-bottom: var(
181
+ --#{root-defaults.$prefix}-submenu-bottom,
182
+ #{defaults.$submenu-bottom}
183
+ );
184
+ $submenu-left: var(
185
+ --#{root-defaults.$prefix}-submenu-left,
186
+ #{defaults.$submenu-left}
187
+ );
188
+ $submenu-inset: var(
189
+ --#{root-defaults.$prefix}-submenu-inset,
190
+ #{$submenu-top} #{$submenu-right} #{$submenu-bottom} #{$submenu-left}
191
+ );
192
+
193
+ // Menu item properties.
194
+ $menu-item-min-width: var(
195
+ --#{root-defaults.$prefix}-menu-item-min-width,
196
+ #{defaults.$menu-item-min-width}
197
+ );
198
+ $menu-item-max-width: var(
199
+ --#{root-defaults.$prefix}-menu-item-max-width,
200
+ #{defaults.$menu-item-max-width}
201
+ );
202
+ $menu-item-padding-x: var(
203
+ --#{root-defaults.$prefix}-menu-item-padding-x,
204
+ #{map.get(root-variables.$spacers, 0)}
205
+ );
206
+ $menu-item-padding-y: var(
207
+ --#{root-defaults.$prefix}-menu-item-padding-y,
208
+ #{map.get(root-variables.$spacers, 0)}
209
+ );
210
+ $menu-item-padding: var(
211
+ --#{root-defaults.$prefix}-menu-item-padding,
212
+ #{$menu-item-padding-y} #{$menu-item-padding-x}
213
+ );
214
+
215
+ // Submenu item properties.
216
+ $submenu-item-width: var(
217
+ --#{root-defaults.$prefix}-submenu-item-width,
218
+ #{defaults.$submenu-item-width}
219
+ );
220
+
221
+ // Menu link properties.
222
+ $menu-link-padding-x: var(
223
+ --#{root-defaults.$prefix}-menu-link-padding-x,
224
+ #{map.get(root-variables.$spacers, 5)}
225
+ );
226
+ $menu-link-padding-y: var(
227
+ --#{root-defaults.$prefix}-menu-link-padding-y,
228
+ #{map.get(root-variables.$spacers, 3)}
229
+ );
230
+ $menu-link-padding: var(
231
+ --#{root-defaults.$prefix}-menu-link-padding,
232
+ #{$menu-link-padding-y} #{$menu-link-padding-x}
233
+ );
234
+
235
+ // Menu link transform properties.
236
+ $menu-link-transition: var(
237
+ --#{root-defaults.$prefix}-menu-link-transition,
238
+ background #{map.get(root-variables.$transition-durations, fast)}
239
+ #{root-variables.$transition-timing-function},
240
+ color #{map.get(root-variables.$transition-durations, fast)}
241
+ #{root-variables.$transition-timing-function}
242
+ );
243
+ $menu-link-transition-reduced-motion: var(
244
+ --#{root-defaults.$prefix}-menu-link-transition-reduced-motion,
245
+ background #{map.get(root-variables.$transition-durations, none)}
246
+ #{root-variables.$transition-timing-function},
247
+ color #{map.get(root-variables.$transition-durations, none)}
248
+ #{root-variables.$transition-timing-function}
249
+ );
250
+ $menu-link-transform: var(
251
+ --#{root-defaults.$prefix}-menu-link-transform,
252
+ #{defaults.$menu-link-transform}
253
+ );
254
+ $menu-link-visited-transform: var(
255
+ --#{root-defaults.$prefix}-menu-link-visited-transform,
256
+ #{defaults.$menu-link-visited-transform}
257
+ );
258
+ $menu-link-focus-transform: var(
259
+ --#{root-defaults.$prefix}-menu-link-focus-transform,
260
+ #{defaults.$menu-link-focus-transform}
261
+ );
262
+ $menu-link-hover-transform: var(
263
+ --#{root-defaults.$prefix}-menu-link-hover-transform,
264
+ #{defaults.$menu-link-hover-transform}
265
+ );
266
+ $menu-link-active-transform: var(
267
+ --#{root-defaults.$prefix}-menu-link-active-transform,
268
+ #{defaults.$menu-link-active-transform}
269
+ );
270
+ $menu-link-disabled-transform: var(
271
+ --#{root-defaults.$prefix}-menu-link-disabled-transform,
272
+ #{defaults.$menu-link-disabled-transform}
273
+ );
274
+
275
+ // Menu link gap properties.
276
+ $menu-link-column-gap: var(
277
+ --#{root-defaults.$prefix}-menu-link-column-gap,
278
+ #{$menu-link-padding-x}
279
+ );
280
+ $menu-link-row-gap: var(
281
+ --#{root-defaults.$prefix}-menu-link-row-gap,
282
+ #{map.get(root-variables.$spacers, 0)}
283
+ );
284
+ $menu-link-gap: var(
285
+ --#{root-defaults.$prefix}-menu-link-gap,
286
+ #{$menu-link-column-gap} #{$menu-link-row-gap}
287
+ );
288
+
289
+ // Menu link colors.
290
+ $menu-link-background: var(
291
+ --#{root-defaults.$prefix}-menu-link-background,
292
+ #{$menu-background}
293
+ );
294
+ $menu-link-visited-background: var(
295
+ --#{root-defaults.$prefix}-menu-link-visited-background,
296
+ #{$menu-background}
297
+ );
298
+ $menu-link-focus-background: var(
299
+ --#{root-defaults.$prefix}-menu-link-focus-background,
300
+ #{$menu-background}
301
+ );
302
+ $menu-link-hover-background: var(
303
+ --#{root-defaults.$prefix}-menu-link-hover-background,
304
+ #{$menu-color}
305
+ );
306
+ $menu-link-active-background: var(
307
+ --#{root-defaults.$prefix}-menu-link-active-background,
308
+ #{$menu-color}
309
+ );
310
+ $menu-link-disabled-background: var(
311
+ --#{root-defaults.$prefix}-menu-link-disabled-background,
312
+ #{color.$root-background}
313
+ );
314
+ $menu-link-color: var(
315
+ --#{root-defaults.$prefix}-menu-link-color,
316
+ #{$menu-color}
317
+ );
318
+ $menu-link-visited-color: var(
319
+ --#{root-defaults.$prefix}-menu-link-visited-color,
320
+ #{$menu-color}
321
+ );
322
+ $menu-link-focus-color: var(
323
+ --#{root-defaults.$prefix}-menu-link-focus-color,
324
+ #{$menu-color}
325
+ );
326
+ $menu-link-hover-color: var(
327
+ --#{root-defaults.$prefix}-menu-link-hover-color,
328
+ #{$menu-background}
329
+ );
330
+ $menu-link-active-color: var(
331
+ --#{root-defaults.$prefix}-menu-link-active-color,
332
+ #{$menu-background}
333
+ );
334
+ $menu-link-disabled-color: var(
335
+ --#{root-defaults.$prefix}-menu-link-disabled-color,
336
+ #{theme.get(primary, 200)}
337
+ );
338
+
339
+ // Menu link text decoration properties.
340
+ $menu-link-text-decoration: var(
341
+ --#{root-defaults.$prefix}-menu-link-text-decoration,
342
+ #{defaults.$menu-link-text-decoration}
343
+ );
344
+ $menu-link-visited-text-decoration: var(
345
+ --#{root-defaults.$prefix}-menu-link-visited-text-decoration,
346
+ #{defaults.$menu-link-visited-text-decoration}
347
+ );
348
+ $menu-link-focus-text-decoration: var(
349
+ --#{root-defaults.$prefix}-menu-link-focus-text-decoration,
350
+ #{defaults.$menu-link-focus-text-decoration}
351
+ );
352
+ $menu-link-hover-text-decoration: var(
353
+ --#{root-defaults.$prefix}-menu-link-hover-text-decoration,
354
+ #{defaults.$menu-link-hover-text-decoration}
355
+ );
356
+ $menu-link-active-text-decoration: var(
357
+ --#{root-defaults.$prefix}-menu-link-active-text-decoration,
358
+ #{defaults.$menu-link-active-text-decoration}
359
+ );
360
+ $menu-link-disabled-text-decoration: var(
361
+ --#{root-defaults.$prefix}-menu-link-disabled-text-decoration,
362
+ #{defaults.$menu-link-disabled-text-decoration}
363
+ );
364
+ $menu-link-text-decoration-thickness: var(
365
+ --#{root-defaults.$prefix}-menu-link-text-decoration-thickness,
366
+ #{root-variables.$border-width}
367
+ );
368
+ $menu-link-visited-text-decoration-thickness: var(
369
+ --#{root-defaults.$prefix}-menu-link-visited-text-decoration-thickness,
370
+ #{root-variables.$border-width}
371
+ );
372
+ $menu-link-focus-text-decoration-thickness: var(
373
+ --#{root-defaults.$prefix}-menu-link-focus-text-decoration-thickness,
374
+ #{root-variables.$border-width}
375
+ );
376
+ $menu-link-hover-text-decoration-thickness: var(
377
+ --#{root-defaults.$prefix}-menu-link-hover-text-decoration-thickness,
378
+ #{root-variables.$border-width}
379
+ );
380
+ $menu-link-active-text-decoration-thickness: var(
381
+ --#{root-defaults.$prefix}-menu-link-active-text-decoration-thickness,
382
+ #{root-variables.$border-width}
383
+ );
384
+ $menu-link-disabled-text-decoration-thickness: var(
385
+ --#{root-defaults.$prefix}-menu-link-disabled-text-decoration-thickness,
386
+ #{root-variables.$border-width}
387
+ );
388
+ $menu-link-text-decoration-style: var(
389
+ --#{root-defaults.$prefix}-menu-link-text-decoration-style,
390
+ #{defaults.$menu-link-text-decoration-style}
391
+ );
392
+ $menu-link-visited-text-decoration-style: var(
393
+ --#{root-defaults.$prefix}-menu-link-visited-text-decoration-style,
394
+ #{defaults.$menu-link-visited-text-decoration-style}
395
+ );
396
+ $menu-link-focus-text-decoration-style: var(
397
+ --#{root-defaults.$prefix}-menu-link-focus-text-decoration-style,
398
+ #{defaults.$menu-link-focus-text-decoration-style}
399
+ );
400
+ $menu-link-hover-text-decoration-style: var(
401
+ --#{root-defaults.$prefix}-menu-link-hover-text-decoration-style,
402
+ #{defaults.$menu-link-hover-text-decoration-style}
403
+ );
404
+ $menu-link-active-text-decoration-style: var(
405
+ --#{root-defaults.$prefix}-menu-link-active-text-decoration-style,
406
+ #{defaults.$menu-link-active-text-decoration-style}
407
+ );
408
+ $menu-link-disabled-text-decoration-style: var(
409
+ --#{root-defaults.$prefix}-menu-link-disabled-text-decoration-style,
410
+ #{defaults.$menu-link-disabled-text-decoration-style}
411
+ );
412
+ $menu-link-text-decoration-color: var(
413
+ --#{root-defaults.$prefix}-menu-link-text-decoration-color,
414
+ #{$menu-link-color}
415
+ );
416
+ $menu-link-visited-text-decoration-color: var(
417
+ --#{root-defaults.$prefix}-menu-link-visited-text-decoration-color,
418
+ #{$menu-link-visited-color}
419
+ );
420
+ $menu-link-focus-text-decoration-color: var(
421
+ --#{root-defaults.$prefix}-menu-link-focus-text-decoration-color,
422
+ #{$menu-link-focus-color}
423
+ );
424
+ $menu-link-hover-text-decoration-color: var(
425
+ --#{root-defaults.$prefix}-menu-link-hover-text-decoration-color,
426
+ #{$menu-link-hover-color}
427
+ );
428
+ $menu-link-active-text-decoration-color: var(
429
+ --#{root-defaults.$prefix}-menu-link-active-text-decoration-color,
430
+ #{$menu-link-active-color}
431
+ );
432
+ $menu-link-disabled-text-decoration-color: var(
433
+ --#{root-defaults.$prefix}-menu-link-disabled-text-decoration-color,
434
+ #{$menu-link-disabled-color}
435
+ );
436
+
437
+ // Menu link border properties.
438
+ $menu-link-border-radius: var(
439
+ --#{root-defaults.$prefix}-menu-link-border-radius,
440
+ #{root-variables.$border-radius}
441
+ );
442
+ $menu-link-border-style: var(
443
+ --#{root-defaults.$prefix}-menu-link-border-style,
444
+ #{root-variables.$border-style}
445
+ );
446
+ $menu-link-border-width: var(
447
+ --#{root-defaults.$prefix}-menu-link-border-width,
448
+ #{defaults.$menu-link-border-width}
449
+ );
450
+ $menu-link-border: var(
451
+ --#{root-defaults.$prefix}-menu-link-border,
452
+ #{$menu-link-border-width} #{$menu-link-border-style}
453
+ );
454
+ $menu-link-border-color: var(
455
+ --#{root-defaults.$prefix}-menu-link-border-color,
456
+ #{$menu-link-color}
457
+ );
458
+ $menu-link-visited-border-color: var(
459
+ --#{root-defaults.$prefix}-menu-link-visited-border-color,
460
+ #{$menu-link-color}
461
+ );
462
+ $menu-link-focus-border-color: var(
463
+ --#{root-defaults.$prefix}-menu-link-focus-border-color,
464
+ #{$menu-link-color}
465
+ );
466
+ $menu-link-hover-border-color: var(
467
+ --#{root-defaults.$prefix}-menu-link-hover-border-color,
468
+ #{$menu-link-color}
469
+ );
470
+ $menu-link-active-border-color: var(
471
+ --#{root-defaults.$prefix}-menu-link-active-border-color,
472
+ #{$menu-link-color}
473
+ );
474
+ $menu-link-disabled-border-color: var(
475
+ --#{root-defaults.$prefix}-menu-link-disabled-border-color,
476
+ #{$menu-link-color}
477
+ );
478
+
479
+ // Submenu toggle properties.
480
+ $submenu-toggle-transform: var(
481
+ --#{root-defaults.$prefix}-submenu-toggle-transform,
482
+ #{defaults.$submenu-toggle-transform}
483
+ );
484
+ $submenu-toggle-open-transform: var(
485
+ --#{root-defaults.$prefix}-submenu-toggle-open-transform,
486
+ #{defaults.$submenu-toggle-open-transform}
487
+ );
488
+ $submenu-toggle-content: var(
489
+ --#{root-defaults.$prefix}-submenu-toggle-content,
490
+ #{defaults.$submenu-toggle-content}
491
+ );
492
+ $submenu-toggle-transition: var(
493
+ --#{root-defaults.$prefix}-submenu-toggle-transition,
494
+ transform #{map.get(root-variables.$transition-durations, fast)}
495
+ #{root-variables.$transition-timing-function}
496
+ );
497
+ $submenu-toggle-transition-reduced-motion: var(
498
+ --#{root-defaults.$prefix}-submenu-toggle-transition-reduced-motion,
499
+ none
500
+ );
@@ -0,0 +1,29 @@
1
+ // @graupl/graupl navigation component 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
+ // Navigation selectors.
10
+ $navigation-selector: ".navigation" !default;
11
+ $navigation-toggle-selector: ".navigation-toggle" !default;
12
+ $navigation-branding-selector: ".navigation-branding" !default;
13
+
14
+ // Navigation toggle properties.
15
+ $navigation-toggle-content: "'☰'" !default;
16
+
17
+ // Navigation branding properties.
18
+ $navigation-branding-text-decoration: none !default;
19
+ $navigation-branding-visited-text-decoration: $navigation-branding-text-decoration !default;
20
+ $navigation-branding-focus-text-decoration: $navigation-branding-text-decoration !default;
21
+ $navigation-branding-hover-text-decoration: $navigation-branding-text-decoration !default;
22
+ $navigation-branding-active-text-decoration: $navigation-branding-text-decoration !default;
23
+ $navigation-branding-disabled-text-decoration: $navigation-branding-text-decoration !default;
24
+ $navigation-branding-text-decoration-style: solid !default;
25
+ $navigation-branding-visited-text-decoration-style: $navigation-branding-text-decoration-style !default;
26
+ $navigation-branding-focus-text-decoration-style: $navigation-branding-text-decoration-style !default;
27
+ $navigation-branding-hover-text-decoration-style: $navigation-branding-text-decoration-style !default;
28
+ $navigation-branding-active-text-decoration-style: $navigation-branding-text-decoration-style !default;
29
+ $navigation-branding-disabled-text-decoration-style: $navigation-branding-text-decoration-style !default;