@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.
- package/dist/atoms/icon/Icon.d.ts +6 -0
- package/dist/atoms/icon/Icon.js +12 -0
- package/dist/atoms/icon/Icon.js.map +1 -0
- package/dist/chunks/_commonjsHelpers.js +7 -0
- package/dist/chunks/_commonjsHelpers.js.map +1 -0
- package/dist/chunks/index.js +16 -18
- package/dist/chunks/index.js.map +1 -1
- package/dist/chunks/index.module.js +56 -0
- package/dist/chunks/index.module.js.map +1 -0
- package/dist/chunks/react-select-animated.esm.js +3513 -0
- package/dist/chunks/react-select-animated.esm.js.map +1 -0
- package/dist/hooks/keyboard.constants.d.ts +38 -0
- package/dist/hooks/keyboard.constants.js +7 -0
- package/dist/hooks/keyboard.constants.js.map +1 -0
- package/dist/hooks/useKeyboardControls.d.ts +12 -0
- package/dist/hooks/useKeyboardControls.js +35 -0
- package/dist/hooks/useKeyboardControls.js.map +1 -0
- package/dist/index.d.ts +0 -6
- package/dist/index.js +12 -105
- package/dist/index.js.map +1 -1
- package/dist/interfaces/ActionType.d.ts +23 -0
- package/dist/interfaces/ActionType.js +2 -0
- package/dist/interfaces/ActionType.js.map +1 -0
- package/dist/interfaces/ComponentType.d.ts +2 -0
- package/dist/interfaces/ComponentType.js +2 -0
- package/dist/interfaces/ComponentType.js.map +1 -0
- package/dist/interfaces/FormOptions.d.ts +3 -0
- package/dist/interfaces/{FormSchema.d.ts → FormType.d.ts} +3 -3
- package/dist/interfaces/FormType.js +2 -0
- package/dist/interfaces/FormType.js.map +1 -0
- package/dist/interfaces/Operation.d.ts +13 -4
- package/dist/interfaces/{RoleSchema.d.ts → RoleType.d.ts} +1 -1
- package/dist/interfaces/RoleType.js +2 -0
- package/dist/interfaces/RoleType.js.map +1 -0
- package/dist/interfaces/SubmissionType.d.ts +29 -0
- package/dist/interfaces/SubmissionType.js +2 -0
- package/dist/interfaces/SubmissionType.js.map +1 -0
- package/dist/interfaces/index.d.ts +5 -4
- package/dist/molecules/alert/Alert.d.ts +6 -0
- package/dist/{components/alert/alert.component.js → molecules/alert/Alert.js} +10 -7
- package/dist/molecules/alert/Alert.js.map +1 -0
- package/dist/molecules/button/Button.d.ts +21 -0
- package/dist/molecules/button/Button.js +51 -0
- package/dist/molecules/button/Button.js.map +1 -0
- package/dist/molecules/card/Card.js +14 -0
- package/dist/molecules/card/Card.js.map +1 -0
- package/dist/molecules/forms/form-control/FormControl.d.ts +17 -0
- package/dist/molecules/forms/form-control/FormControl.js +51 -0
- package/dist/molecules/forms/form-control/FormControl.js.map +1 -0
- package/dist/molecules/forms/input-tags/InputTags.d.ts +2 -0
- package/dist/molecules/forms/input-tags/InputTags.interface.d.ts +7 -0
- package/dist/molecules/forms/input-tags/InputTags.interface.js +2 -0
- package/dist/molecules/forms/input-tags/InputTags.interface.js.map +1 -0
- package/dist/molecules/forms/input-tags/InputTags.js +25 -0
- package/dist/molecules/forms/input-tags/InputTags.js.map +1 -0
- package/dist/molecules/forms/input-tags/all.d.ts +2 -0
- package/dist/molecules/forms/input-tags/all.js +9 -0
- package/dist/molecules/forms/input-tags/all.js.map +1 -0
- package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +307 -0
- package/dist/molecules/forms/input-tags/components/ChoicesTags.js +51 -0
- package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -0
- package/dist/molecules/forms/input-tags/components/ReactTags.d.ts +2 -0
- package/dist/molecules/forms/input-tags/components/ReactTags.js +1937 -0
- package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -0
- package/dist/molecules/forms/input-text/InputText.d.ts +2 -0
- package/dist/molecules/forms/input-text/InputText.interface.d.ts +4 -0
- package/dist/molecules/forms/input-text/InputText.interface.js +2 -0
- package/dist/molecules/forms/input-text/InputText.interface.js.map +1 -0
- package/dist/molecules/forms/input-text/InputText.js +54 -0
- package/dist/molecules/forms/input-text/InputText.js.map +1 -0
- package/dist/molecules/forms/select/Select.d.ts +2 -0
- package/dist/molecules/forms/select/Select.interface.d.ts +38 -0
- package/dist/molecules/forms/select/Select.interface.js +2 -0
- package/dist/molecules/forms/select/Select.interface.js.map +1 -0
- package/dist/molecules/forms/select/Select.js +16 -0
- package/dist/molecules/forms/select/Select.js.map +1 -0
- package/dist/molecules/forms/select/all.d.ts +2 -0
- package/dist/molecules/forms/select/all.js +9 -0
- package/dist/molecules/forms/select/all.js.map +1 -0
- package/dist/molecules/forms/select/components/ChoicesSelect.d.ts +7 -0
- package/dist/molecules/forms/select/components/ChoicesSelect.js +115 -0
- package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -0
- package/dist/molecules/forms/select/components/HtmlSelect.d.ts +2 -0
- package/dist/molecules/forms/select/components/HtmlSelect.js +35 -0
- package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -0
- package/dist/molecules/forms/select/components/ReactSelect.d.ts +2 -0
- package/dist/molecules/forms/select/components/ReactSelect.js +46 -0
- package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -0
- package/dist/molecules/forms/select/components/choices.template.d.ts +7 -0
- package/dist/molecules/forms/select/components/choices.template.js +9654 -0
- package/dist/molecules/forms/select/components/choices.template.js.map +1 -0
- package/dist/molecules/forms/select/hooks/useOptions.d.ts +9 -0
- package/dist/molecules/forms/select/hooks/useOptions.js +35 -0
- package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -0
- package/dist/{components/loader/loader.component.d.ts → molecules/loader/Loader.d.ts} +0 -9
- package/dist/molecules/loader/Loader.js +19 -0
- package/dist/molecules/loader/Loader.js.map +1 -0
- package/dist/{components/modal/modal.component.js → molecules/modal/Modal.js} +1 -1
- package/dist/molecules/modal/Modal.js.map +1 -0
- package/dist/{components/pagination/pagination.component.d.ts → molecules/pagination/Pagination.d.ts} +6 -5
- package/dist/molecules/pagination/Pagination.js +77 -0
- package/dist/molecules/pagination/Pagination.js.map +1 -0
- package/dist/molecules/pagination/PaginationButton.d.ts +7 -0
- package/dist/molecules/pagination/PaginationButton.js +21 -0
- package/dist/molecules/pagination/PaginationButton.js.map +1 -0
- package/dist/molecules/pagination/all.d.ts +2 -0
- package/dist/molecules/pagination/all.js +12 -0
- package/dist/molecules/pagination/all.js.map +1 -0
- package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -0
- package/dist/molecules/table/Table.d.ts +17 -0
- package/dist/molecules/table/Table.js +63 -0
- package/dist/molecules/table/Table.js.map +1 -0
- package/dist/molecules/table/all.d.ts +0 -0
- package/dist/molecules/table/all.js +19 -0
- package/dist/molecules/table/all.js.map +1 -0
- package/dist/molecules/table/components/DefaultArrowSort.d.ts +5 -0
- package/dist/molecules/table/components/DefaultArrowSort.js +22 -0
- package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -0
- package/dist/molecules/table/components/DefaultCell.d.ts +5 -0
- package/dist/molecules/table/components/DefaultCell.js +13 -0
- package/dist/molecules/table/components/DefaultCell.js.map +1 -0
- package/dist/molecules/table/components/DefaultCellFooter.d.ts +6 -0
- package/dist/molecules/table/components/DefaultCellFooter.js +12 -0
- package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -0
- package/dist/molecules/table/components/DefaultCellHeader.d.ts +6 -0
- package/dist/molecules/table/components/DefaultCellHeader.js +30 -0
- package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -0
- package/dist/molecules/table/components/DefaultCellOperations.d.ts +18 -0
- package/dist/molecules/table/components/DefaultCellOperations.js +30 -0
- package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -0
- package/dist/molecules/table/components/DefaultFilter.d.ts +11 -0
- package/dist/molecules/table/components/DefaultFilter.js +15 -0
- package/dist/molecules/table/components/DefaultFilter.js.map +1 -0
- package/dist/molecules/table/components/DefaultOperationButton.d.ts +19 -0
- package/dist/molecules/table/components/DefaultOperationButton.js +30 -0
- package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -0
- package/dist/molecules/table/filters/Filters.d.js +2 -0
- package/dist/molecules/table/filters/Filters.d.js.map +1 -0
- package/dist/molecules/table/filters/RangeFilter.d.ts +3 -0
- package/dist/molecules/table/filters/RangeFilter.js +42 -0
- package/dist/molecules/table/filters/RangeFilter.js.map +1 -0
- package/dist/molecules/table/filters/SelectFilter.d.ts +3 -0
- package/dist/molecules/table/filters/SelectFilter.js +35 -0
- package/dist/molecules/table/filters/SelectFilter.js.map +1 -0
- package/dist/molecules/table/filters/TextFieldFilter.d.ts +3 -0
- package/dist/molecules/table/filters/TextFieldFilter.js +27 -0
- package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -0
- package/dist/molecules/table/hooks/useTable.d.ts +23 -0
- package/dist/molecules/table/hooks/useTable.js +34 -0
- package/dist/molecules/table/hooks/useTable.js.map +1 -0
- package/dist/molecules/table/hooks/useUniqValues.d.ts +5 -0
- package/dist/molecules/table/hooks/useUniqValues.js +11 -0
- package/dist/molecules/table/hooks/useUniqValues.js.map +1 -0
- package/dist/molecules/table/interfaces/extends.d.ts +14 -0
- package/dist/molecules/table/interfaces/extends.js +2 -0
- package/dist/molecules/table/interfaces/extends.js.map +1 -0
- package/dist/molecules/table/utils/mapFormToColumns.d.ts +3 -0
- package/dist/molecules/table/utils/mapFormToColumns.js +39 -0
- package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -0
- package/dist/molecules/tabs/Tab.d.ts +13 -0
- package/dist/molecules/tabs/Tab.js +67 -0
- package/dist/molecules/tabs/Tab.js.map +1 -0
- package/dist/molecules/tabs/TabList.d.ts +2 -0
- package/dist/molecules/tabs/TabList.js +24 -0
- package/dist/molecules/tabs/TabList.js.map +1 -0
- package/dist/molecules/tabs/TabPanel.d.ts +9 -0
- package/dist/molecules/tabs/TabPanel.js +27 -0
- package/dist/molecules/tabs/TabPanel.js.map +1 -0
- package/dist/molecules/tabs/Tabs.d.ts +7 -0
- package/dist/molecules/tabs/Tabs.js +12 -0
- package/dist/molecules/tabs/Tabs.js.map +1 -0
- package/dist/molecules/tabs/TabsBody.d.ts +1 -0
- package/dist/molecules/tabs/TabsBody.js +10 -0
- package/dist/molecules/tabs/TabsBody.js.map +1 -0
- package/dist/molecules/tabs/TabsLegacy.d.ts +17 -0
- package/dist/molecules/tabs/TabsLegacy.js +49 -0
- package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
- package/dist/molecules/tabs/all.d.ts +5 -0
- package/dist/molecules/tabs/all.js +13 -0
- package/dist/molecules/tabs/all.js.map +1 -0
- package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
- package/dist/molecules/tabs/context/TabControl.js +85 -0
- package/dist/molecules/tabs/context/TabControl.js.map +1 -0
- package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
- package/dist/molecules/tabs/hooks/tabControl.js +34 -0
- package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
- package/dist/organisms/form/Form.d.ts +22 -0
- package/dist/organisms/form/Form.js +15 -0
- package/dist/organisms/form/Form.js.map +1 -0
- package/dist/{components/form-access/formAccess.component.d.ts → organisms/form/access/FormAccess.d.ts} +2 -2
- package/dist/{components/form-access/formAccess.component.js → organisms/form/access/FormAccess.js} +4 -5
- package/dist/organisms/form/access/FormAccess.js.map +1 -0
- package/dist/organisms/form/access/FormAccess.schema.d.ts +4 -0
- package/dist/{components/form-access/formAccess.schema.js → organisms/form/access/FormAccess.schema.js} +1 -1
- package/dist/organisms/form/access/FormAccess.schema.js.map +1 -0
- package/dist/organisms/form/access/FormAccess.utils.d.ts +23 -0
- package/dist/{components/form-access/formAccess.utils.js → organisms/form/access/FormAccess.utils.js} +2 -2
- package/dist/organisms/form/access/FormAccess.utils.js.map +1 -0
- package/dist/{components/form-action/formAction.component.d.ts → organisms/form/actions/FormAction.d.ts} +4 -4
- package/dist/{components/form-action/formAction.component.js → organisms/form/actions/FormAction.js} +2 -2
- package/dist/organisms/form/actions/FormAction.js.map +1 -0
- package/dist/organisms/form/builder/FormBuilder.d.ts +7 -0
- package/dist/organisms/form/builder/FormBuilder.js +17 -0
- package/dist/organisms/form/builder/FormBuilder.js.map +1 -0
- package/dist/organisms/form/builder/FormEdit.d.ts +10 -0
- package/dist/organisms/form/builder/FormEdit.js +73 -0
- package/dist/organisms/form/builder/FormEdit.js.map +1 -0
- package/dist/organisms/form/builder/FormEdit.reducer.d.ts +10 -0
- package/dist/{components/form-edit/formEdit.reducer.js → organisms/form/builder/FormEdit.reducer.js} +1 -1
- package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -0
- package/dist/organisms/form/builder/FormEditCtas.d.ts +15 -0
- package/dist/organisms/form/builder/FormEditCtas.js +52 -0
- package/dist/organisms/form/builder/FormEditCtas.js.map +1 -0
- package/dist/organisms/form/builder/FormParameters.d.ts +24 -0
- package/dist/organisms/form/builder/FormParameters.js +84 -0
- package/dist/organisms/form/builder/FormParameters.js.map +1 -0
- package/dist/organisms/form/builder/all.d.ts +6 -0
- package/dist/organisms/form/builder/all.js +26 -0
- package/dist/organisms/form/builder/all.js.map +1 -0
- package/dist/organisms/form/builder/useFormBuilder.d.ts +28 -0
- package/dist/organisms/form/builder/useFormBuilder.js +71 -0
- package/dist/organisms/form/builder/useFormBuilder.js.map +1 -0
- package/dist/{components/form-edit/useFormEdit.hook.d.ts → organisms/form/builder/useFormEdit.d.ts} +7 -7
- package/dist/organisms/form/builder/useFormEdit.js +36 -0
- package/dist/organisms/form/builder/useFormEdit.js.map +1 -0
- package/dist/organisms/form/exports/FormExport.d.ts +5 -0
- package/dist/organisms/form/exports/FormExport.js +55 -0
- package/dist/organisms/form/exports/FormExport.js.map +1 -0
- package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
- package/dist/organisms/form/preview/FormPreview.js +11 -0
- package/dist/organisms/form/preview/FormPreview.js.map +1 -0
- package/dist/{components/form-settings/formSettings.component.d.ts → organisms/form/settings/FormSettings.d.ts} +2 -2
- package/dist/{components/form-settings/formSettings.component.js → organisms/form/settings/FormSettings.js} +4 -4
- package/dist/organisms/form/settings/FormSettings.js.map +1 -0
- package/dist/organisms/form/settings/FormSettings.schema.d.ts +2 -0
- package/dist/{components/form-settings/formSettings.schema.js → organisms/form/settings/FormSettings.schema.js} +1 -1
- package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -0
- package/dist/organisms/form/settings/FormSettings.utils.d.ts +8 -0
- package/dist/{components/form-settings/formSettings.utils.js → organisms/form/settings/FormSettings.utils.js} +1 -1
- package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -0
- package/dist/organisms/form/types.d.ts +15 -0
- package/dist/organisms/form/types.js +2 -0
- package/dist/organisms/form/types.js.map +1 -0
- package/dist/organisms/form/useForm.d.ts +65 -0
- package/dist/organisms/form/useForm.js +776 -0
- package/dist/organisms/form/useForm.js.map +1 -0
- package/dist/{components/modal/removeModal.component.d.ts → organisms/modal/RemoveModal.d.ts} +1 -1
- package/dist/{components/modal/removeModal.component.js → organisms/modal/RemoveModal.js} +10 -10
- package/dist/organisms/modal/RemoveModal.js.map +1 -0
- package/dist/organisms/table/actions/ActionsTable.d.ts +10 -0
- package/dist/organisms/table/actions/ActionsTable.js +46 -0
- package/dist/organisms/table/actions/ActionsTable.js.map +1 -0
- package/dist/organisms/table/forms/FormsTable.d.ts +9 -0
- package/dist/organisms/table/forms/FormsTable.js +57 -0
- package/dist/organisms/table/forms/FormsTable.js.map +1 -0
- package/dist/organisms/table/forms/components/FormsCell.d.ts +5 -0
- package/dist/organisms/table/forms/components/FormsCell.js +50 -0
- package/dist/organisms/table/forms/components/FormsCell.js.map +1 -0
- package/dist/organisms/table/submissions/SubmissionsTable.d.ts +14 -0
- package/dist/organisms/table/submissions/SubmissionsTable.js +14 -0
- package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -0
- package/dist/organisms/views/FormViews.d.ts +24 -0
- package/dist/organisms/views/FormViews.js +96 -0
- package/dist/organisms/views/FormViews.js.map +1 -0
- package/dist/registries/components.d.ts +3 -0
- package/dist/registries/components.js +19 -0
- package/dist/registries/components.js.map +1 -0
- package/package.json +10 -8
- package/readme.md +27 -14
- package/src/atoms/icon/Icon.stories.tsx +124 -0
- package/src/atoms/icon/Icon.tsx +16 -0
- package/src/hooks/keyboard.constants.ts +40 -0
- package/src/hooks/useKeyboardControls.spec.tsx +208 -0
- package/src/hooks/useKeyboardControls.ts +84 -0
- package/src/index.ts +1 -6
- package/src/interfaces/ActionType.ts +26 -0
- package/src/interfaces/ComponentType.ts +3 -0
- package/src/interfaces/FormOptions.ts +4 -1
- package/src/interfaces/{FormSchema.ts → FormType.ts} +3 -3
- package/src/interfaces/Operation.ts +10 -4
- package/src/interfaces/{RoleSchema.ts → RoleType.ts} +1 -1
- package/src/interfaces/SubmissionType.ts +20 -0
- package/src/interfaces/index.ts +5 -4
- package/src/molecules/__fixtures__/build.js +28 -0
- package/src/molecules/__fixtures__/form-firstname.fixture.json +256 -0
- package/src/molecules/__fixtures__/form-schema.json +350 -0
- package/src/molecules/__fixtures__/form-submissions.json +11942 -0
- package/src/molecules/__fixtures__/form-wizard.fixture.json +2042 -0
- package/src/molecules/__fixtures__/products.json +81539 -0
- package/src/molecules/__fixtures__/useValue.hook.ts +14 -0
- package/src/{components/alert/alert.component.spec.tsx → molecules/alert/Alert.spec.tsx} +12 -14
- package/src/molecules/alert/Alert.stories.tsx +39 -0
- package/src/{components/alert/alert.component.tsx → molecules/alert/Alert.tsx} +10 -7
- package/src/molecules/button/Button.stories.tsx +106 -0
- package/src/molecules/button/Button.tsx +73 -0
- package/src/{components/card/card.component.spec.tsx → molecules/card/Card.spec.tsx} +3 -2
- package/src/{components/card/card.stories.tsx → molecules/card/Card.stories.tsx} +9 -2
- package/src/{components/card/card.component.tsx → molecules/card/Card.tsx} +4 -0
- package/src/{components/form-control/formControl.component.spec.tsx → molecules/forms/form-control/FormControl.spec.tsx} +9 -8
- package/src/molecules/forms/form-control/FormControl.stories.tsx +58 -0
- package/src/molecules/forms/form-control/FormControl.tsx +86 -0
- package/src/molecules/forms/input-tags/InputTags.interface.ts +9 -0
- package/src/molecules/forms/input-tags/InputTags.tsx +30 -0
- package/src/molecules/forms/input-tags/all.ts +6 -0
- package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +110 -0
- package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +72 -0
- package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +140 -0
- package/src/molecules/forms/input-tags/components/ReactTags.tsx +38 -0
- package/src/molecules/forms/input-text/InputText.interface.ts +5 -0
- package/src/{components/input-text/inputText.component.spec.tsx → molecules/forms/input-text/InputText.spec.tsx} +8 -7
- package/src/molecules/forms/input-text/InputText.stories.tsx +179 -0
- package/src/molecules/forms/input-text/InputText.tsx +63 -0
- package/src/molecules/forms/select/Select.interface.ts +45 -0
- package/src/molecules/forms/select/Select.tsx +28 -0
- package/src/molecules/forms/select/all.ts +7 -0
- package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +332 -0
- package/src/molecules/forms/select/components/ChoicesSelect.tsx +159 -0
- package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +305 -0
- package/src/molecules/forms/select/components/HtmlSelect.tsx +54 -0
- package/src/molecules/forms/select/components/ReactSelect.stories.tsx +287 -0
- package/src/molecules/forms/select/components/ReactSelect.tsx +60 -0
- package/src/molecules/forms/select/components/choices.template.tsx +38 -0
- package/src/molecules/forms/select/hooks/useOptions.spec.ts +154 -0
- package/src/molecules/forms/select/hooks/useOptions.ts +53 -0
- package/src/{components/loader/loader.component.spec.tsx → molecules/loader/Loader.spec.tsx} +3 -3
- package/src/molecules/loader/Loader.stories.tsx +43 -0
- package/src/{components/loader/loader.component.tsx → molecules/loader/Loader.tsx} +2 -10
- package/src/{components/modal/modal.component.spec.tsx → molecules/modal/Modal.spec.tsx} +131 -4
- package/src/molecules/modal/Modal.stories.tsx +178 -0
- package/src/{components/pagination/pagination.component.spec.tsx → molecules/pagination/Pagination.spec.tsx} +20 -14
- package/src/molecules/pagination/Pagination.stories.tsx +92 -0
- package/src/{components/pagination/pagination.component.tsx → molecules/pagination/Pagination.tsx} +34 -47
- package/src/molecules/pagination/PaginationButton.tsx +30 -0
- package/src/molecules/pagination/all.ts +3 -0
- package/src/molecules/table/Table.stories.tsx +305 -0
- package/src/molecules/table/Table.tsx +106 -0
- package/src/molecules/table/all.ts +16 -0
- package/src/molecules/table/components/DefaultArrowSort.tsx +26 -0
- package/src/molecules/table/components/DefaultCell.tsx +22 -0
- package/src/molecules/table/components/DefaultCellFooter.tsx +16 -0
- package/src/molecules/table/components/DefaultCellHeader.tsx +42 -0
- package/src/molecules/table/components/DefaultCellOperations.tsx +48 -0
- package/src/molecules/table/components/DefaultFilter.tsx +42 -0
- package/src/molecules/table/components/DefaultOperationButton.tsx +41 -0
- package/src/molecules/table/filters/Filters.d.ts +31 -0
- package/src/molecules/table/filters/RangeFilter.tsx +43 -0
- package/src/molecules/table/filters/SelectFilter.tsx +47 -0
- package/src/molecules/table/filters/TextFieldFilter.tsx +36 -0
- package/src/molecules/table/hooks/useTable.tsx +75 -0
- package/src/molecules/table/hooks/useUniqValues.tsx +10 -0
- package/src/molecules/table/interfaces/extends.ts +18 -0
- package/src/molecules/table/utils/mapFormToColumns.tsx +74 -0
- package/src/molecules/tabs/Tab.tsx +106 -0
- package/src/molecules/tabs/TabList.tsx +37 -0
- package/src/molecules/tabs/TabPanel.tsx +37 -0
- package/src/molecules/tabs/Tabs.spec.tsx +140 -0
- package/src/molecules/tabs/Tabs.stories.tsx +374 -0
- package/src/molecules/tabs/Tabs.tsx +21 -0
- package/src/molecules/tabs/TabsBody.tsx +11 -0
- package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
- package/src/molecules/tabs/TabsLegacy.tsx +84 -0
- package/src/molecules/tabs/all.ts +5 -0
- package/src/molecules/tabs/context/TabControl.tsx +166 -0
- package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
- package/src/molecules/tabs/hooks/tabControl.ts +52 -0
- package/src/organisms/__fixtures__/WrapComponent.tsx +11 -0
- package/src/organisms/__fixtures__/form-actions.json +240 -0
- package/src/organisms/__fixtures__/form-firstname.fixture.json +257 -0
- package/src/organisms/__fixtures__/form-wizard.fixture.json +2042 -0
- package/src/organisms/__fixtures__/form.fixture.json +2068 -0
- package/src/organisms/__fixtures__/useEditForm.tsx +84 -0
- package/src/organisms/__fixtures__/utils.ts +74 -0
- package/src/{components/form/form.component.spec.tsx → organisms/form/Form.spec.tsx} +5 -6
- package/src/organisms/form/Form.stories.tsx +698 -0
- package/src/organisms/form/Form.tsx +29 -0
- package/src/{components/form-access/formAccess.schema.ts → organisms/form/access/FormAccess.schema.ts} +4 -6
- package/src/{components/form-access/formAccess.stories.tsx → organisms/form/access/FormAccess.stories.tsx} +8 -2
- package/src/{components/form-access/formAccess.component.tsx → organisms/form/access/FormAccess.tsx} +15 -17
- package/src/{components/form-access/formAccess.utils.spec.ts → organisms/form/access/FormAccess.utils.spec.ts} +13 -7
- package/src/{components/form-access/formAccess.utils.ts → organisms/form/access/FormAccess.utils.ts} +23 -20
- package/src/organisms/form/actions/FormAction.stories.tsx +422 -0
- package/src/{components/form-action/formAction.component.tsx → organisms/form/actions/FormAction.tsx} +7 -7
- package/src/organisms/form/builder/FormBuilder.stories.tsx +97 -0
- package/src/organisms/form/builder/FormBuilder.tsx +28 -0
- package/src/{components/form-edit/formEdit.reducer.ts → organisms/form/builder/FormEdit.reducer.ts} +6 -6
- package/src/{components/form-edit/formEdit.stories.tsx → organisms/form/builder/FormEdit.stories.tsx} +89 -43
- package/src/organisms/form/builder/FormEdit.tsx +81 -0
- package/src/organisms/form/builder/FormEditCtas.tsx +97 -0
- package/src/{components/form-edit/formParameters.component.tsx → organisms/form/builder/FormParameters.tsx} +28 -28
- package/src/organisms/form/builder/all.ts +17 -0
- package/src/organisms/form/builder/useFormBuilder.ts +143 -0
- package/src/{components/form-edit/useFormEdit.hook.ts → organisms/form/builder/useFormEdit.ts} +9 -9
- package/src/organisms/form/exports/FormExport.stories.tsx +71 -0
- package/src/organisms/form/exports/FormExport.tsx +58 -0
- package/src/organisms/form/preview/FormPreview.stories.tsx +61 -0
- package/src/organisms/form/preview/FormPreview.tsx +21 -0
- package/src/{components/form-settings/formSettings.component.spec.tsx → organisms/form/settings/FormSettings.component.spec.tsx} +2 -2
- package/src/{components/form-settings/formSettings.schema.ts → organisms/form/settings/FormSettings.schema.ts} +2 -2
- package/src/{components/form-settings/formSettings.stories.tsx → organisms/form/settings/FormSettings.stories.tsx} +10 -8
- package/src/{components/form-settings/formSettings.component.tsx → organisms/form/settings/FormSettings.tsx} +7 -8
- package/src/{components/form-settings/formSettings.utils.spec.ts → organisms/form/settings/FormSettings.utils.spec.ts} +1 -1
- package/src/{components/form-settings/formSettings.utils.ts → organisms/form/settings/FormSettings.utils.ts} +4 -4
- package/src/organisms/form/types.ts +8 -0
- package/src/organisms/form/useForm.ts +223 -0
- package/src/organisms/modal/RemoveModal.stories.tsx +59 -0
- package/src/{components/modal/removeModal.component.tsx → organisms/modal/RemoveModal.tsx} +2 -2
- package/src/{components/actions-table/actionsTable.component.spec.tsx → organisms/table/actions/ActionsTable.spec.tsx} +11 -7
- package/src/{components/actions-table/actionsTable.stories.tsx → organisms/table/actions/ActionsTable.stories.tsx} +58 -58
- package/src/{components/actions-table/actionsTable.component.tsx → organisms/table/actions/ActionsTable.tsx} +13 -20
- package/src/{components/forms-table/formsTable.stories.tsx → organisms/table/forms/FormsTable.stories.tsx} +24 -27
- package/src/organisms/table/forms/FormsTable.tsx +66 -0
- package/src/organisms/table/forms/components/FormsCell.tsx +53 -0
- package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +142 -0
- package/src/organisms/table/submissions/SubmissionsTable.tsx +19 -0
- package/src/organisms/views/FormViews.stories.tsx +224 -0
- package/src/organisms/views/FormViews.tsx +146 -0
- package/src/registries/components.ts +23 -0
- package/tsconfig.app.json +1 -1
- package/tsconfig.json +3 -0
- package/tsconfig.node.json +13 -0
- package/dist/components/actions-table/actionsTable.component.d.ts +0 -10
- package/dist/components/actions-table/actionsTable.component.js +0 -53
- package/dist/components/actions-table/actionsTable.component.js.map +0 -1
- package/dist/components/alert/alert.component.d.ts +0 -5
- package/dist/components/alert/alert.component.js.map +0 -1
- package/dist/components/card/card.component.js +0 -12
- package/dist/components/card/card.component.js.map +0 -1
- package/dist/components/form/form.component.d.ts +0 -62
- package/dist/components/form/form.component.js +0 -64
- package/dist/components/form/form.component.js.map +0 -1
- package/dist/components/form/useForm.hook.d.ts +0 -59
- package/dist/components/form/useForm.hook.js +0 -64
- package/dist/components/form/useForm.hook.js.map +0 -1
- package/dist/components/form-access/formAccess.component.js.map +0 -1
- package/dist/components/form-access/formAccess.schema.d.ts +0 -5
- package/dist/components/form-access/formAccess.schema.js.map +0 -1
- package/dist/components/form-access/formAccess.utils.d.ts +0 -24
- package/dist/components/form-access/formAccess.utils.js.map +0 -1
- package/dist/components/form-action/formAction.component.js.map +0 -1
- package/dist/components/form-builder/formBuilder.component.d.ts +0 -53
- package/dist/components/form-builder/formBuilder.component.js +0 -142
- package/dist/components/form-builder/formBuilder.component.js.map +0 -1
- package/dist/components/form-control/formControl.component.d.ts +0 -14
- package/dist/components/form-control/formControl.component.js +0 -26
- package/dist/components/form-control/formControl.component.js.map +0 -1
- package/dist/components/form-edit/formCtas.component.d.ts +0 -28
- package/dist/components/form-edit/formCtas.component.js +0 -70
- package/dist/components/form-edit/formCtas.component.js.map +0 -1
- package/dist/components/form-edit/formEdit.component.d.ts +0 -18
- package/dist/components/form-edit/formEdit.component.js +0 -57
- package/dist/components/form-edit/formEdit.component.js.map +0 -1
- package/dist/components/form-edit/formEdit.reducer.d.ts +0 -10
- package/dist/components/form-edit/formEdit.reducer.js.map +0 -1
- package/dist/components/form-edit/formParameters.component.d.ts +0 -34
- package/dist/components/form-edit/formParameters.component.js +0 -92
- package/dist/components/form-edit/formParameters.component.js.map +0 -1
- package/dist/components/form-edit/useFormEdit.hook.js +0 -36
- package/dist/components/form-edit/useFormEdit.hook.js.map +0 -1
- package/dist/components/form-settings/formSettings.component.js.map +0 -1
- package/dist/components/form-settings/formSettings.schema.d.ts +0 -2
- package/dist/components/form-settings/formSettings.schema.js.map +0 -1
- package/dist/components/form-settings/formSettings.utils.d.ts +0 -8
- package/dist/components/form-settings/formSettings.utils.js.map +0 -1
- package/dist/components/forms-table/components/formCell.component.d.ts +0 -6
- package/dist/components/forms-table/components/formCell.component.js +0 -50
- package/dist/components/forms-table/components/formCell.component.js.map +0 -1
- package/dist/components/forms-table/formsTable.component.d.ts +0 -10
- package/dist/components/forms-table/formsTable.component.js +0 -29
- package/dist/components/forms-table/formsTable.component.js.map +0 -1
- package/dist/components/index.d.ts +0 -25
- package/dist/components/index.js +0 -86
- package/dist/components/index.js.map +0 -1
- package/dist/components/input-tags/inputTags.component.d.ts +0 -18
- package/dist/components/input-tags/inputTags.component.js +0 -37
- package/dist/components/input-tags/inputTags.component.js.map +0 -1
- package/dist/components/input-text/inputText.component.d.ts +0 -27
- package/dist/components/input-text/inputText.component.js +0 -70
- package/dist/components/input-text/inputText.component.js.map +0 -1
- package/dist/components/loader/loader.component.js +0 -26
- package/dist/components/loader/loader.component.js.map +0 -1
- package/dist/components/modal/modal.component.js.map +0 -1
- package/dist/components/modal/removeModal.component.js.map +0 -1
- package/dist/components/pagination/pagination.component.js +0 -87
- package/dist/components/pagination/pagination.component.js.map +0 -1
- package/dist/components/select/select.component.d.ts +0 -14
- package/dist/components/select/select.component.js +0 -60
- package/dist/components/select/select.component.js.map +0 -1
- package/dist/components/submissions-table/submissionsTable.component.d.ts +0 -6
- package/dist/components/submissions-table/submissionsTable.component.js +0 -11
- package/dist/components/submissions-table/submissionsTable.component.js.map +0 -1
- package/dist/components/table/components/defaultArrowSort.component.d.ts +0 -1
- package/dist/components/table/components/defaultArrowSort.component.js +0 -10
- package/dist/components/table/components/defaultArrowSort.component.js.map +0 -1
- package/dist/components/table/components/defaultCell.component.d.ts +0 -1
- package/dist/components/table/components/defaultCell.component.js +0 -11
- package/dist/components/table/components/defaultCell.component.js.map +0 -1
- package/dist/components/table/components/defaultCellHeader.component.d.ts +0 -5
- package/dist/components/table/components/defaultCellHeader.component.js +0 -14
- package/dist/components/table/components/defaultCellHeader.component.js.map +0 -1
- package/dist/components/table/components/defaultCellOperations.component.d.ts +0 -12
- package/dist/components/table/components/defaultCellOperations.component.js +0 -21
- package/dist/components/table/components/defaultCellOperations.component.js.map +0 -1
- package/dist/components/table/components/defaultCells.component.d.ts +0 -4
- package/dist/components/table/components/defaultCells.component.js +0 -23
- package/dist/components/table/components/defaultCells.component.js.map +0 -1
- package/dist/components/table/components/defaultOperationButton.component.d.ts +0 -15
- package/dist/components/table/components/defaultOperationButton.component.js +0 -45
- package/dist/components/table/components/defaultOperationButton.component.js.map +0 -1
- package/dist/components/table/components/defaultRow.component.d.ts +0 -12
- package/dist/components/table/components/defaultRow.component.js +0 -25
- package/dist/components/table/components/defaultRow.component.js.map +0 -1
- package/dist/components/table/components/dragNDropContainer.d.ts +0 -4
- package/dist/components/table/components/dragNDropContainer.js +0 -10
- package/dist/components/table/components/dragNDropContainer.js.map +0 -1
- package/dist/components/table/filters/defaultColumnFilter.component.d.ts +0 -5
- package/dist/components/table/filters/defaultColumnFilter.component.js +0 -32
- package/dist/components/table/filters/defaultColumnFilter.component.js.map +0 -1
- package/dist/components/table/filters/selectColumnFilter.component.d.ts +0 -10
- package/dist/components/table/filters/selectColumnFilter.component.js +0 -34
- package/dist/components/table/filters/selectColumnFilter.component.js.map +0 -1
- package/dist/components/table/filters/sliderColumnFilter.component.d.ts +0 -2
- package/dist/components/table/filters/sliderColumnFilter.component.js +0 -27
- package/dist/components/table/filters/sliderColumnFilter.component.js.map +0 -1
- package/dist/components/table/hooks/useCustomTable.hook.d.ts +0 -128
- package/dist/components/table/hooks/useCustomTable.hook.js +0 -130
- package/dist/components/table/hooks/useCustomTable.hook.js.map +0 -1
- package/dist/components/table/hooks/useDragnDropRow.hook.d.ts +0 -272
- package/dist/components/table/hooks/useDragnDropRow.hook.js +0 -40
- package/dist/components/table/hooks/useDragnDropRow.hook.js.map +0 -1
- package/dist/components/table/hooks/useOperations.hook.d.ts +0 -11
- package/dist/components/table/hooks/useOperations.hook.js +0 -25
- package/dist/components/table/hooks/useOperations.hook.js.map +0 -1
- package/dist/components/table/index.d.ts +0 -15
- package/dist/components/table/index.js +0 -35
- package/dist/components/table/index.js.map +0 -1
- package/dist/components/table/table.component.d.ts +0 -3
- package/dist/components/table/table.component.js +0 -81
- package/dist/components/table/table.component.js.map +0 -1
- package/dist/components/table/utils/getPageNumbers.js.map +0 -1
- package/dist/components/table/utils/mapFormToColumns.d.ts +0 -3
- package/dist/components/table/utils/mapFormToColumns.js +0 -23
- package/dist/components/table/utils/mapFormToColumns.js.map +0 -1
- package/dist/components/table/utils/swapElements.d.ts +0 -1
- package/dist/components/table/utils/swapElements.js +0 -5
- package/dist/components/table/utils/swapElements.js.map +0 -1
- package/dist/components/tabs/tabs.component.d.ts +0 -19
- package/dist/components/tabs/tabs.component.js +0 -72
- package/dist/components/tabs/tabs.component.js.map +0 -1
- package/dist/interfaces/ActionSchema.d.ts +0 -23
- package/dist/interfaces/ActionSchema.js +0 -2
- package/dist/interfaces/ActionSchema.js.map +0 -1
- package/dist/interfaces/FormSchema.js +0 -2
- package/dist/interfaces/FormSchema.js.map +0 -1
- package/dist/interfaces/RoleSchema.js +0 -2
- package/dist/interfaces/RoleSchema.js.map +0 -1
- package/dist/interfaces/Submission.d.ts +0 -5
- package/dist/interfaces/Submission.js +0 -2
- package/dist/interfaces/Submission.js.map +0 -1
- package/dist/utils/callLast.d.ts +0 -1
- package/dist/utils/callLast.js +0 -10
- package/dist/utils/callLast.js.map +0 -1
- package/src/components/alert/alert.stories.tsx +0 -16
- package/src/components/form/form.component.tsx +0 -72
- package/src/components/form/form.stories.tsx +0 -253
- package/src/components/form/useForm.hook.ts +0 -216
- package/src/components/form-action/formAction.stories.tsx +0 -364
- package/src/components/form-builder/formBuilder.component.tsx +0 -195
- package/src/components/form-builder/formBuilder.stories.tsx +0 -3665
- package/src/components/form-control/formControl.component.tsx +0 -58
- package/src/components/form-control/formControl.stories.tsx +0 -63
- package/src/components/form-edit/formCtas.component.tsx +0 -106
- package/src/components/form-edit/formEdit.component.tsx +0 -59
- package/src/components/forms-table/components/formCell.component.tsx +0 -47
- package/src/components/forms-table/formsTable.component.tsx +0 -40
- package/src/components/index.ts +0 -25
- package/src/components/input-tags/inputTags.component.tsx +0 -58
- package/src/components/input-tags/inputTags.stories.tsx +0 -97
- package/src/components/input-text/inputText.component.tsx +0 -85
- package/src/components/input-text/inputText.stories.tsx +0 -126
- package/src/components/loader/loader.stories.tsx +0 -16
- package/src/components/modal/modal.stories.tsx +0 -190
- package/src/components/pagination/pagination.stories.tsx +0 -40
- package/src/components/select/select.component.spec.tsx +0 -84
- package/src/components/select/select.component.tsx +0 -88
- package/src/components/select/select.stories.tsx +0 -173
- package/src/components/submissions-table/submissionsTable.component.tsx +0 -14
- package/src/components/submissions-table/submissionsTable.stories.tsx +0 -99
- package/src/components/table/components/defaultArrowSort.component.tsx +0 -10
- package/src/components/table/components/defaultCell.component.tsx +0 -13
- package/src/components/table/components/defaultCellHeader.component.tsx +0 -18
- package/src/components/table/components/defaultCellOperations.component.tsx +0 -37
- package/src/components/table/components/defaultCells.component.tsx +0 -30
- package/src/components/table/components/defaultOperationButton.component.tsx +0 -56
- package/src/components/table/components/defaultRow.component.tsx +0 -51
- package/src/components/table/components/dragNDropContainer.tsx +0 -7
- package/src/components/table/filters/defaultColumnFilter.component.spec.tsx +0 -31
- package/src/components/table/filters/defaultColumnFilter.component.tsx +0 -39
- package/src/components/table/filters/selectColumnFilter.component.spec.tsx +0 -66
- package/src/components/table/filters/selectColumnFilter.component.tsx +0 -51
- package/src/components/table/filters/sliderColumnFilter.component.tsx +0 -28
- package/src/components/table/hooks/useCustomTable.hook.tsx +0 -268
- package/src/components/table/hooks/useDragnDropRow.hook.ts +0 -80
- package/src/components/table/hooks/useOperations.hook.tsx +0 -39
- package/src/components/table/index.ts +0 -15
- package/src/components/table/table.component.tsx +0 -100
- package/src/components/table/table.stories.tsx +0 -120
- package/src/components/table/utils/mapFormToColumns.tsx +0 -33
- package/src/components/table/utils/swapElements.spec.ts +0 -7
- package/src/components/table/utils/swapElements.ts +0 -7
- package/src/components/tabs/tabs.component.spec.tsx +0 -87
- package/src/components/tabs/tabs.component.stories.tsx +0 -127
- package/src/components/tabs/tabs.component.tsx +0 -92
- package/src/interfaces/ActionSchema.ts +0 -26
- package/src/interfaces/Submission.ts +0 -5
- package/src/utils/callLast.ts +0 -12
- /package/dist/{components/card/card.component.d.ts → molecules/card/Card.d.ts} +0 -0
- /package/dist/{components/modal/modal.component.d.ts → molecules/modal/Modal.d.ts} +0 -0
- /package/dist/{components/table → molecules/pagination}/utils/getPageNumbers.d.ts +0 -0
- /package/dist/{components/table → molecules/pagination}/utils/getPageNumbers.js +0 -0
- /package/src/{components → molecules}/__fixtures__/form-actions.json +0 -0
- /package/src/{components → molecules}/__fixtures__/form.fixture.json +0 -0
- /package/src/{components/modal/modal.component.tsx → molecules/modal/Modal.tsx} +0 -0
- /package/src/{components/table → molecules/pagination}/utils/getPageNumbers.ts +0 -0
- /package/src/{components → organisms}/__fixtures__/form-schema.json +0 -0
- /package/src/{components → organisms}/__fixtures__/form-submissions.json +0 -0
- /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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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
|