@tsed/react-formio 3.0.0-alpha.9 → 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 (402) 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 +1204 -1101
  16. package/dist/chunks/react-select-animated.esm.js.map +1 -1
  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.js +5 -5
  52. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  53. package/dist/molecules/forms/input-tags/InputTags.js +14 -14
  54. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  55. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +27 -27
  56. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +32 -32
  57. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  58. package/dist/molecules/forms/input-tags/components/ReactTags.js +289 -300
  59. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -1
  60. package/dist/molecules/forms/input-text/InputText.js +3 -3
  61. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  62. package/dist/molecules/forms/select/Select.interface.d.ts +5 -2
  63. package/dist/molecules/forms/select/Select.js.map +1 -1
  64. package/dist/molecules/forms/select/components/ChoicesSelect.js +70 -72
  65. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  66. package/dist/molecules/forms/select/components/HtmlSelect.js +8 -8
  67. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  68. package/dist/molecules/forms/select/components/ReactSelect.js +13 -14
  69. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  70. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  71. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  72. package/dist/molecules/forms/select/hooks/useOptions.d.ts +1 -1
  73. package/dist/molecules/forms/select/hooks/useOptions.js +15 -15
  74. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  75. package/dist/molecules/loader/Loader.d.ts +4 -4
  76. package/dist/molecules/loader/Loader.js +16 -8
  77. package/dist/molecules/loader/Loader.js.map +1 -1
  78. package/dist/molecules/modal/Modal.js +23 -24
  79. package/dist/molecules/modal/Modal.js.map +1 -1
  80. package/dist/molecules/pagination/Pagination.d.ts +7 -6
  81. package/dist/molecules/pagination/Pagination.js +48 -57
  82. package/dist/molecules/pagination/Pagination.js.map +1 -1
  83. package/dist/molecules/pagination/PaginationButton.js +10 -10
  84. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  85. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -0
  86. package/dist/molecules/table/Table.d.ts +16 -2
  87. package/dist/molecules/table/Table.js +53 -77
  88. package/dist/molecules/table/Table.js.map +1 -1
  89. package/dist/molecules/table/all.d.ts +0 -0
  90. package/dist/molecules/table/all.js +19 -0
  91. package/dist/molecules/table/all.js.map +1 -0
  92. package/dist/molecules/table/components/DefaultArrowSort.d.ts +5 -1
  93. package/dist/molecules/table/components/DefaultArrowSort.js +17 -5
  94. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  95. package/dist/molecules/table/components/DefaultCell.d.ts +5 -1
  96. package/dist/molecules/table/components/DefaultCell.js +8 -6
  97. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  98. package/dist/molecules/table/components/DefaultCellFooter.d.ts +6 -0
  99. package/dist/molecules/table/components/DefaultCellFooter.js +12 -0
  100. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -0
  101. package/dist/molecules/table/components/DefaultCellHeader.d.ts +5 -8
  102. package/dist/molecules/table/components/DefaultCellHeader.js +25 -9
  103. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  104. package/dist/molecules/table/components/DefaultCellOperations.d.ts +16 -10
  105. package/dist/molecules/table/components/DefaultCellOperations.js +23 -14
  106. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  107. package/dist/molecules/table/components/DefaultFilter.d.ts +11 -0
  108. package/dist/molecules/table/components/DefaultFilter.js +15 -0
  109. package/dist/molecules/table/components/DefaultFilter.js.map +1 -0
  110. package/dist/molecules/table/components/DefaultOperationButton.d.ts +16 -12
  111. package/dist/molecules/table/components/DefaultOperationButton.js +16 -31
  112. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  113. package/dist/molecules/table/filters/Filters.d.js +2 -0
  114. package/dist/molecules/table/filters/Filters.d.js.map +1 -0
  115. package/dist/molecules/table/filters/RangeFilter.d.ts +3 -0
  116. package/dist/molecules/table/filters/RangeFilter.js +41 -0
  117. package/dist/molecules/table/filters/RangeFilter.js.map +1 -0
  118. package/dist/molecules/table/filters/SelectFilter.d.ts +3 -0
  119. package/dist/molecules/table/filters/SelectFilter.js +33 -0
  120. package/dist/molecules/table/filters/SelectFilter.js.map +1 -0
  121. package/dist/molecules/table/filters/TextFieldFilter.d.ts +3 -0
  122. package/dist/molecules/table/filters/TextFieldFilter.js +27 -0
  123. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -0
  124. package/dist/molecules/table/hooks/useTable.d.ts +23 -0
  125. package/dist/molecules/table/hooks/useTable.js +35 -0
  126. package/dist/molecules/table/hooks/useTable.js.map +1 -0
  127. package/dist/molecules/table/hooks/useUniqValues.d.ts +5 -0
  128. package/dist/molecules/table/hooks/useUniqValues.js +11 -0
  129. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -0
  130. package/dist/molecules/table/interfaces/extends.d.ts +14 -0
  131. package/dist/molecules/table/interfaces/extends.js +2 -0
  132. package/dist/molecules/table/interfaces/extends.js.map +1 -0
  133. package/dist/molecules/table/utils/mapFormToColumns.d.ts +2 -2
  134. package/dist/molecules/table/utils/mapFormToColumns.js +34 -18
  135. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  136. package/dist/molecules/tabs/Tab.d.ts +13 -0
  137. package/dist/molecules/tabs/Tab.js +66 -0
  138. package/dist/molecules/tabs/Tab.js.map +1 -0
  139. package/dist/molecules/tabs/TabList.d.ts +2 -0
  140. package/dist/molecules/tabs/TabList.js +23 -0
  141. package/dist/molecules/tabs/TabList.js.map +1 -0
  142. package/dist/molecules/tabs/TabPanel.d.ts +9 -0
  143. package/dist/molecules/tabs/TabPanel.js +27 -0
  144. package/dist/molecules/tabs/TabPanel.js.map +1 -0
  145. package/dist/molecules/tabs/Tabs.d.ts +4 -16
  146. package/dist/molecules/tabs/Tabs.js +7 -67
  147. package/dist/molecules/tabs/Tabs.js.map +1 -1
  148. package/dist/molecules/tabs/TabsBody.d.ts +1 -0
  149. package/dist/molecules/tabs/TabsBody.js +10 -0
  150. package/dist/molecules/tabs/TabsBody.js.map +1 -0
  151. package/dist/molecules/tabs/TabsLegacy.d.ts +18 -0
  152. package/dist/molecules/tabs/TabsLegacy.js +49 -0
  153. package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
  154. package/dist/molecules/tabs/all.d.ts +5 -0
  155. package/dist/molecules/tabs/all.js +13 -0
  156. package/dist/molecules/tabs/all.js.map +1 -0
  157. package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
  158. package/dist/molecules/tabs/context/TabControl.js +85 -0
  159. package/dist/molecules/tabs/context/TabControl.js.map +1 -0
  160. package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
  161. package/dist/molecules/tabs/hooks/tabControl.js +34 -0
  162. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
  163. package/dist/organisms/form/Form.js.map +1 -1
  164. package/dist/organisms/form/access/FormAccess.js +41 -41
  165. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  166. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  167. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  168. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  169. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  170. package/dist/organisms/form/actions/FormAction.js +34 -0
  171. package/dist/organisms/form/actions/FormAction.js.map +1 -0
  172. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  173. package/dist/organisms/form/builder/FormEdit.d.ts +6 -3
  174. package/dist/organisms/form/builder/FormEdit.js +45 -42
  175. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  176. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  177. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  178. package/dist/organisms/form/builder/FormEditCtas.js +36 -35
  179. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  180. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  181. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  182. package/dist/organisms/form/builder/useFormBuilder.js +36 -33
  183. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  184. package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
  185. package/dist/organisms/form/builder/useFormEdit.js +1 -1
  186. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  187. package/dist/organisms/form/exports/FormExport.d.ts +6 -0
  188. package/dist/organisms/form/exports/FormExport.js +56 -0
  189. package/dist/organisms/form/exports/FormExport.js.map +1 -0
  190. package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
  191. package/dist/organisms/form/preview/FormPreview.js +12 -0
  192. package/dist/organisms/form/preview/FormPreview.js.map +1 -0
  193. package/dist/organisms/form/settings/FormSettings.js +28 -28
  194. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  195. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  196. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  197. package/dist/organisms/form/useForm.d.ts +2 -1
  198. package/dist/organisms/form/useForm.js +664 -661
  199. package/dist/organisms/form/useForm.js.map +1 -1
  200. package/dist/organisms/modal/RemoveModal.js +16 -17
  201. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  202. package/dist/organisms/table/actions/ActionsTable.d.ts +4 -3
  203. package/dist/organisms/table/actions/ActionsTable.js +21 -33
  204. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  205. package/dist/organisms/table/forms/FormsTable.d.ts +2 -3
  206. package/dist/organisms/table/forms/FormsTable.js +48 -27
  207. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  208. package/dist/organisms/table/forms/components/FormsCell.d.ts +5 -0
  209. package/dist/organisms/table/forms/components/FormsCell.js +50 -0
  210. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -0
  211. package/dist/organisms/table/submissions/SubmissionsTable.d.ts +12 -4
  212. package/dist/organisms/table/submissions/SubmissionsTable.js +10 -17
  213. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  214. package/dist/organisms/views/FormViews.d.ts +24 -0
  215. package/dist/organisms/views/FormViews.js +97 -0
  216. package/dist/organisms/views/FormViews.js.map +1 -0
  217. package/dist/registries/components.js +12 -11
  218. package/dist/registries/components.js.map +1 -1
  219. package/dist/utils/getEventValue.js.map +1 -1
  220. package/dist/utils/iconClass.js +4 -5
  221. package/dist/utils/iconClass.js.map +1 -1
  222. package/dist/utils/mapPagination.js.map +1 -1
  223. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  224. package/package.json +10 -8
  225. package/readme.md +7 -8
  226. package/src/all.ts +34 -0
  227. package/src/atoms/icon/Icon.stories.tsx +71 -22
  228. package/src/atoms/icon/Icon.tsx +14 -4
  229. package/src/contexts/FormioContext.tsx +89 -0
  230. package/src/hooks/keyboard.constants.ts +40 -0
  231. package/src/hooks/useFormioContext.ts +13 -0
  232. package/src/hooks/useI18n.ts +9 -0
  233. package/src/hooks/useKeyboardControls.spec.tsx +208 -0
  234. package/src/hooks/useKeyboardControls.ts +84 -0
  235. package/src/index.ts +17 -13
  236. package/src/interfaces/ComponentType.ts +2 -2
  237. package/src/interfaces/FormBuilderOptions.ts +9 -0
  238. package/src/interfaces/FormOptions.ts +7 -13
  239. package/src/interfaces/FormType.ts +5 -11
  240. package/src/interfaces/Operation.ts +10 -4
  241. package/src/interfaces/SubmissionType.ts +9 -8
  242. package/src/interfaces/index.ts +1 -0
  243. package/src/molecules/__fixtures__/build.js +28 -0
  244. package/src/molecules/__fixtures__/form-schema.json +76 -195
  245. package/src/molecules/__fixtures__/form-submissions.json +11846 -46
  246. package/src/molecules/__fixtures__/products.json +81539 -0
  247. package/src/molecules/button/Button.stories.tsx +1 -1
  248. package/src/molecules/button/Button.tsx +43 -24
  249. package/src/molecules/card/Card.tsx +4 -0
  250. package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
  251. package/src/molecules/forms/form-control/FormControl.stories.tsx +1 -1
  252. package/src/molecules/forms/input-tags/InputTags.tsx +1 -1
  253. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +1 -1
  254. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
  255. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +1 -1
  256. package/src/molecules/forms/input-text/InputText.stories.tsx +2 -2
  257. package/src/molecules/forms/select/Select.interface.ts +5 -2
  258. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +2 -2
  259. package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
  260. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +2 -2
  261. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +2 -2
  262. package/src/molecules/forms/select/hooks/useOptions.ts +5 -1
  263. package/src/molecules/loader/Loader.spec.tsx +2 -2
  264. package/src/molecules/loader/Loader.stories.tsx +7 -4
  265. package/src/molecules/loader/Loader.tsx +16 -6
  266. package/src/molecules/modal/Modal.stories.tsx +1 -1
  267. package/src/molecules/pagination/Pagination.spec.tsx +11 -11
  268. package/src/molecules/pagination/Pagination.stories.tsx +32 -10
  269. package/src/molecules/pagination/Pagination.tsx +28 -25
  270. package/src/molecules/table/Table.stories.tsx +284 -101
  271. package/src/molecules/table/Table.tsx +91 -86
  272. package/src/molecules/table/all.ts +16 -0
  273. package/src/molecules/table/components/DefaultArrowSort.tsx +20 -4
  274. package/src/molecules/table/components/DefaultCell.tsx +10 -1
  275. package/src/molecules/table/components/DefaultCellFooter.tsx +16 -0
  276. package/src/molecules/table/components/DefaultCellHeader.tsx +33 -13
  277. package/src/molecules/table/components/DefaultCellOperations.tsx +31 -20
  278. package/src/molecules/table/components/DefaultFilter.tsx +42 -0
  279. package/src/molecules/table/components/DefaultOperationButton.tsx +19 -34
  280. package/src/molecules/table/filters/Filters.d.ts +31 -0
  281. package/src/molecules/table/filters/RangeFilter.tsx +43 -0
  282. package/src/molecules/table/filters/SelectFilter.tsx +47 -0
  283. package/src/molecules/table/filters/TextFieldFilter.tsx +36 -0
  284. package/src/molecules/table/hooks/useTable.tsx +76 -0
  285. package/src/molecules/table/hooks/useUniqValues.tsx +10 -0
  286. package/src/molecules/table/interfaces/extends.ts +18 -0
  287. package/src/molecules/table/utils/mapFormToColumns.tsx +69 -26
  288. package/src/molecules/tabs/Tab.tsx +106 -0
  289. package/src/molecules/tabs/TabList.tsx +37 -0
  290. package/src/molecules/tabs/TabPanel.tsx +37 -0
  291. package/src/molecules/tabs/Tabs.spec.tsx +126 -73
  292. package/src/molecules/tabs/Tabs.stories.tsx +298 -65
  293. package/src/molecules/tabs/Tabs.tsx +10 -81
  294. package/src/molecules/tabs/TabsBody.tsx +11 -0
  295. package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
  296. package/src/molecules/tabs/TabsLegacy.tsx +86 -0
  297. package/src/molecules/tabs/all.ts +5 -0
  298. package/src/molecules/tabs/context/TabControl.tsx +166 -0
  299. package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
  300. package/src/molecules/tabs/hooks/tabControl.ts +52 -0
  301. package/src/organisms/__fixtures__/form-firstname.fixture.json +1 -0
  302. package/src/organisms/__fixtures__/form.fixture.json +1 -0
  303. package/src/organisms/form/Form.stories.tsx +104 -124
  304. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  305. package/src/organisms/form/access/FormAccess.stories.tsx +6 -4
  306. package/src/organisms/form/actions/FormAction.stories.tsx +426 -0
  307. package/src/organisms/form/{action → actions}/FormAction.tsx +2 -2
  308. package/src/organisms/form/builder/FormBuilder.stories.tsx +7 -4
  309. package/src/organisms/form/builder/FormEdit.reducer.spec.ts +136 -0
  310. package/src/organisms/form/builder/FormEdit.stories.tsx +11 -7
  311. package/src/organisms/form/builder/FormEdit.tsx +12 -6
  312. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  313. package/src/organisms/form/builder/useFormBuilder.ts +12 -7
  314. package/src/organisms/form/builder/useFormEdit.ts +1 -1
  315. package/src/organisms/form/exports/FormExport.stories.tsx +68 -0
  316. package/src/organisms/form/exports/FormExport.tsx +61 -0
  317. package/src/organisms/form/preview/FormPreview.stories.tsx +58 -0
  318. package/src/organisms/form/preview/FormPreview.tsx +23 -0
  319. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  320. package/src/organisms/form/settings/FormSettings.stories.tsx +2 -2
  321. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  322. package/src/organisms/form/useForm.ts +2 -3
  323. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  324. package/src/organisms/table/actions/ActionsTable.spec.tsx +7 -5
  325. package/src/organisms/table/actions/ActionsTable.stories.tsx +48 -45
  326. package/src/organisms/table/actions/ActionsTable.tsx +13 -17
  327. package/src/organisms/table/forms/FormsTable.stories.tsx +2 -0
  328. package/src/organisms/table/forms/FormsTable.tsx +53 -23
  329. package/src/organisms/table/forms/components/FormsCell.tsx +53 -0
  330. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +101 -57
  331. package/src/organisms/table/submissions/SubmissionsTable.tsx +12 -5
  332. package/src/organisms/views/FormViews.stories.tsx +221 -0
  333. package/src/organisms/views/FormViews.tsx +148 -0
  334. package/src/registries/components.ts +7 -1
  335. package/src/utils/iconClass.ts +1 -3
  336. package/vite.config.mts +2 -2
  337. package/dist/molecules/table/components/DefaultCells.d.ts +0 -4
  338. package/dist/molecules/table/components/DefaultCells.js +0 -23
  339. package/dist/molecules/table/components/DefaultCells.js.map +0 -1
  340. package/dist/molecules/table/components/DefaultRow.d.ts +0 -12
  341. package/dist/molecules/table/components/DefaultRow.js +0 -26
  342. package/dist/molecules/table/components/DefaultRow.js.map +0 -1
  343. package/dist/molecules/table/components/DragNDropContainer.d.ts +0 -4
  344. package/dist/molecules/table/components/DragNDropContainer.js +0 -10
  345. package/dist/molecules/table/components/DragNDropContainer.js.map +0 -1
  346. package/dist/molecules/table/filters/DefaultColumnFilter.d.ts +0 -10
  347. package/dist/molecules/table/filters/DefaultColumnFilter.js +0 -29
  348. package/dist/molecules/table/filters/DefaultColumnFilter.js.map +0 -1
  349. package/dist/molecules/table/filters/SelectColumnFilter.d.ts +0 -10
  350. package/dist/molecules/table/filters/SelectColumnFilter.js +0 -34
  351. package/dist/molecules/table/filters/SelectColumnFilter.js.map +0 -1
  352. package/dist/molecules/table/filters/SliderColumnFilter.d.ts +0 -9
  353. package/dist/molecules/table/filters/SliderColumnFilter.js +0 -27
  354. package/dist/molecules/table/filters/SliderColumnFilter.js.map +0 -1
  355. package/dist/molecules/table/hooks/useCustomTable.d.ts +0 -128
  356. package/dist/molecules/table/hooks/useCustomTable.js +0 -130
  357. package/dist/molecules/table/hooks/useCustomTable.js.map +0 -1
  358. package/dist/molecules/table/hooks/useDragnDropRow.d.ts +0 -272
  359. package/dist/molecules/table/hooks/useDragnDropRow.js +0 -40
  360. package/dist/molecules/table/hooks/useDragnDropRow.js.map +0 -1
  361. package/dist/molecules/table/hooks/useOperations.d.ts +0 -11
  362. package/dist/molecules/table/hooks/useOperations.js +0 -25
  363. package/dist/molecules/table/hooks/useOperations.js.map +0 -1
  364. package/dist/molecules/table/index.d.ts +0 -15
  365. package/dist/molecules/table/index.js +0 -35
  366. package/dist/molecules/table/index.js.map +0 -1
  367. package/dist/molecules/table/utils/getPageNumbers.js.map +0 -1
  368. package/dist/molecules/table/utils/swapElements.d.ts +0 -1
  369. package/dist/molecules/table/utils/swapElements.js +0 -5
  370. package/dist/molecules/table/utils/swapElements.js.map +0 -1
  371. package/dist/organisms/form/action/FormAction.js +0 -32
  372. package/dist/organisms/form/action/FormAction.js.map +0 -1
  373. package/dist/organisms/table/forms/components/FormCell.d.ts +0 -6
  374. package/dist/organisms/table/forms/components/FormCell.js +0 -50
  375. package/dist/organisms/table/forms/components/FormCell.js.map +0 -1
  376. package/dist/typings.d.js +0 -2
  377. package/dist/typings.d.js.map +0 -1
  378. package/src/molecules/table/components/DefaultCells.tsx +0 -30
  379. package/src/molecules/table/components/DefaultRow.tsx +0 -52
  380. package/src/molecules/table/components/DragNDropContainer.tsx +0 -7
  381. package/src/molecules/table/filters/DefaultColumnFilter.spec.tsx +0 -33
  382. package/src/molecules/table/filters/DefaultColumnFilter.tsx +0 -38
  383. package/src/molecules/table/filters/SelectColumnFilter.spec.tsx +0 -68
  384. package/src/molecules/table/filters/SelectColumnFilter.tsx +0 -51
  385. package/src/molecules/table/filters/SliderColumnFilter.tsx +0 -28
  386. package/src/molecules/table/hooks/useCustomTable.tsx +0 -268
  387. package/src/molecules/table/hooks/useDragnDropRow.ts +0 -80
  388. package/src/molecules/table/hooks/useOperations.tsx +0 -39
  389. package/src/molecules/table/index.ts +0 -15
  390. package/src/molecules/table/utils/swapElements.spec.ts +0 -7
  391. package/src/molecules/table/utils/swapElements.ts +0 -7
  392. package/src/organisms/form/action/FormAction.stories.tsx +0 -364
  393. package/src/organisms/table/forms/components/FormCell.tsx +0 -47
  394. package/src/typings.d.ts +0 -3
  395. package/tsconfig.app.json +0 -11
  396. package/tsconfig.json +0 -21
  397. package/tsconfig.node.json +0 -13
  398. package/tsconfig.spec.json +0 -14
  399. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.d.ts +0 -0
  400. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.js +0 -0
  401. /package/dist/organisms/form/{action → actions}/FormAction.d.ts +0 -0
  402. /package/src/molecules/{table → pagination}/utils/getPageNumbers.ts +0 -0
