@g4rcez/components 5.0.1 → 5.0.3

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 (514) hide show
  1. package/dist/AnimatePresence-j36AYeOQ.js +181 -0
  2. package/dist/AnimatePresence-j36AYeOQ.js.map +1 -0
  3. package/dist/Calendar.es-xICmgvjq.js +23 -0
  4. package/dist/Calendar.es-xICmgvjq.js.map +1 -0
  5. package/dist/Funnel.es-DjKVl8Nj.js +23 -0
  6. package/dist/Funnel.es-DjKVl8Nj.js.map +1 -0
  7. package/dist/{MotionConfig-DKKYqBH2.js → MotionConfig-CXHoPGbK.js} +2 -2
  8. package/dist/{MotionConfig-DKKYqBH2.js.map → MotionConfig-CXHoPGbK.js.map} +1 -1
  9. package/dist/Plus.es-DbyRkEE2.js +23 -0
  10. package/dist/Plus.es-DbyRkEE2.js.map +1 -0
  11. package/dist/Trash.es-BFAc8PMf.js +23 -0
  12. package/dist/Trash.es-BFAc8PMf.js.map +1 -0
  13. package/dist/{calendar-PCCZDUIL.js → calendar-DEPkz8sw.js} +364 -502
  14. package/dist/calendar-DEPkz8sw.js.map +1 -0
  15. package/dist/calendar-header-Dfr-CwkY.js +174 -0
  16. package/dist/calendar-header-Dfr-CwkY.js.map +1 -0
  17. package/dist/chunk-jwUa06l-.js +23 -0
  18. package/dist/components/core/button.d.ts +77 -0
  19. package/dist/components/core/button.d.ts.map +1 -0
  20. package/dist/components/core/button.js +1 -1
  21. package/dist/components/core/button.jsx +79 -0
  22. package/dist/components/core/heading.d.ts +3 -0
  23. package/dist/components/core/heading.d.ts.map +1 -0
  24. package/dist/components/core/heading.js +11 -0
  25. package/dist/components/core/heading.js.map +1 -0
  26. package/dist/components/core/heading.jsx +4 -0
  27. package/dist/components/core/polymorph.d.ts +10 -0
  28. package/dist/components/core/polymorph.d.ts.map +1 -0
  29. package/dist/{polymorph-BLXhrn9n.js → components/core/polymorph.js} +2 -2
  30. package/dist/components/core/polymorph.js.map +1 -0
  31. package/dist/components/core/polymorph.jsx +5 -0
  32. package/dist/components/core/render-on-view.d.ts +7 -0
  33. package/dist/components/core/render-on-view.d.ts.map +1 -0
  34. package/dist/components/core/render-on-view.js +29 -0
  35. package/dist/components/core/render-on-view.js.map +1 -0
  36. package/dist/components/core/render-on-view.jsx +31 -0
  37. package/dist/components/core/resizable.d.ts +9 -0
  38. package/dist/components/core/resizable.d.ts.map +1 -0
  39. package/dist/components/core/resizable.js +60 -0
  40. package/dist/components/core/resizable.js.map +1 -0
  41. package/dist/components/core/resizable.jsx +57 -0
  42. package/dist/components/core/slot.d.ts +16 -0
  43. package/dist/components/core/slot.d.ts.map +1 -0
  44. package/dist/{slot-pC8kH9De.js → components/core/slot.js} +2 -2
  45. package/dist/components/core/slot.js.map +1 -0
  46. package/dist/components/core/slot.jsx +156 -0
  47. package/dist/components/core/tag.d.ts +35 -0
  48. package/dist/components/core/tag.d.ts.map +1 -0
  49. package/dist/components/core/tag.js +1 -1
  50. package/dist/components/core/tag.jsx +53 -0
  51. package/dist/components/core/typography.d.ts +25 -0
  52. package/dist/components/core/typography.d.ts.map +1 -0
  53. package/dist/components/core/typography.js +40 -0
  54. package/dist/components/core/typography.js.map +1 -0
  55. package/dist/components/core/typography.jsx +20 -0
  56. package/dist/components/display/alert.d.ts +28 -0
  57. package/dist/components/display/alert.d.ts.map +1 -0
  58. package/dist/components/display/alert.js +83 -102
  59. package/dist/components/display/alert.js.map +1 -1
  60. package/dist/components/display/alert.jsx +58 -0
  61. package/dist/components/display/calendar.d.ts +42 -0
  62. package/dist/components/display/calendar.d.ts.map +1 -0
  63. package/dist/components/display/calendar.js +1 -1
  64. package/dist/components/display/calendar.jsx +323 -0
  65. package/dist/components/display/card.d.ts +29 -0
  66. package/dist/components/display/card.d.ts.map +1 -0
  67. package/dist/components/display/card.js +2 -2
  68. package/dist/components/display/card.jsx +43 -0
  69. package/dist/components/display/empty.d.ts +8 -0
  70. package/dist/components/display/empty.d.ts.map +1 -0
  71. package/dist/components/display/empty.js +25 -0
  72. package/dist/components/display/empty.js.map +1 -0
  73. package/dist/components/display/empty.jsx +13 -0
  74. package/dist/components/display/list.d.ts +16 -0
  75. package/dist/components/display/list.d.ts.map +1 -0
  76. package/dist/components/display/list.js +132 -122
  77. package/dist/components/display/list.js.map +1 -1
  78. package/dist/components/display/list.jsx +90 -0
  79. package/dist/components/display/notifications.d.ts +27 -0
  80. package/dist/components/display/notifications.d.ts.map +1 -0
  81. package/dist/components/display/notifications.js +1 -1
  82. package/dist/components/display/notifications.jsx +132 -0
  83. package/dist/components/display/progress.d.ts +16 -0
  84. package/dist/components/display/progress.d.ts.map +1 -0
  85. package/dist/components/display/progress.js +3 -0
  86. package/dist/components/display/progress.jsx +19 -0
  87. package/dist/components/display/shortcut.d.ts +4 -0
  88. package/dist/components/display/shortcut.d.ts.map +1 -0
  89. package/dist/components/display/shortcut.js +2 -0
  90. package/dist/components/display/shortcut.jsx +23 -0
  91. package/dist/components/display/skeleton.d.ts +12 -0
  92. package/dist/components/display/skeleton.d.ts.map +1 -0
  93. package/dist/components/display/skeleton.js +41 -0
  94. package/dist/components/display/skeleton.js.map +1 -0
  95. package/dist/components/display/skeleton.jsx +19 -0
  96. package/dist/components/display/spinner.d.ts +5 -0
  97. package/dist/components/display/spinner.d.ts.map +1 -0
  98. package/dist/components/display/spinner.js +17 -0
  99. package/dist/components/display/spinner.js.map +1 -0
  100. package/dist/components/display/spinner.jsx +11 -0
  101. package/dist/components/display/stats.d.ts +12 -0
  102. package/dist/components/display/stats.d.ts.map +1 -0
  103. package/dist/components/display/stats.jsx +16 -0
  104. package/dist/components/display/step.d.ts +24 -0
  105. package/dist/components/display/step.d.ts.map +1 -0
  106. package/dist/components/display/step.js +3 -0
  107. package/dist/components/display/step.jsx +145 -0
  108. package/dist/components/display/tabs.d.ts +24 -0
  109. package/dist/components/display/tabs.d.ts.map +1 -0
  110. package/dist/components/display/tabs.js +1 -1
  111. package/dist/components/display/tabs.jsx +125 -0
  112. package/dist/components/display/timeline.d.ts +10 -0
  113. package/dist/components/display/timeline.d.ts.map +1 -0
  114. package/dist/components/display/timeline.js +1 -1
  115. package/dist/components/display/timeline.jsx +25 -0
  116. package/dist/components/floating/command-palette.d.ts +49 -0
  117. package/dist/components/floating/command-palette.d.ts.map +1 -0
  118. package/dist/components/floating/command-palette.js +255 -0
  119. package/dist/components/floating/command-palette.js.map +1 -0
  120. package/dist/components/floating/command-palette.jsx +232 -0
  121. package/dist/components/floating/dropdown.d.ts +15 -0
  122. package/dist/components/floating/dropdown.d.ts.map +1 -0
  123. package/dist/components/floating/dropdown.js +1 -1
  124. package/dist/components/floating/dropdown.js.map +1 -1
  125. package/dist/components/floating/dropdown.jsx +56 -0
  126. package/dist/components/floating/expand.d.ts +11 -0
  127. package/dist/components/floating/expand.d.ts.map +1 -0
  128. package/dist/components/floating/expand.js +15 -14
  129. package/dist/components/floating/expand.js.map +1 -1
  130. package/dist/components/floating/expand.jsx +44 -0
  131. package/dist/components/floating/menu.d.ts +52 -0
  132. package/dist/components/floating/menu.d.ts.map +1 -0
  133. package/dist/components/floating/menu.js +1 -1
  134. package/dist/components/floating/menu.jsx +165 -0
  135. package/dist/components/floating/modal.d.ts +63 -0
  136. package/dist/components/floating/modal.d.ts.map +1 -0
  137. package/dist/components/floating/modal.js +1 -1
  138. package/dist/components/floating/modal.jsx +375 -0
  139. package/dist/components/floating/toolbar.d.ts +6 -0
  140. package/dist/components/floating/toolbar.d.ts.map +1 -0
  141. package/dist/components/floating/toolbar.js +20 -0
  142. package/dist/components/floating/toolbar.js.map +1 -0
  143. package/dist/components/floating/toolbar.jsx +9 -0
  144. package/dist/components/floating/tooltip.d.ts +17 -0
  145. package/dist/components/floating/tooltip.d.ts.map +1 -0
  146. package/dist/components/floating/tooltip.js +2 -2
  147. package/dist/components/floating/tooltip.js.map +1 -1
  148. package/dist/components/floating/tooltip.jsx +67 -0
  149. package/dist/components/floating/wizard.d.ts +26 -0
  150. package/dist/components/floating/wizard.d.ts.map +1 -0
  151. package/dist/components/floating/wizard.js +3 -0
  152. package/dist/components/floating/wizard.jsx +165 -0
  153. package/dist/components/form/autocomplete.d.ts +16 -0
  154. package/dist/components/form/autocomplete.d.ts.map +1 -0
  155. package/dist/components/form/autocomplete.js +344 -2
  156. package/dist/components/form/autocomplete.js.map +1 -0
  157. package/dist/components/form/autocomplete.jsx +299 -0
  158. package/dist/components/form/checkbox.d.ts +12 -0
  159. package/dist/components/form/checkbox.d.ts.map +1 -0
  160. package/dist/components/form/checkbox.js +29 -27
  161. package/dist/components/form/checkbox.js.map +1 -1
  162. package/dist/components/form/checkbox.jsx +27 -0
  163. package/dist/components/form/date-picker.d.ts +10 -0
  164. package/dist/components/form/date-picker.d.ts.map +1 -0
  165. package/dist/components/form/date-picker.js +1 -1
  166. package/dist/components/form/date-picker.jsx +115 -0
  167. package/dist/components/form/file-upload.d.ts +20 -0
  168. package/dist/components/form/file-upload.d.ts.map +1 -0
  169. package/dist/components/form/file-upload.js +1 -1
  170. package/dist/components/form/file-upload.jsx +160 -0
  171. package/dist/components/form/form.d.ts +3 -0
  172. package/dist/components/form/form.d.ts.map +1 -0
  173. package/dist/components/form/form.jsx +10 -0
  174. package/dist/components/form/formReset.d.ts +2 -0
  175. package/dist/components/form/formReset.d.ts.map +1 -0
  176. package/dist/components/form/formReset.js +10 -0
  177. package/dist/components/form/formReset.js.map +1 -0
  178. package/dist/components/form/formReset.jsx +17 -0
  179. package/dist/components/form/free-text.d.ts +11 -0
  180. package/dist/components/form/free-text.d.ts.map +1 -0
  181. package/dist/components/form/free-text.js +70 -0
  182. package/dist/components/form/free-text.js.map +1 -0
  183. package/dist/components/form/free-text.jsx +41 -0
  184. package/dist/components/form/input-field.d.ts +34 -0
  185. package/dist/components/form/input-field.d.ts.map +1 -0
  186. package/dist/components/form/input-field.js +3 -0
  187. package/dist/components/form/input-field.jsx +64 -0
  188. package/dist/components/form/input.d.ts +52 -0
  189. package/dist/components/form/input.d.ts.map +1 -0
  190. package/dist/components/form/input.js +1 -1
  191. package/dist/components/form/input.jsx +36 -0
  192. package/dist/components/form/multi-select.d.ts +19 -0
  193. package/dist/components/form/multi-select.d.ts.map +1 -0
  194. package/dist/components/form/multi-select.js +420 -0
  195. package/dist/components/form/multi-select.js.map +1 -0
  196. package/dist/components/form/multi-select.jsx +352 -0
  197. package/dist/components/form/radiobox.d.ts +7 -0
  198. package/dist/components/form/radiobox.d.ts.map +1 -0
  199. package/dist/components/form/radiobox.jsx +6 -0
  200. package/dist/components/form/select.d.ts +13 -0
  201. package/dist/components/form/select.d.ts.map +1 -0
  202. package/dist/components/form/select.js +55 -51
  203. package/dist/components/form/select.js.map +1 -1
  204. package/dist/components/form/select.jsx +47 -0
  205. package/dist/components/form/slider.d.ts +7 -0
  206. package/dist/components/form/slider.d.ts.map +1 -0
  207. package/dist/components/form/slider.js +3 -0
  208. package/dist/components/form/slider.jsx +45 -0
  209. package/dist/components/form/switch.d.ts +10 -0
  210. package/dist/components/form/switch.d.ts.map +1 -0
  211. package/dist/components/form/switch.js +32 -26
  212. package/dist/components/form/switch.js.map +1 -1
  213. package/dist/components/form/switch.jsx +59 -0
  214. package/dist/components/form/task-list.d.ts +3 -0
  215. package/dist/components/form/task-list.d.ts.map +1 -0
  216. package/dist/components/form/task-list.jsx +26 -0
  217. package/dist/components/form/textarea.d.ts +5 -0
  218. package/dist/components/form/textarea.d.ts.map +1 -0
  219. package/dist/components/form/textarea.js +19 -0
  220. package/dist/components/form/textarea.js.map +1 -0
  221. package/dist/components/form/textarea.jsx +26 -0
  222. package/dist/components/index.d.ts +45 -0
  223. package/dist/components/index.d.ts.map +1 -0
  224. package/dist/components/index.js +44 -0
  225. package/dist/components/page-calendar/calendar-header.d.ts +16 -0
  226. package/dist/components/page-calendar/calendar-header.d.ts.map +1 -0
  227. package/dist/components/page-calendar/calendar-header.js +2 -0
  228. package/dist/components/page-calendar/calendar-header.jsx +85 -0
  229. package/dist/components/page-calendar/day-view.d.ts +12 -0
  230. package/dist/components/page-calendar/day-view.d.ts.map +1 -0
  231. package/dist/components/page-calendar/day-view.js +124 -0
  232. package/dist/components/page-calendar/day-view.js.map +1 -0
  233. package/dist/components/page-calendar/day-view.jsx +89 -0
  234. package/dist/components/page-calendar/event-pill.d.ts +9 -0
  235. package/dist/components/page-calendar/event-pill.d.ts.map +1 -0
  236. package/dist/components/page-calendar/event-pill.js +44 -0
  237. package/dist/components/page-calendar/event-pill.js.map +1 -0
  238. package/dist/components/page-calendar/event-pill.jsx +25 -0
  239. package/dist/components/page-calendar/index.d.ts +4 -0
  240. package/dist/components/page-calendar/index.d.ts.map +1 -0
  241. package/dist/components/page-calendar/index.js +2 -0
  242. package/dist/components/page-calendar/month-view.d.ts +11 -0
  243. package/dist/components/page-calendar/month-view.d.ts.map +1 -0
  244. package/dist/components/page-calendar/month-view.js +109 -0
  245. package/dist/components/page-calendar/month-view.js.map +1 -0
  246. package/dist/components/page-calendar/month-view.jsx +93 -0
  247. package/dist/components/page-calendar/page-calendar.d.ts +18 -0
  248. package/dist/components/page-calendar/page-calendar.d.ts.map +1 -0
  249. package/dist/components/page-calendar/page-calendar.js +75 -0
  250. package/dist/components/page-calendar/page-calendar.js.map +1 -0
  251. package/dist/components/page-calendar/page-calendar.jsx +41 -0
  252. package/dist/components/page-calendar/page-calendar.types.d.ts +18 -0
  253. package/dist/components/page-calendar/page-calendar.types.d.ts.map +1 -0
  254. package/dist/components/page-calendar/page-calendar.types.js +1 -0
  255. package/dist/components/page-calendar/page-calendar.utils.d.ts +24 -0
  256. package/dist/components/page-calendar/page-calendar.utils.d.ts.map +1 -0
  257. package/dist/components/page-calendar/page-calendar.utils.js +93 -0
  258. package/dist/components/page-calendar/week-view.d.ts +11 -0
  259. package/dist/components/page-calendar/week-view.d.ts.map +1 -0
  260. package/dist/components/page-calendar/week-view.js +88 -0
  261. package/dist/components/page-calendar/week-view.js.map +1 -0
  262. package/dist/components/page-calendar/week-view.jsx +66 -0
  263. package/dist/components/table/filter.d.ts +42 -0
  264. package/dist/components/table/filter.d.ts.map +1 -0
  265. package/dist/components/table/filter.js +239 -0
  266. package/dist/components/table/filter.js.map +1 -0
  267. package/dist/components/table/filter.jsx +174 -0
  268. package/dist/components/table/group.d.ts +17 -0
  269. package/dist/components/table/group.d.ts.map +1 -0
  270. package/dist/components/table/group.js +3 -0
  271. package/dist/components/table/group.jsx +77 -0
  272. package/dist/components/table/index.d.ts +19 -0
  273. package/dist/components/table/index.d.ts.map +1 -0
  274. package/dist/components/table/index.js +102 -0
  275. package/dist/components/table/index.js.map +1 -0
  276. package/dist/components/table/index.jsx +63 -0
  277. package/dist/components/table/inner-table.d.ts +29 -0
  278. package/dist/components/table/inner-table.d.ts.map +1 -0
  279. package/dist/components/table/inner-table.js +2 -0
  280. package/dist/components/table/inner-table.jsx +102 -0
  281. package/dist/components/table/metadata.d.ts +4 -0
  282. package/dist/components/table/metadata.d.ts.map +1 -0
  283. package/dist/components/table/metadata.js +73 -0
  284. package/dist/components/table/metadata.js.map +1 -0
  285. package/dist/components/table/metadata.jsx +36 -0
  286. package/dist/components/table/pagination.d.ts +5 -0
  287. package/dist/components/table/pagination.d.ts.map +1 -0
  288. package/dist/components/table/pagination.js +70 -0
  289. package/dist/components/table/pagination.js.map +1 -0
  290. package/dist/components/table/pagination.jsx +74 -0
  291. package/dist/components/table/row.d.ts +11 -0
  292. package/dist/components/table/row.d.ts.map +1 -0
  293. package/dist/components/table/row.js +58 -0
  294. package/dist/components/table/row.js.map +1 -0
  295. package/dist/components/table/row.jsx +49 -0
  296. package/dist/components/table/sort.d.ts +28 -0
  297. package/dist/components/table/sort.d.ts.map +1 -0
  298. package/dist/components/table/sort.js +3 -0
  299. package/dist/components/table/sort.jsx +111 -0
  300. package/dist/components/table/table-lib.d.ts +135 -0
  301. package/dist/components/table/table-lib.d.ts.map +1 -0
  302. package/dist/components/table/table-lib.js +83 -0
  303. package/dist/components/table/table.context.d.ts +10 -0
  304. package/dist/components/table/table.context.d.ts.map +1 -0
  305. package/dist/components/table/table.context.jsx +5 -0
  306. package/dist/components/table/thead.d.ts +9 -0
  307. package/dist/components/table/thead.d.ts.map +1 -0
  308. package/dist/components/table/thead.js +3 -0
  309. package/dist/components/table/thead.jsx +103 -0
  310. package/dist/config/context.d.ts +21 -0
  311. package/dist/config/context.d.ts.map +1 -0
  312. package/dist/config/context.js +12 -0
  313. package/dist/config/default-translations.d.ts +112 -0
  314. package/dist/config/default-translations.d.ts.map +1 -0
  315. package/dist/config/default-translations.jsx +105 -0
  316. package/dist/config/default-tweaks.d.ts +13 -0
  317. package/dist/config/default-tweaks.d.ts.map +1 -0
  318. package/dist/config/default-tweaks.js +4 -0
  319. package/dist/constants.d.ts +3 -0
  320. package/dist/constants.d.ts.map +1 -0
  321. package/dist/constants.js +2 -0
  322. package/dist/{use-translations-DTLfPE3_.js → context-CsnUsfeP.js} +55 -40
  323. package/dist/context-CsnUsfeP.js.map +1 -0
  324. package/dist/{date-picker-BhKEFZew.js → date-picker-DNzupG8R.js} +301 -317
  325. package/dist/date-picker-DNzupG8R.js.map +1 -0
  326. package/dist/dict-CisoYSMO.js +28 -0
  327. package/dist/dict-CisoYSMO.js.map +1 -0
  328. package/dist/dist-ChfJ5LO9.js +498 -0
  329. package/dist/dist-ChfJ5LO9.js.map +1 -0
  330. package/dist/{dist-BrGpYRaj.js → dist-DIjUECx9.js} +56 -56
  331. package/dist/{dist-BrGpYRaj.js.map → dist-DIjUECx9.js.map} +1 -1
  332. package/dist/dom-Bn4wY_Zx.js.map +1 -1
  333. package/dist/{file-upload-DWbZfeG5.js → file-upload-C2zNnv9n.js} +501 -481
  334. package/dist/{file-upload-DWbZfeG5.js.map → file-upload-C2zNnv9n.js.map} +1 -1
  335. package/dist/fzf-CPGDDCoU.js +64 -0
  336. package/dist/fzf-CPGDDCoU.js.map +1 -0
  337. package/dist/getISOWeek-EcB4Ebqp.js +72 -0
  338. package/dist/getISOWeek-EcB4Ebqp.js.map +1 -0
  339. package/dist/group-Dl14TJXO.js +222 -0
  340. package/dist/group-Dl14TJXO.js.map +1 -0
  341. package/dist/hooks/use-click-outside.d.ts +3 -0
  342. package/dist/hooks/use-click-outside.d.ts.map +1 -0
  343. package/dist/hooks/use-click-outside.js +17 -0
  344. package/dist/hooks/use-color-parser.d.ts +2 -0
  345. package/dist/hooks/use-color-parser.d.ts.map +1 -0
  346. package/dist/hooks/use-color-parser.js +9 -0
  347. package/dist/hooks/use-components-provider.d.ts +15 -0
  348. package/dist/hooks/use-components-provider.d.ts.map +1 -0
  349. package/dist/hooks/use-components-provider.jsx +22 -0
  350. package/dist/hooks/use-debounce.d.ts +5 -0
  351. package/dist/hooks/use-debounce.d.ts.map +1 -0
  352. package/dist/hooks/use-debounce.js +12 -0
  353. package/dist/hooks/use-floating-ref.d.ts +2 -0
  354. package/dist/hooks/use-floating-ref.d.ts.map +1 -0
  355. package/dist/hooks/use-floating-ref.js +6 -0
  356. package/dist/hooks/use-form.d.ts +394 -0
  357. package/dist/hooks/use-form.d.ts.map +1 -0
  358. package/dist/hooks/use-form.js +563 -0
  359. package/dist/hooks/use-hover.d.ts +3 -0
  360. package/dist/hooks/use-hover.d.ts.map +1 -0
  361. package/dist/hooks/use-hover.js +18 -0
  362. package/dist/hooks/use-input-id.d.ts +4 -0
  363. package/dist/hooks/use-input-id.d.ts.map +1 -0
  364. package/dist/hooks/use-input-id.js +5 -0
  365. package/dist/hooks/use-is-coarse-device.d.ts +2 -0
  366. package/dist/hooks/use-is-coarse-device.d.ts.map +1 -0
  367. package/dist/hooks/use-is-coarse-device.js +12 -0
  368. package/dist/hooks/use-locale.d.ts +3 -0
  369. package/dist/hooks/use-locale.d.ts.map +1 -0
  370. package/dist/hooks/use-locale.js +10 -0
  371. package/dist/hooks/use-media-query.d.ts +2 -0
  372. package/dist/hooks/use-media-query.d.ts.map +1 -0
  373. package/dist/hooks/use-media-query.js +25 -0
  374. package/dist/hooks/use-on-event.d.ts +4 -0
  375. package/dist/hooks/use-on-event.d.ts.map +1 -0
  376. package/dist/hooks/use-on-event.js +10 -0
  377. package/dist/hooks/use-parent.d.ts +3 -0
  378. package/dist/hooks/use-parent.d.ts.map +1 -0
  379. package/dist/hooks/use-parent.js +21 -0
  380. package/dist/hooks/use-preferences.d.ts +2 -0
  381. package/dist/hooks/use-preferences.d.ts.map +1 -0
  382. package/dist/hooks/use-preferences.js +23 -0
  383. package/dist/hooks/use-previous.d.ts +2 -0
  384. package/dist/hooks/use-previous.d.ts.map +1 -0
  385. package/dist/hooks/use-previous.js +9 -0
  386. package/dist/hooks/use-reactive.d.ts +2 -0
  387. package/dist/hooks/use-reactive.d.ts.map +1 -0
  388. package/dist/hooks/use-reactive.js +9 -0
  389. package/dist/hooks/use-remove-scroll.d.ts +4 -0
  390. package/dist/hooks/use-remove-scroll.d.ts.map +1 -0
  391. package/dist/hooks/use-remove-scroll.js +48 -0
  392. package/dist/hooks/use-resize-observer.d.ts +2 -0
  393. package/dist/hooks/use-resize-observer.d.ts.map +1 -0
  394. package/dist/hooks/use-resize-observer.js +17 -0
  395. package/dist/hooks/use-stable-ref.d.ts +2 -0
  396. package/dist/hooks/use-stable-ref.d.ts.map +1 -0
  397. package/dist/hooks/use-stable-ref.js +9 -0
  398. package/dist/hooks/use-swipe.d.ts +8 -0
  399. package/dist/hooks/use-swipe.d.ts.map +1 -0
  400. package/dist/hooks/use-swipe.js +17 -0
  401. package/dist/hooks/use-translations.d.ts +110 -0
  402. package/dist/hooks/use-translations.d.ts.map +1 -0
  403. package/dist/hooks/use-translations.js +9 -0
  404. package/dist/hooks/use-tweaks.d.ts +3 -0
  405. package/dist/hooks/use-tweaks.d.ts.map +1 -0
  406. package/dist/hooks/use-tweaks.js +9 -0
  407. package/dist/hooks/use-window-size.d.ts +5 -0
  408. package/dist/hooks/use-window-size.d.ts.map +1 -0
  409. package/dist/hooks/use-window-size.js +14 -0
  410. package/dist/index.css +1 -1
  411. package/dist/index.d.ts +22 -0
  412. package/dist/index.d.ts.map +1 -0
  413. package/dist/index.js +20 -7932
  414. package/dist/index.js.map +1 -1
  415. package/dist/inner-table-CeDX60cL.js +151 -0
  416. package/dist/inner-table-CeDX60cL.js.map +1 -0
  417. package/dist/input-Cmyuea4Y.js +412 -0
  418. package/dist/input-Cmyuea4Y.js.map +1 -0
  419. package/dist/{input-field-B_whI66Q.js → input-field-ffx1MbHo.js} +29 -16
  420. package/dist/input-field-ffx1MbHo.js.map +1 -0
  421. package/dist/isSameMonth-C3lsSwcg.js +10 -0
  422. package/dist/isSameMonth-C3lsSwcg.js.map +1 -0
  423. package/dist/isToday-COXfxFui.js +32 -0
  424. package/dist/isToday-COXfxFui.js.map +1 -0
  425. package/dist/lib/combi-keys.d.ts +15 -0
  426. package/dist/lib/combi-keys.d.ts.map +1 -0
  427. package/dist/lib/combi-keys.js +60 -0
  428. package/dist/lib/dict.d.ts +9 -0
  429. package/dist/lib/dict.d.ts.map +1 -0
  430. package/dist/lib/dict.js +28 -0
  431. package/dist/lib/dom.d.ts +20 -0
  432. package/dist/lib/dom.d.ts.map +1 -0
  433. package/dist/lib/dom.js +185 -0
  434. package/dist/lib/fns.d.ts +11 -0
  435. package/dist/lib/fns.d.ts.map +1 -0
  436. package/dist/lib/fns.js +46 -0
  437. package/dist/lib/fzf.d.ts +16 -0
  438. package/dist/lib/fzf.d.ts.map +1 -0
  439. package/dist/lib/fzf.js +115 -0
  440. package/dist/lib/keyboard-area.d.ts +16 -0
  441. package/dist/lib/keyboard-area.d.ts.map +1 -0
  442. package/dist/lib/keyboard-area.js +14 -0
  443. package/dist/modal-Df8-6i-o.js +408 -0
  444. package/dist/modal-Df8-6i-o.js.map +1 -0
  445. package/dist/notifications-NhCESJUV.js +1697 -0
  446. package/dist/notifications-NhCESJUV.js.map +1 -0
  447. package/dist/page-calendar.utils-Bd0PHktL.js +102 -0
  448. package/dist/page-calendar.utils-Bd0PHktL.js.map +1 -0
  449. package/dist/preset/preset.tailwind.d.ts.map +1 -1
  450. package/dist/preset/preset.tailwind.js +6 -7
  451. package/dist/preset/src/styles/dark.js +1 -1
  452. package/dist/progress-8LO5gWLp.js +104 -0
  453. package/dist/progress-8LO5gWLp.js.map +1 -0
  454. package/dist/{proxy-BcJ_5Dwq.js → proxy-fP2NxmhM.js} +658 -844
  455. package/dist/proxy-fP2NxmhM.js.map +1 -0
  456. package/dist/shim-Czv-YhKR.js +93 -0
  457. package/dist/shim-Czv-YhKR.js.map +1 -0
  458. package/dist/shortcut-CQCmgmlU.js +100 -0
  459. package/dist/shortcut-CQCmgmlU.js.map +1 -0
  460. package/dist/slider-TX9hiHO-.js +1196 -0
  461. package/dist/slider-TX9hiHO-.js.map +1 -0
  462. package/dist/sort-DGmiselV.js +195 -0
  463. package/dist/sort-DGmiselV.js.map +1 -0
  464. package/dist/step-DFpJ7zCG.js +185 -0
  465. package/dist/step-DFpJ7zCG.js.map +1 -0
  466. package/dist/styles/dark.js +1 -1
  467. package/dist/subMonths-QcCnE3Yh.js +43 -0
  468. package/dist/subMonths-QcCnE3Yh.js.map +1 -0
  469. package/dist/table-lib-1bkYSklk.js +174 -0
  470. package/dist/table-lib-1bkYSklk.js.map +1 -0
  471. package/dist/{tabs-Ciy0l9OF.js → tabs-Brc963EW.js} +2 -2
  472. package/dist/{tabs-Ciy0l9OF.js.map → tabs-Brc963EW.js.map} +1 -1
  473. package/dist/thead-B6WELJZ-.js +211 -0
  474. package/dist/thead-B6WELJZ-.js.map +1 -0
  475. package/dist/types.d.ts +26 -0
  476. package/dist/types.d.ts.map +1 -0
  477. package/dist/types.js +1 -0
  478. package/dist/use-locale-DPM_sg4s.js +12 -0
  479. package/dist/use-locale-DPM_sg4s.js.map +1 -0
  480. package/dist/use-remove-scroll-pAgC09Sq.js +38 -0
  481. package/dist/use-remove-scroll-pAgC09Sq.js.map +1 -0
  482. package/dist/use-translations-BE4PuhLm.js +11 -0
  483. package/dist/use-translations-BE4PuhLm.js.map +1 -0
  484. package/dist/useAnimationFrame-DnKbaXfi.js +223 -0
  485. package/dist/useAnimationFrame-DnKbaXfi.js.map +1 -0
  486. package/dist/valueToPercent-DZc_m1tm.js +43 -0
  487. package/dist/valueToPercent-DZc_m1tm.js.map +1 -0
  488. package/dist/visuallyHidden-B7wI86yi.js +303 -0
  489. package/dist/visuallyHidden-B7wI86yi.js.map +1 -0
  490. package/dist/with-selector-BFW5n-pb.js +102 -0
  491. package/dist/with-selector-BFW5n-pb.js.map +1 -0
  492. package/dist/wizard-7u_qZ-78.js +218 -0
  493. package/dist/wizard-7u_qZ-78.js.map +1 -0
  494. package/package.json +19 -11
  495. package/dist/autocomplete-D3VOTihi.js +0 -415
  496. package/dist/autocomplete-D3VOTihi.js.map +0 -1
  497. package/dist/calendar-PCCZDUIL.js.map +0 -1
  498. package/dist/components/table/table.js +0 -3
  499. package/dist/date-picker-BhKEFZew.js.map +0 -1
  500. package/dist/input-B7jqwPG4.js +0 -473
  501. package/dist/input-B7jqwPG4.js.map +0 -1
  502. package/dist/input-field-B_whI66Q.js.map +0 -1
  503. package/dist/modal-Bz-61ays.js +0 -373
  504. package/dist/modal-Bz-61ays.js.map +0 -1
  505. package/dist/notifications-MT4XkLov.js +0 -2203
  506. package/dist/notifications-MT4XkLov.js.map +0 -1
  507. package/dist/polymorph-BLXhrn9n.js.map +0 -1
  508. package/dist/proxy-BcJ_5Dwq.js.map +0 -1
  509. package/dist/skeleton-CBYEq3lM.js +0 -26
  510. package/dist/skeleton-CBYEq3lM.js.map +0 -1
  511. package/dist/slot-pC8kH9De.js.map +0 -1
  512. package/dist/table-CUFbAI2k.js +0 -1914
  513. package/dist/table-CUFbAI2k.js.map +0 -1
  514. package/dist/use-translations-DTLfPE3_.js.map +0 -1
