@nolwenture/formik-jsonschema-form 1.0.0-beta.2 → 1.0.0-beta.21

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 (134) hide show
  1. package/README.md +25 -3
  2. package/dist/cjs/Form/components/Clickable.js +0 -7
  3. package/dist/cjs/Form/components/ErrorMessage.js +17 -7
  4. package/dist/cjs/Form/components/FieldInfo.js +26 -22
  5. package/dist/cjs/Form/components/FieldInput.js +38 -23
  6. package/dist/cjs/Form/components/Form.js +25 -15
  7. package/dist/cjs/Form/components/index.js +17 -7
  8. package/dist/cjs/Form/fields/AnyField/index.js +17 -7
  9. package/dist/cjs/Form/fields/ArrayField/ArrayField.js +20 -8
  10. package/dist/cjs/Form/fields/ArrayField/index.js +17 -7
  11. package/dist/cjs/Form/fields/BooleanField/BooleanField.js +1 -1
  12. package/dist/cjs/Form/fields/BooleanField/index.js +17 -7
  13. package/dist/cjs/Form/fields/BooleanField/styledComponents.js +5 -1
  14. package/dist/cjs/Form/fields/DateField/DateField.js +1 -1
  15. package/dist/cjs/Form/fields/DateField/index.js +17 -7
  16. package/dist/cjs/Form/fields/FileUploadField/index.js +17 -7
  17. package/dist/cjs/Form/fields/FileUploadField/styledComponents.js +6 -6
  18. package/dist/cjs/Form/fields/MultipleChoiceField/MultipleChoiceField.js +1 -1
  19. package/dist/cjs/Form/fields/MultipleChoiceField/index.js +17 -7
  20. package/dist/cjs/Form/fields/MultipleChoiceField/styledComponents.js +2 -0
  21. package/dist/cjs/Form/fields/NullField/index.js +17 -7
  22. package/dist/cjs/Form/fields/NumberField/index.js +17 -7
  23. package/dist/cjs/Form/fields/ObjectField/ObjectField.js +32 -13
  24. package/dist/cjs/Form/fields/ObjectField/index.js +17 -7
  25. package/dist/cjs/Form/fields/ObjectField/styledComponents.js +5 -5
  26. package/dist/cjs/Form/fields/RadioField/RadioField.js +1 -1
  27. package/dist/cjs/Form/fields/RadioField/index.js +17 -7
  28. package/dist/cjs/Form/fields/RadioField/styledComponents.js +5 -1
  29. package/dist/cjs/Form/fields/SchemaField/index.js +17 -7
  30. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/index.js +17 -7
  31. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/styledComponents.js +8 -8
  32. package/dist/cjs/Form/fields/SearchableSelectField/index.js +17 -7
  33. package/dist/cjs/Form/fields/SearchableSelectField/styledComponents.js +11 -8
  34. package/dist/cjs/Form/fields/StringField/StringField.js +4 -2
  35. package/dist/cjs/Form/fields/StringField/index.js +17 -7
  36. package/dist/cjs/Form/fields/TextAreaField/TextAreaField.js +1 -1
  37. package/dist/cjs/Form/fields/TextAreaField/index.js +17 -7
  38. package/dist/cjs/Form/fields/TextAreaField/styledComponents.js +5 -4
  39. package/dist/cjs/Form/fields/ToggleField/ToggleField.js +1 -1
  40. package/dist/cjs/Form/fields/ToggleField/index.js +17 -7
  41. package/dist/cjs/Form/fields/ToggleField/styledComponents.js +8 -4
  42. package/dist/cjs/Form/fields/index.js +17 -7
  43. package/dist/cjs/Form/index.js +1 -0
  44. package/dist/cjs/Form/styles/common.js +50 -32
  45. package/dist/cjs/Form/templates/ArrayFieldTemplate/index.js +17 -7
  46. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +2 -2
  47. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/index.js +17 -7
  48. package/dist/cjs/Form/templates/FieldTemplate/index.js +17 -7
  49. package/dist/cjs/Form/templates/ObjectFieldTemplate/index.js +17 -7
  50. package/dist/cjs/Form/templates/ObjectFieldTemplate/styledComponents.js +2 -2
  51. package/dist/cjs/Form/templates/index.js +17 -7
  52. package/dist/cjs/FormView/FormView.js +11 -4
  53. package/dist/cjs/FormView/components/Field.js +115 -9
  54. package/dist/cjs/FormView/components/index.js +17 -9
  55. package/dist/cjs/FormView/fields/ObjectField/ObjectField.js +1 -1
  56. package/dist/cjs/FormView/fields/ObjectField/index.js +17 -7
  57. package/dist/cjs/FormView/fields/index.js +17 -7
  58. package/dist/cjs/FormView/index.js +12 -2
  59. package/dist/cjs/FormView/templates/ArrayFieldTemplate/index.js +17 -7
  60. package/dist/cjs/FormView/templates/CollapsibleObjectFieldTemplate/index.js +17 -7
  61. package/dist/cjs/FormView/templates/FieldTemplate/index.js +17 -7
  62. package/dist/cjs/FormView/templates/ObjectFieldTemplate/index.js +17 -7
  63. package/dist/cjs/FormView/templates/ObjectFieldTemplate/styledComponents.js +8 -1
  64. package/dist/cjs/FormView/templates/index.js +17 -7
  65. package/dist/cjs/FormView/types/index.js +2 -0
  66. package/dist/cjs/index.js +1 -14
  67. package/dist/cjs/styles/types.js +2 -0
  68. package/dist/cjs/utils/createValidationSchema.js +17 -7
  69. package/dist/cjs/utils/getTitleAndDescription.js +6 -5
  70. package/dist/cjs/utils/index.js +1 -0
  71. package/dist/cjs/utils/orderAdditionalProperties.js +46 -0
  72. package/dist/esm/Form/components/Clickable.js +0 -7
  73. package/dist/esm/Form/components/FieldInfo.js +26 -22
  74. package/dist/esm/Form/components/FieldInput.js +20 -15
  75. package/dist/esm/Form/components/Form.js +8 -8
  76. package/dist/esm/Form/fields/ArrayField/ArrayField.js +20 -8
  77. package/dist/esm/Form/fields/BooleanField/BooleanField.js +1 -1
  78. package/dist/esm/Form/fields/BooleanField/styledComponents.js +5 -1
  79. package/dist/esm/Form/fields/DateField/DateField.js +1 -1
  80. package/dist/esm/Form/fields/FileUploadField/styledComponents.js +6 -6
  81. package/dist/esm/Form/fields/MultipleChoiceField/MultipleChoiceField.js +1 -1
  82. package/dist/esm/Form/fields/MultipleChoiceField/styledComponents.js +2 -0
  83. package/dist/esm/Form/fields/ObjectField/ObjectField.js +33 -14
  84. package/dist/esm/Form/fields/ObjectField/styledComponents.js +5 -5
  85. package/dist/esm/Form/fields/RadioField/RadioField.js +1 -1
  86. package/dist/esm/Form/fields/RadioField/styledComponents.js +5 -1
  87. package/dist/esm/Form/fields/SearchableMultiTagSelectField/styledComponents.js +8 -8
  88. package/dist/esm/Form/fields/SearchableSelectField/styledComponents.js +11 -8
  89. package/dist/esm/Form/fields/StringField/StringField.js +4 -2
  90. package/dist/esm/Form/fields/TextAreaField/TextAreaField.js +1 -1
  91. package/dist/esm/Form/fields/TextAreaField/styledComponents.js +5 -4
  92. package/dist/esm/Form/fields/ToggleField/ToggleField.js +1 -1
  93. package/dist/esm/Form/fields/ToggleField/styledComponents.js +8 -4
  94. package/dist/esm/Form/index.js +1 -0
  95. package/dist/esm/Form/styles/common.js +50 -32
  96. package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +2 -2
  97. package/dist/esm/Form/templates/ObjectFieldTemplate/styledComponents.js +2 -2
  98. package/dist/esm/FormView/FormView.js +7 -3
  99. package/dist/esm/FormView/components/Field.js +108 -7
  100. package/dist/esm/FormView/components/index.js +0 -2
  101. package/dist/esm/FormView/fields/ObjectField/ObjectField.js +1 -1
  102. package/dist/esm/FormView/index.js +9 -2
  103. package/dist/esm/FormView/templates/ObjectFieldTemplate/styledComponents.js +8 -1
  104. package/dist/esm/FormView/types/index.js +1 -0
  105. package/dist/esm/index.js +1 -1
  106. package/dist/esm/styles/types.js +1 -0
  107. package/dist/esm/utils/getTitleAndDescription.js +6 -5
  108. package/dist/esm/utils/index.js +1 -0
  109. package/dist/esm/utils/orderAdditionalProperties.js +43 -0
  110. package/dist/types/Form/components/FieldInput.d.ts +5 -0
  111. package/dist/types/Form/components/index.d.ts +5 -0
  112. package/dist/types/Form/index.d.ts +1 -0
  113. package/dist/types/Form/templates/ArrayFieldTemplate/types.d.ts +0 -4
  114. package/dist/types/Form/templates/FieldTemplate/types.d.ts +0 -4
  115. package/dist/types/FormView/FormView.d.ts +3 -3
  116. package/dist/types/FormView/components/Field.d.ts +36 -3
  117. package/dist/types/FormView/components/index.d.ts +15 -14
  118. package/dist/types/FormView/index.d.ts +10 -2
  119. package/dist/types/FormView/templates/ArrayFieldTemplate/types.d.ts +0 -4
  120. package/dist/types/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.d.ts +1 -1
  121. package/dist/types/FormView/templates/FieldTemplate/types.d.ts +0 -4
  122. package/dist/types/FormView/templates/index.d.ts +1 -1
  123. package/dist/types/FormView/types/index.d.ts +1 -0
  124. package/dist/types/common/types/Field.d.ts +0 -3
  125. package/dist/types/common/types/Schemas.d.ts +11 -8
  126. package/dist/types/index.d.ts +1 -1
  127. package/dist/types/styles/types.d.ts +216 -0
  128. package/dist/types/utils/getTitleAndDescription.d.ts +1 -1
  129. package/dist/types/utils/index.d.ts +1 -0
  130. package/dist/types/utils/orderAdditionalProperties.d.ts +1 -0
  131. package/package.json +23 -14
  132. package/dist/cjs/FormView/components/old_styledComponents.js +0 -65
  133. package/dist/esm/FormView/components/old_styledComponents.js +0 -57
  134. package/dist/types/FormView/components/old_styledComponents.d.ts +0 -32
