@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,258 @@
1
+ import { z } from 'zod';
2
+ import type { ReactNode } from 'react';
3
+ import type { TextFieldProps as AriaTextFieldProps, LabelProps as AriaLabelProps, InputProps as AriaInputProps, TextProps as AriaTextProps } from 'react-aria-components';
4
+ /**
5
+ * AutoComplete values from MDN spec
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
7
+ */
8
+ export declare const AutoCompleteValue: z.ZodEnum<{
9
+ off: "off";
10
+ name: "name";
11
+ on: "on";
12
+ tel: "tel";
13
+ url: "url";
14
+ email: "email";
15
+ "additional-name": "additional-name";
16
+ "address-level1": "address-level1";
17
+ "address-level2": "address-level2";
18
+ "address-level3": "address-level3";
19
+ "address-level4": "address-level4";
20
+ "address-line1": "address-line1";
21
+ "address-line2": "address-line2";
22
+ "address-line3": "address-line3";
23
+ "bday-day": "bday-day";
24
+ "bday-month": "bday-month";
25
+ "bday-year": "bday-year";
26
+ "cc-csc": "cc-csc";
27
+ "cc-exp": "cc-exp";
28
+ "cc-exp-month": "cc-exp-month";
29
+ "cc-exp-year": "cc-exp-year";
30
+ "cc-family-name": "cc-family-name";
31
+ "cc-given-name": "cc-given-name";
32
+ "cc-name": "cc-name";
33
+ "cc-number": "cc-number";
34
+ "cc-type": "cc-type";
35
+ country: "country";
36
+ "country-name": "country-name";
37
+ "current-password": "current-password";
38
+ "family-name": "family-name";
39
+ "given-name": "given-name";
40
+ "honorific-prefix": "honorific-prefix";
41
+ "honorific-suffix": "honorific-suffix";
42
+ "new-password": "new-password";
43
+ "one-time-code": "one-time-code";
44
+ organization: "organization";
45
+ "postal-code": "postal-code";
46
+ "street-address": "street-address";
47
+ "transaction-amount": "transaction-amount";
48
+ "transaction-currency": "transaction-currency";
49
+ username: "username";
50
+ "tel-area-code": "tel-area-code";
51
+ "tel-country-code": "tel-country-code";
52
+ "tel-extension": "tel-extension";
53
+ "tel-local": "tel-local";
54
+ "tel-national": "tel-national";
55
+ nickname: "nickname";
56
+ "organization-title": "organization-title";
57
+ "cc-additional-name": "cc-additional-name";
58
+ language: "language";
59
+ bday: "bday";
60
+ sex: "sex";
61
+ impp: "impp";
62
+ photo: "photo";
63
+ }>;
64
+ export type AutoCompleteValueType = z.infer<typeof AutoCompleteValue>;
65
+ /**
66
+ * Validates regex pattern for ReDoS safety
67
+ * @param pattern - Regular expression pattern string
68
+ * @returns true if pattern is safe, false if potentially dangerous
69
+ */
70
+ export declare const validatePatternSafety: (pattern: string) => boolean;
71
+ /**
72
+ * TextField props schema extending BaseComponentProps
73
+ *
74
+ * @see spec.md FR-009 to FR-014 (Accessibility Requirements - WCAG 2.2 AAA)
75
+ * @see React Aria TextField: https://react-spectrum.adobe.com/react-aria/TextField.html
76
+ * @see ShadCN Input: https://ui.shadcn.com/docs/components/input
77
+ * @see ShadCN Label: https://ui.shadcn.com/docs/components/label
78
+ */
79
+ export declare const TextFieldPropsSchema: z.ZodObject<{
80
+ className: z.ZodOptional<z.ZodString>;
81
+ children: z.ZodOptional<z.ZodAny>;
82
+ id: z.ZodOptional<z.ZodString>;
83
+ 'aria-label': z.ZodOptional<z.ZodString>;
84
+ 'aria-labelledby': z.ZodOptional<z.ZodString>;
85
+ 'aria-describedby': z.ZodOptional<z.ZodString>;
86
+ 'aria-live': z.ZodOptional<z.ZodEnum<{
87
+ off: "off";
88
+ polite: "polite";
89
+ assertive: "assertive";
90
+ }>>;
91
+ 'aria-hidden': z.ZodOptional<z.ZodBoolean>;
92
+ 'data-testid': z.ZodOptional<z.ZodString>;
93
+ size: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
94
+ default: "default";
95
+ sm: "sm";
96
+ lg: "lg";
97
+ }>>>;
98
+ label: z.ZodOptional<z.ZodString>;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ errorMessage: z.ZodOptional<z.ZodString>;
101
+ successMessage: z.ZodOptional<z.ZodString>;
102
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
103
+ search: "search";
104
+ text: "text";
105
+ url: "url";
106
+ email: "email";
107
+ password: "password";
108
+ }>>>;
109
+ isRequired: z.ZodOptional<z.ZodBoolean>;
110
+ isReadOnly: z.ZodOptional<z.ZodBoolean>;
111
+ isDisabled: z.ZodOptional<z.ZodBoolean>;
112
+ isInvalid: z.ZodOptional<z.ZodBoolean>;
113
+ isValid: z.ZodOptional<z.ZodBoolean>;
114
+ placeholder: z.ZodOptional<z.ZodString>;
115
+ value: z.ZodOptional<z.ZodString>;
116
+ defaultValue: z.ZodOptional<z.ZodString>;
117
+ name: z.ZodOptional<z.ZodString>;
118
+ autoFocus: z.ZodOptional<z.ZodBoolean>;
119
+ autoComplete: z.ZodOptional<z.ZodEnum<{
120
+ off: "off";
121
+ name: "name";
122
+ on: "on";
123
+ tel: "tel";
124
+ url: "url";
125
+ email: "email";
126
+ "additional-name": "additional-name";
127
+ "address-level1": "address-level1";
128
+ "address-level2": "address-level2";
129
+ "address-level3": "address-level3";
130
+ "address-level4": "address-level4";
131
+ "address-line1": "address-line1";
132
+ "address-line2": "address-line2";
133
+ "address-line3": "address-line3";
134
+ "bday-day": "bday-day";
135
+ "bday-month": "bday-month";
136
+ "bday-year": "bday-year";
137
+ "cc-csc": "cc-csc";
138
+ "cc-exp": "cc-exp";
139
+ "cc-exp-month": "cc-exp-month";
140
+ "cc-exp-year": "cc-exp-year";
141
+ "cc-family-name": "cc-family-name";
142
+ "cc-given-name": "cc-given-name";
143
+ "cc-name": "cc-name";
144
+ "cc-number": "cc-number";
145
+ "cc-type": "cc-type";
146
+ country: "country";
147
+ "country-name": "country-name";
148
+ "current-password": "current-password";
149
+ "family-name": "family-name";
150
+ "given-name": "given-name";
151
+ "honorific-prefix": "honorific-prefix";
152
+ "honorific-suffix": "honorific-suffix";
153
+ "new-password": "new-password";
154
+ "one-time-code": "one-time-code";
155
+ organization: "organization";
156
+ "postal-code": "postal-code";
157
+ "street-address": "street-address";
158
+ "transaction-amount": "transaction-amount";
159
+ "transaction-currency": "transaction-currency";
160
+ username: "username";
161
+ "tel-area-code": "tel-area-code";
162
+ "tel-country-code": "tel-country-code";
163
+ "tel-extension": "tel-extension";
164
+ "tel-local": "tel-local";
165
+ "tel-national": "tel-national";
166
+ nickname: "nickname";
167
+ "organization-title": "organization-title";
168
+ "cc-additional-name": "cc-additional-name";
169
+ language: "language";
170
+ bday: "bday";
171
+ sex: "sex";
172
+ impp: "impp";
173
+ photo: "photo";
174
+ }>>;
175
+ maxLength: z.ZodOptional<z.ZodNumber>;
176
+ minLength: z.ZodOptional<z.ZodNumber>;
177
+ pattern: z.ZodOptional<z.ZodString>;
178
+ patternDescription: z.ZodOptional<z.ZodString>;
179
+ disableCopyPaste: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
180
+ prefix: z.ZodOptional<z.ZodAny>;
181
+ suffix: z.ZodOptional<z.ZodAny>;
182
+ prefixSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
183
+ suffixSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
184
+ expandOnFocus: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
185
+ collapsedWidth: z.ZodDefault<z.ZodOptional<z.ZodString>>;
186
+ showPasswordToggle: z.ZodOptional<z.ZodBoolean>;
187
+ }, z.core.$strip>;
188
+ export type TextFieldProps = Partial<z.infer<typeof TextFieldPropsSchema>> & Omit<AriaTextFieldProps, keyof z.infer<typeof TextFieldPropsSchema>> & {
189
+ onChange?: (value: string) => void;
190
+ validate?: (value: string) => string | undefined | null;
191
+ prefix?: ReactNode;
192
+ suffix?: ReactNode;
193
+ };
194
+ /**
195
+ * Label props schema for TextField label sub-component
196
+ */
197
+ export declare const TextFieldLabelPropsSchema: z.ZodObject<{
198
+ children: z.ZodOptional<z.ZodAny>;
199
+ className: z.ZodOptional<z.ZodString>;
200
+ htmlFor: z.ZodOptional<z.ZodString>;
201
+ state: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
202
+ default: "default";
203
+ error: "error";
204
+ disabled: "disabled";
205
+ }>>>;
206
+ }, z.core.$strip>;
207
+ export type TextFieldLabelProps = z.infer<typeof TextFieldLabelPropsSchema> & Omit<AriaLabelProps, keyof z.infer<typeof TextFieldLabelPropsSchema>>;
208
+ /**
209
+ * Input props schema for TextField input sub-component
210
+ */
211
+ export declare const TextFieldInputPropsSchema: z.ZodObject<{
212
+ className: z.ZodOptional<z.ZodString>;
213
+ size: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
214
+ default: "default";
215
+ sm: "sm";
216
+ lg: "lg";
217
+ }>>>;
218
+ state: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
219
+ success: "success";
220
+ default: "default";
221
+ readonly: "readonly";
222
+ error: "error";
223
+ disabled: "disabled";
224
+ }>>>;
225
+ }, z.core.$strip>;
226
+ export type TextFieldInputProps = z.infer<typeof TextFieldInputPropsSchema> & Omit<AriaInputProps, keyof z.infer<typeof TextFieldInputPropsSchema>>;
227
+ /**
228
+ * Description text props schema for TextField description sub-component
229
+ */
230
+ export declare const TextFieldDescriptionPropsSchema: z.ZodObject<{
231
+ children: z.ZodOptional<z.ZodAny>;
232
+ className: z.ZodOptional<z.ZodString>;
233
+ }, z.core.$strip>;
234
+ export type TextFieldDescriptionProps = z.infer<typeof TextFieldDescriptionPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldDescriptionPropsSchema>>;
235
+ /**
236
+ * Error message props schema for TextField error sub-component
237
+ */
238
+ export declare const TextFieldErrorPropsSchema: z.ZodObject<{
239
+ children: z.ZodOptional<z.ZodAny>;
240
+ className: z.ZodOptional<z.ZodString>;
241
+ }, z.core.$strip>;
242
+ export type TextFieldErrorProps = z.infer<typeof TextFieldErrorPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldErrorPropsSchema>>;
243
+ /**
244
+ * Success message props schema for TextField success sub-component
245
+ * @see DECISIONS.md Decision 5
246
+ */
247
+ export declare const TextFieldSuccessPropsSchema: z.ZodObject<{
248
+ children: z.ZodOptional<z.ZodAny>;
249
+ className: z.ZodOptional<z.ZodString>;
250
+ }, z.core.$strip>;
251
+ export type TextFieldSuccessProps = z.infer<typeof TextFieldSuccessPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldSuccessPropsSchema>>;
252
+ /**
253
+ * CVA variant configuration types
254
+ */
255
+ export type TextFieldSize = z.infer<typeof TextFieldPropsSchema>['size'];
256
+ export type InputState = z.infer<typeof TextFieldInputPropsSchema>['state'];
257
+ export type LabelState = z.infer<typeof TextFieldLabelPropsSchema>['state'];
258
+ //# sourceMappingURL=TextField.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.types.d.ts","sourceRoot":"","sources":["../../../src/elements/TextField/TextField.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /* src/elements/TextField/TextField.css */
2
+ @keyframes shake {
3
+ 0%, 100% {
4
+ transform: translateX(0);
5
+ }
6
+ 10%, 30%, 50%, 70%, 90% {
7
+ transform: translateX(-4px);
8
+ }
9
+ 20%, 40%, 60%, 80% {
10
+ transform: translateX(4px);
11
+ }
12
+ }
13
+ .shake {
14
+ animation: shake 400ms ease-in-out;
15
+ }
16
+ @media (prefers-reduced-motion: reduce) {
17
+ .shake {
18
+ animation: none;
19
+ border-color: var(--destructive);
20
+ transition: border-color 100ms;
21
+ }
22
+ }
23
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/TextField/TextField.css"],"sourcesContent":["/**\n * TextField Component Styles\n * Additional CSS for animations and effects\n */\n\n/* Shake animation for paste prevention (Phase 3) */\n@keyframes shake {\n 0%, 100% { transform: translateX(0); }\n 10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }\n 20%, 40%, 60%, 80% { transform: translateX(4px); }\n}\n\n.shake {\n animation: shake 400ms ease-in-out;\n}\n\n/* Respect reduced motion preference (WCAG 2.2) */\n@media (prefers-reduced-motion: reduce) {\n .shake {\n animation: none;\n /* Alternative: brief border color flash */\n border-color: var(--destructive);\n transition: border-color 100ms;\n }\n}\n"],"mappings":";AAMA,WAAW;AACT;AAAW,eAAW,WAAW;AAAI;AACrC;AAA0B,eAAW,WAAW;AAAO;AACvD;AAAqB,eAAW,WAAW;AAAM;AACnD;AAEA,CANW;AAOT,aAAW,MAAM,MAAM;AACzB;AAGA,QAAO,wBAAyB;AAC9B,GAZS;AAaP,eAAW;AAEX,kBAAc,IAAI;AAClB,gBAAY,aAAa;AAC3B;AACF;","names":[]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * TextField Component Exports
3
+ * Barrel file for TextField component and sub-components
4
+ *
5
+ * Usage:
6
+ * import { TextField, TextFieldInput, TextFieldLabel } from '@tribepad/themis/elements/TextField';
7
+ */
8
+ export { TextField } from './TextField';
9
+ export { TextFieldLabel, TextFieldInput, TextFieldDescription, TextFieldError, TextFieldSuccess, } from './TextField';
10
+ export { inputVariants, labelVariants, textFieldInputVariants, textFieldLabelVariants, successMessageVariants, } from './TextField';
11
+ export type { TextFieldProps, TextFieldLabelProps, TextFieldInputProps, TextFieldDescriptionProps, TextFieldErrorProps, TextFieldSuccessProps, TextFieldSize, InputState, LabelState, AutoCompleteValue, } from './TextField.types';
12
+ export { TextFieldPropsSchema, TextFieldLabelPropsSchema, TextFieldInputPropsSchema, TextFieldDescriptionPropsSchema, TextFieldErrorPropsSchema, TextFieldSuccessPropsSchema, AutoCompleteValue as AutoCompleteValueSchema, validatePatternSafety, } from './TextField.types';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TextField/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,IAAI,uBAAuB,EAC5C,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,260 @@
1
+ 'use strict';
2
+
3
+ var chunk4DU5JSXB_js = require('../../chunk-4DU5JSXB.js');
4
+ require('../../chunk-3YOY2VJ6.js');
5
+ require('../../chunk-Y3GT7ETK.js');
6
+ require('../../chunk-B5Q4UPL6.js');
7
+ require('../../chunk-VIREG536.js');
8
+ var chunkT4COXKQ3_js = require('../../chunk-T4COXKQ3.js');
9
+ var zod = require('zod');
10
+
11
+ var AutoCompleteValue = zod.z.enum([
12
+ // Control tokens
13
+ "off",
14
+ "on",
15
+ // Name-related
16
+ "name",
17
+ "honorific-prefix",
18
+ "given-name",
19
+ "additional-name",
20
+ "family-name",
21
+ "honorific-suffix",
22
+ "nickname",
23
+ // Contact
24
+ "email",
25
+ "username",
26
+ // Authentication
27
+ "new-password",
28
+ "current-password",
29
+ "one-time-code",
30
+ // Organization
31
+ "organization-title",
32
+ "organization",
33
+ // Address
34
+ "street-address",
35
+ "address-line1",
36
+ "address-line2",
37
+ "address-line3",
38
+ "address-level4",
39
+ "address-level3",
40
+ "address-level2",
41
+ "address-level1",
42
+ "country",
43
+ "country-name",
44
+ "postal-code",
45
+ // Payment
46
+ "cc-name",
47
+ "cc-given-name",
48
+ "cc-additional-name",
49
+ "cc-family-name",
50
+ "cc-number",
51
+ "cc-exp",
52
+ "cc-exp-month",
53
+ "cc-exp-year",
54
+ "cc-csc",
55
+ "cc-type",
56
+ // Transaction
57
+ "transaction-currency",
58
+ "transaction-amount",
59
+ // Personal
60
+ "language",
61
+ "bday",
62
+ "bday-day",
63
+ "bday-month",
64
+ "bday-year",
65
+ "sex",
66
+ // Telephone
67
+ "tel",
68
+ "tel-country-code",
69
+ "tel-national",
70
+ "tel-area-code",
71
+ "tel-local",
72
+ "tel-extension",
73
+ // Other
74
+ "impp",
75
+ "url",
76
+ "photo"
77
+ ]);
78
+ var DANGEROUS_REGEX_PATTERNS = [
79
+ /\(\.\*\)\+/,
80
+ // Catastrophic backtracking: (.*)+
81
+ /\(\.\+\)\+/,
82
+ // Catastrophic backtracking: (.+)+
83
+ /\([^)]*\)\{.*,.*\}/,
84
+ // Excessive quantifiers: (x){10,1000}
85
+ /\(\?!\)/,
86
+ // Negative lookahead (can be slow)
87
+ /\(\?<=\)/
88
+ // Positive lookbehind (can be slow)
89
+ ];
90
+ var validatePatternSafety = (pattern) => {
91
+ for (const dangerous of DANGEROUS_REGEX_PATTERNS) {
92
+ if (dangerous.test(pattern)) {
93
+ return false;
94
+ }
95
+ }
96
+ const quantifierCount = (pattern.match(/[*+{}]/g) || []).length;
97
+ if (quantifierCount > 5) {
98
+ return false;
99
+ }
100
+ return true;
101
+ };
102
+ var TextFieldPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
103
+ // Size variants (matching Button sizes: sm, default, lg)
104
+ size: zod.z.enum(["sm", "default", "lg"]).optional().default("default"),
105
+ // Text content
106
+ label: zod.z.string().optional(),
107
+ description: zod.z.string().optional(),
108
+ errorMessage: zod.z.string().optional(),
109
+ successMessage: zod.z.string().optional(),
110
+ // Input type - BREAKING: removed 'tel' (use TelField component instead)
111
+ // @see DECISIONS.md Decision 14
112
+ type: zod.z.enum(["text", "email", "password", "url", "search"]).optional().default("text"),
113
+ // State props
114
+ isRequired: zod.z.boolean().optional(),
115
+ isReadOnly: zod.z.boolean().optional(),
116
+ isDisabled: zod.z.boolean().optional(),
117
+ isInvalid: zod.z.boolean().optional(),
118
+ isValid: zod.z.boolean().optional(),
119
+ // Input attributes
120
+ placeholder: zod.z.string().optional(),
121
+ value: zod.z.string().optional(),
122
+ defaultValue: zod.z.string().optional(),
123
+ name: zod.z.string().optional(),
124
+ autoFocus: zod.z.boolean().optional(),
125
+ // AutoComplete - BREAKING: strict MDN enum instead of string
126
+ // @see DECISIONS.md Decision 13
127
+ autoComplete: AutoCompleteValue.optional(),
128
+ maxLength: zod.z.number().optional(),
129
+ minLength: zod.z.number().optional(),
130
+ // Pattern validation with security check
131
+ // @see DECISIONS.md Decision 15, 18
132
+ // @warning SECURITY: Only use patterns defined in source code, never from user input
133
+ pattern: zod.z.string().optional(),
134
+ patternDescription: zod.z.string().optional(),
135
+ // Feature: Copy/Paste Restriction
136
+ // @see DECISIONS.md Decision 4
137
+ disableCopyPaste: zod.z.boolean().optional().default(false),
138
+ // Feature: Prefix/Suffix
139
+ // @see DECISIONS.md Decision 9
140
+ prefix: zod.z.any().optional(),
141
+ // ReactNode - can't validate with Zod
142
+ suffix: zod.z.any().optional(),
143
+ // ReactNode - can't validate with Zod
144
+ prefixSize: zod.z.number().optional().default(16),
145
+ suffixSize: zod.z.number().optional().default(16),
146
+ // Feature: Expand on Focus
147
+ // @see DECISIONS.md Decision 6, 17
148
+ expandOnFocus: zod.z.boolean().optional().default(false),
149
+ collapsedWidth: zod.z.string().optional().default("200px"),
150
+ // Feature: Password Toggle
151
+ // @see DECISIONS.md Decision 8
152
+ showPasswordToggle: zod.z.boolean().optional()
153
+ // Event handlers (onChange, onBlur, onFocus inherited from AriaTextFieldProps)
154
+ // Custom validate function added in TypeScript type below (not in Zod schema)
155
+ }).refine(
156
+ (data) => !data.pattern || data.patternDescription,
157
+ {
158
+ message: "patternDescription is required when pattern is provided",
159
+ path: ["patternDescription"]
160
+ }
161
+ ).refine(
162
+ (data) => !data.pattern || validatePatternSafety(data.pattern),
163
+ {
164
+ message: "Unsafe regex pattern detected. Pattern may cause ReDoS vulnerability. Avoid patterns like (.*)+, (.+)+, or excessive quantifiers.",
165
+ path: ["pattern"]
166
+ }
167
+ ).refine(
168
+ (data) => !(data.successMessage && data.errorMessage),
169
+ {
170
+ message: "Cannot provide both successMessage and errorMessage. Use one based on validation state.",
171
+ path: ["successMessage"]
172
+ }
173
+ ).refine(
174
+ (data) => {
175
+ if (typeof process !== "undefined" && process.env.NODE_ENV === "development") {
176
+ if (data.isValid && data.isInvalid) {
177
+ console.error("[TextField] Both isValid and isInvalid are true. isInvalid takes precedence.");
178
+ }
179
+ }
180
+ return true;
181
+ }
182
+ );
183
+ var TextFieldLabelPropsSchema = zod.z.object({
184
+ children: zod.z.any().optional(),
185
+ className: zod.z.string().optional(),
186
+ htmlFor: zod.z.string().optional(),
187
+ state: zod.z.enum(["default", "error", "disabled"]).optional().default("default")
188
+ });
189
+ var TextFieldInputPropsSchema = zod.z.object({
190
+ className: zod.z.string().optional(),
191
+ size: zod.z.enum(["sm", "default", "lg"]).optional().default("default"),
192
+ state: zod.z.enum(["default", "error", "success", "disabled", "readonly"]).optional().default("default")
193
+ });
194
+ var TextFieldDescriptionPropsSchema = zod.z.object({
195
+ children: zod.z.any().optional(),
196
+ className: zod.z.string().optional()
197
+ });
198
+ var TextFieldErrorPropsSchema = zod.z.object({
199
+ children: zod.z.any().optional(),
200
+ className: zod.z.string().optional()
201
+ });
202
+ var TextFieldSuccessPropsSchema = zod.z.object({
203
+ children: zod.z.any().optional(),
204
+ className: zod.z.string().optional()
205
+ });
206
+
207
+ Object.defineProperty(exports, "TextField", {
208
+ enumerable: true,
209
+ get: function () { return chunk4DU5JSXB_js.TextField; }
210
+ });
211
+ Object.defineProperty(exports, "TextFieldDescription", {
212
+ enumerable: true,
213
+ get: function () { return chunk4DU5JSXB_js.TextFieldDescription; }
214
+ });
215
+ Object.defineProperty(exports, "TextFieldError", {
216
+ enumerable: true,
217
+ get: function () { return chunk4DU5JSXB_js.TextFieldError; }
218
+ });
219
+ Object.defineProperty(exports, "TextFieldInput", {
220
+ enumerable: true,
221
+ get: function () { return chunk4DU5JSXB_js.TextFieldInput; }
222
+ });
223
+ Object.defineProperty(exports, "TextFieldLabel", {
224
+ enumerable: true,
225
+ get: function () { return chunk4DU5JSXB_js.TextFieldLabel; }
226
+ });
227
+ Object.defineProperty(exports, "TextFieldSuccess", {
228
+ enumerable: true,
229
+ get: function () { return chunk4DU5JSXB_js.TextFieldSuccess; }
230
+ });
231
+ Object.defineProperty(exports, "inputVariants", {
232
+ enumerable: true,
233
+ get: function () { return chunk4DU5JSXB_js.inputVariants; }
234
+ });
235
+ Object.defineProperty(exports, "labelVariants", {
236
+ enumerable: true,
237
+ get: function () { return chunk4DU5JSXB_js.labelVariants; }
238
+ });
239
+ Object.defineProperty(exports, "successMessageVariants", {
240
+ enumerable: true,
241
+ get: function () { return chunk4DU5JSXB_js.successMessageVariants; }
242
+ });
243
+ Object.defineProperty(exports, "textFieldInputVariants", {
244
+ enumerable: true,
245
+ get: function () { return chunk4DU5JSXB_js.inputVariants; }
246
+ });
247
+ Object.defineProperty(exports, "textFieldLabelVariants", {
248
+ enumerable: true,
249
+ get: function () { return chunk4DU5JSXB_js.labelVariants; }
250
+ });
251
+ exports.AutoCompleteValueSchema = AutoCompleteValue;
252
+ exports.TextFieldDescriptionPropsSchema = TextFieldDescriptionPropsSchema;
253
+ exports.TextFieldErrorPropsSchema = TextFieldErrorPropsSchema;
254
+ exports.TextFieldInputPropsSchema = TextFieldInputPropsSchema;
255
+ exports.TextFieldLabelPropsSchema = TextFieldLabelPropsSchema;
256
+ exports.TextFieldPropsSchema = TextFieldPropsSchema;
257
+ exports.TextFieldSuccessPropsSchema = TextFieldSuccessPropsSchema;
258
+ exports.validatePatternSafety = validatePatternSafety;
259
+ //# sourceMappingURL=index.js.map
260
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/TextField/TextField.types.ts"],"names":["z","BaseComponentPropsSchema"],"mappings":"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","file":"index.js","sourcesContent":["import { z } from 'zod';\nimport type { ReactNode } from 'react';\nimport { BaseComponentPropsSchema } from '../../schemas/BaseComponentProps';\nimport type {\n TextFieldProps as AriaTextFieldProps,\n LabelProps as AriaLabelProps,\n InputProps as AriaInputProps,\n TextProps as AriaTextProps,\n} from 'react-aria-components';\n\n/**\n * AutoComplete values from MDN spec\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\nexport const AutoCompleteValue = z.enum([\n // Control tokens\n 'off',\n 'on',\n // Name-related\n 'name',\n 'honorific-prefix',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-suffix',\n 'nickname',\n // Contact\n 'email',\n 'username',\n // Authentication\n 'new-password',\n 'current-password',\n 'one-time-code',\n // Organization\n 'organization-title',\n 'organization',\n // Address\n 'street-address',\n 'address-line1',\n 'address-line2',\n 'address-line3',\n 'address-level4',\n 'address-level3',\n 'address-level2',\n 'address-level1',\n 'country',\n 'country-name',\n 'postal-code',\n // Payment\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n 'cc-number',\n 'cc-exp',\n 'cc-exp-month',\n 'cc-exp-year',\n 'cc-csc',\n 'cc-type',\n // Transaction\n 'transaction-currency',\n 'transaction-amount',\n // Personal\n 'language',\n 'bday',\n 'bday-day',\n 'bday-month',\n 'bday-year',\n 'sex',\n // Telephone\n 'tel',\n 'tel-country-code',\n 'tel-national',\n 'tel-area-code',\n 'tel-local',\n 'tel-extension',\n // Other\n 'impp',\n 'url',\n 'photo',\n]);\n\nexport type AutoCompleteValueType = z.infer<typeof AutoCompleteValue>;\n\n/**\n * Dangerous regex patterns that can cause ReDoS attacks\n * @see DECISIONS.md Decision 21\n */\nconst DANGEROUS_REGEX_PATTERNS = [\n /\\(\\.\\*\\)\\+/, // Catastrophic backtracking: (.*)+\n /\\(\\.\\+\\)\\+/, // Catastrophic backtracking: (.+)+\n /\\([^)]*\\)\\{.*,.*\\}/, // Excessive quantifiers: (x){10,1000}\n /\\(\\?!\\)/, // Negative lookahead (can be slow)\n /\\(\\?<=\\)/, // Positive lookbehind (can be slow)\n];\n\n/**\n * Validates regex pattern for ReDoS safety\n * @param pattern - Regular expression pattern string\n * @returns true if pattern is safe, false if potentially dangerous\n */\nexport const validatePatternSafety = (pattern: string): boolean => {\n // Check for known dangerous patterns\n for (const dangerous of DANGEROUS_REGEX_PATTERNS) {\n if (dangerous.test(pattern)) {\n return false;\n }\n }\n\n // Check for excessive nested quantifiers\n const quantifierCount = (pattern.match(/[*+{}]/g) || []).length;\n if (quantifierCount > 5) {\n return false;\n }\n\n return true;\n};\n\n/**\n * TextField props schema extending BaseComponentProps\n *\n * @see spec.md FR-009 to FR-014 (Accessibility Requirements - WCAG 2.2 AAA)\n * @see React Aria TextField: https://react-spectrum.adobe.com/react-aria/TextField.html\n * @see ShadCN Input: https://ui.shadcn.com/docs/components/input\n * @see ShadCN Label: https://ui.shadcn.com/docs/components/label\n */\nexport const TextFieldPropsSchema = BaseComponentPropsSchema.extend({\n // Size variants (matching Button sizes: sm, default, lg)\n size: z.enum(['sm', 'default', 'lg']).optional().default('default'),\n\n // Text content\n label: z.string().optional(),\n description: z.string().optional(),\n errorMessage: z.string().optional(),\n successMessage: z.string().optional(),\n\n // Input type - BREAKING: removed 'tel' (use TelField component instead)\n // @see DECISIONS.md Decision 14\n type: z\n .enum(['text', 'email', 'password', 'url', 'search'])\n .optional()\n .default('text'),\n\n // State props\n isRequired: z.boolean().optional(),\n isReadOnly: z.boolean().optional(),\n isDisabled: z.boolean().optional(),\n isInvalid: z.boolean().optional(),\n isValid: z.boolean().optional(),\n\n // Input attributes\n placeholder: z.string().optional(),\n value: z.string().optional(),\n defaultValue: z.string().optional(),\n name: z.string().optional(),\n autoFocus: z.boolean().optional(),\n\n // AutoComplete - BREAKING: strict MDN enum instead of string\n // @see DECISIONS.md Decision 13\n autoComplete: AutoCompleteValue.optional(),\n\n maxLength: z.number().optional(),\n minLength: z.number().optional(),\n\n // Pattern validation with security check\n // @see DECISIONS.md Decision 15, 18\n // @warning SECURITY: Only use patterns defined in source code, never from user input\n pattern: z.string().optional(),\n patternDescription: z.string().optional(),\n\n // Feature: Copy/Paste Restriction\n // @see DECISIONS.md Decision 4\n disableCopyPaste: z.boolean().optional().default(false),\n\n // Feature: Prefix/Suffix\n // @see DECISIONS.md Decision 9\n prefix: z.any().optional(), // ReactNode - can't validate with Zod\n suffix: z.any().optional(), // ReactNode - can't validate with Zod\n prefixSize: z.number().optional().default(16),\n suffixSize: z.number().optional().default(16),\n\n // Feature: Expand on Focus\n // @see DECISIONS.md Decision 6, 17\n expandOnFocus: z.boolean().optional().default(false),\n collapsedWidth: z.string().optional().default('200px'),\n\n // Feature: Password Toggle\n // @see DECISIONS.md Decision 8\n showPasswordToggle: z.boolean().optional(),\n\n // Event handlers (onChange, onBlur, onFocus inherited from AriaTextFieldProps)\n // Custom validate function added in TypeScript type below (not in Zod schema)\n})\n.refine(\n (data) => !data.pattern || data.patternDescription,\n {\n message: \"patternDescription is required when pattern is provided\",\n path: [\"patternDescription\"]\n }\n)\n.refine(\n (data) => !data.pattern || validatePatternSafety(data.pattern),\n {\n message: \"Unsafe regex pattern detected. Pattern may cause ReDoS vulnerability. Avoid patterns like (.*)+, (.+)+, or excessive quantifiers.\",\n path: [\"pattern\"]\n }\n)\n.refine(\n (data) => !(data.successMessage && data.errorMessage),\n {\n message: \"Cannot provide both successMessage and errorMessage. Use one based on validation state.\",\n path: [\"successMessage\"]\n }\n)\n.refine(\n (data) => {\n // Development mode warning for conflicting validation states\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'development') {\n if (data.isValid && data.isInvalid) {\n console.error('[TextField] Both isValid and isInvalid are true. isInvalid takes precedence.');\n }\n }\n return true;\n }\n);\n\nexport type TextFieldProps = Partial<z.infer<typeof TextFieldPropsSchema>> &\n Omit<AriaTextFieldProps, keyof z.infer<typeof TextFieldPropsSchema>> & {\n // Explicitly type onChange for better IntelliSense\n onChange?: (value: string) => void;\n\n // Custom validation function\n // @see DECISIONS.md Decision 7, 18\n // Pattern validation runs first, then custom validate\n validate?: (value: string) => string | undefined | null;\n\n // Prefix/Suffix with proper typing\n prefix?: ReactNode;\n suffix?: ReactNode;\n };\n\n/**\n * Label props schema for TextField label sub-component\n */\nexport const TextFieldLabelPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n htmlFor: z.string().optional(),\n state: z.enum(['default', 'error', 'disabled']).optional().default('default'),\n});\n\nexport type TextFieldLabelProps = z.infer<typeof TextFieldLabelPropsSchema> &\n Omit<AriaLabelProps, keyof z.infer<typeof TextFieldLabelPropsSchema>>;\n\n/**\n * Input props schema for TextField input sub-component\n */\nexport const TextFieldInputPropsSchema = z.object({\n className: z.string().optional(),\n size: z.enum(['sm', 'default', 'lg']).optional().default('default'),\n state: z\n .enum(['default', 'error', 'success', 'disabled', 'readonly'])\n .optional()\n .default('default'),\n});\n\nexport type TextFieldInputProps = z.infer<typeof TextFieldInputPropsSchema> &\n Omit<AriaInputProps, keyof z.infer<typeof TextFieldInputPropsSchema>>;\n\n/**\n * Description text props schema for TextField description sub-component\n */\nexport const TextFieldDescriptionPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldDescriptionProps = z.infer<typeof TextFieldDescriptionPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldDescriptionPropsSchema>>;\n\n/**\n * Error message props schema for TextField error sub-component\n */\nexport const TextFieldErrorPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldErrorProps = z.infer<typeof TextFieldErrorPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldErrorPropsSchema>>;\n\n/**\n * Success message props schema for TextField success sub-component\n * @see DECISIONS.md Decision 5\n */\nexport const TextFieldSuccessPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldSuccessProps = z.infer<typeof TextFieldSuccessPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldSuccessPropsSchema>>;\n\n/**\n * CVA variant configuration types\n */\nexport type TextFieldSize = z.infer<typeof TextFieldPropsSchema>['size'];\nexport type InputState = z.infer<typeof TextFieldInputPropsSchema>['state'];\nexport type LabelState = z.infer<typeof TextFieldLabelPropsSchema>['state'];\n"]}