@graupl/graupl 1.0.0-beta.1 → 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 (595) 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 +196 -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 +1 -1
  55. package/dist/css/normalize.css.map +1 -1
  56. package/dist/css/state/focus.css +1 -1
  57. package/dist/css/state/focus.css.map +1 -1
  58. package/dist/css/state.css +1 -1
  59. package/dist/css/state.css.map +1 -1
  60. package/dist/css/theme/color.css +1 -1
  61. package/dist/css/theme/color.css.map +1 -1
  62. package/dist/css/theme/typography.css +1 -1
  63. package/dist/css/theme/typography.css.map +1 -1
  64. package/dist/css/theme.css +1 -1
  65. package/dist/css/theme.css.map +1 -1
  66. package/dist/css/utilities/alignment.css +1 -1
  67. package/dist/css/utilities/alignment.css.map +1 -1
  68. package/dist/css/utilities/background.css +2 -0
  69. package/dist/css/utilities/background.css.map +1 -0
  70. package/dist/css/utilities/border.css +2 -0
  71. package/dist/css/utilities/border.css.map +1 -0
  72. package/dist/css/utilities/color.css +1 -1
  73. package/dist/css/utilities/color.css.map +1 -1
  74. package/dist/css/utilities/container.css +2 -0
  75. package/dist/css/utilities/container.css.map +1 -0
  76. package/dist/css/utilities/display.css +1 -1
  77. package/dist/css/utilities/display.css.map +1 -1
  78. package/dist/css/utilities/flex.css +1 -1
  79. package/dist/css/utilities/flex.css.map +1 -1
  80. package/dist/css/utilities/gradient.css +2 -0
  81. package/dist/css/utilities/gradient.css.map +1 -0
  82. package/dist/css/utilities/height.css +1 -1
  83. package/dist/css/utilities/height.css.map +1 -1
  84. package/dist/css/utilities/inset.css +1 -1
  85. package/dist/css/utilities/inset.css.map +1 -1
  86. package/dist/css/utilities/justification.css +1 -1
  87. package/dist/css/utilities/justification.css.map +1 -1
  88. package/dist/css/utilities/list.css +1 -1
  89. package/dist/css/utilities/list.css.map +1 -1
  90. package/dist/css/utilities/order.css +1 -1
  91. package/dist/css/utilities/order.css.map +1 -1
  92. package/dist/css/utilities/position.css +2 -0
  93. package/dist/css/utilities/position.css.map +1 -0
  94. package/dist/css/utilities/ratio.css +1 -1
  95. package/dist/css/utilities/ratio.css.map +1 -1
  96. package/dist/css/utilities/spacing.css +1 -1
  97. package/dist/css/utilities/spacing.css.map +1 -1
  98. package/dist/css/utilities/typography.css +1 -1
  99. package/dist/css/utilities/typography.css.map +1 -1
  100. package/dist/css/utilities/visibility.css +1 -1
  101. package/dist/css/utilities/visibility.css.map +1 -1
  102. package/dist/css/utilities/visually-hidden.css +2 -0
  103. package/dist/css/utilities/visually-hidden.css.map +1 -0
  104. package/dist/css/utilities/width.css +1 -1
  105. package/dist/css/utilities/width.css.map +1 -1
  106. package/dist/css/utilities/z-index.css +2 -0
  107. package/dist/css/utilities/z-index.css.map +1 -0
  108. package/dist/css/utilities.css +1 -1
  109. package/dist/css/utilities.css.map +1 -1
  110. package/dist/js/graupl.cjs.js +5 -3
  111. package/dist/js/graupl.esm.js +1305 -206
  112. package/dist/js/graupl.iife.js +5 -3
  113. package/docs/.vitepress/config.js +31 -1
  114. package/docs/.vitepress/theme/custom.scss +16 -16
  115. package/docs/compiling-graupl.md +6 -5
  116. package/docs/utilities/alignment.md +411 -0
  117. package/docs/utilities/background.md +192 -0
  118. package/docs/utilities/border.md +268 -0
  119. package/docs/utilities/color.md +348 -0
  120. package/docs/utilities/container.md +3 -0
  121. package/docs/utilities/display.md +3 -0
  122. package/docs/utilities/flex.md +3 -0
  123. package/docs/utilities/gradient.md +3 -0
  124. package/docs/utilities/height.md +3 -0
  125. package/docs/utilities/inset.md +3 -0
  126. package/docs/utilities/justification.md +3 -0
  127. package/docs/utilities/list.md +3 -0
  128. package/docs/utilities/order.md +3 -0
  129. package/docs/utilities/position.md +3 -0
  130. package/docs/utilities/ratio.md +3 -0
  131. package/docs/utilities/responsive-classes.md +3 -0
  132. package/docs/utilities/spacing.md +3 -0
  133. package/docs/utilities/typography.md +3 -0
  134. package/docs/utilities/visibility.md +3 -0
  135. package/docs/utilities/visually-hidden.md +3 -0
  136. package/docs/utilities/width.md +3 -0
  137. package/docs/utilities/z-index.md +3 -0
  138. package/favicon.ico +0 -0
  139. package/index.html +418 -55
  140. package/logo.svg +296 -0
  141. package/package.json +33 -37
  142. package/packages/core/build.js +9 -0
  143. package/packages/core/dist/css/base/button.css +2 -0
  144. package/packages/core/dist/css/base/button.css.map +1 -0
  145. package/packages/core/dist/css/base/form.css +2 -0
  146. package/packages/core/dist/css/base/form.css.map +1 -0
  147. package/packages/core/dist/css/base/link.css +2 -0
  148. package/packages/core/dist/css/base/link.css.map +1 -0
  149. package/packages/core/dist/css/base/table.css +2 -0
  150. package/packages/core/dist/css/base/table.css.map +1 -0
  151. package/packages/core/dist/css/base.css +2 -0
  152. package/packages/core/dist/css/base.css.map +1 -0
  153. package/packages/core/dist/css/component/accordion.css +5 -0
  154. package/packages/core/dist/css/component/accordion.css.map +1 -0
  155. package/packages/core/dist/css/component/alert.css +2 -0
  156. package/packages/core/dist/css/component/alert.css.map +1 -0
  157. package/packages/core/dist/css/component/card.css +2 -0
  158. package/packages/core/dist/css/component/card.css.map +1 -0
  159. package/packages/core/dist/css/component/carousel.css +2 -0
  160. package/packages/core/dist/css/component/carousel.css.map +1 -0
  161. package/packages/core/dist/css/component/input-group.css +2 -0
  162. package/packages/core/dist/css/component/input-group.css.map +1 -0
  163. package/packages/core/dist/css/component/list.css +2 -0
  164. package/packages/core/dist/css/component/list.css.map +1 -0
  165. package/packages/core/dist/css/component/menu.css +2 -0
  166. package/packages/core/dist/css/component/menu.css.map +1 -0
  167. package/packages/core/dist/css/component/navigation.css +2 -0
  168. package/packages/core/dist/css/component/navigation.css.map +1 -0
  169. package/packages/core/dist/css/component.css +5 -0
  170. package/packages/core/dist/css/component.css.map +1 -0
  171. package/packages/core/dist/css/graupl.css +5 -0
  172. package/packages/core/dist/css/graupl.css.map +1 -0
  173. package/{src/scss/_init.scss → packages/core/dist/css/init.css} +1 -2
  174. package/packages/core/dist/css/init.css.map +1 -0
  175. package/packages/core/dist/css/layout/columns.css +2 -0
  176. package/packages/core/dist/css/layout/columns.css.map +1 -0
  177. package/packages/core/dist/css/layout/container.css +2 -0
  178. package/packages/core/dist/css/layout/container.css.map +1 -0
  179. package/packages/core/dist/css/layout/flex-columns.css +2 -0
  180. package/packages/core/dist/css/layout/flex-columns.css.map +1 -0
  181. package/packages/core/dist/css/layout.css +5 -0
  182. package/packages/core/dist/css/layout.css.map +1 -0
  183. package/packages/core/dist/css/normalize.css +2 -0
  184. package/packages/core/dist/css/normalize.css.map +1 -0
  185. package/packages/core/dist/css/state/focus.css +2 -0
  186. package/packages/core/dist/css/state/focus.css.map +1 -0
  187. package/packages/core/dist/css/state.css +2 -0
  188. package/packages/core/dist/css/state.css.map +1 -0
  189. package/packages/core/dist/css/theme/color.css +2 -0
  190. package/packages/core/dist/css/theme/color.css.map +1 -0
  191. package/packages/core/dist/css/theme/typography.css +2 -0
  192. package/packages/core/dist/css/theme/typography.css.map +1 -0
  193. package/packages/core/dist/css/theme.css +2 -0
  194. package/packages/core/dist/css/theme.css.map +1 -0
  195. package/packages/core/dist/css/utilities/alignment.css +2 -0
  196. package/packages/core/dist/css/utilities/alignment.css.map +1 -0
  197. package/packages/core/dist/css/utilities/background.css +2 -0
  198. package/packages/core/dist/css/utilities/background.css.map +1 -0
  199. package/packages/core/dist/css/utilities/border.css +2 -0
  200. package/packages/core/dist/css/utilities/border.css.map +1 -0
  201. package/packages/core/dist/css/utilities/color.css +2 -0
  202. package/packages/core/dist/css/utilities/color.css.map +1 -0
  203. package/packages/core/dist/css/utilities/container.css +2 -0
  204. package/packages/core/dist/css/utilities/container.css.map +1 -0
  205. package/packages/core/dist/css/utilities/display.css +2 -0
  206. package/packages/core/dist/css/utilities/display.css.map +1 -0
  207. package/packages/core/dist/css/utilities/flex.css +2 -0
  208. package/packages/core/dist/css/utilities/flex.css.map +1 -0
  209. package/packages/core/dist/css/utilities/gradient.css +2 -0
  210. package/packages/core/dist/css/utilities/gradient.css.map +1 -0
  211. package/packages/core/dist/css/utilities/height.css +2 -0
  212. package/packages/core/dist/css/utilities/height.css.map +1 -0
  213. package/packages/core/dist/css/utilities/inset.css +2 -0
  214. package/packages/core/dist/css/utilities/inset.css.map +1 -0
  215. package/packages/core/dist/css/utilities/justification.css +2 -0
  216. package/packages/core/dist/css/utilities/justification.css.map +1 -0
  217. package/packages/core/dist/css/utilities/list.css +2 -0
  218. package/packages/core/dist/css/utilities/list.css.map +1 -0
  219. package/packages/core/dist/css/utilities/order.css +2 -0
  220. package/packages/core/dist/css/utilities/order.css.map +1 -0
  221. package/packages/core/dist/css/utilities/position.css +2 -0
  222. package/packages/core/dist/css/utilities/position.css.map +1 -0
  223. package/packages/core/dist/css/utilities/ratio.css +2 -0
  224. package/packages/core/dist/css/utilities/ratio.css.map +1 -0
  225. package/packages/core/dist/css/utilities/spacing.css +2 -0
  226. package/packages/core/dist/css/utilities/spacing.css.map +1 -0
  227. package/packages/core/dist/css/utilities/typography.css +2 -0
  228. package/packages/core/dist/css/utilities/typography.css.map +1 -0
  229. package/packages/core/dist/css/utilities/visibility.css +2 -0
  230. package/packages/core/dist/css/utilities/visibility.css.map +1 -0
  231. package/packages/core/dist/css/utilities/visually-hidden.css +2 -0
  232. package/packages/core/dist/css/utilities/visually-hidden.css.map +1 -0
  233. package/packages/core/dist/css/utilities/width.css +2 -0
  234. package/packages/core/dist/css/utilities/width.css.map +1 -0
  235. package/packages/core/dist/css/utilities/z-index.css +2 -0
  236. package/packages/core/dist/css/utilities/z-index.css.map +1 -0
  237. package/packages/core/dist/css/utilities.css +2 -0
  238. package/packages/core/dist/css/utilities.css.map +1 -0
  239. package/packages/core/package.json +58 -0
  240. package/packages/core/scss/base/button.scss +3 -0
  241. package/packages/core/scss/base/form.scss +3 -0
  242. package/packages/core/scss/base/link.scss +3 -0
  243. package/packages/core/scss/base/table.scss +3 -0
  244. package/packages/core/scss/base.scss +3 -0
  245. package/packages/core/scss/component/accordion.scss +3 -0
  246. package/packages/core/scss/component/alert.scss +3 -0
  247. package/packages/core/scss/component/card.scss +3 -0
  248. package/packages/core/scss/component/carousel.scss +3 -0
  249. package/packages/core/scss/component/input-group.scss +3 -0
  250. package/packages/core/scss/component/list.scss +3 -0
  251. package/packages/core/scss/component/menu.scss +3 -0
  252. package/packages/core/scss/component/navigation.scss +3 -0
  253. package/packages/core/scss/component.scss +3 -0
  254. package/packages/core/scss/graupl.scss +3 -0
  255. package/packages/core/scss/init.scss +3 -0
  256. package/packages/core/scss/layout/columns.scss +3 -0
  257. package/packages/core/scss/layout/container.scss +3 -0
  258. package/packages/core/scss/layout/flex-columns.scss +3 -0
  259. package/packages/core/scss/layout.scss +3 -0
  260. package/packages/core/scss/normalize.scss +3 -0
  261. package/packages/core/scss/state/focus.scss +3 -0
  262. package/packages/core/scss/state.scss +3 -0
  263. package/packages/core/scss/theme/color.scss +3 -0
  264. package/packages/core/scss/theme/typography.scss +3 -0
  265. package/packages/core/scss/theme.scss +3 -0
  266. package/packages/core/scss/utilities/alignment.scss +3 -0
  267. package/packages/core/scss/utilities/background.scss +3 -0
  268. package/packages/core/scss/utilities/border.scss +3 -0
  269. package/packages/core/scss/utilities/color.scss +3 -0
  270. package/packages/core/scss/utilities/container.scss +3 -0
  271. package/packages/core/scss/utilities/display.scss +3 -0
  272. package/packages/core/scss/utilities/flex.scss +3 -0
  273. package/packages/core/scss/utilities/gradient.scss +3 -0
  274. package/packages/core/scss/utilities/height.scss +3 -0
  275. package/packages/core/scss/utilities/inset.scss +3 -0
  276. package/packages/core/scss/utilities/justification.scss +3 -0
  277. package/packages/core/scss/utilities/list.scss +3 -0
  278. package/packages/core/scss/utilities/order.scss +3 -0
  279. package/{scss/utilities/postion.scss → packages/core/scss/utilities/position.scss} +1 -1
  280. package/packages/core/scss/utilities/ratio.scss +3 -0
  281. package/packages/core/scss/utilities/spacing.scss +3 -0
  282. package/packages/core/scss/utilities/typography.scss +3 -0
  283. package/packages/core/scss/utilities/visibility.scss +3 -0
  284. package/packages/core/scss/utilities/visually-hidden.scss +3 -0
  285. package/packages/core/scss/utilities/width.scss +3 -0
  286. package/packages/core/scss/utilities/z-index.scss +3 -0
  287. package/packages/core/scss/utilities.scss +3 -0
  288. package/{src → packages/core/src}/scss/_defaults.scss +59 -11
  289. package/{src → packages/core/src}/scss/_index.scss +1 -1
  290. package/packages/core/src/scss/_init.scss +6 -0
  291. package/{src → packages/core/src}/scss/_normalize.scss +1 -1
  292. package/{src → packages/core/src}/scss/_variables.scss +43 -1
  293. package/{src → packages/core/src}/scss/base/_index.scss +1 -1
  294. package/{src → packages/core/src}/scss/base/button/_defaults.scss +13 -24
  295. package/packages/core/src/scss/base/button/_index.scss +206 -0
  296. package/packages/core/src/scss/base/button/_mixins.scss +104 -0
  297. package/{src → packages/core/src}/scss/base/button/_variables.scss +108 -32
  298. package/{src → packages/core/src}/scss/base/form/_defaults.scss +8 -1
  299. package/packages/core/src/scss/base/form/_index.scss +227 -0
  300. package/packages/core/src/scss/base/form/_variables.scss +245 -0
  301. package/packages/core/src/scss/base/link/_defaults.scss +35 -0
  302. package/packages/core/src/scss/base/link/_index.scss +245 -0
  303. package/{src → packages/core/src}/scss/base/link/_variables.scss +148 -40
  304. package/packages/core/src/scss/base/table/_defaults.scss +68 -0
  305. package/packages/core/src/scss/base/table/_index.scss +314 -0
  306. package/packages/core/src/scss/base/table/_variables.scss +309 -0
  307. package/{src → packages/core/src}/scss/component/_index.scss +2 -1
  308. package/{src → packages/core/src}/scss/component/accordion/_defaults.scss +1 -1
  309. package/{src → packages/core/src}/scss/component/accordion/_index.scss +73 -55
  310. package/{src → packages/core/src}/scss/component/accordion/_variables.scss +68 -28
  311. package/{src → packages/core/src}/scss/component/alert/_defaults.scss +1 -1
  312. package/{src → packages/core/src}/scss/component/alert/_index.scss +45 -44
  313. package/{src → packages/core/src}/scss/component/alert/_variables.scss +54 -24
  314. package/{src → packages/core/src}/scss/component/card/_defaults.scss +1 -1
  315. package/{src → packages/core/src}/scss/component/card/_index.scss +47 -13
  316. package/{src → packages/core/src}/scss/component/card/_variables.scss +54 -24
  317. package/{src → packages/core/src}/scss/component/carousel/_defaults.scss +1 -1
  318. package/{src → packages/core/src}/scss/component/carousel/_index.scss +29 -25
  319. package/{src → packages/core/src}/scss/component/carousel/_variables.scss +1 -1
  320. package/{src → packages/core/src}/scss/component/input-group/_defaults.scss +1 -1
  321. package/{src → packages/core/src}/scss/component/input-group/_index.scss +2 -2
  322. package/{src → packages/core/src}/scss/component/input-group/_variables.scss +1 -1
  323. package/{src/scss/utilities/order → packages/core/src/scss/component/list}/_defaults.scss +7 -14
  324. package/packages/core/src/scss/component/list/_index.scss +52 -0
  325. package/packages/core/src/scss/component/list/_variables.scss +236 -0
  326. package/{src → packages/core/src}/scss/component/menu/_defaults.scss +11 -20
  327. package/{src → packages/core/src}/scss/component/menu/_index.scss +9 -6
  328. package/{src → packages/core/src}/scss/component/menu/_variables.scss +199 -57
  329. package/packages/core/src/scss/component/navigation/_defaults.scss +23 -0
  330. package/{src → packages/core/src}/scss/component/navigation/_index.scss +3 -2
  331. package/{src → packages/core/src}/scss/component/navigation/_variables.scss +79 -26
  332. package/packages/core/src/scss/functions/_container.scss +38 -0
  333. package/packages/core/src/scss/functions/_important.scss +36 -0
  334. package/{src → packages/core/src}/scss/functions/_screen.scss +9 -1
  335. package/{src → packages/core/src}/scss/functions/_theme.scss +2 -2
  336. package/packages/core/src/scss/functions/_utility.scss +28 -0
  337. package/{src → packages/core/src}/scss/layout/_index.scss +1 -1
  338. package/{src → packages/core/src}/scss/layout/columns/_defaults.scss +9 -4
  339. package/packages/core/src/scss/layout/columns/_index.scss +137 -0
  340. package/{src → packages/core/src}/scss/layout/columns/_variables.scss +6 -2
  341. package/packages/core/src/scss/layout/container/_defaults.scss +35 -0
  342. package/packages/core/src/scss/layout/container/_index.scss +628 -0
  343. package/packages/core/src/scss/layout/container/_variables.scss +114 -0
  344. package/packages/core/src/scss/layout/flex-columns/_defaults.scss +28 -0
  345. package/packages/core/src/scss/layout/flex-columns/_index.scss +184 -0
  346. package/{src → packages/core/src}/scss/layout/flex-columns/_variables.scss +5 -1
  347. package/{src → packages/core/src}/scss/mixins/_animation.scss +1 -1
  348. package/packages/core/src/scss/mixins/_container.scss +80 -0
  349. package/{src → packages/core/src}/scss/mixins/_layer.scss +6 -2
  350. package/{src → packages/core/src}/scss/mixins/_screen.scss +25 -4
  351. package/packages/core/src/scss/mixins/_state.scss +18 -0
  352. package/packages/core/src/scss/mixins/_theme.scss +15 -0
  353. package/packages/core/src/scss/mixins/_utility.scss +185 -0
  354. package/packages/core/src/scss/mixins/_visually-hidden.scss +30 -0
  355. package/packages/core/src/scss/state/_index.scss +3 -0
  356. package/{src → packages/core/src}/scss/state/focus/_defaults.scss +1 -2
  357. package/packages/core/src/scss/state/focus/_index.scss +42 -0
  358. package/packages/core/src/scss/state/focus/_mixins.scss +13 -0
  359. package/{src → packages/core/src}/scss/state/focus/_variables.scss +16 -10
  360. package/{src → packages/core/src}/scss/theme/_index.scss +1 -1
  361. package/{src → packages/core/src}/scss/theme/color/_defaults.scss +1 -1
  362. package/{src → packages/core/src}/scss/theme/color/_index.scss +5 -5
  363. package/{src → packages/core/src}/scss/theme/color/_variables.scss +5 -1
  364. package/{src → packages/core/src}/scss/theme/typography/_defaults.scss +1 -1
  365. package/{src → packages/core/src}/scss/theme/typography/_index.scss +10 -1
  366. package/{src → packages/core/src}/scss/theme/typography/_variables.scss +19 -2
  367. package/{src → packages/core/src}/scss/utilities/_index.scss +7 -1
  368. package/packages/core/src/scss/utilities/_template/_defaults.scss +41 -0
  369. package/packages/core/src/scss/utilities/_template/_index.scss +171 -0
  370. package/{src/scss/utilities/alignment → packages/core/src/scss/utilities/_template}/_variables.scss +1 -1
  371. package/{src → packages/core/src}/scss/utilities/alignment/_defaults.scss +21 -7
  372. package/packages/core/src/scss/utilities/alignment/_index.scss +336 -0
  373. package/{src/scss/utilities/display → packages/core/src/scss/utilities/alignment}/_variables.scss +1 -1
  374. package/packages/core/src/scss/utilities/background/_defaults.scss +122 -0
  375. package/packages/core/src/scss/utilities/background/_index.scss +634 -0
  376. package/packages/core/src/scss/utilities/background/_variables.scss +6 -0
  377. package/packages/core/src/scss/utilities/border/_defaults.scss +73 -0
  378. package/packages/core/src/scss/utilities/border/_index.scss +558 -0
  379. package/{src/scss/utilities/list → packages/core/src/scss/utilities/border}/_variables.scss +1 -1
  380. package/packages/core/src/scss/utilities/color/_defaults.scss +49 -0
  381. package/packages/core/src/scss/utilities/color/_index.scss +469 -0
  382. package/{src/scss/utilities/flex → packages/core/src/scss/utilities/color}/_variables.scss +1 -1
  383. package/packages/core/src/scss/utilities/container/_defaults.scss +40 -0
  384. package/packages/core/src/scss/utilities/container/_index.scss +174 -0
  385. package/packages/core/src/scss/utilities/container/_variables.scss +6 -0
  386. package/packages/core/src/scss/utilities/display/_defaults.scss +47 -0
  387. package/packages/core/src/scss/utilities/display/_index.scss +184 -0
  388. package/{src/scss/utilities/inset → packages/core/src/scss/utilities/display}/_variables.scss +1 -1
  389. package/packages/core/src/scss/utilities/flex/_defaults.scss +99 -0
  390. package/packages/core/src/scss/utilities/flex/_index.scss +486 -0
  391. package/{src/scss/utilities/color → packages/core/src/scss/utilities/flex}/_variables.scss +1 -1
  392. package/packages/core/src/scss/utilities/gradient/_defaults.scss +70 -0
  393. package/packages/core/src/scss/utilities/gradient/_index.scss +696 -0
  394. package/packages/core/src/scss/utilities/gradient/_variables.scss +29 -0
  395. package/packages/core/src/scss/utilities/height/_defaults.scss +54 -0
  396. package/packages/core/src/scss/utilities/height/_index.scss +525 -0
  397. package/packages/core/src/scss/utilities/height/_variables.scss +6 -0
  398. package/packages/core/src/scss/utilities/inset/_defaults.scss +55 -0
  399. package/packages/core/src/scss/utilities/inset/_index.scss +258 -0
  400. package/packages/core/src/scss/utilities/inset/_variables.scss +6 -0
  401. package/{src → packages/core/src}/scss/utilities/justification/_defaults.scss +21 -7
  402. package/packages/core/src/scss/utilities/justification/_index.scss +333 -0
  403. package/packages/core/src/scss/utilities/justification/_variables.scss +6 -0
  404. package/packages/core/src/scss/utilities/list/_defaults.scss +53 -0
  405. package/packages/core/src/scss/utilities/list/_index.scss +253 -0
  406. package/packages/core/src/scss/utilities/list/_variables.scss +6 -0
  407. package/packages/core/src/scss/utilities/order/_defaults.scss +36 -0
  408. package/packages/core/src/scss/utilities/order/_index.scss +246 -0
  409. package/packages/core/src/scss/utilities/order/_variables.scss +6 -0
  410. package/packages/core/src/scss/utilities/position/_defaults.scss +41 -0
  411. package/packages/core/src/scss/utilities/position/_index.scss +178 -0
  412. package/{src/scss/utilities/height → packages/core/src/scss/utilities/position}/_variables.scss +1 -1
  413. package/packages/core/src/scss/utilities/ratio/_defaults.scss +42 -0
  414. package/packages/core/src/scss/utilities/ratio/_index.scss +188 -0
  415. package/{src → packages/core/src}/scss/utilities/ratio/_variables.scss +1 -1
  416. package/{src → packages/core/src}/scss/utilities/spacing/_defaults.scss +19 -4
  417. package/packages/core/src/scss/utilities/spacing/_index.scss +970 -0
  418. package/packages/core/src/scss/utilities/spacing/_variables.scss +6 -0
  419. package/packages/core/src/scss/utilities/typography/_defaults.scss +58 -0
  420. package/packages/core/src/scss/utilities/typography/_index.scss +1089 -0
  421. package/packages/core/src/scss/utilities/typography/_variables.scss +6 -0
  422. package/packages/core/src/scss/utilities/visibility/_defaults.scss +39 -0
  423. package/packages/core/src/scss/utilities/visibility/_index.scss +173 -0
  424. package/packages/core/src/scss/utilities/visibility/_variables.scss +6 -0
  425. package/packages/core/src/scss/utilities/visually-hidden/_defaults.scss +29 -0
  426. package/packages/core/src/scss/utilities/visually-hidden/_index.scss +189 -0
  427. package/packages/core/src/scss/utilities/visually-hidden/_variables.scss +6 -0
  428. package/packages/core/src/scss/utilities/width/_defaults.scss +54 -0
  429. package/packages/core/src/scss/utilities/width/_index.scss +525 -0
  430. package/packages/core/src/scss/utilities/width/_variables.scss +6 -0
  431. package/packages/core/src/scss/utilities/z-index/_defaults.scss +40 -0
  432. package/packages/core/src/scss/utilities/z-index/_index.scss +173 -0
  433. package/packages/core/src/scss/utilities/z-index/_variables.scss +6 -0
  434. package/packages/core/vite.config.js +28 -0
  435. package/packages/icons/dist/css/base/button.css +2 -0
  436. package/packages/icons/dist/css/base/button.css.map +1 -0
  437. package/packages/icons/dist/css/base/link.css +2 -0
  438. package/packages/icons/dist/css/base/link.css.map +1 -0
  439. package/packages/icons/dist/css/base.css +2 -0
  440. package/packages/icons/dist/css/base.css.map +1 -0
  441. package/packages/icons/dist/css/component/icon.css +2 -0
  442. package/packages/icons/dist/css/component/icon.css.map +1 -0
  443. package/packages/icons/dist/css/component.css +2 -0
  444. package/packages/icons/dist/css/component.css.map +1 -0
  445. package/packages/icons/dist/css/icon.css +2 -0
  446. package/packages/icons/dist/css/icon.css.map +1 -0
  447. package/packages/icons/package.json +48 -0
  448. package/packages/icons/scss/base/button.scss +3 -0
  449. package/packages/icons/scss/base/link.scss +3 -0
  450. package/packages/icons/scss/base.scss +3 -0
  451. package/packages/icons/scss/component/icon.scss +3 -0
  452. package/packages/icons/scss/component.scss +3 -0
  453. package/packages/icons/scss/icon.scss +3 -0
  454. package/packages/icons/src/scss/_index.scss +4 -0
  455. package/packages/icons/src/scss/base/_index.scss +4 -0
  456. package/packages/icons/src/scss/base/button/_defaults.scss +7 -0
  457. package/packages/icons/src/scss/base/button/_index.scss +58 -0
  458. package/packages/icons/src/scss/base/button/_variables.scss +7 -0
  459. package/packages/icons/src/scss/base/link/_defaults.scss +7 -0
  460. package/packages/icons/src/scss/base/link/_index.scss +58 -0
  461. package/packages/icons/src/scss/base/link/_variables.scss +7 -0
  462. package/packages/icons/src/scss/component/_index.scss +3 -0
  463. package/packages/icons/src/scss/component/icon/_defaults.scss +30 -0
  464. package/packages/icons/src/scss/component/icon/_index.scss +60 -0
  465. package/packages/icons/src/scss/component/icon/_mixins.scss +62 -0
  466. package/packages/icons/src/scss/component/icon/_variables.scss +24 -0
  467. package/postcss.config.cjs +2 -3
  468. package/scss/base/button.scss +1 -1
  469. package/scss/base/form.scss +1 -1
  470. package/scss/base/link.scss +1 -1
  471. package/scss/base/table.scss +1 -1
  472. package/scss/base.scss +1 -1
  473. package/scss/component/accordion.scss +1 -1
  474. package/scss/component/alert.scss +1 -1
  475. package/scss/component/card.scss +1 -1
  476. package/scss/component/carousel.scss +1 -1
  477. package/scss/component/input-group.scss +1 -1
  478. package/scss/component/list.scss +3 -0
  479. package/scss/component/menu.scss +1 -1
  480. package/scss/component/navigation.scss +1 -1
  481. package/scss/component.scss +1 -1
  482. package/scss/graupl.scss +1 -1
  483. package/scss/init.scss +1 -1
  484. package/scss/layout/columns.scss +1 -1
  485. package/scss/layout/container.scss +1 -1
  486. package/scss/layout/flex-columns.scss +1 -1
  487. package/scss/layout.scss +1 -1
  488. package/scss/normalize.scss +1 -1
  489. package/scss/state/focus.scss +1 -1
  490. package/scss/state.scss +1 -1
  491. package/scss/theme/color.scss +1 -1
  492. package/scss/theme/typography.scss +1 -1
  493. package/scss/theme.scss +1 -1
  494. package/scss/utilities/alignment.scss +1 -1
  495. package/scss/utilities/background.scss +3 -0
  496. package/scss/utilities/border.scss +3 -0
  497. package/scss/utilities/color.scss +1 -1
  498. package/scss/utilities/container.scss +3 -0
  499. package/scss/utilities/display.scss +1 -1
  500. package/scss/utilities/flex.scss +1 -1
  501. package/scss/utilities/gradient.scss +3 -0
  502. package/scss/utilities/height.scss +1 -1
  503. package/scss/utilities/inset.scss +1 -1
  504. package/scss/utilities/justification.scss +1 -1
  505. package/scss/utilities/list.scss +1 -1
  506. package/scss/utilities/order.scss +1 -1
  507. package/scss/utilities/position.scss +3 -0
  508. package/scss/utilities/ratio.scss +1 -1
  509. package/scss/utilities/spacing.scss +1 -1
  510. package/scss/utilities/typography.scss +1 -1
  511. package/scss/utilities/visibility.scss +1 -1
  512. package/scss/utilities/visually-hidden.scss +3 -0
  513. package/scss/utilities/width.scss +1 -1
  514. package/scss/utilities/z-index.scss +3 -0
  515. package/scss/utilities.scss +1 -1
  516. package/stylelint.config.js +1 -0
  517. package/vite.config.js +6 -35
  518. package/dist/css/utilities/postion.css +0 -2
  519. package/dist/css/utilities/postion.css.map +0 -1
  520. package/dist/js/component/accordion.cjs.js +0 -3
  521. package/dist/js/component/accordion.esm.js +0 -1289
  522. package/dist/js/component/accordion.iife.js +0 -3
  523. package/dist/js/component/alert.cjs.js +0 -3
  524. package/dist/js/component/alert.esm.js +0 -529
  525. package/dist/js/component/alert.iife.js +0 -3
  526. package/dist/js/component/carousel.cjs.js +0 -3
  527. package/dist/js/component/carousel.esm.js +0 -1110
  528. package/dist/js/component/carousel.iife.js +0 -3
  529. package/src/scss/base/button/_index.scss +0 -107
  530. package/src/scss/base/button/_mixins.scss +0 -166
  531. package/src/scss/base/form/_index.scss +0 -93
  532. package/src/scss/base/form/_variables.scss +0 -153
  533. package/src/scss/base/link/_defaults.scss +0 -50
  534. package/src/scss/base/link/_index.scss +0 -134
  535. package/src/scss/base/table/_defaults.scss +0 -53
  536. package/src/scss/base/table/_index.scss +0 -121
  537. package/src/scss/base/table/_variables.scss +0 -135
  538. package/src/scss/component/navigation/_defaults.scss +0 -29
  539. package/src/scss/functions/_important.scss +0 -13
  540. package/src/scss/layout/columns/_index.scss +0 -58
  541. package/src/scss/layout/container/_defaults.scss +0 -17
  542. package/src/scss/layout/container/_index.scss +0 -41
  543. package/src/scss/layout/container/_variables.scss +0 -50
  544. package/src/scss/layout/flex-columns/_defaults.scss +0 -18
  545. package/src/scss/layout/flex-columns/_index.scss +0 -80
  546. package/src/scss/mixins/_utility.scss +0 -30
  547. package/src/scss/mixins/_visually-hidden.scss +0 -20
  548. package/src/scss/state/_index.scss +0 -3
  549. package/src/scss/state/focus/_index.scss +0 -13
  550. package/src/scss/state/focus/_mixins.scss +0 -15
  551. package/src/scss/utilities/alignment/_index.scss +0 -75
  552. package/src/scss/utilities/color/_defaults.scss +0 -35
  553. package/src/scss/utilities/color/_index.scss +0 -91
  554. package/src/scss/utilities/display/_defaults.scss +0 -32
  555. package/src/scss/utilities/display/_index.scss +0 -61
  556. package/src/scss/utilities/flex/_defaults.scss +0 -63
  557. package/src/scss/utilities/flex/_index.scss +0 -71
  558. package/src/scss/utilities/height/_defaults.scss +0 -41
  559. package/src/scss/utilities/height/_index.scss +0 -98
  560. package/src/scss/utilities/inset/_defaults.scss +0 -41
  561. package/src/scss/utilities/inset/_index.scss +0 -37
  562. package/src/scss/utilities/justification/_index.scss +0 -75
  563. package/src/scss/utilities/justification/_variables.scss +0 -6
  564. package/src/scss/utilities/list/_defaults.scss +0 -39
  565. package/src/scss/utilities/list/_index.scss +0 -56
  566. package/src/scss/utilities/order/_index.scss +0 -63
  567. package/src/scss/utilities/order/_variables.scss +0 -6
  568. package/src/scss/utilities/position/_defaults.scss +0 -26
  569. package/src/scss/utilities/position/_index.scss +0 -37
  570. package/src/scss/utilities/position/_variables.scss +0 -6
  571. package/src/scss/utilities/ratio/_defaults.scss +0 -28
  572. package/src/scss/utilities/ratio/_index.scss +0 -52
  573. package/src/scss/utilities/spacing/_index.scss +0 -169
  574. package/src/scss/utilities/spacing/_variables.scss +0 -6
  575. package/src/scss/utilities/typography/_defaults.scss +0 -30
  576. package/src/scss/utilities/typography/_index.scss +0 -224
  577. package/src/scss/utilities/typography/_variables.scss +0 -6
  578. package/src/scss/utilities/visibility/_defaults.scss +0 -25
  579. package/src/scss/utilities/visibility/_index.scss +0 -36
  580. package/src/scss/utilities/visibility/_variables.scss +0 -6
  581. package/src/scss/utilities/width/_defaults.scss +0 -41
  582. package/src/scss/utilities/width/_index.scss +0 -98
  583. package/src/scss/utilities/width/_variables.scss +0 -6
  584. /package/{src → packages/core/src}/js/accordion/Accordion.js +0 -0
  585. /package/{src → packages/core/src}/js/accordion/AccordionItem.js +0 -0
  586. /package/{src → packages/core/src}/js/accordion/index.js +0 -0
  587. /package/{src → packages/core/src}/js/alert/Alert.js +0 -0
  588. /package/{src → packages/core/src}/js/alert/index.js +0 -0
  589. /package/{src → packages/core/src}/js/carousel/Carousel.js +0 -0
  590. /package/{src → packages/core/src}/js/carousel/index.js +0 -0
  591. /package/{src → packages/core/src}/js/domHelpers.js +0 -0
  592. /package/{src → packages/core/src}/js/eventHandlers.js +0 -0
  593. /package/{src → packages/core/src}/js/navigation/index.js +0 -0
  594. /package/{src → packages/core/src}/js/storage.js +0 -0
  595. /package/{src → packages/core/src}/js/validate.js +0 -0
