@overmap-ai/forms 1.0.28 → 1.0.29

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.
@@ -16,4 +16,5 @@ export declare const CompleteFieldTypeToClsMapping: {
16
16
  "multi-string": typeof import('..').MultiStringField;
17
17
  "multi-select": typeof import('..').MultiSelectField;
18
18
  radio: typeof import('..').RadioField;
19
+ "checkbox-list": typeof import('..').CheckboxListField;
19
20
  };
@@ -12,7 +12,7 @@ export declare function insert<T>(list: T[] | undefined, index: number, value: T
12
12
  export declare function remove<T>(list: T[], index: number): T[];
13
13
  export declare const makeIdentifier: () => string;
14
14
  export declare const findFieldByIdentifier: (fields: ISerializedField[], identifier?: string) => ISerializedField | null;
15
- export declare const makeConditionalSourceFields: (sections: SerializedFieldSection[], index: number) => (import('..').SerializedTextField | import('..').SerializedBooleanField | import('..').SerializedNumberField | import('..').SerializedDateField | import('..').SerializedStringField | import('..').SerializedSelectField | import('..').SerializedMultiStringField | import('..').SerializedMultiSelectField | import('..').SerializedUploadField | import('..').SerializedScanField | import('..').SerializedRadioField)[];
15
+ export declare const makeConditionalSourceFields: (sections: SerializedFieldSection[], index: number) => (import('..').SerializedTextField | import('..').SerializedBooleanField | import('..').SerializedNumberField | import('..').SerializedDateField | import('..').SerializedStringField | import('..').SerializedSelectField | import('..').SerializedMultiStringField | import('..').SerializedMultiSelectField | import('..').SerializedUploadField | import('..').SerializedScanField | import('..').SerializedRadioField | import('..').SerializedCheckboxListField)[];
16
16
  export type NewFieldInitialValues = Omit<ISerializedField, "identifier"> & {
17
17
  label: string;
18
18
  };
@@ -0,0 +1,31 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseField, ChildFieldOptions } from '../BaseField';
3
+ import { SelectFieldOption } from '../BaseSelectField';
4
+ import { MultiStringField } from '../MultiStringField';
5
+ import { GetInputProps, ISerializedField } from '../typings';
6
+ import { SerializedCheckboxListField } from './typings';
7
+ export declare const emptyCheckboxListField: {
8
+ type: string;
9
+ options: never[];
10
+ label: string;
11
+ description: string;
12
+ required: boolean;
13
+ };
14
+ export interface CheckboxListFieldConfig extends ChildFieldOptions<string[]> {
15
+ options: SelectFieldOption[];
16
+ }
17
+ export declare class CheckboxListField extends BaseField<string[], "checkbox-list"> {
18
+ readonly options: SelectFieldOption[];
19
+ readonly onlyValidateAfterTouched = false;
20
+ static readonly fieldTypeName = "Checkbox list";
21
+ static readonly fieldTypeDescription = "Allows the user to select a multiple options from a list.";
22
+ static Icon: import('react-icons').IconType;
23
+ constructor(config: CheckboxListFieldConfig);
24
+ serialize(): SerializedCheckboxListField;
25
+ static deserialize(data: ISerializedField): CheckboxListField;
26
+ static getFieldCreationSchema(parentPath?: string): {
27
+ field: MultiStringField;
28
+ showDirectly: boolean;
29
+ }[];
30
+ getInput(props: GetInputProps<this>): ReactNode;
31
+ }
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from '../typings';
2
+ import { CheckboxListField } from './CheckboxListField';
3
+ export declare const CheckboxListInput: import('react').MemoExoticComponent<(props: ComponentProps<CheckboxListField>) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,3 @@
1
+ export * from './CheckboxListField';
2
+ export * from './CheckboxListInput';
3
+ export * from './typings';
@@ -0,0 +1,6 @@
1
+ import { BaseSerializedField } from '../BaseField';
2
+ import { SelectFieldOption } from '../BaseSelectField';
3
+ export interface SerializedCheckboxListField extends BaseSerializedField {
4
+ type: "checkbox-list";
5
+ options: SelectFieldOption[];
6
+ }
@@ -1,4 +1,5 @@
1
1
  import { BooleanField } from './BooleanField';
