@zealicsolutions/web-ui 0.3.17 → 0.3.18

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 (38) hide show
  1. package/dist/cjs/index.js +3 -3
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/src/containers/FormStepContainer.d.ts +4 -0
  4. package/dist/cjs/src/containers/hooks/index.d.ts +1 -0
  5. package/dist/cjs/src/containers/hooks/useCheckCondition.d.ts +6 -0
  6. package/dist/cjs/src/containers/hooks/useCheckCondition.test.d.ts +1 -0
  7. package/dist/cjs/src/containers/mock-data.d.ts +1 -0
  8. package/dist/cjs/src/containers/styles.d.ts +2 -3
  9. package/dist/cjs/src/containers/types/moleculeTypes.d.ts +31 -10
  10. package/dist/cjs/src/containers/types/types.d.ts +28 -5
  11. package/dist/cjs/src/molecules/CheckboxField/CheckboxField.d.ts +3 -1
  12. package/dist/cjs/src/molecules/CheckboxField/CheckboxField.stories.d.ts +3 -2
  13. package/dist/cjs/src/molecules/InputField/InputField.d.ts +3 -1
  14. package/dist/cjs/src/molecules/InputField/InputField.stories.d.ts +3 -2
  15. package/dist/cjs/src/molecules/RadioButtonField/RadioButtonField.d.ts +5 -2
  16. package/dist/cjs/src/molecules/RadioButtonField/RadioButtonField.stories.d.ts +3 -2
  17. package/dist/cjs/src/molecules/SelectField/SelectField.d.ts +3 -1
  18. package/dist/cjs/src/molecules/SelectField/SelectField.stories.d.ts +3 -2
  19. package/dist/esm/index.js +3 -3
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/src/containers/FormStepContainer.d.ts +4 -0
  22. package/dist/esm/src/containers/hooks/index.d.ts +1 -0
  23. package/dist/esm/src/containers/hooks/useCheckCondition.d.ts +6 -0
  24. package/dist/esm/src/containers/hooks/useCheckCondition.test.d.ts +1 -0
  25. package/dist/esm/src/containers/mock-data.d.ts +1 -0
  26. package/dist/esm/src/containers/styles.d.ts +2 -3
  27. package/dist/esm/src/containers/types/moleculeTypes.d.ts +31 -10
  28. package/dist/esm/src/containers/types/types.d.ts +28 -5
  29. package/dist/esm/src/molecules/CheckboxField/CheckboxField.d.ts +3 -1
  30. package/dist/esm/src/molecules/CheckboxField/CheckboxField.stories.d.ts +3 -2
  31. package/dist/esm/src/molecules/InputField/InputField.d.ts +3 -1
  32. package/dist/esm/src/molecules/InputField/InputField.stories.d.ts +3 -2
  33. package/dist/esm/src/molecules/RadioButtonField/RadioButtonField.d.ts +5 -2
  34. package/dist/esm/src/molecules/RadioButtonField/RadioButtonField.stories.d.ts +3 -2
  35. package/dist/esm/src/molecules/SelectField/SelectField.d.ts +3 -1
  36. package/dist/esm/src/molecules/SelectField/SelectField.stories.d.ts +3 -2
  37. package/dist/index.d.ts +70 -22
  38. package/package.json +2 -1
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { FormStepContainerProps } from 'containers';
3
+ export declare type StepContainerProps = PropsWithChildren<Partial<FormStepContainerProps>>;
4
+ export declare const FormStepContainer: ({ formStepName, order, conditionConfig, children, }: StepContainerProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ export { useCheckCondition } from './useCheckCondition';
@@ -0,0 +1,6 @@
1
+ import { ConditionConfig } from 'containers/types/types';
2
+ import { AnyObject } from 'typescript';
3
+ /**
4
+ * @attention This hook needs to be used inside of the form container for the form fields
5
+ */
6
+ export declare const useCheckCondition: (config?: ConditionConfig, formData?: AnyObject) => boolean;
@@ -2,3 +2,4 @@ import { ContainerComponentProps } from 'containers';
2
2
  export declare const sliderContainerProps: ContainerComponentProps;
3
3
  export declare const formContainerProps: ContainerComponentProps;
4
4
  export declare const columnContainerProps: ContainerComponentProps;
5
+ export declare const formBuilderData: ContainerComponentProps;
@@ -5,8 +5,7 @@ export declare const ContainerWrapper: import("styled-components").StyledCompone
5
5
  scrollBehaviour: import("containers/types/types").ContainerScrollBehaviourType;
6
6
  cornerRadius: number;
7
7
  styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
8
- formProps: {
9
- mode: keyof import("react-hook-form").ValidationMode;
10
- };
8
+ formProps: import("containers/types/types").FormContainerProps;
9
+ formStepProps: import("containers/types/types").FormStepContainerProps;
11
10
  }> | undefined;
12
11
  }, never>;
@@ -1,9 +1,9 @@
1
1
  import { SelectOption } from 'atoms';
2
2
  import { AdditionalTabContainerProps, ButtonProps, CheckboxFieldProps, ImageProps, InputFieldProps, RadioButtonFieldProps, SelectFieldProps, TabGroupProps, TextMoleculeProps } from 'molecules';
3
- import { UseFormReturn } from 'react-hook-form';
4
3
  import { CSSProperties } from 'styled-components';
5
4
  import type { AnyObject, Nullable, StrictUnion } from 'typescript';
6
- import { ContainerComponentProps } from './types';
5
+ import { ConditionConfig, ContainerComponentProps } from './types';
6
+ import { UseFormReturn } from 'react-hook-form';
7
7
  export declare type ActionTypes = 'link' | 'popup' | 'drawer' | 'download' | 'submit' | 'reset' | 'destroy';
