@zealicsolutions/web-ui 0.2.143 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.js +27 -27
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/atoms/Buttons/Buttons.stories.d.ts +4 -4
- package/dist/cjs/src/atoms/Buttons/IconButton.d.ts +1 -1
- package/dist/cjs/src/atoms/Circle/Circle.d.ts +0 -1
- package/dist/cjs/src/atoms/Input/Input.d.ts +1 -3
- package/dist/cjs/src/atoms/Input/Input.stories.d.ts +1 -1
- package/dist/cjs/src/atoms/RadioButtons/RadioButtons.d.ts +21 -40
- package/dist/cjs/src/atoms/RadioButtons/RadioButtons.stories.d.ts +8 -22
- package/dist/cjs/src/atoms/RadioButtons/RadioOption.d.ts +3 -6
- package/dist/cjs/src/atoms/RadioButtons/helpers.d.ts +3 -9
- package/dist/cjs/src/atoms/RadioButtons/styles.d.ts +7 -7
- package/dist/cjs/src/atoms/RichTextViewer/types.d.ts +0 -1
- package/dist/cjs/src/atoms/Select/Select.d.ts +14 -19
- package/dist/cjs/src/atoms/Select/Select.stories.d.ts +1 -14
- package/dist/cjs/src/containers/MoleculeItem.d.ts +0 -1
- package/dist/cjs/src/containers/mock-data.d.ts +0 -1
- package/dist/cjs/src/containers/types/moleculeTypes.d.ts +11 -38
- package/dist/cjs/src/containers/types/types.d.ts +4 -7
- package/dist/cjs/src/contexts/MlrRichTextViewerContext/types.d.ts +0 -3
- package/dist/cjs/src/contexts/index.d.ts +0 -3
- package/dist/cjs/src/fieldsConfiguration/types.d.ts +1 -1
- package/dist/cjs/src/helpers/validations.d.ts +0 -7
- package/dist/cjs/src/molecules/Button/Button.d.ts +2 -1
- package/dist/cjs/src/molecules/Button/Button.stories.d.ts +2 -2
- package/dist/cjs/src/molecules/CheckboxField/CheckboxField.stories.d.ts +1 -18
- package/dist/cjs/src/molecules/CheckboxField/CheckboxGroup.d.ts +1 -5
- package/dist/cjs/src/molecules/Drawer/Drawer.stories.d.ts +2 -2
- package/dist/cjs/src/molecules/Image/Image.d.ts +2 -3
- package/dist/cjs/src/molecules/Image/Image.stories.d.ts +1 -1
- package/dist/cjs/src/molecules/InputField/InputField.stories.d.ts +1 -18
- package/dist/cjs/src/molecules/PdfDocument/PdfDocument.d.ts +1 -0
- package/dist/cjs/src/molecules/RadioButtonField/RadioButtonField.d.ts +16 -41
- package/dist/cjs/src/molecules/RadioButtonField/RadioButtonField.stories.d.ts +10 -51
- package/dist/cjs/src/molecules/SelectField/SelectField.stories.d.ts +2 -32
- package/dist/cjs/src/molecules/TabGroup/TabGroup.d.ts +4 -2
- package/dist/cjs/src/molecules/TabGroup/styles.d.ts +3 -3
- package/dist/cjs/src/molecules/Video/Video.stories.d.ts +1 -1
- package/dist/cjs/src/molecules/index.d.ts +0 -1
- package/dist/cjs/src/organisms/Consent/Consent.stories.d.ts +2 -2
- package/dist/cjs/src/typescript.d.ts +0 -6
- package/dist/esm/index.js +27 -27
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/src/atoms/Buttons/Buttons.stories.d.ts +4 -4
- package/dist/esm/src/atoms/Buttons/IconButton.d.ts +1 -1
- package/dist/esm/src/atoms/Circle/Circle.d.ts +0 -1
- package/dist/esm/src/atoms/Input/Input.d.ts +1 -3
- package/dist/esm/src/atoms/Input/Input.stories.d.ts +1 -1
- package/dist/esm/src/atoms/RadioButtons/RadioButtons.d.ts +21 -40
- package/dist/esm/src/atoms/RadioButtons/RadioButtons.stories.d.ts +8 -22
- package/dist/esm/src/atoms/RadioButtons/RadioOption.d.ts +3 -6
- package/dist/esm/src/atoms/RadioButtons/helpers.d.ts +3 -9
- package/dist/esm/src/atoms/RadioButtons/styles.d.ts +7 -7
- package/dist/esm/src/atoms/RichTextViewer/types.d.ts +0 -1
- package/dist/esm/src/atoms/Select/Select.d.ts +14 -19
- package/dist/esm/src/atoms/Select/Select.stories.d.ts +1 -14
- package/dist/esm/src/containers/MoleculeItem.d.ts +0 -1
- package/dist/esm/src/containers/mock-data.d.ts +0 -1
- package/dist/esm/src/containers/types/moleculeTypes.d.ts +11 -38
- package/dist/esm/src/containers/types/types.d.ts +4 -7
- package/dist/esm/src/contexts/MlrRichTextViewerContext/types.d.ts +0 -3
- package/dist/esm/src/contexts/index.d.ts +0 -3
- package/dist/esm/src/fieldsConfiguration/types.d.ts +1 -1
- package/dist/esm/src/helpers/validations.d.ts +0 -7
- package/dist/esm/src/molecules/Button/Button.d.ts +2 -1
- package/dist/esm/src/molecules/Button/Button.stories.d.ts +2 -2
- package/dist/esm/src/molecules/CheckboxField/CheckboxField.stories.d.ts +1 -18
- package/dist/esm/src/molecules/CheckboxField/CheckboxGroup.d.ts +1 -5
- package/dist/esm/src/molecules/Drawer/Drawer.stories.d.ts +2 -2
- package/dist/esm/src/molecules/Image/Image.d.ts +2 -3
- package/dist/esm/src/molecules/Image/Image.stories.d.ts +1 -1
- package/dist/esm/src/molecules/InputField/InputField.stories.d.ts +1 -18
- package/dist/esm/src/molecules/PdfDocument/PdfDocument.d.ts +1 -0
- package/dist/esm/src/molecules/RadioButtonField/RadioButtonField.d.ts +16 -41
- package/dist/esm/src/molecules/RadioButtonField/RadioButtonField.stories.d.ts +10 -51
- package/dist/esm/src/molecules/SelectField/SelectField.stories.d.ts +2 -32
- package/dist/esm/src/molecules/TabGroup/TabGroup.d.ts +4 -2
- package/dist/esm/src/molecules/TabGroup/styles.d.ts +3 -3
- package/dist/esm/src/molecules/Video/Video.stories.d.ts +1 -1
- package/dist/esm/src/molecules/index.d.ts +0 -1
- package/dist/esm/src/organisms/Consent/Consent.stories.d.ts +2 -2
- package/dist/esm/src/typescript.d.ts +0 -6
- package/dist/index.d.ts +117 -245
- package/package.json +5 -9
- package/dist/cjs/src/atoms/Input/helpers.d.ts +0 -18
- package/dist/cjs/src/contexts/ButtonActionsContext/ButtonActionsContext.d.ts +0 -11
- package/dist/cjs/src/contexts/ButtonActionsContext/ButtonActionsContextProvider.d.ts +0 -11
- package/dist/cjs/src/contexts/hooks/useButtonActionsContext.d.ts +0 -1
- package/dist/cjs/src/molecules/ZealUIModal/ZealUIModal.d.ts +0 -20
- package/dist/cjs/src/molecules/ZealUIModal/ZealUIModal.stories.d.ts +0 -9
- package/dist/esm/src/atoms/Input/helpers.d.ts +0 -18
- package/dist/esm/src/contexts/ButtonActionsContext/ButtonActionsContext.d.ts +0 -11
- package/dist/esm/src/contexts/ButtonActionsContext/ButtonActionsContextProvider.d.ts +0 -11
- package/dist/esm/src/contexts/hooks/useButtonActionsContext.d.ts +0 -1
- package/dist/esm/src/molecules/ZealUIModal/ZealUIModal.d.ts +0 -20
- package/dist/esm/src/molecules/ZealUIModal/ZealUIModal.stories.d.ts +0 -9
@@ -1,60 +1,35 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import {
|
2
|
+
import { RadioButtonsProps } from 'atoms';
|
3
3
|
import { Control, ControllerProps } from 'react-hook-form/dist/types';
|
4
|
-
import
|
4
|
+
import { CSSProperties } from 'styled-components';
|
5
5
|
import { FieldLabelsProps } from '../FieldLabels/FieldLabels';
|
6
6
|
export declare type RadioButtonFieldProps<T extends string> = Partial<{
|
7
7
|
name: string;
|
8
|
-
rules: ControllerProps['rules'];
|
9
|
-
styles: StylesType;
|
10
8
|
control: Control<any>;
|
11
|
-
|
9
|
+
rules: ControllerProps['rules'];
|
12
10
|
required: boolean;
|
13
|
-
|
11
|
+
optional: boolean;
|
14
12
|
defaultValue: string;
|
13
|
+
styles: CSSProperties;
|
15
14
|
radioButtonsProps: RadioButtonsProps<T>;
|
16
|
-
|
15
|
+
labelsProps: FieldLabelsProps;
|
17
16
|
}>;
|
18
|
-
export declare const RadioButtonField: <T extends string>({ name,
|
17
|
+
export declare const RadioButtonField: <T extends string>({ control, name, radioButtonsProps, styles, labelsProps, defaultValue, optional, required, rules, }: Partial<{
|
19
18
|
name: string;
|
20
|
-
rules: ControllerProps['rules'];
|
21
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
22
19
|
control: Control<any>;
|
23
|
-
|
20
|
+
rules: ControllerProps['rules'];
|
24
21
|
required: boolean;
|
25
|
-
|
22
|
+
optional: boolean;
|
26
23
|
defaultValue: string;
|
24
|
+
styles: CSSProperties;
|
27
25
|
radioButtonsProps: Partial<{
|
28
|
-
|
29
|
-
name: string;
|
30
|
-
value: T;
|
31
|
-
options: import("atoms").SelectOption[];
|
32
|
-
onBlur: import("typescript").Callback;
|
26
|
+
isEditMode: boolean;
|
33
27
|
onChange: (value: T) => void;
|
28
|
+
value: T;
|
34
29
|
isRow: boolean;
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
isRichText: boolean;
|
39
|
-
internalConfig: Partial<{
|
40
|
-
selectedRadioOptionBackgroundColor: string;
|
41
|
-
selectedRadioOptionIndicatorColor: string;
|
42
|
-
buttonPadding: number;
|
43
|
-
textPadding: number;
|
44
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
45
|
-
wrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
46
|
-
buttonOptionSpacing: import("../..").SizesTypes;
|
47
|
-
radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
48
|
-
}>;
|
49
|
-
}>;
|
50
|
-
internalConfig: Partial<{
|
51
|
-
selectedRadioOptionBackgroundColor: string;
|
52
|
-
selectedRadioOptionIndicatorColor: string;
|
53
|
-
buttonPadding: number;
|
54
|
-
textPadding: number;
|
55
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
56
|
-
wrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
57
|
-
buttonOptionSpacing: import("../..").SizesTypes;
|
58
|
-
radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
30
|
+
items: import("atoms").RadioButtonType<T>[];
|
31
|
+
name: string;
|
32
|
+
internalConfig: import("atoms").RadioButtonInternalConfigProps;
|
59
33
|
}>;
|
34
|
+
labelsProps: FieldLabelsProps;
|
60
35
|
}>) => JSX.Element;
|
@@ -3,65 +3,24 @@ 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,
|
6
|
+
component: <T extends string>({ control, name, radioButtonsProps, styles, labelsProps, defaultValue, optional, required, rules, }: Partial<{
|
7
7
|
name: string;
|
8
|
-
rules: Omit<Partial<{
|
9
|
-
required: string | import("react-hook-form").ValidationRule<boolean>;
|
10
|
-
min: import("react-hook-form").ValidationRule<string | number>;
|
11
|
-
max: import("react-hook-form").ValidationRule<string | number>;
|
12
|
-
maxLength: import("react-hook-form").ValidationRule<number>;
|
13
|
-
minLength: import("react-hook-form").ValidationRule<number>;
|
14
|
-
pattern: import("react-hook-form").ValidationRule<RegExp>;
|
15
|
-
validate: import("react-hook-form").Validate<any> | Record<string, import("react-hook-form").Validate<any>>;
|
16
|
-
valueAsNumber: boolean;
|
17
|
-
valueAsDate: boolean;
|
18
|
-
value: any;
|
19
|
-
setValueAs: (value: any) => any;
|
20
|
-
shouldUnregister?: boolean | undefined;
|
21
|
-
onChange?: ((event: any) => void) | undefined;
|
22
|
-
onBlur?: ((event: any) => void) | undefined;
|
23
|
-
disabled: boolean;
|
24
|
-
deps: string | string[];
|
25
|
-
}>, "disabled" | "valueAsNumber" | "valueAsDate" | "setValueAs"> | undefined;
|
26
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
27
8
|
control: import("react-hook-form").Control<any, any>;
|
28
|
-
|
9
|
+
rules: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "disabled" | "valueAsNumber" | "valueAsDate" | "setValueAs"> | undefined;
|
29
10
|
required: boolean;
|
30
|
-
|
11
|
+
optional: boolean;
|
31
12
|
defaultValue: string;
|
13
|
+
styles: import("styled-components").CSSProperties;
|
32
14
|
radioButtonsProps: Partial<{
|
33
|
-
|
34
|
-
name: string;
|
35
|
-
value: T;
|
36
|
-
options: import("../..").SelectOption[];
|
37
|
-
onBlur: import("typescript").Callback;
|
15
|
+
isEditMode: boolean;
|
38
16
|
onChange: (value: T) => void;
|
17
|
+
value: T;
|
39
18
|
isRow: boolean;
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
isRichText: boolean;
|
44
|
-
internalConfig: Partial<{
|
45
|
-
selectedRadioOptionBackgroundColor: string;
|
46
|
-
selectedRadioOptionIndicatorColor: string;
|
47
|
-
buttonPadding: number;
|
48
|
-
textPadding: number;
|
49
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
50
|
-
wrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
51
|
-
buttonOptionSpacing: import("theme").SizesTypes;
|
52
|
-
radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
53
|
-
}>;
|
54
|
-
}>;
|
55
|
-
internalConfig: Partial<{
|
56
|
-
selectedRadioOptionBackgroundColor: string;
|
57
|
-
selectedRadioOptionIndicatorColor: string;
|
58
|
-
buttonPadding: number;
|
59
|
-
textPadding: number;
|
60
|
-
styles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
61
|
-
wrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
62
|
-
buttonOptionSpacing: import("theme").SizesTypes;
|
63
|
-
radioGroupWrapperStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<object, import("styled-components").DefaultTheme>>;
|
19
|
+
items: import("../..").RadioButtonType<T>[];
|
20
|
+
name: string;
|
21
|
+
internalConfig: import("../..").RadioButtonInternalConfigProps;
|
64
22
|
}>;
|
23
|
+
labelsProps: import("..").FieldLabelsProps;
|
65
24
|
}>) => JSX.Element;
|
66
25
|
};
|
67
26
|
export default _default;
|
@@ -4,40 +4,10 @@ import { SelectFieldProps } from './SelectField';
|
|
4
4
|
declare const _default: {
|
5
5
|
title: string;
|
6
6
|
component: ({ selectProps, name, defaultValue, optional, required, control, styles, labelsProps, rules, }: Partial<{
|
7
|
-
selectProps:
|
8
|
-
ref: import("react-hook-form").RefCallBack;
|
9
|
-
onBlur: import("typescript").Callback;
|
10
|
-
value: string;
|
11
|
-
optionsPresentation: boolean;
|
12
|
-
onChange: (value: string) => void;
|
13
|
-
placeholder: string;
|
14
|
-
disabled: boolean;
|
15
|
-
options: import("../..").SelectOption[];
|
16
|
-
isError: boolean;
|
17
|
-
isEditMode: boolean;
|
18
|
-
selectInternalConfig: import("../..").SelectInternalConfigurationOptions;
|
19
|
-
isRichText: boolean;
|
20
|
-
}>;
|
7
|
+
selectProps: import("../..").SelectProps;
|
21
8
|
labelsProps: import("..").FieldLabelsProps;
|
22
9
|
name: string;
|
23
|
-
rules: Omit<
|
24
|
-
required: string | import("react-hook-form").ValidationRule<boolean>;
|
25
|
-
min: import("react-hook-form").ValidationRule<string | number>;
|
26
|
-
max: import("react-hook-form").ValidationRule<string | number>;
|
27
|
-
maxLength: import("react-hook-form").ValidationRule<number>;
|
28
|
-
minLength: import("react-hook-form").ValidationRule<number>;
|
29
|
-
pattern: import("react-hook-form").ValidationRule<RegExp>;
|
30
|
-
validate: import("react-hook-form").Validate<any> | Record<string, import("react-hook-form").Validate<any>>;
|
31
|
-
valueAsNumber: boolean;
|
32
|
-
valueAsDate: boolean;
|
33
|
-
value: any;
|
34
|
-
setValueAs: (value: any) => any;
|
35
|
-
shouldUnregister?: boolean | undefined;
|
36
|
-
onChange?: ((event: any) => void) | undefined;
|
37
|
-
onBlur?: ((event: any) => void) | undefined;
|
38
|
-
disabled: boolean;
|
39
|
-
deps: string | string[];
|
40
|
-
}>, "disabled" | "valueAsNumber" | "valueAsDate" | "setValueAs"> | undefined;
|
10
|
+
rules: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "disabled" | "valueAsNumber" | "valueAsDate" | "setValueAs"> | undefined;
|
41
11
|
control: import("react-hook-form").Control<any, any>;
|
42
12
|
required: boolean;
|
43
13
|
optional: boolean;
|
@@ -1,10 +1,11 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { TabProps, TabTheme } from 'atoms';
|
3
|
+
import { CSSProperties } from 'styled-components';
|
3
4
|
import { FontSizesTypes, SizesTypes, ThemeColors } from 'theme/types';
|
4
5
|
import { StylesType } from 'typescript';
|
5
6
|
export declare type TabType<T = string, K = string> = Pick<TabProps<T, K>, 'text' | 'tabKey' | 'disabled' | 'options' | 'divider'>;
|
6
|
-
|
7
|
-
containerStyle?:
|
7
|
+
declare type AdditionalTabContainerProps = {
|
8
|
+
containerStyle?: CSSProperties;
|
8
9
|
containerProps?: Record<string, unknown>;
|
9
10
|
};
|
10
11
|
export declare type TabGroupProps<T = string, K = string> = {
|
@@ -26,3 +27,4 @@ export declare type TabGroupProps<T = string, K = string> = {
|
|
26
27
|
compact?: AdditionalTabContainerProps;
|
27
28
|
};
|
28
29
|
export declare const TabGroup: <T extends string, K extends string>({ tabs, vertical, activeTabKey, onTabChange, tabTheme, wide, compact, tabSpacing, ...props }: TabGroupProps<T, K>) => JSX.Element;
|
30
|
+
export {};
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { TabTheme } from 'atoms/Tab/Tab';
|
3
3
|
import { SizesTypes, ThemeColors } from 'theme/types';
|
4
|
-
|
5
|
-
export declare const TabsWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledTransientProps<{
|
4
|
+
export declare const TabsWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
6
5
|
spacing: SizesTypes;
|
7
6
|
vertical: boolean;
|
8
|
-
}
|
7
|
+
}, never>;
|
8
|
+
export declare const TabGroupContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
9
9
|
declare type TabSliderProps = {
|
10
10
|
width: number;
|
11
11
|
left: number;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import
|
2
|
+
import { ComponentStory } from '@storybook/react';
|
3
3
|
import { Consent as ConsentComponent } from './Consent';
|
4
4
|
declare const _default: {
|
5
5
|
title: string;
|
6
6
|
component: <T extends string>({ text, consentCaptureProps, containerStyles, clearStyles, }: import("./Consent").ConsentProps<T>) => JSX.Element;
|
7
7
|
};
|
8
8
|
export default _default;
|
9
|
-
export declare const Consent:
|
9
|
+
export declare const Consent: ComponentStory<typeof ConsentComponent>;
|
@@ -1,9 +1,5 @@
|
|
1
1
|
import { DefaultTheme, ThemedCssFunction } from 'styled-components';
|
2
|
-
export declare type FileType = 'image' | 'video' | 'document' | 'audio';
|
3
2
|
export declare type StylesType = ReturnType<ThemedCssFunction<DefaultTheme>>;
|
4
|
-
export declare type StyledTransientProps<T> = {
|
5
|
-
[K in keyof T & string as `$${K}`]: T[K];
|
6
|
-
};
|
7
3
|
export declare type OverrideStyles = {
|
8
4
|
$styles?: StylesType;
|
9
5
|
};
|
@@ -12,6 +8,4 @@ export declare type Nullable<T> = T | null;
|
|
12
8
|
declare type UnionKeys<T> = T extends any ? keyof T : never;
|
13
9
|
declare type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
|
14
10
|
export declare type StrictUnion<T> = StrictUnionHelper<T, T>;
|
15
|
-
export declare type AnyObject = Record<string, unknown>;
|
16
|
-
export declare type LooseObject = Record<string, any>;
|
17
11
|
export {};
|