@overmap-ai/forms 1.0.31 → 1.0.32-condition-manager.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/ImageViewer/context.d.ts +2 -2
  2. package/dist/ImageViewer/typings.d.ts +1 -1
  3. package/dist/Scanner/Scanner.d.ts +7 -0
  4. package/dist/Scanner/ScannerProvider.d.ts +2 -0
  5. package/dist/Scanner/constants.d.ts +3 -0
  6. package/dist/Scanner/context.d.ts +3 -0
  7. package/dist/Scanner/hooks.d.ts +1 -0
  8. package/dist/Scanner/index.d.ts +4 -0
  9. package/dist/Scanner/typings.d.ts +5 -0
  10. package/dist/form/Observable/Observable.d.ts +5 -0
  11. package/dist/form/Observable/index.d.ts +1 -0
  12. package/dist/form/UUIDFile/UUIDFile.d.ts +5 -0
  13. package/dist/form/UUIDFile/index.d.ts +1 -0
  14. package/dist/form/UUIDPromise/UUIDPromise.d.ts +10 -0
  15. package/dist/form/UUIDPromise/index.d.ts +2 -0
  16. package/dist/form/UUIDPromise/utils.d.ts +4 -0
  17. package/dist/form/builder/Root.d.ts +15 -0
  18. package/dist/form/builder/components/FieldBuilder.d.ts +8 -0
  19. package/dist/form/builder/components/FieldDropdownMenu.d.ts +9 -0
  20. package/dist/form/builder/components/FieldSectionDropdownMenu.d.ts +9 -0
  21. package/dist/form/builder/{FieldWithActions.d.ts → components/FieldWithActions.d.ts} +4 -3
  22. package/dist/form/builder/components/index.d.ts +5 -0
  23. package/dist/form/builder/constants.d.ts +2 -19
  24. package/dist/form/builder/context.d.ts +3 -1
  25. package/dist/form/builder/flow/FieldSectionConditionEdge.d.ts +3 -0
  26. package/dist/form/builder/flow/FieldSectionNode.d.ts +3 -0
  27. package/dist/form/builder/flow/FlowBuilder.d.ts +1 -0
  28. package/dist/form/builder/flow/constants.d.ts +3 -0
  29. package/dist/form/builder/flow/index.d.ts +2 -0
  30. package/dist/form/builder/flow/layout.d.ts +2 -0
  31. package/dist/form/builder/flow/typings.d.ts +15 -0
  32. package/dist/form/builder/hooks.d.ts +4 -4
  33. package/dist/form/builder/index.d.ts +8 -1
  34. package/dist/form/builder/list/FieldSectionBuilder.d.ts +5 -0
  35. package/dist/form/builder/list/FieldSectionConditionalItem.d.ts +7 -0
  36. package/dist/form/builder/list/FieldSectionWithActions.d.ts +6 -0
  37. package/dist/form/builder/list/ListBuilder.d.ts +1 -0
  38. package/dist/form/builder/list/index.d.ts +1 -0
  39. package/dist/form/builder/preview/Preview.d.ts +4 -0
  40. package/dist/form/builder/preview/index.d.ts +1 -0
  41. package/dist/form/builder/utils.d.ts +5 -24
  42. package/dist/form/components/DisplayFile.d.ts +9 -0
  43. package/dist/form/components/index.d.ts +1 -0
  44. package/dist/form/conditions/BaseCondition/BaseCondition.d.ts +30 -0
  45. package/dist/form/conditions/BaseCondition/index.d.ts +2 -0
  46. package/dist/form/conditions/BaseCondition/typings.d.ts +18 -0
  47. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldCondition.d.ts +17 -0
  48. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldConditionCell.d.ts +6 -0
  49. package/dist/form/conditions/BooleanFieldCondition/index.d.ts +3 -0
  50. package/dist/form/conditions/BooleanFieldCondition/typings.d.ts +4 -0
  51. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldCondition.d.ts +20 -0
  52. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldConditionCell.d.ts +6 -0
  53. package/dist/form/conditions/CheckboxListFieldCondition/index.d.ts +3 -0
  54. package/dist/form/conditions/CheckboxListFieldCondition/typings.d.ts +4 -0
  55. package/dist/form/conditions/ConditionManager/ConditionManager.d.ts +15 -0
  56. package/dist/form/conditions/ConditionManager/hooks.d.ts +4 -0
  57. package/dist/form/conditions/ConditionManager/index.d.ts +3 -0
  58. package/dist/form/conditions/ConditionManager/typings.d.ts +2 -0
  59. package/dist/form/conditions/DateFieldCondition/DateFieldCondition.d.ts +22 -0
  60. package/dist/form/conditions/DateFieldCondition/DateFieldConditionCell.d.ts +6 -0
  61. package/dist/form/conditions/DateFieldCondition/index.d.ts +3 -0
  62. package/dist/form/conditions/DateFieldCondition/typings.d.ts +4 -0
  63. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldCondition.d.ts +28 -0
  64. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldConditionCell.d.ts +6 -0
  65. package/dist/form/conditions/MultiSelectFieldCondition/index.d.ts +3 -0
  66. package/dist/form/conditions/MultiSelectFieldCondition/typings.d.ts +4 -0
  67. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldCondition.d.ts +20 -0
  68. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldConditionCell.d.ts +6 -0
  69. package/dist/form/conditions/MultiStringFieldCondition/index.d.ts +3 -0
  70. package/dist/form/conditions/MultiStringFieldCondition/typings.d.ts +4 -0
  71. package/dist/form/conditions/NumberFieldCondition/NumberFieldCondition.d.ts +34 -0
  72. package/dist/form/conditions/NumberFieldCondition/NumberFieldConditionCell.d.ts +6 -0
  73. package/dist/form/conditions/NumberFieldCondition/index.d.ts +3 -0
  74. package/dist/form/conditions/NumberFieldCondition/typings.d.ts +4 -0
  75. package/dist/form/conditions/OTPFieldCondition/OTPFieldCondition.d.ts +19 -0
  76. package/dist/form/conditions/OTPFieldCondition/OTPFieldConditionCell.d.ts +6 -0
  77. package/dist/form/conditions/OTPFieldCondition/index.d.ts +3 -0
  78. package/dist/form/conditions/OTPFieldCondition/typings.d.ts +4 -0
  79. package/dist/form/conditions/PassFailFieldCondition/PassFailFieldCondition.d.ts +20 -0
  80. package/dist/form/conditions/PassFailFieldCondition/PassFailFieldConditionCell.d.ts +6 -0
  81. package/dist/form/conditions/PassFailFieldCondition/index.d.ts +3 -0
  82. package/dist/form/conditions/PassFailFieldCondition/typings.d.ts +4 -0
  83. package/dist/form/conditions/RadioFieldCondition/RadioFieldCondition.d.ts +19 -0
  84. package/dist/form/conditions/RadioFieldCondition/RadioFieldConditionCell.d.ts +6 -0
  85. package/dist/form/conditions/RadioFieldCondition/index.d.ts +3 -0
  86. package/dist/form/conditions/RadioFieldCondition/typings.d.ts +4 -0
  87. package/dist/form/conditions/ScanFieldCondition/ScanFieldCondition.d.ts +19 -0
  88. package/dist/form/conditions/ScanFieldCondition/ScanFieldConditionCell.d.ts +6 -0
  89. package/dist/form/conditions/ScanFieldCondition/index.d.ts +3 -0
  90. package/dist/form/conditions/ScanFieldCondition/typings.d.ts +4 -0
  91. package/dist/form/conditions/SelectFieldCondition/SelectFieldCondition.d.ts +19 -0
  92. package/dist/form/conditions/SelectFieldCondition/SelectFieldConditionCell.d.ts +6 -0
  93. package/dist/form/conditions/SelectFieldCondition/index.d.ts +3 -0
  94. package/dist/form/conditions/SelectFieldCondition/typings.d.ts +4 -0
  95. package/dist/form/conditions/StringFieldCondition/StringFieldCondition.d.ts +19 -0
  96. package/dist/form/conditions/StringFieldCondition/StringFieldConditionCell.d.ts +6 -0
  97. package/dist/form/conditions/StringFieldCondition/index.d.ts +3 -0
  98. package/dist/form/conditions/StringFieldCondition/typings.d.ts +4 -0
  99. package/dist/form/conditions/TextFieldCondition/TextFieldCondition.d.ts +20 -0
  100. package/dist/form/conditions/TextFieldCondition/TextFieldConditionCell.d.ts +6 -0
  101. package/dist/form/conditions/TextFieldCondition/index.d.ts +3 -0
  102. package/dist/form/conditions/TextFieldCondition/typings.d.ts +4 -0
  103. package/dist/form/conditions/UploadFieldCondition/UploadFieldCondition.d.ts +19 -0
  104. package/dist/form/conditions/UploadFieldCondition/UploadFieldConditionCell.d.ts +6 -0
  105. package/dist/form/conditions/UploadFieldCondition/index.d.ts +3 -0
  106. package/dist/form/conditions/UploadFieldCondition/typings.d.ts +4 -0
  107. package/dist/form/conditions/components/ConditionModifierDropdown.d.ts +9 -0
  108. package/dist/form/conditions/components/DayPickerPopover.d.ts +4 -0
  109. package/dist/form/conditions/components/MultiStringPopover.d.ts +9 -0
  110. package/dist/form/conditions/components/NumberInputPopover.d.ts +9 -0
  111. package/dist/form/conditions/components/RemoveConditionButton.d.ts +11 -0
  112. package/dist/form/conditions/components/SelectFieldOptionMultiSelectGroup.d.ts +6 -0
  113. package/dist/form/conditions/components/SelectFieldOptionSelectGroup.d.ts +6 -0
  114. package/dist/form/conditions/components/TextInputPopover.d.ts +9 -0
  115. package/dist/form/conditions/components/constants.d.ts +4 -0
  116. package/dist/form/conditions/components/index.d.ts +9 -0
  117. package/dist/form/conditions/index.d.ts +18 -0
  118. package/dist/form/conditions/typings.d.ts +28 -0
  119. package/dist/form/conditions/utils.d.ts +6 -0
  120. package/dist/form/fields/BaseField/BaseField.d.ts +20 -41
  121. package/dist/form/fields/BaseField/index.d.ts +0 -1
  122. package/dist/form/fields/BaseField/typings.d.ts +13 -9
  123. package/dist/form/fields/BaseFormElement/BaseFormElement.d.ts +13 -0
  124. package/dist/form/fields/BaseFormElement/index.d.ts +2 -0
  125. package/dist/form/fields/BaseFormElement/typings.d.ts +15 -0
  126. package/dist/form/fields/BaseOptionsField/BaseOptionsField.d.ts +14 -0
  127. package/dist/form/fields/BaseOptionsField/index.d.ts +2 -0
  128. package/dist/form/fields/BaseOptionsField/typings.d.ts +9 -0
  129. package/dist/form/fields/BaseStringField/BaseStringField.d.ts +28 -0
  130. package/dist/form/fields/BaseStringField/index.d.ts +2 -0
  131. package/dist/form/fields/{StringOrTextField → BaseStringField}/typings.d.ts +1 -1
  132. package/dist/form/fields/BooleanField/BooleanField.d.ts +19 -16
  133. package/dist/form/fields/BooleanField/BooleanInput.d.ts +6 -2
  134. package/dist/form/fields/BooleanField/typings.d.ts +1 -2
  135. package/dist/form/fields/CheckboxListField/CheckboxListField.d.ts +16 -23
  136. package/dist/form/fields/CheckboxListField/CheckboxListInput.d.ts +6 -2
  137. package/dist/form/fields/CheckboxListField/typings.d.ts +2 -3
  138. package/dist/form/fields/DateField/DateField.d.ts +22 -14
  139. package/dist/form/fields/DateField/DateInput.d.ts +6 -2
  140. package/dist/form/fields/DateField/typings.d.ts +1 -2
  141. package/dist/form/fields/FieldSection/FieldSection.d.ts +39 -28
  142. package/dist/form/fields/FieldSection/FieldSectionLayout.d.ts +6 -5
  143. package/dist/form/fields/FieldSection/typings.d.ts +9 -11
  144. package/dist/form/fields/MultiSelectField/MultiSelectField.d.ts +18 -19
  145. package/dist/form/fields/MultiSelectField/MultiSelectInput.d.ts +5 -2
  146. package/dist/form/fields/MultiSelectField/typings.d.ts +2 -5
  147. package/dist/form/fields/MultiStringField/MultiStringField.d.ts +21 -29
  148. package/dist/form/fields/MultiStringField/MultiStringInput.d.ts +6 -6
  149. package/dist/form/fields/MultiStringField/typings.d.ts +5 -3
  150. package/dist/form/fields/NumberField/NumberField.d.ts +24 -23
  151. package/dist/form/fields/NumberField/NumberInput.d.ts +6 -2
  152. package/dist/form/fields/NumberField/typings.d.ts +1 -2
  153. package/dist/form/fields/OneTimePasswordField/OTPField.d.ts +38 -0
  154. package/dist/form/fields/OneTimePasswordField/OTPInput.d.ts +7 -0
  155. package/dist/form/fields/OneTimePasswordField/index.d.ts +3 -0
  156. package/dist/form/fields/OneTimePasswordField/typings.d.ts +8 -0
  157. package/dist/form/fields/PassFailField/PassFailField.d.ts +30 -0
  158. package/dist/form/fields/PassFailField/PassFailInput.d.ts +7 -0
  159. package/dist/form/fields/PassFailField/constants.d.ts +7 -0
  160. package/dist/form/fields/PassFailField/index.d.ts +5 -0
  161. package/dist/form/fields/PassFailField/typings.d.ts +17 -0
  162. package/dist/form/fields/PassFailField/utils.d.ts +7 -0
  163. package/dist/form/fields/RadioField/RadioField.d.ts +18 -24
  164. package/dist/form/fields/RadioField/RadioInput.d.ts +6 -2
  165. package/dist/form/fields/RadioField/typings.d.ts +2 -3
  166. package/dist/form/fields/ScanField/ScanField.d.ts +18 -14
  167. package/dist/form/fields/ScanField/ScanInput.d.ts +4 -5
  168. package/dist/form/fields/ScanField/typings.d.ts +1 -2
  169. package/dist/form/fields/SelectField/SelectField.d.ts +18 -17
  170. package/dist/form/fields/SelectField/SelectInput.d.ts +6 -2
  171. package/dist/form/fields/SelectField/typings.d.ts +2 -5
  172. package/dist/form/fields/StringField/StringField.d.ts +11 -19
  173. package/dist/form/fields/StringField/StringInput.d.ts +6 -2
  174. package/dist/form/fields/StringField/typings.d.ts +2 -6
  175. package/dist/form/fields/TextField/TextField.d.ts +10 -15
  176. package/dist/form/fields/TextField/TextInput.d.ts +6 -2
  177. package/dist/form/fields/TextField/typings.d.ts +2 -3
  178. package/dist/form/fields/UploadField/UploadField.d.ts +22 -23
  179. package/dist/form/fields/UploadField/UploadInput.d.ts +6 -2
  180. package/dist/form/fields/UploadField/typings.d.ts +1 -2
  181. package/dist/form/fields/_utils.d.ts +1 -0
  182. package/dist/form/fields/constants.d.ts +19 -111
  183. package/dist/form/fields/hooks.d.ts +30 -4
  184. package/dist/form/fields/index.d.ts +7 -3
  185. package/dist/form/fields/typings.d.ts +47 -34
  186. package/dist/form/fields/utils.d.ts +15 -16
  187. package/dist/form/index.d.ts +7 -1
  188. package/dist/form/modifiers/boolean.d.ts +3 -0
  189. package/dist/form/modifiers/conditionModifier.d.ts +17 -0
  190. package/dist/form/modifiers/date.d.ts +9 -0
  191. package/dist/form/modifiers/file.d.ts +4 -0
  192. package/dist/form/modifiers/index.d.ts +8 -0
  193. package/dist/form/modifiers/number.d.ts +10 -0
  194. package/dist/form/modifiers/passFailStatus.d.ts +6 -0
  195. package/dist/form/modifiers/string.d.ts +12 -0
  196. package/dist/form/modifiers/typings.d.ts +11 -0
  197. package/dist/form/modifiers/utils.d.ts +2 -0
  198. package/dist/form/renderer/{FormRenderer/FormRenderer.d.ts → FormRenderer.d.ts} +4 -4
  199. package/dist/form/renderer/constants.d.ts +2 -0
  200. package/dist/form/renderer/context.d.ts +2 -0
  201. package/dist/form/renderer/index.d.ts +1 -2
  202. package/dist/form/schema/FieldSchema.d.ts +22 -0
  203. package/dist/form/schema/context.d.ts +2 -0
  204. package/dist/form/schema/index.d.ts +1 -0
  205. package/dist/form/typings.d.ts +10 -19
  206. package/dist/form/utils.d.ts +11 -7
  207. package/dist/forms.js +28795 -18110
  208. package/dist/forms.umd.cjs +35305 -63
  209. package/dist/index.d.ts +1 -0
  210. package/package.json +9 -5
  211. package/dist/form/builder/DropDispatch.d.ts +0 -27
  212. package/dist/form/builder/FieldActions.d.ts +0 -13
  213. package/dist/form/builder/FieldBuilder.d.ts +0 -10
  214. package/dist/form/builder/FieldSectionWithActions.d.ts +0 -10
  215. package/dist/form/builder/FieldsEditor.d.ts +0 -1
  216. package/dist/form/builder/FormBuilder.d.ts +0 -26
  217. package/dist/form/fields/BaseField/hooks.d.ts +0 -393
  218. package/dist/form/fields/BaseSelectField/BaseSelectField.d.ts +0 -35
  219. package/dist/form/fields/BaseSelectField/index.d.ts +0 -2
  220. package/dist/form/fields/BaseSelectField/typings.d.ts +0 -6
  221. package/dist/form/fields/CustomField/CustomField.d.ts +0 -23
  222. package/dist/form/fields/CustomField/FieldInputClonerField/FieldInputCloner.d.ts +0 -7
  223. package/dist/form/fields/CustomField/FieldInputClonerField/FieldInputClonerField.d.ts +0 -18
  224. package/dist/form/fields/CustomField/FieldInputClonerField/index.d.ts +0 -3
  225. package/dist/form/fields/CustomField/FieldInputClonerField/typings.d.ts +0 -4
  226. package/dist/form/fields/CustomField/index.d.ts +0 -1
  227. package/dist/form/fields/StringOrTextField/StringOrTextField.d.ts +0 -34
  228. package/dist/form/fields/StringOrTextField/index.d.ts +0 -2
  229. package/dist/form/renderer/FormRenderer/constants.d.ts +0 -2
  230. package/dist/form/renderer/PatchForm/Field.d.ts +0 -17
  231. package/dist/form/renderer/PatchForm/Provider.d.ts +0 -28
  232. package/dist/form/renderer/PatchForm/index.d.ts +0 -2
  233. /package/dist/form/builder/{FieldSettingsPopover.d.ts → components/FieldSettingsPopover.d.ts} +0 -0