8
8
  export declare type DownloadFile = {
9
9
  url: string;
@@ -35,7 +35,7 @@ export declare type ImageAttributes = {
35
35
  export interface TextAttributes {
36
36
  id?: string;
37
37
  attributeType: 'text';
38
- isRichText: boolean;
38
+ isRichText?: boolean;
39
39
  text: string;
40
40
  }
41
41
  export interface VideoAttributes {
@@ -68,6 +68,19 @@ export interface IterableAttributes {
68
68
  attributeType: 'iterable';
69
69
  options: SelectOption[];
70
70
  }
71
+ export interface DataConnectionAttributes {
72
+ id: string;
73
+ attributeType: 'data_model_field';
74
+ dataModelField: {
75
+ id: string;
76
+ fieldName: string;
77
+ };
78
+ }
79
+ export interface ConditionConfigAttributes {
80
+ id: string;
81
+ attributeType: 'condition_config';
82
+ conditionConfig: ConditionConfig;
83
+ }
71
84
  export declare type MoleculeTypes = 'image' | 'text' | 'button' | 'video' | 'header_tab_group' | 'input_field' | 'select_field' | 'radio_button_field' | 'checkbox_field';
72
85
  export interface BaseMolecule {
73
86
  id: string;
@@ -83,7 +96,7 @@ export interface ImageMolecule extends BaseMolecule {
83
96
  link: LinkAttributes;
84
97
  };
85
98
  config: {
86
- props: Omit<ImageProps, 'src' | 'link' | 'altText'>;
99
+ props?: Omit<ImageProps, 'src' | 'link' | 'altText'>;
87
100
  };
88
101
  }
89
102
  export interface TextMoleculeType extends BaseMolecule {
@@ -94,7 +107,7 @@ export interface TextMoleculeType extends BaseMolecule {
94
107
  fontVariant: SelectAttributes;
95
108
  };
96
109
  config: {
97
- props: TextMoleculeProps;
110
+ props?: TextMoleculeProps;
98
111
  };
99
112
  }
100
113
  export interface ButtonMolecule extends BaseMolecule {
@@ -104,7 +117,7 @@ export interface ButtonMolecule extends BaseMolecule {
104
117
  action: ActionAttributes;
105
118
  };
106
119
  config: {
107
- props: Partial<Omit<ButtonProps, 'disabled' | 'children' | 'link' | 'text' | 'onClick' | 'elementId'>>;
120
+ props?: Partial<Omit<ButtonProps, 'disabled' | 'children' | 'link' | 'text' | 'onClick' | 'elementId'>>;
108
121
  };
109
122
  }
110
123
  export interface VideoMolecule extends BaseMolecule {
@@ -137,9 +150,11 @@ export interface TextInputMolecule extends BaseMolecule {
137
150
  label: TextAttributes;
138
151
  required: BooleanAttributes;
139
152
  inputType: SelectAttributes;
153
+ dataModelField: DataConnectionAttributes;
154
+ conditionConfig: ConditionConfigAttributes;
140
155
  };
141
156
  config: {
142
- props: Partial<{
157
+ props?: Partial<{
143
158
  state: 'default' | 'error';
144
159
  } & InputFieldProps>;
145
160
  };
@@ -150,9 +165,11 @@ export interface SelectFieldMolecule extends BaseMolecule {
150
165
  label: TextAttributes;
151
166
  required: BooleanAttributes;
152
167
  options: IterableAttributes;
168
+ dataModelField: DataConnectionAttributes;
169
+ conditionConfig: ConditionConfigAttributes;
153
170
  };
154
171
  config: {
155
- props: Partial<{
172
+ props?: Partial<{
156
173
  state: 'default' | 'error';
157
174
  } & SelectFieldProps>;
158
175
  };
@@ -163,9 +180,11 @@ export interface RadioButtonFieldMolecule extends BaseMolecule {
163
180
  label: TextAttributes;
164
181
  required: BooleanAttributes;
165
182
  options: IterableAttributes;
183
+ dataModelField: DataConnectionAttributes;
184
+ conditionConfig: ConditionConfigAttributes;
166
185
  };
167
186
  config: {
168
- props: Partial<{
187
+ props?: Partial<{
169
188
  state: 'default' | 'error';
170
189
  } & RadioButtonFieldProps<string>>;
171
190
  };
@@ -176,9 +195,11 @@ export interface CheckboxFieldMolecule extends BaseMolecule {
176
195
  label: TextAttributes;
177
196
  required: BooleanAttributes;
178
197
  options: IterableAttributes;
198
+ dataModelField: DataConnectionAttributes;
199
+ conditionConfig: ConditionConfigAttributes;
179
200
  };
180
201
  config: {
181
- props: Partial<{
202
+ props?: Partial<{
182
203
  state: 'default' | 'error';
183
204
  } & CheckboxFieldProps>;
184
205
  };
@@ -2,19 +2,26 @@ import { TabGroupProps } from 'molecules';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import { CSSProperties } from 'styled-components';
4
4
  import { ValidationMode } from 'react-hook-form';
5
- import type { AnyObject, StylesType } from 'typescript';
5
+ import type { AnyObject, Nullable, StylesType } from 'typescript';
6
6
  import { Molecule } from './moleculeTypes';
7
- export declare type ContainerType = 'row' | 'column' | 'slider' | 'form';
7
+ export declare type ContainerType = 'row' | 'column' | 'slider' | 'form' | 'form_step';
8
8
  export declare type ContainerPositionType = 'fixed' | 'sticky' | 'static' | 'relative';
9
9
  export declare type ContainerScrollBehaviourType = 'vertical' | 'horizontal' | 'auto' | 'none';
10
+ export declare type FormStepContainerProps = {
11
+ formStepName: string;
12
+ order: number;
13
+ conditionConfig: ConditionConfig;
14
+ };
15
+ export declare type FormContainerProps = {
16
+ mode: keyof ValidationMode;
17
+ };
10
18
  export declare type ContainerPropsType = Partial<{
11
19
  position: ContainerPositionType;
12
20
  scrollBehaviour: ContainerScrollBehaviourType;
13
21
  cornerRadius: number;
14
22
  styles: StylesType;
15
- formProps: {
16
- mode: keyof ValidationMode;
17
- };
23
+ formProps: FormContainerProps;
24
+ formStepProps: FormStepContainerProps;
18
25
  }>;
19
26
  export declare type AdditionalContainerProps = Partial<{
20
27
  containerStyle: CSSProperties;
@@ -41,3 +48,19 @@ export declare type ContainerComponentProps = {
41
48
  attributes?: AnyObject;
42
49
  containerLibraryId?: string;
43
50
  };
51
+ export declare type CriteriaType = 'operator' | 'condition';
52
+ export declare type ConditionCriteria = {
53
+ id: string;
54
+ type: CriteriaType;
55
+ operator: string;
56
+ dataFieldId: Nullable<string>;
57
+ dataFieldName: Nullable<string>;
58
+ dataValue: Nullable<string>;
59
+ connectedTo: Nullable<string>;
60
+ };
61
+ export declare type SegmentationType = 'simple' | 'advanced';
62
+ export declare type ConditionConfig = Nullable<{
63
+ id: string;
64
+ segmentationType: SegmentationType;
65
+ criteriaList: ConditionCriteria[];
66
+ }>;
@@ -4,6 +4,7 @@ import { SelectOption } from 'atoms';
4
4
  import type { StylesType } from 'typescript';
5
5
  import { CheckboxInternalConfigProps } from 'atoms/Checkbox/types';
6
6
  import { FieldLabelsProps } from '../FieldLabels/FieldLabels';
7
+ import { ConditionConfig } from 'containers';
7
8
  export declare type CheckboxesProps = Partial<{
8
9
  checkboxGroupWrapperStyles: StylesType;
9
10
  checkboxFieldWrapperStyles: StylesType;
@@ -25,5 +26,6 @@ export declare type CheckboxFieldProps = Partial<{
25
26
  required: boolean;
26
27
  optional: boolean;
27
28
  wrapperStyles: StylesType;
29
+ conditionConfig?: ConditionConfig;
28
30
  }>;
29
- export declare const CheckboxField: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, }: CheckboxFieldProps) => JSX.Element;
31
+ export declare const CheckboxField: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, conditionConfig, }: CheckboxFieldProps) => JSX.Element | null;
@@ -3,7 +3,7 @@ import type { StoryFn } from '@storybook/react';
3
3
  import { CheckboxField as CheckboxFieldComponent } from 'molecules';
4
4
  declare const _default: {
5
5
  title: string;
6
- component: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, }: Partial<{
6
+ component: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, conditionConfig, }: Partial<{
7
7
  checkboxesProps: Partial<{
8
8
  checkboxGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
9
9
  checkboxFieldWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
@@ -48,7 +48,8 @@ declare const _default: {
48
48
  required: boolean;
49
49
  optional: boolean;
50
50
  wrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
51
- }>) => JSX.Element;
51
+ conditionConfig?: import("../..").ConditionConfig | undefined;
52
+ }>) => JSX.Element | null;
52
53
  };
53
54
  export default _default;
54
55
  export declare const CheckboxField: StoryFn<typeof CheckboxFieldComponent>;
@@ -3,6 +3,7 @@ import { Control, ControllerProps } from 'react-hook-form/dist/types';
3
3
  import { InputProps } from 'atoms';
4
4
  import type { StylesType } from 'typescript';
5
5
  import { FieldLabelsProps } from '../FieldLabels/FieldLabels';
6
+ import { ConditionConfig } from 'containers';
6
7
  export declare type InputFieldProps = Partial<{
7
8
  name: string;
8
9
  control: Control<any>;
@@ -13,5 +14,6 @@ export declare type InputFieldProps = Partial<{
13
14
  inputProps: InputProps;
14
15
  styles: StylesType;
15
16
  labelsProps: FieldLabelsProps;
17
+ conditionConfig?: ConditionConfig;
16
18
  }>;
17
- export declare const InputField: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, }: InputFieldProps) => JSX.Element;
19
+ export declare const InputField: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, conditionConfig, }: InputFieldProps) => JSX.Element | null;
@@ -3,7 +3,7 @@ import { StoryFn } from '@storybook/react';
3
3
  import { InputFieldProps } from './InputField';
4
4
  declare const _default: {
5
5
  title: string;
6
- component: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, }: Partial<{
6
+ component: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, conditionConfig, }: Partial<{
7
7
  name: string;
8
8
  control: import("react-hook-form").Control<any, any>;
9
9
  rules: Omit<Partial<{
@@ -30,7 +30,8 @@ declare const _default: {
30
30
  inputProps: import("../..").InputProps;
31
31
  styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
32
32
  labelsProps: import("..").FieldLabelsProps;
33
- }>) => JSX.Element;
33
+ conditionConfig?: import("../..").ConditionConfig | undefined;
34
+ }>) => JSX.Element | null;
34
35
  };
