@tribepad/themis 1.0.0 → 1.0.2

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 (482) hide show
  1. package/dist/elements/Accordion/index.js +2 -77
  2. package/dist/elements/Accordion/index.js.map +1 -1
  3. package/dist/elements/Accordion/index.mjs +2 -4
  4. package/dist/elements/Accordion/index.mjs.map +1 -1
  5. package/dist/elements/AlertDialog/AlertDialog.d.ts +43 -0
  6. package/dist/elements/AlertDialog/AlertDialog.d.ts.map +1 -0
  7. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts +15 -0
  8. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
  9. package/dist/elements/AlertDialog/AlertDialog.types.d.ts +72 -0
  10. package/dist/elements/AlertDialog/AlertDialog.types.d.ts.map +1 -0
  11. package/dist/elements/AlertDialog/index.d.ts +25 -0
  12. package/dist/elements/AlertDialog/index.d.ts.map +1 -0
  13. package/dist/elements/AlertDialog/index.js +3 -0
  14. package/dist/elements/AlertDialog/index.js.map +1 -0
  15. package/dist/elements/AlertDialog/index.mjs +3 -0
  16. package/dist/elements/AlertDialog/index.mjs.map +1 -0
  17. package/dist/elements/Avatar/index.js +2 -53
  18. package/dist/elements/Avatar/index.js.map +1 -1
  19. package/dist/elements/Avatar/index.mjs +2 -4
  20. package/dist/elements/Avatar/index.mjs.map +1 -1
  21. package/dist/elements/Badge/index.js +2 -42
  22. package/dist/elements/Badge/index.js.map +1 -1
  23. package/dist/elements/Badge/index.mjs +2 -5
  24. package/dist/elements/Badge/index.mjs.map +1 -1
  25. package/dist/elements/Breadcrumbs/index.js +2 -53
  26. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  27. package/dist/elements/Breadcrumbs/index.mjs +2 -8
  28. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  29. package/dist/elements/Button/Button.d.ts +26 -81
  30. package/dist/elements/Button/Button.d.ts.map +1 -1
  31. package/dist/elements/Button/Button.styles.d.ts +35 -0
  32. package/dist/elements/Button/Button.styles.d.ts.map +1 -0
  33. package/dist/elements/Button/Button.types.d.ts +20 -8
  34. package/dist/elements/Button/Button.types.d.ts.map +1 -1
  35. package/dist/elements/Button/index.js +2 -26
  36. package/dist/elements/Button/index.js.map +1 -1
  37. package/dist/elements/Button/index.mjs +2 -5
  38. package/dist/elements/Button/index.mjs.map +1 -1
  39. package/dist/elements/ButtonGroup/index.js +2 -65
  40. package/dist/elements/ButtonGroup/index.js.map +1 -1
  41. package/dist/elements/ButtonGroup/index.mjs +2 -4
  42. package/dist/elements/ButtonGroup/index.mjs.map +1 -1
  43. package/dist/elements/Card/Card.d.ts.map +1 -1
  44. package/dist/elements/Card/index.js +2 -84
  45. package/dist/elements/Card/index.js.map +1 -1
  46. package/dist/elements/Card/index.mjs +2 -7
  47. package/dist/elements/Card/index.mjs.map +1 -1
  48. package/dist/elements/Carousel/Carousel.d.ts +1 -11
  49. package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
  50. package/dist/elements/Carousel/LazyCarousel.d.ts +1 -1
  51. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -1
  52. package/dist/elements/Carousel/index.js +2 -22
  53. package/dist/elements/Carousel/index.js.map +1 -1
  54. package/dist/elements/Carousel/index.mjs +2 -9
  55. package/dist/elements/Carousel/index.mjs.map +1 -1
  56. package/dist/elements/Chart/ChartContext.d.ts.map +1 -1
  57. package/dist/elements/Chart/index.js +2 -46
  58. package/dist/elements/Chart/index.js.map +1 -1
  59. package/dist/elements/Chart/index.mjs +2 -5
  60. package/dist/elements/Chart/index.mjs.map +1 -1
  61. package/dist/elements/Checkbox/index.js +2 -46
  62. package/dist/elements/Checkbox/index.js.map +1 -1
  63. package/dist/elements/Checkbox/index.mjs +2 -5
  64. package/dist/elements/Checkbox/index.mjs.map +1 -1
  65. package/dist/elements/CheckboxGroup/index.js +2 -70
  66. package/dist/elements/CheckboxGroup/index.js.map +1 -1
  67. package/dist/elements/CheckboxGroup/index.mjs +2 -5
  68. package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
  69. package/dist/elements/Combobox/Combobox.d.ts +56 -0
  70. package/dist/elements/Combobox/Combobox.d.ts.map +1 -0
  71. package/dist/elements/Combobox/Combobox.styles.d.ts +29 -0
  72. package/dist/elements/Combobox/Combobox.styles.d.ts.map +1 -0
  73. package/dist/elements/Combobox/Combobox.types.d.ts +67 -0
  74. package/dist/elements/Combobox/Combobox.types.d.ts.map +1 -0
  75. package/dist/elements/Combobox/index.d.ts +20 -0
  76. package/dist/elements/Combobox/index.d.ts.map +1 -0
  77. package/dist/elements/Combobox/index.js +3 -0
  78. package/dist/elements/Combobox/index.js.map +1 -0
  79. package/dist/elements/Combobox/index.mjs +3 -0
  80. package/dist/elements/Combobox/index.mjs.map +1 -0
  81. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  82. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  83. package/dist/elements/DatePicker/index.js +2 -122
  84. package/dist/elements/DatePicker/index.js.map +1 -1
  85. package/dist/elements/DatePicker/index.mjs +2 -5
  86. package/dist/elements/DatePicker/index.mjs.map +1 -1
  87. package/dist/elements/Dropdown/Dropdown.d.ts +7 -15
  88. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
  89. package/dist/elements/Dropdown/Dropdown.styles.d.ts +22 -0
  90. package/dist/elements/Dropdown/Dropdown.styles.d.ts.map +1 -0
  91. package/dist/elements/Dropdown/index.d.ts +1 -0
  92. package/dist/elements/Dropdown/index.d.ts.map +1 -1
  93. package/dist/elements/Dropdown/index.js +2 -40
  94. package/dist/elements/Dropdown/index.js.map +1 -1
  95. package/dist/elements/Dropdown/index.mjs +2 -3
  96. package/dist/elements/Dropdown/index.mjs.map +1 -1
  97. package/dist/elements/FileField/index.js +2 -137
  98. package/dist/elements/FileField/index.js.map +1 -1
  99. package/dist/elements/FileField/index.mjs +2 -8
  100. package/dist/elements/FileField/index.mjs.map +1 -1
  101. package/dist/elements/FormLayout/index.js +2 -16
  102. package/dist/elements/FormLayout/index.js.map +1 -1
  103. package/dist/elements/FormLayout/index.mjs +2 -3
  104. package/dist/elements/FormLayout/index.mjs.map +1 -1
  105. package/dist/elements/Modal/Modal.d.ts +9 -14
  106. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  107. package/dist/elements/Modal/Modal.styles.d.ts +29 -0
  108. package/dist/elements/Modal/Modal.styles.d.ts.map +1 -0
  109. package/dist/elements/Modal/index.d.ts +1 -0
  110. package/dist/elements/Modal/index.d.ts.map +1 -1
  111. package/dist/elements/Modal/index.js +2 -51
  112. package/dist/elements/Modal/index.js.map +1 -1
  113. package/dist/elements/Modal/index.mjs +2 -2
  114. package/dist/elements/Modal/index.mjs.map +1 -1
  115. package/dist/elements/NumberField/index.js +2 -56
  116. package/dist/elements/NumberField/index.js.map +1 -1
  117. package/dist/elements/NumberField/index.mjs +2 -7
  118. package/dist/elements/NumberField/index.mjs.map +1 -1
  119. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -1
  120. package/dist/elements/OTPInput/index.js +2 -12
  121. package/dist/elements/OTPInput/index.js.map +1 -1
  122. package/dist/elements/OTPInput/index.mjs +2 -3
  123. package/dist/elements/OTPInput/index.mjs.map +1 -1
  124. package/dist/elements/Pagination/Pagination.d.ts +45 -0
  125. package/dist/elements/Pagination/Pagination.d.ts.map +1 -0
  126. package/dist/elements/Pagination/Pagination.styles.d.ts +10 -0
  127. package/dist/elements/Pagination/Pagination.styles.d.ts.map +1 -0
  128. package/dist/elements/Pagination/Pagination.types.d.ts +55 -0
  129. package/dist/elements/Pagination/Pagination.types.d.ts.map +1 -0
  130. package/dist/elements/Pagination/index.d.ts +21 -0
  131. package/dist/elements/Pagination/index.d.ts.map +1 -0
  132. package/dist/elements/Pagination/index.js +3 -0
  133. package/dist/elements/Pagination/index.js.map +1 -0
  134. package/dist/elements/Pagination/index.mjs +3 -0
  135. package/dist/elements/Pagination/index.mjs.map +1 -0
  136. package/dist/elements/Panel/index.js +2 -32
  137. package/dist/elements/Panel/index.js.map +1 -1
  138. package/dist/elements/Panel/index.mjs +2 -3
  139. package/dist/elements/Panel/index.mjs.map +1 -1
  140. package/dist/elements/PasswordField/PasswordField.d.ts +27 -0
  141. package/dist/elements/PasswordField/PasswordField.d.ts.map +1 -0
  142. package/dist/elements/PasswordField/PasswordField.styles.d.ts +32 -0
  143. package/dist/elements/PasswordField/PasswordField.styles.d.ts.map +1 -0
  144. package/dist/elements/PasswordField/PasswordField.types.d.ts +100 -0
  145. package/dist/elements/PasswordField/PasswordField.types.d.ts.map +1 -0
  146. package/dist/elements/PasswordField/index.css +2 -0
  147. package/dist/elements/PasswordField/index.css.map +1 -0
  148. package/dist/elements/PasswordField/index.d.ts +20 -0
  149. package/dist/elements/PasswordField/index.d.ts.map +1 -0
  150. package/dist/elements/PasswordField/index.js +3 -0
  151. package/dist/elements/PasswordField/index.js.map +1 -0
  152. package/dist/elements/PasswordField/index.mjs +3 -0
  153. package/dist/elements/PasswordField/index.mjs.map +1 -0
  154. package/dist/elements/Progress/index.js +2 -29
  155. package/dist/elements/Progress/index.js.map +1 -1
  156. package/dist/elements/Progress/index.mjs +2 -4
  157. package/dist/elements/Progress/index.mjs.map +1 -1
  158. package/dist/elements/RadioGroup/index.js +2 -46
  159. package/dist/elements/RadioGroup/index.js.map +1 -1
  160. package/dist/elements/RadioGroup/index.mjs +2 -5
  161. package/dist/elements/RadioGroup/index.mjs.map +1 -1
  162. package/dist/elements/Resizable/components/ResizableHandle.d.ts +0 -8
  163. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -1
  164. package/dist/elements/Resizable/components/ResizablePanel.d.ts +0 -8
  165. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -1
  166. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +0 -8
  167. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -1
  168. package/dist/elements/Resizable/components/ResizablePopover.d.ts +0 -8
  169. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
  170. package/dist/elements/Resizable/index.js +2 -64
  171. package/dist/elements/Resizable/index.js.map +1 -1
  172. package/dist/elements/Resizable/index.mjs +2 -7
  173. package/dist/elements/Resizable/index.mjs.map +1 -1
  174. package/dist/elements/SearchField/SearchField.d.ts +27 -0
  175. package/dist/elements/SearchField/SearchField.d.ts.map +1 -0
  176. package/dist/elements/SearchField/SearchField.styles.d.ts +32 -0
  177. package/dist/elements/SearchField/SearchField.styles.d.ts.map +1 -0
  178. package/dist/elements/SearchField/SearchField.types.d.ts +45 -0
  179. package/dist/elements/SearchField/SearchField.types.d.ts.map +1 -0
  180. package/dist/elements/SearchField/index.css +2 -0
  181. package/dist/elements/SearchField/index.css.map +1 -0
  182. package/dist/elements/SearchField/index.d.ts +21 -0
  183. package/dist/elements/SearchField/index.d.ts.map +1 -0
  184. package/dist/elements/SearchField/index.js +3 -0
  185. package/dist/elements/SearchField/index.js.map +1 -0
  186. package/dist/elements/SearchField/index.mjs +3 -0
  187. package/dist/elements/SearchField/index.mjs.map +1 -0
  188. package/dist/elements/Select/Select.d.ts +19 -48
  189. package/dist/elements/Select/Select.d.ts.map +1 -1
  190. package/dist/elements/Select/Select.styles.d.ts +55 -0
  191. package/dist/elements/Select/Select.styles.d.ts.map +1 -0
  192. package/dist/elements/Select/index.js +2 -32
  193. package/dist/elements/Select/index.js.map +1 -1
  194. package/dist/elements/Select/index.mjs +2 -3
  195. package/dist/elements/Select/index.mjs.map +1 -1
  196. package/dist/elements/Skeleton/index.js +2 -21
  197. package/dist/elements/Skeleton/index.js.map +1 -1
  198. package/dist/elements/Skeleton/index.mjs +2 -4
  199. package/dist/elements/Skeleton/index.mjs.map +1 -1
  200. package/dist/elements/Switch/index.js +2 -48
  201. package/dist/elements/Switch/index.js.map +1 -1
  202. package/dist/elements/Switch/index.mjs +2 -30
  203. package/dist/elements/Switch/index.mjs.map +1 -1
  204. package/dist/elements/Table/Table.d.ts +3 -24
  205. package/dist/elements/Table/Table.d.ts.map +1 -1
  206. package/dist/elements/Table/Table.styles.d.ts +24 -0
  207. package/dist/elements/Table/Table.styles.d.ts.map +1 -0
  208. package/dist/elements/Table/index.js +2 -75
  209. package/dist/elements/Table/index.js.map +1 -1
  210. package/dist/elements/Table/index.mjs +2 -6
  211. package/dist/elements/Table/index.mjs.map +1 -1
  212. package/dist/elements/Tabs/index.js +2 -73
  213. package/dist/elements/Tabs/index.js.map +1 -1
  214. package/dist/elements/Tabs/index.mjs +2 -4
  215. package/dist/elements/Tabs/index.mjs.map +1 -1
  216. package/dist/elements/TextField/TextField.d.ts +6 -42
  217. package/dist/elements/TextField/TextField.d.ts.map +1 -1
  218. package/dist/elements/TextField/TextField.hooks.d.ts +63 -0
  219. package/dist/elements/TextField/TextField.hooks.d.ts.map +1 -0
  220. package/dist/elements/TextField/TextField.icons.d.ts +19 -0
  221. package/dist/elements/TextField/TextField.icons.d.ts.map +1 -0
  222. package/dist/elements/TextField/TextField.styles.d.ts +37 -0
  223. package/dist/elements/TextField/TextField.styles.d.ts.map +1 -0
  224. package/dist/elements/TextField/TextField.types.d.ts +3 -0
  225. package/dist/elements/TextField/TextField.types.d.ts.map +1 -1
  226. package/dist/elements/TextField/index.css +1 -22
  227. package/dist/elements/TextField/index.css.map +1 -1
  228. package/dist/elements/TextField/index.js +2 -259
  229. package/dist/elements/TextField/index.js.map +1 -1
  230. package/dist/elements/TextField/index.mjs +2 -206
  231. package/dist/elements/TextField/index.mjs.map +1 -1
  232. package/dist/elements/TimeField/index.js +2 -44
  233. package/dist/elements/TimeField/index.js.map +1 -1
  234. package/dist/elements/TimeField/index.mjs +2 -3
  235. package/dist/elements/TimeField/index.mjs.map +1 -1
  236. package/dist/elements/Toast/Toast.d.ts +0 -22
  237. package/dist/elements/Toast/Toast.d.ts.map +1 -1
  238. package/dist/elements/Toast/index.js +2 -59
  239. package/dist/elements/Toast/index.js.map +1 -1
  240. package/dist/elements/Toast/index.mjs +2 -6
  241. package/dist/elements/Toast/index.mjs.map +1 -1
  242. package/dist/elements/Tooltip/index.js +2 -58
  243. package/dist/elements/Tooltip/index.js.map +1 -1
  244. package/dist/elements/Tooltip/index.mjs +2 -5
  245. package/dist/elements/Tooltip/index.mjs.map +1 -1
  246. package/dist/elements/index.css +1 -22
  247. package/dist/elements/index.css.map +1 -1
  248. package/dist/elements/index.d.ts +13 -1
  249. package/dist/elements/index.d.ts.map +1 -1
  250. package/dist/elements/index.js +2 -838
  251. package/dist/elements/index.js.map +1 -1
  252. package/dist/elements/index.mjs +2 -41
  253. package/dist/elements/index.mjs.map +1 -1
  254. package/dist/index.css +1 -22
  255. package/dist/index.css.map +1 -1
  256. package/dist/index.js +3 -864
  257. package/dist/index.js.map +1 -1
  258. package/dist/index.mjs +3 -43
  259. package/dist/index.mjs.map +1 -1
  260. package/dist/schemas/index.js +2 -28
  261. package/dist/schemas/index.js.map +1 -1
  262. package/dist/schemas/index.mjs +2 -3
  263. package/dist/schemas/index.mjs.map +1 -1
  264. package/dist/styles/defaults.css +151 -0
  265. package/dist/styles/index.js +1 -152
  266. package/dist/styles/index.js.map +1 -1
  267. package/dist/styles/index.mjs +1 -3
  268. package/dist/styles/index.mjs.map +1 -1
  269. package/dist/utils/index.js +1 -12
  270. package/dist/utils/index.js.map +1 -1
  271. package/dist/utils/index.mjs +1 -3
  272. package/dist/utils/index.mjs.map +1 -1
  273. package/package.json +9 -7
  274. package/src/elements/Accordion/Accordion.stories.tsx +1 -1
  275. package/src/elements/AlertDialog/AlertDialog.stories.tsx +124 -0
  276. package/src/elements/Avatar/Avatar.stories.tsx +1 -1
  277. package/src/elements/Badge/Badge.stories.tsx +1 -1
  278. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  279. package/src/elements/Button/Button.stories.tsx +1 -1
  280. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  281. package/src/elements/Card/Card.stories.tsx +1 -1
  282. package/src/elements/Carousel/Carousel.stories.tsx +1 -1
  283. package/src/elements/Chart/Chart.stories.tsx +1 -1
  284. package/src/elements/Checkbox/Checkbox.stories.tsx +1 -1
  285. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1 -1
  286. package/src/elements/Combobox/Combobox.stories.tsx +133 -0
  287. package/src/elements/DatePicker/DatePicker.stories.tsx +1 -1
  288. package/src/elements/Dropdown/Dropdown.stories.tsx +1 -1
  289. package/src/elements/FileField/FileField.stories.tsx +1 -1
  290. package/src/elements/FileField/FileProgress.stories.tsx +1 -1
  291. package/src/elements/FormLayout/FormLayout.stories.tsx +1 -1
  292. package/src/elements/Modal/Modal.stories.tsx +1 -1
  293. package/src/elements/NumberField/NumberField.stories.tsx +1 -1
  294. package/src/elements/OTPInput/OTPInput.stories.tsx +1 -1
  295. package/src/elements/Pagination/Pagination.stories.tsx +203 -0
  296. package/src/elements/Panel/Panel.stories.tsx +1 -1
  297. package/src/elements/PasswordField/PasswordField.stories.tsx +167 -0
  298. package/src/elements/Progress/Progress.stories.tsx +1 -1
  299. package/src/elements/RadioGroup/RadioGroup.stories.tsx +1 -1
  300. package/src/elements/Resizable/Resizable.stories.tsx +1 -1
  301. package/src/elements/SearchField/SearchField.stories.tsx +146 -0
  302. package/src/elements/Select/Select.stories.tsx +1 -1
  303. package/src/elements/Skeleton/Skeleton.stories.tsx +1 -1
  304. package/src/elements/Switch/Switch.stories.tsx +1 -1
  305. package/src/elements/Table/Table.stories.tsx +1 -1
  306. package/src/elements/Tabs/Tabs.stories.tsx +1 -1
  307. package/src/elements/TextField/TextField.stories.tsx +1 -1
  308. package/src/elements/TimeField/TimeField.stories.tsx +1 -1
  309. package/src/elements/Toast/Toast.stories.tsx +1 -1
  310. package/src/elements/Tooltip/Tooltip.stories.tsx +1 -1
  311. package/dist/Carousel-NTZX5TOW.js +0 -16
  312. package/dist/Carousel-NTZX5TOW.js.map +0 -1
  313. package/dist/Carousel-YH3DOQJU.mjs +0 -7
  314. package/dist/Carousel-YH3DOQJU.mjs.map +0 -1
  315. package/dist/chunk-2HIUTHMU.mjs +0 -234
  316. package/dist/chunk-2HIUTHMU.mjs.map +0 -1
  317. package/dist/chunk-34GTFTDO.js +0 -431
  318. package/dist/chunk-34GTFTDO.js.map +0 -1
  319. package/dist/chunk-3H7ASYR7.js +0 -250
  320. package/dist/chunk-3H7ASYR7.js.map +0 -1
  321. package/dist/chunk-3IEN7JOP.js +0 -316
  322. package/dist/chunk-3IEN7JOP.js.map +0 -1
  323. package/dist/chunk-3JHN4GAL.js +0 -326
  324. package/dist/chunk-3JHN4GAL.js.map +0 -1
  325. package/dist/chunk-3MJPASQU.js +0 -232
  326. package/dist/chunk-3MJPASQU.js.map +0 -1
  327. package/dist/chunk-3XD2JUL3.js +0 -572
  328. package/dist/chunk-3XD2JUL3.js.map +0 -1
  329. package/dist/chunk-3YOY2VJ6.js +0 -189
  330. package/dist/chunk-3YOY2VJ6.js.map +0 -1
  331. package/dist/chunk-4DU5JSXB.js +0 -408
  332. package/dist/chunk-4DU5JSXB.js.map +0 -1
  333. package/dist/chunk-4E4E2GSS.js +0 -352
  334. package/dist/chunk-4E4E2GSS.js.map +0 -1
  335. package/dist/chunk-4NHAP4AN.mjs +0 -3
  336. package/dist/chunk-4NHAP4AN.mjs.map +0 -1
  337. package/dist/chunk-4S33J5NY.mjs +0 -415
  338. package/dist/chunk-4S33J5NY.mjs.map +0 -1
  339. package/dist/chunk-5SMGRT3G.mjs +0 -354
  340. package/dist/chunk-5SMGRT3G.mjs.map +0 -1
  341. package/dist/chunk-5SVLJN2C.mjs +0 -22
  342. package/dist/chunk-5SVLJN2C.mjs.map +0 -1
  343. package/dist/chunk-66WTU4EB.mjs +0 -299
  344. package/dist/chunk-66WTU4EB.mjs.map +0 -1
  345. package/dist/chunk-6S25NMOT.mjs +0 -335
  346. package/dist/chunk-6S25NMOT.mjs.map +0 -1
  347. package/dist/chunk-6SP7UB3D.js +0 -4
  348. package/dist/chunk-6SP7UB3D.js.map +0 -1
  349. package/dist/chunk-6TYWWQHM.mjs +0 -565
  350. package/dist/chunk-6TYWWQHM.mjs.map +0 -1
  351. package/dist/chunk-A3YUJA6W.mjs +0 -384
  352. package/dist/chunk-A3YUJA6W.mjs.map +0 -1
  353. package/dist/chunk-A6KEDVUR.js +0 -61
  354. package/dist/chunk-A6KEDVUR.js.map +0 -1
  355. package/dist/chunk-A77RUEWL.js +0 -730
  356. package/dist/chunk-A77RUEWL.js.map +0 -1
  357. package/dist/chunk-AA4IKMPE.mjs +0 -3
  358. package/dist/chunk-AA4IKMPE.mjs.map +0 -1
  359. package/dist/chunk-AKIA6GW6.mjs +0 -163
  360. package/dist/chunk-AKIA6GW6.mjs.map +0 -1
  361. package/dist/chunk-AL6P275L.mjs +0 -435
  362. package/dist/chunk-AL6P275L.mjs.map +0 -1
  363. package/dist/chunk-AZ3RJYTB.js +0 -37
  364. package/dist/chunk-AZ3RJYTB.js.map +0 -1
  365. package/dist/chunk-B5Q4UPL6.js +0 -32
  366. package/dist/chunk-B5Q4UPL6.js.map +0 -1
  367. package/dist/chunk-B6DHPMDP.mjs +0 -335
  368. package/dist/chunk-B6DHPMDP.mjs.map +0 -1
  369. package/dist/chunk-BDXKKMBZ.mjs +0 -184
  370. package/dist/chunk-BDXKKMBZ.mjs.map +0 -1
  371. package/dist/chunk-BL6E2DLZ.mjs +0 -52
  372. package/dist/chunk-BL6E2DLZ.mjs.map +0 -1
  373. package/dist/chunk-CGFDS4XS.mjs +0 -121
  374. package/dist/chunk-CGFDS4XS.mjs.map +0 -1
  375. package/dist/chunk-CJIW5TKI.js +0 -139
  376. package/dist/chunk-CJIW5TKI.js.map +0 -1
  377. package/dist/chunk-CKNISJOQ.js +0 -314
  378. package/dist/chunk-CKNISJOQ.js.map +0 -1
  379. package/dist/chunk-D6CBOECS.mjs +0 -1757
  380. package/dist/chunk-D6CBOECS.mjs.map +0 -1
  381. package/dist/chunk-DDWEVC2S.js +0 -166
  382. package/dist/chunk-DDWEVC2S.js.map +0 -1
  383. package/dist/chunk-DZ556D2F.mjs +0 -176
  384. package/dist/chunk-DZ556D2F.mjs.map +0 -1
  385. package/dist/chunk-E2KQFV3O.mjs +0 -10
  386. package/dist/chunk-E2KQFV3O.mjs.map +0 -1
  387. package/dist/chunk-EMMLADSC.js +0 -126
  388. package/dist/chunk-EMMLADSC.js.map +0 -1
  389. package/dist/chunk-EP4WOI5D.mjs +0 -926
  390. package/dist/chunk-EP4WOI5D.mjs.map +0 -1
  391. package/dist/chunk-FJRXLJC2.mjs +0 -160
  392. package/dist/chunk-FJRXLJC2.mjs.map +0 -1
  393. package/dist/chunk-FKQI434R.js +0 -345
  394. package/dist/chunk-FKQI434R.js.map +0 -1
  395. package/dist/chunk-FPKEAJRZ.mjs +0 -100
  396. package/dist/chunk-FPKEAJRZ.mjs.map +0 -1
  397. package/dist/chunk-FWQYB22U.js +0 -183
  398. package/dist/chunk-FWQYB22U.js.map +0 -1
  399. package/dist/chunk-GD5GHTMA.js +0 -189
  400. package/dist/chunk-GD5GHTMA.js.map +0 -1
  401. package/dist/chunk-GE5XTSDZ.js +0 -447
  402. package/dist/chunk-GE5XTSDZ.js.map +0 -1
  403. package/dist/chunk-GVE47ZAX.mjs +0 -32
  404. package/dist/chunk-GVE47ZAX.mjs.map +0 -1
  405. package/dist/chunk-HK46BT5U.mjs +0 -18
  406. package/dist/chunk-HK46BT5U.mjs.map +0 -1
  407. package/dist/chunk-HQVRMR6N.js +0 -365
  408. package/dist/chunk-HQVRMR6N.js.map +0 -1
  409. package/dist/chunk-HSGBJPJO.mjs +0 -398
  410. package/dist/chunk-HSGBJPJO.mjs.map +0 -1
  411. package/dist/chunk-I3AUTOMZ.mjs +0 -125
  412. package/dist/chunk-I3AUTOMZ.mjs.map +0 -1
  413. package/dist/chunk-IEI5LD5C.mjs +0 -1161
  414. package/dist/chunk-IEI5LD5C.mjs.map +0 -1
  415. package/dist/chunk-IIPTC2X7.mjs +0 -118
  416. package/dist/chunk-IIPTC2X7.mjs.map +0 -1
  417. package/dist/chunk-J7TLHF2Q.js +0 -4
  418. package/dist/chunk-J7TLHF2Q.js.map +0 -1
  419. package/dist/chunk-JJOWXFXQ.mjs +0 -765
  420. package/dist/chunk-JJOWXFXQ.mjs.map +0 -1
  421. package/dist/chunk-JPTSS2OA.mjs +0 -3
  422. package/dist/chunk-JPTSS2OA.mjs.map +0 -1
  423. package/dist/chunk-KFXXRLTP.js +0 -396
  424. package/dist/chunk-KFXXRLTP.js.map +0 -1
  425. package/dist/chunk-KPRRBSG6.mjs +0 -272
  426. package/dist/chunk-KPRRBSG6.mjs.map +0 -1
  427. package/dist/chunk-NFSBGRDB.mjs +0 -57
  428. package/dist/chunk-NFSBGRDB.mjs.map +0 -1
  429. package/dist/chunk-NGJVCFTM.js +0 -219
  430. package/dist/chunk-NGJVCFTM.js.map +0 -1
  431. package/dist/chunk-NSQ6MZJ6.mjs +0 -728
  432. package/dist/chunk-NSQ6MZJ6.mjs.map +0 -1
  433. package/dist/chunk-NYQYHT76.mjs +0 -296
  434. package/dist/chunk-NYQYHT76.mjs.map +0 -1
  435. package/dist/chunk-OLJJGI5B.js +0 -1193
  436. package/dist/chunk-OLJJGI5B.js.map +0 -1
  437. package/dist/chunk-Q3572X2J.js +0 -292
  438. package/dist/chunk-Q3572X2J.js.map +0 -1
  439. package/dist/chunk-QH7N7D4I.mjs +0 -210
  440. package/dist/chunk-QH7N7D4I.mjs.map +0 -1
  441. package/dist/chunk-R7XUIV25.js +0 -466
  442. package/dist/chunk-R7XUIV25.js.map +0 -1
  443. package/dist/chunk-RFFO4KPM.js +0 -135
  444. package/dist/chunk-RFFO4KPM.js.map +0 -1
  445. package/dist/chunk-RFX7QKA7.mjs +0 -180
  446. package/dist/chunk-RFX7QKA7.mjs.map +0 -1
  447. package/dist/chunk-SN5LFAP3.js +0 -940
  448. package/dist/chunk-SN5LFAP3.js.map +0 -1
  449. package/dist/chunk-T4COXKQ3.js +0 -24
  450. package/dist/chunk-T4COXKQ3.js.map +0 -1
  451. package/dist/chunk-TS54QM27.js +0 -125
  452. package/dist/chunk-TS54QM27.js.map +0 -1
  453. package/dist/chunk-UE2S4PCX.mjs +0 -220
  454. package/dist/chunk-UE2S4PCX.mjs.map +0 -1
  455. package/dist/chunk-UTW3QX2A.mjs +0 -282
  456. package/dist/chunk-UTW3QX2A.mjs.map +0 -1
  457. package/dist/chunk-V74LGMAE.js +0 -1767
  458. package/dist/chunk-V74LGMAE.js.map +0 -1
  459. package/dist/chunk-VIREG536.js +0 -12
  460. package/dist/chunk-VIREG536.js.map +0 -1
  461. package/dist/chunk-VY7M7346.js +0 -4
  462. package/dist/chunk-VY7M7346.js.map +0 -1
  463. package/dist/chunk-W3TJOO7H.mjs +0 -319
  464. package/dist/chunk-W3TJOO7H.mjs.map +0 -1
  465. package/dist/chunk-WIUOB36M.js +0 -54
  466. package/dist/chunk-WIUOB36M.js.map +0 -1
  467. package/dist/chunk-WJGLM4CY.js +0 -291
  468. package/dist/chunk-WJGLM4CY.js.map +0 -1
  469. package/dist/chunk-WNURH5OO.mjs +0 -453
  470. package/dist/chunk-WNURH5OO.mjs.map +0 -1
  471. package/dist/chunk-X25TNRSD.mjs +0 -364
  472. package/dist/chunk-X25TNRSD.mjs.map +0 -1
  473. package/dist/chunk-Y3GT7ETK.js +0 -108
  474. package/dist/chunk-Y3GT7ETK.js.map +0 -1
  475. package/dist/chunk-Z4FRNOF6.mjs +0 -115
  476. package/dist/chunk-Z4FRNOF6.mjs.map +0 -1
  477. package/dist/chunk-ZMYLD3BN.js +0 -166
  478. package/dist/chunk-ZMYLD3BN.js.map +0 -1
  479. package/dist/chunk-ZP2KV6EX.js +0 -815
  480. package/dist/chunk-ZP2KV6EX.js.map +0 -1
  481. package/dist/chunk-ZVKXFELU.js +0 -366
  482. package/dist/chunk-ZVKXFELU.js.map +0 -1