@@ -1,36 +1,13 @@
1
- import { ReactNode } from 'react';
2
- import { FormBuilderValues } from '../../builder';
3
- import { FormValues } from '../../typings';
4
- import { FieldSection } from '../FieldSection';
5
- import { AnyField, FieldTypeIdentifier, FieldValue, GetInputProps, InputFieldLevelValidator, InputFormLevelValidator, ISerializedField, ISerializedOnlyField } from '../typings';
6
- import { BaseSerializedField, BaseSerializedObject, FieldOptions } from './typings';
7
- export declare abstract class BaseFormElement<TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> {
8
- readonly type: TIdentifier;
9
- readonly identifier: string;
10
- readonly description: string | null;
11
- protected constructor(options: BaseSerializedObject);
12
- getId(): string;
13
- abstract getInput(props: GetInputProps<this>): ReactNode;
14
- static deserialize(_data: ISerializedField): AnyField | FieldSection;
15
- protected _serialize(): BaseSerializedObject<TIdentifier>;
16
- }
17
- export declare const emptyBaseField: {
18
- label: string;
19
- description: string;
20
- required: boolean;
21
- };
22
- export interface FieldCreationSchemaObject {
23
- field: AnyField;
24
- showDirectly: boolean;
25
- }
26
- export declare abstract class BaseField<TValue extends FieldValue, TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> extends BaseFormElement<TIdentifier> {
1
+ import { BaseFormElement } from '../BaseFormElement';
2
+ import { BaseSerializedField, FieldOptions, FieldValidator } from './typings';
3
+ export declare abstract class BaseField<TIdentifier extends string, TValue, TSerializedValue, This extends BaseField<TIdentifier, TValue, TSerializedValue, This>> extends BaseFormElement<TIdentifier, This> {
27
4
  static readonly fieldTypeName: string;
28
5
  static readonly fieldTypeDescription: string;
29
- readonly required: boolean;
30
- private readonly formValidators;
31
- private readonly fieldValidators;
32
- readonly label: string;
33
- readonly image: File | Promise<File> | undefined;
6
+ label: string;
7
+ description: string | null;
8
+ required: boolean;
9
+ private fieldValidators;
10
+ image: File | Promise<File> | undefined;
34
11
  /**
35
12
  * By default, validation doesn't execute on `onChange` events when editing fields
36
13
  * until the field has been `touched`. This can be overridden by setting this to `false`
@@ -39,14 +16,16 @@ export declare abstract class BaseField<TValue extends FieldValue, TIdentifier e
39
16
  */
40
17
  readonly onlyValidateAfterTouched: boolean;
41
18
  protected constructor(options: FieldOptions<TValue>);
42
- static getFieldCreationSchema(): FieldCreationSchemaObject[];
43
- protected isBlank(value: TValue | undefined): boolean;
44
- isEqual(value1: TValue | undefined, value2: TValue | undefined): boolean;
45
- getError(value: TValue | undefined, allValues?: FormValues | FormBuilderValues): string | undefined;
46
- protected _serialize(): BaseSerializedField<TIdentifier>;
47
- abstract serialize(): ISerializedOnlyField;
48
- getFieldValidators(): InputFieldLevelValidator<TValue>[];
49
- getFormValidators(): InputFormLevelValidator<TValue>[];
50
- encodeValueToJson(value: TValue): string;
51
- decodeJsonToValue(json: string): TValue;
19
+ getError(value: TValue): string | undefined;
20
+ serialize(): BaseSerializedField<TIdentifier>;
21
+ getOptions(): FieldOptions<TValue>;
22
+ setOptions(options: Partial<FieldOptions<TValue>>): void;
23
+ abstract isSerializedValueValid(value: unknown): value is TSerializedValue;
24
+ abstract serializeValue(value: TValue): TSerializedValue;
25
+ abstract isValueValid(value: unknown): value is TValue;
26
+ abstract areValuesEqual(value1: TValue, value2: TValue): boolean;
27
+ abstract deserializeValue(value: TSerializedValue): TValue;
28
+ isValueBlank(value: TValue): boolean;
29
+ abstract blankValue(): TValue;
30
+ getFieldValidators(): FieldValidator<TValue>[];
52
31
  }
@@ -1,3 +1,2 @@
1
1
  export * from './BaseField';
2
- export * from './hooks';
3
2
  export * from './typings';
@@ -1,16 +1,20 @@
1
- import { FieldTypeIdentifier, InputFieldLevelValidator, InputFormLevelValidator } from '../typings';
2
- export interface BaseSerializedObject<TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> {
1
+ import { BaseSerializedObject, FormElementOptions } from '../BaseFormElement';
2
+ import { AnyField } from '../typings';
3
+ export interface BaseSerializedField<TIdentifier extends string> extends BaseSerializedObject<TIdentifier> {
4
+ label: string;
3
5
  description?: string | null;
4
- identifier: string;
5
- type: TIdentifier;
6
+ required: boolean;
7
+ image?: File | Promise<File>;
6
8
  }
7
- export interface BaseSerializedField<TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> extends BaseSerializedObject<TIdentifier> {
9
+ export interface FieldOptions<TValue> extends FormElementOptions {
8
10
  label: string;
11
+ description?: string | null;
9
12
  required: boolean;
10
13
  image?: File | Promise<File>;
14
+ fieldValidators?: FieldValidator<TValue>[];
11
15
  }
12
- export interface FieldOptions<TValue> extends BaseSerializedField {
13
- fieldValidators?: InputFieldLevelValidator<TValue>[];
14
- formValidators?: InputFormLevelValidator<TValue>[];
16
+ export interface FieldCreationSchemaObject {
17
+ field: AnyField;
18
+ showDirectly: boolean;
15
19
  }
16
- export type ChildFieldOptions<TValue> = Omit<FieldOptions<TValue>, "type">;
20
+ export type FieldValidator<TValue> = (value: TValue) => string | null | undefined;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { Observable } from '../../Observable/Observable';
3
+ import { BaseSerializedObject, FieldRenderProps, FormElementOptions } from './typings';
4
+ export declare abstract class BaseFormElement<TIdentifier extends string, This extends BaseFormElement<TIdentifier, This>> extends Observable<This> {
5
+ abstract readonly type: TIdentifier;
6
+ identifier: string;
7
+ protected constructor(options: FormElementOptions);
8
+ getOptions(): FormElementOptions;
9
+ setOptions(options: Partial<FormElementOptions>): void;
10
+ abstract duplicate(identifier: string): BaseFormElement<TIdentifier, This>;
11
+ serialize(): BaseSerializedObject<TIdentifier>;
12
+ abstract render(props: FieldRenderProps): ReactNode;
13
+ }
@@ -0,0 +1,2 @@
1
+ export * from './BaseFormElement';
2
+ export * from './typings';
@@ -0,0 +1,15 @@
1
+ import { TextSize } from '@overmap-ai/blocks';
2
+ export interface FormElementOptions {
3
+ identifier: string;
4
+ }
5
+ export interface BaseSerializedObject<TIdentifier extends string> {
6
+ identifier: string;
7
+ type: TIdentifier;
8
+ }
9
+ export interface FieldRenderProps {
10
+ formId: string;
11
+ size?: TextSize;
12
+ disabled?: boolean;
13
+ onValuesChange?: (identifier: string, value: any) => void;
14
+ showInputOnly?: boolean;
15
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseField, FieldCreationSchemaObject, FieldOptions } from '../BaseField';
2
+ import { BaseSerializedSelectField, SelectFieldOption } from './typings';
3
+ export interface BaseOptionsFieldOptions<TValue> extends FieldOptions<TValue> {
4
+ options: string[] | SelectFieldOption[];
5
+ }
6
+ export declare abstract class BaseOptionsField<TIdentifier extends string, TValue, TSerializedValue, This extends BaseOptionsField<TIdentifier, TValue, TSerializedValue, This>> extends BaseField<TIdentifier, TValue, TSerializedValue, This> {
7
+ options: SelectFieldOption[];
8
+ readonly onlyValidateAfterTouched = false;
9
+ protected constructor(options: BaseOptionsFieldOptions<TValue>);
10
+ serialize(): BaseSerializedSelectField<TIdentifier>;
11
+ getOptions(): BaseOptionsFieldOptions<TValue>;
12
+ setOptions(options: Partial<BaseOptionsFieldOptions<TValue>>): void;
13
+ static getFieldCreationSchema(parentPath?: string): FieldCreationSchemaObject[];
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from './BaseOptionsField';
2
+ export * from './typings';
@@ -0,0 +1,9 @@
1
+ import { BaseSerializedField } from '../BaseField';
2
+ export interface SelectFieldOption {
3
+ value: string;
4
+ label: string;
5
+ }
6
+ export interface BaseSerializedSelectField<TIdentifier extends string> extends BaseSerializedField<TIdentifier> {
7
+ type: TIdentifier;
8
+ options: SelectFieldOption[];
9
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
2
+ import { NumberField } from '../NumberField';
3
+ import { BaseSerializedStringField } from './typings';
4
+ export interface BaseStringFieldOptions extends FieldOptions<string> {
5
+ minLength?: number;
6
+ maxLength?: number;
7
+ placeholder?: string;
8
+ }
9
+ export declare abstract class BaseStringField<TIdentifier extends string, This extends BaseStringField<TIdentifier, This>> extends BaseField<TIdentifier, string, string, This> {
10
+ minLength?: number;
11
+ maxLength: number;
12
+ placeholder?: string;
13
+ protected constructor(options: BaseStringFieldOptions);
14
+ static getFieldCreationSchema(parentPath?: string): {
15
+ field: NumberField;
16
+ showDirectly: boolean;
17
+ }[];
18
+ getFieldValidators(): FieldValidator<string>[];
19
+ serialize(): BaseSerializedStringField<TIdentifier>;
20
+ getOptions(): BaseStringFieldOptions;
21
+ setOptions(options: Partial<BaseStringFieldOptions>): void;
22
+ serializeValue(value: string): string;
23
+ deserializeValue(value: string): string;
24
+ isSerializedValueValid(value: unknown): value is string;
25
+ isValueValid(value: unknown): value is string;
26
+ blankValue(): string;
27
+ areValuesEqual(value1: string, value2: string): boolean;
28
+ }
@@ -0,0 +1,2 @@
1
+ export * from './BaseStringField';
2
+ export * from './typings';
@@ -1,5 +1,5 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface BaseSerializedStringField extends BaseSerializedField {
2
+ export interface BaseSerializedStringField<TIdentifier extends string> extends BaseSerializedField<TIdentifier> {
3
3
  minimum_length?: number;
4
4
  maximum_length: number;
5
5
  placeholder?: string;
@@ -1,22 +1,25 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiCheckboxCircleLine } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions } from '../BaseField';
4
- import { ComponentProps, ISerializedField } from '../typings';
2
+ import { BaseField, FieldOptions } from '../BaseField';
3
+ import { FieldRenderProps } from '../BaseFormElement';
4
+ import { SerializedField } from '../typings';
5
5
  import { SerializedBooleanField } from './typings';
6
- export declare const emptyBooleanField: {
7
- type: string;
8
- label: string;
9
- description: string;
10
- required: boolean;
11
- };
12
- export declare class BooleanField extends BaseField<boolean, "boolean"> {
6
+ export type BooleanFieldOptions = FieldOptions<boolean>;
7
+ export declare class BooleanField extends BaseField<"boolean", boolean, boolean, BooleanField> {
8
+ readonly type = "boolean";
13
9
  static readonly fieldTypeName = "Checkbox";
14
10
  static readonly fieldTypeDescription = "Perfect for both optional and required yes/no questions.";
15
- readonly onlyValidateAfterTouched = false;
16
- static Icon: typeof RiCheckboxCircleLine;
17
- constructor(options: ChildFieldOptions<boolean>);
18
- protected isBlank(value: boolean | undefined): boolean;
11
+ readonly onlyValidateAfterTouched: boolean;
12
+ constructor(options: BooleanFieldOptions);
19
13
  serialize(): SerializedBooleanField;
20
- static deserialize(data: ISerializedField): BooleanField;
21
- getInput(props: ComponentProps<BooleanField>): ReactNode;
14
+ getOptions(): BooleanFieldOptions;
15
+ setOptions(options: Partial<BooleanFieldOptions>): void;
16
+ duplicate(identifier: string): BooleanField;
17
+ static deserialize(data: SerializedField): BooleanField;
18
+ serializeValue(value: boolean): boolean;
19
+ deserializeValue(value: boolean): boolean;
20
+ render(props: FieldRenderProps): ReactNode;
21
+ isSerializedValueValid(value: unknown): value is boolean;
22
+ isValueValid(value: unknown): value is boolean;
23
+ blankValue(): boolean;
24
+ areValuesEqual(value1: boolean, value2: boolean): boolean;
22
25
  }
@@ -1,3 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
2
2
  import { BooleanField } from './BooleanField';
3
- export declare const BooleanInput: import('react').MemoExoticComponent<(props: ComponentProps<BooleanField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface BooleanInputProps extends FieldRenderProps {
4
+ field: BooleanField;
5
+ }
6
+ export declare const BooleanInput: import('react').MemoExoticComponent<(props: BooleanInputProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export {};
@@ -1,4 +1,3 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedBooleanField extends BaseSerializedField {
3
- type: "boolean";
2
+ export interface SerializedBooleanField extends BaseSerializedField<"boolean"> {
4
3
  }
@@ -1,31 +1,24 @@
1
1
  import { ReactNode } from 'react';
2
- import { BaseField, ChildFieldOptions } from '../BaseField';
3
- import { SelectFieldOption } from '../BaseSelectField';
4
- import { MultiStringField } from '../MultiStringField';
5
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { FieldRenderProps } from '../BaseFormElement';
3
+ import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
6
4
  import { SerializedCheckboxListField } from './typings';
7
- export declare const emptyCheckboxListField: {
8
- type: string;
9
- options: never[];
10
- label: string;
11
- description: string;
12
- required: boolean;
13
- };
14
- export interface CheckboxListFieldConfig extends ChildFieldOptions<string[]> {
15
- options: SelectFieldOption[];
5
+ export interface CheckboxListFieldOptions extends BaseOptionsFieldOptions<string[]> {
16
6
  }
17
- export declare class CheckboxListField extends BaseField<string[], "checkbox-list"> {
18
- readonly options: SelectFieldOption[];
7
+ export declare class CheckboxListField extends BaseOptionsField<"checkbox-list", string[], string[], CheckboxListField> {
8
+ readonly type = "checkbox-list";
19
9
  readonly onlyValidateAfterTouched = false;
20
10
  static readonly fieldTypeName = "Checkbox list";
21
11
  static readonly fieldTypeDescription = "Allows the user to select a multiple options from a list.";
22
- static Icon: import('react-icons').IconType;
23
- constructor(config: CheckboxListFieldConfig);
12
+ constructor(options: CheckboxListFieldOptions);
24
13
  serialize(): SerializedCheckboxListField;
25
- static deserialize(data: ISerializedField): CheckboxListField;
26
- static getFieldCreationSchema(parentPath?: string): {
27
- field: MultiStringField;
28
- showDirectly: boolean;
29
- }[];
30
- getInput(props: GetInputProps<this>): ReactNode;
14
+ getOptions(): CheckboxListFieldOptions;
15
+ duplicate(identifier: string): CheckboxListField;
16
+ static deserialize(data: SerializedCheckboxListField): CheckboxListField;
17
+ serializeValue(value: string[]): string[];
18
+ deserializeValue(value: string[]): string[];
19
+ render(props: FieldRenderProps): ReactNode;
20
+ isSerializedValueValid(value: unknown): value is string[];
21
+ isValueValid(value: unknown): value is string[];
22
+ blankValue(): string[];
23
+ areValuesEqual(value1: string[], value2: string[]): boolean;
31
24
  }
@@ -1,3 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
2
2
  import { CheckboxListField } from './CheckboxListField';
3
- export declare const CheckboxListInput: import('react').MemoExoticComponent<(props: ComponentProps<CheckboxListField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface CheckboxListInputProps extends FieldRenderProps {
4
+ field: CheckboxListField;
5
+ }
6
+ export declare const CheckboxListInput: import('react').NamedExoticComponent<CheckboxListInputProps>;
7
+ export {};
@@ -1,6 +1,5 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- import { SelectFieldOption } from '../BaseSelectField';
3
- export interface SerializedCheckboxListField extends BaseSerializedField {
4
- type: "checkbox-list";
2
+ import { SelectFieldOption } from '../BaseOptionsField';
3
+ export interface SerializedCheckboxListField extends BaseSerializedField<"checkbox-list"> {
5
4
  options: SelectFieldOption[];
6
5
  }
@@ -1,21 +1,29 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiCalendarLine } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions } from '../BaseField';
4
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { BaseField, FieldOptions } from '../BaseField';
3
+ import { FieldRenderProps } from '../BaseFormElement';
5
4
  import { SerializedDateField } from './typings';
6
- export declare const emptyDateField: {
7
- type: string;
8
- label: string;
9
- description: string;
10
- required: boolean;
5
+ export type SerializedDateRange = {
6
+ to: string | null;
7
+ from: string | null;
11
8
  };
12
- export declare class DateField extends BaseField<string, "date"> {
9
+ export interface DateFieldOptions extends FieldOptions<Date | null> {
10
+ }
11
+ export declare class DateField extends BaseField<"date", Date | null, string | null, DateField> {
12
+ readonly type = "date";
13
13
  static readonly fieldTypeName = "Date";
14
14
  static readonly fieldTypeDescription = "Allows specifying a date.";
15
- static Icon: typeof RiCalendarLine;
16
- readonly onlyValidateAfterTouched = false;
17
- constructor(options: ChildFieldOptions<string>);
15
+ readonly onlyValidateAfterTouched: boolean;
16
+ constructor(options: DateFieldOptions);
18
17
  serialize(): SerializedDateField;
19
- static deserialize(data: ISerializedField): DateField;
20
- getInput(props: GetInputProps<this>): ReactNode;
18
+ getOptions(): DateFieldOptions;
19
+ duplicate(identifier: string): DateField;
20
+ static deserialize(data: SerializedDateField): DateField;
21
+ setOptions(options: Partial<DateFieldOptions>): void;
22
+ serializeValue(value: Date | null): string | null;
23
+ deserializeValue(value: string | null): Date | null;
24
+ render(props: FieldRenderProps): ReactNode;
25
+ isSerializedValueValid(value: unknown): value is string | null;
26
+ isValueValid(value: unknown): value is Date | null;
27
+ blankValue(): Date | null;
28
+ areValuesEqual(value1: Date | null, value2: Date | null): boolean;
21
29
  }
@@ -1,3 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
2
2
  import { DateField } from './DateField';
3
- export declare const DateInput: import('react').MemoExoticComponent<(props: ComponentProps<DateField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface DateInputProps extends FieldRenderProps {
4
+ field: DateField;
5
+ }
6
+ export declare const DateInput: import('react').MemoExoticComponent<(props: DateInputProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export {};
@@ -1,4 +1,3 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedDateField extends BaseSerializedField {
3
- type: "date";
2
+ export interface SerializedDateField extends BaseSerializedField<"date"> {
4
3
  }
@@ -1,36 +1,47 @@
1
1
  import { ReactNode } from 'react';
2
- import { FormBuilderValues } from '../../builder';
3
- import { FormValues } from '../../typings';
4
- import { BaseFormElement, BaseSerializedObject } from '../BaseField';
5
- import { BooleanField } from '../BooleanField';
6
- import { AnyField, GetInputProps, ISerializedField } from '../typings';
7
- import { SerializedCondition, SerializedFieldSection } from './typings';
8
- interface FieldSectionOptions extends Omit<BaseSerializedObject, "type"> {
2
+ import { Condition, FieldConditionManager } from '../../conditions';
3
+ import { FieldValues } from '../../typings';
4
+ import { BaseFormElement, FieldRenderProps, FormElementOptions } from '../BaseFormElement';
5
+ import { Field, FieldsManager } from '../typings';
6
+ import { FieldSectionConditions, SerializedFieldSection } from './typings';
7
+ export interface FieldSectionOptions extends FormElementOptions {
9
8
  label?: string | null;
10
- conditional?: boolean;
11
- condition?: SerializedCondition | null;
12
- fields: AnyField[];
9
+ description?: string | null;
10
+ conditions?: FieldSectionConditions;
11
+ fields: Field[];
13
12
  }
14
- export declare class FieldSection extends BaseFormElement<"section"> {
13
+ export declare class FieldSection extends BaseFormElement<"section", FieldSection> implements FieldConditionManager<Condition>, FieldsManager {
15
14
  static readonly fieldTypeName = "Section";
16
15
  static readonly fieldTypeDescription = "Sections can be useful for grouping fields together. They can also be conditionally shown or hidden.";
17
- readonly label: string | null;
18
- readonly fields: AnyField[];
19
- readonly condition: SerializedCondition | null;
16
+ readonly type = "section";
17
+ label: string | null;
18
+ description: string | null;
19
+ conditions: FieldSectionConditions;
20
+ fields: Field[];
20
21
  constructor(options: FieldSectionOptions);
21
- static getFieldCreationSchema(options: ISerializedField[], parentPath?: string): ({
22
- field: BooleanField;
23
- showDirectly: boolean;
24
- } | {
25
- field: FieldSection;
26
- showDirectly: boolean;
27
- })[];
28
- static deserialize(data: ISerializedField): FieldSection;
29
- conditional(): this is {
30
- condition: SerializedCondition;
31
- };
32
22
  serialize(): SerializedFieldSection;
33
- getErrors(allValues: FormValues | FormBuilderValues): Record<string, string>;
34
- getInput(props: GetInputProps<this>): ReactNode;
23
+ static deserialize(data: SerializedFieldSection): FieldSection;
24
+ getOptions(): FieldSectionOptions;
25
+ duplicate(identifier: string): FieldSection;
26
+ setOptions(options: Partial<FieldSectionOptions>): void;
27
+ getErrors(values: FieldValues): Record<string, string>;
28
+ private fieldObserver;
29
+ private initFields;
30
+ getFields(): Field[];
31
+ addField(field: Field): void;
32
+ addFields(fields: Field[]): void;
33
+ moveField(sourceIndex: number, targetIndex: number): void;
34
+ removeField(field: Field): void;
35
+ removeFields(fields: Field[]): void;
36
+ private conditionObserver;
37
+ private initConditions;
38
+ getConditions(identifier: string): Condition[];
39
+ addCondition(identifier: string, condition: Condition): void;
40
+ addConditions(identifier: string, conditions: Condition[]): void;
41
+ removeCondition(identifier: string, condition: Condition): void;
42
+ removeConditions(identifier: string, conditions: Condition[]): void;
43
+ getConditionals(): Set<string>;
44
+ addConditional(identifier: string): void;
45
+ removeConditional(identifier: string): void;
46
+ render(props: FieldRenderProps): ReactNode;
35
47
  }
36
- export {};
@@ -1,6 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
2
2
  import { FieldSection } from './FieldSection';
3
- /**
4
- * Used by FieldSection to render a section of fields.
5
- */
6
- export declare const FieldSectionLayout: import('react').MemoExoticComponent<(props: ComponentProps<FieldSection>) => import("react/jsx-runtime").JSX.Element | null>;
3
+ interface FieldSectionLayoutProps extends FieldRenderProps {
4
+ fieldSection: FieldSection;
5
+ }
6
+ export declare const FieldSectionLayout: import('react').NamedExoticComponent<FieldSectionLayoutProps>;
7
+ export {};
@@ -1,13 +1,11 @@
1
- import { BaseSerializedObject } from '../BaseField';
2
- import { FieldValue, ISerializedField } from '../typings';
3
- export interface SerializedCondition<TValue extends FieldValue = FieldValue> {
4
- identifier: string;
5
- value: TValue;
6
- }
7
- export interface SerializedFieldSection extends BaseSerializedObject {
1
+ import { Condition, SerializedCondition } from '../../conditions';
2
+ import { BaseSerializedObject } from '../BaseFormElement';
3
+ import { SerializedOnlyField } from '../typings';
4
+ export type FieldSectionConditions = Record<string, Condition[]>;
5
+ export type SerializedFieldSectionConditions = Record<string, SerializedCondition[]>;
6
+ export interface SerializedFieldSection extends BaseSerializedObject<"section"> {
8
7
  label: string | null;
9
- type: "section";
10
- conditional: boolean;
11
- condition: SerializedCondition | null;
12
- fields: Exclude<ISerializedField, SerializedFieldSection>[];
8
+ description?: string | null;
9
+ conditions: SerializedFieldSectionConditions;
10
+ fields: SerializedOnlyField[];
13
11
  }
@@ -1,27 +1,26 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiCheckboxLine } from 'react-icons/ri';
3
- import { BaseSelectField, BaseSelectFieldOptions, SelectFieldOptionValue } from '../BaseSelectField';
4
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { FieldRenderProps } from '../BaseFormElement';
3
+ import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
5
4
  import { SerializedMultiSelectField } from './typings';
6
- /**
7
- * The options passed to the constructor of MultiSelectField.
8
- */
9
- export type MultiSelectFieldOptions = Omit<BaseSelectFieldOptions<SelectFieldOptionValue[], "multi-select">, "type">;
10
- export declare const emptyMultiSelectField: {
11
- type: string;
12
- options: never[];
13
- label: string;
14
- description: string;
15
- required: boolean;
5
+ export type MultiSelectFieldOptions = BaseOptionsFieldOptions<string[]> & {
6
+ placeholder?: string;
16
7
  };
17
- export declare class MultiSelectField extends BaseSelectField<SelectFieldOptionValue[], "multi-select"> {
8
+ export declare class MultiSelectField extends BaseOptionsField<"multi-select", string[], string[], MultiSelectField> {
9
+ readonly type = "multi-select";
18
10
  static readonly fieldTypeName = "Multi-select";
19
11
  static readonly fieldTypeDescription = "Allows the user to select a multiple options from a list of options.";
20
- static Icon: typeof RiCheckboxLine;
12
+ placeholder?: string;
21
13
  constructor(options: MultiSelectFieldOptions);
22
- protected isBlank(value: SelectFieldOptionValue[] | undefined): boolean;
23
- isEqual(value1: SelectFieldOptionValue[] | undefined, value2: SelectFieldOptionValue[] | undefined): boolean;
24
14
  serialize(): SerializedMultiSelectField;
25
- static deserialize(data: ISerializedField): MultiSelectField;
26
- getInput(props: GetInputProps<this>): ReactNode;
15
+ getOptions(): MultiSelectFieldOptions;
16
+ duplicate(identifier: string): MultiSelectField;
17
+ setOptions(options: Partial<MultiSelectFieldOptions>): void;
18
+ static deserialize(data: SerializedMultiSelectField): MultiSelectField;
19
+ serializeValue(value: string[]): string[];
20
+ deserializeValue(value: string[]): string[];
21
+ render(props: FieldRenderProps): ReactNode;
22
+ isSerializedValueValid(value: unknown): value is string[];
23
+ isValueValid(value: unknown): value is string[];
24
+ blankValue(): string[];
25
+ areValuesEqual(value1: string[], value2: string[]): boolean;
27
26
  }
@@ -1,3 +1,6 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
2
2
  import { MultiSelectField } from './MultiSelectField';
3
- export declare const MultiSelectInput: import('react').MemoExoticComponent<(props: ComponentProps<MultiSelectField>) => import("react/jsx-runtime").JSX.Element>;
3
+ export interface MultiSelectInputProps extends FieldRenderProps {
4
+ field: MultiSelectField;
5
+ }
6
+ export declare const MultiSelectInput: import('react').MemoExoticComponent<(props: MultiSelectInputProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1,7 +1,4 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- import { SelectFieldOption } from '../BaseSelectField';
3
- export interface SerializedMultiSelectField extends BaseSerializedField {
4
- type: "multi-select";
5
- options: SelectFieldOption[];
1
+ import { BaseSerializedSelectField } from '../BaseOptionsField';
2
+ export interface SerializedMultiSelectField extends BaseSerializedSelectField<"multi-select"> {
6
3
  placeholder?: string;
7
4
  }