@overmap-ai/forms 2.0.1-compound-conditions.0 → 2.0.1-compound-conditions.2

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.
@@ -1,5 +1,5 @@
1
1
  import { BooleanFieldEqualsCondition, CheckboxListFieldEqualsCondition, DateFieldEqualsCondition, MultiSelectFieldEqualsCondition, MultiStringFieldEqualsCondition, NumberFieldEqualsCondition, OTPFieldEqualsCondition, PassFailFieldEqualsCondition, RadioFieldEqualsCondition, RatingFieldEqualsCondition, ScanFieldEqualsCondition, SelectFieldEqualsCondition, StringFieldEqualsCondition, TextFieldEqualsCondition, TimeFieldEqualsCondition, UploadFieldEqualsCondition, URLFieldEqualsCondition } from '../conditions';
2
2
  import { Field, FieldCreationSchemaObject, FieldType } from '../fields';
3
3
  export declare const createField: (type: FieldType) => Field;
4
- export declare const createAtomicCondition: (field: Field) => BooleanFieldEqualsCondition | StringFieldEqualsCondition | TextFieldEqualsCondition | OTPFieldEqualsCondition | ScanFieldEqualsCondition | URLFieldEqualsCondition | SelectFieldEqualsCondition | RadioFieldEqualsCondition | CheckboxListFieldEqualsCondition | MultiSelectFieldEqualsCondition | MultiStringFieldEqualsCondition | NumberFieldEqualsCondition | RatingFieldEqualsCondition | DateFieldEqualsCondition | TimeFieldEqualsCondition | PassFailFieldEqualsCondition | UploadFieldEqualsCondition;
4
+ export declare const createAtomicCondition: (field: Field) => BooleanFieldEqualsCondition | CheckboxListFieldEqualsCondition | DateFieldEqualsCondition | MultiSelectFieldEqualsCondition | MultiStringFieldEqualsCondition | NumberFieldEqualsCondition | OTPFieldEqualsCondition | PassFailFieldEqualsCondition | RadioFieldEqualsCondition | RatingFieldEqualsCondition | ScanFieldEqualsCondition | SelectFieldEqualsCondition | StringFieldEqualsCondition | TextFieldEqualsCondition | TimeFieldEqualsCondition | UploadFieldEqualsCondition | URLFieldEqualsCondition;
5
5
  export declare const getFieldCreationSchema: (type: FieldType, path: string) => FieldCreationSchemaObject[] | undefined;
@@ -1,9 +1,10 @@
1
- import { FieldCondition } from '../../conditions/typings';
1
+ import { FieldCondition } from '../../conditions';
2
2
  import { Field } from '../../fields';
3
3
  export interface FieldConditionBuilderProps {
4
4
  fields: Field[];
5
- condition: FieldCondition;
6
- onReplace: (condition: FieldCondition) => void;
5
+ conditions: FieldCondition[];
6
+ onAdd: (conditions: FieldCondition[]) => void;
7
+ onReplace: (previous: FieldCondition, replacement: FieldCondition) => void;
7
8
  onRemove: (condition: FieldCondition) => void;
8
9
  }
