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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/.github/workflows/codeql-analysis.yml +3 -3
  2. package/.husky/commit-msg +0 -1
  3. package/.husky/pre-commit +0 -1
  4. package/CHANGELOG.md +153 -0
  5. package/build.js +7 -0
  6. package/dist/css/base/button.css +2 -0
  7. package/dist/css/base/button.css.map +1 -0
  8. package/dist/css/base/form.css +2 -0
  9. package/dist/css/base/form.css.map +1 -0
  10. package/dist/css/base/link.css +2 -0
  11. package/dist/css/base/link.css.map +1 -0
  12. package/dist/css/base/table.css +2 -0
  13. package/dist/css/base/table.css.map +1 -0
  14. package/dist/css/base.css +2 -0
  15. package/dist/css/base.css.map +1 -0
  16. package/dist/css/component/accordion.css +2 -0
  17. package/dist/css/component/accordion.css.map +1 -0
  18. package/dist/css/component/alert.css +2 -0
  19. package/dist/css/component/alert.css.map +1 -0
  20. package/dist/css/component/card.css +2 -0
  21. package/dist/css/component/card.css.map +1 -0
  22. package/dist/css/component/carousel.css +2 -0
  23. package/dist/css/component/carousel.css.map +1 -0
  24. package/dist/{component → css/component}/input-group.css +1 -1
  25. package/dist/css/component/input-group.css.map +1 -0
  26. package/dist/css/component/menu.css +2 -0
  27. package/dist/css/component/menu.css.map +1 -0
  28. package/dist/css/component/navigation.css +2 -0
  29. package/dist/css/component/navigation.css.map +1 -0
  30. package/dist/css/component.css +2 -0
  31. package/dist/css/component.css.map +1 -0
  32. package/dist/css/graupl.css +2 -0
  33. package/dist/css/graupl.css.map +1 -0
  34. package/dist/css/init.css +2 -0
  35. package/dist/css/init.css.map +1 -0
  36. package/dist/css/layout/columns.css +2 -0
  37. package/dist/css/layout/columns.css.map +1 -0
  38. package/dist/css/layout/container.css.map +1 -0
  39. package/dist/css/layout/flex-columns.css +2 -0
  40. package/dist/css/layout/flex-columns.css.map +1 -0
  41. package/dist/css/layout.css +2 -0
  42. package/dist/css/layout.css.map +1 -0
  43. package/dist/css/normalize.css +2 -0
  44. package/dist/css/normalize.css.map +1 -0
  45. package/dist/css/state/focus.css +2 -0
  46. package/dist/css/state/focus.css.map +1 -0
  47. package/dist/css/state.css +2 -0
  48. package/dist/css/state.css.map +1 -0
  49. package/dist/css/theme/color.css +2 -0
  50. package/dist/css/theme/color.css.map +1 -0
  51. package/dist/css/theme/typography.css +2 -0
  52. package/dist/css/theme/typography.css.map +1 -0
  53. package/dist/css/theme.css +2 -0
  54. package/dist/css/theme.css.map +1 -0
  55. package/dist/css/utilities/alignment.css +2 -0
  56. package/dist/css/utilities/alignment.css.map +1 -0
  57. package/dist/{utilities/colors.css → css/utilities/color.css} +2 -2
  58. package/dist/css/utilities/color.css.map +1 -0
  59. package/dist/css/utilities/display.css +2 -0
  60. package/dist/css/utilities/display.css.map +1 -0
  61. package/dist/css/utilities/flex.css +2 -0
  62. package/dist/css/utilities/flex.css.map +1 -0
  63. package/dist/css/utilities/height.css +2 -0
  64. package/dist/css/utilities/height.css.map +1 -0
  65. package/dist/css/utilities/inset.css +2 -0
  66. package/dist/css/utilities/inset.css.map +1 -0
  67. package/dist/css/utilities/justification.css +2 -0
  68. package/dist/css/utilities/justification.css.map +1 -0
  69. package/dist/css/utilities/list.css +2 -0
  70. package/dist/css/utilities/list.css.map +1 -0
  71. package/dist/css/utilities/order.css +2 -0
  72. package/dist/css/utilities/order.css.map +1 -0
  73. package/dist/css/utilities/postion.css +2 -0
  74. package/dist/css/utilities/postion.css.map +1 -0
  75. package/dist/css/utilities/ratio.css +2 -0
  76. package/dist/css/utilities/ratio.css.map +1 -0
  77. package/dist/css/utilities/spacing.css +2 -0
  78. package/dist/css/utilities/spacing.css.map +1 -0
  79. package/dist/css/utilities/typography.css +2 -0
  80. package/dist/css/utilities/typography.css.map +1 -0
  81. package/dist/css/utilities/visibility.css +2 -0
  82. package/dist/css/utilities/visibility.css.map +1 -0
  83. package/dist/css/utilities/width.css +2 -0
  84. package/dist/css/utilities/width.css.map +1 -0
  85. package/dist/css/utilities.css +2 -0
  86. package/dist/css/utilities.css.map +1 -0
  87. package/dist/js/component/accordion.cjs.js +3 -0
  88. package/dist/js/component/accordion.esm.js +1289 -0
  89. package/dist/js/component/accordion.iife.js +3 -0
  90. package/dist/js/component/alert.cjs.js +3 -0
  91. package/dist/js/component/alert.esm.js +529 -0
  92. package/dist/js/component/alert.iife.js +3 -0
  93. package/dist/js/component/carousel.cjs.js +3 -0
  94. package/dist/js/component/carousel.esm.js +1110 -0
  95. package/dist/js/component/carousel.iife.js +3 -0
  96. package/dist/js/graupl.cjs.js +5 -0
  97. package/dist/js/graupl.esm.js +1462 -0
  98. package/dist/js/graupl.iife.js +5 -0
  99. package/docs/.vitepress/config.js +39 -12
  100. package/docs/components/alert.md +130 -0
  101. package/docs/components/button.md +84 -0
  102. package/docs/components/card.md +369 -0
  103. package/docs/components/index.md +1 -0
  104. package/docs/components/inputgroup.md +159 -0
  105. package/docs/components/menu.md +326 -0
  106. package/docs/components/navigation.md +158 -0
  107. package/docs/content.md +237 -0
  108. package/docs/defaults.md +121 -0
  109. package/docs/forms.md +79 -0
  110. package/docs/functions.md +9 -0
  111. package/docs/getting-started.md +1 -0
  112. package/docs/index.md +1 -7
  113. package/docs/introduction.md +22 -2
  114. package/docs/layout.md +200 -0
  115. package/docs/mixins.md +47 -0
  116. package/docs/state.md +67 -0
  117. package/docs/theme.md +258 -0
  118. package/docs/utilities.md +357 -0
  119. package/eslint.config.js +1 -0
  120. package/index.html +816 -327
  121. package/index.js +12 -0
  122. package/package.json +31 -10
  123. package/scss/base/button.scss +3 -0
  124. package/scss/base/form.scss +1 -1
  125. package/scss/base/link.scss +1 -1
  126. package/scss/base/table.scss +1 -1
  127. package/scss/base.scss +1 -1
  128. package/scss/component/accordion.scss +3 -0
  129. package/scss/component/alert.scss +3 -0
  130. package/scss/component/card.scss +3 -0
  131. package/scss/component/carousel.scss +3 -0
  132. package/scss/component/input-group.scss +1 -1
  133. package/scss/component/menu.scss +3 -0
  134. package/scss/component/navigation.scss +3 -0
  135. package/scss/component.scss +1 -1
  136. package/scss/graupl.scss +1 -3
  137. package/scss/init.scss +3 -0
  138. package/scss/layout/columns.scss +1 -1
  139. package/scss/layout/container.scss +1 -1
  140. package/scss/layout/flex-columns.scss +3 -0
  141. package/scss/layout.scss +1 -1
  142. package/scss/normalize.scss +3 -0
  143. package/scss/state/focus.scss +1 -1
  144. package/scss/state.scss +1 -1
  145. package/scss/theme/color.scss +1 -1
  146. package/scss/theme/typography.scss +1 -1
  147. package/scss/theme.scss +1 -1
  148. package/scss/utilities/alignment.scss +3 -0
  149. package/scss/utilities/color.scss +3 -0
  150. package/scss/utilities/display.scss +3 -0
  151. package/scss/utilities/flex.scss +3 -0
  152. package/scss/utilities/height.scss +3 -0
  153. package/scss/utilities/inset.scss +3 -0
  154. package/scss/utilities/justification.scss +3 -0
  155. package/scss/utilities/list.scss +3 -0
  156. package/scss/utilities/order.scss +3 -0
  157. package/scss/utilities/postion.scss +3 -0
  158. package/scss/utilities/ratio.scss +3 -0
  159. package/scss/utilities/spacing.scss +1 -1
  160. package/scss/utilities/typography.scss +1 -1
  161. package/scss/utilities/visibility.scss +3 -0
  162. package/scss/utilities/width.scss +3 -0
  163. package/scss/utilities.scss +1 -1
  164. package/src/js/accordion/Accordion.js +1163 -0
  165. package/src/js/accordion/AccordionItem.js +496 -0
  166. package/src/js/accordion/index.js +10 -0
  167. package/src/js/alert/Alert.js +581 -0
  168. package/src/js/alert/index.js +11 -0
  169. package/src/js/carousel/Carousel.js +1427 -0
  170. package/src/js/carousel/index.js +10 -0
  171. package/src/js/domHelpers.js +37 -0
  172. package/src/js/eventHandlers.js +39 -0
  173. package/src/js/navigation/index.js +36 -0
  174. package/src/js/storage.js +106 -0
  175. package/src/js/validate.js +225 -0
  176. package/src/scss/_defaults.scss +74 -5
  177. package/src/scss/_index.scss +4 -3
  178. package/src/scss/_init.scss +2 -2
  179. package/src/scss/_normalize.scss +197 -0
  180. package/src/scss/_variables.scss +7 -7
  181. package/src/scss/base/_index.scss +2 -1
  182. package/src/scss/base/button/_defaults.scss +60 -0
  183. package/src/scss/base/button/_index.scss +107 -0
  184. package/src/scss/base/button/_mixins.scss +166 -0
  185. package/src/scss/{component → base}/button/_variables.scss +64 -19
  186. package/src/scss/base/form/_defaults.scss +14 -4
  187. package/src/scss/base/form/_index.scss +23 -20
  188. package/src/scss/base/form/_variables.scss +14 -2
  189. package/src/scss/base/link/_defaults.scss +48 -5
  190. package/src/scss/base/link/_index.scss +111 -10
  191. package/src/scss/base/link/_variables.scss +234 -4
  192. package/src/scss/base/table/_defaults.scss +49 -4
  193. package/src/scss/base/table/_index.scss +102 -8
  194. package/src/scss/base/table/_variables.scss +75 -5
  195. package/src/scss/component/_index.scss +7 -3
  196. package/src/scss/component/accordion/_defaults.scss +40 -0
  197. package/src/scss/component/accordion/_index.scss +180 -0
  198. package/src/scss/component/accordion/_variables.scss +316 -0
  199. package/src/scss/component/alert/_defaults.scss +49 -0
  200. package/src/scss/component/alert/_index.scss +118 -0
  201. package/src/scss/component/alert/_variables.scss +173 -0
  202. package/src/scss/component/card/_defaults.scss +32 -0
  203. package/src/scss/component/card/_index.scss +178 -0
  204. package/src/scss/component/card/_variables.scss +186 -0
  205. package/src/scss/component/carousel/_defaults.scss +43 -0
  206. package/src/scss/component/carousel/_index.scss +188 -0
  207. package/src/scss/component/carousel/_variables.scss +104 -0
  208. package/src/scss/component/input-group/_defaults.scss +11 -4
  209. package/src/scss/component/input-group/_index.scss +13 -11
  210. package/src/scss/component/input-group/_variables.scss +4 -1
  211. package/src/scss/component/menu/_defaults.scss +66 -0
  212. package/src/scss/component/menu/_index.scss +305 -0
  213. package/src/scss/component/menu/_variables.scss +500 -0
  214. package/src/scss/component/navigation/_defaults.scss +29 -0
  215. package/src/scss/component/navigation/_index.scss +189 -0
  216. package/src/scss/component/navigation/_variables.scss +237 -0
  217. package/src/scss/functions/_important.scss +2 -0
  218. package/src/scss/functions/_screen.scss +30 -0
  219. package/src/scss/functions/_theme.scss +28 -7
  220. package/src/scss/layout/_index.scss +2 -1
  221. package/src/scss/layout/columns/_defaults.scss +12 -4
  222. package/src/scss/layout/columns/_index.scss +29 -7
  223. package/src/scss/layout/columns/_variables.scss +6 -2
  224. package/src/scss/layout/container/_defaults.scss +13 -4
  225. package/src/scss/layout/container/_index.scss +12 -7
  226. package/src/scss/layout/container/_variables.scss +4 -1
  227. package/src/scss/layout/flex-columns/_defaults.scss +18 -0
  228. package/src/scss/layout/flex-columns/_index.scss +80 -0
  229. package/src/scss/layout/flex-columns/_variables.scss +26 -0
  230. package/src/scss/mixins/_animation.scss +15 -0
  231. package/src/scss/mixins/_layer.scss +3 -5
  232. package/src/scss/mixins/_screen.scss +56 -0
  233. package/src/scss/mixins/_utility.scss +30 -0
  234. package/src/scss/mixins/_visually-hidden.scss +20 -0
  235. package/src/scss/state/_index.scss +1 -1
  236. package/src/scss/state/focus/_defaults.scss +6 -4
  237. package/src/scss/state/focus/_index.scss +7 -7
  238. package/src/scss/state/focus/_mixins.scss +15 -0
  239. package/src/scss/state/focus/_variables.scss +6 -2
  240. package/src/scss/theme/_index.scss +1 -1
  241. package/src/scss/theme/color/_defaults.scss +101 -19
  242. package/src/scss/theme/color/_index.scss +17 -17
  243. package/src/scss/theme/color/_variables.scss +72 -64
  244. package/src/scss/theme/typography/_defaults.scss +7 -5
  245. package/src/scss/theme/typography/_index.scss +1 -1
  246. package/src/scss/theme/typography/_variables.scss +11 -7
  247. package/src/scss/utilities/_index.scss +14 -2
  248. package/src/scss/utilities/alignment/_defaults.scss +62 -0
  249. package/src/scss/utilities/alignment/_index.scss +75 -0
  250. package/src/scss/utilities/alignment/_variables.scss +6 -0
  251. package/src/scss/utilities/color/_defaults.scss +35 -0
  252. package/src/scss/utilities/color/_index.scss +91 -0
  253. package/src/scss/utilities/color/_variables.scss +6 -0
  254. package/src/scss/utilities/display/_defaults.scss +32 -0
  255. package/src/scss/utilities/display/_index.scss +61 -0
  256. package/src/scss/utilities/display/_variables.scss +6 -0
  257. package/src/scss/utilities/flex/_defaults.scss +63 -0
  258. package/src/scss/utilities/flex/_index.scss +71 -0
  259. package/src/scss/utilities/flex/_variables.scss +6 -0
  260. package/src/scss/utilities/height/_defaults.scss +41 -0
  261. package/src/scss/utilities/height/_index.scss +98 -0
  262. package/src/scss/utilities/height/_variables.scss +6 -0
  263. package/src/scss/utilities/inset/_defaults.scss +41 -0
  264. package/src/scss/utilities/inset/_index.scss +37 -0
  265. package/src/scss/utilities/inset/_variables.scss +6 -0
  266. package/src/scss/utilities/justification/_defaults.scss +59 -0
  267. package/src/scss/utilities/justification/_index.scss +75 -0
  268. package/src/scss/utilities/justification/_variables.scss +6 -0
  269. package/src/scss/utilities/list/_defaults.scss +39 -0
  270. package/src/scss/utilities/list/_index.scss +56 -0
  271. package/src/scss/utilities/list/_variables.scss +6 -0
  272. package/src/scss/utilities/order/_defaults.scss +22 -0
  273. package/src/scss/utilities/order/_index.scss +63 -0
  274. package/src/scss/utilities/order/_variables.scss +6 -0
  275. package/src/scss/utilities/position/_defaults.scss +26 -0
  276. package/src/scss/utilities/position/_index.scss +37 -0
  277. package/src/scss/utilities/position/_variables.scss +6 -0
  278. package/src/scss/utilities/ratio/_defaults.scss +28 -0
  279. package/src/scss/utilities/ratio/_index.scss +52 -0
  280. package/src/scss/utilities/ratio/_variables.scss +9 -0
  281. package/src/scss/utilities/spacing/_defaults.scss +9 -4
  282. package/src/scss/utilities/spacing/_index.scss +134 -29
  283. package/src/scss/utilities/spacing/_variables.scss +5 -2
  284. package/src/scss/utilities/typography/_defaults.scss +29 -4
  285. package/src/scss/utilities/typography/_index.scss +155 -23
  286. package/src/scss/utilities/typography/_variables.scss +5 -2
  287. package/src/scss/utilities/visibility/_defaults.scss +25 -0
  288. package/src/scss/utilities/visibility/_index.scss +36 -0
  289. package/src/scss/utilities/visibility/_variables.scss +6 -0
  290. package/src/scss/utilities/width/_defaults.scss +41 -0
  291. package/src/scss/utilities/width/_index.scss +98 -0
  292. package/src/scss/utilities/width/_variables.scss +6 -0
  293. package/stylelint.config.js +5 -0
  294. package/vite.config.js +57 -0
  295. package/dist/base/form.css +0 -2
  296. package/dist/base/form.css.map +0 -1
  297. package/dist/base/link.css +0 -2
  298. package/dist/base/link.css.map +0 -1
  299. package/dist/base/table.css +0 -2
  300. package/dist/base/table.css.map +0 -1
  301. package/dist/base.css +0 -2
  302. package/dist/base.css.map +0 -1
  303. package/dist/component/button.css +0 -2
  304. package/dist/component/button.css.map +0 -1
  305. package/dist/component/input-group.css.map +0 -1
  306. package/dist/component/table.css +0 -2
  307. package/dist/component/table.css.map +0 -1
  308. package/dist/component.css +0 -2
  309. package/dist/component.css.map +0 -1
  310. package/dist/graupl.css +0 -2
  311. package/dist/graupl.css.map +0 -1
  312. package/dist/layout/columns.css +0 -2
  313. package/dist/layout/columns.css.map +0 -1
  314. package/dist/layout/container.css.map +0 -1
  315. package/dist/layout.css +0 -2
  316. package/dist/layout.css.map +0 -1
  317. package/dist/state/focus.css +0 -2
  318. package/dist/state/focus.css.map +0 -1
  319. package/dist/state.css +0 -2
  320. package/dist/state.css.map +0 -1
  321. package/dist/theme/color.css +0 -2
  322. package/dist/theme/color.css.map +0 -1
  323. package/dist/theme/typography.css +0 -2
  324. package/dist/theme/typography.css.map +0 -1
  325. package/dist/theme.css +0 -2
  326. package/dist/theme.css.map +0 -1
  327. package/dist/utilities/colors.css.map +0 -1
  328. package/dist/utilities/spacing.css +0 -2
  329. package/dist/utilities/spacing.css.map +0 -1
  330. package/dist/utilities/typography.css +0 -2
  331. package/dist/utilities/typography.css.map +0 -1
  332. package/dist/utilities.css +0 -2
  333. package/dist/utilities.css.map +0 -1
  334. package/scss/component/button.scss +0 -3
  335. package/scss/component/table.scss +0 -3
  336. package/scss/utilities/colors.scss +0 -3
  337. package/src/scss/component/button/_defaults.scss +0 -39
  338. package/src/scss/component/button/_index.scss +0 -98
  339. package/src/scss/component/table/_defaults.scss +0 -30
  340. package/src/scss/component/table/_index.scss +0 -77
  341. package/src/scss/component/table/_variables.scss +0 -64
  342. package/src/scss/mixins/_media-queries.scss +0 -26
  343. package/src/scss/utilities/colors/_defaults.scss +0 -5
  344. package/src/scss/utilities/colors/_index.scss +0 -22
  345. package/src/scss/utilities/colors/_variables.scss +0 -3
  346. /package/dist/{layout → css/layout}/container.css +0 -0
