@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,562 @@
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
+ /* NOTE: Using this means the color and background-color are set to transparent for selected text... */
12
+ /* So you can customise your styles below */
13
+ color: #fff;
14
+ background-color: #00f;
15
+ }
16
+
17
+ /*
18
+ 3. Allow percentage-based heights in the application
19
+ */
20
+ html,
21
+ body {
22
+ height: 100%;
23
+ font-size: 100%;
24
+ }
25
+
26
+ /* Set core root defaults */
27
+ html:focus-within {
28
+ scroll-behavior: smooth;
29
+ }
30
+
31
+ /* Remove default margin */
32
+ body,
33
+ h1,
34
+ h2,
35
+ h3,
36
+ h4,
37
+ p,
38
+ figure,
39
+ blockquote,
40
+ dl,
41
+ dd {
42
+ margin: 0;
43
+ }
44
+
45
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
46
+ ul[role=list],
47
+ ol[role=list] {
48
+ list-style: none;
49
+ margin-block-end: 0;
50
+ margin-block-start: 0;
51
+ padding-inline-start: 0;
52
+ }
53
+
54
+ /* Set core body defaults */
55
+ body {
56
+ min-height: 100vh;
57
+ text-rendering: optimizeSpeed;
58
+ line-height: 1.5;
59
+ }
60
+
61
+ /* A elements that don't have a class get default styles */
62
+ a:not([class]) {
63
+ text-decoration-skip-ink: auto;
64
+ }
65
+
66
+ a,
67
+ button {
68
+ cursor: pointer;
69
+ }
70
+
71
+ /* Make images easier to work with */
72
+ img,
73
+ picture,
74
+ video,
75
+ canvas {
76
+ display: block;
77
+ max-width: 100%;
78
+ aspect-ratio: auto;
79
+ }
80
+
81
+ img,
82
+ video,
83
+ iframe {
84
+ max-inline-size: 100%;
85
+ block-size: auto;
86
+ }
87
+
88
+ img {
89
+ max-width: 100%;
90
+ height: auto;
91
+ vertical-align: middle;
92
+ font-style: italic;
93
+ background-repeat: no-repeat;
94
+ background-size: cover;
95
+ shape-margin: 0.75rem;
96
+ }
97
+
98
+ svg {
99
+ display: inline-block;
100
+ }
101
+
102
+ /* Inherit fonts for inputs and buttons */
103
+ input,
104
+ textarea,
105
+ select {
106
+ font-family: inherit;
107
+ font-size: inherit;
108
+ font-style: inherit;
109
+ font-weight: inherit;
110
+ font-variant: inherit;
111
+ line-height: inherit;
112
+ background-color: inherit;
113
+ }
114
+
115
+ /* Inherit fonts for inputs and buttons */
116
+ :where(button) {
117
+ font-family: inherit;
118
+ }
119
+
120
+ /* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
121
+ @media (prefers-reduced-motion: reduce) {
122
+ html:focus-within {
123
+ scroll-behavior: auto;
124
+ }
125
+ *,
126
+ *::before,
127
+ *::after {
128
+ animation-duration: 0.01ms !important;
129
+ animation-iteration-count: 1 !important;
130
+ transition-duration: 0.01ms !important;
131
+ scroll-behavior: auto !important;
132
+ }
133
+ }
134
+ /* Create a root stacking context */
135
+ #root,
136
+ #__next {
137
+ isolation: isolate;
138
+ }
139
+
140
+ p,
141
+ h1,
142
+ h2,
143
+ h3,
144
+ h4,
145
+ h5,
146
+ h6 {
147
+ overflow-wrap: break-word;
148
+ }
149
+
150
+ *:focus {
151
+ outline: none;
152
+ }
153
+
154
+ /* Removes spacing between cells in tables */
155
+ table {
156
+ border-collapse: collapse;
157
+ }
158
+
159
+ svg {
160
+ max-width: inline-size;
161
+ /* Optional - make the SVG's fill be the same as the inherited color */
162
+ /* Prevent the SVG from altering cursor interaction */
163
+ pointer-events: none;
164
+ }
165
+
166
+ svg[role=img] {
167
+ display: inline-flex;
168
+ align-items: center;
169
+ width: auto;
170
+ }
171
+
172
+ :root {
173
+ --font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI",
174
+ "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
175
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
176
+ --fs: 1rem;
177
+ }
178
+
179
+ html {
180
+ font-family: var(--font-family);
181
+ font-size: var(--fs);
182
+ }
183
+
184
+ main,
185
+ header,
186
+ footer {
187
+ font-size: var(--fs);
188
+ }
189
+
190
+ main > section,
191
+ header > section,
192
+ footer > section {
193
+ margin-inline: auto;
194
+ width: var(--content-w, 80%);
195
+ }
196
+
197
+ main > div,
198
+ header > div,
199
+ footer > div {
200
+ text-align: center;
201
+ }
202
+
203
+ section:not(nav) {
204
+ margin-inline: var(--sect-y, auto);
205
+ padding-block: var(--sect-x, --spc-4);
206
+ }
207
+
208
+ p {
209
+ font-size: var(--fs);
210
+ }
211
+
212
+ p + p {
213
+ margin-block-start: 1rem;
214
+ }
215
+
216
+ button {
217
+ --btn-sm: calc(12rem / 16);
218
+ --btn-md: calc(16rem / 16);
219
+ --btn-lg: calc(21rem / 16);
220
+ --btn-pill: 100rem;
221
+ --btn-height: calc(40rem / 16);
222
+ --fs: 0.95rem;
223
+ --btn-fs: calc(15rem / 16);
224
+ --btn-bg: lightgray;
225
+ --btn-width: max-content;
226
+ font-size: var(--btn-fs);
227
+ font-weight: var(--btn-fw, 500);
228
+ height: var(--btn-height, 2.5rem);
229
+ min-height: var(--btn-height);
230
+ place-items: var(--btn-place, center);
231
+ padding-inline: var(--btn-px, calc(var(--btn-fs) + 1.1%));
232
+ padding-block: var(--btn-py, calc(var(--btn-fs) + 0.75%));
233
+ border: var(--btn-bdr, none);
234
+ border-radius: var(--btn-rds, 0.375rem);
235
+ text-decoration: var(--btn-deco, none);
236
+ color: var(--btn-cl, currentColor);
237
+ display: var(--btn-dsp, inline-flex);
238
+ gap: var(--btn-gap, 0.2rem);
239
+ white-space: var(--btn-wspc, inherit);
240
+ margin: var(--btn-spc, 0);
241
+ transition: var(--tran-all);
242
+ background-color: var(--btn-bg, var(--btn));
243
+ outline: none;
244
+ width: var(--btn-width);
245
+ }
246
+
247
+ button[type] {
248
+ background-color: var(--btn-bg, var(--neutral-300));
249
+ --btn-bdr: solid var(--btn-sg);
250
+ }
251
+
252
+ button[type=submit],
253
+ button[style*=submit] {
254
+ --btn-bg: var(--primary-500, royal-blue);
255
+ --btn-color: white;
256
+ }
257
+
258
+ button[disabled],
259
+ button[aria-disabled=true] {
260
+ cursor: var(--btn-cursor, not-allowed);
261
+ opacity: var(--btn-opacity, 0.5);
262
+ }
263
+
264
+ button[disabled]:is(:hover, :focus),
265
+ button[aria-disabled=true]:is(:hover, :focus) {
266
+ transform: none;
267
+ opacity: var(--btn-opacity, 0.5);
268
+ }
269
+
270
+ button:is(:hover, :focus) {
271
+ --btn-cl: var(--btn-cl-hover);
272
+ background-color: var(--btn-bg, var(--btn, lightgray));
273
+ filter: invert(1) hue-rotate 180deg;
274
+ transform: scale(0.95);
275
+ outline-offset: var(--line-offset, 5px);
276
+ }
277
+
278
+ button:is(:hover, :focus)[aria-disabled=true] {
279
+ transform: none;
280
+ opacity: var(--btn-opacity, 0.5);
281
+ }
282
+
283
+ button[type=reset] {
284
+ --btn-bg: transparent;
285
+ --btn-color: gray;
286
+ --btn-bdr: gray thin solid;
287
+ }
288
+
289
+ button[type=submit] {
290
+ --btn-bg: var(--primary-700, blue);
291
+ --btn-cl: #fff;
292
+ --btn-color: rgb(231, 231, 231);
293
+ --btn-border: none;
294
+ }
295
+
296
+ button[data-fp-btn~=pill],
297
+ button[data-btn~=pill],
298
+ button[data-style~=pill] {
299
+ border-radius: var(--btn-pill, 100rem);
300
+ }
301
+
302
+ button[data-btn~=sm] {
303
+ --btn-fs: var(--btn-sm);
304
+ }
305
+
306
+ button[data-btn~=md] {
307
+ --btn-fs: var(--btn-md);
308
+ }
309
+
310
+ button[data-btn~=lg] {
311
+ --btn-fs: var(--btn-lg);
312
+ }
313
+
314
+ p[role=note],
315
+ [role=note],
316
+ [data-badge] {
317
+ --beta: var(--warning-500, orange);
318
+ --stable: var(--success-500, green);
319
+ --production: rgb(44, 71, 151);
320
+ --badge-px: 0.7rem;
321
+ --badge-py: 0.2rem;
322
+ --badge-fs: 0.8rem;
323
+ --badge-radius: 99rem;
324
+ --badge-bg: lightgray;
325
+ --badge-fw: 500;
326
+ --badge-color: currentColor;
327
+ --badge-display: inline-block;
328
+ display: var(--badge-display);
329
+ padding-inline: var(--badge-px);
330
+ padding-block: var(--badge-py);
331
+ color: var(--badge-color);
332
+ background-color: var(--badge-bg);
333
+ border-radius: var(--badge-radius);
334
+ }
335
+
336
+ p[role=note][data-badge~=beta],
337
+ [role=note][data-badge~=beta],
338
+ [data-badge][data-badge~=beta] {
339
+ background-color: var(--beta);
340
+ }
341
+
342
+ p[role=note][data-badge~=stable],
343
+ [role=note][data-badge~=stable],
344
+ [data-badge][data-badge~=stable] {
345
+ --badge-cl: white;
346
+ --badge-bg: var(--stable);
347
+ }
348
+
349
+ p[role=note][data-badge~=production],
350
+ [role=note][data-badge~=production],
351
+ [data-badge][data-badge~=production] {
352
+ --badge-color: white;
353
+ --badge-bg: var(--production);
354
+ }
355
+
356
+ p[role=note][data-badge~=beta],
357
+ [role=note][data-badge~=beta],
358
+ [data-badge][data-badge~=beta] {
359
+ --badge-color: currentColor;
360
+ --badge-bg: var(--beta);
361
+ }
362
+
363
+ p[role=note][data-badge~=alpha],
364
+ [role=note][data-badge~=alpha],
365
+ [data-badge][data-badge~=alpha] {
366
+ --badge-color: currentColor;
367
+ --badge-bg: var(--beta);
368
+ }
369
+
370
+ p[role=note][data-badge~=beta],
371
+ [role=note][data-badge~=beta],
372
+ [data-badge][data-badge~=beta] {
373
+ --badge-color: currentColor;
374
+ --badge-bg: var(--beta);
375
+ }
376
+
377
+ p[role=note] {
378
+ --badge-display: block;
379
+ --border-radius: 0.5rem;
380
+ }
381
+
382
+ [data-card],
383
+ [data-component~=card] {
384
+ --card-p: 2rem;
385
+ --card-bg: #fff;
386
+ --card-radius: calc(var(--card-p) / 3);
387
+ --card-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
388
+ --card-position: relative;
389
+ --card-display: flex;
390
+ --card-direction: column;
391
+ --card-gap: 1rem;
392
+ position: relative;
393
+ display: var(--card-display);
394
+ padding: var(--card-p);
395
+ display: var(--card-display);
396
+ flex-direction: var(--card-direction);
397
+ gap: var(--card-gap);
398
+ box-shadow: var(--card-shadow);
399
+ border-radius: var(--card-radius);
400
+ }
401
+
402
+ details {
403
+ --details-display: "flex";
404
+ --details-flex-direction: "column";
405
+ --details-align-items: "flex-start";
406
+ --details-margin: "0";
407
+ --details-width: "100%";
408
+ --details-padding-x: "0";
409
+ --details-padding-y: "1.5rem";
410
+ display: var(--details-display);
411
+ flex-direction: var(--details-flex-direction);
412
+ align-items: var(--details-align-items);
413
+ margin: var(--details-margin);
414
+ width: var(--details-width);
415
+ padding-inline: var(--details-padding-x);
416
+ padding-block: var(--details-padding-y);
417
+ }
418
+
419
+ details > summary {
420
+ width: var(--details-width);
421
+ display: var(--details-display);
422
+ }
423
+
424
+ details > div {
425
+ padding: var(--details-padding-y);
426
+ }
427
+
428
+ progress {
429
+ /* Revert all styles */
430
+ all: revert;
431
+ --progress-w: 100%;
432
+ --progress-h: 1rem;
433
+ --progress-bg: #cccccc;
434
+ --progress-color: rgb(71, 71, 245);
435
+ --progress-accent-color: var(--progress-color);
436
+ /* This code changes the color of the progress bar. */
437
+ /* The variable names indicate the colors that are used. */
438
+ /* The colors are used in the progress bar. */
439
+ /* If the progress element is busy, remove the revert styles */
440
+ }
441
+
442
+ progress[value] {
443
+ width: var(--progress-w);
444
+ height: var(--progress-h);
445
+ background-color: var(--progress-bg);
446
+ accent-color: var(--progress-accent-color);
447
+ /* Styling for the remaining part of the& bar */
448
+ }
449
+
450
+ progress[value]::-webkit-progress-value {
451
+ /* Color for Chrome, Safari, and newer Opera */
452
+ background-color: var(--progress-accent-color);
453
+ accent-color: var(--progress-accent-color);
454
+ }
455
+
456
+ progress[value]::-moz-progress-bar {
457
+ /* Color for Firefox */
458
+ background-color: var(--progress-accent-color);
459
+ accent-color: var(--progress-accent-color);
460
+ }
461
+
462
+ progress[value]::-webkit-progress-bar {
463
+ /* Background for Chrome, Safari, and newer Opera */
464
+ background-color: var(--progress-background-color);
465
+ accent-color: var(--progress-accent-color);
466
+ }
467
+
468
+ progress[aria-busy] {
469
+ width: var(--progress-w);
470
+ height: var(--progress-h);
471
+ accent-color: var(--progress-accent-color);
472
+ /* Styling for the remaining part of the& bar */
473
+ }
474
+
475
+ progress[aria-busy]::-webkit-progress-value {
476
+ /* Color for Chrome, Safari, and newer Opera */
477
+ accent-color: var(--progress-accent-color);
478
+ }
479
+
480
+ progress[aria-busy]::-moz-progress-bar {
481
+ accent-color: var(--progress-accent-color);
482
+ }
483
+
484
+ progress[aria-busy]::-webkit-progress-bar {
485
+ /* Background for Chrome, Safari, and newer Opera */
486
+ accent-color: var(--progress-accent-color);
487
+ }
488
+
489
+ details {
490
+ --details-w: 100%;
491
+ --details-h: fit-content;
492
+ --details-border: 1px solid #dfdfdf;
493
+ --details-display: flex;
494
+ --details-justify: flex-start;
495
+ --details-direction: columns;
496
+ --details-gap: 5rem;
497
+ --details-px: 2rem;
498
+ --details-py: 1.5rem;
499
+ --details-radius: 0.5rem;
500
+ --summary-cursor: pointer;
501
+ --summary-transitions: all 0.75s ease-in-out;
502
+ --summary-display: flex;
503
+ --summary-justify: flex-start;
504
+ --summary-align: center;
505
+ --summary-gap: 0.5rem;
506
+ --max-h-closed: 200px;
507
+ --max-h-open: 50rem;
508
+ display: var(--details-display);
509
+ flex-direction: var(--details-direction);
510
+ justify-content: var(--details-justify);
511
+ gap: var(--details-gap);
512
+ width: var(--details-w);
513
+ border: var(--details-border);
514
+ transition: var(--summary-transitions);
515
+ max-height: var(--max-h-closed);
516
+ overflow: clip;
517
+ border-radius: var(--details-radius);
518
+ }
519
+
520
+ details::marker {
521
+ content: none;
522
+ }
523
+
524
+ details summary {
525
+ display: var(--summary-display);
526
+ justify-content: var(--summary-justify);
527
+ align-items: var(--summary-align);
528
+ padding-inline: var(--summary-px, var(--details-px));
529
+ padding-block: var(--summary-py, var(--details-py));
530
+ gap: var(--summary-gap);
531
+ }
532
+
533
+ details summary:hover {
534
+ cursor: var(--summary-cursor);
535
+ }
536
+
537
+ details summary > section {
538
+ width: var(--details-w);
539
+ }
540
+
541
+ details > section {
542
+ padding-inline: var(--details-px);
543
+ padding-block: var(--details-py);
544
+ border: 1px transparent solid;
545
+ }
546
+
547
+ details[open] {
548
+ max-height: var(--max-h-open);
549
+ transition: var(--summary-transitions);
550
+ }
551
+
552
+ details[open] > summary {
553
+ border-bottom: var(--details-border);
554
+ }
555
+
556
+ details[open] > section {
557
+ max-height: var(--max-h-open);
558
+ }
559
+
560
+
561
+
562
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/styles/index.css"],"names":[],"mappings":"AAAA;AAAA;AAAA;EAGE;;;AAGF;AACE;AACA;EACA;AACA;AACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAGA;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;;AAGF;AACA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AACA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;IACE;;EAEF;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;AAGJ;AACA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;AACA;AACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;AAAA;AAAA;EAGA;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAEF;AAAA;AAAA;EAGE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;AAAA;AAAA;EAGE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;AAAA;AAAA;EAGE;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAEF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;AACE;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AACA;AACA;AACA;;;AAEF;EACE;EACA;EACA;EACA;AACA;;;AAEF;AACE;EACA;EACA;;;AAEF;AACE;EACA;EACA;;;AAEF;AACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;AACA;;;AAEF;AACE;EACA;;;AAEF;EACE;;;AAEF;AACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAGF","file":"index.css"}
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/tag/badge.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAEF;AAAA;AAAA;EACE;EACA;;;AAGJ;EACE;EACA","file":"badge.css"}
@@ -0,0 +1,71 @@
1
+ p[role=note],
2
+ [role=note],
3
+ small > span,
4
+ [data-tag] {
5
+ --beta: var(--warning-500, orange);
6
+ --stable: var(--success-500, green);
7
+ --production: rgb(44, 71, 151);
8
+ --tag-px: 0.7rem;
9
+ --tag-py: 0.2rem;
10
+ --tag-fs: 0.8rem;
11
+ --tag-radius: 99rem;
12
+ --tag-bg: lightgray;
13
+ --tag-fw: 500;
14
+ --tag-color: currentColor;
15
+ --tag-display: inline-block;
16
+ display: var(--tag-display);
17
+ padding-inline: var(--tag-px);
18
+ padding-block: var(--tag-py);
19
+ font-size: var(--tag-fs);
20
+ color: var(--tag-color);
21
+ background-color: var(--tag-bg);
22
+ border-radius: var(--tag-radius);
23
+ }
24
+ p[role=note][data-tag~=beta],
25
+ [role=note][data-tag~=beta],
26
+ small > span[data-tag~=beta],
27
+ [data-tag][data-tag~=beta] {
28
+ background-color: var(--beta);
29
+ }
30
+ p[role=note][data-tag~=stable],
31
+ [role=note][data-tag~=stable],
32
+ small > span[data-tag~=stable],
33
+ [data-tag][data-tag~=stable] {
34
+ --tag-cl: white;
35
+ --tag-bg: var(--stable);
36
+ }
37
+ p[role=note][data-tag~=production],
38
+ [role=note][data-tag~=production],
39
+ small > span[data-tag~=production],
40
+ [data-tag][data-tag~=production] {
41
+ --tag-color: white;
42
+ --tag-bg: var(--production);
43
+ }
44
+ p[role=note][data-tag~=beta],
45
+ [role=note][data-tag~=beta],
46
+ small > span[data-tag~=beta],
47
+ [data-tag][data-tag~=beta] {
48
+ --tag-color: currentColor;
49
+ --tag-bg: var(--beta);
50
+ }
51
+ p[role=note][data-tag~=alpha],
52
+ [role=note][data-tag~=alpha],
53
+ small > span[data-tag~=alpha],
54
+ [data-tag][data-tag~=alpha] {
55
+ --tag-color: currentColor;
56
+ --tag-bg: var(--beta);
57
+ }
58
+ p[role=note][data-tag~=beta],
59
+ [role=note][data-tag~=beta],
60
+ small > span[data-tag~=beta],
61
+ [data-tag][data-tag~=beta] {
62
+ --tag-color: currentColor;
63
+ --tag-bg: var(--beta);
64
+ }
65
+
66
+ p[role=note] {
67
+ --tag-display: block;
68
+ --border-radius: 0.5rem;
69
+ }
70
+
71
+ /*# sourceMappingURL=tag.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/tag/tag.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;;;AAGJ;EACE;EACA","file":"tag.css"}
@@ -0,0 +1,32 @@
1
+ [data-tts] {
2
+ --tts-gap: 0.5rem;
3
+ --tts-bg: #fff;
4
+ --tts-border-width: 0.125rem;
5
+ --tts-border-style: solid;
6
+ --tts-border-color: currentColor;
7
+ --tts-radius: 99rem;
8
+ --tts-padding: 0.5rem;
9
+ --tts-min-width: 20.3125rem;
10
+ --tts-align-items: center;
11
+ --tts-justify-content: center;
12
+ display: flex;
13
+ gap: var(--tts-gap);
14
+ align-items: var(--tts-align-items);
15
+ justify-content: var(--tts-justify-content);
16
+ background-color: var(--tts-bg);
17
+ border: none;
18
+ outline: var(--tts-border-width) var(--tts-border-style) var(--tts-border-color);
19
+ border-radius: var(--tts-radius);
20
+ padding: var(--tts-padding);
21
+ min-width: var(--tts-min-width);
22
+ }
23
+ [data-tts] button[data-btn~=tts-btn],
24
+ [data-tts] .tts-border {
25
+ outline: none;
26
+ }
27
+ [data-tts] button[data-btn~=tts-btn]:hover,
28
+ [data-tts] .tts-border:hover {
29
+ outline: var(--tts-border-width) var(--tts-border-style);
30
+ }
31
+
32
+ /*# sourceMappingURL=text-to-speech.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../components/text-to-speech/text-to-speech.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AACA;AAAA;EAEE;;AACA;AAAA;EACE","file":"text-to-speech.css"}
@@ -0,0 +1,6 @@
1
+ import '@testing-library/jest-dom'
2
+
3
+ import matchers from '@testing-library/jest-dom/matchers';
4
+ import { expect } from 'vitest';
5
+
6
+ expect.extend(matchers);