@fpkit/acss 0.4.4

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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/dist/chunk-77CZU5XZ.cjs +9 -0
  4. package/dist/chunk-77CZU5XZ.cjs.map +1 -0
  5. package/dist/chunk-D43FJIRQ.cjs +31 -0
  6. package/dist/chunk-D43FJIRQ.cjs.map +1 -0
  7. package/dist/chunk-GJWMCDFS.js +9 -0
  8. package/dist/chunk-GJWMCDFS.js.map +1 -0
  9. package/dist/chunk-PCDUGD3C.js +5 -0
  10. package/dist/chunk-PCDUGD3C.js.map +1 -0
  11. package/dist/hooks.cjs +10 -0
  12. package/dist/hooks.cjs.map +1 -0
  13. package/dist/hooks.d.cts +32 -0
  14. package/dist/hooks.d.ts +32 -0
  15. package/dist/hooks.js +8 -0
  16. package/dist/hooks.js.map +1 -0
  17. package/dist/icon-e6044c73.d.ts +227 -0
  18. package/dist/icons.cjs +73 -0
  19. package/dist/icons.cjs.map +1 -0
  20. package/dist/icons.d.cts +252 -0
  21. package/dist/icons.d.ts +252 -0
  22. package/dist/icons.js +4 -0
  23. package/dist/icons.js.map +1 -0
  24. package/dist/index.cjs +59 -0
  25. package/dist/index.cjs.map +1 -0
  26. package/dist/index.d.cts +566 -0
  27. package/dist/index.d.ts +566 -0
  28. package/dist/index.js +11 -0
  29. package/dist/index.js.map +1 -0
  30. package/libs/chunk-GCGKYLDG.js +7 -0
  31. package/libs/chunk-GCGKYLDG.js.map +1 -0
  32. package/libs/chunk-PDD4N5P5.cjs +10 -0
  33. package/libs/chunk-PDD4N5P5.cjs.map +1 -0
  34. package/libs/chunk-QHIABQNQ.js +8 -0
  35. package/libs/chunk-QHIABQNQ.js.map +1 -0
  36. package/libs/chunk-ZOHIKF6I.cjs +31 -0
  37. package/libs/chunk-ZOHIKF6I.cjs.map +1 -0
  38. package/libs/components/badge/badge.css +1 -0
  39. package/libs/components/badge/badge.css.map +1 -0
  40. package/libs/components/badge/badge.min.css +3 -0
  41. package/libs/components/breadcrumbs/breadcrumb.css +1 -0
  42. package/libs/components/breadcrumbs/breadcrumb.css.map +1 -0
  43. package/libs/components/breadcrumbs/breadcrumb.min.css +3 -0
  44. package/libs/components/buttons/button.css +1 -0
  45. package/libs/components/buttons/button.css.map +1 -0
  46. package/libs/components/buttons/button.min.css +3 -0
  47. package/libs/components/cards/card-style.css +1 -0
  48. package/libs/components/cards/card-style.css.map +1 -0
  49. package/libs/components/cards/card-style.min.css +3 -0
  50. package/libs/components/cards/card.css +1 -0
  51. package/libs/components/cards/card.css.map +1 -0
  52. package/libs/components/cards/card.min.css +3 -0
  53. package/libs/components/details/details.css +1 -0
  54. package/libs/components/details/details.css.map +1 -0
  55. package/libs/components/details/details.min.css +3 -0
  56. package/libs/components/form/form.css +1 -0
  57. package/libs/components/form/form.css.map +1 -0
  58. package/libs/components/form/form.min.css +3 -0
  59. package/libs/components/icons/icon.css +1 -0
  60. package/libs/components/icons/icon.css.map +1 -0
  61. package/libs/components/icons/icon.min.css +3 -0
  62. package/libs/components/images/img.css +1 -0
  63. package/libs/components/images/img.css.map +1 -0
  64. package/libs/components/images/img.min.css +3 -0
  65. package/libs/components/layout/landmarks.css +1 -0
  66. package/libs/components/layout/landmarks.css.map +1 -0
  67. package/libs/components/layout/landmarks.min.css +3 -0
  68. package/libs/components/link/link.css +1 -0
  69. package/libs/components/link/link.css.map +1 -0
  70. package/libs/components/link/link.min.css +3 -0
  71. package/libs/components/nav/nav.css +1 -0
  72. package/libs/components/nav/nav.css.map +1 -0
  73. package/libs/components/nav/nav.min.css +3 -0
  74. package/libs/components/progress/progress.css +1 -0
  75. package/libs/components/progress/progress.css.map +1 -0
  76. package/libs/components/progress/progress.min.css +3 -0
  77. package/libs/components/styles/index.css +1 -0
  78. package/libs/components/styles/index.css.map +1 -0
  79. package/libs/components/styles/index.min.css +3 -0
  80. package/libs/components/tag/tag.css +1 -0
  81. package/libs/components/tag/tag.css.map +1 -0
  82. package/libs/components/tag/tag.min.css +3 -0
  83. package/libs/components/text-to-speech/text-to-speech.css +1 -0
  84. package/libs/components/text-to-speech/text-to-speech.css.map +1 -0
  85. package/libs/components/text-to-speech/text-to-speech.min.css +3 -0
  86. package/libs/hooks.cjs +12 -0
  87. package/libs/hooks.cjs.map +1 -0
  88. package/libs/hooks.d.cts +32 -0
  89. package/libs/hooks.d.ts +32 -0
  90. package/libs/hooks.js +3 -0
  91. package/libs/hooks.js.map +1 -0
  92. package/libs/icons-1f5afc0c.d.ts +318 -0
  93. package/libs/icons.cjs +12 -0
  94. package/libs/icons.cjs.map +1 -0
  95. package/libs/icons.d.cts +2 -0
  96. package/libs/icons.d.ts +2 -0
  97. package/libs/icons.js +3 -0
  98. package/libs/icons.js.map +1 -0
  99. package/libs/index.cjs +71 -0
  100. package/libs/index.cjs.map +1 -0
  101. package/libs/index.css +1 -0
  102. package/libs/index.css.map +1 -0
  103. package/libs/index.d.cts +551 -0
  104. package/libs/index.d.ts +551 -0
  105. package/libs/index.js +11 -0
  106. package/libs/index.js.map +1 -0
  107. package/package.json +125 -0
  108. package/src/App.css +42 -0
  109. package/src/App.tsx +35 -0
  110. package/src/__snapshots__/App.test.tsx.snap +56 -0
  111. package/src/components/.gitkeep +0 -0
  112. package/src/components/__snapshots__/fp.test.tsx.snap +3 -0
  113. package/src/components/badge/badge.scss +20 -0
  114. package/src/components/badge/badge.stories.tsx +54 -0
  115. package/src/components/badge/badge.tsx +17 -0
  116. package/src/components/breadcrumbs/bc-item.tsx +20 -0
  117. package/src/components/breadcrumbs/breadcrumb.scss +35 -0
  118. package/src/components/breadcrumbs/breadcrumb.stories.tsx +92 -0
  119. package/src/components/breadcrumbs/breadcrumb.tsx +218 -0
  120. package/src/components/buttons/button.scss +115 -0
  121. package/src/components/buttons/button.stories.tsx +57 -0
  122. package/src/components/buttons/button.test.tsx +104 -0
  123. package/src/components/buttons/button.tsx +64 -0
  124. package/src/components/cards/card-style.scss +0 -0
  125. package/src/components/cards/card.scss +43 -0
  126. package/src/components/cards/card.stories.tsx +114 -0
  127. package/src/components/cards/card.test.tsx +30 -0
  128. package/src/components/cards/card.tsx +135 -0
  129. package/src/components/cards/flex-card.tsx +15 -0
  130. package/src/components/details/details.scss +75 -0
  131. package/src/components/details/details.stories.tsx +122 -0
  132. package/src/components/details/details.tsx +77 -0
  133. package/src/components/form/README.mdx +70 -0
  134. package/src/components/form/fields.tsx +45 -0
  135. package/src/components/form/form.scss +87 -0
  136. package/src/components/form/form.stories.tsx +49 -0
  137. package/src/components/form/form.tsx +71 -0
  138. package/src/components/form/input.stories.tsx +155 -0
  139. package/src/components/form/inputs.tsx +84 -0
  140. package/src/components/form/select.stories.tsx +38 -0
  141. package/src/components/form/select.tsx +112 -0
  142. package/src/components/form/textarea.tsx +87 -0
  143. package/src/components/fp.test.tsx +56 -0
  144. package/src/components/fp.tsx +78 -0
  145. package/src/components/heading/heading.stories.tsx +75 -0
  146. package/src/components/heading/heading.tsx +27 -0
  147. package/src/components/icons/components/add.tsx +42 -0
  148. package/src/components/icons/components/arrow-down.tsx +52 -0
  149. package/src/components/icons/components/arrow-left.tsx +49 -0
  150. package/src/components/icons/components/arrow-right.tsx +52 -0
  151. package/src/components/icons/components/arrow-up.tsx +49 -0
  152. package/src/components/icons/components/chat.tsx +44 -0
  153. package/src/components/icons/components/code.tsx +50 -0
  154. package/src/components/icons/components/copy.tsx +51 -0
  155. package/src/components/icons/components/down.tsx +33 -0
  156. package/src/components/icons/components/home.tsx +57 -0
  157. package/src/components/icons/components/left.tsx +43 -0
  158. package/src/components/icons/components/minus.tsx +42 -0
  159. package/src/components/icons/components/pause-solid.tsx +48 -0
  160. package/src/components/icons/components/pause.tsx +63 -0
  161. package/src/components/icons/components/play-solid.tsx +44 -0
  162. package/src/components/icons/components/play.tsx +51 -0
  163. package/src/components/icons/components/remove.tsx +42 -0
  164. package/src/components/icons/components/resume-solid.tsx +52 -0
  165. package/src/components/icons/components/resume.tsx +57 -0
  166. package/src/components/icons/components/right.tsx +43 -0
  167. package/src/components/icons/components/star.tsx +38 -0
  168. package/src/components/icons/components/stop-solid.tsx +44 -0
  169. package/src/components/icons/components/stop.tsx +54 -0
  170. package/src/components/icons/components/svg.tsx +44 -0
  171. package/src/components/icons/components/up.tsx +31 -0
  172. package/src/components/icons/components/user.tsx +46 -0
  173. package/src/components/icons/icon.scss +15 -0
  174. package/src/components/icons/icon.stories.tsx +208 -0
  175. package/src/components/icons/icon.tsx +100 -0
  176. package/src/components/icons/index.ts +29 -0
  177. package/src/components/icons/types.ts +12 -0
  178. package/src/components/images/README.mdx +43 -0
  179. package/src/components/images/figure.stories.tsx +34 -0
  180. package/src/components/images/figure.tsx +44 -0
  181. package/src/components/images/img.scss +43 -0
  182. package/src/components/images/img.stories.tsx +24 -0
  183. package/src/components/images/img.test.tsx +43 -0
  184. package/src/components/images/img.tsx +93 -0
  185. package/src/components/images/place-holder.png +0 -0
  186. package/src/components/kit.tsx +56 -0
  187. package/src/components/layout/_header.scss +72 -0
  188. package/src/components/layout/footer.stories.tsx +34 -0
  189. package/src/components/layout/landmarks.scss +51 -0
  190. package/src/components/layout/landmarks.stories.tsx +54 -0
  191. package/src/components/layout/landmarks.tsx +149 -0
  192. package/src/components/layout/main.stories.tsx +90 -0
  193. package/src/components/link/link.scss +92 -0
  194. package/src/components/link/link.stories.tsx +74 -0
  195. package/src/components/link/link.tsx +48 -0
  196. package/src/components/list/list.stories.tsx +52 -0
  197. package/src/components/list/list.tsx +74 -0
  198. package/src/components/modal/dialog.tsx +50 -0
  199. package/src/components/modal/modal.tsx +85 -0
  200. package/src/components/nav/nav.scss +90 -0
  201. package/src/components/nav/nav.stories.tsx +96 -0
  202. package/src/components/nav/nav.tsx +76 -0
  203. package/src/components/popover/node_modules/.vitest/results.json +1 -0
  204. package/src/components/popover/popover.stories.tsx +31 -0
  205. package/src/components/popover/popover.test.tsx +39 -0
  206. package/src/components/popover/popover.tsx +85 -0
  207. package/src/components/progress/progress.scss +70 -0
  208. package/src/components/progress/progress.stories.tsx +51 -0
  209. package/src/components/progress/progress.tsx +82 -0
  210. package/src/components/readme.stories.mdx +7 -0
  211. package/src/components/styles/index.css +520 -0
  212. package/src/components/styles/index.css.map +1 -0
  213. package/src/components/tables/table-elements.tsx +57 -0
  214. package/src/components/tables/table.tsx +57 -0
  215. package/src/components/tag/tag.scss +56 -0
  216. package/src/components/tag/tag.stories.tsx +39 -0
  217. package/src/components/tag/tag.tsx +25 -0
  218. package/src/components/text/text.stories.tsx +67 -0
  219. package/src/components/text/text.tsx +93 -0
  220. package/src/components/text-to-speech/README.mdx +192 -0
  221. package/src/components/text-to-speech/TextInput.tsx +19 -0
  222. package/src/components/text-to-speech/TextToSpeech.stories.tsx +145 -0
  223. package/src/components/text-to-speech/TextToSpeech.tsx +94 -0
  224. package/src/components/text-to-speech/text-to-speech.scss +31 -0
  225. package/src/components/text-to-speech/useTextToSpeech.mdx +182 -0
  226. package/src/components/text-to-speech/useTextToSpeech.tsx +176 -0
  227. package/src/components/text-to-speech/views/TextToSpeechControls.tsx +117 -0
  228. package/src/components/ui.tsx +67 -0
  229. package/src/favicon.svg +15 -0
  230. package/src/hooks/popover/__snapshots__/popover.test.tsx.snap +88 -0
  231. package/src/hooks/popover/node_modules/.vitest/results.json +1 -0
  232. package/src/hooks/popover/popover.tsx +71 -0
  233. package/src/hooks/popover/use-popover.tsx +83 -0
  234. package/src/hooks.ts +1 -0
  235. package/src/icons.ts +1 -0
  236. package/src/index.css +13 -0
  237. package/src/index.scss +19 -0
  238. package/src/index.ts +35 -0
  239. package/src/libs/content.ts +30 -0
  240. package/src/logo.svg +7 -0
  241. package/src/main.tsx +10 -0
  242. package/src/patterns/.gitkeep +0 -0
  243. package/src/patterns/page/page-header.stories.tsx +44 -0
  244. package/src/patterns/page/page-header.tsx +78 -0
  245. package/src/sass/_elements.scss +17 -0
  246. package/src/sass/_globals.scss +162 -0
  247. package/src/sass/_layout.scss +51 -0
  248. package/src/sass/_loading-animation.scss +35 -0
  249. package/src/sass/_mixins.scss +10 -0
  250. package/src/sass/_properties.scss +106 -0
  251. package/src/sass/_reset.scss +183 -0
  252. package/src/sass/_type.scss +43 -0
  253. package/src/setupTest.ts +1 -0
  254. package/src/styles/badge/badge.css +22 -0
  255. package/src/styles/badge/badge.css.map +1 -0
  256. package/src/styles/breadcrumbs/breadcrumb.css +42 -0
  257. package/src/styles/breadcrumbs/breadcrumb.css.map +1 -0
  258. package/src/styles/buttons/button.css +93 -0
  259. package/src/styles/buttons/button.css.map +1 -0
  260. package/src/styles/cards/card-style.css +3 -0
  261. package/src/styles/cards/card-style.css.map +1 -0
  262. package/src/styles/cards/card.css +48 -0
  263. package/src/styles/cards/card.css.map +1 -0
  264. package/src/styles/details/details.css +69 -0
  265. package/src/styles/details/details.css.map +1 -0
  266. package/src/styles/dropdowns/dropdown.css.map +1 -0
  267. package/src/styles/form/form.css +93 -0
  268. package/src/styles/form/form.css.map +1 -0
  269. package/src/styles/form/style.css.map +1 -0
  270. package/src/styles/icons/icon.css +16 -0
  271. package/src/styles/icons/icon.css.map +1 -0
  272. package/src/styles/images/img.css +42 -0
  273. package/src/styles/images/img.css.map +1 -0
  274. package/src/styles/index.css +1330 -0
  275. package/src/styles/index.css.map +1 -0
  276. package/src/styles/layout/landmarks.css +155 -0
  277. package/src/styles/layout/landmarks.css.map +1 -0
  278. package/src/styles/link/link.css +88 -0
  279. package/src/styles/link/link.css.map +1 -0
  280. package/src/styles/nav/nav.css +85 -0
  281. package/src/styles/nav/nav.css.map +1 -0
  282. package/src/styles/progress/progress.css +54 -0
  283. package/src/styles/progress/progress.css.map +1 -0
  284. package/src/styles/progress/sass/progress.css.map +1 -0
  285. package/src/styles/styles/index.css +562 -0
  286. package/src/styles/styles/index.css.map +1 -0
  287. package/src/styles/tag/badge.css.map +1 -0
  288. package/src/styles/tag/tag.css +71 -0
  289. package/src/styles/tag/tag.css.map +1 -0
  290. package/src/styles/text-to-speech/text-to-speech.css +32 -0
  291. package/src/styles/text-to-speech/text-to-speech.css.map +1 -0
  292. package/src/test/setup.ts +6 -0
  293. package/src/types/component-props.ts +36 -0
  294. package/src/types/index.ts +2 -0
  295. package/src/types/input-props.ts +28 -0
  296. package/src/types/shared.ts +57 -0
  297. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,106 @@