@@ -0,0 +1,114 @@
1
+ // @graupl/core container layout 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 "../../variables" as root-variables;
8
+ @use "../../defaults" as root-defaults;
9
+ @use "sass:map";
10
+
11
+ $container-gap: var(
12
+ --#{root-defaults.$prefix}container-gap,
13
+ #{map.get(root-variables.$spacers, 5)}
14
+ );
15
+ $container-content-max-width: var(
16
+ --#{root-defaults.$prefix}container-content-max-width,
17
+ #{root-variables.$content-max-width}
18
+ );
19
+ $container-sidebar-width: var(
20
+ --#{root-defaults.$prefix}container-sidebar-width,
21
+ #{defaults.$container-sidebar-width}
22
+ );
23
+ $container-breakout-max-width: var(
24
+ --#{root-defaults.$prefix}container-breakout-max-width,
25
+ calc(#{$container-content-max-width} + #{defaults.$container-breakout-width})
26
+ );
27
+ $container-feature-max-width: var(
28
+ --#{root-defaults.$prefix}container-feature-max-width,
29
+ calc(#{$container-breakout-max-width} + #{defaults.$container-feature-width})
30
+ );
31
+ $container-full-width-section-min-width: var(
32
+ --#{root-defaults.$prefix}container-full-width-section-min-width,
33
+ #{$container-gap}
34
+ );
35
+ $container-full-width-section-max-width: var(
36
+ --#{root-defaults.$prefix}container-full-width-section-max-width,
37
+ 1fr
38
+ );
39
+ $container-feature-section-min-width: var(
40
+ --#{root-defaults.$prefix}container-feature-section-min-width,
41
+ 0rem
42
+ );
43
+ $container-feature-section-max-width: var(
44
+ --#{root-defaults.$prefix}container-feature-section-max-width,
45
+ calc((#{$container-feature-max-width} - #{$container-breakout-max-width}) / 2)
46
+ );
47
+ $container-breakout-section-min-width: var(
48
+ --#{root-defaults.$prefix}container-breakout-section-min-width,
49
+ 0rem
50
+ );
51
+ $container-breakout-section-max-width: var(
52
+ --#{root-defaults.$prefix}container-breakout-section-max-width,
53
+ calc((#{$container-breakout-max-width} - #{$container-content-max-width}) / 2)
54
+ );
55
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
56
+ $container-content-section-min-width: var(
57
+ --#{root-defaults.$prefix}container-content-section-min-width,
58
+ calc(
59
+ 100% - (#{$container-full-width-section-min-width} * 2) -
60
+ (#{$container-feature-section-min-width} * 2) -
61
+ (#{$container-breakout-section-min-width} * 2)
62
+ )
63
+ );
64
+ /* stylelint-enable scss/operator-no-newline-after */
65
+ $container-content-section-max-width: var(
66
+ --#{root-defaults.$prefix}container-content-section-max-width,
67
+ #{$container-content-max-width}
68
+ );
69
+ $container-full-width-section-width: var(
70
+ --#{root-defaults.$prefix}container-full-width-section-width,
71
+ minmax(
72
+ #{$container-full-width-section-min-width},
73
+ #{$container-full-width-section-max-width}
74
+ )
75
+ );
76
+ $container-feature-section-width: var(
77
+ --#{root-defaults.$prefix}container-feature-section-width,
78
+ minmax(
79
+ #{$container-feature-section-min-width},
80
+ #{$container-feature-section-max-width}
81
+ )
82
+ );
83
+ $container-breakout-section-width: var(
84
+ --#{root-defaults.$prefix}container-breakout-section-width,
85
+ minmax(
86
+ #{$container-breakout-section-min-width},
87
+ #{$container-breakout-section-max-width}
88
+ )
89
+ );
90
+ $container-content-section-width: var(
91
+ --#{root-defaults.$prefix}container-content-section-width,
92
+ min(
93
+ #{$container-content-section-min-width},
94
+ #{$container-content-section-max-width}
95
+ )
96
+ );
97
+ $container-sidebar-left-section-width: var(
98
+ --#{root-defaults.$prefix}container-sidebar-left-section-width,
99
+ $container-sidebar-width
100
+ );
101
+ $container-sidebar-right-section-width: var(
102
+ --#{root-defaults.$prefix}container-sidebar-right-section-width,
103
+ $container-sidebar-width
104
+ );
105
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
106
+ $container-inner-content-section-width: var(
107
+ --#{root-defaults.$prefix}container-inner-content-section-width,
108
+ calc(
109
+ #{$container-content-section-width} -
110
+ #{$container-sidebar-left-section-width} -
111
+ #{$container-sidebar-right-section-width}
112
+ )
113
+ );
114
+ /* stylelint-enable scss/operator-no-newline-after */
@@ -0,0 +1,28 @@
1
+ // @graupl/core flex columns layout 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
+
11
+ // Flex columns selectors.
12
+ $flex-columns-selector-base: root-defaults.$component-selector-base !default;
13
+ $flex-columns-selector: "flex-columns" !default;
14
+ $flex-columns-column-selector-base: $flex-columns-selector-base !default;
15
+ $flex-columns-column-selector: "col-" !default;
16
+ $flex-columns-fill-selector-base: $flex-columns-selector-base !default;
17
+ $flex-columns-fill-selector: "fill" !default;
18
+ $flex-columns-screen-aware-separator: root-defaults.$screen-aware-selector-separator !default;
19
+ $flex-columns-container-aware-separator: root-defaults.$container-aware-selector-separator !default;
20
+ $flex-columns-screen-aware-selector-prefix: root-defaults.$screen-aware-selector-prefix !default;
21
+ $flex-columns-container-aware-selector-prefix: root-defaults.$container-aware-selector-prefix !default;
22
+
23
+ // Flex columns properties.
24
+ $flex-columns-min-count: 1 !default;
25
+ $flex-columns-max-count: 12 !default;
26
+ $flex-columns-size: auto !default;
27
+ $flex-columns-max-width: unset !default;
28
+ $flex-columns-container-type: "inline-size" !default;
@@ -0,0 +1,184 @@
1
+ // @graupl/core flex columns layout styles.
2
+ //
3
+ // This module provides the layout styles for the flex columns component.
4
+ //
5
+ // The flex columns component is a flex container that provides a responsive grid layout for content.
6
+ // The flex columns will adjust their sizes accordingly based on the classes applied to them.
7
+ //
8
+ // These are effectively bootstrap columns, but leaning more on the way flex natively works in the browser.
9
+ // This means that columns will size themselves taking the gap between them into account.
10
+ //
11
+ // The following classes are generated by default:
12
+ // - `.flex-columns`: The main flex columns component.
13
+ // - `.col-1`: Sets the size of a column in the flex columns component to 1.
14
+ // - `.col-2`: Sets the size of a column in the flex columns component to 2.
15
+ // - `.col-3`: Sets the size of a column in the flex columns component to 3.
16
+ // - `.col-4`: Sets the size of a column in the flex columns component to 4.
17
+ // - `.col-5`: Sets the size of a column in the flex columns component to 5.
18
+ // - `.col-6`: Sets the size of a column in the flex columns component to 6.
19
+ // - `.col-7`: Sets the size of a column in the flex columns component to 7.
20
+ // - `.col-8`: Sets the size of a column in the flex columns component to 8.
21
+ // - `.col-9`: Sets the size of a column in the flex columns component to 9.
22
+ // - `.col-10`: Sets the size of a column in the flex columns component to 10.
23
+ // - `.col-11`: Sets the size of a column in the flex columns component to 11.
24
+ // - `.col-12`: Sets the size of a column in the flex columns component to 12.
25
+ // - `.fill`: A class to set a column to fill the remaining space.
26
+ // - `.[screen-name]:col-#`: A class to set the size of a column at a specific screen size.
27
+ // - `.[container-name]:col-#`: A class to set the size of a column at a specific container size.
28
+ //
29
+ // The following custom properties control the generated classes:
30
+ // - `--graupl-flex-columns-row-gap`: The gap between the rows of the flex columns.
31
+ // - `--graupl-flex-columns-column-gap`: The gap between the columns of the flex columns.
32
+ // - `--graupl-flex-columns-size`: The size of a column.
33
+ // - `--graupl-flex-columns-max-width`: The maximum width of a column.
34
+ //
35
+ // The following variables control the generated classes:
36
+ // - `$flex-columns-selector-base`: The base selector for the flex columns component.
37
+ // - `$flex-columns-selector`: The selector for the flex columns component.
38
+ // - `$flex-columns-column-selector-base`: The base selector for the column class.
39
+ // - `$flex-columns-column-selector`: The selector for the column class.
40
+ // - `$flex-columns-fill-selector-base`: The base selector for the fill class.
41
+ // - `$flex-columns-fill-selector`: The selector for the fill class.
42
+ // - `$flex-columns-screen-aware-separator`: The separator for the screen-aware column class.
43
+ // - `$flex-columns-container-aware-separator`: The separator for the container-aware column class.
44
+ // - `$flex-columns-screen-aware-selector-prefix`: The prefix for the screen-aware column class.
45
+ // - `$flex-columns-container-aware-selector-prefix`: The prefix for the container-aware column class.
46
+ // - `$flex-columns-min-count`: The minimum number of columns used to generate `.col-#` classes.
47
+ // - `$flex-columns-max-count`: The maximum number of columns used to generate `.col-#` classes.
48
+ // - `$flex-columns-size`: The default size of a column.
49
+ // - `$flex-columns-max-width`: The default maximum width of a column.
50
+ //
51
+ // @example
52
+ // <div class="flex-columns">
53
+ // <div class="col-3">Column 1</div>
54
+ // <div class="col-6">Column 2</div>
55
+ // <div class="col-3">Column 3</div>
56
+ // </div>
57
+ //
58
+ // @example
59
+ // <div class="flex-columns">
60
+ // <div class="col-3">Column 1</div>
61
+ // <div class="col-3 fill">Column 2</div>
62
+ // <div class="col-3">Column 3</div>
63
+ // </div>
64
+ //
65
+ // @example
66
+ // <div class="flex-columns">
67
+ // <div class="col-3 md:col-2">Column 1</div>
68
+ // <div class="col-6 md:col-8">Column 2</div>
69
+ // <div class="col-3 md:col-2">Column 3</div>
70
+ // </div>
71
+
72
+ @use "../../defaults" as root-defaults;
73
+ @use "../../mixins/layer" as *;
74
+ @use "../../mixins/screen";
75
+ @use "../../mixins/container";
76
+ @use "../../mixins/utility";
77
+ @use "defaults";
78
+ @use "sass:map";
79
+ @use "variables" as *;
80
+
81
+ @include layer(layout) {
82
+ // `.flex-columns`
83
+ #{defaults.$flex-columns-selector-base}#{defaults.$flex-columns-selector} {
84
+ display: flex;
85
+ flex-wrap: wrap;
86
+ gap: $flex-columns-row-gap $flex-columns-column-gap;
87
+ container-type: $flex-columns-container-type;
88
+
89
+ > * {
90
+ flex: 1 1 $flex-columns-size;
91
+ max-width: $flex-columns-max-width;
92
+ }
93
+
94
+ // `.fill`
95
+ #{defaults.$flex-columns-fill-selector-base}#{defaults.$flex-columns-fill-selector} {
96
+ --#{root-defaults.$prefix}flex-columns-max-width: unset;
97
+ }
98
+ }
99
+
100
+ @for $i
101
+ from defaults.$flex-columns-min-count
102
+ through defaults.$flex-columns-max-count
103
+ {
104
+ // e.g. `.col-1` or `.col-12`
105
+ #{defaults.$flex-columns-column-selector-base}#{defaults.$flex-columns-column-selector}#{$i} {
106
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
107
+ --#{root-defaults.$prefix}flex-columns-size: calc(
108
+ (100% / #{defaults.$flex-columns-max-count} * #{$i}) -
109
+ #{$flex-columns-column-gap}
110
+ );
111
+ --#{root-defaults.$prefix}flex-columns-max-width: calc(
112
+ 100% / #{defaults.$flex-columns-max-count} * #{$i}
113
+ );
114
+ /* stylelint-enable scss/operator-no-newline-after */
115
+ container-type: $flex-columns-container-type;
116
+ }
117
+
118
+ @include container.trigger(force-single-column) {
119
+ // e.g. `.col-1` or `.col-12`
120
+ #{defaults.$flex-columns-column-selector-base}#{defaults.$flex-columns-column-selector}#{$i} {
121
+ --#{root-defaults.$prefix}flex-columns-size: 100%;
122
+ --#{root-defaults.$prefix}flex-columns-max-width: auto;
123
+ }
124
+ }
125
+ }
126
+
127
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
128
+ @for $i
129
+ from defaults.$flex-columns-min-count
130
+ through defaults.$flex-columns-max-count
131
+ {
132
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
133
+ @include utility.create-mapped(
134
+ // e.g. `.md:col-1` or `.xl:col-12`
135
+ #{defaults.$flex-columns-column-selector-base}#{defaults.$flex-columns-screen-aware-selector-prefix}#{$screen-name}#{defaults.$flex-columns-screen-aware-separator}#{defaults.$flex-columns-column-selector}#{$i},
136
+ (
137
+ --#{root-defaults.$prefix}flex-columns-size: calc(
138
+ (100% / #{defaults.$flex-columns-max-count} * #{$i}) -
139
+ #{$flex-columns-column-gap}
140
+ ),
141
+ --#{root-defaults.$prefix}flex-columns-max-width: calc(
142
+ 100% / #{defaults.$flex-columns-max-count} * #{$i}
143
+ )
144
+ ),
145
+ $screen: $screen-name
146
+ ) {
147
+ // `&.fill`
148
+ &#{defaults.$flex-columns-fill-selector-base}#{defaults.$flex-columns-fill-selector} {
149
+ --#{root-defaults.$prefix}flex-columns-max-width: unset;
150
+ }
151
+ }
152
+ /* stylelint-enable scss/operator-no-newline-after */
153
+ }
154
+ }
155
+
156
+ @each $container-name in map.keys(root-defaults.$container-sizes) {
157
+ @for $i
158
+ from defaults.$flex-columns-min-count
159
+ through defaults.$flex-columns-max-count
160
+ {
161
+ /* stylelint-disable scss/operator-no-newline-after -- Prettier wants to format it this way. */
162
+ @include utility.create-mapped(
163
+ // e.g. `.cq:md:col-1` or `.cq:xl:col-12`
164
+ #{defaults.$flex-columns-column-selector-base}#{defaults.$flex-columns-container-aware-selector-prefix}#{$container-name}#{defaults.$flex-columns-container-aware-separator}#{defaults.$flex-columns-column-selector}#{$i},
165
+ (
166
+ --#{root-defaults.$prefix}flex-columns-size: calc(
167
+ (100% / #{defaults.$flex-columns-max-count} * #{$i}) -
168
+ #{$flex-columns-column-gap}
169
+ ),
170
+ --#{root-defaults.$prefix}flex-columns-max-width: calc(
171
+ 100% / #{defaults.$flex-columns-max-count} * #{$i}
172
+ )
173
+ ),
174
+ $container: $container-name
175
+ ) {
176
+ // `&.fill`
177
+ &#{defaults.$flex-columns-fill-selector-base}#{defaults.$flex-columns-fill-selector} {
178
+ --#{root-defaults.$prefix}flex-columns-max-width: unset;
179
+ }
180
+ }
181
+ /* stylelint-enable scss/operator-no-newline-after */
182
+ }
183
+ }
184
+ }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl flex columns layout variables.
1
+ // @graupl/core flex columns layout variables.
2
2
  //
