@overmap-ai/forms 1.0.32-react-flow-david.1 → 1.0.32-react-flow-david-fixes.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 (205) hide show
  1. package/dist/form/builder/Root.d.ts +13 -0
  2. package/dist/form/builder/{FieldBuilder.d.ts → components/FieldBuilder.d.ts} +3 -3
  3. package/dist/form/builder/components/FieldDropdownMenu.d.ts +9 -0
  4. package/dist/form/builder/components/FieldSectionBuilder.d.ts +5 -0
  5. package/dist/form/builder/components/FieldSectionDropdownMenu.d.ts +9 -0
  6. package/dist/form/builder/{FieldSectionWithActions.d.ts → components/FieldSectionWithActions.d.ts} +2 -5
  7. package/dist/form/builder/{FieldWithActions.d.ts → components/FieldWithActions.d.ts} +4 -3
  8. package/dist/form/builder/components/index.d.ts +6 -0
  9. package/dist/form/builder/constants.d.ts +3 -18
  10. package/dist/form/builder/context.d.ts +1 -1
  11. package/dist/form/builder/flow/FieldSectionConditionEdge.d.ts +3 -0
  12. package/dist/form/builder/flow/FieldSectionNode.d.ts +3 -0
  13. package/dist/form/builder/flow/FlowBuilder.d.ts +1 -0
  14. package/dist/form/builder/flow/constants.d.ts +3 -0
  15. package/dist/form/builder/flow/index.d.ts +2 -0
  16. package/dist/form/builder/flow/layout.d.ts +2 -0
  17. package/dist/form/builder/flow/typings.d.ts +14 -0
  18. package/dist/form/builder/hooks.d.ts +3 -3
  19. package/dist/form/builder/index.d.ts +8 -1
  20. package/dist/form/builder/list/FieldSectionConditionalItem.d.ts +7 -0
  21. package/dist/form/builder/list/ListBuilder.d.ts +1 -0
  22. package/dist/form/builder/list/index.d.ts +1 -0
  23. package/dist/form/builder/preview/Preview.d.ts +4 -0
  24. package/dist/form/builder/preview/index.d.ts +1 -0
  25. package/dist/form/builder/utils.d.ts +4 -25
  26. package/dist/form/conditions/BaseCondition/BaseCondition.d.ts +29 -0
  27. package/dist/form/conditions/BaseCondition/index.d.ts +2 -0
  28. package/dist/form/conditions/BaseCondition/typings.d.ts +18 -0
  29. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldCondition.d.ts +17 -0
  30. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldConditionCell.d.ts +6 -0
  31. package/dist/form/conditions/BooleanFieldCondition/index.d.ts +3 -0
  32. package/dist/form/conditions/BooleanFieldCondition/typings.d.ts +4 -0
  33. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldCondition.d.ts +20 -0
  34. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldConditionCell.d.ts +6 -0
  35. package/dist/form/conditions/CheckboxListFieldCondition/index.d.ts +3 -0
  36. package/dist/form/conditions/CheckboxListFieldCondition/typings.d.ts +4 -0
  37. package/dist/form/conditions/DateFieldCondition/DateFieldCondition.d.ts +22 -0
  38. package/dist/form/conditions/DateFieldCondition/DateFieldConditionCell.d.ts +6 -0
  39. package/dist/form/conditions/DateFieldCondition/index.d.ts +3 -0
  40. package/dist/form/conditions/DateFieldCondition/typings.d.ts +4 -0
  41. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldCondition.d.ts +28 -0
  42. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldConditionCell.d.ts +6 -0
  43. package/dist/form/conditions/MultiSelectFieldCondition/index.d.ts +3 -0
  44. package/dist/form/conditions/MultiSelectFieldCondition/typings.d.ts +4 -0
  45. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldCondition.d.ts +20 -0
  46. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldConditionCell.d.ts +6 -0
  47. package/dist/form/conditions/MultiStringFieldCondition/index.d.ts +3 -0
  48. package/dist/form/conditions/MultiStringFieldCondition/typings.d.ts +4 -0
  49. package/dist/form/conditions/NumberFieldCondition/NumberFieldCondition.d.ts +34 -0
  50. package/dist/form/conditions/NumberFieldCondition/NumberFieldConditionCell.d.ts +6 -0
  51. package/dist/form/conditions/NumberFieldCondition/index.d.ts +3 -0
  52. package/dist/form/conditions/NumberFieldCondition/typings.d.ts +4 -0
  53. package/dist/form/conditions/RadioFieldCondition/RadioFieldCondition.d.ts +19 -0
  54. package/dist/form/conditions/RadioFieldCondition/RadioFieldConditionCell.d.ts +6 -0
  55. package/dist/form/conditions/RadioFieldCondition/index.d.ts +3 -0
  56. package/dist/form/conditions/RadioFieldCondition/typings.d.ts +4 -0
  57. package/dist/form/conditions/ScanFieldCondition/ScanFieldCondition.d.ts +19 -0
  58. package/dist/form/conditions/ScanFieldCondition/ScanFieldConditionCell.d.ts +6 -0
  59. package/dist/form/conditions/ScanFieldCondition/index.d.ts +3 -0
  60. package/dist/form/conditions/ScanFieldCondition/typings.d.ts +4 -0
  61. package/dist/form/conditions/SelectFieldCondition/SelectFieldCondition.d.ts +19 -0
  62. package/dist/form/conditions/SelectFieldCondition/SelectFieldConditionCell.d.ts +6 -0
  63. package/dist/form/conditions/SelectFieldCondition/index.d.ts +3 -0
  64. package/dist/form/conditions/SelectFieldCondition/typings.d.ts +4 -0
  65. package/dist/form/conditions/StringFieldCondition/StringFieldCondition.d.ts +19 -0
  66. package/dist/form/conditions/StringFieldCondition/StringFieldConditionCell.d.ts +6 -0
  67. package/dist/form/conditions/StringFieldCondition/index.d.ts +3 -0
  68. package/dist/form/conditions/StringFieldCondition/typings.d.ts +4 -0
  69. package/dist/form/conditions/TextFieldCondition/TextFieldCondition.d.ts +20 -0
  70. package/dist/form/conditions/TextFieldCondition/TextFieldConditionCell.d.ts +6 -0
  71. package/dist/form/conditions/TextFieldCondition/index.d.ts +3 -0
  72. package/dist/form/conditions/TextFieldCondition/typings.d.ts +4 -0
  73. package/dist/form/conditions/UploadFieldCondition/UploadFieldCondition.d.ts +17 -0
  74. package/dist/form/conditions/UploadFieldCondition/UploadFieldConditionCell.d.ts +6 -0
  75. package/dist/form/conditions/UploadFieldCondition/index.d.ts +3 -0
  76. package/dist/form/conditions/UploadFieldCondition/typings.d.ts +4 -0
  77. package/dist/form/conditions/components/ConditionModifierDropdown.d.ts +4 -8
  78. package/dist/form/conditions/components/RemoveConditionButton.d.ts +8 -6
  79. package/dist/form/conditions/components/index.d.ts +7 -0
  80. package/dist/form/conditions/index.d.ts +15 -1
  81. package/dist/form/conditions/typings.d.ts +25 -13
  82. package/dist/form/conditions/utils.d.ts +19 -2
  83. package/dist/form/fields/BaseField/BaseField.d.ts +17 -48
  84. package/dist/form/fields/BaseField/hooks.d.ts +21 -17
  85. package/dist/form/fields/BaseField/typings.d.ts +9 -17
  86. package/dist/form/fields/BaseFormElement/BaseFormElement.d.ts +14 -0
  87. package/dist/form/fields/BaseFormElement/index.d.ts +2 -0
  88. package/dist/form/fields/BaseFormElement/typings.d.ts +9 -0
  89. package/dist/form/fields/BaseOptionsField/BaseOptionsField.d.ts +18 -0
  90. package/dist/form/fields/BaseOptionsField/index.d.ts +2 -0
  91. package/dist/form/fields/BaseOptionsField/typings.d.ts +9 -0
  92. package/dist/form/fields/BaseStringField/BaseStringField.d.ts +25 -0
  93. package/dist/form/fields/BaseStringField/index.d.ts +2 -0
  94. package/dist/form/fields/{StringOrTextField → BaseStringField}/typings.d.ts +1 -1
  95. package/dist/form/fields/BooleanField/BooleanField.d.ts +15 -23
  96. package/dist/form/fields/BooleanField/BooleanInput.d.ts +5 -1
  97. package/dist/form/fields/BooleanField/typings.d.ts +1 -2
  98. package/dist/form/fields/CheckboxListField/CheckboxListField.d.ts +12 -33
  99. package/dist/form/fields/CheckboxListField/CheckboxListInput.d.ts +5 -1
  100. package/dist/form/fields/CheckboxListField/typings.d.ts +2 -3
  101. package/dist/form/fields/DateField/DateField.d.ts +19 -23
  102. package/dist/form/fields/DateField/DateInput.d.ts +5 -1
  103. package/dist/form/fields/DateField/typings.d.ts +1 -2
  104. package/dist/form/fields/FieldSection/FieldSection.d.ts +38 -21
  105. package/dist/form/fields/FieldSection/FieldSectionLayout.d.ts +5 -4
  106. package/dist/form/fields/FieldSection/typings.d.ts +9 -7
  107. package/dist/form/fields/MultiSelectField/MultiSelectField.d.ts +15 -29
  108. package/dist/form/fields/MultiSelectField/MultiSelectInput.d.ts +4 -1
  109. package/dist/form/fields/MultiSelectField/typings.d.ts +2 -5
  110. package/dist/form/fields/MultiStringField/MultiStringField.d.ts +18 -38
  111. package/dist/form/fields/MultiStringField/MultiStringInput.d.ts +5 -5
  112. package/dist/form/fields/MultiStringField/typings.d.ts +5 -3
  113. package/dist/form/fields/NumberField/NumberField.d.ts +20 -34
  114. package/dist/form/fields/NumberField/NumberInput.d.ts +5 -1
  115. package/dist/form/fields/NumberField/typings.d.ts +1 -2
  116. package/dist/form/fields/RadioField/RadioField.d.ts +13 -33
  117. package/dist/form/fields/RadioField/RadioInput.d.ts +5 -1
  118. package/dist/form/fields/RadioField/typings.d.ts +2 -3
  119. package/dist/form/fields/ScanField/ScanField.d.ts +14 -23
  120. package/dist/form/fields/ScanField/ScanInput.d.ts +4 -1
  121. package/dist/form/fields/ScanField/typings.d.ts +1 -2
  122. package/dist/form/fields/SelectField/SelectField.d.ts +14 -27
  123. package/dist/form/fields/SelectField/SelectInput.d.ts +5 -1
  124. package/dist/form/fields/SelectField/typings.d.ts +2 -5
  125. package/dist/form/fields/StringField/StringField.d.ts +11 -21
  126. package/dist/form/fields/StringField/StringInput.d.ts +5 -1
  127. package/dist/form/fields/StringField/typings.d.ts +2 -6
  128. package/dist/form/fields/TextField/TextField.d.ts +10 -17
  129. package/dist/form/fields/TextField/TextInput.d.ts +5 -1
  130. package/dist/form/fields/TextField/typings.d.ts +2 -3
  131. package/dist/form/fields/UploadField/UploadField.d.ts +17 -29
  132. package/dist/form/fields/UploadField/UploadInput.d.ts +5 -1
  133. package/dist/form/fields/UploadField/typings.d.ts +1 -2
  134. package/dist/form/fields/constants.d.ts +3 -91
  135. package/dist/form/fields/hooks.d.ts +4 -4
  136. package/dist/form/fields/index.d.ts +4 -3
  137. package/dist/form/fields/typings.d.ts +36 -30
  138. package/dist/form/fields/utils.d.ts +10 -15
  139. package/dist/form/index.d.ts +1 -1
  140. package/dist/form/{conditions/modifiers → modifiers}/boolean.d.ts +1 -1
  141. package/dist/form/{conditions/modifier → modifiers}/conditionModifier.d.ts +3 -3
  142. package/dist/form/modifiers/date.d.ts +9 -0
  143. package/dist/form/{conditions/modifiers → modifiers}/file.d.ts +1 -1
  144. package/dist/form/{conditions/modifiers → modifiers}/index.d.ts +3 -0
  145. package/dist/form/{conditions/modifiers → modifiers}/number.d.ts +4 -1
  146. package/dist/form/{conditions/modifiers → modifiers}/string.d.ts +1 -1
  147. package/dist/form/modifiers/typings.d.ts +11 -0
  148. package/dist/form/modifiers/utils.d.ts +2 -0
  149. package/dist/form/observable/Observable.d.ts +5 -0
  150. package/dist/form/renderer/{FormRenderer/FormRenderer.d.ts → FormRenderer.d.ts} +4 -4
  151. package/dist/form/renderer/constants.d.ts +2 -0
  152. package/dist/form/renderer/context.d.ts +2 -7
  153. package/dist/form/renderer/index.d.ts +1 -2
  154. package/dist/form/schema/FieldSchema.d.ts +16 -0
  155. package/dist/form/schema/context.d.ts +2 -0
  156. package/dist/form/schema/index.d.ts +1 -0
  157. package/dist/form/typings.d.ts +6 -19
  158. package/dist/form/utils.d.ts +5 -5
  159. package/dist/forms.js +25675 -16112
  160. package/dist/forms.umd.cjs +35993 -62
  161. package/package.json +7 -5
  162. package/dist/form/builder/DropDispatch.d.ts +0 -27
  163. package/dist/form/builder/FieldActions.d.ts +0 -13
  164. package/dist/form/builder/FieldSectionBuilder.d.ts +0 -9
  165. package/dist/form/builder/FieldSectionConditionEdge.d.ts +0 -4
  166. package/dist/form/builder/FieldSectionConditionMenu.d.ts +0 -10
  167. package/dist/form/builder/FieldSectionConditionalItem.d.ts +0 -11
  168. package/dist/form/builder/FieldSectionNode.d.ts +0 -16
  169. package/dist/form/builder/FieldsEditor.d.ts +0 -1
  170. package/dist/form/builder/FormBuilder.d.ts +0 -26
  171. package/dist/form/builder/flow/CustomNode.d.ts +0 -1
  172. package/dist/form/builder/flow/FlowEditor.d.ts +0 -1
  173. package/dist/form/builder/flow/NodeSectionEditor.d.ts +0 -5
  174. package/dist/form/builder/flow/SectionSidePanel.d.ts +0 -5
  175. package/dist/form/conditions/components/BooleanFieldConditionCell.d.ts +0 -5
  176. package/dist/form/conditions/components/CheckboxListFieldConditionCell.d.ts +0 -5
  177. package/dist/form/conditions/components/DateFieldConditionCell.d.ts +0 -5
  178. package/dist/form/conditions/components/MultiSelectFieldConditionCell.d.ts +0 -5
  179. package/dist/form/conditions/components/MultiStringFieldConditionCell.d.ts +0 -5
  180. package/dist/form/conditions/components/NumberFieldConditionCell.d.ts +0 -5
  181. package/dist/form/conditions/components/RadioFieldConditionCell.d.ts +0 -5
  182. package/dist/form/conditions/components/ScanFieldConditionCell.d.ts +0 -5
  183. package/dist/form/conditions/components/SelectFieldConditionCell.d.ts +0 -5
  184. package/dist/form/conditions/components/StringFieldConditionCell.d.ts +0 -5
  185. package/dist/form/conditions/components/TextFieldConditionCell.d.ts +0 -5
  186. package/dist/form/conditions/components/UploadFieldConditionCell.d.ts +0 -5
  187. package/dist/form/conditions/condition/condition.d.ts +0 -26
  188. package/dist/form/conditions/condition/index.d.ts +0 -1
  189. package/dist/form/conditions/condition/typings.d.ts +0 -16
  190. package/dist/form/conditions/hooks.d.ts +0 -10
  191. package/dist/form/conditions/manager/conditionManager.d.ts +0 -24
  192. package/dist/form/conditions/manager/index.d.ts +0 -2
  193. package/dist/form/conditions/manager/typings.d.ts +0 -1
  194. package/dist/form/conditions/modifiers/date.d.ts +0 -5
  195. package/dist/form/fields/BaseSelectField/BaseSelectField.d.ts +0 -35
  196. package/dist/form/fields/BaseSelectField/index.d.ts +0 -2
  197. package/dist/form/fields/BaseSelectField/typings.d.ts +0 -5
  198. package/dist/form/fields/StringOrTextField/StringOrTextField.d.ts +0 -42
  199. package/dist/form/fields/StringOrTextField/index.d.ts +0 -2
  200. package/dist/form/renderer/FormRenderer/constants.d.ts +0 -2
  201. package/dist/form/renderer/PatchForm/Field.d.ts +0 -17
  202. package/dist/form/renderer/PatchForm/Provider.d.ts +0 -28
  203. package/dist/form/renderer/PatchForm/index.d.ts +0 -2
  204. package/dist/forms.css +0 -1
  205. /package/dist/form/builder/{FieldSettingsPopover.d.ts → components/FieldSettingsPopover.d.ts} +0 -0
