@gen-epix/ui-core-form 4.1.0 → 4.2.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 (35) hide show
  1. package/dist/_chunks/Autocomplete.js +86 -84
  2. package/dist/_chunks/Autocomplete.js.map +1 -1
  3. package/dist/_chunks/DatePicker.js +26 -26
  4. package/dist/_chunks/FileUpload.js +7 -7
  5. package/dist/_chunks/FormUtil.js +4 -1
  6. package/dist/_chunks/FormUtil.js.map +1 -1
  7. package/dist/_chunks/RichTextEditor.js +7658 -4335
  8. package/dist/_chunks/RichTextEditor.js.map +1 -1
  9. package/dist/_chunks/TransferList.js +59 -59
  10. package/dist/_chunks/TransferList.js.map +1 -1
  11. package/dist/components/fields/Autocomplete/Autocomplete.d.ts +6 -3
  12. package/dist/components/fields/CheckboxGroup/index.js +14 -14
  13. package/dist/components/fields/DateRangePicker/index.js +39 -39
  14. package/dist/components/fields/DateRangePicker/index.js.map +1 -1
  15. package/dist/components/fields/NumberField/index.js +29 -29
  16. package/dist/components/fields/NumberField/index.js.map +1 -1
  17. package/dist/components/fields/NumberRangeInput/index.js +34 -34
  18. package/dist/components/fields/RadioGroup/index.js +7 -7
  19. package/dist/components/fields/Select/index.js +32 -19
  20. package/dist/components/fields/Select/index.js.map +1 -1
  21. package/dist/components/fields/Switch/Switch.d.ts +3 -2
  22. package/dist/components/fields/Switch/index.js +50 -40
  23. package/dist/components/fields/Switch/index.js.map +1 -1
  24. package/dist/components/fields/TextField/index.js +19 -19
  25. package/dist/components/fields/ToggleButtonGroup/index.js +7 -7
  26. package/dist/components/helpers/GenericForm/GenericForm.d.ts +1 -1
  27. package/dist/components/helpers/GenericForm/index.js +42 -32
  28. package/dist/components/helpers/GenericForm/index.js.map +1 -1
  29. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js +5 -4
  30. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js.map +1 -1
  31. package/dist/models/form.d.ts +29 -18
  32. package/dist/models/form.js.map +1 -1
  33. package/package.json +80 -79
  34. package/dist/_chunks/index.esm.js +0 -398
  35. package/dist/_chunks/index.esm.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { FieldValues, Path } from 'react-hook-form';
2
+ import { ReactElement } from 'react';
2
3
  import { RichTextEditorProps } from '../components/fields/RichTextEditor';
3
4
  import { TransferListProps } from '../components/fields/TransferList';
4
5
  import { AutocompleteProps } from '../components/fields/Autocomplete';
@@ -35,61 +36,67 @@ export type AutocompleteSelectAllContextData = {
35
36
  selectAllLabel: string;
36
37
  };
37
38
  export type AutocompleteValue = number | string;
39
+ export type BaseFormFieldDefinition = {
40
+ contentAfter?: ReactElement;
41
+ contentBefore?: ReactElement;
42
+ };
38
43
  export type CheckboxOption = OptionBase<number | string>;