@@ -7,8 +7,8 @@ exports.FileUploadFieldContainer = exports.FileUploadFieldFileInfoText = exports
7
7
  const styled_components_1 = __importDefault(require("styled-components"));
8
8
  const polished_1 = require("polished");
9
9
  exports.FileUploadFieldFileUploadButton = styled_components_1.default.button `
10
- background-color: ${(props) => props.theme.intent.none};
11
- color: ${(props) => (0, polished_1.readableColor)(props.theme.intent.none)};
10
+ background-color: ${(props) => props.theme.color.intent.default.none};
11
+ color: ${(props) => (0, polished_1.readableColor)(props.theme.color.intent.default.none)};
12
12
  padding: ${(props) => `${props.theme.spacing.s} ${props.theme.spacing.xl}`};
13
13
  border: none;
14
14
  border-radius: ${(props) => props.theme.borderRadius.none};
@@ -23,14 +23,14 @@ exports.FileUploadFieldProgressBarContainer = styled_components_1.default.div `
23
23
  width: 7.5rem;
24
24
  height: ${(props) => props.theme.spacing.xl};
25
25
  border-radius: ${(props) => props.theme.strokeWidth.thick};
26
- background-color: ${(props) => props.theme.background.input};
26
+ background-color: ${(props) => props.theme.color.background.input};
27
27
  position: relative;
