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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/dist/all.d.ts +0 -0
  2. package/dist/all.js +38 -0
  3. package/dist/all.js.map +1 -0
  4. package/dist/atoms/icon/Icon.d.ts +4 -3
  5. package/dist/atoms/icon/Icon.js +9 -8
  6. package/dist/atoms/icon/Icon.js.map +1 -1
  7. package/dist/chunks/_commonjsHelpers.js +30 -3
  8. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  9. package/dist/chunks/index.js +33 -30
  10. package/dist/chunks/index.js.map +1 -1
  11. package/dist/chunks/index.module.js +16 -16
  12. package/dist/chunks/index.module.js.map +1 -1
  13. package/dist/chunks/index2.js +56953 -0
  14. package/dist/chunks/index2.js.map +1 -0
  15. package/dist/chunks/react-select-animated.esm.js +3616 -0
  16. package/dist/chunks/react-select-animated.esm.js.map +1 -0
  17. package/dist/contexts/FormioContext.d.ts +19 -0
  18. package/dist/contexts/FormioContext.js +35 -0
  19. package/dist/contexts/FormioContext.js.map +1 -0
  20. package/dist/hooks/keyboard.constants.d.ts +38 -0
  21. package/dist/hooks/keyboard.constants.js +7 -0
  22. package/dist/hooks/keyboard.constants.js.map +1 -0
  23. package/dist/hooks/useFormioContext.d.ts +10 -0
  24. package/dist/hooks/useFormioContext.js +12 -0
  25. package/dist/hooks/useFormioContext.js.map +1 -0
  26. package/dist/hooks/useI18n.d.ts +4 -0
  27. package/dist/hooks/useI18n.js +9 -0
  28. package/dist/hooks/useI18n.js.map +1 -0
  29. package/dist/hooks/useKeyboardControls.d.ts +12 -0
  30. package/dist/hooks/useKeyboardControls.js +35 -0
  31. package/dist/hooks/useKeyboardControls.js.map +1 -0
  32. package/dist/hooks/useTooltip.js.map +1 -1
  33. package/dist/index.d.ts +1 -6
  34. package/dist/index.js +18 -13
  35. package/dist/index.js.map +1 -1
  36. package/dist/interfaces/ComponentType.d.ts +6 -2
  37. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  38. package/dist/interfaces/FormBuilderOptions.js +2 -0
  39. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  40. package/dist/interfaces/FormOptions.d.ts +6 -13
  41. package/dist/interfaces/FormType.d.ts +4 -11
  42. package/dist/interfaces/Operation.d.ts +13 -4
  43. package/dist/interfaces/SubmissionType.d.ts +5 -10
  44. package/dist/interfaces/index.d.ts +1 -0
  45. package/dist/molecules/alert/Alert.js.map +1 -1
  46. package/dist/molecules/button/Button.d.ts +18 -5
  47. package/dist/molecules/button/Button.js +24 -28
  48. package/dist/molecules/button/Button.js.map +1 -1
  49. package/dist/molecules/card/Card.js +9 -7
  50. package/dist/molecules/card/Card.js.map +1 -1
  51. package/dist/molecules/forms/form-control/FormControl.d.ts +14 -12
  52. package/dist/molecules/forms/form-control/FormControl.js +46 -22
  53. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  54. package/dist/molecules/forms/input-tags/InputTags.d.ts +2 -8
  55. package/dist/molecules/forms/input-tags/InputTags.interface.d.ts +7 -0
  56. package/dist/molecules/forms/input-tags/InputTags.interface.js +2 -0
  57. package/dist/molecules/forms/input-tags/InputTags.interface.js.map +1 -0
  58. package/dist/molecules/forms/input-tags/InputTags.js +21 -27
  59. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  60. package/dist/molecules/forms/input-tags/all.d.ts +2 -0
  61. package/dist/molecules/forms/input-tags/all.js +9 -0
  62. package/dist/molecules/forms/input-tags/all.js.map +1 -0
  63. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +307 -0
  64. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +51 -0
  65. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -0
  66. package/dist/molecules/forms/input-tags/components/ReactTags.d.ts +2 -0
  67. package/dist/molecules/forms/input-tags/components/ReactTags.js +1926 -0
  68. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -0
  69. package/dist/molecules/forms/input-text/InputText.d.ts +2 -14
  70. package/dist/molecules/forms/input-text/InputText.interface.d.ts +4 -0
  71. package/dist/molecules/forms/input-text/InputText.interface.js +2 -0
  72. package/dist/molecules/forms/input-text/InputText.interface.js.map +1 -0
  73. package/dist/molecules/forms/input-text/InputText.js +46 -56
  74. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  75. package/dist/molecules/forms/select/Select.d.ts +1 -1
  76. package/dist/molecules/forms/select/{Select.interfaces.d.ts → Select.interface.d.ts} +8 -10
  77. package/dist/molecules/forms/select/Select.interface.js +2 -0
  78. package/dist/molecules/forms/select/Select.interface.js.map +1 -0
  79. package/dist/molecules/forms/select/Select.js +9 -10
  80. package/dist/molecules/forms/select/Select.js.map +1 -1
  81. package/dist/molecules/forms/select/all.d.ts +1 -1
  82. package/dist/molecules/forms/select/all.js +1 -0
  83. package/dist/molecules/forms/select/all.js.map +1 -1
  84. package/dist/molecules/forms/select/components/ChoicesSelect.d.ts +1 -1
  85. package/dist/molecules/forms/select/components/ChoicesSelect.js +72 -83
  86. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  87. package/dist/molecules/forms/select/components/HtmlSelect.d.ts +1 -1
  88. package/dist/molecules/forms/select/components/HtmlSelect.js +17 -16
  89. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  90. package/dist/molecules/forms/select/components/ReactSelect.d.ts +1 -1
  91. package/dist/molecules/forms/select/components/ReactSelect.js +28 -3034
  92. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  93. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  94. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  95. package/dist/molecules/forms/select/hooks/useOptions.d.ts +3 -3
  96. package/dist/molecules/forms/select/hooks/useOptions.js +15 -15
  97. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  98. package/dist/molecules/loader/Loader.d.ts +4 -4
  99. package/dist/molecules/loader/Loader.js +16 -8
  100. package/dist/molecules/loader/Loader.js.map +1 -1
  101. package/dist/molecules/modal/Modal.js +23 -24
  102. package/dist/molecules/modal/Modal.js.map +1 -1
  103. package/dist/molecules/pagination/Pagination.d.ts +7 -6
  104. package/dist/molecules/pagination/Pagination.js +48 -57
  105. package/dist/molecules/pagination/Pagination.js.map +1 -1
  106. package/dist/molecules/pagination/PaginationButton.js +10 -10
  107. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  108. package/dist/molecules/pagination/all.js +5 -4
  109. package/dist/molecules/pagination/all.js.map +1 -1
  110. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -0
  111. package/dist/molecules/table/Table.d.ts +16 -2
  112. package/dist/molecules/table/Table.js +53 -77
  113. package/dist/molecules/table/Table.js.map +1 -1
  114. package/dist/molecules/table/all.d.ts +0 -0
  115. package/dist/molecules/table/all.js +19 -0
  116. package/dist/molecules/table/all.js.map +1 -0
  117. package/dist/molecules/table/components/DefaultArrowSort.d.ts +5 -1
  118. package/dist/molecules/table/components/DefaultArrowSort.js +17 -5
  119. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  120. package/dist/molecules/table/components/DefaultCell.d.ts +5 -1
  121. package/dist/molecules/table/components/DefaultCell.js +8 -6
  122. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  123. package/dist/molecules/table/components/DefaultCellFooter.d.ts +6 -0
  124. package/dist/molecules/table/components/DefaultCellFooter.js +12 -0
  125. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -0
  126. package/dist/molecules/table/components/DefaultCellHeader.d.ts +5 -8
  127. package/dist/molecules/table/components/DefaultCellHeader.js +25 -9
  128. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  129. package/dist/molecules/table/components/DefaultCellOperations.d.ts +16 -10
  130. package/dist/molecules/table/components/DefaultCellOperations.js +23 -14
  131. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  132. package/dist/molecules/table/components/DefaultFilter.d.ts +11 -0
  133. package/dist/molecules/table/components/DefaultFilter.js +15 -0
  134. package/dist/molecules/table/components/DefaultFilter.js.map +1 -0
  135. package/dist/molecules/table/components/DefaultOperationButton.d.ts +16 -12
  136. package/dist/molecules/table/components/DefaultOperationButton.js +16 -31
  137. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  138. package/dist/molecules/table/filters/Filters.d.js +2 -0
  139. package/dist/molecules/table/filters/Filters.d.js.map +1 -0
  140. package/dist/molecules/table/filters/RangeFilter.d.ts +3 -0
  141. package/dist/molecules/table/filters/RangeFilter.js +41 -0
  142. package/dist/molecules/table/filters/RangeFilter.js.map +1 -0
  143. package/dist/molecules/table/filters/SelectFilter.d.ts +3 -0
  144. package/dist/molecules/table/filters/SelectFilter.js +33 -0
  145. package/dist/molecules/table/filters/SelectFilter.js.map +1 -0
  146. package/dist/molecules/table/filters/TextFieldFilter.d.ts +3 -0
  147. package/dist/molecules/table/filters/TextFieldFilter.js +27 -0
  148. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -0
  149. package/dist/molecules/table/hooks/useTable.d.ts +23 -0
  150. package/dist/molecules/table/hooks/useTable.js +35 -0
  151. package/dist/molecules/table/hooks/useTable.js.map +1 -0
  152. package/dist/molecules/table/hooks/useUniqValues.d.ts +5 -0
  153. package/dist/molecules/table/hooks/useUniqValues.js +11 -0
  154. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -0
  155. package/dist/molecules/table/interfaces/extends.d.ts +14 -0
  156. package/dist/molecules/table/interfaces/extends.js +2 -0
  157. package/dist/molecules/table/interfaces/extends.js.map +1 -0
  158. package/dist/molecules/table/utils/mapFormToColumns.d.ts +2 -2
  159. package/dist/molecules/table/utils/mapFormToColumns.js +34 -18
  160. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  161. package/dist/molecules/tabs/Tab.d.ts +13 -0
  162. package/dist/molecules/tabs/Tab.js +66 -0
  163. package/dist/molecules/tabs/Tab.js.map +1 -0
  164. package/dist/molecules/tabs/TabList.d.ts +2 -0
  165. package/dist/molecules/tabs/TabList.js +23 -0
  166. package/dist/molecules/tabs/TabList.js.map +1 -0
  167. package/dist/molecules/tabs/TabPanel.d.ts +9 -0
  168. package/dist/molecules/tabs/TabPanel.js +27 -0
  169. package/dist/molecules/tabs/TabPanel.js.map +1 -0
  170. package/dist/molecules/tabs/Tabs.d.ts +4 -16
  171. package/dist/molecules/tabs/Tabs.js +7 -67
  172. package/dist/molecules/tabs/Tabs.js.map +1 -1
  173. package/dist/molecules/tabs/TabsBody.d.ts +1 -0
  174. package/dist/molecules/tabs/TabsBody.js +10 -0
  175. package/dist/molecules/tabs/TabsBody.js.map +1 -0
  176. package/dist/molecules/tabs/TabsLegacy.d.ts +18 -0
  177. package/dist/molecules/tabs/TabsLegacy.js +49 -0
  178. package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
  179. package/dist/molecules/tabs/all.d.ts +5 -0
  180. package/dist/molecules/tabs/all.js +13 -0
  181. package/dist/molecules/tabs/all.js.map +1 -0
  182. package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
  183. package/dist/molecules/tabs/context/TabControl.js +85 -0
  184. package/dist/molecules/tabs/context/TabControl.js.map +1 -0
  185. package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
  186. package/dist/molecules/tabs/hooks/tabControl.js +34 -0
  187. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
  188. package/dist/organisms/form/Form.js.map +1 -1
  189. package/dist/organisms/form/access/FormAccess.js +41 -41
  190. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  191. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  192. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  193. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  194. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  195. package/dist/organisms/form/actions/FormAction.js +34 -0
  196. package/dist/organisms/form/actions/FormAction.js.map +1 -0
  197. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  198. package/dist/organisms/form/builder/FormEdit.d.ts +7 -3
  199. package/dist/organisms/form/builder/FormEdit.js +46 -42
  200. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  201. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  202. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  203. package/dist/organisms/form/builder/FormEditCtas.js +36 -35
  204. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  205. package/dist/organisms/form/builder/FormParameters.d.ts +3 -2
  206. package/dist/organisms/form/builder/FormParameters.js +19 -18
  207. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  208. package/dist/organisms/form/builder/all.js +17 -13
  209. package/dist/organisms/form/builder/all.js.map +1 -1
  210. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  211. package/dist/organisms/form/builder/useFormBuilder.js +36 -33
  212. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  213. package/dist/organisms/form/builder/useFormEdit.d.ts +2 -2
  214. package/dist/organisms/form/builder/useFormEdit.js +1 -1
  215. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  216. package/dist/organisms/form/exports/FormExport.d.ts +6 -0
  217. package/dist/organisms/form/exports/FormExport.js +56 -0
  218. package/dist/organisms/form/exports/FormExport.js.map +1 -0
  219. package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
  220. package/dist/organisms/form/preview/FormPreview.js +12 -0
  221. package/dist/organisms/form/preview/FormPreview.js.map +1 -0
  222. package/dist/organisms/form/settings/FormSettings.js +28 -28
  223. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  224. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  225. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  226. package/dist/organisms/form/useForm.d.ts +2 -1
  227. package/dist/organisms/form/useForm.js +664 -661
  228. package/dist/organisms/form/useForm.js.map +1 -1
  229. package/dist/organisms/modal/RemoveModal.js +16 -17
  230. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  231. package/dist/organisms/table/actions/ActionsTable.d.ts +4 -3
  232. package/dist/organisms/table/actions/ActionsTable.js +21 -33
  233. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  234. package/dist/organisms/table/forms/FormsTable.d.ts +2 -3
  235. package/dist/organisms/table/forms/FormsTable.js +48 -27
  236. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  237. package/dist/organisms/table/forms/components/FormsCell.d.ts +5 -0
  238. package/dist/organisms/table/forms/components/FormsCell.js +50 -0
  239. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -0
  240. package/dist/organisms/table/submissions/SubmissionsTable.d.ts +12 -4
  241. package/dist/organisms/table/submissions/SubmissionsTable.js +10 -17
  242. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  243. package/dist/organisms/views/FormViews.d.ts +24 -0
  244. package/dist/organisms/views/FormViews.js +97 -0
  245. package/dist/organisms/views/FormViews.js.map +1 -0
  246. package/dist/registries/components.js +12 -11
  247. package/dist/registries/components.js.map +1 -1
  248. package/dist/utils/getEventValue.js.map +1 -1
  249. package/dist/utils/iconClass.js +4 -5
  250. package/dist/utils/iconClass.js.map +1 -1
  251. package/dist/utils/mapPagination.js.map +1 -1
  252. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  253. package/package.json +10 -8
  254. package/readme.md +7 -8
  255. package/src/all.ts +34 -0
  256. package/src/atoms/icon/Icon.stories.tsx +71 -22
  257. package/src/atoms/icon/Icon.tsx +14 -4
  258. package/src/contexts/FormioContext.tsx +89 -0
  259. package/src/hooks/keyboard.constants.ts +40 -0
  260. package/src/hooks/useFormioContext.ts +13 -0
  261. package/src/hooks/useI18n.ts +9 -0
  262. package/src/hooks/useKeyboardControls.spec.tsx +208 -0
  263. package/src/hooks/useKeyboardControls.ts +84 -0
  264. package/src/index.ts +17 -13
  265. package/src/interfaces/ComponentType.ts +2 -2
  266. package/src/interfaces/FormBuilderOptions.ts +9 -0
  267. package/src/interfaces/FormOptions.ts +7 -13
  268. package/src/interfaces/FormType.ts +5 -11
  269. package/src/interfaces/Operation.ts +10 -4
  270. package/src/interfaces/SubmissionType.ts +9 -8
  271. package/src/interfaces/index.ts +1 -0
  272. package/src/molecules/__fixtures__/build.js +28 -0
  273. package/src/molecules/__fixtures__/form-schema.json +76 -195
  274. package/src/molecules/__fixtures__/form-submissions.json +11846 -46
  275. package/src/molecules/__fixtures__/products.json +81539 -0
  276. package/src/molecules/button/Button.stories.tsx +1 -1
  277. package/src/molecules/button/Button.tsx +43 -24
  278. package/src/molecules/card/Card.tsx +4 -0
  279. package/src/molecules/forms/form-control/FormControl.spec.tsx +7 -4
  280. package/src/molecules/forms/form-control/FormControl.stories.tsx +4 -4
  281. package/src/molecules/forms/form-control/FormControl.tsx +46 -20
  282. package/src/molecules/forms/input-tags/InputTags.interface.ts +9 -0
  283. package/src/molecules/forms/input-tags/InputTags.tsx +20 -42
  284. package/src/molecules/forms/input-tags/all.ts +6 -0
  285. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +110 -0
  286. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +72 -0
  287. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +140 -0
  288. package/src/molecules/forms/input-tags/components/ReactTags.tsx +38 -0
  289. package/src/molecules/forms/input-text/InputText.interface.ts +5 -0
  290. package/src/molecules/forms/input-text/InputText.spec.tsx +1 -1
  291. package/src/molecules/forms/input-text/InputText.stories.tsx +4 -4
  292. package/src/molecules/forms/input-text/InputText.tsx +38 -53
  293. package/src/molecules/forms/select/{Select.interfaces.ts → Select.interface.ts} +8 -10
  294. package/src/molecules/forms/select/Select.tsx +5 -3
  295. package/src/molecules/forms/select/all.ts +2 -1
  296. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +8 -7
  297. package/src/molecules/forms/select/components/ChoicesSelect.tsx +9 -18
  298. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +7 -7
  299. package/src/molecules/forms/select/components/HtmlSelect.tsx +3 -2
  300. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +10 -8
  301. package/src/molecules/forms/select/components/ReactSelect.tsx +1 -1
  302. package/src/molecules/forms/select/hooks/useOptions.ts +6 -2
  303. package/src/molecules/loader/Loader.spec.tsx +2 -2
  304. package/src/molecules/loader/Loader.stories.tsx +7 -4
  305. package/src/molecules/loader/Loader.tsx +16 -6
  306. package/src/molecules/modal/Modal.stories.tsx +1 -1
  307. package/src/molecules/pagination/Pagination.spec.tsx +11 -11
  308. package/src/molecules/pagination/Pagination.stories.tsx +32 -10
  309. package/src/molecules/pagination/Pagination.tsx +29 -26
  310. package/src/molecules/table/Table.stories.tsx +284 -101
  311. package/src/molecules/table/Table.tsx +91 -86
  312. package/src/molecules/table/all.ts +16 -0
  313. package/src/molecules/table/components/DefaultArrowSort.tsx +20 -4
  314. package/src/molecules/table/components/DefaultCell.tsx +10 -1
  315. package/src/molecules/table/components/DefaultCellFooter.tsx +16 -0
  316. package/src/molecules/table/components/DefaultCellHeader.tsx +33 -13
  317. package/src/molecules/table/components/DefaultCellOperations.tsx +31 -20
  318. package/src/molecules/table/components/DefaultFilter.tsx +42 -0
  319. package/src/molecules/table/components/DefaultOperationButton.tsx +19 -34
  320. package/src/molecules/table/filters/Filters.d.ts +31 -0
  321. package/src/molecules/table/filters/RangeFilter.tsx +43 -0
  322. package/src/molecules/table/filters/SelectFilter.tsx +47 -0
  323. package/src/molecules/table/filters/TextFieldFilter.tsx +36 -0
  324. package/src/molecules/table/hooks/useTable.tsx +76 -0
  325. package/src/molecules/table/hooks/useUniqValues.tsx +10 -0
  326. package/src/molecules/table/interfaces/extends.ts +18 -0
  327. package/src/molecules/table/utils/mapFormToColumns.tsx +69 -26
  328. package/src/molecules/tabs/Tab.tsx +106 -0
  329. package/src/molecules/tabs/TabList.tsx +37 -0
  330. package/src/molecules/tabs/TabPanel.tsx +37 -0
  331. package/src/molecules/tabs/Tabs.spec.tsx +126 -73
  332. package/src/molecules/tabs/Tabs.stories.tsx +298 -65
  333. package/src/molecules/tabs/Tabs.tsx +10 -81
  334. package/src/molecules/tabs/TabsBody.tsx +11 -0
  335. package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
  336. package/src/molecules/tabs/TabsLegacy.tsx +86 -0
  337. package/src/molecules/tabs/all.ts +5 -0
  338. package/src/molecules/tabs/context/TabControl.tsx +166 -0
  339. package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
  340. package/src/molecules/tabs/hooks/tabControl.ts +52 -0
  341. package/src/organisms/__fixtures__/form-firstname.fixture.json +1 -0
  342. package/src/organisms/__fixtures__/form.fixture.json +1 -0
  343. package/src/organisms/form/Form.stories.tsx +104 -124
  344. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  345. package/src/organisms/form/access/FormAccess.stories.tsx +6 -4
  346. package/src/organisms/form/actions/FormAction.stories.tsx +426 -0
  347. package/src/organisms/form/{action → actions}/FormAction.tsx +2 -2
  348. package/src/organisms/form/builder/FormBuilder.stories.tsx +7 -4
  349. package/src/organisms/form/builder/FormEdit.reducer.spec.ts +136 -0
  350. package/src/organisms/form/builder/FormEdit.stories.tsx +16 -13
  351. package/src/organisms/form/builder/FormEdit.tsx +15 -7
  352. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  353. package/src/organisms/form/builder/FormParameters.tsx +8 -4
  354. package/src/organisms/form/builder/all.ts +4 -0
  355. package/src/organisms/form/builder/useFormBuilder.ts +12 -7
  356. package/src/organisms/form/builder/useFormEdit.ts +3 -3
  357. package/src/organisms/form/exports/FormExport.stories.tsx +68 -0
  358. package/src/organisms/form/exports/FormExport.tsx +61 -0
  359. package/src/organisms/form/preview/FormPreview.stories.tsx +58 -0
  360. package/src/organisms/form/preview/FormPreview.tsx +23 -0
  361. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  362. package/src/organisms/form/settings/FormSettings.stories.tsx +2 -2
  363. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  364. package/src/organisms/form/useForm.ts +2 -3
  365. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  366. package/src/organisms/table/actions/ActionsTable.spec.tsx +7 -5
  367. package/src/organisms/table/actions/ActionsTable.stories.tsx +48 -45
  368. package/src/organisms/table/actions/ActionsTable.tsx +14 -18
  369. package/src/organisms/table/forms/FormsTable.stories.tsx +2 -0
  370. package/src/organisms/table/forms/FormsTable.tsx +53 -23
  371. package/src/organisms/table/forms/components/FormsCell.tsx +53 -0
  372. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +101 -57
  373. package/src/organisms/table/submissions/SubmissionsTable.tsx +12 -5
  374. package/src/organisms/views/FormViews.stories.tsx +221 -0
  375. package/src/organisms/views/FormViews.tsx +148 -0
  376. package/src/registries/components.ts +7 -1
  377. package/src/utils/iconClass.ts +1 -3
  378. package/vite.config.mts +2 -2
  379. package/dist/molecules/forms/select/Select.interfaces.js +0 -2
  380. package/dist/molecules/forms/select/Select.interfaces.js.map +0 -1
  381. package/dist/molecules/table/components/DefaultCells.d.ts +0 -4
  382. package/dist/molecules/table/components/DefaultCells.js +0 -23
  383. package/dist/molecules/table/components/DefaultCells.js.map +0 -1
  384. package/dist/molecules/table/components/DefaultRow.d.ts +0 -12
  385. package/dist/molecules/table/components/DefaultRow.js +0 -26
  386. package/dist/molecules/table/components/DefaultRow.js.map +0 -1
  387. package/dist/molecules/table/components/DragNDropContainer.d.ts +0 -4
  388. package/dist/molecules/table/components/DragNDropContainer.js +0 -10
  389. package/dist/molecules/table/components/DragNDropContainer.js.map +0 -1
  390. package/dist/molecules/table/filters/DefaultColumnFilter.d.ts +0 -10
  391. package/dist/molecules/table/filters/DefaultColumnFilter.js +0 -29
  392. package/dist/molecules/table/filters/DefaultColumnFilter.js.map +0 -1
  393. package/dist/molecules/table/filters/SelectColumnFilter.d.ts +0 -10
  394. package/dist/molecules/table/filters/SelectColumnFilter.js +0 -34
  395. package/dist/molecules/table/filters/SelectColumnFilter.js.map +0 -1
  396. package/dist/molecules/table/filters/SliderColumnFilter.d.ts +0 -9
  397. package/dist/molecules/table/filters/SliderColumnFilter.js +0 -27
  398. package/dist/molecules/table/filters/SliderColumnFilter.js.map +0 -1
  399. package/dist/molecules/table/hooks/useCustomTable.d.ts +0 -128
  400. package/dist/molecules/table/hooks/useCustomTable.js +0 -130
  401. package/dist/molecules/table/hooks/useCustomTable.js.map +0 -1
  402. package/dist/molecules/table/hooks/useDragnDropRow.d.ts +0 -272
  403. package/dist/molecules/table/hooks/useDragnDropRow.js +0 -40
  404. package/dist/molecules/table/hooks/useDragnDropRow.js.map +0 -1
  405. package/dist/molecules/table/hooks/useOperations.d.ts +0 -11
  406. package/dist/molecules/table/hooks/useOperations.js +0 -25
  407. package/dist/molecules/table/hooks/useOperations.js.map +0 -1
  408. package/dist/molecules/table/index.d.ts +0 -15
  409. package/dist/molecules/table/index.js +0 -35
  410. package/dist/molecules/table/index.js.map +0 -1
  411. package/dist/molecules/table/utils/getPageNumbers.js.map +0 -1
  412. package/dist/molecules/table/utils/swapElements.d.ts +0 -1
  413. package/dist/molecules/table/utils/swapElements.js +0 -5
  414. package/dist/molecules/table/utils/swapElements.js.map +0 -1
  415. package/dist/organisms/form/action/FormAction.js +0 -32
  416. package/dist/organisms/form/action/FormAction.js.map +0 -1
  417. package/dist/organisms/table/forms/components/FormCell.d.ts +0 -6
  418. package/dist/organisms/table/forms/components/FormCell.js +0 -50
  419. package/dist/organisms/table/forms/components/FormCell.js.map +0 -1
  420. package/dist/typings.d.js +0 -2
  421. package/dist/typings.d.js.map +0 -1
  422. package/src/molecules/forms/input-tags/InputTags.stories.tsx +0 -81
  423. package/src/molecules/table/components/DefaultCells.tsx +0 -30
  424. package/src/molecules/table/components/DefaultRow.tsx +0 -52
  425. package/src/molecules/table/components/DragNDropContainer.tsx +0 -7
  426. package/src/molecules/table/filters/DefaultColumnFilter.spec.tsx +0 -33
  427. package/src/molecules/table/filters/DefaultColumnFilter.tsx +0 -38
  428. package/src/molecules/table/filters/SelectColumnFilter.spec.tsx +0 -68
  429. package/src/molecules/table/filters/SelectColumnFilter.tsx +0 -51
  430. package/src/molecules/table/filters/SliderColumnFilter.tsx +0 -28
  431. package/src/molecules/table/hooks/useCustomTable.tsx +0 -268
  432. package/src/molecules/table/hooks/useDragnDropRow.ts +0 -80
  433. package/src/molecules/table/hooks/useOperations.tsx +0 -39
  434. package/src/molecules/table/index.ts +0 -15
  435. package/src/molecules/table/utils/swapElements.spec.ts +0 -7
  436. package/src/molecules/table/utils/swapElements.ts +0 -7
  437. package/src/organisms/form/action/FormAction.stories.tsx +0 -364
  438. package/src/organisms/table/forms/components/FormCell.tsx +0 -47
  439. package/src/typings.d.ts +0 -3
  440. package/tsconfig.app.json +0 -11
  441. package/tsconfig.json +0 -21
  442. package/tsconfig.node.json +0 -13
  443. package/tsconfig.spec.json +0 -14
  444. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.d.ts +0 -0
  445. /package/dist/molecules/{table → pagination}/utils/getPageNumbers.js +0 -0
  446. /package/dist/organisms/form/{action → actions}/FormAction.d.ts +0 -0
  447. /package/src/molecules/{table → pagination}/utils/getPageNumbers.ts +0 -0