39
- export type FormFieldDefinition<TFormFields extends FieldValues> = FormFieldDefinitionAutocomplete<TFormFields> | FormFieldDefinitionAutocompleteMultiple<TFormFields> | FormFieldDefinitionBoolean<TFormFields> | FormFieldDefinitionBooleanSwitch<TFormFields> | FormFieldDefinitionDate<TFormFields> | FormFieldDefinitionFile<TFormFields> | FormFieldDefinitionHidden<TFormFields> | FormFieldDefinitionNumber<TFormFields> | FormFieldDefinitionRadioGroup<TFormFields> | FormFieldDefinitionRichText<TFormFields> | FormFieldDefinitionSelect<TFormFields> | FormFieldDefinitionSelectMultiple<TFormFields> | FormFieldDefinitionSwitch<TFormFields> | FormFieldDefinitionTextField<TFormFields> | FormFieldDefinitionTransferList<TFormFields>;
40
- export type FormFieldDefinitionAutocomplete<TFormFields extends FieldValues> = {
44
+ export type FormFieldDefinition<TFormFields extends FieldValues> = FormFieldDefinitionAutocompleteForName<TFormFields> | FormFieldDefinitionBoolean<TFormFields> | FormFieldDefinitionBooleanSwitch<TFormFields> | FormFieldDefinitionDate<TFormFields> | FormFieldDefinitionFile<TFormFields> | FormFieldDefinitionHidden<TFormFields> | FormFieldDefinitionNumber<TFormFields> | FormFieldDefinitionRadioGroup<TFormFields> | FormFieldDefinitionRichText<TFormFields> | FormFieldDefinitionSelect<TFormFields> | FormFieldDefinitionSelectMultiple<TFormFields> | FormFieldDefinitionSwitch<TFormFields> | FormFieldDefinitionTextField<TFormFields> | FormFieldDefinitionTransferList<TFormFields>;
45
+ export type FormFieldDefinitionAutocomplete<TFormFields extends FieldValues, TName extends Path<TFormFields> = Path<TFormFields>> = {
41
46
  definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE;
42
47
  multiple?: false;
43
- } & AutocompleteProps<TFormFields, Path<TFormFields>, false> & FormFieldGrouping;
44
- export type FormFieldDefinitionAutocompleteMultiple<TFormFields extends FieldValues> = {
48
+ } & AutocompleteProps<TFormFields, TName, false> & BaseFormFieldDefinition & FormFieldGrouping;
49
+ export type FormFieldDefinitionAutocompleteMultiple<TFormFields extends FieldValues, TName extends Path<TFormFields> = Path<TFormFields>> = {
45
50
  definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE;
46
51
  multiple?: true;
47
- } & AutocompleteProps<TFormFields, Path<TFormFields>, true> & FormFieldGrouping;
52
+ } & AutocompleteProps<TFormFields, TName, true> & BaseFormFieldDefinition & FormFieldGrouping;
48
53
  export type FormFieldDefinitionBoolean<TFormFields extends FieldValues> = {
49
54
  definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN;
50
- } & FormFieldGrouping & Omit<SelectProps<TFormFields, Path<TFormFields>, false>, 'options'>;
55
+ } & BaseFormFieldDefinition & FormFieldGrouping & Omit<SelectProps<TFormFields, Path<TFormFields>, false>, 'options'>;
51
56
  export type FormFieldDefinitionBooleanSwitch<TFormFields extends FieldValues> = {
52
57
  definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN_SWITCH;
53
- } & FormFieldGrouping & Omit<SwitchProps<TFormFields, Path<TFormFields>>, 'options'>;
58
+ } & BaseFormFieldDefinition & FormFieldGrouping & Omit<SwitchProps<TFormFields, Path<TFormFields>>, 'options'>;
54
59
  export type FormFieldDefinitionDate<TFormFields extends FieldValues> = {
55
60
  definition: FORM_FIELD_DEFINITION_TYPE.DATE;
56
- } & DatePickerProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;
61
+ } & BaseFormFieldDefinition & DatePickerProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;
57
62
  export type FormFieldDefinitionFile<TFormFields extends FieldValues> = {
58
63
  definition: FORM_FIELD_DEFINITION_TYPE.FILE;
59
- } & FileUploadProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;
64
+ } & BaseFormFieldDefinition & FileUploadProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;
60
65
  export type FormFieldDefinitionHidden<TFormFields extends FieldValues> = {
61
66
  definition: FORM_FIELD_DEFINITION_TYPE.HIDDEN;
62
- } & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;
67
+ } & BaseFormFieldDefinition & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;
63
68
  export type FormFieldDefinitionNumber<TFormFields extends FieldValues> = {
64
69
  definition: FORM_FIELD_DEFINITION_TYPE.NUMBER;
65
- } & FormFieldGrouping & NumberFieldProps<TFormFields, Path<TFormFields>>;
70
+ } & BaseFormFieldDefinition & FormFieldGrouping & NumberFieldProps<TFormFields, Path<TFormFields>>;
66
71
  export type FormFieldDefinitionRadioGroup<TFormFields extends FieldValues> = {
67
72
  definition: FORM_FIELD_DEFINITION_TYPE.RADIO_GROUP;
68
- } & FormFieldGrouping & RadioGroupProps<TFormFields, Path<TFormFields>>;
73
+ } & BaseFormFieldDefinition & FormFieldGrouping & RadioGroupProps<TFormFields, Path<TFormFields>>;
69
74
  export type FormFieldDefinitionRichText<TFormFields extends FieldValues> = {
70
75
  definition: FORM_FIELD_DEFINITION_TYPE.RICH_TEXT;
71
- } & FormFieldGrouping & RichTextEditorProps<TFormFields, Path<TFormFields>>;
76
+ } & BaseFormFieldDefinition & FormFieldGrouping & RichTextEditorProps<TFormFields, Path<TFormFields>>;
72
77
  export type FormFieldDefinitionSelect<TFormFields extends FieldValues> = {
73
78
  definition: FORM_FIELD_DEFINITION_TYPE.SELECT;
74
79
  multiple?: false;
75
- } & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, false>;
80
+ } & BaseFormFieldDefinition & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, false>;
76
81
  export type FormFieldDefinitionSelectMultiple<TFormFields extends FieldValues> = {
77
82
  definition: FORM_FIELD_DEFINITION_TYPE.SELECT;
78
83
  multiple?: true;
79
- } & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, true>;
84
+ } & BaseFormFieldDefinition & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, true>;
80
85
  export type FormFieldDefinitionSwitch<TFormFields extends FieldValues> = {
81
86
  definition: FORM_FIELD_DEFINITION_TYPE.SWITCH;
82
- } & FormFieldGrouping & SwitchProps<TFormFields, Path<TFormFields>>;
87
+ } & BaseFormFieldDefinition & FormFieldGrouping & SwitchProps<TFormFields, Path<TFormFields>>;
83
88
  export type FormFieldDefinitionTextField<TFormFields extends FieldValues> = {
84
89
  definition: FORM_FIELD_DEFINITION_TYPE.TEXTFIELD;
85
- } & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;
90
+ } & BaseFormFieldDefinition & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;
86
91
  export type FormFieldDefinitionTransferList<TFormFields extends FieldValues> = {
87
92
  definition: FORM_FIELD_DEFINITION_TYPE.TRANSFER_LIST;
88
- } & FormFieldGrouping & TransferListProps<TFormFields, Path<TFormFields>>;
93
+ } & BaseFormFieldDefinition & FormFieldGrouping & TransferListProps<TFormFields, Path<TFormFields>>;
89
94
  export type FormFieldGrouping = {
90
95
  groupKey?: string;
91
96
  };
