@overmap-ai/forms 1.1.4 → 1.1.5-field-schema-improvements.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 (146) hide show
  1. package/dist/form/builder/Root.d.ts +2 -2
  2. package/dist/form/builder/components/FieldDropdownMenu.d.ts +1 -0
  3. package/dist/form/builder/list/sectionSerialization.d.ts +3 -3
  4. package/dist/form/builder/typings.d.ts +3 -3
  5. package/dist/form/conditions/BaseCondition/BaseCondition.d.ts +9 -14
  6. package/dist/form/conditions/BaseCondition/typings.d.ts +4 -6
  7. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldCondition.d.ts +5 -6
  8. package/dist/form/conditions/BooleanFieldCondition/BooleanFieldCondition.test.d.ts +1 -0
  9. package/dist/form/conditions/BooleanFieldCondition/typings.d.ts +5 -4
  10. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldCondition.d.ts +5 -6
  11. package/dist/form/conditions/CheckboxListFieldCondition/CheckboxListFieldCondition.test.d.ts +1 -0
  12. package/dist/form/conditions/CheckboxListFieldCondition/typings.d.ts +5 -4
  13. package/dist/form/conditions/DateFieldCondition/DateFieldCondition.d.ts +12 -13
  14. package/dist/form/conditions/DateFieldCondition/DateFieldCondition.test.d.ts +1 -0
  15. package/dist/form/conditions/DateFieldCondition/typings.d.ts +6 -4
  16. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldCondition.d.ts +5 -6
  17. package/dist/form/conditions/MultiSelectFieldCondition/MultiSelectFieldCondition.test.d.ts +1 -0
  18. package/dist/form/conditions/MultiSelectFieldCondition/typings.d.ts +5 -4
  19. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldCondition.d.ts +5 -6
  20. package/dist/form/conditions/MultiStringFieldCondition/MultiStringFieldCondition.test.d.ts +1 -0
  21. package/dist/form/conditions/MultiStringFieldCondition/typings.d.ts +5 -4
  22. package/dist/form/conditions/NumberFieldCondition/NumberFieldCondition.d.ts +5 -6
  23. package/dist/form/conditions/NumberFieldCondition/NumberFieldCondition.test.d.ts +1 -0
  24. package/dist/form/conditions/NumberFieldCondition/typings.d.ts +5 -4
  25. package/dist/form/conditions/OTPFieldCondition/OTPFieldCondition.d.ts +5 -6
  26. package/dist/form/conditions/OTPFieldCondition/OTPFieldCondition.test.d.ts +1 -0
  27. package/dist/form/conditions/OTPFieldCondition/typings.d.ts +5 -4
  28. package/dist/form/conditions/PassFailFieldCondition/PassFailFieldCondition.d.ts +6 -7
  29. package/dist/form/conditions/PassFailFieldCondition/PassFailFieldCondition.test.d.ts +1 -0
  30. package/dist/form/conditions/PassFailFieldCondition/typings.d.ts +5 -4
  31. package/dist/form/conditions/RadioFieldCondition/RadioFieldCondition.d.ts +5 -6
  32. package/dist/form/conditions/RadioFieldCondition/RadioFieldCondition.test.d.ts +1 -0
  33. package/dist/form/conditions/RadioFieldCondition/typings.d.ts +5 -4
  34. package/dist/form/conditions/RatingFieldCondition/RatingFieldCondition.d.ts +5 -6
  35. package/dist/form/conditions/RatingFieldCondition/RatingFieldCondition.test.d.ts +1 -0
  36. package/dist/form/conditions/RatingFieldCondition/typings.d.ts +5 -4
  37. package/dist/form/conditions/ScanFieldCondition/ScanFieldCondition.d.ts +5 -6
  38. package/dist/form/conditions/ScanFieldCondition/ScanFieldCondition.test.d.ts +1 -0
  39. package/dist/form/conditions/ScanFieldCondition/typings.d.ts +5 -4
  40. package/dist/form/conditions/SelectFieldCondition/SelectFieldCondition.d.ts +5 -6
  41. package/dist/form/conditions/SelectFieldCondition/SelectFieldCondition.test.d.ts +1 -0
  42. package/dist/form/conditions/SelectFieldCondition/typings.d.ts +5 -4
  43. package/dist/form/conditions/StringFieldCondition/StringFieldCondition.d.ts +5 -6
  44. package/dist/form/conditions/StringFieldCondition/StringFieldCondition.test.d.ts +1 -0
  45. package/dist/form/conditions/StringFieldCondition/typings.d.ts +5 -4
  46. package/dist/form/conditions/TextFieldCondition/TextFieldCondition.d.ts +5 -7
  47. package/dist/form/conditions/TextFieldCondition/TextFieldCondition.test.d.ts +1 -0
  48. package/dist/form/conditions/TextFieldCondition/typings.d.ts +6 -4
  49. package/dist/form/conditions/TimeFieldCondition/TimeFieldCondition.d.ts +6 -7
  50. package/dist/form/conditions/TimeFieldCondition/typings.d.ts +5 -4
  51. package/dist/form/conditions/URLFieldCondition/URLFieldCondition.d.ts +5 -6
  52. package/dist/form/conditions/URLFieldCondition/URLFieldCondition.test.d.ts +1 -0
  53. package/dist/form/conditions/URLFieldCondition/typings.d.ts +5 -4
  54. package/dist/form/conditions/UploadFieldCondition/UploadFieldCondition.d.ts +5 -6
  55. package/dist/form/conditions/UploadFieldCondition/UploadFieldCondition.test.d.ts +1 -0
  56. package/dist/form/conditions/UploadFieldCondition/index.d.ts +1 -1
  57. package/dist/form/conditions/UploadFieldCondition/typings.d.ts +5 -4
  58. package/dist/form/conditions/components/SelectFieldOptionMultiSelectGroup.d.ts +1 -1
  59. package/dist/form/conditions/components/SelectFieldOptionSelectGroup.d.ts +1 -1
  60. package/dist/form/conditions/components/TimeInputPopover.d.ts +1 -1
  61. package/dist/form/conditions/typings.d.ts +24 -25
  62. package/dist/form/conditions/utils.d.ts +6 -5
  63. package/dist/form/fields/BaseField/BaseField.d.ts +13 -9
  64. package/dist/form/fields/BaseField/typings.d.ts +9 -9
  65. package/dist/form/fields/BaseFormElement/BaseFormElement.d.ts +11 -7
  66. package/dist/form/fields/BaseFormElement/typings.d.ts +5 -5
  67. package/dist/form/fields/BaseOptionsField/BaseOptionsField.d.ts +7 -6
  68. package/dist/form/fields/BaseOptionsField/index.d.ts +1 -0
  69. package/dist/form/fields/BaseOptionsField/typings.d.ts +6 -7
  70. package/dist/form/fields/BaseOptionsField/utils.d.ts +3 -0
  71. package/dist/form/fields/BaseStringField/BaseStringField.d.ts +8 -9
  72. package/dist/form/fields/BaseStringField/typings.d.ts +9 -4
  73. package/dist/form/fields/BooleanField/BooleanField.d.ts +10 -6
  74. package/dist/form/fields/BooleanField/typings.d.ts +3 -2
  75. package/dist/form/fields/CheckboxListField/CheckboxListField.d.ts +10 -7
  76. package/dist/form/fields/CheckboxListField/index.d.ts +0 -1
  77. package/dist/form/fields/CheckboxListField/typings.d.ts +4 -2
  78. package/dist/form/fields/DateField/DateField.d.ts +10 -7
  79. package/dist/form/fields/DateField/typings.d.ts +4 -2
  80. package/dist/form/fields/FieldSection/FieldSection.d.ts +19 -20
  81. package/dist/form/fields/FieldSection/FieldSection.test.d.ts +1 -0
  82. package/dist/form/fields/FieldSection/index.d.ts +0 -1
  83. package/dist/form/fields/FieldSection/typings.d.ts +15 -9
  84. package/dist/form/fields/MultiSelectField/MultiSelectField.d.ts +10 -8
  85. package/dist/form/fields/MultiSelectField/index.d.ts +0 -1
  86. package/dist/form/fields/MultiSelectField/typings.d.ts +5 -2
  87. package/dist/form/fields/MultiStringField/MultiStringField.d.ts +13 -13
  88. package/dist/form/fields/MultiStringField/index.d.ts +0 -1
  89. package/dist/form/fields/MultiStringField/typings.d.ts +9 -4
  90. package/dist/form/fields/NumberField/NumberField.d.ts +13 -14
  91. package/dist/form/fields/NumberField/index.d.ts +0 -1
  92. package/dist/form/fields/NumberField/typings.d.ts +11 -5
  93. package/dist/form/fields/OTPField/OTPField.d.ts +12 -16
  94. package/dist/form/fields/OTPField/index.d.ts +0 -1
  95. package/dist/form/fields/OTPField/typings.d.ts +5 -6
  96. package/dist/form/fields/PassFailField/PassFailField.d.ts +17 -15
  97. package/dist/form/fields/PassFailField/constants.d.ts +1 -1
  98. package/dist/form/fields/PassFailField/index.d.ts +0 -1
  99. package/dist/form/fields/PassFailField/typings.d.ts +5 -7
  100. package/dist/form/fields/PassFailField/utils.d.ts +6 -5
  101. package/dist/form/fields/RadioField/RadioField.d.ts +10 -7
  102. package/dist/form/fields/RadioField/index.d.ts +0 -1
  103. package/dist/form/fields/RadioField/typings.d.ts +4 -2
  104. package/dist/form/fields/RatingField/RatingField.d.ts +10 -8
  105. package/dist/form/fields/RatingField/index.d.ts +0 -1
  106. package/dist/form/fields/RatingField/typings.d.ts +5 -2
  107. package/dist/form/fields/ScanField/ScanField.d.ts +10 -7
  108. package/dist/form/fields/ScanField/index.d.ts +0 -1
  109. package/dist/form/fields/ScanField/typings.d.ts +4 -2
  110. package/dist/form/fields/SelectField/SelectField.d.ts +10 -8
  111. package/dist/form/fields/SelectField/index.d.ts +0 -1
  112. package/dist/form/fields/SelectField/typings.d.ts +5 -2
  113. package/dist/form/fields/StringField/StringField.d.ts +10 -7
  114. package/dist/form/fields/StringField/index.d.ts +0 -2
  115. package/dist/form/fields/StringField/typings.d.ts +4 -2
  116. package/dist/form/fields/TextField/TextField.d.ts +10 -6
  117. package/dist/form/fields/TextField/index.d.ts +0 -2
  118. package/dist/form/fields/TextField/typings.d.ts +3 -2
  119. package/dist/form/fields/TimeField/TimeField.d.ts +9 -5
  120. package/dist/form/fields/TimeField/TimeFieldControl.d.ts +1 -1
  121. package/dist/form/fields/TimeField/index.d.ts +1 -1
  122. package/dist/form/fields/TimeField/typings.d.ts +3 -10
  123. package/dist/form/fields/TimeField/utils.d.ts +1 -1
  124. package/dist/form/fields/URLField/URLField.d.ts +11 -9
  125. package/dist/form/fields/URLField/index.d.ts +0 -1
  126. package/dist/form/fields/URLField/typings.d.ts +5 -2
  127. package/dist/form/fields/UploadField/UploadField.d.ts +12 -12
  128. package/dist/form/fields/UploadField/index.d.ts +1 -2
  129. package/dist/form/fields/UploadField/typings.d.ts +9 -9
  130. package/dist/form/fields/components/InputWithLabel.d.ts +4 -4
  131. package/dist/form/fields/constants.d.ts +1 -4
  132. package/dist/form/fields/hooks.d.ts +1 -1
  133. package/dist/form/fields/typings.d.ts +27 -22
  134. package/dist/form/fields/utils.d.ts +23 -12
  135. package/dist/form/modifiers/passFailStatus.d.ts +1 -1
  136. package/dist/form/modifiers/time.d.ts +1 -1
  137. package/dist/form/schema/FieldSchema.d.ts +20 -14
  138. package/dist/form/schema/index.d.ts +1 -0
  139. package/dist/form/schema/typings.d.ts +3 -0
  140. package/dist/form/typings.d.ts +5 -6
  141. package/dist/form/utils.d.ts +3 -5
  142. package/dist/forms.js +3625 -3298
  143. package/dist/forms.umd.cjs +1 -1
  144. package/package.json +7 -5
  145. package/dist/form/fields/StringField/constants.d.ts +0 -1
  146. package/dist/form/fields/TextField/constants.d.ts +0 -1