28
28
  margin-left: ${(props) => props.theme.spacing.s};
29
29
  `;
30
30
  exports.FileUploadFieldProgressBar = styled_components_1.default.div `
31
31
  width: ${(props) => props.$progress}%;
32
32
  height: 100%;
33
- background-color: ${(props) => props.theme.neutral[500]};
33
+ background-color: ${(props) => props.theme.color.palette.neutral[500]};
34
34
  border-radius: ${(props) => props.theme.strokeWidth.thick};
35
35
  transition: width 0.2s ease;
36
36
  `;
@@ -39,7 +39,7 @@ exports.FileUploadFieldProgressText = styled_components_1.default.span `
39
39
  top: 50%;
40
40
  left: 50%;
41
41
  transform: translate(-50%, -50%);
42
- color: ${(props) => props.theme.neutral[200]};
42
+ color: ${(props) => props.theme.color.palette.neutral[200]};
43
43
  font-family: ${(props) => props.theme.typography.fontFamily.base};
44
44
  font-weight: ${(props) => props.theme.typography.weight.bold};
45
45
  `;
@@ -58,6 +58,6 @@ exports.FileUploadFieldFileInfoText = styled_components_1.default.span `
58
58
  margin-left: ${(props) => props.theme.spacing.s};
59
59
  font-family: ${(props) => props.theme.typography.fontFamily.base};
