@tsed/react-formio 3.0.0-alpha.8 → 3.0.0-rc.1

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 (447) hide show
  1. package/dist/all.d.ts +0 -0
  2. package/dist/all.js +38 -0
  3. package/dist/all.js.map +1 -0
  4. package/dist/atoms/icon/Icon.d.ts +4 -3
  5. package/dist/atoms/icon/Icon.js +9 -8
  6. package/dist/atoms/icon/Icon.js.map +1 -1
  7. package/dist/chunks/_commonjsHelpers.js +30 -3
  8. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  9. package/dist/chunks/index.js +33 -30
  10. package/dist/chunks/index.js.map +1 -1
  11. package/dist/chunks/index.module.js +16 -16
  12. package/dist/chunks/index.module.js.map +1 -1
  13. package/dist/chunks/index2.js +56953 -0
  14. package/dist/chunks/index2.js.map +1 -0
  15. package/dist/chunks/react-select-animated.esm.js +3616 -0
  16. package/dist/chunks/react-select-animated.esm.js.map +1 -0
  17. package/dist/contexts/FormioContext.d.ts +19 -0
  18. package/dist/contexts/FormioContext.js +35 -0
  19. package/dist/contexts/FormioContext.js.map +1 -0
  20. package/dist/hooks/keyboard.constants.d.ts +38 -0
  21. package/dist/hooks/keyboard.constants.js +7 -0
  22. package/dist/hooks/keyboard.constants.js.map +1 -0
  23. package/dist/hooks/useFormioContext.d.ts +10 -0
  24. package/dist/hooks/useFormioContext.js +12 -0
  25. package/dist/hooks/useFormioContext.js.map +1 -0
  26. package/dist/hooks/useI18n.d.ts +4 -0
  27. package/dist/hooks/useI18n.js +9 -0
  28. package/dist/hooks/useI18n.js.map +1 -0
  29. package/dist/hooks/useKeyboardControls.d.ts +12 -0
  30. package/dist/hooks/useKeyboardControls.js +35 -0
  31. package/dist/hooks/useKeyboardControls.js.map +1 -0
  32. package/dist/hooks/useTooltip.js.map +1 -1
  33. package/dist/index.d.ts +1 -6
  34. package/dist/index.js +18 -13
  35. package/dist/index.js.map +1 -1
  36. package/dist/interfaces/ComponentType.d.ts +6 -2
  37. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  38. package/dist/interfaces/FormBuilderOptions.js +2 -0
  39. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  40. package/dist/interfaces/FormOptions.d.ts +6 -13
  41. package/dist/interfaces/FormType.d.ts +4 -11
  42. package/dist/interfaces/Operation.d.ts +13 -4
  43. package/dist/interfaces/SubmissionType.d.ts +5 -10
  44. package/dist/interfaces/index.d.ts +1 -0
  45. package/dist/molecules/alert/Alert.js.map +1 -1
  46. package/dist/molecules/button/Button.d.ts +18 -5
  47. package/dist/molecules/button/Button.js +24 -28
  48. package/dist/molecules/button/Button.js.map +1 -1
  49. package/dist/molecules/card/Card.js +9 -7
  50. package/dist/molecules/card/Card.js.map +1 -1
  51. package/dist/molecules/forms/form-control/FormControl.d.ts +14 -12
  52. package/dist/molecules/forms/form-control/FormControl.js +46 -22
  53. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  54. package/dist/molecules/forms/input-tags/InputTags.d.ts +2 -8
  55. package/dist/molecules/forms/input-tags/InputTags.interface.d.ts +7 -0
  56. package/dist/molecules/forms/input-tags/InputTags.interface.js +2 -0
  57. package/dist/molecules/forms/input-tags/InputTags.interface.js.map +1 -0
  58. package/dist/molecules/forms/input-tags/InputTags.js +21 -27
  59. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  60. package/dist/molecules/forms/input-tags/all.d.ts +2 -0
  61. package/dist/molecules/forms/input-tags/all.js +9 -0
  62. package/dist/molecules/forms/input-tags/all.js.map +1 -0
  63. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +307 -0
  64. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +51 -0
  65. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -0
  66. package/dist/molecules/forms/input-tags/components/ReactTags.d.ts +2 -0
  67. package/dist/molecules/forms/input-tags/components/ReactTags.js +1926 -0
  68. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -0
  69. package/dist/molecules/forms/input-text/InputText.d.ts +2 -14
  70. package/dist/molecules/forms/input-text/InputText.interface.d.ts +4 -0
  71. package/dist/molecules/forms/input-text/InputText.interface.js +2 -0
  72. package/dist/molecules/forms/input-text/InputText.interface.js.map +1 -0
  73. package/dist/molecules/forms/input-text/InputText.js +46 -56
  74. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  75. package/dist/molecules/forms/select/Select.d.ts +1 -1
  76. package/dist/molecules/forms/select/{Select.interfaces.d.ts → Select.interface.d.ts} +8 -10
  77. package/dist/molecules/forms/select/Select.interface.js +2 -0
  78. package/dist/molecules/forms/select/Select.interface.js.map +1 -0
  79. package/dist/molecules/forms/select/Select.js +9 -10
  80. package/dist/molecules/forms/select/Select.js.map +1 -1
  81. package/dist/molecules/forms/select/all.d.ts +1 -1
  82. package/dist/molecules/forms/select/all.js +1 -0
  83. package/dist/molecules/forms/select/all.js.map +1 -1
  84. package/dist/molecules/forms/select/components/ChoicesSelect.d.ts +1 -1
  85. package/dist/molecules/forms/select/components/ChoicesSelect.js +72 -83
  86. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  87. package/dist/molecules/forms/select/components/HtmlSelect.d.ts +1 -1
  88. package/dist/molecules/forms/select/components/HtmlSelect.js +17 -16
  89. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  90. package/dist/molecules/forms/select/components/ReactSelect.d.ts +1 -1
  91. package/dist/molecules/forms/select/components/ReactSelect.js +28 -3034
  92. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  93. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  94. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  95. package/dist/molecules/forms/select/hooks/useOptions.d.ts +3 -3
  96. package/dist/molecules/forms/select/hooks/useOptions.js +15 -15
  97. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  98. package/dist/molecules/loader/Loader.d.ts +4 -4
  99. package/dist/molecules/loader/Loader.js +16 -8
  100. package/dist/molecules/loader/Loader.js.map +1 -1
  101. package/dist/molecules/modal/Modal.js +23 -24
  102. package/dist/molecules/modal/Modal.js.map +1 -1
  103. package/dist/molecules/pagination/Pagination.d.ts +7 -6
  104. package/dist/molecules/pagination/Pagination.js +48 -57
  105. package/dist/molecules/pagination/Pagination.js.map +1 -1
  106. package/dist/molecules/pagination/PaginationButton.js +10 -10
  107. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  108. package/dist/molecules/pagination/all.js +5 -4
  109. package/dist/molecules/pagination/all.js.map +1 -1
  110. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -0
  111. package/dist/molecules/table/Table.d.ts +16 -2
  112. package/dist/molecules/table/Table.js +53 -77
  113. package/dist/molecules/table/Table.js.map +1 -1
  114. package/dist/molecules/table/all.d.ts +0 -0
  115. package/dist/molecules/table/all.js +19 -0
  116. package/dist/molecules/table/all.js.map +1 -0
  117. package/dist/molecules/table/components/DefaultArrowSort.d.ts +5 -1
  118. package/dist/molecules/table/components/DefaultArrowSort.js +17 -5
  119. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  120. package/dist/molecules/table/components/DefaultCell.d.ts +5 -1
  121. package/dist/molecules/table/components/DefaultCell.js +8 -6
  122. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  123. package/dist/molecules/table/components/DefaultCellFooter.d.ts +6 -0
  124. package/dist/molecules/table/components/DefaultCellFooter.js +12 -0
  125. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -0
  126. package/dist/molecules/table/components/DefaultCellHeader.d.ts +5 -8
  127. package/dist/molecules/table/components/DefaultCellHeader.js +25 -9
  128. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  129. package/dist/molecules/table/components/DefaultCellOperations.d.ts +16 -10
  130. package/dist/molecules/table/components/DefaultCellOperations.js +23 -14
  131. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  132. package/dist/molecules/table/components/DefaultFilter.d.ts +11 -0
  133. package/dist/molecules/table/components/DefaultFilter.js +15 -0
  134. package/dist/molecules/table/components/DefaultFilter.js.map +1 -0
  135. package/dist/molecules/table/components/DefaultOperationButton.d.ts +16 -12
  136. package/dist/molecules/table/components/DefaultOperationButton.js +16 -31
  137. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  138. package/dist/molecules/table/filters/Filters.d.js +2 -0
  139. package/dist/molecules/table/filters/Filters.d.js.map +1 -0
  140. package/dist/molecules/table/filters/RangeFilter.d.ts +3 -0
  141. package/dist/molecules/table/filters/RangeFilter.js +41 -0
  142. package/dist/molecules/table/filters/RangeFilter.js.map +1 -0
  143. package/dist/molecules/table/filters/SelectFilter.d.ts +3 -0
  144. package/dist/molecules/table/filters/SelectFilter.js +33 -0
  145. package/dist/molecules/table/filters/SelectFilter.js.map +1 -0
  146. package/dist/molecules/table/filters/TextFieldFilter.d.ts +3 -0
  147. package/dist/molecules/table/filters/TextFieldFilter.js +27 -0
  148. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -0
  149. package/dist/molecules/table/hooks/useTable.d.ts +23 -0
  150. package/dist/molecules/table/hooks/useTable.js +35 -0
  151. package/dist/molecules/table/hooks/useTable.js.map +1 -0
  152. package/dist/molecules/table/hooks/useUniqValues.d.ts +5 -0
  153. package/dist/molecules/table/hooks/useUniqValues.js +11 -0
  154. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -0
  155. package/dist/molecules/table/interfaces/extends.d.ts +14 -0
  156. package/dist/molecules/table/interfaces/extends.js +2 -0
  157. package/dist/molecules/table/interfaces/extends.js.map +1 -0
  158. package/dist/molecules/table/utils/mapFormToColumns.d.ts +2 -2
  159. package/dist/molecules/table/utils/mapFormToColumns.js +34 -18
  160. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  161. package/dist/molecules/tabs/Tab.d.ts +13 -0
  162. package/dist/molecules/tabs/Tab.js +66 -0
  163. package/dist/molecules/tabs/Tab.js.map +1 -0
  164. package/dist/molecules/tabs/TabList.d.ts +2 -0
  165. package/dist/molecules/tabs/TabList.js +23 -0
  166. package/dist/molecules/tabs/TabList.js.map +1 -0
  167. package/dist/molecules/tabs/TabPanel.d.ts +9 -0
  168. package/dist/molecules/tabs/TabPanel.js +27 -0
  169. package/dist/molecules/tabs/TabPanel.js.map +1 -0
  170. package/dist/molecules/tabs/Tabs.d.ts +4 -16
  171. package/dist/molecules/tabs/Tabs.js +7 -67
  172. package/dist/molecules/tabs/Tabs.js.map +1 -1
  173. package/dist/molecules/tabs/TabsBody.d.ts +1 -0
  174. package/dist/molecules/tabs/TabsBody.js +10 -0
  175. package/dist/molecules/tabs/TabsBody.js.map +1 -0
  176. package/dist/molecules/tabs/TabsLegacy.d.ts +18 -0
  177. package/dist/molecules/tabs/TabsLegacy.js +49 -0
  178. package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
  179. package/dist/molecules/tabs/all.d.ts +5 -0
  180. package/dist/molecules/tabs/all.js +13 -0
  181. package/dist/molecules/tabs/all.js.map +1 -0
  182. package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
  183. package/dist/molecules/tabs/context/TabControl.js +85 -0
  184. package/dist/molecules/tabs/context/TabControl.js.map +1 -0
  185. package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
  186. package/dist/molecules/tabs/hooks/tabControl.js +34 -0
  187. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
  188. package/dist/organisms/form/Form.js.map +1 -1
  189. package/dist/organisms/form/access/FormAccess.js +41 -41
  190. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  191. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  192. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  193. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  194. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  195. package/dist/organisms/form/actions/FormAction.js +34 -0
  196. package/dist/organisms/form/actions/FormAction.js.map +1 -0
  197. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  198. package/dist/organisms/form/builder/FormEdit.d.ts +7 -3
  199. package/dist/organisms/form/builder/FormEdit.js +46 -42
  200. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  201. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  202. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  203. package/dist/organisms/form/builder/FormEditCtas.js +36 -35
  204. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  205. package/dist/organisms/form/builder/FormParameters.d.ts +3 -2
  206. package/dist/organisms/form/builder/FormParameters.js +19 -18
  207. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  208. package/dist/organisms/form/builder/all.js +17 -13
  209. package/dist/organisms/form/builder/all.js.map +1 -1
  210. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  211. package/dist/organisms/form/builder/useFormBuilder.js +36 -33
  212. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  213. package/dist/organisms/form/builder/useFormEdit.d.ts +2 -2
  214. package/dist/organisms/form/builder/useFormEdit.js +1 -1
  215. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  216. package/dist/organisms/form/exports/FormExport.d.ts +6 -0
  217. package/dist/organisms/form/exports/FormExport.js +56 -0
  218. package/dist/organisms/form/exports/FormExport.js.map +1 -0
  219. package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
  220. package/dist/organisms/form/preview/FormPreview.js +12 -0
  221. package/dist/organisms/form/preview/FormPreview.js.map +1 -0
  222. package/dist/organisms/form/settings/FormSettings.js +28 -28
  223. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  224. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  225. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  226. package/dist/organisms/form/useForm.d.ts +2 -1
  227. package/dist/organisms/form/useForm.js +664 -661
  228. package/dist/organisms/form/useForm.js.map +1 -1
  229. package/dist/organisms/modal/RemoveModal.js +16 -17
  230. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  231. package/dist/organisms/table/actions/ActionsTable.d.ts +4 -3
  232. package/dist/organisms/table/actions/ActionsTable.js +21 -33
  233. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  234. package/dist/organisms/table/forms/FormsTable.d.ts +2 -3
  235. package/dist/organisms/table/forms/FormsTable.js +48 -27
  236. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  237. package/dist/organisms/table/forms/components/FormsCell.d.ts +5 -0
  238. package/dist/organisms/table/forms/components/FormsCell.js +50 -0
  239. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -0
  240. package/dist/organisms/table/submissions/SubmissionsTable.d.ts +12 -4
  241. package/dist/organisms/table/submissions/SubmissionsTable.js +10 -17
  242. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  243. package/dist/organisms/views/FormViews.d.ts +24 -0
  244. package/dist/organisms/views/FormViews.js +97 -0
  245. package/dist/organisms/views/FormViews.js.map +1 -0
  246. package/dist/registries/components.js +12 -11
  247. package/dist/registries/components.js.map +1 -1
  248. package/dist/utils/getEventValue.js.map +1 -1
  249. package/dist/utils/iconClass.js +4 -5
  250. package/dist/utils/iconClass.js.map +1 -1
  251. package/dist/utils/mapPagination.js.map +1 -1
  252. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  253. package/package.json +10 -8
  254. package/readme.md +7 -8
  255. package/src/all.ts +34 -0
  256. package/src/atoms/icon/Icon.stories.tsx +71 -22
  257. package/src/atoms/icon/Icon.tsx +14 -4
  258. package/src/contexts/FormioContext.tsx +89 -0
  259. package/src/hooks/keyboard.constants.ts +40 -0
  260. package/src/hooks/useFormioContext.ts +13 -0
  261. package/src/hooks/useI18n.ts +9 -0
  262. package/src/hooks/useKeyboardControls.spec.tsx +208 -0
  263. package/src/hooks/useKeyboardControls.ts +84 -0
  264. package/src/index.ts +17 -13
  265. package/src/interfaces/ComponentType.ts +2 -2
  266. package/src/interfaces/FormBuilderOptions.ts +9 -0
  267. package/src/interfaces/FormOptions.ts +7 -13
  268. package/src/interfaces/FormType.ts +5 -11
  269. package/src/interfaces/Operation.ts +10 -4
  270. package/src/interfaces/SubmissionType.ts +9 -8
  271. package/src/interfaces/index.ts +1 -0
  272. package/src/molecules/__fixtures__/build.js +28 -0
  273. package/src/molecules/__fixtures__/form-schema.json +76 -195
  274. package/src/molecules/__fixtures__/form-submissions.json +11846 -46
  275. package/src/molecules/__fixtures__/products.json +81539 -0
  276. package/src/molecules/button/Button.stories.tsx +1 -1
  277. package/src/molecules/button/Button.tsx +43 -24
  278. package/src/molecules/card/Card.tsx +4 -0
  279. package/src/molecules/forms/form-control/FormControl.spec.tsx +7 -4
  280. package/src/molecules/forms/form-control/FormControl.stories.tsx +4 -4
  281. package/src/molecules/forms/form-control/FormControl.tsx +46 -20
  282. package/src/molecules/forms/input-tags/InputTags.interface.ts +9 -0
  283. package/src/molecules/forms/input-tags/InputTags.tsx +20 -42
  284. package/src/molecules/forms/input-tags/all.ts +6 -0
  285. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +110 -0
  286. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +72 -0
  287. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +140 -0
  288. package/src/molecules/forms/input-tags/components/ReactTags.tsx +38 -0
  289. package/src/molecules/forms/input-text/InputText.interface.ts +5 -0
  290. package/src/molecules/forms/input-text/InputText.spec.tsx +1 -1
  291. package/src/molecules/forms/input-text/InputText.stories.tsx +4 -4
  292. package/src/molecules/forms/input-text/InputText.tsx +38 -53
  293. package/src/molecules/forms/select/{Select.interfaces.ts → Select.interface.ts} +8 -10
  294. package/src/molecules/forms/select/Select.tsx +5 -3
  295. package/src/molecules/forms/select/all.ts +2 -1
  296. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +8 -7
  297. package/src/molecules/forms/select/components/ChoicesSelect.tsx +9 -18
  298. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +7 -7
  299. package/src/molecules/forms/select/components/HtmlSelect.tsx +3 -2
  300. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +10 -8
  301. package/src/molecules/forms/select/components/ReactSelect.tsx +1 -1
  302. package/src/molecules/forms/select/hooks/useOptions.ts +6 -2
  303. package/src/molecules/loader/Loader.spec.tsx +2 -2
  304. package/src/molecules/loader/Loader.stories.tsx +7 -4
  305. package/src/molecules/loader/Loader.tsx +16 -6
  306. package/src/molecules/modal/Modal.stories.tsx +1 -1
  307. package/src/molecules/pagination/Pagination.spec.tsx +11 -11
  308. package/src/molecules/pagination/Pagination.stories.tsx +32 -10
  309. package/src/molecules/pagination/Pagination.tsx +29 -26
  310. package/src/molecules/table/Table.stories.tsx +284 -101
  311. package/src/molecules/table/Table.tsx +91 -86
  312. package/src/molecules/table/all.ts +16 -0
  313. package/src/molecules/table/components/DefaultArrowSort.tsx +20 -4
  314. package/src/molecules/table/components/DefaultCell.tsx +10 -1
  315. package/src/molecules/table/components/DefaultCellFooter.tsx +16 -0
  316. package/src/molecules/table/components/DefaultCellHeader.tsx +33 -13
  317. package/src/molecules/table/components/DefaultCellOperations.tsx +31 -20
  318. package/src/molecules/table/components/DefaultFilter.tsx +42 -0
  319. package/src/molecules/table/components/DefaultOperationButton.tsx +19 -34
  320. package/src/molecules/table/filters/Filters.d.ts +31 -0
  321. package/src/molecules/table/filters/RangeFilter.tsx +43 -0
  322. package/src/molecules/table/filters/SelectFilter.tsx +47 -0
  323. package/src/molecules/table/filters/TextFieldFilter.tsx +36 -0
  324. package/src/molecules/table/hooks/useTable.tsx +76 -0
  325. package/src/molecules/table/hooks/useUniqValues.tsx +10 -0
  326. package/src/molecules/table/interfaces/extends.ts +18 -0
  327. package/src/molecules/table/utils/mapFormToColumns.tsx +69 -26
  328. package/src/molecules/tabs/Tab.tsx +106 -0
  329. package/src/molecules/tabs/TabList.tsx +37 -0
  330. package/src/molecules/tabs/TabPanel.tsx +37 -0
  331. package/src/molecules/tabs/Tabs.spec.tsx +126 -73
  332. package/src/molecules/tabs/Tabs.stories.tsx +298 -65
  333. package/src/molecules/tabs/Tabs.tsx +10 -81
  334. package/src/molecules/tabs/TabsBody.tsx +11 -0
  335. package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
  336. package/src/molecules/tabs/TabsLegacy.tsx +86 -0
  337. package/src/molecules/tabs/all.ts +5 -0
  338. package/src/molecules/tabs/context/TabControl.tsx +166 -0
  339. package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
  340. package/src/molecules/tabs/hooks/tabControl.ts +52 -0
  341. package/src/organisms/__fixtures__/form-firstname.fixture.json +1 -0
  342. package/src/organisms/__fixtures__/form.fixture.json +1 -0
  343. package/src/organisms/form/Form.stories.tsx +104 -124
  344. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  345. package/src/organisms/form/access/FormAccess.stories.tsx +6 -4
  346. package/src/organisms/form/actions/FormAction.stories.tsx +426 -0
  347. package/src/organisms/form/{action → actions}/FormAction.tsx +2 -2
  348. package/src/organisms/form/builder/FormBuilder.stories.tsx +7 -4
  349. package/src/organisms/form/builder/FormEdit.reducer.spec.ts +136 -0
  350. package/src/organisms/form/builder/FormEdit.stories.tsx +16 -13
  351. package/src/organisms/form/builder/FormEdit.tsx +15 -7
  352. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  353. package/src/organisms/form/builder/FormParameters.tsx +8 -4
  354. package/src/organisms/form/builder/all.ts +4 -0
  355. package/src/organisms/form/builder/useFormBuilder.ts +12 -7
  356. package/src/organisms/form/builder/useFormEdit.ts +3 -3
  357. package/src/organisms/form/exports/FormExport.stories.tsx +68 -0
  358. package/src/organisms/form/exports/FormExport.tsx +61 -0
  359. package/src/organisms/form/preview/FormPreview.stories.tsx +58 -0
  360. package/src/organisms/form/preview/FormPreview.tsx +23 -0
  361. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  362. package/src/organisms/form/settings/FormSettings.stories.tsx +2 -2
  363. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  364. package/src/organisms/form/useForm.ts +2 -3
  365. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  366. package/src/organisms/table/actions/ActionsTable.spec.tsx +7 -5
  367. package/src/organisms/table/actions/ActionsTable.stories.tsx +48 -45
  368. package/src/organisms/table/actions/ActionsTable.tsx +14 -18
  369. package/src/organisms/table/forms/FormsTable.stories.tsx +2 -0
  370. package/src/organisms/table/forms/FormsTable.tsx +53 -23
  371. package/src/organisms/table/forms/components/FormsCell.tsx +53 -0
  372. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +101 -57
  373. package/src/organisms/table/submissions/SubmissionsTable.tsx +12 -5
  374. package/src/organisms/views/FormViews.stories.tsx +221 -0
  375. package/src/organisms/views/FormViews.tsx +148 -0
  376. package/src/registries/components.ts +7 -1
  377. package/src/utils/iconClass.ts +1 -3
  378. package/vite.config.mts +2 -2
  379. package/dist/molecules/forms/select/Select.interfaces.js +0 -2
  380. package/dist/molecules/forms/select/Select.interfaces.js.map +0 -1
  381. package/dist/molecules/table/components/DefaultCells.d.ts +0 -4
  382. package/dist/molecules/table/components/DefaultCells.js +0 -23
  383. package/dist/molecules/table/components/DefaultCells.js.map +0 -1
  384. package/dist/molecules/table/components/DefaultRow.d.ts +0 -12
  385. package/dist/molecules/table/components/DefaultRow.js +0 -26
  386. package/dist/molecules/table/components/DefaultRow.js.map +0 -1
  387. package/dist/molecules/table/components/DragNDropContainer.d.ts +0 -4
  388. package/dist/molecules/table/components/DragNDropContainer.js +0 -10
  389. package/dist/molecules/table/components/DragNDropContainer.js.map +0 -1
  390. package/dist/molecules/table/filters/DefaultColumnFilter.d.ts +0 -10
  391. package/dist/molecules/table/filters/DefaultColumnFilter.js +0 -29
  392. package/dist/molecules/table/filters/DefaultColumnFilter.js.map +0 -1
  393. package/dist/molecules/table/filters/SelectColumnFilter.d.ts +0 -10
  394. package/dist/molecules/table/filters/SelectColumnFilter.js +0 -34
  395. package/dist/molecules/table/filters/SelectColumnFilter.js.map +0 -1
  396. package/dist/molecules/table/filters/SliderColumnFilter.d.ts +0 -9
  397. package/dist/molecules/table/filters/SliderColumnFilter.js +0 -27
  398. package/dist/molecules/table/filters/SliderColumnFilter.js.map +0 -1
  399. package/dist/molecules/table/hooks/useCustomTable.d.ts +0 -128
  400. package/dist/molecules/table/hooks/useCustomTable.js +0 -130
  401. package/dist/molecules/table/hooks/useCustomTable.js.map +0 -1
  402. package/dist/molecules/table/hooks/useDragnDropRow.d.ts +0 -272
  403. package/dist/molecules/table/hooks/useDragnDropRow.js +0 -40
  404. package/dist/molecules/table/hooks/useDragnDropRow.js.map +0 -1
  405. package/dist/molecules/table/hooks/useOperations.d.ts +0 -11
  406. package/dist/molecules/table/hooks/useOperations.js +0 -25
  407. package/dist/molecules/table/hooks/useOperations.js.map +0 -1
  408. package/dist/molecules/table/index.d.ts +0 -15
  409. package/dist/molecules/table/index.js +0 -35
  410. package/dist/molecules/table/index.js.map +0 -1
  411. package/dist/molecules/table/utils/getPageNumbers.js.map +0 -1
  412. package/dist/molecules/table/utils/swapElements.d.ts +0 -1
  413. package/dist/molecules/table/utils/swapElements.js +0 -5
  414. package/dist/molecules/table/utils/swapElements.js.map +0 -1
  415. package/dist/organisms/form/action/FormAction.js +0 -32
  416. package/dist/organisms/form/action/FormAction.js.map +0 -1
  417. package/dist/organisms/table/forms/components/FormCell.d.ts +0 -6
  418. package/dist/organisms/table/forms/components/FormCell.js +0 -50
  419. package/dist/organisms/table/forms/components/FormCell.js.map +0 -1
  420. package/dist/typings.d.js +0 -2
  421. package/dist/typings.d.js.map +0 -1
  422. package/src/molecules/forms/input-tags/InputTags.stories.tsx +0 -81
  423. package/src/molecules/table/components/DefaultCells.tsx +0 -30
  424. package/src/molecules/table/components/DefaultRow.tsx +0 -52
  425. package/src/molecules/table/components/DragNDropContainer.tsx +0 -7
  426. package/src/molecules/table/filters/DefaultColumnFilter.spec.tsx +0 -33
  427. package/src/molecules/table/filters/DefaultColumnFilter.tsx +0 -38
  428. package/src/molecules/table/filters/SelectColumnFilter.spec.tsx +0 -68
  429. package/src/molecules/table/filters/SelectColumnFilter.tsx +0 -51
  430. package/src/molecules/table/filters/SliderColumnFilter.tsx +0 -28
  431. package/src/molecules/table/hooks/useCustomTable.tsx +0 -268
  432. package/src/molecules/table/hooks/useDragnDropRow.ts +0 -80
  433. package/src/molecules/table/hooks/useOperations.tsx +0 -39
  434. package/src/molecules/table/index.ts +0 -15
  435. package/src/molecules/table/utils/swapElements.spec.ts +0 -7
  436. package/src/molecules/table/utils/swapElements.ts +0 -7
  437. package/src/organisms/form/action/FormAction.stories.tsx +0 -364
  438. package/src/organisms/table/forms/components/FormCell.tsx +0 -47
  439. package/src/typings.d.ts +0 -3
  440. package/tsconfig.app.json +0 -11
  441. package/tsconfig.json +0 -21
  442. package/tsconfig.node.json +0 -13
  443. package/tsconfig.spec.json +0 -14
  444. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.d.ts +0 -0
  445. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.js +0 -0
  446. /package/dist/organisms/form/{action → actions}/FormAction.d.ts +0 -0
  447. /package/src/molecules/{table → pagination}/utils/getPageNumbers.ts +0 -0
