@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,38 @@
1
+ // @graupl/core container functions.
2
+ //
3
+ // A series of functions to determine ranges of container sizes.
4
+
5
+ @use "../defaults" as root-defaults;
6
+ @use "sass:map";
7
+ @use "sass:list";
8
+
9
+ @function min($size) {
10
+ @if not map.has-key(root-defaults.$container-sizes, $size) {
11
+ @error "The container size \"#{$size}\" does not exist.";
12
+ }
13
+
14
+ $container-size: map.get(root-defaults.$container-sizes, $size);
15
+
16
+ @return $container-size;
17
+ }
18
+
19
+ @function max($size) {
20
+ @if not map.has-key(root-defaults.$container-sizes, $size) {
21
+ @error "The container size \"#{$size}\" does not exist.";
22
+ }
23
+
24
+ $keys: map.keys(root-defaults.$container-sizes);
25
+ $index: list.index($keys, "#{$size}");
26
+ $key: list.nth($keys, $index + 1);
27
+ $container-size: map.get(root-defaults.$container-sizes, $key);
28
+ $container-size: $container-size - 1;
29
+
30
+ @return $container-size;
31
+ }
32
+
33
+ @function range($min, $max) {
34
+ $min-size: min($min);
35
+ $max-size: max($max);
36
+
37
+ @return (min: $min-size, max: $max-size);
38
+ }
@@ -0,0 +1,36 @@
1
+ // @graupl/core important functions.
2
+ //
3
+ // A function to determine if the !important flag should be added to a property.
4
+
5
+ @use "../defaults";
6
+
7
+ /// Determine if an important flag is required and insert it into a property value.
8
+ ///
9
+ /// @param {String} $value
10
+ /// The value to insert the important flag into.
11
+ /// @param {Boolean} $use-important
12
+ /// A flag to determine if the important flag should be overridden.
13
+ ///
14
+ /// @return {String}
15
+ /// The value with the important flag added.
16
+ @function insert($value, $override: null) {
17
+ // If override is set, use it.
18
+ /* stylelint-disable scss/at-if-no-null */
19
+ @if $override != null {
20
+ // Convert the override to a string.
21
+ // We have to do this because true/false values are weird in Sass.
22
+ // Using the raw boolean value, it will always return true for some reason.
23
+ @if "#{$override}" == "true" {
24
+ @return #{$value} !important;
25
+ } @else {
26
+ @return #{$value};
27
+ }
28
+ }
29
+ /* stylelint-enable scss/at-if-no-null */
30
+
31
+ @if defaults.$use-important {
32
+ @return #{$value} !important;
33
+ }
34
+
35
+ @return #{$value};
36
+ }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl screen functions.
1
+ // @graupl/core screen functions.
2
2
  //
3
3
  // A series of functions to determine ranges of screen sizes.
4
4
 
@@ -7,12 +7,20 @@
7
7
  @use "sass:list";
8
8
 
9
9
  @function min($size) {
10
+ @if not map.has-key(root-defaults.$screen-sizes, $size) {
11
+ @error "The screen size \"#{$size}\" does not exist.";
12
+ }
13
+
10
14
  $screen-size: map.get(root-defaults.$screen-sizes, $size);
11
15
 
12
16
  @return $screen-size;
13
17
  }
14
18
 