60
60
  font-size: ${(props) => props.theme.typography.size.base};
61
- color: ${(props) => props.theme.text.default};
61
+ color: ${(props) => props.theme.color.text.default};
62
62
  `;
63
63
  exports.FileUploadFieldContainer = styled_components_1.default.div ``;
@@ -27,6 +27,6 @@ const MultipleChoiceField = (props) => {
27
27
  return { "data-fjsf-string": name };
28
28
  }
29
29
  })();
30
- return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, ...fieldDataAttribute, children: (0, jsx_runtime_1.jsx)(MultipleChoiceFieldInput, { inputProps: inputProps, name: name, enums: enums, style: style, value: value, form: form }) }));
30
+ return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, ...fieldDataAttribute, children: (0, jsx_runtime_1.jsx)(MultipleChoiceFieldInput, { inputProps: { readOnly: props.schema.readOnly, ...inputProps }, name: name, enums: enums, style: style, value: value, form: form }) }));
31
31
  };
32
32
  exports.MultipleChoiceField = MultipleChoiceField;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.components = exports.fields = void 0;
27
37
  const MultipleChoiceFieldInput_1 = require("./MultipleChoiceFieldInput");
@@ -11,6 +11,8 @@ exports.MultipleChoiceFieldContainer = (0, styled_components_1.default)(styledCo
11
11
  ${common_1.commonCheckboxStyles}
12
12
  ${common_1.commonRadioStyles}
13
13
  font-family: ${(props) => props.theme.typography.fontFamily.base};
14
+ flex-wrap: wrap;
15
+ justify-content: start;
14
16
  `;
15
17
  exports.MultipleChoiceFieldElement = (0, styled_components_1.default)(styledComponents_1.RadioFieldElement) ``;
16
18
  exports.MultipleChoiceFieldInputElement = (0, styled_components_1.default)(styledComponents_1.RadioFieldInputElement) ``;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fields = void 0;
27
37
  exports.fields = __importStar(require("./NullField"));
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fields = exports.components = void 0;
27
37
  exports.components = __importStar(require("./styledComponents"));
@@ -35,10 +35,12 @@ const ObjectField = (props) => {
35
35
  }, [valuesToRemove]);
36
36
  const propertyKeys = (0, react_1.useMemo)(() => Object.keys(properties || {}), [properties]);
37
37
  const additionalValues = (0, react_1.useMemo)(() => Object.fromEntries(Object.entries(value || {}).filter(([key, value]) => !propertyKeys.includes(key))), [value, propertyKeys]);
38
- const FieldTemplateComponent = props.uiSchema?.props?.isCollapsible
38
+ const FieldTemplateComponent = props.uiSchema?.["ui:options"]?.isCollapsible
39
39
  ? CollapsibleObjectFieldTemplate
40
40
  : ObjectFieldTemplate;
41
41
  const orderedProperties = (0, utils_1.orderByUiSchema)(uiSchema?.["ui:order"], Object.keys(properties || {}));
