@tsed/react-formio 3.0.0-alpha.12 → 3.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/all.d.ts +0 -0
  2. package/dist/all.js +38 -0
  3. package/dist/all.js.map +1 -0
  4. package/dist/chunks/_commonjsHelpers.js +30 -3
  5. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  6. package/dist/chunks/index2.js +56953 -0
  7. package/dist/chunks/index2.js.map +1 -0
  8. package/dist/contexts/FormioContext.d.ts +20 -0
  9. package/dist/contexts/FormioContext.js +40 -0
  10. package/dist/contexts/FormioContext.js.map +1 -0
  11. package/dist/hooks/useFormioContext.d.ts +10 -0
  12. package/dist/hooks/useFormioContext.js +12 -0
  13. package/dist/hooks/useFormioContext.js.map +1 -0
  14. package/dist/hooks/useI18n.d.ts +4 -0
  15. package/dist/hooks/useI18n.js +9 -0
  16. package/dist/hooks/useI18n.js.map +1 -0
  17. package/dist/index.d.ts +1 -6
  18. package/dist/index.js +18 -13
  19. package/dist/index.js.map +1 -1
  20. package/dist/interfaces/ComponentType.d.ts +6 -2
  21. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  22. package/dist/interfaces/FormBuilderOptions.js +2 -0
  23. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  24. package/dist/interfaces/FormOptions.d.ts +6 -13
  25. package/dist/interfaces/FormType.d.ts +4 -11
  26. package/dist/interfaces/SubmissionType.d.ts +5 -10
  27. package/dist/interfaces/index.d.ts +1 -0
  28. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +19 -19
  29. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +16 -16
  30. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  31. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  32. package/dist/molecules/modal/Modal.js +6 -6
  33. package/dist/molecules/modal/Modal.js.map +1 -1
  34. package/dist/molecules/pagination/Pagination.d.ts +2 -1
  35. package/dist/molecules/pagination/Pagination.js +24 -24
  36. package/dist/molecules/pagination/Pagination.js.map +1 -1
  37. package/dist/molecules/table/Table.js +27 -27
  38. package/dist/molecules/table/Table.js.map +1 -1
  39. package/dist/molecules/table/hooks/useTable.d.ts +3 -3
  40. package/dist/molecules/table/hooks/useTable.js +13 -12
  41. package/dist/molecules/table/hooks/useTable.js.map +1 -1
  42. package/dist/molecules/table/utils/mapFormToColumns.js +22 -22
  43. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  44. package/dist/molecules/tabs/TabsLegacy.d.ts +3 -2
  45. package/dist/molecules/tabs/TabsLegacy.js +30 -30
  46. package/dist/molecules/tabs/TabsLegacy.js.map +1 -1
  47. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  48. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  49. package/dist/organisms/form/actions/FormAction.js +14 -11
  50. package/dist/organisms/form/actions/FormAction.js.map +1 -1
  51. package/dist/organisms/form/builder/FormEdit.d.ts +4 -3
  52. package/dist/organisms/form/builder/FormEdit.js +36 -36
  53. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  54. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  55. package/dist/organisms/form/builder/FormEditCtas.js +14 -13
  56. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  57. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  58. package/dist/organisms/form/builder/useFormBuilder.js +12 -12
  59. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  60. package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
  61. package/dist/organisms/form/exports/FormExport.d.ts +3 -2
  62. package/dist/organisms/form/exports/FormExport.js +21 -20
  63. package/dist/organisms/form/exports/FormExport.js.map +1 -1
  64. package/dist/organisms/form/preview/FormPreview.d.ts +3 -3
  65. package/dist/organisms/form/preview/FormPreview.js +5 -4
  66. package/dist/organisms/form/preview/FormPreview.js.map +1 -1
  67. package/dist/organisms/form/settings/FormSettings.js +21 -21
  68. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  69. package/dist/organisms/form/useForm.d.ts +2 -1
  70. package/dist/organisms/form/useForm.js +2 -2
  71. package/dist/organisms/form/useForm.js.map +1 -1
  72. package/dist/organisms/table/actions/ActionsTable.d.ts +2 -1
  73. package/dist/organisms/table/actions/ActionsTable.js +10 -9
  74. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  75. package/dist/organisms/table/forms/FormsTable.d.ts +1 -1
  76. package/dist/organisms/table/forms/FormsTable.js +9 -8
  77. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  78. package/dist/organisms/table/forms/components/FormsCell.js +10 -10
  79. package/dist/organisms/views/FormViews.d.ts +3 -3
  80. package/dist/organisms/views/FormViews.js +47 -46
  81. package/dist/organisms/views/FormViews.js.map +1 -1
  82. package/dist/utils/iconClass.js +4 -5
  83. package/dist/utils/iconClass.js.map +1 -1
  84. package/package.json +3 -3
  85. package/src/all.ts +34 -0
  86. package/src/contexts/FormioContext.tsx +96 -0
  87. package/src/hooks/useFormioContext.ts +13 -0
  88. package/src/hooks/useI18n.ts +9 -0
  89. package/src/index.ts +17 -13
  90. package/src/interfaces/ComponentType.ts +2 -2
  91. package/src/interfaces/FormBuilderOptions.ts +9 -0
  92. package/src/interfaces/FormOptions.ts +7 -13
  93. package/src/interfaces/FormType.ts +5 -11
  94. package/src/interfaces/SubmissionType.ts +9 -8
  95. package/src/interfaces/index.ts +1 -0
  96. package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
  97. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
  98. package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
  99. package/src/molecules/pagination/Pagination.tsx +10 -9
  100. package/src/molecules/table/Table.stories.tsx +6 -6
  101. package/src/molecules/table/Table.tsx +1 -1
  102. package/src/molecules/table/hooks/useTable.tsx +7 -6
  103. package/src/molecules/table/utils/mapFormToColumns.tsx +6 -5
  104. package/src/molecules/tabs/TabsLegacy.stories.tsx +1 -1
  105. package/src/molecules/tabs/TabsLegacy.tsx +5 -3
  106. package/src/organisms/form/Form.stories.tsx +4 -0
  107. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  108. package/src/organisms/form/access/FormAccess.stories.tsx +3 -1
  109. package/src/organisms/form/actions/FormAction.stories.tsx +5 -1
  110. package/src/organisms/form/actions/FormAction.tsx +2 -2
  111. package/src/organisms/form/builder/FormEdit.stories.tsx +10 -6
  112. package/src/organisms/form/builder/FormEdit.tsx +6 -6
  113. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  114. package/src/organisms/form/builder/useFormBuilder.ts +7 -6
  115. package/src/organisms/form/exports/FormExport.stories.tsx +8 -11
  116. package/src/organisms/form/exports/FormExport.tsx +12 -9
  117. package/src/organisms/form/preview/FormPreview.stories.tsx +6 -9
  118. package/src/organisms/form/preview/FormPreview.tsx +7 -5
  119. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  120. package/src/organisms/form/settings/FormSettings.stories.tsx +1 -1
  121. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  122. package/src/organisms/form/useForm.ts +2 -3
  123. package/src/organisms/table/actions/ActionsTable.tsx +7 -5
  124. package/src/organisms/table/forms/FormsTable.tsx +6 -5
  125. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +10 -13
  126. package/src/organisms/views/FormViews.stories.tsx +13 -16
  127. package/src/organisms/views/FormViews.tsx +18 -16
  128. package/src/utils/iconClass.ts +1 -3
  129. package/dist/typings.d.js +0 -2
  130. package/dist/typings.d.js.map +0 -1
  131. package/src/typings.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"FormAccess.schema.js","sources":["../../../../src/organisms/form/access/FormAccess.schema.ts"],"sourcesContent":["import type { ComponentType, FormType } from \"../../../interfaces\";\n\nexport function getRoleComponent({ label, key, description, choices, data }: any): ComponentType {\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): FormType {\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): FormType {\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
+ {"version":3,"file":"FormAccess.schema.js","sources":["../../../../src/organisms/form/access/FormAccess.schema.ts"],"sourcesContent":["import type { ComponentType, FormType } from \"../../../interfaces\";\n\nexport function getRoleComponent({ label, key, description, choices, data }: any): ComponentType {\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 input: 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): FormType {\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): FormType {\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,31 +1,34 @@
1
1
  import { jsxs as m, jsx as l } from "react/jsx-runtime";
2
- import f from "formiojs/utils";
3
- import { Form as c } from "../Form.js";
4
- function d(t, s) {
2
+ import { g as f } from "../../../chunks/_commonjsHelpers.js";
3
+ import { r as c } from "../../../chunks/index2.js";
4
+ import { Form as p } from "../Form.js";
5
+ var d = c();
6
+ const n = /* @__PURE__ */ f(d);
7
+ function x(t, s) {
5
8
  return {
6
9
  ...s,
7
10
  ...t
8
11
  };
9
12
  }
10
- function n({ action: t, ...s }) {
11
- return f.eachComponent(s.components, (r) => {
13
+ function b({ action: t, ...s }) {
14
+ return n.eachComponent(s.components, (r) => {
12
15
  r.type === "resourcefields" && (r.type = "select", r.label = r.title, r.dataSrc = "url", r.data = {
13
16
  url: `${r.basePath}?type=resource`
14
17
  }, r.valueProperty = "_id", r.template = "<span>{{ item.title }}</span>", r.persistent = !0);
15
18
  }), s;
16
19
  }
17
- function F({ actionInfo: t, children: s, onSubmit: r, options: e, ...i }) {
18
- const { form: u, submission: a } = (() => {
19
- const o = d(i.submission || {}, t.defaults);
20
- return { form: n(t.settingsForm), submission: { data: o } };
20
+ function v({ actionInfo: t, children: s, onSubmit: r, options: e, ...i }) {
21
+ const { form: u, submission: o } = (() => {
22
+ const a = x(i.submission || {}, t.defaults);
23
+ return { form: b(t.settingsForm), submission: { data: a } };
21
24
  })();
22
25
  return /* @__PURE__ */ m("div", { children: [
23
26
  s,
24
- /* @__PURE__ */ l(c, { form: u, submission: a, onSubmit: r, options: e }),
27
+ /* @__PURE__ */ l(p, { form: u, submission: o, onSubmit: r, options: e }),
25
28
  s
26
29
  ] });
27
30
  }
28
31
  export {
29
- F as FormAction
32
+ v as FormAction
30
33
  };
31
34
  //# sourceMappingURL=FormAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormAction.js","sources":["../../../../src/organisms/form/actions/FormAction.tsx"],"sourcesContent":["import FormioUtils from \"formiojs/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsType, ActionType, FormOptions, SubmissionType } from \"../../../interfaces\";\nimport { Form } from \"../../form/Form\";\n\nfunction mapData(options: any, defaults: ActionDefaultsType): any {\n return {\n ...defaults,\n ...options\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction mapSettingsForm({ action, ...settingsForm }: any): any {\n FormioUtils.eachComponent(settingsForm.components, (component: any) => {\n const resourceExclude = \"\";\n\n if (component.type === \"resourcefields\") {\n component.type = \"select\";\n component.label = component.title;\n component.dataSrc = \"url\";\n component.data = {\n url: `${component.basePath}?type=resource${resourceExclude}`\n };\n component.valueProperty = \"_id\";\n component.template = \"<span>{{ item.title }}</span>\";\n component.persistent = true;\n }\n });\n\n return settingsForm;\n}\n\nexport interface FormActionProps {\n actionInfo: Partial<ActionType>;\n submission?: Partial<SubmissionType>;\n onSubmit?: (submission: SubmissionType<ActionType>) => void;\n options: FormOptions;\n}\n\nexport function FormAction({ actionInfo, children, onSubmit, options, ...props }: PropsWithChildren<FormActionProps>): ReactElement {\n const { form, submission } = (() => {\n const submission = mapData(props.submission || {}, actionInfo.defaults!);\n const form = mapSettingsForm(actionInfo.settingsForm);\n\n return { form, submission: { data: submission } };\n })();\n\n return (\n <div>\n {children}\n\n <Form<ActionType> form={form} submission={submission} onSubmit={onSubmit} options={options} />\n\n {children}\n </div>\n );\n}\n"],"names":["mapData","options","defaults","mapSettingsForm","action","settingsForm","FormioUtils","component","FormAction","actionInfo","children","onSubmit","props","form","submission","jsx","Form"],"mappings":";;;AAMA,SAASA,EAAQC,GAAcC,GAAmC;AAChE,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,GAAGD;AAAA,EAAA;AAEP;AAGA,SAASE,EAAgB,EAAE,QAAAC,GAAQ,GAAGC,KAA0B;AAC9D,SAAAC,EAAY,cAAcD,EAAa,YAAY,CAACE,MAAmB;AAGrE,IAAIA,EAAU,SAAS,qBACrBA,EAAU,OAAO,UACjBA,EAAU,QAAQA,EAAU,OAC5BA,EAAU,UAAU,OACpBA,EAAU,OAAO;AAAA,MACf,KAAK,GAAGA,EAAU,QAAQ;AAAA,IAAgC,GAE5DA,EAAU,gBAAgB,OAC1BA,EAAU,WAAW,iCACrBA,EAAU,aAAa;AAAA,EAE3B,CAAC,GAEMF;AACT;AASO,SAASG,EAAW,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,SAAAV,GAAS,GAAGW,KAA2D;AAClI,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAA,KAAgB,MAAM;AAClC,UAAMA,IAAad,EAAQY,EAAM,cAAc,CAAA,GAAIH,EAAW,QAAS;AAGvE,WAAO,EAAE,MAFIN,EAAgBM,EAAW,YAAY,GAErC,YAAY,EAAE,MAAMK,IAAW;AAAA,EAChD,GAAA;AAEA,2BACG,OAAA,EACE,UAAA;AAAA,IAAAJ;AAAA,IAED,gBAAAK,EAACC,GAAA,EAAiB,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAV,GAAkB;AAAA,IAE3FS;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"FormAction.js","sources":["../../../../src/organisms/form/actions/FormAction.tsx"],"sourcesContent":["import FormioUtils from \"@formio/js/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsType, ActionType, FormOptions, SubmissionType } from \"../../../interfaces\";\nimport { Form } from \"../../form/Form\";\n\nfunction mapData(options: any, defaults: ActionDefaultsType): any {\n return {\n ...defaults,\n ...options\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction mapSettingsForm({ action, ...settingsForm }: any): any {\n FormioUtils.eachComponent(settingsForm.components, (component: any) => {\n const resourceExclude = \"\";\n\n if (component.type === \"resourcefields\") {\n component.type = \"select\";\n component.label = component.title;\n component.dataSrc = \"url\";\n component.data = {\n url: `${component.basePath}?type=resource${resourceExclude}`\n };\n component.valueProperty = \"_id\";\n component.template = \"<span>{{ item.title }}</span>\";\n component.persistent = true;\n }\n });\n\n return settingsForm;\n}\n\nexport interface FormActionProps {\n actionInfo: Partial<ActionType>;\n submission?: Partial<SubmissionType>;\n onSubmit?: (submission: SubmissionType<ActionType>) => void;\n options: FormOptions;\n}\n\nexport function FormAction({ actionInfo, children, onSubmit, options, ...props }: PropsWithChildren<FormActionProps>): ReactElement {\n const { form, submission } = (() => {\n const submission = mapData(props.submission || {}, actionInfo.defaults!);\n const form = mapSettingsForm(actionInfo.settingsForm);\n\n return { form, submission: { data: submission } as SubmissionType<ActionType> };\n })();\n\n return (\n <div>\n {children}\n\n <Form<ActionType> form={form} submission={submission} onSubmit={onSubmit} options={options} />\n\n {children}\n </div>\n );\n}\n"],"names":["mapData","options","defaults","mapSettingsForm","action","settingsForm","FormioUtils","component","FormAction","actionInfo","children","onSubmit","props","form","submission","jsx","Form"],"mappings":";;;;;;AAMA,SAASA,EAAQC,GAAcC,GAAmC;AAChE,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,GAAGD;AAAA,EAAA;AAEP;AAGA,SAASE,EAAgB,EAAE,QAAAC,GAAQ,GAAGC,KAA0B;AAC9D,SAAAC,EAAY,cAAcD,EAAa,YAAY,CAACE,MAAmB;AAGrE,IAAIA,EAAU,SAAS,qBACrBA,EAAU,OAAO,UACjBA,EAAU,QAAQA,EAAU,OAC5BA,EAAU,UAAU,OACpBA,EAAU,OAAO;AAAA,MACf,KAAK,GAAGA,EAAU,QAAQ;AAAA,IAAgC,GAE5DA,EAAU,gBAAgB,OAC1BA,EAAU,WAAW,iCACrBA,EAAU,aAAa;AAAA,EAE3B,CAAC,GAEMF;AACT;AASO,SAASG,EAAW,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,SAAAV,GAAS,GAAGW,KAA2D;AAClI,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAA,KAAgB,MAAM;AAClC,UAAMA,IAAad,EAAQY,EAAM,cAAc,CAAA,GAAIH,EAAW,QAAS;AAGvE,WAAO,EAAE,MAFIN,EAAgBM,EAAW,YAAY,GAErC,YAAY,EAAE,MAAMK,IAAW;AAAA,EAChD,GAAA;AAEA,2BACG,OAAA,EACE,UAAA;AAAA,IAAAJ;AAAA,IAED,gBAAAK,EAACC,GAAA,EAAiB,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAV,GAAkB;AAAA,IAE3FS;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,10 +1,11 @@
1
- import { FormOptions } from '../../../interfaces';
1
+ import { CSSProperties } from 'react';
2
+ import { FormBuilderOptions, FormOptions } from '../../../interfaces/index.js';
2
3
  import { FormBuilderEvents } from './useFormBuilder';
3
4
  import { UseFormEditHookProps } from './useFormEdit';
4
5
  export interface FormEditProps extends UseFormEditHookProps, FormBuilderEvents {
5
- options?: FormOptions;
6
+ options?: FormBuilderOptions & FormOptions;
6
7
  layout?: "html5" | "choicesjs" | "react";
7
8
  className?: string;
8
- style?: React.CSSProperties;
9
+ style?: CSSProperties;
9
10
  }
10
11
  export declare function FormEdit({ form: initialForm, typeChoices, displayChoices, enableTags, onSubmit: initialOnSubmit, onCopy: initialOnCopy, className, style, ...props }: FormEditProps): import("react/jsx-runtime").JSX.Element;
@@ -1,31 +1,31 @@
1
- import { jsxs as d, jsx as a } from "react/jsx-runtime";
2
- import { createElement as v } from "react";
3
- import { c as A } from "../../../chunks/index.js";
1
+ import { jsxs as s, jsx as d } from "react/jsx-runtime";
2
+ import { createElement as j } from "react";
3
+ import { c as v } from "../../../chunks/index.js";
4
4
  import { getComponent as n } from "../../../registries/components.js";
5
- import { useFormEdit as B } from "./useFormEdit.js";
6
- function V({
7
- form: c,
5
+ import { useFormEdit as A } from "./useFormEdit.js";
6
+ function T({
7
+ form: a,
8
8
  typeChoices: r,
9
9
  displayChoices: m,
10
10
  enableTags: e,
11
- onSubmit: f,
12
- onCopy: l,
13
- className: u,
14
- style: p,
11
+ onSubmit: c,
12
+ onCopy: f,
13
+ className: l,
14
+ style: u,
15
15
  ...t
16
16
  }) {
17
- const { form: o, isValid: C, setChange: i, hasRedo: F, hasChanged: h, hasUndo: y, redo: g, undo: E, reset: b, onSubmit: x, onCopy: R } = B({
18
- form: c,
17
+ const { form: o, isValid: p, setChange: i, hasRedo: C, hasChanged: F, hasUndo: h, redo: y, undo: g, reset: E, onSubmit: b, onCopy: x } = A({
18
+ form: a,
19
19
  typeChoices: r,
20
20
  displayChoices: m,
21
21
  enableTags: e,
22
- onSubmit: f,
23
- onCopy: l
24
- }), { options: s = {} } = t, S = n("FormParameters"), _ = n("FormBuilder"), $ = n("FormEditCTAs");
25
- return /* @__PURE__ */ d("div", { className: A("form-edit-container", u), style: p, children: [
26
- /* @__PURE__ */ d("div", { className: "form-edit", children: [
27
- /* @__PURE__ */ a(
28
- S,
22
+ onSubmit: c,
23
+ onCopy: f
24
+ }), R = n("FormParameters"), S = n("FormBuilder"), _ = n("FormEditCTAs");
25
+ return /* @__PURE__ */ s("div", { className: v("form-edit-container", l), style: u, children: [
26
+ /* @__PURE__ */ s("div", { className: "form-edit", children: [
27
+ /* @__PURE__ */ d(
28
+ R,
29
29
  {
30
30
  enableTags: e,
31
31
  typeChoices: r,
@@ -36,38 +36,38 @@ function V({
36
36
  },
37
37
  `form-settings-${o._id}`
38
38
  ),
39
- /* @__PURE__ */ a(
40
- $,
39
+ /* @__PURE__ */ d(
40
+ _,
41
41
  {
42
- options: s,
43
- hasRedo: F,
44
- hasUndo: y,
45
- disabled: !(C && h),
46
- onRedo: g,
47
- onUndo: E,
48
- onReset: b,
49
- onCopy: R,
50
- onSubmit: x
42
+ options: t.options,
43
+ hasRedo: C,
44
+ hasUndo: h,
45
+ disabled: !(p && F),
46
+ onRedo: y,
47
+ onUndo: g,
48
+ onReset: E,
49
+ onCopy: x,
50
+ onSubmit: b
51
51
  },
52
52
  `form-edit-ctas-${o._id}`
53
53
  )
54
54
  ] }),
55
- /* @__PURE__ */ v(
56
- _,
55
+ /* @__PURE__ */ j(
56
+ S,
57
57
  {
58
58
  ...t,
59
59
  key: `form-builder-${o._id}`,
60
60
  components: o.components,
61
61
  display: o.display,
62
- options: s,
63
- onChange: (j) => {
64
- i("components", j);
62
+ options: t.options,
63
+ onChange: ($) => {
64
+ i("components", $);
65
65
  }
66
66
  }
67
67
  )
68
68
  ] });
69
69
  }
70
70
  export {
71
- V as FormEdit
71
+ T as FormEdit
72
72
  };
73
73
  //# sourceMappingURL=FormEdit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormEdit.js","sources":["../../../../src/organisms/form/builder/FormEdit.tsx"],"sourcesContent":["import classnames from \"classnames\";\n\nimport type { FormOptions } from \"../../../interfaces\";\nimport { getComponent } from \"../../../registries/components\";\nimport { FormBuilder as DefaultFormBuilder } from \"./FormBuilder\";\nimport { FormEditCTAs as DefaultFormEditCTAs } from \"./FormEditCtas\";\nimport { FormParameters as DefaultFormParameters } from \"./FormParameters\";\nimport { FormBuilderEvents } from \"./useFormBuilder\";\nimport { useFormEdit, UseFormEditHookProps } from \"./useFormEdit\";\n\nexport interface FormEditProps extends UseFormEditHookProps, FormBuilderEvents {\n options?: FormOptions;\n layout?: \"html5\" | \"choicesjs\" | \"react\";\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function FormEdit({\n form: initialForm,\n typeChoices,\n displayChoices,\n enableTags,\n onSubmit: initialOnSubmit,\n onCopy: initialOnCopy,\n className,\n style,\n ...props\n}: FormEditProps) {\n const { form, isValid, setChange, hasRedo, hasChanged, hasUndo, redo, undo, reset, onSubmit, onCopy } = useFormEdit({\n form: initialForm,\n typeChoices,\n displayChoices,\n enableTags,\n onSubmit: initialOnSubmit,\n onCopy: initialOnCopy\n });\n\n const { options = {} } = props;\n const FormParameters = getComponent<typeof DefaultFormParameters>(\"FormParameters\");\n const FormBuilder = getComponent<typeof DefaultFormBuilder>(\"FormBuilder\");\n const FormEditCTAs = getComponent<typeof DefaultFormEditCTAs>(\"FormEditCTAs\");\n\n return (\n <div className={classnames(\"form-edit-container\", className)} style={style}>\n <div className='form-edit'>\n <FormParameters\n enableTags={enableTags}\n typeChoices={typeChoices}\n displayChoices={displayChoices}\n key={`form-settings-${form._id}`}\n form={form}\n onChange={setChange}\n layout={props.layout}\n />\n <FormEditCTAs\n key={`form-edit-ctas-${form._id}`}\n options={options}\n hasRedo={hasRedo}\n hasUndo={hasUndo}\n disabled={!(isValid && hasChanged)}\n onRedo={redo}\n onUndo={undo}\n onReset={reset}\n onCopy={onCopy}\n onSubmit={onSubmit}\n />\n </div>\n\n <FormBuilder\n {...props}\n key={`form-builder-${form._id}`}\n components={form.components!}\n display={form.display}\n options={options}\n onChange={(components) => {\n setChange(\"components\", components);\n }}\n />\n </div>\n );\n}\n"],"names":["FormEdit","initialForm","typeChoices","displayChoices","enableTags","initialOnSubmit","initialOnCopy","className","style","props","form","isValid","setChange","hasRedo","hasChanged","hasUndo","redo","undo","reset","onSubmit","onCopy","useFormEdit","options","FormParameters","getComponent","FormBuilder","FormEditCTAs","classnames","jsxs","jsx","createElement","components"],"mappings":";;;;;AAiBO,SAASA,EAAS;AAAA,EACvB,MAAMC;AAAA,EACN,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAkB;AAChB,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,SAAAC,GAAS,YAAAC,GAAY,SAAAC,GAAS,MAAAC,GAAM,MAAAC,GAAM,OAAAC,GAAO,UAAAC,GAAU,QAAAC,EAAA,IAAWC,EAAY;AAAA,IAClH,MAAMpB;AAAA,IACN,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAUC;AAAA,IACV,QAAQC;AAAA,EAAA,CACT,GAEK,EAAE,SAAAgB,IAAU,CAAA,EAAC,IAAMb,GACnBc,IAAiBC,EAA2C,gBAAgB,GAC5EC,IAAcD,EAAwC,aAAa,GACnEE,IAAeF,EAAyC,cAAc;AAE5E,2BACG,OAAA,EAAI,WAAWG,EAAW,uBAAuBpB,CAAS,GAAG,OAAAC,GAC5D,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACN;AAAA,QAAA;AAAA,UACC,YAAAnB;AAAA,UACA,aAAAF;AAAA,UACA,gBAAAC;AAAA,UAEA,MAAAO;AAAA,UACA,UAAUE;AAAA,UACV,QAAQH,EAAM;AAAA,QAAA;AAAA,QAHT,iBAAiBC,EAAK,GAAG;AAAA,MAAA;AAAA,MAKhC,gBAAAmB;AAAA,QAACH;AAAA,QAAA;AAAA,UAEC,SAAAJ;AAAA,UACA,SAAAT;AAAA,UACA,SAAAE;AAAA,UACA,UAAU,EAAEJ,KAAWG;AAAA,UACvB,QAAQE;AAAA,UACR,QAAQC;AAAA,UACR,SAASC;AAAA,UACT,QAAAE;AAAA,UACA,UAAAD;AAAA,QAAA;AAAA,QATK,kBAAkBT,EAAK,GAAG;AAAA,MAAA;AAAA,IAUjC,GACF;AAAA,IAEA,gBAAAoB;AAAA,MAACL;AAAA,MAAA;AAAA,QACE,GAAGhB;AAAA,QACJ,KAAK,gBAAgBC,EAAK,GAAG;AAAA,QAC7B,YAAYA,EAAK;AAAA,QACjB,SAASA,EAAK;AAAA,QACd,SAAAY;AAAA,QACA,UAAU,CAACS,MAAe;AACxB,UAAAnB,EAAU,cAAcmB,CAAU;AAAA,QACpC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"FormEdit.js","sources":["../../../../src/organisms/form/builder/FormEdit.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { CSSProperties } from \"react\";\n\nimport type { FormBuilderOptions, FormOptions } from \"../../../interfaces/index.js\";\nimport { getComponent } from \"../../../registries/components\";\nimport { FormBuilder as DefaultFormBuilder } from \"./FormBuilder\";\nimport { FormEditCTAs as DefaultFormEditCTAs } from \"./FormEditCtas\";\nimport { FormParameters as DefaultFormParameters } from \"./FormParameters\";\nimport { FormBuilderEvents } from \"./useFormBuilder\";\nimport { useFormEdit, UseFormEditHookProps } from \"./useFormEdit\";\n\nexport interface FormEditProps extends UseFormEditHookProps, FormBuilderEvents {\n options?: FormBuilderOptions & FormOptions;\n layout?: \"html5\" | \"choicesjs\" | \"react\";\n className?: string;\n style?: CSSProperties;\n}\n\nexport function FormEdit({\n form: initialForm,\n typeChoices,\n displayChoices,\n enableTags,\n onSubmit: initialOnSubmit,\n onCopy: initialOnCopy,\n className,\n style,\n ...props\n}: FormEditProps) {\n const { form, isValid, setChange, hasRedo, hasChanged, hasUndo, redo, undo, reset, onSubmit, onCopy } = useFormEdit({\n form: initialForm,\n typeChoices,\n displayChoices,\n enableTags,\n onSubmit: initialOnSubmit,\n onCopy: initialOnCopy\n });\n\n const FormParameters = getComponent<typeof DefaultFormParameters>(\"FormParameters\");\n const FormBuilder = getComponent<typeof DefaultFormBuilder>(\"FormBuilder\");\n const FormEditCTAs = getComponent<typeof DefaultFormEditCTAs>(\"FormEditCTAs\");\n\n return (\n <div className={classnames(\"form-edit-container\", className)} style={style}>\n <div className='form-edit'>\n <FormParameters\n enableTags={enableTags}\n typeChoices={typeChoices}\n displayChoices={displayChoices}\n key={`form-settings-${form._id}`}\n form={form}\n onChange={setChange}\n layout={props.layout}\n />\n <FormEditCTAs\n key={`form-edit-ctas-${form._id}`}\n options={props.options}\n hasRedo={hasRedo}\n hasUndo={hasUndo}\n disabled={!(isValid && hasChanged)}\n onRedo={redo}\n onUndo={undo}\n onReset={reset}\n onCopy={onCopy}\n onSubmit={onSubmit}\n />\n </div>\n\n <FormBuilder\n {...props}\n key={`form-builder-${form._id}`}\n components={form.components!}\n display={form.display}\n options={props.options}\n onChange={(components) => {\n setChange(\"components\", components);\n }}\n />\n </div>\n );\n}\n"],"names":["FormEdit","initialForm","typeChoices","displayChoices","enableTags","initialOnSubmit","initialOnCopy","className","style","props","form","isValid","setChange","hasRedo","hasChanged","hasUndo","redo","undo","reset","onSubmit","onCopy","useFormEdit","FormParameters","getComponent","FormBuilder","FormEditCTAs","classnames","jsxs","jsx","createElement","components"],"mappings":";;;;;AAkBO,SAASA,EAAS;AAAA,EACvB,MAAMC;AAAA,EACN,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAkB;AAChB,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,SAAAC,GAAS,YAAAC,GAAY,SAAAC,GAAS,MAAAC,GAAM,MAAAC,GAAM,OAAAC,GAAO,UAAAC,GAAU,QAAAC,EAAA,IAAWC,EAAY;AAAA,IAClH,MAAMpB;AAAA,IACN,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAUC;AAAA,IACV,QAAQC;AAAA,EAAA,CACT,GAEKgB,IAAiBC,EAA2C,gBAAgB,GAC5EC,IAAcD,EAAwC,aAAa,GACnEE,IAAeF,EAAyC,cAAc;AAE5E,2BACG,OAAA,EAAI,WAAWG,EAAW,uBAAuBnB,CAAS,GAAG,OAAAC,GAC5D,UAAA;AAAA,IAAA,gBAAAmB,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACN;AAAA,QAAA;AAAA,UACC,YAAAlB;AAAA,UACA,aAAAF;AAAA,UACA,gBAAAC;AAAA,UAEA,MAAAO;AAAA,UACA,UAAUE;AAAA,UACV,QAAQH,EAAM;AAAA,QAAA;AAAA,QAHT,iBAAiBC,EAAK,GAAG;AAAA,MAAA;AAAA,MAKhC,gBAAAkB;AAAA,QAACH;AAAA,QAAA;AAAA,UAEC,SAAShB,EAAM;AAAA,UACf,SAAAI;AAAA,UACA,SAAAE;AAAA,UACA,UAAU,EAAEJ,KAAWG;AAAA,UACvB,QAAQE;AAAA,UACR,QAAQC;AAAA,UACR,SAASC;AAAA,UACT,QAAAE;AAAA,UACA,UAAAD;AAAA,QAAA;AAAA,QATK,kBAAkBT,EAAK,GAAG;AAAA,MAAA;AAAA,IAUjC,GACF;AAAA,IAEA,gBAAAmB;AAAA,MAACL;AAAA,MAAA;AAAA,QACE,GAAGf;AAAA,QACJ,KAAK,gBAAgBC,EAAK,GAAG;AAAA,QAC7B,YAAYA,EAAK;AAAA,QACjB,SAASA,EAAK;AAAA,QACd,SAASD,EAAM;AAAA,QACf,UAAU,CAACqB,MAAe;AACxB,UAAAlB,EAAU,cAAckB,CAAU;AAAA,QACpC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { FormOptions } from '../../../interfaces';
2
+ import { FormOptions } from '../../../interfaces/index.js';
3
3
  export interface FormEditCTAsProps extends Record<string, unknown> {
4
4
  saveText?: string;
5
5
  options?: FormOptions;
@@ -12,4 +12,4 @@ export interface FormEditCTAsProps extends Record<string, unknown> {
12
12
  onUndo?: () => void;
13
13
  onRedo?: () => void;
14
14
  }
15
- export declare function FormEditCTAs({ saveText, disabled, options, onCopy, hasUndo, hasRedo, onUndo, onRedo, onReset, onSubmit }: FormEditCTAsProps): ReactElement;
15
+ export declare function FormEditCTAs({ saveText, disabled, onCopy, hasUndo, hasRedo, onUndo, onRedo, onReset, onSubmit, options }: FormEditCTAsProps): ReactElement;
@@ -1,23 +1,24 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import { useI18n as N } from "../../../hooks/useI18n.js";
2
3
  import { useTooltip as c } from "../../../hooks/useTooltip.js";
3
4
  import { registerComponent as k, getComponent as s } from "../../../registries/components.js";
4
5
  function R({
5
- saveText: d = "Save",
6
- disabled: m,
7
- options: t = {},
6
+ saveText: m = "Save",
7
+ disabled: d,
8
8
  onCopy: a,
9
9
  hasUndo: h,
10
10
  hasRedo: p,
11
11
  onUndo: g,
12
12
  onRedo: v,
13
13
  onReset: l,
14
- onSubmit: f
14
+ onSubmit: f,
15
+ options: t
15
16
  }) {
16
- const { i18n: i = (N) => N } = t, C = c({
17
+ const { t: i } = N(t?.i18n), u = c({
17
18
  trigger: "hover",
18
19
  placement: "top",
19
20
  title: i("Copy")
20
- }), u = c({
21
+ }), C = c({
21
22
  trigger: "hover",
22
23
  placement: "top",
23
24
  title: i("Undo last change")
@@ -31,17 +32,17 @@ function R({
31
32
  title: i("Reset all changes")
32
33
  }), n = s("Button"), o = s("Icon");
33
34
  return /* @__PURE__ */ e("div", { className: "form-edit__actions", children: /* @__PURE__ */ r("div", { children: [
34
- /* @__PURE__ */ r(n, { variant: "primary", className: "btn-save", disabled: m, onClick: () => f?.(), children: [
35
- /* @__PURE__ */ e(o, { name: "save", iconset: t.iconset }),
36
- d
35
+ /* @__PURE__ */ r(n, { variant: "primary", className: "btn-save", disabled: d, onClick: () => f?.(), children: [
36
+ /* @__PURE__ */ e(o, { name: "save", iconset: t?.iconset }),
37
+ m
37
38
  ] }),
38
39
  /* @__PURE__ */ r("div", { children: [
39
- /* @__PURE__ */ e(n, { variant: "light", className: "btn-undo", disabled: !h, onClick: () => g?.(), ref: u, children: /* @__PURE__ */ e(o, { name: "undo", iconset: t.iconset }) }),
40
- /* @__PURE__ */ e(n, { variant: "light", className: "btn-redo", disabled: !p, onClick: () => v?.(), ref: b, children: /* @__PURE__ */ e(o, { name: "redo", iconset: t.iconset }) })
40
+ /* @__PURE__ */ e(n, { variant: "light", className: "btn-undo", disabled: !h, onClick: () => g?.(), ref: C, children: /* @__PURE__ */ e(o, { name: "undo", iconset: t?.iconset }) }),
41
+ /* @__PURE__ */ e(n, { variant: "light", className: "btn-redo", disabled: !p, onClick: () => v?.(), ref: b, children: /* @__PURE__ */ e(o, { name: "redo", iconset: t?.iconset }) })
41
42
  ] }),
42
43
  /* @__PURE__ */ r("div", { children: [
43
- a && /* @__PURE__ */ e(n, { variant: "light", className: "btn-copy", onClick: () => a(), ref: C, children: /* @__PURE__ */ e(o, { name: "copy", iconset: t.iconset }) }),
44
- /* @__PURE__ */ e(n, { variant: "light", className: "btn-reset", onClick: () => l && l(), ref: T, children: /* @__PURE__ */ e(o, { name: "reset", iconset: t.iconset }) })
44
+ a && /* @__PURE__ */ e(n, { variant: "light", className: "btn-copy", onClick: () => a(), ref: u, children: /* @__PURE__ */ e(o, { name: "copy", iconset: t?.iconset }) }),
45
+ /* @__PURE__ */ e(n, { variant: "light", className: "btn-reset", onClick: () => l && l(), ref: T, children: /* @__PURE__ */ e(o, { name: "reset", iconset: t?.iconset }) })
45
46
  ] })
46
47
  ] }) });
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormEditCtas.js","sources":["../../../../src/organisms/form/builder/FormEditCtas.tsx"],"sourcesContent":["import { ReactElement } from \"react\";\n\nimport { Icon as DefaultIcon } from \"../../../atoms/icon/Icon\";\nimport { useTooltip } from \"../../../hooks/useTooltip\";\nimport type { FormOptions } from \"../../../interfaces\";\nimport { Button as DefaultButton } from \"../../../molecules/button/Button\";\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface FormEditCTAsProps extends Record<string, unknown> {\n saveText?: string;\n options?: FormOptions;\n hasUndo?: boolean;\n hasRedo?: boolean;\n disabled?: boolean;\n onCopy?: () => void;\n onSubmit?: () => void;\n onReset?: () => void;\n onUndo?: () => void;\n onRedo?: () => void;\n}\n\nexport function FormEditCTAs({\n saveText = \"Save\",\n disabled,\n options = {},\n onCopy,\n hasUndo,\n hasRedo,\n onUndo,\n onRedo,\n onReset,\n onSubmit\n}: FormEditCTAsProps): ReactElement {\n const { i18n: t = (t: string): string => t } = options;\n\n const copyTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Copy\")\n });\n\n const undoTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Undo last change\")\n });\n\n const redoTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Redo last change\")\n });\n\n const resetTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Reset all changes\")\n });\n\n const Button = getComponent<typeof DefaultButton>(\"Button\");\n const Icon = getComponent<typeof DefaultIcon>(\"Icon\");\n\n return (\n <div className={\"form-edit__actions\"}>\n <div>\n <Button variant='primary' className='btn-save' disabled={disabled} onClick={() => onSubmit?.()}>\n <Icon name='save' iconset={options.iconset} />\n {saveText}\n </Button>\n\n <div>\n <Button variant='light' className='btn-undo' disabled={!hasUndo} onClick={() => onUndo?.()} ref={undoTooltipRef}>\n <Icon name='undo' iconset={options.iconset} />\n </Button>\n\n <Button variant='light' className='btn-redo' disabled={!hasRedo} onClick={() => onRedo?.()} ref={redoTooltipRef}>\n <Icon name='redo' iconset={options.iconset} />\n </Button>\n </div>\n\n <div>\n {onCopy && (\n <Button variant='light' className='btn-copy' onClick={() => onCopy()} ref={copyTooltipRef}>\n <Icon name='copy' iconset={options.iconset} />\n </Button>\n )}\n\n <Button variant='light' className='btn-reset' onClick={() => onReset && onReset()} ref={resetTooltipRef!}>\n <Icon name='reset' iconset={options.iconset} />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\nregisterComponent(\"FormEditCTAs\", FormEditCTAs);\n"],"names":["FormEditCTAs","saveText","disabled","options","onCopy","hasUndo","hasRedo","onUndo","onRedo","onReset","onSubmit","t","copyTooltipRef","useTooltip","undoTooltipRef","redoTooltipRef","resetTooltipRef","Button","getComponent","Icon","jsx","jsxs","registerComponent"],"mappings":";;;AAqBO,SAASA,EAAa;AAAA,EAC3B,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,SAAAC,IAAU,CAAA;AAAA,EACV,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,GAAoC;AAClC,QAAM,EAAE,MAAMC,IAAI,CAACA,MAAsBA,MAAMR,GAEzCS,IAAsBC,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOF,EAAE,MAAM;AAAA,EAAA,CAChB,GAEKG,IAAsBD,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOF,EAAE,kBAAkB;AAAA,EAAA,CAC5B,GAEKI,IAAsBF,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOF,EAAE,kBAAkB;AAAA,EAAA,CAC5B,GAEKK,IAAuBH,EAAW;AAAA,IACtC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOF,EAAE,mBAAmB;AAAA,EAAA,CAC7B,GAEKM,IAASC,EAAmC,QAAQ,GACpDC,IAAOD,EAAiC,MAAM;AAEpD,SACE,gBAAAE,EAAC,OAAA,EAAI,WAAW,sBACd,4BAAC,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACJ,GAAA,EAAO,SAAQ,WAAU,WAAU,YAAW,UAAAf,GAAoB,SAAS,MAAMQ,IAAA,GAChF,UAAA;AAAA,MAAA,gBAAAU,EAACD,GAAA,EAAK,MAAK,QAAO,SAAShB,EAAQ,SAAS;AAAA,MAC3CF;AAAA,IAAA,GACH;AAAA,sBAEC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAmB,EAACH,GAAA,EAAO,SAAQ,SAAQ,WAAU,YAAW,UAAU,CAACZ,GAAS,SAAS,MAAME,OAAY,KAAKO,GAC/F,UAAA,gBAAAM,EAACD,GAAA,EAAK,MAAK,QAAO,SAAShB,EAAQ,QAAA,CAAS,EAAA,CAC9C;AAAA,MAEA,gBAAAiB,EAACH,KAAO,SAAQ,SAAQ,WAAU,YAAW,UAAU,CAACX,GAAS,SAAS,MAAME,OAAY,KAAKO,GAC/F,UAAA,gBAAAK,EAACD,GAAA,EAAK,MAAK,QAAO,SAAShB,EAAQ,QAAA,CAAS,EAAA,CAC9C;AAAA,IAAA,GACF;AAAA,sBAEC,OAAA,EACE,UAAA;AAAA,MAAAC,uBACEa,GAAA,EAAO,SAAQ,SAAQ,WAAU,YAAW,SAAS,MAAMb,KAAU,KAAKQ,GACzE,4BAACO,GAAA,EAAK,MAAK,QAAO,SAAShB,EAAQ,SAAS,GAC9C;AAAA,MAGF,gBAAAiB,EAACH,KAAO,SAAQ,SAAQ,WAAU,aAAY,SAAS,MAAMR,KAAWA,EAAA,GAAW,KAAKO,GACtF,4BAACG,GAAA,EAAK,MAAK,SAAQ,SAAShB,EAAQ,SAAS,EAAA,CAC/C;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAEAmB,EAAkB,gBAAgBtB,CAAY;"}
1
+ {"version":3,"file":"FormEditCtas.js","sources":["../../../../src/organisms/form/builder/FormEditCtas.tsx"],"sourcesContent":["import { ReactElement } from \"react\";\n\nimport { Icon as DefaultIcon } from \"../../../atoms/icon/Icon\";\nimport { useI18n } from \"../../../hooks/useI18n\";\nimport { useTooltip } from \"../../../hooks/useTooltip\";\nimport type { FormOptions } from \"../../../interfaces/index.js\";\nimport { Button as DefaultButton } from \"../../../molecules/button/Button\";\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface FormEditCTAsProps extends Record<string, unknown> {\n saveText?: string;\n options?: FormOptions;\n hasUndo?: boolean;\n hasRedo?: boolean;\n disabled?: boolean;\n onCopy?: () => void;\n onSubmit?: () => void;\n onReset?: () => void;\n onUndo?: () => void;\n onRedo?: () => void;\n}\n\nexport function FormEditCTAs({\n saveText = \"Save\",\n disabled,\n onCopy,\n hasUndo,\n hasRedo,\n onUndo,\n onRedo,\n onReset,\n onSubmit,\n options\n}: FormEditCTAsProps): ReactElement {\n const { t } = useI18n(options?.i18n);\n const copyTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Copy\")\n });\n\n const undoTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Undo last change\")\n });\n\n const redoTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Redo last change\")\n });\n\n const resetTooltipRef: any = useTooltip({\n trigger: \"hover\",\n placement: \"top\",\n title: t(\"Reset all changes\")\n });\n\n const Button = getComponent<typeof DefaultButton>(\"Button\");\n const Icon = getComponent<typeof DefaultIcon>(\"Icon\");\n\n return (\n <div className={\"form-edit__actions\"}>\n <div>\n <Button variant='primary' className='btn-save' disabled={disabled} onClick={() => onSubmit?.()}>\n <Icon name='save' iconset={options?.iconset} />\n {saveText}\n </Button>\n\n <div>\n <Button variant='light' className='btn-undo' disabled={!hasUndo} onClick={() => onUndo?.()} ref={undoTooltipRef}>\n <Icon name='undo' iconset={options?.iconset} />\n </Button>\n\n <Button variant='light' className='btn-redo' disabled={!hasRedo} onClick={() => onRedo?.()} ref={redoTooltipRef}>\n <Icon name='redo' iconset={options?.iconset} />\n </Button>\n </div>\n\n <div>\n {onCopy && (\n <Button variant='light' className='btn-copy' onClick={() => onCopy()} ref={copyTooltipRef}>\n <Icon name='copy' iconset={options?.iconset} />\n </Button>\n )}\n\n <Button variant='light' className='btn-reset' onClick={() => onReset && onReset()} ref={resetTooltipRef!}>\n <Icon name='reset' iconset={options?.iconset} />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\nregisterComponent(\"FormEditCTAs\", FormEditCTAs);\n"],"names":["FormEditCTAs","saveText","disabled","onCopy","hasUndo","hasRedo","onUndo","onRedo","onReset","onSubmit","options","t","useI18n","copyTooltipRef","useTooltip","undoTooltipRef","redoTooltipRef","resetTooltipRef","Button","getComponent","Icon","jsx","jsxs","registerComponent"],"mappings":";;;;AAsBO,SAASA,EAAa;AAAA,EAC3B,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,GAAoC;AAClC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAQF,GAAS,IAAI,GAC7BG,IAAsBC,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOH,EAAE,MAAM;AAAA,EAAA,CAChB,GAEKI,IAAsBD,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOH,EAAE,kBAAkB;AAAA,EAAA,CAC5B,GAEKK,IAAsBF,EAAW;AAAA,IACrC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOH,EAAE,kBAAkB;AAAA,EAAA,CAC5B,GAEKM,IAAuBH,EAAW;AAAA,IACtC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAOH,EAAE,mBAAmB;AAAA,EAAA,CAC7B,GAEKO,IAASC,EAAmC,QAAQ,GACpDC,IAAOD,EAAiC,MAAM;AAEpD,SACE,gBAAAE,EAAC,OAAA,EAAI,WAAW,sBACd,4BAAC,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACJ,GAAA,EAAO,SAAQ,WAAU,WAAU,YAAW,UAAAhB,GAAoB,SAAS,MAAMO,IAAA,GAChF,UAAA;AAAA,MAAA,gBAAAY,EAACD,GAAA,EAAK,MAAK,QAAO,SAASV,GAAS,SAAS;AAAA,MAC5CT;AAAA,IAAA,GACH;AAAA,sBAEC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAoB,EAACH,GAAA,EAAO,SAAQ,SAAQ,WAAU,YAAW,UAAU,CAACd,GAAS,SAAS,MAAME,OAAY,KAAKS,GAC/F,UAAA,gBAAAM,EAACD,GAAA,EAAK,MAAK,QAAO,SAASV,GAAS,QAAA,CAAS,EAAA,CAC/C;AAAA,MAEA,gBAAAW,EAACH,KAAO,SAAQ,SAAQ,WAAU,YAAW,UAAU,CAACb,GAAS,SAAS,MAAME,OAAY,KAAKS,GAC/F,UAAA,gBAAAK,EAACD,GAAA,EAAK,MAAK,QAAO,SAASV,GAAS,QAAA,CAAS,EAAA,CAC/C;AAAA,IAAA,GACF;AAAA,sBAEC,OAAA,EACE,UAAA;AAAA,MAAAP,uBACEe,GAAA,EAAO,SAAQ,SAAQ,WAAU,YAAW,SAAS,MAAMf,KAAU,KAAKU,GACzE,4BAACO,GAAA,EAAK,MAAK,QAAO,SAASV,GAAS,SAAS,GAC/C;AAAA,MAGF,gBAAAW,EAACH,KAAO,SAAQ,SAAQ,WAAU,aAAY,SAAS,MAAMV,KAAWA,EAAA,GAAW,KAAKS,GACtF,4BAACG,GAAA,EAAK,MAAK,SAAQ,SAASV,GAAS,SAAS,EAAA,CAChD;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAEAa,EAAkB,gBAAgBvB,CAAY;"}
@@ -1,7 +1,7 @@
1
- import { FormBuilder as FormioFormBuilder } from 'formiojs';
2
- import { ComponentType, FormOptions, FormType } from '../../../interfaces';
1
+ import { FormBuilder as FormioFormBuilder } from '@formio/js';
2
+ import { ComponentType, FormBuilderOptions, FormType } from '../../../interfaces';
3
3
  interface BuilderConstructor {
4
- new (element: HTMLDivElement, form: FormType, options: FormOptions): FormioFormBuilder;
4
+ new (element: HTMLDivElement, form: FormType, options: FormBuilderOptions): FormioFormBuilder;
5
5
  }
6
6
  export interface FormBuilderEvents {
7
7
  onAddComponent?: Function;
@@ -22,7 +22,7 @@ export interface UseFormBuilderProps extends FormBuilderEvents {
22
22
  Builder?: BuilderConstructor;
23
23
  components: ComponentType[];
24
24
  display?: string;
25
- options?: FormOptions;
25
+ options?: FormBuilderOptions;
26
26
  }
27
27
  export declare function useFormBuilder({ components, display, options, onBuilderReady, onChange, ...props }: UseFormBuilderProps): import('react').RefObject<HTMLDivElement>;
28
28
  export {};
@@ -1,6 +1,6 @@
1
- import { FormBuilder as R } from "formiojs";
2
- import C from "lodash/cloneDeep";
3
- import { useRef as p, useState as b, useEffect as d } from "react";
1
+ import { c as R } from "../../../chunks/index2.js";
2
+ import p from "lodash/cloneDeep";
3
+ import { useRef as l, useState as b, useEffect as d } from "react";
4
4
  const g = [
5
5
  "addComponent",
6
6
  "updateComponent",
@@ -17,13 +17,13 @@ async function E(t, { components: o = [], display: u, options: c, onChange: m, e
17
17
  const s = {
18
18
  display: u,
19
19
  components: [...o]
20
- }, e = await new R(t, s, { ...c }).ready, f = (r) => (...a) => {
20
+ }, e = await new R.FormBuilder(t, s, { ...c }).ready, f = (r) => (...a) => {
21
21
  i[r] && i[r](...a), v.includes(r) && m(e.form.components);
22
22
  };
23
23
  return g.forEach((r) => e.on(r, f(r))), e;
24
24
  }
25
- function w({ components: t, display: o, options: u = {}, onBuilderReady: c, onChange: m, ...i }) {
26
- const s = p(null), e = p(null), [f, r] = b(C(t)), a = Object.fromEntries(Object.entries(i).filter(([n]) => n.startsWith("on")));
25
+ function j({ components: t, display: o, options: u = {}, onBuilderReady: c, onChange: m, ...i }) {
26
+ const s = l(null), e = l(null), [f, r] = b(p(t)), a = Object.fromEntries(Object.entries(i).filter(([n]) => n.startsWith("on")));
27
27
  d(() => {
28
28
  async function n() {
29
29
  if (!s.current) {
@@ -33,8 +33,8 @@ function w({ components: t, display: o, options: u = {}, onBuilderReady: c, onCh
33
33
  e.current = await E(s.current.firstChild, {
34
34
  display: o,
35
35
  options: { ...u },
36
- components: C(t),
37
- onChange: l,
36
+ components: p(t),
37
+ onChange: C,
38
38
  events: a
39
39
  }), c && c(e.current);
40
40
  }
@@ -47,8 +47,8 @@ function w({ components: t, display: o, options: u = {}, onBuilderReady: c, onCh
47
47
  e.current && (o !== e.current.form.display ? E(s.current.firstChild, {
48
48
  display: o,
49
49
  options: { ...u },
50
- components: C(t),
51
- onChange: l,
50
+ components: p(t),
51
+ onChange: C,
52
52
  events: a
53
53
  }).then((n) => {
54
54
  e.current = n, c && c(e.current);
@@ -63,12 +63,12 @@ function w({ components: t, display: o, options: u = {}, onBuilderReady: c, onCh
63
63
  components: t
64
64
  }));
65
65
  }, [o, t]);
66
- const l = (n) => {
66
+ const C = (n) => {
67
67
  r(n), m && m(n);
68
68
  };
69
69
  return s;
70
70
  }
71
71
  export {
72
- w as useFormBuilder
72
+ j as useFormBuilder
73
73
  };
74
74
  //# sourceMappingURL=useFormBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormBuilder.js","sources":["../../../../src/organisms/form/builder/useFormBuilder.ts"],"sourcesContent":["import { FormBuilder as FormioFormBuilder } from \"formiojs\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type { ComponentType, FormOptions, FormType } from \"../../../interfaces\";\n\ninterface BuilderConstructor {\n new (element: HTMLDivElement, form: FormType, options: FormOptions): FormioFormBuilder;\n}\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<FormioFormBuilder> {\n const form = {\n display,\n components: [...components]\n };\n\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, handleEvent(event)));\n\n return builder;\n}\nexport interface FormBuilderEvents {\n onAddComponent?: Function;\n onRemoveComponent?: Function;\n onCancelComponent?: Function;\n onMoveComponent?: Function;\n onEditJson?: Function;\n onCopyComponent?: Function;\n onPasteComponent?: Function;\n onBuilderReady?: (builder: FormioFormBuilder) => void;\n onChange?: (components: ComponentType[]) => void;\n onSaveComponent?: (\n component: ComponentType,\n original: ComponentType,\n parent: ComponentType,\n path: string,\n index: number,\n isNew: boolean,\n originalComponentSchema: ComponentType\n ) => void;\n onEditComponent?: (component: ComponentType) => void;\n onUpdateComponent?: (component: ComponentType) => void;\n onDeleteComponent?: (component: ComponentType, parent: ComponentType, path: string, index: number) => void;\n}\n\nexport interface UseFormBuilderProps extends FormBuilderEvents {\n Builder?: BuilderConstructor;\n components: ComponentType[];\n display?: string;\n options?: FormOptions;\n}\n\nexport function useFormBuilder({ components, display, options = {}, onBuilderReady, onChange, ...props }: UseFormBuilderProps) {\n const renderElement = useRef<HTMLDivElement>(null);\n const builderRef = useRef<FormioFormBuilder | null>(null);\n const [currentComponents, setCurrentComponents] = useState<ComponentType[]>(cloneDeep(components));\n const events = Object.fromEntries(Object.entries(props).filter(([key]) => key.startsWith(\"on\")));\n\n useEffect(() => {\n async function initializeBuilder() {\n if (!renderElement.current) {\n console.warn(\"FormBuilder render element not found, cannot render builder.\");\n return;\n }\n\n builderRef.current = await createBuilder(renderElement.current.firstChild as Element, {\n display,\n options: { ...options },\n components: cloneDeep(components),\n onChange: handleComponentsChange,\n events\n });\n\n onBuilderReady && onBuilderReady(builderRef.current);\n }\n\n initializeBuilder().catch((er) => {\n console.error(er);\n });\n\n return () => {\n builderRef.current?.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (builderRef.current) {\n if (display !== builderRef.current.form.display) {\n createBuilder(renderElement.current!.firstChild as Element, {\n display,\n options: { ...options },\n components: cloneDeep(components),\n onChange: handleComponentsChange,\n events\n })\n .then((builder) => {\n builderRef.current = builder;\n onBuilderReady && onBuilderReady(builderRef.current);\n })\n .catch((er) => {\n console.error({\n event: \"FORM_BUILDER_RECREATE_ERROR\",\n message: er.message,\n stack: er.stack\n });\n });\n } else if (components !== currentComponents) {\n builderRef.current.form = {\n display,\n components\n };\n }\n }\n }, [display, components]);\n\n const handleComponentsChange = (newComponents: ComponentType[]) => {\n setCurrentComponents(newComponents);\n onChange && onChange(newComponents);\n };\n return renderElement;\n}\n"],"names":["EVENTS","EVENTS_CHANGE","createBuilder","el","components","display","options","onChange","events","form","builder","FormioFormBuilder","handleEvent","event","args","useFormBuilder","onBuilderReady","props","renderElement","useRef","builderRef","currentComponents","setCurrentComponents","useState","cloneDeep","key","useEffect","initializeBuilder","handleComponentsChange","er","newComponents"],"mappings":"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"}
1
+ {"version":3,"file":"useFormBuilder.js","sources":["../../../../src/organisms/form/builder/useFormBuilder.ts"],"sourcesContent":["import { FormBuilder as FormioFormBuilder } from \"@formio/js\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type { ComponentType, FormBuilderOptions, FormType } from \"../../../interfaces\";\n\ninterface BuilderConstructor {\n new (element: HTMLDivElement, form: FormType, options: FormBuilderOptions): FormioFormBuilder;\n}\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<FormioFormBuilder> {\n const form = {\n display,\n components: [...components]\n };\n\n const builder = await new FormioFormBuilder(el as HTMLElement, 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, handleEvent(event)));\n\n return builder;\n}\n\nexport interface FormBuilderEvents {\n onAddComponent?: Function;\n onRemoveComponent?: Function;\n onCancelComponent?: Function;\n onMoveComponent?: Function;\n onEditJson?: Function;\n onCopyComponent?: Function;\n onPasteComponent?: Function;\n onBuilderReady?: (builder: FormioFormBuilder) => void;\n onChange?: (components: ComponentType[]) => void;\n onSaveComponent?: (\n component: ComponentType,\n original: ComponentType,\n parent: ComponentType,\n path: string,\n index: number,\n isNew: boolean,\n originalComponentSchema: ComponentType\n ) => void;\n onEditComponent?: (component: ComponentType) => void;\n onUpdateComponent?: (component: ComponentType) => void;\n onDeleteComponent?: (component: ComponentType, parent: ComponentType, path: string, index: number) => void;\n}\n\nexport interface UseFormBuilderProps extends FormBuilderEvents {\n Builder?: BuilderConstructor;\n components: ComponentType[];\n display?: string;\n options?: FormBuilderOptions;\n}\n\nexport function useFormBuilder({ components, display, options = {}, onBuilderReady, onChange, ...props }: UseFormBuilderProps) {\n const renderElement = useRef<HTMLDivElement>(null);\n const builderRef = useRef<FormioFormBuilder | null>(null);\n const [currentComponents, setCurrentComponents] = useState<ComponentType[]>(cloneDeep(components));\n const events = Object.fromEntries(Object.entries(props).filter(([key]) => key.startsWith(\"on\")));\n\n useEffect(() => {\n async function initializeBuilder() {\n if (!renderElement.current) {\n console.warn(\"FormBuilder render element not found, cannot render builder.\");\n return;\n }\n\n builderRef.current = await createBuilder(renderElement.current.firstChild as Element, {\n display,\n options: { ...options },\n components: cloneDeep(components),\n onChange: handleComponentsChange,\n events\n });\n\n onBuilderReady && onBuilderReady(builderRef.current);\n }\n\n initializeBuilder().catch((er) => {\n console.error(er);\n });\n\n return () => {\n builderRef.current?.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (builderRef.current) {\n if (display !== (builderRef.current.form as FormType).display) {\n createBuilder(renderElement.current!.firstChild as Element, {\n display,\n options: { ...options },\n components: cloneDeep(components),\n onChange: handleComponentsChange,\n events\n })\n .then((builder) => {\n builderRef.current = builder;\n onBuilderReady && onBuilderReady(builderRef.current);\n })\n .catch((er) => {\n console.error({\n event: \"FORM_BUILDER_RECREATE_ERROR\",\n message: er.message,\n stack: er.stack\n });\n });\n } else if (components !== currentComponents) {\n builderRef.current.form = {\n display,\n components\n };\n }\n }\n }, [display, components]);\n\n const handleComponentsChange = (newComponents: ComponentType[]) => {\n setCurrentComponents(newComponents);\n onChange && onChange(newComponents);\n };\n return renderElement;\n}\n"],"names":["EVENTS","EVENTS_CHANGE","createBuilder","el","components","display","options","onChange","events","form","builder","FormioFormBuilder","handleEvent","event","args","useFormBuilder","onBuilderReady","props","renderElement","useRef","builderRef","currentComponents","setCurrentComponents","useState","cloneDeep","key","useEffect","initializeBuilder","handleComponentsChange","er","newComponents"],"mappings":"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"}
@@ -19,7 +19,7 @@ export declare function useFormEdit(props: UseFormEditHookProps): {
19
19
  undo: () => void;
20
20
  reset: () => void;
21
21
  hasChanged: boolean;
22
- isValid: any;
22
+ isValid: string | undefined;
23
23
  hasUndo: boolean;
24
24
  hasRedo: boolean;
25
25
  onSubmit: () => void;
@@ -1,5 +1,6 @@
1
+ import { FormOptions } from '../../../interfaces/FormOptions.js';
1
2
  export interface FormExportProps {
2
- i18n?: (key: string) => string;
3
+ i18n?: FormOptions["i18n"];
3
4
  onClick?: (action: "export:form" | "export:submissions", format: "json" | "csv") => void;
4
5
  }
5
- export declare function FormExport({ i18n, onClick }: FormExportProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function FormExport({ onClick, ...props }: FormExportProps): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,24 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { Icon as r } from "../../../atoms/icon/Icon.js";
3
- import { getComponent as n } from "../../../registries/components.js";
4
- function i({ i18n: a = (m) => m, onClick: c }) {
5
- const m = n("Card");
2
+ import { Icon as a } from "../../../atoms/icon/Icon.js";
3
+ import { useI18n as c } from "../../../hooks/useI18n.js";
4
+ import { getComponent as i } from "../../../registries/components.js";
5
+ function h({ onClick: n, ...t }) {
6
+ const m = i("Card"), { t: r } = c(t?.i18n);
6
7
  return /* @__PURE__ */ e("div", { children: /* @__PURE__ */ s("div", { className: "flex gap-3", children: [
7
8
  /* @__PURE__ */ e("div", { className: "sm:w-1/2", children: /* @__PURE__ */ s(
8
9
  m,
9
10
  {
10
11
  label: /* @__PURE__ */ s("span", { className: "flex items-center", children: [
11
- /* @__PURE__ */ e(r, { name: "detail", className: "mr-1 text-secondary" }),
12
+ /* @__PURE__ */ e(a, { name: "detail", className: "mr-1 text-secondary" }),
12
13
  " ",
13
- a("Export schema")
14
+ r("Export schema")
14
15
  ] }),
15
16
  children: [
16
- /* @__PURE__ */ e("p", { className: "mb-5", children: a("Export the formIO schema:") }),
17
- /* @__PURE__ */ e("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ s("button", { className: "btn btn-primary", onClick: () => c?.("export:form", "json"), children: [
18
- /* @__PURE__ */ e(r, { name: "code", className: "mr-1" }),
17
+ /* @__PURE__ */ e("p", { className: "mb-5", children: r("Export the formIO schema:") }),
18
+ /* @__PURE__ */ e("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ s("button", { className: "btn btn-primary", onClick: () => n?.("export:form", "json"), children: [
19
+ /* @__PURE__ */ e(a, { name: "code", className: "mr-1" }),
19
20
  " ",
20
- a("Json")
21
+ r("Json")
21
22
  ] }) })
22
23
  ]
23
24
  }
@@ -26,22 +27,22 @@ function i({ i18n: a = (m) => m, onClick: c }) {
26
27
  m,
27
28
  {
28
29
  label: /* @__PURE__ */ s("span", { className: "flex items-center", children: [
29
- /* @__PURE__ */ e(r, { name: "data", className: "mr-1 text-secondary" }),
30
+ /* @__PURE__ */ e(a, { name: "data", className: "mr-1 text-secondary" }),
30
31
  " ",
31
- a("Export submissions")
32
+ r("Export submissions")
32
33
  ] }),
33
34
  children: [
34
- /* @__PURE__ */ e("p", { className: "mb-5", children: a("Export all submission as JSON or CSV:") }),
35
+ /* @__PURE__ */ e("p", { className: "mb-5", children: r("Export all submission as JSON or CSV:") }),
35
36
  /* @__PURE__ */ s("div", { className: "flex items-center justify-center", children: [
36
- /* @__PURE__ */ s("button", { className: "btn btn-primary mr-4", onClick: () => c?.("export:submissions", "json"), children: [
37
- /* @__PURE__ */ e(r, { name: "code", className: "mr-1" }),
37
+ /* @__PURE__ */ s("button", { className: "btn btn-primary mr-4", onClick: () => n?.("export:submissions", "json"), children: [
38
+ /* @__PURE__ */ e(a, { name: "code", className: "mr-1" }),
38
39
  " ",
39
- a("Json")
40
+ r("Json")
40
41
  ] }),
41
- /* @__PURE__ */ s("button", { className: "btn btn-primary", onClick: () => c?.("export:submissions", "csv"), children: [
42
- /* @__PURE__ */ e(r, { name: "spreadsheet", className: "mr-1" }),
42
+ /* @__PURE__ */ s("button", { className: "btn btn-primary", onClick: () => n?.("export:submissions", "csv"), children: [
43
+ /* @__PURE__ */ e(a, { name: "spreadsheet", className: "mr-1" }),
43
44
  " ",
44
- a("Csv")
45
+ r("Csv")
45
46
  ] })
46
47
  ] })
47
48
  ]
@@ -50,6 +51,6 @@ function i({ i18n: a = (m) => m, onClick: c }) {
50
51
  ] }) });
51
52
  }
52
53
  export {
53
- i as FormExport
54
+ h as FormExport
54
55
  };
55
56
  //# sourceMappingURL=FormExport.js.map