@tsed/react-formio 3.0.0-alpha.1 → 3.0.0-alpha.11

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 (626) hide show
  1. package/dist/atoms/icon/Icon.d.ts +6 -0
  2. package/dist/atoms/icon/Icon.js +12 -0
  3. package/dist/atoms/icon/Icon.js.map +1 -0
  4. package/dist/chunks/_commonjsHelpers.js +7 -0
  5. package/dist/chunks/_commonjsHelpers.js.map +1 -0
  6. package/dist/chunks/index.js +16 -18
  7. package/dist/chunks/index.js.map +1 -1
  8. package/dist/chunks/index.module.js +56 -0
  9. package/dist/chunks/index.module.js.map +1 -0
  10. package/dist/chunks/react-select-animated.esm.js +3513 -0
  11. package/dist/chunks/react-select-animated.esm.js.map +1 -0
  12. package/dist/hooks/keyboard.constants.d.ts +38 -0
  13. package/dist/hooks/keyboard.constants.js +7 -0
  14. package/dist/hooks/keyboard.constants.js.map +1 -0
  15. package/dist/hooks/useKeyboardControls.d.ts +12 -0
  16. package/dist/hooks/useKeyboardControls.js +35 -0
  17. package/dist/hooks/useKeyboardControls.js.map +1 -0
  18. package/dist/index.d.ts +0 -6
  19. package/dist/index.js +12 -105
  20. package/dist/index.js.map +1 -1
  21. package/dist/interfaces/ActionType.d.ts +23 -0
  22. package/dist/interfaces/ActionType.js +2 -0
  23. package/dist/interfaces/ActionType.js.map +1 -0
  24. package/dist/interfaces/ComponentType.d.ts +2 -0
  25. package/dist/interfaces/ComponentType.js +2 -0
  26. package/dist/interfaces/ComponentType.js.map +1 -0
  27. package/dist/interfaces/FormOptions.d.ts +3 -0
  28. package/dist/interfaces/{FormSchema.d.ts → FormType.d.ts} +3 -3
  29. package/dist/interfaces/FormType.js +2 -0
  30. package/dist/interfaces/FormType.js.map +1 -0
  31. package/dist/interfaces/Operation.d.ts +13 -4
  32. package/dist/interfaces/{RoleSchema.d.ts → RoleType.d.ts} +1 -1
  33. package/dist/interfaces/RoleType.js +2 -0
  34. package/dist/interfaces/RoleType.js.map +1 -0
  35. package/dist/interfaces/SubmissionType.d.ts +29 -0
  36. package/dist/interfaces/SubmissionType.js +2 -0
  37. package/dist/interfaces/SubmissionType.js.map +1 -0
  38. package/dist/interfaces/index.d.ts +5 -4
  39. package/dist/molecules/alert/Alert.d.ts +6 -0
  40. package/dist/{components/alert/alert.component.js → molecules/alert/Alert.js} +10 -7
  41. package/dist/molecules/alert/Alert.js.map +1 -0
  42. package/dist/molecules/button/Button.d.ts +21 -0
  43. package/dist/molecules/button/Button.js +51 -0
  44. package/dist/molecules/button/Button.js.map +1 -0
  45. package/dist/molecules/card/Card.js +14 -0
  46. package/dist/molecules/card/Card.js.map +1 -0
  47. package/dist/molecules/forms/form-control/FormControl.d.ts +17 -0
  48. package/dist/molecules/forms/form-control/FormControl.js +51 -0
  49. package/dist/molecules/forms/form-control/FormControl.js.map +1 -0
  50. package/dist/molecules/forms/input-tags/InputTags.d.ts +2 -0
  51. package/dist/molecules/forms/input-tags/InputTags.interface.d.ts +7 -0
  52. package/dist/molecules/forms/input-tags/InputTags.interface.js +2 -0
  53. package/dist/molecules/forms/input-tags/InputTags.interface.js.map +1 -0
  54. package/dist/molecules/forms/input-tags/InputTags.js +25 -0
  55. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -0
  56. package/dist/molecules/forms/input-tags/all.d.ts +2 -0
  57. package/dist/molecules/forms/input-tags/all.js +9 -0
  58. package/dist/molecules/forms/input-tags/all.js.map +1 -0
  59. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +307 -0
  60. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +51 -0
  61. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -0
  62. package/dist/molecules/forms/input-tags/components/ReactTags.d.ts +2 -0
  63. package/dist/molecules/forms/input-tags/components/ReactTags.js +1937 -0
  64. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -0
  65. package/dist/molecules/forms/input-text/InputText.d.ts +2 -0
  66. package/dist/molecules/forms/input-text/InputText.interface.d.ts +4 -0
  67. package/dist/molecules/forms/input-text/InputText.interface.js +2 -0
  68. package/dist/molecules/forms/input-text/InputText.interface.js.map +1 -0
  69. package/dist/molecules/forms/input-text/InputText.js +54 -0
  70. package/dist/molecules/forms/input-text/InputText.js.map +1 -0
  71. package/dist/molecules/forms/select/Select.d.ts +2 -0
  72. package/dist/molecules/forms/select/Select.interface.d.ts +38 -0
  73. package/dist/molecules/forms/select/Select.interface.js +2 -0
  74. package/dist/molecules/forms/select/Select.interface.js.map +1 -0
  75. package/dist/molecules/forms/select/Select.js +16 -0
  76. package/dist/molecules/forms/select/Select.js.map +1 -0
  77. package/dist/molecules/forms/select/all.d.ts +2 -0
  78. package/dist/molecules/forms/select/all.js +9 -0
  79. package/dist/molecules/forms/select/all.js.map +1 -0
  80. package/dist/molecules/forms/select/components/ChoicesSelect.d.ts +7 -0
  81. package/dist/molecules/forms/select/components/ChoicesSelect.js +115 -0
  82. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -0
  83. package/dist/molecules/forms/select/components/HtmlSelect.d.ts +2 -0
  84. package/dist/molecules/forms/select/components/HtmlSelect.js +35 -0
  85. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -0
  86. package/dist/molecules/forms/select/components/ReactSelect.d.ts +2 -0
  87. package/dist/molecules/forms/select/components/ReactSelect.js +46 -0
  88. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -0
  89. package/dist/molecules/forms/select/components/choices.template.d.ts +7 -0
  90. package/dist/molecules/forms/select/components/choices.template.js +9654 -0
  91. package/dist/molecules/forms/select/components/choices.template.js.map +1 -0
  92. package/dist/molecules/forms/select/hooks/useOptions.d.ts +9 -0
  93. package/dist/molecules/forms/select/hooks/useOptions.js +35 -0
  94. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -0
  95. package/dist/{components/loader/loader.component.d.ts → molecules/loader/Loader.d.ts} +0 -9
  96. package/dist/molecules/loader/Loader.js +19 -0
  97. package/dist/molecules/loader/Loader.js.map +1 -0
  98. package/dist/{components/modal/modal.component.js → molecules/modal/Modal.js} +1 -1
  99. package/dist/molecules/modal/Modal.js.map +1 -0
  100. package/dist/{components/pagination/pagination.component.d.ts → molecules/pagination/Pagination.d.ts} +6 -5
  101. package/dist/molecules/pagination/Pagination.js +77 -0
  102. package/dist/molecules/pagination/Pagination.js.map +1 -0
  103. package/dist/molecules/pagination/PaginationButton.d.ts +7 -0
  104. package/dist/molecules/pagination/PaginationButton.js +21 -0
  105. package/dist/molecules/pagination/PaginationButton.js.map +1 -0
  106. package/dist/molecules/pagination/all.d.ts +2 -0
  107. package/dist/molecules/pagination/all.js +12 -0
  108. package/dist/molecules/pagination/all.js.map +1 -0
  109. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -0
  110. package/dist/molecules/table/Table.d.ts +17 -0
  111. package/dist/molecules/table/Table.js +63 -0
  112. package/dist/molecules/table/Table.js.map +1 -0
  113. package/dist/molecules/table/all.d.ts +0 -0
  114. package/dist/molecules/table/all.js +19 -0
  115. package/dist/molecules/table/all.js.map +1 -0
  116. package/dist/molecules/table/components/DefaultArrowSort.d.ts +5 -0
  117. package/dist/molecules/table/components/DefaultArrowSort.js +22 -0
  118. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -0
  119. package/dist/molecules/table/components/DefaultCell.d.ts +5 -0
  120. package/dist/molecules/table/components/DefaultCell.js +13 -0
  121. package/dist/molecules/table/components/DefaultCell.js.map +1 -0
  122. package/dist/molecules/table/components/DefaultCellFooter.d.ts +6 -0
  123. package/dist/molecules/table/components/DefaultCellFooter.js +12 -0
  124. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -0
  125. package/dist/molecules/table/components/DefaultCellHeader.d.ts +6 -0
  126. package/dist/molecules/table/components/DefaultCellHeader.js +30 -0
  127. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -0
  128. package/dist/molecules/table/components/DefaultCellOperations.d.ts +18 -0
  129. package/dist/molecules/table/components/DefaultCellOperations.js +30 -0
  130. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -0
  131. package/dist/molecules/table/components/DefaultFilter.d.ts +11 -0
  132. package/dist/molecules/table/components/DefaultFilter.js +15 -0
  133. package/dist/molecules/table/components/DefaultFilter.js.map +1 -0
  134. package/dist/molecules/table/components/DefaultOperationButton.d.ts +19 -0
  135. package/dist/molecules/table/components/DefaultOperationButton.js +30 -0
  136. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -0
  137. package/dist/molecules/table/filters/Filters.d.js +2 -0
  138. package/dist/molecules/table/filters/Filters.d.js.map +1 -0
  139. package/dist/molecules/table/filters/RangeFilter.d.ts +3 -0
  140. package/dist/molecules/table/filters/RangeFilter.js +42 -0
  141. package/dist/molecules/table/filters/RangeFilter.js.map +1 -0
  142. package/dist/molecules/table/filters/SelectFilter.d.ts +3 -0
  143. package/dist/molecules/table/filters/SelectFilter.js +35 -0
  144. package/dist/molecules/table/filters/SelectFilter.js.map +1 -0
  145. package/dist/molecules/table/filters/TextFieldFilter.d.ts +3 -0
  146. package/dist/molecules/table/filters/TextFieldFilter.js +27 -0
  147. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -0
  148. package/dist/molecules/table/hooks/useTable.d.ts +23 -0
  149. package/dist/molecules/table/hooks/useTable.js +34 -0
  150. package/dist/molecules/table/hooks/useTable.js.map +1 -0
  151. package/dist/molecules/table/hooks/useUniqValues.d.ts +5 -0
  152. package/dist/molecules/table/hooks/useUniqValues.js +11 -0
  153. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -0
  154. package/dist/molecules/table/interfaces/extends.d.ts +14 -0
  155. package/dist/molecules/table/interfaces/extends.js +2 -0
  156. package/dist/molecules/table/interfaces/extends.js.map +1 -0
  157. package/dist/molecules/table/utils/mapFormToColumns.d.ts +3 -0
  158. package/dist/molecules/table/utils/mapFormToColumns.js +39 -0
  159. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -0
  160. package/dist/molecules/tabs/Tab.d.ts +13 -0
  161. package/dist/molecules/tabs/Tab.js +67 -0
  162. package/dist/molecules/tabs/Tab.js.map +1 -0
  163. package/dist/molecules/tabs/TabList.d.ts +2 -0
  164. package/dist/molecules/tabs/TabList.js +24 -0
  165. package/dist/molecules/tabs/TabList.js.map +1 -0
  166. package/dist/molecules/tabs/TabPanel.d.ts +9 -0
  167. package/dist/molecules/tabs/TabPanel.js +27 -0
  168. package/dist/molecules/tabs/TabPanel.js.map +1 -0
  169. package/dist/molecules/tabs/Tabs.d.ts +7 -0
  170. package/dist/molecules/tabs/Tabs.js +12 -0
  171. package/dist/molecules/tabs/Tabs.js.map +1 -0
  172. package/dist/molecules/tabs/TabsBody.d.ts +1 -0
  173. package/dist/molecules/tabs/TabsBody.js +10 -0
  174. package/dist/molecules/tabs/TabsBody.js.map +1 -0
  175. package/dist/molecules/tabs/TabsLegacy.d.ts +17 -0
  176. package/dist/molecules/tabs/TabsLegacy.js +49 -0
  177. package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
  178. package/dist/molecules/tabs/all.d.ts +5 -0
  179. package/dist/molecules/tabs/all.js +13 -0
  180. package/dist/molecules/tabs/all.js.map +1 -0
  181. package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
  182. package/dist/molecules/tabs/context/TabControl.js +85 -0
  183. package/dist/molecules/tabs/context/TabControl.js.map +1 -0
  184. package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
  185. package/dist/molecules/tabs/hooks/tabControl.js +34 -0
  186. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
  187. package/dist/organisms/form/Form.d.ts +22 -0
  188. package/dist/organisms/form/Form.js +15 -0
  189. package/dist/organisms/form/Form.js.map +1 -0
  190. package/dist/{components/form-access/formAccess.component.d.ts → organisms/form/access/FormAccess.d.ts} +2 -2
  191. package/dist/{components/form-access/formAccess.component.js → organisms/form/access/FormAccess.js} +4 -5
  192. package/dist/organisms/form/access/FormAccess.js.map +1 -0
  193. package/dist/organisms/form/access/FormAccess.schema.d.ts +4 -0
  194. package/dist/{components/form-access/formAccess.schema.js → organisms/form/access/FormAccess.schema.js} +1 -1
  195. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -0
  196. package/dist/organisms/form/access/FormAccess.utils.d.ts +23 -0
  197. package/dist/{components/form-access/formAccess.utils.js → organisms/form/access/FormAccess.utils.js} +2 -2
  198. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -0
  199. package/dist/{components/form-action/formAction.component.d.ts → organisms/form/actions/FormAction.d.ts} +4 -4
  200. package/dist/{components/form-action/formAction.component.js → organisms/form/actions/FormAction.js} +2 -2
  201. package/dist/organisms/form/actions/FormAction.js.map +1 -0
  202. package/dist/organisms/form/builder/FormBuilder.d.ts +7 -0
  203. package/dist/organisms/form/builder/FormBuilder.js +17 -0
  204. package/dist/organisms/form/builder/FormBuilder.js.map +1 -0
  205. package/dist/organisms/form/builder/FormEdit.d.ts +10 -0
  206. package/dist/organisms/form/builder/FormEdit.js +73 -0
  207. package/dist/organisms/form/builder/FormEdit.js.map +1 -0
  208. package/dist/organisms/form/builder/FormEdit.reducer.d.ts +10 -0
  209. package/dist/{components/form-edit/formEdit.reducer.js → organisms/form/builder/FormEdit.reducer.js} +1 -1
  210. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -0
  211. package/dist/organisms/form/builder/FormEditCtas.d.ts +15 -0
  212. package/dist/organisms/form/builder/FormEditCtas.js +52 -0
  213. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -0
  214. package/dist/organisms/form/builder/FormParameters.d.ts +24 -0
  215. package/dist/organisms/form/builder/FormParameters.js +84 -0
  216. package/dist/organisms/form/builder/FormParameters.js.map +1 -0
  217. package/dist/organisms/form/builder/all.d.ts +6 -0
  218. package/dist/organisms/form/builder/all.js +26 -0
  219. package/dist/organisms/form/builder/all.js.map +1 -0
  220. package/dist/organisms/form/builder/useFormBuilder.d.ts +28 -0
  221. package/dist/organisms/form/builder/useFormBuilder.js +71 -0
  222. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -0
  223. package/dist/{components/form-edit/useFormEdit.hook.d.ts → organisms/form/builder/useFormEdit.d.ts} +7 -7
  224. package/dist/organisms/form/builder/useFormEdit.js +36 -0
  225. package/dist/organisms/form/builder/useFormEdit.js.map +1 -0
  226. package/dist/organisms/form/exports/FormExport.d.ts +5 -0
  227. package/dist/organisms/form/exports/FormExport.js +55 -0
  228. package/dist/organisms/form/exports/FormExport.js.map +1 -0
  229. package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
  230. package/dist/organisms/form/preview/FormPreview.js +11 -0
  231. package/dist/organisms/form/preview/FormPreview.js.map +1 -0
  232. package/dist/{components/form-settings/formSettings.component.d.ts → organisms/form/settings/FormSettings.d.ts} +2 -2
  233. package/dist/{components/form-settings/formSettings.component.js → organisms/form/settings/FormSettings.js} +4 -4
  234. package/dist/organisms/form/settings/FormSettings.js.map +1 -0
  235. package/dist/organisms/form/settings/FormSettings.schema.d.ts +2 -0
  236. package/dist/{components/form-settings/formSettings.schema.js → organisms/form/settings/FormSettings.schema.js} +1 -1
  237. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -0
  238. package/dist/organisms/form/settings/FormSettings.utils.d.ts +8 -0
  239. package/dist/{components/form-settings/formSettings.utils.js → organisms/form/settings/FormSettings.utils.js} +1 -1
  240. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -0
  241. package/dist/organisms/form/types.d.ts +15 -0
  242. package/dist/organisms/form/types.js +2 -0
  243. package/dist/organisms/form/types.js.map +1 -0
  244. package/dist/organisms/form/useForm.d.ts +65 -0
  245. package/dist/organisms/form/useForm.js +776 -0
  246. package/dist/organisms/form/useForm.js.map +1 -0
  247. package/dist/{components/modal/removeModal.component.d.ts → organisms/modal/RemoveModal.d.ts} +1 -1
  248. package/dist/{components/modal/removeModal.component.js → organisms/modal/RemoveModal.js} +10 -10
  249. package/dist/organisms/modal/RemoveModal.js.map +1 -0
  250. package/dist/organisms/table/actions/ActionsTable.d.ts +10 -0
  251. package/dist/organisms/table/actions/ActionsTable.js +46 -0
  252. package/dist/organisms/table/actions/ActionsTable.js.map +1 -0
  253. package/dist/organisms/table/forms/FormsTable.d.ts +9 -0
  254. package/dist/organisms/table/forms/FormsTable.js +57 -0
  255. package/dist/organisms/table/forms/FormsTable.js.map +1 -0
  256. package/dist/organisms/table/forms/components/FormsCell.d.ts +5 -0
  257. package/dist/organisms/table/forms/components/FormsCell.js +50 -0
  258. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -0
  259. package/dist/organisms/table/submissions/SubmissionsTable.d.ts +14 -0
  260. package/dist/organisms/table/submissions/SubmissionsTable.js +14 -0
  261. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -0
  262. package/dist/organisms/views/FormViews.d.ts +24 -0
  263. package/dist/organisms/views/FormViews.js +96 -0
  264. package/dist/organisms/views/FormViews.js.map +1 -0
  265. package/dist/registries/components.d.ts +3 -0
  266. package/dist/registries/components.js +19 -0
  267. package/dist/registries/components.js.map +1 -0
  268. package/package.json +10 -8
  269. package/readme.md +27 -14
  270. package/src/atoms/icon/Icon.stories.tsx +124 -0
  271. package/src/atoms/icon/Icon.tsx +16 -0
  272. package/src/hooks/keyboard.constants.ts +40 -0
  273. package/src/hooks/useKeyboardControls.spec.tsx +208 -0
  274. package/src/hooks/useKeyboardControls.ts +84 -0
  275. package/src/index.ts +1 -6
  276. package/src/interfaces/ActionType.ts +26 -0
  277. package/src/interfaces/ComponentType.ts +3 -0
  278. package/src/interfaces/FormOptions.ts +4 -1
  279. package/src/interfaces/{FormSchema.ts → FormType.ts} +3 -3
  280. package/src/interfaces/Operation.ts +10 -4
  281. package/src/interfaces/{RoleSchema.ts → RoleType.ts} +1 -1
  282. package/src/interfaces/SubmissionType.ts +20 -0
  283. package/src/interfaces/index.ts +5 -4
  284. package/src/molecules/__fixtures__/build.js +28 -0
  285. package/src/molecules/__fixtures__/form-firstname.fixture.json +256 -0
  286. package/src/molecules/__fixtures__/form-schema.json +350 -0
  287. package/src/molecules/__fixtures__/form-submissions.json +11942 -0
  288. package/src/molecules/__fixtures__/form-wizard.fixture.json +2042 -0
  289. package/src/molecules/__fixtures__/products.json +81539 -0
  290. package/src/molecules/__fixtures__/useValue.hook.ts +14 -0
  291. package/src/{components/alert/alert.component.spec.tsx → molecules/alert/Alert.spec.tsx} +12 -14
  292. package/src/molecules/alert/Alert.stories.tsx +39 -0
  293. package/src/{components/alert/alert.component.tsx → molecules/alert/Alert.tsx} +10 -7
  294. package/src/molecules/button/Button.stories.tsx +106 -0
  295. package/src/molecules/button/Button.tsx +73 -0
  296. package/src/{components/card/card.component.spec.tsx → molecules/card/Card.spec.tsx} +3 -2
  297. package/src/{components/card/card.stories.tsx → molecules/card/Card.stories.tsx} +9 -2
  298. package/src/{components/card/card.component.tsx → molecules/card/Card.tsx} +4 -0
  299. package/src/{components/form-control/formControl.component.spec.tsx → molecules/forms/form-control/FormControl.spec.tsx} +9 -8
  300. package/src/molecules/forms/form-control/FormControl.stories.tsx +58 -0
  301. package/src/molecules/forms/form-control/FormControl.tsx +86 -0
  302. package/src/molecules/forms/input-tags/InputTags.interface.ts +9 -0
  303. package/src/molecules/forms/input-tags/InputTags.tsx +30 -0
  304. package/src/molecules/forms/input-tags/all.ts +6 -0
  305. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +110 -0
  306. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +72 -0
  307. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +140 -0
  308. package/src/molecules/forms/input-tags/components/ReactTags.tsx +38 -0
  309. package/src/molecules/forms/input-text/InputText.interface.ts +5 -0
  310. package/src/{components/input-text/inputText.component.spec.tsx → molecules/forms/input-text/InputText.spec.tsx} +8 -7
  311. package/src/molecules/forms/input-text/InputText.stories.tsx +179 -0
  312. package/src/molecules/forms/input-text/InputText.tsx +63 -0
  313. package/src/molecules/forms/select/Select.interface.ts +45 -0
  314. package/src/molecules/forms/select/Select.tsx +28 -0
  315. package/src/molecules/forms/select/all.ts +7 -0
  316. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +332 -0
  317. package/src/molecules/forms/select/components/ChoicesSelect.tsx +159 -0
  318. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +305 -0
  319. package/src/molecules/forms/select/components/HtmlSelect.tsx +54 -0
  320. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +287 -0
  321. package/src/molecules/forms/select/components/ReactSelect.tsx +60 -0
  322. package/src/molecules/forms/select/components/choices.template.tsx +38 -0
  323. package/src/molecules/forms/select/hooks/useOptions.spec.ts +154 -0
  324. package/src/molecules/forms/select/hooks/useOptions.ts +53 -0
  325. package/src/{components/loader/loader.component.spec.tsx → molecules/loader/Loader.spec.tsx} +3 -3
  326. package/src/molecules/loader/Loader.stories.tsx +43 -0
  327. package/src/{components/loader/loader.component.tsx → molecules/loader/Loader.tsx} +2 -10
  328. package/src/{components/modal/modal.component.spec.tsx → molecules/modal/Modal.spec.tsx} +131 -4
  329. package/src/molecules/modal/Modal.stories.tsx +178 -0
  330. package/src/{components/pagination/pagination.component.spec.tsx → molecules/pagination/Pagination.spec.tsx} +20 -14
  331. package/src/molecules/pagination/Pagination.stories.tsx +92 -0
  332. package/src/{components/pagination/pagination.component.tsx → molecules/pagination/Pagination.tsx} +34 -47
  333. package/src/molecules/pagination/PaginationButton.tsx +30 -0
  334. package/src/molecules/pagination/all.ts +3 -0
  335. package/src/molecules/table/Table.stories.tsx +305 -0
  336. package/src/molecules/table/Table.tsx +106 -0
  337. package/src/molecules/table/all.ts +16 -0
  338. package/src/molecules/table/components/DefaultArrowSort.tsx +26 -0
  339. package/src/molecules/table/components/DefaultCell.tsx +22 -0
  340. package/src/molecules/table/components/DefaultCellFooter.tsx +16 -0
  341. package/src/molecules/table/components/DefaultCellHeader.tsx +42 -0
  342. package/src/molecules/table/components/DefaultCellOperations.tsx +48 -0
  343. package/src/molecules/table/components/DefaultFilter.tsx +42 -0
  344. package/src/molecules/table/components/DefaultOperationButton.tsx +41 -0
  345. package/src/molecules/table/filters/Filters.d.ts +31 -0
  346. package/src/molecules/table/filters/RangeFilter.tsx +43 -0
  347. package/src/molecules/table/filters/SelectFilter.tsx +47 -0
  348. package/src/molecules/table/filters/TextFieldFilter.tsx +36 -0
  349. package/src/molecules/table/hooks/useTable.tsx +75 -0
  350. package/src/molecules/table/hooks/useUniqValues.tsx +10 -0
  351. package/src/molecules/table/interfaces/extends.ts +18 -0
  352. package/src/molecules/table/utils/mapFormToColumns.tsx +74 -0
  353. package/src/molecules/tabs/Tab.tsx +106 -0
  354. package/src/molecules/tabs/TabList.tsx +37 -0
  355. package/src/molecules/tabs/TabPanel.tsx +37 -0
  356. package/src/molecules/tabs/Tabs.spec.tsx +140 -0
  357. package/src/molecules/tabs/Tabs.stories.tsx +374 -0
  358. package/src/molecules/tabs/Tabs.tsx +21 -0
  359. package/src/molecules/tabs/TabsBody.tsx +11 -0
  360. package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
  361. package/src/molecules/tabs/TabsLegacy.tsx +84 -0
  362. package/src/molecules/tabs/all.ts +5 -0
  363. package/src/molecules/tabs/context/TabControl.tsx +166 -0
  364. package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
  365. package/src/molecules/tabs/hooks/tabControl.ts +52 -0
  366. package/src/organisms/__fixtures__/WrapComponent.tsx +11 -0
  367. package/src/organisms/__fixtures__/form-actions.json +240 -0
  368. package/src/organisms/__fixtures__/form-firstname.fixture.json +257 -0
  369. package/src/organisms/__fixtures__/form-wizard.fixture.json +2042 -0
  370. package/src/organisms/__fixtures__/form.fixture.json +2068 -0
  371. package/src/organisms/__fixtures__/useEditForm.tsx +84 -0
  372. package/src/organisms/__fixtures__/utils.ts +74 -0
  373. package/src/{components/form/form.component.spec.tsx → organisms/form/Form.spec.tsx} +5 -6
  374. package/src/organisms/form/Form.stories.tsx +698 -0
  375. package/src/organisms/form/Form.tsx +29 -0
  376. package/src/{components/form-access/formAccess.schema.ts → organisms/form/access/FormAccess.schema.ts} +4 -6
  377. package/src/{components/form-access/formAccess.stories.tsx → organisms/form/access/FormAccess.stories.tsx} +8 -2
  378. package/src/{components/form-access/formAccess.component.tsx → organisms/form/access/FormAccess.tsx} +15 -17
  379. package/src/{components/form-access/formAccess.utils.spec.ts → organisms/form/access/FormAccess.utils.spec.ts} +13 -7
  380. package/src/{components/form-access/formAccess.utils.ts → organisms/form/access/FormAccess.utils.ts} +23 -20
  381. package/src/organisms/form/actions/FormAction.stories.tsx +422 -0
  382. package/src/{components/form-action/formAction.component.tsx → organisms/form/actions/FormAction.tsx} +7 -7
  383. package/src/organisms/form/builder/FormBuilder.stories.tsx +97 -0
  384. package/src/organisms/form/builder/FormBuilder.tsx +28 -0
  385. package/src/{components/form-edit/formEdit.reducer.ts → organisms/form/builder/FormEdit.reducer.ts} +6 -6
  386. package/src/{components/form-edit/formEdit.stories.tsx → organisms/form/builder/FormEdit.stories.tsx} +89 -43
  387. package/src/organisms/form/builder/FormEdit.tsx +81 -0
  388. package/src/organisms/form/builder/FormEditCtas.tsx +97 -0
  389. package/src/{components/form-edit/formParameters.component.tsx → organisms/form/builder/FormParameters.tsx} +28 -28
  390. package/src/organisms/form/builder/all.ts +17 -0
  391. package/src/organisms/form/builder/useFormBuilder.ts +143 -0
  392. package/src/{components/form-edit/useFormEdit.hook.ts → organisms/form/builder/useFormEdit.ts} +9 -9
  393. package/src/organisms/form/exports/FormExport.stories.tsx +71 -0
  394. package/src/organisms/form/exports/FormExport.tsx +58 -0
  395. package/src/organisms/form/preview/FormPreview.stories.tsx +61 -0
  396. package/src/organisms/form/preview/FormPreview.tsx +21 -0
  397. package/src/{components/form-settings/formSettings.component.spec.tsx → organisms/form/settings/FormSettings.component.spec.tsx} +2 -2
  398. package/src/{components/form-settings/formSettings.schema.ts → organisms/form/settings/FormSettings.schema.ts} +2 -2
  399. package/src/{components/form-settings/formSettings.stories.tsx → organisms/form/settings/FormSettings.stories.tsx} +10 -8
  400. package/src/{components/form-settings/formSettings.component.tsx → organisms/form/settings/FormSettings.tsx} +7 -8
  401. package/src/{components/form-settings/formSettings.utils.spec.ts → organisms/form/settings/FormSettings.utils.spec.ts} +1 -1
  402. package/src/{components/form-settings/formSettings.utils.ts → organisms/form/settings/FormSettings.utils.ts} +4 -4
  403. package/src/organisms/form/types.ts +8 -0
  404. package/src/organisms/form/useForm.ts +223 -0
  405. package/src/organisms/modal/RemoveModal.stories.tsx +59 -0
  406. package/src/{components/modal/removeModal.component.tsx → organisms/modal/RemoveModal.tsx} +2 -2
  407. package/src/{components/actions-table/actionsTable.component.spec.tsx → organisms/table/actions/ActionsTable.spec.tsx} +11 -7
  408. package/src/{components/actions-table/actionsTable.stories.tsx → organisms/table/actions/ActionsTable.stories.tsx} +58 -58
  409. package/src/{components/actions-table/actionsTable.component.tsx → organisms/table/actions/ActionsTable.tsx} +13 -20
  410. package/src/{components/forms-table/formsTable.stories.tsx → organisms/table/forms/FormsTable.stories.tsx} +24 -27
  411. package/src/organisms/table/forms/FormsTable.tsx +66 -0
  412. package/src/organisms/table/forms/components/FormsCell.tsx +53 -0
  413. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +142 -0
  414. package/src/organisms/table/submissions/SubmissionsTable.tsx +19 -0
  415. package/src/organisms/views/FormViews.stories.tsx +224 -0
  416. package/src/organisms/views/FormViews.tsx +146 -0
  417. package/src/registries/components.ts +23 -0
  418. package/tsconfig.app.json +1 -1
  419. package/tsconfig.json +3 -0
  420. package/tsconfig.node.json +13 -0
  421. package/dist/components/actions-table/actionsTable.component.d.ts +0 -10
  422. package/dist/components/actions-table/actionsTable.component.js +0 -53
  423. package/dist/components/actions-table/actionsTable.component.js.map +0 -1
  424. package/dist/components/alert/alert.component.d.ts +0 -5
  425. package/dist/components/alert/alert.component.js.map +0 -1
  426. package/dist/components/card/card.component.js +0 -12
  427. package/dist/components/card/card.component.js.map +0 -1
  428. package/dist/components/form/form.component.d.ts +0 -62
  429. package/dist/components/form/form.component.js +0 -64
  430. package/dist/components/form/form.component.js.map +0 -1
  431. package/dist/components/form/useForm.hook.d.ts +0 -59
  432. package/dist/components/form/useForm.hook.js +0 -64
  433. package/dist/components/form/useForm.hook.js.map +0 -1
  434. package/dist/components/form-access/formAccess.component.js.map +0 -1
  435. package/dist/components/form-access/formAccess.schema.d.ts +0 -5
  436. package/dist/components/form-access/formAccess.schema.js.map +0 -1
  437. package/dist/components/form-access/formAccess.utils.d.ts +0 -24
  438. package/dist/components/form-access/formAccess.utils.js.map +0 -1
  439. package/dist/components/form-action/formAction.component.js.map +0 -1
  440. package/dist/components/form-builder/formBuilder.component.d.ts +0 -53
  441. package/dist/components/form-builder/formBuilder.component.js +0 -142
  442. package/dist/components/form-builder/formBuilder.component.js.map +0 -1
  443. package/dist/components/form-control/formControl.component.d.ts +0 -14
  444. package/dist/components/form-control/formControl.component.js +0 -26
  445. package/dist/components/form-control/formControl.component.js.map +0 -1
  446. package/dist/components/form-edit/formCtas.component.d.ts +0 -28
  447. package/dist/components/form-edit/formCtas.component.js +0 -70
  448. package/dist/components/form-edit/formCtas.component.js.map +0 -1
  449. package/dist/components/form-edit/formEdit.component.d.ts +0 -18
  450. package/dist/components/form-edit/formEdit.component.js +0 -57
  451. package/dist/components/form-edit/formEdit.component.js.map +0 -1
  452. package/dist/components/form-edit/formEdit.reducer.d.ts +0 -10
  453. package/dist/components/form-edit/formEdit.reducer.js.map +0 -1
  454. package/dist/components/form-edit/formParameters.component.d.ts +0 -34
  455. package/dist/components/form-edit/formParameters.component.js +0 -92
  456. package/dist/components/form-edit/formParameters.component.js.map +0 -1
  457. package/dist/components/form-edit/useFormEdit.hook.js +0 -36
  458. package/dist/components/form-edit/useFormEdit.hook.js.map +0 -1
  459. package/dist/components/form-settings/formSettings.component.js.map +0 -1
  460. package/dist/components/form-settings/formSettings.schema.d.ts +0 -2
  461. package/dist/components/form-settings/formSettings.schema.js.map +0 -1
  462. package/dist/components/form-settings/formSettings.utils.d.ts +0 -8
  463. package/dist/components/form-settings/formSettings.utils.js.map +0 -1
  464. package/dist/components/forms-table/components/formCell.component.d.ts +0 -6
  465. package/dist/components/forms-table/components/formCell.component.js +0 -50
  466. package/dist/components/forms-table/components/formCell.component.js.map +0 -1
  467. package/dist/components/forms-table/formsTable.component.d.ts +0 -10
  468. package/dist/components/forms-table/formsTable.component.js +0 -29
  469. package/dist/components/forms-table/formsTable.component.js.map +0 -1
  470. package/dist/components/index.d.ts +0 -25
  471. package/dist/components/index.js +0 -86
  472. package/dist/components/index.js.map +0 -1
  473. package/dist/components/input-tags/inputTags.component.d.ts +0 -18
  474. package/dist/components/input-tags/inputTags.component.js +0 -37
  475. package/dist/components/input-tags/inputTags.component.js.map +0 -1
  476. package/dist/components/input-text/inputText.component.d.ts +0 -27
  477. package/dist/components/input-text/inputText.component.js +0 -70
  478. package/dist/components/input-text/inputText.component.js.map +0 -1
  479. package/dist/components/loader/loader.component.js +0 -26
  480. package/dist/components/loader/loader.component.js.map +0 -1
  481. package/dist/components/modal/modal.component.js.map +0 -1
  482. package/dist/components/modal/removeModal.component.js.map +0 -1
  483. package/dist/components/pagination/pagination.component.js +0 -87
  484. package/dist/components/pagination/pagination.component.js.map +0 -1
  485. package/dist/components/select/select.component.d.ts +0 -14
  486. package/dist/components/select/select.component.js +0 -60
  487. package/dist/components/select/select.component.js.map +0 -1
  488. package/dist/components/submissions-table/submissionsTable.component.d.ts +0 -6
  489. package/dist/components/submissions-table/submissionsTable.component.js +0 -11
  490. package/dist/components/submissions-table/submissionsTable.component.js.map +0 -1
  491. package/dist/components/table/components/defaultArrowSort.component.d.ts +0 -1
  492. package/dist/components/table/components/defaultArrowSort.component.js +0 -10
  493. package/dist/components/table/components/defaultArrowSort.component.js.map +0 -1
  494. package/dist/components/table/components/defaultCell.component.d.ts +0 -1
  495. package/dist/components/table/components/defaultCell.component.js +0 -11
  496. package/dist/components/table/components/defaultCell.component.js.map +0 -1
  497. package/dist/components/table/components/defaultCellHeader.component.d.ts +0 -5
  498. package/dist/components/table/components/defaultCellHeader.component.js +0 -14
  499. package/dist/components/table/components/defaultCellHeader.component.js.map +0 -1
  500. package/dist/components/table/components/defaultCellOperations.component.d.ts +0 -12
  501. package/dist/components/table/components/defaultCellOperations.component.js +0 -21
  502. package/dist/components/table/components/defaultCellOperations.component.js.map +0 -1
  503. package/dist/components/table/components/defaultCells.component.d.ts +0 -4
  504. package/dist/components/table/components/defaultCells.component.js +0 -23
  505. package/dist/components/table/components/defaultCells.component.js.map +0 -1
  506. package/dist/components/table/components/defaultOperationButton.component.d.ts +0 -15
  507. package/dist/components/table/components/defaultOperationButton.component.js +0 -45
  508. package/dist/components/table/components/defaultOperationButton.component.js.map +0 -1
  509. package/dist/components/table/components/defaultRow.component.d.ts +0 -12
  510. package/dist/components/table/components/defaultRow.component.js +0 -25
  511. package/dist/components/table/components/defaultRow.component.js.map +0 -1
  512. package/dist/components/table/components/dragNDropContainer.d.ts +0 -4
  513. package/dist/components/table/components/dragNDropContainer.js +0 -10
  514. package/dist/components/table/components/dragNDropContainer.js.map +0 -1
  515. package/dist/components/table/filters/defaultColumnFilter.component.d.ts +0 -5
  516. package/dist/components/table/filters/defaultColumnFilter.component.js +0 -32
  517. package/dist/components/table/filters/defaultColumnFilter.component.js.map +0 -1
  518. package/dist/components/table/filters/selectColumnFilter.component.d.ts +0 -10
  519. package/dist/components/table/filters/selectColumnFilter.component.js +0 -34
  520. package/dist/components/table/filters/selectColumnFilter.component.js.map +0 -1
  521. package/dist/components/table/filters/sliderColumnFilter.component.d.ts +0 -2
  522. package/dist/components/table/filters/sliderColumnFilter.component.js +0 -27
  523. package/dist/components/table/filters/sliderColumnFilter.component.js.map +0 -1
  524. package/dist/components/table/hooks/useCustomTable.hook.d.ts +0 -128
  525. package/dist/components/table/hooks/useCustomTable.hook.js +0 -130
  526. package/dist/components/table/hooks/useCustomTable.hook.js.map +0 -1
  527. package/dist/components/table/hooks/useDragnDropRow.hook.d.ts +0 -272
  528. package/dist/components/table/hooks/useDragnDropRow.hook.js +0 -40
  529. package/dist/components/table/hooks/useDragnDropRow.hook.js.map +0 -1
  530. package/dist/components/table/hooks/useOperations.hook.d.ts +0 -11
  531. package/dist/components/table/hooks/useOperations.hook.js +0 -25
  532. package/dist/components/table/hooks/useOperations.hook.js.map +0 -1
  533. package/dist/components/table/index.d.ts +0 -15
  534. package/dist/components/table/index.js +0 -35
  535. package/dist/components/table/index.js.map +0 -1
  536. package/dist/components/table/table.component.d.ts +0 -3
  537. package/dist/components/table/table.component.js +0 -81
  538. package/dist/components/table/table.component.js.map +0 -1
  539. package/dist/components/table/utils/getPageNumbers.js.map +0 -1
  540. package/dist/components/table/utils/mapFormToColumns.d.ts +0 -3
  541. package/dist/components/table/utils/mapFormToColumns.js +0 -23
  542. package/dist/components/table/utils/mapFormToColumns.js.map +0 -1
  543. package/dist/components/table/utils/swapElements.d.ts +0 -1
  544. package/dist/components/table/utils/swapElements.js +0 -5
  545. package/dist/components/table/utils/swapElements.js.map +0 -1
  546. package/dist/components/tabs/tabs.component.d.ts +0 -19
  547. package/dist/components/tabs/tabs.component.js +0 -72
  548. package/dist/components/tabs/tabs.component.js.map +0 -1
  549. package/dist/interfaces/ActionSchema.d.ts +0 -23
  550. package/dist/interfaces/ActionSchema.js +0 -2
  551. package/dist/interfaces/ActionSchema.js.map +0 -1
  552. package/dist/interfaces/FormSchema.js +0 -2
  553. package/dist/interfaces/FormSchema.js.map +0 -1
  554. package/dist/interfaces/RoleSchema.js +0 -2
  555. package/dist/interfaces/RoleSchema.js.map +0 -1
  556. package/dist/interfaces/Submission.d.ts +0 -5
  557. package/dist/interfaces/Submission.js +0 -2
  558. package/dist/interfaces/Submission.js.map +0 -1
  559. package/dist/utils/callLast.d.ts +0 -1
  560. package/dist/utils/callLast.js +0 -10
  561. package/dist/utils/callLast.js.map +0 -1
  562. package/src/components/alert/alert.stories.tsx +0 -16
  563. package/src/components/form/form.component.tsx +0 -72
  564. package/src/components/form/form.stories.tsx +0 -253
  565. package/src/components/form/useForm.hook.ts +0 -216
  566. package/src/components/form-action/formAction.stories.tsx +0 -364
  567. package/src/components/form-builder/formBuilder.component.tsx +0 -195
  568. package/src/components/form-builder/formBuilder.stories.tsx +0 -3665
  569. package/src/components/form-control/formControl.component.tsx +0 -58
  570. package/src/components/form-control/formControl.stories.tsx +0 -63
  571. package/src/components/form-edit/formCtas.component.tsx +0 -106
  572. package/src/components/form-edit/formEdit.component.tsx +0 -59
  573. package/src/components/forms-table/components/formCell.component.tsx +0 -47
  574. package/src/components/forms-table/formsTable.component.tsx +0 -40
  575. package/src/components/index.ts +0 -25
  576. package/src/components/input-tags/inputTags.component.tsx +0 -58
  577. package/src/components/input-tags/inputTags.stories.tsx +0 -97
  578. package/src/components/input-text/inputText.component.tsx +0 -85
  579. package/src/components/input-text/inputText.stories.tsx +0 -126
  580. package/src/components/loader/loader.stories.tsx +0 -16
  581. package/src/components/modal/modal.stories.tsx +0 -190
  582. package/src/components/pagination/pagination.stories.tsx +0 -40
  583. package/src/components/select/select.component.spec.tsx +0 -84
  584. package/src/components/select/select.component.tsx +0 -88
  585. package/src/components/select/select.stories.tsx +0 -173
  586. package/src/components/submissions-table/submissionsTable.component.tsx +0 -14
  587. package/src/components/submissions-table/submissionsTable.stories.tsx +0 -99
  588. package/src/components/table/components/defaultArrowSort.component.tsx +0 -10
  589. package/src/components/table/components/defaultCell.component.tsx +0 -13
  590. package/src/components/table/components/defaultCellHeader.component.tsx +0 -18
  591. package/src/components/table/components/defaultCellOperations.component.tsx +0 -37
  592. package/src/components/table/components/defaultCells.component.tsx +0 -30
  593. package/src/components/table/components/defaultOperationButton.component.tsx +0 -56
  594. package/src/components/table/components/defaultRow.component.tsx +0 -51
  595. package/src/components/table/components/dragNDropContainer.tsx +0 -7
  596. package/src/components/table/filters/defaultColumnFilter.component.spec.tsx +0 -31
  597. package/src/components/table/filters/defaultColumnFilter.component.tsx +0 -39
  598. package/src/components/table/filters/selectColumnFilter.component.spec.tsx +0 -66
  599. package/src/components/table/filters/selectColumnFilter.component.tsx +0 -51
  600. package/src/components/table/filters/sliderColumnFilter.component.tsx +0 -28
  601. package/src/components/table/hooks/useCustomTable.hook.tsx +0 -268
  602. package/src/components/table/hooks/useDragnDropRow.hook.ts +0 -80
  603. package/src/components/table/hooks/useOperations.hook.tsx +0 -39
  604. package/src/components/table/index.ts +0 -15
  605. package/src/components/table/table.component.tsx +0 -100
  606. package/src/components/table/table.stories.tsx +0 -120
  607. package/src/components/table/utils/mapFormToColumns.tsx +0 -33
  608. package/src/components/table/utils/swapElements.spec.ts +0 -7
  609. package/src/components/table/utils/swapElements.ts +0 -7
  610. package/src/components/tabs/tabs.component.spec.tsx +0 -87
  611. package/src/components/tabs/tabs.component.stories.tsx +0 -127
  612. package/src/components/tabs/tabs.component.tsx +0 -92
  613. package/src/interfaces/ActionSchema.ts +0 -26
  614. package/src/interfaces/Submission.ts +0 -5
  615. package/src/utils/callLast.ts +0 -12
  616. /package/dist/{components/card/card.component.d.ts → molecules/card/Card.d.ts} +0 -0
  617. /package/dist/{components/modal/modal.component.d.ts → molecules/modal/Modal.d.ts} +0 -0
  618. /package/dist/{components/table → molecules/pagination}/utils/getPageNumbers.d.ts +0 -0
  619. /package/dist/{components/table → molecules/pagination}/utils/getPageNumbers.js +0 -0
  620. /package/src/{components → molecules}/__fixtures__/form-actions.json +0 -0
  621. /package/src/{components → molecules}/__fixtures__/form.fixture.json +0 -0
  622. /package/src/{components/modal/modal.component.tsx → molecules/modal/Modal.tsx} +0 -0
  623. /package/src/{components/table → molecules/pagination}/utils/getPageNumbers.ts +0 -0
  624. /package/src/{components → organisms}/__fixtures__/form-schema.json +0 -0
  625. /package/src/{components → organisms}/__fixtures__/form-submissions.json +0 -0
  626. /package/src/{components/actions-table → organisms/table/actions}/__fixtures__/data.json +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"form.component.js","sources":["../../../src/components/form/form.component.tsx"],"sourcesContent":["import { Components } from \"formiojs\";\nimport AllComponents from \"formiojs/components\";\nimport PropTypes from \"prop-types\";\n\nimport { useForm, UseFormHookProps } from \"./useForm.hook\";\n\nComponents.setComponents(AllComponents);\n\nexport interface FormProps<Data = any> extends UseFormHookProps<Data> {\n name?: string;\n /**\n *\n */\n className?: string;\n}\n\nexport function Form<Data = any>(props: Partial<FormProps<Data>>) {\n const { element } = useForm(props);\n\n return <div data-testid={`formioContainer${props.name || \"\"}`} ref={element} className={props.className} />;\n}\n\nForm.propTypes = {\n name: PropTypes.string,\n className: PropTypes.string,\n /**\n *\n */\n src: PropTypes.string,\n /**\n * url to fetch form\n */\n url: PropTypes.string,\n /**\n * Raw form object\n */\n form: PropTypes.object,\n /**\n * Data submission\n */\n submission: PropTypes.object,\n /**\n * Configuration option\n */\n options: PropTypes.shape({\n readOnly: PropTypes.bool,\n noAlerts: PropTypes.bool,\n i18n: PropTypes.any,\n template: PropTypes.string,\n saveDraft: PropTypes.bool,\n hooks: PropTypes.any\n }),\n onPrevPage: PropTypes.func,\n onNextPage: PropTypes.func,\n onCancel: PropTypes.func,\n onChange: PropTypes.func,\n onCustomEvent: PropTypes.func,\n onComponentChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onAsyncSubmit: PropTypes.func,\n onSubmitDone: PropTypes.func,\n onFormLoad: PropTypes.func,\n onError: PropTypes.func,\n onRender: PropTypes.func,\n onAttach: PropTypes.func,\n onBuild: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onInitialized: PropTypes.func,\n onFormReady: PropTypes.func,\n formioform: PropTypes.any\n};\n"],"names":["Components","AllComponents","Form","props","element","useForm","jsx","PropTypes"],"mappings":";;;;;AAMAA,EAAW,cAAcC,CAAa;AAU/B,SAASC,EAAiBC,GAAiC;AAChE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAQF,CAAK;AAEjC,SAAQ,gBAAAG,EAAA,OAAA,EAAI,eAAa,kBAAkBH,EAAM,QAAQ,EAAE,IAAI,KAAKC,GAAS,WAAWD,EAAM,WAAW;AAC3G;AAEAD,EAAK,YAAY;AAAA,EACf,MAAMK,EAAU;AAAA,EAChB,WAAWA,EAAU;AAAA;AAAA;AAAA;AAAA,EAIrB,KAAKA,EAAU;AAAA;AAAA;AAAA;AAAA,EAIf,KAAKA,EAAU;AAAA;AAAA;AAAA;AAAA,EAIf,MAAMA,EAAU;AAAA;AAAA;AAAA;AAAA,EAIhB,YAAYA,EAAU;AAAA;AAAA;AAAA;AAAA,EAItB,SAASA,EAAU,MAAM;AAAA,IACvB,UAAUA,EAAU;AAAA,IACpB,UAAUA,EAAU;AAAA,IACpB,MAAMA,EAAU;AAAA,IAChB,UAAUA,EAAU;AAAA,IACpB,WAAWA,EAAU;AAAA,IACrB,OAAOA,EAAU;AAAA,EAAA,CAClB;AAAA,EACD,YAAYA,EAAU;AAAA,EACtB,YAAYA,EAAU;AAAA,EACtB,UAAUA,EAAU;AAAA,EACpB,UAAUA,EAAU;AAAA,EACpB,eAAeA,EAAU;AAAA,EACzB,mBAAmBA,EAAU;AAAA,EAC7B,UAAUA,EAAU;AAAA,EACpB,eAAeA,EAAU;AAAA,EACzB,cAAcA,EAAU;AAAA,EACxB,YAAYA,EAAU;AAAA,EACtB,SAASA,EAAU;AAAA,EACnB,UAAUA,EAAU;AAAA,EACpB,UAAUA,EAAU;AAAA,EACpB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,QAAQA,EAAU;AAAA,EAClB,eAAeA,EAAU;AAAA,EACzB,aAAaA,EAAU;AAAA,EACvB,YAAYA,EAAU;AACxB;"}