92
97
  export type FormGroupDefinition = {
98
+ contentAfter?: ReactElement;
99
+ contentBefore?: ReactElement;
93
100
  description?: string;
94
101
  groupKey: string;
95
102
  label: string;
@@ -111,3 +118,7 @@ export type RadioButtonOption<TValue = void> = OptionBase<TValue extends void ?
111
118
  export type SelectOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;
112
119
  export type ToggleButtonOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;
113
120
  export type TransferListOption = OptionBase<string>;
121
+ type FormFieldDefinitionAutocompleteForName<TFormFields extends FieldValues> = {
122
+ [TName in Path<TFormFields>]: FormFieldDefinitionAutocomplete<TFormFields, TName> | FormFieldDefinitionAutocompleteMultiple<TFormFields, TName>;
123
+ }[Path<TFormFields>];
124
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","names":[],"sources":["../../src/models/form.ts"],"sourcesContent":["import type {\n FieldValues,\n Path,\n} from 'react-hook-form';\n\nimport type { RichTextEditorProps } from '../components/fields/RichTextEditor';\nimport type { TransferListProps } from '../components/fields/TransferList';\nimport type { AutocompleteProps } from '../components/fields/Autocomplete';\nimport type { TextFieldProps } from '../components/fields/TextField';\nimport type { SelectProps } from '../components/fields/Select';\nimport type { DatePickerProps } from '../components/fields/DatePicker';\nimport type { FileUploadProps } from '../components/fields/FileUpload/FileUpload';\nimport type { RadioGroupProps } from '../components/fields/RadioGroup';\nimport type { NumberFieldProps } from '../components/fields/NumberField';\nimport type { SwitchProps } from '../components/fields/Switch';\n\nexport enum FORM_FIELD_DEFINITION_TYPE {\n AUTOCOMPLETE = 'AUTOCOMPLETE',\n BOOLEAN = 'BOOLEAN',\n BOOLEAN_SWITCH = 'BOOLEAN_SWITCH',\n DATE = 'DATE',\n FILE = 'FILE',\n HIDDEN = 'HIDDEN',\n NUMBER = 'NUMBER',\n RADIO_GROUP = 'RADIO_GROUP',\n RICH_TEXT = 'RICH_TEXT',\n SELECT = 'SELECT',\n SWITCH = 'SWITCH',\n TEXTFIELD = 'TEXTFIELD',\n TRANSFER_LIST = 'TRANSFER_LIST',\n}\n\nexport interface AutoCompleteOption<TValue = void> extends OptionBase<TValue extends void ? (number | string) : TValue> {\n groupBySortOrderValue?: number;\n groupByValue?: string;\n}\n\nexport type AutocompleteSelectAllContextData = {\n currentValues: AutocompleteValue[];\n enabledOptionValues: AutocompleteValue[];\n handleSelectAll: (isCurrentlyAll: boolean, currentValues: AutocompleteValue[]) => void;\n selectAllLabel: string;\n};\nexport type AutocompleteValue = number | string;\nexport type CheckboxOption = OptionBase<number | string>;\n\nexport type FormFieldDefinition<TFormFields extends FieldValues> =\n FormFieldDefinitionAutocomplete<TFormFields> |\n FormFieldDefinitionAutocompleteMultiple<TFormFields> |\n FormFieldDefinitionBoolean<TFormFields> |\n FormFieldDefinitionBooleanSwitch<TFormFields> |\n FormFieldDefinitionDate<TFormFields> |\n FormFieldDefinitionFile<TFormFields> |\n FormFieldDefinitionHidden<TFormFields> |\n FormFieldDefinitionNumber<TFormFields> |\n FormFieldDefinitionRadioGroup<TFormFields> |\n FormFieldDefinitionRichText<TFormFields> |\n FormFieldDefinitionSelect<TFormFields> |\n FormFieldDefinitionSelectMultiple<TFormFields> |\n FormFieldDefinitionSwitch<TFormFields> |\n FormFieldDefinitionTextField<TFormFields> |\n FormFieldDefinitionTransferList<TFormFields>;\n\nexport type FormFieldDefinitionAutocomplete<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE; multiple?: false } & AutocompleteProps<TFormFields, Path<TFormFields>, false> & FormFieldGrouping;\n\nexport type FormFieldDefinitionAutocompleteMultiple<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE; multiple?: true } & AutocompleteProps<TFormFields, Path<TFormFields>, true> & FormFieldGrouping;\nexport type FormFieldDefinitionBoolean<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN } & FormFieldGrouping & Omit<SelectProps<TFormFields, Path<TFormFields>, false>, 'options'>;\nexport type FormFieldDefinitionBooleanSwitch<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN_SWITCH } & FormFieldGrouping & Omit<SwitchProps<TFormFields, Path<TFormFields>>, 'options'>;\nexport type FormFieldDefinitionDate<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.DATE } & DatePickerProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;\nexport type FormFieldDefinitionFile<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.FILE } & FileUploadProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;\nexport type FormFieldDefinitionHidden<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.HIDDEN } & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionNumber<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.NUMBER } & FormFieldGrouping & NumberFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionRadioGroup<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.RADIO_GROUP } & FormFieldGrouping & RadioGroupProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionRichText<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.RICH_TEXT } & FormFieldGrouping & RichTextEditorProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionSelect<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SELECT; multiple?: false } & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, false>;\nexport type FormFieldDefinitionSelectMultiple<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SELECT; multiple?: true } & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, true>;\nexport type FormFieldDefinitionSwitch<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SWITCH } & FormFieldGrouping & SwitchProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionTextField<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.TEXTFIELD } & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionTransferList<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.TRANSFER_LIST } & FormFieldGrouping & TransferListProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldGrouping = {\n groupKey?: string;\n};\nexport type FormGroupDefinition = {\n description?: string;\n groupKey: string;\n label: string;\n messages?: FormGroupMessage[];\n};\nexport type FormGroupMessage = {\n buttonLabel?: string;\n message: string;\n onButtonClick?: () => void;\n severity: 'error' | 'info' | 'warning';\n};\nexport interface OptionBase<TValue> {\n disabled?: boolean;\n label?: string;\n secondaryLabel?: string;\n value?: TValue;\n}\nexport type RadioButtonOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\nexport type SelectOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\nexport type ToggleButtonOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\n\nexport type TransferListOption = OptionBase<string>;\n"],"mappings":";AAgBA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,eAAA,gBACA,EAAA,UAAA,WACA,EAAA,iBAAA,kBACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,cAAA,eACA,EAAA,YAAA,aACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,YAAA,aACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"form.js","names":[],"sources":["../../src/models/form.ts"],"sourcesContent":["import type {\n FieldValues,\n Path,\n} from 'react-hook-form';\nimport type { ReactElement } from 'react';\n\nimport type { RichTextEditorProps } from '../components/fields/RichTextEditor';\nimport type { TransferListProps } from '../components/fields/TransferList';\nimport type { AutocompleteProps } from '../components/fields/Autocomplete';\nimport type { TextFieldProps } from '../components/fields/TextField';\nimport type { SelectProps } from '../components/fields/Select';\nimport type { DatePickerProps } from '../components/fields/DatePicker';\nimport type { FileUploadProps } from '../components/fields/FileUpload/FileUpload';\nimport type { RadioGroupProps } from '../components/fields/RadioGroup';\nimport type { NumberFieldProps } from '../components/fields/NumberField';\nimport type { SwitchProps } from '../components/fields/Switch';\n\nexport enum FORM_FIELD_DEFINITION_TYPE {\n AUTOCOMPLETE = 'AUTOCOMPLETE',\n BOOLEAN = 'BOOLEAN',\n BOOLEAN_SWITCH = 'BOOLEAN_SWITCH',\n DATE = 'DATE',\n FILE = 'FILE',\n HIDDEN = 'HIDDEN',\n NUMBER = 'NUMBER',\n RADIO_GROUP = 'RADIO_GROUP',\n RICH_TEXT = 'RICH_TEXT',\n SELECT = 'SELECT',\n SWITCH = 'SWITCH',\n TEXTFIELD = 'TEXTFIELD',\n TRANSFER_LIST = 'TRANSFER_LIST',\n}\n\nexport interface AutoCompleteOption<TValue = void> extends OptionBase<TValue extends void ? (number | string) : TValue> {\n groupBySortOrderValue?: number;\n groupByValue?: string;\n}\n\nexport type AutocompleteSelectAllContextData = {\n currentValues: AutocompleteValue[];\n enabledOptionValues: AutocompleteValue[];\n handleSelectAll: (isCurrentlyAll: boolean, currentValues: AutocompleteValue[]) => void;\n selectAllLabel: string;\n};\nexport type AutocompleteValue = number | string;\nexport type BaseFormFieldDefinition = {\n contentAfter?: ReactElement;\n contentBefore?: ReactElement;\n};\n\nexport type CheckboxOption = OptionBase<number | string>;\n\nexport type FormFieldDefinition<TFormFields extends FieldValues> =\n FormFieldDefinitionAutocompleteForName<TFormFields> |\n FormFieldDefinitionBoolean<TFormFields> |\n FormFieldDefinitionBooleanSwitch<TFormFields> |\n FormFieldDefinitionDate<TFormFields> |\n FormFieldDefinitionFile<TFormFields> |\n FormFieldDefinitionHidden<TFormFields> |\n FormFieldDefinitionNumber<TFormFields> |\n FormFieldDefinitionRadioGroup<TFormFields> |\n FormFieldDefinitionRichText<TFormFields> |\n FormFieldDefinitionSelect<TFormFields> |\n FormFieldDefinitionSelectMultiple<TFormFields> |\n FormFieldDefinitionSwitch<TFormFields> |\n FormFieldDefinitionTextField<TFormFields> |\n FormFieldDefinitionTransferList<TFormFields>;\nexport type FormFieldDefinitionAutocomplete<TFormFields extends FieldValues, TName extends Path<TFormFields> = Path<TFormFields>> = { definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE; multiple?: false } & AutocompleteProps<TFormFields, TName, false> & BaseFormFieldDefinition & FormFieldGrouping;\nexport type FormFieldDefinitionAutocompleteMultiple<TFormFields extends FieldValues, TName extends Path<TFormFields> = Path<TFormFields>> = { definition: FORM_FIELD_DEFINITION_TYPE.AUTOCOMPLETE; multiple?: true } & AutocompleteProps<TFormFields, TName, true> & BaseFormFieldDefinition & FormFieldGrouping;\nexport type FormFieldDefinitionBoolean<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN } & BaseFormFieldDefinition & FormFieldGrouping & Omit<SelectProps<TFormFields, Path<TFormFields>, false>, 'options'>;\nexport type FormFieldDefinitionBooleanSwitch<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.BOOLEAN_SWITCH } & BaseFormFieldDefinition & FormFieldGrouping & Omit<SwitchProps<TFormFields, Path<TFormFields>>, 'options'>;\nexport type FormFieldDefinitionDate<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.DATE } & BaseFormFieldDefinition & DatePickerProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;\nexport type FormFieldDefinitionFile<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.FILE } & BaseFormFieldDefinition & FileUploadProps<TFormFields, Path<TFormFields>> & FormFieldGrouping;\nexport type FormFieldDefinitionHidden<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.HIDDEN } & BaseFormFieldDefinition & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionNumber<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.NUMBER } & BaseFormFieldDefinition & FormFieldGrouping & NumberFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionRadioGroup<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.RADIO_GROUP } & BaseFormFieldDefinition & FormFieldGrouping & RadioGroupProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionRichText<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.RICH_TEXT } & BaseFormFieldDefinition & FormFieldGrouping & RichTextEditorProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionSelect<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SELECT; multiple?: false } & BaseFormFieldDefinition & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, false>;\nexport type FormFieldDefinitionSelectMultiple<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SELECT; multiple?: true } & BaseFormFieldDefinition & FormFieldGrouping & SelectProps<TFormFields, Path<TFormFields>, true>;\nexport type FormFieldDefinitionSwitch<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.SWITCH } & BaseFormFieldDefinition & FormFieldGrouping & SwitchProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionTextField<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.TEXTFIELD } & BaseFormFieldDefinition & FormFieldGrouping & TextFieldProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldDefinitionTransferList<TFormFields extends FieldValues> = { definition: FORM_FIELD_DEFINITION_TYPE.TRANSFER_LIST } & BaseFormFieldDefinition & FormFieldGrouping & TransferListProps<TFormFields, Path<TFormFields>>;\nexport type FormFieldGrouping = {\n groupKey?: string;\n};\nexport type FormGroupDefinition = {\n contentAfter?: ReactElement;\n contentBefore?: ReactElement;\n description?: string;\n groupKey: string;\n label: string;\n messages?: FormGroupMessage[];\n};\nexport type FormGroupMessage = {\n buttonLabel?: string;\n message: string;\n onButtonClick?: () => void;\n severity: 'error' | 'info' | 'warning';\n};\nexport interface OptionBase<TValue> {\n disabled?: boolean;\n label?: string;\n secondaryLabel?: string;\n value?: TValue;\n}\nexport type RadioButtonOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\nexport type SelectOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\nexport type ToggleButtonOption<TValue = void> = OptionBase<TValue extends void ? (boolean | number | string) : TValue>;\nexport type TransferListOption = OptionBase<string>;\n\n// Distributes over each field name so `onChange`'s value type resolves to the concrete\n// `TFormFields[TName]` per field instead of collapsing to `unknown` for the whole `Path<TFormFields>` union.\ntype FormFieldDefinitionAutocompleteForName<TFormFields extends FieldValues> = {\n [TName in Path<TFormFields>]: FormFieldDefinitionAutocomplete<TFormFields, TName> | FormFieldDefinitionAutocompleteMultiple<TFormFields, TName>;\n}[Path<TFormFields>];\n"],"mappings":";AAiBA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,eAAA,gBACA,EAAA,UAAA,WACA,EAAA,iBAAA,kBACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,cAAA,eACA,EAAA,YAAA,aACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,YAAA,aACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA"}
package/package.json CHANGED
@@ -1,23 +1,14 @@
1
1
  {
2
2
  "name": "@gen-epix/ui-core-form",
3
- "version": "4.1.0",
4
- "license": "EUPL-1.2",
3
+ "version": "4.2.0",
4
+ "homepage": "https://github.com/RIVM-bioinformatics/gen-epix",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/RIVM-bioinformatics/gen-epix-ui.git"
8
8
  },