35
36
  export default _default;
36
37
  export declare const InputField: StoryFn<InputFieldProps>;
@@ -3,6 +3,7 @@ import { RadioButtonInternalConfigProps, RadioButtonsProps } from 'atoms';
3
3
  import { Control, ControllerProps } from 'react-hook-form/dist/types';
4
4
  import type { StylesType } from 'typescript';
5
5
  import { FieldLabelsProps } from '../FieldLabels/FieldLabels';
6
+ import { ConditionConfig } from 'containers';
6
7
  export declare type RadioButtonFieldProps<T extends string> = Partial<{
7
8
  name: string;
8
9
  rules: ControllerProps['rules'];
@@ -14,8 +15,9 @@ export declare type RadioButtonFieldProps<T extends string> = Partial<{
14
15
  defaultValue: string;
15
16
  radioButtonsProps: RadioButtonsProps<T>;
16
17
  internalConfig: RadioButtonInternalConfigProps;
18
+ conditionConfig?: ConditionConfig;
17
19
  }>;
18
- export declare const RadioButtonField: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, }: Partial<{
20
+ export declare const RadioButtonField: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, conditionConfig, }: Partial<{
19
21
  name: string;
20
22
  rules: ControllerProps['rules'];
21
23
  styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
@@ -57,4 +59,5 @@ export declare const RadioButtonField: <T extends string>({ name, rules, styles,
57
59
  buttonOptionSpacing: import("../..").SizesTypes;
58
60
  radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
59
61
  }>;
60
- }>) => JSX.Element;
62
+ conditionConfig?: ConditionConfig | undefined;
63
+ }>) => JSX.Element | null;
@@ -3,7 +3,7 @@ import type { ComponentStory } from '@storybook/react';
3
3
  import { RadioButtonField as RadioButtonFieldComponent } from './RadioButtonField';
