@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.
Files changed (52) hide show
  1. package/dist/accessibility/aria/types.d.ts +8 -0
  2. package/dist/accessibility/aria/types.js +2 -0
  3. package/dist/accessibility/aria/utils.d.ts +2 -2
  4. package/dist/accessibility/aria/utils.js +1 -1
  5. package/dist/field/hooks/usePasswordField.d.ts +8 -0
  6. package/dist/field/hooks/usePasswordField.js +63 -0
  7. package/dist/field/hooks/useTextField.d.ts +8 -4
  8. package/dist/field/hooks/useTextField.js +8 -5
  9. package/dist/field/index.d.ts +1 -0
  10. package/dist/field/index.js +2 -1
  11. package/dist/field/types.d.ts +37 -14
  12. package/dist/generated/breakpoints.less +1 -1
  13. package/dist/generated/options.less +3 -3
  14. package/dist/generated/tokens.less +16 -3
  15. package/dist/icon/index.d.ts +1 -0
  16. package/dist/icon/index.js +2 -0
  17. package/dist/icon/types.d.ts +10 -0
  18. package/dist/icon/types.js +2 -0
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.js +5 -2
  21. package/dist/input/index.d.ts +2 -1
  22. package/dist/input/index.js +3 -2
  23. package/dist/input/options.d.ts +1 -1
  24. package/dist/input/options.js +3 -1
  25. package/dist/input/private/types.d.ts +97 -0
  26. package/dist/input/private/types.js +2 -0
  27. package/dist/input/private/utils.d.ts +9 -0
  28. package/dist/input/private/utils.js +87 -0
  29. package/dist/input/types.d.ts +46 -99
  30. package/dist/input/utils/getInputProps.d.ts +3 -0
  31. package/dist/input/utils/getInputProps.js +14 -0
  32. package/dist/input/{util.d.ts → utils/useForcedRef.d.ts} +0 -0
  33. package/dist/input/utils/useForcedRef.js +11 -0
  34. package/dist/layout/hooks/useLayoutFlexClassNames.js +11 -3
  35. package/dist/layout/hooks/useLayoutGridClassNames.js +11 -3
  36. package/dist/layout/index.d.ts +1 -0
  37. package/dist/layout/index.js +2 -1
  38. package/dist/layout/module-layout-relative/hooks/useLayoutRelativeClassnames.d.ts +3 -0
  39. package/dist/layout/module-layout-relative/hooks/useLayoutRelativeClassnames.js +14 -0
  40. package/dist/layout/module-layout-relative/index.d.ts +1 -0
  41. package/dist/layout/module-layout-relative/index.js +2 -0
  42. package/dist/layout/module-layout-relative/style/index.module.less +5 -0
  43. package/dist/layout/module-layout-relative/style/index.module.less.js +9 -0
  44. package/dist/layout/module-layout-relative/style/mixins.less +5 -0
  45. package/dist/layout/module-layout-relative/style/mixins.less.js +8 -0
  46. package/dist/svg/index.d.ts +1 -0
  47. package/dist/svg/index.js +2 -0
  48. package/dist/svg/types.d.ts +2 -0
  49. package/dist/svg/types.js +2 -0
  50. package/dist/theme/style/declarations.mixins.less +5 -0
  51. package/package.json +6 -6
  52. 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 {};
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import type { InputCommonProps } from '../../input';
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>, "aria-describedby" | "aria-disabled" | "aria-invalid" | "aria-required">;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY2Nlc3NpYmlsaXR5L2FyaWEvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBUklBSW5wdXRQcm9wcywgQVJJQUlucHV0UHJvcHNNYXAsIElucHV0Q29tbW9uUHJvcHMgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5cbmNvbnN0IFNVRklYID0gJy1kZXNjJztcblxuY29uc3QgcmVtb3ZlRmFsc3lQcm9wZXJ0aWVzID0gKHByb3BzOiBBUklBSW5wdXRQcm9wc01hcCk6IEFSSUFJbnB1dFByb3BzID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocHJvcHMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKHByb3BzW2tleV0pIHtcbiAgICAgICAgICAgIGFjY1trZXldID0gcHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYWtlRGVzY0lkID0gKGlkOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7aWR9JHtTVUZJWH1gO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJpYVByb3BzID0gKHtcbiAgICAnYXJpYS1kZXNjcmliZWRieSc6IGFyaWFEZXNjcmliZWRCeSxcbiAgICAnYXJpYS1kaXNhYmxlZCc6IGFyaWFEaXNhYmxlZCxcbiAgICAnYXJpYS1pbnZhbGlkJzogYXJpYUludmFsaWQsXG4gICAgJ2FyaWEtcmVxdWlyZWQnOiBhcmlhUmVxdWlyZWQsXG4gICAgcmVxdWlyZWQsXG4gICAgZGlzYWJsZWQsXG4gICAgaGFzRXJyb3IsXG59OiBJbnB1dENvbW1vblByb3BzKTogQVJJQUlucHV0UHJvcHMgPT4ge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGFyaWFEZXNjcmliZWRCeSB8fCAnJyxcbiAgICAgICAgJ2FyaWEtZGlzYWJsZWQnOiAhIWFyaWFEaXNhYmxlZCB8fCAhIWRpc2FibGVkLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogISFhcmlhSW52YWxpZCB8fCAhIWhhc0Vycm9yLFxuICAgICAgICAnYXJpYS1yZXF1aXJlZCc6ICEhYXJpYVJlcXVpcmVkIHx8ICEhcmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHJldHVybiByZW1vdmVGYWxzeVByb3BlcnRpZXMocHJvcHMpO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFFdEIsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQXdCO0lBQ25ELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRztRQUN0QyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNaLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLEdBQUcsQ0FBQztLQUNkLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7TUFFVyxVQUFVLEdBQUcsQ0FBQyxFQUFVLEtBQWEsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFHO01BRXJELFlBQVksR0FBRyxDQUFDLEVBQ3pCLGtCQUFrQixFQUFFLGVBQWUsRUFDbkMsZUFBZSxFQUFFLFlBQVksRUFDN0IsY0FBYyxFQUFFLFdBQVcsRUFDM0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEdBQ087SUFDZixNQUFNLEtBQUssR0FBRztRQUNWLGtCQUFrQixFQUFFLGVBQWUsSUFBSSxFQUFFO1FBQ3pDLGVBQWUsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxRQUFRO1FBQzdDLGNBQWMsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxRQUFRO1FBQzNDLGVBQWUsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxRQUFRO0tBQ2hELENBQUM7SUFFRixPQUFPLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hDOzs7OyJ9
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 { SimpleTextInputTypeProps } from '../../input';
2
- import { FieldLayoutProps, TextFieldProps } from '../types';
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: SimpleTextInputTypeProps;
5
+ inputProps: InputTextProps;
6
6
  };