9
+ "license": "EUPL-1.2",
9
10
  "author": "RIVM-bioinformatics <ids-bioinformatics@rivm.nl>",
10
- "homepage": "https://github.com/RIVM-bioinformatics/gen-epix",
11
11
  "type": "module",
12
- "files": [
13
- "dist"
14
- ],
15
- "publishConfig": {
16
- "files": [
17
- "dist"
18
- ],
19
- "access": "public"
20
- },
21
12
  "exports": {
22
13
  "./types": {
23
14
  "types": "./dist/@types/ui-core-form.d.ts",
@@ -112,98 +103,108 @@
112
103
  "import": "./dist/utils/SchemaUtil/index.js"
113
104
  }
114
105
  },
115
- "peerDependencies": {
116
- "@gen-epix/ui-core": "^3.1.0",
117
- "@gen-epix/ui-core-components": "^4.1.0",
118
- "@mui/icons-material": "*",
119
- "@mui/material": "*",
120
- "@mui/x-date-pickers": "*",
121
- "i18next": "*",
122
- "react": "*",
123
- "react-i18next": "*",
124
- "yup": "*"
125
- },
106
+ "files": [
107
+ "dist"
108
+ ],
109
+ "browserslist": [
110
+ "last 2 Chrome versions"
111
+ ],
126
112
  "dependencies": {
127
- "@tiptap/core": "3.31.1",
128
- "@tiptap/extension-blockquote": "3.31.1",
129
- "@tiptap/extension-bold": "3.31.1",
130
- "@tiptap/extension-bullet-list": "3.31.1",
131
- "@tiptap/extension-code-block": "3.31.1",
132
- "@tiptap/extension-color": "3.31.1",
133
- "@tiptap/extension-document": "3.31.1",
134
- "@tiptap/extension-dropcursor": "3.31.1",
135
- "@tiptap/extension-font-family": "3.31.1",
136
- "@tiptap/extension-gapcursor": "3.31.1",
137
- "@tiptap/extension-hard-break": "3.31.1",
138
- "@tiptap/extension-heading": "3.31.1",
139
- "@tiptap/extension-highlight": "3.31.1",
140
- "@tiptap/extension-history": "3.31.1",
141
- "@tiptap/extension-horizontal-rule": "3.31.1",
142
- "@tiptap/extension-image": "3.31.1",
143
- "@tiptap/extension-italic": "3.31.1",
144
- "@tiptap/extension-link": "3.31.1",
145
- "@tiptap/extension-list-item": "3.31.1",
146
- "@tiptap/extension-ordered-list": "3.31.1",
147
- "@tiptap/extension-paragraph": "3.31.1",
148
- "@tiptap/extension-placeholder": "3.31.1",
149
- "@tiptap/extension-strike": "3.31.1",
150
- "@tiptap/extension-subscript": "3.31.1",
151
- "@tiptap/extension-superscript": "3.31.1",
152
- "@tiptap/extension-table-cell": "3.31.1",
153
- "@tiptap/extension-table-header": "3.31.1",
154
- "@tiptap/extension-table-row": "3.31.1",
155
- "@tiptap/extension-table": "3.31.1",
156
- "@tiptap/extension-task-item": "3.31.1",
157
- "@tiptap/extension-task-list": "3.31.1",
158
- "@tiptap/extension-text-align": "3.31.1",
159
- "@tiptap/extension-text-style": "3.31.1",
160
- "@tiptap/extension-text": "3.31.1",
161
- "@tiptap/extension-underline": "3.31.1",
162
- "@tiptap/pm": "3.31.1",
163
- "@tiptap/react": "3.31.1",
113
+ "@tiptap/core": "3.31.3",
114
+ "@tiptap/extension-blockquote": "3.31.3",
115
+ "@tiptap/extension-bold": "3.31.3",
116
+ "@tiptap/extension-bullet-list": "3.31.3",
117
+ "@tiptap/extension-code-block": "3.31.3",
118
+ "@tiptap/extension-color": "3.31.3",
119
+ "@tiptap/extension-document": "3.31.3",
120
+ "@tiptap/extension-dropcursor": "3.31.3",
121
+ "@tiptap/extension-font-family": "3.31.3",
122
+ "@tiptap/extension-gapcursor": "3.31.3",
123
+ "@tiptap/extension-hard-break": "3.31.3",
124
+ "@tiptap/extension-heading": "3.31.3",
125
+ "@tiptap/extension-highlight": "3.31.3",
126
+ "@tiptap/extension-history": "3.31.3",
127
+ "@tiptap/extension-horizontal-rule": "3.31.3",
128
+ "@tiptap/extension-image": "3.31.3",
129
+ "@tiptap/extension-italic": "3.31.3",
130
+ "@tiptap/extension-link": "3.31.3",
131
+ "@tiptap/extension-list-item": "3.31.3",
132
+ "@tiptap/extension-ordered-list": "3.31.3",
133
+ "@tiptap/extension-paragraph": "3.31.3",
134
+ "@tiptap/extension-placeholder": "3.31.3",
135
+ "@tiptap/extension-strike": "3.31.3",
136
+ "@tiptap/extension-subscript": "3.31.3",
137
+ "@tiptap/extension-superscript": "3.31.3",
138
+ "@tiptap/extension-table": "3.31.3",
139
+ "@tiptap/extension-table-cell": "3.31.3",
140
+ "@tiptap/extension-table-header": "3.31.3",
141
+ "@tiptap/extension-table-row": "3.31.3",
142
+ "@tiptap/extension-task-item": "3.31.3",
143
+ "@tiptap/extension-task-list": "3.31.3",
144
+ "@tiptap/extension-text": "3.31.3",
145
+ "@tiptap/extension-text-align": "3.31.3",
146
+ "@tiptap/extension-text-style": "3.31.3",
147
+ "@tiptap/extension-underline": "3.31.3",
148
+ "@tiptap/pm": "3.31.3",
149
+ "@tiptap/react": "3.31.3",
164
150
  "classnames": "2.5.1",
165
151
  "date-fns": "4.4.0",
166
152
  "lodash": "4.18.1",
167
153
  "mui-tiptap": "1.31.0",
168
- "react-hook-form": "7.87.0",
169
154
  "use-debounce": "10.1.1",
170
155
  "uuid": "14.0.2"
171
156
  },