@@ -0,0 +1,369 @@
1
+ # Card
2
+
3
+ Defaults
4
+
5
+ ```jsx
6
+ // Card selectors.
7
+ $card-selector: ".card" !default;
8
+ $card-image-selector: ".card-image" !default;
9
+ $card-content-selector: ".card-content" !default;
10
+ $card-body-selector: ".card-body" !default;
11
+ $card-header-selector: ".card-header" !default;
12
+ $card-footer-selector: ".card-footer" !default;
13
+ $card-title-selector: ".card-title" !default;
14
+ $horizontal-card-selector: ".horizontal" !default;
15
+ $horizontal-card-left-selector: ".left" !default;
16
+ $horizontal-card-right-selector: ".right" !default;
17
+ $vertical-card-top-selector: ".top" !default;
18
+ $vertical-card-bottom-selector: ".bottom" !default;
19
+ $inverse-card-selector: ".inverse" !default;
20
+
21
+ // Card properties.
22
+ $card-transform: none !default;
23
+ $card-hover-transform: $card-transform !default;
24
+
25
+ // Card layout properties.
26
+ $card-content-ratio: 1fr !default;
27
+ $card-image-ratio: auto !default;
28
+ $horizontal-card-content-ratio: 3fr !default;
29
+ $horizontal-card-image-ratio: 2fr !default;
30
+ ```
31
+
32
+ Variables
33
+
34
+ Card Properties
35
+
36
+ ```jsx
37
+ --#{root-defaults.$prefix}-card-padding-x
38
+ --#{root-defaults.$prefix}-card-padding-y
39
+ --#{root-defaults.$prefix}-card-padding
40
+ --#{root-defaults.$prefix}-card-transition
41
+ --#{root-defaults.$prefix}-card-transition-reduced-motion
42
+ ```
43
+
44
+ Card transform properties
45
+
46
+ ```jsx
47
+ --#{root-defaults.$prefix}-card-transform
48
+ --#{root-defaults.$prefix}-card-hover-transform
49
+ ```
50
+
51
+ Card gap properties
52
+
53
+ ```jsx
54
+ --#{root-defaults.$prefix}-card-column-gap
55
+ --#{root-defaults.$prefix}-card-row-gap
56
+ --#{root-defaults.$prefix}-card-gap
57
+ ```
58
+
59
+ Card color properties
60
+
61
+ ```jsx
62
+ --#{root-defaults.$prefix}-card-background
63
+ --#{root-defaults.$prefix}-card-color
64
+ ```
65
+
66
+ Card border-properties
67
+
68
+ ```jsx
69
+ --#{root-defaults.$prefix}-card-border-color
70
+ --#{root-defaults.$prefix}-card-top-left-border-radius
71
+ --#{root-defaults.$prefix}-card-top-right-border-radius
72
+ --#{root-defaults.$prefix}-card-bottom-left-border-radius
73
+ --#{root-defaults.$prefix}-card-bottom-right-border-radius
74
+ --#{root-defaults.$prefix}-card-border-radius
75
+ --#{root-defaults.$prefix}-card-border-style
76
+ --#{root-defaults.$prefix}-card-border-width
77
+ --#{root-defaults.$prefix}-card-border
78
+ ```
79
+
80
+ Card layout properties
81
+
82
+ ```jsx
83
+ --#{root-defaults.$prefix}-card-content-ratio
84
+ --#{root-defaults.$prefix}-card-image-ratio
85
+ --#{root-defaults.$prefix}-horizontal-card-content-ratio
86
+ --#{root-defaults.$prefix}-horizontal-card-image-ratio
87
+ ```
88
+
89
+ Card Image Properties
90
+
91
+ ```jsx
92
+ --#{root-defaults.$prefix}-card-image-padding-x
93
+ --#{root-defaults.$prefix}-card-image-padding-y
94
+ --#{root-defaults.$prefix}-card-image-padding
95
+ ```
96
+
97
+ Card content properties
98
+
99
+ ```jsx
100
+ --#{root-defaults.$prefix}-card-content-padding-x
101
+ --#{root-defaults.$prefix}-card-content-padding-y
102
+ --#{root-defaults.$prefix}-card-content-padding
103
+ ```
104
+
105
+ Card content gap properties
106
+
107
+ ```jsx
108
+ --#{root-defaults.$prefix}-card-content-column-gap
109
+ --#{root-defaults.$prefix}-card-content-row-gap
110
+ --#{root-defaults.$prefix}-card-content-gap
111
+ ```
112
+
113
+ Card title properties
114
+
115
+ ```jsx
116
+ --#{root-defaults.$prefix}-card-title-color
117
+ --#{root-defaults.$prefix}-card-title-font-size
118
+ --#{root-defaults.$prefix}-card-title-font-weight
119
+ --#{root-defaults.$prefix}-card-title-font-family
120
+ --#{root-defaults.$prefix}-card-title-line-height
121
+ ```
122
+
123
+ Markup
124
+
125
+ ```jsx
126
+ <div class="py-10 full-width container">
127
+ <h2>Cards</h2>
128
+ <p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.top</span> class will have the image placed on the top while cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom</span> class will have the image placed on the bottom.</p>
129
+ <div class="columns">
130
+ <div class="card">
131
+ <div class="card-image">
132
+ <img src="https://unsplash.it/1000/400" alt="Card image">
133
+ </div>
134
+ <div class="card-content">
135
+ <div class="card-header">
136
+ <h3 class="card-title">Title</h3>
137
+ </div>
138
+ <div class="card-body">
139
+ <p>This is some text that describes the card.</p>
140
+ </div>
141
+ <div class="card-footer">
142
+ <a class="button primary stretched" href="#">Card Action</a>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ <div class="card">
147
+ <div class="card-image">
148
+ <img src="https://unsplash.it/1000/400" alt="Card image">
149
+ </div>
150
+ <div class="card-content">
151
+ <div class="card-header">
152
+ <h3 class="card-title">Title</h3>
153
+ </div>
154
+ <div class="card-body">
155
+ <p>This is some text that describes the card.</p>
156
+ </div>
157
+ <div class="card-footer">
158
+ <a class="button primary stretched" href="#">Card Action</a>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ <div class="card">
163
+ <div class="card-image">
164
+ <img src="https://unsplash.it/1000/400" alt="Card image">
165
+ </div>
166
+ <div class="card-content">
167
+ <div class="card-header">
168
+ <h3 class="card-title">Title</h3>
169
+ </div>
170
+ <div class="card-body">
171
+ <p>This is some text that describes the card.</p>
172
+ </div>
173
+ <div class="card-footer">
174
+ <a class="button primary stretched" href="#">Card Action</a>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ <div class="card bottom">
179
+ <div class="card-image">
180
+ <img src="https://unsplash.it/1000/400" alt="Card image">
181
+ </div>
182
+ <div class="card-content">
183
+ <div class="card-header">
184
+ <h3 class="card-title">Title</h3>
185
+ </div>
186
+ <div class="card-body">
187
+ <p>This is some text that describes the card.</p>
188
+ </div>
189
+ <div class="card-footer">
190
+ <a class="button primary stretched" href="#">Card Action</a>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ <div class="card bottom">
195
+ <div class="card-image">
196
+ <img src="https://unsplash.it/1000/400" alt="Card image">
197
+ </div>
198
+ <div class="card-content">
199
+ <div class="card-header">
200
+ <h3 class="card-title">Title</h3>
201
+ </div>
202
+ <div class="card-body">
203
+ <p>This is some text that describes the card.</p>
204
+ </div>
205
+ <div class="card-footer">
206
+ <a class="button primary stretched" href="#">Card Action</a>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ <div class="card bottom">
211
+ <div class="card-image">
212
+ <img src="https://unsplash.it/1000/400" alt="Card image">
213
+ </div>
214
+ <div class="card-content">
215
+ <div class="card-header">
216
+ <h3 class="card-title">Title</h3>
217
+ </div>
218
+ <div class="card-body">
219
+ <p>This is some text that describes the card.</p>
220
+ </div>
221
+ <div class="card-footer">
222
+ <a class="button primary stretched" href="#">Card Action</a>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ <div class="py-10 full-width container">
229
+ <h2>Horizontal Cards</h2>
230
+ <p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.right</span> class will have the image placed on the right while cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.left</span> class will have the image placed on the left.</p>
231
+ <div class="columns count-2">
232
+ <div class="card horizontal">
233
+ <div class="card-image">
234
+ <img src="https://unsplash.it/1000/400" alt="Card image">
235
+ </div>
236
+ <div class="card-content">
237
+ <div class="card-header">
238
+ <h3 class="card-title">Title</h3>
239
+ </div>
240
+ <div class="card-body">
241
+ <p>This is some text that describes the card.</p>
242
+ </div>
243
+ <div class="card-footer">
244
+ <a class="button primary stretched" href="#">Card Action</a>
245
+ </div>
246
+ </div>
247
+ </div>
248
+ <div class="card horizontal right">
249
+ <div class="card-image">
250
+ <img src="https://unsplash.it/1000/400" alt="Card image">
251
+ </div>
252
+ <div class="card-content">
253
+ <div class="card-header">
254
+ <h3 class="card-title">Title</h3>
255
+ </div>
256
+ <div class="card-body">
257
+ <p>This is some text that describes the card.</p>
258
+ </div>
259
+ <div class="card-footer">
260
+ <a class="button primary stretched" href="#">Card Action</a>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ <div class="card horizontal">
265
+ <div class="card-image">
266
+ <img src="https://unsplash.it/1000/400" alt="Card image">
267
+ </div>
268
+ <div class="card-content">
269
+ <div class="card-header">
270
+ <h3 class="card-title">Title</h3>
271
+ </div>
272
+ <div class="card-body">
273
+ <p>This is some text that describes the card.</p>
274
+ </div>
275
+ <div class="card-footer">
276
+ <a class="button primary stretched" href="#">Card Action</a>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ <div class="card horizontal right">
281
+ <div class="card-image">
282
+ <img src="https://unsplash.it/1000/400" alt="Card image">
283
+ </div>
284
+ <div class="card-content">
285
+ <div class="card-header">
286
+ <h3 class="card-title">Title</h3>
287
+ </div>
288
+ <div class="card-body">
289
+ <p>This is some text that describes the card.</p>
290
+ </div>
291
+ <div class="card-footer">
292
+ <a class="button primary stretched" href="#">Card Action</a>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ <div class="card horizontal">
297
+ <div class="card-image">
298
+ <img src="https://unsplash.it/1000/400" alt="Card image">
299
+ </div>
300
+ <div class="card-content">
301
+ <div class="card-header">
302
+ <h3 class="card-title">Title</h3>
303
+ </div>
304
+ <div class="card-body">
305
+ <p>This is some text that describes the card.</p>
306
+ </div>
307
+ <div class="card-footer">
308
+ <a class="button primary stretched" href="#">Card Action</a>
309
+ </div>
310
+ </div>
311
+ </div>
312
+ <div class="card horizontal right">
313
+ <div class="card-image">
314
+ <img src="https://unsplash.it/1000/400" alt="Card image">
315
+ </div>
316
+ <div class="card-content">
317
+ <div class="card-header">
318
+ <h3 class="card-title">Title</h3>
319
+ </div>
320
+ <div class="card-body">
321
+ <p>This is some text that describes the card.</p>
322
+ </div>
323
+ <div class="card-footer">
324
+ <a class="button primary stretched" href="#">Card Action</a>
325
+ </div>
326
+ </div>
327
+ </div>
328
+ </div>
329
+ </div>
330
+ <div class="py-10 full-width container">
331
+ <h2>Inverse Cards</h2>
332
+ <p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.inverse</span> class will have the image placed on the right if it is a horizontal card and on the bottom if it is a vertical card.</p>
333
+ <p>This is mainly to provide a shortcut for horiztonal cards that you'd like to use the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom .right</span> classes on when the card is forced to be vertical.</p>
334
+ <div class="columns count-2">
335
+ <div class="card horizontal inverse">
336
+ <div class="card-image">
337
+ <img src="https://unsplash.it/1000/400" alt="Card image">
338
+ </div>
339
+ <div class="card-content">
340
+ <div class="card-header">
341
+ <h3 class="card-title">Title</h3>
342
+ </div>
343
+ <div class="card-body">
344
+ <p>This is some text that describes the card.</p>
345
+ </div>
346
+ <div class="card-footer">
347
+ <a class="button primary stretched" href="#">Card Action</a>
348
+ </div>
349
+ </div>
350
+ </div>
351
+ <div class="card horizontal inverse">
352
+ <div class="card-image">
353
+ <img src="https://unsplash.it/1000/400" alt="Card image">
354
+ </div>
355
+ <div class="card-content">
356
+ <div class="card-header">
357
+ <h3 class="card-title">Title</h3>
358
+ </div>
359
+ <div class="card-body">
360
+ <p>This is some text that describes the card.</p>
361
+ </div>
362
+ <div class="card-footer">
363
+ <a class="button primary stretched" href="#">Card Action</a>
364
+ </div>
365
+ </div>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ ```
@@ -0,0 +1 @@
1
+ # Components
@@ -0,0 +1,159 @@
1
+ # Input Group
2
+
3
+ Defaults
4
+
5
+ ```jsx
6
+ // Input group selectors.
7
+ $input-group-selector: ".input-group" !default;
8
+ $input-group-inline-selector: ".inline" !default;
9
+ $input-group-help-text-selector: ".help-text" !default;
10
+
11
+ // Grid names.
12
+ $input-group-grid-label-name: label !default;
13
+ $input-group-grid-input-name: input !default;
14
+ $input-group-grid-help-name: help !default;
15
+
16
+ // Input group properties.
17
+ $input-group-grid-template-columns: 100% !default;
18
+ $input-group-grid-template-rows: auto auto auto !default;
19
+
20
+ // Inline input group properties.
21
+ $input-group-inline-grid-template-columns: auto 1fr !default;
22
+ $input-group-inline-grid-template-rows: auto auto !default;
23
+
24
+ // Inner element properties.
25
+ $input-group-label-grid-area: $input-group-grid-label-name !default;
26
+ $input-group-input-grid-area: $input-group-grid-input-name !default;
27
+ $input-group-help-grid-area: $input-group-grid-help-name !default;
28
+ ```
29
+
30
+ Variables
31
+
32
+ Input group properties
33
+
34
+ ```jsx
35
+ --#{root-defaults.$prefix}-input-group-grid-template-areas
36
+ --#{root-defaults.$prefix}-input-group-grid-template-columns
37
+ --#{root-defaults.$prefix}-input-group-grid-template-rows
38
+ --#{root-defaults.$prefix}-input-group-row-gap
39
+ --#{root-defaults.$prefix}-input-group-column-gap
40
+ --#{root-defaults.$prefix}-input-group-gap
41
+ ```
42
+
43
+ Inline input group properties
44
+
45
+ ```jsx
46
+ --#{root-defaults.$prefix}-input-group-inline-grid-template-areas
47
+ --#{root-defaults.$prefix}-input-group-inline-grid-template-columns
48
+ --#{root-defaults.$prefix}-input-group-inline-grid-template-rows
49
+ ```
50
+
51
+ Inner element properties
52
+
53
+ ```jsx
54
+ --#{root-defaults.$prefix}-input-group-label-grid-area
55
+ --#{root-defaults.$prefix}-input-group-input-grid-area
56
+ --#{root-defaults.$prefix}-input-group-help-grid-area
57
+ ```
58
+
59
+ Markup
60
+
61
+ ```jsx
62
+ <div class="py-10 full-width container">
63
+ <h2>Form elements</h2>
64
+ <p>Graupl provides default styling for all form elements.</p>
65
+ <form class="full-width rg-4">
66
+ <div class="input-group">
67
+ <label for="input">Input</label>
68
+ <input type="text" placeholder="Input" id="input">
69
+ <small class="help-text">This is some help text to assist with knowing what the field is about.</small>
70
+ </div>
71
+ <div class="input-group inline"><label for="input-readonly">Readonly Input</label>
72
+ <input type="text" placeholder="Readonly Input" id="input-readonly" value="Readonly Input" readonly>
73
+ <small class="help-text">This is some help text to assist with knowing what the field is about.</small>
74
+ </div>
75
+ <div class="input-group"><label for="input-disabled">Disabled Input</label>
76
+ <input type="text" placeholder="Disabled Input" id="input-disabled" disabled>
77
+ <small class="help-text">This is some help text to assist with knowing what the field is about.</small>
78
+ </div>
79
+ <div class="input-group inline"><label for="textarea">Textarea</label>
80
+ <textarea class="textarea" placeholder="Textarea" id="textarea"></textarea>
81
+ </div>
82
+ <div class="input-group"><label for="textarea-readonly">Readonly Textarea</label>
83
+ <textarea class="textarea" placeholder="Readonly Textarea" id="textarea-readonly"
84
+ readonly>Readonly Textarea</textarea>
85
+ </div>
86
+ <div class="input-group"><label for="textarea-disabled">Disabled Textarea</label>
87
+ <textarea class="textarea" placeholder="Disabled Textarea" id="textarea-disabled" disabled></textarea>
88
+ </div>
89
+ <div class="input-group inline"><label for="select">Select</label>
90
+ <select id="select">
91
+ <option value="1">Option 1</option>
92
+ <option value="2">Option 2</option>
93
+ <optgroup label="Group 1">
94
+ <option value="3">Option 3</option>
95
+ <option value="4">Option 4</option>
96
+ <option value="5">Option 5</option>
97
+ </optgroup>
98
+ </select>
99
+ </div>
100
+ <div class="input-group"><label for="select-disabled">Disabled Select</label>
101
+ <select id="select-disabled" disabled>
102
+ <option value="1">Option 1</option>
103
+ <option value="2">Option 2</option>
104
+ <optgroup label="Group 1">
105
+ <option value="3">Option 3</option>
106
+ <option value="4">Option 4</option>
107
+ <option value="5">Option 5</option>
108
+ </optgroup>
109
+ </select>
110
+ </div>
111
+ <div class="input-group"><label for"multi-select">Multi-select</label>
112
+ <select id="multi-select" multiple>
113
+ <option value="1">Option 1</option>
114
+ <option value="2">Option 2</option>
115
+ <optgroup label="Group 1">
116
+ <option value="3">Option 3</option>
117
+ <option value="4">Option 4</option>
118
+ <option value="5">Option 5</option>
119
+ </optgroup>
120
+ </select>
121
+ </div>
122
+ <div class="input-group inline"><label for="multi-select-disabled">Disabled Multi-select</label>
123
+ <select id="multi-select-disabled" multiple disabled>
124
+ <option value="1">Option 1</option>
125
+ <option value="2">Option 2</option>
126
+ <optgroup label="Group 1">
127
+ <option value="3">Option 3</option>
128
+ <option value="4">Option 4</option>
129
+ <option value="5">Option 5</option>
130
+ </optgroup>
131
+ </select>
132
+ </div>
133
+ <fieldset>
134
+ <legend>Checkboxes</legend>
135
+ <label for="checkbox">
136
+ <input type="checkbox" id="checkbox"> Checkbox</label>
137
+ <label for="checkbox-checked">
138
+ <input type="checkbox" id="checkbox-checked" checked> Checked Checkbox</label>
139
+ <label for="checkbox-disabled">
140
+ <input type="checkbox" id="checkbox-disabled" disabled> Disabled Checkbox</label>
141
+ </fieldset>
142
+ <fieldset>
143
+ <legend>Radio Buttons</legend>
144
+ <label for="radio"><input type="radio" id="radio" name="radio"> Radio</label>
145
+ <label for="radio-checked"><input type="radio" id="radio-checked" name="radio" checked> Checked Radio</label>
146
+ <label for="radio-disabled"><input type="radio" id="radio-disabled" name="radio" disabled> Disabled
147
+ Radio</label>
148
+ </fieldset>
149
+ <fieldset disabled>
150
+ <legend>Disabled Fieldset</legend>
151
+ <label for="disabled-fieldset-checkbox">
152
+ <input type="checkbox" id="disabled-fieldset-checkbox"> Checkbox</label>
153
+ </fieldset>
154
+ <div class="input-group"><label for="range">Range</label>
155
+ <input type="range" class="range" id="range">
156
+ </div>
157
+ </form>
158
+ </div>
159
+ ```