9
10
  export declare const FieldConditionBuilder: (props: FieldConditionBuilderProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,11 +2,16 @@ import { Observable } from '../../Observable';
2
2
  import { FieldValues } from '../../typings';
3
3
  import { FieldCondition } from '../typings';
4
4
  export declare class ConditionManager extends Observable<ConditionManager> {
5
- private condition;
6
- constructor(condition: FieldCondition);
5
+ private conditions;
6
+ constructor(conditions: FieldCondition[]);
7
7
  private conditionObserver;
8
- private initCondition;
9
- getCondition(): FieldCondition;
10
- setCondition(condition: FieldCondition): void;
11
- applyCondition(values: FieldValues): boolean;
8
+ private initConditions;
9
+ getConditions(): FieldCondition[];
10
+ setConditions(conditions: FieldCondition[]): void;
11
+ addCondition(condition: FieldCondition): void;
12
+ addConditions(conditions: FieldCondition[]): void;
13
+ replaceCondition(condition1: FieldCondition, condition2: FieldCondition): void;
14
+ removeCondition(condition: FieldCondition): void;
15
+ removeConditions(conditions: FieldCondition[]): void;
16
+ applyConditions(values: FieldValues): boolean;
12
17
  }
@@ -1,4 +1,4 @@
1
1
  import { FieldCondition } from '../typings';
2
2
  import { ConditionManager } from './ConditionManager';
3
3
  import { ConditionChangeEventHandler } from './typings';
4
- export declare const useConditionManager: (condition: FieldCondition, onConditionsChange: ConditionChangeEventHandler) => ConditionManager;
4
+ export declare const useConditionManager: (conditions: FieldCondition[], onConditionsChange: ConditionChangeEventHandler) => ConditionManager;
@@ -1,2 +1,2 @@
1
1
  import { FieldCondition } from '../typings';
2
- export type ConditionChangeEventHandler = (condition: FieldCondition) => void;
2
+ export type ConditionChangeEventHandler = (conditions: FieldCondition[]) => void;
@@ -1,6 +1,8 @@
1
1
  import { JSONCondition } from '@adrekic/fieldsjson';
2
2
  import { Field } from '../fields';
3
+ import { FieldValues } from '../typings';
3
4
  import { FieldCondition } from './typings';
5
+ export declare const applyConditions: (conditions: FieldCondition[], values: FieldValues) => boolean;
4
6
  export declare const deserializeCondition: (fields: Field[], condition: JSONCondition) => FieldCondition | null;
5
7
  export declare const deserializeConditions: (fields: Field[], conditions: JSONCondition[]) => FieldCondition[];
6
8
  export declare const serializeCondition: (fields: Field[], condition: FieldCondition) => JSONCondition | null;
@@ -31,9 +31,14 @@ export declare class FieldSection extends BaseFormElement<"section", FieldSectio
31
31
  removeField(field: Field): void;
32
32
  private conditionObserver;
33
33
  private initConditions;
34
- getCondition(id: string): FieldCondition;
34
+ getConditions(id: string): FieldCondition[];
35
35
  addCondition(id: string, condition: FieldCondition): void;
36
- replaceCondition(id: string, condition: FieldCondition): void;
37
- removeCondition(id: string): void;
36
+ addConditions(id: string, conditions: FieldCondition[]): void;
37
+ replaceCondition(id: string, condition1: FieldCondition, condition2: FieldCondition): void;
38
+ removeCondition(id: string, condition: FieldCondition): void;
39
+ removeConditions(id: string, conditions: FieldCondition[]): void;
40
+ getConditionals(): Set<string>;
41
+ addConditional(id: string): void;
42
+ removeConditional(id: string): void;
38
43
  render(): ReactNode;
39
44
  }
@@ -8,7 +8,7 @@ export interface FieldSectionConfig extends BaseFieldElementConfig<"section"> {
8
8
  conditions?: JSONFieldSectionConditions;
9
9
  fields: FieldConfig[];
10
10
  }
11
- export type FieldSectionConditions = Record<string, FieldCondition>;
11
+ export type FieldSectionConditions = Record<string, FieldCondition[]>;
12
12
  export interface FieldSectionOptions extends BaseFieldElementOptions {
13
13
  label?: string;
14
14
  description?: string;
@@ -32,10 +32,14 @@ export declare class FieldSchema extends Observable<FieldSchema> implements Fiel
32
32
  initializeValues(values: FieldValues): FieldValues;
33
33
  validateValues(values: FieldValues): import('..').FieldErrors;
34
34
  areValuesValid(values: FieldValues): boolean;
35
- deserializeConditions(conditions: JSONCondition[]): FieldCondition[];
35
+ deserializeCondition(condition: JSONCondition): FieldCondition | null;
36
+ cleanCondition(condition: FieldCondition): FieldCondition | null;
37
+ serializeCondition(condition: FieldCondition): JSONCondition | null;
38
+ cleanSerializedCondition(condition: JSONCondition): JSONCondition | null;
36
39
  cleanConditions(conditions: FieldCondition[]): FieldCondition[];
37
- serializeConditions(conditions: FieldCondition[]): JSONCondition[];
38
40
  cleanSerializedConditions(conditions: JSONCondition[]): JSONCondition[];
41
+ deserializeConditions(conditions: JSONCondition[]): FieldCondition[];
42
+ serializeConditions(conditions: FieldCondition[]): JSONCondition[];
39
43
  changedFieldValues(values1: FieldValues, values2: FieldValues): FieldValues;
40
44
  unchangedFieldValues(values1: FieldValues, values2: FieldValues): FieldValues;
41
45
  areValuesEqual(values1: FieldValues, values2: FieldValues): boolean;