7
- export declare const useTextField: (props: TextFieldProps & Pick<SimpleTextInputTypeProps, "required" | "disabled" | "hasError" | "dataset" | "aria-describedby" | "aria-disabled" | "aria-invalid" | "aria-required" | "type" | "autoComplete" | "placeholder" | "maxLength" | "name" | "value" | "defaultValue" | "onChange" | "onFocus" | "onBlur" | "onClick" | "onKeyDown" | "onKeyUp">) => UseTextFieldState;
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, additionalText, preserveSpace, required, disabled, hasError, errorMessage, icon, button, onFocus, onBlur, onChange, dataset, ...rest } = props;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dEZpZWxkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmllbGQvaG9va3MvdXNlVGV4dEZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VUaW55SWQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnRIYW5kbGVyLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbWFrZURlc2NJZCB9IGZyb20gJy4uLy4uL2FjY2Vzc2liaWxpdHkvYXJpYS91dGlscyc7XG5pbXBvcnQgeyBGb2N1c0V2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL2V2ZW50cyc7XG5pbXBvcnQgeyBTaW1wbGVUZXh0SW5wdXRUeXBlUHJvcHMgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgeyBGSUVMRF9UWVBFX0RFRkFVTFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmllbGRMYXlvdXRQcm9wcywgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuLi90eXBlcyc7XG5cbnR5cGUgVXNlVGV4dEZpZWxkU3RhdGUgPSB7XG4gICAgbGF5b3V0UHJvcHM6IE9taXQ8RmllbGRMYXlvdXRQcm9wcywgJ2lucHV0JyB8ICdjbGFzc05hbWUnIHwgJ2lucHV0SGFuZGxlJz47XG4gICAgaW5wdXRQcm9wczogU2ltcGxlVGV4dElucHV0VHlwZVByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRGaWVsZCA9IChcbiAgICBwcm9wczogVGV4dEZpZWxkUHJvcHMgJiBPbWl0PFNpbXBsZVRleHRJbnB1dFR5cGVQcm9wcywgJ2lkJz4sXG4pOiBVc2VUZXh0RmllbGRTdGF0ZSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICB0eXBlLFxuICAgICAgICBpZCxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgIGFkZGl0aW9uYWxUZXh0LFxuICAgICAgICBwcmVzZXJ2ZVNwYWNlLFxuICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGhhc0Vycm9yLFxuICAgICAgICBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGljb24sXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgLi4ucmVzdFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGFjdHVhbElkID0gaWQgfHwgbWFrZVRpbnlJZCgpO1xuICAgIGNvbnN0IGFjdHVhbFR5cGUgPSB0eXBlID8/IEZJRUxEX1RZUEVfREVGQVVMVDtcblxuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzVG91Y2hlZCwgc2V0SXNUb3VjaGVkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNDaGFuZ2VkLCBzZXRJc0NoYW5nZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIHNldElzVG91Y2hlZCh0cnVlKTtcbiAgICAgICAgb25Gb2N1cz8uKGV2KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXIgPSBldiA9PiB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIG9uQmx1cj8uKGV2KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXIgPSBldiA9PiB7XG4gICAgICAgIHNldElzQ2hhbmdlZChmYWxzZSk7XG4gICAgICAgIG9uQ2hhbmdlPy4oZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBhY3R1YWxIYXNFcnJvciA9IGhhc0Vycm9yIHx8ICEhZXJyb3JNZXNzYWdlO1xuICAgIGNvbnN0IGFjdHVhbEFkZGl0aW9uYWxUZXh0ID0gZXJyb3JNZXNzYWdlIHx8IGFkZGl0aW9uYWxUZXh0O1xuICAgIGNvbnN0IGRlc2NyaWJlSWQgPSBhY3R1YWxIYXNFcnJvciB8fCAhIWFkZGl0aW9uYWxUZXh0ID8gbWFrZURlc2NJZChhY3R1YWxJZCkgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBsYXlvdXRQcm9wczoge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgICAgICBhZGRpdGlvbmFsVGV4dDogYWN0dWFsQWRkaXRpb25hbFRleHQsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgaXNGb2N1c2VkLFxuICAgICAgICAgICAgaXNUb3VjaGVkLFxuICAgICAgICAgICAgaXNDaGFuZ2VkLFxuICAgICAgICAgICAgaGFzVmFsdWU6IHR5cGVvZiB2YWx1ZSAhPT0gdW5kZWZpbmVkLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGFjdHVhbEhhc0Vycm9yLFxuICAgICAgICAgICAgcHJlc2VydmVTcGFjZSxcbiAgICAgICAgICAgIGljb24sXG4gICAgICAgICAgICBidXR0b24sXG4gICAgICAgICAgICBkYXRhc2V0LFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgICAgICB0eXBlOiBhY3R1YWxUeXBlLFxuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAvLyBhc3NpdGl2ZVRleHQ6IGhpZGVWaXN1YWxMYWJlbCA/PyBsYWJlbCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlQmx1cixcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBoYXNFcnJvcjogYWN0dWFsSGFzRXJyb3IsXG4gICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlSWQsXG4gICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICB9LFxuICAgIH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O01BY2EsWUFBWSxHQUFHLENBQ3hCLEtBQTREO0lBRTVELE1BQU0sRUFDRixJQUFJLEVBQ0osRUFBRSxFQUNGLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULGNBQWMsRUFDZCxhQUFhLEVBQ2IsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxFQUNQLEdBQUcsSUFBSSxFQUNWLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxRQUFRLEdBQUcsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLGtCQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTNELE1BQU0sV0FBVyxHQUFzQixFQUFFO1FBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLEVBQUUsRUFBRTtLQUNqQixDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQXNCLEVBQUU7UUFDcEMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxFQUFFLEVBQUU7S0FDaEIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUF1QixFQUFFO1FBQ3ZDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsRUFBRSxFQUFFO0tBQ2xCLENBQUM7SUFFRixNQUFNLGNBQWMsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNsRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksSUFBSSxjQUFjLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUV6RixPQUFPO1FBQ0gsV0FBVyxFQUFFO1lBQ1QsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsU0FBUztZQUNULGNBQWMsRUFBRSxvQkFBb0I7WUFDcEMsUUFBUTtZQUNSLFFBQVE7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxRQUFRLEVBQUUsT0FBTyxLQUFLLEtBQUssU0FBUztZQUNwQyxRQUFRLEVBQUUsY0FBYztZQUN4QixhQUFhO1lBQ2IsSUFBSTtZQUNKLE1BQU07WUFDTixPQUFPO1NBQ1Y7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsVUFBVTtZQUNoQixFQUFFLEVBQUUsUUFBUTtZQUNaLEtBQUs7O1lBRUwsUUFBUSxFQUFFLFlBQVk7WUFDdEIsT0FBTyxFQUFFLFdBQVc7WUFDcEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRLEVBQUUsY0FBYztZQUN4QixrQkFBa0IsRUFBRSxVQUFVO1lBQzlCLEdBQUcsSUFBSTtTQUNWO0tBQ0osQ0FBQztBQUNOOzs7OyJ9
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dEZpZWxkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmllbGQvaG9va3MvdXNlVGV4dEZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VUaW55SWQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnRIYW5kbGVyLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbWFrZURlc2NJZCB9IGZyb20gJy4uLy4uL2FjY2Vzc2liaWxpdHkvYXJpYS91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgSW5wdXRUZXh0UHJvcHMgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgeyBBVVRPX0NPTVBMRVRFX1RFWFRfREVGQVVMVCB9IGZyb20gJy4uLy4uL2lucHV0JztcbmltcG9ydCB7IEZJRUxEX1RZUEVfREVGQVVMVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IEZpZWxkTGF5b3V0UHJvcHMsIFRleHRGaWVsZFByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIFVzZVRleHRGaWVsZFN0YXRlID0ge1xuICAgIGxheW91dFByb3BzOiBPbWl0PEZpZWxkTGF5b3V0UHJvcHMsICdpbnB1dCcgfCAnY2xhc3NOYW1lJyB8ICdpbnB1dEhhbmRsZSc+O1xuICAgIGlucHV0UHJvcHM6IElucHV0VGV4dFByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRGaWVsZCA9IChcbiAgICBwcm9wczogVGV4dEZpZWxkUHJvcHMgJiBPbWl0PElucHV0VGV4dFByb3BzLCAnaWQnPixcbik6IFVzZVRleHRGaWVsZFN0YXRlID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGlkLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgcHJlc2VydmVTcGFjZSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgIGFkZGl0aW9uYWxUZXh0LFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgaGFzRXJyb3IsXG4gICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgaWNvbixcbiAgICAgICAgYnV0dG9uLFxuICAgICAgICBvbkZvY3VzLFxuICAgICAgICBvbkJsdXIsXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICBhdXRvQ29tcGxldGUgPSBBVVRPX0NPTVBMRVRFX1RFWFRfREVGQVVMVCxcbiAgICAgICAgaW5wdXREYXRhc2V0LFxuICAgICAgICBkYXRhc2V0LFxuICAgICAgICAuLi5yZXN0XG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgYWN0dWFsSWQgPSBpZCB8fCBtYWtlVGlueUlkKCk7XG4gICAgY29uc3QgYWN0dWFsVHlwZSA9IHR5cGUgPz8gRklFTERfVFlQRV9ERUZBVUxUO1xuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzVG91Y2hlZCwgc2V0SXNUb3VjaGVkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNDaGFuZ2VkLCBzZXRJc0NoYW5nZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIHNldElzVG91Y2hlZCh0cnVlKTtcbiAgICAgICAgb25Gb2N1cz8uKGV2KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlciA9IGV2ID0+IHtcbiAgICAgICAgc2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgb25DaGFuZ2U/Lihldik7XG4gICAgfTtcblxuICAgIGNvbnN0IGFjdHVhbEhhc0Vycm9yID0gaGFzRXJyb3IgfHwgISFlcnJvck1lc3NhZ2U7XG4gICAgY29uc3QgYWN0dWFsQWRkaXRpb25hbFRleHQgPSBlcnJvck1lc3NhZ2UgfHwgYWRkaXRpb25hbFRleHQ7XG4gICAgY29uc3QgZGVzY3JpYmVJZCA9IGFjdHVhbEhhc0Vycm9yIHx8ICEhYWRkaXRpb25hbFRleHQgPyBtYWtlRGVzY0lkKGFjdHVhbElkKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxheW91dFByb3BzOiB7XG4gICAgICAgICAgICBpZDogYWN0dWFsSWQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgcmVxdWlyZWRMYWJlbCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxUZXh0OiBhY3R1YWxBZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGlzRm9jdXNlZCxcbiAgICAgICAgICAgIGlzVG91Y2hlZCxcbiAgICAgICAgICAgIGlzQ2hhbmdlZCxcbiAgICAgICAgICAgIGhhc1ZhbHVlOiB0eXBlb2YgdmFsdWUgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGljb24sXG4gICAgICAgICAgICBidXR0b24sXG4gICAgICAgICAgICBkYXRhc2V0LFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgICAgICB0eXBlOiBhY3R1YWxUeXBlLFxuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGFjdHVhbEhhc0Vycm9yLFxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgZGF0YXNldDogaW5wdXREYXRhc2V0LFxuICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZUlkLFxuICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgfSxcbiAgICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7TUFlYSxZQUFZLEdBQUcsQ0FDeEIsS0FBa0Q7SUFFbEQsTUFBTSxFQUNGLElBQUksRUFDSixFQUFFLEVBQ0YsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixRQUFRLEVBQ1IsWUFBWSxHQUFHLDBCQUEwQixFQUN6QyxZQUFZLEVBQ1osT0FBTyxFQUNQLEdBQUcsSUFBSSxFQUNWLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxRQUFRLEdBQUcsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLGtCQUFrQixDQUFDO0lBQzlDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTNELE1BQU0sV0FBVyxHQUFzQixFQUFFO1FBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLEVBQUUsRUFBRTtLQUNqQixDQUFDO0lBQ0YsTUFBTSxVQUFVLEdBQXNCLEVBQUU7UUFDcEMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxFQUFFLEVBQUU7S0FDaEIsQ0FBQztJQUNGLE1BQU0sWUFBWSxHQUF1QixFQUFFO1FBQ3ZDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsRUFBRSxFQUFFO0tBQ2xCLENBQUM7SUFFRixNQUFNLGNBQWMsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNsRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksSUFBSSxjQUFjLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUV6RixPQUFPO1FBQ0gsV0FBVyxFQUFFO1lBQ1QsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsU0FBUztZQUNULFFBQVE7WUFDUixhQUFhO1lBQ2IsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxhQUFhO1lBQ2IsUUFBUTtZQUNSLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFFBQVEsRUFBRSxPQUFPLEtBQUssS0FBSyxTQUFTO1lBQ3BDLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLElBQUk7WUFDSixNQUFNO1lBQ04sT0FBTztTQUNWO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFVBQVU7WUFDaEIsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsUUFBUSxFQUFFLFlBQVk7WUFDdEIsT0FBTyxFQUFFLFdBQVc7WUFDcEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRLEVBQUUsY0FBYztZQUN4QixZQUFZO1lBQ1osT0FBTyxFQUFFLFlBQVk7WUFDckIsa0JBQWtCLEVBQUUsVUFBVTtZQUM5QixHQUFHLElBQUk7U0FDVjtLQUNKLENBQUM7QUFDTjs7OzsifQ==
@@ -1,4 +1,5 @@
1
1
  export * from './constants';