3
3
  // These values are to be used to directly style components and provide a
4
4
  // cleaner way to reference custom properties.
@@ -24,3 +24,7 @@ $flex-columns-max-width: var(
24
24
  --#{root-defaults.$prefix}flex-columns-max-width,
25
25
  #{defaults.$flex-columns-max-width}
26
26
  );
27
+ $flex-columns-container-type: var(
28
+ --#{root-defaults.$prefix}flex-columns-container-type,
29
+ #{defaults.$flex-columns-container-type}
30
+ );
@@ -1,4 +1,4 @@
1
- // @graupl/graupl animation media query mixins.
1
+ // @graupl/core animation media query mixins.
2
2
 
3
3
  // A media query for targeting users who have not requested reduced motion.
4
4
  @mixin on {
@@ -0,0 +1,80 @@
1
+ // @graupl/core container mixins.
2
+ //
3
+ // A series of mixins to generate breakpoints.
4
+
5
+ // @use "../defaults" as root-defaults;
6
+ @use "../functions/container";
7
+ @use "../defaults" as root-defaults;
8
+ @use "sass:map";
9
+ @use "sass:meta";
10
+
11
+ // A mixin to generate a minimum container width media query.
12
+ @mixin up($size) {
13
+ $container-size: container.min($size);
14
+
15
+ @container (#{$container-size} <= width) {
16
+ @content;
17
+ }
18
+ }
19
+
20
+ // A mixin to generate a maximum container width media query.
21
+ @mixin down($size) {
22
+ $container-size: container.max($size);
23
+
24
+ @container (width <= #{$container-size}) {
25
+ @content;
26
+ }
27
+ }
28
+
29
+ // A mixin to generate a range of container widths media query.
30
+ @mixin between($min, $max) {
31
+ $container-size: container.range($min, $max);
32
+ $min: map.get($container-size, "min");
33
+ $max: map.get($container-size, "max");
34
+
35
+ @container (#{$min} <= width <= #{$max}) {
36
+ @content;
37
+ }
38
+ }
39
+
40
+ @mixin only($size) {
41
+ @include between($size, $size) {
42
+ @content;
43
+ }
44
+ }
45
+
46
+ @mixin trigger($trigger) {
47
+ @if not map.has-key(root-defaults.$container-size-triggers, $trigger) {
48
+ @error "The container size trigger \"#{$trigger}\" does not exist.";
49
+ }
50
+
51
+ $container-size-trigger: map.get(
52
+ root-defaults.$container-size-triggers,
53
+ $trigger
54
+ );
55
+
56
+ @if not map.has-key($container-size-trigger, "mixin") {
57
+ @error "The container size trigger \"#{$trigger}\" does not have a mixin key.";
58
+ }
59
+
60
+ @if not map.has-key($container-size-trigger, "args") {
61
+ @error "The container size trigger \"#{$trigger}\" does not have an args key.";
62
+ }
63
+
64
+ $mixin-name: map.get($container-size-trigger, "mixin");
65
+ $mixin-args: map.get($container-size-trigger, "args");
66
+
67
+ @if not meta.mixin-exists($mixin-name) {
68
+ @error "The mixin \"#{$mixin-name}\" does not exist.";
69
+ }
70
+
71
+ $mixin: meta.get-mixin($mixin-name);
72
+
73
+ @if meta.accepts-content($mixin) {
74
+ @include meta.apply($mixin, $mixin-args...) {
75
+ @content;
76
+ }
77
+ } @else {
78
+ @warn "The mixin \"#{$mixin-name}\" does not accept content.";
79
+ }
80
+ }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl layer mixins.
1
+ // @graupl/core layer mixins.
2
2
  //
3
3
  // These should be used to define the layers of your components to ensure that
4
4
  // they are output in the correct order in the final compiled CSS.
@@ -6,7 +6,11 @@
6
6
  @use "../defaults" as root-defaults;
7
7
 
8
8
  @mixin layer($layer) {
9
- @layer #{root-defaults.$prefix}.#{$layer} {
9
+ @if root-defaults.$use-layers {
10
+ @layer #{root-defaults.$id}.#{$layer} {
11
+ @content;
12
+ }
13
+ } @else {
10
14
  @content;
11
15
  }
12
16
  }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl screen mixins.