4
4
  declare const _default: {
5
5
  title: string;
6
- component: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, }: Partial<{
6
+ component: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, conditionConfig, }: Partial<{
7
7
  name: string;
8
8
  rules: Omit<Partial<{
9
9
  required: string | import("react-hook-form").ValidationRule<boolean>;
@@ -62,7 +62,8 @@ declare const _default: {
62
62
  buttonOptionSpacing: import("theme").SizesTypes;
63
63
  radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
64
64
  }>;
65
- }>) => JSX.Element;
65
+ conditionConfig?: import("../..").ConditionConfig | undefined;
66
+ }>) => JSX.Element | null;
66
67
  };
67
68
  export default _default;
68
69
  export declare const RadioButtonField: ComponentStory<typeof RadioButtonFieldComponent>;
@@ -3,6 +3,7 @@ import { SelectProps } from 'atoms';
3
3
  import { Control, ControllerProps } from 'react-hook-form/dist/types';
4
4
  import type { StylesType } from 'typescript';
5
5
  import { FieldLabelsProps } from '../FieldLabels/FieldLabels';
6
+ import { ConditionConfig } from 'containers';
6
7
  export declare type SelectFieldProps = Partial<{
7
8
  selectProps: SelectProps;
8
9
  labelsProps: FieldLabelsProps;
@@ -13,5 +14,6 @@ export declare type SelectFieldProps = Partial<{
13
14
  optional: boolean;
14
15
  defaultValue: string;
15
16
  styles: StylesType;
17
+ conditionConfig?: ConditionConfig;
16
18
  }>;
17
- export declare const SelectField: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, }: SelectFieldProps) => JSX.Element;
19
+ export declare const SelectField: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, conditionConfig, }: SelectFieldProps) => JSX.Element | null;
@@ -3,7 +3,7 @@ import { StoryFn } from '@storybook/react';
3
3
  import { SelectFieldProps } from './SelectField';
4
4
  declare const _default: {
5
5
  title: string;
6
- component: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, }: Partial<{
6
+ component: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, conditionConfig, }: Partial<{
7
7
  selectProps: Partial<{
8
8
  ref: import("react-hook-form").RefCallBack;
9
9
  onBlur: import("typescript").Callback;
@@ -43,7 +43,8 @@ declare const _default: {
43
43
  optional: boolean;
44
44
  defaultValue: string;
45
45
  styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
46
- }>) => JSX.Element;
46
+ conditionConfig?: import("../..").ConditionConfig | undefined;
47
+ }>) => JSX.Element | null;
47
48
  };
48
49
  export default _default;
49
50
  export declare const SelectField: StoryFn<SelectFieldProps>;
package/dist/index.d.ts CHANGED
@@ -37,7 +37,7 @@ import { LoginFields as LoginFields$1 } from 'organisms/LoginForm/types';
37
37
  import { AnnotationsList as AnnotationsList$1 } from 'contexts/MlrRichTextViewerContext/types';
38
38
  import * as contexts_MlrRichTextViewerContext_MlrRichTextViewerContext from 'contexts/MlrRichTextViewerContext/MlrRichTextViewerContext';
39
39
  import * as contexts_ButtonActionsContext_ButtonActionsContext from 'contexts/ButtonActionsContext/ButtonActionsContext';
40
- import { ContainerComponentProps as ContainerComponentProps$1, ContainerProps as ContainerProps$1, Molecule as Molecule$1 } from 'containers';
40
+ import { ContainerComponentProps as ContainerComponentProps$1, ConditionConfig as ConditionConfig$1, ContainerProps as ContainerProps$1, Molecule as Molecule$1 } from 'containers';
41
41
  export * from 'helpers/constants';
42
42
  import { CheckboxInternalConfigProps as CheckboxInternalConfigProps$1 } from 'atoms/Checkbox/types';
43
43
  import * as containers_types_types from 'containers/types/types';
@@ -971,8 +971,9 @@ declare type InputFieldProps = Partial<{
971
971
  inputProps: InputProps$1;
972
972
  styles: StylesType;
973
973
  labelsProps: FieldLabelsProps;
974
+ conditionConfig?: ConditionConfig$1;
974
975
  }>;
975
- declare const InputField: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, }: InputFieldProps) => JSX.Element;
976
+ declare const InputField: ({ control, name, inputProps, styles, labelsProps, defaultValue, optional, required, rules, conditionConfig, }: InputFieldProps) => JSX.Element | null;
976
977
 
977
978
  declare type FieldMapperProps<T extends object> = {
978
979
  field: UIField$1<keyof T>;
@@ -1006,8 +1007,9 @@ declare type CheckboxFieldProps = Partial<{
1006
1007
  required: boolean;
1007
1008
  optional: boolean;
1008
1009
  wrapperStyles: StylesType;
1010
+ conditionConfig?: ConditionConfig$1;
1009
1011
  }>;
1010
- declare const CheckboxField: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, }: CheckboxFieldProps) => JSX.Element;
1012
+ declare const CheckboxField: ({ checkboxesProps, name, rules, control, optional, required, labelsProps, wrapperStyles, conditionConfig, }: CheckboxFieldProps) => JSX.Element | null;
1011
1013
 