42
+ const orderedAddProperties = (0, utils_1.orderByUiSchema)(uiSchema?.["ui:order"], Object.keys(additionalValues || {}));
43
+ const additionalPropertiesInOrder = (0, utils_1.orderAdditionalProperties)(orderedAddProperties, Object.keys(additionalValues || {}));
42
44
  const getObjectFieldButton = ({ purpose, onClick, uiSchema, }) => {
43
45
  switch (purpose) {
44
46
  case types_1.ObjectFieldButtonPurpose.ADD:
@@ -59,7 +61,7 @@ const ObjectField = (props) => {
59
61
  const childSchema = properties?.[child];
60
62
  if (!childSchema)
61
63
  return undefined;
62
- return ((0, jsx_runtime_1.jsx)(SchemaField, { required: required?.includes(child), name: name ? [name, child].join(".") : child, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child] }, child));
64
+ return ((0, jsx_runtime_1.jsx)(SchemaField, { required: required?.includes(child), name: name ? [name, child].join(".") : child, schema: prepareChildSchema(childSchema, schema), uiSchema: uiSchema?.[child] }, child));
63
65
  }
64
66
  else {
65
67
  const { title, fields, collapsible } = child;
@@ -67,21 +69,29 @@ const ObjectField = (props) => {
67
69
  const childSchema = properties?.[child2];
68
70
  if (!childSchema)
69
71
  return undefined;
70
- return ((0, jsx_runtime_1.jsx)(SchemaField, { name: name ? [name, child2].join(".") : child2, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child2] }, child2));
72
+ return ((0, jsx_runtime_1.jsx)(SchemaField, { name: name ? [name, child2].join(".") : child2, schema: prepareChildSchema(childSchema, schema), uiSchema: uiSchema?.[child2] }, child2));
71
73
  }) }, fields.join("_")));
72
74
  }
73
75
  })
74
76
  .filter((x) => x), (!hideUnmarkedAdditionalProperties || additionalProperties) &&
75
- Object.entries(additionalValues || {}).map(([childName]) => ((0, jsx_runtime_1.jsxs)(ObjectFieldItem, { children: [(0, jsx_runtime_1.jsx)(SchemaField, { required: required?.includes(childName), name: name ? [name, childName].join(".") : childName, schema: typeof schema.additionalProperties !== "boolean"
76
- ? schema.additionalProperties
77
- : {}, uiSchema: uiSchema?.[childName] }, childName), (0, jsx_runtime_1.jsx)(ObjectFieldItemButtons, { children: getObjectFieldButton({
78
- purpose: types_1.ObjectFieldButtonPurpose.REMOVE,
79
- onClick: () => {
80
- const { [childName]: _removedProperty, ...newValue } = value;
81
- setValue(newValue);
82
- },
83
- uiSchema: uiSchema,
84
- }) })] }, childName))), additionalProperties &&
77
+ additionalPropertiesInOrder.map((childName) => {
78
+ let correctUiSchema = uiSchema?.[childName];
79
+ if (uiSchema.properties?.["ui:order"] !== undefined &&
80
+ uiSchema?.[childName]?.["ui:order"] === undefined) {
81
+ correctUiSchema = {
82
+ ...correctUiSchema,
83
+ "ui:order": uiSchema.properties?.["ui:order"],
84
+ };
85
+ }
86
+ return ((0, jsx_runtime_1.jsxs)(ObjectFieldItem, { children: [(0, jsx_runtime_1.jsx)(SchemaField, { required: required?.includes(childName), name: name ? [name, childName].join(".") : childName, schema: prepareChildSchema(schema.additionalProperties, schema), uiSchema: correctUiSchema }, childName), (0, jsx_runtime_1.jsx)(ObjectFieldItemButtons, { children: getObjectFieldButton({
87
+ purpose: types_1.ObjectFieldButtonPurpose.REMOVE,
88
+ onClick: () => {
89
+ const { [childName]: _removedProperty, ...newValue } = value;
90
+ setValue(newValue);
91
+ },
92
+ uiSchema: uiSchema,
93
+ }) })] }, childName));
94
+ }), additionalProperties &&
85
95
  getObjectFieldButton({
86
96
  purpose: types_1.ObjectFieldButtonPurpose.ADD,
87
97
  onClick: () => {
@@ -94,3 +104,12 @@ const ObjectField = (props) => {
94
104
  })] }));
95
105
  };
96
106
  exports.ObjectField = ObjectField;