@@ -1,59 +0,0 @@
1
- import { ExtendedComponentSchema } from 'formiojs';
2
- import { FormOptions, FormSchema, Submission } from '../../interfaces';
3
- export interface ChangedSubmission<T = any> extends Submission<T> {
4
- changed: {
5
- component: ExtendedComponentSchema;
6
- instance: any;
7
- value: any;
8
- } & Record<string, any>;
9
- isValid: boolean;
10
- }
11
- export interface FormPageChangeProps<Data = any> {
12
- page: number;
13
- submission: Submission<Data>;
14
- }
15
- export interface UseFormHookProps<Data = any> extends Record<string, any> {
16
- src?: string;
17
- /**
18
- * url to fetch form
19
- */
20
- url?: string;
21
- /**
22
- * Raw form object
23
- */
24
- form?: Partial<FormSchema>;
25
- /**
26
- * Configuration option
27
- */
28
- options?: FormOptions;
29
- /**
30
- * Data submission
31
- */
32
- submission?: Submission<Data>;
33
- onPrevPage?: (obj: FormPageChangeProps<Data>) => void;
34
- onNextPage?: (obj: FormPageChangeProps<Data>) => void;
35
- onCancel?: Function;
36
- onChange?: (submission: ChangedSubmission) => void;
37
- onCustomEvent?: (obj: {
38
- type: string;
39
- event: string;
40
- component: ExtendedComponentSchema;
41
- data: any;
42
- }) => void;
43
- onComponentChange?: (component: ExtendedComponentSchema) => void;
44
- onSubmit?: (submission: Submission<Data>) => void;
45
- onAsyncSubmit?: (submission: Submission<Data>) => Promise<any>;
46
- onSubmitDone?: (submission: Submission<Data>) => void;
47
- onFormLoad?: Function;
48
- onError?: (errors: any) => void;
49
- onRender?: () => void;
50
- onAttach?: Function;
51
- onBuild?: Function;
52
- onFocus?: Function;
53
- onBlur?: Function;
54
- onInitialized?: Function;
55
- onFormReady?: (formio: any) => void;
56
- }
57
- export declare function useForm<Data = any>(props: UseFormHookProps<Data>): {
58
- element: import('react').MutableRefObject<any>;
59
- };
@@ -1,64 +0,0 @@
1
- import { Form as F } from "formiojs";
2
- import f from "lodash/cloneDeep";
3
- import R from "lodash/isEqual";
4
- import { useRef as y, useEffect as d } from "react";
5
- function e(n, r, c) {
6
- d(() => {
7
- r && c.set(n, r);
8
- }, [r, n, c]);
9
- }
10
- function w(n) {
11
- const r = y(/* @__PURE__ */ new Map()), c = (t) => n.hasOwnProperty(t) && typeof n[t] == "function", h = (t, ...s) => {
12
- if (c(t))
13
- return (r.current.has(t) ? r.current.get(t) : n[t])(...s);
14
- };
15
- return e("onBlur", n.onBlur, r.current), e("onPrevPage", n.onPrevPage, r.current), e("onNextPage", n.onNextPage, r.current), e("onCancel", n.onCancel, r.current), e("onChange", n.onChange, r.current), e("onCustomEvent", n.onCustomEvent, r.current), e("onComponentChange", n.onComponentChange, r.current), e("onSubmit", n.onSubmit, r.current), e("onAsyncSubmit", n.onAsyncSubmit, r.current), e("onSubmitDone", n.onSubmitDone, r.current), e("onFormLoad", n.onFormLoad, r.current), e("onError", n.onError, r.current), e("onRender", n.onRender, r.current), e("onAttach", n.onAttach, r.current), e("onBuild", n.onBuild, r.current), e("onFocus", n.onFocus, r.current), e("onBlur", n.onBlur, r.current), e("onInitialized", n.onInitialized, r.current), { events: r, emit: h, hasEvent: c };
16
- }
17
- function V(n) {
18
- const { src: r, form: c, options: h = {}, submission: t, url: s, ...g } = n, C = y(), l = y(), o = y(), { emit: E, hasEvent: P } = w(g);
19
- async function B(u, i) {
20
- if (P("onAsyncSubmit"))
21
- try {
22
- await E("onAsyncSubmit", u, o.current);
23
- } catch (a) {
24
- i((a == null ? void 0 : a.errors) || a);
25
- }
26
- else
27
- i(null);
28
- }
29
- const b = (u, i) => {
30
- var a;
31
- return i = Object.assign({}, i), u = typeof u == "string" ? u : f(u), o.current || (l.current = !1, i.hooks = {
32
- ...i.hooks || {},
33
- customValidation: ((a = i == null ? void 0 : i.hooks) == null ? void 0 : a.customValidation) || B
34
- }, o.current = new F(C.current, u, i), o.current.onAny((m, ...A) => {
35
- if (o.current && m.startsWith("formio.")) {
36
- const S = `on${m.charAt(7).toUpperCase()}${m.slice(8)}`;
37
- if (S === "onChange" && !A[0].changed)
38
- return;
39
- E(S, ...A, o.current);
40
- }
41
- }), o.current.ready.then((m) => {
42
- t && (m.submission = f(t)), n.onFormReady && n.onFormReady(m), l.current = !0;
43
- })), o.current;
44
- };
45
- return d(() => {
46
- o.current && o.current.ready.then((u) => {
47
- R(u.submission.data, t == null ? void 0 : t.data) || t && (u.submission = f(t));
48
- });
49
- }, [t]), d(() => {
50
- c && o.current && o.current.ready.then((u) => {
51
- u.form = c, s && (u.url = s);
52
- });
53
- }, [c, s]), d(() => {
54
- r && (o.current && (l.current = !1, o.current.destroy(!0)), b(r, h));
55
- }, [r]), d(() => (c && b(c, h), () => {
56
- l.current = !1, o.current && o.current.destroy(!0);
57
- }), []), {
58
- element: C
59
- };
60
- }
61
- export {
62
- V as useForm
63
- };
64
- //# sourceMappingURL=useForm.hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForm.hook.js","sources":["../../../src/components/form/useForm.hook.ts"],"sourcesContent":["import { ExtendedComponentSchema, Form } from \"formiojs\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport { useEffect, useRef } from \"react\";\n\nimport { FormOptions, FormSchema, Submission } from \"../../interfaces\";\n\nexport interface ChangedSubmission<T = any> extends Submission<T> {\n changed: {\n component: ExtendedComponentSchema;\n instance: any;\n value: any;\n } & Record<string, any>;\n isValid: boolean;\n}\n\nexport interface FormPageChangeProps<Data = any> {\n page: number;\n submission: Submission<Data>;\n}\n\nexport interface UseFormHookProps<Data = any> extends Record<string, any> {\n src?: string;\n /**\n * url to fetch form\n */\n url?: string;\n /**\n * Raw form object\n */\n form?: Partial<FormSchema>;\n /**\n * Configuration option\n */\n options?: FormOptions;\n /**\n * Data submission\n */\n submission?: Submission<Data>;\n\n /// events\n onPrevPage?: (obj: FormPageChangeProps<Data>) => void;\n onNextPage?: (obj: FormPageChangeProps<Data>) => void;\n onCancel?: Function;\n onChange?: (submission: ChangedSubmission) => void;\n onCustomEvent?: (obj: { type: string; event: string; component: ExtendedComponentSchema; data: any }) => void;\n onComponentChange?: (component: ExtendedComponentSchema) => void;\n onSubmit?: (submission: Submission<Data>) => void;\n onAsyncSubmit?: (submission: Submission<Data>) => Promise<any>;\n onSubmitDone?: (submission: Submission<Data>) => void;\n onFormLoad?: Function;\n onError?: (errors: any) => void;\n onRender?: () => void;\n onAttach?: Function;\n onBuild?: Function;\n onFocus?: Function;\n onBlur?: Function;\n onInitialized?: Function;\n onFormReady?: (formio: any) => void;\n}\n\nfunction useEvent(event: string, callback: any, events: Map<string, any>) {\n useEffect(() => {\n if (callback) {\n events.set(event, callback);\n }\n }, [callback, event, events]);\n}\n\nfunction useEvents(funcs: any) {\n const events = useRef<Map<string, any>>(new Map());\n\n const hasEvent = (event: string) => {\n return funcs.hasOwnProperty(event) && typeof funcs[event] === \"function\";\n };\n\n const emit = (event: string, ...args: any[]) => {\n if (hasEvent(event)) {\n const fn = events.current.has(event) ? events.current.get(event) : funcs[event];\n return fn(...args);\n }\n };\n\n useEvent(\"onBlur\", funcs[\"onBlur\"], events.current);\n useEvent(\"onPrevPage\", funcs[\"onPrevPage\"], events.current);\n useEvent(\"onNextPage\", funcs[\"onNextPage\"], events.current);\n useEvent(\"onCancel\", funcs[\"onCancel\"], events.current);\n useEvent(\"onChange\", funcs[\"onChange\"], events.current);\n useEvent(\"onCustomEvent\", funcs[\"onCustomEvent\"], events.current);\n useEvent(\"onComponentChange\", funcs[\"onComponentChange\"], events.current);\n useEvent(\"onSubmit\", funcs[\"onSubmit\"], events.current);\n useEvent(\"onAsyncSubmit\", funcs[\"onAsyncSubmit\"], events.current);\n useEvent(\"onSubmitDone\", funcs[\"onSubmitDone\"], events.current);\n useEvent(\"onFormLoad\", funcs[\"onFormLoad\"], events.current);\n useEvent(\"onError\", funcs[\"onError\"], events.current);\n useEvent(\"onRender\", funcs[\"onRender\"], events.current);\n useEvent(\"onAttach\", funcs[\"onAttach\"], events.current);\n useEvent(\"onBuild\", funcs[\"onBuild\"], events.current);\n useEvent(\"onFocus\", funcs[\"onFocus\"], events.current);\n useEvent(\"onBlur\", funcs[\"onBlur\"], events.current);\n useEvent(\"onInitialized\", funcs[\"onInitialized\"], events.current);\n\n return { events, emit, hasEvent };\n}\n\nexport function useForm<Data = any>(props: UseFormHookProps<Data>) {\n const { src, form, options = {}, submission, url, ...funcs } = props;\n const element = useRef<any>();\n const isLoaded = useRef<boolean>();\n const instance = useRef<Form>();\n const { emit, hasEvent } = useEvents(funcs);\n\n async function customValidation(submission: Submission, callback: (err: Error | null) => void) {\n if (hasEvent(\"onAsyncSubmit\")) {\n try {\n await emit(\"onAsyncSubmit\", submission, instance.current);\n } catch (err: any) {\n callback(err?.errors || err);\n }\n } else {\n callback(null);\n }\n }\n\n const createWebForm = (srcOrForm: any, options: any) => {\n options = Object.assign({}, options);\n srcOrForm = typeof srcOrForm === \"string\" ? srcOrForm : cloneDeep(srcOrForm);\n\n if (!instance.current) {\n isLoaded.current = false;\n options.hooks = {\n ...(options.hooks || {}),\n customValidation: options?.hooks?.customValidation || customValidation\n };\n\n instance.current = new Form(element.current, srcOrForm, options);\n\n instance.current.onAny((event: string, ...args: any[]): void => {\n if (!instance.current) {\n return;\n }\n\n if (event.startsWith(\"formio.\")) {\n const eventName = `on${event.charAt(7).toUpperCase()}${event.slice(8)}`;\n\n if (eventName === \"onChange\" && !args[0].changed) {\n return;\n }\n\n emit(eventName, ...args, instance.current);\n }\n });\n\n instance.current.ready.then((formio: any) => {\n submission && (formio.submission = cloneDeep(submission));\n\n if (props.onFormReady) {\n props.onFormReady(formio);\n }\n\n isLoaded.current = true;\n });\n }\n\n return instance.current;\n };\n\n useEffect(() => {\n if (instance.current) {\n instance.current.ready.then((formio: any) => {\n if (isEqual(formio.submission.data, submission?.data)) {\n return;\n }\n\n submission && (formio.submission = cloneDeep(submission));\n });\n }\n }, [submission]);\n\n useEffect(() => {\n if (form && instance.current) {\n instance.current.ready.then((formio: any) => {\n formio.form = form;\n if (url) {\n formio.url = url;\n }\n });\n }\n }, [form, url]);\n\n useEffect(() => {\n if (src) {\n if (instance.current) {\n isLoaded.current = false;\n (instance.current as any).destroy(true);\n }\n\n createWebForm(src, options);\n }\n }, [src]);\n\n useEffect(() => {\n if (form) {\n createWebForm(form, options);\n }\n\n return () => {\n isLoaded.current = false;\n instance.current && (instance.current as any).destroy(true);\n };\n }, []);\n\n return {\n element\n };\n}\n"],"names":["useEvent","event","callback","events","useEffect","useEvents","funcs","useRef","hasEvent","emit","args","useForm","props","src","form","options","submission","url","element","isLoaded","instance","customValidation","err","createWebForm","srcOrForm","cloneDeep","Form","eventName","formio","isEqual"],"mappings":";;;;AA6DA,SAASA,EAASC,GAAeC,GAAeC,GAA0B;AACxE,EAAAC,EAAU,MAAM;AACd,IAAIF,KACKC,EAAA,IAAIF,GAAOC,CAAQ;AAAA,EAE3B,GAAA,CAACA,GAAUD,GAAOE,CAAM,CAAC;AAC9B;AAEA,SAASE,EAAUC,GAAY;AAC7B,QAAMH,IAASI,EAA6B,oBAAA,KAAK,GAE3CC,IAAW,CAACP,MACTK,EAAM,eAAeL,CAAK,KAAK,OAAOK,EAAML,CAAK,KAAM,YAG1DQ,IAAO,CAACR,MAAkBS,MAAgB;AAC1C,QAAAF,EAASP,CAAK;AAET,cADIE,EAAO,QAAQ,IAAIF,CAAK,IAAIE,EAAO,QAAQ,IAAIF,CAAK,IAAIK,EAAML,CAAK,GACpE,GAAGS,CAAI;AAAA,EAErB;AAEA,SAAAV,EAAS,UAAUM,EAAM,QAAWH,EAAO,OAAO,GAClDH,EAAS,cAAcM,EAAM,YAAeH,EAAO,OAAO,GAC1DH,EAAS,cAAcM,EAAM,YAAeH,EAAO,OAAO,GAC1DH,EAAS,YAAYM,EAAM,UAAaH,EAAO,OAAO,GACtDH,EAAS,YAAYM,EAAM,UAAaH,EAAO,OAAO,GACtDH,EAAS,iBAAiBM,EAAM,eAAkBH,EAAO,OAAO,GAChEH,EAAS,qBAAqBM,EAAM,mBAAsBH,EAAO,OAAO,GACxEH,EAAS,YAAYM,EAAM,UAAaH,EAAO,OAAO,GACtDH,EAAS,iBAAiBM,EAAM,eAAkBH,EAAO,OAAO,GAChEH,EAAS,gBAAgBM,EAAM,cAAiBH,EAAO,OAAO,GAC9DH,EAAS,cAAcM,EAAM,YAAeH,EAAO,OAAO,GAC1DH,EAAS,WAAWM,EAAM,SAAYH,EAAO,OAAO,GACpDH,EAAS,YAAYM,EAAM,UAAaH,EAAO,OAAO,GACtDH,EAAS,YAAYM,EAAM,UAAaH,EAAO,OAAO,GACtDH,EAAS,WAAWM,EAAM,SAAYH,EAAO,OAAO,GACpDH,EAAS,WAAWM,EAAM,SAAYH,EAAO,OAAO,GACpDH,EAAS,UAAUM,EAAM,QAAWH,EAAO,OAAO,GAClDH,EAAS,iBAAiBM,EAAM,eAAkBH,EAAO,OAAO,GAEzD,EAAE,QAAAA,GAAQ,MAAAM,GAAM,UAAAD,EAAS;AAClC;AAEO,SAASG,EAAoBC,GAA+B;AAC3D,QAAA,EAAE,KAAAC,GAAK,MAAAC,GAAM,SAAAC,IAAU,CAAA,GAAI,YAAAC,GAAY,KAAAC,GAAK,GAAGX,EAAA,IAAUM,GACzDM,IAAUX,EAAY,GACtBY,IAAWZ,EAAgB,GAC3Ba,IAAWb,EAAa,GACxB,EAAE,MAAAE,GAAM,UAAAD,MAAaH,EAAUC,CAAK;AAE3B,iBAAAe,EAAiBL,GAAwBd,GAAuC;AACzF,QAAAM,EAAS,eAAe;AACtB,UAAA;AACF,cAAMC,EAAK,iBAAiBO,GAAYI,EAAS,OAAO;AAAA,eACjDE,GAAU;AACR,QAAApB,GAAAoB,KAAA,gBAAAA,EAAK,WAAUA,CAAG;AAAA,MAAA;AAAA;AAG7B,MAAApB,EAAS,IAAI;AAAA,EACf;AAGI,QAAAqB,IAAgB,CAACC,GAAgBT,MAAiB;;AACtDA,WAAAA,IAAU,OAAO,OAAO,CAAA,GAAIA,CAAO,GACnCS,IAAY,OAAOA,KAAc,WAAWA,IAAYC,EAAUD,CAAS,GAEtEJ,EAAS,YACZD,EAAS,UAAU,IACnBJ,EAAQ,QAAQ;AAAA,MACd,GAAIA,EAAQ,SAAS,CAAC;AAAA,MACtB,oBAAkBA,IAAAA,KAAAA,gBAAAA,EAAS,UAATA,gBAAAA,EAAgB,qBAAoBM;AAAA,IACxD,GAEAD,EAAS,UAAU,IAAIM,EAAKR,EAAQ,SAASM,GAAWT,CAAO,GAE/DK,EAAS,QAAQ,MAAM,CAACnB,MAAkBS,MAAsB;AAC1D,UAACU,EAAS,WAIVnB,EAAM,WAAW,SAAS,GAAG;AAC/B,cAAM0B,IAAY,KAAK1B,EAAM,OAAO,CAAC,EAAE,YAAY,CAAC,GAAGA,EAAM,MAAM,CAAC,CAAC;AAErE,YAAI0B,MAAc,cAAc,CAACjB,EAAK,CAAC,EAAE;AACvC;AAGF,QAAAD,EAAKkB,GAAW,GAAGjB,GAAMU,EAAS,OAAO;AAAA,MAAA;AAAA,IAC3C,CACD,GAEDA,EAAS,QAAQ,MAAM,KAAK,CAACQ,MAAgB;AAC5B,MAAAZ,MAAAY,EAAO,aAAaH,EAAUT,CAAU,IAEnDJ,EAAM,eACRA,EAAM,YAAYgB,CAAM,GAG1BT,EAAS,UAAU;AAAA,IAAA,CACpB,IAGIC,EAAS;AAAA,EAClB;AAEA,SAAAhB,EAAU,MAAM;AACd,IAAIgB,EAAS,WACXA,EAAS,QAAQ,MAAM,KAAK,CAACQ,MAAgB;AAC3C,MAAIC,EAAQD,EAAO,WAAW,MAAMZ,KAAA,gBAAAA,EAAY,IAAI,KAIrCA,MAAAY,EAAO,aAAaH,EAAUT,CAAU;AAAA,IAAA,CACxD;AAAA,EACH,GACC,CAACA,CAAU,CAAC,GAEfZ,EAAU,MAAM;AACV,IAAAU,KAAQM,EAAS,WACnBA,EAAS,QAAQ,MAAM,KAAK,CAACQ,MAAgB;AAC3C,MAAAA,EAAO,OAAOd,GACVG,MACFW,EAAO,MAAMX;AAAA,IACf,CACD;AAAA,EACH,GACC,CAACH,GAAMG,CAAG,CAAC,GAEdb,EAAU,MAAM;AACd,IAAIS,MACEO,EAAS,YACXD,EAAS,UAAU,IAClBC,EAAS,QAAgB,QAAQ,EAAI,IAGxCG,EAAcV,GAAKE,CAAO;AAAA,EAC5B,GACC,CAACF,CAAG,CAAC,GAERT,EAAU,OACJU,KACFS,EAAcT,GAAMC,CAAO,GAGtB,MAAM;AACX,IAAAI,EAAS,UAAU,IACnBC,EAAS,WAAYA,EAAS,QAAgB,QAAQ,EAAI;AAAA,EAC5D,IACC,EAAE,GAEE;AAAA,IACL,SAAAF;AAAA,EACF;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formAccess.component.js","sources":["../../../src/components/form-access/formAccess.component.tsx"],"sourcesContent":["import { PropsWithChildren, useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport type { FormOptions, FormSchema, Submission } from \"../../interfaces\";\nimport { Card } from \"../card/card.component\";\nimport { Form } from \"../form/form.component\";\nimport { ChangedSubmission } from \"../form/useForm.hook\";\nimport {\n AccessRoles,\n dataAccessToSubmissions,\n FormAccessSchema,\n getFormAccess,\n shouldUpdate,\n SubmissionAccess,\n submissionsToDataAccess,\n updateSubmissions\n} from \"./formAccess.utils\";\n\nexport interface FormAccessProps {\n form: Partial<FormSchema>;\n roles: any;\n onSubmit?: Function;\n options?: FormOptions;\n}\n\nfunction useFormAccess({ form: formDefinition, roles, onSubmit, options }: FormAccessProps) {\n const form = useMemo(() => getFormAccess(roles), [roles]);\n\n const [submissions, setSubmissions] = useState(() => dataAccessToSubmissions(formDefinition, form));\n\n const onChange = useCallback(\n (type: string, submission: Submission<AccessRoles>) => {\n updateSubmissions(type, submission, submissions, setSubmissions);\n },\n [submissions]\n );\n\n useEffect(() => {\n const input = dataAccessToSubmissions(formDefinition, form);\n if (formDefinition?._id) {\n if (shouldUpdate(\"access\", submissions.access, input) || shouldUpdate(\"submissionAccess\", submissions.submissionAccess, input)) {\n setSubmissions(input);\n }\n }\n }, [formDefinition?._id]);\n\n return {\n options,\n form,\n type: formDefinition.type,\n submissions,\n onChange,\n onSubmit: () => {\n onSubmit && onSubmit(submissionsToDataAccess(formDefinition, submissions));\n }\n };\n}\n\ninterface NamedFormAccessProps {\n name: \"access\" | \"submissionAccess\";\n form: FormAccessSchema;\n submissions: SubmissionAccess;\n options: any;\n onSubmit: any;\n\n onChange(name: \"access\" | \"submissionAccess\", submission: Submission<AccessRoles>): void;\n}\n\nfunction NamedFormAccess({ name, form, submissions, options, onChange, onSubmit, children }: PropsWithChildren<NamedFormAccessProps>) {\n const [isValid, setIsValid] = useState(true);\n\n return (\n <>\n <Form\n name={name}\n form={form[name]}\n submission={submissions[name]}\n onChange={({ data, isValid }: ChangedSubmission<AccessRoles>) => {\n isValid && onChange(name, { data });\n setIsValid(isValid);\n }}\n options={options}\n />\n\n <button disabled={!isValid} className={\"mt-5 btn btn-primary\"} onClick={onSubmit}>\n Save access\n </button>\n\n {children}\n\n <div className={\"alert alert-warning mt-5\"}>\n Elevated permissions allow users to access and modify other user's entities. Assign with caution.\n </div>\n </>\n );\n}\n\nexport function FormAccess(props: PropsWithChildren<FormAccessProps>) {\n const { type, form, submissions, options, onChange, onSubmit } = useFormAccess(props);\n\n return (\n <div>\n {props.children}\n <div className={\"flex mb-5\"}>\n <Card label={\"Manage submission access\"} className={\"flex-1\"}>\n <NamedFormAccess\n name={\"submissionAccess\"}\n form={form}\n submissions={submissions}\n onChange={onChange}\n onSubmit={onSubmit}\n options={options}\n >\n {props.children}\n </NamedFormAccess>\n </Card>\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Submission Data Permissions\"}>\n <p>Submission Data Permissions allow you to control who can create, view, and modify form submission data.</p>\n\n <ul className={\"mt-5 pl-7 list-disc\"}>\n <li className={\"pb-2\"}>\n <strong>Own Permissions</strong> - These permissions apply if the user is the original creator of the submission data and is\n listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data\n without seeing other user's data.\n </li>\n <li>\n <strong>All Permissions</strong> - These permissions apply to all submission data regardless of who owns it.\n </li>\n </ul>\n </Card>\n </div>\n </div>\n <div className={\"flex mb-5\"}>\n <Card label={`Manage ${type} definition access`} className={\"flex-1\"}>\n <NamedFormAccess name={\"access\"} form={form} submissions={submissions} onChange={onChange} onSubmit={onSubmit} options={options}>\n {props.children}\n </NamedFormAccess>\n </Card>\n\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Form Definition Access\"}>\n <p>These permissions allow you to give access to a single form's JSON definition so they can render the form.</p>\n\n <p>Typically you will want to allow all of your roles to be able to Read the form definition.</p>\n\n <p>\n Each form also has an owner at <strong>form.owner</strong> which is the user who created the form. In some applications users\n are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well.\n </p>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useFormAccess","formDefinition","roles","onSubmit","options","form","useMemo","getFormAccess","submissions","setSubmissions","useState","dataAccessToSubmissions","onChange","useCallback","type","submission","updateSubmissions","useEffect","input","shouldUpdate","submissionsToDataAccess","NamedFormAccess","name","children","isValid","setIsValid","jsxs","Fragment","jsx","Form","data","FormAccess","props","Card"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { ExtendedComponentSchema } from 'formiojs';
2
- import { FormSchema } from '../../interfaces/FormSchema';
3
- export declare function getRoleComponent({ label, key, description, choices, data }: any): ExtendedComponentSchema;
4
- export declare function getSubmissionPermissionForm({ choices }: any): FormSchema;
5
- export declare function getAccessPermissionForm({ choices }: any): FormSchema;
@@ -1 +0,0 @@
1
- {"version":3,"file":"formAccess.schema.js","sources":["../../../src/components/form-access/formAccess.schema.ts"],"sourcesContent":["import { ExtendedComponentSchema } from \"formiojs\";\n\nimport { FormSchema } from \"../../interfaces/FormSchema\";\n\nexport function getRoleComponent({ label, key, description, choices, data }: any): ExtendedComponentSchema {\n return {\n label,\n key,\n description,\n type: \"select\",\n labelPosition: \"top\",\n widget: \"choicesjs\",\n placeholder: \"Select roles...\",\n tooltip: \"\",\n multiple: true,\n dataSrc: \"values\",\n defaultValue: \"\",\n data: {\n values: choices\n },\n template: \"<span>{{ item.label }}</span>\",\n searchEnabled: true,\n selectThreshold: 0,\n validate: {\n required: false,\n custom: \"\",\n customPrivate: false\n },\n values: data\n };\n}\n\nfunction toDescription(description: string, hr = true): string {\n return '<span class=\"text-sm\">' + description + \"</span> \" + (hr ? '<hr class=\"mt-6 mb-5 border-gray-200 mx-20\"/>' : \"\");\n}\n\nexport function getSubmissionPermissionForm({ choices }: any): FormSchema {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"create_own\",\n label: '<h4 class=\"text-gray-800\">Create Own Submissions</h4>',\n description: toDescription(\n \"The Create Own Submissions permission will allow a user with one of the Roles to create a Submission. Upon creating the Submission, the user will be defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"create_all\",\n label: '<h4 class=\"text-gray-800\">Create All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Create All Submissions permission will allow a user with one of the Roles to create a new Submission and assign ownership of that Submission to another user.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Own Submissions</h4>',\n description: toDescription(\n \"The Read Own Submissions permission will allow a user with one of the Roles to read a Submission. A user can only read a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: '<h4 class=\"text-gray-800\">Read All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read All Submissions permission will allow a user with one of the Roles to read all Submissions regardless of who owns them.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Own Submissions</h4>',\n description: toDescription(\n \"The Update Own Submissions permission will allow a user with one of the Roles to update a Submission. A user can only update a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update All Submissions permission will allow a user with one of the Roles to update a Submission, regardless of who owns the Submission. Additionally with this permission, a user can change the owner of a Submission.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Own Submissions</h4>',\n description: toDescription(\n \"The Delete Own Submissions permission will allow a user with one of the Roles, to delete a Submission. A user can only delete a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete All Submissions permission will allow a user with one of the Roles to delete a Submission, regardless of who owns the Submission.',\n false\n ),\n choices\n })\n ]\n };\n}\n\nexport function getAccessPermissionForm({ choices }: any): FormSchema {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Read Own permission will allow a user, with one of the given Roles, to read a form. A user can only read a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: \"<h4>Read Form Definition</h4>\",\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read permission will allow a user, with one of the given Roles, to read the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Update Own permission will allow a user, with one of the given Roles, to update a form. A user can only update a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update permission will allow a user, with one of the given Roles, to read and edit the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Delete Own permission will allow a user, with one of the given Roles, to delete a form. A user can only delete a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete permission will allow a user, with one of the given Roles, to delete the form.',\n false\n ),\n choices\n })\n ]\n };\n}\n"],"names":["getRoleComponent","label","key","description","choices","data","toDescription","hr","getSubmissionPermissionForm","getAccessPermissionForm"],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { FormSchema, Submission } from '../../interfaces';
2
- import { RoleSchema } from '../../interfaces/RoleSchema';
3
- export interface Choice {
4
- label: string;
5
- value: string;
6
- }
7
- export interface Access {
8
- roles: string[];
9
- type: string;
10
- }
11
- export type AccessRoles = Record<string, string[]>;
12
- export type FormAccessSchema = {
13
- access: FormSchema;
14
- submissionAccess: FormSchema;
15
- };
16
- export type SubmissionAccess = {
17
- access: Submission<AccessRoles>;
18
- submissionAccess: Submission<AccessRoles>;
19
- };
20
- export declare function getFormAccess(roles: RoleSchema[]): FormAccessSchema;
21
- export declare function dataAccessToSubmissions(form: Partial<FormSchema>, formAccess: FormAccessSchema): SubmissionAccess;
22
- export declare function submissionsToDataAccess(form: Partial<FormSchema>, submissions: SubmissionAccess): Partial<FormSchema>;
23
- export declare function shouldUpdate(type: string, submission: Submission<AccessRoles>, submissions: SubmissionAccess): boolean;
24
- export declare function updateSubmissions(type: string, submission: Submission<AccessRoles>, submissions: SubmissionAccess, cb?: Function): SubmissionAccess;
@@ -1 +0,0 @@
1
- {"version":3,"file":"formAccess.utils.js","sources":["../../../src/components/form-access/formAccess.utils.ts"],"sourcesContent":["import { ExtendedComponentSchema } from \"formiojs\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport noop from \"lodash/noop\";\n\nimport { FormSchema, Submission } from \"../../interfaces\";\nimport { RoleSchema } from \"../../interfaces/RoleSchema\";\nimport { getAccessPermissionForm, getSubmissionPermissionForm } from \"./formAccess.schema\";\n\nexport interface Choice {\n label: string;\n value: string;\n}\n\nexport interface Access {\n roles: string[];\n type: string;\n}\n\nexport type AccessRoles = Record<string, string[]>;\n\nexport type FormAccessSchema = {\n access: FormSchema;\n submissionAccess: FormSchema;\n};\n\nexport type SubmissionAccess = {\n access: Submission<AccessRoles>;\n submissionAccess: Submission<AccessRoles>;\n};\n\nfunction rolesToChoices(roles: RoleSchema[]): Choice[] {\n return Object.values(roles).map((role) => {\n return {\n label: role.title || \"\",\n value: role._id || \"\"\n };\n });\n}\n\nfunction accessToHash(keys: (string | undefined)[] | undefined, access: Access[] = []): AccessRoles {\n const hash = Object.values(access).reduce((o: any, role: any) => {\n o[role.type] = role.roles;\n return o;\n }, {});\n\n return ((keys || []).filter(Boolean) as any[]).reduce((data, key: string) => {\n return {\n ...data,\n [key]: hash[key] || []\n };\n }, {});\n}\n\nfunction hashToAccess(data: AccessRoles) {\n const accessRoles: any[] = [];\n\n Object.entries(data).forEach(([accessType, roles]) => {\n if (accessType === \"submit\") {\n return;\n }\n accessRoles.push({\n type: accessType,\n roles\n });\n });\n\n return accessRoles;\n}\n\nexport function getFormAccess(roles: RoleSchema[]): FormAccessSchema {\n const choices = rolesToChoices(roles);\n const access = getAccessPermissionForm({ choices });\n const submissionAccess = getSubmissionPermissionForm({ choices });\n\n return {\n access,\n submissionAccess\n };\n}\n\nexport function dataAccessToSubmissions(form: Partial<FormSchema>, formAccess: FormAccessSchema): SubmissionAccess {\n const getKeys = (components: ExtendedComponentSchema[]) => components.map(({ key }) => key);\n\n return {\n access: {\n data: accessToHash(getKeys(formAccess.access.components), form.access)\n },\n submissionAccess: {\n data: accessToHash(getKeys(formAccess.submissionAccess.components), form.submissionAccess)\n }\n };\n}\n\nexport function submissionsToDataAccess(form: Partial<FormSchema>, submissions: SubmissionAccess): Partial<FormSchema> {\n return {\n ...cloneDeep(form),\n access: hashToAccess(submissions.access.data),\n submissionAccess: hashToAccess(submissions.submissionAccess.data)\n };\n}\n\nexport function shouldUpdate(type: string, submission: Submission<AccessRoles>, submissions: SubmissionAccess) {\n return !isEqual(submission.data, (submissions as any)[type].data);\n}\n\nexport function updateSubmissions(type: string, submission: Submission<AccessRoles>, submissions: SubmissionAccess, cb: Function = noop) {\n if (shouldUpdate(type, submission, submissions)) {\n submissions = {\n ...submissions,\n [type]: { data: submission.data }\n };\n cb(submissions);\n }\n\n return submissions;\n}\n"],"names":["rolesToChoices","roles","role","accessToHash","keys","access","hash","o","data","key","hashToAccess","accessRoles","accessType","getFormAccess","choices","getAccessPermissionForm","submissionAccess","getSubmissionPermissionForm","dataAccessToSubmissions","form","formAccess","getKeys","components","submissionsToDataAccess","submissions","cloneDeep","shouldUpdate","type","submission","isEqual","updateSubmissions","cb","noop"],"mappings":";;;;AA+BA,SAASA,EAAeC,GAA+B;AACrD,SAAO,OAAO,OAAOA,CAAK,EAAE,IAAI,CAACC,OACxB;AAAA,IACL,OAAOA,EAAK,SAAS;AAAA,IACrB,OAAOA,EAAK,OAAO;AAAA,EACrB,EACD;AACH;AAEA,SAASC,EAAaC,GAA0CC,IAAmB,IAAiB;AAC5F,QAAAC,IAAO,OAAO,OAAOD,CAAM,EAAE,OAAO,CAACE,GAAQL,OAC/CK,EAAAL,EAAK,IAAI,IAAIA,EAAK,OACbK,IACN,EAAE;AAEI,UAAAH,KAAQ,CAAA,GAAI,OAAO,OAAO,EAAY,OAAO,CAACI,GAAMC,OACpD;AAAA,IACL,GAAGD;AAAA,IACH,CAACC,CAAG,GAAGH,EAAKG,CAAG,KAAK,CAAA;AAAA,EACtB,IACC,EAAE;AACP;AAEA,SAASC,EAAaF,GAAmB;AACvC,QAAMG,IAAqB,CAAC;AAErB,gBAAA,QAAQH,CAAI,EAAE,QAAQ,CAAC,CAACI,GAAYX,CAAK,MAAM;AACpD,IAAIW,MAAe,YAGnBD,EAAY,KAAK;AAAA,MACf,MAAMC;AAAA,MACN,OAAAX;AAAA,IAAA,CACD;AAAA,EAAA,CACF,GAEMU;AACT;AAEO,SAASE,EAAcZ,GAAuC;AAC7D,QAAAa,IAAUd,EAAeC,CAAK,GAC9BI,IAASU,EAAwB,EAAE,SAAAD,GAAS,GAC5CE,IAAmBC,EAA4B,EAAE,SAAAH,GAAS;AAEzD,SAAA;AAAA,IACL,QAAAT;AAAA,IACA,kBAAAW;AAAA,EACF;AACF;AAEgB,SAAAE,EAAwBC,GAA2BC,GAAgD;AAC3G,QAAAC,IAAU,CAACC,MAA0CA,EAAW,IAAI,CAAC,EAAE,KAAAb,EAAI,MAAMA,CAAG;AAEnF,SAAA;AAAA,IACL,QAAQ;AAAA,MACN,MAAMN,EAAakB,EAAQD,EAAW,OAAO,UAAU,GAAGD,EAAK,MAAM;AAAA,IACvE;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAMhB,EAAakB,EAAQD,EAAW,iBAAiB,UAAU,GAAGD,EAAK,gBAAgB;AAAA,IAAA;AAAA,EAE7F;AACF;AAEgB,SAAAI,EAAwBJ,GAA2BK,GAAoD;AAC9G,SAAA;AAAA,IACL,GAAGC,EAAUN,CAAI;AAAA,IACjB,QAAQT,EAAac,EAAY,OAAO,IAAI;AAAA,IAC5C,kBAAkBd,EAAac,EAAY,iBAAiB,IAAI;AAAA,EAClE;AACF;AAEgB,SAAAE,EAAaC,GAAcC,GAAqCJ,GAA+B;AAC7G,SAAO,CAACK,EAAQD,EAAW,MAAOJ,EAAoBG,CAAI,EAAE,IAAI;AAClE;AAEO,SAASG,EAAkBH,GAAcC,GAAqCJ,GAA+BO,IAAeC,GAAM;AACvI,SAAIN,EAAaC,GAAMC,GAAYJ,CAAW,MAC9BA,IAAA;AAAA,IACZ,GAAGA;AAAA,IACH,CAACG,CAAI,GAAG,EAAE,MAAMC,EAAW,KAAK;AAAA,EAClC,GACAG,EAAGP,CAAW,IAGTA;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formAction.component.js","sources":["../../../src/components/form-action/formAction.component.tsx"],"sourcesContent":["import FormioUtils from \"formiojs/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsSchema, ActionSchema, FormOptions, Submission } from \"../../interfaces\";\nimport { Form } from \"../form/form.component\";\n\nfunction mapData(options: any, defaults: ActionDefaultsSchema): 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<ActionSchema>;\n submission?: Partial<Submission>;\n onSubmit?: (submission: Submission<ActionSchema>) => 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 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,GAAqC;AAC3D,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,EAAK,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAX,GAAkB;AAAA,IAE/EU;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,53 +0,0 @@
1
- import { ComponentSchema } from 'formiojs';
2
- import { default as PropTypes } from 'prop-types';
3
- import { Component } from 'react';
4
- export interface FormBuilderProps {
5
- components: ComponentSchema[];
6
- display?: string;
7
- options?: any;
8
- builder?: any;
9
- onChange?: (components: ComponentSchema[]) => void;
10
- onAddComponent?: Function;
11
- onUpdateComponent?: Function;
12
- onRemoveComponent?: Function;
13
- onSaveComponent?: Function;
14
- onCancelComponent?: Function;
15
- onMoveComponent?: Function;
16
- onEditComponent?: Function;
17
- onEditJson?: Function;
18
- onCopyComponent?: Function;
19
- onPasteComponent?: Function;
20
- }
21
- export declare class FormBuilder extends Component<FormBuilderProps, any> {
22
- static defaultProps: {
23
- options: {};
24
- onChange: (...args: any[]) => void;
25
- onReady: (...args: any[]) => void;
26
- onDestroy: (...args: any[]) => void;
27
- };
28
- static propTypes: {
29
- components: PropTypes.Requireable<any[]>;
30
- display: PropTypes.Requireable<string>;
31
- options: PropTypes.Requireable<object>;
32
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
33
- onAddComponent: PropTypes.Requireable<(...args: any[]) => any>;
34
- onUpdateComponent: PropTypes.Requireable<(...args: any[]) => any>;
35
- onRemoveComponent: PropTypes.Requireable<(...args: any[]) => any>;
36
- onSaveComponent: PropTypes.Requireable<(...args: any[]) => any>;
37
- onCancelComponent: PropTypes.Requireable<(...args: any[]) => any>;
38
- onMoveComponent: PropTypes.Requireable<(...args: any[]) => any>;
39
- onEditComponent: PropTypes.Requireable<(...args: any[]) => any>;
40
- onEditJson: PropTypes.Requireable<(...args: any[]) => any>;
41
- onCopyComponent: PropTypes.Requireable<(...args: any[]) => any>;
42
- onPasteComponent: PropTypes.Requireable<(...args: any[]) => any>;
43
- };
44
- private elRef;
45
- private builderRef;
46
- constructor(props: FormBuilderProps);
47
- componentDidMount(): Promise<void>;
48
- create(props: FormBuilderProps): Promise<void>;
49
- componentWillUnmount(): void;
50
- componentWillReceiveProps(nextProps: FormBuilderProps): Promise<void>;
51
- whenComponentsChange(components: ComponentSchema[]): void;
52
- render(): import("react/jsx-runtime").JSX.Element;
53
- }
@@ -1,142 +0,0 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import g from "formiojs/components";
3
- import b from "formiojs/components/Components";
4
- import w from "formiojs/FormBuilder";
5
- import f from "lodash/cloneDeep";
6
- import d from "lodash/noop";
7
- import n from "prop-types";
8
- import { Component as S } from "react";
9
- import { callLast as A } from "../../utils/callLast.js";
10
- b.setComponents(g);
11
- const T = [
12
- "addComponent",
13
- "updateComponent",
14
- "removeComponent",
15
- "saveComponent",
16
- "cancelComponent",
17
- "moveComponent",
18
- "editComponent",
19
- "editJson",
20
- "copyComponent",
21
- "pasteComponent"
22
- ], D = ["addComponent", "saveComponent", "updateComponent", "removeComponent"];
23
- async function J(u, { components: o = [], display: s, options: m, onChange: a, events: p = {} }) {
24
- const r = {
25
- display: s,
26
- components: [...o]
27
- };
28
- try {
29
- const e = await new w(u, r, { ...m }).ready, c = (t) => (...C) => {
30
- p[t] && p[t](...C), D.includes(t) && a(e.form.components);
31
- };
32
- return T.forEach((t) => e.on(t, A(c(t), 200))), e;
33
- } catch (e) {
34
- console.error(e);
35
- }
36
- }
37
- const i = class i extends S {
38
- constructor(o) {
39
- super(o), this.state = {
40
- display: o.display,
41
- components: f(o.components)
42
- }, this.elRef = null, this.builderRef = null;
43
- }
44
- async componentDidMount() {
45
- await this.create(this.props);
46
- }
47
- async create(o) {
48
- const {
49
- options: s,
50
- display: m,
51
- components: a,
52
- onAddComponent: p,
53
- onUpdateComponent: r,
54
- onRemoveComponent: e,
55
- onSaveComponent: c,
56
- onCancelComponent: t,
57
- onMoveComponent: C,
58
- onEditComponent: y,
59
- onEditJson: v,
60
- onCopyComponent: R,
61
- onPasteComponent: E
62
- } = o;
63
- this.builderRef = await J(this.elRef.firstChild, {
64
- display: m,
65
- options: { ...s },
66
- components: f(a),
67
- onChange: this.whenComponentsChange.bind(this),
68
- events: {
69
- onAddComponent: p,
70
- onUpdateComponent: r,
71
- onRemoveComponent: e,
72
- onSaveComponent: c,
73
- onCancelComponent: t,
74
- onMoveComponent: C,
75
- onEditComponent: y,
76
- onEditJson: v,
77
- onCopyComponent: R,
78
- onPasteComponent: E
79
- }
80
- });
81
- }
82
- componentWillUnmount() {
83
- var o;
84
- (o = this.builderRef) == null || o.destroy();
85
- }
86
- // eslint-disable-next-line react/no-deprecated
87
- async componentWillReceiveProps(o) {
88
- this.builderRef && (o.display !== this.state.display ? await this.create({
89
- ...this.props,
90
- display: o.display
91
- }) : o.components !== this.state.components && (this.builderRef.form = {
92
- display: this.state.display,
93
- components: o.components
94
- }));
95
- }
96
- whenComponentsChange(o) {
97
- this.setState({ components: o }, () => {
98
- var s;
99
- (s = this.props) != null && s.onChange && this.props.onChange(o);
100
- });
101
- }
102
- /* eslint-disable jsx-a11y/no-static-element-interactions */
103
- /* eslint-disable jsx-a11y/click-events-have-key-events */
104
- render() {
105
- return /* @__PURE__ */ l(
106
- "div",
107
- {
108
- ref: (o) => {
109
- this.elRef = o;
110
- },
111
- onClick: (o) => o.stopPropagation(),
112
- children: /* @__PURE__ */ l("div", {})
113
- }
114
- );
115
- }
116
- };
117
- i.defaultProps = {
118
- options: {},
119
- onChange: d,
120
- onReady: d,
121
- onDestroy: d
122
- }, i.propTypes = {
123
- components: n.array,
124
- display: n.string,
125
- options: n.object,
126
- onChange: n.func,
127
- onAddComponent: n.func,
128
- onUpdateComponent: n.func,
129
- onRemoveComponent: n.func,
130
- onSaveComponent: n.func,
131
- onCancelComponent: n.func,
132
- onMoveComponent: n.func,
133
- onEditComponent: n.func,
134
- onEditJson: n.func,
135
- onCopyComponent: n.func,
136
- onPasteComponent: n.func
137
- };
138
- let h = i;
139
- export {
140
- h as FormBuilder
141
- };
142
- //# sourceMappingURL=formBuilder.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formBuilder.component.js","sources":["../../../src/components/form-builder/formBuilder.component.tsx"],"sourcesContent":["import { ComponentSchema } from \"formiojs\";\nimport AllComponents from \"formiojs/components\";\nimport Components from \"formiojs/components/Components\";\nimport FormioFormBuilder from \"formiojs/FormBuilder\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport noop from \"lodash/noop\";\nimport PropTypes from \"prop-types\";\nimport { Component } from \"react\";\n\nimport { callLast } from \"../../utils/callLast\";\n\nComponents.setComponents(AllComponents);\n\nconst EVENTS = [\n \"addComponent\",\n \"updateComponent\",\n \"removeComponent\",\n \"saveComponent\",\n \"cancelComponent\",\n \"moveComponent\",\n \"editComponent\",\n \"editJson\",\n \"copyComponent\",\n \"pasteComponent\"\n];\n\nconst EVENTS_CHANGE = [\"addComponent\", \"saveComponent\", \"updateComponent\", \"removeComponent\"];\n\nasync function createBuilder(el: Element, { components = [], display, options, onChange, events = {} }: any): Promise<void> {\n const form = {\n display,\n components: [...components]\n };\n\n try {\n const builder = await new FormioFormBuilder(el, form, { ...options }).ready;\n\n const handleEvent = (event: string) => {\n return (...args: any[]) => {\n events[event] && events[event](...args);\n\n if (EVENTS_CHANGE.includes(event)) {\n onChange(builder.form.components);\n }\n };\n };\n\n EVENTS.forEach((event) => builder.on(event, callLast(handleEvent(event), 200)));\n\n return builder;\n } catch (er) {\n console.error(er);\n }\n}\n\nexport interface FormBuilderProps {\n components: ComponentSchema[];\n display?: string;\n options?: any;\n builder?: any;\n onChange?: (components: ComponentSchema[]) => void;\n onAddComponent?: Function;\n onUpdateComponent?: Function;\n onRemoveComponent?: Function;\n onSaveComponent?: Function;\n onCancelComponent?: Function;\n onMoveComponent?: Function;\n onEditComponent?: Function;\n onEditJson?: Function;\n onCopyComponent?: Function;\n onPasteComponent?: Function;\n}\n\nexport class FormBuilder extends Component<FormBuilderProps, any> {\n static defaultProps = {\n options: {},\n onChange: noop,\n onReady: noop,\n onDestroy: noop\n };\n\n static propTypes = {\n components: PropTypes.array,\n display: PropTypes.string,\n options: PropTypes.object,\n onChange: PropTypes.func,\n onAddComponent: PropTypes.func,\n onUpdateComponent: PropTypes.func,\n onRemoveComponent: PropTypes.func,\n onSaveComponent: PropTypes.func,\n onCancelComponent: PropTypes.func,\n onMoveComponent: PropTypes.func,\n onEditComponent: PropTypes.func,\n onEditJson: PropTypes.func,\n onCopyComponent: PropTypes.func,\n onPasteComponent: PropTypes.func\n };\n\n private elRef: any;\n private builderRef: any;\n\n constructor(props: FormBuilderProps) {\n super(props);\n\n this.state = {\n display: props.display,\n components: cloneDeep(props.components)\n };\n this.elRef = null;\n this.builderRef = null;\n }\n\n async componentDidMount(): Promise<void> {\n await this.create(this.props);\n }\n\n async create(props: FormBuilderProps) {\n const {\n options,\n display,\n components,\n onAddComponent,\n onUpdateComponent,\n onRemoveComponent,\n onSaveComponent,\n onCancelComponent,\n onMoveComponent,\n onEditComponent,\n onEditJson,\n onCopyComponent,\n onPasteComponent\n } = props;\n\n this.builderRef = await createBuilder(this.elRef.firstChild, {\n display,\n options: { ...options },\n components: cloneDeep(components),\n onChange: this.whenComponentsChange.bind(this),\n events: {\n onAddComponent,\n onUpdateComponent,\n onRemoveComponent,\n onSaveComponent,\n onCancelComponent,\n onMoveComponent,\n onEditComponent,\n onEditJson,\n onCopyComponent,\n onPasteComponent\n }\n });\n }\n\n componentWillUnmount(): void {\n this.builderRef?.destroy();\n }\n\n // eslint-disable-next-line react/no-deprecated\n async componentWillReceiveProps(nextProps: FormBuilderProps) {\n if (this.builderRef) {\n if (nextProps.display !== this.state.display) {\n await this.create({\n ...this.props,\n display: nextProps.display\n });\n } else if (nextProps.components !== this.state.components) {\n this.builderRef.form = {\n display: this.state.display,\n components: nextProps.components\n };\n }\n }\n }\n\n whenComponentsChange(components: ComponentSchema[]) {\n this.setState({ components }, () => {\n this.props?.onChange && this.props.onChange(components);\n });\n }\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n render() {\n return (\n <div\n ref={(ref) => {\n this.elRef = ref;\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <div />\n </div>\n );\n }\n}\n"],"names":["Components","AllComponents","EVENTS","EVENTS_CHANGE","createBuilder","el","components","display","options","onChange","events","form","builder","FormioFormBuilder","handleEvent","event","args","callLast","er","_FormBuilder","Component","props","cloneDeep","onAddComponent","onUpdateComponent","onRemoveComponent","onSaveComponent","onCancelComponent","onMoveComponent","onEditComponent","onEditJson","onCopyComponent","onPasteComponent","_a","nextProps","jsx","ref","e","noop","PropTypes","FormBuilder"],"mappings":";;;;;;;;;AAWAA,EAAW,cAAcC,CAAa;AAEtC,MAAMC,IAAS;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAAgB,CAAC,gBAAgB,iBAAiB,mBAAmB,iBAAiB;AAE5F,eAAeC,EAAcC,GAAa,EAAE,YAAAC,IAAa,CAAC,GAAG,SAAAC,GAAS,SAAAC,GAAS,UAAAC,GAAU,QAAAC,IAAS,CAAA,KAA0B;AAC1H,QAAMC,IAAO;AAAA,IACX,SAAAJ;AAAA,IACA,YAAY,CAAC,GAAGD,CAAU;AAAA,EAC5B;AAEI,MAAA;AACI,UAAAM,IAAU,MAAM,IAAIC,EAAkBR,GAAIM,GAAM,EAAE,GAAGH,EAAS,CAAA,EAAE,OAEhEM,IAAc,CAACC,MACZ,IAAIC,MAAgB;AACzB,MAAAN,EAAOK,CAAK,KAAKL,EAAOK,CAAK,EAAE,GAAGC,CAAI,GAElCb,EAAc,SAASY,CAAK,KACrBN,EAAAG,EAAQ,KAAK,UAAU;AAAA,IAEpC;AAGF,WAAAV,EAAO,QAAQ,CAACa,MAAUH,EAAQ,GAAGG,GAAOE,EAASH,EAAYC,CAAK,GAAG,GAAG,CAAC,CAAC,GAEvEH;AAAA,WACAM,GAAI;AACX,YAAQ,MAAMA,CAAE;AAAA,EAAA;AAEpB;AAoBO,MAAMC,IAAN,MAAMA,UAAoBC,EAAiC;AAAA,EA4BhE,YAAYC,GAAyB;AACnC,UAAMA,CAAK,GAEX,KAAK,QAAQ;AAAA,MACX,SAASA,EAAM;AAAA,MACf,YAAYC,EAAUD,EAAM,UAAU;AAAA,IACxC,GACA,KAAK,QAAQ,MACb,KAAK,aAAa;AAAA,EAAA;AAAA,EAGpB,MAAM,oBAAmC;AACjC,UAAA,KAAK,OAAO,KAAK,KAAK;AAAA,EAAA;AAAA,EAG9B,MAAM,OAAOA,GAAyB;AAC9B,UAAA;AAAA,MACJ,SAAAb;AAAA,MACA,SAAAD;AAAA,MACA,YAAAD;AAAA,MACA,gBAAAiB;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,IACEX;AAEJ,SAAK,aAAa,MAAMjB,EAAc,KAAK,MAAM,YAAY;AAAA,MAC3D,SAAAG;AAAA,MACA,SAAS,EAAE,GAAGC,EAAQ;AAAA,MACtB,YAAYc,EAAUhB,CAAU;AAAA,MAChC,UAAU,KAAK,qBAAqB,KAAK,IAAI;AAAA,MAC7C,QAAQ;AAAA,QACN,gBAAAiB;AAAA,QACA,mBAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,YAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,kBAAAC;AAAA,MAAA;AAAA,IACF,CACD;AAAA,EAAA;AAAA,EAGH,uBAA6B;;AAC3B,KAAAC,IAAA,KAAK,eAAL,QAAAA,EAAiB;AAAA,EAAQ;AAAA;AAAA,EAI3B,MAAM,0BAA0BC,GAA6B;AAC3D,IAAI,KAAK,eACHA,EAAU,YAAY,KAAK,MAAM,UACnC,MAAM,KAAK,OAAO;AAAA,MAChB,GAAG,KAAK;AAAA,MACR,SAASA,EAAU;AAAA,IAAA,CACpB,IACQA,EAAU,eAAe,KAAK,MAAM,eAC7C,KAAK,WAAW,OAAO;AAAA,MACrB,SAAS,KAAK,MAAM;AAAA,MACpB,YAAYA,EAAU;AAAA,IACxB;AAAA,EAEJ;AAAA,EAGF,qBAAqB5B,GAA+B;AAClD,SAAK,SAAS,EAAE,YAAAA,EAAW,GAAG,MAAM;;AAClC,OAAA2B,IAAA,KAAK,UAAL,QAAAA,EAAY,YAAY,KAAK,MAAM,SAAS3B,CAAU;AAAA,IAAA,CACvD;AAAA,EAAA;AAAA;AAAA;AAAA,EAKH,SAAS;AAEL,WAAA,gBAAA6B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK,CAACC,MAAQ;AACZ,eAAK,QAAQA;AAAA,QACf;AAAA,QACA,SAAS,CAACC,MAAMA,EAAE,gBAAgB;AAAA,QAElC,4BAAC,OAAI,CAAA,CAAA;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AAGN;AAxHElB,EAAO,eAAe;AAAA,EACpB,SAAS,CAAC;AAAA,EACV,UAAUmB;AAAA,EACV,SAASA;AAAA,EACT,WAAWA;AACb,GAEAnB,EAAO,YAAY;AAAA,EACjB,YAAYoB,EAAU;AAAA,EACtB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,UAAUA,EAAU;AAAA,EACpB,gBAAgBA,EAAU;AAAA,EAC1B,mBAAmBA,EAAU;AAAA,EAC7B,mBAAmBA,EAAU;AAAA,EAC7B,iBAAiBA,EAAU;AAAA,EAC3B,mBAAmBA,EAAU;AAAA,EAC7B,iBAAiBA,EAAU;AAAA,EAC3B,iBAAiBA,EAAU;AAAA,EAC3B,YAAYA,EAAU;AAAA,EACtB,iBAAiBA,EAAU;AAAA,EAC3B,kBAAkBA,EAAU;AAC9B;AAvBK,IAAMC,IAANrB;"}
@@ -1,14 +0,0 @@
1
- import { PropsWithChildren, ReactNode } from 'react';
2
- export interface FormControlProps<Data = any> {
3
- name: string;
4
- value?: Data;
5
- required?: boolean;
6
- label?: string;
7
- className?: string;
8
- onChange?: (name: string, value: any) => void;
9
- description?: string | ReactNode;
10
- prefix?: ReactNode | string;
11
- suffix?: ReactNode | string;
12
- shadow?: boolean;
13
- }
14
- export declare function FormControl({ children, name, required, prefix, suffix, description, label, className }: PropsWithChildren<FormControlProps>): import("react/jsx-runtime").JSX.Element;
@@ -1,26 +0,0 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { c as n } from "../../chunks/index.js";
3
- function u({
4
- children: i,
5
- name: t,
6
- required: l,
7
- prefix: o,
8
- suffix: e,
9
- description: a,
10
- label: s,
11
- className: c
12
- }) {
13
- return /* @__PURE__ */ d("div", { "data-testid": t && `form-group-${t}`, id: `form-group-${t || ""}`, className: n("form-group", c), children: [
14
- s && /* @__PURE__ */ r("label", { htmlFor: t, "data-testid": "form-control-label", className: `col-form-label ${l ? " field-required" : ""}`, children: s }),
15
- /* @__PURE__ */ d("div", { className: "input-group", children: [
16
- o && /* @__PURE__ */ r("div", { className: "input-group-prepend", children: /* @__PURE__ */ r("span", { className: "input-group-text", "data-testid": "form-control-prefix", children: o }) }),
17
- i,
18
- e && /* @__PURE__ */ r("div", { className: "input-group-append", children: /* @__PURE__ */ r("span", { className: "input-group-text", "data-testid": "form-control-suffix", children: e }) })
19
- ] }),
20
- a && /* @__PURE__ */ r("div", { "data-testid": "form-control-description", className: "form-text text-muted", children: a })
21
- ] });
22
- }
23
- export {
24
- u as FormControl
25
- };
26
- //# sourceMappingURL=formControl.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formControl.component.js","sources":["../../../src/components/form-control/formControl.component.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\n\nexport interface FormControlProps<Data = any> {\n name: string;\n value?: Data;\n required?: boolean;\n label?: string;\n className?: string;\n onChange?: (name: string, value: any) => void;\n description?: string | ReactNode;\n prefix?: ReactNode | string;\n suffix?: ReactNode | string;\n shadow?: boolean;\n}\n\nexport function FormControl({\n children,\n name,\n required,\n prefix,\n suffix,\n description,\n label,\n className\n}: PropsWithChildren<FormControlProps>) {\n return (\n <div data-testid={name && `form-group-${name}`} id={`form-group-${name || \"\"}`} className={classnames(\"form-group\", className)}>\n {label && (\n <label htmlFor={name} data-testid='form-control-label' className={`col-form-label ${required ? \" field-required\" : \"\"}`}>\n {label}\n </label>\n )}\n <div className={\"input-group\"}>\n {prefix && (\n <div className='input-group-prepend'>\n <span className='input-group-text' data-testid='form-control-prefix'>\n {prefix}\n </span>\n </div>\n )}\n {children}\n {suffix && (\n <div className='input-group-append'>\n <span className='input-group-text' data-testid='form-control-suffix'>\n {suffix}\n </span>\n </div>\n )}\n </div>\n {description && (\n <div data-testid='form-control-description' className='form-text text-muted'>\n {description}\n </div>\n )}\n </div>\n );\n}\n"],"names":["FormControl","children","name","required","prefix","suffix","description","label","className","classnames","jsx","jsxs"],"mappings":";;AAgBO,SAASA,EAAY;AAAA,EAC1B,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AACF,GAAwC;AACtC,2BACG,OAAI,EAAA,eAAaN,KAAQ,cAAcA,CAAI,IAAI,IAAI,cAAcA,KAAQ,EAAE,IAAI,WAAWO,EAAW,cAAcD,CAAS,GAC1H,UAAA;AAAA,IAAAD,KACE,gBAAAG,EAAA,SAAA,EAAM,SAASR,GAAM,eAAY,sBAAqB,WAAW,kBAAkBC,IAAW,oBAAoB,EAAE,IAClH,UACHI,GAAA;AAAA,IAEF,gBAAAI,EAAC,OAAI,EAAA,WAAW,eACb,UAAA;AAAA,MACCP,KAAA,gBAAAM,EAAC,OAAI,EAAA,WAAU,uBACb,UAAA,gBAAAA,EAAC,QAAK,EAAA,WAAU,oBAAmB,eAAY,uBAC5C,UAAAN,EACH,CAAA,GACF;AAAA,MAEDH;AAAA,MACAI,KACC,gBAAAK,EAAC,OAAI,EAAA,WAAU,sBACb,UAAA,gBAAAA,EAAC,QAAK,EAAA,WAAU,oBAAmB,eAAY,uBAC5C,UAAAL,EAAA,CACH,EACF,CAAA;AAAA,IAAA,GAEJ;AAAA,IACCC,KACE,gBAAAI,EAAA,OAAA,EAAI,eAAY,4BAA2B,WAAU,wBACnD,UACHJ,EAAA,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,28 +0,0 @@
1
- import { default as PropTypes } from 'prop-types';
2
- import { ReactElement } from 'react';
3
- import { FormOptions } from '../../interfaces';
4
- export interface FormEditCTAsProps extends Record<string, unknown> {
5
- saveText?: string;
6
- options?: FormOptions;
7
- hasUndo?: boolean;
8
- hasRedo?: boolean;
9
- disabled?: boolean;
10
- onCopy?: Function;
11
- onSubmit?: Function;
12
- onReset?: Function;
13
- onUndo?: Function;
14
- onRedo?: Function;
15
- }
16
- export declare function FormEditCTAs({ saveText, disabled, options, onCopy, hasUndo, hasRedo, onUndo, onRedo, onReset, onSubmit }: FormEditCTAsProps): ReactElement;
17
- export declare namespace FormEditCTAs {
18
- var propTypes: {
19
- saveText: PropTypes.Requireable<string>;
20
- options: PropTypes.Requireable<object>;
21
- hasUndo: PropTypes.Requireable<boolean>;
22
- hasRedo: PropTypes.Requireable<boolean>;
23
- disabled: PropTypes.Requireable<boolean>;
24
- onCopy: PropTypes.Requireable<(...args: any[]) => any>;
25
- onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
26
- onReset: PropTypes.Requireable<(...args: any[]) => any>;
27
- };
28
- }
@@ -1,70 +0,0 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import t from "prop-types";
3
- import { useTooltip as s } from "../../hooks/useTooltip.js";
4
- import { iconClass as n } from "../../utils/iconClass.js";
5
- function C({
6
- saveText: p = "Save",
7
- disabled: c,
8
- options: o = {},
9
- onCopy: r,
10
- hasUndo: h,
11
- hasRedo: f,
12
- onUndo: a,
13
- onRedo: d,
14
- onReset: m,
15
- onSubmit: b
16
- }) {
17
- const { i18n: i = (T) => T } = o, g = s({
18
- trigger: "hover",
19
- placement: "top",
20
- title: i("Copy")
21
- }), u = s({
22
- trigger: "hover",
23
- placement: "top",
24
- title: i("Undo last change")
25
- }), v = s({
26
- trigger: "hover",
27
- placement: "top",
28
- title: i("Redo last change")
29
- }), N = s({
30
- trigger: "hover",
31
- placement: "top",
32
- title: i("Reset all changes")
33
- });
34
- return /* @__PURE__ */ e("div", { className: "form-edit__actions", children: /* @__PURE__ */ l("div", { children: [
35
- /* @__PURE__ */ l(
36
- "button",
37
- {
38
- className: `btn btn-primary btn-save flex ${c ? "disabled" : ""}`,
39
- disabled: c,
40
- onClick: () => !c && b && b(),
41
- children: [
42
- /* @__PURE__ */ e("i", { className: `mr-1 ${n(o.iconset, "save")}` }),
43
- p
44
- ]
45
- }
46
- ),
47
- /* @__PURE__ */ l("div", { children: [
48
- /* @__PURE__ */ e("button", { className: `btn btn-light btn-undo ${h ? "" : "disabled"}`, onClick: () => a && a(), ref: u, children: /* @__PURE__ */ e("i", { className: n(o.iconset, "undo") }) }),
49
- /* @__PURE__ */ e("button", { className: `btn btn-light btn-redo ${f ? "" : "disabled"}`, onClick: () => d && d(), ref: v, children: /* @__PURE__ */ e("i", { className: n(o.iconset, "redo") }) })
50
- ] }),
51
- /* @__PURE__ */ l("div", { children: [
52
- r && /* @__PURE__ */ e("button", { className: "btn btn-light", onClick: () => r(), ref: g, children: /* @__PURE__ */ e("i", { className: n(o.iconset, "copy") }) }),
53
- /* @__PURE__ */ e("button", { className: "btn btn-light btn-reset", onClick: () => m && m(), ref: N, children: /* @__PURE__ */ e("i", { className: n(o.iconset, "reset") }) })
54
- ] })
55
- ] }) });
56
- }
57
- C.propTypes = {
58
- saveText: t.string,
59
- options: t.object,
60
- hasUndo: t.bool,
61
- hasRedo: t.bool,
62
- disabled: t.bool,
63
- onCopy: t.func,
64
- onSubmit: t.func,
65
- onReset: t.func
66
- };
67
- export {
68
- C as FormEditCTAs
69
- };
70
- //# sourceMappingURL=formCtas.component.js.map