@uxf/form 11.66.0 → 11.67.0

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 (47) hide show
  1. package/avatar-file-input/avatar-file-input.js +2 -2
  2. package/checkbox-button/checkbox-button.js +2 -2
  3. package/checkbox-input/checkbox-input.js +2 -2
  4. package/checkbox-list/checkbox-list.js +2 -2
  5. package/color-radio-group/color-radio-group.js +2 -2
  6. package/combobox/combobox.js +4 -3
  7. package/components.d.ts +5 -0
  8. package/components.js +5 -0
  9. package/date-picker-input/date-picker-input.js +2 -2
  10. package/date-range-picker-input/date-range-picker-input.js +2 -2
  11. package/datetime-picker-input/datetime-picker-input.js +2 -2
  12. package/dropzone/dropzone-input.js +2 -2
  13. package/file-input/file-input.js +2 -2
  14. package/form-renderer/README.md +1 -0
  15. package/form-renderer/big-test-schema.d.ts +33 -0
  16. package/form-renderer/big-test-schema.js +295 -0
  17. package/form-renderer/field/base-field.d.ts +4 -0
  18. package/form-renderer/field/base-field.js +70 -0
  19. package/form-renderer/field/embedded.d.ts +4 -0
  20. package/form-renderer/field/embedded.js +19 -0
  21. package/form-renderer/field/one-to-many.d.ts +4 -0
  22. package/form-renderer/field/one-to-many.js +50 -0
  23. package/form-renderer/form-renderer.d.ts +16 -0
  24. package/form-renderer/form-renderer.js +26 -0
  25. package/form-renderer/form-renderer.stories.d.ts +2 -0
  26. package/form-renderer/form-renderer.stories.js +23 -0
  27. package/form-renderer/index.d.ts +2 -0
  28. package/form-renderer/index.js +18 -0
  29. package/form-renderer/mapper.d.ts +2 -0
  30. package/form-renderer/mapper.js +30 -0
  31. package/form-renderer/types.d.ts +39 -0
  32. package/form-renderer/types.js +2 -0
  33. package/gps-input/gps-input.js +2 -2
  34. package/money-input/money-input.js +2 -2
  35. package/multi-combobox/multi-combobox.js +4 -3
  36. package/multi-select/multi-select.js +2 -2
  37. package/number-input/number-input.js +5 -3
  38. package/package.json +2 -2
  39. package/password-input/password-input.js +3 -3
  40. package/radio-group/radio-group.js +2 -2
  41. package/readmes.d.ts +1 -0
  42. package/readmes.js +26 -24
  43. package/select/select.js +2 -2
  44. package/text-input/text-input.js +2 -2
  45. package/textarea/textarea.js +2 -2
  46. package/time-picker-input/time-picker-input.js +2 -2
  47. package/toggle/toggle.js +2 -2
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function AvatarFileInput(props) {
14
- var _a, _b, _c, _d, _e;
14
+ var _a, _b, _c;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,6 +33,6 @@ function AvatarFileInput(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(avatar_file_input_1.AvatarFileInput, { accept: props.accept, "aria-describedby": props["aria-describedby"], className: props.className, customControls: props.customControls, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, icon: props.icon, id: id, isDisabled: (_d = props.isDisabled) !== null && _d !== void 0 ? _d : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_e = props.isReadOnly) !== null && _e !== void 0 ? _e : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, removeFileLabel: props.removeFileLabel, selectFileLabel: props.selectFileLabel, value: field.value, variant: props.variant }));
36
+ return (react_1.default.createElement(avatar_file_input_1.AvatarFileInput, { accept: props.accept, "aria-describedby": props["aria-describedby"], className: props.className, customControls: props.customControls, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, icon: props.icon, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, removeFileLabel: props.removeFileLabel, selectFileLabel: props.selectFileLabel, value: field.value, variant: props.variant }));
37
37
  }