@@ -1,730 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkVIREG536_js = require('./chunk-VIREG536.js');
4
- var react = require('react');
5
- var classVarianceAuthority = require('class-variance-authority');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- function useOTPKeyboard(options) {
9
- const {
10
- value,
11
- length,
12
- focusedIndex,
13
- onChange,
14
- setFocusedIndex,
15
- disabled = false,
16
- readOnly = false
17
- } = options;
18
- const handleArrowLeft = react.useCallback(() => {
19
- if (focusedIndex > 0) {
20
- setFocusedIndex(focusedIndex - 1);
21
- }
22
- }, [focusedIndex, setFocusedIndex]);
23
- const handleArrowRight = react.useCallback(() => {
24
- if (focusedIndex < length - 1) {
25
- setFocusedIndex(focusedIndex + 1);
26
- }
27
- }, [focusedIndex, length, setFocusedIndex]);
28
- const handleBackspace = react.useCallback(() => {
29
- if (readOnly) return;
30
- const digits = value.split("");
31
- const currentDigit = digits[focusedIndex];
32
- if (currentDigit === "_") {
33
- if (focusedIndex > 0) {
34
- const newIndex = focusedIndex - 1;
35
- digits[newIndex] = "_";
36
- onChange(digits.join(""));
37
- setFocusedIndex(newIndex);
38
- }
39
- } else {
40
- digits[focusedIndex] = "_";
41
- onChange(digits.join(""));
42
- if (focusedIndex > 0) {
43
- setFocusedIndex(focusedIndex - 1);
44
- }
45
- }
46
- }, [value, focusedIndex, readOnly, onChange, setFocusedIndex]);
47
- const handleDelete = react.useCallback(() => {
48
- if (readOnly) return;
49
- const digits = value.split("");
50
- digits[focusedIndex] = "_";
51
- onChange(digits.join(""));
52
- }, [value, focusedIndex, readOnly, onChange]);
53
- const handleHome = react.useCallback(() => {
54
- setFocusedIndex(0);
55
- }, [setFocusedIndex]);
56
- const handleEnd = react.useCallback(() => {
57
- setFocusedIndex(length - 1);
58
- }, [length, setFocusedIndex]);
59
- const handleKeyDown = react.useCallback(
60
- (e) => {
61
- if (disabled) return;
62
- switch (e.key) {
63
- case "ArrowLeft":
64
- e.preventDefault();
65
- handleArrowLeft();
66
- break;
67
- case "ArrowRight":
68
- e.preventDefault();
69
- handleArrowRight();
70
- break;
71
- case "Backspace":
72
- e.preventDefault();
73
- handleBackspace();
74
- break;
75
- case "Delete":
76
- e.preventDefault();
77
- handleDelete();
78
- break;
79
- case "Home":
80
- e.preventDefault();
81
- handleHome();
82
- break;
83
- case "End":
84
- e.preventDefault();
85
- handleEnd();
86
- break;
87
- // Ctrl/Cmd+A (Select All) - Allow native behavior
88
- case "a":
89
- case "A":
90
- if (e.ctrlKey || e.metaKey) {
91
- return;
92
- }
93
- break;
94
- // Prevent Enter from submitting the form
95
- // Form submission should be handled by onComplete callback when all digits are filled
96
- case "Enter":
97
- e.preventDefault();
98
- break;
99
- }
100
- },
101
- [
102
- disabled,
103
- handleArrowLeft,
104
- handleArrowRight,
105
- handleBackspace,
106
- handleDelete,
107
- handleHome,
108
- handleEnd
109
- ]
110
- );
111
- return {
112
- handleKeyDown
113
- };
114
- }
115
-
116
- // src/elements/OTPInput/hooks/useOTPInput.ts
117
- function useOTPInput(props) {
118
- const {
119
- value: controlledValue,
120
- defaultValue = "",
121
- length = 6,
122
- type = "numeric",
123
- pattern,
124
- onChange,
125
- onComplete,
126
- validate,
127
- error: controlledError,
128
- disabled = false,
129
- readOnly = false
130
- } = props;
131
- const isControlled = controlledValue !== void 0;
132
- const [internalValue, setInternalValue] = react.useState(() => {
133
- return (defaultValue || "").padEnd(length, "_");
134
- });
135
- const [internalError, setInternalError] = react.useState(null);
136
- const [focusedIndex, setFocusedIndex] = react.useState(0);
137
- const completedRef = react.useRef(null);
138
- const debounceTimerRef = react.useRef(null);
139
- const currentValue = isControlled ? controlledValue || "".padEnd(length, "_") : internalValue;
140
- const currentError = controlledError !== void 0 ? controlledError : internalError;
141
- const runValidation = react.useCallback(
142
- (value) => {
143
- const filledLength = value.replace(/_/g, "").length;
144
- if (filledLength < length) {
145
- return null;
146
- }
147
- if (validate) {
148
- return validate(value);
149
- }
150
- if (type === "numeric") {
151
- const numericPattern = /^\d+$/;
152
- const cleanValue = value.replace(/_/g, "");
153
- if (!numericPattern.test(cleanValue)) {
154
- return "Code must contain only digits";
155
- }
156
- } else if (type === "alphanumeric") {
157
- const alphanumericPattern = /^[A-Za-z0-9]+$/;
158
- const cleanValue = value.replace(/_/g, "");
159
- if (!alphanumericPattern.test(cleanValue)) {
160
- return "Code must contain only letters and numbers";
161
- }
162
- } else if (type === "custom" && pattern) {
163
- const cleanValue = value.replace(/_/g, "");
164
- for (const char of cleanValue) {
165
- if (!pattern.test(char)) {
166
- return "Invalid character in code";
167
- }
168
- }
169
- }
170
- return null;
171
- },
172
- [length, type, pattern, validate]
173
- );
174
- const updateValue = react.useCallback(
175
- (newValue) => {
176
- if (!isControlled) {
177
- setInternalValue(newValue);
178
- }
179
- onChange?.(newValue);
180
- const validationError = runValidation(newValue);
181
- if (!isControlled) {
182
- setInternalError(validationError);
183
- }
184
- const filledLength = newValue.replace(/_/g, "").length;
185
- const isComplete2 = filledLength === length;
186
- if (isComplete2 && !validationError && completedRef.current !== newValue) {
187
- completedRef.current = newValue;
188
- if (debounceTimerRef.current) {
189
- clearTimeout(debounceTimerRef.current);
190
- }
191
- debounceTimerRef.current = setTimeout(() => {
192
- onComplete?.(newValue.replace(/_/g, ""));
193
- }, 200);
194
- }
195
- if (!isComplete2 && completedRef.current) {
196
- completedRef.current = null;
197
- }
198
- },
199
- [isControlled, length, onChange, onComplete, runValidation]
200
- );
201
- const handleChange = react.useCallback(
202
- (e) => {
203
- if (disabled) return;
204
- const inputValue = e.target.value;
205
- const newChar = inputValue[inputValue.length - 1] || "";
206
- let isValid = false;
207
- if (type === "numeric") {
208
- isValid = /^\d$/.test(newChar);
209
- } else if (type === "alphanumeric") {
210
- isValid = /^[A-Za-z0-9]$/.test(newChar);
211
- } else if (type === "custom" && pattern) {
212
- isValid = pattern.test(newChar);
213
- } else {
214
- isValid = true;
215
- }
216
- if (!isValid) {
217
- return;
218
- }
219
- const valueArray = currentValue.split("");
220
- valueArray[focusedIndex] = newChar;
221
- const newValue = valueArray.join("");
222
- updateValue(newValue);
223
- if (focusedIndex < length - 1) {
224
- setFocusedIndex(focusedIndex + 1);
225
- }
226
- },
227
- [disabled, type, pattern, currentValue, focusedIndex, length, updateValue]
228
- );
229
- const handlePaste = react.useCallback(
230
- async (e) => {
231
- if (disabled || readOnly) return;
232
- e.preventDefault();
233
- const pastedText = e.clipboardData.getData("text/plain").trim();
234
- if (!pastedText) return;
235
- if (props.onPaste) {
236
- const shouldProceed = await props.onPaste(pastedText);
237
- if (shouldProceed === false) return;
238
- }
239
- let validChars = "";
240
- for (const char of pastedText) {
241
- if (validChars.length >= length) break;
242
- let isValid = false;
243
- if (type === "numeric") {
244
- isValid = /^\d$/.test(char);
245
- } else if (type === "alphanumeric") {
246
- isValid = /^[A-Za-z0-9]$/.test(char);
247
- } else if (type === "custom" && pattern) {
248
- isValid = pattern.test(char);
249
- } else {
250
- isValid = true;
251
- }
252
- if (isValid) {
253
- validChars += char;
254
- }
255
- }
256
- const newValue = validChars.padEnd(length, "_");
257
- updateValue(newValue);
258
- const firstEmptyIndex = newValue.indexOf("_");
259
- setFocusedIndex(firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex);
260
- },
261
- [disabled, readOnly, props, length, type, pattern, updateValue]
262
- );
263
- const clear = react.useCallback(() => {
264
- const emptyValue = "".padEnd(length, "_");
265
- updateValue(emptyValue);
266
- setFocusedIndex(0);
267
- if (!isControlled) {
268
- setInternalError(null);
269
- }
270
- completedRef.current = null;
271
- }, [length, updateValue, isControlled]);
272
- const setValue = react.useCallback(
273
- (newValue) => {
274
- const paddedValue = newValue.padEnd(length, "_").slice(0, length);
275
- updateValue(paddedValue);
276
- const firstEmptyIndex = paddedValue.indexOf("_");
277
- setFocusedIndex(firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex);
278
- },
279
- [length, updateValue]
280
- );
281
- const validateCurrent = react.useCallback(() => {
282
- return runValidation(currentValue);
283
- }, [currentValue, runValidation]);
284
- const isComplete = currentValue.replace(/_/g, "").length === length;
285
- const { handleKeyDown } = useOTPKeyboard({
286
- value: currentValue,
287
- length,
288
- focusedIndex,
289
- onChange: updateValue,
290
- setFocusedIndex,
291
- disabled,
292
- readOnly
293
- });
294
- react.useEffect(() => {
295
- if (isControlled && controlledValue !== void 0) {
296
- const firstEmptyIndex = controlledValue.indexOf("_");
297
- if (firstEmptyIndex !== -1) {
298
- setFocusedIndex(firstEmptyIndex);
299
- }
300
- }
301
- }, [isControlled, controlledValue]);
302
- react.useEffect(() => {
303
- return () => {
304
- if (debounceTimerRef.current) {
305
- clearTimeout(debounceTimerRef.current);
306
- }
307
- };
308
- }, []);
309
- return {
310
- value: currentValue,
311
- focusedIndex,
312
- error: currentError,
313
- isComplete,
314
- handleChange,
315
- handleKeyDown,
316
- handlePaste,
317
- setFocusedIndex,
318
- clear,
319
- setValue,
320
- validate: validateCurrent
321
- };
322
- }
323
- var otpDigitVariants = classVarianceAuthority.cva(
324
- // Base styles - Applied to all variants
325
- [
326
- "inline-flex",
327
- "items-center",
328
- "justify-center",
329
- "rounded-md",
330
- "border-2",
331
- "font-semibold",
332
- "transition-all",
333
- "duration-200",
334
- "ease-in-out",
335
- "select-none",
336
- "tabindex-[-1]"
337
- // Not tabbable (hidden input handles focus)
338
- ],
339
- {
340
- variants: {
341
- /**
342
- * Size Variants
343
- * All sizes meet WCAG AAA touch target minimum (44x44px)
344
- */
345
- size: {
346
- /**
347
- * Small: 40×40px base + 4px padding = 44×44px touch target
348
- * Font: 16px (base size)
349
- * Use case: Compact layouts, mobile optimization
350
- */
351
- sm: [
352
- "h-10",
353
- // 40px
354
- "w-10",
355
- // 40px
356
- "text-base",
357
- // 16px
358
- "p-1"
359
- // 4px padding for touch target
360
- ],
361
- /**
362
- * Medium (default): 48×56px
363
- * Font: 20px (comfortable reading size)
364
- * Use case: Standard desktop/mobile layouts
365
- */
366
- md: [
367
- "h-14",
368
- // 56px
369
- "w-10 sm:w-12 md:w-14",
370
- // 48px
371
- "text-xl"
372
- // 20px
373
- ],
374
- /**
375
- * Large: 56×64px
376
- * Font: 24px (large reading size)
377
- * Use case: Accessibility focus, high-visibility needs
378
- */
379
- lg: [
380
- "h-16",
381
- // 64px
382
- "w-10 sm:w-12 md:w-16",
383
- // 56px
384
- "text-2xl"
385
- // 24px
386
- ]
387
- },
388
- /**
389
- * State Variants
390
- * All states meet WCAG AAA contrast (7:1 minimum)
391
- */
392
- state: {
393
- /**
394
- * Default: Standard input appearance
395
- * Border: --border
396
- * Background: --background
397
- * Text: --foreground
398
- */
399
- default: [
400
- "border-[var(--input)]",
401
- "bg-[var(--content-background)]",
402
- "text-[var(--content-foreground)]",
403
- "hover:border-[var(--input-hover)]"
404
- ],
405
- /**
406
- * Focus: Active digit being edited
407
- * Border: --primary
408
- * Ring: --ring (2px, 2px offset)
409
- * Contrast: 7:1 minimum
410
- */
411
- focus: [
412
- "border-[var(--input)]",
413
- "ring-2",
414
- "ring-[var(--primary)]",
415
- "ring-offset-2",
416
- "ring-offset-background",
417
- "outline-none"
418
- ],
419
- /**
420
- * Filled: Digit has been entered
421
- * Border: --primary with 50% opacity
422
- * Text: Bold weight for emphasis
423
- */
424
- filled: [
425
- "border-[var(--primary)]",
426
- "bg-[var(--content-background)]",
427
- "text-[var(--content-foreground)]",
428
- "font-bold"
429
- ],
430
- /**
431
- * Error: Validation failed
432
- * Border: --destructive
433
- * Background: --destructive with 10% opacity
434
- * Text: --destructive-foreground
435
- * Animation: Shake on error
436
- */
437
- error: [
438
- "border-[var(--destructive)]",
439
- "bg-[var(--content-background)]",
440
- "text-[var(--destructive-foreground)]",
441
- "animate-shake"
442
- ],
443
- /**
444
- * Success: Validation passed (optional)
445
- * Border: Green (or --success if available)
446
- * Background: Green with 10% opacity
447
- * May include checkmark icon
448
- */
449
- success: [
450
- "border-green-600",
451
- "bg-green-50",
452
- "text-green-900",
453
- "dark:border-green-500",
454
- "dark:bg-green-900/20",
455
- "dark:text-green-100"
456
- ],
457
- /**
458
- * Disabled: Input not interactive
459
- * Border: --border with 50% opacity
460
- * Background: --muted with 50% opacity
461
- * Text: --muted-foreground
462
- * Cursor: not-allowed
463
- * Opacity: 60%
464
- * Contrast: 4.5:1 minimum (AA standard for disabled)
465
- */
466
- disabled: [
467
- "border-[var(--accent-background)]",
468
- "bg-[var(--accent-background)]",
469
- "text-[var(--menu-muted)]",
470
- "cursor-not-allowed",
471
- "opacity-60",
472
- "hover:border-[var(--accent-background)]"
473
- // Prevent hover effect
474
- ]
475
- }
476
- },
477
- defaultVariants: {
478
- size: "md",
479
- state: "default"
480
- }
481
- }
482
- );
483
- var otpContainerVariants = classVarianceAuthority.cva(
484
- [
485
- "inline-flex",
486
- "flex-col",
487
- "gap-2"
488
- ],
489
- {
490
- variants: {
491
- /**
492
- * Container size variants
493
- * Affects spacing and layout
494
- */
495
- size: {
496
- sm: ["gap-1.5"],
497
- md: ["gap-2"],
498
- lg: ["gap-3"]
499
- }
500
- },
501
- defaultVariants: {
502
- size: "md"
503
- }
504
- }
505
- );
506
- var otpDigitGroupVariants = classVarianceAuthority.cva(
507
- [
508
- "flex",
509
- "items-center"
510
- ],
511
- {
512
- variants: {
513
- /**
514
- * Gap between digits
515
- */
516
- size: {
517
- sm: ["gap-1.5"],
518
- // 6px
519
- md: ["gap-2"],
520
- // 8px
521
- lg: ["gap-3"]
522
- // 12px
523
- }
524
- },
525
- defaultVariants: {
526
- size: "md"
527
- }
528
- }
529
- );
530
- var otpErrorVariants = classVarianceAuthority.cva([
531
- "text-sm",
532
- "font-medium",
533
- "text-[var(--destructive)]",
534
- "mt-1.5",
535
- "text-center"
536
- ]);
537
- var otpDescriptionVariants = classVarianceAuthority.cva([
538
- "text-sm",
539
- "text-[var(--menu-muted)]",
540
- "mt-1"
541
- ]);
542
- var OTPDigitComponent = ({
543
- value,
544
- focused,
545
- size = "md",
546
- state = "default",
547
- masked = false,
548
- className,
549
- index
550
- }) => {
551
- const isFilled = value !== "_" && value !== "";
552
- const computedState = focused && !state ? "focus" : isFilled && state === "default" ? "filled" : state;
553
- const displayValue = masked && isFilled ? "\u2022" : value === "_" ? "" : value;
554
- return /* @__PURE__ */ jsxRuntime.jsx(
555
- "div",
556
- {
557
- className: chunkVIREG536_js.cn(
558
- otpDigitVariants({ size, state: computedState }),
559
- className
560
- ),
561
- role: "presentation",
562
- "aria-hidden": "true",
563
- "data-focused": focused,
564
- "data-filled": isFilled,
565
- "data-index": index,
566
- children: displayValue || /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[var(--menu-muted)] opacity-40", children: "\u2022" })
567
- }
568
- );
569
- };
570
- var OTPDigit = react.memo(OTPDigitComponent);
571
- OTPDigit.displayName = "OTPDigit";
572
- var OTPInput = react.forwardRef((props, ref) => {
573
- const {
574
- label,
575
- description,
576
- size = "md",
577
- disabled = false,
578
- readOnly = false,
579
- mask = false,
580
- showSuccess = false,
581
- className,
582
- digitClassName,
583
- onFocus,
584
- onBlur,
585
- inputMode = "numeric",
586
- length = 6
587
- } = props;
588
- const {
589
- value,
590
- focusedIndex,
591
- error,
592
- isComplete,
593
- handleChange,
594
- handleKeyDown,
595
- handlePaste,
596
- setFocusedIndex,
597
- clear,
598
- setValue,
599
- validate
600
- } = useOTPInput(props);
601
- const inputRef = react.useRef(null);
602
- react.useImperativeHandle(ref, () => ({
603
- focus: () => inputRef.current?.focus(),
604
- blur: () => inputRef.current?.blur(),
605
- clear,
606
- setValue,
607
- getValue: () => value.replace(/_/g, ""),
608
- isComplete: () => isComplete,
609
- validate,
610
- getElement: () => inputRef.current
611
- }));
612
- const digits = value.split("");
613
- const getDigitState = (index) => {
614
- if (disabled) return "disabled";
615
- if (error) return "error";
616
- if (showSuccess && isComplete && !error) return "success";
617
- if (index === focusedIndex) return "focus";
618
- if (digits[index] !== "_") return "filled";
619
- return "default";
620
- };
621
- const handleFocusEvent = (e) => {
622
- onFocus?.(e);
623
- };
624
- const handleBlurEvent = (e) => {
625
- onBlur?.(e);
626
- };
627
- const handleDigitClick = (index) => {
628
- if (disabled || readOnly) return;
629
- setFocusedIndex(index);
630
- inputRef.current?.focus();
631
- };
632
- const handleDigitKeyDown = (e, index) => {
633
- if (e.key === "Enter" || e.key === " ") {
634
- e.preventDefault();
635
- handleDigitClick(index);
636
- }
637
- };
638
- const descriptionId = description ? `otp-description-${Math.random().toString(36).slice(2, 9)}` : void 0;
639
- const errorId = error ? `otp-error-${Math.random().toString(36).slice(2, 9)}` : void 0;
640
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkVIREG536_js.cn(otpContainerVariants({ size }), className), children: [
641
- /* @__PURE__ */ jsxRuntime.jsx(
642
- "input",
643
- {
644
- ref: inputRef,
645
- type: "text",
646
- inputMode,
647
- value: value.replace(/_/g, ""),
648
- onChange: handleChange,
649
- onKeyDown: handleKeyDown,
650
- onPaste: handlePaste,
651
- onFocus: handleFocusEvent,
652
- onBlur: handleBlurEvent,
653
- disabled,
654
- readOnly,
655
- "aria-label": label,
656
- "aria-describedby": [descriptionId, errorId].filter(Boolean).join(" "),
657
- "aria-invalid": !!error,
658
- "aria-errormessage": errorId,
659
- className: "sr-only",
660
- autoComplete: "one-time-code",
661
- maxLength: length
662
- }
663
- ),
664
- /* @__PURE__ */ jsxRuntime.jsx(
665
- "div",
666
- {
667
- className: chunkVIREG536_js.cn(otpDigitGroupVariants({ size })),
668
- role: "presentation",
669
- "aria-hidden": "true",
670
- children: digits.map((digit, index) => /* @__PURE__ */ jsxRuntime.jsx(
671
- "div",
672
- {
673
- onClick: () => handleDigitClick(index),
674
- onKeyDown: (e) => handleDigitKeyDown(e, index),
675
- role: "button",
676
- tabIndex: -1,
677
- className: "cursor-text",
678
- children: /* @__PURE__ */ jsxRuntime.jsx(
679
- OTPDigit,
680
- {
681
- value: digit,
682
- focused: index === focusedIndex,
683
- size,
684
- state: getDigitState(index),
685
- masked: mask,
686
- className: digitClassName,
687
- index
688
- }
689
- )
690
- },
691
- index
692
- ))
693
- }
694
- ),
695
- description && /* @__PURE__ */ jsxRuntime.jsx("p", { id: descriptionId, className: otpDescriptionVariants(), children: description }),
696
- error && /* @__PURE__ */ jsxRuntime.jsx(
697
- "p",
698
- {
699
- id: errorId,
700
- className: otpErrorVariants(),
701
- role: "alert",
702
- "aria-live": "assertive",
703
- children: error
704
- }
705
- ),
706
- /* @__PURE__ */ jsxRuntime.jsxs(
707
- "div",
708
- {
709
- role: "status",
710
- "aria-live": "polite",
711
- "aria-atomic": "true",
712
- className: "sr-only",
713
- children: [
714
- !isComplete && !error && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
715
- value.replace(/_/g, "").length,
716
- " of ",
717
- length,
718
- " digits entered"
719
- ] }),
720
- isComplete && !error && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: "Verification code complete" })
721
- ]
722
- }
723
- )
724
- ] });
725
- });
726
- OTPInput.displayName = "OTPInput";
727
-
728
- exports.OTPInput = OTPInput;
729
- //# sourceMappingURL=chunk-A77RUEWL.js.map
730
- //# sourceMappingURL=chunk-A77RUEWL.js.map