107
+ function prepareChildSchema(childSchema, parentSchema) {
108
+ if (!childSchema || typeof childSchema === "boolean") {
109
+ return {};
110
+ }
111
+ if (parentSchema.readOnly) {
112
+ return { ...childSchema, readOnly: parentSchema.readOnly };
113
+ }
114
+ return childSchema;
115
+ }
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.components = exports.fields = void 0;
27
37
  const ObjectFieldSection_1 = require("./ObjectFieldSection");
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjectFieldSectionTitle = exports.ObjectFieldSectionWrapper = exports.ObjectFieldAddButton = exports.ObjectFieldRemoveButton = exports.ObjectFieldDownButton = exports.ObjectFieldUpButton = exports.ObjectFieldLineButton = exports.ObjectFieldButton = exports.ObjectFieldItemButtons = exports.ObjectFieldItem = exports.ObjectFieldList = void 0;
4
4
  const styled_components_1 = require("styled-components");
5
5
  exports.ObjectFieldList = styled_components_1.styled.ul `
6
- color: ${(props) => props.theme.text.default};
6
+ color: ${(props) => props.theme.color.text.default};
7
7
  list-style-type: none;
8
8
  padding: 0;
9
9
  `;
10
10
  exports.ObjectFieldItem = styled_components_1.styled.li `
11
- color: ${(props) => props.theme.text.default};
11
+ color: ${(props) => props.theme.color.text.default};
12
12
  display: flex;
13
13
  `;
14
14
  exports.ObjectFieldItemButtons = styled_components_1.styled.div `
@@ -16,9 +16,9 @@ exports.ObjectFieldItemButtons = styled_components_1.styled.div `
16
16
  margin: ${(props) => props.theme.spacing.s};
17
17
  `;
18
18
  exports.ObjectFieldButton = styled_components_1.styled.a `
19
- background-color: ${(props) => props.theme.intent.none};
20
- border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
21
- color: ${(props) => props.theme.neutral[900]};
19
+ background-color: ${(props) => props.theme.color.intent.default.none};
20
+ border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.color.border.default}`};
21
+ color: ${(props) => props.theme.color.palette.neutral[900]};
22
22
  cursor: pointer;
23
23
  display: inline-block;
24
24
  font-weight: ${(props) => props.theme.typography.weight.bold};
@@ -11,6 +11,6 @@ const RadioField = (props) => {
11
11
  (0, hooks_1.useSetDefault)(props);
12
12
  const { name, uiSchema } = props;
13
13
  const { label, props: inputProps } = (0, react_1.useMemo)(() => (0, utils_1.extractUiSchema)(uiSchema), [uiSchema]);
14
- return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, "data-fjsf-boolean": name, children: (0, jsx_runtime_1.jsx)(RadioFieldInput, { inputProps: inputProps, label: label, name: name }) }));
14
+ return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, "data-fjsf-boolean": name, children: (0, jsx_runtime_1.jsx)(RadioFieldInput, { inputProps: { readOnly: props.schema.readOnly, ...inputProps }, label: label, name: name }) }));
15
15
  };
16
16
  exports.RadioField = RadioField;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.components = exports.fields = void 0;
27
37
  const RadioFieldInput_1 = require("./RadioFieldInput");
@@ -5,7 +5,7 @@ const styled_components_1 = require("styled-components");
5
5
  const FieldInput_1 = require("../../components/FieldInput");
6
6
  const common_1 = require("../../styles/common");
7
7
  exports.RadioFieldContainer = styled_components_1.styled.div `
8
- color: ${(props) => props.theme.text.default};
8
+ color: ${(props) => props.theme.color.text.default};
9
9
  display: flex;
10
10
  font-family: ${(props) => props.theme.typography.fontFamily.base};
11
11
  gap: ${(props) => props.theme.spacing.l};
@@ -14,6 +14,10 @@ exports.RadioFieldContainer = styled_components_1.styled.div `
14
14
  exports.RadioFieldElement = styled_components_1.styled.label `
15
15
  display: inline-flex;
16
16
  align-items: center;
17
+
18
+ &:has(input[readonly]) {
19
+ pointer-events: none;
20
+ }
17
21
  `;
18
22
  exports.RadioFieldInputElement = (0, styled_components_1.styled)(FieldInput_1.FieldInput) `
19
23
  margin: unset;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fields = void 0;
