@graupl/graupl 1.0.0-beta.0 → 1.0.0-beta.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 (613) hide show
  1. package/.devcontainer/devcontainer.json +221 -0
  2. package/.env +3 -0
  3. package/.github/workflows/docs.yml +13 -6
  4. package/.github/workflows/prerelease.yml +125 -0
  5. package/.github/workflows/release.yml +111 -0
  6. package/.github/workflows/test.yml +54 -3
  7. package/.versionrc.cjs +12 -0
  8. package/.vscode/settings.json +10 -0
  9. package/CHANGELOG.md +203 -1
  10. package/build.js +4 -2
  11. package/combine-at-rules.cjs +61 -0
  12. package/container/.env +26 -0
  13. package/container/build/app.dockerfile +41 -0
  14. package/container/docker-compose.yml +27 -0
  15. package/dist/css/base/button.css +1 -1
  16. package/dist/css/base/button.css.map +1 -1
  17. package/dist/css/base/form.css +1 -1
  18. package/dist/css/base/form.css.map +1 -1
  19. package/dist/css/base/link.css +1 -1
  20. package/dist/css/base/link.css.map +1 -1
  21. package/dist/css/base/table.css +1 -1
  22. package/dist/css/base/table.css.map +1 -1
  23. package/dist/css/base.css +1 -1
  24. package/dist/css/base.css.map +1 -1
  25. package/dist/css/component/accordion.css +4 -1
  26. package/dist/css/component/accordion.css.map +1 -1
  27. package/dist/css/component/alert.css +1 -1
  28. package/dist/css/component/alert.css.map +1 -1
  29. package/dist/css/component/card.css +1 -1
  30. package/dist/css/component/card.css.map +1 -1
  31. package/dist/css/component/carousel.css +1 -1
  32. package/dist/css/component/carousel.css.map +1 -1
  33. package/dist/css/component/input-group.css +1 -1
  34. package/dist/css/component/input-group.css.map +1 -1
  35. package/dist/css/component/list.css +2 -0
  36. package/dist/css/component/list.css.map +1 -0
  37. package/dist/css/component/menu.css +1 -1
  38. package/dist/css/component/menu.css.map +1 -1
  39. package/dist/css/component/navigation.css +1 -1
  40. package/dist/css/component/navigation.css.map +1 -1
  41. package/dist/css/component.css +4 -1
  42. package/dist/css/component.css.map +1 -1
  43. package/dist/css/graupl.css +4 -1
  44. package/dist/css/graupl.css.map +1 -1
  45. package/dist/css/init.css.map +1 -1
  46. package/dist/css/layout/columns.css +1 -1
  47. package/dist/css/layout/columns.css.map +1 -1
  48. package/dist/css/layout/container.css +1 -1
  49. package/dist/css/layout/container.css.map +1 -1
  50. package/dist/css/layout/flex-columns.css +1 -1
  51. package/dist/css/layout/flex-columns.css.map +1 -1
  52. package/dist/css/layout.css +4 -1
  53. package/dist/css/layout.css.map +1 -1
  54. package/dist/css/normalize.css.map +1 -1
  55. package/dist/css/state/focus.css +1 -1
  56. package/dist/css/state/focus.css.map +1 -1
  57. package/dist/css/state.css +1 -1
  58. package/dist/css/state.css.map +1 -1
  59. package/dist/css/theme/color.css.map +1 -1
  60. package/dist/css/theme/typography.css +1 -1
  61. package/dist/css/theme/typography.css.map +1 -1
  62. package/dist/css/theme.css +1 -1
  63. package/dist/css/theme.css.map +1 -1
  64. package/dist/css/utilities/alignment.css.map +1 -1
  65. package/dist/css/utilities/background.css +2 -0
  66. package/dist/css/utilities/background.css.map +1 -0
  67. package/dist/css/utilities/border.css +2 -0
  68. package/dist/css/utilities/border.css.map +1 -0
  69. package/dist/css/utilities/color.css +1 -1
  70. package/dist/css/utilities/color.css.map +1 -1
  71. package/dist/css/utilities/container.css +2 -0
  72. package/dist/css/utilities/container.css.map +1 -0
  73. package/dist/css/utilities/display.css +1 -1
  74. package/dist/css/utilities/display.css.map +1 -1
  75. package/dist/css/utilities/flex.css +1 -1
  76. package/dist/css/utilities/flex.css.map +1 -1
  77. package/dist/css/utilities/gradient.css +2 -0
  78. package/dist/css/utilities/gradient.css.map +1 -0
  79. package/dist/css/utilities/height.css +1 -1
  80. package/dist/css/utilities/height.css.map +1 -1
  81. package/dist/css/utilities/inset.css +1 -1
  82. package/dist/css/utilities/inset.css.map +1 -1
  83. package/dist/css/utilities/justification.css.map +1 -1
  84. package/dist/css/utilities/list.css.map +1 -1
  85. package/dist/css/utilities/order.css.map +1 -1
  86. package/dist/css/utilities/position.css +2 -0
  87. package/dist/css/utilities/position.css.map +1 -0
  88. package/dist/css/utilities/ratio.css +1 -1
  89. package/dist/css/utilities/ratio.css.map +1 -1
  90. package/dist/css/utilities/spacing.css +1 -1
  91. package/dist/css/utilities/spacing.css.map +1 -1
  92. package/dist/css/utilities/typography.css +1 -1
  93. package/dist/css/utilities/typography.css.map +1 -1
  94. package/dist/css/utilities/visibility.css +1 -1
  95. package/dist/css/utilities/visibility.css.map +1 -1
  96. package/dist/css/utilities/visually-hidden.css +2 -0
  97. package/dist/css/utilities/visually-hidden.css.map +1 -0
  98. package/dist/css/utilities/width.css +1 -1
  99. package/dist/css/utilities/width.css.map +1 -1
  100. package/dist/css/utilities/z-index.css +2 -0
  101. package/dist/css/utilities/z-index.css.map +1 -0
  102. package/dist/css/utilities.css +1 -1
  103. package/dist/css/utilities.css.map +1 -1
  104. package/dist/js/graupl.cjs.js +5 -3
  105. package/dist/js/graupl.esm.js +1305 -206
  106. package/dist/js/graupl.iife.js +5 -3
  107. package/docs/.vitepress/config.js +31 -1
  108. package/docs/.vitepress/theme/custom.scss +16 -16
  109. package/docs/compiling-graupl.md +6 -5
  110. package/docs/components/alert.md +28 -28
  111. package/docs/components/button.md +36 -36
  112. package/docs/components/card.md +39 -39
  113. package/docs/components/inputgroup.md +12 -12
  114. package/docs/components/menu.md +112 -112
  115. package/docs/components/navigation.md +52 -52
  116. package/docs/content.md +86 -86
  117. package/docs/defaults.md +10 -10
  118. package/docs/forms.md +34 -34
  119. package/docs/layout.md +21 -21
  120. package/docs/state.md +8 -8
  121. package/docs/theme.md +58 -58
  122. package/docs/utilities/alignment.md +411 -0
  123. package/docs/utilities/background.md +192 -0
  124. package/docs/utilities/border.md +268 -0
  125. package/docs/utilities/color.md +348 -0
  126. package/docs/utilities/container.md +3 -0
  127. package/docs/utilities/display.md +3 -0
  128. package/docs/utilities/flex.md +3 -0
  129. package/docs/utilities/gradient.md +3 -0
  130. package/docs/utilities/height.md +3 -0
  131. package/docs/utilities/inset.md +3 -0
  132. package/docs/utilities/justification.md +3 -0
  133. package/docs/utilities/list.md +3 -0
  134. package/docs/utilities/order.md +3 -0
  135. package/docs/utilities/position.md +3 -0
  136. package/docs/utilities/ratio.md +3 -0
  137. package/docs/utilities/responsive-classes.md +3 -0
  138. package/docs/utilities/spacing.md +3 -0
  139. package/docs/utilities/typography.md +3 -0
  140. package/docs/utilities/visibility.md +3 -0
  141. package/docs/utilities/visually-hidden.md +3 -0
  142. package/docs/utilities/width.md +3 -0
  143. package/docs/utilities/z-index.md +3 -0
  144. package/docs/utilities.md +1 -1
  145. package/favicon.ico +0 -0
  146. package/index.html +418 -55
  147. package/logo.svg +296 -0
  148. package/package.json +33 -37
  149. package/packages/core/build.js +9 -0
  150. package/packages/core/dist/css/base/button.css +2 -0
  151. package/packages/core/dist/css/base/button.css.map +1 -0
  152. package/packages/core/dist/css/base/form.css +2 -0
  153. package/packages/core/dist/css/base/form.css.map +1 -0
  154. package/packages/core/dist/css/base/link.css +2 -0
  155. package/packages/core/dist/css/base/link.css.map +1 -0
  156. package/packages/core/dist/css/base/table.css +2 -0
  157. package/packages/core/dist/css/base/table.css.map +1 -0
  158. package/packages/core/dist/css/base.css +2 -0
  159. package/packages/core/dist/css/base.css.map +1 -0
  160. package/packages/core/dist/css/component/accordion.css +5 -0
  161. package/packages/core/dist/css/component/accordion.css.map +1 -0
  162. package/packages/core/dist/css/component/alert.css +2 -0
  163. package/packages/core/dist/css/component/alert.css.map +1 -0
  164. package/packages/core/dist/css/component/card.css +2 -0
  165. package/packages/core/dist/css/component/card.css.map +1 -0
  166. package/packages/core/dist/css/component/carousel.css +2 -0
  167. package/packages/core/dist/css/component/carousel.css.map +1 -0
  168. package/packages/core/dist/css/component/input-group.css +2 -0
  169. package/packages/core/dist/css/component/input-group.css.map +1 -0
  170. package/packages/core/dist/css/component/list.css +2 -0
  171. package/packages/core/dist/css/component/list.css.map +1 -0
  172. package/packages/core/dist/css/component/menu.css +2 -0
  173. package/packages/core/dist/css/component/menu.css.map +1 -0
  174. package/packages/core/dist/css/component/navigation.css +2 -0
  175. package/packages/core/dist/css/component/navigation.css.map +1 -0
  176. package/packages/core/dist/css/component.css +5 -0
  177. package/packages/core/dist/css/component.css.map +1 -0
  178. package/packages/core/dist/css/graupl.css +5 -0
  179. package/packages/core/dist/css/graupl.css.map +1 -0
  180. package/{src/scss/_init.scss → packages/core/dist/css/init.css} +1 -2
  181. package/packages/core/dist/css/init.css.map +1 -0
  182. package/packages/core/dist/css/layout/columns.css +2 -0
  183. package/packages/core/dist/css/layout/columns.css.map +1 -0
  184. package/packages/core/dist/css/layout/container.css +2 -0
  185. package/packages/core/dist/css/layout/container.css.map +1 -0
  186. package/packages/core/dist/css/layout/flex-columns.css +2 -0
  187. package/packages/core/dist/css/layout/flex-columns.css.map +1 -0
  188. package/packages/core/dist/css/layout.css +5 -0
  189. package/packages/core/dist/css/layout.css.map +1 -0
  190. package/packages/core/dist/css/normalize.css +2 -0
  191. package/packages/core/dist/css/normalize.css.map +1 -0
  192. package/packages/core/dist/css/state/focus.css +2 -0
  193. package/packages/core/dist/css/state/focus.css.map +1 -0
  194. package/packages/core/dist/css/state.css +2 -0
  195. package/packages/core/dist/css/state.css.map +1 -0
  196. package/packages/core/dist/css/theme/color.css +2 -0
  197. package/packages/core/dist/css/theme/color.css.map +1 -0
  198. package/packages/core/dist/css/theme/typography.css +2 -0
  199. package/packages/core/dist/css/theme/typography.css.map +1 -0
  200. package/packages/core/dist/css/theme.css +2 -0
  201. package/packages/core/dist/css/theme.css.map +1 -0
  202. package/packages/core/dist/css/utilities/alignment.css +2 -0
  203. package/packages/core/dist/css/utilities/alignment.css.map +1 -0
  204. package/packages/core/dist/css/utilities/background.css +2 -0
  205. package/packages/core/dist/css/utilities/background.css.map +1 -0
  206. package/packages/core/dist/css/utilities/border.css +2 -0
  207. package/packages/core/dist/css/utilities/border.css.map +1 -0
  208. package/packages/core/dist/css/utilities/color.css +2 -0
  209. package/packages/core/dist/css/utilities/color.css.map +1 -0
  210. package/packages/core/dist/css/utilities/container.css +2 -0
  211. package/packages/core/dist/css/utilities/container.css.map +1 -0
  212. package/packages/core/dist/css/utilities/display.css +2 -0
  213. package/packages/core/dist/css/utilities/display.css.map +1 -0
  214. package/packages/core/dist/css/utilities/flex.css +2 -0
  215. package/packages/core/dist/css/utilities/flex.css.map +1 -0
  216. package/packages/core/dist/css/utilities/gradient.css +2 -0
  217. package/packages/core/dist/css/utilities/gradient.css.map +1 -0
  218. package/packages/core/dist/css/utilities/height.css +2 -0
  219. package/packages/core/dist/css/utilities/height.css.map +1 -0
  220. package/packages/core/dist/css/utilities/inset.css +2 -0
  221. package/packages/core/dist/css/utilities/inset.css.map +1 -0
  222. package/packages/core/dist/css/utilities/justification.css +2 -0
  223. package/packages/core/dist/css/utilities/justification.css.map +1 -0
  224. package/packages/core/dist/css/utilities/list.css +2 -0
  225. package/packages/core/dist/css/utilities/list.css.map +1 -0
  226. package/packages/core/dist/css/utilities/order.css +2 -0
  227. package/packages/core/dist/css/utilities/order.css.map +1 -0
  228. package/packages/core/dist/css/utilities/position.css +2 -0
  229. package/packages/core/dist/css/utilities/position.css.map +1 -0
  230. package/packages/core/dist/css/utilities/ratio.css +2 -0
  231. package/packages/core/dist/css/utilities/ratio.css.map +1 -0
  232. package/packages/core/dist/css/utilities/spacing.css +2 -0
  233. package/packages/core/dist/css/utilities/spacing.css.map +1 -0
  234. package/packages/core/dist/css/utilities/typography.css +2 -0
  235. package/packages/core/dist/css/utilities/typography.css.map +1 -0
  236. package/packages/core/dist/css/utilities/visibility.css +2 -0
  237. package/packages/core/dist/css/utilities/visibility.css.map +1 -0
  238. package/packages/core/dist/css/utilities/visually-hidden.css +2 -0
  239. package/packages/core/dist/css/utilities/visually-hidden.css.map +1 -0
  240. package/packages/core/dist/css/utilities/width.css +2 -0
  241. package/packages/core/dist/css/utilities/width.css.map +1 -0
  242. package/packages/core/dist/css/utilities/z-index.css +2 -0
  243. package/packages/core/dist/css/utilities/z-index.css.map +1 -0
  244. package/packages/core/dist/css/utilities.css +2 -0
  245. package/packages/core/dist/css/utilities.css.map +1 -0
  246. package/packages/core/package.json +58 -0
  247. package/packages/core/scss/base/button.scss +3 -0
  248. package/packages/core/scss/base/form.scss +3 -0
  249. package/packages/core/scss/base/link.scss +3 -0
  250. package/packages/core/scss/base/table.scss +3 -0
  251. package/packages/core/scss/base.scss +3 -0
  252. package/packages/core/scss/component/accordion.scss +3 -0
  253. package/packages/core/scss/component/alert.scss +3 -0
  254. package/packages/core/scss/component/card.scss +3 -0
  255. package/packages/core/scss/component/carousel.scss +3 -0
  256. package/packages/core/scss/component/input-group.scss +3 -0
  257. package/packages/core/scss/component/list.scss +3 -0
  258. package/packages/core/scss/component/menu.scss +3 -0
  259. package/packages/core/scss/component/navigation.scss +3 -0
  260. package/packages/core/scss/component.scss +3 -0
  261. package/packages/core/scss/graupl.scss +3 -0
  262. package/packages/core/scss/init.scss +3 -0
  263. package/packages/core/scss/layout/columns.scss +3 -0
  264. package/packages/core/scss/layout/container.scss +3 -0
  265. package/packages/core/scss/layout/flex-columns.scss +3 -0
  266. package/packages/core/scss/layout.scss +3 -0
  267. package/packages/core/scss/normalize.scss +3 -0
  268. package/packages/core/scss/state/focus.scss +3 -0
  269. package/packages/core/scss/state.scss +3 -0
  270. package/packages/core/scss/theme/color.scss +3 -0
  271. package/packages/core/scss/theme/typography.scss +3 -0
  272. package/packages/core/scss/theme.scss +3 -0
  273. package/packages/core/scss/utilities/alignment.scss +3 -0
  274. package/packages/core/scss/utilities/background.scss +3 -0
  275. package/packages/core/scss/utilities/border.scss +3 -0
  276. package/packages/core/scss/utilities/color.scss +3 -0
  277. package/packages/core/scss/utilities/container.scss +3 -0
  278. package/packages/core/scss/utilities/display.scss +3 -0
  279. package/packages/core/scss/utilities/flex.scss +3 -0
  280. package/packages/core/scss/utilities/gradient.scss +3 -0
  281. package/packages/core/scss/utilities/height.scss +3 -0
  282. package/packages/core/scss/utilities/inset.scss +3 -0
  283. package/packages/core/scss/utilities/justification.scss +3 -0
  284. package/packages/core/scss/utilities/list.scss +3 -0
  285. package/packages/core/scss/utilities/order.scss +3 -0
  286. package/{scss/utilities/postion.scss → packages/core/scss/utilities/position.scss} +1 -1
  287. package/packages/core/scss/utilities/ratio.scss +3 -0
  288. package/packages/core/scss/utilities/spacing.scss +3 -0
  289. package/packages/core/scss/utilities/typography.scss +3 -0
  290. package/packages/core/scss/utilities/visibility.scss +3 -0
  291. package/packages/core/scss/utilities/visually-hidden.scss +3 -0
  292. package/packages/core/scss/utilities/width.scss +3 -0
  293. package/packages/core/scss/utilities/z-index.scss +3 -0
  294. package/packages/core/scss/utilities.scss +3 -0
  295. package/{src → packages/core/src}/scss/_defaults.scss +59 -11
  296. package/{src → packages/core/src}/scss/_index.scss +1 -1
  297. package/packages/core/src/scss/_init.scss +6 -0
  298. package/{src → packages/core/src}/scss/_normalize.scss +1 -1
  299. package/packages/core/src/scss/_variables.scss +95 -0
  300. package/{src → packages/core/src}/scss/base/_index.scss +1 -1
  301. package/{src → packages/core/src}/scss/base/button/_defaults.scss +13 -24
  302. package/packages/core/src/scss/base/button/_index.scss +206 -0
  303. package/packages/core/src/scss/base/button/_mixins.scss +104 -0
  304. package/packages/core/src/scss/base/button/_variables.scss +252 -0
  305. package/{src → packages/core/src}/scss/base/form/_defaults.scss +8 -1
  306. package/packages/core/src/scss/base/form/_index.scss +227 -0
  307. package/packages/core/src/scss/base/form/_variables.scss +245 -0
  308. package/packages/core/src/scss/base/link/_defaults.scss +35 -0
  309. package/packages/core/src/scss/base/link/_index.scss +245 -0
  310. package/packages/core/src/scss/base/link/_variables.scss +370 -0
  311. package/packages/core/src/scss/base/table/_defaults.scss +68 -0
  312. package/packages/core/src/scss/base/table/_index.scss +314 -0
  313. package/packages/core/src/scss/base/table/_variables.scss +309 -0
  314. package/{src → packages/core/src}/scss/component/_index.scss +2 -1
  315. package/{src → packages/core/src}/scss/component/accordion/_defaults.scss +1 -1
  316. package/{src → packages/core/src}/scss/component/accordion/_index.scss +78 -60
  317. package/{src → packages/core/src}/scss/component/accordion/_variables.scss +127 -87
  318. package/{src → packages/core/src}/scss/component/alert/_defaults.scss +1 -1
  319. package/{src → packages/core/src}/scss/component/alert/_index.scss +51 -50
  320. package/packages/core/src/scss/component/alert/_variables.scss +200 -0
  321. package/{src → packages/core/src}/scss/component/card/_defaults.scss +1 -1
  322. package/{src → packages/core/src}/scss/component/card/_index.scss +53 -19
  323. package/packages/core/src/scss/component/card/_variables.scss +216 -0
  324. package/{src → packages/core/src}/scss/component/carousel/_defaults.scss +1 -1
  325. package/{src → packages/core/src}/scss/component/carousel/_index.scss +32 -28
  326. package/{src → packages/core/src}/scss/component/carousel/_variables.scss +22 -22
  327. package/{src → packages/core/src}/scss/component/input-group/_defaults.scss +1 -1
  328. package/{src → packages/core/src}/scss/component/input-group/_index.scss +2 -2
  329. package/{src → packages/core/src}/scss/component/input-group/_variables.scss +13 -13
  330. package/{src/scss/utilities/order → packages/core/src/scss/component/list}/_defaults.scss +7 -14
  331. package/packages/core/src/scss/component/list/_index.scss +52 -0
  332. package/packages/core/src/scss/component/list/_variables.scss +236 -0
  333. package/{src → packages/core/src}/scss/component/menu/_defaults.scss +11 -20
  334. package/packages/core/src/scss/component/menu/_index.scss +308 -0
  335. package/packages/core/src/scss/component/menu/_variables.scss +642 -0
  336. package/packages/core/src/scss/component/navigation/_defaults.scss +23 -0
  337. package/packages/core/src/scss/component/navigation/_index.scss +190 -0
  338. package/packages/core/src/scss/component/navigation/_variables.scss +290 -0
  339. package/packages/core/src/scss/functions/_container.scss +38 -0
  340. package/packages/core/src/scss/functions/_important.scss +36 -0
  341. package/{src → packages/core/src}/scss/functions/_screen.scss +9 -1
  342. package/{src → packages/core/src}/scss/functions/_theme.scss +2 -2
  343. package/packages/core/src/scss/functions/_utility.scss +28 -0
  344. package/{src → packages/core/src}/scss/layout/_index.scss +1 -1
  345. package/{src → packages/core/src}/scss/layout/columns/_defaults.scss +9 -4
  346. package/packages/core/src/scss/layout/columns/_index.scss +137 -0
  347. package/{src → packages/core/src}/scss/layout/columns/_variables.scss +13 -9
  348. package/packages/core/src/scss/layout/container/_defaults.scss +35 -0
  349. package/packages/core/src/scss/layout/container/_index.scss +628 -0
  350. package/packages/core/src/scss/layout/container/_variables.scss +114 -0
  351. package/packages/core/src/scss/layout/flex-columns/_defaults.scss +28 -0
  352. package/packages/core/src/scss/layout/flex-columns/_index.scss +184 -0
  353. package/{src → packages/core/src}/scss/layout/flex-columns/_variables.scss +9 -5
  354. package/{src → packages/core/src}/scss/mixins/_animation.scss +1 -1
  355. package/packages/core/src/scss/mixins/_container.scss +80 -0
  356. package/{src → packages/core/src}/scss/mixins/_layer.scss +6 -2
  357. package/{src → packages/core/src}/scss/mixins/_screen.scss +25 -4
  358. package/packages/core/src/scss/mixins/_state.scss +18 -0
  359. package/packages/core/src/scss/mixins/_theme.scss +15 -0
  360. package/packages/core/src/scss/mixins/_utility.scss +185 -0
  361. package/packages/core/src/scss/mixins/_visually-hidden.scss +30 -0
  362. package/packages/core/src/scss/state/_index.scss +3 -0
  363. package/{src → packages/core/src}/scss/state/focus/_defaults.scss +1 -2
  364. package/packages/core/src/scss/state/focus/_index.scss +42 -0
  365. package/packages/core/src/scss/state/focus/_mixins.scss +13 -0
  366. package/packages/core/src/scss/state/focus/_variables.scss +50 -0
  367. package/{src → packages/core/src}/scss/theme/_index.scss +1 -1
  368. package/{src → packages/core/src}/scss/theme/color/_defaults.scss +1 -1
  369. package/{src → packages/core/src}/scss/theme/color/_index.scss +8 -8
  370. package/{src → packages/core/src}/scss/theme/color/_variables.scss +12 -8
  371. package/{src → packages/core/src}/scss/theme/typography/_defaults.scss +1 -1
  372. package/{src → packages/core/src}/scss/theme/typography/_index.scss +10 -1
  373. package/packages/core/src/scss/theme/typography/_variables.scss +248 -0
  374. package/{src → packages/core/src}/scss/utilities/_index.scss +7 -1
  375. package/packages/core/src/scss/utilities/_template/_defaults.scss +41 -0
  376. package/packages/core/src/scss/utilities/_template/_index.scss +171 -0
  377. package/{src/scss/utilities/alignment → packages/core/src/scss/utilities/_template}/_variables.scss +1 -1
  378. package/{src → packages/core/src}/scss/utilities/alignment/_defaults.scss +21 -7
  379. package/packages/core/src/scss/utilities/alignment/_index.scss +336 -0
  380. package/{src/scss/utilities/display → packages/core/src/scss/utilities/alignment}/_variables.scss +1 -1
  381. package/packages/core/src/scss/utilities/background/_defaults.scss +122 -0
  382. package/packages/core/src/scss/utilities/background/_index.scss +634 -0
  383. package/packages/core/src/scss/utilities/background/_variables.scss +6 -0
  384. package/packages/core/src/scss/utilities/border/_defaults.scss +73 -0
  385. package/packages/core/src/scss/utilities/border/_index.scss +558 -0
  386. package/{src/scss/utilities/list → packages/core/src/scss/utilities/border}/_variables.scss +1 -1
  387. package/packages/core/src/scss/utilities/color/_defaults.scss +49 -0
  388. package/packages/core/src/scss/utilities/color/_index.scss +469 -0
  389. package/{src/scss/utilities/flex → packages/core/src/scss/utilities/color}/_variables.scss +1 -1
  390. package/packages/core/src/scss/utilities/container/_defaults.scss +40 -0
  391. package/packages/core/src/scss/utilities/container/_index.scss +174 -0
  392. package/packages/core/src/scss/utilities/container/_variables.scss +6 -0
  393. package/packages/core/src/scss/utilities/display/_defaults.scss +47 -0
  394. package/packages/core/src/scss/utilities/display/_index.scss +184 -0
  395. package/{src/scss/utilities/inset → packages/core/src/scss/utilities/display}/_variables.scss +1 -1
  396. package/packages/core/src/scss/utilities/flex/_defaults.scss +99 -0
  397. package/packages/core/src/scss/utilities/flex/_index.scss +486 -0
  398. package/{src/scss/utilities/color → packages/core/src/scss/utilities/flex}/_variables.scss +1 -1
  399. package/packages/core/src/scss/utilities/gradient/_defaults.scss +70 -0
  400. package/packages/core/src/scss/utilities/gradient/_index.scss +696 -0
  401. package/packages/core/src/scss/utilities/gradient/_variables.scss +29 -0
  402. package/packages/core/src/scss/utilities/height/_defaults.scss +54 -0
  403. package/packages/core/src/scss/utilities/height/_index.scss +525 -0
  404. package/packages/core/src/scss/utilities/height/_variables.scss +6 -0
  405. package/packages/core/src/scss/utilities/inset/_defaults.scss +55 -0
  406. package/packages/core/src/scss/utilities/inset/_index.scss +258 -0
  407. package/packages/core/src/scss/utilities/inset/_variables.scss +6 -0
  408. package/{src → packages/core/src}/scss/utilities/justification/_defaults.scss +21 -7
  409. package/packages/core/src/scss/utilities/justification/_index.scss +333 -0
  410. package/packages/core/src/scss/utilities/justification/_variables.scss +6 -0
  411. package/packages/core/src/scss/utilities/list/_defaults.scss +53 -0
  412. package/packages/core/src/scss/utilities/list/_index.scss +253 -0
  413. package/packages/core/src/scss/utilities/list/_variables.scss +6 -0
  414. package/packages/core/src/scss/utilities/order/_defaults.scss +36 -0
  415. package/packages/core/src/scss/utilities/order/_index.scss +246 -0
  416. package/packages/core/src/scss/utilities/order/_variables.scss +6 -0
  417. package/packages/core/src/scss/utilities/position/_defaults.scss +41 -0
  418. package/packages/core/src/scss/utilities/position/_index.scss +178 -0
  419. package/{src/scss/utilities/height → packages/core/src/scss/utilities/position}/_variables.scss +1 -1
  420. package/packages/core/src/scss/utilities/ratio/_defaults.scss +42 -0
  421. package/packages/core/src/scss/utilities/ratio/_index.scss +188 -0
  422. package/{src → packages/core/src}/scss/utilities/ratio/_variables.scss +2 -2
  423. package/{src → packages/core/src}/scss/utilities/spacing/_defaults.scss +19 -4
  424. package/packages/core/src/scss/utilities/spacing/_index.scss +970 -0
  425. package/packages/core/src/scss/utilities/spacing/_variables.scss +6 -0
  426. package/packages/core/src/scss/utilities/typography/_defaults.scss +58 -0
  427. package/packages/core/src/scss/utilities/typography/_index.scss +1089 -0
  428. package/packages/core/src/scss/utilities/typography/_variables.scss +6 -0
  429. package/packages/core/src/scss/utilities/visibility/_defaults.scss +39 -0
  430. package/packages/core/src/scss/utilities/visibility/_index.scss +173 -0
  431. package/packages/core/src/scss/utilities/visibility/_variables.scss +6 -0
  432. package/packages/core/src/scss/utilities/visually-hidden/_defaults.scss +29 -0
  433. package/packages/core/src/scss/utilities/visually-hidden/_index.scss +189 -0
  434. package/packages/core/src/scss/utilities/visually-hidden/_variables.scss +6 -0
  435. package/packages/core/src/scss/utilities/width/_defaults.scss +54 -0
  436. package/packages/core/src/scss/utilities/width/_index.scss +525 -0
  437. package/packages/core/src/scss/utilities/width/_variables.scss +6 -0
  438. package/packages/core/src/scss/utilities/z-index/_defaults.scss +40 -0
  439. package/packages/core/src/scss/utilities/z-index/_index.scss +173 -0
  440. package/packages/core/src/scss/utilities/z-index/_variables.scss +6 -0
  441. package/packages/core/vite.config.js +28 -0
  442. package/packages/icons/dist/css/base/button.css +2 -0
  443. package/packages/icons/dist/css/base/button.css.map +1 -0
  444. package/packages/icons/dist/css/base/link.css +2 -0
  445. package/packages/icons/dist/css/base/link.css.map +1 -0
  446. package/packages/icons/dist/css/base.css +2 -0
  447. package/packages/icons/dist/css/base.css.map +1 -0
  448. package/packages/icons/dist/css/component/icon.css +2 -0
  449. package/packages/icons/dist/css/component/icon.css.map +1 -0
  450. package/packages/icons/dist/css/component.css +2 -0
  451. package/packages/icons/dist/css/component.css.map +1 -0
  452. package/packages/icons/dist/css/icon.css +2 -0
  453. package/packages/icons/dist/css/icon.css.map +1 -0
  454. package/packages/icons/package.json +48 -0
  455. package/packages/icons/scss/base/button.scss +3 -0
  456. package/packages/icons/scss/base/link.scss +3 -0
  457. package/packages/icons/scss/base.scss +3 -0
  458. package/packages/icons/scss/component/icon.scss +3 -0
  459. package/packages/icons/scss/component.scss +3 -0
  460. package/packages/icons/scss/icon.scss +3 -0
  461. package/packages/icons/src/scss/_index.scss +4 -0
  462. package/packages/icons/src/scss/base/_index.scss +4 -0
  463. package/packages/icons/src/scss/base/button/_defaults.scss +7 -0
  464. package/packages/icons/src/scss/base/button/_index.scss +58 -0
  465. package/packages/icons/src/scss/base/button/_variables.scss +7 -0
  466. package/packages/icons/src/scss/base/link/_defaults.scss +7 -0
  467. package/packages/icons/src/scss/base/link/_index.scss +58 -0
  468. package/packages/icons/src/scss/base/link/_variables.scss +7 -0
  469. package/packages/icons/src/scss/component/_index.scss +3 -0
  470. package/packages/icons/src/scss/component/icon/_defaults.scss +30 -0
  471. package/packages/icons/src/scss/component/icon/_index.scss +60 -0
  472. package/packages/icons/src/scss/component/icon/_mixins.scss +62 -0
  473. package/packages/icons/src/scss/component/icon/_variables.scss +24 -0
  474. package/postcss.config.cjs +2 -3
  475. package/scss/base/button.scss +1 -1
  476. package/scss/base/form.scss +1 -1
  477. package/scss/base/link.scss +1 -1
  478. package/scss/base/table.scss +1 -1
  479. package/scss/base.scss +1 -1
  480. package/scss/component/accordion.scss +1 -1
  481. package/scss/component/alert.scss +1 -1
  482. package/scss/component/card.scss +1 -1
  483. package/scss/component/carousel.scss +1 -1
  484. package/scss/component/input-group.scss +1 -1
  485. package/scss/component/list.scss +3 -0
  486. package/scss/component/menu.scss +1 -1
  487. package/scss/component/navigation.scss +1 -1
  488. package/scss/component.scss +1 -1
  489. package/scss/graupl.scss +1 -1
  490. package/scss/init.scss +1 -1
  491. package/scss/layout/columns.scss +1 -1
  492. package/scss/layout/container.scss +1 -1
  493. package/scss/layout/flex-columns.scss +1 -1
  494. package/scss/layout.scss +1 -1
  495. package/scss/normalize.scss +1 -1
  496. package/scss/state/focus.scss +1 -1
  497. package/scss/state.scss +1 -1
  498. package/scss/theme/color.scss +1 -1
  499. package/scss/theme/typography.scss +1 -1
  500. package/scss/theme.scss +1 -1
  501. package/scss/utilities/alignment.scss +1 -1
  502. package/scss/utilities/background.scss +3 -0
  503. package/scss/utilities/border.scss +3 -0
  504. package/scss/utilities/color.scss +1 -1
  505. package/scss/utilities/container.scss +3 -0
  506. package/scss/utilities/display.scss +1 -1
  507. package/scss/utilities/flex.scss +1 -1
  508. package/scss/utilities/gradient.scss +3 -0
  509. package/scss/utilities/height.scss +1 -1
  510. package/scss/utilities/inset.scss +1 -1
  511. package/scss/utilities/justification.scss +1 -1
  512. package/scss/utilities/list.scss +1 -1
  513. package/scss/utilities/order.scss +1 -1
  514. package/scss/utilities/position.scss +3 -0
  515. package/scss/utilities/ratio.scss +1 -1
  516. package/scss/utilities/spacing.scss +1 -1
  517. package/scss/utilities/typography.scss +1 -1
  518. package/scss/utilities/visibility.scss +1 -1
  519. package/scss/utilities/visually-hidden.scss +3 -0
  520. package/scss/utilities/width.scss +1 -1
  521. package/scss/utilities/z-index.scss +3 -0
  522. package/scss/utilities.scss +1 -1
  523. package/stylelint.config.js +1 -0
  524. package/vite.config.js +6 -35
  525. package/dist/css/utilities/postion.css +0 -2
  526. package/dist/css/utilities/postion.css.map +0 -1
  527. package/dist/js/component/accordion.cjs.js +0 -3
  528. package/dist/js/component/accordion.esm.js +0 -1289
  529. package/dist/js/component/accordion.iife.js +0 -3
  530. package/dist/js/component/alert.cjs.js +0 -3
  531. package/dist/js/component/alert.esm.js +0 -529
  532. package/dist/js/component/alert.iife.js +0 -3
  533. package/dist/js/component/carousel.cjs.js +0 -3
  534. package/dist/js/component/carousel.esm.js +0 -1110
  535. package/dist/js/component/carousel.iife.js +0 -3
  536. package/src/scss/_variables.scss +0 -53
  537. package/src/scss/base/button/_index.scss +0 -107
  538. package/src/scss/base/button/_mixins.scss +0 -166
  539. package/src/scss/base/button/_variables.scss +0 -176
  540. package/src/scss/base/form/_index.scss +0 -93
  541. package/src/scss/base/form/_variables.scss +0 -156
  542. package/src/scss/base/link/_defaults.scss +0 -50
  543. package/src/scss/base/link/_index.scss +0 -134
  544. package/src/scss/base/link/_variables.scss +0 -262
  545. package/src/scss/base/table/_defaults.scss +0 -53
  546. package/src/scss/base/table/_index.scss +0 -121
  547. package/src/scss/base/table/_variables.scss +0 -135
  548. package/src/scss/component/alert/_variables.scss +0 -173
  549. package/src/scss/component/card/_variables.scss +0 -186
  550. package/src/scss/component/menu/_index.scss +0 -305
  551. package/src/scss/component/menu/_variables.scss +0 -500
  552. package/src/scss/component/navigation/_defaults.scss +0 -29
  553. package/src/scss/component/navigation/_index.scss +0 -189
  554. package/src/scss/component/navigation/_variables.scss +0 -237
  555. package/src/scss/functions/_important.scss +0 -13
  556. package/src/scss/layout/columns/_index.scss +0 -58
  557. package/src/scss/layout/container/_defaults.scss +0 -17
  558. package/src/scss/layout/container/_index.scss +0 -41
  559. package/src/scss/layout/container/_variables.scss +0 -50
  560. package/src/scss/layout/flex-columns/_defaults.scss +0 -18
  561. package/src/scss/layout/flex-columns/_index.scss +0 -80
  562. package/src/scss/mixins/_utility.scss +0 -30
  563. package/src/scss/mixins/_visually-hidden.scss +0 -20
  564. package/src/scss/state/_index.scss +0 -3
  565. package/src/scss/state/focus/_index.scss +0 -13
  566. package/src/scss/state/focus/_mixins.scss +0 -15
  567. package/src/scss/state/focus/_variables.scss +0 -44
  568. package/src/scss/theme/typography/_variables.scss +0 -231
  569. package/src/scss/utilities/alignment/_index.scss +0 -75
  570. package/src/scss/utilities/color/_defaults.scss +0 -35
  571. package/src/scss/utilities/color/_index.scss +0 -91
  572. package/src/scss/utilities/display/_defaults.scss +0 -32
  573. package/src/scss/utilities/display/_index.scss +0 -61
  574. package/src/scss/utilities/flex/_defaults.scss +0 -63
  575. package/src/scss/utilities/flex/_index.scss +0 -71
  576. package/src/scss/utilities/height/_defaults.scss +0 -41
  577. package/src/scss/utilities/height/_index.scss +0 -98
  578. package/src/scss/utilities/inset/_defaults.scss +0 -41
  579. package/src/scss/utilities/inset/_index.scss +0 -37
  580. package/src/scss/utilities/justification/_index.scss +0 -75
  581. package/src/scss/utilities/justification/_variables.scss +0 -6
  582. package/src/scss/utilities/list/_defaults.scss +0 -39
  583. package/src/scss/utilities/list/_index.scss +0 -56
  584. package/src/scss/utilities/order/_index.scss +0 -63
  585. package/src/scss/utilities/order/_variables.scss +0 -6
  586. package/src/scss/utilities/position/_defaults.scss +0 -26
  587. package/src/scss/utilities/position/_index.scss +0 -37
  588. package/src/scss/utilities/position/_variables.scss +0 -6
  589. package/src/scss/utilities/ratio/_defaults.scss +0 -28
  590. package/src/scss/utilities/ratio/_index.scss +0 -52
  591. package/src/scss/utilities/spacing/_index.scss +0 -169
  592. package/src/scss/utilities/spacing/_variables.scss +0 -6
  593. package/src/scss/utilities/typography/_defaults.scss +0 -30
  594. package/src/scss/utilities/typography/_index.scss +0 -224
  595. package/src/scss/utilities/typography/_variables.scss +0 -6
  596. package/src/scss/utilities/visibility/_defaults.scss +0 -25
  597. package/src/scss/utilities/visibility/_index.scss +0 -36
  598. package/src/scss/utilities/visibility/_variables.scss +0 -6
  599. package/src/scss/utilities/width/_defaults.scss +0 -41
  600. package/src/scss/utilities/width/_index.scss +0 -98
  601. package/src/scss/utilities/width/_variables.scss +0 -6
  602. /package/{src → packages/core/src}/js/accordion/Accordion.js +0 -0
  603. /package/{src → packages/core/src}/js/accordion/AccordionItem.js +0 -0
  604. /package/{src → packages/core/src}/js/accordion/index.js +0 -0
  605. /package/{src → packages/core/src}/js/alert/Alert.js +0 -0
  606. /package/{src → packages/core/src}/js/alert/index.js +0 -0
  607. /package/{src → packages/core/src}/js/carousel/Carousel.js +0 -0
  608. /package/{src → packages/core/src}/js/carousel/index.js +0 -0
  609. /package/{src → packages/core/src}/js/domHelpers.js +0 -0
  610. /package/{src → packages/core/src}/js/eventHandlers.js +0 -0
  611. /package/{src → packages/core/src}/js/navigation/index.js +0 -0
  612. /package/{src → packages/core/src}/js/storage.js +0 -0
  613. /package/{src → packages/core/src}/js/validate.js +0 -0