@@ -0,0 +1,160 @@
1
+ "use client";
2
+ import { WaveformIcon, FileIcon, FileCodeIcon, FileTextIcon, FileVideoIcon, FolderIcon, FolderOpenIcon, TableIcon, XIcon, } from "@phosphor-icons/react";
3
+ import prettyBytes from "pretty-bytes";
4
+ import React, { cloneElement, createContext, Fragment, useContext, useEffect, useState } from "react";
5
+ import { useDropzone } from "react-dropzone";
6
+ import { useTranslations } from "../../hooks/use-translations";
7
+ import { Modal } from "../floating/modal";
8
+ const Context = createContext([null, () => { }]);
9
+ const useFileManager = () => useContext(Context);
10
+ const getMimeType = (file) => {
11
+ if (file.type.startsWith("image/"))
12
+ return "img";
13
+ if (file.type.startsWith("audio/"))
14
+ return "audio";
15
+ if (file.type.startsWith("video/"))
16
+ return "video";
17
+ return file.type;
18
+ };
19
+ const extensionMap = {
20
+ csv: TableIcon,
21
+ xls: TableIcon,
22
+ mov: FileVideoIcon,
23
+ mp4: FileVideoIcon,
24
+ xlsx: TableIcon,
25
+ pdf: FileTextIcon,
26
+ txt: FileTextIcon,
27
+ json: FileCodeIcon,
28
+ mp3: WaveformIcon,
29
+ };
30
+ const ItemViewer = (props) => {
31
+ const translations = useTranslations();
32
+ const [, setManager] = useFileManager();
33
+ const [info, setInfo] = useState({ url: "", type: "", size: "" });
34
+ useEffect(() => {
35
+ const file = props.file;
36
+ const url = URL.createObjectURL(file);
37
+ setInfo({ url, type: getMimeType(file), size: prettyBytes(file.size) });
38
+ return () => URL.revokeObjectURL(url);
39
+ }, [props.file]);
40
+ const onViewFile = (e) => {
41
+ e.stopPropagation();
42
+ e.preventDefault();
43
+ setManager({ ...info, file: props.file });
44
+ };
45
+ const onDeleteFile = (e) => {
46
+ e.preventDefault();
47
+ e.stopPropagation();
48
+ props.onDeleteFile?.(props.file);
49
+ };
50
+ const fileName = props.file.name;
51
+ const Icon = extensionMap[props.file.name.split(".").at(-1)] ?? FileIcon;
52
+ const Element = info.type === "img" ? <img src={info.url} className="w-full object-contain" alt={props.file.name}/> : <Icon size={48}/>;
53
+ return (<li className="flex w-full flex-row justify-between gap-file-upload-gap border-b border-card-border last:border-b-transparent">
54
+ <div className="flex flex-col gap-file-upload-gap">
55
+ <div className="flex flex-row items-center gap-file-upload-gap">
56
+ <button type="button" onClick={onViewFile} aria-label={translations.fileUploadViewFile(fileName)} className="m-2 flex size-file-upload-thumb-size items-center justify-center overflow-hidden">
57
+ {Element}
58
+ </button>
59
+ <div className="flex flex-col items-start justify-start text-left">
60
+ <span>{props.file.name}</span>
61
+ <span className="text-file-upload-text-size italic">{info.size}</span>
62
+ </div>
63
+ </div>
64
+ {props.File ? (<div className="min-w-full flex-1">
65
+ <props.File file={props.file}/>
66
+ </div>) : null}
67
+ </div>
68
+ <div className="align-start flex justify-start py-file-upload-delete-py transition-colors duration-300 ease-linear hover:text-danger-hover">
69
+ <button onClick={onDeleteFile} type="button" aria-label={translations.fileUploadRemoveFile(fileName)} className="flex size-6 items-center justify-center">
70
+ <XIcon size={16} aria-hidden="true"/>
71
+ </button>
72
+ </div>
73
+ </li>);
74
+ };
75
+ const FilesList = (props) => (<ul className="w-full space-y-8">
76
+ {props.files.map((file) => {
77
+ return <ItemViewer File={props.File} onDeleteFile={props.onDeleteFile} key={file.name} file={file}/>;
78
+ })}
79
+ </ul>);
80
+ const Idle = (props) => {
81
+ const t = useTranslations();
82
+ const Icon = props.dragging ? FolderOpenIcon : FolderIcon;
83
+ const onUpload = (event) => {
84
+ event.preventDefault();
85
+ event.stopPropagation();
86
+ props.onUpload?.();
87
+ };
88
+ const onUploadKeyDown = (event) => {
89
+ if (event.key !== "Enter" && event.key !== " ")
90
+ return;
91
+ onUpload(event);
92
+ };
93
+ return (<div className="flex flex-col items-center justify-center">
94
+ <div className="flex flex-col items-center justify-center gap-file-upload-inner-gap">
95
+ <span className="text-primary">
96
+ <Icon size={80} aria-hidden="true"/>
97
+ </span>
98
+ </div>
99
+ <div className="my-file-upload-thumb-my flex flex-col items-center gap-file-upload-thumb-gap">
100
+ <p>{t.uploadIdle}</p>
101
+ <button className="text-primary underline" type="button" aria-label={t.fileUploadUploadButtonLabel(t.uploadIdleButton)} onClick={onUpload} onKeyDown={onUploadKeyDown}>
102
+ {t.uploadIdleButton}
103
+ </button>
104
+ </div>
105
+ </div>);
106
+ };
107
+ const InteractiveArea = (props) => {
108
+ if (props.isDragActive)
109
+ return <Idle files={props.files} dragging onUpload={props.onUpload}/>;
110
+ if (props.files.length > 0) {
111
+ return <FilesList File={props.File} onDeleteFile={props.onDeleteFile} files={props.files}/>;
112
+ }
113
+ return <Fragment>{cloneElement(props.idle, { onUpload: props.onUpload })}</Fragment>;
114
+ };
115
+ const DefaultIdle = <Idle dragging={false}/>;
116
+ const FileViewer = (props) => {
117
+ const file = props.item.file;
118
+ const type = props.item.type;
119
+ return (<div className="flex flex-col gap-file-upload-gap">
120
+ <p className="text-file-upload-text-name font-medium">{props.item.file.name}</p>
121
+ <p className="text-file-upload-text-size">{props.item.size}</p>
122
+ {type === "img" ? (<img className="container inline-block w-full max-w-96" src={props.item.url} alt={file.name}/>) : type === "video" ? (<video className="container block w-full max-w-96" src={props.item.url} controls muted/>) : type === "audio" ? (<figure>
123
+ <audio controls src={props.item.url}>
124
+ <track kind="captions"/>
125
+ </audio>
126
+ </figure>) : null}
127
+ </div>);
128
+ };
129
+ export const FileUpload = ({ idle = DefaultIdle, onDeleteFile, File, onDrop, ...props }) => {
130
+ const t = useTranslations();
131
+ const state = useState(null);
132
+ const [files, setFiles] = useState([]);
133
+ const items = props.files ?? files;
134
+ const close = () => state[1](null);
135
+ const drop = (x) => {
136
+ onDrop?.(x);
137
+ setFiles((prev) => prev.concat(x));
138
+ };
139
+ const dropzoneOptions = {
140
+ multiple: props.multiple,
141
+ onDragEnter: props.onDragEnter,
142
+ onDragOver: props.onDragOver,
143
+ onDragLeave: props.onDragLeave,
144
+ onDrop: drop,
145
+ };
146
+ const { getRootProps, getInputProps, isDragActive, open } = useDropzone(dropzoneOptions);
147
+ return (<Context.Provider value={state}>
148
+ <Modal overlayClickClose title={t.uploadDialogTitle} ariaTitle={t.uploadDialogTitle} open={state[0] !== null} onChange={close}>
149
+ {state[0] ? <FileViewer item={state[0]}/> : null}
150
+ </Modal>
151
+ <div {...getRootProps({
152
+ "aria-label": t.fileUploadZoneLabel,
153
+ "data-active": items ? items.length > 0 : false,
154
+ className: "flex flex-col items-center justify-center rounded-file-upload-radius border border-card-border p-file-upload-p text-foreground data-[active=true]:border-solid data-[active=false]:border-dashed data-[active=true]:border-transparent data-[active=true]:bg-card-background",
155
+ })}>
156
+ <input {...getInputProps()} aria-label={t.fileUploadZoneLabel} name={props.name} id={props.name}/>
157
+ <InteractiveArea File={File} onDeleteFile={onDeleteFile} isDragActive={isDragActive} idle={idle} files={items} onUpload={open}/>
158
+ </div>
159
+ </Context.Provider>);
160
+ };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const Form: (props: React.ComponentProps<"form">) => React.JSX.Element;
3
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/form/form.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,sBAOvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import React from "react";
3
+ export const Form = (props) => {
4
+ const onSubmit = (e) => {
5
+ e.persist();
6
+ e.preventDefault();
7
+ props.onSubmit?.(e);
8
+ };
9
+ return <form {...props} onSubmit={onSubmit}/>;
10
+ };
@@ -0,0 +1,2 @@
1
+ export declare const formReset: (form?: HTMLFormElement | null) => void;
2
+ //# sourceMappingURL=formReset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formReset.d.ts","sourceRoot":"","sources":["../../../src/components/form/formReset.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,OAAO,eAAe,GAAG,IAAI,SAatD,CAAC"}
@@ -0,0 +1,10 @@
1
+ //#region src/components/form/formReset.tsx
2
+ var e = ["INPUT", "SELECT"], t = (t) => {
3
+ t && Array.from(t.elements).forEach((t) => {
4
+ e.includes(t.tagName) && (t.tagName === "INPUT" && (t.value = t.defaultValue), t.tagName === "SELECT" && (t.value = ""), t.setAttribute("data-initialized", "false"));
5
+ });
6
+ };
7
+ //#endregion
8
+ export { t as formReset };
9
+
10
+ //# sourceMappingURL=formReset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formReset.js","names":[],"sources":["../../../src/components/form/formReset.tsx"],"sourcesContent":["const inputFields = [\"INPUT\", \"SELECT\"];\n\nexport const formReset = (form?: HTMLFormElement | null) => {\n if (!form) return;\n const elements = Array.from(form.elements);\n elements.forEach((field) => {\n if (!inputFields.includes(field.tagName)) return;\n if (field.tagName === \"INPUT\") {\n (field as HTMLInputElement).value = (field as HTMLInputElement).defaultValue;\n }\n if (field.tagName === \"SELECT\") {\n (field as HTMLSelectElement).value = \"\";\n }\n field.setAttribute(\"data-initialized\", \"false\");\n });\n};\n"],"mappings":";AAAA,IAAM,IAAc,CAAC,SAAS,QAAQ,GAEzB,KAAa,MAAkC;CACnD,KAEL,MADuB,KAAK,EAAK,QACjC,EAAS,SAAS,MAAU;EACnB,EAAY,SAAS,EAAM,OAAO,MACnC,EAAM,YAAY,YAClB,EAA4B,QAAS,EAA2B,eAEhE,EAAM,YAAY,aAClB,EAA6B,QAAQ,KAEzC,EAAM,aAAa,oBAAoB,OAAO;CAClD,CAAC;AACL"}
@@ -0,0 +1,17 @@
1
+ const inputFields = ["INPUT", "SELECT"];
2
+ export const formReset = (form) => {
3
+ if (!form)
4
+ return;
5
+ const elements = Array.from(form.elements);
6
+ elements.forEach((field) => {
7
+ if (!inputFields.includes(field.tagName))
8
+ return;
9
+ if (field.tagName === "INPUT") {
10
+ field.value = field.defaultValue;
11
+ }
12
+ if (field.tagName === "SELECT") {
13
+ field.value = "";
14
+ }
15
+ field.setAttribute("data-initialized", "false");
16
+ });
17
+ };
@@ -0,0 +1,11 @@
1
+ import MaskInput, { InputTypes } from "the-mask-input";
2
+ import { Any, Override, ReactComponent } from "../../types";
3
+ import { FeedbackProps, InputFieldProps } from "./input-field";
4
+ type FreeTextTag = "input" | "textarea";
5
+ export type FreeTextProps<T extends FreeTextTag, ExtraProps extends Any> = Override<InputFieldProps<T> & FeedbackProps & Partial<{
6
+ next: string;
7
+ type: InputTypes;
8
+ }>, ExtraProps>;
9
+ export declare const createFreeText: <const T extends FreeTextTag, const Html extends HTMLInputElement | HTMLTextAreaElement, Extra extends Any>(Element: "input" | "textarea" | typeof MaskInput, elementName: "input" | "textarea", defaultProps: FreeTextProps<T, Extra>, register?: (el: Html) => () => void) => ReactComponent<FreeTextProps<T, Extra>>;
10
+ export {};
11
+ //# sourceMappingURL=free-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free-text.d.ts","sourceRoot":"","sources":["../../../src/components/form/free-text.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAc,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,KAAK,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAExC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,SAAS,GAAG,IAAI,QAAQ,CAC/E,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,EAChF,UAAU,CACb,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,CAAC,IAAI,SAAS,gBAAgB,GAAG,mBAAmB,EAAE,KAAK,SAAS,GAAG,EACpI,SAAS,OAAO,GAAG,UAAU,GAAG,OAAO,SAAS,EAChD,aAAa,OAAO,GAAG,UAAU,EACjC,cAAc,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EACrC,WAAW,CAAC,EAAE,EAAE,IAAI,KAAK,MAAM,IAAI,4CA2GtC,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { o as e, t, u as n } from "../../dom-Bn4wY_Zx.js";
3
+ import { n as r } from "../../input-field-ffx1MbHo.js";
4
+ import { forwardRef as i, useEffect as a, useRef as o } from "react";
5
+ import { jsx as s } from "react/jsx-runtime";
6
+ //#region src/components/form/free-text.tsx
7
+ var c = (c, l, u, d) => i(({ info: i, left: f, next: p, error: m, right: h, container: g, rightLabel: _, interactive: v, optionalText: y, type: b = "text", labelClassName: x, feedback: S = null, hideLeft: C = !1, loading: w, hiddenLabel: T, ...E }, D) => {
8
+ let O = c, k = E.id ?? E.name, A = o(null);
9
+ return a(() => {
10
+ if (A.current === null) return;
11
+ let t = A.current, n = e(A.current), r = d?.(t), i = (e) => {
12
+ let n = e;
13
+ if (n.key === "Enter" && t.enterKeyHint === "next") {
14
+ let e = t.getAttribute("data-next");
15
+ if (e) {
16
+ let t = document.getElementById(e);
17
+ if (t) {
18
+ t.focus(), n.preventDefault();
19
+ return;
20
+ }
21
+ }
22
+ }
23
+ };
24
+ return t.addEventListener("keydown", i), () => {
25
+ r?.(), n(), t.removeEventListener("keydown", i);
26
+ };
27
+ }, []), /* @__PURE__ */ s(r, {
28
+ ...u,
29
+ info: i,
30
+ left: f,
31
+ error: m,
32
+ right: h,
33
+ form: E.form,
34
+ loading: w,
35
+ name: E.name,
36
+ feedback: S,
37
+ hideLeft: C,
38
+ title: E.title,
39
+ rightLabel: _,
40
+ disabled: E.disabled,
41
+ hiddenLabel: T,
42
+ interactive: v,
43
+ required: E.required,
44
+ componentName: l,
45
+ id: E.name || E.id,
46
+ optionalText: y,
47
+ labelClassName: x,
48
+ placeholder: E.placeholder,
49
+ container: t(g, u.container),
50
+ children: /* @__PURE__ */ s(O, {
51
+ ...u,
52
+ ...E,
53
+ id: k,
54
+ name: k,
55
+ type: b,
56
+ "data-next": p,
57
+ "aria-busy": w,
58
+ "aria-invalid": !!m,
59
+ "aria-disabled": E.disabled,
60
+ "aria-readonly": E.readOnly,
61
+ "aria-describedby": m ? `${k}-error` : void 0,
62
+ ref: n(D, A),
63
+ className: t("input placeholder-input-mask group h-input-height w-full flex-1", "rounded-input-radius bg-transparent px-input-padding-x py-input-padding-y text-input-text text-foreground", "outline-none transition-colors", "group-error:text-danger group-error:placeholder-input-mask-error", "resize-y group-focus-within:border-primary group-hover:border-primary", "disabled:cursor-not-allowed disabled:text-disabled", E.className)
64
+ })
65
+ });
66
+ });
67
+ //#endregion
68
+ export { c as createFreeText };
69
+
70
+ //# sourceMappingURL=free-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free-text.js","names":[],"sources":["../../../src/components/form/free-text.tsx"],"sourcesContent":["\"use client\";\nimport React, { forwardRef, useEffect, useRef } from \"react\";\nimport MaskInput, { InputTypes } from \"the-mask-input\";\nimport { css, initializeInputDataset, mergeRefs } from \"../../lib/dom\";\nimport { Any, Override, ReactComponent } from \"../../types\";\nimport { FeedbackProps, InputField, InputFieldProps } from \"./input-field\";\n\ntype FreeTextTag = \"input\" | \"textarea\";\n\nexport type FreeTextProps<T extends FreeTextTag, ExtraProps extends Any> = Override<\n InputFieldProps<T> & FeedbackProps & Partial<{ next: string; type: InputTypes }>,\n ExtraProps\n>;\n\nexport const createFreeText = <const T extends FreeTextTag, const Html extends HTMLInputElement | HTMLTextAreaElement, Extra extends Any>(\n Element: \"input\" | \"textarea\" | typeof MaskInput,\n elementName: \"input\" | \"textarea\",\n defaultProps: FreeTextProps<T, Extra>,\n register?: (el: Html) => () => void\n) => {\n const FreeText: ReactComponent<FreeTextProps<T, Extra>> = forwardRef<Html, FreeTextProps<T, Extra>>(\n (\n {\n info,\n left,\n next,\n error,\n right,\n container,\n rightLabel,\n interactive,\n optionalText,\n type = \"text\",\n labelClassName,\n feedback = null,\n hideLeft = false,\n loading,\n hiddenLabel,\n ...props\n },\n ref\n ): React.ReactElement => {\n const Render: React.ElementType = Element;\n const id = props.id ?? props.name;\n const inputRef = useRef<Html>(null);\n\n useEffect(() => {\n if (inputRef.current === null) return;\n const input = inputRef.current;\n const focus = initializeInputDataset(inputRef.current);\n const registered = register?.(input);\n const goNextInputImpl = (e: Event) => {\n const event = e as KeyboardEvent;\n if (event.key === \"Enter\" && input.enterKeyHint === \"next\") {\n const focusNext = input.getAttribute(\"data-next\");\n if (focusNext) {\n const el = document.getElementById(focusNext);\n if (el) {\n el.focus();\n return void event.preventDefault();\n }\n }\n }\n };\n input.addEventListener(\"keydown\", goNextInputImpl);\n return () => {\n registered?.();\n focus();\n input.removeEventListener(\"keydown\", goNextInputImpl);\n };\n }, []);\n\n return (\n <InputField\n {...(defaultProps as unknown as InputFieldProps<T>)}\n info={info}\n left={left}\n error={error}\n right={right}\n form={props.form}\n loading={loading}\n name={props.name}\n feedback={feedback}\n hideLeft={hideLeft}\n title={props.title}\n rightLabel={rightLabel}\n disabled={props.disabled}\n hiddenLabel={hiddenLabel}\n interactive={interactive}\n required={props.required}\n componentName={elementName}\n id={props.name || props.id}\n optionalText={optionalText}\n labelClassName={labelClassName}\n placeholder={props.placeholder}\n container={css(container, defaultProps.container)}\n >\n <Render\n {...defaultProps}\n {...props}\n id={id}\n name={id}\n type={type}\n data-next={next}\n aria-busy={loading}\n aria-invalid={!!error}\n aria-disabled={props.disabled}\n aria-readonly={props.readOnly}\n aria-describedby={error ? `${id}-error` : undefined}\n ref={mergeRefs(ref, inputRef) as unknown as React.Ref<Html>}\n className={css(\n \"input placeholder-input-mask group h-input-height w-full flex-1\",\n \"rounded-input-radius bg-transparent px-input-padding-x py-input-padding-y text-input-text text-foreground\",\n \"outline-none transition-colors\",\n \"group-error:text-danger group-error:placeholder-input-mask-error\",\n \"resize-y group-focus-within:border-primary group-hover:border-primary\",\n \"disabled:cursor-not-allowed disabled:text-disabled\",\n props.className\n )}\n />\n </InputField>\n );\n }\n ) as unknown as ReactComponent<FreeTextProps<T, Extra>>;\n return FreeText;\n};\n"],"mappings":";;;;;;AAcA,IAAa,KACT,GACA,GACA,GACA,MAE0D,GAElD,EACI,SACA,SACA,SACA,UACA,UACA,cACA,eACA,gBACA,iBACA,UAAO,QACP,mBACA,cAAW,MACX,cAAW,IACX,YACA,gBACA,GAAG,KAEP,MACqB;CACrB,IAAM,IAA4B,GAC5B,IAAK,EAAM,MAAM,EAAM,MACvB,IAAW,EAAa,IAAI;CA4BlC,OA1BA,QAAgB;EACZ,IAAI,EAAS,YAAY,MAAM;EAC/B,IAAM,IAAQ,EAAS,SACjB,IAAQ,EAAuB,EAAS,OAAO,GAC/C,IAAa,IAAW,CAAK,GAC7B,KAAmB,MAAa;GAClC,IAAM,IAAQ;GACd,IAAI,EAAM,QAAQ,WAAW,EAAM,iBAAiB,QAAQ;IACxD,IAAM,IAAY,EAAM,aAAa,WAAW;IAChD,IAAI,GAAW;KACX,IAAM,IAAK,SAAS,eAAe,CAAS;KAC5C,IAAI,GAAI;MAEG,AADP,EAAG,MAAM,GACF,EAAW,eAAe;MAAjC;KACJ;IACJ;GACJ;EACJ;EAEA,OADA,EAAM,iBAAiB,WAAW,CAAe,SACpC;GAGT,AAFA,IAAa,GACb,EAAM,GACN,EAAM,oBAAoB,WAAW,CAAe;EACxD;CACJ,GAAG,CAAC,CAAC,GAGD,kBAAC,GAAD;EACI,GAAK;EACC;EACA;EACC;EACA;EACP,MAAM,EAAM;EACH;EACT,MAAM,EAAM;EACF;EACA;EACV,OAAO,EAAM;EACD;EACZ,UAAU,EAAM;EACH;EACA;EACb,UAAU,EAAM;EAChB,eAAe;EACf,IAAI,EAAM,QAAQ,EAAM;EACV;EACE;EAChB,aAAa,EAAM;EACnB,WAAW,EAAI,GAAW,EAAa,SAAS;YAEhD,kBAAC,GAAD;GACI,GAAI;GACJ,GAAI;GACA;GACJ,MAAM;GACA;GACN,aAAW;GACX,aAAW;GACX,gBAAc,CAAC,CAAC;GAChB,iBAAe,EAAM;GACrB,iBAAe,EAAM;GACrB,oBAAkB,IAAQ,GAAG,EAAG,UAAU,KAAA;GAC1C,KAAK,EAAU,GAAK,CAAQ;GAC5B,WAAW,EACP,mEACA,6GACA,kCACA,oEACA,yEACA,sDACA,EAAM,SACV;EACH,CAAA;CACO,CAAA;AAEpB,CAEG"}
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import React, { forwardRef, useEffect, useRef } from "react";
3
+ import { css, initializeInputDataset, mergeRefs } from "../../lib/dom";
4
+ import { InputField } from "./input-field";
5
+ export const createFreeText = (Element, elementName, defaultProps, register) => {
6
+ const FreeText = forwardRef(({ info, left, next, error, right, container, rightLabel, interactive, optionalText, type = "text", labelClassName, feedback = null, hideLeft = false, loading, hiddenLabel, ...props }, ref) => {
7
+ const Render = Element;
8
+ const id = props.id ?? props.name;
9
+ const inputRef = useRef(null);
10
+ useEffect(() => {
11
+ if (inputRef.current === null)
12
+ return;
13
+ const input = inputRef.current;
14
+ const focus = initializeInputDataset(inputRef.current);
15
+ const registered = register?.(input);
16
+ const goNextInputImpl = (e) => {
17
+ const event = e;
18
+ if (event.key === "Enter" && input.enterKeyHint === "next") {
19
+ const focusNext = input.getAttribute("data-next");
20
+ if (focusNext) {
21
+ const el = document.getElementById(focusNext);
22
+ if (el) {
23
+ el.focus();
24
+ return void event.preventDefault();
25
+ }
26
+ }
27
+ }
28
+ };
29
+ input.addEventListener("keydown", goNextInputImpl);
30
+ return () => {
31
+ registered?.();
32
+ focus();
33
+ input.removeEventListener("keydown", goNextInputImpl);
34
+ };
35
+ }, []);
36
+ return (<InputField {...defaultProps} info={info} left={left} error={error} right={right} form={props.form} loading={loading} name={props.name} feedback={feedback} hideLeft={hideLeft} title={props.title} rightLabel={rightLabel} disabled={props.disabled} hiddenLabel={hiddenLabel} interactive={interactive} required={props.required} componentName={elementName} id={props.name || props.id} optionalText={optionalText} labelClassName={labelClassName} placeholder={props.placeholder} container={css(container, defaultProps.container)}>
37
+ <Render {...defaultProps} {...props} id={id} name={id} type={type} data-next={next} aria-busy={loading} aria-invalid={!!error} aria-disabled={props.disabled} aria-readonly={props.readOnly} aria-describedby={error ? `${id}-error` : undefined} ref={mergeRefs(ref, inputRef)} className={css("input placeholder-input-mask group h-input-height w-full flex-1", "rounded-input-radius bg-transparent px-input-padding-x py-input-padding-y text-input-text text-foreground", "outline-none transition-colors", "group-error:text-danger group-error:placeholder-input-mask-error", "resize-y group-focus-within:border-primary group-hover:border-primary", "disabled:cursor-not-allowed disabled:text-disabled", props.className)}/>
38
+ </InputField>);
39
+ });
40
+ return FreeText;
41
+ };
@@ -0,0 +1,34 @@
1
+ import React, { type PropsWithChildren } from "react";
2
+ import { type Label, Override } from "../../types";
3
+ import { type PolymorphicProps } from "../core/polymorph";
4
+ export type FeedbackProps = React.PropsWithChildren<Partial<{
5
+ id: string;
6
+ info: Label;
7
+ title: Label;
8
+ hideLeft: boolean;
9
+ className: string;
10
+ placeholder: string;
11
+ reportStatus: boolean;
12
+ hiddenLabel: boolean;
13
+ }>>;
14
+ export declare const InputFeedback: ({ reportStatus, id, hideLeft, className, info, children, title }: FeedbackProps) => React.JSX.Element;
15
+ export type InputFieldProps<T extends "input" | "select" | "textarea"> = PolymorphicProps<Partial<Override<FeedbackProps, {
16
+ id: string;
17
+ info: Label;
18
+ left: Label;
19
+ name: string;
20
+ right: Label;
21
+ error: string;
22
+ feedback: Label;
23
+ loading: boolean;
24
+ container: string;
25
+ hideLeft: boolean;
26
+ rightLabel: Label;
27
+ placeholder: string;
28
+ interactive: boolean;
29
+ optionalText: string;
30
+ componentName: string;
31
+ labelClassName: string;
32
+ }>>, T>;
33
+ export declare const InputField: <T extends "input" | "select" | "textarea">(props: PropsWithChildren<InputFieldProps<T>>) => React.ReactElement;
34
+ //# sourceMappingURL=input-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-field.d.ts","sourceRoot":"","sources":["../../../src/components/form/input-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAwB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI5E,OAAO,EAAE,KAAK,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAC/C,OAAO,CAAC;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CACL,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kEAA0E,aAAa,sBA6CpH,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,QAAQ,GAAG,UAAU,IAAI,gBAAgB,CACrF,OAAO,CACH,QAAQ,CACJ,aAAa,EACb;IACI,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CAC1B,CACJ,CACJ,EACD,CAAC,CACJ,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAiHG,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { n as e, t } from "../../input-field-ffx1MbHo.js";
3
+ export { t as InputFeedback, e as InputField };
@@ -0,0 +1,64 @@
1
+ "use client";
2
+ import { CheckCircleIcon, InfoIcon, XCircleIcon } from "@phosphor-icons/react";
3
+ import React, { forwardRef, Fragment } from "react";
4
+ import { useTranslations } from "../../hooks/use-translations";
5
+ import { useTweaks } from "../../hooks/use-tweaks";
6
+ import { css } from "../../lib/dom";
7
+ import { Tooltip } from "../floating/tooltip";
8
+ export const InputFeedback = ({ reportStatus, id, hideLeft = false, className, info, children, title }) => (<span className={css("w-full justify-between", hideLeft && children === null ? "hidden" : "flex", className)}>
9
+ {hideLeft ? null : (<span className="flex items-center gap-1 transition-colors group-focus-within:text-primary group-hover:text-primary group-disabled:text-disabled group-error:text-danger">
10
+ <span id={id ? `${id}-label` : undefined}>{title}</span>
11
+ {reportStatus || info ? (<span className="flex items-center justify-center gap-1">
12
+ {info ? (<Tooltip as="button" type="button" aria-label={typeof info === "string" ? info : undefined} aria-describedby={typeof info === "string" ? undefined : id ? `tooltip-info-content-${id}` : undefined} title={<span className="cursor-help">
13
+ <span className="flex aspect-square size-3 items-center justify-center">
14
+ <InfoIcon aria-hidden="true" size={16}/>
15
+ </span>
16
+ </span>}>
17
+ <div id={id ? `tooltip-info-content-${id}` : undefined} className="w-full max-w-48 whitespace-break-spaces break-words">
18
+ {info}
19
+ </div>
20
+ </Tooltip>) : null}
21
+ {reportStatus ? (<span className="flex h-3 min-w-6 items-center">
22
+ <span className="hidden aspect-square size-3 opacity-0 transition-opacity group-assert:block group-assert:text-success group-assert:opacity-100">
23
+ <CheckCircleIcon aria-hidden="true" size={16}/>
24
+ </span>
25
+ <span className="hidden aspect-square size-3 opacity-0 transition-opacity group-error:block group-error:opacity-100">
26
+ <XCircleIcon aria-hidden="true" size={16}/>
27
+ </span>
28
+ </span>) : null}
29
+ </span>) : null}
30
+ </span>)}
31
+ {children}
32
+ </span>);
33
+ export const InputField = forwardRef(({ optionalText: _optionalText, left, rightLabel, container, feedback, interactive, right, info, children, error, form, id, labelClassName = "", name, title, componentName, placeholder, hideLeft = false, required, disabled, reportStatus, hiddenLabel, }, ref) => {
34
+ const tweaks = useTweaks();
35
+ const reportStatusDefault = reportStatus !== undefined ? reportStatus : tweaks.input.iconFeedback;
36
+ const ID = id ?? name;
37
+ const translation = useTranslations();
38
+ const optionalText = _optionalText ?? translation.inputOptionalLabel;
39
+ return (<fieldset ref={ref} form={form} disabled={disabled} data-error={!!error} aria-disabled={disabled} data-component={componentName} data-interactive={!!interactive} className={css("group flex min-h-0 min-w-0 max-w-full flex-col items-start", container)}>
40
+ <label form={form} htmlFor={ID} className={css("relative inline-flex w-full max-w-full cursor-text flex-row flex-wrap justify-between gap-input-label-mb text-input-label-text transition-colors empty:hidden group-disabled:cursor-not-allowed group-error:text-danger")}>
41
+ {hiddenLabel ? (<span className="sr-only">
42
+ <InputFeedback id={ID} info={info} hideLeft={hideLeft} reportStatus={reportStatusDefault} title={title} placeholder={placeholder}/>
43
+ </span>) : (<InputFeedback id={ID} info={info} title={title} hideLeft={hideLeft} placeholder={placeholder} reportStatus={reportStatusDefault}>
44
+ {optionalText || rightLabel ? (<Fragment>
45
+ {!required ? (<span aria-disabled={disabled} className="text-opacity-70 transition-colors group-focus-within:text-primary group-hover:text-primary aria-disabled:text-disabled">
46
+ {optionalText}
47
+ </span>) : null}
48
+ {rightLabel ? <Fragment>{rightLabel}</Fragment> : null}
49
+ </Fragment>) : null}
50
+ </InputFeedback>)}
51
+ <div className={css("group relative flex w-full flex-row flex-nowrap items-center gap-x-input-gap gap-y-input-inline rounded-input-radius border border-input-border bg-transparent transition-colors group-hover:border-primary group-disabled:border-disabled group-error:border-danger", labelClassName)}>
52
+ {left ? <span className="flex flex-nowrap gap-input-slot-gap whitespace-nowrap pl-input-slot-pl">{left}</span> : null}
53
+ {children}
54
+ {right ? <span className="flex flex-nowrap gap-input-slot-gap whitespace-nowrap pr-input-slot-pr">{right}</span> : null}
55
+ </div>
56
+ </label>
57
+ <p id={ID ? `${ID}-error` : undefined} role="alert" className="mt-input-hint-mt hidden whitespace-pre-wrap text-wrap text-input-hint-text empty:mt-0 empty:hidden group-has-[input:not(:focus):invalid[data-initialized=true]]:flex group-error:flex group-error:text-danger">
58
+ {error}
59
+ </p>
60
+ <p id={ID ? `${ID}-feedback` : undefined} className="mt-input-hint-mt text-input-hint-text empty:mt-0 empty:hidden group-has-[input:not(:focus):valid[data-initialized=true]]:block group-assert:block group-error:hidden">
61
+ {feedback}
62
+ </p>
63
+ </fieldset>);
64
+ }); // forwardRef return is non-generic; cast restores the polymorphic signature
@@ -0,0 +1,52 @@
1
+ import { AllMasks, CurrencyCode, CurrencyInputProps, CurrencyMaskTypes, Locales, PercentInputMask, PercentInputProps, TheMaskProps } from "the-mask-input";
2
+ import { FreeTextProps } from "./free-text";
3
+ export type * from "the-mask-input";
4
+ /**
5
+ * Props for the Input component, extending FreeTextProps with mask functionality
6
+ * Supports currency, percentage, and custom mask patterns
7
+ */
8
+ export type InputProps = FreeTextProps<"input", ({
9
+ mask?: CurrencyMaskTypes;
10
+ locale?: Locales;
11
+ currency?: CurrencyCode | undefined;
12
+ } & CurrencyInputProps) | ({
13
+ mask?: PercentInputMask;
14
+ locale?: Locales;
15
+ currency?: undefined;
16
+ } & PercentInputProps) | ({
17
+ mask?: AllMasks | Array<string | RegExp> | ((p: string) => Array<string | RegExp> | AllMasks);
18
+ locale?: undefined;
19
+ currency?: undefined;
20
+ } & TheMaskProps)>;
21
+ /**
22
+ * A text input component with advanced masking capabilities.
23
+ *
24
+ * Supports various input masks including:
25
+ * - Currency formatting with locale support
26
+ * - Percentage inputs
27
+ * - Custom regex patterns
28
+ * - Phone numbers, dates, and other formatted inputs
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * // Basic input
33
+ * <Input placeholder="Enter text..." />
34
+ *
35
+ * // Phone number mask
36
+ * <Input mask="(99) 99999-9999" placeholder="Phone" />
37
+ *
38
+ * // Currency input
39
+ * <Input mask="currency" currency="USD" locale="en-US" />
40
+ *
41
+ * // Percentage input
42
+ * <Input mask="percentage" />
43
+ *
44
+ * // Custom mask
45
+ * <Input mask={["999.999.999-99"]} placeholder="CPF" />
46
+ * ```
47
+ *
48
+ * @param props - Input props including mask, validation, and styling options
49
+ * @returns A masked input component with form integration
50
+ */
51
+ export declare const Input: import("../..").ReactComponent<FreeTextProps<"input", InputProps>>;
52
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/form/input.tsx"],"names":[],"mappings":"AACA,OAAkB,EACd,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,mBAAmB,gBAAgB,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAClC,OAAO,EACL,CAAC;IACG,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACvC,GAAG,kBAAkB,CAAC,GACvB,CAAC;IACG,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACG,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB,GAAG,YAAY,CAAC,CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,oEAEhB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as e } from "../../input-B7jqwPG4.js";
2
+ import { t as e } from "../../input-Cmyuea4Y.js";
3
3
  export { e as Input };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import MaskInput from "the-mask-input";