38
38
  AvatarFileInput.displayName = "UxfFormAvatarFileInput";
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function CheckboxButton(props) {
14
- var _a, _b, _c, _d;
14
+ var _a, _b;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,6 +33,6 @@ function CheckboxButton(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(checkbox_button_1.CheckboxButton, { className: props.className, id: id, isDisabled: (_b = props.isDisabled) !== null && _b !== void 0 ? _b : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_c = props.isReadOnly) !== null && _c !== void 0 ? _c : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, ref: field.ref, style: props.style, value: (_d = field.value) !== null && _d !== void 0 ? _d : (!props.nullable ? false : undefined) }));
36
+ return (react_1.default.createElement(checkbox_button_1.CheckboxButton, { className: props.className, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, ref: field.ref, style: props.style, value: (_b = field.value) !== null && _b !== void 0 ? _b : (!props.nullable ? false : undefined) }));
37
37
  }
38
38
  CheckboxButton.displayName = "UxfFormCheckboxButton";
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function CheckboxInput(props) {
14
- var _a, _b, _c, _d, _e, _f;
14
+ var _a, _b, _c, _d;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,6 +33,6 @@ function CheckboxInput(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(checkbox_input_1.CheckboxInput, { className: props.className, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: (_d = props.isDisabled) !== null && _d !== void 0 ? _d : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_e = props.isReadOnly) !== null && _e !== void 0 ? _e : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, ref: field.ref, size: props.size, style: props.style, value: (_f = field.value) !== null && _f !== void 0 ? _f : (!props.nullable ? false : undefined) }));
36
+ return (react_1.default.createElement(checkbox_input_1.CheckboxInput, { className: props.className, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, ref: field.ref, size: props.size, style: props.style, value: (_d = field.value) !== null && _d !== void 0 ? _d : (!props.nullable ? false : undefined) }));
37
37
  }
38
38
  CheckboxInput.displayName = "UxfFormCheckboxInput";
@@ -10,7 +10,7 @@ const checkbox_list_1 = require("@uxf/ui/checkbox-list");
10
10
  const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  function CheckboxList(props) {
13
- var _a, _b, _c, _d, _e, _f;
13
+ var _a, _b, _c, _d;
14
14
  const formContext = (0, form_context_1.useFormContext)();
15
15
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
16
16
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,5 +33,5 @@ function CheckboxList(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(checkbox_list_1.CheckboxList, { className: props.className, hasHiddenLabel: props.hiddenLabel, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, id: id, isDisabled: (_e = props.isDisabled) !== null && _e !== void 0 ? _e : formContext.isFormDisabled, isFocused: props.isFocused, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_f = props.isReadOnly) !== null && _f !== void 0 ? _f : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, name: props.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, value: field.value }));
36
+ return (react_1.default.createElement(checkbox_list_1.CheckboxList, { className: props.className, hasHiddenLabel: props.hiddenLabel, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isFocused: props.isFocused, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, name: props.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, value: field.value }));
37
37
  }
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function ColorRadioGroup(props) {
14
- var _a, _b, _c, _d, _e, _f;
14
+ var _a, _b, _c, _d;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,6 +33,6 @@ function ColorRadioGroup(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(color_radio_group_1.ColorRadioGroup, { className: props.className, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: props.options.length === 0 || ((_d = props.isDisabled) !== null && _d !== void 0 ? _d : formContext.isFormDisabled), isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_e = props.isReadOnly) !== null && _e !== void 0 ? _e : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, ref: field.ref, style: props.style, value: (_f = field.value) !== null && _f !== void 0 ? _f : null }));
36
+ return (react_1.default.createElement(color_radio_group_1.ColorRadioGroup, { className: props.className, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: props.options.length === 0 || formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, ref: field.ref, style: props.style, value: (_d = field.value) !== null && _d !== void 0 ? _d : null }));
37
37
  }
38
38
  ColorRadioGroup.displayName = "UxfFormColorRadioGroup";
@@ -14,7 +14,7 @@ const react_1 = __importDefault(require("react"));
14
14
  const react_hook_form_1 = require("react-hook-form");
15
15
  const form_context_1 = require("../form-id-context/form-context");