@@ -1,45 +1,27 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiHashtag } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions, ConditionRenderProps } from '../BaseField';
2
+ import { BaseField, FieldOptions } from '../BaseField';
4
3
  import { BooleanField } from '../BooleanField';
5
- import { GetInputProps, InputFieldLevelValidator, InputValidator, ISerializedField } from '../typings';
4
+ import { ComponentProps, FieldValidator } from '../typings';
6
5
  import { SerializedNumberField } from './typings';
7
- export declare const emptyNumberField: {
8
- type: string;
9
- minimum: number;
10
- maximum: number;
11
- integers: boolean;
12
- label: string;
13
- description: string;
14
- required: boolean;
6
+ export type NumberRange = {
7
+ to: number | null;
8
+ from: number | null;
15
9
  };
16
- export interface NumberFieldOptions extends ChildFieldOptions<number> {
10
+ export interface NumberFieldOptions extends FieldOptions<number> {
17
11
  maximum?: number;
18
12
  minimum?: number;
19
13
  integers?: boolean;
20
14
  placeholder?: string;
21
15
  }
22
- export declare class NumberField extends BaseField<"number", number, number, number> {
16
+ export declare class NumberField extends BaseField<"number", number, number, NumberField> {
17
+ readonly type = "number";
23
18
  static readonly fieldTypeName = "Number";
24
19
  static readonly fieldTypeDescription = "Allows specifying a number within a given range.";
25
- readonly minimum: number | undefined;
26
- readonly maximum: number | undefined;
27
- readonly integers: boolean;
28
- readonly placeholder: string;
29
- static Icon: typeof RiHashtag;
30
- readonly defaultConditionValue: number | undefined;
31
- readonly defaultConditionModifier: keyof typeof this.modifiers;
32
- readonly modifiers: {
33
- equals: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
34
- notEquals: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
35
- lessThan: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
36
- lessThanOrEquals: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
37
- greaterThan: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
38
- greaterThanOrEquals: import('../../conditions/typings').FieldConditionModifierConfig<number, number, unknown, number, number, number>;
39
- };
20
+ minimum: number | undefined;
21
+ maximum: number | undefined;
22
+ integers: boolean;
23
+ placeholder?: string;
40
24
  constructor(options: NumberFieldOptions);
41
- static _validateMin: (path: string) => InputValidator<number>;
42
- static _validateMax: (path: string) => InputValidator<number>;
43
25
  static getFieldCreationSchema(parentPath?: string): ({
44
26
  field: NumberField;
45
27
  showDirectly: boolean;
@@ -47,9 +29,13 @@ export declare class NumberField extends BaseField<"number", number, number, num
47
29
  field: BooleanField;
48
30
  showDirectly: boolean;
49
31
  })[];
50
- getFieldValidators(): InputFieldLevelValidator<number>[];
32
+ getFieldValidators(): FieldValidator<number>[];
51
33
  serialize(): SerializedNumberField;
52
- static deserialize(data: ISerializedField): NumberField;
53
- getInput(props: GetInputProps<this>): ReactNode;
54
- renderCondition(props: ConditionRenderProps<NumberField>): ReactNode;
34
+ getOptions(): NumberFieldOptions;
35
+ duplicate(identifier: string): NumberField;
36
+ setOptions(options: Partial<NumberFieldOptions>): void;
37
+ static deserialize(data: SerializedNumberField): NumberField;
38
+ serializeValue(value: number): number;
39
+ deserializeValue(value: number): number;
40
+ render(props: ComponentProps): ReactNode;
55
41
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { NumberField } from './NumberField';
3
- export declare const NumberInput: import('react').MemoExoticComponent<(props: ComponentProps<NumberField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface NumberInputProps extends ComponentProps {
4
+ field: NumberField;
5
+ }
6
+ export declare const NumberInput: import('react').MemoExoticComponent<(props: NumberInputProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export {};
@@ -1,6 +1,5 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedNumberField extends BaseSerializedField {
3
- type: "number";
2
+ export interface SerializedNumberField extends BaseSerializedField<"number"> {
4
3
  minimum: number | undefined;
5
4
  maximum: number | undefined;
6
5
  integers: boolean;
@@ -1,41 +1,21 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiRadioButtonFill } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions, ConditionRenderProps } from '../BaseField';
4
- import { SelectFieldOption } from '../BaseSelectField';
5
- import { MultiStringField } from '../MultiStringField';
6
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
3
+ import { ComponentProps } from '../typings';
7
4
  import { SerializedRadioField } from './typings';
8
- export declare const emptyRadioField: {
9
- type: string;
10
- options: never[];
11
- label: string;
12
- description: string;
13
- required: boolean;
14
- };
15
- export interface RadioFieldConfig extends ChildFieldOptions<string> {
16
- options: SelectFieldOption[];
5
+ export interface RadioFieldOptions extends BaseOptionsFieldOptions<string> {
17
6
  }
18
- export declare class RadioField extends BaseField<"radio", string, string | string[], string | string[]> {
19
- readonly options: SelectFieldOption[];
7
+ export declare class RadioField extends BaseOptionsField<"radio", string, string, RadioField> {
8
+ readonly type = "radio";
20
9
  readonly onlyValidateAfterTouched = false;
21
10
  static readonly fieldTypeName = "Option list";
22
11
  static readonly fieldTypeDescription = "Allows the user to select a single option from a list of options.";
23
- static Icon: typeof RiRadioButtonFill;
24
- readonly defaultConditionValue: string[] | undefined;
25
- readonly defaultConditionModifier: keyof typeof this.modifiers;
26
- readonly modifiers: {
27
- equals: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string, string>;
28
- notEquals: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string, string>;
29
- includes: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string[], string[]>;
30
- excludes: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string[], string[]>;
31
- };
32
- constructor(config: RadioFieldConfig);
12
+ constructor(options: RadioFieldOptions);
33
13
  serialize(): SerializedRadioField;
34
- static deserialize(data: ISerializedField): RadioField;
35
- static getFieldCreationSchema(parentPath?: string): {
36
- field: MultiStringField;
37
- showDirectly: boolean;
38
- }[];
39
- getInput(props: GetInputProps<this>): ReactNode;
40
- renderCondition(props: ConditionRenderProps<RadioField>): ReactNode;
14
+ getOptions(): RadioFieldOptions;
15
+ duplicate(identifier: string): RadioField;
16
+ setOptions(options: Partial<RadioFieldOptions>): void;
17
+ static deserialize(data: SerializedRadioField): RadioField;
18
+ serializeValue(value: string): string;
19
+ deserializeValue(value: string): string;
20
+ render(props: ComponentProps): ReactNode;
41
21
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { RadioField } from './RadioField';
3
- export declare const RadioInput: import('react').MemoExoticComponent<(props: ComponentProps<RadioField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface RadioInputProps extends ComponentProps {
4
+ field: RadioField;
5
+ }
6
+ export declare const RadioInput: import('react').NamedExoticComponent<RadioInputProps>;
7
+ export {};
@@ -1,6 +1,5 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- import { SelectFieldOption } from '../BaseSelectField';
3
- export interface SerializedRadioField extends BaseSerializedField {
4
- type: "radio";
2
+ import { SelectFieldOption } from '../BaseOptionsField';
3
+ export interface SerializedRadioField extends BaseSerializedField<"radio"> {
5
4
  options: SelectFieldOption[];
6
5
  }
@@ -1,30 +1,21 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiFullscreenLine } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions, ConditionRenderProps } from '../BaseField';
4
- import { ComponentProps, ISerializedField } from '../typings';
2
+ import { BaseField, FieldOptions } from '../BaseField';
3
+ import { ComponentProps } from '../typings';
5
4
  import { SerializedScanField } from './typings';
6
- export declare const emptyScanField: {
7
- type: string;
8
- label: string;
9
- description: string;
10
- required: boolean;
11
- };
12
- export declare class ScanField extends BaseField<"qr", string, string, string> {
5
+ export interface ScanFieldOptions extends FieldOptions<string> {
6
+ }
7
+ export declare class ScanField extends BaseField<"qr", string, string, ScanField> {
8
+ readonly type = "qr";
13
9
  static readonly fieldTypeName = "Scan";
14
10
  static readonly fieldTypeDescription = "Used for scanning/reading QR and barcodes.";
15
11
  readonly onlyValidateAfterTouched = false;
16
- static Icon: typeof RiFullscreenLine;
17
- readonly defaultConditionValue: string | undefined;
18
- readonly defaultConditionModifier: keyof typeof this.modifiers;
19
- readonly modifiers: {
20
- equals: import('../../conditions/typings').FieldConditionModifierConfig<string, string, unknown, string, string, string>;
21
- notEquals: import('../../conditions/typings').FieldConditionModifierConfig<string, string, unknown, string, string, string>;
22
- includes: import('../../conditions/typings').FieldConditionModifierConfig<string, string, unknown, string, string, string>;
23
- excludes: import('../../conditions/typings').FieldConditionModifierConfig<string, string, unknown, string, string, string>;
24
- };
25
- constructor(options: ChildFieldOptions<string>);
12
+ constructor(options: ScanFieldOptions);
26
13
  serialize(): SerializedScanField;
27
- static deserialize(data: ISerializedField): ScanField;
28
- getInput(props: ComponentProps<ScanField>): ReactNode;
29
- renderCondition(props: ConditionRenderProps<ScanField>): ReactNode;
14
+ getOptions(): ScanFieldOptions;
15
+ duplicate(identifier: string): ScanField;
16
+ setOptions(options: Partial<ScanFieldOptions>): void;
17
+ static deserialize(data: SerializedScanField): ScanField;
18
+ serializeValue(value: string): string;
19
+ deserializeValue(value: string): string;
20
+ render(props: ComponentProps): ReactNode;
30
21
  }
@@ -1,6 +1,9 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { ScanField } from './ScanField';
3
- export declare const ScanInput: import('react').MemoExoticComponent<(props: ComponentProps<ScanField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface ScanInputProps extends ComponentProps {
4
+ field: ScanField;
5
+ }
6
+ export declare const ScanInput: import('react').NamedExoticComponent<ScanInputProps>;
4
7
  interface ScannerProps {
5
8
  onScan: (data: string) => void;
6
9
  }
@@ -1,4 +1,3 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedScanField extends BaseSerializedField {
3
- type: "qr";
2
+ export interface SerializedScanField extends BaseSerializedField<"qr"> {
4
3
  }
@@ -1,35 +1,22 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiMenuFoldLine } from 'react-icons/ri';
3
- import { ConditionRenderProps } from '../BaseField';
4
- import { BaseSelectField, BaseSelectFieldOptions } from '../BaseSelectField';
5
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
3
+ import { ComponentProps } from '../typings';
6
4
  import { SerializedSelectField } from './typings';
7
- /**
8
- * The options passed to the constructor of SelectField.
9
- */
10
- export type SelectFieldOptions = Omit<BaseSelectFieldOptions<string, "select">, "type">;
11
- export declare const emptySelectField: {
12
- type: string;
13
- options: never[];
14
- label: string;
15
- description: string;
16
- required: boolean;
5
+ export type SelectFieldOptions = BaseOptionsFieldOptions<string> & {
6
+ placeholder?: string;
17
7
  };
18
- export declare class SelectField extends BaseSelectField<"select", string, string | string[], string | string[]> {
8
+ export declare class SelectField extends BaseOptionsField<"select", string, string, SelectField> {
9
+ readonly type = "select";
19
10
  static readonly fieldTypeName = "Dropdown";
20
11
  static readonly fieldTypeDescription = "Allows the user to select a single option from a list of options.";
21
- static Icon: typeof RiMenuFoldLine;
22
- readonly defaultConditionValue: string | string[] | undefined;
23
- readonly defaultConditionModifier: keyof typeof this.modifiers;
24
- readonly modifiers: {
25
- equals: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string, string>;
26
- notEquals: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string, string>;
27
- includes: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string[], string[]>;
28
- excludes: import('../../conditions/typings').FieldConditionModifierConfig<string, string | string[], unknown, string, string[], string[]>;
29
- };
12
+ placeholder?: string;
30
13
  constructor(options: SelectFieldOptions);
31
14
  serialize(): SerializedSelectField;
32
- static deserialize(data: ISerializedField): SelectField;
33
- getInput(props: GetInputProps<this>): ReactNode;
34
- renderCondition(props: ConditionRenderProps<SelectField>): ReactNode;
15
+ getOptions(): SelectFieldOptions;
16
+ duplicate(identifier: string): SelectField;
17
+ setOptions(options: Partial<SelectFieldOptions>): void;
18
+ static deserialize(data: SerializedSelectField): SelectField;
19
+ serializeValue(value: string): string;
20
+ deserializeValue(value: string): string;
21
+ render(props: ComponentProps): ReactNode;
35
22
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { SelectField } from './SelectField';
3
- export declare const SelectInput: import('react').MemoExoticComponent<(props: ComponentProps<SelectField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface SelectInputProps extends ComponentProps {
4
+ field: SelectField;
5
+ }
6
+ export declare const SelectInput: import('react').NamedExoticComponent<SelectInputProps>;
7
+ export {};
@@ -1,7 +1,4 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- import { SelectFieldOption } from '../BaseSelectField';
3
- export interface SerializedSelectField extends BaseSerializedField {
4
- type: "select";
5
- options: SelectFieldOption[];
1
+ import { BaseSerializedSelectField } from '../BaseOptionsField';
2
+ export interface SerializedSelectField extends BaseSerializedSelectField<"select"> {
6
3
  placeholder?: string;
7
4
  }
@@ -1,28 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiInputField } from 'react-icons/ri';
3
- import { ConditionRenderProps } from '../BaseField';
4
- import { StringOrTextField, StringOrTextFieldOptions } from '../StringOrTextField';
5
- import { GetInputProps, ISerializedField } from '../typings';
6
- import { SerializedStringField, StringInputType } from './typings';
7
- export interface StringFieldOptions extends Omit<StringOrTextFieldOptions, "type"> {
8
- inputType?: StringInputType;
2
+ import { BaseStringField, BaseStringFieldOptions } from '../BaseStringField';
3
+ import { ComponentProps } from '../typings';
4
+ import { SerializedStringField } from './typings';
5
+ export interface StringFieldOptions extends BaseStringFieldOptions {
9
6
  }
10
- export declare const emptyStringField: {
11
- type: string;
12
- maximum_length: number;
13
- input_type: string;
14
- label: string;
15
- description: string;
16
- required: boolean;
17
- };
18
- export declare class StringField extends StringOrTextField<"string"> {
7
+ export declare class StringField extends BaseStringField<"string", StringField> {
8
+ readonly type = "string";
19
9
  static readonly fieldTypeName = "Short Text";
20
10
  static readonly fieldTypeDescription = "Short text fields can hold up to 500 characters on a single line.";
21
- readonly inputType: StringInputType;
22
- static Icon: typeof RiInputField;
23
11
  constructor(options: StringFieldOptions);
24
12
  serialize(): SerializedStringField;
25
- static deserialize(data: ISerializedField): StringField;
26
- getInput(props: GetInputProps<this>): ReactNode;
27
- renderCondition(props: ConditionRenderProps<StringField>): ReactNode;
13
+ getOptions(): StringFieldOptions;
14
+ duplicate(identifier: string): StringField;
15
+ setOptions(options: Partial<StringFieldOptions>): void;
16
+ static deserialize(data: SerializedStringField): StringField;
17
+ render(props: ComponentProps): ReactNode;
28
18
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { StringField } from './StringField';
3
- export declare const StringInput: import('react').MemoExoticComponent<(props: ComponentProps<StringField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface StringInputProps extends ComponentProps {
4
+ field: StringField;
5
+ }
6
+ export declare const StringInput: import('react').NamedExoticComponent<StringInputProps>;
7
+ export {};
@@ -1,7 +1,3 @@
1
- import { HTMLInputTypeAttribute } from 'react';
2
- import { BaseSerializedStringField } from '../StringOrTextField';
3
- export type StringInputType = Exclude<HTMLInputTypeAttribute, "checkbox" | "number" | "button">;
4
- export interface SerializedStringField extends BaseSerializedStringField {
5
- type: "string";
6
- input_type?: StringInputType;
1
+ import { BaseSerializedStringField } from '../BaseStringField';
2
+ export interface SerializedStringField extends BaseSerializedStringField<"string"> {
7
3
  }
@@ -1,24 +1,17 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiAlignJustify } from 'react-icons/ri';
3
- import { ConditionRenderProps } from '../BaseField';
4
- import { StringOrTextField, StringOrTextFieldOptions } from '../StringOrTextField';
5
- import { GetInputProps, ISerializedField } from '../typings';
2
+ import { BaseStringField, BaseStringFieldOptions } from '../BaseStringField';
3
+ import { ComponentProps } from '../typings';
6
4
  import { SerializedTextField } from './typings';
7
- export type TextFieldOptions = Omit<StringOrTextFieldOptions, "type">;
8
- export declare const emptyTextField: {
9
- type: string;
10
- maximum_length: number;
11
- label: string;
12
- description: string;
13
- required: boolean;
14
- };
15
- export declare class TextField extends StringOrTextField<"text"> {
5
+ export type TextFieldOptions = BaseStringFieldOptions;
6
+ export declare class TextField extends BaseStringField<"text", TextField> {
7
+ readonly type = "text";
16
8
  static readonly fieldTypeName = "Paragraph";
17
9
  static readonly fieldTypeDescription = "Paragraph fields can hold up to 10000 characters and can have multiple lines.";
18
- static Icon: typeof RiAlignJustify;
19
10
  constructor(options: TextFieldOptions);
20
11
  serialize(): SerializedTextField;
21
- static deserialize(data: ISerializedField): TextField;
22
- getInput(props: GetInputProps<this>): ReactNode;
23
- renderCondition(props: ConditionRenderProps<TextField>): ReactNode;
12
+ getOptions(): TextFieldOptions;
13
+ duplicate(identifier: string): TextField;
14
+ setOptions(options: Partial<TextFieldOptions>): void;
15
+ static deserialize(data: SerializedTextField): TextField;
16
+ render(props: ComponentProps): ReactNode;
24
17
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { TextField } from './TextField';
3
- export declare const TextInput: import('react').MemoExoticComponent<(props: ComponentProps<TextField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface TextInputProps extends ComponentProps {
4
+ field: TextField;
5
+ }
6
+ export declare const TextInput: import('react').NamedExoticComponent<TextInputProps>;
7
+ export {};
@@ -1,4 +1,3 @@
1
- import { BaseSerializedStringField } from '../StringOrTextField';
2
- export interface SerializedTextField extends BaseSerializedStringField {
3
- type: "text";
1
+ import { BaseSerializedStringField } from '../BaseStringField';
2
+ export interface SerializedTextField extends BaseSerializedStringField<"text"> {
4
3
  }
@@ -1,40 +1,24 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiUpload2Line } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions, ConditionRenderProps } from '../BaseField';
2
+ import { BaseField, FieldOptions } from '../BaseField';
4
3
  import { MultiSelectField } from '../MultiSelectField';
5
4
  import { NumberField } from '../NumberField';
6
- import { GetInputProps, InputFieldLevelValidator, ISerializedField } from '../typings';
5
+ import { ComponentProps, FieldValidator } from '../typings';
7
6
  import { SerializedUploadField } from './typings';
8
- export interface UploadFieldOptions extends ChildFieldOptions<File[]> {
7
+ export interface UploadFieldOptions extends FieldOptions<File[]> {
9
8
  extensions?: string[];
10
9
  maximum_size?: number | string;
11
10
  maximum_files?: number | string;
12
11
  }
13
- export declare const emptyUploadField: {
14
- type: string;
15
- extensions: never[];
16
- maximum_size: undefined;
17
- maximum_files: number;
18
- label: string;
19
- description: string;
20
- required: boolean;
21
- };
22
- export declare class UploadField extends BaseField<"upload", File[], boolean, boolean> {
12
+ export declare class UploadField extends BaseField<"upload", File[], never[], UploadField> {
13
+ readonly type = "upload";
23
14
  static readonly fieldTypeName = "Upload";
24
15
  static readonly fieldTypeDescription = "Allows a file to be uploaded.";
25
- readonly extensions?: string[];
26
- readonly maxFileSize: number | undefined;
27
- readonly maxFiles: number;
16
+ extensions?: string[];
17
+ maxFileSize: number | undefined;
18
+ maxFiles: number;
28
19
  readonly onlyValidateAfterTouched = false;
29
- static Icon: typeof RiUpload2Line;
30
- readonly defaultConditionValue: boolean | undefined;
31
- readonly defaultConditionModifier: keyof typeof this.modifiers;
32
- readonly modifiers: {
33
- equals: import('../../conditions/typings').FieldConditionModifierConfig<File[], boolean, unknown, File[], boolean, boolean>;
34
- notEquals: import('../../conditions/typings').FieldConditionModifierConfig<File[], boolean, unknown, File[], boolean, boolean>;
35
- };
36
20
  constructor(options: UploadFieldOptions);
37
- protected isBlank(value: File[] | undefined): boolean;
21
+ isBlank(value: File[] | undefined): boolean;
38
22
  isEqual(value1: File[] | undefined, value2: File[] | undefined): boolean;
39
23
  static getFieldCreationSchema(parentPath?: string): ({
40
24
  field: NumberField;
@@ -43,9 +27,13 @@ export declare class UploadField extends BaseField<"upload", File[], boolean, bo
43
27
  field: MultiSelectField;
44
28
  showDirectly: boolean;
45
29
  })[];
46
- getFieldValidators(): InputFieldLevelValidator<File[]>[];
30
+ getFieldValidators(): FieldValidator<File[]>[];
47
31
  serialize(): SerializedUploadField;
48
- static deserialize(data: ISerializedField): UploadField;
49
- getInput(props: GetInputProps<this>): ReactNode;
50
- renderCondition(props: ConditionRenderProps<UploadField>): ReactNode;
32
+ getOptions(): UploadFieldOptions;
33
+ duplicate(identifier: string): UploadField;
34
+ setOptions(options: Partial<UploadFieldOptions>): void;
35
+ static deserialize(data: SerializedUploadField): UploadField;
36
+ serializeValue(_value: File[]): never[];
37
+ deserializeValue(_value: never[]): File[];
38
+ render(props: ComponentProps): ReactNode;
51
39
  }
@@ -1,3 +1,7 @@
1
1
  import { ComponentProps } from '../typings';
2
2
  import { UploadField } from './UploadField';
3
- export declare const UploadInput: import('react').MemoExoticComponent<(props: ComponentProps<UploadField>) => import("react/jsx-runtime").JSX.Element>;
3
+ interface UploadInputProps extends ComponentProps {
4
+ field: UploadField;
5
+ }
6
+ export declare const UploadInput: import('react').MemoExoticComponent<(props: UploadInputProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export {};
@@ -1,6 +1,5 @@
1
1
  import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedUploadField extends BaseSerializedField {
3
- type: "upload";
2
+ export interface SerializedUploadField extends BaseSerializedField<"upload"> {
4
3
  /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept */
5
4
  extensions?: string[];
6
5
  /** in bytes */
@@ -1,3 +1,4 @@
1
+ import { IconType } from '@overmap-ai/blocks';
1
2
  import { BooleanField } from './BooleanField';
2
3
  import { CheckboxListField } from './CheckboxListField';
3
4
  import { DateField } from './DateField';
@@ -9,7 +10,7 @@ import { ScanField } from './ScanField';
9
10
  import { SelectField } from './SelectField';
10
11
  import { StringField } from './StringField';
11
12
  import { TextField } from './TextField';
12
- import { FieldTypeIdentifier } from './typings';
13
+ import { FieldType } from './typings';
13
14
  import { UploadField } from './UploadField';
14
15
  export declare const FieldTypeToClsMapping: {
15
16
  readonly date: typeof DateField;
@@ -25,96 +26,7 @@ export declare const FieldTypeToClsMapping: {
25
26
  readonly radio: typeof RadioField;
26
27
  readonly "checkbox-list": typeof CheckboxListField;
27
28
  };
28
- export declare const FieldTypeToEmptyFieldMapping: {
29
- readonly date: {
30
- type: string;
31
- label: string;
32
- description: string;
33
- required: boolean;
34
- };
35
- readonly number: {
36
- type: string;
37
- minimum: number;
38
- maximum: number;
39
- integers: boolean;
40
- label: string;
41
- description: string;
42
- required: boolean;
43
- };
44
- readonly boolean: {
45
- type: string;
46
- label: string;
47
- description: string;
48
- required: boolean;
49
- };
50
- readonly select: {
51
- type: string;
52
- options: never[];
53
- label: string;
54
- description: string;
55
- required: boolean;
56
- };
57
- readonly string: {
58
- type: string;
59
- maximum_length: number;
60
- input_type: string;
61
- label: string;
62
- description: string;
63
- required: boolean;
64
- };
65
- readonly text: {
66
- type: string;
67
- maximum_length: number;
68
- label: string;
69
- description: string;
70
- required: boolean;
71
- };
72
- readonly upload: {
73
- type: string;
74
- extensions: never[];
75
- maximum_size: undefined;
76
- maximum_files: number;
77
- label: string;
78
- description: string;
79
- required: boolean;
80
- };
81
- readonly qr: {
82
- type: string;
83
- label: string;
84
- description: string;
85
- required: boolean;
86
- };
87
- readonly "multi-string": {
88
- type: string;
89
- minimum_length: number;
90
- maximum_length: null;
91
- label: string;
92
- description: string;
93
- required: boolean;
94
- };
95
- readonly "multi-select": {
96
- type: string;
97
- options: never[];
98
- label: string;
99
- description: string;
100
- required: boolean;
101
- };
102
- readonly radio: {
103
- type: string;
104
- options: never[];
105
- label: string;
106
- description: string;
107
- required: boolean;
108
- };
109
- readonly "checkbox-list": {
110
- type: string;
111
- options: never[];
112
- label: string;
113
- description: string;
114
- required: boolean;
115
- };
116
- };
117
- export declare const fieldIcons: Record<FieldTypeIdentifier, string>;
29
+ export declare const fieldIcons: Record<FieldType, IconType>;
118
30
  export declare const maxFileSizeMB = 50;
119
31
  export declare const maxFileSizeKB: number;
120
32
  export declare const maxFileSizeB: number;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { BaseFormElement } from './BaseField';
3
- import { AnyField, GetInputProps } from './typings';
4
- export declare const useFieldInput: <TField extends BaseFormElement | null>(field: TField, props: TField extends BaseFormElement ? GetInputProps<TField> : null) => ReactNode;
5
- export declare const useFieldInputs: (fields: BaseFormElement[], props: GetInputProps<AnyField>) => ReactNode;
2
+ import { AnyFormElement } from './BaseFormElement';
3
+ import { ComponentProps } from './typings';
4
+ export declare const useFieldInput: <TField extends AnyFormElement>(field: TField, props: ComponentProps) => ReactNode;
5
+ export declare const useFieldInputs: (fields: AnyFormElement[], props: ComponentProps) => ReactNode;