1
+ :root {
2
+ --weight: 600;
3
+ --fs: clamp(0.96rem, 1vw + 0.5rem, 1.6rem);
4
+ --p: 1rem;
5
+ --px: var(--p);
6
+ --py: var(--p);
7
+ --m: 0.75rem;
8
+ --mx: var(--m);
9
+ --my: var(--m);
10
+ --weight: 600;
11
+ --radius: 0.5rem;
12
+ --placeholder-color: gray;
13
+ --placeholder-style: italic;
14
+ --placeholder-fs: smaller;
15
+ --transition: all 0.25s linear;
16
+
17
+ // * responsive fonts sizes
18
+ --fs-0: clamp(.9rem, 4vw - 1rem, 1.12rem); // 16px default
19
+ --fs-1: clamp(0.65rem, 1.3vw + 0.25rem, 0.75rem); // 12px
20
+ --fs-2: clamp(0.7rem, 2vw - 0.5rem, 0.875rem); // 14px
21
+ --fs-3: clamp(0.85rem, 2vw - 0.25rem, 0.925rem); // 18px
22
+ --fs-4: clamp(0.9rem, 2vw - 0.25rem, 1.313rem); // 21px
23
+ --fs-5: clamp(0.94rem, 2vw - 0.25rem, 1.463rem); // 25px
24
+ --fs-6: clamp(1rem, 2vw + 0.75rem, 2rem); // 32px
25
+ --fs-7: clamp(1.1rem, 4vw - 0.25rem, 2.375rem); // 38px
26
+ --fs-8: clamp(1.2rem, 4vw + 0.25rem, 3rem); // 48px
27
+ --fs-9: clamp(1.2rem, 4vw + 0.5rem, 4rem); // 64px
28
+ --fs-10: clamp(1.2rem, 5vw + 0.5rem, 4.5rem); // 72px
29
+ --fs-11: clamp(1.2rem, 5vw + 0.75rem, 5.063rem); // 81px
30
+ --fs-12: clamp(1.5rem, 5vw + 0.9rem, 6.375rem); // 101px
31
+
32
+ --fs-xs: var(--fs-1);
33
+ --fs-sm: var(--fs-3);
34
+ --fs-base: var(--fs-0);
35
+ --fs-md: var(--fs-5);
36
+ --fs-lg: var(--fs-7);
37
+ --fs-xl: var(--fs-9);
38
+ --fs-xxl: var(--fs-11);
39
+ --fs-xxxl: var(--fs-12);
40
+
41
+ --display: var(--fs-12);
42
+
43
+ --display-md: var(--fs-11);
44
+ --display-sm: var(--fs-10);
45
+
46
+ // h1
47
+ --h1: var(--fs-11);
48
+ // h2
49
+ --h2: var(--fs-9);
50
+ // h3
51
+ --h3: var(--fs-8);
52
+ // h4
53
+ --h4: var(--fs-7);
54
+ //h5
55
+ --h5: var(--fs-6);
56
+ // h6
57
+ --h6: var(--fs-5);
58
+
59
+ --spc-0: 0;
60
+ --spc-1: 0.25rem;
61
+ --spc-2: 0.5rem;
62
+ --spc-3: 0.75rem;
63
+ --spc-4: 1rem;
64
+ --spc-5: 1.5;
65
+ --spc-6: 2rem;
66
+ --spc-7: 2.5rem;
67
+ --spc-8: 3rem;
68
+ --spc-9: 3.5rem;
69
+ --spc-10: 4rem;
70
+ --spc-11: 4.5rem;
71
+ --spc-12: 5rem;
72
+ --spc-13: 6rem;
73
+ --spc-14: 7rem;
74
+ --spc-15: 8rem;
75
+ --spc-16: 9rem;
76
+ --spc-17: 10rem;
77
+ --spc-18: 11rem;
78
+ --spc-19: 12rem;
79
+ --spc-20: 13rem;
80
+
81
+ // t-shirt sizes
82
+ --spc: var(--spc-4);
83
+ --spc-xs: var(--spc-1);
84
+ --spc-sm: var(--spc-3);
85
+ --spc-base: var(--spc-5);
86
+ --spc-md: var(--spc-7);
87
+ --spc-lg: var(--spc-9);
88
+ --spc-xl: var(--spc-11);
89
+ --spc-xxl: var(--spc-13);
90
+
91
+ // vw units
92
+ --vw-xs: 5vw;
93
+ --vw-sm: 10vw;
94
+ --vw-md: 20vw;
95
+ --vw-lg: 50vw;
96
+ --vw-xl: 80vw;
97
+ --vw-xxl: 95vw;
98
+
99
+ // vh units
100
+ --vh-xs: 5vh;
101
+ --vh-sm: 10vh;
102
+ --vh-md: 20vh;
103
+ --vh-lg: 50vh;
104
+ --vh-xl: 80vh;
105
+ --vh-xxl: 95vh;
106
+ }
@@ -0,0 +1,183 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ ::selection {
8
+ /* Optional */
9
+ /* It can be really hard to read highlighted text with a text-shadow, it should be removed when selected */
10
+ text-shadow: none;
11
+
12
+ /* NOTE: Using this means the color and background-color are set to transparent for selected text... */
13
+ /* So you can customise your styles below */
14
+ color: #fff;
15
+ background-color: #00f;
16
+ }
17
+
18
+ /*
19
+ 3. Allow percentage-based heights in the application
20
+ */
21
+ html,
22
+ body {
23
+ height: 100%;
24
+ font-size: 100%;
25
+ }
26
+
27
+ /* Set core root defaults */
28
+ html:focus-within {
29
+ scroll-behavior: smooth;
30
+ }
31
+
32
+ /* Remove default margin */
33
+ body,
34
+ h1,
35
+ h2,
36
+ h3,
37
+ h4,
38
+ p,
39
+ figure,
40
+ blockquote,
41
+ dl,
42
+ dd {
43
+ margin: 0;
44
+ }
45
+
46
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
47
+ // ul,
48
+ // ol {
49
+ // &[role='list'] {
50
+ // list-style: none;
51
+ // margin-block-end: 0;
52
+ // margin-block-start: 0;
53
+ // padding-inline-start: 0;
54
+ // }
55
+ // }
56
+
57
+ /* Set core body defaults */
58
+ body {
59
+ min-height: 100vh;
60
+ text-rendering: optimizeSpeed;
61
+ line-height: 1.5;
62
+ }
63
+
64
+ /* A elements that don't have a class get default styles */
65
+ a:not([class]) {
66
+ text-decoration-skip-ink: auto;
67
+ }
68
+
69
+ a,
70
+ button {
71
+ cursor: pointer;
72
+ }
73
+
74
+ /* Make images easier to work with */
75
+ img,
76
+ picture,
77
+ video,
78
+ canvas {
79
+ display: block;
80
+ max-width: 100%;
81
+ aspect-ratio: auto;
82
+ }
83
+
84
+ img,
85
+ video,
86
+ iframe {
87
+ max-inline-size: 100%;
88
+ block-size: auto;
89
+ }
90
+
91
+ img {
92
+ max-width: 100%;
93
+ height: auto;
94
+ vertical-align: middle;
95
+ font-style: italic;
96
+ background-repeat: no-repeat;
97
+ background-size: cover;
98
+ shape-margin: 0.75rem;
99
+ }
100
+
101
+ svg {
102
+ display: inline-block;
103
+ }
104
+
105
+ /* Inherit fonts for inputs and buttons */
106
+ input,
107
+ textarea,
108
+ select {
109
+ font-family: inherit;
110
+ font-size: inherit;
111
+ font-style: inherit;
112
+ font-weight: inherit;
113
+ font-variant: inherit;
114
+ line-height: inherit;
115
+ background-color: inherit;
116
+ }
117
+
118
+ /* Inherit fonts for inputs and buttons */
119
+ :where(button) {
120
+ font-family: inherit;
121
+ }
122
+
123
+ /* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
124
+ @media (prefers-reduced-motion: reduce) {
125
+ html:focus-within {
126
+ scroll-behavior: auto;
127
+ }
128
+
129
+ *,
130
+ *::before,
131
+ *::after {
132
+ animation-duration: 0.01ms !important;
133
+ animation-iteration-count: 1 !important;
134
+ transition-duration: 0.01ms !important;
135
+ scroll-behavior: auto !important;
136
+ }
137
+ }
138
+
139
+ /* Create a root stacking context */
140
+ #root,
141
+ #__next {
142
+ isolation: isolate;
143
+ }
144
+
145
+ p,
146
+ h1,
147
+ h2,
148
+ h3,
149
+ h4,
150
+ h5,
151
+ h6 {
152
+ overflow-wrap: break-word;
153
+ }
154
+
155
+ *:focus {
156
+ outline: none;
157
+ outline-style: auto;
158
+ }
159
+
160
+ b {
161
+ font-weight: normal;
162
+ }
163
+
164
+ /* Removes spacing between cells in tables */
165
+ table {
166
+ border-collapse: collapse;
167
+ }
168
+
169
+ svg {
170
+ max-width: inline-size;
171
+
172
+ /* Optional - make the SVG's fill be the same as the inherited color */
173
+ // fill: currentColor;
174
+
175
+ /* Prevent the SVG from altering cursor interaction */
176
+ pointer-events: none;
177
+
178
+ &[role='img'] {
179
+ display: inline-flex;
180
+ align-items: center;
181
+ width: auto;
182
+ }
183
+ }
@@ -0,0 +1,43 @@
1
+ @mixin props {
2
+ // * responsive fonts sizes
3
+ --fs: 100%;
4
+ --fs-0: clamp(.9rem, 4vw - 1rem, 1.12rem); // 16px default
5
+ --fs-1: clamp(0.65rem, 1.3vw + 0.25rem, 0.75rem); // 12px
6
+ --fs-2: clamp(0.7rem, 2vw - 0.5rem, 0.875rem); // 14px
7
+ --fs-3: clamp(0.85rem, 2vw - 0.25rem, 0.925rem); // 18px
8
+ --fs-4: clamp(0.95rem, 2vw - 0.25rem, 1.313rem); // 21px
9
+ --fs-5: clamp(1.1rem, 2vw - 0.25rem, 1.463rem); // 25px
10
+ --fs-6: clamp(1.3rem, 2vw + 0.75rem, 2rem); // 32px
11
+ --fs-7: clamp(1.4rem, 4vw - 0.25rem, 2.375rem); // 38px
12
+ --fs-8: clamp(1.48rem, 4vw + 0.25rem, 3rem); // 48px
13
+ --fs-9: clamp(1.9rem, 4vw + 0.5rem, 4rem); // 64px
14
+ --fs-10: clamp(2.5rem, 5vw + 0.5rem, 4.5rem); // 72px
15
+ --fs-11: clamp(3rem, 5vw + 0.75rem, 5.063rem); // 81px
16
+ --fs-12: clamp(3.5rem, 5vw + 0.9rem, 6.375rem); // 101px
17
+
18
+ --fs-xs: var(--fs-1);
19
+ --fs-sm: var(--fs-3);
20
+ --fs-base: var(--fs-0);
21
+ --fs-md: var(--fs-5);
22
+ --fs-lg: var(--fs-7);
23
+ --fs-xl: var(--fs-9);
24
+ --fs-xxl: var(--fs-11);
25
+ --fs-xxxl: var(--fs-12);
26
+
27
+ --display: var(--fs-12);
28
+ --display-md: var(--fs-11);
29
+ --display-sm: var(--fs-10);
30
+
31
+ // h1
32
+ --h1: var(--fs-10);
33
+ // h2
34
+ --h2: var(--fs-9);
35
+ // h3
36
+ --h3: var(--fs-8);
37
+ // h4
38
+ --h4: var(--fs-7);
39
+ //h5
40
+ --h5: var(--fs-6);
41
+ // h6
42
+ --h6: var(--fs-5);
43
+ }
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom'
@@ -0,0 +1,22 @@
1
+ sup:has(> span) {
2
+ --badge-bg: lightgray;
3
+ --badge-color: currentColor;
4
+ --badge-radius: 0.15rem;
5
+ --badge-padding: 0.15rem;
6
+ --badge-v-align: 0.5rem;
7
+ --badge-fs: clamp(0.4rem, 0.5rem + 0.5vw, 7rem);
8
+ background-color: var(--badge-bg);
9
+ color: var(--badge-color);
10
+ padding: var(--badge-padding);
11
+ border-radius: var(--badge-radius);
12
+ vertical-align: var(--badge-v-align);
13
+ }
14
+ sup:has(> span) span {
15
+ color: inherit;
16
+ }
17
+ sup:has(> span)[data-badge~=rounded] {
18
+ --badge-radius: 100%;
19
+ --badge-padding: 0.2rem;
20
+ }
21
+
22
+ /*# sourceMappingURL=badge.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/badge/badge.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA","file":"badge.css"}
@@ -0,0 +1,42 @@
1
+ nav:not(body > nav),
2
+ nav[data-breadcrumb] {
3
+ --breadcrumb-px: unset;
4
+ --breadcrumb-dsp: flex;
5
+ --breadcrumb-gap: 0.5rem;
6
+ --breadcrumb-color: currentColor;
7
+ --breadcrumb-current-color: rgb(46, 46, 46);
8
+ --breadcrumb-fs: var(--fs-0);
9
+ margin-inline: unset;
10
+ padding-inline: unset;
11
+ }
12
+ nav:not(body > nav) ol,
13
+ nav[data-breadcrumb] ol {
14
+ padding-inline: var(--breadcrumb-px);
15
+ display: var(--breadcrumb-dsp);
16
+ gap: var(--breadcrumb-gap);
17
+ }
18
+ nav:not(body > nav) ol li,
19
+ nav[data-breadcrumb] ol li {
20
+ padding-inline: unset;
21
+ width: var(--breadcrumb-w, fit-content);
22
+ text-transform: capitalize;
23
+ display: flex;
24
+ color: var(--breadcrumb-color);
25
+ gap: 0.5rem;
26
+ font-size: var(--breadcrumb-fs);
27
+ }
28
+ nav:not(body > nav) ol li span[aria-hidden=true],
29
+ nav[data-breadcrumb] ol li span[aria-hidden=true] {
30
+ opacity: 0.6;
31
+ }
32
+ nav:not(body > nav) ol li a[href],
33
+ nav[data-breadcrumb] ol li a[href] {
34
+ font-size: var(--breadcrumb-fs);
35
+ }
36
+ nav:not(body > nav) ol li a[href][aria-current],
37
+ nav[data-breadcrumb] ol li a[href][aria-current] {
38
+ color: var(--breadcrumb-current-color);
39
+ text-decoration: none;
40
+ }
41
+
42
+ /*# sourceMappingURL=breadcrumb.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/breadcrumbs/breadcrumb.scss"],"names":[],"mappings":"AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACE;EACA;EACA;;AACA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACE;;AAEF;AAAA;EACE;;AACA;AAAA;EACE;EACA","file":"breadcrumb.css"}
@@ -0,0 +1,93 @@
1
+ button {
2
+ --btn-sm: calc(12rem / 16);
3
+ --btn-md: calc(16rem / 16);
4
+ --btn-lg: calc(21rem / 16);
5
+ --btn-pill: 100rem;
6
+ --btn-height: calc(40rem / 16);
7
+ --fs: 0.95rem;
8
+ --btn-fs: calc(15rem / 16);
9
+ --btn-bg: lightgray;
10
+ --btn-width: max-content;
11
+ font-size: var(--btn-fs);
12
+ font-weight: var(--btn-fw, 500);
13
+ height: var(--btn-height, 2.5rem);
14
+ min-height: var(--btn-height);
15
+ place-items: var(--btn-place, center);
16
+ padding-inline: var(--btn-px, calc(var(--btn-fs) + 1.1%));
17
+ padding-block: var(--btn-py, calc(var(--btn-fs) + 0.75%));
18
+ border: var(--btn-bdr, none);
19
+ border-radius: var(--btn-rds, 0.375rem);
20
+ text-decoration: var(--btn-deco, none);
21
+ color: var(--btn-cl, currentColor);
22
+ display: var(--btn-dsp, inline-flex);
23
+ gap: var(--btn-gap, 0.2rem);
24
+ white-space: var(--btn-wspc, inherit);
25
+ margin: var(--btn-spc, 0);
26
+ transition: var(--tran-all);
27
+ background-color: var(--btn-bg, var(--btn));
28
+ outline: none;
29
+ width: var(--btn-width);
30
+ }
31
+ button[type] {
32
+ background-color: var(--btn-bg, var(--neutral-300));
33
+ --btn-bdr: solid var(--btn-sg);
34
+ }
35
+ button[type=submit], button[style*=submit] {
36
+ --btn-bg: var(--primary-500, royal-blue);
37
+ --btn-color: white;
38
+ }
39
+ button[disabled], button[aria-disabled=true] {
40
+ cursor: var(--btn-cursor, not-allowed);
41
+ }
42
+ button[disabled]:is(:hover, :focus), button[aria-disabled=true]:is(:hover, :focus) {
43
+ transform: none;
44
+ }
45
+ button:is(:hover, :focus) {
46
+ background-color: var(--btn-bg, var(--btn, lightgray));
47
+ filter: invert(1) hue-rotate 180deg;
48
+ transform: scale(0.95) var(--line-style, solid);
49
+ outline-offset: var(--line-offset, 5px);
50
+ }
51
+ button:is(:hover, :focus)[aria-disabled=true] {
52
+ transform: none;
53
+ opacity: var(--btn-opacity, 0.5);
54
+ }
55
+ button[type=reset] {
56
+ --btn-bg: transparent;
57
+ --btn-color: gray;
58
+ --btn-bdr: gray thin solid;
59
+ }
60
+ button[type=submit] {
61
+ --btn-bg: var(--primary-700, blue);
62
+ --btn-cl: #fff;
63
+ --btn-color: rgb(231, 231, 231);
64
+ --btn-border: none;
65
+ }
66
+ button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
67
+ border-radius: var(--btn-pill, 100rem);
68
+ }
69
+ button[data-btn~=sm] {
70
+ --btn-fs: var(--btn-sm);
71
+ }
72
+ button[data-btn~=md] {
73
+ --btn-fs: var(--btn-md);
74
+ }
75
+ button[data-btn~=lg] {
76
+ --btn-fs: var(--btn-lg);
77
+ }
78
+ button[data-btn~=text] {
79
+ --btn-bg: transparent;
80
+ --btn-cl: currentColor;
81
+ --btn-bdr: none;
82
+ --btn-height: unset;
83
+ --btn-width: unset;
84
+ --btn-py: 0.75rem;
85
+ --btn-px: 0.75rem;
86
+ }
87
+ button[data-btn~=text]:is(:hover, :focus) {
88
+ background-color: transparent;
89
+ outline: 0.07rem solid var(--btn-cl);
90
+ outline-offset: 0;
91
+ }
92
+
93
+ /*# sourceMappingURL=button.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/buttons/button.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAEE;EACA;;AAGF;EAEE;;AAGA;EACE;;AAOJ;EAEE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EAGE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA","file":"button.css"}
@@ -0,0 +1,3 @@
1
+
2
+
3
+ /*# sourceMappingURL=card-style.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"card-style.css"}
@@ -0,0 +1,48 @@
1
+ [data-card],
2
+ [data-component~=card] {
3
+ --card-p: 2rem;
4
+ --card-bg: #fff;
5
+ --card-radius: calc(var(--card-p) / 3);
6
+ --card-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
7
+ --card-position: relative;
8
+ --card-display: flex;
9
+ --card-direction: column;
10
+ --card-gap: 1rem;
11
+ position: relative;
12
+ display: var(--card-display);
13
+ display: var(--card-display);
14
+ flex-direction: var(--card-direction);
15
+ gap: var(--card-gap);
16
+ box-shadow: var(--card-shadow);
17
+ border-radius: var(--card-radius);
18
+ background-color: var(--card-bg);
19
+ }
20
+ [data-card] [data-card-content],
21
+ [data-card] h3,
22
+ [data-card] h2,
23
+ [data-component~=card] [data-card-content],
24
+ [data-component~=card] h3,
25
+ [data-component~=card] h2 {
26
+ margin-block-end: 0;
27
+ }
28
+ [data-card] > div,
29
+ [data-component~=card] > div {
30
+ height: 100%;
31
+ display: var(--card-display);
32
+ flex-direction: var(--card-direction);
33
+ gap: var(--card-gap);
34
+ }
35
+ [data-card] > div article,
36
+ [data-component~=card] > div article {
37
+ flex: 2;
38
+ }
39
+ [data-card] + div,
40
+ [data-component~=card] + div {
41
+ margin-block-start: 0;
42
+ }
43
+
44
+ [data-card] > * {
45
+ padding: var(--card-p);
46
+ }
47
+
48
+ /*# sourceMappingURL=card.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/cards/card.scss"],"names":[],"mappings":"AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEF;AAAA;EACE;EACA;EACA;EACA;;AACA;AAAA;EACE;;AAIJ;AAAA;EACE;;;AAIJ;EACE","file":"card.css"}
@@ -0,0 +1,69 @@
1
+ details {
2
+ --details-w: 100%;
3
+ --details-h: fit-content;
4
+ --details-border: 1px solid #dfdfdf;
5
+ --details-display: flex;
6
+ --details-justify: flex-start;
7
+ --details-direction: columns;
8
+ --details-gap: 5rem;
9
+ --details-px: 1.5rem;
10
+ --details-py: 1.5rem;
11
+ --details-radius: 0.5rem;
12
+ --summary-cursor: pointer;
13
+ --summary-transitions: all 0.75s linear;
14
+ --summary-display: flex;
15
+ --summary-justify: flex-start;
16
+ --summary-align: center;
17
+ --summary-gap: 0.5rem;
18
+ --max-h-closed: 6.25rem;
19
+ --max-h-open: 50rem;
20
+ display: var(--details-display);
21
+ flex-direction: var(--details-direction);
22
+ justify-content: var(--details-justify);
23
+ gap: var(--details-gap);
24
+ width: var(--details-w);
25
+ border: var(--details-border);
26
+ transition: var(--summary-transitions);
27
+ max-height: var(--max-h-closed);
28
+ overflow: clip;
29
+ border-radius: var(--details-radius);
30
+ }
31
+ details::marker {
32
+ content: none;
33
+ }
34
+ details summary {
35
+ display: var(--summary-display);
36
+ justify-content: var(--summary-justify);
37
+ align-items: var(--summary-align);
38
+ padding-inline: var(--summary-px, var(--details-px));
39
+ padding-block: var(--summary-py, var(--details-py));
40
+ gap: var(--summary-gap);
41
+ list-style: none;
42
+ /* This ensures no bullet points are shown */
43
+ }
44
+ details summary::-webkit-details-marker {
45
+ display: none;
46
+ }
47
+ details summary:hover {
48
+ cursor: var(--summary-cursor);
49
+ }
50
+ details summary > section {
51
+ width: var(--details-w);
52
+ }
53
+ details > section {
54
+ padding-inline: var(--details-px);
55
+ padding-block: var(--details-py);
56
+ border: 1px transparent solid;
57
+ }
58
+ details[open] {
59
+ max-height: var(--max-h-open);
60
+ transition: var(--summary-transitions);
61
+ }
62
+ details[open] > summary {
63
+ border-bottom: var(--details-border);
64
+ }
65
+ details[open] > section {
66
+ max-height: var(--max-h-open);
67
+ }
68
+
69
+ /*# sourceMappingURL=details.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/details/details.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAMA;;AAJA;EACE;;AAKF;EACE;;AAEF;EACE;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AAEF;EACE","file":"details.css"}
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/dropdowns/dropdown.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE","file":"dropdown.css"}