27
37
  exports.fields = __importStar(require("./SchemaField"));
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.components = exports.fields = void 0;
27
37
  const SearchableMultiTagSelectFieldInput_1 = require("./SearchableMultiTagSelectFieldInput");
@@ -25,8 +25,8 @@ exports.SearchableMultiTagSelectFieldBadgeContainer = styled_components_1.styled
25
25
  gap: ${(props) => props.theme.strokeWidth.thin};
26
26
  `;
27
27
  exports.SearchableMultiTagSelectFieldBadge = styled_components_1.styled.span `
28
- color: ${(props) => props.theme.background.input};
29
- background: ${(props) => props.theme.text.default};
28
+ color: ${(props) => props.theme.color.background.input};
29
+ background: ${(props) => props.theme.color.text.default};
30
30
  padding: ${(props) => `0 ${props.theme.spacing.xs} 0 ${props.theme.spacing.s}`};
31
31
  border-radius: ${(props) => props.theme.borderRadius.none};
32
32
  display: flex;
@@ -35,18 +35,18 @@ exports.SearchableMultiTagSelectFieldBadge = styled_components_1.styled.span `
35
35
  exports.SearchableMultiTagSelectFieldBadgeCloseElement = styled_components_1.styled.span `
36
36
  cursor: pointer;
37
37
  margin-left: ${(props) => props.theme.spacing.s};
38
- font-size: ${(props) => props.theme.typography.size.s};
39
- align-self: baseline;
38
+ font-size: ${(props) => props.theme.typography.size.small};
39
+ align-self: center;
40
40
  font-family: ${(props) => props.theme.typography.fontFamily.base};
41
41
  `;
42
42
  exports.SearchableMultiTagSelectFieldOptionList = styled_components_1.styled.ul `
43
43
  width: 100%;
44
44
  padding: unset;
45
45
  margin: unset;
46
- border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
46
+ border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.color.border.default}`};
47
47
  border-radius: ${(props) => props.theme.borderRadius.s};
48
48
  position: absolute;
49
- background: ${(props) => props.theme.background.default};
49
+ background: ${(props) => props.theme.color.background.default};
50
50
  top: 100%;
51
51
  z-index: 1000;
52
52
  `;
@@ -56,12 +56,12 @@ exports.SearchableMultiTagSelectFieldOptionListItem = styled_components_1.styled
56
56
  padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
57
57
  height: ${(props) => props.theme.spacing.xl};
58
58
  &:hover {
59
- background: ${(props) => props.theme.background.input};
59
+ background: ${(props) => props.theme.color.background.input};
60
60
  }
61
61
  `;
62
62
  exports.SearchableMultiTagSelectFieldOptionListWithoutItem = styled_components_1.styled.li `
63
63
  cursor: default;
64
- color: ${(props) => props.theme.background.default};
64
+ color: ${(props) => props.theme.color.background.default};
65
65
  list-style-type: none;
66
66
  padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
67
67
  height: ${(props) => props.theme.spacing.xl};
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fields = exports.components = void 0;
27
37
  exports.components = __importStar(require("./styledComponents"));
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SearchableSelectFieldInputContainer = exports.SearchableSelectFieldClearButton = exports.SearchableSelectFieldInputElement = exports.SearchableSelectFieldNotFound = exports.SearchableSelectFieldListExpand = exports.SearchableSelectFieldListOption = exports.SearchableSelectFieldDropdownContainer = exports.SearchableSelectFieldContainer = void 0;
4
+ const polished_1 = require("polished");
4
5
  const styled_components_1 = require("styled-components");
5
6
  const FieldInput_1 = require("../../components/FieldInput");
6
7
  const styledComponents_1 = require("../SearchableMultiTagSelectField/styledComponents");
