@g4rcez/components 4.0.2 → 4.1.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 (337) hide show
  1. package/ai/SKILL.md +120 -153
  2. package/ai/docs/Alert.md +47 -48
  3. package/ai/docs/AnimatedList.md +88 -87
  4. package/ai/docs/Autocomplete.md +102 -106
  5. package/ai/docs/Button.md +33 -33
  6. package/ai/docs/Calendar.md +67 -101
  7. package/ai/docs/Card.md +59 -55
  8. package/ai/docs/Checkbox.md +77 -82
  9. package/ai/docs/CommandPalette.md +154 -172
  10. package/ai/docs/DatePicker.md +45 -64
  11. package/ai/docs/Dropdown.md +98 -126
  12. package/ai/docs/Empty.md +41 -44
  13. package/ai/docs/Expand.md +40 -54
  14. package/ai/docs/FileUpload.md +102 -109
  15. package/ai/docs/Form.md +35 -29
  16. package/ai/docs/FormReset.md +37 -37
  17. package/ai/docs/Heading.md +4 -6
  18. package/ai/docs/Input.md +73 -98
  19. package/ai/docs/InputField.md +67 -67
  20. package/ai/docs/List.md +88 -85
  21. package/ai/docs/Menu.md +62 -60
  22. package/ai/docs/Modal.md +129 -136
  23. package/ai/docs/MultiSelect.md +65 -84
  24. package/ai/docs/Notifications.md +96 -96
  25. package/ai/docs/PageCalendar.md +88 -97
  26. package/ai/docs/Polymorph.md +25 -41
  27. package/ai/docs/Progress.md +55 -51
  28. package/ai/docs/Radiobox.md +49 -41
  29. package/ai/docs/RenderOnView.md +26 -32
  30. package/ai/docs/Resizable.md +60 -65
  31. package/ai/docs/Select.md +158 -158
  32. package/ai/docs/Shortcut.md +14 -14
  33. package/ai/docs/Skeleton.md +56 -60
  34. package/ai/docs/Slider.md +26 -49
  35. package/ai/docs/Slot.md +15 -17
  36. package/ai/docs/Spinner.md +17 -15
  37. package/ai/docs/Stats.md +44 -42
  38. package/ai/docs/Step.md +60 -60
  39. package/ai/docs/Switch.md +44 -54
  40. package/ai/docs/Table.md +124 -136
  41. package/ai/docs/Tabs.md +90 -90
  42. package/ai/docs/Tag.md +63 -65
  43. package/ai/docs/TaskList.md +40 -50
  44. package/ai/docs/Textarea.md +47 -70
  45. package/ai/docs/Timeline.md +98 -96
  46. package/ai/docs/Toolbar.md +46 -46
  47. package/ai/docs/Tooltip.md +103 -103
  48. package/ai/docs/Typography.md +55 -55
  49. package/ai/docs/Wizard.md +104 -109
  50. package/ai/docs/index.md +116 -116
  51. package/dist/autocomplete-DcTNOwyg.js +393 -0
  52. package/dist/autocomplete-DcTNOwyg.js.map +1 -0
  53. package/dist/{calendar-B5lSd0ID.js → calendar-BJMHRoy2.js} +104 -105
  54. package/dist/calendar-BJMHRoy2.js.map +1 -0
  55. package/dist/components/core/button.d.ts.map +1 -1
  56. package/dist/components/core/button.js +10 -10
  57. package/dist/components/core/button.js.map +1 -1
  58. package/dist/components/core/button.jsx +79 -0
  59. package/dist/components/core/heading.jsx +4 -0
  60. package/dist/components/core/polymorph.d.ts +1 -1
  61. package/dist/components/core/polymorph.d.ts.map +1 -1
  62. package/dist/components/core/polymorph.jsx +5 -0
  63. package/dist/components/core/render-on-view.jsx +31 -0
  64. package/dist/components/core/resizable.jsx +51 -0
  65. package/dist/components/core/slot.d.ts.map +1 -1
  66. package/dist/components/core/slot.jsx +156 -0
  67. package/dist/components/core/tag.d.ts +1 -1
  68. package/dist/components/core/tag.d.ts.map +1 -1
  69. package/dist/components/core/tag.js +4 -4
  70. package/dist/components/core/tag.js.map +1 -1
  71. package/dist/components/core/tag.jsx +51 -0
  72. package/dist/components/core/typography.jsx +18 -0
  73. package/dist/components/display/alert.d.ts +1 -1
  74. package/dist/components/display/alert.d.ts.map +1 -1
  75. package/dist/components/display/alert.js +48 -46
  76. package/dist/components/display/alert.js.map +1 -1
  77. package/dist/components/display/alert.jsx +61 -0
  78. package/dist/components/display/calendar.js +6 -6
  79. package/dist/components/display/calendar.jsx +299 -0
  80. package/dist/components/display/card.js +2 -2
  81. package/dist/components/display/card.js.map +1 -1
  82. package/dist/components/display/card.jsx +43 -0
  83. package/dist/components/display/empty.jsx +11 -0
  84. package/dist/components/display/list.js +1 -1
  85. package/dist/components/display/list.js.map +1 -1
  86. package/dist/components/display/list.jsx +81 -0
  87. package/dist/components/display/notifications.d.ts +1 -1
  88. package/dist/components/display/notifications.d.ts.map +1 -1
  89. package/dist/components/display/notifications.js +3 -3
  90. package/dist/components/display/notifications.jsx +126 -0
  91. package/dist/components/display/progress.jsx +11 -0
  92. package/dist/components/display/shortcut.jsx +23 -0
  93. package/dist/components/display/skeleton.d.ts.map +1 -1
  94. package/dist/components/display/skeleton.jsx +19 -0
  95. package/dist/components/display/spinner.d.ts.map +1 -1
  96. package/dist/components/display/spinner.jsx +11 -0
  97. package/dist/components/display/stats.js +1 -1
  98. package/dist/components/display/stats.jsx +20 -0
  99. package/dist/components/display/step.jsx +131 -0
  100. package/dist/components/display/tabs.d.ts +1 -1
  101. package/dist/components/display/tabs.d.ts.map +1 -1
  102. package/dist/components/display/tabs.js +2 -2
  103. package/dist/components/display/tabs.jsx +125 -0
  104. package/dist/components/display/timeline.js +1 -1
  105. package/dist/components/display/timeline.jsx +25 -0
  106. package/dist/components/floating/command-palette.d.ts.map +1 -1
  107. package/dist/components/floating/command-palette.jsx +197 -0
  108. package/dist/components/floating/dropdown.d.ts.map +1 -1
  109. package/dist/components/floating/dropdown.js +25 -17
  110. package/dist/components/floating/dropdown.js.map +1 -1
  111. package/dist/components/floating/dropdown.jsx +56 -0
  112. package/dist/components/floating/expand.js +7 -7
  113. package/dist/components/floating/expand.js.map +1 -1
  114. package/dist/components/floating/expand.jsx +44 -0
  115. package/dist/components/floating/menu.js +10 -10
  116. package/dist/components/floating/menu.js.map +1 -1
  117. package/dist/components/floating/menu.jsx +147 -0
  118. package/dist/components/floating/modal.d.ts +4 -4
  119. package/dist/components/floating/modal.d.ts.map +1 -1
  120. package/dist/components/floating/modal.js +106 -102
  121. package/dist/components/floating/modal.js.map +1 -1
  122. package/dist/components/floating/modal.jsx +301 -0
  123. package/dist/components/floating/toolbar.jsx +5 -0
  124. package/dist/components/floating/tooltip.d.ts.map +1 -1
  125. package/dist/components/floating/tooltip.js +14 -14
  126. package/dist/components/floating/tooltip.js.map +1 -1
  127. package/dist/components/floating/tooltip.jsx +58 -0
  128. package/dist/components/floating/wizard.jsx +161 -0
  129. package/dist/components/form/autocomplete.d.ts.map +1 -1
  130. package/dist/components/form/autocomplete.js +6 -6
  131. package/dist/components/form/autocomplete.jsx +278 -0
  132. package/dist/components/form/checkbox.js +1 -1
  133. package/dist/components/form/checkbox.jsx +12 -0
  134. package/dist/components/form/date-picker.d.ts.map +1 -1
  135. package/dist/components/form/date-picker.js +5 -5
  136. package/dist/components/form/date-picker.jsx +115 -0
  137. package/dist/components/form/file-upload.d.ts.map +1 -1
  138. package/dist/components/form/file-upload.js +2 -2
  139. package/dist/components/form/file-upload.jsx +134 -0
  140. package/dist/components/form/form.js.map +1 -1
  141. package/dist/components/form/form.jsx +10 -0
  142. package/dist/components/form/formReset.jsx +17 -0
  143. package/dist/components/form/free-text.d.ts.map +1 -1
  144. package/dist/components/form/free-text.jsx +41 -0
  145. package/dist/components/form/input-field.d.ts +11 -11
  146. package/dist/components/form/input-field.d.ts.map +1 -1
  147. package/dist/components/form/input-field.jsx +58 -0
  148. package/dist/components/form/input.js +1 -1
  149. package/dist/components/form/input.jsx +36 -0
  150. package/dist/components/form/multi-select.d.ts.map +1 -1
  151. package/dist/components/form/multi-select.jsx +336 -0
  152. package/dist/components/form/radiobox.js +1 -1
  153. package/dist/components/form/radiobox.jsx +6 -0
  154. package/dist/components/form/select.js +3 -3
  155. package/dist/components/form/select.jsx +42 -0
  156. package/dist/components/form/slider.jsx +45 -0
  157. package/dist/components/form/switch.js +2 -2
  158. package/dist/components/form/switch.js.map +1 -1
  159. package/dist/components/form/switch.jsx +46 -0
  160. package/dist/components/form/task-list.jsx +26 -0
  161. package/dist/components/form/textarea.jsx +12 -0
  162. package/dist/components/index.d.ts +0 -1
  163. package/dist/components/index.d.ts.map +1 -1
  164. package/dist/components/index.js +44 -0
  165. package/dist/components/page-calendar/calendar-header.jsx +83 -0
  166. package/dist/components/page-calendar/day-view.jsx +94 -0
  167. package/dist/components/page-calendar/event-pill.d.ts.map +1 -1
  168. package/dist/components/page-calendar/event-pill.jsx +25 -0
  169. package/dist/components/page-calendar/index.js +2 -0
  170. package/dist/components/page-calendar/month-view.jsx +46 -0
  171. package/dist/components/page-calendar/page-calendar.jsx +41 -0
  172. package/dist/components/page-calendar/page-calendar.types.js +1 -0
  173. package/dist/components/page-calendar/page-calendar.utils.js +93 -0
  174. package/dist/components/page-calendar/week-view.jsx +71 -0
  175. package/dist/components/table/filter.jsx +141 -0
  176. package/dist/components/table/group.jsx +68 -0
  177. package/dist/components/table/index.d.ts +2 -3
  178. package/dist/components/table/index.d.ts.map +1 -1
  179. package/dist/components/table/index.jsx +60 -0
  180. package/dist/components/table/inner-table.d.ts +2 -3
  181. package/dist/components/table/inner-table.d.ts.map +1 -1
  182. package/dist/components/table/inner-table.jsx +102 -0
  183. package/dist/components/table/metadata.jsx +36 -0
  184. package/dist/components/table/pagination.d.ts +3 -1
  185. package/dist/components/table/pagination.d.ts.map +1 -1
  186. package/dist/components/table/pagination.jsx +74 -0
  187. package/dist/components/table/row.d.ts +4 -5
  188. package/dist/components/table/row.d.ts.map +1 -1
  189. package/dist/components/table/row.jsx +49 -0
  190. package/dist/components/table/sort.d.ts.map +1 -1
  191. package/dist/components/table/sort.jsx +109 -0
  192. package/dist/components/table/table-lib.d.ts +1 -1
  193. package/dist/components/table/table-lib.d.ts.map +1 -1
  194. package/dist/components/table/table-lib.js +83 -0
  195. package/dist/components/table/table.context.jsx +4 -0
  196. package/dist/components/table/table.js +3 -3
  197. package/dist/components/table/thead.jsx +103 -0
  198. package/dist/config/context.js +12 -0
  199. package/dist/config/default-translations.d.ts +4 -0
  200. package/dist/config/default-translations.d.ts.map +1 -1
  201. package/dist/config/default-translations.jsx +87 -0
  202. package/dist/config/default-tweaks.js +4 -0
  203. package/dist/constants.js +2 -0
  204. package/dist/{date-picker-DwNo22lx.js → date-picker-Bnl07nd8.js} +8 -6
  205. package/dist/date-picker-Bnl07nd8.js.map +1 -0
  206. package/dist/{dom-Dl8XH0CK.js → dom-CyQHY7ID.js} +66 -61
  207. package/dist/dom-CyQHY7ID.js.map +1 -0
  208. package/dist/{file-upload-Brf2NkLr.js → file-upload-93d5DR4q.js} +139 -129
  209. package/dist/file-upload-93d5DR4q.js.map +1 -0
  210. package/dist/{floating-ui.react-QNHG9W4N.js → floating-ui.react-M2PGXLDp.js} +8 -8
  211. package/dist/floating-ui.react-M2PGXLDp.js.map +1 -0
  212. package/dist/{fns-D2eyJKd5.js → fns-C7Dt27Qd.js} +2 -2
  213. package/dist/fns-C7Dt27Qd.js.map +1 -0
  214. package/dist/hooks/use-click-outside.js +17 -0
  215. package/dist/hooks/use-color-parser.js +9 -0
  216. package/dist/hooks/use-components-provider.jsx +22 -0
  217. package/dist/hooks/use-debounce.d.ts +3 -3
  218. package/dist/hooks/use-debounce.d.ts.map +1 -1
  219. package/dist/hooks/use-debounce.js +12 -0
  220. package/dist/hooks/use-floating-ref.js +6 -0
  221. package/dist/hooks/use-form.d.ts +14 -13
  222. package/dist/hooks/use-form.d.ts.map +1 -1
  223. package/dist/hooks/use-form.js +563 -0
  224. package/dist/hooks/use-hover.js +18 -0
  225. package/dist/hooks/use-input-id.js +5 -0
  226. package/dist/hooks/use-is-coarse-device.js +12 -0
  227. package/dist/hooks/use-locale.js +10 -0
  228. package/dist/hooks/use-media-query.js +25 -0
  229. package/dist/hooks/use-on-event.js +7 -0
  230. package/dist/hooks/use-parent.js +21 -0
  231. package/dist/hooks/use-preferences.js +23 -0
  232. package/dist/hooks/use-previous.js +9 -0
  233. package/dist/hooks/use-reactive.js +9 -0
  234. package/dist/hooks/use-remove-scroll.d.ts.map +1 -1
  235. package/dist/hooks/use-remove-scroll.js +48 -0
  236. package/dist/hooks/use-resize-observer.js +17 -0
  237. package/dist/hooks/use-stable-ref.js +9 -0
  238. package/dist/hooks/use-swipe.js +17 -0
  239. package/dist/hooks/use-translations.d.ts +4 -0
  240. package/dist/hooks/use-translations.d.ts.map +1 -1
  241. package/dist/hooks/use-translations.js +9 -0
  242. package/dist/hooks/use-tweaks.js +9 -0
  243. package/dist/hooks/use-window-size.js +14 -0
  244. package/dist/index-BJ1ayTam.js +126 -0
  245. package/dist/index-BJ1ayTam.js.map +1 -0
  246. package/dist/index-C-PuFUZi.js.map +1 -1
  247. package/dist/{index-BelDtX5M.js → index-DDeQW0JW.js} +399 -404
  248. package/dist/index-DDeQW0JW.js.map +1 -0
  249. package/dist/index-DE4shK8D.js +215 -0
  250. package/dist/index-DE4shK8D.js.map +1 -0
  251. package/dist/{index-DJSMaZR4.js → index-DlJ_2RBL.js} +2 -2
  252. package/dist/index-DlJ_2RBL.js.map +1 -0
  253. package/dist/index.css +1 -1
  254. package/dist/index.esm-BaIwleSE.js.map +1 -1
  255. package/dist/index.js +20 -8177
  256. package/dist/index.js.map +1 -1
  257. package/dist/{input-CrGrSnUt.js → input-_MVxmIpu.js} +116 -114
  258. package/dist/input-_MVxmIpu.js.map +1 -0
  259. package/dist/{input-field-5vYcz5tT.js → input-field-CDCOODOl.js} +63 -47
  260. package/dist/input-field-CDCOODOl.js.map +1 -0
  261. package/dist/lib/combi-keys.js +60 -0
  262. package/dist/lib/dict.d.ts +1 -4
  263. package/dist/lib/dict.d.ts.map +1 -1
  264. package/dist/lib/dict.js +28 -0
  265. package/dist/lib/dom.d.ts +3 -2
  266. package/dist/lib/dom.d.ts.map +1 -1
  267. package/dist/lib/dom.js +66 -0
  268. package/dist/lib/fns.js +46 -0
  269. package/dist/lib/fzf.d.ts.map +1 -1
  270. package/dist/lib/fzf.js +115 -0
  271. package/dist/lib/keyboard-area.js +14 -0
  272. package/dist/notifications-Dp0ydKJS.js +2576 -0
  273. package/dist/notifications-Dp0ydKJS.js.map +1 -0
  274. package/dist/polymorph-B5n9fs_K.js.map +1 -1
  275. package/dist/preset/plugin.tailwind.d.ts.map +1 -1
  276. package/dist/preset/plugin.tailwind.js +20 -18
  277. package/dist/preset/preset.tailwind.js +24 -25
  278. package/dist/preset/src/styles/common.js +6 -3
  279. package/dist/preset/src/styles/dark.d.ts.map +1 -1
  280. package/dist/preset/src/styles/dark.js +9 -5
  281. package/dist/preset/src/styles/design-tokens.js +68 -89
  282. package/dist/preset/src/styles/light.d.ts.map +1 -1
  283. package/dist/preset/src/styles/light.js +9 -5
  284. package/dist/preset/src/styles/theme.js +7 -4
  285. package/dist/preset/src/styles/theme.types.d.ts +2 -1
  286. package/dist/preset/src/styles/theme.types.d.ts.map +1 -1
  287. package/dist/preset/src/styles/theme.types.js +2 -1
  288. package/dist/skeleton-BjJobYYf.js +24 -0
  289. package/dist/skeleton-BjJobYYf.js.map +1 -0
  290. package/dist/slot-CRyweuj0.js.map +1 -1
  291. package/dist/styles/common.js +6 -3
  292. package/dist/styles/dark.d.ts.map +1 -1
  293. package/dist/styles/dark.js +9 -5
  294. package/dist/styles/design-tokens.js +68 -89
  295. package/dist/styles/light.d.ts.map +1 -1
  296. package/dist/styles/light.js +9 -5
  297. package/dist/styles/theme.js +7 -4
  298. package/dist/styles/theme.types.d.ts +2 -1
  299. package/dist/styles/theme.types.d.ts.map +1 -1
  300. package/dist/styles/theme.types.js +2 -1
  301. package/dist/tabs-B0g7YtQv.js +123 -0
  302. package/dist/tabs-B0g7YtQv.js.map +1 -0
  303. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  304. package/dist/types.d.ts +2 -2
  305. package/dist/types.d.ts.map +1 -1
  306. package/dist/types.js +1 -0
  307. package/dist/{context-BFXNJVn2.js → use-translations-DSltA7H_.js} +38 -30
  308. package/dist/use-translations-DSltA7H_.js.map +1 -0
  309. package/package.json +99 -86
  310. package/ai/docs/TransferList.md +0 -142
  311. package/dist/autocomplete-Cn9Z2hLq.js +0 -375
  312. package/dist/autocomplete-Cn9Z2hLq.js.map +0 -1
  313. package/dist/calendar-B5lSd0ID.js.map +0 -1
  314. package/dist/components/form/transfer-list.d.ts +0 -14
  315. package/dist/components/form/transfer-list.d.ts.map +0 -1
  316. package/dist/components/form/transfer-list.js +0 -55
  317. package/dist/components/form/transfer-list.js.map +0 -1
  318. package/dist/context-BFXNJVn2.js.map +0 -1
  319. package/dist/date-picker-DwNo22lx.js.map +0 -1
  320. package/dist/dom-Dl8XH0CK.js.map +0 -1
  321. package/dist/file-upload-Brf2NkLr.js.map +0 -1
  322. package/dist/floating-ui.react-QNHG9W4N.js.map +0 -1
  323. package/dist/fns-D2eyJKd5.js.map +0 -1
  324. package/dist/index-BelDtX5M.js.map +0 -1
  325. package/dist/index-DJSMaZR4.js.map +0 -1
  326. package/dist/index-Z-fZHxfJ.js +0 -335
  327. package/dist/index-Z-fZHxfJ.js.map +0 -1
  328. package/dist/input-CrGrSnUt.js.map +0 -1
  329. package/dist/input-field-5vYcz5tT.js.map +0 -1
  330. package/dist/notifications-cUdVPs-B.js +0 -2786
  331. package/dist/notifications-cUdVPs-B.js.map +0 -1
  332. package/dist/skeleton-D75GFBV6.js +0 -10
  333. package/dist/skeleton-D75GFBV6.js.map +0 -1
  334. package/dist/tabs-S00a8qq8.js +0 -106
  335. package/dist/tabs-S00a8qq8.js.map +0 -1
  336. package/dist/use-translations-BwLKTrZv.js +0 -10
  337. package/dist/use-translations-BwLKTrZv.js.map +0 -1