@@ -0,0 +1,53 @@
1
+ // @graupl/core 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 "../../defaults" as root-defaults;
10
+ @use "sass:map";
11
+
12
+ // Utility modifiers.
13
+ $selector-base: root-defaults.$utility-selector-base !default;
14
+ $use-important: root-defaults.$use-important !default;
15
+ $screen-aware: false !default;
16
+ $theme-aware: false !default;
17
+ $state-aware: false !default;
18
+ $container-aware: false !default;
19
+ $screen-aware-separator: root-defaults.$utility-screen-aware-separator !default;
20
+ $theme-aware-separator: root-defaults.$utility-theme-aware-separator !default;
21
+ $state-aware-separator: root-defaults.$utility-state-aware-separator !default;
22
+ $container-aware-separator: root-defaults.$utility-container-aware-separator !default;
23
+ $screen-aware-selector-prefix: root-defaults.$utility-screen-aware-selector-prefix !default;
24
+ $theme-aware-selector-prefix: root-defaults.$utility-theme-aware-selector-prefix !default;
25
+ $state-aware-selector-prefix: root-defaults.$utility-state-aware-selector-prefix !default;
26
+ $container-aware-selector-prefix: root-defaults.$utility-container-aware-selector-prefix !default;
27
+
28
+ // List style type properties.
29
+ $list-style-type-selector-prefix: "list-style-" !default;
30
+ $base-list-style-type-properties: (
31
+ none: none,
32
+ disc: disc,
33
+ decimal: decimal,
34
+ circle: circle,
35
+ square: square,
36
+ );
37
+ $custom-list-style-type-properties: () !default;
38
+ $list-style-type-properties: map.merge(
39
+ $base-list-style-type-properties,
40
+ $custom-list-style-type-properties
41
+ );
42
+
43
+ // List style position properties.
44
+ $list-style-position-selector-prefix: "list-style-" !default;
45
+ $base-list-style-position-properties: (
46
+ inside: inside,
47
+ outside: outside,
48
+ );
49
+ $custom-list-style-position-properties: () !default;
50
+ $list-style-position-properties: map.merge(
51
+ $base-list-style-position-properties,
52
+ $custom-list-style-position-properties
53
+ );
@@ -0,0 +1,253 @@
1
+ // @graupl/core list utilities styles.
2
+ //
3
+ // This file generates the list utility classes provided by Graupl.
4
+ //
5
+ // The following classes are generated by default:
6
+ // - `.list-style-none`: Sets the list-style-type property to `none`.
7
+ // - `.list-style-disc`: Sets the list-style-type property to `disc`.
8
+ // - `.list-style-decimal`: Sets the list-style-type property to `decimal`.
9
+ // - `.list-style-circle`: Sets the list-style-type property to `circle`.
10
+ // - `.list-style-square`: Sets the list-style-type property to `square`.
11
+ // - `.list-style-inside`: Sets the list-style-position property to `inside`.
12
+ // - `.list-style-outside`: Sets the list-style-position property to `outside`.
13
+ //
14
+ // The following custom properties control the generated classes:
15
+ // - N/A.
16
+ //
17
+ // The following variables control the generated classes:
18
+ // - `$selector-base`: The base selector for the utility classes.
19
+ // - `$use-important`: A flag to determine if the `!important` flag should be added to the utility classes.
20
+ // - `$screen-aware`: A flag to generate screen-aware utility classes.
21
+ // - `$theme-aware`: A flag to generate theme-aware utility classes.
22
+ // - `$state-aware`: A flag to generate state-aware utility classes.
23
+ // - `$container-aware`: A flag to generate container-aware utility classes.
24
+ // - `$screen-aware-separator`: The separator for screen-aware utility classes.
25
+ // - `$theme-aware-separator`: The separator for theme-aware utility classes.
26
+ // - `$state-aware-separator`: The separator for state-aware utility classes.
27
+ // - `$container-aware-separator`: The separator for container-aware utility classes.
28
+ // - `$screen-aware-selector-prefix`: The prefix for screen-aware utility classes.
29
+ // - `$theme-aware-selector-prefix`: The prefix for theme-aware utility classes.
30
+ // - `$state-aware-selector-prefix`: The prefix for state-aware utility classes.
31
+ // - `$container-aware-selector-prefix`: The prefix for container-aware utility classes.
32
+ // - `$list-style-type-selector-prefix`: The prefix for the list-style-type utility classes.
33
+ // - `$base-list-style-type-properties`: The base properties and values for the list-style-type utility classes.
34
+ // - `$custom-list-style-type-properties`: The custom properties and values for list-style-type.
35
+ // - `$list-style-type-properties`: The combined properties and values for list-style-type.
36
+ // - `$list-style-position-selector-prefix`: The prefix for the list-style-position utility classes.
37
+ // - `$base-list-style-position-properties`: The base properties and values for the list-style-position utility classes.
38
+ // - `$custom-list-style-position-properties`: The custom properties and values for list-style-position.
39
+ // - `$list-style-position-properties`: The combined properties and values for list-style-position.
40
+ //
41
+ // Generating responsive utility classes can be done by setting `$screen-aware`, `$theme-aware`, or `$state-aware` to `true`.
42
+ // By default, no responsive utility classes are generated.
43
+ //
44
+ // When set to true, screen-aware utility classes will be generated for each screen size in the following pattern:
45
+ // - `.{screen-prefix}{screen-name}:{prefix}{value}`
46
+ //
47
+ // e.g. `.md:list-style-none` will set the `list-style-type` property to `none` on screens equal to or larger than the `md` breakpoint.
48
+ //
49
+ // When set to true, theme-aware utility classes will be generated for each theme in the following pattern:
50
+ // - `.{theme-prefix}{theme-name}:{prefix}{value}`
51
+ //
52
+ // e.g. `.dark:list-style-disc` will set the `list-style-type` property to `disc` when the `dark` theme is active.
53
+ //
54
+ // When set to true, state-aware utility classes will be generated for each state in the following pattern:
55
+ // - `.{state-prefix}{state-name}:{prefix}{value}`
56
+ //
57
+ // e.g. `.hover:list-style-disc` will set the `list-style-type` property to `disc` when the element is hovered.
58
+ //
59
+ // When set to true, container-aware utility classes will be generated for each container in the following pattern:
60
+ // - `.{container-prefix}{container-name}:{prefix}{value}`
61
+ //
62
+ // e.g. `.cq:md:list-style-disc` will set the `list-style-type` property to `disc` when the parent container is larger than the `md` breakpoint.
63
+ //
64
+ // @example
65
+ // <ul class="list-style-none list-style-outside">
66
+ // <li>Item 1</li>
67
+ // <li>Item 2</li>
68
+ // </ul>
69
+
70
+ @use "../../defaults" as root-defaults;
71
+ @use "../../mixins/layer" as *;
72
+ @use "../../mixins/utility";
73
+ @use "../../theme/color/variables" as color;
74
+ @use "defaults";
75
+ @use "sass:map";
76
+ @use "variables" as *;
77
+
78
+ @include layer(utilities) {
79
+ // `.`
80
+ $selector-prefix: defaults.$selector-base;
81
+
82
+ // For each list style type property, create a utility class.
83
+ @each $name, $property in defaults.$list-style-type-properties {
84
+ // e.g. `.list-style-none` or `.list-style-disc`
85
+ $selector: #{$selector-prefix}#{defaults.$list-style-type-selector-prefix}#{$name};
86
+
87
+ @include utility.create(
88
+ $selector,
89
+ list-style-type,
90
+ $property,
91
+ $important: defaults.$use-important
92
+ );
93
+ }
94
+
95
+ // For each list style position property, create a utility class.
96
+ @each $name, $property in defaults.$list-style-position-properties {
97
+ // e.g. `.list-style-inside` or `.list-style-outside`
98
+ $selector: #{$selector-prefix}#{defaults.$list-style-position-selector-prefix}#{$name};
99
+
100
+ @include utility.create(
101
+ $selector,
102
+ list-style-position,
103
+ $property,
104
+ $important: defaults.$use-important
105
+ );
106
+ }
107
+
108
+ // Generate screen-aware utilities.
109
+ @if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
110
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
111
+ // e.g. `.md:` or `.lg:`
112
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$screen-aware-selector-prefix}#{$screen-name}#{defaults.$screen-aware-separator};
113
+
114
+ // For each list style type property, create a utility class.
115
+ @each $name, $property in defaults.$list-style-type-properties {
116
+ // e.g. `.md:list-style-none` or `.lg:list-style-disc`
117
+ $selector: #{$selector-prefix}#{defaults.$list-style-type-selector-prefix}#{$name};
118
+
119
+ @include utility.create(
120
+ $selector,
121
+ list-style-type,
122
+ $property,
123
+ $important: defaults.$use-important,
124
+ $screen: $screen-name
125
+ );
126
+ }
127
+
128
+ // For each list style position property, create a utility class.
129
+ @each $name, $property in defaults.$list-style-position-properties {
130
+ // e.g. `.md:list-style-inside` or `.lg:list-style-outside`
131
+ $selector: #{$selector-prefix}#{defaults.$list-style-position-selector-prefix}#{$name};
132
+
133
+ @include utility.create(
134
+ $selector,
135
+ list-style-position,
136
+ $property,
137
+ $important: defaults.$use-important,
138
+ $screen: $screen-name
139
+ );
140
+ }
141
+ }
142
+ }
143
+
144
+ // Generate theme-aware utilities.
145
+ @if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
146
+ @each $theme-name, $colors in color.$themes {
147
+ @if $theme-name != active {
148
+ // e.g. `.dark:` or `.light:`
149
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$theme-aware-selector-prefix}#{$theme-name}#{defaults.$theme-aware-separator};
150
+
151
+ // For each list style type property, create a utility class.
152
+ @each $name, $property in defaults.$list-style-type-properties {
153
+ // e.g. `.dark:list-style-none` or `.light:list-style-disc`
154
+ $selector: #{$selector-prefix}#{defaults.$list-style-type-selector-prefix}#{$name};
155
+
156
+ @include utility.create(
157
+ $selector,
158
+ list-style-type,
159
+ $property,
160
+ $important: defaults.$use-important,
161
+ $theme: $theme-name
162
+ );
163
+ }
164
+
165
+ // For each list style position property, create a utility class.
166
+ @each $name, $property in defaults.$list-style-position-properties {
167
+ // e.g. `.dark:list-style-inside` or `.light:list-style-outside`
168
+ $selector: #{$selector-prefix}#{defaults.$list-style-position-selector-prefix}#{$name};
169
+
170
+ @include utility.create(
171
+ $selector,
172
+ list-style-position,
173
+ $property,
174
+ $important: defaults.$use-important,
175
+ $theme: $theme-name
176
+ );
177
+ }
178
+ }
179
+ }
180
+ }
181
+
182
+ // Generate state-aware utilities.
183
+ @if defaults.$state-aware and root-defaults.$state-aware-utilities {
184
+ @each $state-name, $value in root-defaults.$state-selectors {
185
+ // e.g. `.hover:` or `.focus:`
186
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$state-aware-selector-prefix}#{$state-name}#{defaults.$state-aware-separator};
187
+
188
+ // For each list style type property, create a utility class.
189
+ @each $name, $property in defaults.$list-style-type-properties {
190
+ // e.g. `.hover:list-style-none` or `.focus:list-style-disc`
191
+ $selector: #{$selector-prefix}#{defaults.$list-style-type-selector-prefix}#{$name};
192
+
193
+ @include utility.create(
194
+ $selector,
195
+ list-style-type,
196
+ $property,
197
+ $important: defaults.$use-important,
198
+ $state: $state-name
199
+ );
200
+ }
201
+
202
+ // For each list style position property, create a utility class.
203
+ @each $name, $property in defaults.$list-style-position-properties {
204
+ // e.g. `.hover:list-style-inside` or `.focus:list-style-outside`
205
+ $selector: #{$selector-prefix}#{defaults.$list-style-position-selector-prefix}#{$name};
206
+
207
+ @include utility.create(
208
+ $selector,
209
+ list-style-position,
210
+ $property,
211
+ $important: defaults.$use-important,
212
+ $state: $state-name
213
+ );
214
+ }
215
+ }
216
+ }
217
+
218
+ // Generate container-aware utilities.
219
+ @if defaults.$container-aware and root-defaults.$container-aware-utilities {
220
+ @each $container-name in map.keys(root-defaults.$container-sizes) {
221
+ // e.g. `.md:` or `.lg:`
222
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$container-aware-selector-prefix}#{$container-name}#{defaults.$container-aware-separator};
223
+
224
+ // For each list style type property, create a utility class.
225
+ @each $name, $property in defaults.$list-style-type-properties {
226
+ // e.g. `.md:list-style-none` or `.lg:list-style-disc`
227
+ $selector: #{$selector-prefix}#{defaults.$list-style-type-selector-prefix}#{$name};
228
+
229
+ @include utility.create(
230
+ $selector,
231
+ list-style-type,
232
+ $property,
233
+ $important: defaults.$use-important,
234
+ $container: $container-name
235
+ );
236
+ }
237
+
238
+ // For each list style position property, create a utility class.
239
+ @each $name, $property in defaults.$list-style-position-properties {
240
+ // e.g. `.md:list-style-inside` or `.lg:list-style-outside`
241
+ $selector: #{$selector-prefix}#{defaults.$list-style-position-selector-prefix}#{$name};
242
+
243
+ @include utility.create(
244
+ $selector,
245
+ list-style-position,
246
+ $property,
247
+ $important: defaults.$use-important,
248
+ $container: $container-name
249
+ );
250
+ }
251
+ }
252
+ }
253
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/core 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,36 @@
1
+ // @graupl/core 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 "../../defaults" as root-defaults;
10
+ @use "sass:map";
11
+
12
+ // Utility modifiers.
13
+ $selector-base: root-defaults.$utility-selector-base !default;
14
+ $use-important: root-defaults.$use-important !default;
15
+ $screen-aware: true !default;
16
+ $theme-aware: false !default;
17
+ $state-aware: false !default;
18
+ $container-aware: true !default;
19
+ $screen-aware-separator: root-defaults.$utility-screen-aware-separator !default;
20
+ $theme-aware-separator: root-defaults.$utility-theme-aware-separator !default;
21
+ $state-aware-separator: root-defaults.$utility-state-aware-separator !default;
22
+ $container-aware-separator: root-defaults.$utility-container-aware-separator !default;
23
+ $screen-aware-selector-prefix: root-defaults.$utility-screen-aware-selector-prefix !default;
24
+ $theme-aware-selector-prefix: root-defaults.$utility-theme-aware-selector-prefix !default;
25
+ $state-aware-selector-prefix: root-defaults.$utility-state-aware-selector-prefix !default;
26
+ $container-aware-selector-prefix: root-defaults.$utility-container-aware-selector-prefix !default;
27
+
28
+ // Order properties.
29
+ $order-selector-prefix: "order-" !default;
30
+ $base-order-properties: (
31
+ "none": 0,
32
+ "first": -9999,
33
+ "last": 9999,
34
+ );
35
+ $custom-order-properties: () !default;
36
+ $order-properties: map.merge($base-order-properties, $custom-order-properties);
@@ -0,0 +1,246 @@
1
+ // @graupl/core order utilities styles.
2
+ //
3
+ // This file generates the order utility classes provided by Graupl.
4
+ //
5
+ // The following classes are generated by default:
6
+ // - `.order-none`: Sets the order property to `0`.
7
+ // - `.order-first`: Sets the order property to `-9999`.
8
+ // - `.order-last`: Sets the order property to `9999`.
9
+ // - `.order-1`: Sets the order property to `1`.
10
+ // - `.order-2`: Sets the order property to `2`.
11
+ // - `.order-3`: Sets the order property to `3`.
12
+ // - `.order-4`: Sets the order property to `4`.
13
+ // - `.order-5`: Sets the order property to `5`.
14
+ // - `.order-6`: Sets the order property to `6`.
15
+ // - `.order-7`: Sets the order property to `7`.
16
+ // - `.order-8`: Sets the order property to `8`.
17
+ // - `.order-9`: Sets the order property to `9`.
18
+ // - `.order-10`: Sets the order property to `10`.
19
+ // - `.order-11`: Sets the order property to `11`.
20
+ // - `.order-12`: Sets the order property to `12`.
21
+ //
22
+ // The following custom properties control the generated classes:
23
+ // - N/A.
24
+ //
25
+ // The following variables control the generated classes:
26
+ // - `$selector-base`: The base selector for the utility classes.
27
+ // - `$use-important`: A flag to determine if the `!important` flag should be added to the utility classes.
28
+ // - `$screen-aware`: A flag to generate screen-aware utility classes.
29
+ // - `$theme-aware`: A flag to generate theme-aware utility classes.
30
+ // - `$state-aware`: A flag to generate state-aware utility classes.
31
+ // - `$container-aware`: A flag to generate container-aware utility classes.
32
+ // - `$screen-aware-separator`: The separator for screen-aware utility classes.
33
+ // - `$theme-aware-separator`: The separator for theme-aware utility classes.
34
+ // - `$state-aware-separator`: The separator for state-aware utility classes.
35
+ // - `$container-aware-separator`: The separator for container-aware utility classes.
36
+ // - `$screen-aware-selector-prefix`: The prefix for screen-aware utility classes.
37
+ // - `$theme-aware-selector-prefix`: The prefix for theme-aware utility classes.
38
+ // - `$state-aware-selector-prefix`: The prefix for state-aware utility classes.
39
+ // - `$container-aware-selector-prefix`: The prefix for container-aware utility classes.
40
+ // - `$order-selector-prefix`: The prefix for the order utility classes.
41
+ // - `$base-order-properties`: The base properties and values for the order utility classes.
42
+ // - `$custom-order-properties`: The custom properties and values for the order utility classes.
43
+ // - `$order-properties`: The combined properties and values for the order utility classes.
44
+ //
45
+ // Generating responsive utility classes can be done by setting `$screen-aware`, `$theme-aware`, or `$state-aware` to `true`.
46
+ // By default, only screen-aware utility classes are generated.
47
+ //
48
+ // When set to true, screen-aware utility classes will be generated for each screen size in the following pattern:
49
+ // - `.{screen-prefix}{screen-name}:{prefix}{value}`
50
+ //
51
+ // e.g. `.md:order-none` will set the `order` property to `0` on screens equal to or larger than the `md` breakpoint.
52
+ //
53
+ // When set to true, theme-aware utility classes will be generated for each theme in the following pattern:
54
+ // - `.{theme-prefix}{theme-name}:{prefix}{value}`
55
+ //
56
+ // e.g. `.dark:order-none` will set the `order` property to `0` when the `dark` theme is active.
57
+ //
58
+ // When set to true, state-aware utility classes will be generated for each state in the following pattern:
59
+ // - `.{state-prefix}{state-name}:{prefix}{value}`
60
+ //
61
+ // e.g. `.hover:order-none` will set the `order` property to `0` when the element is hovered.
62
+ //
63
+ // When set to true, container-aware utility classes will be generated for each container in the following pattern:
64
+ // - `.{container-prefix}{container-name}:{prefix}{value}`
65
+ //
66
+ // e.g. `.cq:md:order-none` will set the `order` property to `0` when the parent container is larger than the `md` breakpoint.
67
+ //
68
+ // @example
69
+ // <div class="order-none">This is a default order element.</div>
70
+ //
71
+ // @example
72
+ // <div class="order-1 md:order-2">This element will be ordered `1` unless the screen size is `md` or larger.</div>
73
+
74
+ @use "../../defaults" as root-defaults;
75
+ @use "../../layout/columns/defaults" as columns-defaults;
76
+ @use "../../layout/flex-columns/defaults" as flex-columns-defaults;
77
+ @use "../../mixins/layer" as *;
78
+ @use "../../mixins/utility";
79
+ @use "../../theme/color/variables" as color;
80
+ @use "defaults";
81
+ @use "sass:map";
82
+ @use "variables" as *;
83
+
84
+ @include layer(utilities) {
85
+ $selector-prefix: defaults.$selector-base;
86
+ $order-max-count: 0;
87
+
88
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
89
+ @if (
90
+ columns-defaults.$columns-max-count >
91
+ flex-columns-defaults.$flex-columns-max-count
92
+ ) {
93
+ $order-max-count: columns-defaults.$columns-max-count;
94
+ } @else {
95
+ $order-max-count: flex-columns-defaults.$flex-columns-max-count;
96
+ }
97
+ /* stylelint-enable scss/operator-no-newline-after */
98
+
99
+ @each $property, $value in defaults.$order-properties {
100
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$property};
101
+
102
+ @include utility.create(
103
+ $selector,
104
+ order,
105
+ $value,
106
+ $important: defaults.$use-important
107
+ );
108
+ }
109
+
110
+ @for $i from 1 through $order-max-count {
111
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$i};
112
+
113
+ @include utility.create(
114
+ $selector,
115
+ order,
116
+ $i,
117
+ $important: defaults.$use-important
118
+ );
119
+ }
120
+
121
+ // Generate screen-aware utilities.
122
+ @if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
123
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
124
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$screen-aware-selector-prefix}#{$screen-name}#{defaults.$screen-aware-separator};
125
+
126
+ @each $property, $value in defaults.$order-properties {
127
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$property};
128
+
129
+ @include utility.create(
130
+ $selector,
131
+ order,
132
+ $value,
133
+ $important: defaults.$use-important,
134
+ $screen: $screen-name
135
+ );
136
+ }
137
+
138
+ @for $i from 1 through $order-max-count {
139
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$i};
140
+
141
+ @include utility.create(
142
+ $selector,
143
+ order,
144
+ $i,
145
+ $important: defaults.$use-important,
146
+ $screen: $screen-name
147
+ );
148
+ }
149
+ }
150
+ }
151
+
152
+ // Generate theme-aware utilities.
153
+ @if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
154
+ @each $theme-name, $colors in color.$themes {
155
+ @if $theme-name != active {
156
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$theme-aware-selector-prefix}#{$theme-name}#{defaults.$theme-aware-separator};
157
+
158
+ @each $property, $value in defaults.$order-properties {
159
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$property};
160
+
161
+ @include utility.create(
162
+ $selector,
163
+ order,
164
+ $value,
165
+ $important: defaults.$use-important,
166
+ $theme: $theme-name
167
+ );
168
+ }
169
+
170
+ @for $i from 1 through $order-max-count {
171
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$i};
172
+
173
+ @include utility.create(
174
+ $selector,
175
+ order,
176
+ $i,
177
+ $important: defaults.$use-important,
178
+ $theme: $theme-name
179
+ );
180
+ }
181
+ }
182
+ }
183
+ }
184
+
185
+ // Generate state-aware utilities.
186
+ @if defaults.$state-aware and root-defaults.$state-aware-utilities {
187
+ @each $state-name, $value in root-defaults.$state-selectors {
188
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$state-aware-selector-prefix}#{$state-name}#{defaults.$state-aware-separator};
189
+
190
+ @each $property, $value in defaults.$order-properties {
191
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$property};
192
+
193
+ @include utility.create(
194
+ $selector,
195
+ order,
196
+ $value,
197
+ $important: defaults.$use-important,
198
+ $state: $state-name
199
+ );
200
+ }
201
+
202
+ @for $i from 1 through $order-max-count {
203
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$i};
204
+
205
+ @include utility.create(
206
+ $selector,
207
+ order,
208
+ $i,
209
+ $important: defaults.$use-important,
210
+ $state: $state-name
211
+ );
212
+ }
213
+ }
214
+ }
215
+
216
+ // Generate container-aware utilities.
217
+ @if defaults.$container-aware and root-defaults.$container-aware-utilities {
218
+ @each $container-name in map.keys(root-defaults.$container-sizes) {
219
+ $selector-prefix: #{defaults.$selector-base}#{defaults.$container-aware-selector-prefix}#{$container-name}#{defaults.$container-aware-separator};
220
+
221
+ @each $property, $value in defaults.$order-properties {
222
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$property};
223
+
224
+ @include utility.create(
225
+ $selector,
226
+ order,
227
+ $value,
228
+ $important: defaults.$use-important,
229
+ $container: $container-name
230
+ );
231
+ }
232
+
233
+ @for $i from 1 through $order-max-count {
234
+ $selector: #{$selector-prefix}#{defaults.$order-selector-prefix}#{$i};
235
+
236
+ @include utility.create(
237
+ $selector,
238
+ order,
239
+ $i,
240
+ $important: defaults.$use-important,
241
+ $container: $container-name
242
+ );
243
+ }
244
+ }
245
+ }
246
+ }
@@ -0,0 +1,6 @@
1
+ // @graupl/core order 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/core position 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 "../../defaults" as root-defaults;
10
+ @use "sass:map";
11
+
12
+ // Utility modifiers.
13
+ $selector-base: root-defaults.$utility-selector-base !default;
14
+ $use-important: root-defaults.$use-important !default;
15
+ $screen-aware: true !default;
16
+ $theme-aware: false !default;
17
+ $state-aware: false !default;
18
+ $container-aware: true !default;
19
+ $screen-aware-separator: root-defaults.$utility-screen-aware-separator !default;
20
+ $theme-aware-separator: root-defaults.$utility-theme-aware-separator !default;
21
+ $state-aware-separator: root-defaults.$utility-state-aware-separator !default;
22
+ $container-aware-separator: root-defaults.$utility-container-aware-separator !default;
23
+ $screen-aware-selector-prefix: root-defaults.$utility-screen-aware-selector-prefix !default;
24
+ $theme-aware-selector-prefix: root-defaults.$utility-theme-aware-selector-prefix !default;
25
+ $state-aware-selector-prefix: root-defaults.$utility-state-aware-selector-prefix !default;
26
+ $container-aware-selector-prefix: root-defaults.$utility-container-aware-selector-prefix !default;
27
+
28
+ // Position properties.
29
+ $position-selector-prefix: "position-" !default;
30
+ $base-position-properties: (
31
+ static: static,
32
+ fixed: fixed,
33
+ absolute: absolute,
34
+ relative: relative,
35
+ sticky: sticky,
36
+ );
37
+ $custom-position-properties: () !default;
38
+ $position-properties: map.merge(
39
+ $base-position-properties,
40
+ $custom-position-properties
41
+ );