2
+ import { CheckboxListField } from './CheckboxListField';
2
3
  import { CustomField } from './CustomField';
3
4
  import { DateField } from './DateField';
4
5
  import { MultiSelectField } from './MultiSelectField';
@@ -24,6 +25,7 @@ export declare const FieldTypeToClsMapping: {
24
25
  readonly "multi-string": typeof MultiStringField;
25
26
  readonly "multi-select": typeof MultiSelectField;
26
27
  readonly radio: typeof RadioField;
28
+ readonly "checkbox-list": typeof CheckboxListField;
27
29
  };
28
30
  export declare const FieldTypeToEmptyFieldMapping: {
29
31
  readonly date: {
@@ -112,6 +114,13 @@ export declare const FieldTypeToEmptyFieldMapping: {
112
114
  description: string;
113
115
  required: boolean;
114
116
  };
117
+ readonly "checkbox-list": {
118
+ type: string;
119
+ options: never[];
120
+ label: string;
121
+ description: string;
122
+ required: boolean;
123
+ };
115
124
  };
116
125
  export declare const fieldIcons: Record<FieldTypeIdentifier, string>;
117
126
  export declare const maxFileSizeMB = 50;
@@ -1,6 +1,7 @@
1
1
  export * from './BaseField';
2
2
  export * from './BaseSelectField';
3
3
  export * from './BooleanField';
4
+ export * from './CheckboxListField';
4
5
  export * from './components';
5
6
  export * from './constants';
6
7
  export * from './DateField';
@@ -4,6 +4,7 @@ import { FormBuilderValues } from '../builder';
4
4
  import { FormValues } from '../typings';
5
5
  import { BaseField, BaseFormElement } from './BaseField';
6
6
  import { SerializedBooleanField } from './BooleanField';
7
+ import { SerializedCheckboxListField } from './CheckboxListField';
7
8
  import { SerializedDateField } from './DateField';
8
9
  import { SerializedFieldSection } from './FieldSection';
9
10
  import { SerializedMultiSelectField } from './MultiSelectField';
@@ -15,7 +16,7 @@ import { SerializedSelectField } from './SelectField';
15
16
  import { SerializedStringField } from './StringField';
16
17
  import { SerializedTextField } from './TextField';
17
18
  import { SerializedUploadField } from './UploadField';
18
- export type FieldTypeIdentifier = "string" | "text" | "boolean" | "number" | "date" | "select" | "custom" | "section" | "multi-string" | "multi-select" | "upload" | "qr" | "radio";
19
+ export type FieldTypeIdentifier = "string" | "text" | "boolean" | "number" | "date" | "select" | "custom" | "section" | "multi-string" | "multi-select" | "upload" | "qr" | "radio" | "checkbox-list";
19
20
  export type FieldValue = string | number | boolean | string[] | File[] | Date | null;
20
21
  export type ValueOfField<Type extends AnyField> = Type extends BaseField<infer TValue> ? TValue : never;
21
22
  export type InputFieldLevelValidator<TValue> = (value: TValue | undefined) => string | null | undefined;
@@ -30,5 +31,5 @@ export interface ComponentProps<TField extends BaseFormElement> extends Omit<HTM
30
31
  }
31
32
  export type GetInputProps<TField extends BaseFormElement> = Omit<ComponentProps<TField>, "field">;
32
33
  export type AnyField = BaseField<any, any>;
33
- export type ISerializedField = SerializedTextField | SerializedBooleanField | SerializedNumberField | SerializedDateField | SerializedStringField | SerializedSelectField | SerializedFieldSection | SerializedMultiStringField | SerializedMultiSelectField | SerializedUploadField | SerializedScanField | SerializedRadioField;
34
+ export type ISerializedField = SerializedTextField | SerializedBooleanField | SerializedNumberField | SerializedDateField | SerializedStringField | SerializedSelectField | SerializedFieldSection | SerializedMultiStringField | SerializedMultiSelectField | SerializedUploadField | SerializedScanField | SerializedRadioField | SerializedCheckboxListField;
34
35
  export type ISerializedOnlyField = Exclude<ISerializedField, SerializedFieldSection>;