1012
1014
  declare type CheckboxGroupProps = Partial<{
1013
1015
  ref: RefCallBack;
@@ -1027,8 +1029,9 @@ declare type SelectFieldProps = Partial<{
1027
1029
  optional: boolean;
1028
1030
  defaultValue: string;
1029
1031
  styles: StylesType;
1032
+ conditionConfig?: ConditionConfig$1;
1030
1033
  }>;
1031
- declare const SelectField: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, }: SelectFieldProps) => JSX.Element;
1034
+ declare const SelectField: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, conditionConfig, }: SelectFieldProps) => JSX.Element | null;
1032
1035
 
1033
1036
  declare type CustomValidationRule<T = string> = {
1034
1037
  text: string;
@@ -1178,8 +1181,9 @@ declare type RadioButtonFieldProps<T extends string> = Partial<{
1178
1181
  defaultValue: string;
1179
1182
  radioButtonsProps: RadioButtonsProps$1<T>;
1180
1183
  internalConfig: RadioButtonInternalConfigProps$1;
1184
+ conditionConfig?: ConditionConfig$1;
1181
1185
  }>;
1182
- declare const RadioButtonField: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, }: Partial<{
1186
+ declare const RadioButtonField: <T extends string>({ name, rules, styles, control, optional, required, labelsProps, defaultValue, radioButtonsProps, conditionConfig, }: Partial<{
1183
1187
  name: string;
1184
1188
  rules: ControllerProps$1['rules'];
1185
1189
  styles: styled_components.FlattenInterpolation<styled_components.ThemedStyledProps<object, styled_components.DefaultTheme>>;
@@ -1221,7 +1225,8 @@ declare const RadioButtonField: <T extends string>({ name, rules, styles, contro
1221
1225
  buttonOptionSpacing: SizesTypes;
1222
1226
  radioGroupWrapperStyles: styled_components.FlattenInterpolation<styled_components.ThemedStyledProps<object, styled_components.DefaultTheme>>;
1223
1227
  }>;
1224
- }>) => JSX.Element;
1228
+ conditionConfig?: ConditionConfig$1 | undefined;
1229
+ }>) => JSX.Element | null;
1225
1230
 