@@ -18,7 +18,7 @@ const c = () => {
18
18
  }, w = (e) => !e, g = () => {
19
19
  }, h = () => {
20
20
  const e = navigator.userAgent || navigator.vendor || window.opera;
21
- return /android|iphone|ipad|ipod|opera mini|iemobile|wpdesktop/i.test(e);
21
+ return /android|iphone|ipad|ipod|opera mini|iemobile|wpdesktop/i.test(e ?? "");
22
22
  };
23
23
  export {
24
24
  u as a,
@@ -30,4 +30,4 @@ export {
30
30
  d as s,
31
31
  c as u
32
32
  };
33
- //# sourceMappingURL=fns-D2eyJKd5.js.map
33
+ //# sourceMappingURL=fns-C7Dt27Qd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fns-C7Dt27Qd.js","sources":["../src/lib/fns.ts"],"sourcesContent":["import type { AllPaths } from \"sidekicker\";\nimport { Any } from \"../types\";\n\nexport const uuid = (): string => {\n const timestamp = Date.now();\n const bytes = new Uint8Array(16);\n bytes[0] = (timestamp / Math.pow(2, 40)) & 0xff;\n bytes[1] = (timestamp / Math.pow(2, 32)) & 0xff;\n bytes[2] = (timestamp / Math.pow(2, 24)) & 0xff;\n bytes[3] = (timestamp / Math.pow(2, 16)) & 0xff;\n bytes[4] = (timestamp / Math.pow(2, 8)) & 0xff;\n bytes[5] = timestamp & 0xff;\n const randomBytes = new Uint8Array(10);\n crypto.getRandomValues(randomBytes);\n bytes.set(randomBytes, 6);\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const hex = Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n};\n\nconst travel = (path: string, regexp: RegExp, obj: Any) =>\n path\n .split(regexp)\n .filter(Boolean)\n .reduce((res, key) => (res !== null && res !== undefined ? res[key] : res), obj);\n\nconst regexPaths = { basic: /[,[\\]]+?/, extend: /[,[\\].]+?/ };\n\nexport const path = <T extends Any, K extends AllPaths<T>>(obj: T, path: K) => {\n const result = travel(path, regexPaths.basic, obj) || travel(path, regexPaths.extend, obj);\n return result === undefined || result === obj ? undefined : result;\n};\n\nexport const isSsr = () => typeof window === \"undefined\";\n\nexport const safeRegex = (string: string) => string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\nexport const splitInto = <T>(array: T[], size: number) => {\n const newArray: T[][] = [];\n for (let i = 0; i < size; i++) {\n const init = i * size;\n const result = array.slice(init, init + size);\n if (result.length > 0) newArray.push(result);\n }\n return newArray;\n};\n\nexport const negate = (b: boolean) => !b;\n\nexport const noop = () => {};\n\nexport const isMobile = () => {\n const userAgent = navigator.userAgent || navigator.vendor || (window as Window & { opera?: string }).opera;\n return /android|iphone|ipad|ipod|opera mini|iemobile|wpdesktop/i.test(userAgent ?? \"\");\n};\n"],"names":["uuid","timestamp","bytes","randomBytes","hex","b","travel","path","regexp","obj","res","key","regexPaths","result","isSsr","safeRegex","string","splitInto","array","size","newArray","i","init","negate","noop","isMobile","userAgent"],"mappings":"AAGO,MAAMA,IAAO,MAAc;AAC9B,QAAMC,IAAY,KAAK,IAAA,GACjBC,IAAQ,IAAI,WAAW,EAAE;AAC/B,EAAAA,EAAM,CAAC,IAAKD,IAAY,KAAK,IAAI,GAAG,EAAE,IAAK,KAC3CC,EAAM,CAAC,IAAKD,IAAY,KAAK,IAAI,GAAG,EAAE,IAAK,KAC3CC,EAAM,CAAC,IAAKD,IAAY,KAAK,IAAI,GAAG,EAAE,IAAK,KAC3CC,EAAM,CAAC,IAAKD,IAAY,KAAK,IAAI,GAAG,EAAE,IAAK,KAC3CC,EAAM,CAAC,IAAKD,IAAY,KAAK,IAAI,GAAG,CAAC,IAAK,KAC1CC,EAAM,CAAC,IAAID,IAAY;AACvB,QAAME,IAAc,IAAI,WAAW,EAAE;AACrC,SAAO,gBAAgBA,CAAW,GAClCD,EAAM,IAAIC,GAAa,CAAC,GACxBD,EAAM,CAAC,IAAKA,EAAM,CAAC,IAAI,KAAQ,KAC/BA,EAAM,CAAC,IAAKA,EAAM,CAAC,IAAI,KAAQ;AAC/B,QAAME,IAAM,MAAM,KAAKF,CAAK,EACvB,IAAI,CAACG,MAAMA,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAC1C,KAAK,EAAE;AACZ,SAAO,GAAGD,EAAI,MAAM,GAAG,CAAC,CAAC,IAAIA,EAAI,MAAM,GAAG,EAAE,CAAC,IAAIA,EAAI,MAAM,IAAI,EAAE,CAAC,IAAIA,EAAI,MAAM,IAAI,EAAE,CAAC,IAAIA,EAAI,MAAM,EAAE,CAAC;AAC5G,GAEME,IAAS,CAACC,GAAcC,GAAgBC,MAC1CF,EACK,MAAMC,CAAM,EACZ,OAAO,OAAO,EACd,OAAO,CAACE,GAAKC,MAASD,KAAQ,OAA4BA,EAAIC,CAAG,IAAID,GAAMD,CAAG,GAEjFG,IAAa,EAAE,OAAO,YAAY,QAAQ,YAAA,GAEnCL,IAAO,CAAuCE,GAAQF,MAAY;AAC3E,QAAMM,IAASP,EAAOC,GAAMK,EAAW,OAAOH,CAAG,KAAKH,EAAOC,GAAMK,EAAW,QAAQH,CAAG;AACzF,SAAOI,MAAW,UAAaA,MAAWJ,IAAM,SAAYI;AAChE,GAEaC,IAAQ,MAAM,OAAO,SAAW,KAEhCC,IAAY,CAACC,MAAmBA,EAAO,QAAQ,uBAAuB,MAAM,GAE5EC,IAAY,CAAIC,GAAYC,MAAiB;AACtD,QAAMC,IAAkB,CAAA;AACxB,WAASC,IAAI,GAAGA,IAAIF,GAAME,KAAK;AAC3B,UAAMC,IAAOD,IAAIF,GACXN,IAASK,EAAM,MAAMI,GAAMA,IAAOH,CAAI;AAC5C,IAAIN,EAAO,SAAS,KAAGO,EAAS,KAAKP,CAAM;AAAA,EAAA;AAE/C,SAAOO;AACX,GAEaG,IAAS,CAAClB,MAAe,CAACA,GAE1BmB,IAAO,MAAM;AAAC,GAEdC,IAAW,MAAM;AAC1B,QAAMC,IAAY,UAAU,aAAa,UAAU,UAAW,OAAuC;AACrG,SAAO,0DAA0D,KAAKA,KAAa,EAAE;AACzF;"}
@@ -0,0 +1,17 @@
1
+ import { useEffect } from "react";
2
+ export const useOnClickOutside = (ref, handler) => {
3
+ useEffect(() => {
4
+ const listener = (event) => {
5
+ if (!ref.current || ref.current.contains(event.target))
6
+ return;
7
+ handler(event);
8
+ };
9
+ const params = { passive: true };
10
+ document.addEventListener("mousedown", listener, params);
11
+ document.addEventListener("touchstart", listener, params);
12
+ return () => {
13
+ document.removeEventListener("mousedown", listener);
14
+ document.removeEventListener("touchstart", listener);
15
+ };
16
+ }, [ref, handler]);
17
+ };
@@ -0,0 +1,9 @@
1
+ import { useContext } from "react";
2
+ import { Context } from "../config/context";
3
+ import { parsers } from "../styles/design-tokens";
4
+ export const useColorParser = () => {
5
+ const ctx = useContext(Context);
6
+ if (!ctx)
7
+ return parsers.hsla;
8
+ return ctx.parser;
9
+ };
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import React, { useMemo } from "react";
3
+ import { IconContext } from "@phosphor-icons/react";
4
+ import { parsers } from "../styles/design-tokens";
5
+ import { Context } from "../config/context";
6
+ import { defaultTranslations } from "../config/default-translations";
7
+ import { defaultTweaks } from "../config/default-tweaks";
8
+ import { ModalConfirmProvider } from "../components/floating/modal";
9
+ export const ComponentsProvider = (props) => {
10
+ const memoMap = useMemo(() => ({
11
+ locale: props.locale,
12
+ floatingRef: props.rootFloating,
13
+ tweaks: { ...defaultTweaks, ...props.tweaks },
14
+ parser: props.parser || parsers.hsla,
15
+ map: { ...defaultTranslations, ...props.map },
16
+ }), [props]);
17
+ return (<IconContext.Provider value={{ weight: props.iconWeight ?? "regular" }}>
18
+ <Context.Provider value={memoMap}>
19
+ <ModalConfirmProvider>{props.children}</ModalConfirmProvider>
20
+ </Context.Provider>
21
+ </IconContext.Provider>);
22
+ };
@@ -1,5 +1,5 @@
1
- type Fn = (...a: any[]) => any;
2
- export declare const debounce: <T extends Fn>(fn: Fn, ms?: number) => (...args: Parameters<T>) => void;
3
- export declare function useDebounce<T extends Fn>(fn: T, delay: number): (...args: any[]) => void;
1
+ type Fn = (...a: never[]) => unknown;
2
+ export declare const debounce: <T extends Fn>(fn: T, ms?: number) => ((...args: Parameters<T>) => void);
3
+ export declare function useDebounce<T extends Fn>(fn: T, delay: number): (...args: Parameters<T>) => void;
4
4
  export {};
5
5
  //# sourceMappingURL=use-debounce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-debounce.d.ts","sourceRoot":"","sources":["../../src/hooks/use-debounce.ts"],"names":[],"mappings":"AAEA,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE/B,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAM,MAEvB,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,SAInD,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,4BAG7D"}
1
+ {"version":3,"file":"use-debounce.d.ts","sourceRoot":"","sources":["../../src/hooks/use-debounce.ts"],"names":[],"mappings":"AAEA,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;AAErC,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,EAAE,WAAM,KAAG,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMvF,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,+BARsB,IAAI,CAWvF"}
@@ -0,0 +1,12 @@
1
+ import { useRef } from "react";
2
+ export const debounce = (fn, ms = 0) => {
3
+ let timeoutId = undefined;
4
+ return function debounced(...args) {
5
+ clearTimeout(timeoutId);
6
+ timeoutId = setTimeout(() => fn(...args), ms);
7
+ };
8
+ };
9
+ export function useDebounce(fn, delay) {
10
+ const debouncedValue = useRef(debounce(fn, delay));
11
+ return debouncedValue.current;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { useContext } from "react";
2
+ import { Context } from "../config/context";
3
+ export const useFloatingRef = () => {
4
+ const ctx = useContext(Context);
5
+ return ctx.floatingRef ?? undefined;
6
+ };
@@ -2,32 +2,33 @@ import React, { type ComponentProps } from "react";
2
2
  import { type AllPaths } from "sidekicker";
3
3
  import { z } from "zod";
4
4
  import { AutocompleteProps, CheckboxProps, DatePickerProps, InputProps, MultiSelectProps, SelectProps, SwitchProps, TextareaProps } from "../components";
5
- import { Any, SetState } from "../types";
5
+ import { SetState } from "../types";
6
+ type Obj = Record<string, unknown>;
6
7
  /**
7
8
  * Converts a form element to a JSON object
8
9
  * @param form - The HTML form element to convert
9
10
  * @returns A JSON object representing the form data
10
11
  */
11
- export declare const formToJson: (form: HTMLFormElement) => any;
12
- export declare const getSchemaShape: <T extends z.ZodObject<any>>(name: string, schema: T) => T;
12
+ export declare const formToJson: (form: HTMLFormElement) => Record<string, unknown>;
13
+ export declare const getSchemaShape: <T extends z.ZodObject<z.ZodRawShape>>(name: string, schema: T) => z.ZodTypeAny;
13
14
  type CustomOnInvalid = (args: {
14
15
  form: HTMLFormElement;
15
16
  errors: Record<string, string>;
16
- }) => any;
17
+ }) => void;
17
18
  export type UseOnSubmitArgs<T> = {
18
19
  data: T;
19
- json: any;
20
+ json: Record<string, unknown>;
20
21
  success: boolean;
21
22
  reset: () => void;
22
23
  form: HTMLFormElement;
23
- setErrors: SetState<Any>;
24
+ setErrors: SetState<Record<string, unknown> | null>;
24
25
  event: React.FormEvent<HTMLFormElement>;
25
26
  errors: Array<{
26
27
  message: string;
27
28
  path: string[];
28
29
  }>;
29
30
  };
