@overmap-ai/forms 1.0.31 → 1.0.32-condition-manager.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 (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 +28800 -18113
  208. package/dist/forms.umd.cjs +35307 -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,3 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
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 FieldRenderProps {
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,35 +1,25 @@
1
1
  import { ReactNode } from 'react';
2
- import { RiUpload2Line } from 'react-icons/ri';
3
- import { BaseField, ChildFieldOptions } from '../BaseField';
2
+ import { UUIDFile } from '../../UUIDFile';
3
+ import { UUIDPromise } from '../../UUIDPromise';
4
+ import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
5
+ import { FieldRenderProps } from '../BaseFormElement';
4
6
  import { MultiSelectField } from '../MultiSelectField';
5
7
  import { NumberField } from '../NumberField';
6
- import { GetInputProps, InputFieldLevelValidator, ISerializedField } from '../typings';
7
8
  import { SerializedUploadField } from './typings';
8
- export interface UploadFieldOptions extends ChildFieldOptions<File[]> {
9
+ export interface UploadFieldOptions extends FieldOptions<(UUIDPromise<UUIDFile> | UUIDFile)[]> {
9
10
  extensions?: string[];
10
11
  maximum_size?: number | string;
11
12
  maximum_files?: number | string;
12
13
  }
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<File[], "upload"> {
14
+ export declare class UploadField extends BaseField<"upload", (UUIDPromise<UUIDFile> | UUIDFile)[], never[], UploadField> {
15
+ readonly type = "upload";
23
16
  static readonly fieldTypeName = "Upload";
24
17
  static readonly fieldTypeDescription = "Allows a file to be uploaded.";
25
- readonly extensions?: string[];
26
- readonly maxFileSize: number | undefined;
27
- readonly maxFiles: number;
18
+ extensions?: string[];
19
+ maxFileSize: number | undefined;
20
+ maxFiles: number;
28
21
  readonly onlyValidateAfterTouched = false;
29
- static Icon: typeof RiUpload2Line;
30
22
  constructor(options: UploadFieldOptions);
31
- protected isBlank(value: File[] | undefined): boolean;
32
- isEqual(value1: File[] | undefined, value2: File[] | undefined): boolean;
33
23
  static getFieldCreationSchema(parentPath?: string): ({
34
24
  field: NumberField;
35
25
  showDirectly: boolean;
@@ -37,8 +27,17 @@ export declare class UploadField extends BaseField<File[], "upload"> {
37
27
  field: MultiSelectField;
38
28
  showDirectly: boolean;
39
29
  })[];
40
- getFieldValidators(): InputFieldLevelValidator<File[]>[];
30
+ getFieldValidators(): FieldValidator<(UUIDPromise<UUIDFile> | UUIDFile)[]>[];
41
31
  serialize(): SerializedUploadField;
42
- static deserialize(data: ISerializedField): UploadField;
43
- getInput(props: GetInputProps<this>): ReactNode;
32
+ getOptions(): UploadFieldOptions;
33
+ duplicate(identifier: string): UploadField;
34
+ setOptions(options: Partial<UploadFieldOptions>): void;
35
+ static deserialize(data: SerializedUploadField): UploadField;
36
+ serializeValue(_value: (UUIDPromise<UUIDFile> | UUIDFile)[]): never[];
37
+ deserializeValue(_value: never[]): (UUIDPromise<UUIDFile> | UUIDFile)[];
38
+ render(props: FieldRenderProps): ReactNode;
39
+ isSerializedValueValid(value: unknown): value is never[];
40
+ isValueValid(value: unknown): value is (UUIDPromise<UUIDFile> | UUIDFile)[];
41
+ areValuesEqual(value1: (UUIDPromise<UUIDFile> | UUIDFile)[], value2: (UUIDPromise<UUIDFile> | UUIDFile)[]): boolean;
42
+ blankValue(): (UUIDPromise<UUIDFile> | UUIDFile)[];
44
43
  }
@@ -1,3 +1,7 @@
1
- import { ComponentProps } from '../typings';
1
+ import { FieldRenderProps } from '../BaseFormElement';
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 FieldRenderProps {
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 */
@@ -0,0 +1 @@
1
+ export declare function isStringArray(value: unknown): value is string[];
@@ -1,128 +1,36 @@
1
+ import { IconType } from '@overmap-ai/blocks';
1
2
  import { BooleanField } from './BooleanField';
2
3
  import { CheckboxListField } from './CheckboxListField';
3
- import { CustomField } from './CustomField';
4
4
  import { DateField } from './DateField';
5
5
  import { MultiSelectField } from './MultiSelectField';
6
6
  import { MultiStringField } from './MultiStringField';
7
7
  import { NumberField } from './NumberField';
8
+ import { OTPField } from './OneTimePasswordField';
9
+ import { PassFailField } from './PassFailField';
8
10
  import { RadioField } from './RadioField';
9
11
  import { ScanField } from './ScanField';
10
12
  import { SelectField } from './SelectField';
11
13
  import { StringField } from './StringField';
12
14
  import { TextField } from './TextField';
13
- import { FieldTypeIdentifier } from './typings';
15
+ import { FieldType } from './typings';
14
16
  import { UploadField } from './UploadField';
15
17
  export declare const FieldTypeToClsMapping: {
16
- readonly date: typeof DateField;
17
- readonly number: typeof NumberField;
18
- readonly boolean: typeof BooleanField;
19
- readonly select: typeof SelectField;
20
- readonly string: typeof StringField;
21
- readonly text: typeof TextField;
22
- readonly custom: typeof CustomField;
23
- readonly upload: typeof UploadField;
24
- readonly qr: typeof ScanField;
25
- readonly "multi-string": typeof MultiStringField;
26
- readonly "multi-select": typeof MultiSelectField;
27
- readonly radio: typeof RadioField;
28
- readonly "checkbox-list": typeof CheckboxListField;
18
+ date: typeof DateField;
19
+ number: typeof NumberField;
20
+ boolean: typeof BooleanField;
21
+ select: typeof SelectField;
22
+ string: typeof StringField;
23
+ text: typeof TextField;
24
+ upload: typeof UploadField;
25
+ qr: typeof ScanField;
26
+ "multi-string": typeof MultiStringField;
27
+ "multi-select": typeof MultiSelectField;
28
+ radio: typeof RadioField;
29
+ "checkbox-list": typeof CheckboxListField;
30
+ "pass-fail": typeof PassFailField;
31
+ otp: typeof OTPField;
29
32
  };
30
- export declare const FieldTypeToEmptyFieldMapping: {
31
- readonly date: {
32
- type: string;
33
- label: string;
34
- description: string;
35
- required: boolean;
36
- };
37
- readonly number: {
38
- type: string;
39
- minimum: number;
40
- maximum: number;
41
- integers: boolean;
42
- label: string;
43
- description: string;
44
- required: boolean;
45
- };
46
- readonly boolean: {
47
- type: string;
48
- label: string;
49
- description: string;
50
- required: boolean;
51
- };
52
- readonly select: {
53
- type: string;
54
- options: never[];
55
- label: string;
56
- description: string;
57
- required: boolean;
58
- };
59
- readonly string: {
60
- type: string;
61
- maximum_length: number;
62
- input_type: string;
63
- label: string;
64
- description: string;
65
- required: boolean;
66
- };
67
- readonly text: {
68
- type: string;
69
- maximum_length: number;
70
- label: string;
71
- description: string;
72
- required: boolean;
73
- };
74
- readonly custom: {
75
- type: string;
76
- label: string;
77
- description: string;
78
- required: boolean;
79
- };
80
- readonly upload: {
81
- type: string;
82
- extensions: never[];
83
- maximum_size: undefined;
84
- maximum_files: number;
85
- label: string;
86
- description: string;
87
- required: boolean;
88
- };
89
- readonly qr: {
90
- type: string;
91
- label: string;
92
- description: string;
93
- required: boolean;
94
- };
95
- readonly "multi-string": {
96
- type: string;
97
- minimum_length: number;
98
- maximum_length: null;
99
- label: string;
100
- description: string;
101
- required: boolean;
102
- };
103
- readonly "multi-select": {
104
- type: string;
105
- options: never[];
106
- label: string;
107
- description: string;
108
- required: boolean;
109
- };
110
- readonly radio: {
111
- type: string;
112
- options: never[];
113
- label: string;
114
- description: string;
115
- required: boolean;
116
- };
117
- readonly "checkbox-list": {
118
- type: string;
119
- options: never[];
120
- label: string;
121
- description: string;
122
- required: boolean;
123
- };
124
- };
125
- export declare const fieldIcons: Record<FieldTypeIdentifier, string>;
33
+ export declare const fieldIcons: Record<FieldType, IconType>;
126
34
  export declare const maxFileSizeMB = 50;
127
35
  export declare const maxFileSizeKB: number;
128
36
  export declare const maxFileSizeB: number;
@@ -1,5 +1,31 @@
1
1
  import { ReactNode } from 'react';
2
- import { BaseField, BaseFormElement } from './BaseField';
3
- import { FieldValue, 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<BaseField<FieldValue>>) => ReactNode;
2
+ import { FieldRenderProps } from './BaseFormElement';
3
+ import { AnyField, AnyFormElement, ValueOfField } from './typings';
4
+ export declare const useFieldInput: <TField extends AnyFormElement>(field: TField, props: FieldRenderProps) => ReactNode;
5
+ export declare const useFieldInputs: (fields: AnyFormElement[], props: FieldRenderProps) => ReactNode;
6
+ export declare const useFormikInput: <TField extends AnyField>(props: FieldRenderProps & {
7
+ field: TField;
8
+ }) => readonly [{
9
+ readonly helpText: string | null;
10
+ readonly size: import('@overmap-ai/blocks').TextSize | undefined;
11
+ readonly severity: "danger" | undefined;
12
+ readonly inputId: string;
13
+ readonly labelId: string;
14
+ readonly label: string;
15
+ readonly showInputOnly: boolean | undefined;
16
+ readonly fieldProps: {
17
+ onChange: (value: ValueOfField<TField>) => void;
18
+ onBlur: (value: ValueOfField<TField>) => void;
19
+ value: ValueOfField<TField>;
20
+ name: string;
21
+ multiple?: boolean;
22
+ checked?: boolean;
23
+ };
24
+ readonly helpers: import('formik').FieldHelperProps<ValueOfField<TField>>;
25
+ readonly field: TField;
26
+ readonly touched: boolean;
27
+ }, {
28
+ readonly "aria-labelledby": string;
29
+ readonly formId: string;
30
+ readonly disabled?: boolean;
31
+ }];
@@ -1,5 +1,8 @@
1
+ export * from './_utils';
1
2
  export * from './BaseField';
2
- export * from './BaseSelectField';
3
+ export * from './BaseFormElement';
4
+ export * from './BaseOptionsField';
5
+ export * from './BaseStringField';
3
6
  export * from './BooleanField';
4
7
  export * from './CheckboxListField';
5
8
  export * from './components';
@@ -10,12 +13,13 @@ export * from './hooks';
10
13
  export * from './MultiSelectField';
11
14
  export * from './MultiStringField';
12
15
  export * from './NumberField';
16
+ export * from './OneTimePasswordField';
17
+ export * from './PassFailField';
13
18
  export * from './RadioField';
14
19
  export * from './ScanField';
15
20
  export * from './SelectField';
16
21
  export * from './StringField';
17
- export * from './StringOrTextField';
18
22
  export * from './TextField';
19
- export * from './typings';
23
+ export type * from './typings';
20
24
  export * from './UploadField';
21
25
  export * from './utils';
@@ -1,35 +1,48 @@
1
- import { TextSize } from '@overmap-ai/blocks';
2
- import { HTMLProps } from 'react';
3
- import { FormBuilderValues } from '../builder';
4
- import { FormValues } from '../typings';
5
- import { BaseField, BaseFormElement } from './BaseField';
6
- import { SerializedBooleanField } from './BooleanField';
7
- import { SerializedCheckboxListField } from './CheckboxListField';
8
- import { SerializedDateField } from './DateField';
9
- import { SerializedFieldSection } from './FieldSection';
10
- import { SerializedMultiSelectField } from './MultiSelectField';
11
- import { SerializedMultiStringField } from './MultiStringField';
12
- import { SerializedNumberField } from './NumberField';
13
- import { SerializedRadioField } from './RadioField';
14
- import { SerializedScanField } from './ScanField';
15
- import { SerializedSelectField } from './SelectField';
16
- import { SerializedStringField } from './StringField';
17
- import { SerializedTextField } from './TextField';
18
- import { SerializedUploadField } from './UploadField';
19
- export type FieldTypeIdentifier = "string" | "text" | "boolean" | "number" | "date" | "select" | "custom" | "section" | "multi-string" | "multi-select" | "upload" | "qr" | "radio" | "checkbox-list";
20
- export type FieldValue = string | number | boolean | string[] | File[] | Date | null;
21
- export type ValueOfField<Type extends AnyField> = Type extends BaseField<infer TValue> ? TValue : never;
22
- export type InputFieldLevelValidator<TValue> = (value: TValue | undefined) => string | null | undefined;
23
- export type InputFormLevelValidator<TValue> = (value: TValue | undefined, allValues: FormValues | FormBuilderValues) => string | null | undefined;
24
- export type InputValidator<TValue> = InputFieldLevelValidator<TValue> | InputFormLevelValidator<TValue>;
25
- export interface ComponentProps<TField extends BaseFormElement> extends Omit<HTMLProps<HTMLElement>, "color" | "size" | "ref" | "type" | "onChange" | "onBlur" | "value" | "defaultValue" | "name" | "dir"> {
26
- field: TField;
27
- formId: string;
28
- size?: TextSize;
29
- onValuesChange?: (identifier: string, value: ValueOfField<AnyField>) => void;
30
- showInputOnly?: boolean;
1
+ import { BaseField } from './BaseField';
2
+ import { BaseFormElement } from './BaseFormElement';
3
+ import { BooleanField, SerializedBooleanField } from './BooleanField';
4
+ import { CheckboxListField, SerializedCheckboxListField } from './CheckboxListField';
5
+ import { DateField, SerializedDateField } from './DateField';
6
+ import { FieldSection, SerializedFieldSection } from './FieldSection';
7
+ import { MultiSelectField, SerializedMultiSelectField } from './MultiSelectField';
8
+ import { MultiStringField, SerializedMultiStringField } from './MultiStringField';
9
+ import { NumberField, SerializedNumberField } from './NumberField';
10
+ import { OTPField, SerializedOTPField } from './OneTimePasswordField';
11
+ import { PassFailField, SerializedPassFailField } from './PassFailField';
12
+ import { RadioField, SerializedRadioField } from './RadioField';
13
+ import { ScanField, SerializedScanField } from './ScanField';
14
+ import { SelectField, SerializedSelectField } from './SelectField';
15
+ import { SerializedStringField, StringField } from './StringField';
16
+ import { SerializedTextField, TextField } from './TextField';
17
+ import { SerializedUploadField, UploadField } from './UploadField';
18
+ export type AnyFormElement = BaseFormElement<any, any>;
19
+ export type AnyField = BaseField<any, any, any, any>;
20
+ export type TypeOfField<TField extends AnyFormElement> = TField extends BaseFormElement<infer TIdentifier, infer _TThis> ? TIdentifier : never;
21
+ export type ValueOfField<TField extends AnyField> = TField extends BaseField<infer _TIdentifier, infer TValue, infer _TSerializedValue, infer _TThis> ? TValue : never;
22
+ export type SerializedValueOfField<TField extends AnyField> = TField extends BaseField<infer _TIdentifier, infer _TValue, infer TSerializedValue, infer _TThis> ? TSerializedValue : never;
23
+ export type FieldType = TypeOfField<BooleanField> | TypeOfField<CheckboxListField> | TypeOfField<PassFailField> | TypeOfField<DateField> | TypeOfField<MultiSelectField> | TypeOfField<MultiStringField> | TypeOfField<NumberField> | TypeOfField<RadioField> | TypeOfField<ScanField> | TypeOfField<SelectField> | TypeOfField<StringField> | TypeOfField<TextField> | TypeOfField<UploadField> | TypeOfField<FieldSection> | TypeOfField<OTPField>;
24
+ export type FieldValue = ValueOfField<BooleanField> | ValueOfField<CheckboxListField> | ValueOfField<PassFailField> | ValueOfField<DateField> | ValueOfField<MultiSelectField> | ValueOfField<MultiStringField> | ValueOfField<NumberField> | ValueOfField<RadioField> | ValueOfField<ScanField> | ValueOfField<SelectField> | ValueOfField<StringField> | ValueOfField<TextField> | ValueOfField<UploadField> | ValueOfField<OTPField>;
25
+ export type SerializedFieldValue = SerializedValueOfField<BooleanField> | SerializedValueOfField<CheckboxListField> | SerializedValueOfField<PassFailField> | SerializedValueOfField<DateField> | SerializedValueOfField<MultiSelectField> | SerializedValueOfField<MultiStringField> | SerializedValueOfField<NumberField> | SerializedValueOfField<RadioField> | SerializedValueOfField<ScanField> | SerializedValueOfField<SelectField> | SerializedValueOfField<StringField> | SerializedValueOfField<TextField> | SerializedValueOfField<UploadField> | SerializedValueOfField<OTPField>;
26
+ export type Field = BooleanField | CheckboxListField | PassFailField | DateField | MultiSelectField | MultiStringField | NumberField | RadioField | ScanField | SelectField | StringField | TextField | UploadField | OTPField;
27
+ export type FieldClass = typeof BooleanField | typeof CheckboxListField | typeof PassFailField | typeof DateField | typeof MultiSelectField | typeof MultiStringField | typeof NumberField | typeof RadioField | typeof ScanField | typeof SelectField | typeof StringField | typeof TextField | typeof UploadField | typeof OTPField;
28
+ export type SerializedField = SerializedTextField | SerializedBooleanField | SerializedNumberField | SerializedDateField | SerializedStringField | SerializedSelectField | SerializedFieldSection | SerializedMultiStringField | SerializedMultiSelectField | SerializedUploadField | SerializedScanField | SerializedRadioField | SerializedCheckboxListField | SerializedOTPField | SerializedPassFailField;
29
+ export type SerializedOnlyField = Exclude<SerializedField, SerializedFieldSection>;
30
+ export interface FieldsManager {
31
+ readonly fields: Field[];
32
+ getFields(): Field[];
33
+ addField(field: Field): void;
34
+ addFields(fields: Field[]): void;
35
+ moveField(sourceIndex: number, targetIndex: number): void;
36
+ removeField(field: Field): void;
37
+ removeFields(fields: Field[]): void;
38
+ }
39
+ export interface FieldSectionManager {
40
+ readonly fieldSections: FieldSection[];
41
+ getFields(): Field[];
42
+ getFieldSections(): FieldSection[];
43
+ addFieldSection(field: FieldSection): void;
44
+ addFieldSections(fields: FieldSection[]): void;
45
+ moveFieldSection(sourceIndex: number, targetIndex: number): void;
46
+ removeFieldSection(field: FieldSection): void;
47
+ removeFieldSections(fields: FieldSection[]): void;
31
48
  }
32
- export type GetInputProps<TField extends BaseFormElement> = Omit<ComponentProps<TField>, "field">;
33
- export type AnyField = BaseField<any, any>;
34
- export type ISerializedField = SerializedTextField | SerializedBooleanField | SerializedNumberField | SerializedDateField | SerializedStringField | SerializedSelectField | SerializedFieldSection | SerializedMultiStringField | SerializedMultiSelectField | SerializedUploadField | SerializedScanField | SerializedRadioField | SerializedCheckboxListField;
35
- export type ISerializedOnlyField = Exclude<ISerializedField, SerializedFieldSection>;
@@ -1,16 +1,15 @@
1
- import { BaseFormElement } from './BaseField';
2
- import { FieldSection, SerializedCondition } from './FieldSection';
3
- import { AnyField, FieldValue, ISerializedField, ISerializedOnlyField } from './typings';
4
- /** Deserializes anything but a FieldSection.
5
- * @see `deserialize` for most use cases
6
- */
7
- export declare const deserializeField: (serializedField: ISerializedOnlyField) => AnyField;
8
- /** Deserializes anything */
9
- export declare const deserialize: (serialized: ISerializedField) => AnyField | FieldSection;
10
- export declare function deserializeFields(fields: ISerializedField[]): (AnyField | FieldSection)[];
11
- export declare function flattenFields(fields: BaseFormElement[]): AnyField[];
12
- export declare function getFieldsMapping(fields: BaseFormElement[]): Record<string, AnyField>;
13
- export declare function decodeFieldValues(fields: BaseFormElement[], values: Record<string, string>): Record<string, FieldValue>;
14
- export declare function encodeFieldValues(fields: BaseFormElement[], values: Record<string, FieldValue>): Record<string, string>;
15
- export declare function valueIsFile(v: FieldValue | Promise<File>[] | undefined): v is File[] | Promise<File>[];
16
- export declare function isConditionMet<TValue extends FieldValue | Promise<File>[]>(condition: TValue extends FieldValue ? SerializedCondition<TValue> | null : null, value: TValue | undefined): boolean;
1
+ import { FieldFilesAndPromises, FieldValues, SerializedFieldValues } from '../typings';
2
+ import { FieldSection } from './FieldSection';
3
+ import { Field, SerializedField, SerializedOnlyField } from './typings';
4
+ export declare const deserializeField: (serializedField: SerializedOnlyField) => Field;
5
+ export declare function deserializeFields(fields: SerializedField[]): (Field | FieldSection)[];
6
+ export declare const deserialize: (serialized: SerializedField) => Field | FieldSection;
7
+ export declare function deserializeOnlyFields(fields: SerializedOnlyField[]): Field[];
8
+ export declare function flattenFields(fields: (Field | FieldSection)[]): Field[];
9
+ export declare function getFieldsMapping(fields: (Field | FieldSection)[]): Record<string, Field>;
10
+ export declare function serializeFieldValues(fields: Field[], values: FieldValues): SerializedFieldValues;
11
+ export declare function deserializeFieldValues(fields: Field[], values: SerializedFieldValues): FieldValues;
12
+ export declare function cleanFieldValues(fields: Field[], values: FieldValues): FieldValues;
13
+ export declare function cleanSerializedFieldValues(fields: Field[], values: SerializedFieldValues): SerializedFieldValues;
14
+ export declare function extractFilesAndPromisesFromFieldValues(fields: Field[], values: FieldValues): readonly [FieldValues, FieldFilesAndPromises];
15
+ export declare function insertFilesAndPromisesToFieldValues(fields: Field[], values: FieldValues, filesAndPromises: FieldFilesAndPromises): FieldValues;
@@ -1,6 +1,12 @@
1
1
  export * from './builder';
2
+ export * from './conditions';
2
3
  export * from './constants';
3
4
  export * from './fields';
5
+ export * from './modifiers';
6
+ export * from './Observable';
4
7
  export * from './renderer';
8
+ export * from './schema';
5
9
  export type * from './typings';
6
- export { initializeFormValues, validateFields } from './utils';
10
+ export * from './utils';
11
+ export * from './UUIDFile';
12
+ export * from './UUIDPromise';
@@ -0,0 +1,3 @@
1
+ import { ConditionModifier } from './conditionModifier';
2
+ export declare const BooleanEqualsConditionModifier: ConditionModifier<boolean, boolean, boolean>;
3
+ export declare const BooleanNotEqualsConditionModifier: ConditionModifier<boolean, boolean, boolean>;
@@ -0,0 +1,17 @@
1
+ import { ConditionModifierFn } from './typings';
2
+ export interface ConditionModifierConfig<TModifierValue, TModifierConditionValue, TSerializedModifierConditionValue = TModifierConditionValue> {
3
+ id: string;
4
+ label: string;
5
+ modifierFn: ConditionModifierFn<TModifierValue, TModifierConditionValue>;
6
+ serialize: (conditionValue: TModifierConditionValue) => TSerializedModifierConditionValue;
7
+ deserialize: (serializedConditionValue: TSerializedModifierConditionValue) => TModifierConditionValue | undefined;
8
+ }
9
+ export declare class ConditionModifier<TModifierValue, TConditionValue, TSerializedConditionValue = TConditionValue> {
10
+ readonly id: string;
11
+ readonly label: string;
12
+ readonly modifierFn: ConditionModifierFn<TModifierValue, TConditionValue>;
13
+ readonly serialize: (conditionValue: TConditionValue) => TSerializedConditionValue;
14
+ readonly deserialize: (serializedConditionValue: TSerializedConditionValue) => TConditionValue | undefined;
15
+ private constructor();
16
+ static create<TValue, TConditionValue, TSerializedConditionValue = TConditionValue>(config: ConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue>): ConditionModifier<TValue, TConditionValue, TSerializedConditionValue>;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { DateRange } from 'react-day-picker';
2
+ import { SerializedDateRange } from '../fields';
3
+ import { ConditionModifier } from './conditionModifier';
4
+ export declare const DateEqualsConditionModifier: ConditionModifier<Date, Date, string>;
5
+ export declare const DateNotEqualsConditionModifier: ConditionModifier<Date, Date, string>;
6
+ export declare const DateBeforeConditionModifier: ConditionModifier<Date, Date, string>;
7
+ export declare const DateAfterConditionModifier: ConditionModifier<Date, Date, string>;
8
+ export declare const DateRangeInConditionModifier: ConditionModifier<Date, DateRange, SerializedDateRange>;
9
+ export declare const DateRangeNotInConditionModifier: ConditionModifier<Date, DateRange, SerializedDateRange>;
@@ -0,0 +1,4 @@
1
+ import { UUIDFile } from '../UUIDFile';
2
+ import { ConditionModifier } from './conditionModifier';
3
+ export declare const HasFilesConditionModifier: ConditionModifier<UUIDFile[], boolean, boolean>;
4
+ export declare const DoesNotHaveFilesConditionModifier: ConditionModifier<UUIDFile[], boolean, boolean>;
@@ -0,0 +1,8 @@
1
+ export * from './boolean';
2
+ export * from './date';
3
+ export * from './file';
4
+ export * from './number';
5
+ export * from './passFailStatus';
6
+ export * from './string';
7
+ export type * from './typings';
8
+ export * from './utils';
@@ -0,0 +1,10 @@
1
+ import { NumberRange } from '../fields';
2
+ import { ConditionModifier } from './conditionModifier';
3
+ export declare const NumberEqualsConditionModifier: ConditionModifier<number, number, number>;
4
+ export declare const NumberNotEqualsConditionModifier: ConditionModifier<number, number, number>;
5
+ export declare const NumberLessThanConditionModifier: ConditionModifier<number, number, number>;
6
+ export declare const NumberLessThanOrEqualsConditionModifier: ConditionModifier<number, number, number>;
7
+ export declare const NumberGreaterThanConditionModifier: ConditionModifier<number, number, number>;
8
+ export declare const NumberGreaterThanOrEqualsConditionModifier: ConditionModifier<number, number, number>;
9
+ export declare const NumberRangeInConditionModifier: ConditionModifier<number, NumberRange, NumberRange>;
10
+ export declare const NumberRangeNotInConditionModifier: ConditionModifier<number, NumberRange, NumberRange>;
@@ -0,0 +1,6 @@
1
+ import { PassFailFieldStatus } from '../fields';
2
+ import { ConditionModifier } from './conditionModifier';
3
+ export declare const PassFailEqualsConditionModifier: ConditionModifier<PassFailFieldStatus, PassFailFieldStatus, PassFailFieldStatus>;
4
+ export declare const PassFailNotEqualsConditionModifier: ConditionModifier<PassFailFieldStatus, PassFailFieldStatus, PassFailFieldStatus>;
5
+ export declare const PassFailArrayIncludesConditionModifier: ConditionModifier<PassFailFieldStatus, PassFailFieldStatus[], PassFailFieldStatus[]>;
6
+ export declare const PassFailArrayExcludesConditionModifier: ConditionModifier<PassFailFieldStatus, PassFailFieldStatus[], PassFailFieldStatus[]>;
@@ -0,0 +1,12 @@
1
+ import { ConditionModifier } from './conditionModifier';
2
+ export declare const StringEqualsConditionModifier: ConditionModifier<string, string, string>;
3
+ export declare const StringNotEqualsConditionModifier: ConditionModifier<string, string, string>;
4
+ export declare const StringIncludesConditionModifier: ConditionModifier<string, string, string>;
5
+ export declare const StringExcludesConditionModifier: ConditionModifier<string, string, string>;
6
+ export declare const StringArrayIncludesConditionModifier: ConditionModifier<string, string[], string[]>;
7
+ export declare const StringArrayExcludesConditionModifier: ConditionModifier<string, string[], string[]>;
8
+ export declare const StringArrayEveryConditionModifier: ConditionModifier<string[], string[], string[]>;
9
+ export declare const StringArraySomeConditionModifier: ConditionModifier<string[], string[], string[]>;
10
+ export declare const StringArrayNoneConditionModifier: ConditionModifier<string[], string[], string[]>;
11
+ export declare const StringArrayEqualsConditionModifier: ConditionModifier<string[], string[], string[]>;
12
+ export declare const StringArrayNotEqualsConditionModifier: ConditionModifier<string[], string[], string[]>;
@@ -0,0 +1,11 @@
1
+ import { ConditionModifier } from './conditionModifier';
2
+ export type ConditionModifierFn<TValue, TConditionValue> = (value: TValue, conditionValue: TConditionValue) => boolean;
3
+ export interface FieldConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue, TModifierValue extends TValue, TModifierConditionValue extends TConditionValue, TSerializedModifierConditionValue extends TSerializedConditionValue> {
4
+ modifier: ConditionModifier<TModifierValue, TModifierConditionValue, TSerializedModifierConditionValue>;
5
+ isValueValid: (value: TValue) => value is TModifierValue;
6
+ isConditionValueValid: (conditionValue: TConditionValue) => conditionValue is TModifierConditionValue;
7
+ isSerializedValueValid: (serializedConditionValue: TSerializedConditionValue) => serializedConditionValue is TSerializedModifierConditionValue;
8
+ }
9
+ export type AnyConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue> = FieldConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue, any, // eslint-disable-line @typescript-eslint/no-explicit-any
10
+ any, // eslint-disable-line @typescript-eslint/no-explicit-any
11
+ any>;
@@ -0,0 +1,2 @@
1
+ import { FieldConditionModifierConfig } from './typings';
2
+ export declare const createConditionModifierConfig: <TValue, TConditionValue, TSerializedConditionValue, TModifierValue extends TValue, TModifierConditionalValue extends TConditionValue, TSerializedModifierConditionValue extends TSerializedConditionValue>(conifg: FieldConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue, TModifierValue, TModifierConditionalValue, TSerializedModifierConditionValue>) => FieldConditionModifierConfig<TValue, TConditionValue, TSerializedConditionValue, TModifierValue, TModifierConditionalValue, TSerializedModifierConditionValue>;
@@ -1,15 +1,15 @@
1
1
  import { ButtonProps } from '@overmap-ai/blocks';
2
- import { FormValues, ISchema } from '../../typings';
2
+ import { FieldValues, ISchema } from '../typings';
3
3
  interface FormRendererProps {
4
4
  /** The schema of the form the render */
5
5
  schema: ISchema;
6
6
  /** Initial values of the form */
7
- values?: FormValues;
7
+ values?: FieldValues;
8
8
  /** The function to call when the form values change */
9
- onValuesChange?: (allValues: FormValues, changedValues: FormValues) => void;
9
+ onValuesChange?: (allValues: FieldValues, changedValues: FieldValues) => void;
10
10
  enableReinitialize?: boolean;
11
11
  excludeUnchangedFields?: boolean;
12
- onSubmit?: (values: FormValues) => Promise<void> | void;
12
+ onSubmit?: (values: FieldValues) => Promise<void> | void;
13
13
  /** @default "Submit" */
14
14
  submitText?: string;
15
15
  /** The text of the cancel button (hidden by default)
@@ -0,0 +1,2 @@
1
+ export declare const requiredFields: (import('..').Field | import('..').FieldSection)[];
2
+ export declare const notRequiredFields: (import('..').Field | import('..').FieldSection)[];
@@ -0,0 +1,2 @@
1
+ import { ISchema } from '../typings';
2
+ export declare const RendererContext: import('react').Context<ISchema>;
@@ -1,2 +1 @@
1
- export * from './FormRenderer/FormRenderer';
2
- export * from './PatchForm';
1
+ export * from './FormRenderer';
@@ -0,0 +1,22 @@
1
+ import { SerializedCondition } from '../conditions';
2
+ import { Field, FieldSection, FieldSectionManager, SerializedFieldSection } from '../fields';
3
+ import { Observable } from '../Observable';
4
+ import { FieldValues, SerializedFieldValues } from '../typings';
5
+ export declare class FieldSchema extends Observable<FieldSchema> implements FieldSectionManager {
6
+ fieldSections: FieldSection[];
7
+ constructor(fields: FieldSection[]);
8
+ serialize(): SerializedFieldSection[];
9
+ static deserialize(serializedSections: SerializedFieldSection[]): FieldSchema;
10
+ private fieldObserver;
11
+ private initFields;
12
+ getFields(): Field[];
13
+ getFieldSections(): FieldSection[];
14
+ addFieldSection(field: FieldSection): void;
15
+ addFieldSections(fields: FieldSection[]): void;
16
+ removeFieldSection(field: FieldSection): void;
17
+ removeFieldSections(fields: FieldSection[]): void;
18
+ moveFieldSection(sourceIndex: number, targetIndex: number): void;
19
+ deserializeValues(values: SerializedFieldValues): FieldValues;
20
+ serializeValues(values: FieldValues): SerializedFieldValues;
21
+ deserializeConditions(conditions: SerializedCondition[]): import('..').Condition[];
22
+ }