@tribepad/themis 1.0.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 (654) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +114 -0
  4. package/dist/Carousel-NTZX5TOW.js +16 -0
  5. package/dist/Carousel-NTZX5TOW.js.map +1 -0
  6. package/dist/Carousel-YH3DOQJU.mjs +7 -0
  7. package/dist/Carousel-YH3DOQJU.mjs.map +1 -0
  8. package/dist/chunk-2HIUTHMU.mjs +234 -0
  9. package/dist/chunk-2HIUTHMU.mjs.map +1 -0
  10. package/dist/chunk-34GTFTDO.js +431 -0
  11. package/dist/chunk-34GTFTDO.js.map +1 -0
  12. package/dist/chunk-3H7ASYR7.js +250 -0
  13. package/dist/chunk-3H7ASYR7.js.map +1 -0
  14. package/dist/chunk-3IEN7JOP.js +316 -0
  15. package/dist/chunk-3IEN7JOP.js.map +1 -0
  16. package/dist/chunk-3JHN4GAL.js +326 -0
  17. package/dist/chunk-3JHN4GAL.js.map +1 -0
  18. package/dist/chunk-3MJPASQU.js +232 -0
  19. package/dist/chunk-3MJPASQU.js.map +1 -0
  20. package/dist/chunk-3XD2JUL3.js +572 -0
  21. package/dist/chunk-3XD2JUL3.js.map +1 -0
  22. package/dist/chunk-3YOY2VJ6.js +189 -0
  23. package/dist/chunk-3YOY2VJ6.js.map +1 -0
  24. package/dist/chunk-4DU5JSXB.js +408 -0
  25. package/dist/chunk-4DU5JSXB.js.map +1 -0
  26. package/dist/chunk-4E4E2GSS.js +352 -0
  27. package/dist/chunk-4E4E2GSS.js.map +1 -0
  28. package/dist/chunk-4NHAP4AN.mjs +3 -0
  29. package/dist/chunk-4NHAP4AN.mjs.map +1 -0
  30. package/dist/chunk-4S33J5NY.mjs +415 -0
  31. package/dist/chunk-4S33J5NY.mjs.map +1 -0
  32. package/dist/chunk-5SMGRT3G.mjs +354 -0
  33. package/dist/chunk-5SMGRT3G.mjs.map +1 -0
  34. package/dist/chunk-5SVLJN2C.mjs +22 -0
  35. package/dist/chunk-5SVLJN2C.mjs.map +1 -0
  36. package/dist/chunk-66WTU4EB.mjs +299 -0
  37. package/dist/chunk-66WTU4EB.mjs.map +1 -0
  38. package/dist/chunk-6S25NMOT.mjs +335 -0
  39. package/dist/chunk-6S25NMOT.mjs.map +1 -0
  40. package/dist/chunk-6SP7UB3D.js +4 -0
  41. package/dist/chunk-6SP7UB3D.js.map +1 -0
  42. package/dist/chunk-6TYWWQHM.mjs +565 -0
  43. package/dist/chunk-6TYWWQHM.mjs.map +1 -0
  44. package/dist/chunk-A3YUJA6W.mjs +384 -0
  45. package/dist/chunk-A3YUJA6W.mjs.map +1 -0
  46. package/dist/chunk-A6KEDVUR.js +61 -0
  47. package/dist/chunk-A6KEDVUR.js.map +1 -0
  48. package/dist/chunk-A77RUEWL.js +730 -0
  49. package/dist/chunk-A77RUEWL.js.map +1 -0
  50. package/dist/chunk-AA4IKMPE.mjs +3 -0
  51. package/dist/chunk-AA4IKMPE.mjs.map +1 -0
  52. package/dist/chunk-AKIA6GW6.mjs +163 -0
  53. package/dist/chunk-AKIA6GW6.mjs.map +1 -0
  54. package/dist/chunk-AL6P275L.mjs +435 -0
  55. package/dist/chunk-AL6P275L.mjs.map +1 -0
  56. package/dist/chunk-AZ3RJYTB.js +37 -0
  57. package/dist/chunk-AZ3RJYTB.js.map +1 -0
  58. package/dist/chunk-B5Q4UPL6.js +32 -0
  59. package/dist/chunk-B5Q4UPL6.js.map +1 -0
  60. package/dist/chunk-B6DHPMDP.mjs +335 -0
  61. package/dist/chunk-B6DHPMDP.mjs.map +1 -0
  62. package/dist/chunk-BDXKKMBZ.mjs +184 -0
  63. package/dist/chunk-BDXKKMBZ.mjs.map +1 -0
  64. package/dist/chunk-BL6E2DLZ.mjs +52 -0
  65. package/dist/chunk-BL6E2DLZ.mjs.map +1 -0
  66. package/dist/chunk-CGFDS4XS.mjs +121 -0
  67. package/dist/chunk-CGFDS4XS.mjs.map +1 -0
  68. package/dist/chunk-CJIW5TKI.js +139 -0
  69. package/dist/chunk-CJIW5TKI.js.map +1 -0
  70. package/dist/chunk-CKNISJOQ.js +314 -0
  71. package/dist/chunk-CKNISJOQ.js.map +1 -0
  72. package/dist/chunk-D6CBOECS.mjs +1757 -0
  73. package/dist/chunk-D6CBOECS.mjs.map +1 -0
  74. package/dist/chunk-DDWEVC2S.js +166 -0
  75. package/dist/chunk-DDWEVC2S.js.map +1 -0
  76. package/dist/chunk-DZ556D2F.mjs +176 -0
  77. package/dist/chunk-DZ556D2F.mjs.map +1 -0
  78. package/dist/chunk-E2KQFV3O.mjs +10 -0
  79. package/dist/chunk-E2KQFV3O.mjs.map +1 -0
  80. package/dist/chunk-EMMLADSC.js +126 -0
  81. package/dist/chunk-EMMLADSC.js.map +1 -0
  82. package/dist/chunk-EP4WOI5D.mjs +926 -0
  83. package/dist/chunk-EP4WOI5D.mjs.map +1 -0
  84. package/dist/chunk-FJRXLJC2.mjs +160 -0
  85. package/dist/chunk-FJRXLJC2.mjs.map +1 -0
  86. package/dist/chunk-FKQI434R.js +345 -0
  87. package/dist/chunk-FKQI434R.js.map +1 -0
  88. package/dist/chunk-FPKEAJRZ.mjs +100 -0
  89. package/dist/chunk-FPKEAJRZ.mjs.map +1 -0
  90. package/dist/chunk-FWQYB22U.js +183 -0
  91. package/dist/chunk-FWQYB22U.js.map +1 -0
  92. package/dist/chunk-GD5GHTMA.js +189 -0
  93. package/dist/chunk-GD5GHTMA.js.map +1 -0
  94. package/dist/chunk-GE5XTSDZ.js +447 -0
  95. package/dist/chunk-GE5XTSDZ.js.map +1 -0
  96. package/dist/chunk-GVE47ZAX.mjs +32 -0
  97. package/dist/chunk-GVE47ZAX.mjs.map +1 -0
  98. package/dist/chunk-HK46BT5U.mjs +18 -0
  99. package/dist/chunk-HK46BT5U.mjs.map +1 -0
  100. package/dist/chunk-HQVRMR6N.js +365 -0
  101. package/dist/chunk-HQVRMR6N.js.map +1 -0
  102. package/dist/chunk-HSGBJPJO.mjs +398 -0
  103. package/dist/chunk-HSGBJPJO.mjs.map +1 -0
  104. package/dist/chunk-I3AUTOMZ.mjs +125 -0
  105. package/dist/chunk-I3AUTOMZ.mjs.map +1 -0
  106. package/dist/chunk-IEI5LD5C.mjs +1161 -0
  107. package/dist/chunk-IEI5LD5C.mjs.map +1 -0
  108. package/dist/chunk-IIPTC2X7.mjs +118 -0
  109. package/dist/chunk-IIPTC2X7.mjs.map +1 -0
  110. package/dist/chunk-J7TLHF2Q.js +4 -0
  111. package/dist/chunk-J7TLHF2Q.js.map +1 -0
  112. package/dist/chunk-JJOWXFXQ.mjs +765 -0
  113. package/dist/chunk-JJOWXFXQ.mjs.map +1 -0
  114. package/dist/chunk-JPTSS2OA.mjs +3 -0
  115. package/dist/chunk-JPTSS2OA.mjs.map +1 -0
  116. package/dist/chunk-KFXXRLTP.js +396 -0
  117. package/dist/chunk-KFXXRLTP.js.map +1 -0
  118. package/dist/chunk-KPRRBSG6.mjs +272 -0
  119. package/dist/chunk-KPRRBSG6.mjs.map +1 -0
  120. package/dist/chunk-NFSBGRDB.mjs +57 -0
  121. package/dist/chunk-NFSBGRDB.mjs.map +1 -0
  122. package/dist/chunk-NGJVCFTM.js +219 -0
  123. package/dist/chunk-NGJVCFTM.js.map +1 -0
  124. package/dist/chunk-NSQ6MZJ6.mjs +728 -0
  125. package/dist/chunk-NSQ6MZJ6.mjs.map +1 -0
  126. package/dist/chunk-NYQYHT76.mjs +296 -0
  127. package/dist/chunk-NYQYHT76.mjs.map +1 -0
  128. package/dist/chunk-OLJJGI5B.js +1193 -0
  129. package/dist/chunk-OLJJGI5B.js.map +1 -0
  130. package/dist/chunk-Q3572X2J.js +292 -0
  131. package/dist/chunk-Q3572X2J.js.map +1 -0
  132. package/dist/chunk-QH7N7D4I.mjs +210 -0
  133. package/dist/chunk-QH7N7D4I.mjs.map +1 -0
  134. package/dist/chunk-R7XUIV25.js +466 -0
  135. package/dist/chunk-R7XUIV25.js.map +1 -0
  136. package/dist/chunk-RFFO4KPM.js +135 -0
  137. package/dist/chunk-RFFO4KPM.js.map +1 -0
  138. package/dist/chunk-RFX7QKA7.mjs +180 -0
  139. package/dist/chunk-RFX7QKA7.mjs.map +1 -0
  140. package/dist/chunk-SN5LFAP3.js +940 -0
  141. package/dist/chunk-SN5LFAP3.js.map +1 -0
  142. package/dist/chunk-T4COXKQ3.js +24 -0
  143. package/dist/chunk-T4COXKQ3.js.map +1 -0
  144. package/dist/chunk-TS54QM27.js +125 -0
  145. package/dist/chunk-TS54QM27.js.map +1 -0
  146. package/dist/chunk-UE2S4PCX.mjs +220 -0
  147. package/dist/chunk-UE2S4PCX.mjs.map +1 -0
  148. package/dist/chunk-UTW3QX2A.mjs +282 -0
  149. package/dist/chunk-UTW3QX2A.mjs.map +1 -0
  150. package/dist/chunk-V74LGMAE.js +1767 -0
  151. package/dist/chunk-V74LGMAE.js.map +1 -0
  152. package/dist/chunk-VIREG536.js +12 -0
  153. package/dist/chunk-VIREG536.js.map +1 -0
  154. package/dist/chunk-VY7M7346.js +4 -0
  155. package/dist/chunk-VY7M7346.js.map +1 -0
  156. package/dist/chunk-W3TJOO7H.mjs +319 -0
  157. package/dist/chunk-W3TJOO7H.mjs.map +1 -0
  158. package/dist/chunk-WIUOB36M.js +54 -0
  159. package/dist/chunk-WIUOB36M.js.map +1 -0
  160. package/dist/chunk-WJGLM4CY.js +291 -0
  161. package/dist/chunk-WJGLM4CY.js.map +1 -0
  162. package/dist/chunk-WNURH5OO.mjs +453 -0
  163. package/dist/chunk-WNURH5OO.mjs.map +1 -0
  164. package/dist/chunk-X25TNRSD.mjs +364 -0
  165. package/dist/chunk-X25TNRSD.mjs.map +1 -0
  166. package/dist/chunk-Y3GT7ETK.js +108 -0
  167. package/dist/chunk-Y3GT7ETK.js.map +1 -0
  168. package/dist/chunk-Z4FRNOF6.mjs +115 -0
  169. package/dist/chunk-Z4FRNOF6.mjs.map +1 -0
  170. package/dist/chunk-ZMYLD3BN.js +166 -0
  171. package/dist/chunk-ZMYLD3BN.js.map +1 -0
  172. package/dist/chunk-ZP2KV6EX.js +815 -0
  173. package/dist/chunk-ZP2KV6EX.js.map +1 -0
  174. package/dist/chunk-ZVKXFELU.js +366 -0
  175. package/dist/chunk-ZVKXFELU.js.map +1 -0
  176. package/dist/elements/Accordion/Accordion.d.ts +139 -0
  177. package/dist/elements/Accordion/Accordion.d.ts.map +1 -0
  178. package/dist/elements/Accordion/Accordion.types.d.ts +143 -0
  179. package/dist/elements/Accordion/Accordion.types.d.ts.map +1 -0
  180. package/dist/elements/Accordion/index.d.ts +13 -0
  181. package/dist/elements/Accordion/index.d.ts.map +1 -0
  182. package/dist/elements/Accordion/index.js +78 -0
  183. package/dist/elements/Accordion/index.js.map +1 -0
  184. package/dist/elements/Accordion/index.mjs +5 -0
  185. package/dist/elements/Accordion/index.mjs.map +1 -0
  186. package/dist/elements/Avatar/Avatar.d.ts +51 -0
  187. package/dist/elements/Avatar/Avatar.d.ts.map +1 -0
  188. package/dist/elements/Avatar/Avatar.types.d.ts +145 -0
  189. package/dist/elements/Avatar/Avatar.types.d.ts.map +1 -0
  190. package/dist/elements/Avatar/AvatarGroup.d.ts +32 -0
  191. package/dist/elements/Avatar/AvatarGroup.d.ts.map +1 -0
  192. package/dist/elements/Avatar/index.d.ts +11 -0
  193. package/dist/elements/Avatar/index.d.ts.map +1 -0
  194. package/dist/elements/Avatar/index.js +54 -0
  195. package/dist/elements/Avatar/index.js.map +1 -0
  196. package/dist/elements/Avatar/index.mjs +5 -0
  197. package/dist/elements/Avatar/index.mjs.map +1 -0
  198. package/dist/elements/Badge/Badge.d.ts +39 -0
  199. package/dist/elements/Badge/Badge.d.ts.map +1 -0
  200. package/dist/elements/Badge/Badge.types.d.ts +76 -0
  201. package/dist/elements/Badge/Badge.types.d.ts.map +1 -0
  202. package/dist/elements/Badge/index.d.ts +18 -0
  203. package/dist/elements/Badge/index.d.ts.map +1 -0
  204. package/dist/elements/Badge/index.js +43 -0
  205. package/dist/elements/Badge/index.js.map +1 -0
  206. package/dist/elements/Badge/index.mjs +6 -0
  207. package/dist/elements/Badge/index.mjs.map +1 -0
  208. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +91 -0
  209. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  210. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts +114 -0
  211. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -0
  212. package/dist/elements/Breadcrumbs/index.d.ts +14 -0
  213. package/dist/elements/Breadcrumbs/index.d.ts.map +1 -0
  214. package/dist/elements/Breadcrumbs/index.js +54 -0
  215. package/dist/elements/Breadcrumbs/index.js.map +1 -0
  216. package/dist/elements/Breadcrumbs/index.mjs +9 -0
  217. package/dist/elements/Breadcrumbs/index.mjs.map +1 -0
  218. package/dist/elements/Button/Button.d.ts +92 -0
  219. package/dist/elements/Button/Button.d.ts.map +1 -0
  220. package/dist/elements/Button/Button.types.d.ts +54 -0
  221. package/dist/elements/Button/Button.types.d.ts.map +1 -0
  222. package/dist/elements/Button/index.d.ts +18 -0
  223. package/dist/elements/Button/index.d.ts.map +1 -0
  224. package/dist/elements/Button/index.js +27 -0
  225. package/dist/elements/Button/index.js.map +1 -0
  226. package/dist/elements/Button/index.mjs +6 -0
  227. package/dist/elements/Button/index.mjs.map +1 -0
  228. package/dist/elements/ButtonGroup/ButtonGroup.d.ts +53 -0
  229. package/dist/elements/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  230. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts +98 -0
  231. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
  232. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts +60 -0
  233. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts.map +1 -0
  234. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts +39 -0
  235. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts.map +1 -0
  236. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts +42 -0
  237. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts.map +1 -0
  238. package/dist/elements/ButtonGroup/index.d.ts +35 -0
  239. package/dist/elements/ButtonGroup/index.d.ts.map +1 -0
  240. package/dist/elements/ButtonGroup/index.js +66 -0
  241. package/dist/elements/ButtonGroup/index.js.map +1 -0
  242. package/dist/elements/ButtonGroup/index.mjs +5 -0
  243. package/dist/elements/ButtonGroup/index.mjs.map +1 -0
  244. package/dist/elements/Card/Card.d.ts +104 -0
  245. package/dist/elements/Card/Card.d.ts.map +1 -0
  246. package/dist/elements/Card/Card.types.d.ts +227 -0
  247. package/dist/elements/Card/Card.types.d.ts.map +1 -0
  248. package/dist/elements/Card/index.d.ts +38 -0
  249. package/dist/elements/Card/index.d.ts.map +1 -0
  250. package/dist/elements/Card/index.js +85 -0
  251. package/dist/elements/Card/index.js.map +1 -0
  252. package/dist/elements/Card/index.mjs +8 -0
  253. package/dist/elements/Card/index.mjs.map +1 -0
  254. package/dist/elements/Carousel/Carousel.d.ts +13 -0
  255. package/dist/elements/Carousel/Carousel.d.ts.map +1 -0
  256. package/dist/elements/Carousel/Carousel.types.d.ts +65 -0
  257. package/dist/elements/Carousel/Carousel.types.d.ts.map +1 -0
  258. package/dist/elements/Carousel/LazyCarousel.d.ts +46 -0
  259. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -0
  260. package/dist/elements/Carousel/index.d.ts +5 -0
  261. package/dist/elements/Carousel/index.d.ts.map +1 -0
  262. package/dist/elements/Carousel/index.js +23 -0
  263. package/dist/elements/Carousel/index.js.map +1 -0
  264. package/dist/elements/Carousel/index.mjs +10 -0
  265. package/dist/elements/Carousel/index.mjs.map +1 -0
  266. package/dist/elements/Chart/Chart.d.ts +44 -0
  267. package/dist/elements/Chart/Chart.d.ts.map +1 -0
  268. package/dist/elements/Chart/Chart.types.d.ts +254 -0
  269. package/dist/elements/Chart/Chart.types.d.ts.map +1 -0
  270. package/dist/elements/Chart/ChartAnnouncer.d.ts +24 -0
  271. package/dist/elements/Chart/ChartAnnouncer.d.ts.map +1 -0
  272. package/dist/elements/Chart/ChartAxis.d.ts +42 -0
  273. package/dist/elements/Chart/ChartAxis.d.ts.map +1 -0
  274. package/dist/elements/Chart/ChartBarSeries.d.ts +54 -0
  275. package/dist/elements/Chart/ChartBarSeries.d.ts.map +1 -0
  276. package/dist/elements/Chart/ChartContext.d.ts +46 -0
  277. package/dist/elements/Chart/ChartContext.d.ts.map +1 -0
  278. package/dist/elements/Chart/ChartDataPoint.d.ts +56 -0
  279. package/dist/elements/Chart/ChartDataPoint.d.ts.map +1 -0
  280. package/dist/elements/Chart/ChartDataTable.d.ts +35 -0
  281. package/dist/elements/Chart/ChartDataTable.d.ts.map +1 -0
  282. package/dist/elements/Chart/ChartGrid.d.ts +32 -0
  283. package/dist/elements/Chart/ChartGrid.d.ts.map +1 -0
  284. package/dist/elements/Chart/ChartLegend.d.ts +32 -0
  285. package/dist/elements/Chart/ChartLegend.d.ts.map +1 -0
  286. package/dist/elements/Chart/ChartLineSeries.d.ts +52 -0
  287. package/dist/elements/Chart/ChartLineSeries.d.ts.map +1 -0
  288. package/dist/elements/Chart/ChartSVG.d.ts +62 -0
  289. package/dist/elements/Chart/ChartSVG.d.ts.map +1 -0
  290. package/dist/elements/Chart/ChartTooltip.d.ts +45 -0
  291. package/dist/elements/Chart/ChartTooltip.d.ts.map +1 -0
  292. package/dist/elements/Chart/chart.constants.d.ts +108 -0
  293. package/dist/elements/Chart/chart.constants.d.ts.map +1 -0
  294. package/dist/elements/Chart/chart.variants.d.ts +45 -0
  295. package/dist/elements/Chart/chart.variants.d.ts.map +1 -0
  296. package/dist/elements/Chart/index.d.ts +12 -0
  297. package/dist/elements/Chart/index.d.ts.map +1 -0
  298. package/dist/elements/Chart/index.js +47 -0
  299. package/dist/elements/Chart/index.js.map +1 -0
  300. package/dist/elements/Chart/index.mjs +6 -0
  301. package/dist/elements/Chart/index.mjs.map +1 -0
  302. package/dist/elements/Chart/useChartDimensions.d.ts +18 -0
  303. package/dist/elements/Chart/useChartDimensions.d.ts.map +1 -0
  304. package/dist/elements/Chart/useChartKeyboard.d.ts +42 -0
  305. package/dist/elements/Chart/useChartKeyboard.d.ts.map +1 -0
  306. package/dist/elements/Chart/useRovingTabIndex.d.ts +46 -0
  307. package/dist/elements/Chart/useRovingTabIndex.d.ts.map +1 -0
  308. package/dist/elements/Checkbox/Checkbox.d.ts +94 -0
  309. package/dist/elements/Checkbox/Checkbox.d.ts.map +1 -0
  310. package/dist/elements/Checkbox/Checkbox.types.d.ts +82 -0
  311. package/dist/elements/Checkbox/Checkbox.types.d.ts.map +1 -0
  312. package/dist/elements/Checkbox/index.d.ts +7 -0
  313. package/dist/elements/Checkbox/index.d.ts.map +1 -0
  314. package/dist/elements/Checkbox/index.js +47 -0
  315. package/dist/elements/Checkbox/index.js.map +1 -0
  316. package/dist/elements/Checkbox/index.mjs +6 -0
  317. package/dist/elements/Checkbox/index.mjs.map +1 -0
  318. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts +130 -0
  319. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  320. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts +142 -0
  321. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts.map +1 -0
  322. package/dist/elements/CheckboxGroup/index.d.ts +10 -0
  323. package/dist/elements/CheckboxGroup/index.d.ts.map +1 -0
  324. package/dist/elements/CheckboxGroup/index.js +71 -0
  325. package/dist/elements/CheckboxGroup/index.js.map +1 -0
  326. package/dist/elements/CheckboxGroup/index.mjs +6 -0
  327. package/dist/elements/CheckboxGroup/index.mjs.map +1 -0
  328. package/dist/elements/DatePicker/Calendar.d.ts +16 -0
  329. package/dist/elements/DatePicker/Calendar.d.ts.map +1 -0
  330. package/dist/elements/DatePicker/DateField.d.ts +13 -0
  331. package/dist/elements/DatePicker/DateField.d.ts.map +1 -0
  332. package/dist/elements/DatePicker/DatePicker.d.ts +16 -0
  333. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -0
  334. package/dist/elements/DatePicker/DatePicker.types.d.ts +390 -0
  335. package/dist/elements/DatePicker/DatePicker.types.d.ts.map +1 -0
  336. package/dist/elements/DatePicker/DatePicker.variants.d.ts +42 -0
  337. package/dist/elements/DatePicker/DatePicker.variants.d.ts.map +1 -0
  338. package/dist/elements/DatePicker/DateRangePicker.d.ts +13 -0
  339. package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -0
  340. package/dist/elements/DatePicker/index.d.ts +14 -0
  341. package/dist/elements/DatePicker/index.d.ts.map +1 -0
  342. package/dist/elements/DatePicker/index.js +123 -0
  343. package/dist/elements/DatePicker/index.js.map +1 -0
  344. package/dist/elements/DatePicker/index.mjs +6 -0
  345. package/dist/elements/DatePicker/index.mjs.map +1 -0
  346. package/dist/elements/Dropdown/Dropdown.d.ts +197 -0
  347. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -0
  348. package/dist/elements/Dropdown/Dropdown.types.d.ts +175 -0
  349. package/dist/elements/Dropdown/Dropdown.types.d.ts.map +1 -0
  350. package/dist/elements/Dropdown/index.d.ts +12 -0
  351. package/dist/elements/Dropdown/index.d.ts.map +1 -0
  352. package/dist/elements/Dropdown/index.js +41 -0
  353. package/dist/elements/Dropdown/index.js.map +1 -0
  354. package/dist/elements/Dropdown/index.mjs +4 -0
  355. package/dist/elements/Dropdown/index.mjs.map +1 -0
  356. package/dist/elements/FileField/FileField.d.ts +46 -0
  357. package/dist/elements/FileField/FileField.d.ts.map +1 -0
  358. package/dist/elements/FileField/FileField.types.d.ts +99 -0
  359. package/dist/elements/FileField/FileField.types.d.ts.map +1 -0
  360. package/dist/elements/FileField/FileField.variants.d.ts +49 -0
  361. package/dist/elements/FileField/FileField.variants.d.ts.map +1 -0
  362. package/dist/elements/FileField/FilePreview.d.ts +27 -0
  363. package/dist/elements/FileField/FilePreview.d.ts.map +1 -0
  364. package/dist/elements/FileField/FileProgress.d.ts +35 -0
  365. package/dist/elements/FileField/FileProgress.d.ts.map +1 -0
  366. package/dist/elements/FileField/FileProgress.variants.d.ts +55 -0
  367. package/dist/elements/FileField/FileProgress.variants.d.ts.map +1 -0
  368. package/dist/elements/FileField/index.d.ts +41 -0
  369. package/dist/elements/FileField/index.d.ts.map +1 -0
  370. package/dist/elements/FileField/index.js +138 -0
  371. package/dist/elements/FileField/index.js.map +1 -0
  372. package/dist/elements/FileField/index.mjs +9 -0
  373. package/dist/elements/FileField/index.mjs.map +1 -0
  374. package/dist/elements/FileField/useFilePreview.d.ts +46 -0
  375. package/dist/elements/FileField/useFilePreview.d.ts.map +1 -0
  376. package/dist/elements/FileField/utils.d.ts +134 -0
  377. package/dist/elements/FileField/utils.d.ts.map +1 -0
  378. package/dist/elements/FormLayout/FormLayout.d.ts +51 -0
  379. package/dist/elements/FormLayout/FormLayout.d.ts.map +1 -0
  380. package/dist/elements/FormLayout/FormLayout.types.d.ts +66 -0
  381. package/dist/elements/FormLayout/FormLayout.types.d.ts.map +1 -0
  382. package/dist/elements/FormLayout/index.d.ts +3 -0
  383. package/dist/elements/FormLayout/index.d.ts.map +1 -0
  384. package/dist/elements/FormLayout/index.js +17 -0
  385. package/dist/elements/FormLayout/index.js.map +1 -0
  386. package/dist/elements/FormLayout/index.mjs +4 -0
  387. package/dist/elements/FormLayout/index.mjs.map +1 -0
  388. package/dist/elements/Modal/Modal.d.ts +168 -0
  389. package/dist/elements/Modal/Modal.d.ts.map +1 -0
  390. package/dist/elements/Modal/Modal.types.d.ts +265 -0
  391. package/dist/elements/Modal/Modal.types.d.ts.map +1 -0
  392. package/dist/elements/Modal/index.d.ts +14 -0
  393. package/dist/elements/Modal/index.d.ts.map +1 -0
  394. package/dist/elements/Modal/index.js +52 -0
  395. package/dist/elements/Modal/index.js.map +1 -0
  396. package/dist/elements/Modal/index.mjs +3 -0
  397. package/dist/elements/Modal/index.mjs.map +1 -0
  398. package/dist/elements/NumberField/NumberField.d.ts +43 -0
  399. package/dist/elements/NumberField/NumberField.d.ts.map +1 -0
  400. package/dist/elements/NumberField/NumberField.types.d.ts +112 -0
  401. package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -0
  402. package/dist/elements/NumberField/NumberField.variants.d.ts +82 -0
  403. package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -0
  404. package/dist/elements/NumberField/index.d.ts +25 -0
  405. package/dist/elements/NumberField/index.d.ts.map +1 -0
  406. package/dist/elements/NumberField/index.js +57 -0
  407. package/dist/elements/NumberField/index.js.map +1 -0
  408. package/dist/elements/NumberField/index.mjs +8 -0
  409. package/dist/elements/NumberField/index.mjs.map +1 -0
  410. package/dist/elements/OTPInput/OTPInput.d.ts +105 -0
  411. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -0
  412. package/dist/elements/OTPInput/OTPInput.styles.d.ts +83 -0
  413. package/dist/elements/OTPInput/OTPInput.styles.d.ts.map +1 -0
  414. package/dist/elements/OTPInput/OTPInput.types.d.ts +189 -0
  415. package/dist/elements/OTPInput/OTPInput.types.d.ts.map +1 -0
  416. package/dist/elements/OTPInput/components/OTPDigit.d.ts +51 -0
  417. package/dist/elements/OTPInput/components/OTPDigit.d.ts.map +1 -0
  418. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts +36 -0
  419. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts.map +1 -0
  420. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts +59 -0
  421. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts.map +1 -0
  422. package/dist/elements/OTPInput/index.d.ts +27 -0
  423. package/dist/elements/OTPInput/index.d.ts.map +1 -0
  424. package/dist/elements/OTPInput/index.js +13 -0
  425. package/dist/elements/OTPInput/index.js.map +1 -0
  426. package/dist/elements/OTPInput/index.mjs +4 -0
  427. package/dist/elements/OTPInput/index.mjs.map +1 -0
  428. package/dist/elements/Panel/Panel.d.ts +111 -0
  429. package/dist/elements/Panel/Panel.d.ts.map +1 -0
  430. package/dist/elements/Panel/Panel.types.d.ts +243 -0
  431. package/dist/elements/Panel/Panel.types.d.ts.map +1 -0
  432. package/dist/elements/Panel/index.d.ts +4 -0
  433. package/dist/elements/Panel/index.d.ts.map +1 -0
  434. package/dist/elements/Panel/index.js +33 -0
  435. package/dist/elements/Panel/index.js.map +1 -0
  436. package/dist/elements/Panel/index.mjs +4 -0
  437. package/dist/elements/Panel/index.mjs.map +1 -0
  438. package/dist/elements/Progress/Progress.d.ts +44 -0
  439. package/dist/elements/Progress/Progress.d.ts.map +1 -0
  440. package/dist/elements/Progress/Progress.types.d.ts +64 -0
  441. package/dist/elements/Progress/Progress.types.d.ts.map +1 -0
  442. package/dist/elements/Progress/index.d.ts +11 -0
  443. package/dist/elements/Progress/index.d.ts.map +1 -0
  444. package/dist/elements/Progress/index.js +30 -0
  445. package/dist/elements/Progress/index.js.map +1 -0
  446. package/dist/elements/Progress/index.mjs +5 -0
  447. package/dist/elements/Progress/index.mjs.map +1 -0
  448. package/dist/elements/RadioGroup/RadioGroup.d.ts +110 -0
  449. package/dist/elements/RadioGroup/RadioGroup.d.ts.map +1 -0
  450. package/dist/elements/RadioGroup/RadioGroup.types.d.ts +143 -0
  451. package/dist/elements/RadioGroup/RadioGroup.types.d.ts.map +1 -0
  452. package/dist/elements/RadioGroup/index.d.ts +10 -0
  453. package/dist/elements/RadioGroup/index.d.ts.map +1 -0
  454. package/dist/elements/RadioGroup/index.js +47 -0
  455. package/dist/elements/RadioGroup/index.js.map +1 -0
  456. package/dist/elements/RadioGroup/index.mjs +6 -0
  457. package/dist/elements/RadioGroup/index.mjs.map +1 -0
  458. package/dist/elements/Resizable/Resizable.types.d.ts +188 -0
  459. package/dist/elements/Resizable/Resizable.types.d.ts.map +1 -0
  460. package/dist/elements/Resizable/components/ResizableHandle.d.ts +28 -0
  461. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -0
  462. package/dist/elements/Resizable/components/ResizablePanel.d.ts +24 -0
  463. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -0
  464. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +26 -0
  465. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -0
  466. package/dist/elements/Resizable/components/ResizablePopover.d.ts +45 -0
  467. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -0
  468. package/dist/elements/Resizable/hooks/useResizable.d.ts +50 -0
  469. package/dist/elements/Resizable/hooks/useResizable.d.ts.map +1 -0
  470. package/dist/elements/Resizable/hooks/useResizableContext.d.ts +36 -0
  471. package/dist/elements/Resizable/hooks/useResizableContext.d.ts.map +1 -0
  472. package/dist/elements/Resizable/index.d.ts +37 -0
  473. package/dist/elements/Resizable/index.d.ts.map +1 -0
  474. package/dist/elements/Resizable/index.js +65 -0
  475. package/dist/elements/Resizable/index.js.map +1 -0
  476. package/dist/elements/Resizable/index.mjs +8 -0
  477. package/dist/elements/Resizable/index.mjs.map +1 -0
  478. package/dist/elements/Select/Select.d.ts +184 -0
  479. package/dist/elements/Select/Select.d.ts.map +1 -0
  480. package/dist/elements/Select/Select.types.d.ts +166 -0
  481. package/dist/elements/Select/Select.types.d.ts.map +1 -0
  482. package/dist/elements/Select/index.d.ts +35 -0
  483. package/dist/elements/Select/index.d.ts.map +1 -0
  484. package/dist/elements/Select/index.js +33 -0
  485. package/dist/elements/Select/index.js.map +1 -0
  486. package/dist/elements/Select/index.mjs +4 -0
  487. package/dist/elements/Select/index.mjs.map +1 -0
  488. package/dist/elements/Skeleton/Skeleton.d.ts +31 -0
  489. package/dist/elements/Skeleton/Skeleton.d.ts.map +1 -0
  490. package/dist/elements/Skeleton/Skeleton.types.d.ts +36 -0
  491. package/dist/elements/Skeleton/Skeleton.types.d.ts.map +1 -0
  492. package/dist/elements/Skeleton/index.d.ts +11 -0
  493. package/dist/elements/Skeleton/index.d.ts.map +1 -0
  494. package/dist/elements/Skeleton/index.js +22 -0
  495. package/dist/elements/Skeleton/index.js.map +1 -0
  496. package/dist/elements/Skeleton/index.mjs +5 -0
  497. package/dist/elements/Skeleton/index.mjs.map +1 -0
  498. package/dist/elements/Switch/Switch.d.ts +39 -0
  499. package/dist/elements/Switch/Switch.d.ts.map +1 -0
  500. package/dist/elements/Switch/Switch.types.d.ts +53 -0
  501. package/dist/elements/Switch/Switch.types.d.ts.map +1 -0
  502. package/dist/elements/Switch/index.d.ts +8 -0
  503. package/dist/elements/Switch/index.d.ts.map +1 -0
  504. package/dist/elements/Switch/index.js +49 -0
  505. package/dist/elements/Switch/index.js.map +1 -0
  506. package/dist/elements/Switch/index.mjs +31 -0
  507. package/dist/elements/Switch/index.mjs.map +1 -0
  508. package/dist/elements/Table/Table.d.ts +123 -0
  509. package/dist/elements/Table/Table.d.ts.map +1 -0
  510. package/dist/elements/Table/Table.types.d.ts +356 -0
  511. package/dist/elements/Table/Table.types.d.ts.map +1 -0
  512. package/dist/elements/Table/index.d.ts +5 -0
  513. package/dist/elements/Table/index.d.ts.map +1 -0
  514. package/dist/elements/Table/index.js +76 -0
  515. package/dist/elements/Table/index.js.map +1 -0
  516. package/dist/elements/Table/index.mjs +7 -0
  517. package/dist/elements/Table/index.mjs.map +1 -0
  518. package/dist/elements/Tabs/Tabs.d.ts +129 -0
  519. package/dist/elements/Tabs/Tabs.d.ts.map +1 -0
  520. package/dist/elements/Tabs/Tabs.types.d.ts +179 -0
  521. package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -0
  522. package/dist/elements/Tabs/index.d.ts +12 -0
  523. package/dist/elements/Tabs/index.d.ts.map +1 -0
  524. package/dist/elements/Tabs/index.js +74 -0
  525. package/dist/elements/Tabs/index.js.map +1 -0
  526. package/dist/elements/Tabs/index.mjs +5 -0
  527. package/dist/elements/Tabs/index.mjs.map +1 -0
  528. package/dist/elements/TextField/TextField.d.ts +155 -0
  529. package/dist/elements/TextField/TextField.d.ts.map +1 -0
  530. package/dist/elements/TextField/TextField.types.d.ts +258 -0
  531. package/dist/elements/TextField/TextField.types.d.ts.map +1 -0
  532. package/dist/elements/TextField/index.css +23 -0
  533. package/dist/elements/TextField/index.css.map +1 -0
  534. package/dist/elements/TextField/index.d.ts +13 -0
  535. package/dist/elements/TextField/index.d.ts.map +1 -0
  536. package/dist/elements/TextField/index.js +260 -0
  537. package/dist/elements/TextField/index.js.map +1 -0
  538. package/dist/elements/TextField/index.mjs +207 -0
  539. package/dist/elements/TextField/index.mjs.map +1 -0
  540. package/dist/elements/TimeField/TimeField.d.ts +34 -0
  541. package/dist/elements/TimeField/TimeField.d.ts.map +1 -0
  542. package/dist/elements/TimeField/TimeField.types.d.ts +151 -0
  543. package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -0
  544. package/dist/elements/TimeField/index.d.ts +24 -0
  545. package/dist/elements/TimeField/index.d.ts.map +1 -0
  546. package/dist/elements/TimeField/index.js +45 -0
  547. package/dist/elements/TimeField/index.js.map +1 -0
  548. package/dist/elements/TimeField/index.mjs +4 -0
  549. package/dist/elements/TimeField/index.mjs.map +1 -0
  550. package/dist/elements/Toast/Toast.d.ts +105 -0
  551. package/dist/elements/Toast/Toast.d.ts.map +1 -0
  552. package/dist/elements/Toast/Toast.types.d.ts +209 -0
  553. package/dist/elements/Toast/Toast.types.d.ts.map +1 -0
  554. package/dist/elements/Toast/ToastProvider.d.ts +37 -0
  555. package/dist/elements/Toast/ToastProvider.d.ts.map +1 -0
  556. package/dist/elements/Toast/Toaster.d.ts +18 -0
  557. package/dist/elements/Toast/Toaster.d.ts.map +1 -0
  558. package/dist/elements/Toast/index.d.ts +27 -0
  559. package/dist/elements/Toast/index.d.ts.map +1 -0
  560. package/dist/elements/Toast/index.js +60 -0
  561. package/dist/elements/Toast/index.js.map +1 -0
  562. package/dist/elements/Toast/index.mjs +7 -0
  563. package/dist/elements/Toast/index.mjs.map +1 -0
  564. package/dist/elements/Tooltip/Tooltip.d.ts +108 -0
  565. package/dist/elements/Tooltip/Tooltip.d.ts.map +1 -0
  566. package/dist/elements/Tooltip/Tooltip.types.d.ts +135 -0
  567. package/dist/elements/Tooltip/Tooltip.types.d.ts.map +1 -0
  568. package/dist/elements/Tooltip/index.d.ts +11 -0
  569. package/dist/elements/Tooltip/index.d.ts.map +1 -0
  570. package/dist/elements/Tooltip/index.js +59 -0
  571. package/dist/elements/Tooltip/index.js.map +1 -0
  572. package/dist/elements/Tooltip/index.mjs +6 -0
  573. package/dist/elements/Tooltip/index.mjs.map +1 -0
  574. package/dist/elements/index.css +23 -0
  575. package/dist/elements/index.css.map +1 -0
  576. package/dist/elements/index.d.ts +42 -0
  577. package/dist/elements/index.d.ts.map +1 -0
  578. package/dist/elements/index.js +839 -0
  579. package/dist/elements/index.js.map +1 -0
  580. package/dist/elements/index.mjs +42 -0
  581. package/dist/elements/index.mjs.map +1 -0
  582. package/dist/index.css +23 -0
  583. package/dist/index.css.map +1 -0
  584. package/dist/index.d.ts +4 -0
  585. package/dist/index.d.ts.map +1 -0
  586. package/dist/index.js +865 -0
  587. package/dist/index.js.map +1 -0
  588. package/dist/index.mjs +44 -0
  589. package/dist/index.mjs.map +1 -0
  590. package/dist/schemas/BaseComponentProps.d.ts +25 -0
  591. package/dist/schemas/BaseComponentProps.d.ts.map +1 -0
  592. package/dist/schemas/RegistryItem.d.ts +55 -0
  593. package/dist/schemas/RegistryItem.d.ts.map +1 -0
  594. package/dist/schemas/index.d.ts +3 -0
  595. package/dist/schemas/index.d.ts.map +1 -0
  596. package/dist/schemas/index.js +29 -0
  597. package/dist/schemas/index.js.map +1 -0
  598. package/dist/schemas/index.mjs +4 -0
  599. package/dist/schemas/index.mjs.map +1 -0
  600. package/dist/styles/defaults.css +174 -0
  601. package/dist/styles/index.d.ts +7 -0
  602. package/dist/styles/index.d.ts.map +1 -0
  603. package/dist/styles/index.js +153 -0
  604. package/dist/styles/index.js.map +1 -0
  605. package/dist/styles/index.mjs +4 -0
  606. package/dist/styles/index.mjs.map +1 -0
  607. package/dist/styles/interaction-states.d.ts +96 -0
  608. package/dist/styles/interaction-states.d.ts.map +1 -0
  609. package/dist/styles/shared-variants.d.ts +120 -0
  610. package/dist/styles/shared-variants.d.ts.map +1 -0
  611. package/dist/styles/tokens.css +89 -0
  612. package/dist/utils/cn.d.ts +13 -0
  613. package/dist/utils/cn.d.ts.map +1 -0
  614. package/dist/utils/index.d.ts +2 -0
  615. package/dist/utils/index.d.ts.map +1 -0
  616. package/dist/utils/index.js +13 -0
  617. package/dist/utils/index.js.map +1 -0
  618. package/dist/utils/index.mjs +4 -0
  619. package/dist/utils/index.mjs.map +1 -0
  620. package/package.json +228 -0
  621. package/src/elements/Accordion/Accordion.stories.tsx +793 -0
  622. package/src/elements/Avatar/Avatar.stories.tsx +408 -0
  623. package/src/elements/Badge/Badge.stories.tsx +509 -0
  624. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +623 -0
  625. package/src/elements/Button/Button.stories.tsx +670 -0
  626. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +658 -0
  627. package/src/elements/Card/Card.stories.tsx +570 -0
  628. package/src/elements/Carousel/Carousel.stories.tsx +597 -0
  629. package/src/elements/Chart/Chart.stories.tsx +616 -0
  630. package/src/elements/Checkbox/Checkbox.stories.tsx +514 -0
  631. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1514 -0
  632. package/src/elements/DatePicker/DatePicker.stories.tsx +341 -0
  633. package/src/elements/Dropdown/Dropdown.stories.tsx +397 -0
  634. package/src/elements/FileField/FileField.stories.tsx +1021 -0
  635. package/src/elements/FileField/FileProgress.stories.tsx +359 -0
  636. package/src/elements/FormLayout/FormLayout.stories.tsx +637 -0
  637. package/src/elements/Modal/Modal.stories.tsx +640 -0
  638. package/src/elements/NumberField/NumberField.stories.tsx +678 -0
  639. package/src/elements/OTPInput/OTPInput.stories.tsx +404 -0
  640. package/src/elements/Panel/Panel.stories.tsx +769 -0
  641. package/src/elements/Progress/Progress.stories.tsx +668 -0
  642. package/src/elements/RadioGroup/RadioGroup.stories.tsx +1153 -0
  643. package/src/elements/Resizable/Resizable.stories.tsx +374 -0
  644. package/src/elements/Select/Select.stories.tsx +362 -0
  645. package/src/elements/Skeleton/Skeleton.stories.tsx +284 -0
  646. package/src/elements/Switch/Switch.stories.tsx +441 -0
  647. package/src/elements/Table/Table.stories.tsx +790 -0
  648. package/src/elements/Tabs/Tabs.stories.tsx +661 -0
  649. package/src/elements/TextField/TextField.stories.tsx +1878 -0
  650. package/src/elements/TimeField/TimeField.stories.tsx +671 -0
  651. package/src/elements/Toast/Toast.stories.tsx +971 -0
  652. package/src/elements/Tooltip/Tooltip.stories.tsx +748 -0
  653. package/tailwind.config.js +10 -0
  654. package/tailwind.config.v3.js +10 -0