3
+ import { createFreeText } from "./free-text";
4
+ /**
5
+ * A text input component with advanced masking capabilities.
6
+ *
7
+ * Supports various input masks including:
8
+ * - Currency formatting with locale support
9
+ * - Percentage inputs
10
+ * - Custom regex patterns
11
+ * - Phone numbers, dates, and other formatted inputs
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basic input
16
+ * <Input placeholder="Enter text..." />
17
+ *
18
+ * // Phone number mask
19
+ * <Input mask="(99) 99999-9999" placeholder="Phone" />
20
+ *
21
+ * // Currency input
22
+ * <Input mask="currency" currency="USD" locale="en-US" />
23
+ *
24
+ * // Percentage input
25
+ * <Input mask="percentage" />
26
+ *
27
+ * // Custom mask
28
+ * <Input mask={["999.999.999-99"]} placeholder="CPF" />
29
+ * ```
30
+ *
31
+ * @param props - Input props including mask, validation, and styling options
32
+ * @returns A masked input component with form integration
33
+ */
34
+ export const Input = createFreeText(MaskInput, "input", {
35
+ type: "text",
36
+ });
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { Label, Override } from "../../types";
3
+ import { InputFieldProps } from "./input-field";
4
+ import { type OptionProps } from "./select";
5
+ export type MultiSelectItemProps = OptionProps & {
6
+ Render?: React.FC<OptionProps>;
7
+ };
8
+ export type MultiSelectProps = Override<InputFieldProps<"input">, {
9
+ title?: string;
10
+ value?: string[];
11
+ emptyMessage?: Label;
12
+ selectedLabel?: string;
13
+ defaultValue?: string[];
14
+ dynamicOption?: boolean;
15
+ options: MultiSelectItemProps[];
16
+ onChangeOptions?: (options: string[]) => void;
17
+ }>;
18
+ export declare const MultiSelect: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
19
+ //# sourceMappingURL=multi-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/form/multi-select.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAoG,MAAM,OAAO,CAAC;AAQzH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAc,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC7C,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACnC,eAAe,CAAC,OAAO,CAAC,EACxB;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACjD,CACJ,CAAC;AA8DF,eAAO,MAAM,WAAW,wGAsevB,CAAC"}