@@ -1,27 +0,0 @@
1
- import { jsxs as v, Fragment as c, jsx as e } from "react/jsx-runtime";
2
- function f({
3
- column: { filterValue: h, setFilter: m, preFilteredRows: a, id: t }
4
- }) {
5
- let l = a.length ? a[0].values[t] : 0, u = a.length ? a[0].values[t] : 0;
6
- return a.forEach((n) => {
7
- l = Math.min(n == null ? void 0 : n.values[t], l), u = Math.max(n == null ? void 0 : n.values[t], u);
8
- }), /* @__PURE__ */ v(c, { children: [
9
- /* @__PURE__ */ e(
10
- "input",
11
- {
12
- type: "range",
13
- min: l,
14
- max: u,
15
- value: h || l,
16
- onChange: (n) => {
17
- m(parseInt(n.target.value, 10));
18
- }
19
- }
20
- ),
21
- /* @__PURE__ */ e("button", { onClick: () => m(void 0), children: "Off" })
22
- ] });
23
- }
24
- export {
25
- f as SliderColumnFilter
26
- };
27
- //# sourceMappingURL=SliderColumnFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SliderColumnFilter.js","sources":["../../../../src/molecules/table/filters/SliderColumnFilter.tsx"],"sourcesContent":["import type { FilterProps } from \"react-table\";\n\nexport function SliderColumnFilter<D extends Record<string, unknown> = {}>({\n column: { filterValue, setFilter, preFilteredRows, id }\n}: FilterProps<D> & { column: { filterValue: any; setFilter: any; preFilteredRows: any[]; id: string } }) {\n let min = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;\n let max = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;\n\n preFilteredRows.forEach((row) => {\n min = Math.min(row?.values[id], min);\n max = Math.max(row?.values[id], max);\n });\n\n return (\n <>\n <input\n type='range'\n min={min}\n max={max}\n value={filterValue || min}\n onChange={(e) => {\n setFilter(parseInt(e.target.value, 10));\n }}\n />\n <button onClick={() => setFilter(undefined)}>Off</button>\n </>\n );\n}\n"],"names":["SliderColumnFilter","filterValue","setFilter","preFilteredRows","id","min","max","row","jsxs","Fragment","jsx","e"],"mappings":";AAEO,SAASA,EAA2D;AAAA,EACzE,QAAQ,EAAE,aAAAC,GAAa,WAAAC,GAAW,iBAAAC,GAAiB,IAAAC,EAAG;AACxD,GAA0G;AACpG,MAAAC,IAAMF,EAAgB,SAASA,EAAgB,CAAC,EAAE,OAAOC,CAAE,IAAI,GAC/DE,IAAMH,EAAgB,SAASA,EAAgB,CAAC,EAAE,OAAOC,CAAE,IAAI;AAEnD,SAAAD,EAAA,QAAQ,CAACI,MAAQ;AAC/B,IAAAF,IAAM,KAAK,IAAIE,KAAA,gBAAAA,EAAK,OAAOH,IAAKC,CAAG,GACnCC,IAAM,KAAK,IAAIC,KAAA,gBAAAA,EAAK,OAAOH,IAAKE,CAAG;AAAA,EAAA,CACpC,GAIG,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAL;AAAA,QACA,KAAAC;AAAA,QACA,OAAOL,KAAeI;AAAA,QACtB,UAAU,CAACM,MAAM;AACf,UAAAT,EAAU,SAASS,EAAE,OAAO,OAAO,EAAE,CAAC;AAAA,QAAA;AAAA,MACxC;AAAA,IACF;AAAA,sBACC,UAAO,EAAA,SAAS,MAAMT,EAAU,MAAS,GAAG,UAAG,MAAA,CAAA;AAAA,EAAA,GAClD;AAEJ;"}
@@ -1,128 +0,0 @@
1
- import { ComponentType, CSSProperties, PropsWithChildren } from 'react';
2
- import { Cell, CellProps, Column, FilterProps, Renderer, TableOptions } from 'react-table';
3
- import { OnClickOperation, Operation, QueryOptions } from '../../../interfaces';
4
- import { Pagination as DefaultPagination } from '../../../molecules/pagination/Pagination';
5
- import { DefaultCellHeaderProps } from '../components/DefaultCellHeader';
6
- import { DefaultRow, DefaultRowProps } from '../components/DefaultRow';
7
- export interface ExtraColumnProps {
8
- colspan?: number;
9
- hidden?: boolean;
10
- className?: string;
11
- style?: CSSProperties;
12
- }
13
- export type ExtendedColumn<Data extends object = any> = Column<Data> & ExtraColumnProps;
14
- export type ExtendedCell<Data extends object = any> = Cell<Data, any> & {
15
- column: ExtraColumnProps;
16
- };
17
- export interface TableProps<Data extends object = any> extends TableOptions<Data>, Partial<QueryOptions> {
18
- /**
19
- * extended columns interface
20
- */
21
- columns: ReadonlyArray<ExtendedColumn<Data>>;
22
- className?: string;
23
- /**
24
- * Call the listener when a filter / pagination / sort change.
25
- */
26
- onChange?: (query: QueryOptions) => void;
27
- /**
28
- * Call the listener when a line is clicked.
29
- */
30
- onClick?: OnClickOperation<Data>;
31
- /**
32
- * Pagination steps list
33
- */
34
- pageSizes?: number[];
35
- /**
36
- * Total length of the data
37
- */
38
- totalLength?: number;
39
- /**
40
- *
41
- */
42
- isLoading?: boolean;
43
- /**
44
- * Custom EmptyData displayed when there is no data
45
- */
46
- EmptyData?: ComponentType;
47
- /**
48
- * Custom ArrowSort
49
- */
50
- ArrowSort?: ComponentType;
51
- /**
52
- * Custom default ColumnFilter
53
- */
54
- ColumnFilter?: Renderer<FilterProps<Data>>;
55
- /**
56
- * Custom cell
57
- */
58
- Cell?: ComponentType<CellProps<Data>>;
59
- /**
60
- * Custom Row
61
- */
62
- Row?: ComponentType<DefaultRowProps<Data>>;
63
- /**
64
- *
65
- */
66
- CellHeader?: ComponentType<DefaultCellHeaderProps<Data>>;
67
- /**
68
- *
69
- */
70
- CellOperations?: ComponentType<any>;
71
- /**
72
- * Custom Loader
73
- */
74
- Loader?: ComponentType<any>;
75
- /**
76
- * Custom Loader
77
- */
78
- Pagination?: ComponentType<any>;
79
- /**
80
- * Disable filters
81
- */
82
- disableFilters?: boolean;
83
- /**
84
- * Disable pagination
85
- */
86
- disablePagination?: boolean;
87
- manualPagination?: boolean;
88
- manualSortBy?: boolean;
89
- manualFilters?: boolean;
90
- /**
91
- * Configuration operation for each line.
92
- */
93
- operations?: Operation[];
94
- i18n?: (f: string) => string;
95
- /**
96
- * Enable drag and drop rows
97
- */
98
- enableDragNDrop?: boolean;
99
- onDrag?: (data: Data[]) => void;
100
- onDrop?: (item: Data) => void;
101
- }
102
- export declare function getOperationCallback(operations: Operation[], onClick: OnClickOperation): (data: any, action: string) => void;
103
- declare function DefaultLoader(): import("react/jsx-runtime").JSX.Element;
104
- declare function DefaultEmptyData(): import("react/jsx-runtime").JSX.Element;
105
- export declare function useCustomTable<Data extends object = {}>(props: PropsWithChildren<TableProps<Data>>): {
106
- className: string;
107
- tableInstance: import('react-table').TableInstance<Data>;
108
- CellHeader: any;
109
- isLoading: boolean | undefined;
110
- Loader: ComponentType<any> | typeof DefaultLoader;
111
- EmptyData: ComponentType | typeof DefaultEmptyData;
112
- Row: ComponentType<DefaultRowProps<Data>> | typeof DefaultRow;
113
- data: readonly Data[];
114
- disablePagination: boolean | undefined;
115
- Pagination: ComponentType<any> | typeof DefaultPagination;
116
- pageIndex: any;
117
- pageSize: any;
118
- pageSizes: number[];
119
- totalLength: number | undefined;
120
- setPageSize: any;
121
- i18n: (f: string) => string;
122
- children: import('react').ReactNode;
123
- onClick: any;
124
- onDrag: (dragIndex: number, hoverIndex: number) => void;
125
- onDrop: (...args: any[]) => void;
126
- enableDragNDrop: boolean | undefined;
127
- };
128
- export {};
@@ -1,130 +0,0 @@
1
- import { jsx as y } from "react/jsx-runtime";
2
- import n from "lodash/noop";
3
- import { useState as b, useEffect as F } from "react";
4
- import { useTable as W, useFilters as X, useGroupBy as Y, useSortBy as Z, usePagination as tt } from "react-table";
5
- import { Pagination as et } from "../../pagination/Pagination.js";
6
- import { DefaultArrowSort as ot } from "../components/DefaultArrowSort.js";
7
- import { DefaultCellHeader as at } from "../components/DefaultCellHeader.js";
8
- import { DefaultRow as nt } from "../components/DefaultRow.js";
9
- import { DefaultColumnFilter as it } from "../filters/DefaultColumnFilter.js";
10
- import { swapElements as rt } from "../utils/swapElements.js";
11
- import { useOperations as lt } from "./useOperations.js";
12
- function st(t, i) {
13
- return (r, a) => {
14
- const e = t.find((o) => o.action === a || o.alias === a);
15
- e && i(r, e);
16
- };
17
- }
18
- function ut() {
19
- return /* @__PURE__ */ y("div", { className: "text-center p-2 pb-4 font-bold", children: "Loading in progress" });
20
- }
21
- function mt() {
22
- return /* @__PURE__ */ y("div", { className: "text-center p-2 pb-4 font-bold", children: "No data found" });
23
- }
24
- const ct = [X, Y, Z, tt];
25
- function xt(t) {
26
- const {
27
- children: i,
28
- className: r = "",
29
- columns: a,
30
- data: e,
31
- onChange: o = n,
32
- onClick: x = n,
33
- onDrag: I = n,
34
- onDrop: B = n,
35
- operations: c = [],
36
- pageSizes: h = [10, 25, 50, 100],
37
- filters: k,
38
- filterId: w,
39
- pageSize: z,
40
- pageIndex: N,
41
- totalLength: v,
42
- sortBy: L,
43
- isLoading: E,
44
- disableFilters: R,
45
- disablePagination: O,
46
- ArrowSort: A = ot,
47
- ColumnFilter: H = it,
48
- EmptyData: T = mt,
49
- Loader: _ = ut,
50
- Pagination: j = et,
51
- Row: G = nt,
52
- CellHeader: $ = at,
53
- CellOperations: q,
54
- i18n: d = (m) => m,
55
- ...f
56
- } = t, g = st(c, x), J = {
57
- Filter: H,
58
- ArrowSort: A
59
- }, [l, K] = b(w), [M, p] = b(e);
60
- F(() => {
61
- p(e);
62
- }, [e]);
63
- const Q = (m, V) => {
64
- const P = rt([...M], m, V);
65
- p(P), I(P);
66
- }, D = W(
67
- {
68
- ...t,
69
- columns: a,
70
- data: e,
71
- ctx: f,
72
- defaultColumn: J,
73
- // getRowId,
74
- initialState: {
75
- ...t.initialState || {},
76
- filters: k || [],
77
- pageIndex: N || 0,
78
- pageSize: z || 10,
79
- sortBy: L || []
80
- },
81
- manualPagination: t.manualPagination === void 0 ? !0 : t.manualPagination,
82
- manualSortBy: t.manualSortBy === void 0 ? !0 : t.manualPagination,
83
- manualFilters: t.manualFilters === void 0 ? !0 : t.manualFilters,
84
- disableFilters: R,
85
- filterId: l,
86
- setFilterId: K
87
- },
88
- ...ct,
89
- lt({ operations: c, CellOperations: q, onClick: g, ctx: f, i18n: d })
90
- ), {
91
- setPageSize: U,
92
- state: { pageIndex: s, pageSize: u, sortBy: S, filters: C }
93
- } = D;
94
- return F(() => {
95
- o({
96
- pageIndex: s,
97
- pageSize: u,
98
- sortBy: S,
99
- filters: C,
100
- filterId: l
101
- });
102
- }, [o, s, u, S, C, l]), {
103
- className: r,
104
- tableInstance: D,
105
- CellHeader: $,
106
- isLoading: E,
107
- Loader: _,
108
- EmptyData: T,
109
- Row: G,
110
- data: e,
111
- disablePagination: O,
112
- Pagination: j,
113
- pageIndex: s,
114
- pageSize: u,
115
- pageSizes: h,
116
- totalLength: v,
117
- setPageSize: U,
118
- i18n: d,
119
- children: i,
120
- onClick: g,
121
- onDrag: Q,
122
- onDrop: B,
123
- enableDragNDrop: t.enableDragNDrop
124
- };
125
- }
126
- export {
127
- st as getOperationCallback,
128
- xt as useCustomTable
129
- };
130
- //# sourceMappingURL=useCustomTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCustomTable.js","sources":["../../../../src/molecules/table/hooks/useCustomTable.tsx"],"sourcesContent":["import noop from \"lodash/noop\";\nimport { ComponentType, CSSProperties, PropsWithChildren, useEffect, useState } from \"react\";\nimport {\n Cell,\n CellProps,\n Column,\n FilterProps,\n Renderer,\n TableOptions,\n useFilters,\n useGroupBy,\n usePagination,\n useSortBy,\n useTable\n} from \"react-table\";\n\nimport { OnClickOperation, Operation, QueryOptions } from \"../../../interfaces\";\nimport { Pagination as DefaultPagination } from \"../../../molecules/pagination/Pagination\";\nimport { DefaultArrowSort } from \"../components/DefaultArrowSort\";\nimport { DefaultCellHeader, DefaultCellHeaderProps } from \"../components/DefaultCellHeader\";\nimport { DefaultRow, DefaultRowProps } from \"../components/DefaultRow\";\nimport { DefaultColumnFilter } from \"../filters/DefaultColumnFilter\";\nimport { swapElements } from \"../utils/swapElements\";\nimport { useOperations } from \"./useOperations\";\n\nexport interface ExtraColumnProps {\n colspan?: number;\n hidden?: boolean;\n className?: string;\n style?: CSSProperties;\n}\n\nexport type ExtendedColumn<Data extends object = any> = Column<Data> & ExtraColumnProps;\n\nexport type ExtendedCell<Data extends object = any> = Cell<Data, any> & {\n column: ExtraColumnProps;\n};\n\nexport interface TableProps<Data extends object = any> extends TableOptions<Data>, Partial<QueryOptions> {\n /**\n * extended columns interface\n */\n columns: ReadonlyArray<ExtendedColumn<Data>>;\n\n className?: string;\n /**\n * Call the listener when a filter / pagination / sort change.\n */\n onChange?: (query: QueryOptions) => void;\n /**\n * Call the listener when a line is clicked.\n */\n onClick?: OnClickOperation<Data>;\n /**\n * Pagination steps list\n */\n pageSizes?: number[];\n /**\n * Total length of the data\n */\n totalLength?: number;\n /**\n *\n */\n isLoading?: boolean;\n /**\n * Custom EmptyData displayed when there is no data\n */\n EmptyData?: ComponentType;\n /**\n * Custom ArrowSort\n */\n ArrowSort?: ComponentType;\n /**\n * Custom default ColumnFilter\n */\n ColumnFilter?: Renderer<FilterProps<Data>>;\n /**\n * Custom cell\n */\n Cell?: ComponentType<CellProps<Data>>;\n /**\n * Custom Row\n */\n Row?: ComponentType<DefaultRowProps<Data>>;\n /**\n *\n */\n CellHeader?: ComponentType<DefaultCellHeaderProps<Data>>;\n /**\n *\n */\n CellOperations?: ComponentType<any>;\n /**\n * Custom Loader\n */\n Loader?: ComponentType<any>;\n /**\n * Custom Loader\n */\n Pagination?: ComponentType<any>;\n /**\n * Disable filters\n */\n disableFilters?: boolean;\n /**\n * Disable pagination\n */\n disablePagination?: boolean;\n manualPagination?: boolean;\n manualSortBy?: boolean;\n manualFilters?: boolean;\n /**\n * Configuration operation for each line.\n */\n operations?: Operation[];\n\n i18n?: (f: string) => string;\n\n /**\n * Enable drag and drop rows\n */\n enableDragNDrop?: boolean;\n onDrag?: (data: Data[]) => void;\n onDrop?: (item: Data) => void;\n}\n\nexport function getOperationCallback(operations: Operation[], onClick: OnClickOperation) {\n return (data: any, action: string) => {\n const operation = operations.find((operation) => operation.action === action || operation.alias === action);\n if (operation) {\n onClick(data, operation);\n }\n };\n}\n\nfunction DefaultLoader() {\n return <div className={\"text-center p-2 pb-4 font-bold\"}>Loading in progress</div>;\n}\n\nfunction DefaultEmptyData() {\n return <div className='text-center p-2 pb-4 font-bold'>No data found</div>;\n}\n\nconst hooks = [useFilters, useGroupBy, useSortBy, usePagination];\n\nexport function useCustomTable<Data extends object = {}>(props: PropsWithChildren<TableProps<Data>>) {\n const {\n children,\n className = \"\",\n columns,\n data,\n onChange = noop,\n onClick = noop,\n onDrag = noop,\n onDrop = noop,\n operations = [],\n pageSizes = [10, 25, 50, 100],\n filters: controlledFilters,\n filterId: controlledFilterId,\n pageSize: controlledPageSize,\n pageIndex: controlledPageIndex,\n totalLength,\n sortBy: controlledSortBy,\n isLoading,\n disableFilters,\n disablePagination,\n ArrowSort = DefaultArrowSort,\n ColumnFilter = DefaultColumnFilter,\n EmptyData = DefaultEmptyData,\n Loader = DefaultLoader,\n Pagination = DefaultPagination,\n Row = DefaultRow,\n CellHeader = DefaultCellHeader as any,\n CellOperations,\n i18n = (f: string) => f,\n ...ctx\n } = props;\n\n const _onClick = getOperationCallback(operations, onClick);\n\n const defaultColumn = {\n Filter: ColumnFilter,\n ArrowSort\n };\n\n const [filterId, setFilterId] = useState(controlledFilterId);\n\n // DND\n const [records, setRecords] = useState<readonly Data[]>(data);\n\n useEffect(() => {\n setRecords(data);\n }, [data]);\n\n const _onDrag = (dragIndex: number, hoverIndex: number) => {\n const newRecords = swapElements([...records], dragIndex, hoverIndex);\n\n setRecords(newRecords);\n\n onDrag(newRecords);\n };\n\n const tableInstance = useTable<Data>(\n {\n ...props,\n columns,\n data,\n ctx,\n defaultColumn,\n // getRowId,\n initialState: {\n ...(props.initialState || {}),\n filters: controlledFilters || [],\n pageIndex: controlledPageIndex || 0,\n pageSize: controlledPageSize || 10,\n sortBy: controlledSortBy || []\n } as any,\n manualPagination: props.manualPagination === undefined ? true : props.manualPagination,\n manualSortBy: props.manualSortBy === undefined ? true : props.manualPagination,\n manualFilters: props.manualFilters === undefined ? true : props.manualFilters,\n disableFilters,\n filterId,\n setFilterId\n } as any,\n ...hooks,\n useOperations({ operations, CellOperations, onClick: _onClick, ctx, i18n })\n );\n\n const {\n setPageSize,\n state: { pageIndex, pageSize, sortBy, filters }\n } = tableInstance as any;\n\n useEffect(() => {\n onChange({\n pageIndex,\n pageSize,\n sortBy,\n filters,\n filterId\n });\n }, [onChange, pageIndex, pageSize, sortBy, filters, filterId]);\n\n return {\n className,\n tableInstance,\n CellHeader,\n isLoading,\n Loader,\n EmptyData,\n Row,\n data,\n disablePagination,\n Pagination,\n pageIndex,\n pageSize,\n pageSizes,\n totalLength,\n setPageSize,\n i18n,\n children,\n onClick: _onClick as any,\n onDrag: _onDrag,\n onDrop: onDrop,\n enableDragNDrop: props.enableDragNDrop\n };\n}\n"],"names":["getOperationCallback","operations","onClick","data","action","operation","DefaultLoader","jsx","DefaultEmptyData","hooks","useFilters","useGroupBy","useSortBy","usePagination","useCustomTable","props","children","className","columns","onChange","noop","onDrag","onDrop","pageSizes","controlledFilters","controlledFilterId","controlledPageSize","controlledPageIndex","totalLength","controlledSortBy","isLoading","disableFilters","disablePagination","ArrowSort","DefaultArrowSort","ColumnFilter","DefaultColumnFilter","EmptyData","Loader","Pagination","DefaultPagination","Row","DefaultRow","CellHeader","DefaultCellHeader","CellOperations","i18n","f","ctx","_onClick","defaultColumn","filterId","setFilterId","useState","records","setRecords","useEffect","_onDrag","dragIndex","hoverIndex","newRecords","swapElements","tableInstance","useTable","useOperations","setPageSize","pageIndex","pageSize","sortBy","filters"],"mappings":";;;;;;;;;;;AA+HgB,SAAAA,GAAqBC,GAAyBC,GAA2B;AAChF,SAAA,CAACC,GAAWC,MAAmB;AAC9B,UAAAC,IAAYJ,EAAW,KAAK,CAACI,MAAcA,EAAU,WAAWD,KAAUC,EAAU,UAAUD,CAAM;AAC1G,IAAIC,KACFH,EAAQC,GAAME,CAAS;AAAA,EAE3B;AACF;AAEA,SAASC,KAAgB;AACvB,SAAQ,gBAAAC,EAAA,OAAA,EAAI,WAAW,kCAAkC,UAAmB,uBAAA;AAC9E;AAEA,SAASC,KAAmB;AAC1B,SAAQ,gBAAAD,EAAA,OAAA,EAAI,WAAU,kCAAiC,UAAa,iBAAA;AACtE;AAEA,MAAME,KAAQ,CAACC,GAAYC,GAAYC,GAAWC,EAAa;AAExD,SAASC,GAAyCC,GAA4C;AAC7F,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,SAAAC;AAAA,IACA,MAAAf;AAAA,IACA,UAAAgB,IAAWC;AAAA,IACX,SAAAlB,IAAUkB;AAAA,IACV,QAAAC,IAASD;AAAA,IACT,QAAAE,IAASF;AAAA,IACT,YAAAnB,IAAa,CAAC;AAAA,IACd,WAAAsB,IAAY,CAAC,IAAI,IAAI,IAAI,GAAG;AAAA,IAC5B,SAASC;AAAA,IACT,UAAUC;AAAA,IACV,UAAUC;AAAA,IACV,WAAWC;AAAA,IACX,aAAAC;AAAA,IACA,QAAQC;AAAA,IACR,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC,IAAYC;AAAA,IACZ,cAAAC,IAAeC;AAAA,IACf,WAAAC,IAAY7B;AAAA,IACZ,QAAA8B,IAAShC;AAAA,IACTiC,YAAAA,IAAaC;AAAAA,IACb,KAAAC,IAAMC;AAAA,IACN,YAAAC,IAAaC;AAAA,IACb,gBAAAC;AAAA,IACA,MAAAC,IAAO,CAACC,MAAcA;AAAA,IACtB,GAAGC;AAAA,EAAA,IACDjC,GAEEkC,IAAWjD,GAAqBC,GAAYC,CAAO,GAEnDgD,IAAgB;AAAA,IACpB,QAAQf;AAAA,IACR,WAAAF;AAAA,EACF,GAEM,CAACkB,GAAUC,CAAW,IAAIC,EAAS5B,CAAkB,GAGrD,CAAC6B,GAASC,CAAU,IAAIF,EAA0BlD,CAAI;AAE5D,EAAAqD,EAAU,MAAM;AACd,IAAAD,EAAWpD,CAAI;AAAA,EAAA,GACd,CAACA,CAAI,CAAC;AAEH,QAAAsD,IAAU,CAACC,GAAmBC,MAAuB;AACzD,UAAMC,IAAaC,GAAa,CAAC,GAAGP,CAAO,GAAGI,GAAWC,CAAU;AAEnE,IAAAJ,EAAWK,CAAU,GAErBvC,EAAOuC,CAAU;AAAA,EACnB,GAEME,IAAgBC;AAAA,IACpB;AAAA,MACE,GAAGhD;AAAA,MACH,SAAAG;AAAA,MACA,MAAAf;AAAA,MACA,KAAA6C;AAAA,MACA,eAAAE;AAAA;AAAA,MAEA,cAAc;AAAA,QACZ,GAAInC,EAAM,gBAAgB,CAAC;AAAA,QAC3B,SAASS,KAAqB,CAAC;AAAA,QAC/B,WAAWG,KAAuB;AAAA,QAClC,UAAUD,KAAsB;AAAA,QAChC,QAAQG,KAAoB,CAAA;AAAA,MAC9B;AAAA,MACA,kBAAkBd,EAAM,qBAAqB,SAAY,KAAOA,EAAM;AAAA,MACtE,cAAcA,EAAM,iBAAiB,SAAY,KAAOA,EAAM;AAAA,MAC9D,eAAeA,EAAM,kBAAkB,SAAY,KAAOA,EAAM;AAAA,MAChE,gBAAAgB;AAAA,MACA,UAAAoB;AAAA,MACA,aAAAC;AAAA,IACF;AAAA,IACA,GAAG3C;AAAA,IACHuD,GAAc,EAAE,YAAA/D,GAAY,gBAAA4C,GAAgB,SAASI,GAAU,KAAAD,GAAK,MAAAF,EAAM,CAAA;AAAA,EAC5E,GAEM;AAAA,IACJ,aAAAmB;AAAA,IACA,OAAO,EAAE,WAAAC,GAAW,UAAAC,GAAU,QAAAC,GAAQ,SAAAC,EAAQ;AAAA,EAAA,IAC5CP;AAEJ,SAAAN,EAAU,MAAM;AACL,IAAArC,EAAA;AAAA,MACP,WAAA+C;AAAA,MACA,UAAAC;AAAA,MACA,QAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAlB;AAAA,IAAA,CACD;AAAA,EAAA,GACA,CAAChC,GAAU+C,GAAWC,GAAUC,GAAQC,GAASlB,CAAQ,CAAC,GAEtD;AAAA,IACL,WAAAlC;AAAA,IACA,eAAA6C;AAAA,IACA,YAAAnB;AAAA,IACA,WAAAb;AAAA,IACA,QAAAQ;AAAA,IACA,WAAAD;AAAA,IACA,KAAAI;AAAA,IACA,MAAAtC;AAAA,IACA,mBAAA6B;AAAA,IAAA,YACAO;AAAAA,IACA,WAAA2B;AAAA,IACA,UAAAC;AAAA,IACA,WAAA5C;AAAA,IACA,aAAAK;AAAA,IACA,aAAAqC;AAAA,IACA,MAAAnB;AAAA,IACA,UAAA9B;AAAA,IACA,SAASiC;AAAA,IACT,QAAQQ;AAAA,IACR,QAAAnC;AAAA,IACA,iBAAiBP,EAAM;AAAA,EACzB;AACF;"}
@@ -1,272 +0,0 @@
1
- import { DefaultRowProps } from '../components/DefaultRow';
2
- export declare function useDndRow<Data extends object = {}>({ onDrag, onDrop, index, ...props }: DefaultRowProps<Data>): {
3
- opacity: number;
4
- isDragging: boolean;
5
- dropRef: import('react').RefObject<HTMLTableRowElement>;
6
- dragRef: import('react').RefObject<HTMLTableDataCellElement>;
7
- onClick: (data: any, action: string) => void;
8
- row: import('react-table').Row<Data>;
9
- enableDragNDrop?: boolean;
10
- title?: string | undefined | undefined;
11
- ref?: import('react').LegacyRef<HTMLTableRowElement> | undefined;
12
- slot?: string | undefined | undefined;
13
- style?: import('react').CSSProperties | undefined;
14
- children?: import('react').ReactNode;
15
- className?: string | undefined | undefined;
16
- dangerouslySetInnerHTML?: {
17
- __html: string | TrustedHTML;
18
- } | undefined | undefined;
19
- id?: string | undefined | undefined;
20
- defaultChecked?: boolean | undefined | undefined;
21
- defaultValue?: string | number | readonly string[] | undefined;
22
- suppressContentEditableWarning?: boolean | undefined | undefined;
23
- suppressHydrationWarning?: boolean | undefined | undefined;
24
- accessKey?: string | undefined | undefined;
25
- autoFocus?: boolean | undefined | undefined;
26
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
27
- contextMenu?: string | undefined | undefined;
28
- dir?: string | undefined | undefined;
29
- draggable?: (boolean | "true" | "false") | undefined;
30
- hidden?: boolean | undefined | undefined;
31
- lang?: string | undefined | undefined;
32
- nonce?: string | undefined | undefined;
33
- placeholder?: string | undefined | undefined;
34
- spellCheck?: (boolean | "true" | "false") | undefined;
35
- tabIndex?: number | undefined | undefined;
36
- translate?: "yes" | "no" | undefined | undefined;
37
- radioGroup?: string | undefined | undefined;
38
- role?: import('react').AriaRole | undefined;
39
- about?: string | undefined | undefined;
40
- content?: string | undefined | undefined;
41
- datatype?: string | undefined | undefined;
42
- inlist?: any;
43
- prefix?: string | undefined | undefined;
44
- property?: string | undefined | undefined;
45
- rel?: string | undefined | undefined;
46
- resource?: string | undefined | undefined;
47
- rev?: string | undefined | undefined;
48
- typeof?: string | undefined | undefined;
49
- vocab?: string | undefined | undefined;
50
- autoCapitalize?: string | undefined | undefined;
51
- autoCorrect?: string | undefined | undefined;
52
- autoSave?: string | undefined | undefined;
53
- color?: string | undefined | undefined;
54
- itemProp?: string | undefined | undefined;
55
- itemScope?: boolean | undefined | undefined;
56
- itemType?: string | undefined | undefined;
57
- itemID?: string | undefined | undefined;
58
- itemRef?: string | undefined | undefined;
59
- results?: number | undefined | undefined;
60
- security?: string | undefined | undefined;
61
- unselectable?: "on" | "off" | undefined | undefined;
62
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
63
- is?: string | undefined | undefined;
64
- 'aria-activedescendant'?: string | undefined | undefined;
65
- 'aria-atomic'?: (boolean | "true" | "false") | undefined;
66
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined | undefined;
67
- 'aria-busy'?: (boolean | "true" | "false") | undefined;
68
- 'aria-checked'?: boolean | "false" | "mixed" | "true" | undefined | undefined;
69
- 'aria-colcount'?: number | undefined | undefined;
70
- 'aria-colindex'?: number | undefined | undefined;
71
- 'aria-colspan'?: number | undefined | undefined;
72
- 'aria-controls'?: string | undefined | undefined;
73
- 'aria-current'?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
74
- 'aria-describedby'?: string | undefined | undefined;
75
- 'aria-details'?: string | undefined | undefined;
76
- 'aria-disabled'?: (boolean | "true" | "false") | undefined;
77
- 'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
78
- 'aria-errormessage'?: string | undefined | undefined;
79
- 'aria-expanded'?: (boolean | "true" | "false") | undefined;
80
- 'aria-flowto'?: string | undefined | undefined;
81
- 'aria-grabbed'?: (boolean | "true" | "false") | undefined;
82
- 'aria-haspopup'?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
83
- 'aria-hidden'?: (boolean | "true" | "false") | undefined;
84
- 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
85
- 'aria-keyshortcuts'?: string | undefined | undefined;
86
- 'aria-label'?: string | undefined | undefined;
87
- 'aria-labelledby'?: string | undefined | undefined;
88
- 'aria-level'?: number | undefined | undefined;
89
- 'aria-live'?: "off" | "assertive" | "polite" | undefined | undefined;
90
- 'aria-modal'?: (boolean | "true" | "false") | undefined;
91
- 'aria-multiline'?: (boolean | "true" | "false") | undefined;
92
- 'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
93
- 'aria-orientation'?: "horizontal" | "vertical" | undefined | undefined;
94
- 'aria-owns'?: string | undefined | undefined;
95
- 'aria-placeholder'?: string | undefined | undefined;
96
- 'aria-posinset'?: number | undefined | undefined;
97
- 'aria-pressed'?: boolean | "false" | "mixed" | "true" | undefined | undefined;
98
- 'aria-readonly'?: (boolean | "true" | "false") | undefined;
99
- 'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
100
- 'aria-required'?: (boolean | "true" | "false") | undefined;
101
- 'aria-roledescription'?: string | undefined | undefined;
102
- 'aria-rowcount'?: number | undefined | undefined;
103
- 'aria-rowindex'?: number | undefined | undefined;
104
- 'aria-rowspan'?: number | undefined | undefined;
105
- 'aria-selected'?: (boolean | "true" | "false") | undefined;
106
- 'aria-setsize'?: number | undefined | undefined;
107
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
108
- 'aria-valuemax'?: number | undefined | undefined;
109
- 'aria-valuemin'?: number | undefined | undefined;
110
- 'aria-valuenow'?: number | undefined | undefined;
111
- 'aria-valuetext'?: string | undefined | undefined;
112
- onCopy?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
113
- onCopyCapture?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
114
- onCut?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
115
- onCutCapture?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
116
- onPaste?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
117
- onPasteCapture?: import('react').ClipboardEventHandler<HTMLTableRowElement> | undefined;
118
- onCompositionEnd?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
119
- onCompositionEndCapture?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
120
- onCompositionStart?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
121
- onCompositionStartCapture?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
122
- onCompositionUpdate?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
123
- onCompositionUpdateCapture?: import('react').CompositionEventHandler<HTMLTableRowElement> | undefined;
124
- onFocus?: import('react').FocusEventHandler<HTMLTableRowElement> | undefined;
125
- onFocusCapture?: import('react').FocusEventHandler<HTMLTableRowElement> | undefined;
126
- onBlur?: import('react').FocusEventHandler<HTMLTableRowElement> | undefined;
127
- onBlurCapture?: import('react').FocusEventHandler<HTMLTableRowElement> | undefined;
128
- onChange?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
129
- onChangeCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
130
- onBeforeInput?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
131
- onBeforeInputCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
132
- onInput?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
133
- onInputCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
134
- onReset?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
135
- onResetCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
136
- onSubmit?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
137
- onSubmitCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
138
- onInvalid?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
139
- onInvalidCapture?: import('react').FormEventHandler<HTMLTableRowElement> | undefined;
140
- onLoad?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
141
- onLoadCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
142
- onError?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
143
- onErrorCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
144
- onKeyDown?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
145
- onKeyDownCapture?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
146
- onKeyPress?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
147
- onKeyPressCapture?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
148
- onKeyUp?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
149
- onKeyUpCapture?: import('react').KeyboardEventHandler<HTMLTableRowElement> | undefined;
150
- onAbort?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
151
- onAbortCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
152
- onCanPlay?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
153
- onCanPlayCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
154
- onCanPlayThrough?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
155
- onCanPlayThroughCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
156
- onDurationChange?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
157
- onDurationChangeCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
158
- onEmptied?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
159
- onEmptiedCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
160
- onEncrypted?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
161
- onEncryptedCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
162
- onEnded?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
163
- onEndedCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
164
- onLoadedData?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
165
- onLoadedDataCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
166
- onLoadedMetadata?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
167
- onLoadedMetadataCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
168
- onLoadStart?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
169
- onLoadStartCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
170
- onPause?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
171
- onPauseCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
172
- onPlay?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
173
- onPlayCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
174
- onPlaying?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
175
- onPlayingCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
176
- onProgress?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
177
- onProgressCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
178
- onRateChange?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
179
- onRateChangeCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
180
- onResize?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
181
- onResizeCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
182
- onSeeked?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
183
- onSeekedCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
184
- onSeeking?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
185
- onSeekingCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
186
- onStalled?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
187
- onStalledCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
188
- onSuspend?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
189
- onSuspendCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
190
- onTimeUpdate?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
191
- onTimeUpdateCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
192
- onVolumeChange?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
193
- onVolumeChangeCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
194
- onWaiting?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
195
- onWaitingCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
196
- onAuxClick?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
197
- onAuxClickCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
198
- onClickCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
199
- onContextMenu?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
200
- onContextMenuCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
201
- onDoubleClick?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
202
- onDoubleClickCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
203
- onDragCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
204
- onDragEnd?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
205
- onDragEndCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
206
- onDragEnter?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
207
- onDragEnterCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
208
- onDragExit?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
209
- onDragExitCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
210
- onDragLeave?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
211
- onDragLeaveCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
212
- onDragOver?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
213
- onDragOverCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
214
- onDragStart?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
215
- onDragStartCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
216
- onDropCapture?: import('react').DragEventHandler<HTMLTableRowElement> | undefined;
217
- onMouseDown?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
218
- onMouseDownCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
219
- onMouseEnter?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
220
- onMouseLeave?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
221
- onMouseMove?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
222
- onMouseMoveCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
223
- onMouseOut?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
224
- onMouseOutCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
225
- onMouseOver?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
226
- onMouseOverCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
227
- onMouseUp?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
228
- onMouseUpCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
229
- onSelect?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
230
- onSelectCapture?: import('react').ReactEventHandler<HTMLTableRowElement> | undefined;
231
- onTouchCancel?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
232
- onTouchCancelCapture?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
233
- onTouchEnd?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
234
- onTouchEndCapture?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
235
- onTouchMove?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
236
- onTouchMoveCapture?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
237
- onTouchStart?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
238
- onTouchStartCapture?: import('react').TouchEventHandler<HTMLTableRowElement> | undefined;
239
- onPointerDown?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
240
- onPointerDownCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
241
- onPointerMove?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
242
- onPointerMoveCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
243
- onPointerUp?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
244
- onPointerUpCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
245
- onPointerCancel?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
246
- onPointerCancelCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
247
- onPointerEnter?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
248
- onPointerEnterCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
249
- onPointerLeave?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
250
- onPointerLeaveCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
251
- onPointerOver?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
252
- onPointerOverCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
253
- onPointerOut?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
254
- onPointerOutCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
255
- onGotPointerCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
256
- onGotPointerCaptureCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
257
- onLostPointerCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
258
- onLostPointerCaptureCapture?: import('react').PointerEventHandler<HTMLTableRowElement> | undefined;
259
- onScroll?: import('react').UIEventHandler<HTMLTableRowElement> | undefined;
260
- onScrollCapture?: import('react').UIEventHandler<HTMLTableRowElement> | undefined;
261
- onWheel?: import('react').WheelEventHandler<HTMLTableRowElement> | undefined;
262
- onWheelCapture?: import('react').WheelEventHandler<HTMLTableRowElement> | undefined;
263
- onAnimationStart?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
264
- onAnimationStartCapture?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
265
- onAnimationEnd?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
266
- onAnimationEndCapture?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
267
- onAnimationIteration?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
268
- onAnimationIterationCapture?: import('react').AnimationEventHandler<HTMLTableRowElement> | undefined;
269
- onTransitionEnd?: import('react').TransitionEventHandler<HTMLTableRowElement> | undefined;
270
- onTransitionEndCapture?: import('react').TransitionEventHandler<HTMLTableRowElement> | undefined;
271
- key?: import('react').Key | null | undefined;
272
- };
@@ -1,40 +0,0 @@
1
- import { useRef as d } from "react";
2
- import { useDrop as w, useDrag as y } from "react-dnd";
3
- const p = "row";
4
- function Y({ onDrag: l, onDrop: a, index: i, ...D }) {
5
- const n = d(null), c = d(null), [, v] = w({
6
- accept: p,
7
- drop(t) {
8
- a(t);
9
- },
10
- hover(t, x) {
11
- if (!n.current)
12
- return;
13
- const r = t.index, e = i;
14
- if (r === e)
15
- return;
16
- const o = n.current.getBoundingClientRect(), g = (o.bottom - o.top) / 2, u = x.getClientOffset();
17
- if (!u)
18
- return;
19
- const f = u.y - o.top;
20
- r < e && f < g || r > e && f > g || (l(r, e), t.index = e);
21
- }
22
- }), [{ isDragging: s }, R, h] = y(() => ({
23
- type: p,
24
- item: { index: i },
25
- collect: (t) => ({
26
- isDragging: t.isDragging()
27
- })
28
- })), m = s ? 0 : 1;
29
- return h(v(n)), R(c), {
30
- ...D,
31
- opacity: m,
32
- isDragging: s,
33
- dropRef: n,
34
- dragRef: c
35
- };
36
- }
37
- export {
38
- Y as useDndRow
39
- };
40
- //# sourceMappingURL=useDragnDropRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDragnDropRow.js","sources":["../../../../src/molecules/table/hooks/useDragnDropRow.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { useDrag, useDrop } from \"react-dnd\";\n\nimport { DefaultRowProps } from \"../components/DefaultRow\";\n\nconst DND_ITEM_TYPE = \"row\";\n\nexport function useDndRow<Data extends object = {}>({ onDrag, onDrop, index, ...props }: DefaultRowProps<Data>) {\n const dropRef = useRef<HTMLTableRowElement>(null);\n const dragRef = useRef<HTMLTableDataCellElement>(null);\n\n const [, drop] = useDrop<Data>({\n accept: DND_ITEM_TYPE,\n drop(item) {\n onDrop(item);\n },\n hover(item: any, monitor) {\n if (!dropRef.current) {\n return;\n }\n const dragIndex = item.index;\n const hoverIndex = index;\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n // Determine rectangle on screen\n const hoverBoundingRect = dropRef.current!.getBoundingClientRect();\n // Get vertical middle\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n // Determine mouse position\n const clientOffset = monitor.getClientOffset();\n if (!clientOffset) {\n return;\n }\n // Get pixels to the top\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n // Only perform the move when the mouse has crossed half of the items height\n // When dragging downwards, only move when the cursor is below 50%\n // When dragging upwards, only move when the cursor is above 50%\n // Dragging downwards\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n // Dragging upwards\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n\n // Time to actually perform the action\n onDrag(dragIndex, hoverIndex);\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n item.index = hoverIndex;\n }\n });\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n type: DND_ITEM_TYPE,\n item: { index },\n collect: (monitor) => ({\n isDragging: monitor.isDragging()\n })\n }));\n\n const opacity = isDragging ? 0 : 1;\n\n preview(drop(dropRef));\n drag(dragRef);\n\n return {\n ...props,\n opacity,\n isDragging,\n dropRef,\n dragRef\n };\n}\n"],"names":["DND_ITEM_TYPE","useDndRow","onDrag","onDrop","index","props","dropRef","useRef","dragRef","drop","useDrop","item","monitor","dragIndex","hoverIndex","hoverBoundingRect","hoverMiddleY","clientOffset","hoverClientY","isDragging","drag","preview","useDrag","opacity"],"mappings":";;AAKA,MAAMA,IAAgB;AAEf,SAASC,EAAoC,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,OAAAC,GAAO,GAAGC,KAAgC;AACxG,QAAAC,IAAUC,EAA4B,IAAI,GAC1CC,IAAUD,EAAiC,IAAI,GAE/C,CAAG,EAAAE,CAAI,IAAIC,EAAc;AAAA,IAC7B,QAAQV;AAAA,IACR,KAAKW,GAAM;AACT,MAAAR,EAAOQ,CAAI;AAAA,IACb;AAAA,IACA,MAAMA,GAAWC,GAAS;AACpB,UAAA,CAACN,EAAQ;AACX;AAEF,YAAMO,IAAYF,EAAK,OACjBG,IAAaV;AAEnB,UAAIS,MAAcC;AAChB;AAGI,YAAAC,IAAoBT,EAAQ,QAAS,sBAAsB,GAE3DU,KAAgBD,EAAkB,SAASA,EAAkB,OAAO,GAEpEE,IAAeL,EAAQ,gBAAgB;AAC7C,UAAI,CAACK;AACH;AAGI,YAAAC,IAAeD,EAAa,IAAIF,EAAkB;AAKpD,MAAAF,IAAYC,KAAcI,IAAeF,KAIzCH,IAAYC,KAAcI,IAAeF,MAK7Cd,EAAOW,GAAWC,CAAU,GAK5BH,EAAK,QAAQG;AAAA,IAAA;AAAA,EACf,CACD,GAEK,CAAC,EAAE,YAAAK,EAAW,GAAGC,GAAMC,CAAO,IAAIC,EAAQ,OAAO;AAAA,IACrD,MAAMtB;AAAA,IACN,MAAM,EAAE,OAAAI,EAAM;AAAA,IACd,SAAS,CAACQ,OAAa;AAAA,MACrB,YAAYA,EAAQ,WAAW;AAAA,IACjC;AAAA,EAAA,EACA,GAEIW,IAAUJ,IAAa,IAAI;AAEzB,SAAAE,EAAAZ,EAAKH,CAAO,CAAC,GACrBc,EAAKZ,CAAO,GAEL;AAAA,IACL,GAAGH;AAAA,IACH,SAAAkB;AAAA,IACA,YAAAJ;AAAA,IACA,SAAAb;AAAA,IACA,SAAAE;AAAA,EACF;AACF;"}