2
+ export * from './hooks/usePasswordField';
2
3
  export * from './hooks/useTextField';
3
4
  export * from './options';
4
5
  export * from './types';
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
@@ -1,8 +1,20 @@
1
- import { Dataset } from '@preply/ds-core';
2
- import { MouseEventHandler, ReactNode, SVGAttributes } from 'react';
3
- import { InputType, SimpleTextInputType, SingleLineInputType } from '../input';
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
- declare type ReactSVGComponentType = React.ComponentType<SVGAttributes<SVGElement>>;
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
- focus: () => void;
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?: ReactSVGComponentType;
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
- interface FieldCommonProps {
45
- type?: InputType;
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?: ReactSVGComponentType;
74
+ icon?: React.ReactElement<IconProps>;
59
75
  button?: React.ReactElement<FieldButtonProps>;
60
76
  }
61
- export interface TextFieldProps extends SingleLineFieldCommonProps {
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 02 2022 15:15:52 GMT+0000 (Coordinated Universal Time) */
1
+ /* AUTO GENERATED @Fri Dec 23 2022 09:35:22 GMT+0000 (Coordinated Universal Time) */
2
2
 
3
3
  @breakpoints: {
4
4
  narrow-l: 400px;
@@ -1,4 +1,4 @@
1
- /* AUTO GENERATED @Fri Dec 02 2022 15:15:51 GMT+0000 (Coordinated Universal Time) */
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, m,
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 02 2022 15:15:52 GMT+0000 (Coordinated Universal Time) */
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
- @field-additionalText-normal-color: var(--4c4008);
384
- @field-additionalText-error-color: var(--622733);
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,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
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 { useForcedRef } from './input/util.js';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
@@ -1,4 +1,5 @@
1
1
  export * from './constants';
2
2
  export * from './options';
3
3
  export * from './types';
4
- export * from './util';
4
+ export * from './utils/getInputProps';
5
+ export * from './utils/useForcedRef';
@@ -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 { useForcedRef } from './util.js';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
3
+ export { getInputProps } from './utils/getInputProps.js';
4
+ export { useForcedRef } from './utils/useForcedRef.js';
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
@@ -1,5 +1,5 @@
1
1
  import type { Option } from '@preply/ds-core-types';
2
- import type { AutoCompleteDateOptions, AutoCompletePasswordOptions, AutoCompleteTextOptions, InputType } from './types';
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>[];
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0L29wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcHRpb24gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gICAgQXV0b0NvbXBsZXRlRGF0ZU9wdGlvbnMsXG4gICAgQXV0b0NvbXBsZXRlUGFzc3dvcmRPcHRpb25zLFxuICAgIEF1dG9Db21wbGV0ZVRleHRPcHRpb25zLFxuICAgIElucHV0VHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlM6IE9wdGlvbjxJbnB1dFR5cGU+W10gPSBbXG4gICAgeyBpZDogJ3RleHQnIH0sXG4gICAgeyBpZDogJ3NlYXJjaCcgfSxcbiAgICB7IGlkOiAnZW1haWwnIH0sXG4gICAgeyBpZDogJ3RlbCcgfSxcbiAgICB7IGlkOiAndXJsJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IElOUFVUX1RZUEVfT1BUSU9OUzogT3B0aW9uPElucHV0VHlwZT5bXSA9IFtcbiAgICAuLi5JTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlMsXG4gICAgeyBpZDogJ3Bhc3N3b3JkJyB9LFxuICAgIHsgaWQ6ICdudW1iZXInIH0sXG4gICAgeyBpZDogJ2RhdGUnIH0sXG4gICAgeyBpZDogJ3RpbWUnIH0sXG4gICAgeyBpZDogJ2NoZWNrYm94JyB9LFxuICAgIHsgaWQ6ICdyYWRpbycgfSxcbiAgICB7IGlkOiAndGV4dGFyZWEnIH0sXG4gICAgeyBpZDogJ3NlbGVjdCcgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBBVVRPX0NPTVBMRVRFX1RFWFRfT1BUSU9OUzogT3B0aW9uPEF1dG9Db21wbGV0ZVRleHRPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ29uJyB9LFxuICAgIHsgaWQ6ICduYW1lJyB9LFxuICAgIHsgaWQ6ICdlbWFpbCcgfSxcbiAgICB7IGlkOiAndXNlcm5hbWUnIH0sXG4gICAgeyBpZDogJ2xhbmd1YWdlJyB9LFxuICAgIHsgaWQ6ICd0ZWwnIH0sXG4gICAgeyBpZDogJ3VybCcgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBBVVRPX0NPTVBMRVRFX0RBVEVfT1BUSU9OUzogT3B0aW9uPEF1dG9Db21wbGV0ZURhdGVPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ29uJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEFVVE9fQ09NUExFVEVfUEFTU1dPUkRfT1BUSU9OUzogT3B0aW9uPEF1dG9Db21wbGV0ZVBhc3N3b3JkT3B0aW9ucz5bXSA9IFtcbiAgICB7IGlkOiAnb2ZmJyB9LFxuICAgIHsgaWQ6ICduZXctcGFzc3dvcmQnIH0sXG4gICAgeyBpZDogJ2N1cnJlbnQtcGFzc3dvcmQnIH0sXG5dO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQVNhLDhCQUE4QixHQUF3QjtJQUMvRCxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7SUFDaEIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO0lBQ2YsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQ2IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0VBQ2Y7TUFFVyxrQkFBa0IsR0FBd0I7SUFDbkQsR0FBRyw4QkFBOEI7SUFDakMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO0lBQ2xCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtJQUNoQixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO0lBQ2YsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO0lBQ2xCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtFQUNsQjtNQUVXLDBCQUEwQixHQUFzQztJQUN6RSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7SUFDYixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDWixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDZixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO0lBQ2xCLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtFQUNmO01BRVcsMEJBQTBCLEdBQXNDO0lBQ3pFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtFQUNkO01BRVcsOEJBQThCLEdBQTBDO0lBQ2pGLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRTtJQUN0QixFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTs7Ozs7In0=
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0L29wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcHRpb24gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuXG5pbXBvcnQge1xuICAgIEF1dG9Db21wbGV0ZURhdGVPcHRpb25zLFxuICAgIEF1dG9Db21wbGV0ZVBhc3N3b3JkT3B0aW9ucyxcbiAgICBBdXRvQ29tcGxldGVUZXh0T3B0aW9ucyxcbiAgICBJbnB1dFR5cGUsXG59IGZyb20gJy4vcHJpdmF0ZS90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlM6IE9wdGlvbjxJbnB1dFR5cGU+W10gPSBbXG4gICAgeyBpZDogJ3RleHQnIH0sXG4gICAgeyBpZDogJ3NlYXJjaCcgfSxcbiAgICB7IGlkOiAnZW1haWwnIH0sXG4gICAgeyBpZDogJ3RlbCcgfSxcbiAgICB7IGlkOiAndXJsJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IElOUFVUX1RZUEVfT1BUSU9OUzogT3B0aW9uPElucHV0VHlwZT5bXSA9IFtcbiAgICAuLi5JTlBVVF9UWVBFX1NJTVBMRV9URVhUX09QVElPTlMsXG4gICAgeyBpZDogJ3Bhc3N3b3JkJyB9LFxuICAgIHsgaWQ6ICdudW1iZXInIH0sXG4gICAgeyBpZDogJ2RhdGUnIH0sXG4gICAgeyBpZDogJ3RpbWUnIH0sXG4gICAgeyBpZDogJ2NoZWNrYm94JyB9LFxuICAgIHsgaWQ6ICdyYWRpbycgfSxcbiAgICB7IGlkOiAndGV4dGFyZWEnIH0sXG4gICAgeyBpZDogJ3NlbGVjdCcgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBBVVRPX0NPTVBMRVRFX1RFWFRfT1BUSU9OUzogT3B0aW9uPEF1dG9Db21wbGV0ZVRleHRPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ29uJyB9LFxuICAgIHsgaWQ6ICduYW1lJyB9LFxuICAgIHsgaWQ6ICdlbWFpbCcgfSxcbiAgICB7IGlkOiAndXNlcm5hbWUnIH0sXG4gICAgeyBpZDogJ2xhbmd1YWdlJyB9LFxuICAgIHsgaWQ6ICd0ZWwnIH0sXG4gICAgeyBpZDogJ3VybCcgfSxcbiAgICB7IGlkOiAnbmV3LXBhc3N3b3JkJyB9LFxuICAgIHsgaWQ6ICdjdXJyZW50LXBhc3N3b3JkJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEFVVE9fQ09NUExFVEVfREFURV9PUFRJT05TOiBPcHRpb248QXV0b0NvbXBsZXRlRGF0ZU9wdGlvbnM+W10gPSBbXG4gICAgeyBpZDogJ29mZicgfSxcbiAgICB7IGlkOiAnb24nIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgQVVUT19DT01QTEVURV9QQVNTV09SRF9PUFRJT05TOiBPcHRpb248QXV0b0NvbXBsZXRlUGFzc3dvcmRPcHRpb25zPltdID0gW1xuICAgIHsgaWQ6ICdvZmYnIH0sXG4gICAgeyBpZDogJ25ldy1wYXNzd29yZCcgfSxcbiAgICB7IGlkOiAnY3VycmVudC1wYXNzd29yZCcgfSxcbl07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BU2EsOEJBQThCLEdBQXdCO0lBQy9ELEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtJQUNoQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDZixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7SUFDYixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7RUFDZjtNQUVXLGtCQUFrQixHQUF3QjtJQUNuRCxHQUFHLDhCQUE4QjtJQUNqQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0lBQ2hCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtJQUNsQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDZixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0VBQ2xCO01BRVcsMEJBQTBCLEdBQXNDO0lBQ3pFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtJQUNaLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtJQUNkLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtJQUNmLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtJQUNsQixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQ2IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQ2IsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFO0lBQ3RCLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFO0VBQzVCO01BRVcsMEJBQTBCLEdBQXNDO0lBQ3pFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtFQUNkO01BRVcsOEJBQThCLEdBQTBDO0lBQ2pGLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtJQUNiLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRTtJQUN0QixFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTs7Ozs7In0=