@preply/ds-web-core 0.48.0 → 0.50.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.
- package/dist/accessibility/aria/types.d.ts +8 -0
- package/dist/accessibility/aria/types.js +2 -0
- package/dist/accessibility/aria/utils.d.ts +2 -2
- package/dist/accessibility/aria/utils.js +1 -1
- package/dist/field/hooks/usePasswordField.d.ts +8 -0
- package/dist/field/hooks/usePasswordField.js +63 -0
- package/dist/field/hooks/useTextField.d.ts +8 -4
- package/dist/field/hooks/useTextField.js +8 -5
- package/dist/field/index.d.ts +1 -0
- package/dist/field/index.js +2 -1
- package/dist/field/types.d.ts +37 -14
- package/dist/generated/breakpoints.less +1 -1
- package/dist/generated/options.less +3 -3
- package/dist/generated/tokens.less +16 -3
- package/dist/icon/index.d.ts +1 -0
- package/dist/icon/index.js +2 -0
- package/dist/icon/types.d.ts +10 -0
- package/dist/icon/types.js +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -2
- package/dist/input/index.d.ts +2 -1
- package/dist/input/index.js +3 -2
- package/dist/input/options.d.ts +1 -1
- package/dist/input/options.js +3 -1
- package/dist/input/private/types.d.ts +97 -0
- package/dist/input/private/types.js +2 -0
- package/dist/input/private/utils.d.ts +9 -0
- package/dist/input/private/utils.js +87 -0
- package/dist/input/types.d.ts +46 -99
- package/dist/input/utils/getInputProps.d.ts +3 -0
- package/dist/input/utils/getInputProps.js +14 -0
- package/dist/input/{util.d.ts → utils/useForcedRef.d.ts} +0 -0
- package/dist/input/utils/useForcedRef.js +11 -0
- package/dist/layout/hooks/useLayoutFlexClassNames.js +11 -3
- package/dist/layout/hooks/useLayoutGridClassNames.js +11 -3
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.js +2 -1
- package/dist/layout/module-layout-relative/hooks/useLayoutRelativeClassnames.d.ts +3 -0
- package/dist/layout/module-layout-relative/hooks/useLayoutRelativeClassnames.js +14 -0
- package/dist/layout/module-layout-relative/index.d.ts +1 -0
- package/dist/layout/module-layout-relative/index.js +2 -0
- package/dist/layout/module-layout-relative/style/index.module.less +5 -0
- package/dist/layout/module-layout-relative/style/index.module.less.js +9 -0
- package/dist/layout/module-layout-relative/style/mixins.less +5 -0
- package/dist/layout/module-layout-relative/style/mixins.less.js +8 -0
- package/dist/svg/index.d.ts +1 -0
- package/dist/svg/index.js +2 -0
- package/dist/svg/types.d.ts +2 -0
- package/dist/svg/types.js +2 -0
- package/dist/theme/style/declarations.mixins.less +5 -0
- package/package.json +6 -6
- package/dist/input/util.js +0 -11
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare type ARIAAttributeNames = 'aria-describedby' | 'aria-disabled' | 'aria-invalid' | 'aria-required';
|
|
3
|
+
declare type WithRequired<T, K extends keyof T> = T & {
|
|
4
|
+
[P in K]-?: T[P];
|
|
5
|
+
};
|
|
6
|
+
export declare type ARIAInputPropsMap = WithRequired<ARIAInputProps, ARIAAttributeNames>;
|
|
7
|
+
export declare type ARIAInputProps = Pick<React.HTMLAttributes<HTMLInputElement>, ARIAAttributeNames>;
|
|
8
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import
|
|
2
|
+
import { InputCommonProps } from '../../input/private/types';
|
|
3
3
|
export declare const makeDescId: (id: string) => string;
|
|
4
|
-
export declare const getAriaProps: ({ "aria-describedby": ariaDescribedBy, "aria-disabled": ariaDisabled, "aria-invalid": ariaInvalid, "aria-required": ariaRequired, required, disabled, hasError, }: InputCommonProps) => Pick<import("react").HTMLAttributes<HTMLInputElement>, "
|
|
4
|
+
export declare const getAriaProps: ({ "aria-describedby": ariaDescribedBy, "aria-disabled": ariaDisabled, "aria-invalid": ariaInvalid, "aria-required": ariaRequired, required, disabled, hasError, }: InputCommonProps) => Pick<import("react").HTMLAttributes<HTMLInputElement>, import("./types").ARIAAttributeNames>;
|
|
@@ -19,4 +19,4 @@ const getAriaProps = ({ 'aria-describedby': ariaDescribedBy, 'aria-disabled': ar
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { getAriaProps, makeDescId };
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY2Nlc3NpYmlsaXR5L2FyaWEvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRDb21tb25Qcm9wcyB9IGZyb20gJy4uLy4uL2lucHV0L3ByaXZhdGUvdHlwZXMnO1xuXG5pbXBvcnQgeyBBUklBSW5wdXRQcm9wcywgQVJJQUlucHV0UHJvcHNNYXAgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgU1VGSVggPSAnLWRlc2MnO1xuXG5jb25zdCByZW1vdmVGYWxzeVByb3BlcnRpZXMgPSAocHJvcHM6IEFSSUFJbnB1dFByb3BzTWFwKTogQVJJQUlucHV0UHJvcHMgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhwcm9wcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBpZiAocHJvcHNba2V5XSkge1xuICAgICAgICAgICAgYWNjW2tleV0gPSBwcm9wc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1ha2VEZXNjSWQgPSAoaWQ6IHN0cmluZyk6IHN0cmluZyA9PiBgJHtpZH0ke1NVRklYfWA7XG5cbmV4cG9ydCBjb25zdCBnZXRBcmlhUHJvcHMgPSAoe1xuICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYXJpYURlc2NyaWJlZEJ5LFxuICAgICdhcmlhLWRpc2FibGVkJzogYXJpYURpc2FibGVkLFxuICAgICdhcmlhLWludmFsaWQnOiBhcmlhSW52YWxpZCxcbiAgICAnYXJpYS1yZXF1aXJlZCc6IGFyaWFSZXF1aXJlZCxcbiAgICByZXF1aXJlZCxcbiAgICBkaXNhYmxlZCxcbiAgICBoYXNFcnJvcixcbn06IElucHV0Q29tbW9uUHJvcHMpOiBBUklBSW5wdXRQcm9wcyA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYXJpYURlc2NyaWJlZEJ5IHx8ICcnLFxuICAgICAgICAnYXJpYS1kaXNhYmxlZCc6ICEhYXJpYURpc2FibGVkIHx8ICEhZGlzYWJsZWQsXG4gICAgICAgICdhcmlhLWludmFsaWQnOiAhIWFyaWFJbnZhbGlkIHx8ICEhaGFzRXJyb3IsXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogISFhcmlhUmVxdWlyZWQgfHwgISFyZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbW92ZUZhbHN5UHJvcGVydGllcyhwcm9wcyk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUV0QixNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBd0I7SUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ3RDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1osR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sR0FBRyxDQUFDO0tBQ2QsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQztNQUVXLFVBQVUsR0FBRyxDQUFDLEVBQVUsS0FBYSxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUc7TUFFckQsWUFBWSxHQUFHLENBQUMsRUFDekIsa0JBQWtCLEVBQUUsZUFBZSxFQUNuQyxlQUFlLEVBQUUsWUFBWSxFQUM3QixjQUFjLEVBQUUsV0FBVyxFQUMzQixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsR0FDTztJQUNmLE1BQU0sS0FBSyxHQUFHO1FBQ1Ysa0JBQWtCLEVBQUUsZUFBZSxJQUFJLEVBQUU7UUFDekMsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFFBQVE7UUFDN0MsY0FBYyxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLFFBQVE7UUFDM0MsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFFBQVE7S0FDaEQsQ0FBQztJQUVGLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEM7Ozs7In0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { InputPasswordProps } from '../../input';
|
|
2
|
+
import type { FieldLayoutProps, PasswordFieldProps } from '../types';
|
|
3
|
+
declare type UsePasswordFieldState = {
|
|
4
|
+
layoutProps: Omit<FieldLayoutProps, 'input' | 'className' | 'inputHandle'>;
|
|
5
|
+
inputProps: InputPasswordProps;
|
|
6
|
+
};
|
|
7
|
+
export declare const usePasswordField: (props: PasswordFieldProps) => UsePasswordFieldState;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { makeTinyId } from '@preply/ds-core';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
|
+
import { AUTO_COMPLETE_TEXT_DEFAULT } from '../../input/constants.js';
|
|
5
|
+
|
|
6
|
+
const usePasswordField = (props) => {
|
|
7
|
+
const { id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, onFocus, onBlur, onChange, autoComplete = AUTO_COMPLETE_TEXT_DEFAULT, inputDataset, dataset, ...rest } = props;
|
|
8
|
+
const actualId = id || makeTinyId();
|
|
9
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
10
|
+
const [isTouched, setIsTouched] = useState(false);
|
|
11
|
+
const [isChanged, setIsChanged] = useState(false);
|
|
12
|
+
const handleFocus = ev => {
|
|
13
|
+
setIsFocused(true);
|
|
14
|
+
setIsTouched(true);
|
|
15
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
16
|
+
};
|
|
17
|
+
const handleBlur = ev => {
|
|
18
|
+
setIsFocused(false);
|
|
19
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
|
|
20
|
+
};
|
|
21
|
+
const handleChange = ev => {
|
|
22
|
+
setIsChanged(false);
|
|
23
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
24
|
+
};
|
|
25
|
+
const actualHasError = hasError || !!errorMessage;
|
|
26
|
+
const actualAdditionalText = errorMessage || additionalText;
|
|
27
|
+
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
28
|
+
return {
|
|
29
|
+
layoutProps: {
|
|
30
|
+
id: actualId,
|
|
31
|
+
label,
|
|
32
|
+
hideLabel,
|
|
33
|
+
required,
|
|
34
|
+
requiredLabel,
|
|
35
|
+
additionalText: actualAdditionalText,
|
|
36
|
+
preserveSpace,
|
|
37
|
+
disabled,
|
|
38
|
+
isFocused,
|
|
39
|
+
isTouched,
|
|
40
|
+
isChanged,
|
|
41
|
+
hasValue: typeof value !== undefined,
|
|
42
|
+
hasError: actualHasError,
|
|
43
|
+
dataset,
|
|
44
|
+
},
|
|
45
|
+
inputProps: {
|
|
46
|
+
id: actualId,
|
|
47
|
+
value,
|
|
48
|
+
onChange: handleChange,
|
|
49
|
+
onFocus: handleFocus,
|
|
50
|
+
onBlur: handleBlur,
|
|
51
|
+
required,
|
|
52
|
+
disabled,
|
|
53
|
+
hasError: actualHasError,
|
|
54
|
+
autoComplete,
|
|
55
|
+
dataset: inputDataset,
|
|
56
|
+
'aria-describedby': describeId,
|
|
57
|
+
...rest,
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { usePasswordField };
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUGFzc3dvcmRGaWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZpZWxkL2hvb2tzL3VzZVBhc3N3b3JkRmllbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFrZVRpbnlJZCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VFdmVudEhhbmRsZXIsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBtYWtlRGVzY0lkIH0gZnJvbSAnLi4vLi4vYWNjZXNzaWJpbGl0eS9hcmlhL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudEhhbmRsZXIgfSBmcm9tICcuLi8uLi9ldmVudHMnO1xuaW1wb3J0IHR5cGUgeyBJbnB1dFBhc3N3b3JkUHJvcHMgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgeyBBVVRPX0NPTVBMRVRFX1RFWFRfREVGQVVMVCB9IGZyb20gJy4uLy4uL2lucHV0JztcbmltcG9ydCB0eXBlIHsgRmllbGRMYXlvdXRQcm9wcywgUGFzc3dvcmRGaWVsZFByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIFVzZVBhc3N3b3JkRmllbGRTdGF0ZSA9IHtcbiAgICBsYXlvdXRQcm9wczogT21pdDxGaWVsZExheW91dFByb3BzLCAnaW5wdXQnIHwgJ2NsYXNzTmFtZScgfCAnaW5wdXRIYW5kbGUnPjtcbiAgICBpbnB1dFByb3BzOiBJbnB1dFBhc3N3b3JkUHJvcHM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFzc3dvcmRGaWVsZCA9IChwcm9wczogUGFzc3dvcmRGaWVsZFByb3BzKTogVXNlUGFzc3dvcmRGaWVsZFN0YXRlID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGlkLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgcHJlc2VydmVTcGFjZSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgIGFkZGl0aW9uYWxUZXh0LFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgaGFzRXJyb3IsXG4gICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgYXV0b0NvbXBsZXRlID0gQVVUT19DT01QTEVURV9URVhUX0RFRkFVTFQsXG4gICAgICAgIGlucHV0RGF0YXNldCxcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgLi4ucmVzdFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGFjdHVhbElkID0gaWQgfHwgbWFrZVRpbnlJZCgpO1xuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzVG91Y2hlZCwgc2V0SXNUb3VjaGVkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNDaGFuZ2VkLCBzZXRJc0NoYW5nZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIHNldElzVG91Y2hlZCh0cnVlKTtcbiAgICAgICAgb25Gb2N1cz8uKGV2KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlciA9IGV2ID0+IHtcbiAgICAgICAgc2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgb25DaGFuZ2U/Lihldik7XG4gICAgfTtcblxuICAgIGNvbnN0IGFjdHVhbEhhc0Vycm9yID0gaGFzRXJyb3IgfHwgISFlcnJvck1lc3NhZ2U7XG4gICAgY29uc3QgYWN0dWFsQWRkaXRpb25hbFRleHQgPSBlcnJvck1lc3NhZ2UgfHwgYWRkaXRpb25hbFRleHQ7XG4gICAgY29uc3QgZGVzY3JpYmVJZCA9IGFjdHVhbEhhc0Vycm9yIHx8ICEhYWRkaXRpb25hbFRleHQgPyBtYWtlRGVzY0lkKGFjdHVhbElkKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxheW91dFByb3BzOiB7XG4gICAgICAgICAgICBpZDogYWN0dWFsSWQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgcmVxdWlyZWRMYWJlbCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxUZXh0OiBhY3R1YWxBZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGlzRm9jdXNlZCxcbiAgICAgICAgICAgIGlzVG91Y2hlZCxcbiAgICAgICAgICAgIGlzQ2hhbmdlZCxcbiAgICAgICAgICAgIGhhc1ZhbHVlOiB0eXBlb2YgdmFsdWUgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGRhdGFzZXQsXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0UHJvcHM6IHtcbiAgICAgICAgICAgIGlkOiBhY3R1YWxJZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgIG9uRm9jdXM6IGhhbmRsZUZvY3VzLFxuICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZSxcbiAgICAgICAgICAgIGRhdGFzZXQ6IGlucHV0RGF0YXNldCxcbiAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVJZCxcbiAgICAgICAgICAgIC4uLnJlc3QsXG4gICAgICAgIH0sXG4gICAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7TUFjYSxnQkFBZ0IsR0FBRyxDQUFDLEtBQXlCO0lBQ3RELE1BQU0sRUFDRixFQUFFLEVBQ0YsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLE9BQU8sRUFDUCxNQUFNLEVBQ04sUUFBUSxFQUNSLFlBQVksR0FBRywwQkFBMEIsRUFDekMsWUFBWSxFQUNaLE9BQU8sRUFDUCxHQUFHLElBQUksRUFDVixHQUFHLEtBQUssQ0FBQztJQUVWLE1BQU0sUUFBUSxHQUFHLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNwQyxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMzRCxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMzRCxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzRCxNQUFNLFdBQVcsR0FBc0IsRUFBRTtRQUNyQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRyxFQUFFLEVBQUU7S0FDakIsQ0FBQztJQUNGLE1BQU0sVUFBVSxHQUFzQixFQUFFO1FBQ3BDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUcsRUFBRSxFQUFFO0tBQ2hCLENBQUM7SUFDRixNQUFNLFlBQVksR0FBdUIsRUFBRTtRQUN2QyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEVBQUUsRUFBRTtLQUNsQixDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEQsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLElBQUksY0FBYyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLGNBQWMsSUFBSSxDQUFDLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUM7SUFFekYsT0FBTztRQUNILFdBQVcsRUFBRTtZQUNULEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSztZQUNMLFNBQVM7WUFDVCxRQUFRO1lBQ1IsYUFBYTtZQUNiLGNBQWMsRUFBRSxvQkFBb0I7WUFDcEMsYUFBYTtZQUNiLFFBQVE7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxRQUFRLEVBQUUsT0FBTyxLQUFLLEtBQUssU0FBUztZQUNwQyxRQUFRLEVBQUUsY0FBYztZQUN4QixPQUFPO1NBQ1Y7UUFDRCxVQUFVLEVBQUU7WUFDUixFQUFFLEVBQUUsUUFBUTtZQUNaLEtBQUs7WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixPQUFPLEVBQUUsV0FBVztZQUNwQixNQUFNLEVBQUUsVUFBVTtZQUNsQixRQUFRO1lBQ1IsUUFBUTtZQUNSLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFlBQVk7WUFDWixPQUFPLEVBQUUsWUFBWTtZQUNyQixrQkFBa0IsRUFBRSxVQUFVO1lBQzlCLEdBQUcsSUFBSTtTQUNWO0tBQ0osQ0FBQztBQUNOOzs7OyJ9
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FieldLayoutProps
|
|
1
|
+
import type { InputTextProps } from '../../input';
|
|
2
|
+
import type { FieldLayoutProps } from '../types';
|
|
3
3
|
declare type UseTextFieldState = {
|
|
4
4
|
layoutProps: Omit<FieldLayoutProps, 'input' | 'className' | 'inputHandle'>;
|
|
5
|
-
inputProps:
|
|
5
|
+
inputProps: InputTextProps;
|
|
6
6
|
};
|
|
7
|
-
export declare const useTextField: (props:
|
|
7
|
+
export declare const useTextField: (props: import("../types").SingleLineFieldCommonProps & Pick<InputTextProps, "required" | "disabled" | "hasError" | "dataset" | "autoComplete" | "placeholder" | "maxLength" | "name" | "value" | "defaultValue" | "onChange" | "onFocus" | "onBlur" | "onClick" | "onKeyDown" | "onKeyUp" | "onValueChange"> & {
|
|
8
|
+
id?: string | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
type?: "email" | "tel" | "url" | "text" | "search" | undefined;
|
|
11
|
+
} & Pick<InputTextProps, "required" | "disabled" | "hasError" | "dataset" | "type" | "aria-describedby" | "aria-disabled" | "aria-invalid" | "aria-required" | "autoComplete" | "placeholder" | "maxLength" | "name" | "value" | "defaultValue" | "onChange" | "onFocus" | "onBlur" | "onClick" | "onKeyDown" | "onKeyUp" | "onValueChange">) => UseTextFieldState;
|
|
8
12
|
export {};
|
|
@@ -2,9 +2,10 @@ import { makeTinyId } from '@preply/ds-core';
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
4
|
import { FIELD_TYPE_DEFAULT } from '../constants.js';
|
|
5
|
+
import { AUTO_COMPLETE_TEXT_DEFAULT } from '../../input/constants.js';
|
|
5
6
|
|
|
6
7
|
const useTextField = (props) => {
|
|
7
|
-
const { type, id, value, label, hideLabel,
|
|
8
|
+
const { type, id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, icon, button, onFocus, onBlur, onChange, autoComplete = AUTO_COMPLETE_TEXT_DEFAULT, inputDataset, dataset, ...rest } = props;
|
|
8
9
|
const actualId = id || makeTinyId();
|
|
9
10
|
const actualType = type !== null && type !== void 0 ? type : FIELD_TYPE_DEFAULT;
|
|
10
11
|
const [isFocused, setIsFocused] = useState(false);
|
|
@@ -31,15 +32,16 @@ const useTextField = (props) => {
|
|
|
31
32
|
id: actualId,
|
|
32
33
|
label,
|
|
33
34
|
hideLabel,
|
|
34
|
-
additionalText: actualAdditionalText,
|
|
35
35
|
required,
|
|
36
|
+
requiredLabel,
|
|
37
|
+
additionalText: actualAdditionalText,
|
|
38
|
+
preserveSpace,
|
|
36
39
|
disabled,
|
|
37
40
|
isFocused,
|
|
38
41
|
isTouched,
|
|
39
42
|
isChanged,
|
|
40
43
|
hasValue: typeof value !== undefined,
|
|
41
44
|
hasError: actualHasError,
|
|
42
|
-
preserveSpace,
|
|
43
45
|
icon,
|
|
44
46
|
button,
|
|
45
47
|
dataset,
|
|
@@ -48,13 +50,14 @@ const useTextField = (props) => {
|
|
|
48
50
|
type: actualType,
|
|
49
51
|
id: actualId,
|
|
50
52
|
value,
|
|
51
|
-
// assitiveText: hideVisualLabel ?? label : undefined,
|
|
52
53
|
onChange: handleChange,
|
|
53
54
|
onFocus: handleFocus,
|
|
54
55
|
onBlur: handleBlur,
|
|
55
56
|
required,
|
|
56
57
|
disabled,
|
|
57
58
|
hasError: actualHasError,
|
|
59
|
+
autoComplete,
|
|
60
|
+
dataset: inputDataset,
|
|
58
61
|
'aria-describedby': describeId,
|
|
59
62
|
...rest,
|
|
60
63
|
},
|
|
@@ -62,4 +65,4 @@ const useTextField = (props) => {
|
|
|
62
65
|
};
|
|
63
66
|
|
|
64
67
|
export { useTextField };
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dEZpZWxkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmllbGQvaG9va3MvdXNlVGV4dEZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VUaW55SWQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnRIYW5kbGVyLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbWFrZURlc2NJZCB9IGZyb20gJy4uLy4uL2FjY2Vzc2liaWxpdHkvYXJpYS91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgSW5wdXRUZXh0UHJvcHMgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgeyBBVVRPX0NPTVBMRVRFX1RFWFRfREVGQVVMVCB9IGZyb20gJy4uLy4uL2lucHV0JztcbmltcG9ydCB7IEZJRUxEX1RZUEVfREVGQVVMVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IEZpZWxkTGF5b3V0UHJvcHMsIFRleHRGaWVsZFByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIFVzZVRleHRGaWVsZFN0YXRlID0ge1xuICAgIGxheW91dFByb3BzOiBPbWl0PEZpZWxkTGF5b3V0UHJvcHMsICdpbnB1dCcgfCAnY2xhc3NOYW1lJyB8ICdpbnB1dEhhbmRsZSc+O1xuICAgIGlucHV0UHJvcHM6IElucHV0VGV4dFByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRGaWVsZCA9IChcbiAgICBwcm9wczogVGV4dEZpZWxkUHJvcHMgJiBPbWl0PElucHV0VGV4dFByb3BzLCAnaWQnPixcbik6IFVzZVRleHRGaWVsZFN0YXRlID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGlkLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgcHJlc2VydmVTcGFjZSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgIGFkZGl0aW9uYWxUZXh0LFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgaGFzRXJyb3IsXG4gICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgaWNvbixcbiAgICAgICAgYnV0dG9uLFxuICAgICAgICBvbkZvY3VzLFxuICAgICAgICBvbkJsdXIsXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICBhdXRvQ29tcGxldGUgPSBBVVRPX0NPTVBMRVRFX1RFWFRfREVGQVVMVCxcbiAgICAgICAgaW5wdXREYXRhc2V0LFxuICAgICAgICBkYXRhc2V0LFxuICAgICAgICAuLi5yZXN0XG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgYWN0dWFsSWQgPSBpZCB8fCBtYWtlVGlueUlkKCk7XG4gICAgY29uc3QgYWN0dWFsVHlwZSA9IHR5cGUgPz8gRklFTERfVFlQRV9ERUZBVUxUO1xuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzVG91Y2hlZCwgc2V0SXNUb3VjaGVkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNDaGFuZ2VkLCBzZXRJc0NoYW5nZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIHNldElzVG91Y2hlZCh0cnVlKTtcbiAgICAgICAgb25Gb2N1cz8uKGV2KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlciA9IGV2ID0+IHtcbiAgICAgICAgc2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgb25DaGFuZ2U/Lihldik7XG4gICAgfTtcblxuICAgIGNvbnN0IGFjdHVhbEhhc0Vycm9yID0gaGFzRXJyb3IgfHwgISFlcnJvck1lc3NhZ2U7XG4gICAgY29uc3QgYWN0dWFsQWRkaXRpb25hbFRleHQgPSBlcnJvck1lc3NhZ2UgfHwgYWRkaXRpb25hbFRleHQ7XG4gICAgY29uc3QgZGVzY3JpYmVJZCA9IGFjdHVhbEhhc0Vycm9yIHx8ICEhYWRkaXRpb25hbFRleHQgPyBtYWtlRGVzY0lkKGFjdHVhbElkKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxheW91dFByb3BzOiB7XG4gICAgICAgICAgICBpZDogYWN0dWFsSWQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgcmVxdWlyZWRMYWJlbCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxUZXh0OiBhY3R1YWxBZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGlzRm9jdXNlZCxcbiAgICAgICAgICAgIGlzVG91Y2hlZCxcbiAgICAgICAgICAgIGlzQ2hhbmdlZCxcbiAgICAgICAgICAgIGhhc1ZhbHVlOiB0eXBlb2YgdmFsdWUgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGljb24sXG4gICAgICAgICAgICBidXR0b24sXG4gICAgICAgICAgICBkYXRhc2V0LFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgICAgICB0eXBlOiBhY3R1YWxUeXBlLFxuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGFjdHVhbEhhc0Vycm9yLFxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgZGF0YXNldDogaW5wdXREYXRhc2V0LFxuICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZUlkLFxuICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgfSxcbiAgICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7TUFlYSxZQUFZLEdBQUcsQ0FDeEIsS0FBa0Q7SUFFbEQsTUFBTSxFQUNGLElBQUksRUFDSixFQUFFLEVBQ0YsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixRQUFRLEVBQ1IsWUFBWSxHQUFHLDBCQUEwQixFQUN6QyxZQUFZLEVBQ1osT0FBTyxFQUNQLEdBQUcsSUFBSSxFQUNWLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxRQUFRLEdBQUcsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLGtCQUFrQixDQUFDO0lBQzlDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTNELE1BQU0sV0FBVyxHQUFzQixFQUFFO1FBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLEVBQUUsRUFBRTtLQUNqQixDQUFDO0lBQ0YsTUFBTSxVQUFVLEdBQXNCLEVBQUU7UUFDcEMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxFQUFFLEVBQUU7S0FDaEIsQ0FBQztJQUNGLE1BQU0sWUFBWSxHQUF1QixFQUFFO1FBQ3ZDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsRUFBRSxFQUFFO0tBQ2xCLENBQUM7SUFFRixNQUFNLGNBQWMsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNsRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksSUFBSSxjQUFjLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUV6RixPQUFPO1FBQ0gsV0FBVyxFQUFFO1lBQ1QsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsU0FBUztZQUNULFFBQVE7WUFDUixhQUFhO1lBQ2IsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxhQUFhO1lBQ2IsUUFBUTtZQUNSLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFFBQVEsRUFBRSxPQUFPLEtBQUssS0FBSyxTQUFTO1lBQ3BDLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLElBQUk7WUFDSixNQUFNO1lBQ04sT0FBTztTQUNWO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFVBQVU7WUFDaEIsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsUUFBUSxFQUFFLFlBQVk7WUFDdEIsT0FBTyxFQUFFLFdBQVc7WUFDcEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRLEVBQUUsY0FBYztZQUN4QixZQUFZO1lBQ1osT0FBTyxFQUFFLFlBQVk7WUFDckIsa0JBQWtCLEVBQUUsVUFBVTtZQUM5QixHQUFHLElBQUk7U0FDVjtLQUNKLENBQUM7QUFDTjs7OzsifQ==
|
package/dist/field/index.d.ts
CHANGED
package/dist/field/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './constants.js';
|
|
2
|
+
export { usePasswordField } from './hooks/usePasswordField.js';
|
|
2
3
|
export { useTextField } from './hooks/useTextField.js';
|
|
3
4
|
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './options.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
|
package/dist/field/types.d.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import { Dataset } from '@preply/ds-core';
|
|
2
|
-
import { MouseEventHandler, ReactNode
|
|
3
|
-
import {
|
|
1
|
+
import type { Dataset } from '@preply/ds-core';
|
|
2
|
+
import type { MouseEventHandler, ReactNode } from 'react';
|
|
3
|
+
import { IconProps } from '../icon/types';
|
|
4
|
+
import type { AutoCompletePasswordOptions, SimpleTextInputType, SingleLineInputType } from '../input/private/types';
|
|
5
|
+
import type { CombinableInputProps, InputPasswordProps, InputTextProps } from '../input/types';
|
|
6
|
+
import { ReactSVGComponentType } from '../svg/types';
|
|
4
7
|
export declare type FieldValue = string | number | boolean;
|
|
5
|
-
|
|
8
|
+
/**
|
|
9
|
+
* <Field*> auxiliary component
|
|
10
|
+
*/
|
|
11
|
+
export interface FieldLabelProps {
|
|
12
|
+
id: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
hideLabel?: boolean;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
requiredLabel?: string;
|
|
17
|
+
}
|
|
6
18
|
export interface FieldButtonProps {
|
|
7
19
|
svg: ReactSVGComponentType;
|
|
8
20
|
assistiveText: string;
|
|
@@ -14,9 +26,10 @@ export interface FieldLayoutBaseProps {
|
|
|
14
26
|
className?: string;
|
|
15
27
|
label: string;
|
|
16
28
|
hideLabel?: boolean;
|
|
29
|
+
required?: boolean;
|
|
30
|
+
requiredLabel?: string;
|
|
17
31
|
additionalText?: string;
|
|
18
32
|
preserveSpace?: boolean;
|
|
19
|
-
required?: boolean;
|
|
20
33
|
disabled?: boolean;
|
|
21
34
|
isFocused?: boolean;
|
|
22
35
|
isTouched?: boolean;
|
|
@@ -27,12 +40,12 @@ export interface FieldLayoutBaseProps {
|
|
|
27
40
|
children: ReactNode;
|
|
28
41
|
}
|
|
29
42
|
export interface InputImperativeHandle {
|
|
30
|
-
|
|
43
|
+
setFocus: () => void;
|
|
31
44
|
}
|
|
32
45
|
export interface FieldLayoutProps extends Omit<FieldLayoutBaseProps, 'children'> {
|
|
33
46
|
input: React.ReactElement;
|
|
34
47
|
inputHandle: InputImperativeHandle | null;
|
|
35
|
-
icon?:
|
|
48
|
+
icon?: React.ReactElement<IconProps>;
|
|
36
49
|
button?: React.ReactElement<FieldButtonProps>;
|
|
37
50
|
}
|
|
38
51
|
export declare type FieldAdditionalTextVariant = 'normal' | 'error';
|
|
@@ -41,10 +54,13 @@ export interface FieldAdditionalTextProps {
|
|
|
41
54
|
id?: string;
|
|
42
55
|
children: ReactNode;
|
|
43
56
|
}
|
|
44
|
-
|
|
45
|
-
|
|
57
|
+
/**
|
|
58
|
+
* <Field*>
|
|
59
|
+
*/
|
|
60
|
+
export interface FieldCommonProps {
|
|
46
61
|
id?: string;
|
|
47
62
|
label: string;
|
|
63
|
+
requiredLabel?: string;
|
|
48
64
|
hideLabel?: boolean;
|
|
49
65
|
additionalText?: string;
|
|
50
66
|
preserveSpace?: boolean;
|
|
@@ -53,12 +69,19 @@ interface FieldCommonProps {
|
|
|
53
69
|
dataset?: Dataset;
|
|
54
70
|
inputDataset?: Dataset;
|
|
55
71
|
}
|
|
56
|
-
interface SingleLineFieldCommonProps extends FieldCommonProps {
|
|
72
|
+
export interface SingleLineFieldCommonProps extends FieldCommonProps {
|
|
57
73
|
type?: SingleLineInputType;
|
|
58
|
-
icon?:
|
|
74
|
+
icon?: React.ReactElement<IconProps>;
|
|
59
75
|
button?: React.ReactElement<FieldButtonProps>;
|
|
60
76
|
}
|
|
61
|
-
|
|
77
|
+
/**
|
|
78
|
+
* public <*Field> props
|
|
79
|
+
*/
|
|
80
|
+
export declare type TextFieldProps = SingleLineFieldCommonProps & CombinableInputProps<InputTextProps> & {
|
|
62
81
|
type?: SimpleTextInputType;
|
|
63
|
-
}
|
|
64
|
-
export {
|
|
82
|
+
};
|
|
83
|
+
export declare type PasswordFieldProps = FieldCommonProps & CombinableInputProps<InputPasswordProps> & {
|
|
84
|
+
autoComplete?: AutoCompletePasswordOptions;
|
|
85
|
+
showIcon?: boolean;
|
|
86
|
+
revealValue?: boolean;
|
|
87
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* AUTO GENERATED @Fri Dec
|
|
1
|
+
/* AUTO GENERATED @Fri Dec 23 2022 09:35:22 GMT+0000 (Coordinated Universal Time) */
|
|
2
2
|
|
|
3
3
|
@AVATAR_SIZE_OPTIONS: 2xs, xs, s, m, l, xl;
|
|
4
4
|
@BOX_PADDING_OPTIONS: none, 3xs, 2xs, xs, s, m, l, xl;
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
@TEXT_INLINE_TAG_OPTIONS: span, strong, em;
|
|
31
31
|
@TEXT_SIZE_OPTIONS: 2xs, xs, s, m, l, xl;
|
|
32
32
|
@TEXT_TAG_OPTIONS: p, div, span;
|
|
33
|
-
@TEXT_VARIANT_OPTIONS: xs, s, s-italic, s-medium, s-medium-italic, s-bold, s-bold-italic,
|
|
34
|
-
m-italic, m-medium, m-medium-italic, m-bold, m-bold-italic, l, l-italic, l-medium,
|
|
33
|
+
@TEXT_VARIANT_OPTIONS: xs, xs-medium, s, s-italic, s-medium, s-medium-italic, s-bold, s-bold-italic,
|
|
34
|
+
m, m-italic, m-medium, m-medium-italic, m-bold, m-bold-italic, l, l-italic, l-medium,
|
|
35
35
|
l-medium-italic, xl, xl-italic, xl-medium, xl-medium-italic;
|
|
36
36
|
@TEXT_WEIGHT_OPTIONS: 400, 500, 700, normal, medium, bold;
|
|
37
37
|
@THEME_OPTIONS: bold-ui, base-ui, preply-ui;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* AUTO GENERATED @Fri Dec
|
|
1
|
+
/* AUTO GENERATED @Fri Dec 23 2022 09:35:22 GMT+0000 (Coordinated Universal Time) */
|
|
2
2
|
|
|
3
3
|
@scheme-color: var(--aface6);
|
|
4
4
|
@scheme-bgColor: var(--786b9e);
|
|
@@ -87,12 +87,16 @@
|
|
|
87
87
|
@root-text-base-lineHeight: var(--d4313c);
|
|
88
88
|
@background-primary: var(--7271a6);
|
|
89
89
|
@background-secondary: var(--5836cb);
|
|
90
|
+
@background-error: var(--4ae8c9);
|
|
90
91
|
@background-overlay: var(--410fb7);
|
|
91
92
|
@content-primary-color: var(--e41135);
|
|
92
93
|
@content-secondary-color: var(--3d280d);
|
|
93
94
|
@content-branded-color: var(--4dadf3);
|
|
94
95
|
@content-positive-color: var(--318747);
|
|
95
96
|
@content-error-color: var(--9167e9);
|
|
97
|
+
@border-base-borderColor: var(--29cd58);
|
|
98
|
+
@border-focus-borderColor: var(--398094);
|
|
99
|
+
@border-error-borderColor: var(--eaf4a3);
|
|
96
100
|
@action-base-borderRadius: var(--8d5131);
|
|
97
101
|
@action-base-disabled-color: var(--a8b89c);
|
|
98
102
|
@action-base-disabled-bgColor: var(--04daeb);
|
|
@@ -102,6 +106,9 @@
|
|
|
102
106
|
@action-base-focus-outlineColor: var(--603ec6);
|
|
103
107
|
@action-base-gap: var(--0aee7b);
|
|
104
108
|
@action-inline-borderRadius: var(--5eeb28);
|
|
109
|
+
@action-inline-borderColor: var(--ea1746);
|
|
110
|
+
@action-inline-hover-bgColor: var(--0bbea4);
|
|
111
|
+
@action-inline-active-bgColor: var(--33e933);
|
|
105
112
|
@action-variant-primary-color: var(--d2baa6);
|
|
106
113
|
@action-variant-secondary-color: var(--1614c9);
|
|
107
114
|
@action-variant-tertiary-color: var(--937543);
|
|
@@ -248,6 +255,7 @@
|
|
|
248
255
|
@text-size-l-fontSize: var(--da41aa);
|
|
249
256
|
@text-size-xl-fontSize: var(--698b61);
|
|
250
257
|
@text-variant-xs-fontSize: var(--4c9f68);
|
|
258
|
+
@text-variant-xs-medium-fontSize: var(--547b8f);
|
|
251
259
|
@text-variant-s-fontSize: var(--a7cfda);
|
|
252
260
|
@text-variant-s-italic-fontSize: var(--79c03c);
|
|
253
261
|
@text-variant-s-medium-fontSize: var(--28e99e);
|
|
@@ -269,6 +277,7 @@
|
|
|
269
277
|
@text-variant-xl-medium-fontSize: var(--19e13e);
|
|
270
278
|
@text-variant-xl-medium-italic-fontSize: var(--88dc17);
|
|
271
279
|
@text-variant-xs-fontWeight: var(--71d69c);
|
|
280
|
+
@text-variant-xs-medium-fontWeight: var(--86a200);
|
|
272
281
|
@text-variant-s-fontWeight: var(--dc8b92);
|
|
273
282
|
@text-variant-s-italic-fontWeight: var(--5127dd);
|
|
274
283
|
@text-variant-s-medium-fontWeight: var(--ca04c0);
|
|
@@ -290,6 +299,7 @@
|
|
|
290
299
|
@text-variant-xl-medium-fontWeight: var(--6455e5);
|
|
291
300
|
@text-variant-xl-medium-italic-fontWeight: var(--cc6f61);
|
|
292
301
|
@text-variant-xs-lineHeight: var(--543571);
|
|
302
|
+
@text-variant-xs-medium-lineHeight: var(--e7e648);
|
|
293
303
|
@text-variant-s-lineHeight: var(--c552e7);
|
|
294
304
|
@text-variant-s-italic-lineHeight: var(--aeb64b);
|
|
295
305
|
@text-variant-s-medium-lineHeight: var(--af784d);
|
|
@@ -311,6 +321,7 @@
|
|
|
311
321
|
@text-variant-xl-medium-lineHeight: var(--85e4ac);
|
|
312
322
|
@text-variant-xl-medium-italic-lineHeight: var(--904c1e);
|
|
313
323
|
@text-variant-xs-letterSpacing: var(--29af86);
|
|
324
|
+
@text-variant-xs-medium-letterSpacing: var(--d7a1ad);
|
|
314
325
|
@text-variant-s-letterSpacing: var(--4d1d51);
|
|
315
326
|
@text-variant-s-italic-letterSpacing: var(--a50d8c);
|
|
316
327
|
@text-variant-s-medium-letterSpacing: var(--015e8c);
|
|
@@ -332,6 +343,7 @@
|
|
|
332
343
|
@text-variant-xl-medium-letterSpacing: var(--e76960);
|
|
333
344
|
@text-variant-xl-medium-italic-letterSpacing: var(--cf0e2c);
|
|
334
345
|
@text-variant-xs-fontStyle: var(--647b4d);
|
|
346
|
+
@text-variant-xs-medium-fontStyle: var(--abe371);
|
|
335
347
|
@text-variant-s-fontStyle: var(--b8dd4e);
|
|
336
348
|
@text-variant-s-italic-fontStyle: var(--c89e06);
|
|
337
349
|
@text-variant-s-medium-fontStyle: var(--e1d91f);
|
|
@@ -353,6 +365,7 @@
|
|
|
353
365
|
@text-variant-xl-medium-fontStyle: var(--0a5e67);
|
|
354
366
|
@text-variant-xl-medium-italic-fontStyle: var(--6fc949);
|
|
355
367
|
@text-variant-xs-variationSettings: var(--afe759);
|
|
368
|
+
@text-variant-xs-medium-variationSettings: var(--f65ebc);
|
|
356
369
|
@text-variant-s-variationSettings: var(--93fedc);
|
|
357
370
|
@text-variant-s-italic-variationSettings: var(--0557d4);
|
|
358
371
|
@text-variant-s-medium-variationSettings: var(--d7e46a);
|
|
@@ -380,8 +393,8 @@
|
|
|
380
393
|
@text-weight-normal-fontWeight: var(--5ea101);
|
|
381
394
|
@text-weight-medium-fontWeight: var(--2734e9);
|
|
382
395
|
@text-weight-bold-fontWeight: var(--800787);
|
|
383
|
-
@
|
|
384
|
-
@
|
|
396
|
+
@input-base-borderWidth: var(--d9baa3);
|
|
397
|
+
@input-base-borderRadius: var(--c4b051);
|
|
385
398
|
@root-size-none: var(--c12f10);
|
|
386
399
|
@root-size-25: var(--389aa7);
|
|
387
400
|
@root-size-50: var(--8848e0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ColorName, Dataset, IconSize, TextAccent } from '@preply/ds-core';
|
|
2
|
+
import { ReactSVGComponentType } from '../svg/types';
|
|
3
|
+
export interface IconProps {
|
|
4
|
+
svg: ReactSVGComponentType;
|
|
5
|
+
size?: IconSize;
|
|
6
|
+
accent?: TextAccent;
|
|
7
|
+
color?: ColorName;
|
|
8
|
+
label?: string;
|
|
9
|
+
dataset?: Dataset;
|
|
10
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './css-module';
|
|
|
5
5
|
export * from './dom/props';
|
|
6
6
|
export * from './events';
|
|
7
7
|
export * from './field';
|
|
8
|
+
export * from './icon';
|
|
8
9
|
export * from './input';
|
|
9
10
|
export * from './instrument';
|
|
10
11
|
export * from './keyboard';
|
|
@@ -12,6 +13,7 @@ export * from './layout';
|
|
|
12
13
|
export * from './location';
|
|
13
14
|
export * from './responsive';
|
|
14
15
|
export * from './ssr';
|
|
16
|
+
export * from './svg';
|
|
15
17
|
export * from './theme';
|
|
16
18
|
export * from './token';
|
|
17
19
|
export * from './types';
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,13 @@ export { withColorScheme } from './color-scheme/hocs/withColorScheme.js';
|
|
|
11
11
|
export { booleanClassNames, globalClassNames, longhandClassNames, moduleClassName, moduleClassNames, moduleLocals, stringClassNames } from './css-module/classNames.js';
|
|
12
12
|
export { useFocusEvents } from './events/hooks/useFocusEvents.js';
|
|
13
13
|
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './field/constants.js';
|
|
14
|
+
export { usePasswordField } from './field/hooks/usePasswordField.js';
|
|
14
15
|
export { useTextField } from './field/hooks/useTextField.js';
|
|
15
16
|
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './field/options.js';
|
|
16
17
|
export { AUTO_COMPLETE_DATE_DEFAULT, AUTO_COMPLETE_PASSWORD_DEFAULT, AUTO_COMPLETE_TEXT_DEFAULT, INPUT_TYPE_DEFAULT } from './input/constants.js';
|
|
17
18
|
export { AUTO_COMPLETE_DATE_OPTIONS, AUTO_COMPLETE_PASSWORD_OPTIONS, AUTO_COMPLETE_TEXT_OPTIONS, INPUT_TYPE_OPTIONS, INPUT_TYPE_SIMPLE_TEXT_OPTIONS } from './input/options.js';
|
|
18
|
-
export {
|
|
19
|
+
export { getInputProps } from './input/utils/getInputProps.js';
|
|
20
|
+
export { useForcedRef } from './input/utils/useForcedRef.js';
|
|
19
21
|
export { useInstrument } from './instrument/hooks/useInstrument.js';
|
|
20
22
|
export { InstrumentProvider } from './instrument/providers/Instrument.js';
|
|
21
23
|
export { useLayoutClassNames } from './layout/hooks/useLayoutClassNames.js';
|
|
@@ -25,6 +27,7 @@ export { useLayoutGridResponsiveColumns } from './layout/hooks/useLayoutGridResp
|
|
|
25
27
|
export { useLayoutHideClassnames } from './layout/module-layout-hide/hooks/useLayoutHideClassnames.js';
|
|
26
28
|
export { useAlignSelfClassNames } from './layout/module-align-self/hooks/useAlignSelfClassNames.js';
|
|
27
29
|
export { useLayoutPaddingClassnames } from './layout/module-layout-padding/hooks/useLayoutPaddingClassnames.js';
|
|
30
|
+
export { useLayoutRelativeClassnames } from './layout/module-layout-relative/hooks/useLayoutRelativeClassnames.js';
|
|
28
31
|
export { useLayoutGapClassnames } from './layout/module-layout-gap/hooks/useLayoutGapClassnames.js';
|
|
29
32
|
export { minWidth } from './responsive/sc/mixins.js';
|
|
30
33
|
export { ServerStyleSheet } from './ssr/classes/ServerStyleSheet.js';
|
|
@@ -47,4 +50,4 @@ export { withGetToken } from './token/hocs/withGetToken.js';
|
|
|
47
50
|
export { useTextAccentClassnames } from './typography/module-text-accent/hooks/useTextAccentClassnames.js';
|
|
48
51
|
export { useTextCenteredClassnames } from './typography/module-text-centered/hooks/useTextCenteredClassnames.js';
|
|
49
52
|
export { useTextWeightClassNames } from './typography/module-text-weight/hooks/useTextWeightClassNames.js';
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
|
package/dist/input/index.d.ts
CHANGED
package/dist/input/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { AUTO_COMPLETE_DATE_DEFAULT, AUTO_COMPLETE_PASSWORD_DEFAULT, AUTO_COMPLETE_TEXT_DEFAULT, INPUT_TYPE_DEFAULT } from './constants.js';
|
|
2
2
|
export { AUTO_COMPLETE_DATE_OPTIONS, AUTO_COMPLETE_PASSWORD_OPTIONS, AUTO_COMPLETE_TEXT_OPTIONS, INPUT_TYPE_OPTIONS, INPUT_TYPE_SIMPLE_TEXT_OPTIONS } from './options.js';
|
|
3
|
-
export {
|
|
4
|
-
|
|
3
|
+
export { getInputProps } from './utils/getInputProps.js';
|
|
4
|
+
export { useForcedRef } from './utils/useForcedRef.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
|
package/dist/input/options.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Option } from '@preply/ds-core-types';
|
|
2
|
-
import
|
|
2
|
+
import { AutoCompleteDateOptions, AutoCompletePasswordOptions, AutoCompleteTextOptions, InputType } from './private/types';
|
|
3
3
|
export declare const INPUT_TYPE_SIMPLE_TEXT_OPTIONS: Option<InputType>[];
|
|
4
4
|
export declare const INPUT_TYPE_OPTIONS: Option<InputType>[];
|
|
5
5
|
export declare const AUTO_COMPLETE_TEXT_OPTIONS: Option<AutoCompleteTextOptions>[];
|
package/dist/input/options.js
CHANGED
|
@@ -25,6 +25,8 @@ const AUTO_COMPLETE_TEXT_OPTIONS = [
|
|
|
25
25
|
{ id: 'language' },
|
|
26
26
|
{ id: 'tel' },
|
|
27
27
|
{ id: 'url' },
|
|
28
|
+
{ id: 'new-password' },
|
|
29
|
+
{ id: 'current-password' },
|
|
28
30
|
];
|
|
29
31
|
const AUTO_COMPLETE_DATE_OPTIONS = [
|
|
30
32
|
{ id: 'off' },
|
|
@@ -37,4 +39,4 @@ const AUTO_COMPLETE_PASSWORD_OPTIONS = [
|
|
|
37
39
|
];
|
|
38
40
|
|
|
39
41
|
export { AUTO_COMPLETE_DATE_OPTIONS, AUTO_COMPLETE_PASSWORD_OPTIONS, AUTO_COMPLETE_TEXT_OPTIONS, INPUT_TYPE_OPTIONS, INPUT_TYPE_SIMPLE_TEXT_OPTIONS };
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0L29wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcHRpb24gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuXG5pbXBvcnQge1xuICAgIEF1dG9Db21wbGV0ZURhdGVPcHRpb25zLFxuICAgIEF1dG9Db21wbGV0ZVBhc3N3b3JkT3B0aW9ucyxcbiAgICBBdXRvQ29tcGxldGVUZXh0T3B0aW9ucyxcbiAgICBJbnB1dFR5cGUsXG59IGZyb20gJy4vcHJpdmF0ZS90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlM6IE9wdGlvbjxJbnB1dFR5cGU+W10gPSBbXG4gICAgeyBpZDogJ3RleHQnIH0sXG4gICAgeyBpZDogJ3NlYXJjaCcgfSxcbiAgICB7IGlkOiAnZW1haWwnIH0sXG4gICAgeyBpZDogJ3RlbCcgfSxcbiAgICB7IGlkOiAndXJsJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IElOUFVUX1RZUEVfT1BUSU9OUzogT3B0aW9uPElucHV0VHlwZT5bXSA9IFtcbiAgICAuLi5JTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlMsXG4gICAgeyBpZDogJ3Bhc3N3b3JkJyB9LFxuICAgIHsgaWQ6ICdudW1iZXInIH0sXG4gICAgeyBpZDogJ2RhdGUnIH0sXG4gICAgeyBpZDogJ3RpbWUnIH0sXG4gICAgeyBpZDogJ2NoZWNrYm94JyB9LFxuICAgIHsgaWQ6ICdyYWRpbycgfSxcbiAgICB7IGlkOiAndGV4dGFyZWEnIH0sXG4gICAgeyBpZDogJ3NlbGVjdCcgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBBVVRPX0NPTVBMRVRFX1RFWFRfT1BUSU9OUzogT3B0aW9uPEF1dG9Db21wbGV0ZVRleHRPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ29uJyB9LFxuICAgIHsgaWQ6ICduYW1lJyB9LFxuICAgIHsgaWQ6ICdlbWFpbCcgfSxcbiAgICB7IGlkOiAndXNlcm5hbWUnIH0sXG4gICAgeyBpZDogJ2xhbmd1YWdlJyB9LFxuICAgIHsgaWQ6ICd0ZWwnIH0sXG4gICAgeyBpZDogJ3VybCcgfSxcbiAgICB7IGlkOiAnbmV3LXBhc3N3b3JkJyB9LFxuICAgIHsgaWQ6ICdjdXJyZW50LXBhc3N3b3JkJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEFVVE9fQ09NUExFVEVfREFURV9PUFRJT05TOiBPcHRpb248QXV0b0NvbXBsZXRlRGF0ZU9wdGlvbnM+W10gPSBbXG4gICAgeyBpZDogJ29mZicgfSxcbiAgICB7IGlkOiAnb24nIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgQVVUT19DT01QTEVURV9QQVNTV09SRF9PUFRJT05TOiBPcHRpb248QXV0b0NvbXBsZXRlUGFzc3dvcmRPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ25ldy1wYXNzd29yZCcgfSxcbiAgICB7IGlkOiAnY3VycmVudC1wYXNzd29yZCcgfSxcbl07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BU2EsOEJBQThCLEdBQXdCO0lBQy9ELEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtJQUNoQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDZixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7SUFDYixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7RUFDZjtNQUVXLGtCQUFrQixHQUF3QjtJQUNuRCxHQUFHLDhCQUE4QjtJQUNqQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0lBQ2hCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtJQUNsQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDZixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0VBQ2xCO01BRVcsMEJBQTBCLEdBQXNDO0lBQ3pFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtJQUNaLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtJQUNmLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtJQUNsQixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQ2IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQ2IsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFO0lBQ3RCLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFO0VBQzVCO01BRVcsMEJBQTBCLEdBQXNDO0lBQ3pFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtFQUNkO01BRVcsOEJBQThCLEdBQTBDO0lBQ2pGLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRTtJQUN0QixFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTs7Ozs7In0=
|