@@ -1,11 +0,0 @@
1
- import { ComponentType, FunctionComponent } from 'react';
2
- import { Hooks } from 'react-table';
3
- import { Operation } from '../../../interfaces';
4
- export type UseOperationsHookProps = {
5
- CellOperations?: FunctionComponent | ComponentType<{}>;
6
- operations: Operation[];
7
- onClick?: (data: any, event: string) => void;
8
- i18n?: (f: string) => string;
9
- ctx?: any;
10
- };
11
- export declare function useOperations<D extends object = {}>({ operations, CellOperations, onClick, i18n, ctx }: UseOperationsHookProps): (hooks: Hooks<D>) => void;
@@ -1,25 +0,0 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { DefaultCellOperations as a } from "../components/DefaultCellOperations.js";
3
- function f({
4
- operations: r,
5
- CellOperations: o = a,
6
- onClick: u,
7
- i18n: t = (e) => e,
8
- ctx: l
9
- }) {
10
- return (e) => {
11
- e.visibleColumns.push((i) => r.length ? [
12
- ...i,
13
- {
14
- id: "operations",
15
- groupByBoundary: !0,
16
- Header: () => /* @__PURE__ */ n("div", { className: "text-center", children: t("Operations") }),
17
- Cell: (s) => /* @__PURE__ */ n(o, { ...s, operations: r, onClick: u, ctx: l, i18n: t })
18
- }
19
- ] : i);
20
- };
21
- }
22
- export {
23
- f as useOperations
24
- };
25
- //# sourceMappingURL=useOperations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOperations.js","sources":["../../../../src/molecules/table/hooks/useOperations.tsx"],"sourcesContent":["import { type ComponentType, type FunctionComponent } from \"react\";\nimport { Hooks } from \"react-table\";\n\nimport { Operation } from \"../../../interfaces\";\nimport { DefaultCellOperations } from \"../components/DefaultCellOperations\";\n\nexport type UseOperationsHookProps = {\n CellOperations?: FunctionComponent | ComponentType<{}>;\n operations: Operation[];\n onClick?: (data: any, event: string) => void;\n i18n?: (f: string) => string;\n ctx?: any;\n};\n\nexport function useOperations<D extends object = {}>({\n operations,\n CellOperations = DefaultCellOperations as FunctionComponent,\n onClick,\n i18n = (f: string) => f,\n ctx\n}: UseOperationsHookProps) {\n return (hooks: Hooks<D>): void => {\n hooks.visibleColumns.push((columns) => {\n if (!operations.length) {\n return columns;\n }\n\n return [\n ...columns,\n {\n id: \"operations\",\n groupByBoundary: true,\n Header: () => <div className={\"text-center\"}>{i18n(\"Operations\")}</div>,\n Cell: (props: any) => <CellOperations {...props} operations={operations} onClick={onClick} ctx={ctx} i18n={i18n} />\n }\n ];\n });\n };\n}\n"],"names":["useOperations","operations","CellOperations","DefaultCellOperations","onClick","i18n","f","ctx","hooks","columns","jsx","props"],"mappings":";;AAcO,SAASA,EAAqC;AAAA,EACnD,YAAAC;AAAA,EACA,gBAAAC,IAAiBC;AAAA,EACjB,SAAAC;AAAA,EACA,MAAAC,IAAO,CAACC,MAAcA;AAAA,EACtB,KAAAC;AACF,GAA2B;AACzB,SAAO,CAACC,MAA0B;AAC1B,IAAAA,EAAA,eAAe,KAAK,CAACC,MACpBR,EAAW,SAIT;AAAA,MACL,GAAGQ;AAAA,MACH;AAAA,QACE,IAAI;AAAA,QACJ,iBAAiB;AAAA,QACjB,QAAQ,MAAO,gBAAAC,EAAA,OAAA,EAAI,WAAW,eAAgB,UAAAL,EAAK,YAAY,GAAE;AAAA,QACjE,MAAM,CAACM,MAAgB,gBAAAD,EAAAR,GAAA,EAAgB,GAAGS,GAAO,YAAAV,GAAwB,SAAAG,GAAkB,KAAAG,GAAU,MAAAF,EAAY,CAAA;AAAA,MAAA;AAAA,IAErH,IAXSI,CAYV;AAAA,EACH;AACF;"}
@@ -1,15 +0,0 @@
1
- export * from './components/DefaultArrowSort';
2
- export * from './components/DefaultCell';
3
- export * from './components/DefaultCellHeader';
4
- export * from './components/DefaultCellHeader';
5
- export * from './components/DefaultCellOperations';
6
- export * from './components/DefaultOperationButton';
7
- export * from './filters/DefaultColumnFilter';
8
- export * from './filters/SelectColumnFilter';
9
- export * from './filters/SliderColumnFilter';
10
- export * from './hooks/useCustomTable';
11
- export * from './hooks/useOperations';
12
- export * from './Table';
13
- export * from './utils/getPageNumbers';
14
- export * from './utils/mapFormToColumns';
15
- export * from './utils/swapElements';
@@ -1,35 +0,0 @@
1
- import { DefaultArrowSort as r } from "./components/DefaultArrowSort.js";
2
- import { DefaultCell as l } from "./components/DefaultCell.js";
3
- import { DefaultCellHeader as f } from "./components/DefaultCellHeader.js";
4
- import { DefaultCellOperations as a } from "./components/DefaultCellOperations.js";
5
- import { DefaultOperationButton as x } from "./components/DefaultOperationButton.js";
6
- import { DefaultColumnFilter as s } from "./filters/DefaultColumnFilter.js";
7
- import { SelectColumnFilter as i, useSelectColumnFilter as D } from "./filters/SelectColumnFilter.js";
8
- import { SliderColumnFilter as T } from "./filters/SliderColumnFilter.js";
9
- import { getOperationCallback as E, useCustomTable as O } from "./hooks/useCustomTable.js";
10
- import { useOperations as c } from "./hooks/useOperations.js";
11
- import { Table as A } from "./Table.js";
12
- import { LEFT_PAGE as P, RIGHT_PAGE as d, getPageNumbers as w } from "./utils/getPageNumbers.js";
13
- import { mapFormToColumns as _ } from "./utils/mapFormToColumns.js";
14
- import { swapElements as B } from "./utils/swapElements.js";
15
- export {
16
- r as DefaultArrowSort,
17
- l as DefaultCell,
18
- f as DefaultCellHeader,
19
- a as DefaultCellOperations,
20
- s as DefaultColumnFilter,
21
- x as DefaultOperationButton,
22
- P as LEFT_PAGE,
23
- d as RIGHT_PAGE,
24
- i as SelectColumnFilter,
25
- T as SliderColumnFilter,
26
- A as Table,
27
- E as getOperationCallback,
28
- w as getPageNumbers,
29
- _ as mapFormToColumns,
30
- B as swapElements,
31
- O as useCustomTable,
32
- c as useOperations,
33
- D as useSelectColumnFilter
34
- };
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPageNumbers.js","sources":["../../../../src/molecules/table/utils/getPageNumbers.ts"],"sourcesContent":["export const LEFT_PAGE = \"LEFT\";\nexport const RIGHT_PAGE = \"RIGHT\";\n\nfunction range(from: number, to: number, step = 1): any[] {\n let i = from;\n const range = [];\n\n while (i <= to) {\n range.push(i);\n i += step;\n }\n\n return range;\n}\n\nexport function getPageNumbers({ currentPage, pageNeighbours = 1, totalPages }: any) {\n const totalNumbers = pageNeighbours * 2 + 3;\n const totalBlocks = totalNumbers + 2;\n\n if (totalPages > totalBlocks) {\n const calculatedStartPage = Math.max(2, currentPage - pageNeighbours);\n const calculatedEndPage = Math.min(totalPages - 1, currentPage + pageNeighbours);\n const startPage = calculatedStartPage === 3 ? 2 : calculatedStartPage;\n const endPage = calculatedEndPage === totalPages - 2 ? totalPages - 1 : calculatedEndPage;\n\n let pages = range(startPage, endPage);\n\n const hasLeftSpill = startPage > 2;\n const hasRightSpill = totalPages - endPage > 1;\n const spillOffset = totalNumbers - (pages.length + 1);\n let extraPages;\n\n if (hasLeftSpill && !hasRightSpill) {\n extraPages = range(startPage - spillOffset, startPage - 1);\n pages = [LEFT_PAGE, ...extraPages, ...pages];\n } else if (!hasLeftSpill && hasRightSpill) {\n extraPages = range(endPage + 1, endPage + spillOffset);\n pages = [...pages, ...extraPages, RIGHT_PAGE];\n } else {\n pages = [LEFT_PAGE, ...pages, RIGHT_PAGE];\n }\n\n return [1, ...pages, totalPages];\n }\n\n return range(1, totalPages);\n}\n"],"names":["LEFT_PAGE","RIGHT_PAGE","range","from","to","step","i","getPageNumbers","currentPage","pageNeighbours","totalPages","totalNumbers","totalBlocks","calculatedStartPage","calculatedEndPage","startPage","endPage","pages","hasLeftSpill","hasRightSpill","spillOffset","extraPages"],"mappings":"AAAO,MAAMA,IAAY,QACZC,IAAa;AAE1B,SAASC,EAAMC,GAAcC,GAAYC,IAAO,GAAU;AACxD,MAAIC,IAAIH;AACR,QAAMD,IAAQ,CAAC;AAEf,SAAOI,KAAKF;AACVF,IAAAA,EAAM,KAAKI,CAAC,GACPA,KAAAD;AAGAH,SAAAA;AACT;AAEO,SAASK,EAAe,EAAE,aAAAC,GAAa,gBAAAC,IAAiB,GAAG,YAAAC,KAAmB;AAC7E,QAAAC,IAAeF,IAAiB,IAAI,GACpCG,IAAcD,IAAe;AAEnC,MAAID,IAAaE,GAAa;AAC5B,UAAMC,IAAsB,KAAK,IAAI,GAAGL,IAAcC,CAAc,GAC9DK,IAAoB,KAAK,IAAIJ,IAAa,GAAGF,IAAcC,CAAc,GACzEM,IAAYF,MAAwB,IAAI,IAAIA,GAC5CG,IAAUF,MAAsBJ,IAAa,IAAIA,IAAa,IAAII;AAEpE,QAAAG,IAAQf,EAAMa,GAAWC,CAAO;AAEpC,UAAME,IAAeH,IAAY,GAC3BI,IAAgBT,IAAaM,IAAU,GACvCI,IAAcT,KAAgBM,EAAM,SAAS;AAC/C,QAAAI;AAEA,WAAAH,KAAgB,CAACC,KACnBE,IAAanB,EAAMa,IAAYK,GAAaL,IAAY,CAAC,GACzDE,IAAQ,CAACjB,GAAW,GAAGqB,GAAY,GAAGJ,CAAK,KAClC,CAACC,KAAgBC,KAC1BE,IAAanB,EAAMc,IAAU,GAAGA,IAAUI,CAAW,GACrDH,IAAQ,CAAC,GAAGA,GAAO,GAAGI,GAAYpB,CAAU,KAE5CgB,IAAQ,CAACjB,GAAW,GAAGiB,GAAOhB,CAAU,GAGnC,CAAC,GAAG,GAAGgB,GAAOP,CAAU;AAAA,EAAA;AAG1B,SAAAR,EAAM,GAAGQ,CAAU;AAC5B;"}
@@ -1 +0,0 @@
1
- export declare const swapElements: <T = any>(myArray: T[], index1: number, index2: number) => T[];
@@ -1,5 +0,0 @@
1
- const o = (t, s, e) => (t = [...t], [t[s], t[e]] = [t[e], t[s]], t);
2
- export {
3
- o as swapElements
4
- };
5
- //# sourceMappingURL=swapElements.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swapElements.js","sources":["../../../../src/molecules/table/utils/swapElements.ts"],"sourcesContent":["export const swapElements = <T = any>(myArray: T[], index1: number, index2: number): T[] => {\n myArray = [...myArray];\n\n [myArray[index1], myArray[index2]] = [myArray[index2], myArray[index1]];\n\n return myArray;\n};\n"],"names":["swapElements","myArray","index1","index2"],"mappings":"AAAO,MAAMA,IAAe,CAAUC,GAAcC,GAAgBC,OACxDF,IAAA,CAAC,GAAGA,CAAO,GAErB,CAACA,EAAQC,CAAM,GAAGD,EAAQE,CAAM,CAAC,IAAI,CAACF,EAAQE,CAAM,GAAGF,EAAQC,CAAM,CAAC,GAE/DD;"}
@@ -1,32 +0,0 @@
1
- import { jsxs as m, jsx as l } from "react/jsx-runtime";
2
- import f from "formiojs/utils";
3
- import { Form as d } from "../Form.js";
4
- function n(t, s) {
5
- return {
6
- ...s,
7
- ...t
8
- };
9
- }
10
- function c({ action: t, ...s }) {
11
- return f.eachComponent(s.components, (r) => {
12
- const e = "";
13
- r.type === "resourcefields" && (r.type = "select", r.label = r.title, r.dataSrc = "url", r.data = {
14
- url: `${r.basePath}?type=resource${e}`
15
- }, r.valueProperty = "_id", r.template = "<span>{{ item.title }}</span>", r.persistent = !0);
16
- }), s;
17
- }
18
- function F({ actionInfo: t, children: s, onSubmit: r, options: e, ...i }) {
19
- const { form: u, submission: a } = (() => {
20
- const o = n(i.submission || {}, t.defaults);
21
- return { form: c(t.settingsForm), submission: { data: o } };
22
- })();
23
- return /* @__PURE__ */ m("div", { children: [
24
- s,
25
- /* @__PURE__ */ l(d, { form: u, submission: a, onSubmit: r, options: e }),
26
- s
27
- ] });
28
- }
29
- export {
30
- F as FormAction
31
- };
32
- //# sourceMappingURL=FormAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormAction.js","sources":["../../../../src/organisms/form/action/FormAction.tsx"],"sourcesContent":["import FormioUtils from \"formiojs/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsType, ActionType, FormOptions, SubmissionType } from \"../../../interfaces\";\nimport { Form } from \"../../form/Form\";\n\nfunction mapData(options: any, defaults: ActionDefaultsType): any {\n return {\n ...defaults,\n ...options\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction mapSettingsForm({ action, ...settingsForm }: any): any {\n FormioUtils.eachComponent(settingsForm.components, (component: any) => {\n const resourceExclude = \"\";\n\n if (component.type === \"resourcefields\") {\n component.type = \"select\";\n component.label = component.title;\n component.dataSrc = \"url\";\n component.data = {\n url: `${component.basePath}?type=resource${resourceExclude}`\n };\n component.valueProperty = \"_id\";\n component.template = \"<span>{{ item.title }}</span>\";\n component.persistent = true;\n }\n });\n\n return settingsForm;\n}\n\nexport interface FormActionProps {\n actionInfo: Partial<ActionType>;\n submission?: Partial<SubmissionType>;\n onSubmit?: (submission: SubmissionType<ActionType>) => void;\n options: FormOptions;\n}\n\nexport function FormAction({ actionInfo, children, onSubmit, options, ...props }: PropsWithChildren<FormActionProps>): ReactElement {\n const { form, submission } = (() => {\n const submission = mapData(props.submission || {}, actionInfo.defaults!);\n const form = mapSettingsForm(actionInfo.settingsForm);\n\n return { form, submission: { data: submission } };\n })();\n\n return (\n <div>\n {children}\n\n <Form<ActionType> form={form} submission={submission} onSubmit={onSubmit} options={options} />\n\n {children}\n </div>\n );\n}\n"],"names":["mapData","options","defaults","mapSettingsForm","action","settingsForm","FormioUtils","component","resourceExclude","FormAction","actionInfo","children","onSubmit","props","form","submission","jsx","Form"],"mappings":";;;AAMA,SAASA,EAAQC,GAAcC,GAAmC;AACzD,SAAA;AAAA,IACL,GAAGA;AAAA,IACH,GAAGD;AAAA,EACL;AACF;AAGA,SAASE,EAAgB,EAAE,QAAAC,GAAQ,GAAGC,KAA0B;AAC9D,SAAAC,EAAY,cAAcD,EAAa,YAAY,CAACE,MAAmB;AACrE,UAAMC,IAAkB;AAEpB,IAAAD,EAAU,SAAS,qBACrBA,EAAU,OAAO,UACjBA,EAAU,QAAQA,EAAU,OAC5BA,EAAU,UAAU,OACpBA,EAAU,OAAO;AAAA,MACf,KAAK,GAAGA,EAAU,QAAQ,iBAAiBC,CAAe;AAAA,IAC5D,GACAD,EAAU,gBAAgB,OAC1BA,EAAU,WAAW,iCACrBA,EAAU,aAAa;AAAA,EACzB,CACD,GAEMF;AACT;AASgB,SAAAI,EAAW,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,SAAAX,GAAS,GAAGY,KAA2D;AAClI,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAW,KAAK,MAAM;AAClC,UAAMA,IAAaf,EAAQa,EAAM,cAAc,CAAC,GAAGH,EAAW,QAAS;AAGvE,WAAO,EAAE,MAFIP,EAAgBO,EAAW,YAAY,GAErC,YAAY,EAAE,MAAMK,IAAa;AAAA,EAAA,GAC/C;AAEH,2BACG,OACE,EAAA,UAAA;AAAA,IAAAJ;AAAA,IAEA,gBAAAK,EAAAC,GAAA,EAAiB,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAX,GAAkB;AAAA,IAE3FU;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,6 +0,0 @@
1
- import { CellProps } from 'react-table';
2
- import { FormType } from '../../../../interfaces';
3
- export declare function FormsCell(props: CellProps<FormType> & {
4
- icon: string;
5
- i18n: (f: string) => string;
6
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,50 +0,0 @@
1
- import { jsxs as e, jsx as s } from "react/jsx-runtime";
2
- import { c as m } from "../../../../chunks/index.js";
3
- import c from "moment";
4
- import { iconClass as i } from "../../../../utils/iconClass.js";
5
- import { stopPropagationWrapper as n } from "../../../../utils/stopPropagationWrapper.js";
6
- function f(r) {
7
- const {
8
- icon: o = "server",
9
- row: { original: a }
10
- } = r;
11
- return /* @__PURE__ */ e("div", { className: "p-1", children: [
12
- /* @__PURE__ */ e("h4", { className: "text-primary text-lg flex items-center", children: [
13
- /* @__PURE__ */ s("i", { className: m(i(void 0, o), "mr-1") }),
14
- a.title
15
- ] }),
16
- /* @__PURE__ */ e("ul", { className: "reset-list text-gray-500", children: [
17
- /* @__PURE__ */ e("li", { className: "text-sm", children: [
18
- "Name: ",
19
- a.name || a.machineName
20
- ] }),
21
- /* @__PURE__ */ e("li", { className: "mt-5", children: [
22
- /* @__PURE__ */ e("span", { className: "badge bg-light mr-1", children: [
23
- /* @__PURE__ */ s("i", { className: m(i(void 0, "history"), "mr-1") }),
24
- /* @__PURE__ */ e("span", { children: [
25
- "Updated ",
26
- c(a.modified).fromNow()
27
- ] })
28
- ] }),
29
- (a.tags || []).map((t, l) => /* @__PURE__ */ e(
30
- "button",
31
- {
32
- className: "badge badge-hover bg-secondary mr-1",
33
- onClick: n(() => {
34
- r.setFilter("tags", t), r.gotoPage(0);
35
- }),
36
- children: [
37
- /* @__PURE__ */ s("i", { className: m(i(void 0, "tags"), "mr-1") }),
38
- t
39
- ]
40
- },
41
- l
42
- ))
43
- ] })
44
- ] })
45
- ] });
46
- }
47
- export {
48
- f as FormsCell
49
- };
50
- //# sourceMappingURL=FormCell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormCell.js","sources":["../../../../../src/organisms/table/forms/components/FormCell.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport moment from \"moment\";\nimport { CellProps } from \"react-table\";\n\nimport type { FormType } from \"../../../../interfaces\";\nimport { iconClass } from \"../../../../utils/iconClass\";\nimport { stopPropagationWrapper } from \"../../../../utils/stopPropagationWrapper\";\n\nexport function FormsCell(props: CellProps<FormType> & { icon: string; i18n: (f: string) => string }) {\n const {\n icon = \"server\",\n row: { original: form }\n } = props;\n\n return (\n <div className={\"p-1\"}>\n <h4 className={\"text-primary text-lg flex items-center\"}>\n <i className={classnames(iconClass(undefined, icon), \"mr-1\")} />\n {form.title}\n </h4>\n\n <ul className='reset-list text-gray-500'>\n <li className={\"text-sm\"}>Name: {form.name || form.machineName}</li>\n <li className='mt-5'>\n <span className='badge bg-light mr-1'>\n <i className={classnames(iconClass(undefined, \"history\"), \"mr-1\")} />\n <span>Updated {moment(form.modified).fromNow()}</span>\n </span>\n\n {(form.tags || []).map((tag, index) => (\n <button\n key={index}\n className='badge badge-hover bg-secondary mr-1'\n onClick={stopPropagationWrapper(() => {\n props.setFilter(\"tags\", tag);\n props.gotoPage(0);\n })}\n >\n <i className={classnames(iconClass(undefined, \"tags\"), \"mr-1\")} />\n {tag}\n </button>\n ))}\n </li>\n </ul>\n </div>\n );\n}\n"],"names":["FormsCell","props","icon","form","jsxs","jsx","classnames","iconClass","moment","tag","index","stopPropagationWrapper"],"mappings":";;;;;AAQO,SAASA,EAAUC,GAA4E;AAC9F,QAAA;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,KAAK,EAAE,UAAUC,EAAK;AAAA,EAAA,IACpBF;AAGF,SAAA,gBAAAG,EAAC,OAAI,EAAA,WAAW,OACd,UAAA;AAAA,IAAC,gBAAAA,EAAA,MAAA,EAAG,WAAW,0CACb,UAAA;AAAA,MAAC,gBAAAC,EAAA,KAAA,EAAE,WAAWC,EAAWC,EAAU,QAAWL,CAAI,GAAG,MAAM,GAAG;AAAA,MAC7DC,EAAK;AAAA,IAAA,GACR;AAAA,IAEA,gBAAAC,EAAC,MAAG,EAAA,WAAU,4BACZ,UAAA;AAAA,MAAC,gBAAAA,EAAA,MAAA,EAAG,WAAW,WAAW,UAAA;AAAA,QAAA;AAAA,QAAOD,EAAK,QAAQA,EAAK;AAAA,MAAA,GAAY;AAAA,MAC/D,gBAAAC,EAAC,MAAG,EAAA,WAAU,QACZ,UAAA;AAAA,QAAC,gBAAAA,EAAA,QAAA,EAAK,WAAU,uBACd,UAAA;AAAA,UAAC,gBAAAC,EAAA,KAAA,EAAE,WAAWC,EAAWC,EAAU,QAAW,SAAS,GAAG,MAAM,GAAG;AAAA,4BAClE,QAAK,EAAA,UAAA;AAAA,YAAA;AAAA,YAASC,EAAOL,EAAK,QAAQ,EAAE,QAAQ;AAAA,UAAA,EAAE,CAAA;AAAA,QAAA,GACjD;AAAA,SAEEA,EAAK,QAAQ,IAAI,IAAI,CAACM,GAAKC,MAC3B,gBAAAN;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACV,SAASO,EAAuB,MAAM;AAC9B,cAAAV,EAAA,UAAU,QAAQQ,CAAG,GAC3BR,EAAM,SAAS,CAAC;AAAA,YAAA,CACjB;AAAA,YAED,UAAA;AAAA,cAAC,gBAAAI,EAAA,KAAA,EAAE,WAAWC,EAAWC,EAAU,QAAW,MAAM,GAAG,MAAM,GAAG;AAAA,cAC/DE;AAAA,YAAA;AAAA,UAAA;AAAA,UARIC;AAAA,QAUR,CAAA;AAAA,MAAA,EACH,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
package/dist/typings.d.js DELETED
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=typings.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typings.d.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { Row } from "react-table";
2
-
3
- import type { ExtendedCell } from "../hooks/useCustomTable";
4
-
5
- export function DefaultCells<Data extends object = {}>({ row }: { row: Row<Data> }) {
6
- return (
7
- <>
8
- {row.cells.map((cell: ExtendedCell<Data>, i) => {
9
- const { hidden, colspan } = cell.column;
10
-
11
- if (hidden) {
12
- return null;
13
- }
14
-
15
- return (
16
- <td
17
- colSpan={colspan}
18
- {...cell.getCellProps({
19
- className: cell.column.className,
20
- style: cell.column.style
21
- })}
22
- key={`tableInstance.page.cells.${cell.value || "value"}.${i}`}
23
- >
24
- {cell.render("Cell") as any}
25
- </td>
26
- );
27
- })}
28
- </>
29
- );
30
- }
@@ -1,52 +0,0 @@
1
- import classnames from "classnames";
2
- import omit from "lodash/omit";
3
- import { DetailedHTMLProps, HTMLAttributes } from "react";
4
- import { Row } from "react-table";
5
-
6
- import { iconClass } from "../../../utils/iconClass";
7
- import { useDndRow } from "../hooks/useDragnDropRow";
8
- import { DefaultCells } from "./DefaultCells";
9
-
10
- export interface DefaultRowProps<Data extends object = {}>
11
- extends Omit<DetailedHTMLProps<HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "onClick" | "onDrag" | "onDrop"> {
12
- onClick: (data: any, action: string) => void;
13
- row: Row<Data>;
14
- index: number;
15
- onDrop: (item: Data) => void;
16
- onDrag: (index: number, hoverIndex: number) => void;
17
- enableDragNDrop?: boolean;
18
- }
19
-
20
- export function DefaultDndRow<Data extends object = {}>(props: DefaultRowProps<Data>) {
21
- const { isDragging, dragRef, dropRef, opacity } = useDndRow(props);
22
-
23
- return (
24
- <tr ref={dropRef} style={{ opacity }}>
25
- {/* eslint-disable-next-line jsx-a11y/no-interactive-element-to-noninteractive-role */}
26
- <td ref={dragRef} role='cell' style={{ cursor: isDragging ? "grabbing" : "grab" }} className='align-middle'>
27
- <div className='flex items-center justify-center'>
28
- <i className={classnames(iconClass(undefined, "dots-vertical-rounded"))} />
29
- </div>
30
- </td>
31
- <DefaultCells<Data> {...props} />
32
- </tr>
33
- );
34
- }
35
-
36
- export function DefaultRow<Data extends object = {}>({ onClick, row, enableDragNDrop, onDrop, onDrag, ...props }: DefaultRowProps<Data>) {
37
- const opts = {
38
- ...props,
39
- onClick: () => onClick(row.original, "row"),
40
- ...row.getRowProps()
41
- };
42
-
43
- if (enableDragNDrop) {
44
- return <DefaultDndRow<Data> {...opts} row={row} onDrag={onDrag} onDrop={onDrop} />;
45
- }
46
-
47
- return (
48
- <tr {...omit(opts, ["key"])}>
49
- <DefaultCells<Data> row={row} />
50
- </tr>
51
- );
52
- }
@@ -1,7 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
- import { DndProvider } from "react-dnd";
3
- import { HTML5Backend } from "react-dnd-html5-backend";
4
-
5
- export function DrapNDropContainer({ enableDragNDrop, children }: PropsWithChildren<{ enableDragNDrop?: boolean }>) {
6
- return enableDragNDrop ? <DndProvider backend={HTML5Backend}>{children}</DndProvider> : <>{children}</>;
7
- }
@@ -1,33 +0,0 @@
1
- import "../../../molecules/forms/select/all.ts";
2
-
3
- import { act, fireEvent, render, screen } from "@testing-library/react";
4
-
5
- import { DefaultColumnFilter } from "./DefaultColumnFilter";
6
-
7
- describe("DefaultColumnFilter", () => {
8
- it("should display text-field and handle change", async () => {
9
- const props = {
10
- filterId: "data.id",
11
- setFilterId: vi.fn(),
12
- name: "data.id",
13
- column: { id: "id", filterValue: "", setFilter: vi.fn() }
14
- };
15
-
16
- render(
17
- // @ts-ignore
18
- <DefaultColumnFilter {...props} />
19
- );
20
-
21
- const input = screen.getByRole("textbox");
22
-
23
- // eslint-disable-next-line testing-library/no-unnecessary-act
24
- await act(async () => {
25
- fireEvent.change(input, { target: { value: "value-test" } });
26
-
27
- await new Promise((resolve) => setTimeout(resolve, 300));
28
- });
29
-
30
- expect(props.column.setFilter).toHaveBeenCalledWith("value-test");
31
- expect(props.setFilterId).toHaveBeenCalledWith("id");
32
- });
33
- });
@@ -1,38 +0,0 @@
1
- import { useState } from "react";
2
- import { FilterProps } from "react-table";
3
-
4
- import { InputText } from "../../../molecules/forms/input-text/InputText";
5
-
6
- export function DefaultColumnFilter<D extends Record<string, unknown> = {}>(
7
- props: FilterProps<D> & {
8
- filterId: string;
9
- setFilterId: any;
10
- column: { id: string; filterValue: any; setFilter: any };
11
- }
12
- ) {
13
- const {
14
- filterId,
15
- setFilterId,
16
- column: { id, filterValue, setFilter }
17
- } = props;
18
-
19
- const [value, setValue] = useState(filterValue || "");
20
-
21
- /* eslint-disable jsx-a11y/no-autofocus */
22
- return (
23
- <InputText
24
- size={"small"}
25
- id={id}
26
- name={id}
27
- key={id}
28
- autoFocus={id === filterId}
29
- value={value}
30
- onChange={(_, value: any) => {
31
- setValue(value);
32
- setFilterId(id);
33
- setFilter(value || undefined);
34
- }}
35
- placeholder={"Search records..."}
36
- />
37
- );
38
- }
@@ -1,68 +0,0 @@
1
- import "../../../molecules/forms/select/all.ts";
2
-
3
- import { render, screen } from "@testing-library/react";
4
-
5
- import { SelectColumnFilter } from "./SelectColumnFilter";
6
-
7
- describe("SelectColumnFilter", () => {
8
- it("should display select with choices", async () => {
9
- const mockSetFilter = vi.fn();
10
- const props = {
11
- name: "data.id",
12
- setFilter: mockSetFilter,
13
- column: {
14
- id: "id",
15
- preFilteredRows: [{ values: { id: "select-choice-1" } }, { values: { id: "select-choice-2" } }]
16
- }
17
- };
18
-
19
- render(
20
- // @ts-ignore
21
- <SelectColumnFilter {...props} />
22
- );
23
-
24
- expect(screen.getByText("select-choice-1")).toBeDefined();
25
- expect(screen.getByText("select-choice-2")).toBeDefined();
26
- });
27
- it("should display select with custom choices", async () => {
28
- const mockSetFilter = vi.fn();
29
- const props = {
30
- name: "data.id",
31
- setFilter: mockSetFilter,
32
- column: {
33
- id: "id",
34
- preFilteredRows: [{ values: { id: "select-choice-1" } }, { values: { id: "select-choice-2" } }],
35
- choices: [{ label: "fake-choice", value: "fake-choice" }]
36
- }
37
- };
38
-
39
- render(
40
- // @ts-ignore
41
- <SelectColumnFilter {...props} />
42
- );
43
-
44
- expect(screen.queryByText("select-choice-1")).toBeNull();
45
- expect(screen.getByText("fake-choice")).toBeDefined();
46
- });
47
-
48
- it("should display select with custom choices (function)", async () => {
49
- const mockSetFilter = vi.fn();
50
- const props = {
51
- name: "data.id",
52
- setFilter: mockSetFilter,
53
- column: {
54
- id: "id",
55
- preFilteredRows: [{ values: { id: "select-choice-1" } }, { values: { id: "select-choice-2" } }],
56
- choices: () => [{ label: "fake-choice", value: "fake-choice" }]
57
- }
58
- };
59
-
60
- render(
61
- // @ts-ignore
62
- <SelectColumnFilter {...props} />
63
- );
64
-
65
- expect(screen.queryByText("select-choice-1")).toBeNull();
66
- expect(screen.getByText("fake-choice")).toBeDefined();
67
- });
68
- });
@@ -1,51 +0,0 @@
1
- import { FilterProps } from "react-table";
2
-
3
- import { Select } from "../../../molecules/forms/select/Select";
4
-
5
- export function useSelectColumnFilter<D extends Record<string, unknown> = {}>(props: FilterProps<D>) {
6
- const { column } = props;
7
- const { id, preFilteredRows } = column as any;
8
- const { choices: customChoices } = column as any;
9
- const { filterValue, setFilter } = column as any;
10
-
11
- const choices = (() => {
12
- if (customChoices) {
13
- if (typeof customChoices === "function") {
14
- return customChoices(props);
15
- }
16
- return customChoices;
17
- }
18
-
19
- return [...new Set(preFilteredRows.map((row: any) => row.values[id]))]
20
- .filter((value) => value)
21
- .map((value) => ({
22
- label: value,
23
- value
24
- }));
25
- })();
26
-
27
- const onChange = (_: string | undefined, value: any) => {
28
- setFilter(value || undefined);
29
- };
30
-
31
- return {
32
- value: filterValue,
33
- onChange,
34
- options: [{ value: "", label: "All" }].concat(choices)
35
- };
36
- }
37
-
38
- export function SelectColumnFilter<D extends Record<string, unknown> = {}>(props: FilterProps<D>) {
39
- const { value, options, onChange } = useSelectColumnFilter(props);
40
-
41
- return (
42
- <Select
43
- key={`filter-${props.column.id}`}
44
- name={`filter-${props.column.id}`}
45
- size={"small"}
46
- value={value}
47
- options={options}
48
- onChange={onChange}
49
- />
50
- );
51
- }
@@ -1,28 +0,0 @@
1
- import type { FilterProps } from "react-table";
2
-
3
- export function SliderColumnFilter<D extends Record<string, unknown> = {}>({
4
- column: { filterValue, setFilter, preFilteredRows, id }
5
- }: FilterProps<D> & { column: { filterValue: any; setFilter: any; preFilteredRows: any[]; id: string } }) {
6
- let min = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;
7
- let max = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;
8
-
9
- preFilteredRows.forEach((row) => {
10
- min = Math.min(row?.values[id], min);
11
- max = Math.max(row?.values[id], max);
12
- });
13
-
14
- return (
15
- <>
16
- <input
17
- type='range'
18
- min={min}
19
- max={max}
20
- value={filterValue || min}
21
- onChange={(e) => {
22
- setFilter(parseInt(e.target.value, 10));
23
- }}
24
- />
25
- <button onClick={() => setFilter(undefined)}>Off</button>
26
- </>
27
- );
28
- }