@@ -1,19 +1,22 @@
1
+ import { JSONDateField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions } from '../BaseField';
3
- import { SerializedDateField } from './typings';
3
+ import { BaseField } from '../BaseField';
4
+ import { DateFieldConfig, DateFieldOptions } from './typings';
4
5
  export type SerializedDateRange = {
5
6
  to: string | null;
6
7
  from: string | null;
7
8
  };
8
- export interface DateFieldOptions extends FieldOptions {
9
- }
10
9
  export declare class DateField extends BaseField<"date", Date | null, string | null, DateField> {
11
10
  readonly type = "date";
12
11
  constructor(options: DateFieldOptions);
13
- serialize(): SerializedDateField;
12
+ serialize(): JSONDateField;
13
+ config(): DateFieldConfig;
14
14
  getOptions(): DateFieldOptions;
15
- duplicate(identifier: string): DateField;
16
- static deserialize(data: SerializedDateField): DateField;
15
+ duplicate(id: string): DateField;
16
+ static deserialize(data: JSONDateField): DateField;
17
+ static fromConfig(config: DateFieldConfig): DateField;
18
+ static deserializeConfig(data: JSONDateField): DateFieldConfig;
19
+ static serializeConfig(data: DateFieldConfig): JSONDateField;
17
20
  setOptions(options: Partial<DateFieldOptions>): void;
18
21
  serializeValue(value: Date | null): string | null;
19
22
  deserializeValue(value: string | null): Date | null;
@@ -1,3 +1,5 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedDateField extends BaseSerializedField<"date"> {
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface DateFieldConfig extends BaseFieldConfig<"date"> {
3
+ }
4
+ export interface DateFieldOptions extends BaseFieldOptions {
3
5
  }
@@ -1,26 +1,25 @@
1
+ import { JSONFieldSection } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
3
  import { Condition, FieldConditionManager } from '../../conditions';
3
4
  import { FieldValues } from '../../typings';
4
- import { BaseFormElement, BaseFormElementOptions } from '../BaseFormElement';
5
+ import { BaseFormElement } from '../BaseFormElement';
5
6
  import { Field, FieldsManager } from '../typings';
6
- import { FieldSectionConditions, SerializedFieldSection } from './typings';
7
- export interface FieldSectionOptions extends BaseFormElementOptions {
8
- label?: string | null;
9
- description?: string | null;
10
- conditions?: FieldSectionConditions;
11
- fields: Field[];
12
- }
7
+ import { FieldSectionConditions, FieldSectionConfig, FieldSectionOptions } from './typings';
13
8
  export declare class FieldSection extends BaseFormElement<"section", FieldSection> implements FieldConditionManager<Condition>, FieldsManager {
14
9
  readonly type = "section";
15
- label: string | null;
16
- description: string | null;
10
+ label?: string;
11
+ description?: string;
17
12
  conditions: FieldSectionConditions;
18
13
  fields: Field[];
19
14
  constructor(options: FieldSectionOptions);
20
- serialize(): SerializedFieldSection;
21
- static deserialize: (data: SerializedFieldSection) => FieldSection;
15
+ serialize(): JSONFieldSection;
16
+ static deserialize: (data: JSONFieldSection) => FieldSection;
17
+ static fromConfig: (config: FieldSectionConfig) => FieldSection;
18
+ static deserializeConfig(data: JSONFieldSection): FieldSectionConfig;
19
+ static serializeConfig(data: FieldSectionConfig): JSONFieldSection;
20
+ config(): FieldSectionConfig;
22
21
  getOptions(): FieldSectionOptions;
23
- duplicate(identifier: string): FieldSection;
22
+ duplicate(id: string): FieldSection;
24
23
  setOptions(options: Partial<FieldSectionOptions>): void;
25
24
  getErrors(values: FieldValues): Record<string, string>;
26
25
  private fieldObserver;
@@ -31,13 +30,13 @@ export declare class FieldSection extends BaseFormElement<"section", FieldSectio
31
30
  removeField(field: Field): void;
32
31
  private conditionObserver;
33
32
  private initConditions;
34
- getConditions(identifier: string): Condition[];
35
- addCondition(identifier: string, condition: Condition): void;
36
- addConditions(identifier: string, conditions: Condition[]): void;
37
- removeCondition(identifier: string, condition: Condition): void;
38
- removeConditions(identifier: string, conditions: Condition[]): void;
33
+ getConditions(id: string): Condition[];
34
+ addCondition(id: string, condition: Condition): void;
35
+ addConditions(id: string, conditions: Condition[]): void;
36
+ removeCondition(id: string, condition: Condition): void;
37
+ removeConditions(id: string, conditions: Condition[]): void;
39
38
  getConditionals(): Set<string>;
40
- addConditional(identifier: string): void;
41
- removeConditional(identifier: string): void;
39
+ addConditional(id: string): void;
40
+ removeConditional(id: string): void;
42
41
  render(): ReactNode;
43
42
  }
@@ -1,3 +1,2 @@
1
1
  export * from './FieldSection';
2
- export * from './FieldSectionLayout';
3
2
  export type * from './typings';
@@ -1,11 +1,17 @@
1
- import { Condition, SerializedCondition } from '../../conditions';
2
- import { BaseSerializedFormElement } from '../BaseFormElement';
3
- import { SerializedOnlyField } from '../typings';
1
+ import { JSONFieldSectionConditions } from '@adrekic/fieldsjson';
2
+ import { Condition } from '../../conditions';
3
+ import { BaseFieldElementConfig, BaseFieldElementOptions } from '../BaseFormElement';
4
+ import { Field, FieldConfig } from '../typings';
5
+ export interface FieldSectionConfig extends BaseFieldElementConfig<"section"> {
6
+ label?: string;
7
+ description?: string;
8
+ conditions?: JSONFieldSectionConditions;
9
+ fields: FieldConfig[];
10
+ }
4
11
  export type FieldSectionConditions = Record<string, Condition[]>;
5
- export type SerializedFieldSectionConditions = Record<string, SerializedCondition[]>;
6
- export interface SerializedFieldSection extends BaseSerializedFormElement<"section"> {
7
- label: string | null;
8
- description?: string | null;
9
- conditions: SerializedFieldSectionConditions;
10
- fields: SerializedOnlyField[];
12
+ export interface FieldSectionOptions extends BaseFieldElementOptions {
13
+ label?: string;
14
+ description?: string;
15
+ conditions?: FieldSectionConditions;
16
+ fields: Field[];
11
17
  }
@@ -1,18 +1,20 @@
1
+ import { JSONMultiSelectField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
3
- import { SerializedMultiSelectField } from './typings';
4
- export type MultiSelectFieldOptions = BaseOptionsFieldOptions & {
5
- placeholder?: string;
6
- };
3
+ import { BaseOptionsField } from '../BaseOptionsField';
4
+ import { MultiSelectFieldConfig, MultiSelectFieldOptions } from './typings';
7
5
  export declare class MultiSelectField extends BaseOptionsField<"multi-select", string[], string[], MultiSelectField> {
8
6
  readonly type = "multi-select";
9
7
  placeholder?: string;
10
8
  constructor(options: MultiSelectFieldOptions);
11
- serialize(): SerializedMultiSelectField;
9
+ serialize(): JSONMultiSelectField;
10
+ config(): MultiSelectFieldConfig;
12
11
  getOptions(): MultiSelectFieldOptions;
13
- duplicate(identifier: string): MultiSelectField;
12
+ duplicate(id: string): MultiSelectField;
14
13
  setOptions(options: Partial<MultiSelectFieldOptions>): void;
15
- static deserialize(data: SerializedMultiSelectField): MultiSelectField;
14
+ static deserialize(data: JSONMultiSelectField): MultiSelectField;
15
+ static fromConfig(config: MultiSelectFieldConfig): MultiSelectField;
16
+ static deserializeConfig(data: JSONMultiSelectField): MultiSelectFieldConfig;
17
+ static serializeConfig(data: MultiSelectFieldConfig): JSONMultiSelectField;
16
18
  serializeValue(value: string[]): string[];
17
19
  deserializeValue(value: string[]): string[];
18
20
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './MultiSelectField';
2
- export * from './MultiSelectFieldInput';
3
2
  export type * from './typings';
@@ -1,4 +1,7 @@
1
- import { BaseSerializedOptionsField } from '../BaseOptionsField';
2
- export interface SerializedMultiSelectField extends BaseSerializedOptionsField<"multi-select"> {
1
+ import { BaseOptionsFieldConfig, BaseOptionsFieldOptions } from '../BaseOptionsField';
2
+ export interface MultiSelectFieldConfig extends BaseOptionsFieldConfig<"multi-select"> {
3
3
  placeholder?: string;
4
4
  }
5
+ export type MultiSelectFieldOptions = BaseOptionsFieldOptions & {
6
+ placeholder?: string;
7
+ };
@@ -1,26 +1,26 @@
1
+ import { JSONMultiStringField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
3
- import { SerializedMultiStringField } from './typings';
4
- export interface MultiStringFieldOptions extends FieldOptions {
5
- minimum_length?: number;
6
- maximum_length?: number;
7
- placeholder?: string;
8
- }
3
+ import { BaseField, FieldValidator } from '../BaseField';
4
+ import { MultiStringFieldConfig, MultiStringFieldOptions } from './typings';
9
5
  export declare class MultiStringField extends BaseField<"multi-string", string[], string[], MultiStringField> {
10
6
  readonly type = "multi-string";
11
- minLength: number;
12
- maxLength: number;
13
- placeholder: string;
7
+ minLength?: number;
8
+ maxLength?: number;
9
+ placeholder?: string;
14
10
  constructor(options: MultiStringFieldOptions);
15
11
  render(): ReactNode;
16
- serialize(): SerializedMultiStringField;
12
+ serialize(): JSONMultiStringField;
13
+ config(): MultiStringFieldConfig;
17
14
  getOptions(): MultiStringFieldOptions;
18
- duplicate(identifier: string): MultiStringField;
15
+ duplicate(id: string): MultiStringField;
19
16
  setOptions(options: Partial<MultiStringFieldOptions>): void;
20
17
  serializeValue(value: string[]): string[];
21
18
  deserializeValue(value: string[]): string[];
22
19
  getFieldValidators(): FieldValidator<string[]>[];
23
- static deserialize(data: SerializedMultiStringField): MultiStringField;
20
+ static deserialize(data: JSONMultiStringField): MultiStringField;
21
+ static fromConfig(config: MultiStringFieldConfig): MultiStringField;
22
+ static deserializeConfig(data: JSONMultiStringField): MultiStringFieldConfig;
23
+ static serializeConfig(data: MultiStringFieldConfig): JSONMultiStringField;
24
24
  isSerializedValue(value: unknown): value is string[];
25
25
  isValue(value: unknown): value is string[];
26
26
  blankValue(): string[];
@@ -1,3 +1,2 @@
1
1
  export * from './MultiStringField';
2
- export * from './MultiStringFieldInput';
3
2
  export type * from './typings';
@@ -1,6 +1,11 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedMultiStringField extends BaseSerializedField<"multi-string"> {
3
- minimum_length?: number;
4
- maximum_length: number;
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface MultiStringFieldConfig extends BaseFieldConfig<"multi-string"> {
3
+ minLength?: number;
4
+ maxLength?: number;
5
+ placeholder?: string;
6
+ }
7
+ export interface MultiStringFieldOptions extends BaseFieldOptions {
8
+ minLength?: number;
9
+ maxLength?: number;
5
10
  placeholder?: string;
6
11
  }
@@ -1,22 +1,17 @@
1
+ import { JSONNumberField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
3
+ import { BaseField, FieldValidator } from '../BaseField';
3
4
  import { BooleanField } from '../BooleanField';
4
- import { SerializedNumberField } from './typings';
5
+ import { NumberFieldConfig, NumberFieldOptions } from './typings';
5
6
  export type NumberRange = {
6
7
  to: number | null;
7
8
  from: number | null;
8
9
  };
9
- export interface NumberFieldOptions extends FieldOptions {
10
- maximum?: number;
11
- minimum?: number;
12
- integers?: boolean;
13
- placeholder?: string;
14
- }
15
10
  export declare class NumberField extends BaseField<"number", number | null, number | null, NumberField> {
16
11
  readonly type = "number";
17
- minimum: number | undefined;
18
- maximum: number | undefined;
19
- integers: boolean;
12
+ minimum?: number;
13
+ maximum?: number;
14
+ integers?: boolean;
20
15
  placeholder?: string;
21
16
  constructor(options: NumberFieldOptions);
22
17
  static getFieldCreationSchema(parentPath?: string): ({
@@ -27,11 +22,15 @@ export declare class NumberField extends BaseField<"number", number | null, numb
27
22
  showDirectly: boolean;
28
23
  })[];
29
24
  getFieldValidators(): FieldValidator<number | null>[];
30
- serialize(): SerializedNumberField;
25
+ serialize(): JSONNumberField;
26
+ config(): NumberFieldConfig;
31
27
  getOptions(): NumberFieldOptions;
32
- duplicate(identifier: string): NumberField;
28
+ duplicate(id: string): NumberField;
33
29
  setOptions(options: Partial<NumberFieldOptions>): void;
34
- static deserialize(data: SerializedNumberField): NumberField;
30
+ static deserialize(data: JSONNumberField): NumberField;
31
+ static fromConfig(config: NumberFieldConfig): NumberField;
32
+ static deserializeConfig(data: JSONNumberField): NumberFieldConfig;
33
+ static serializeConfig(data: NumberFieldConfig): JSONNumberField;
35
34
  serializeValue(value: number | null): number | null;
36
35
  deserializeValue(value: number | null): number | null;
37
36
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './NumberField';
2
- export * from './NumberFieldInput';
3
2
  export type * from './typings';
@@ -1,7 +1,13 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedNumberField extends BaseSerializedField<"number"> {
3
- minimum: number | undefined;
4
- maximum: number | undefined;
5
- integers: boolean;
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface NumberFieldConfig extends BaseFieldConfig<"number"> {
3
+ maximum?: number;
4
+ minimum?: number;
5
+ integers?: boolean;
6
+ placeholder?: string;
7
+ }
8
+ export interface NumberFieldOptions extends BaseFieldOptions {
9
+ maximum?: number;
10
+ minimum?: number;
11
+ integers?: boolean;
6
12
  placeholder?: string;
7
13
  }
@@ -1,30 +1,26 @@
1
+ import { JSONOTPField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
3
+ import { BaseField, FieldValidator } from '../BaseField';
3
4
  import { NumberField } from '../NumberField';
4
- import { SelectField } from '../SelectField';
5
- import { OTPFieldValidationType, SerializedOTPField } from './typings';
6
- export interface OTPFieldOptions extends FieldOptions {
7
- length: number;
8
- validationType: OTPFieldValidationType;
9
- }
5
+ import { OTPFieldConfig, OTPFieldOptions } from './typings';
10
6
  export declare class OTPField extends BaseField<"otp", string, string, OTPField> {
11
7
  readonly type = "otp";
12
8
  length: number;
13
- validationType: OTPFieldValidationType;
14
9
  constructor(options: OTPFieldOptions);
15
- static getFieldCreationSchema(parentPath?: string): ({
10
+ static getFieldCreationSchema(parentPath?: string): {
16
11
  field: NumberField;
17
12
  showDirectly: boolean;
18
- } | {
19
- field: SelectField;
20
- showDirectly: boolean;
21
- })[];
13
+ }[];
22
14
  getFieldValidators(): FieldValidator<string>[];
23
- serialize(): SerializedOTPField;
15
+ serialize(): JSONOTPField;
16
+ config(): OTPFieldConfig;
24
17
  getOptions(): OTPFieldOptions;
25
- duplicate(identifier: string): OTPField;
18
+ duplicate(id: string): OTPField;
26
19
  setOptions(options: Partial<OTPFieldOptions>): void;
27
- static deserialize(data: SerializedOTPField): OTPField;
20
+ static deserialize(data: JSONOTPField): OTPField;
21
+ static fromConfig(config: OTPFieldConfig): OTPField;
22
+ static deserializeConfig(data: JSONOTPField): OTPFieldConfig;
23
+ static serializeConfig(data: OTPFieldConfig): JSONOTPField;
28
24
  serializeValue(value: string): string;
29
25
  deserializeValue(value: string): string;
30
26
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './OTPField';
2
- export * from './OTPFieldInput';
3
2
  export type * from './typings';
@@ -1,8 +1,7 @@
1
- import { OneTimePasswordField } from '@overmap-ai/blocks';
2
- import { ComponentProps } from 'react';
3
- import { BaseSerializedField } from '../BaseField';
4
- export type OTPFieldValidationType = NonNullable<ComponentProps<typeof OneTimePasswordField.Root>["validationType"]>;
5
- export interface SerializedOTPField extends BaseSerializedField<"otp"> {
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface OTPFieldConfig extends BaseFieldConfig<"otp"> {
3
+ length: number;
4
+ }
5
+ export interface OTPFieldOptions extends BaseFieldOptions {
6
6
  length: number;
7
- validationType: OTPFieldValidationType;
8
7
  }
@@ -1,29 +1,31 @@
1
+ import { JSONPassFailField, JSONPassFailFieldValue, PassFailFieldStatus } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldCreationSchemaObject, FieldOptions, FieldValidator } from '../BaseField';
3
- import { PassFailFieldStatus, PassFailFieldValue, SerializedPassFailField, SerializedPassFailFieldValue } from './typings';
4
- export interface PassFailFieldOptions extends FieldOptions {
5
- showNotesAndFilesOn: PassFailFieldStatus[];
6
- }
7
- export declare class PassFailField extends BaseField<"pass-fail", PassFailFieldValue, SerializedPassFailFieldValue, PassFailField> {
3
+ import { BaseField, FieldCreationSchemaObject, FieldValidator } from '../BaseField';
4
+ import { PassFailFieldConfig, PassFailFieldOptions, PassFailFieldValue } from './typings';
5
+ export declare class PassFailField extends BaseField<"pass-fail", PassFailFieldValue, JSONPassFailFieldValue, PassFailField> {
8
6
  readonly type = "pass-fail";
9
7
  showNotesAndFilesOn: PassFailFieldStatus[];
10
8
  constructor(options: PassFailFieldOptions);
11
9
  static getFieldCreationSchema(parentPath?: string): FieldCreationSchemaObject[];
12
- serialize(): SerializedPassFailField;
10
+ serialize(): JSONPassFailField;
11
+ config(): PassFailFieldConfig;
13
12
  getOptions(): PassFailFieldOptions;
14
- duplicate(identifier: string): PassFailField;
13
+ duplicate(id: string): PassFailField;
15
14
  setOptions(options: Partial<PassFailFieldOptions>): void;
16
15
  getFieldValidators(): FieldValidator<PassFailFieldValue>[];
17
- static deserialize(data: SerializedPassFailField): PassFailField;
18
- serializeValue(value: PassFailFieldValue): SerializedPassFailFieldValue;
19
- deserializeValue(value: SerializedPassFailFieldValue): PassFailFieldValue;
16
+ static deserialize(data: JSONPassFailField): PassFailField;
17
+ static fromConfig(config: PassFailFieldConfig): PassFailField;
18
+ static deserializeConfig(data: JSONPassFailField): PassFailFieldConfig;
19
+ static serializeConfig(data: PassFailFieldConfig): JSONPassFailField;
20
+ serializeValue(value: PassFailFieldValue): JSONPassFailFieldValue;
21
+ deserializeValue(value: JSONPassFailFieldValue): PassFailFieldValue;
20
22
  render(): ReactNode;
21
- isSerializedValue(value: unknown): value is SerializedPassFailFieldValue;
23
+ isSerializedValue(value: unknown): value is JSONPassFailFieldValue;
22
24
  isValue(value: unknown): value is PassFailFieldValue;
23
25
  areValuesEqual(value1: PassFailFieldValue, value2: PassFailFieldValue): boolean;
24
26
  blankValue(): PassFailFieldValue;
25
27
  cleanValue(value: PassFailFieldValue): PassFailFieldValue;
26
- cleanSerializedValue(value: SerializedPassFailFieldValue): SerializedPassFailFieldValue;
27
- blankSerializedValue(): SerializedPassFailFieldValue;
28
- areSerializedValuesEqual(value1: SerializedPassFailFieldValue, value2: SerializedPassFailFieldValue): boolean;
28
+ cleanSerializedValue(value: JSONPassFailFieldValue): JSONPassFailFieldValue;
29
+ blankSerializedValue(): JSONPassFailFieldValue;
30
+ areSerializedValuesEqual(value1: JSONPassFailFieldValue, value2: JSONPassFailFieldValue): boolean;
29
31
  }
@@ -1,5 +1,5 @@
1
+ import { PassFailFieldStatus } from '@adrekic/fieldsjson';
1
2
  import { IconComponent } from '@overmap-ai/blocks';
2
- import { PassFailFieldStatus } from './typings';
3
3
  export declare const passFailFieldStatusMapping: Record<PassFailFieldStatus, {
4
4
  label: string;
5
5
  icon: IconComponent;
@@ -1,5 +1,4 @@
1
1
  export * from './constants';
2
2
  export * from './PassFailField';
3
- export * from './PassFailFieldInput';
4
3
  export type * from './typings';
5
4
  export * from './utils';
@@ -1,17 +1,15 @@
1
+ import { PassFailFieldStatus } from '@adrekic/fieldsjson';
1
2
  import { UUIDFile } from '../../UUIDFile';
2
3
  import { UUIDPromise } from '../../UUIDPromise';
3
- import { BaseSerializedField } from '../BaseField';
4
- export type PassFailFieldStatus = "pass" | "fail" | "na";
4
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
5
5
  export interface PassFailFieldValue {
6
6
  status: PassFailFieldStatus | null;
7
7
  notes: string;
8
8
  files: (UUIDPromise<UUIDFile> | UUIDFile)[];
9
9
  }
10
- export interface SerializedPassFailFieldValue {
11
- status: PassFailFieldStatus | null;
12
- notes: string;
13
- files: never[];
10
+ export interface PassFailFieldConfig extends BaseFieldConfig<"pass-fail"> {
11
+ showNotesAndFilesOn: PassFailFieldStatus[];
14
12
  }
15
- export interface SerializedPassFailField extends BaseSerializedField<"pass-fail"> {
13
+ export interface PassFailFieldOptions extends BaseFieldOptions {
16
14
  showNotesAndFilesOn: PassFailFieldStatus[];
17
15
  }
@@ -1,8 +1,9 @@
1
- import { PassFailFieldStatus, PassFailFieldValue, SerializedPassFailFieldValue } from './typings';
1
+ import { JSONPassFailFieldValue, PassFailFieldStatus } from '@adrekic/fieldsjson';
2
+ import { PassFailFieldValue } from './typings';
2
3
  export declare const isPassFailFieldStatus: (value: unknown) => value is PassFailFieldStatus;
3
- export declare const isSerializedPassFailFieldValue: (value: unknown) => value is SerializedPassFailFieldValue;
4
+ export declare const isJSONPassFailFieldValue: (value: unknown) => value is JSONPassFailFieldValue;
4
5
  export declare const isPassFailFieldValue: (value: unknown) => value is PassFailFieldValue;
5
- export declare const serializePassFailFieldValue: (value: PassFailFieldValue) => SerializedPassFailFieldValue;
6
- export declare const deserializePassFailFieldValue: (value: SerializedPassFailFieldValue) => PassFailFieldValue;
6
+ export declare const serializePassFailFieldValue: (value: PassFailFieldValue) => JSONPassFailFieldValue;
7
+ export declare const deserializePassFailFieldValue: (value: JSONPassFailFieldValue) => PassFailFieldValue;
7
8
  export declare const arePassFieldValuesEqual: (value1: PassFailFieldValue, value2: PassFailFieldValue) => boolean;
8
- export declare const areSerializedPassFailFieldValuesEqual: (value1: SerializedPassFailFieldValue, value2: SerializedPassFailFieldValue) => boolean;
9
+ export declare const areJSONPassFailFieldValuesEqual: (value1: JSONPassFailFieldValue, value2: JSONPassFailFieldValue) => boolean;
@@ -1,16 +1,19 @@
1
+ import { JSONRadioField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseOptionsField, BaseOptionsFieldOptions } from '../BaseOptionsField';
3
- import { SerializedRadioField } from './typings';
4
- export interface RadioFieldOptions extends BaseOptionsFieldOptions {
5
- }
3
+ import { BaseOptionsField } from '../BaseOptionsField';
4
+ import { RadioFieldConfig, RadioFieldOptions } from './typings';
6
5
  export declare class RadioField extends BaseOptionsField<"radio", string | null, string | null, RadioField> {
7
6
  readonly type = "radio";
8
7
  constructor(options: RadioFieldOptions);
9
- serialize(): SerializedRadioField;
8
+ serialize(): JSONRadioField;
9
+ config(): RadioFieldConfig;
10
10
  getOptions(): RadioFieldOptions;
11
- duplicate(identifier: string): RadioField;
11
+ duplicate(id: string): RadioField;
12
12
  setOptions(options: Partial<RadioFieldOptions>): void;
13
- static deserialize(data: SerializedRadioField): RadioField;
13
+ static deserialize(data: JSONRadioField): RadioField;
14
+ static fromConfig(config: RadioFieldConfig): RadioField;
15
+ static deserializeConfig(data: JSONRadioField): RadioFieldConfig;
16
+ static serializeConfig(data: RadioFieldConfig): JSONRadioField;
14
17
  serializeValue(value: string | null): string | null;
15
18
  deserializeValue(value: string | null): string | null;
16
19
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './RadioField';
2
- export * from './RadioFieldInput';
3
2
  export type * from './typings';
@@ -1,3 +1,5 @@
1
- import { BaseSerializedOptionsField } from '../BaseOptionsField';
2
- export interface SerializedRadioField extends BaseSerializedOptionsField<"radio"> {
1
+ import { BaseOptionsFieldConfig, BaseOptionsFieldOptions } from '../BaseOptionsField';
2
+ export interface RadioFieldConfig extends BaseOptionsFieldConfig<"radio"> {
3
+ }
4
+ export interface RadioFieldOptions extends BaseOptionsFieldOptions {
3
5
  }
@@ -1,10 +1,8 @@
1
+ import { JSONRatingField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions, FieldValidator } from '../BaseField';
3
+ import { BaseField, FieldValidator } from '../BaseField';
3
4
  import { NumberField } from '../NumberField';
4
- import { SerializedRatingField } from './typings';
5
- export interface RatingFieldOptions extends FieldOptions {
6
- maxRating: number;
7
- }
5
+ import { RatingFieldConfig, RatingFieldOptions } from './typings';
8
6
  export declare class RatingField extends BaseField<"rating", number | null, number | null, RatingField> {
9
7
  readonly type = "rating";
10
8
  maxRating: number;
@@ -14,11 +12,15 @@ export declare class RatingField extends BaseField<"rating", number | null, numb
14
12
  showDirectly: boolean;
15
13
  }[];
16
14
  getFieldValidators(): FieldValidator<number | null>[];
17
- serialize(): SerializedRatingField;
15
+ serialize(): JSONRatingField;
16
+ config(): RatingFieldConfig;
18
17
  getOptions(): RatingFieldOptions;
19
- duplicate(identifier: string): RatingField;
18
+ duplicate(id: string): RatingField;
20
19
  setOptions(options: Partial<RatingFieldOptions>): void;
21
- static deserialize(data: SerializedRatingField): RatingField;
20
+ static deserialize(data: JSONRatingField): RatingField;
21
+ static fromConfig(config: RatingFieldConfig): RatingField;
22
+ static deserializeConfig(data: JSONRatingField): RatingFieldConfig;
23
+ static serializeConfig(data: RatingFieldConfig): JSONRatingField;
22
24
  serializeValue(value: number | null): number | null;
23
25
  deserializeValue(value: number | null): number | null;
24
26
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './RatingField';
2
- export * from './RatingFieldInput';
3
2
  export type * from './typings';
@@ -1,4 +1,7 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedRatingField extends BaseSerializedField<"rating"> {
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface RatingFieldConfig extends BaseFieldConfig<"rating"> {
3
+ maxRating: number;
4
+ }
5
+ export interface RatingFieldOptions extends BaseFieldOptions {
3
6
  maxRating: number;
4
7
  }
@@ -1,16 +1,19 @@
1
+ import { JSONScanField } from '@adrekic/fieldsjson';
1
2
  import { ReactNode } from 'react';
2
- import { BaseField, FieldOptions } from '../BaseField';
3
- import { SerializedScanField } from './typings';
4
- export interface ScanFieldOptions extends FieldOptions {
5
- }
3
+ import { BaseField } from '../BaseField';
4
+ import { ScanFieldConfig, ScanFieldOptions } from './typings';
6
5
  export declare class ScanField extends BaseField<"qr", string, string, ScanField> {
7
6
  readonly type = "qr";
8
7
  constructor(options: ScanFieldOptions);
9
- serialize(): SerializedScanField;
8
+ serialize(): JSONScanField;
9
+ config(): ScanFieldConfig;
10
10
  getOptions(): ScanFieldOptions;
11
- duplicate(identifier: string): ScanField;
11
+ duplicate(id: string): ScanField;
12
12
  setOptions(options: Partial<ScanFieldOptions>): void;
13
- static deserialize(data: SerializedScanField): ScanField;
13
+ static deserialize(data: JSONScanField): ScanField;
14
+ static fromConfig(config: ScanFieldConfig): ScanField;
15
+ static deserializeConfig(data: JSONScanField): ScanFieldConfig;
16
+ static serializeConfig(data: ScanFieldConfig): JSONScanField;
14
17
  serializeValue(value: string): string;
15
18
  deserializeValue(value: string): string;
16
19
  render(): ReactNode;
@@ -1,3 +1,2 @@
1
1
  export * from './ScanField';
2
- export * from './ScanFieldInput';
3
2
  export type * from './typings';
@@ -1,3 +1,5 @@
1
- import { BaseSerializedField } from '../BaseField';
2
- export interface SerializedScanField extends BaseSerializedField<"qr"> {
1
+ import { BaseFieldConfig, BaseFieldOptions } from '../BaseField';
2
+ export interface ScanFieldConfig extends BaseFieldConfig<"qr"> {
3
+ }
4
+ export interface ScanFieldOptions extends BaseFieldOptions {
3
5
  }