@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,11 @@
1
+ import React from "react";
2
+ import { CellAsideElement, Col } from "./table-lib";
3
+ type ItemContentContext<T extends Record<string, unknown>> = {
4
+ cols: Col<T>[];
5
+ loading?: boolean;
6
+ loadingMore?: boolean;
7
+ Aside?: React.FC<CellAsideElement<T>>;
8
+ };
9
+ export declare const Row: <T extends Record<string, unknown>>(index: number, row: T, context: ItemContentContext<T>) => React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../src/components/table/row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAI7E,OAAO,EAAE,gBAAgB,EAAoB,GAAG,EAAa,MAAM,aAAa,CAAC;AAEjF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACzD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,CAAC;AAoCF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,kBAAkB,CAAC,CAAC,CAAC,sBAgD3G,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { p as e } from "../../dom-Bn4wY_Zx.js";
2
+ import { a as t } from "../../fns-KbsWlOTG.js";
3
+ import { SkeletonCell as n } from "../display/skeleton.js";
4
+ import { Fragment as r, createElement as i, useRef as a, useState as o } from "react";
5
+ import { jsx as s } from "react/jsx-runtime";
6
+ //#region src/components/table/row.tsx
7
+ var c = (e) => {
8
+ let t = a(null), n = a(null), [r, i] = o("opacity-0"), c = r === "opacity-0";
9
+ return /* @__PURE__ */ s("div", {
10
+ ref: t,
11
+ onMouseEnter: () => {
12
+ let e = n.current, r = t.current;
13
+ e !== null && r !== null && (r.style.left = `-${e.getBoundingClientRect().width + 4}px`), i("opacity-100");
14
+ },
15
+ onMouseLeave: () => i("opacity-0"),
16
+ "data-component": "cell-aside",
17
+ inert: c ? !0 : void 0,
18
+ tabIndex: c ? -1 : void 0,
19
+ className: `group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${r}`,
20
+ children: /* @__PURE__ */ s("div", {
21
+ ref: n,
22
+ className: "isolate block",
23
+ children: e.children
24
+ })
25
+ });
26
+ }, l = (a, o, l) => {
27
+ let u = l.cols, d = l.loading;
28
+ return /* @__PURE__ */ s(r, { children: u.map((u, f) => {
29
+ let p = `${f},${a}`, m = t(o, u.id), h = u.Element, g = u.cellProps?.className || "", _ = f === 0 && l.Aside && d === !1, v = l.Aside;
30
+ return /* @__PURE__ */ i("td", {
31
+ ...u.cellProps,
32
+ role: "cell",
33
+ "data-matrix": p,
34
+ key: `accessor-${a}-${f}`,
35
+ className: `typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${g}`
36
+ }, _ ? /* @__PURE__ */ s(c, { children: /* @__PURE__ */ s(v, {
37
+ col: u,
38
+ row: o,
39
+ rowIndex: a
40
+ }) }) : null, /* @__PURE__ */ s("span", {
41
+ className: "text-typography-sm block font-bold leading-tight md:hidden",
42
+ children: u.thead
43
+ }), /* @__PURE__ */ s("span", {
44
+ className: "relative",
45
+ children: d ? n : h ? /* @__PURE__ */ s(r, { children: /* @__PURE__ */ s(h, {
46
+ row: o,
47
+ matrix: p,
48
+ col: u,
49
+ rowIndex: a,
50
+ value: m
51
+ }) }) : /* @__PURE__ */ s(r, { children: e.nil(m) ? "" : m })
52
+ }));
53
+ }) });
54
+ };
55
+ //#endregion
56
+ export { l as Row };
57
+
58
+ //# sourceMappingURL=row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.js","names":[],"sources":["../../../src/components/table/row.tsx"],"sourcesContent":["import React, { Fragment, PropsWithChildren, useRef, useState } from \"react\";\nimport { Is } from \"sidekicker\";\nimport { path } from \"../../lib/fns\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { CellAsideElement, CellPropsElement, Col, ColMatrix } from \"./table-lib\";\n\ntype ItemContentContext<T extends Record<string, unknown>> = {\n cols: Col<T>[];\n loading?: boolean;\n loadingMore?: boolean;\n Aside?: React.FC<CellAsideElement<T>>;\n};\n\nconst RowAside = (props: PropsWithChildren) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLDivElement>(null);\n const [className, setClassName] = useState(\"opacity-0\");\n const ariaHidden = className === \"opacity-0\";\n\n const onLeave = () => setClassName(\"opacity-0\");\n\n const onEnter = () => {\n const child = ref.current;\n const parent = parentRef.current;\n if (child !== null && parent !== null) {\n parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;\n }\n setClassName(\"opacity-100\");\n };\n\n return (\n <div\n ref={parentRef}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n data-component=\"cell-aside\"\n inert={ariaHidden ? true : undefined}\n tabIndex={ariaHidden ? -1 : undefined}\n className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}\n >\n <div ref={ref} className=\"isolate block\">\n {props.children}\n </div>\n </div>\n );\n};\n\nexport const Row = <T extends Record<string, unknown>>(index: number, row: T, context: ItemContentContext<T>) => {\n const cols = context.cols;\n const loading = context.loading;\n return (\n <Fragment>\n {cols.map((col, colIndex) => {\n const matrix: ColMatrix = `${colIndex},${index}`;\n const value = path(row, col.id);\n const Component = col.Element as React.FC<CellPropsElement<T, typeof col.id>> | undefined;\n const className = col.cellProps?.className || \"\";\n const exposeAside = colIndex === 0 && context.Aside && loading === false;\n const Aside = context.Aside!;\n return (\n <td\n {...col.cellProps}\n role=\"cell\"\n data-matrix={matrix}\n key={`accessor-${index}-${colIndex}`}\n className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}\n >\n {exposeAside ? (\n <RowAside>\n <Aside col={col} row={row} rowIndex={index} />\n </RowAside>\n ) : null}\n <span className=\"text-typography-sm block font-bold leading-tight md:hidden\">{col.thead}</span>\n <span className=\"relative\">\n {loading ? (\n SkeletonCell\n ) : Component ? (\n <Fragment>\n <Component\n row={row}\n matrix={matrix}\n col={col}\n rowIndex={index}\n value={value as CellPropsElement<T, typeof col.id>[\"value\"]}\n />\n </Fragment>\n ) : (\n <Fragment>{Is.nil(value) ? \"\" : (value as React.ReactNode)}</Fragment>\n )}\n </span>\n </td>\n );\n })}\n </Fragment>\n );\n};\n"],"mappings":";;;;;;AAaA,IAAM,KAAY,MAA6B;CAC3C,IAAM,IAAY,EAAuB,IAAI,GACvC,IAAM,EAAuB,IAAI,GACjC,CAAC,GAAW,KAAgB,EAAS,WAAW,GAChD,IAAa,MAAc;CAajC,OACI,kBAAC,OAAD;EACI,KAAK;EACL,oBAZc;GAClB,IAAM,IAAQ,EAAI,SACZ,IAAS,EAAU;GAIzB,AAHI,MAAU,QAAQ,MAAW,SAC7B,EAAO,MAAM,OAAO,IAAI,EAAM,sBAAsB,EAAE,QAAQ,EAAE,MAEpE,EAAa,aAAa;EAC9B;EAMQ,oBAfc,EAAa,WAAW;EAgBtC,kBAAe;EACf,OAAO,IAAa,KAAO,KAAA;EAC3B,UAAU,IAAa,KAAK,KAAA;EAC5B,WAAW,8HAA8H;YAEzI,kBAAC,OAAD;GAAU;GAAK,WAAU;aACpB,EAAM;EACN,CAAA;CACJ,CAAA;AAEb,GAEa,KAA0C,GAAe,GAAQ,MAAmC;CAC7G,IAAM,IAAO,EAAQ,MACf,IAAU,EAAQ;CACxB,OACI,kBAAC,GAAD,EAAA,UACK,EAAK,KAAK,GAAK,MAAa;EACzB,IAAM,IAAoB,GAAG,EAAS,GAAG,KACnC,IAAQ,EAAK,GAAK,EAAI,EAAE,GACxB,IAAY,EAAI,SAChB,IAAY,EAAI,WAAW,aAAa,IACxC,IAAc,MAAa,KAAK,EAAQ,SAAS,MAAY,IAC7D,IAAQ,EAAQ;EACtB,OACI,kBAAC,MAAD;GACI,GAAI,EAAI;GACR,MAAK;GACL,eAAa;GACb,KAAK,YAAY,EAAM,GAAG;GAC1B,WAAW,gPAAgP;EAyB3P,GAvBC,IACG,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;GAAY;GAAU;GAAK,UAAU;EAAQ,CAAA,EACvC,CAAA,IACV,MACJ,kBAAC,QAAD;GAAM,WAAU;aAA8D,EAAI;EAAY,CAAA,GAC9F,kBAAC,QAAD;GAAM,WAAU;aACX,IACG,IACA,IACA,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;IACS;IACG;IACH;IACL,UAAU;IACH;GACV,CAAA,EACK,CAAA,IAEV,kBAAC,GAAD,EAAA,UAAW,EAAG,IAAI,CAAK,IAAI,KAAM,EAAoC,CAAA;EAEvE,CAAA,CACN;CAEZ,CAAC,EACK,CAAA;AAElB"}
@@ -0,0 +1,49 @@
1
+ import React, { Fragment, useRef, useState } from "react";
2
+ import { Is } from "sidekicker";
3
+ import { path } from "../../lib/fns";
4
+ import { SkeletonCell } from "../display/skeleton";
5
+ const RowAside = (props) => {
6
+ const parentRef = useRef(null);
7
+ const ref = useRef(null);
8
+ const [className, setClassName] = useState("opacity-0");
9
+ const ariaHidden = className === "opacity-0";
10
+ const onLeave = () => setClassName("opacity-0");
11
+ const onEnter = () => {
12
+ const child = ref.current;
13
+ const parent = parentRef.current;
14
+ if (child !== null && parent !== null) {
15
+ parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;
16
+ }
17
+ setClassName("opacity-100");
18
+ };
19
+ return (<div ref={parentRef} onMouseEnter={onEnter} onMouseLeave={onLeave} data-component="cell-aside" inert={ariaHidden ? true : undefined} tabIndex={ariaHidden ? -1 : undefined} className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}>
20
+ <div ref={ref} className="isolate block">
21
+ {props.children}
22
+ </div>
23
+ </div>);
24
+ };
25
+ export const Row = (index, row, context) => {
26
+ const cols = context.cols;
27
+ const loading = context.loading;
28
+ return (<Fragment>
29
+ {cols.map((col, colIndex) => {
30
+ const matrix = `${colIndex},${index}`;
31
+ const value = path(row, col.id);
32
+ const Component = col.Element;
33
+ const className = col.cellProps?.className || "";
34
+ const exposeAside = colIndex === 0 && context.Aside && loading === false;
35
+ const Aside = context.Aside;
36
+ return (<td {...col.cellProps} role="cell" data-matrix={matrix} key={`accessor-${index}-${colIndex}`} className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}>
37
+ {exposeAside ? (<RowAside>
38
+ <Aside col={col} row={row} rowIndex={index}/>
39
+ </RowAside>) : null}
40
+ <span className="text-typography-sm block font-bold leading-tight md:hidden">{col.thead}</span>
41
+ <span className="relative">
42
+ {loading ? (SkeletonCell) : Component ? (<Fragment>
43
+ <Component row={row} matrix={matrix} col={col} rowIndex={index} value={value}/>
44
+ </Fragment>) : (<Fragment>{Is.nil(value) ? "" : value}</Fragment>)}
45
+ </span>
46
+ </td>);
47
+ })}
48
+ </Fragment>);
49
+ };
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { Any, Label } from "../../types";
3
+ import { Col, TableConfiguration, TableOperationProps } from "./table-lib";
4
+ type Keyof<T extends Any> = keyof T extends infer R extends string ? R : never;
5
+ declare enum Order {
6
+ Asc = "asc",
7
+ Desc = "desc",
8
+ Undefined = "undefined"
9
+ }
10
+ export type Sorter<T extends Any> = {
11
+ value: Keyof<T>;
12
+ type: Order;
13
+ label: Label;
14
+ id: string;
15
+ };
16
+ export declare const multiSort: <T extends Any>(array: T[], fields: Sorter<T>[]) => T[];
17
+ type Props<T extends Any> = TableConfiguration<T, {
18
+ cols: Col<T>[];
19
+ sorters: Sorter<T>[];
20
+ set: React.Dispatch<React.SetStateAction<Sorter<T>[]>>;
21
+ }>;
22
+ export declare const Sort: <T extends Any>(props: Props<T>) => React.JSX.Element;
23
+ type SorterHeadProps<T extends Any> = Pick<TableOperationProps<T>, "sorters" | "setSorters"> & {
24
+ col: Col<T>;
25
+ };
26
+ export declare const SorterHead: <T extends Any>(props: SorterHeadProps<T>) => React.JSX.Element;
27
+ export {};
28
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/components/table/sort.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAY,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErF,KAAK,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,aAAK,KAAK;IACN,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,SAAS,cAAc;CAC1B;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI;IAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAY/F,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,QAGvE,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAC1C,CAAC,EACD;IACI,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1D,CACJ,CAAC;AASF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,sBA4ElD,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,GAAG;IAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE/G,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,sBAkClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { n as e, r as t, t as n } from "../../sort-DGmiselV.js";
3
+ export { n as Sort, e as SorterHead, t as multiSort };
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ import { SortAscendingIcon, SortDescendingIcon, CaretUpDownIcon, PlusIcon, TrashIcon } from "@phosphor-icons/react";
3
+ import React, { Fragment, useState } from "react";
4
+ import { useTranslations } from "../../hooks/use-translations";
5
+ import { uuid } from "../../lib/fns";
6
+ import { Dropdown } from "../floating/dropdown";
7
+ import { Select } from "../form/select";
8
+ import { getLabel } from "./table-lib";
9
+ var Order;
10
+ (function (Order) {
11
+ Order["Asc"] = "asc";
12
+ Order["Desc"] = "desc";
13
+ Order["Undefined"] = "undefined";
14
+ })(Order || (Order = {}));
15
+ const createSorterFn = (fields) => (a, b) => fields.reduce((acc, x) => {
16
+ const reverse = x.type === "desc" ? -1 : 1;
17
+ const property = x.value;
18
+ const p = a[property] > b[property] ? reverse : a[property] < b[property] ? -reverse : 0;
19
+ return acc !== 0 ? acc : p;
20
+ }, 0);
21
+ export const multiSort = (array, fields) => {
22
+ array.sort(createSorterFn(fields));
23
+ return array;
24
+ };
25
+ const createSorter = (col, label, order) => ({
26
+ label,
27
+ id: uuid(),
28
+ type: order,
29
+ value: col.id,
30
+ });
31
+ export const Sort = (props) => {
32
+ const translation = useTranslations();
33
+ const orders = {
34
+ asc: { label: translation.tableSortAsc, value: Order.Asc },
35
+ desc: { label: translation.tableSortDesc, value: Order.Desc },
36
+ };
37
+ const orderOptions = [orders.asc, orders.desc];
38
+ const onAddSorter = () => {
39
+ const col = props.cols[0];
40
+ if (col)
41
+ props.set((prev) => [...prev, createSorter(col, orders.asc.label, orders.asc.value)]);
42
+ };
43
+ const onSetSorter = (id) => (e) => {
44
+ const value = e.target.value;
45
+ props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value: value } : x)));
46
+ };
47
+ const onSortOrderType = (id) => (e) => {
48
+ const type = e.target.value;
49
+ props.set((prev) => prev.map((x) => (x.id === id ? { ...x, type: type } : x)));
50
+ };
51
+ const onDelete = (e) => {
52
+ const id = e.currentTarget.dataset.id || "";
53
+ props.set((prev) => prev.filter((x) => x.id !== id));
54
+ };
55
+ return (<Fragment>
56
+ <Dropdown title={translation.tableSortDropdownTitle} trigger={<span className="flex items-center gap-table-inline-gap-tight proportional-nums">
57
+ <CaretUpDownIcon size={14}/>
58
+ {translation.tableSortOrderByLabel} {props.sorters.length === 0 ? "" : ` (${props.sorters.length})`}
59
+ </span>}>
60
+ <ul className="mt-table-groups-mt space-y-2">
61
+ {props.sorters.map((sorter) => {
62
+ return (<li key={`sorter-select-${sorter.id}`} className="flex flex-nowrap gap-3">
63
+ <Select options={props.options} value={sorter.value} onChange={onSetSorter(sorter.id)} title={translation.tableSortOrderInputTitle} placeholder={translation.tableSortOrderInputPlaceholder}/>
64
+ <Select onChange={onSortOrderType(sorter.id)} value={sorter.type} options={orderOptions} title={translation.tableSortTypeInputTitle} placeholder={translation.tableSortTypeInputPlaceholder}/>
65
+ <button className="mt-table-groups-mt" data-id={sorter.id} onClick={onDelete}>
66
+ <span className="text-danger">
67
+ <TrashIcon aria-hidden="true" size={14}/>
68
+ </span>
69
+ </button>
70
+ </li>);
71
+ })}
72
+ <li>
73
+ <button type="button" onClick={onAddSorter} className="flex items-center gap-table-inline-gap-tight text-primary">
74
+ <PlusIcon size={14}/> {translation.tableSortAddButton}
75
+ </button>
76
+ </li>
77
+ </ul>
78
+ </Dropdown>
79
+ </Fragment>);
80
+ };
81
+ export const SorterHead = (props) => {
82
+ const translations = useTranslations();
83
+ const [status, setStatus] = useState(() => {
84
+ const sorter = props.sorters.find((sort) => sort.value === props.col.id);
85
+ return sorter ? sorter.type : Order.Undefined;
86
+ });
87
+ const onClick = () => {
88
+ const next = status === Order.Undefined ? Order.Asc : status === Order.Asc ? Order.Desc : Order.Undefined;
89
+ setStatus(next);
90
+ props.setSorters((prev) => {
91
+ if (next === Order.Undefined)
92
+ return prev.filter((x) => x.value !== props.col.id);
93
+ const findIndex = prev.findIndex((p) => p.value === props.col.id);
94
+ const sorter = createSorter(props.col, next, next);
95
+ if (findIndex === -1)
96
+ return [...prev, sorter];
97
+ prev[findIndex] = sorter;
98
+ return [...prev];
99
+ });
100
+ };
101
+ const labelId = `${props.col.id}-sorter-id`;
102
+ const label = getLabel(props.col);
103
+ return (<button aria-labelledby={labelId} className="isolate flex items-center" onClick={onClick} type="button">
104
+ <span id={labelId} className="sr-only">
105
+ {translations.tableSortDropdownTitle} {label}
106
+ </span>
107
+ {status === Order.Asc ? <SortAscendingIcon size={14}/> : null}
108
+ {status === Order.Desc ? <SortDescendingIcon size={14}/> : null}
109
+ {status === Order.Undefined ? <CaretUpDownIcon size={14}/> : null}
110
+ </button>);
111
+ };
@@ -0,0 +1,135 @@
1
+ import React from "react";
2
+ import { AllPaths } from "sidekicker";
3
+ import { Any, POJO, SetState } from "../../types";
4
+ import { OptionProps } from "../form/select";
5
+ import { FilterConfig } from "./filter";
6
+ import { GroupItem } from "./group";
7
+ import { Sorter } from "./sort";
8
+ export declare const getLabel: <T extends POJO>(col: Col<T>) => string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined>;
9
+ export type TableConfiguration<T extends POJO, M extends POJO = Any> = M & {
10
+ cols: Col<T>[];
11
+ options: OptionProps[];
12
+ };
13
+ export declare const createOptionCols: <T extends POJO>(cols: Col<T>[]) => OptionProps[];
14
+ export declare enum ColType {
15
+ Boolean = "boolean",
16
+ Number = "number",
17
+ Select = "select",
18
+ Text = "text"
19
+ }
20
+ export declare const valueFromType: (input: HTMLInputElement) => string | number;
21
+ type THead = React.ReactElement | React.ReactNode;
22
+ export type ColMatrix = `${number},${number}`;
23
+ type ParsePath<path, output extends string[] = [], currentChunk extends string = ""> = path extends number ? [`${path}`] : path extends `${infer first}${infer rest}` ? first extends "." | "[" | "]" ? ParsePath<rest, [...output, ...(currentChunk extends "" ? [] : [currentChunk])], ""> : ParsePath<rest, output, `${currentChunk}${first}`> : [...output, ...(currentChunk extends "" ? [] : [currentChunk])];
24
+ type RecursiveGet<Obj, pathList> = Obj extends any ? pathList extends [infer first, ...infer rest] ? first extends keyof Obj ? RecursiveGet<Obj[first], rest> : [first, Obj] extends [`${number}` | "number", readonly any[]] ? RecursiveGet<Extract<Obj, any[]>[number], rest> : undefined : Obj : never;
25
+ type GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;
26
+ export type CellAsideElement<T extends POJO> = {
27
+ row: T;
28
+ rowIndex: number;
29
+ col: ColOptions<T, AllPaths<T>>;
30
+ };
31
+ export type CellPropsElement<T extends POJO, K extends AllPaths<T>> = {
32
+ row: T;
33
+ value: GetFromPath<T, K>;
34
+ rowIndex: number;
35
+ matrix: ColMatrix;
36
+ col: ColOptions<T, K> & {
37
+ id: K;
38
+ thead: THead;
39
+ };
40
+ };
41
+ type ColOptions<T extends POJO, K extends AllPaths<T>> = Partial<{
42
+ type: ColType;
43
+ allowSort: boolean;
44
+ headerLabel: string;
45
+ allowFilter: boolean;
46
+ Element: React.FC<CellPropsElement<T, K>>;
47
+ thProps: React.HTMLAttributes<HTMLTableCellElement>;
48
+ cellProps: React.HTMLAttributes<HTMLTableCellElement>;
49
+ }>;
50
+ export type ColConstructor<T extends POJO> = {
51
+ getAll: () => Col<T>[];
52
+ remove: <K extends AllPaths<T>>(id: K) => void;
53
+ filter: (c: (c: Col<T>) => boolean) => Col<T>[];
54
+ add: <K extends AllPaths<T>>(id: K, thead: THead, props?: ColOptions<T, K>) => void;
55
+ };
56
+ declare const cols: <T extends POJO>() => <K extends AllPaths<T>>(id: K, thead: THead, options: ColOptions<T, K>) => {
57
+ id: K;
58
+ thead: THead;
59
+ type?: ColType | undefined;
60
+ allowSort?: boolean | undefined;
61
+ headerLabel?: string | undefined;
62
+ allowFilter?: boolean | undefined;
63
+ Element?: React.FC<CellPropsElement<T, K>> | undefined;
64
+ thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
65
+ cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
66
+ };
67
+ export type Col<T extends POJO> = ReturnType<ReturnType<typeof cols<T>>>;
68
+ export type TablePagination = {
69
+ size: number;
70
+ pages: number;
71
+ current: number;
72
+ hasNext: boolean;
73
+ sizes?: number[];
74
+ totalItems: number;
75
+ hasPrevious: boolean;
76
+ onChangeSize?: (size: number) => void;
77
+ asLink?: React.FC<React.PropsWithChildren<{
78
+ href: number | "previous" | "next";
79
+ className: string;
80
+ }>>;
81
+ };
82
+ export type TableGetters<T extends POJO> = {
83
+ rows: T[];
84
+ cols: Col<T>[];
85
+ sorters: Sorter<T>[];
86
+ groups: GroupItem<T>[];
87
+ filters: FilterConfig<T>[];
88
+ pagination: TablePagination | null;
89
+ };
90
+ type TableSetters<T extends POJO> = {
91
+ setCols: SetState<Col<T>[]>;
92
+ setSorters: SetState<Sorter<T>[]>;
93
+ setGroups: SetState<GroupItem<T>[]>;
94
+ setFilters: SetState<FilterConfig<T>[]>;
95
+ };
96
+ export type TableOperationProps<T extends POJO> = TableConfiguration<T, TableSetters<T> & TableGetters<T> & {
97
+ set?: (v: TableGetters<T>) => void;
98
+ } & {
99
+ inlineSorter: boolean;
100
+ inlineFilter: boolean;
101
+ }>;
102
+ export declare const createColumns: <T extends POJO>(callback: (o: ColConstructor<T>) => void) => {
103
+ id: AllPaths<T, never>;
104
+ thead: THead;
105
+ type?: ColType | undefined;
106
+ allowSort?: boolean | undefined;
107
+ headerLabel?: string | undefined;
108
+ allowFilter?: boolean | undefined;
109
+ Element?: React.FC<CellPropsElement<T, AllPaths<T, never>>> | undefined;
110
+ thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
111
+ cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
112
+ }[];
113
+ export declare const useTablePreferences: <T extends POJO>(name: string, cols: Col<T>[], options?: Partial<TableGetters<T>>) => {
114
+ name: string;
115
+ set: (getters: TableGetters<T>) => void;
116
+ cols: {
117
+ id: AllPaths<T, never>;
118
+ thead: THead;
119
+ type?: ColType | undefined;
120
+ allowSort?: boolean | undefined;
121
+ headerLabel?: string | undefined;
122
+ allowFilter?: boolean | undefined;
123
+ Element?: React.FC<CellPropsElement<T, AllPaths<T, never>>> | undefined;
124
+ thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
125
+ cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
126
+ }[];
127
+ sorters: Sorter<T>[];
128
+ groups: GroupItem<T>[];
129
+ filters: FilterConfig<T>[];
130
+ pagination: TablePagination | null;
131
+ };
132
+ export declare const useWidthControl: <T extends object>(reorder: (c: Col<T>[]) => void) => readonly [React.RefObject<HTMLTableRowElement | null>, (cols: Col<T>[]) => void];
133
+ export declare const getModalScrollerRef: () => HTMLElement | undefined;
134
+ export {};
135
+ //# sourceMappingURL=table-lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-lib.d.ts","sourceRoot":"","sources":["../../../src/components/table/table-lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ "use client";
2
+ import { useCallback, useRef } from "react";
3
+ import { LocalStorage } from "storage-manager-js";
4
+ import { useReducer } from "use-typed-reducer";
5
+ import { useStableRef } from "../../hooks/use-stable-ref";
6
+ import { isSsr } from "../../lib/fns";
7
+ export const getLabel = (col) => col.headerLabel ?? col.thead ?? col.id;
8
+ export const createOptionCols = (cols) => cols.map((opt) => ({
9
+ value: opt.id,
10
+ label: (opt.thead ?? opt.headerLabel ?? opt.id),
11
+ }));
12
+ export var ColType;
13
+ (function (ColType) {
14
+ ColType["Boolean"] = "boolean";
15
+ ColType["Number"] = "number";
16
+ ColType["Select"] = "select";
17
+ ColType["Text"] = "text";
18
+ })(ColType || (ColType = {}));
19
+ export const valueFromType = (input) => (input.type === "number" ? input.valueAsNumber : input.value);
20
+ const cols = () => (id, thead, options) => ({ ...options, id, thead });
21
+ export const createColumns = (callback) => {
22
+ let items = [];
23
+ const add = (id, thead, options) => items.push({ ...options, id, thead });
24
+ const remove = (id) => (items = items.filter((x) => x.id !== id));
25
+ const getAll = () => Array.from(items);
26
+ const filter = (c) => (items = Array.from(items.filter(c)));
27
+ callback({ add, remove, getAll, filter });
28
+ return items;
29
+ };
30
+ const noop = {};
31
+ const mergeCols = (cols, saved) => {
32
+ if (!Array.isArray(saved))
33
+ return cols;
34
+ const savedSet = new Set(saved.map((x) => x.id));
35
+ if (!cols.every((x) => savedSet.has(x.id))) {
36
+ return cols;
37
+ }
38
+ const map = new Map(cols.map((x) => [x.id, x]));
39
+ return saved.map((mock, index) => {
40
+ const original = map.get(mock.id);
41
+ if (original === undefined)
42
+ return cols[index];
43
+ return original;
44
+ });
45
+ };
46
+ export const useTablePreferences = (name, cols, options = noop) => {
47
+ const init = isSsr() ? null : LocalStorage.get(`@components/table-${name}`) || null;
48
+ const [state, dispatch] = useReducer({
49
+ name,
50
+ groups: options.groups || init?.groups || [],
51
+ sorters: options.sorters || init?.sorters || [],
52
+ filters: options.filters || init?.filters || [],
53
+ cols: mergeCols(cols, init?.cols),
54
+ }, (get) => {
55
+ const intercept = (partial) => {
56
+ const prev = get.state();
57
+ const result = { ...prev, ...partial };
58
+ if (!isSsr())
59
+ LocalStorage.set(`@components/table-${prev.name}`, result);
60
+ return result;
61
+ };
62
+ intercept(get.state());
63
+ return {
64
+ set: (getters) => intercept(getters),
65
+ };
66
+ });
67
+ return { ...state, ...dispatch, name };
68
+ };
69
+ export const useWidthControl = (reorder) => {
70
+ const stableRef = useStableRef(reorder);
71
+ const ref = useRef(null);
72
+ const onChange = useCallback((cols) => {
73
+ stableRef.current(cols);
74
+ cols.forEach((x) => {
75
+ const c = ref.current.querySelector(`th[data-tableheader="${x.id}"]`);
76
+ if (!c)
77
+ return;
78
+ c.style.width = "auto";
79
+ });
80
+ }, [stableRef]);
81
+ return [ref, onChange];
82
+ };
83
+ export const getModalScrollerRef = () => (isSsr() ? undefined : document.querySelector(`[data-component="modal-body"]`));
@@ -0,0 +1,10 @@
1
+ export type TableContextProps = Partial<{
2
+ sticky: number;
3
+ }>;
4
+ export declare const TableProvider: import("react").Provider<Partial<{
5
+ sticky: number;
6
+ }>>;
7
+ export declare const useTable: () => Partial<{
8
+ sticky: number;
9
+ }>;
10
+ //# sourceMappingURL=table.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.context.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.context.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAI5D,eAAO,MAAM,aAAa;YAJwB,MAAM;GAIN,CAAC;AAEnD,eAAO,MAAM,QAAQ;YAN6B,MAAM;EAMF,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ const TableContext = createContext({});
4
+ export const TableProvider = TableContext.Provider;
5
+ export const useTable = () => useContext(TableContext);
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { Col, TableOperationProps } from "./table-lib";
3
+ type TableHeaderProps<T extends object> = {
4
+ loading: boolean;
5
+ headers: Col<T>[];
6
+ } & Pick<TableOperationProps<T>, "filters" | "setFilters" | "setCols" | "setSorters" | "sorters" | "inlineSorter" | "inlineFilter">;
7
+ export declare const TableHeader: <T extends object>(props: TableHeaderProps<T>) => React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=thead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/components/table/thead.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAM7D,OAAO,EAAE,GAAG,EAAY,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAIlF,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CACrB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC;AAmKpI,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,sBAuBvE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { t as e } from "../../thead-B6WELJZ-.js";
3
+ export { e as TableHeader };