30
- export type UseFormSubmit<T> = (event: React.FormEvent<HTMLFormElement>, args: UseOnSubmitArgs<T>) => any;
31
+ export type UseFormSubmit<T> = (event: React.FormEvent<HTMLFormElement>, args: UseOnSubmitArgs<T>) => unknown;
31
32
  type Interceptor<T> = {
32
33
  get: () => T;
33
34
  clear: () => void;
@@ -44,7 +45,7 @@ export type UseFormOptions<T> = Partial<{
44
45
  * @param name - The unique name for the form storage
45
46
  * @returns An interceptor object with get, set, and clear methods
46
47
  */
47
- export declare const createFormStorage: (name: string) => Interceptor<any>;
48
+ export declare const createFormStorage: (name: string) => Interceptor<Obj>;
48
49
  /**
49
50
  * A comprehensive form management hook with Zod schema validation.
50
51
  *
@@ -81,14 +82,14 @@ export declare const createFormStorage: (name: string) => Interceptor<any>;
81
82
  * @param opts - Optional configuration including initial state and interceptors
82
83
  * @returns Form management object with input helpers and handlers
83
84
  */
84
- export declare const useForm: <T extends z.ZodObject<any>>(schema: T, formName: string, opts?: UseFormOptions<z.infer<T>>) => {
85
- get: (p: AllPaths<z.TypeOf<T>>) => Any | "";
85
+ export declare const useForm: <T extends z.ZodObject<z.ZodRawShape>>(schema: T, formName: string, opts?: UseFormOptions<z.infer<T>>) => {
86
+ get: (p: AllPaths<z.TypeOf<T>>) => any;
86
87
  input: <Props extends InputProps>(name: AllPaths<z.TypeOf<T>>, props?: Props) => Props;
87
88
  state: z.TypeOf<T>;
88
- errors: Record<string, any> | null;
89
+ errors: Record<string, unknown> | null;
89
90
  select: <Props extends SelectProps | AutocompleteProps>(name: AllPaths<z.TypeOf<T>>, props?: Props) => Props;
90
91
  checkbox: <Props extends CheckboxProps | SwitchProps>(name: AllPaths<z.TypeOf<T>>, props?: Props) => Props;
91
- onSubmit: (exec?: UseFormSubmit<z.infer<T>>) => (event: React.FormEvent<HTMLFormElement>) => any;
92
+ onSubmit: (exec?: UseFormSubmit<z.infer<T>>) => (event: React.FormEvent<HTMLFormElement>) => unknown;
92
93
  setState: React.Dispatch<React.SetStateAction<z.TypeOf<T>>>;
93
94
  textarea: <Props extends TextareaProps>(name: AllPaths<z.TypeOf<T>>, props?: Props) => Props;
94
95
  onInvalid: (exec?: CustomOnInvalid) => (event: React.FormEvent<HTMLFormElement>) => void;
@@ -389,6 +390,6 @@ export declare const useForm: <T extends z.ZodObject<any>>(schema: T, formName:
389
390
  multiselect: <Props extends MultiSelectProps>(name: AllPaths<z.TypeOf<T>>, props?: Props) => Props;
390
391
  disabled: boolean;
391
392
  };
392
- export declare const getJsonForm: <T extends z.ZodObject<any>>(form?: HTMLFormElement | null) => z.infer<T>;
393
+ export declare const getJsonForm: <T extends z.ZodObject<z.ZodRawShape>>(form?: HTMLFormElement | null) => z.infer<T>;
393
394
  export {};
394
395
  //# sourceMappingURL=use-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../src/hooks/use-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../src/hooks/use-form.ts"],"names":[],"mappings":"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"}