172
157
  "devDependencies": {
173
158
  "@gen-epix/eslint-config": "0.5.0",
174
- "@gen-epix/ui-core": "^3.1.0",
175
- "@gen-epix/ui-core-components": "^4.1.0",
176
159
  "@gen-epix/translation-util": "0.2.0",
160
+ "@gen-epix/ui-core": "^3.2.0",
161
+ "@gen-epix/ui-core-components": "^4.2.0",
177
162
  "@mui/icons-material": "9.4.0",
178
163
  "@mui/material": "9.4.0",
179
- "@mui/x-date-pickers": "9.12.0",
164
+ "@mui/x-date-pickers": "9.13.0",
180
165
  "@types/lodash": "4.17.25",
181
- "@types/react": "19.2.18",
182
- "eslint": "10.9.1",
183
- "i18next": "26.4.1",
184
- "react": "19.2.8",
166
+ "@types/react": "19.3.0",
167
+ "eslint": "10.10.0",
168
+ "i18next": "26.4.2",
169
+ "react": "19.3.0",
170
+ "react-hook-form": "7.87.0",
185
171
  "react-i18next": "17.0.13",
186
172
  "typescript": "6.0.3",
173
+ "vite": "8.2.2",
187
174
  "vite-plugin-dts": "5.1.0",
188
175
  "vite-plugin-static-copy": "4.1.1",
189
- "vite": "8.2.2",
190
- "vitest": "4.1.11",
176
+ "vitest": "5.0.0",
191
177
  "yup": "1.7.1"
192
178
  },