1226
1231
  declare type AlertProps = {
1227
1232
  style?: CSSProperties;
@@ -1445,7 +1450,7 @@ declare type ImageAttributes = {
1445
1450
  interface TextAttributes {
1446
1451
  id?: string;
1447
1452
  attributeType: 'text';
1448
- isRichText: boolean;
1453
+ isRichText?: boolean;
1449
1454
  text: string;
1450
1455
  }
1451
1456
  interface VideoAttributes {
@@ -1478,6 +1483,19 @@ interface IterableAttributes {
1478
1483
  attributeType: 'iterable';
1479
1484
  options: SelectOption$1[];
1480
1485
  }
1486
+ interface DataConnectionAttributes {
1487
+ id: string;
1488
+ attributeType: 'data_model_field';
1489
+ dataModelField: {
1490
+ id: string;
1491
+ fieldName: string;
1492
+ };
1493
+ }
1494
+ interface ConditionConfigAttributes {
1495
+ id: string;
1496
+ attributeType: 'condition_config';
1497
+ conditionConfig: ConditionConfig;
1498
+ }
1481
1499
  declare type MoleculeTypes = 'image' | 'text' | 'button' | 'video' | 'header_tab_group' | 'input_field' | 'select_field' | 'radio_button_field' | 'checkbox_field';
1482
1500
  interface BaseMolecule {
1483
1501
  id: string;
@@ -1493,7 +1511,7 @@ interface ImageMolecule extends BaseMolecule {
1493
1511
  link: LinkAttributes;
1494
1512
  };
1495
1513
  config: {
1496
- props: Omit<ImageProps$1, 'src' | 'link' | 'altText'>;
1514
+ props?: Omit<ImageProps$1, 'src' | 'link' | 'altText'>;
1497
1515
  };
1498
1516
  }
1499
1517
  interface TextMoleculeType extends BaseMolecule {
@@ -1504,7 +1522,7 @@ interface TextMoleculeType extends BaseMolecule {
1504
1522
  fontVariant: SelectAttributes;
1505
1523
  };
1506
1524
  config: {
1507
- props: TextMoleculeProps$1;
1525
+ props?: TextMoleculeProps$1;
1508
1526
  };
1509
1527
  }
1510
1528
  interface ButtonMolecule extends BaseMolecule {
@@ -1514,7 +1532,7 @@ interface ButtonMolecule extends BaseMolecule {
1514
1532
  action: ActionAttributes;
1515
1533
  };
1516
1534
  config: {
1517
- props: Partial<Omit<ButtonProps$1, 'disabled' | 'children' | 'link' | 'text' | 'onClick' | 'elementId'>>;
1535
+ props?: Partial<Omit<ButtonProps$1, 'disabled' | 'children' | 'link' | 'text' | 'onClick' | 'elementId'>>;
1518
1536
  };
1519
1537
  }
1520
1538
  interface VideoMolecule extends BaseMolecule {
@@ -1547,9 +1565,11 @@ interface TextInputMolecule extends BaseMolecule {
1547
1565
  label: TextAttributes;
1548
1566
  required: BooleanAttributes;
1549
1567
  inputType: SelectAttributes;
1568
+ dataModelField: DataConnectionAttributes;
1569
+ conditionConfig: ConditionConfigAttributes;
1550
1570
  };
1551
1571
  config: {
1552
- props: Partial<{
1572
+ props?: Partial<{
1553
1573
  state: 'default' | 'error';
1554
1574
  } & InputFieldProps$1>;
1555
1575
  };
@@ -1560,9 +1580,11 @@ interface SelectFieldMolecule extends BaseMolecule {
1560
1580
  label: TextAttributes;
1561
1581
  required: BooleanAttributes;
1562
1582
  options: IterableAttributes;
1583
+ dataModelField: DataConnectionAttributes;
1584
+ conditionConfig: ConditionConfigAttributes;
1563
1585
  };
1564
1586
  config: {
1565
- props: Partial<{
1587
+ props?: Partial<{
1566
1588
  state: 'default' | 'error';
1567
1589
  } & SelectFieldProps$1>;
1568
1590
  };
@@ -1573,9 +1595,11 @@ interface RadioButtonFieldMolecule extends BaseMolecule {
1573
1595
  label: TextAttributes;
1574
1596
  required: BooleanAttributes;
1575
1597
  options: IterableAttributes;
1598
+ dataModelField: DataConnectionAttributes;
1599
+ conditionConfig: ConditionConfigAttributes;
1576
1600
  };
1577
1601
  config: {
1578
- props: Partial<{
1602
+ props?: Partial<{
1579
1603
  state: 'default' | 'error';
1580
1604
  } & RadioButtonFieldProps$1<string>>;
1581
1605
  };
@@ -1586,9 +1610,11 @@ interface CheckboxFieldMolecule extends BaseMolecule {
1586
1610
  label: TextAttributes;
1587
1611
  required: BooleanAttributes;
1588
1612
  options: IterableAttributes;
1613
+ dataModelField: DataConnectionAttributes;
1614
+ conditionConfig: ConditionConfigAttributes;
1589
1615
  };
1590
1616
  config: {
1591
- props: Partial<{
1617
+ props?: Partial<{
1592
1618
  state: 'default' | 'error';
1593
1619
  } & CheckboxFieldProps$1>;
1594
1620
  };
@@ -1597,17 +1623,24 @@ declare type Molecule = StrictUnion<ImageMolecule | TextMoleculeType | ButtonMol
1597
1623
  form?: UseFormReturn<any>;
1598
1624
  };
1599
1625
 
1600
- declare type ContainerType = 'row' | 'column' | 'slider' | 'form';
1626
+ declare type ContainerType = 'row' | 'column' | 'slider' | 'form' | 'form_step';
1601
1627
  declare type ContainerPositionType = 'fixed' | 'sticky' | 'static' | 'relative';
1602
1628
  declare type ContainerScrollBehaviourType = 'vertical' | 'horizontal' | 'auto' | 'none';
1629
+ declare type FormStepContainerProps = {
1630
+ formStepName: string;
1631
+ order: number;
1632
+ conditionConfig: ConditionConfig;
1633
+ };
1634
+ declare type FormContainerProps = {
1635
+ mode: keyof ValidationMode;
1636
+ };
1603
1637
  declare type ContainerPropsType = Partial<{
1604
1638
  position: ContainerPositionType;
1605
1639
  scrollBehaviour: ContainerScrollBehaviourType;
1606
1640
  cornerRadius: number;
1607
1641
  styles: StylesType;
1608
- formProps: {
1609
- mode: keyof ValidationMode;
1610
- };
1642
+ formProps: FormContainerProps;
1643
+ formStepProps: FormStepContainerProps;
1611
1644
  }>;
1612
1645
  declare type AdditionalContainerProps = Partial<{
1613
1646
  containerStyle: CSSProperties;
@@ -1634,6 +1667,22 @@ declare type ContainerComponentProps = {
1634
1667
  attributes?: AnyObject;
1635
1668
  containerLibraryId?: string;
1636
1669
  };
1670
+ declare type CriteriaType = 'operator' | 'condition';
1671
+ declare type ConditionCriteria = {
1672
+ id: string;
1673
+ type: CriteriaType;
1674
+ operator: string;
1675
+ dataFieldId: Nullable<string>;
1676
+ dataFieldName: Nullable<string>;
1677
+ dataValue: Nullable<string>;
1678
+ connectedTo: Nullable<string>;
1679
+ };
1680
+ declare type SegmentationType = 'simple' | 'advanced';
1681
+ declare type ConditionConfig = Nullable<{
1682
+ id: string;
1683
+ segmentationType: SegmentationType;
1684
+ criteriaList: ConditionCriteria[];
1685
+ }>;
1637
1686
 
1638
1687
  declare const ContainerWrapper: styled_components.StyledComponent<"div", styled_components.DefaultTheme, Pick<ContainerProps$2, "type"> & {
1639
1688
  containerProps?: Partial<{
@@ -1641,9 +1690,8 @@ declare const ContainerWrapper: styled_components.StyledComponent<"div", styled_
1641
1690
  scrollBehaviour: containers_types_types.ContainerScrollBehaviourType;
1642
1691
  cornerRadius: number;
1643
1692
  styles: styled_components.FlattenInterpolation<styled_components.ThemedStyledProps<object, styled_components.DefaultTheme>>;
1644
- formProps: {
1645
- mode: keyof react_hook_form.ValidationMode;
1646
- };
1693
+ formProps: containers_types_types.FormContainerProps;
1694
+ formStepProps: containers_types_types.FormStepContainerProps;
1647
1695
  }> | undefined;
1648
1696
  }, never>;
1649
1697
 
@@ -1652,4 +1700,4 @@ declare const OrganismItem: ({ item, tabsProps, }: {
1652
1700
  tabsProps?: Pick<TabGroupProps$1<string, string>, "tabs" | "activeTabKey" | "onTabChange"> | undefined;
1653
1701
  }) => JSX.Element | null;
1654
1702
 
1655
- export { AcquisitionForm, AcquisitionFormProps, ActionAttributes, ActionTypes, AdditionalContainerProps, AdditionalTabContainerProps, Alert, AlertProps, AnnotationsList, ArrowIconWrapper, AuthMethod, Avatar, AvatarDropdown, AvatarDropdownProps, AvatarProps, BackgroundImage, BaseButtonProps, BaseMolecule, Body, BodyProps, BooleanAttributes, BottomNaVBarItemProps, BottomNavBarItem, BottomNavBarNavigation, BottomNavBarNavigationProps, BreakpointSizesTypes, Button, ButtonActionsContext, ButtonActionsContextType, ButtonActionsProvider, ButtonActionsProviderProps, ButtonMolecule, ButtonProps, ButtonType, ButtonVariant, ButtonsWrapper, COMMUNICATION_LINK_DATA_TEXT, COMMUNICATION_LINK_DATA_URL, COMMUNICATION_LINK_ELEMENT_ID, CaretIconWrapper, Carousel, CarouselProps, Checkbox, CheckboxField, CheckboxFieldMolecule, CheckboxFieldProps, CheckboxGroup, CheckboxGroupProps, CheckboxProps, CheckboxesProps, Circle, CircleBoxProps, CirclesWrapper, CircularIndicator, CircularIndicatorProps, CircularIndicatorStyledComponent, ColumnItem, Columns, ColumnsProps, Consent, ConsentProps, Container, ContainerComponent, ContainerComponentProps, ContainerPositionType, ContainerProps, ContainerPropsType, ContainerScrollBehaviourType, ContainerType, ContainerWrapper, CustomValidation, CustomValidationProps, CustomValidationRule, DefaultTemplate, DefaultTemplateProps, Divider, DividerProps, DownloadFile, Drawer, DynamicContentZone, DynamicContentZoneProps, DynamicElementProps, EmphasizedText, EmphasizedTextProps, ErrorText, FeedContent, FeedContentContainer, FeedContentContainerProps, FeedContentHeader, FeedContentHeaderProps, FeedTemplateKeys, FieldLabels, FieldLabelsProps, FieldMapper, FieldMapperProps, FieldRuleLabelTypes, FieldSection, FieldSectionProps, FieldTypes, FilteredFeedContentType, FontSizesTypes, FontWeight, Footer, FooterContactInfo, FooterLink, FooterProps, ForgotPasswordForm, ForgotPasswordFormProps, GoogleMap, GoogleMapProps, Header, HeaderProps, HeroImage, HeroImageAlignment, HeroImageProps, HeroImageTemplate, HeroSlider, HeroSliderProps, HeroSliderWrapper, HorizontalButtons, HorizontalButtonsField, HorizontalButtonsProps, HorizontalPadding, HorizontalPaddingProps, ISI, ISIProps, Icon, IconButton, IconButtonProps, IconNames, IconProps, IconWrapper, Image, ImageAttributes, ImageMolecule, ImageProps, Input, InputField, InputFieldInternalConfigProps, InputFieldProps, InputFieldTypes, InputIconProps, InputProps, IterableAttributes, LabelInternalConfig, LinkAttributes, LoginForm, LoginFormProps, MATRIX_MESSAGE_DATA_ID, MATRIX_MESSAGE_ELEMENT_ID, MapPosition, MenuItem, MenuItems, MenuItemsProps, MenuNavigation, MenuNavigationProps, MlrRichTextViewerContext, MlrRichTextViewerContextType, MlrRichTextViewerProvider, MlrRichTextViewerProviderProps, ModalWrapper, Molecule, MoleculeTypes, NavigationDotsWrapper, OrganismItem, OrientationType, PdfDocument, PdfDocumentProps, ProcessTracker, ProcessTrackerProps, ProcessTrackerStatus, ProfileInformation, ProfileInformationProps, RadioButtonField, RadioButtonFieldMolecule, RadioButtonFieldProps, RadioButtonInternalConfigProps, RadioButtons, RadioButtonsProps, RadioGroupWrapper, RegularImage, RegularImageProps, RichTextEditorProps, RichTextViewer, RuleLabelInternalConfig, Select, SelectAttributes, SelectField, SelectFieldMolecule, SelectFieldProps, SelectInternalConfigurationOptions, SelectOption, SelectProps, SelectableCardGroup, SelectableCardGroupProps, SeoTags, SetPasswordForm, SetPasswordFormProps, SetPasswordRuleValidation, SizesTypes, Slide, SlidesWrapper, Spacer, SpacerProps, Spinner, Stepper, StepperProps, StyleWrapper, SubscribePanel, Tab, TabGroup, TabGroupMolecule, TabGroupProps, TabOption, TabProps, TabTheme, TabType, TextAlign, TextAttributes, TextButton, TextButtonProps, TextInputMolecule, TextMolecule, TextMoleculeProps, TextMoleculeType, TextProps, TextTypes, TextWrapper, TextWrapperProps, ThemeColors, ThemeColorsType, ThemeDevicesType, ThemeSizesType, ThemeTextType, Tooltip, TooltipInternalConfig, TooltipProps, TouchableOpacity, TouchableOpacityProps, TwoFactorAuth, TwoFactorAuthProps, UICheckboxField, UIField, UIFields, UIInputField, UISelectField, ValidationTag, ValidationTagProps, ValidationTagStatus, VerticalPadding, Video, VideoAttributes, VideoMolecule, VideoProps, Wrapper, ZealTheme, ZealThemeProvider, ZealUIModal, ZealUIModalProps, acquisitionFormMockFields, defaultTheme, getFieldPlaceholder, getFieldsFromFieldSections, getInitialValuesFromFields, isFormValid, loginMockFields, profileInformationMockForm, sectionMockFields, setPasswordMockFields, showAcceptToastMessage, toast, toastStyles, useButtonActionsContext, useMediaQuery, useMlrRichTextViewerContext, useRequiredConsentsAcceptedValues, useStep };
1703
+ export { AcquisitionForm, AcquisitionFormProps, ActionAttributes, ActionTypes, AdditionalContainerProps, AdditionalTabContainerProps, Alert, AlertProps, AnnotationsList, ArrowIconWrapper, AuthMethod, Avatar, AvatarDropdown, AvatarDropdownProps, AvatarProps, BackgroundImage, BaseButtonProps, BaseMolecule, Body, BodyProps, BooleanAttributes, BottomNaVBarItemProps, BottomNavBarItem, BottomNavBarNavigation, BottomNavBarNavigationProps, BreakpointSizesTypes, Button, ButtonActionsContext, ButtonActionsContextType, ButtonActionsProvider, ButtonActionsProviderProps, ButtonMolecule, ButtonProps, ButtonType, ButtonVariant, ButtonsWrapper, COMMUNICATION_LINK_DATA_TEXT, COMMUNICATION_LINK_DATA_URL, COMMUNICATION_LINK_ELEMENT_ID, CaretIconWrapper, Carousel, CarouselProps, Checkbox, CheckboxField, CheckboxFieldMolecule, CheckboxFieldProps, CheckboxGroup, CheckboxGroupProps, CheckboxProps, CheckboxesProps, Circle, CircleBoxProps, CirclesWrapper, CircularIndicator, CircularIndicatorProps, CircularIndicatorStyledComponent, ColumnItem, Columns, ColumnsProps, ConditionConfig, ConditionConfigAttributes, ConditionCriteria, Consent, ConsentProps, Container, ContainerComponent, ContainerComponentProps, ContainerPositionType, ContainerProps, ContainerPropsType, ContainerScrollBehaviourType, ContainerType, ContainerWrapper, CriteriaType, CustomValidation, CustomValidationProps, CustomValidationRule, DataConnectionAttributes, DefaultTemplate, DefaultTemplateProps, Divider, DividerProps, DownloadFile, Drawer, DynamicContentZone, DynamicContentZoneProps, DynamicElementProps, EmphasizedText, EmphasizedTextProps, ErrorText, FeedContent, FeedContentContainer, FeedContentContainerProps, FeedContentHeader, FeedContentHeaderProps, FeedTemplateKeys, FieldLabels, FieldLabelsProps, FieldMapper, FieldMapperProps, FieldRuleLabelTypes, FieldSection, FieldSectionProps, FieldTypes, FilteredFeedContentType, FontSizesTypes, FontWeight, Footer, FooterContactInfo, FooterLink, FooterProps, ForgotPasswordForm, ForgotPasswordFormProps, FormContainerProps, FormStepContainerProps, GoogleMap, GoogleMapProps, Header, HeaderProps, HeroImage, HeroImageAlignment, HeroImageProps, HeroImageTemplate, HeroSlider, HeroSliderProps, HeroSliderWrapper, HorizontalButtons, HorizontalButtonsField, HorizontalButtonsProps, HorizontalPadding, HorizontalPaddingProps, ISI, ISIProps, Icon, IconButton, IconButtonProps, IconNames, IconProps, IconWrapper, Image, ImageAttributes, ImageMolecule, ImageProps, Input, InputField, InputFieldInternalConfigProps, InputFieldProps, InputFieldTypes, InputIconProps, InputProps, IterableAttributes, LabelInternalConfig, LinkAttributes, LoginForm, LoginFormProps, MATRIX_MESSAGE_DATA_ID, MATRIX_MESSAGE_ELEMENT_ID, MapPosition, MenuItem, MenuItems, MenuItemsProps, MenuNavigation, MenuNavigationProps, MlrRichTextViewerContext, MlrRichTextViewerContextType, MlrRichTextViewerProvider, MlrRichTextViewerProviderProps, ModalWrapper, Molecule, MoleculeTypes, NavigationDotsWrapper, OrganismItem, OrientationType, PdfDocument, PdfDocumentProps, ProcessTracker, ProcessTrackerProps, ProcessTrackerStatus, ProfileInformation, ProfileInformationProps, RadioButtonField, RadioButtonFieldMolecule, RadioButtonFieldProps, RadioButtonInternalConfigProps, RadioButtons, RadioButtonsProps, RadioGroupWrapper, RegularImage, RegularImageProps, RichTextEditorProps, RichTextViewer, RuleLabelInternalConfig, SegmentationType, Select, SelectAttributes, SelectField, SelectFieldMolecule, SelectFieldProps, SelectInternalConfigurationOptions, SelectOption, SelectProps, SelectableCardGroup, SelectableCardGroupProps, SeoTags, SetPasswordForm, SetPasswordFormProps, SetPasswordRuleValidation, SizesTypes, Slide, SlidesWrapper, Spacer, SpacerProps, Spinner, Stepper, StepperProps, StyleWrapper, SubscribePanel, Tab, TabGroup, TabGroupMolecule, TabGroupProps, TabOption, TabProps, TabTheme, TabType, TextAlign, TextAttributes, TextButton, TextButtonProps, TextInputMolecule, TextMolecule, TextMoleculeProps, TextMoleculeType, TextProps, TextTypes, TextWrapper, TextWrapperProps, ThemeColors, ThemeColorsType, ThemeDevicesType, ThemeSizesType, ThemeTextType, Tooltip, TooltipInternalConfig, TooltipProps, TouchableOpacity, TouchableOpacityProps, TwoFactorAuth, TwoFactorAuthProps, UICheckboxField, UIField, UIFields, UIInputField, UISelectField, ValidationTag, ValidationTagProps, ValidationTagStatus, VerticalPadding, Video, VideoAttributes, VideoMolecule, VideoProps, Wrapper, ZealTheme, ZealThemeProvider, ZealUIModal, ZealUIModalProps, acquisitionFormMockFields, defaultTheme, getFieldPlaceholder, getFieldsFromFieldSections, getInitialValuesFromFields, isFormValid, loginMockFields, profileInformationMockForm, sectionMockFields, setPasswordMockFields, showAcceptToastMessage, toast, toastStyles, useButtonActionsContext, useMediaQuery, useMlrRichTextViewerContext, useRequiredConsentsAcceptedValues, useStep };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zealicsolutions/web-ui",
3
- "version": "0.3.17",
3
+ "version": "0.3.18",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/Zealic_Solutions/zeal-ui-web.git"
@@ -53,6 +53,7 @@
53
53
  "@swc/jest": "^0.2.22",
54
54
  "@testing-library/jest-dom": "^5.16.5",
55
55
  "@testing-library/react": "^13.4.0",
56
+ "@testing-library/react-hooks": "^8.0.1",
56
57
  "@testing-library/user-event": "^14.4.3",
57
58
  "@types/jest": "^29.0.0",
58
59
  "@types/react": "^18.0.18",