@@ -0,0 +1,362 @@
1
+ /**
2
+ * Select Component Storybook Stories
3
+ *
4
+ * @see select-prd.md US-1 to US-10 (Select Requirements)
5
+ * @see plan.md (Implementation Plan)
6
+ */
7
+
8
+ import type { Meta, StoryObj } from '@storybook/nextjs';
9
+ import { useState } from 'react';
10
+ import { Select, MultiSelect } from './Select';
11
+
12
+ const meta = {
13
+ title: 'Elements/Select',
14
+ component: Select,
15
+ parameters: {
16
+ layout: 'centered',
17
+ docs: {
18
+ description: {
19
+ component:
20
+ 'Accessible select/dropdown component with WCAG 2.2 AAA compliance, React Aria primitives, single/multiple selection modes, keyboard navigation, validation integration, and form support.',
21
+ },
22
+ },
23
+ },
24
+ tags: ['autodocs'],
25
+ argTypes: {
26
+ label: {
27
+ control: 'text',
28
+ description: 'Required label for accessibility',
29
+ },
30
+ placeholder: {
31
+ control: 'text',
32
+ description: 'Placeholder text when no value selected',
33
+ },
34
+ description: {
35
+ control: 'text',
36
+ description: 'Helper text displayed below the select',
37
+ },
38
+ errorMessage: {
39
+ control: 'text',
40
+ description: 'Error message to display (from form validation)',
41
+ },
42
+ isDisabled: {
43
+ control: 'boolean',
44
+ description: 'Disable the entire select',
45
+ },
46
+ isRequired: {
47
+ control: 'boolean',
48
+ description: 'Mark field as required with asterisk',
49
+ },
50
+ isLoading: {
51
+ control: 'boolean',
52
+ description: 'Show loading spinner',
53
+ },
54
+ size: {
55
+ control: 'select',
56
+ options: ['sm', 'default', 'lg'],
57
+ description: 'Size variant',
58
+ },
59
+ },
60
+ } satisfies Meta<typeof Select>;
61
+
62
+ export default meta;
63
+ type Story = StoryObj<typeof meta>;
64
+
65
+ /**
66
+ * Default story: Basic single selection with 3-5 options
67
+ */
68
+ export const Default: Story = {
69
+ render: () => (
70
+ <Select label="Framework" placeholder="Select a framework">
71
+ <Select.Item value="react">React</Select.Item>
72
+ <Select.Item value="vue">Vue</Select.Item>
73
+ <Select.Item value="angular">Angular</Select.Item>
74
+ <Select.Item value="svelte">Svelte</Select.Item>
75
+ </Select>
76
+ ),
77
+ };
78
+
79
+ /**
80
+ * WithDescription: Select with helper text
81
+ */
82
+ export const WithDescription: Story = {
83
+ render: () => (
84
+ <Select
85
+ label="Framework"
86
+ description="Choose your preferred JavaScript framework"
87
+ placeholder="Select a framework"
88
+ >
89
+ <Select.Item value="react">React</Select.Item>
90
+ <Select.Item value="vue">Vue</Select.Item>
91
+ <Select.Item value="angular">Angular</Select.Item>
92
+ </Select>
93
+ ),
94
+ };
95
+
96
+ /**
97
+ * Required: Select with required indicator
98
+ */
99
+ export const Required: Story = {
100
+ render: () => (
101
+ <Select label="Framework" isRequired placeholder="Select a framework">
102
+ <Select.Item value="react">React</Select.Item>
103
+ <Select.Item value="vue">Vue</Select.Item>
104
+ <Select.Item value="angular">Angular</Select.Item>
105
+ </Select>
106
+ ),
107
+ };
108
+
109
+ /**
110
+ * WithError: Select showing validation error
111
+ */
112
+ export const WithError: Story = {
113
+ render: () => (
114
+ <Select
115
+ label="Framework"
116
+ errorMessage="Please select a framework"
117
+ placeholder="Select a framework"
118
+ >
119
+ <Select.Item value="react">React</Select.Item>
120
+ <Select.Item value="vue">Vue</Select.Item>
121
+ <Select.Item value="angular">Angular</Select.Item>
122
+ </Select>
123
+ ),
124
+ };
125
+
126
+ /**
127
+ * Disabled: Disabled select component
128
+ */
129
+ export const Disabled: Story = {
130
+ render: () => (
131
+ <Select label="Framework" isDisabled value="react">
132
+ <Select.Item value="react">React</Select.Item>
133
+ <Select.Item value="vue">Vue</Select.Item>
134
+ <Select.Item value="angular">Angular</Select.Item>
135
+ </Select>
136
+ ),
137
+ };
138
+
139
+ /**
140
+ * WithDisabledItems: Select with some disabled options
141
+ */
142
+ export const WithDisabledItems: Story = {
143
+ render: () => (
144
+ <Select label="Framework" placeholder="Select a framework">
145
+ <Select.Item value="react">React</Select.Item>
146
+ <Select.Item value="vue" isDisabled>
147
+ Vue (Coming Soon)
148
+ </Select.Item>
149
+ <Select.Item value="angular">Angular</Select.Item>
150
+ <Select.Item value="svelte" isDisabled>
151
+ Svelte (Coming Soon)
152
+ </Select.Item>
153
+ </Select>
154
+ ),
155
+ };
156
+
157
+ /**
158
+ * Loading: Select in loading state
159
+ */
160
+ export const Loading: Story = {
161
+ render: () => (
162
+ <Select label="Framework" isLoading placeholder="Loading options...">
163
+ <Select.Item value="react">React</Select.Item>
164
+ <Select.Item value="vue">Vue</Select.Item>
165
+ </Select>
166
+ ),
167
+ };
168
+
169
+ /**
170
+ * Sizes: Different size variants
171
+ */
172
+ export const Sizes: Story = {
173
+ render: () => (
174
+ <div className="flex flex-col gap-4">
175
+ <Select label="Small" size="sm" value="react">
176
+ <Select.Item value="react">React</Select.Item>
177
+ <Select.Item value="vue">Vue</Select.Item>
178
+ </Select>
179
+ <Select label="Default" size="default" value="react">
180
+ <Select.Item value="react">React</Select.Item>
181
+ <Select.Item value="vue">Vue</Select.Item>
182
+ </Select>
183
+ <Select label="Large" size="lg" value="react">
184
+ <Select.Item value="react">React</Select.Item>
185
+ <Select.Item value="vue">Vue</Select.Item>
186
+ </Select>
187
+ </div>
188
+ ),
189
+ };
190
+
191
+ /**
192
+ * WithSections: Grouped options with section headers
193
+ */
194
+ export const WithSections: Story = {
195
+ render: () => (
196
+ <Select label="Framework" placeholder="Select a framework">
197
+ <Select.Section>
198
+ <Select.Header>Frontend</Select.Header>
199
+ <Select.Item value="react">React</Select.Item>
200
+ <Select.Item value="vue">Vue</Select.Item>
201
+ <Select.Item value="angular">Angular</Select.Item>
202
+ </Select.Section>
203
+ <Select.Section>
204
+ <Select.Header>Backend</Select.Header>
205
+ <Select.Item value="express">Express</Select.Item>
206
+ <Select.Item value="fastify">Fastify</Select.Item>
207
+ </Select.Section>
208
+ </Select>
209
+ ),
210
+ };
211
+
212
+ /**
213
+ * CustomValueRendering: Items with icons and badges
214
+ */
215
+ export const CustomValueRendering: Story = {
216
+ render: () => (
217
+ <Select label="Status" placeholder="Select status">
218
+ <Select.Item value="draft" textValue="Draft">
219
+ <span className="flex items-center gap-2">
220
+ <span className="h-2 w-2 rounded-full bg-gray-400" />
221
+ Draft
222
+ </span>
223
+ </Select.Item>
224
+ <Select.Item value="published" textValue="Published">
225
+ <span className="flex items-center gap-2">
226
+ <span className="h-2 w-2 rounded-full bg-green-500" />
227
+ Published
228
+ </span>
229
+ </Select.Item>
230
+ <Select.Item value="archived" textValue="Archived">
231
+ <span className="flex items-center gap-2">
232
+ <span className="h-2 w-2 rounded-full bg-red-500" />
233
+ Archived
234
+ </span>
235
+ </Select.Item>
236
+ </Select>
237
+ ),
238
+ };
239
+
240
+ /**
241
+ * Controlled: Controlled select with state management
242
+ */
243
+ export const Controlled: Story = {
244
+ render: function ControlledStory() {
245
+ const [value, setValue] = useState<string>('react');
246
+
247
+ return (
248
+ <div className="flex flex-col gap-4">
249
+ <Select
250
+ label="Framework"
251
+ value={value}
252
+ onChange={(newValue) => setValue(newValue as string)}
253
+ >
254
+ <Select.Item value="react">React</Select.Item>
255
+ <Select.Item value="vue">Vue</Select.Item>
256
+ <Select.Item value="angular">Angular</Select.Item>
257
+ </Select>
258
+ <p className="text-sm text-[var(--muted-foreground)]">
259
+ Selected: <strong>{value}</strong>
260
+ </p>
261
+ </div>
262
+ );
263
+ },
264
+ };
265
+
266
+ /**
267
+ * MultipleSelection: Multiple selection mode
268
+ */
269
+ export const MultipleSelection: Story = {
270
+ render: () => (
271
+ <MultiSelect label="Frameworks" placeholder="Select frameworks">
272
+ <MultiSelect.Item value="react">React</MultiSelect.Item>
273
+ <MultiSelect.Item value="vue">Vue</MultiSelect.Item>
274
+ <MultiSelect.Item value="angular">Angular</MultiSelect.Item>
275
+ <MultiSelect.Item value="svelte">Svelte</MultiSelect.Item>
276
+ </MultiSelect>
277
+ ),
278
+ };
279
+
280
+ /**
281
+ * MultipleControlled: Controlled multiple selection
282
+ */
283
+ export const MultipleControlled: Story = {
284
+ render: function MultipleControlledStory() {
285
+ const [values, setValues] = useState<string[]>(['react', 'vue']);
286
+
287
+ return (
288
+ <div className="flex flex-col gap-4">
289
+ <MultiSelect
290
+ label="Frameworks"
291
+ value={values}
292
+ onChange={(newValues) => setValues(newValues as string[])}
293
+ >
294
+ <MultiSelect.Item value="react">React</MultiSelect.Item>
295
+ <MultiSelect.Item value="vue">Vue</MultiSelect.Item>
296
+ <MultiSelect.Item value="angular">Angular</MultiSelect.Item>
297
+ <MultiSelect.Item value="svelte">Svelte</MultiSelect.Item>
298
+ </MultiSelect>
299
+ <p className="text-sm text-[var(--muted-foreground)]">
300
+ Selected: <strong>{values.join(', ')}</strong>
301
+ </p>
302
+ </div>
303
+ );
304
+ },
305
+ };
306
+
307
+ /**
308
+ * EmptyState: Select with no options
309
+ */
310
+ export const EmptyState: Story = {
311
+ render: () => (
312
+ <Select label="Framework" emptyStateMessage="No frameworks available">
313
+ {/* No children */}
314
+ </Select>
315
+ ),
316
+ };
317
+
318
+ /**
319
+ * LargeDataset: Select with many options
320
+ */
321
+ export const LargeDataset: Story = {
322
+ render: () => (
323
+ <Select label="Country" placeholder="Select a country">
324
+ {Array.from({ length: 50 }, (_, i) => {
325
+ const countryName = `Country ${i + 1}`;
326
+ return (
327
+ <Select.Item key={i} value={`country-${i}`} textValue={countryName}>
328
+ {countryName}
329
+ </Select.Item>
330
+ );
331
+ })}
332
+ </Select>
333
+ ),
334
+ };
335
+
336
+ /**
337
+ * InForm: Select within a form context
338
+ */
339
+ export const InForm: Story = {
340
+ render: () => (
341
+ <form
342
+ onSubmit={(e) => {
343
+ e.preventDefault();
344
+ const formData = new FormData(e.currentTarget);
345
+ console.log('Form submitted:', Object.fromEntries(formData));
346
+ }}
347
+ className="flex flex-col gap-4"
348
+ >
349
+ <Select label="Framework" name="framework" isRequired defaultValue="react">
350
+ <Select.Item value="react">React</Select.Item>
351
+ <Select.Item value="vue">Vue</Select.Item>
352
+ <Select.Item value="angular">Angular</Select.Item>
353
+ </Select>
354
+ <button
355
+ type="submit"
356
+ className="rounded-md bg-[var(--primary)] px-4 py-2 text-[var(--primary-foreground)]"
357
+ >
358
+ Submit
359
+ </button>
360
+ </form>
361
+ ),
362
+ };
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Skeleton Component Stories
3
+ * Storybook stories for Skeleton component demonstrating all variants, compositions, and themes
4
+ *
5
+ * @see tasks.md Phase 3.1 (Storybook Stories)
6
+ * @see spec.md FR-009 (WCAG 2.2 AAA - 7:1 contrast ratio)
7
+ */
8
+
9
+ import type { Meta, StoryObj } from '@storybook/nextjs';
10
+ import { Skeleton } from './Skeleton';
11
+
12
+ const meta = {
13
+ title: 'Elements/Skeleton',
14
+ component: Skeleton,
15
+ parameters: {
16
+ layout: 'centered',
17
+ docs: {
18
+ description: {
19
+ component: 'Loading placeholder component with pulse animation and theme-aware styling. WCAG 2.2 AAA compliant (7:1 contrast ratio via semantic tokens). Non-interactive presentational component.',
20
+ },
21
+ },
22
+ },
23
+ tags: ['autodocs'],
24
+ argTypes: {
25
+ variant: {
26
+ control: 'select',
27
+ options: ['rectangle', 'circle', 'text'],
28
+ description: 'Shape of the skeleton placeholder',
29
+ table: {
30
+ defaultValue: { summary: 'rectangle' },
31
+ },
32
+ },
33
+ className: {
34
+ control: 'text',
35
+ description: 'Custom className for width/height (e.g., "w-20 h-20")',
36
+ },
37
+ },
38
+ } satisfies Meta<typeof Skeleton>;
39
+
40
+ export default meta;
41
+ type Story = StoryObj<typeof meta>;
42
+
43
+ // Basic variant stories
44
+ export const Default: Story = {
45
+ args: {
46
+ className: 'w-[250px] h-[20px]',
47
+ },
48
+ };
49
+
50
+ export const Circle: Story = {
51
+ args: {
52
+ variant: 'circle',
53
+ className: 'w-12 h-12',
54
+ },
55
+ };
56
+
57
+ export const Text: Story = {
58
+ args: {
59
+ variant: 'text',
60
+ className: 'w-[200px]',
61
+ },
62
+ };
63
+
64
+ export const CustomSize: Story = {
65
+ args: {
66
+ variant: 'rectangle',
67
+ className: 'w-[300px] h-[100px]',
68
+ },
69
+ };
70
+
71
+ // Variant comparison grid
72
+ export const AllVariants: Story = {
73
+ render: () => (
74
+ <div className="flex flex-col gap-4 p-4">
75
+ <div className="flex items-center gap-4">
76
+ <span className="w-24 text-sm text-muted-foreground">Rectangle:</span>
77
+ <Skeleton className="w-[250px] h-[20px]" />
78
+ </div>
79
+ <div className="flex items-center gap-4">
80
+ <span className="w-24 text-sm text-muted-foreground">Circle:</span>
81
+ <Skeleton variant="circle" className="w-12 h-12" />
82
+ </div>
83
+ <div className="flex items-center gap-4">
84
+ <span className="w-24 text-sm text-muted-foreground">Text:</span>
85
+ <Skeleton variant="text" className="w-[200px]" />
86
+ </div>
87
+ </div>
88
+ ),
89
+ };
90
+
91
+ // Composition examples
92
+ export const CardSkeleton: Story = {
93
+ render: () => (
94
+ <div className="w-[350px] p-6 border border-border rounded-lg space-y-3">
95
+ <div className="flex items-center gap-4">
96
+ <Skeleton variant="circle" className="w-12 h-12" />
97
+ <div className="space-y-2 flex-1">
98
+ <Skeleton variant="text" className="w-3/4" />
99
+ <Skeleton variant="text" className="w-1/2" />
100
+ </div>
101
+ </div>
102
+ <Skeleton className="w-full h-[200px]" />
103
+ <div className="space-y-2">
104
+ <Skeleton variant="text" className="w-full" />
105
+ <Skeleton variant="text" className="w-full" />
106
+ <Skeleton variant="text" className="w-3/4" />
107
+ </div>
108
+ </div>
109
+ ),
110
+ parameters: {
111
+ docs: {
112
+ description: {
113
+ story: 'Example of a card skeleton with avatar, image, and text placeholders.',
114
+ },
115
+ },
116
+ },
117
+ };
118
+
119
+ export const AvatarSkeleton: Story = {
120
+ render: () => (
121
+ <div className="flex items-center gap-4">
122
+ <Skeleton variant="circle" className="w-16 h-16" />
123
+ <div className="space-y-2">
124
+ <Skeleton variant="text" className="w-[200px]" />
125
+ <Skeleton variant="text" className="w-[150px]" />
126
+ </div>
127
+ </div>
128
+ ),
129
+ parameters: {
130
+ docs: {
131
+ description: {
132
+ story: 'Example of an avatar skeleton with circle and text lines.',
133
+ },
134
+ },
135
+ },
136
+ };
137
+
138
+ export const TableSkeleton: Story = {
139
+ render: () => (
140
+ <div className="w-[600px] space-y-3">
141
+ {/* Table header */}
142
+ <div className="flex gap-4">
143
+ <Skeleton variant="text" className="w-1/4" />
144
+ <Skeleton variant="text" className="w-1/4" />
145
+ <Skeleton variant="text" className="w-1/4" />
146
+ <Skeleton variant="text" className="w-1/4" />
147
+ </div>
148
+ {/* Table rows */}
149
+ {[...Array(5)].map((_, i) => (
150
+ <div key={i} className="flex gap-4">
151
+ <Skeleton className="w-1/4 h-4" />
152
+ <Skeleton className="w-1/4 h-4" />
153
+ <Skeleton className="w-1/4 h-4" />
154
+ <Skeleton className="w-1/4 h-4" />
155
+ </div>
156
+ ))}
157
+ </div>
158
+ ),
159
+ parameters: {
160
+ docs: {
161
+ description: {
162
+ story: 'Example of a table skeleton with header and multiple rows.',
163
+ },
164
+ },
165
+ },
166
+ };
167
+
168
+ export const FormSkeleton: Story = {
169
+ render: () => (
170
+ <div className="w-[400px] space-y-4">
171
+ <div className="space-y-2">
172
+ <Skeleton variant="text" className="w-24" />
173
+ <Skeleton className="w-full h-10" />
174
+ </div>
175
+ <div className="space-y-2">
176
+ <Skeleton variant="text" className="w-32" />
177
+ <Skeleton className="w-full h-10" />
178
+ </div>
179
+ <div className="space-y-2">
180
+ <Skeleton variant="text" className="w-28" />
181
+ <Skeleton className="w-full h-24" />
182
+ </div>
183
+ <Skeleton className="w-32 h-10" />
184
+ </div>
185
+ ),
186
+ parameters: {
187
+ docs: {
188
+ description: {
189
+ story: 'Example of a form skeleton with labels, inputs, and a button.',
190
+ },
191
+ },
192
+ },
193
+ };
194
+
195
+ // Theme stories
196
+ export const DarkTheme: Story = {
197
+ render: () => (
198
+ <div className="dark bg-background p-4 rounded-lg">
199
+ <div className="space-y-3">
200
+ <Skeleton className="w-[250px] h-[20px]" />
201
+ <Skeleton variant="circle" className="w-12 h-12" />
202
+ <Skeleton variant="text" className="w-[200px]" />
203
+ </div>
204
+ </div>
205
+ ),
206
+ parameters: {
207
+ docs: {
208
+ description: {
209
+ story: 'Skeleton component in dark theme.',
210
+ },
211
+ },
212
+ },
213
+ };
214
+
215
+ export const HighContrast: Story = {
216
+ render: () => (
217
+ <div className="high-contrast bg-background p-4 rounded-lg">
218
+ <div className="space-y-3">
219
+ <Skeleton className="w-[250px] h-[20px]" />
220
+ <Skeleton variant="circle" className="w-12 h-12" />
221
+ <Skeleton variant="text" className="w-[200px]" />
222
+ </div>
223
+ </div>
224
+ ),
225
+ parameters: {
226
+ docs: {
227
+ description: {
228
+ story: 'Skeleton component in high contrast theme (WCAG 2.2 AAA - 7:1 contrast ratio).',
229
+ },
230
+ },
231
+ },
232
+ };
233
+
234
+ export const ColorblindTheme: Story = {
235
+ render: () => (
236
+ <div className="colorblind bg-background p-4 rounded-lg">
237
+ <div className="space-y-3">
238
+ <Skeleton className="w-[250px] h-[20px]" />
239
+ <Skeleton variant="circle" className="w-12 h-12" />
240
+ <Skeleton variant="text" className="w-[200px]" />
241
+ </div>
242
+ </div>
243
+ ),
244
+ parameters: {
245
+ docs: {
246
+ description: {
247
+ story: 'Skeleton component in colorblind theme (optimized for deuteranopia, protanopia, tritanopia).',
248
+ },
249
+ },
250
+ },
251
+ };
252
+
253
+ // Animation stories
254
+ export const WithAnimation: Story = {
255
+ args: {
256
+ className: 'w-[250px] h-[20px]',
257
+ },
258
+ parameters: {
259
+ docs: {
260
+ description: {
261
+ story: 'Skeleton with default pulse animation (2s duration, ease-in-out).',
262
+ },
263
+ },
264
+ },
265
+ };
266
+
267
+ export const WithReducedMotion: Story = {
268
+ render: () => (
269
+ <div className="space-y-2">
270
+ <p className="text-sm text-muted-foreground mb-4">
271
+ Note: This story demonstrates reduced motion support. Set your system
272
+ to prefer reduced motion to see the static skeleton.
273
+ </p>
274
+ <Skeleton className="w-[250px] h-[20px]" />
275
+ </div>
276
+ ),
277
+ parameters: {
278
+ docs: {
279
+ description: {
280
+ story: 'Skeleton respects prefers-reduced-motion media query (no animation when set).',
281
+ },
282
+ },
283
+ },
284
+ };