193
- "browserslist": [
194
- "last 2 Chrome versions"
195
- ],
179
+ "peerDependencies": {
180
+ "@gen-epix/ui-core": "^3.2.0",
181
+ "@gen-epix/ui-core-components": "^4.2.0",
182
+ "@mui/icons-material": "*",
183
+ "@mui/material": "*",
184
+ "@mui/x-date-pickers": "*",
185
+ "i18next": "*",
186
+ "react": "*",
187
+ "react-hook-form": "*",
188
+ "react-i18next": "*",
189
+ "yup": "*"
190
+ },
191
+ "publishConfig": {
192
+ "access": "public",
193
+ "files": [
194
+ "dist"
195
+ ]
196
+ },
196
197
  "scripts": {
197
- "test-missing-translations": "translation-util ./ --dry-run --fail-on-missing --fail-on-stale",
198
198
  "add-missing-translations": "translation-util ./",
199
- "update-exports": "node scripts/update-exports.js",
200
199
  "build": "vite build",
201
200
  "build-publish": "pnpm build && pnpm publish --access=public",
202
- "validate": "pnpm run lint && pnpm run check-types && pnpm run test-run",
203
- "test": "vitest --coverage",
204
- "test-run": "vitest run --passWithNoTests --coverage",
201
+ "check-types": "tsc --noemit",
205
202
  "lint": "eslint ./src --report-unused-disable-directives --max-warnings 0",
206
203
  "lint-fix": "eslint ./src --report-unused-disable-directives --max-warnings 0 --fix",
207
- "check-types": "tsc --noemit"
204
+ "test": "vitest --coverage",
205
+ "test-missing-translations": "translation-util ./ --dry-run --fail-on-missing --fail-on-stale",
206
+ "test-run": "vitest run --passWithNoTests --coverage",
207
+ "update-exports": "node scripts/update-exports.js",
208
+ "validate": "pnpm run lint && pnpm run check-types && pnpm run test-run"
208
209
  }
209
210
  }