16
16
  function Combobox(props) {
17
- var _a, _b, _c, _d, _e, _f, _g;
17
+ var _a, _b, _c, _d, _e;
18
18
  const formContext = (0, form_context_1.useFormContext)();
19
19
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
20
20
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -37,7 +37,8 @@ function Combobox(props) {
37
37
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
38
38
  };
39
39
  const isDisabled = ((0, is_nil_1.isNil)(props.loadOptions) && (0, is_empty_1.isEmpty)((_b = props.options) !== null && _b !== void 0 ? _b : empty_array_1.EMPTY_ARRAY)) ||
40
- ((_c = props.isDisabled) !== null && _c !== void 0 ? _c : formContext.isFormDisabled);
41
- return (react_1.default.createElement(combobox_1.Combobox, { className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (_e = (_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : props.helperText, hiddenLabel: props.hiddenLabel, iconName: props.iconName, id: id, inputArrow: props.inputArrow, inputRef: field.ref, isClearable: props.isClearable, isDisabled: isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_f = props.isReadOnly) !== null && _f !== void 0 ? _f : formContext.isFormReadOnly, isRequired: props.isRequired, keyExtractor: props.keyExtractor, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, loadOptions: props.loadOptions, name: field.name, noOptionsMessage: props.noOptionsMessage, noQueryMessage: props.noQueryMessage, notFoundMessage: props.notFoundMessage, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, placeholder: props.placeholder, renderOption: props.renderOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: (_g = field.value) !== null && _g !== void 0 ? _g : null, variant: props.variant }));
40
+ formContext.isFormDisabled ||
41
+ props.isDisabled;
42
+ return (react_1.default.createElement(combobox_1.Combobox, { className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, hiddenLabel: props.hiddenLabel, iconName: props.iconName, id: id, inputArrow: props.inputArrow, inputRef: field.ref, isClearable: props.isClearable, isDisabled: isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, keyExtractor: props.keyExtractor, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, loadOptions: props.loadOptions, name: field.name, noOptionsMessage: props.noOptionsMessage, noQueryMessage: props.noQueryMessage, notFoundMessage: props.notFoundMessage, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, placeholder: props.placeholder, renderOption: props.renderOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: (_e = field.value) !== null && _e !== void 0 ? _e : null, variant: props.variant }));
42
43
  }
43
44
  Combobox.displayName = "UxfFormCombobox";
package/components.d.ts CHANGED
@@ -10,6 +10,7 @@ import * as datetimePickerInputStories from "./datetime-picker-input/datetime-pi
10
10
  import * as dropzoneStories from "./dropzone/dropzone.stories";
11
11
  import * as fileInputStories from "./file-input/file-input.stories";
12
12
  import * as formStories from "./form/form.stories";
13
+ import * as formRendererStories from "./form-renderer/form-renderer.stories";
13
14
  import * as gpsInputStories from "./gps-input/gps-input.stories";
14
15
  import * as moneyInputStories from "./money-input/money-input.stories";
15
16
  import * as multiComboboxStories from "./multi-combobox/multi-combobox.stories";
@@ -71,6 +72,10 @@ export declare const components: {
71
72
  readonly title: "Form";
72
73
  readonly stories: typeof formStories;
73
74
  };
75
+ readonly "form-renderer": {
76
+ readonly title: "FormRenderer";
77
+ readonly stories: typeof formRendererStories;
78
+ };
74
79
  readonly "gps-input": {
75
80
  readonly title: "GpsInput";
76
81
  readonly stories: typeof gpsInputStories;
package/components.js CHANGED
@@ -37,6 +37,7 @@ const datetimePickerInputStories = __importStar(require("./datetime-picker-input
37
37
  const dropzoneStories = __importStar(require("./dropzone/dropzone.stories"));
38
38
  const fileInputStories = __importStar(require("./file-input/file-input.stories"));
39
39
  const formStories = __importStar(require("./form/form.stories"));
40
+ const formRendererStories = __importStar(require("./form-renderer/form-renderer.stories"));
40
41
  const gpsInputStories = __importStar(require("./gps-input/gps-input.stories"));
41
42
  const moneyInputStories = __importStar(require("./money-input/money-input.stories"));
42
43
  const multiComboboxStories = __importStar(require("./multi-combobox/multi-combobox.stories"));
@@ -98,6 +99,10 @@ exports.components = {
98
99
  title: "Form",
99
100
  stories: formStories
100
101
  },
102
+ "form-renderer": {
103
+ title: "FormRenderer",
104
+ stories: formRendererStories
105
+ },
101
106
  "gps-input": {
102
107
  title: "GpsInput",
103
108
  stories: gpsInputStories
@@ -37,7 +37,7 @@ const react_hook_form_1 = require("react-hook-form");
37
37
  const form_context_1 = require("../form-id-context/form-context");
38
38
  (0, dayjs_1.extend)(customParseFormat_1.default);
39
39
  function DatePickerInput(props) {
40
- var _a, _b, _c, _d, _e, _f, _g, _h;
40
+ var _a, _b, _c, _d, _e, _f;
41
41
  const formContext = (0, form_context_1.useFormContext)();
42
42
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
43
43
  const displayDateFormat = (_b = props.displayDateFormat) !== null && _b !== void 0 ? _b : date_picker_input_1.DISPLAY_DATE_FORMAT;
@@ -84,6 +84,6 @@ function DatePickerInput(props) {
84
84
  field.onChange(value);
85
85
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
86
86
  };
87
- return (react_1.default.createElement(date_picker_input_1.DatePickerInput, { allowedDateFormats: props.allowedDateFormats, autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, datesConfig: props.datesConfig, displayDateFormat: props.displayDateFormat, form: props.form, helperText: (_f = (_e = fieldState.error) === null || _e === void 0 ? void 0 : _e.message) !== null && _f !== void 0 ? _f : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: (_g = props.isDisabled) !== null && _g !== void 0 ? _g : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_h = props.isReadOnly) !== null && _h !== void 0 ? _h : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxDate: props.maxDate, minDate: props.minDate, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: field.value, variant: props.variant }));
87
+ return (react_1.default.createElement(date_picker_input_1.DatePickerInput, { allowedDateFormats: props.allowedDateFormats, autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, datesConfig: props.datesConfig, displayDateFormat: props.displayDateFormat, form: props.form, helperText: (_f = (_e = fieldState.error) === null || _e === void 0 ? void 0 : _e.message) !== null && _f !== void 0 ? _f : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxDate: props.maxDate, minDate: props.minDate, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: field.value, variant: props.variant }));
88
88
  }
89
89
  DatePickerInput.displayName = "UxfFormDatePickerInput";
@@ -39,7 +39,7 @@ const form_context_1 = require("../form-id-context/form-context");
39
39
  (0, dayjs_1.extend)(customParseFormat_1.default);
40
40
  const OUTPUT_DATE_FORMAT = "YYYY-MM-DD";
41
41
  function DateRangePickerInput(props) {
42
- var _a, _b, _c, _d, _e, _f;
42
+ var _a, _b, _c, _d;
43
43
  const formContext = (0, form_context_1.useFormContext)();
44
44
  const { field, fieldState } = (0, react_hook_form_1.useController)({
45
45
  control: props.control,
@@ -101,6 +101,6 @@ function DateRangePickerInput(props) {
101
101
  (parsedTo.isValid() ? parsedTo.format(date_range_picker_input_2.DISPLAY_DATE_FORMAT) : fieldTo)
102
102
  : field.value
103
103
  : null;
104
- return (react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, datesConfig: props.datesConfig, form: props.form, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, hiddenLabel: props.hiddenLabel, id: props.id, isClearable: props.isClearable, isDisabled: (_e = props.isDisabled) !== null && _e !== void 0 ? _e : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_f = props.isReadOnly) !== null && _f !== void 0 ? _f : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, name: field.name, numberOfMonths: props.numberOfMonths, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: value, variant: props.variant }));
104
+ return (react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, datesConfig: props.datesConfig, form: props.form, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, hiddenLabel: props.hiddenLabel, id: props.id, isClearable: props.isClearable, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, name: field.name, numberOfMonths: props.numberOfMonths, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: value, variant: props.variant }));
105
105
  }
106
106
  DateRangePickerInput.displayName = "UxfFormDateRangePickerInput";
@@ -39,7 +39,7 @@ const react_hook_form_1 = require("react-hook-form");
39
39
  const form_context_1 = require("../form-id-context/form-context");
40
40
  (0, dayjs_1.extend)(customParseFormat_1.default);
41
41
  function DatetimePickerInput(props) {
42
- var _a, _b, _c, _d, _e, _f, _g;
42
+ var _a, _b, _c, _d, _e;
43
43
  const formContext = (0, form_context_1.useFormContext)();
44
44
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
45
45
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -85,6 +85,6 @@ function DatetimePickerInput(props) {
85
85
  field.onChange(value);
86
86
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
87
87
  };
88
- return (react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { CustomDatetimePicker: props.CustomDatetimePicker, autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, form: props.form, helperText: (_e = (_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: (_f = props.isDisabled) !== null && _f !== void 0 ? _f : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_g = props.isReadOnly) !== null && _g !== void 0 ? _g : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxDate: props.maxDate, minDate: props.minDate, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: field.value, variant: props.variant }));
88
+ return (react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { CustomDatetimePicker: props.CustomDatetimePicker, autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, form: props.form, helperText: (_e = (_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxDate: props.maxDate, minDate: props.minDate, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: field.value, variant: props.variant }));
89
89
  }
90
90
  DatetimePickerInput.displayName = "UxfFormDatePickerInput";
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function DropzoneInput(props) {
14
- var _a, _b, _c, _d, _e;
14
+ var _a, _b, _c;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -54,6 +54,6 @@ function DropzoneInput(props) {
54
54
  field.onChange(value);
55
55
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
56
56
  };
57
- return (react_1.default.createElement(dropzone_1.Dropzone, { accept: props.accept, className: props.className, helperText: ((_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) || props.helperText, icon: props.icon, id: id, isDisabled: (_d = props.isDisabled) !== null && _d !== void 0 ? _d : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isNotClickable: props.isNotClickable, isNotDraggable: props.isNotDraggable, isReadOnly: (_e = props.isReadOnly) !== null && _e !== void 0 ? _e : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, maxFilesCount: props.maxFilesCount, minFileSize: props.minFileSize, name: props.name, onChange: onChange, onDropRejected: props.onDropRejected, onUploadComplete: props.onUploadComplete, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, style: props.style, value: field.value }));
57
+ return (react_1.default.createElement(dropzone_1.Dropzone, { accept: props.accept, className: props.className, helperText: ((_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) || props.helperText, icon: props.icon, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isNotClickable: props.isNotClickable, isNotDraggable: props.isNotDraggable, isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, maxFilesCount: props.maxFilesCount, minFileSize: props.minFileSize, name: props.name, onChange: onChange, onDropRejected: props.onDropRejected, onUploadComplete: props.onUploadComplete, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, style: props.style, value: field.value }));
58
58
  }
59
59
  DropzoneInput.displayName = "UxfFormDropzoneInput";
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const react_hook_form_1 = require("react-hook-form");
12
12
  const form_context_1 = require("../form-id-context/form-context");
13
13
  function FileInput(props) {
14
- var _a, _b, _c, _d, _e;
14
+ var _a, _b, _c;
15
15
  const formContext = (0, form_context_1.useFormContext)();
16
16
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
17
  const { field, fieldState } = (0, react_hook_form_1.useController)({
@@ -33,6 +33,6 @@ function FileInput(props) {
33
33
  field.onChange(value);
34
34
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
35
  };
36
- return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: (_d = props.isDisabled) !== null && _d !== void 0 ? _d : formContext.isFormDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: (_e = props.isReadOnly) !== null && _e !== void 0 ? _e : formContext.isFormReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, placeholder: props.placeholder, ref: field.ref, size: props.size, uploadButtonLabel: props.uploadButtonLabel, value: field.value, variant: props.variant }));
36
+ return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, placeholder: props.placeholder, ref: field.ref, size: props.size, uploadButtonLabel: props.uploadButtonLabel, value: field.value, variant: props.variant }));
37
37
  }
38
38
  FileInput.displayName = "FileInput";
@@ -0,0 +1 @@
1
+ # FormRenderer
@@ -0,0 +1,33 @@
1
+ export declare const schema: {
2
+ fields: ({
3
+ name: string;
4
+ type: string;
5
+ label: string;
6
+ required: boolean;
7
+ readOnly: boolean;
8
+ editable: boolean;
9
+ autocomplete: string;
10
+ options: null;
11
+ fields: never[];
12
+ } | {
13
+ name: string;
14
+ type: string;
15
+ label: string;
16
+ required: boolean;
17
+ readOnly: boolean;
18
+ editable: boolean;
19
+ autocomplete: null;
20
+ options: null;
21
+ fields: {
22
+ name: string;
23
+ type: string;
24
+ label: string;
25
+ required: boolean;
26
+ readOnly: boolean;
27
+ editable: boolean;
28
+ autocomplete: null;
29
+ options: null;
30
+ fields: never[];
31
+ }[];
32
+ })[];
33
+ };
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.schema = void 0;
4
+ exports.schema = {
5
+ fields: [
6
+ {
7
+ name: "id",
8
+ type: "integer",
9
+ label: "Id",
10
+ required: true,
11
+ readOnly: true,
12
+ editable: true,
13
+ autocomplete: null,
14
+ options: null,
15
+ fields: [],
16
+ },
17
+ {
18
+ name: "textRequired",
19
+ type: "string",
20
+ label: "Text required",
21
+ required: true,
22
+ readOnly: false,
23
+ editable: true,
24
+ autocomplete: null,
25
+ options: null,
26
+ fields: [],
27
+ },
28
+ {
29
+ name: "textNotRequired",
30
+ type: "string",
31
+ label: "Text optional",
32
+ required: false,
33
+ readOnly: false,
34
+ editable: true,
35
+ autocomplete: null,
36
+ options: null,
37
+ fields: [],
38
+ },
39
+ {
40
+ name: "longTextRequired",
41
+ type: "text",
42
+ label: "LongText required",
43
+ required: true,
44
+ readOnly: false,
45
+ editable: true,
46
+ autocomplete: null,
47
+ options: null,
48
+ fields: [],
49
+ },
50
+ {
51
+ name: "longTextNotRequired",
52
+ type: "text",
53
+ label: "LongText optional",
54
+ required: false,
55
+ readOnly: false,
56
+ editable: true,
57
+ autocomplete: null,
58
+ options: null,
59
+ fields: [],
60
+ },
61
+ {
62
+ name: "imageNotRequired",
63
+ type: "image",
64
+ label: "Image optional",
65
+ required: false,
66
+ readOnly: false,
67
+ editable: true,
68
+ autocomplete: null,
69
+ options: null,
70
+ fields: [],
71
+ },
72
+ {
73
+ name: "fileNotRequired",
74
+ type: "file",
75
+ label: "File optional",
76
+ required: false,
77
+ readOnly: false,
78
+ editable: true,
79
+ autocomplete: null,
80
+ options: null,
81
+ fields: [],
82
+ },
83
+ {
84
+ name: "images",
85
+ type: "images",
86
+ label: "Images",
87
+ required: false,
88
+ readOnly: false,
89
+ editable: true,
90
+ autocomplete: null,
91
+ options: null,
92
+ fields: [],
93
+ },
94
+ {
95
+ name: "dateRequired",
96
+ type: "date",
97
+ label: "Date required",
98
+ required: true,
99
+ readOnly: false,
100
+ editable: true,
101
+ autocomplete: null,
102
+ options: null,
103
+ fields: [],
104
+ },
105
+ {
106
+ name: "dateNotRequired",
107
+ type: "date",
108
+ label: "Date optional",
109
+ required: false,
110
+ readOnly: false,
111
+ editable: true,
112
+ autocomplete: null,
113
+ options: null,
114
+ fields: [],
115
+ },
116
+ {
117
+ name: "dateTimeRequired",
118
+ type: "datetime",
119
+ label: "DateTime required",
120
+ required: true,
121
+ readOnly: false,
122
+ editable: true,
123
+ autocomplete: null,
124
+ options: null,
125
+ fields: [],
126
+ },
127
+ {
128
+ name: "dateTimeNotRequired",
129
+ type: "datetime",
130
+ label: "DateTime optional",
131
+ required: false,
132
+ readOnly: false,
133
+ editable: true,
134
+ autocomplete: null,
135
+ options: null,
136
+ fields: [],
137
+ },
138
+ {
139
+ name: "timeRequired",
140
+ type: "time",
141
+ label: "Time required",
142
+ required: true,
143
+ readOnly: false,
144
+ editable: true,
145
+ autocomplete: null,
146
+ options: null,
147
+ fields: [],
148
+ },
149
+ {
150
+ name: "timeNotRequired",
151
+ type: "time",
152
+ label: "Time optional",
153
+ required: false,
154
+ readOnly: false,
155
+ editable: true,
156
+ autocomplete: null,
157
+ options: null,
158
+ fields: [],
159
+ },
160
+ {
161
+ name: "integerRequired",
162
+ type: "integer",
163
+ label: "Integer required",
164
+ required: true,
165
+ readOnly: false,
166
+ editable: true,
167
+ autocomplete: null,
168
+ options: null,
169
+ fields: [],
170
+ },
171
+ {
172
+ name: "integerNotRequired",
173
+ type: "integer",
174
+ label: "Integer optional",
175
+ required: false,
176
+ readOnly: false,
177
+ editable: true,
178
+ autocomplete: null,
179
+ options: null,
180
+ fields: [],
181
+ },
182
+ {
183
+ name: "isBooleanNotRequired",
184
+ type: "boolean",
185
+ label: "Boolean optional",
186
+ required: false,
187
+ readOnly: false,
188
+ editable: true,
189
+ autocomplete: null,
190
+ options: null,
191
+ fields: [],
192
+ },
193
+ {
194
+ name: "manyToManyBigTest",
195
+ type: "manyToMany",
196
+ label: "ManyToMany",
197
+ required: false,
198
+ readOnly: false,
199
+ editable: true,
200
+ autocomplete: "big-test",
201
+ options: null,
202
+ fields: [],
203
+ },
204
+ {
205
+ name: "manyToOneBigTest",
206
+ type: "manyToOne",
207
+ label: "ManyToOne",
208
+ required: false,
209
+ readOnly: false,
210
+ editable: true,
211
+ autocomplete: "big-test",
212
+ options: null,
213
+ fields: [],
214
+ },
215
+ {
216
+ name: "embedded",
217
+ type: "embedded",
218
+ label: "Embedded",
219
+ required: true,
220
+ readOnly: false,
221
+ editable: true,
222
+ autocomplete: null,
223
+ options: null,
224
+ fields: [
225
+ {
226
+ name: "value",
227
+ type: "integer",
228
+ label: "value",
229
+ required: true,
230
+ readOnly: false,
231
+ editable: true,
232
+ autocomplete: null,
233
+ options: null,
234
+ fields: [],
235
+ },
236
+ {
237
+ name: "label",
238
+ type: "string",
239
+ label: "label",
240
+ required: true,
241
+ readOnly: false,
242
+ editable: true,
243
+ autocomplete: null,
244
+ options: null,
245
+ fields: [],
246
+ },
247
+ ],
248
+ },
249
+ {
250
+ name: "oneToMany",
251
+ type: "oneToMany",
252
+ label: "OneToMany",
253
+ required: true,
254
+ readOnly: false,
255
+ editable: true,
256
+ autocomplete: null,
257
+ options: null,
258
+ fields: [
259
+ {
260
+ name: "id",
261
+ type: "integer",
262
+ label: "Id",
263
+ required: true,
264
+ readOnly: true,
265
+ editable: true,
266
+ autocomplete: null,
267
+ options: null,
268
+ fields: [],
269
+ },
270
+ {
271
+ name: "value",
272
+ type: "integer",
273
+ label: "Big test one to many value",
274
+ required: true,
275
+ readOnly: false,
276
+ editable: true,
277
+ autocomplete: null,
278
+ options: null,
279
+ fields: [],
280
+ },
281
+ {
282
+ name: "label",
283
+ type: "string",
284
+ label: "Big test one to many label",
285
+ required: true,
286
+ readOnly: false,
287
+ editable: true,
288
+ autocomplete: null,
289
+ options: null,
290
+ fields: [],
291
+ },
292
+ ],
293
+ },
294
+ ],
295
+ };
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { FieldProps } from "../types";
3
+ export declare function BaseField(props: FieldProps): React.JSX.Element;
4
+ export default BaseField;