@@ -1,4 +1,5 @@
1
1
  {
2
+ "title": "Form complex",
2
3
  "type": "form",
3
4
  "tags": [],
4
5
  "components": [
@@ -1,6 +1,7 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, fn, userEvent, waitFor, within } from "@storybook/test";
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { delay, http, HttpResponse } from "msw";
3
3
  import { useEffect, useState } from "react";
4
+ import { expect, fn, userEvent, waitFor, within } from "storybook/test";
4
5
 
5
6
  import { SubmissionType } from "../../interfaces";
6
7
  import { InputText } from "../../molecules/forms/input-text/InputText";
@@ -9,12 +10,6 @@ import formFirstname from "../__fixtures__/form-firstname.fixture.json";
9
10
  import { useEditForm } from "../__fixtures__/useEditForm";
10
11
  import { Form } from "./Form";
11
12
 
12
- async function delay(number: number) {
13
- return new Promise((resolve) => {
14
- setTimeout(resolve, number);
15
- });
16
- }
17
-
18
13
  /**
19
14
  * The form component is the primary component of the system. It is what takes the form definition (json) and renders the
20
15
  * form into html. There are multiple ways to send the form to the Form component. The two main ways are to pass the `src`
@@ -185,7 +180,7 @@ export const BasicUsageWithForm: Story = {
185
180
  args: {
186
181
  form: form as any,
187
182
  onFormReady: fn(),
188
- options: { template: "tailwind", iconset: "bx" }
183
+ options: { template: "tailwind", iconset: "lu" }
189
184
  },
190
185
  async play({ canvasElement, args }) {
191
186
  const canvas = within(canvasElement);
@@ -209,7 +204,7 @@ export const BasicUsageWithForm: Story = {
209
204
  export const BasicUsageWithSrc: Story = {
210
205
  args: {
211
206
  src: "https://example.form.io/example",
212
- options: { template: "tailwind", iconset: "bx" }
207
+ options: { template: "tailwind", iconset: "lu" }
213
208
  },
214
209
  async play({ canvasElement }) {
215
210
  const canvas = within(canvasElement);
@@ -233,7 +228,7 @@ export const WithSubmissionData: Story = {
233
228
  form: formFirstname as never,
234
229
  options: {
235
230
  template: "tailwind",
236
- iconset: "bx"
231
+ iconset: "lu"
237
232
  },
238
233
  submission: {
239
234
  data: {
@@ -306,7 +301,7 @@ export const WithOnSubmit: Story = {
306
301
  form: formFirstname as never,
307
302
  options: {
308
303
  template: "tailwind",
309
- iconset: "bx"
304
+ iconset: "lu"
310
305
  },
311
306
  submission: {
312
307
  data: {
@@ -332,15 +327,15 @@ export const WithOnSubmit: Story = {
332
327
  expect(firstnameInput).toHaveValue("John");
333
328
  expect(lastNameInput).toHaveValue("Doe");
334
329
 
335
- userEvent.clear(firstnameInput);
336
- userEvent.type(firstnameInput, "Jane", { delay: 100 });
330
+ await userEvent.clear(firstnameInput);
331
+ await userEvent.type(firstnameInput, "Jane", { delay: 100 });
337
332
 
338
333
  await waitFor(() => {
339
334
  expect(firstnameInput).toHaveValue("Jane");
340
335
  });
341
336
 
342
- userEvent.clear(lastNameInput);
343
- userEvent.type(lastNameInput, "Smith", { delay: 100 });
337
+ await userEvent.clear(lastNameInput);
338
+ await userEvent.type(lastNameInput, "Smith", { delay: 100 });
344
339
 
345
340
  await waitFor(() => {
346
341
  expect(lastNameInput).toHaveValue("Smith");
@@ -397,42 +392,20 @@ export const WithOnSubmit: Story = {
397
392
  * Form with custom validation hook
398
393
  */
399
394
  export const CustomValidation: Story = {
400
- parameters: {
401
- mockData: [
402
- {
403
- url: "https://test.dev/todos/1",
404
- method: "GET",
405
- status: 500,
406
- response: {
407
- message: "My custom message about this field",
408
- type: "custom",
409
- path: ["firstName"],
410
- level: "error"
411
- },
412
- delay: 800
413
- }
414
- ]
415
- },
395
+ parameters: {},
416
396
  args: {
417
397
  form: formFirstname as never,
418
398
  options: {
419
399
  hooks: {
420
400
  async customValidation(submission: SubmissionType, callback: (error: any) => void) {
421
- const response = await fetch("https://test.dev/todos/1", {
422
- headers: {
423
- Accept: "application/json",
424
- "Content-Type": "application/json"
425
- },
426
- method: "GET"
427
- });
428
-
429
- const responseData = await response.json();
430
-
431
- if (response.ok) {
432
- callback(null);
433
- } else {
434
- callback(responseData);
435
- }
401
+ setTimeout(() => {
402
+ callback({
403
+ message: "My custom message about this field",
404
+ type: "custom",
405
+ path: ["firstName"],
406
+ level: "error"
407
+ });
408
+ }, 200);
436
409
  }
437
410
  }
438
411
  }
@@ -451,15 +424,15 @@ export const CustomValidation: Story = {
451
424
  let firstnameInput = canvas.getByRole("textbox", { name: "First name" });
452
425
  let lastNameInput = canvas.getByRole("textbox", { name: "Last name" });
453
426
 
454
- userEvent.clear(firstnameInput);
455
- userEvent.type(firstnameInput, "Jane", { delay: 100 });
427
+ await userEvent.clear(firstnameInput);
428
+ await userEvent.type(firstnameInput, "Jane", { delay: 100 });
456
429
 
457
430
  await waitFor(() => {
458
431
  expect(firstnameInput).toHaveValue("Jane");
459
432
  });
460
433
 
461
- userEvent.clear(lastNameInput);
462
- userEvent.type(lastNameInput, "Smith", { delay: 100 });
434
+ await userEvent.clear(lastNameInput);
435
+ await userEvent.type(lastNameInput, "Smith", { delay: 100 });
463
436
 
464
437
  await waitFor(() => {
465
438
  expect(lastNameInput).toHaveValue("Smith");
@@ -467,7 +440,7 @@ export const CustomValidation: Story = {
467
440
 
468
441
  let submitButton = canvas.getByRole("button", { name: "Submit" });
469
442
 
470
- userEvent.click(submitButton);
443
+ await userEvent.click(submitButton);
471
444
 
472
445
  await waitFor(async () => {
473
446
  expect(canvas.getByText("Please fix the following errors before submitting.")).toBeInTheDocument();
@@ -486,39 +459,33 @@ export const FetchSubmissionWithCustomAction: Story = {
486
459
  args: {
487
460
  options: {
488
461
  template: "tailwind",
489
- iconset: "bx"
462
+ iconset: "lu"
490
463
  }
491
464
  },
492
465
  parameters: {
493
- mockData: [
494
- {
495
- url: "https://local.dev/form/Test",
496
- method: "GET",
497
- status: 200,
498
- response: formFirstname,
499
- delay: 200
500
- },
501
- {
502
- url: "https://local.dev/form/Test/submissions/1",
503
- method: "GET",
504
- status: 200,
505
- response: {
506
- firstName: "John",
507
- lastName: "Doe"
508
- },
509
- delay: 800
510
- },
511
- {
512
- url: "https://local.dev/form/Test/submissions/1",
513
- method: "PUT",
514
- status: 200,
515
- response: {
516
- firstName: "John",
517
- lastName: "Doe"
518
- },
519
- delay: 800
520
- }
521
- ]
466
+ chromatic: { disableSnapshot: false },
467
+ msw: {
468
+ handlers: [
469
+ http.get("https://local.dev/form/Test", async () => {
470
+ await delay(200);
471
+ return HttpResponse.json(JSON.parse(JSON.stringify(formFirstname)));
472
+ }),
473
+ http.get("https://local.dev/form/Test/submissions/1", async () => {
474
+ await delay(300);
475
+ return HttpResponse.json({
476
+ firstName: "Jane",
477
+ lastName: "Doe"
478
+ });
479
+ }),
480
+ http.put("https://local.dev/form/Test/submissions/1", async () => {
481
+ await delay(800);
482
+ return HttpResponse.json({
483
+ firstName: "Jane",
484
+ lastName: "Doe"
485
+ });
486
+ })
487
+ ]
488
+ }
522
489
  },
523
490
  render(args) {
524
491
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -559,18 +526,25 @@ export const FetchSubmissionWithCustomAction: Story = {
559
526
  expect(canvas.getByTestId("formio-container")).toHaveClass("formio-form-ready");
560
527
  });
561
528
 
529
+ await delay(200);
530
+
562
531
  let firstnameInput = canvas.getByRole("textbox", { name: "First name" });
563
532
  let lastNameInput = canvas.getByRole("textbox", { name: "Last name" });
564
533
 
565
- userEvent.clear(firstnameInput);
566
- userEvent.type(firstnameInput, "Jane", { delay: 100 });
534
+ await userEvent.clear(firstnameInput);
535
+
536
+ await waitFor(() => {
537
+ expect(firstnameInput).toHaveValue("");
538
+ });
539
+
540
+ await userEvent.type(firstnameInput, "Jane", { delay: 100 });
567
541
 
568
542
  await waitFor(() => {
569
543
  expect(firstnameInput).toHaveValue("Jane");
570
544
  });
571
545
 
572
- userEvent.clear(lastNameInput);
573
- userEvent.type(lastNameInput, "Smith", { delay: 100 });
546
+ await userEvent.clear(lastNameInput);
547
+ await userEvent.type(lastNameInput, "Smith", { delay: 100 });
574
548
 
575
549
  await waitFor(() => {
576
550
  expect(lastNameInput).toHaveValue("Smith");
@@ -578,7 +552,7 @@ export const FetchSubmissionWithCustomAction: Story = {
578
552
 
579
553
  let submitButton = canvas.getByRole("button", { name: "Submit" });
580
554
 
581
- userEvent.click(submitButton);
555
+ await userEvent.click(submitButton);
582
556
 
583
557
  await delay(1000);
584
558
 
@@ -593,41 +567,40 @@ export const ErrorOnSubmitServer: Story = {
593
567
  args: {
594
568
  options: {
595
569
  template: "tailwind",
596
- iconset: "bx"
570
+ iconset: "lu"
597
571
  }
598
572
  },
599
573
  parameters: {
600
- mockData: [
601
- {
602
- url: "https://local.dev/form/Test2",
603
- method: "GET",
604
- status: 200,
605
- response: formFirstname,
606
- delay: 200
607
- },
608
- {
609
- url: "https://local.dev/form/Test2/submissions/2",
610
- method: "GET",
611
- status: 200,
612
- response: {
613
- firstName: "John",
614
- lastName: "Doe"
615
- },
616
- delay: 800
617
- },
618
- {
619
- url: "https://local.dev/form/Test2/submissions/2",
620
- method: "PUT",
621
- status: 400,
622
- response: {
623
- message: "My custom message about this field",
624
- type: "custom",
625
- path: ["firstName"],
626
- level: "error"
627
- },
628
- delay: 800
629
- }
630
- ]
574
+ chromatic: { disableSnapshot: false },
575
+ msw: {
576
+ handlers: [
577
+ http.get("https://local.dev/form/Test2", async () => {
578
+ await delay(200);
579
+ return HttpResponse.json(JSON.parse(JSON.stringify(formFirstname)));
580
+ }),
581
+ http.get("https://local.dev/form/Test2/submissions/2", async () => {
582
+ await delay(300);
583
+ return HttpResponse.json({
584
+ firstName: "John",
585
+ lastName: "Doe"
586
+ });
587
+ }),
588
+ http.put("https://local.dev/form/Test2/submissions/2", async () => {
589
+ await delay(800);
590
+ return HttpResponse.json(
591
+ {
592
+ message: "My custom message about this field",
593
+ type: "custom",
594
+ path: ["firstName"],
595
+ level: "error"
596
+ },
597
+ {
598
+ status: 400
599
+ }
600
+ );
601
+ })
602
+ ]
603
+ }
631
604
  },
632
605
  render(args) {
633
606
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -668,18 +641,25 @@ export const ErrorOnSubmitServer: Story = {
668
641
  expect(canvas.getByTestId("formio-container")).toHaveClass("formio-form-ready");
669
642
  });
670
643
 
644
+ await delay(200);
645
+
671
646
  let firstnameInput = canvas.getByRole("textbox", { name: "First name" });
672
647
  let lastNameInput = canvas.getByRole("textbox", { name: "Last name" });
673
648
 
674
- userEvent.clear(firstnameInput);
675
- userEvent.type(firstnameInput, "Jane", { delay: 100 });
649
+ await userEvent.clear(firstnameInput);
650
+
651
+ await waitFor(() => {
652
+ expect(firstnameInput).toHaveValue("");
653
+ });
654
+
655
+ await userEvent.type(firstnameInput, "Jane", { delay: 100 });
676
656
 
677
657
  await waitFor(() => {
678
658
  expect(firstnameInput).toHaveValue("Jane");
679
659
  });
680
660
 
681
- userEvent.clear(lastNameInput);
682
- userEvent.type(lastNameInput, "Smith", { delay: 100 });
661
+ await userEvent.clear(lastNameInput);
662
+ await userEvent.type(lastNameInput, "Smith", { delay: 100 });
683
663
 
684
664
  await waitFor(() => {
685
665
  expect(lastNameInput).toHaveValue("Smith");
@@ -687,7 +667,7 @@ export const ErrorOnSubmitServer: Story = {
687
667
 
688
668
  let submitButton = canvas.getByRole("button", { name: "Submit" });
689
669
 
690
- userEvent.click(submitButton);
670
+ await userEvent.click(submitButton);
691
671
 
692
672
  await delay(1000);
693
673
 
@@ -11,6 +11,7 @@ export function getRoleComponent({ label, key, description, choices, data }: any
11
11
  placeholder: "Select roles...",
12
12
  tooltip: "",
13
13
  multiple: true,
14
+ input: true,
14
15
  dataSrc: "values",
15
16
  defaultValue: "",
16
17
  data: {
@@ -1,5 +1,5 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, fn, userEvent, within } from "@storybook/test";
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { expect, fn, userEvent, within } from "storybook/test";
3
3
 
4
4
  import { FormAccess } from "./FormAccess";
5
5
 
@@ -63,7 +63,9 @@ export const Sandbox: Story = {
63
63
  ],
64
64
  controller: "",
65
65
  properties: {},
66
- settings: {},
66
+ settings: {
67
+ hideTitle: false
68
+ },
67
69
  name: "textField",
68
70
  path: "textfield",
69
71
  machineName: "tcspjwhsevrzpcd:textField"
@@ -76,6 +78,6 @@ export const Sandbox: Story = {
76
78
  { title: "Authenticated", _id: "5d0797bc872fc71d05559859" },
77
79
  { title: "Anonymous", _id: "5d0797bc872fc7da3b55985a" }
78
80
  ],
79
- options: { template: "tailwind", iconset: "bx" }
81
+ options: { template: "tailwind", iconset: "lu" }
80
82
  }
81
83
  };