@axdspub/axiom-ui-forms 0.2.10 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +440 -272
  2. package/library/axiom-ui-forms.d.ts +107 -33
  3. package/library/esm/_virtual/index10.js +2 -2
  4. package/library/esm/_virtual/index12.js +2 -6
  5. package/library/esm/_virtual/index12.js.map +1 -1
  6. package/library/esm/_virtual/index13.js +2 -6
  7. package/library/esm/_virtual/index13.js.map +1 -1
  8. package/library/esm/_virtual/index3.js +2 -2
  9. package/library/esm/_virtual/index3.js.map +1 -1
  10. package/library/esm/_virtual/index6.js +2 -2
  11. package/library/esm/_virtual/index7.js +6 -2
  12. package/library/esm/_virtual/index7.js.map +1 -1
  13. package/library/esm/_virtual/index8.js +6 -2
  14. package/library/esm/_virtual/index8.js.map +1 -1
  15. package/library/esm/_virtual/index9.js +2 -2
  16. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +1 -1
  17. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
  18. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +23 -1
  19. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  20. package/library/esm/node_modules/ajv/dist/compile/index.js +1 -1
  21. package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
  22. package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
  23. package/library/esm/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
  24. package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
  25. package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
  26. package/library/esm/node_modules/jotai/esm/react.js +135 -0
  27. package/library/esm/node_modules/jotai/esm/react.js.map +1 -0
  28. package/library/esm/node_modules/jotai/esm/vanilla/internals.js +551 -0
  29. package/library/esm/node_modules/jotai/esm/vanilla/internals.js.map +1 -0
  30. package/library/esm/node_modules/jotai/esm/vanilla.js +111 -0
  31. package/library/esm/node_modules/jotai/esm/vanilla.js.map +1 -0
  32. package/library/esm/node_modules/react-router/dist/development/chunk-HA7DTUK3.js +1 -1
  33. package/library/esm/node_modules/unified/lib/index.js +1 -1
  34. package/library/esm/src/Form/Components/FieldCreator.js +20 -5
  35. package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
  36. package/library/esm/src/Form/Components/FieldLabel.js +1 -1
  37. package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
  38. package/library/esm/src/Form/Components/InlineMarkdown.js.map +1 -1
  39. package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
  40. package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -1
  41. package/library/esm/src/Form/Components/Inputs/Date.js.map +1 -1
  42. package/library/esm/src/Form/Components/Inputs/DateTime.js.map +1 -1
  43. package/library/esm/src/Form/Components/Inputs/GeoJSON.js.map +1 -1
  44. package/library/esm/src/Form/Components/Inputs/GeoJSONInputLoader.js.map +1 -1
  45. package/library/esm/src/Form/Components/Inputs/Geometry.js +1 -1
  46. package/library/esm/src/Form/Components/Inputs/Geometry.js.map +1 -1
  47. package/library/esm/src/Form/Components/Inputs/GeometryInputLoader.js.map +1 -1
  48. package/library/esm/src/Form/Components/Inputs/JSON.js +64 -33
  49. package/library/esm/src/Form/Components/Inputs/JSON.js.map +1 -1
  50. package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js.map +1 -1
  51. package/library/esm/src/Form/Components/Inputs/LongString.js.map +1 -1
  52. package/library/esm/src/Form/Components/Inputs/Number.js +34 -9
  53. package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
  54. package/library/esm/src/Form/Components/Inputs/Object.js.map +1 -1
  55. package/library/esm/src/Form/Components/Inputs/OneOfInput.js.map +1 -1
  56. package/library/esm/src/Form/Components/Inputs/RadioGroup.js.map +1 -1
  57. package/library/esm/src/Form/Components/Inputs/SingleSelect.js +2 -1
  58. package/library/esm/src/Form/Components/Inputs/SingleSelect.js.map +1 -1
  59. package/library/esm/src/Form/Components/Inputs/String.js.map +1 -1
  60. package/library/esm/src/Form/Components/Inputs/Time.js.map +1 -1
  61. package/library/esm/src/Form/Components/Inputs/index.js +11 -0
  62. package/library/esm/src/Form/Components/Inputs/index.js.map +1 -0
  63. package/library/esm/src/Form/Components/Inputs/inputMap.js.map +1 -1
  64. package/library/esm/src/Form/Creator/FormContextProvider.js.map +1 -1
  65. package/library/esm/src/Form/Creator/FormCreator.js +17 -8
  66. package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
  67. package/library/esm/src/Form/Creator/FormFields.js +1 -1
  68. package/library/esm/src/Form/Creator/FormFields.js.map +1 -1
  69. package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
  70. package/library/esm/src/Form/Creator/FormSection.js.map +1 -1
  71. package/library/esm/src/Form/Creator/FormSectionContextProvider.js.map +1 -1
  72. package/library/esm/src/Form/Creator/NavElement.js.map +1 -1
  73. package/library/esm/src/Form/Creator/Page.js +44 -8
  74. package/library/esm/src/Form/Creator/Page.js.map +1 -1
  75. package/library/esm/src/Form/Creator/Wizard.js +78 -21
  76. package/library/esm/src/Form/Creator/Wizard.js.map +1 -1
  77. package/library/esm/src/Form/Manage/CopyableJSONOutput.js +3 -3
  78. package/library/esm/src/Form/Manage/CopyableJSONOutput.js.map +1 -1
  79. package/library/esm/src/library.js +9 -14
  80. package/library/esm/src/library.js.map +1 -1
  81. package/library/esm/src/utils/getters.js +33 -3
  82. package/library/esm/src/utils/getters.js.map +1 -1
  83. package/library/esm/src/utils/manipulators.js +80 -3
  84. package/library/esm/src/utils/manipulators.js.map +1 -1
  85. package/library/esm/src/utils/resolveRefs.js +44 -0
  86. package/library/esm/src/utils/resolveRefs.js.map +1 -0
  87. package/library/esm/src/utils/responsive/layoutState.js +18 -0
  88. package/library/esm/src/utils/responsive/layoutState.js.map +1 -0
  89. package/library/esm/src/utils/schemaToFormHelpers.js +157 -39
  90. package/library/esm/src/utils/schemaToFormHelpers.js.map +1 -1
  91. package/library/esm/src/utils/validators.js +4 -2
  92. package/library/esm/src/utils/validators.js.map +1 -1
  93. package/package.json +131 -129
  94. package/library/esm/src/Form/resolveRefs.js +0 -26
  95. package/library/esm/src/Form/resolveRefs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manipulators.js","sources":["../../../../src/utils/manipulators.ts"],"sourcesContent":["import { type IFormSection, type IPage, type IWizardStep, type IFormField, type IForm, type IValueType, type IFormValues } from '@/Form/Creator/FormCreatorTypes'\nimport { getFieldsFromFormSection, getFieldValue, getPathFromField } from '@/utils/getters'\nimport { checkCondition } from '@/utils/validators'\nimport set from 'lodash/set'\n\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\n if (field.type === 'object' && field.skip_path === true) {\n field.path = parentPath !== undefined ? parentPath.slice() : []\n field.level = parentPath !== undefined ? parentPath.length : 0\n } else {\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\n }\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\n field.fields = field.fields.map(childField => {\n return addFieldPath(childField, field.path?.slice())\n })\n }\n return field\n}\n\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\n if (section.pages !== undefined) {\n section.pages = section.pages.map(page => {\n return addPathsToFormSections(page)\n }) as IPage[]\n }\n if (section.wizard_steps !== undefined) {\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\n return addPathsToFormSections(wizardStep)\n }) as IWizardStep[]\n }\n if (section.fields !== undefined) {\n section.fields = section.fields.map(field => {\n return addFieldPath(field)\n })\n }\n return section\n}\n\nexport function copyAndAddPathToFields (formOrContainer: IForm): IForm {\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\n return form\n}\n\nfunction cleanFormValuesLevel (formValues: IFormValues, fields: IFormField[], formValuesPath: string = ''): IFormValues {\n const formValuesCopy = structuredClone(formValues)\n Object.keys(formValues).forEach(key => {\n const path = formValuesPath !== '' ? `${formValuesPath}.${key}` : key\n const field = fields?.find(f => getPathFromField(f) === path)\n if (field !== undefined && !checkCondition(field, formValues)) {\n formValuesCopy[key] = undefined\n // this ensures that objects that are the result of mapping get checked\n // but fields that are not explicitly defined as objects but may contain objects\n // are not checked (geom, json, etc)\n } else if (typeof formValuesCopy[key] === 'object' && (\n field?.type === 'object' || field === undefined\n )) {\n formValuesCopy[key] = cleanFormValuesLevel(formValuesCopy[key] as IFormValues, fields, path)\n } else if (field === undefined) {\n formValuesCopy[key] = undefined\n }\n })\n // const fieldIds = fields.map(f => getPathFromField(f))\n // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))\n return formValuesCopy\n}\n\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\n const fields = getFieldsFromFormSection(form)\n const newFormValues = cleanFormValuesLevel(formValues, fields)\n return newFormValues\n}\n\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\n const fieldPath = getPathFromField(field)\n set(formValues, fieldPath, newValue)\n}\n\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\n const formValuesCopy = structuredClone(formValues)\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\n return formValuesCopy\n}\n\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\n const formValuesCopy = structuredClone(formValues)\n const formWithPaths = copyAndAddPathToFields(form)\n getFieldsFromFormSection(formWithPaths).forEach(field => {\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\n }\n })\n return formValuesCopy\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manipulators.js","sources":["../../../../src/utils/manipulators.ts"],"sourcesContent":["import { type IFormSection, type IPage, type IWizardStep, type IFormField, type IForm, type IValueType, type IFormValues, type IObjectField } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getPathFromField } from '@/utils/getters'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { merge } from 'lodash'\r\nimport set from 'lodash/set'\r\n\r\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\r\n if (field.type === 'object' && field.skip_path === true) {\r\n field.path = parentPath !== undefined ? parentPath.slice() : []\r\n field.level = parentPath !== undefined ? parentPath.length : 0\r\n } else {\r\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\r\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\r\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\r\n }\r\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return addFieldPath(childField, field.path?.slice())\r\n })\r\n }\r\n return field\r\n}\r\n\r\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return addPathsToFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return addPathsToFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return addFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndAddPathToFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction removeFieldPath (field: IFormField): IFormField {\r\n field.path = undefined\r\n field.level = undefined\r\n if (field.type === 'object' && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return removeFieldPath(childField)\r\n })\r\n }\r\n\r\n return field\r\n}\r\n\r\nfunction removePathsFromFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return removePathsFromFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return removePathsFromFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return removeFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndRemovePathFromFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = removePathsFromFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction cleanFormValuesLevel (formValues: IFormValues, fields: IFormField[], formValuesPath: string = ''): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n Object.keys(formValues).forEach(key => {\r\n const path = formValuesPath !== '' ? `${formValuesPath}.${key}` : key\r\n const field = fields?.find(f => getPathFromField(f) === path)\r\n if (field !== undefined && !checkCondition(field, formValues)) {\r\n formValuesCopy[key] = undefined\r\n // this ensures that objects that are the result of mapping get checked\r\n // but fields that are not explicitly defined as objects but may contain objects\r\n // are not checked (geom, json, etc)\r\n } else if (typeof formValuesCopy[key] === 'object' && (\r\n field?.type === 'object' || field === undefined\r\n )) {\r\n formValuesCopy[key] = cleanFormValuesLevel((formValuesCopy[key] ?? {}) as IFormValues, fields, path)\r\n } else if (field === undefined) {\r\n formValuesCopy[key] = undefined\r\n }\r\n })\r\n // const fieldIds = fields.map(f => getPathFromField(f))\r\n // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\r\n const fields = getFieldsFromFormSection(form)\r\n const newFormValues = cleanFormValuesLevel(formValues, fields)\r\n return newFormValues\r\n}\r\n\r\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\r\n const fieldPath = getPathFromField(field)\r\n if (fieldPath === undefined) {\r\n merge(formValues, newValue)\r\n } else {\r\n set(formValues, fieldPath ?? '', newValue)\r\n }\r\n}\r\n\r\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanAndUpdateFormValuesWithFieldValue ({\r\n field,\r\n form,\r\n value,\r\n formValues\r\n}: {\r\n field: IFormField\r\n form: IForm\r\n value: IValueType | IValueType[]\r\n formValues: IFormValues\r\n}): IFormValues {\r\n const updatedFormValuesCopyPreClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n formValues\r\n )\r\n const cleanedFormValues = cleanUnusedDependenciesFromFormValues(form, updatedFormValuesCopyPreClean)\r\n // re-assigning the form values lets it be cleaned above, and re-assigned below if the value is uses the same path as a removed value\r\n // initial use case: multiple geometry fields with each shape type as pre-set draw type and a second field that determines the draw type\r\n const formValuesCopyClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n cleanedFormValues\r\n )\r\n return formValuesCopyClean\r\n}\r\n\r\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\r\n const formValuesCopy = structuredClone(formValues)\r\n const formWithPaths = copyAndAddPathToFields(form)\r\n getFieldsFromFormSection(formWithPaths).forEach(field => {\r\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\r\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\r\n }\r\n })\r\n return formValuesCopy\r\n}\r\n\r\nconst assignIndexToField = (field: IFormField, index: number): IFormField => {\r\n return {\r\n ...field,\r\n index\r\n }\r\n}\r\n\r\nconst assignIndexToFields = (parentField: IObjectField, index: number): IFormField[] => {\r\n return parentField.fields.map(f => {\r\n if (f.path !== undefined && parentField.level !== undefined && f.path[parentField.level - 1] !== undefined) {\r\n const newPath = f.path.slice()\r\n newPath[parentField.level - 1] = {\r\n ...parentField,\r\n index\r\n }\r\n f.path = newPath\r\n }\r\n return {\r\n ...f\r\n }\r\n })\r\n}\r\n\r\nexport const createOneOfMultipleField = (field: IFormField, index: number): IFormField => {\r\n const path = field.path ? field.path.slice() : undefined\r\n if (path !== undefined) {\r\n const last = assignIndexToField(path[path.length - 1], index)\r\n path[path.length - 1] = last\r\n if (last.type === 'object' && last.fields !== undefined) {\r\n last.fields = assignIndexToFields(last, index)\r\n }\r\n }\r\n\r\n const out = {\r\n ...field,\r\n path,\r\n index,\r\n required: false,\r\n label: index > 0 ? null : field.label,\r\n id: `${field.id}-${index}`\r\n }\r\n\r\n if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {\r\n out.fields = assignIndexToFields(field, index)\r\n }\r\n return out\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { __assign } from '../../node_modules/tslib/tslib.es6.js';
2
+
3
+ /**
4
+ * Recursively resolves JSON Schema $ref references. Does not support external references.
5
+ * @param schema The schema to resolve.
6
+ * @param root The root schema for references. Defaults to schema itself
7
+ * TO DO: support external references
8
+ * @returns The schema with all $ref references resolved.
9
+ */
10
+ function resolveRefs(schema, root) {
11
+ var _a;
12
+ if (root === void 0) { root = schema; }
13
+ if (typeof schema !== 'object' || schema === null)
14
+ return schema;
15
+ if (Array.isArray(schema)) {
16
+ // if top level root is array, don't pass it
17
+ // but hold on to root if we're looking at an embedded array (anyOf: [], allOf: [], oneOf: [])
18
+ return schema.map(function (item) { return resolveRefs(item, Array.isArray(root) ? undefined : root); });
19
+ }
20
+ if (schema.$ref) {
21
+ var refPath = schema.$ref.replace('#/', '').split('/');
22
+ var refValue = root;
23
+ for (var _i = 0, refPath_1 = refPath; _i < refPath_1.length; _i++) {
24
+ var key = refPath_1[_i];
25
+ refValue = refValue[key];
26
+ if (!refValue)
27
+ throw new Error("Invalid reference: ".concat(schema.$ref));
28
+ }
29
+ // Merge the original schema with the resolved reference
30
+ var mergedSchema = __assign(__assign({}, refValue), schema);
31
+ // allow a $ref to be followed multiple steps
32
+ mergedSchema.$ref = (_a = refValue.$ref) !== null && _a !== void 0 ? _a : undefined;
33
+ // Recursively resolve all properties of the merged schema
34
+ return resolveRefs(mergedSchema, root);
35
+ }
36
+ // Recursively resolve all properties
37
+ return Object.fromEntries(Object.entries(schema).map(function (_a) {
38
+ var key = _a[0], value = _a[1];
39
+ return [key, resolveRefs(value, root)];
40
+ }));
41
+ }
42
+
43
+ export { resolveRefs };
44
+ //# sourceMappingURL=resolveRefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRefs.js","sources":["../../../../src/utils/resolveRefs.ts"],"sourcesContent":["import { type JSONSchema6 } from 'json-schema'\r\n\r\n/**\r\n * Recursively resolves JSON Schema $ref references. Does not support external references.\r\n * @param schema The schema to resolve.\r\n * @param root The root schema for references. Defaults to schema itself\r\n * TO DO: support external references\r\n * @returns The schema with all $ref references resolved.\r\n */\r\nexport function resolveRefs<T extends JSONSchema6> (schema: T, root: JSONSchema6 = schema): T {\r\n if (typeof schema !== 'object' || schema === null) return schema\r\n\r\n if (Array.isArray(schema)) {\r\n // if top level root is array, don't pass it\r\n // but hold on to root if we're looking at an embedded array (anyOf: [], allOf: [], oneOf: [])\r\n return schema.map((item) => resolveRefs(item, Array.isArray(root) ? undefined : root)) as unknown as T\r\n }\r\n\r\n if (schema.$ref) {\r\n const refPath = schema.$ref.replace('#/', '').split('/')\r\n let refValue: any = root\r\n\r\n for (const key of refPath) {\r\n refValue = refValue[key]\r\n if (!refValue) throw new Error(`Invalid reference: ${schema.$ref}`)\r\n }\r\n\r\n // Merge the original schema with the resolved reference\r\n const mergedSchema = { ...refValue, ...schema }\r\n\r\n // allow a $ref to be followed multiple steps\r\n mergedSchema.$ref = refValue.$ref ?? undefined\r\n\r\n // Recursively resolve all properties of the merged schema\r\n return resolveRefs(mergedSchema, root) as T\r\n }\r\n\r\n // Recursively resolve all properties\r\n return Object.fromEntries(\r\n Object.entries(schema).map(([key, value]) => {\r\n return [key, resolveRefs(value, root)]\r\n })\r\n ) as T\r\n}\r\n"],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACa,SAAA,WAAW,CAAyB,MAAS,EAAE,IAA0B,EAAA;;AAA1B,IAAA,IAAA,IAAA,KAAA,MAAA,EAAA,EAAA,IAA0B,GAAA,MAAA,CAAA;AACvF,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;AAAE,QAAA,OAAO,MAAM;AAEhE,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;;AAGzB,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAzD,EAAyD,CAAiB;;AAGxG,IAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACf,QAAA,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACxD,IAAI,QAAQ,GAAQ,IAAI;QAExB,KAAkB,IAAA,EAAA,GAAA,CAAO,EAAP,SAAO,GAAA,OAAA,EAAP,qBAAO,EAAP,EAAA,EAAO,EAAE;AAAtB,YAAA,IAAM,GAAG,GAAA,SAAA,CAAA,EAAA,CAAA;AACZ,YAAA,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAA,CAAA,MAAA,CAAsB,MAAM,CAAC,IAAI,CAAE,CAAC;;;AAIrE,QAAA,IAAM,YAAY,GAAQ,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAK,EAAA,MAAM,CAAE;;QAG/C,YAAY,CAAC,IAAI,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,SAAS;;AAG9C,QAAA,OAAO,WAAW,CAAC,YAAY,EAAE,IAAI,CAAM;;;AAI7C,IAAA,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY,EAAA;YAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA;QACrC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACvC,CAAC,CACE;AACR;;;;"}
@@ -0,0 +1,18 @@
1
+ import { atom } from '../../../node_modules/jotai/esm/vanilla.js';
2
+
3
+ var getWindowSize = function () {
4
+ var width = window.innerWidth;
5
+ if (width < 768)
6
+ return 'sm';
7
+ if (width < 1024)
8
+ return 'md';
9
+ if (width < 1280)
10
+ return 'lg';
11
+ return 'xl';
12
+ };
13
+ var layoutAtom = atom({
14
+ size: getWindowSize()
15
+ });
16
+
17
+ export { layoutAtom as default, getWindowSize };
18
+ //# sourceMappingURL=layoutState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutState.js","sources":["../../../../../src/utils/responsive/layoutState.ts"],"sourcesContent":["import { atom } from 'jotai'\r\n\r\ntype ISize = 'sm' | 'md' | 'lg' | 'xl'\r\n\r\nexport const getWindowSize = (): ISize => {\r\n const width = window.innerWidth\r\n if (width < 768) return 'sm'\r\n if (width < 1024) return 'md'\r\n if (width < 1280) return 'lg'\r\n return 'xl'\r\n}\r\n\r\nconst layoutAtom = atom<{ size: ISize }>({\r\n size: getWindowSize()\r\n})\r\n\r\nexport default layoutAtom\r\n"],"names":[],"mappings":";;AAIa,IAAA,aAAa,GAAG,YAAA;AAC3B,IAAA,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU;IAC/B,IAAI,KAAK,GAAG,GAAG;AAAE,QAAA,OAAO,IAAI;IAC5B,IAAI,KAAK,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;IAC7B,IAAI,KAAK,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;AAC7B,IAAA,OAAO,IAAI;AACb;AAEM,IAAA,UAAU,GAAG,IAAI,CAAkB;IACvC,IAAI,EAAE,aAAa;AACpB,CAAA;;;;"}
@@ -5,9 +5,9 @@ import metaSchemaDraftV7 from '../../node_modules/ajv/lib/refs/json-schema-draft
5
5
  import metaSchemaDraftV6 from '../../node_modules/ajv/lib/refs/json-schema-draft-06.json.js';
6
6
  import metaSchemaV5 from '../../node_modules/ajv/lib/refs/json-schema-2020-12/schema.json.js';
7
7
  import metaSchemaV4 from '../../node_modules/ajv/lib/refs/json-schema-2019-09/schema.json.js';
8
- import { resolveRefs } from '../Form/resolveRefs.js';
8
+ import { resolveRefs } from './resolveRefs.js';
9
9
  import { omit } from 'lodash';
10
- import { getFieldsFromFormSection, getPathFromField } from './getters.js';
10
+ import { getFieldsFromFormSection, getPathFromField, makeJsonPath } from './getters.js';
11
11
  import { copyAndAddPathToFields } from './manipulators.js';
12
12
 
13
13
  var getValidator = function (schema) {
@@ -76,7 +76,7 @@ var makeLabel = function (options) {
76
76
  return undefined;
77
77
  }
78
78
  return String(validOptions[0])
79
- .replace(/_/g, ' ')
79
+ .replace(/_|-/g, ' ')
80
80
  .split(' ')
81
81
  .map(function (s, i) {
82
82
  return i === 0 ? "".concat(s.charAt(0).toUpperCase()).concat(s.slice(1)) : s;
@@ -135,6 +135,18 @@ var getValueFromSchema = function (schema) {
135
135
  if (schema.const !== undefined) {
136
136
  return String(schema.const);
137
137
  }
138
+ if (schema.title !== undefined && schema.title !== null) {
139
+ return getValueFromSchema(schema.title);
140
+ }
141
+ if (schema.$id !== undefined && schema.$id !== null) {
142
+ if (typeof schema.$id === 'string' || typeof schema.$id === 'number') {
143
+ return makeLabel([String(schema.$id)]);
144
+ }
145
+ return getValueFromSchema(schema.$id);
146
+ }
147
+ if (Array.isArray(schema) && schema.length === 2) {
148
+ return typeof schema[0] === 'object' && schema[0] !== null ? getValueFromSchema(schema[0]) : schema[0];
149
+ }
138
150
  return undefined;
139
151
  };
140
152
  var getLabelFromSchema = function (schema) {
@@ -156,11 +168,14 @@ var getLabelFromSchema = function (schema) {
156
168
  if (schema.title !== undefined && schema.title !== null) {
157
169
  return getLabelFromSchema(schema.title);
158
170
  }
171
+ if (Array.isArray(schema) && schema.length === 2) {
172
+ return typeof schema[1] === 'object' && schema[1] !== null ? getLabelFromSchema(schema[1]) : schema[1];
173
+ }
159
174
  return String(getValueFromSchema(schema));
160
175
  };
161
176
  var schemaToFormField = function (_a) {
162
- var _b, _c, _d, _e, _f, _g, _h, _j, _k;
163
- var schema = _a.schema, property = _a.property, schemaField = _a.schemaField, multiple = _a.multiple, _l = _a.path, path = _l === void 0 ? [] : _l;
177
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
178
+ var schema = _a.schema, property = _a.property, schemaField = _a.schemaField, multiple = _a.multiple, _m = _a.path, path = _m === void 0 ? [] : _m;
164
179
  path.push(property);
165
180
  if (schemaField === undefined) {
166
181
  return {
@@ -213,13 +228,25 @@ var schemaToFormField = function (_a) {
213
228
  label: label,
214
229
  description: schemaField.description,
215
230
  multiple: multiple,
231
+ defaultValue: schemaField.default !== undefined ? schemaField.default : undefined,
216
232
  required: (_d = schemaRequired.includes(property)) !== null && _d !== void 0 ? _d : false
217
233
  };
218
234
  if (type === 'text' || type === 'number' || type === 'long_text' || type === 'boolean' || type === 'datetime' || type === 'date' || type === 'time') {
235
+ if (type === 'number' && (schemaField.minimum !== undefined || schemaField.maximum !== undefined)) {
236
+ var numberOb = ob;
237
+ numberOb.constraints = (_e = numberOb.constraints) !== null && _e !== void 0 ? _e : {};
238
+ if (schemaField.minimum !== undefined) {
239
+ numberOb.constraints.min = schemaField.minimum;
240
+ }
241
+ if (schemaField.maximum !== undefined) {
242
+ numberOb.constraints.max = schemaField.maximum;
243
+ }
244
+ return __assign(__assign({}, numberOb), { type: type });
245
+ }
219
246
  return __assign(__assign({}, ob), { type: type });
220
247
  }
221
248
  if (type === 'select' || type === 'checkbox') {
222
- var schemaOptions = (_g = (_f = (_e = schemaField.enum) !== null && _e !== void 0 ? _e : schemaField.oneOf) !== null && _f !== void 0 ? _f : schemaField.anyOf) !== null && _g !== void 0 ? _g : [];
249
+ var schemaOptions = (_h = (_g = (_f = schemaField.enum) !== null && _f !== void 0 ? _f : schemaField.oneOf) !== null && _g !== void 0 ? _g : schemaField.anyOf) !== null && _h !== void 0 ? _h : [];
223
250
  var options = schemaOptions.map(function (e) {
224
251
  var value = getValueFromSchema(e);
225
252
  var label = getLabelFromSchema(e);
@@ -234,7 +261,7 @@ var schemaToFormField = function (_a) {
234
261
  }
235
262
  if (type === 'object') {
236
263
  // const anyOfAsProps = schemaField.anyOf !== undefined && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null').length > 0
237
- var properties = (_h = schemaField.properties) !== null && _h !== void 0 ? _h : {};
264
+ var properties = (_j = schemaField.properties) !== null && _j !== void 0 ? _j : {};
238
265
  var fields_1 = [];
239
266
  for (var key in properties) {
240
267
  if (properties[key] !== undefined && typeof properties[key] !== 'boolean') {
@@ -290,7 +317,7 @@ var schemaToFormField = function (_a) {
290
317
  fields_1.push(f);
291
318
  });
292
319
  }
293
- var ofArr = ((_j = schemaField.anyOf) !== null && _j !== void 0 ? _j : []).concat((_k = schemaField.allOf) !== null && _k !== void 0 ? _k : []);
320
+ var ofArr = ((_k = schemaField.anyOf) !== null && _k !== void 0 ? _k : []).concat((_l = schemaField.allOf) !== null && _l !== void 0 ? _l : []);
294
321
  ofArr.forEach(function (anyOf) {
295
322
  var _a;
296
323
  var anyOfId = schemaField.$id;
@@ -321,19 +348,64 @@ function mergeObjects(objects) {
321
348
  var initialValue = {};
322
349
  return objects.reduce(function (acc, obj) { return (__assign(__assign({}, acc), obj)); }, initialValue);
323
350
  }
351
+ var mergeFormField = function (_a) {
352
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
353
+ var field = _a.field, fieldOverride = _a.fieldOverride, formFieldsOverrideMap = _a.formFieldsOverrideMap, schemaFieldMap = _a.schemaFieldMap;
354
+ var path = (_b = fieldOverride === null || fieldOverride === void 0 ? void 0 : fieldOverride.prop) !== null && _b !== void 0 ? _b : makeJsonPath(field);
355
+ var formFieldOverrides = mergeObjects(formFieldsOverrideMap.map(function (overrides) { return overrides[path !== null && path !== void 0 ? path : '']; }).filter(function (d) { return d !== undefined; }));
356
+ var mergedField = __assign({}, mergeObjects([
357
+ __assign(__assign({}, field), { destPath: path }),
358
+ formFieldOverrides,
359
+ (fieldOverride !== null && fieldOverride !== void 0 ? fieldOverride : {})
360
+ ]));
361
+ var labelProp = (_c = mergedField.id) !== null && _c !== void 0 ? _c : (path !== undefined
362
+ ? path.split('.').pop()
363
+ : (_d = fieldOverride === null || fieldOverride === void 0 ? void 0 : fieldOverride.prop) !== null && _d !== void 0 ? _d : field.id);
364
+ var id = (_e = mergedField.id) !== null && _e !== void 0 ? _e : makeFormFieldId([mergedField.id]);
365
+ if (mergedField.type === 'object') {
366
+ // attached to the schema field. defaults not overrides
367
+ var fieldFields = (field === null || field === void 0 ? void 0 : field.type) === 'object' ? field.fields : [];
368
+ var fieldFieldsMap_1 = Object.fromEntries(fieldFields.map(function (f) { return [getPathFromField(f), f]; }));
369
+ // attached to the field override. overrides
370
+ var overrideFields = (fieldOverride === null || fieldOverride === void 0 ? void 0 : fieldOverride.type) === 'object' ? ((_f = fieldOverride.fields) !== null && _f !== void 0 ? _f : []) : [];
371
+ var overrideFieldsMap_1 = Object.fromEntries(overrideFields
372
+ .filter(function (f) { return 'prop' in f; })
373
+ .map(function (f) { return [f.prop, f]; }));
374
+ // attached to the form override. overrides
375
+ var formOverrideFields = formFieldOverrides.type === 'object' ? (_g = formFieldOverrides.fields) !== null && _g !== void 0 ? _g : [] : [];
376
+ var formOverrideFieldsMap_1 = Object.fromEntries(formOverrideFields
377
+ .filter(function (f) { return 'prop' in f; })
378
+ .map(function (f) { return [f.prop, f]; }));
379
+ var allKeys = Object.keys(__assign(__assign(__assign({}, fieldFieldsMap_1), overrideFieldsMap_1), formOverrideFieldsMap_1));
380
+ mergedField.fields = allKeys.map(function (key) {
381
+ var _a;
382
+ // const fieldOverride = overrideFieldsMap[key] ?? { prop: key }
383
+ var fieldOverride = mergeObjects([
384
+ overrideFieldsMap_1[key],
385
+ formOverrideFieldsMap_1[key],
386
+ mergeObjects(formFieldsOverrideMap.map(function (overrides) { return overrides[key]; }).filter(function (d) { return d !== undefined; }))
387
+ ]);
388
+ return mergeFormField({
389
+ field: (_a = fieldFieldsMap_1[key]) !== null && _a !== void 0 ? _a : schemaFieldMap[key],
390
+ fieldOverride: fieldOverride,
391
+ formFieldsOverrideMap: formFieldsOverrideMap,
392
+ schemaFieldMap: schemaFieldMap
393
+ });
394
+ });
395
+ }
396
+ return __assign({ type: (_h = mergedField.type) !== null && _h !== void 0 ? _h : 'text', id: id, label: (_k = (_j = mergedField.label) !== null && _j !== void 0 ? _j : makeLabel([labelProp])) !== null && _k !== void 0 ? _k : 'Default' }, mergedField);
397
+ };
324
398
  var mergeFormFields = function (_a) {
325
399
  var fieldOverrides = _a.fieldOverrides, schemaForm = _a.schemaForm, formFieldsOverrideMap = _a.formFieldsOverrideMap;
326
- var schemaFormObject = buildFormObject(schemaForm);
327
- return (fieldOverrides !== null && fieldOverrides !== void 0 ? fieldOverrides : []).map(function (field) {
328
- var _a, _b, _c, _d;
329
- var schemaField = schemaFormObject[field.prop];
330
- var sectionField = __assign({}, mergeObjects([
331
- __assign(__assign({}, schemaField), { destPath: field.prop }),
332
- mergeObjects(formFieldsOverrideMap.map(function (overrides) { var _a; return (_a = overrides[field.prop]) !== null && _a !== void 0 ? _a : {}; })),
333
- field
334
- ]));
335
- var id = (_a = sectionField.id) !== null && _a !== void 0 ? _a : makeFormFieldId([sectionField.id]);
336
- return __assign({ type: (_b = sectionField.type) !== null && _b !== void 0 ? _b : 'text', id: id, label: (_d = (_c = sectionField.label) !== null && _c !== void 0 ? _c : makeLabel([id])) !== null && _d !== void 0 ? _d : 'Default' }, sectionField);
400
+ var schemaFieldMap = buildFieldMapFromForm(schemaForm);
401
+ return (fieldOverrides !== null && fieldOverrides !== void 0 ? fieldOverrides : []).map(function (fieldOverride) {
402
+ var schemaField = schemaFieldMap[fieldOverride.prop];
403
+ return mergeFormField({
404
+ field: schemaField,
405
+ fieldOverride: fieldOverride,
406
+ formFieldsOverrideMap: formFieldsOverrideMap,
407
+ schemaFieldMap: schemaFieldMap
408
+ });
337
409
  });
338
410
  };
339
411
  var mergeFormSections = function (_a) {
@@ -365,58 +437,69 @@ var mergeFormSections = function (_a) {
365
437
  return sections;
366
438
  };
367
439
  var overridesAndSchemaToFormObject = function (_a) {
368
- var _b;
440
+ var _b, _c;
369
441
  var formOverrides = _a.formOverrides, formFieldOverrides = _a.formFieldOverrides, schema = _a.schema;
370
442
  var schemaForm = schemaToFormObject(schema);
443
+ var formFieldOverridesByProp = (_b = formFieldOverrides === null || formFieldOverrides === void 0 ? void 0 : formFieldOverrides.map(function (overrides) { return Object.fromEntries(overrides.map(function (override) { return [override.prop, override]; })); })) !== null && _b !== void 0 ? _b : [];
444
+ if (formOverrides === undefined && formFieldOverrides !== undefined) {
445
+ var schemaFieldMap_1 = buildFieldMapFromForm(schemaForm);
446
+ var fields = Object.values(schemaFieldMap_1).map(function (field) {
447
+ return mergeFormField({
448
+ field: field,
449
+ formFieldsOverrideMap: formFieldOverridesByProp,
450
+ schemaFieldMap: schemaFieldMap_1
451
+ });
452
+ });
453
+ return __assign(__assign({}, schemaForm), { fields: fields });
454
+ }
455
+ var mergedFormOverrides = mergeObjects(formOverrides !== null && formOverrides !== void 0 ? formOverrides : []);
371
456
  var form = {
372
457
  id: schemaForm.id,
373
- label: schemaForm.label
458
+ label: (_c = mergedFormOverrides === null || mergedFormOverrides === void 0 ? void 0 : mergedFormOverrides.label) !== null && _c !== void 0 ? _c : schemaForm.label,
459
+ settings: mergedFormOverrides === null || mergedFormOverrides === void 0 ? void 0 : mergedFormOverrides.settings
374
460
  };
375
- var mergedFormOverrides = mergeObjects(formOverrides !== null && formOverrides !== void 0 ? formOverrides : []);
376
- var formFieldsByProp = (_b = formFieldOverrides === null || formFieldOverrides === void 0 ? void 0 : formFieldOverrides.map(function (overrides) { return Object.fromEntries(overrides.map(function (override) { return [override.prop, override]; })); })) !== null && _b !== void 0 ? _b : [];
377
461
  form.pages = mergedFormOverrides.pages !== undefined
378
462
  ? mergeFormSections({
379
463
  sectionOverrides: mergedFormOverrides.pages,
380
464
  schemaForm: schemaForm,
381
- formFieldsOverrideMap: formFieldsByProp
465
+ formFieldsOverrideMap: formFieldOverridesByProp
382
466
  })
383
467
  : undefined;
384
468
  form.wizard_steps = mergedFormOverrides.wizard_steps !== undefined
385
469
  ? mergeFormSections({
386
470
  sectionOverrides: mergedFormOverrides.wizard_steps,
387
471
  schemaForm: schemaForm,
388
- formFieldsOverrideMap: formFieldsByProp
389
- })
390
- : undefined;
391
- form.fields = mergedFormOverrides.fields !== undefined
392
- ? mergeFormFields({
393
- fieldOverrides: mergedFormOverrides.fields,
394
- schemaForm: schemaForm,
395
- formFieldsOverrideMap: formFieldsByProp
472
+ formFieldsOverrideMap: formFieldOverridesByProp
396
473
  })
397
474
  : undefined;
475
+ form.fields = mergeFormFields({
476
+ fieldOverrides: mergedFormOverrides.fields,
477
+ schemaForm: schemaForm,
478
+ formFieldsOverrideMap: formFieldOverridesByProp
479
+ });
398
480
  return form;
399
481
  };
400
482
  var schemaToFormObject = function (schema) {
401
483
  var _a, _b;
484
+ var resolvedSchema = resolveRefs(schema);
402
485
  var formFields = [];
403
- for (var key in schema.properties) {
404
- if (schema.properties[key] !== undefined && typeof schema.properties[key] !== 'boolean') {
486
+ for (var key in resolvedSchema.properties) {
487
+ if (resolvedSchema.properties[key] !== undefined && typeof resolvedSchema.properties[key] !== 'boolean') {
405
488
  formFields.push(schemaToFormField({
406
- schema: schema,
489
+ schema: resolvedSchema,
407
490
  property: key,
408
- schemaField: schema.properties[key],
491
+ schemaField: resolvedSchema.properties[key],
409
492
  path: []
410
493
  }));
411
494
  }
412
495
  }
413
496
  return {
414
- id: makeFormFieldId([schema.$id, (_a = schema.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(' ', '-')]),
497
+ id: makeFormFieldId([resolvedSchema.$id, (_a = resolvedSchema.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(' ', '-')]),
415
498
  label: (_b = schema.title) !== null && _b !== void 0 ? _b : 'Untitled',
416
499
  fields: formFields
417
500
  };
418
501
  };
419
- var buildFormObject = function (form) {
502
+ var buildFieldMapFromForm = function (form) {
420
503
  var formCopy = copyAndAddPathToFields(form);
421
504
  var fields = getFieldsFromFormSection(formCopy);
422
505
  return Object.fromEntries(fields.map(function (field) { return [getPathFromField(field), field]; }));
@@ -447,6 +530,41 @@ var getSchemaPaths = function (schema, prefix) {
447
530
  }
448
531
  return paths;
449
532
  };
533
+ var getSchemaPathDescriptors = function (schema, prefix) {
534
+ var _a;
535
+ if (prefix === void 0) { prefix = ''; }
536
+ var pathDescriptors = [];
537
+ if (schema.type === 'object' && schema.properties) {
538
+ for (var _i = 0, _b = Object.keys(schema.properties); _i < _b.length; _i++) {
539
+ var key = _b[_i];
540
+ var newPrefix = prefix ? "".concat(prefix, ".").concat(key) : key;
541
+ pathDescriptors.push({
542
+ path: newPrefix,
543
+ type: (_a = schema.properties[key].type) !== null && _a !== void 0 ? _a : 'object',
544
+ required: schema.required ? schema.required.includes(key) : false
545
+ });
546
+ pathDescriptors = pathDescriptors.concat(getSchemaPathDescriptors(schema.properties[key], newPrefix));
547
+ }
548
+ }
549
+ else if (schema.type === 'array' && schema.items) {
550
+ var arrayPrefix = "".concat(prefix, "[]");
551
+ pathDescriptors.push({
552
+ path: arrayPrefix,
553
+ type: schema.type,
554
+ required: schema.required ? schema.required.includes(prefix) : false
555
+ });
556
+ pathDescriptors = pathDescriptors.concat(getSchemaPathDescriptors(schema.items, arrayPrefix));
557
+ }
558
+ else if (schema.oneOf || schema.anyOf || schema.allOf) {
559
+ for (var _c = 0, _d = schema.oneOf || schema.anyOf || schema.allOf; _c < _d.length; _c++) {
560
+ var subSchema = _d[_c];
561
+ if (subSchema.properties) {
562
+ pathDescriptors = pathDescriptors.concat(getSchemaPathDescriptors(subSchema, prefix));
563
+ }
564
+ }
565
+ }
566
+ return pathDescriptors;
567
+ };
450
568
 
451
- export { buildFormObject, getLabelFromSchema, getSchemaPaths, getValueFromSchema, mergeObjects, overridesAndSchemaToFormObject, schemaToFormObject, validateAgainstSchema, validateSchema };
569
+ export { buildFieldMapFromForm, getLabelFromSchema, getSchemaPathDescriptors, getSchemaPaths, getValueFromSchema, mergeObjects, overridesAndSchemaToFormObject, schemaToFormObject, validateAgainstSchema, validateSchema };
452
570
  //# sourceMappingURL=schemaToFormHelpers.js.map