1
+ // @graupl/core screen mixins.
2
2
  //
3
3
  // A series of mixins to generate breakpoints.
4
4
 
@@ -6,7 +6,6 @@
6
6
  @use "../functions/screen";
7
7
  @use "../defaults" as root-defaults;
8
8
  @use "sass:map";
9
- @use "sass:list";
10
9
  @use "sass:meta";
11
10
 
12
11
  // A mixin to generate a minimum screen width media query.
@@ -45,12 +44,34 @@
45
44
  }
46
45
 
47
46
  @mixin trigger($trigger) {
47
+ @if not map.has-key(root-defaults.$screen-size-triggers, $trigger) {
48
+ @error "The screen size trigger \"#{$trigger}\" does not exist.";
49
+ }
50
+
48
51
  $screen-size-trigger: map.get(root-defaults.$screen-size-triggers, $trigger);
52
+
53
+ @if not map.has-key($screen-size-trigger, "mixin") {
54
+ @error "The screen size trigger \"#{$trigger}\" does not have a mixin key.";
55
+ }
56
+
57
+ @if not map.has-key($screen-size-trigger, "args") {
58
+ @error "The screen size trigger \"#{$trigger}\" does not have an args key.";
59
+ }
60
+
49
61
  $mixin-name: map.get($screen-size-trigger, "mixin");
50
62
  $mixin-args: map.get($screen-size-trigger, "args");
63
+
64
+ @if not meta.mixin-exists($mixin-name) {
65
+ @error "The mixin \"#{$mixin-name}\" does not exist.";
66
+ }
67
+
51
68
  $mixin: meta.get-mixin($mixin-name);
52
69
 
53
- @include meta.apply($mixin, $mixin-args...) {
54
- @content;
70
+ @if meta.accepts-content($mixin) {
71
+ @include meta.apply($mixin, $mixin-args...) {
72
+ @content;
73
+ }
74
+ } @else {
75
+ @warn "The mixin \"#{$mixin-name}\" does not accept content.";
55
76
  }
56
77
  }
@@ -0,0 +1,18 @@
1
+ // @graupl/core state mixins.
2
+ //
3
+ // A series of mixins to tie styles to a state.
4
+
5
+ @use "../defaults" as root-defaults;
6
+ @use "sass:map";
7
+
8
+ /// Applies styles to a specific state.
9
+ ///
10
+ /// @param {string} $state
11
+ /// The name of the state to apply the styles to.
12
+ @mixin state($state) {
13
+ @each $selector in map.get(root-defaults.$state-selectors, $state) {
14
+ &#{$selector} {
15
+ @content;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,15 @@
1
+ // @graupl/core theme mixins.
2
+ //
3
+ // A series of mixins to tie styles to a theme-mode.
4
+
5
+ @use "../theme/color/defaults" as color-defaults;
6
+
7
+ /// Applies styles to a specific theme mode.
8
+ ///
9
+ /// @param {string} $theme-name
10
+ /// The name of the theme mode to apply the styles to.
11
+ @mixin theme($theme-name) {
12
+ #{color-defaults.$theme-selector-prefix}#{$theme-name}#{color-defaults.$theme-selector-suffix} {
13
+ @content;
14
+ }
15
+ }