@@ -32,18 +33,20 @@ exports.SearchableSelectFieldInputElement = (0, styled_components_1.styled)(Fiel
32
33
  text-overflow: ellipsis;
33
34
  `;
34
35
  exports.SearchableSelectFieldClearButton = styled_components_1.styled.span `
35
- cursor: pointer;
36
- position: absolute;
37
- right: ${(props) => props.theme.spacing.xs};
38
- bottom: 0;
39
- top: 0;
40
- margin: auto;
41
- background-color: ${(props) => props.theme.neutral[500]};
36
+ background-color: ${(props) => props.theme.color.palette.neutral[500]};
42
37
  border-radius: ${(props) => props.theme.borderRadius.circle};
38
+ bottom: 0;
39
+ color: ${(props) => (0, polished_1.readableColor)(props.theme.color.palette.neutral[500])};
40
+ cursor: pointer;
41
+ font-size: ${(props) => props.theme.typography.size.small};
42
+ height: 1rem;
43
43
  line-height: 1rem;
44
+ margin: auto;
44
45
  min-width: 1rem;
45
- height: 1rem;
46
+ position: absolute;
47
+ right: ${(props) => props.theme.spacing.xs};
46
48
  text-align: center;
49
+ top: 0;
47
50
  `;
48
51
  exports.SearchableSelectFieldInputContainer = styled_components_1.styled.div `
49
52
  display: flex;
@@ -9,7 +9,7 @@ const FormRegistry_1 = require("../../FormRegistry");
9
9
  const hooks_1 = require("../../hooks");
10
10
  const styledComponents_1 = require("./styledComponents");
11
11
  const StringField = (props) => {
12
- const { templates: { FieldTemplate }, components: { FieldInput }, } = (0, react_1.useContext)(FormRegistry_1.FormRegistry);
12
+ const { templates: { FieldTemplate }, components: { FieldInput, SelectFieldInput }, } = (0, react_1.useContext)(FormRegistry_1.FormRegistry);
13
13
  (0, hooks_1.useSetDefault)(props);
14
14
  const { name, uiSchema = {}, schema } = props;
15
15
  const { type, placeholder, props: inputProps, } = (0, react_1.useMemo)(() => (0, utils_1.extractUiSchema)(uiSchema), [uiSchema]);
@@ -20,7 +20,8 @@ const StringField = (props) => {
20
20
  : { "data-fjsf-number": name };
21
21
  switch (enums?.type) {
22
22
  case "select":
23
- return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, ...fieldDataAttribute, children: (0, jsx_runtime_1.jsx)(styledComponents_1.StringFieldWrapper, { children: (0, jsx_runtime_1.jsxs)(FieldInput, { type,
23
+ return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, ...fieldDataAttribute, children: (0, jsx_runtime_1.jsx)(styledComponents_1.StringFieldWrapper, { children: (0, jsx_runtime_1.jsxs)(SelectFieldInput, { type,
24
+ readOnly: props.schema.readOnly,
24
25
  ...inputProps, name: name, formikAs: "select", onChange: (e) => {
25
26
  const selectedOption = enums?.values.find((option) => option.const.toString() === e.target.value);
26
27
  const selectedValue = selectedOption
@@ -33,6 +34,7 @@ const StringField = (props) => {
33
34
  default:
34
35
  return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, ...fieldDataAttribute, children: (0, jsx_runtime_1.jsx)(styledComponents_1.StringFieldWrapper, { children: (0, jsx_runtime_1.jsx)(FieldInput, { type,
35
36
  placeholder,
37
+ readOnly: props.schema.readOnly,
36
38
  ...inputProps, name: name }) }) }));
37
39
  }
38
40
  };
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fields = void 0;
27
37
  exports.fields = __importStar(require("./StringField"));
@@ -11,6 +11,6 @@ const TextAreaField = (props) => {
11
11
  (0, hooks_1.useSetDefault)(props);
12
12
  const { name, uiSchema } = props;
13
13
  const { props: inputProps } = (0, react_1.useMemo)(() => (0, utils_1.extractUiSchema)(uiSchema), [uiSchema]);
14
- return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, "data-fjsf-string": name, children: (0, jsx_runtime_1.jsx)(TextAreaFieldInput, { ...inputProps, name: name, formikAs: "textarea" }) }));
14
+ return ((0, jsx_runtime_1.jsx)(FieldTemplate, { ...props, "data-fjsf-string": name, children: (0, jsx_runtime_1.jsx)(TextAreaFieldInput, { readOnly: props.schema.readOnly, ...inputProps, name: name, formikAs: "textarea" }) }));
15
15
  };
16
16
  exports.TextAreaField = TextAreaField;