15
19
  @function max($size) {
20
+ @if not map.has-key(root-defaults.$screen-sizes, $size) {
21
+ @error "The screen size \"#{$size}\" does not exist.";
22
+ }
23
+
16
24
  $keys: map.keys(root-defaults.$screen-sizes);
17
25
  $index: list.index($keys, "#{$size}");
18
26
  $key: list.nth($keys, $index + 1);
@@ -1,4 +1,4 @@
1
- // @graupl/graupl theme functions.
1
+ // @graupl/core theme functions.
2
2
  //
3
3
  // Functions to help with getting information about the theme.
4
4
 
@@ -6,7 +6,7 @@
6
6
  @use "../theme/color/variables" as color;
7
7
 
8
8
  // A function to get the specific theme shades.
9
- @function get($color, $shade, $theme: active) {
9
+ @function get($color, $shade: null, $theme: active) {
10
10
  @if $shade == transparent or $color == transparent {
11
11
  @return transparent;
12
12
  }
@@ -0,0 +1,28 @@
1
+ // @graupl/core utility functions.
2
+ //
3
+ // Functions to help generate utility classes.
4
+
5
+ @use "sass:map";
6
+
7
+ /// Convert a property and value to a map.
8
+ ///
9
+ /// This mixin is used internally.
10
+ ///
11
+ /// @param {string|List} $property
12
+ /// The property/properties to convert to keys.
13
+ /// @param {string} $value
14
+ /// The value to use for keys.
15
+ @function convert-property-values-to-map($property, $value) {
16
+ $map: ();
17
+
18
+ @each $prop in $property {
19
+ $map: map.merge(
20
+ $map,
21
+ (
22
+ $prop: $value,
23
+ )
24
+ );
25
+ }
26
+
27
+ @return $map;
28
+ }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl layout styles.
1
+ // @graupl/core layout styles.
2
2
 
3
3
  @forward "container";
4
4
  @forward "columns";
@@ -1,4 +1,4 @@
1
- // @graupl/graupl columns layout default values.
1
+ // @graupl/core columns layout default values.
2
2
  //
3
3
  // Generally, these should not be used directly when styling components unless a static value is needed.
4
4
  // They are mainly used to provide class selectors, fallbacks for custom properties, or loop values.
@@ -6,10 +6,15 @@
6
6
  // They should not be used to define direct property values (i.e. font-size, color, etc.).
7
7
  // Those should be defined as custom properties in the `_variables.scss` file.
8
8
 
9
+ @use "../../defaults" as root-defaults;
10
+
9
11
  // Columns selectors.
10
- $columns-selector: ".columns" !default;
11
- $columns-count-selector-prefix: ".count-" !default;
12
- $columns-span-selector-prefix: ".span-" !default;
12
+ $columns-selector-base: root-defaults.$component-selector-base !default;
13
+ $columns-selector: "columns" !default;
14
+ $columns-count-selector-base: $columns-selector-base !default;
15
+ $columns-count-selector-prefix: "count-" !default;
16
+ $columns-span-selector-base: $columns-selector-base !default;
17
+ $columns-span-selector-prefix: "span-" !default;
13
18
 
14
19
  // Columns properties.
15
20
  $columns-max-width: 1fr !default;
@@ -0,0 +1,137 @@
1
+ // @graupl/core columns layout styles.
2
+ //
3
+ // This module provides the layout styles for the columns component.
4
+ //
5
+ // The columns component is a grid container that provides a responsive grid layout for content.
6
+ // The columns will automatically adjust their size and number of columns based on the available space.
7
+ //
8
+ // Nesting a columns component directly inside of another columns component will implement a subgrid
9
+ // area. In standard usage, this effectively locks the child columns to be a single column layout.
10
+ // This happens because the maximum width allowed for columns uses `--graupl-content-max-width` to calculate
11
+ // the columns widths, not the columns' parent width. This works as designed.
12
+ //
13
+ // At a certain breakpoint, columns will be forced to be a single column layout to avoid horizontal bleeding.
14
+ // This is controlled by the `force-single-column` screen trigger.
15
+ //
16
+ // The following classes are generated by default:
17
+ // - `.columns`: The main columns component.
18
+ // - `.count-1`: Sets the number of columns in the columns component to 1.
19
+ // - `.count-2`: Sets the number of columns in the columns component to 2.
20
+ // - `.count-3`: Sets the number of columns in the columns component to 3.
21
+ // - `.count-4`: Sets the number of columns in the columns component to 4.
22
+ // - `.count-5`: Sets the number of columns in the columns component to 5.
23
+ // - `.count-6`: Sets the number of columns in the columns component to 6.
24
+ // - `.span-1`: Sets the span of a column in the columns component to 1.
25
+ // - `.span-2`: Sets the span of a column in the columns component to 2.
26
+ // - `.span-3`: Sets the span of a column in the columns component to 3.
27
+ // - `.span-4`: Sets the span of a column in the columns component to 4.
28
+ // - `.span-5`: Sets the span of a column in the columns component to 5.
29
+ // - `.span-6`: Sets the span of a column in the columns component to 6.
30
+ //
31
+ // The following custom properties control the generated classes:
32
+ // - `--graupl-columns-row-gap`: The gap between the rows of the columns.
33
+ // - `--graupl-columns-column-gap`: The gap between the columns of the columns.
34
+ // - `--graupl-columns-count`: The maximum number of columns.
35
+ // - `--graupl-columns-content-max-width`: The maximum width of the content inside the columns.
36
+ // - `--graupl-columns-min-width`: The minimum width of each column.
37
+ // - `--graupl-columns-max-width`: The maximum width of each column.
38
+ // - `--graupl-columns-grid-template-columns`: The grid template columns for the columns.
39
+ // - `--graupl-columns-span`: The span of each column.
40
+ //
41
+ // The following variables control the generated classes:
42
+ // - `$columns-selector-base`: The base selector for the columns component.
43
+ // - `$columns-selector`: The selector for the columns component.
44
+ // - `$columns-count-selector-base`: The base selector for the count class.
45
+ // - `$columns-count-selector-prefix`: The prefix for the count class.
46
+ // - `$columns-span-selector-base`: The base selector for the span class.
47
+ // - `$columns-span-selector-prefix`: The prefix for the span class.
48
+ // - `$columns-max-width`: The maximum width of each column.
49
+ // - `$columns-count`: The default number of columns.
50
+ // - `$columns-min-count`: The minimum number of columns used to generate `.count-#` classes.
51
+ // - `$columns-max-count`: The maximum number of columns used to generate `.count-#` classes.
52
+ // - `$columns-span`: The default span of each column.
53
+ //
54
+ // @example
55
+ // <div class="columns">
56
+ // <div>Column 1</div>
57
+ // <div>Column 2</div>
58
+ // <div>Column 3</div>
59
+ // </div>
60
+ //
61
+ // @example
62
+ // <div class="columns count-4">
63
+ // <div>Column 1</div>
64
+ // <div class="span-2">Column 2</div>
65
+ // <div>Column 3</div>
66
+ // </div>
67
+
68
+ @use "variables" as *;
69
+ @use "defaults";
70
+ @use "../../defaults" as root-defaults;
71
+ @use "../../mixins/layer" as *;
72
+ @use "../../mixins/container";
73
+
74
+ @include layer(layout) {
75
+ // .columns
76
+ #{defaults.$columns-selector-base}#{defaults.$columns-selector} {
77
+ display: grid;
78
+ grid-template-columns: $columns-grid-template-columns;
79
+ gap: $columns-row-gap $columns-column-gap;
80
+
81
+ > * {
82
+ grid-column: span $columns-span;
83
+ }
84
+
85
+ // Set any child columns to subgrid.
86
+ // This is necessary to avoid breaking the layout.
87
+ //
88
+ // .columns
89
+ #{defaults.$columns-selector-base}#{defaults.$columns-selector} {
90
+ grid-template-columns: subgrid;
91
+ }
92
+ }
93
+
94
+ @for $i from defaults.$columns-min-count through defaults.$columns-max-count {
95
+ // .count-#{$i}
96
+ #{defaults.$columns-count-selector-base}#{defaults.$columns-count-selector-prefix}#{$i} {
97
+ --#{root-defaults.$prefix}columns-count: #{$i};
98
+
99
+ // For span values bigger than the actual column count, set them to the
100
+ // maximum column count so they don't break the layout.
101
+ @for $j from $i + 1 through defaults.$columns-max-count {
102
+ // .span-#{$j}
103
+ #{defaults.$columns-span-selector-base}#{defaults.$columns-span-selector-prefix}#{$j} {
104
+ --#{root-defaults.$prefix}columns-span: #{$i};
105
+ }
106
+ }
107
+ }
108
+
109
+ // .span-#{$i}
110
+ #{defaults.$columns-span-selector-base}#{defaults.$columns-span-selector-prefix}#{$i} {
111
+ --#{root-defaults.$prefix}columns-span: #{$i};
112
+ }
113
+ }
114
+
115
+ // Disable columns on small screens to avoid horizontal bleeding.
116
+ @include container.trigger(force-single-column) {
117
+ // .columns
118
+ #{defaults.$columns-selector-base}#{defaults.$columns-selector} {
119
+ --#{root-defaults.$prefix}columns-min-width: #{defaults.$columns-max-width};
120
+
121
+ > * {
122
+ --#{root-defaults.$prefix}columns-span: 1;
123
+ }
124
+
125
+ // All spans should be set to 1 to avoid adding columns.
126
+ @for $i
127
+ from defaults.$columns-min-count
128
+ through defaults.$columns-max-count
129
+ {
130
+ // .span-#{$i}
131
+ #{defaults.$columns-span-selector-base}#{defaults.$columns-span-selector-prefix}#{$i} {
132
+ --#{root-defaults.$prefix}columns-span: 1;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
@@ -1,4 +1,4 @@
1
- // @graupl/graupl columns layout variables.
1
+ // @graupl/core 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.
@@ -20,6 +20,10 @@ $columns-count: var(
20
20
  --#{root-defaults.$prefix}columns-count,
21
21
  #{defaults.$columns-count}
22
22
  );
23
+ $columns-content-max-width: var(
24
+ --#{root-defaults.$prefix}columns-content-max-width,
25
+ #{root-variables.$content-max-width}
26
+ );
23
27
 
24
28
  // Calculate the min-width of each column based on the content-max-width and column-gap.
25
29
  // We take the maximum width of the page and subtract the gap width multiplied by the number of
@@ -30,7 +34,7 @@ $columns-min-width: var(
30
34
  --#{root-defaults.$prefix}columns-min-width,
31
35
  calc(
32
36
  (
33
- #{root-variables.$content-max-width} - #{$columns-column-gap} *
37
+ #{$columns-content-max-width} - #{$columns-column-gap} *
34
38
  (#{$columns-count} - 1)
35
39
  ) /
36
40
  #{$columns-count}
@@ -0,0 +1,35 @@
1
+ // @graupl/core container 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
+ // Container selectors.
12
+ $container-selector-base: root-defaults.$component-selector-base !default;
13
+ $container-selector: "container" !default;
14
+ $container-breakout-selector-base: $container-selector-base !default;
15
+ $container-breakout-selector: "breakout" !default;
16
+ $container-feature-selector-base: $container-selector-base !default;
17
+ $container-feature-selector: "feature" !default;
18
+ $container-full-width-selector-base: $container-selector-base !default;
19
+ $container-full-width-selector: "full-width" !default;
20
+ $container-contain-selector-base: $container-selector-base !default;
21
+ $container-contain-selector: "contain" !default;
22
+ $container-sidebars-selector-base: $container-selector-base !default;
23
+ $container-sidebars-selector: "sidebars" !default;
24
+ $container-content-selector-base: $container-selector-base !default;
25
+ $container-content-selector: "content" !default;
26
+ $container-sidebar-selector-base: $container-selector-base !default;
27
+ $container-sidebar-selector: "sidebar" !default;
28
+ $container-left-selector-suffix: "-left" !default;
29
+ $container-right-selector-suffix: "-right" !default;
30
+ $container-inner-selector-prefix: "inner-" !default;
31
+
32
+ // Container properties.
33
+ $container-breakout-width: 15ch !default;
34
+ $container-feature-width: 20ch !default;
35
+ $container-sidebar-width: 20ch !default;