@preply/ds-web-core 0.47.0 → 0.49.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/{aria → accessibility/aria}/utils.d.ts +2 -2
- package/dist/accessibility/aria/utils.js +22 -0
- package/dist/accessibility/index.d.ts +1 -0
- package/dist/accessibility/index.js +2 -0
- package/dist/accessibility/style/mixins.less +9 -0
- package/dist/{actions/style/action.mixins.less.js → accessibility/style/mixins.less.js} +0 -0
- package/dist/actions/style/{action.mixins.less → mixins.less} +0 -0
- package/dist/actions/style/mixins.less.js +8 -0
- package/dist/dom/props/constants.d.ts +2 -3
- package/dist/dom/props/constants.js +4 -3
- package/dist/dom/props/index.d.ts +1 -1
- package/dist/dom/props/index.js +7 -4
- package/dist/field/constants.d.ts +2 -0
- package/dist/field/constants.js +4 -3
- package/dist/field/hooks/useTextField.d.ts +9 -5
- package/dist/field/hooks/useTextField.js +11 -9
- package/dist/field/index.d.ts +1 -0
- package/dist/field/index.js +3 -2
- package/dist/field/options.d.ts +3 -0
- package/dist/field/options.js +7 -0
- package/dist/field/types.d.ts +49 -20
- package/dist/generated/breakpoints.less +1 -1
- package/dist/generated/options.less +3 -3
- package/dist/generated/tokens.less +17 -1
- package/dist/icon/index.d.ts +1 -0
- package/dist/{aria → icon}/index.js +1 -1
- package/dist/icon/types.d.ts +10 -0
- package/dist/icon/types.js +2 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +7 -4
- 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 +1 -1
- package/dist/input/private/types.d.ts +103 -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 +38 -100
- 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/aria/index.d.ts +0 -1
- package/dist/aria/utils.js +0 -22
- 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>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const SUFIX = '-desc';
|
|
2
|
+
const removeFalsyProperties = (props) => {
|
|
3
|
+
return Object.keys(props).reduce((acc, key) => {
|
|
4
|
+
if (props[key]) {
|
|
5
|
+
acc[key] = props[key];
|
|
6
|
+
}
|
|
7
|
+
return acc;
|
|
8
|
+
}, {});
|
|
9
|
+
};
|
|
10
|
+
const makeDescId = (id) => `${id}${SUFIX}`;
|
|
11
|
+
const getAriaProps = ({ 'aria-describedby': ariaDescribedBy, 'aria-disabled': ariaDisabled, 'aria-invalid': ariaInvalid, 'aria-required': ariaRequired, required, disabled, hasError, }) => {
|
|
12
|
+
const props = {
|
|
13
|
+
'aria-describedby': ariaDescribedBy || '',
|
|
14
|
+
'aria-disabled': !!ariaDisabled || !!disabled,
|
|
15
|
+
'aria-invalid': !!ariaInvalid || !!hasError,
|
|
16
|
+
'aria-required': !!ariaRequired || !!required,
|
|
17
|
+
};
|
|
18
|
+
return removeFalsyProperties(props);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { getAriaProps, makeDescId };
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY2Nlc3NpYmlsaXR5L2FyaWEvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRDb21tb25Qcm9wcyB9IGZyb20gJy4uLy4uL2lucHV0L3ByaXZhdGUvdHlwZXMnO1xuXG5pbXBvcnQgeyBBUklBSW5wdXRQcm9wcywgQVJJQUlucHV0UHJvcHNNYXAgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgU1VGSVggPSAnLWRlc2MnO1xuXG5jb25zdCByZW1vdmVGYWxzeVByb3BlcnRpZXMgPSAocHJvcHM6IEFSSUFJbnB1dFByb3BzTWFwKTogQVJJQUlucHV0UHJvcHMgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhwcm9wcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBpZiAocHJvcHNba2V5XSkge1xuICAgICAgICAgICAgYWNjW2tleV0gPSBwcm9wc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1ha2VEZXNjSWQgPSAoaWQ6IHN0cmluZyk6IHN0cmluZyA9PiBgJHtpZH0ke1NVRklYfWA7XG5cbmV4cG9ydCBjb25zdCBnZXRBcmlhUHJvcHMgPSAoe1xuICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYXJpYURlc2NyaWJlZEJ5LFxuICAgICdhcmlhLWRpc2FibGVkJzogYXJpYURpc2FibGVkLFxuICAgICdhcmlhLWludmFsaWQnOiBhcmlhSW52YWxpZCxcbiAgICAnYXJpYS1yZXF1aXJlZCc6IGFyaWFSZXF1aXJlZCxcbiAgICByZXF1aXJlZCxcbiAgICBkaXNhYmxlZCxcbiAgICBoYXNFcnJvcixcbn06IElucHV0Q29tbW9uUHJvcHMpOiBBUklBSW5wdXRQcm9wcyA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYXJpYURlc2NyaWJlZEJ5IHx8ICcnLFxuICAgICAgICAnYXJpYS1kaXNhYmxlZCc6ICEhYXJpYURpc2FibGVkIHx8ICEhZGlzYWJsZWQsXG4gICAgICAgICdhcmlhLWludmFsaWQnOiAhIWFyaWFJbnZhbGlkIHx8ICEhaGFzRXJyb3IsXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogISFhcmlhUmVxdWlyZWQgfHwgISFyZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbW92ZUZhbHN5UHJvcGVydGllcyhwcm9wcyk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUV0QixNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBd0I7SUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ3RDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1osR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sR0FBRyxDQUFDO0tBQ2QsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQztNQUVXLFVBQVUsR0FBRyxDQUFDLEVBQVUsS0FBYSxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUc7TUFFckQsWUFBWSxHQUFHLENBQUMsRUFDekIsa0JBQWtCLEVBQUUsZUFBZSxFQUNuQyxlQUFlLEVBQUUsWUFBWSxFQUM3QixjQUFjLEVBQUUsV0FBVyxFQUMzQixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsR0FDTztJQUNmLE1BQU0sS0FBSyxHQUFHO1FBQ1Ysa0JBQWtCLEVBQUUsZUFBZSxJQUFJLEVBQUU7UUFDekMsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFFBQVE7UUFDN0MsY0FBYyxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLFFBQVE7UUFDM0MsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFFBQVE7S0FDaEQsQ0FBQztJQUVGLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEM7Ozs7In0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getAriaProps } from './aria/utils';
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../external/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = "";
|
|
4
|
+
var stylesheet="";
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { css_248z as default, stylesheet };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbbnVsbF0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixxREFBeUQ7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyJ9
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
const
|
|
1
|
+
const REL_VALUES_EXTERNAL_URL = ['noreferrer', 'noopener'];
|
|
2
|
+
const REL_VALUES_NO_FOLLOW = ['nofollow'];
|
|
2
3
|
const PROPS_EXTERNAL_TARGET = { target: '_blank' };
|
|
3
4
|
|
|
4
|
-
export {
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
5
|
+
export { PROPS_EXTERNAL_TARGET, REL_VALUES_EXTERNAL_URL, REL_VALUES_NO_FOLLOW };
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9tL3Byb3BzL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUkVMX1ZBTFVFU19FWFRFUk5BTF9VUkwgPSBbJ25vcmVmZXJyZXInLCAnbm9vcGVuZXInXTtcbmV4cG9ydCBjb25zdCBSRUxfVkFMVUVTX05PX0ZPTExPVyA9IFsnbm9mb2xsb3cnXTtcbmV4cG9ydCBjb25zdCBQUk9QU19FWFRFUk5BTF9UQVJHRVQgPSB7IHRhcmdldDogJ19ibGFuaycgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFBYSx1QkFBdUIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUU7TUFDckQsb0JBQW9CLEdBQUcsQ0FBQyxVQUFVLEVBQUU7TUFDcEMscUJBQXFCLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUTs7OzsifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Dataset } from '@preply/ds-core';
|
|
2
2
|
import type { AnchorProps } from '../../types';
|
|
3
3
|
export declare const getDatasetProps: (dataset?: Dataset | undefined) => Dataset;
|
|
4
|
-
export declare const getExternalUrlProps: (hostname: string | undefined, url: string, opensInNewTab?: boolean | undefined) => AnchorProps;
|
|
4
|
+
export declare const getExternalUrlProps: (hostname: string | undefined, url: string, opensInNewTab?: boolean | undefined, nofollow?: boolean | undefined) => AnchorProps;
|
package/dist/dom/props/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { currentHostname } from '../../location/index.js';
|
|
2
2
|
import { domainOf } from '../../url/index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { REL_VALUES_EXTERNAL_URL, REL_VALUES_NO_FOLLOW, PROPS_EXTERNAL_TARGET } from './constants.js';
|
|
4
4
|
|
|
5
5
|
const getDatasetProps = (dataset) => {
|
|
6
6
|
if (!dataset) {
|
|
@@ -11,15 +11,18 @@ const getDatasetProps = (dataset) => {
|
|
|
11
11
|
return acc;
|
|
12
12
|
}, {});
|
|
13
13
|
};
|
|
14
|
-
const getExternalUrlProps = (hostname, url, opensInNewTab) => {
|
|
14
|
+
const getExternalUrlProps = (hostname, url, opensInNewTab, nofollow) => {
|
|
15
15
|
const local = hostname || currentHostname();
|
|
16
16
|
const isAbsolute = /^[a-z]+:/.test(url) || url.startsWith('//');
|
|
17
17
|
const isExternal = isAbsolute && domainOf(url) !== local;
|
|
18
|
-
const
|
|
18
|
+
const relValuesNoFollow = isExternal ? REL_VALUES_EXTERNAL_URL : [];
|
|
19
|
+
const relValuesExternalUrl = nofollow ? REL_VALUES_NO_FOLLOW : [];
|
|
20
|
+
const relValues = [...relValuesNoFollow, ...relValuesExternalUrl].join(' ');
|
|
21
|
+
const propsRel = relValues ? { rel: relValues } : {};
|
|
19
22
|
const useExternalTarget = opensInNewTab === undefined ? isExternal : opensInNewTab;
|
|
20
23
|
const propsTarget = useExternalTarget ? PROPS_EXTERNAL_TARGET : {};
|
|
21
24
|
return { ...propsRel, ...propsTarget };
|
|
22
25
|
};
|
|
23
26
|
|
|
24
27
|
export { getDatasetProps, getExternalUrlProps };
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcHJvcHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhc2V0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHsgY3VycmVudEhvc3RuYW1lIH0gZnJvbSAnLi4vLi4vbG9jYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBBbmNob3JQcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGRvbWFpbk9mIH0gZnJvbSAnLi4vLi4vdXJsJztcblxuaW1wb3J0IHsgUFJPUFNfRVhURVJOQUxfVEFSR0VULCBSRUxfVkFMVUVTX0VYVEVSTkFMX1VSTCwgUkVMX1ZBTFVFU19OT19GT0xMT1cgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhc2V0UHJvcHMgPSAoZGF0YXNldD86IERhdGFzZXQpOiBEYXRhc2V0ID0+IHtcbiAgICBpZiAoIWRhdGFzZXQpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YXNldCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBhY2NbYGRhdGEtJHtrZXl9YF0gPSBkYXRhc2V0W2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgRGF0YXNldCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RXh0ZXJuYWxVcmxQcm9wcyA9IChcbiAgICBob3N0bmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wZW5zSW5OZXdUYWI/OiBib29sZWFuLFxuICAgIG5vZm9sbG93PzogYm9vbGVhbixcbik6IEFuY2hvclByb3BzID0+IHtcbiAgICBjb25zdCBsb2NhbCA9IGhvc3RuYW1lIHx8IGN1cnJlbnRIb3N0bmFtZSgpO1xuICAgIGNvbnN0IGlzQWJzb2x1dGUgPSAvXlthLXpdKzovLnRlc3QodXJsKSB8fCB1cmwuc3RhcnRzV2l0aCgnLy8nKTtcbiAgICBjb25zdCBpc0V4dGVybmFsID0gaXNBYnNvbHV0ZSAmJiBkb21haW5PZih1cmwpICE9PSBsb2NhbDtcblxuICAgIGNvbnN0IHJlbFZhbHVlc05vRm9sbG93ID0gaXNFeHRlcm5hbCA/IFJFTF9WQUxVRVNfRVhURVJOQUxfVVJMIDogW107XG4gICAgY29uc3QgcmVsVmFsdWVzRXh0ZXJuYWxVcmwgPSBub2ZvbGxvdyA/IFJFTF9WQUxVRVNfTk9fRk9MTE9XIDogW107XG5cbiAgICBjb25zdCByZWxWYWx1ZXMgPSBbLi4ucmVsVmFsdWVzTm9Gb2xsb3csIC4uLnJlbFZhbHVlc0V4dGVybmFsVXJsXS5qb2luKCcgJyk7XG4gICAgY29uc3QgcHJvcHNSZWwgPSByZWxWYWx1ZXMgPyB7IHJlbDogcmVsVmFsdWVzIH0gOiB7fTtcblxuICAgIGNvbnN0IHVzZUV4dGVybmFsVGFyZ2V0ID0gb3BlbnNJbk5ld1RhYiA9PT0gdW5kZWZpbmVkID8gaXNFeHRlcm5hbCA6IG9wZW5zSW5OZXdUYWI7XG4gICAgY29uc3QgcHJvcHNUYXJnZXQgPSB1c2VFeHRlcm5hbFRhcmdldCA/IFBST1BTX0VYVEVSTkFMX1RBUkdFVCA6IHt9O1xuXG4gICAgcmV0dXJuIHsgLi4ucHJvcHNSZWwsIC4uLnByb3BzVGFyZ2V0IH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7TUFRYSxlQUFlLEdBQUcsQ0FBQyxPQUFpQjtJQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRztRQUN4QyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLEdBQUcsQ0FBQztLQUNkLEVBQUUsRUFBYSxDQUFDLENBQUM7QUFDdEIsRUFBRTtNQUVXLG1CQUFtQixHQUFHLENBQy9CLFFBQTRCLEVBQzVCLEdBQVcsRUFDWCxhQUF1QixFQUN2QixRQUFrQjtJQUVsQixNQUFNLEtBQUssR0FBRyxRQUFRLElBQUksZUFBZSxFQUFFLENBQUM7SUFDNUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLFVBQVUsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBRXpELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxHQUFHLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUNwRSxNQUFNLG9CQUFvQixHQUFHLFFBQVEsR0FBRyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFFbEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUUsTUFBTSxRQUFRLEdBQUcsU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUVyRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsS0FBSyxTQUFTLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNuRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsR0FBRyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFFbkUsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDM0M7Ozs7In0=
|
package/dist/field/constants.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
const FIELD_TYPE_DEFAULT = 'text';
|
|
1
|
+
const FIELD_TYPE_DEFAULT = 'text';
|
|
2
|
+
const FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT = 'normal';
|
|
2
3
|
|
|
3
|
-
export { FIELD_TYPE_DEFAULT };
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
4
|
+
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT };
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGQvY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQWRkaXRpb25hbFRleHRWYXJpYW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0RFRkFVTFQgPSAndGV4dCc7XG5leHBvcnQgY29uc3QgRklFTERfQURESVRJT05BTF9URVhUX1ZBUklBTlRfREVGQVVMVDogRmllbGRBZGRpdGlvbmFsVGV4dFZhcmlhbnQgPSAnbm9ybWFsJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFFYSxrQkFBa0IsR0FBRyxPQUFPO01BQzVCLHFDQUFxQyxHQUErQjs7OzsifQ==
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { InputTextProps } from '../../input';
|
|
2
|
+
import type { FieldLayoutProps } from '../types';
|
|
3
3
|
declare type UseTextFieldState = {
|
|
4
|
-
|
|
5
|
-
inputProps:
|
|
4
|
+
layoutProps: Omit<FieldLayoutProps, 'input' | 'className' | 'inputHandle'>;
|
|
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 {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { makeTinyId } from '@preply/ds-core';
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import { makeDescId } from '../../aria/utils.js';
|
|
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);
|
|
@@ -24,23 +25,23 @@ const useTextField = (props) => {
|
|
|
24
25
|
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
25
26
|
};
|
|
26
27
|
const actualHasError = hasError || !!errorMessage;
|
|
28
|
+
const actualAdditionalText = errorMessage || additionalText;
|
|
27
29
|
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
28
30
|
return {
|
|
29
|
-
|
|
31
|
+
layoutProps: {
|
|
30
32
|
id: actualId,
|
|
31
|
-
type: actualType,
|
|
32
33
|
label,
|
|
33
34
|
hideLabel,
|
|
34
|
-
additionalText,
|
|
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
|
-
errorMessage,
|
|
43
|
-
preserveSpace,
|
|
44
45
|
icon,
|
|
45
46
|
button,
|
|
46
47
|
dataset,
|
|
@@ -49,13 +50,14 @@ const useTextField = (props) => {
|
|
|
49
50
|
type: actualType,
|
|
50
51
|
id: actualId,
|
|
51
52
|
value,
|
|
52
|
-
// assitiveText: hideVisualLabel ?? label : undefined,
|
|
53
53
|
onChange: handleChange,
|
|
54
54
|
onFocus: handleFocus,
|
|
55
55
|
onBlur: handleBlur,
|
|
56
56
|
required,
|
|
57
57
|
disabled,
|
|
58
58
|
hasError: actualHasError,
|
|
59
|
+
autoComplete,
|
|
60
|
+
dataset: inputDataset,
|
|
59
61
|
'aria-describedby': describeId,
|
|
60
62
|
...rest,
|
|
61
63
|
},
|
|
@@ -63,4 +65,4 @@ const useTextField = (props) => {
|
|
|
63
65
|
};
|
|
64
66
|
|
|
65
67
|
export { useTextField };
|
|
66
|
-
//# 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,3 +1,4 @@
|
|
|
1
|
-
export { FIELD_TYPE_DEFAULT } from './constants.js';
|
|
1
|
+
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './constants.js';
|
|
2
2
|
export { useTextField } from './hooks/useTextField.js';
|
|
3
|
-
|
|
3
|
+
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './options.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const ADDITIONAL_TEXT_VARIANT_OPTIONS = [
|
|
2
|
+
{ id: 'normal' },
|
|
3
|
+
{ id: 'error' },
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
export { ADDITIONAL_TEXT_VARIANT_OPTIONS };
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpZWxkL29wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcHRpb24gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkQWRkaXRpb25hbFRleHRWYXJpYW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBRERJVElPTkFMX1RFWFRfVkFSSUFOVF9PUFRJT05TOiBPcHRpb248RmllbGRBZGRpdGlvbmFsVGV4dFZhcmlhbnQ+W10gPSBbXG4gICAgeyBpZDogJ25vcm1hbCcgfSxcbiAgICB7IGlkOiAnZXJyb3InIH0sXG5dO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQUlhLCtCQUErQixHQUF5QztJQUNqRixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7SUFDaEIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFOzs7OzsifQ==
|
package/dist/field/types.d.ts
CHANGED
|
@@ -1,41 +1,67 @@
|
|
|
1
|
-
import { Dataset } from '@preply/ds-core';
|
|
2
|
-
import { MouseEventHandler,
|
|
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 { CombinableInputProps, InputType, SimpleTextInputType, SingleLineInputType } from '../input/private/types';
|
|
5
|
+
import type { 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;
|
|
9
21
|
onClick: MouseEventHandler;
|
|
10
22
|
dataset?: Dataset;
|
|
11
23
|
}
|
|
12
|
-
export interface
|
|
24
|
+
export interface FieldLayoutBaseProps {
|
|
13
25
|
id: string;
|
|
14
|
-
className
|
|
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
|
-
isFocused
|
|
22
|
-
isTouched
|
|
23
|
-
isChanged
|
|
24
|
-
hasValue
|
|
25
|
-
hasError
|
|
26
|
-
errorMessage?: string;
|
|
34
|
+
isFocused?: boolean;
|
|
35
|
+
isTouched?: boolean;
|
|
36
|
+
isChanged?: boolean;
|
|
37
|
+
hasValue?: boolean;
|
|
38
|
+
hasError?: boolean;
|
|
27
39
|
dataset?: Dataset;
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
export interface InputImperativeHandle {
|
|
43
|
+
setFocus: () => void;
|
|
28
44
|
}
|
|
29
|
-
export interface
|
|
45
|
+
export interface FieldLayoutProps extends Omit<FieldLayoutBaseProps, 'children'> {
|
|
30
46
|
input: React.ReactElement;
|
|
31
|
-
|
|
32
|
-
icon?:
|
|
47
|
+
inputHandle: InputImperativeHandle | null;
|
|
48
|
+
icon?: React.ReactElement<IconProps>;
|
|
33
49
|
button?: React.ReactElement<FieldButtonProps>;
|
|
34
50
|
}
|
|
51
|
+
export declare type FieldAdditionalTextVariant = 'normal' | 'error';
|
|
52
|
+
export interface FieldAdditionalTextProps {
|
|
53
|
+
variant?: FieldAdditionalTextVariant;
|
|
54
|
+
id?: string;
|
|
55
|
+
children: ReactNode;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* <Field*>
|
|
59
|
+
*/
|
|
35
60
|
interface FieldCommonProps {
|
|
36
61
|
type?: InputType;
|
|
37
62
|
id?: string;
|
|
38
63
|
label: string;
|
|
64
|
+
requiredLabel?: string;
|
|
39
65
|
hideLabel?: boolean;
|
|
40
66
|
additionalText?: string;
|
|
41
67
|
preserveSpace?: boolean;
|
|
@@ -44,12 +70,15 @@ interface FieldCommonProps {
|
|
|
44
70
|
dataset?: Dataset;
|
|
45
71
|
inputDataset?: Dataset;
|
|
46
72
|
}
|
|
47
|
-
interface SingleLineFieldCommonProps extends FieldCommonProps {
|
|
73
|
+
export interface SingleLineFieldCommonProps extends FieldCommonProps {
|
|
48
74
|
type?: SingleLineInputType;
|
|
49
|
-
icon?:
|
|
75
|
+
icon?: React.ReactElement<IconProps>;
|
|
50
76
|
button?: React.ReactElement<FieldButtonProps>;
|
|
51
77
|
}
|
|
52
|
-
|
|
78
|
+
/**
|
|
79
|
+
* public <*Field> props
|
|
80
|
+
*/
|
|
81
|
+
export declare type TextFieldProps = SingleLineFieldCommonProps & CombinableInputProps<InputTextProps> & {
|
|
53
82
|
type?: SimpleTextInputType;
|
|
54
|
-
}
|
|
83
|
+
};
|
|
55
84
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* AUTO GENERATED @
|
|
1
|
+
/* AUTO GENERATED @Fri Dec 16 2022 13:10:30 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 @
|
|
1
|
+
/* AUTO GENERATED @Fri Dec 16 2022 13:10:30 GMT+0000 (Coordinated Universal Time) */
|
|
2
2
|
|
|
3
3
|
@scheme-color: var(--aface6);
|
|
4
4
|
@scheme-bgColor: var(--786b9e);
|
|
@@ -87,11 +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);
|
|
96
|
+
@content-error-color: var(--9167e9);
|
|
97
|
+
@border-base-borderColor: var(--29cd58);
|
|
98
|
+
@border-focus-borderColor: var(--398094);
|
|
99
|
+
@border-error-borderColor: var(--eaf4a3);
|
|
95
100
|
@action-base-borderRadius: var(--8d5131);
|
|
96
101
|
@action-base-disabled-color: var(--a8b89c);
|
|
97
102
|
@action-base-disabled-bgColor: var(--04daeb);
|
|
@@ -101,6 +106,9 @@
|
|
|
101
106
|
@action-base-focus-outlineColor: var(--603ec6);
|
|
102
107
|
@action-base-gap: var(--0aee7b);
|
|
103
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);
|
|
104
112
|
@action-variant-primary-color: var(--d2baa6);
|
|
105
113
|
@action-variant-secondary-color: var(--1614c9);
|
|
106
114
|
@action-variant-tertiary-color: var(--937543);
|
|
@@ -247,6 +255,7 @@
|
|
|
247
255
|
@text-size-l-fontSize: var(--da41aa);
|
|
248
256
|
@text-size-xl-fontSize: var(--698b61);
|
|
249
257
|
@text-variant-xs-fontSize: var(--4c9f68);
|
|
258
|
+
@text-variant-xs-medium-fontSize: var(--547b8f);
|
|
250
259
|
@text-variant-s-fontSize: var(--a7cfda);
|
|
251
260
|
@text-variant-s-italic-fontSize: var(--79c03c);
|
|
252
261
|
@text-variant-s-medium-fontSize: var(--28e99e);
|
|
@@ -268,6 +277,7 @@
|
|
|
268
277
|
@text-variant-xl-medium-fontSize: var(--19e13e);
|
|
269
278
|
@text-variant-xl-medium-italic-fontSize: var(--88dc17);
|
|
270
279
|
@text-variant-xs-fontWeight: var(--71d69c);
|
|
280
|
+
@text-variant-xs-medium-fontWeight: var(--86a200);
|
|
271
281
|
@text-variant-s-fontWeight: var(--dc8b92);
|
|
272
282
|
@text-variant-s-italic-fontWeight: var(--5127dd);
|
|
273
283
|
@text-variant-s-medium-fontWeight: var(--ca04c0);
|
|
@@ -289,6 +299,7 @@
|
|
|
289
299
|
@text-variant-xl-medium-fontWeight: var(--6455e5);
|
|
290
300
|
@text-variant-xl-medium-italic-fontWeight: var(--cc6f61);
|
|
291
301
|
@text-variant-xs-lineHeight: var(--543571);
|
|
302
|
+
@text-variant-xs-medium-lineHeight: var(--e7e648);
|
|
292
303
|
@text-variant-s-lineHeight: var(--c552e7);
|
|
293
304
|
@text-variant-s-italic-lineHeight: var(--aeb64b);
|
|
294
305
|
@text-variant-s-medium-lineHeight: var(--af784d);
|
|
@@ -310,6 +321,7 @@
|
|
|
310
321
|
@text-variant-xl-medium-lineHeight: var(--85e4ac);
|
|
311
322
|
@text-variant-xl-medium-italic-lineHeight: var(--904c1e);
|
|
312
323
|
@text-variant-xs-letterSpacing: var(--29af86);
|
|
324
|
+
@text-variant-xs-medium-letterSpacing: var(--d7a1ad);
|
|
313
325
|
@text-variant-s-letterSpacing: var(--4d1d51);
|
|
314
326
|
@text-variant-s-italic-letterSpacing: var(--a50d8c);
|
|
315
327
|
@text-variant-s-medium-letterSpacing: var(--015e8c);
|
|
@@ -331,6 +343,7 @@
|
|
|
331
343
|
@text-variant-xl-medium-letterSpacing: var(--e76960);
|
|
332
344
|
@text-variant-xl-medium-italic-letterSpacing: var(--cf0e2c);
|
|
333
345
|
@text-variant-xs-fontStyle: var(--647b4d);
|
|
346
|
+
@text-variant-xs-medium-fontStyle: var(--abe371);
|
|
334
347
|
@text-variant-s-fontStyle: var(--b8dd4e);
|
|
335
348
|
@text-variant-s-italic-fontStyle: var(--c89e06);
|
|
336
349
|
@text-variant-s-medium-fontStyle: var(--e1d91f);
|
|
@@ -352,6 +365,7 @@
|
|
|
352
365
|
@text-variant-xl-medium-fontStyle: var(--0a5e67);
|
|
353
366
|
@text-variant-xl-medium-italic-fontStyle: var(--6fc949);
|
|
354
367
|
@text-variant-xs-variationSettings: var(--afe759);
|
|
368
|
+
@text-variant-xs-medium-variationSettings: var(--f65ebc);
|
|
355
369
|
@text-variant-s-variationSettings: var(--93fedc);
|
|
356
370
|
@text-variant-s-italic-variationSettings: var(--0557d4);
|
|
357
371
|
@text-variant-s-medium-variationSettings: var(--d7e46a);
|
|
@@ -379,6 +393,8 @@
|
|
|
379
393
|
@text-weight-normal-fontWeight: var(--5ea101);
|
|
380
394
|
@text-weight-medium-fontWeight: var(--2734e9);
|
|
381
395
|
@text-weight-bold-fontWeight: var(--800787);
|
|
396
|
+
@input-base-borderWidth: var(--d9baa3);
|
|
397
|
+
@input-base-borderRadius: var(--c4b051);
|
|
382
398
|
@root-size-none: var(--c12f10);
|
|
383
399
|
@root-size-25: var(--389aa7);
|
|
384
400
|
@root-size-50: var(--8848e0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
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
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './accessibility';
|
|
2
2
|
export * from './color/module-color';
|
|
3
3
|
export * from './color-scheme';
|
|
4
4
|
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { getDatasetProps, getExternalUrlProps } from './dom/props/index.js';
|
|
2
2
|
export { mapEdgeKeyToStandard } from './keyboard/index.js';
|
|
3
3
|
export { currentHostname, currentHref } from './location/index.js';
|
|
4
|
-
export { getAriaProps } from './aria/utils.js';
|
|
4
|
+
export { getAriaProps } from './accessibility/aria/utils.js';
|
|
5
5
|
export { useColorClassNames } from './color/module-color/hooks/useColorClassNames.js';
|
|
6
6
|
export { colorSchemes } from './color-scheme/colorSchemes.js';
|
|
7
7
|
export { ColorScheme } from './color-scheme/classes/ColorScheme.js';
|
|
@@ -10,11 +10,13 @@ export { useColorScheme } from './color-scheme/hooks/useColorScheme.js';
|
|
|
10
10
|
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
|
-
export { FIELD_TYPE_DEFAULT } from './field/constants.js';
|
|
13
|
+
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './field/constants.js';
|
|
14
14
|
export { useTextField } from './field/hooks/useTextField.js';
|
|
15
|
+
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './field/options.js';
|
|
15
16
|
export { AUTO_COMPLETE_DATE_DEFAULT, AUTO_COMPLETE_PASSWORD_DEFAULT, AUTO_COMPLETE_TEXT_DEFAULT, INPUT_TYPE_DEFAULT } from './input/constants.js';
|
|
16
17
|
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';
|
|
17
|
-
export {
|
|
18
|
+
export { getInputProps } from './input/utils/getInputProps.js';
|
|
19
|
+
export { useForcedRef } from './input/utils/useForcedRef.js';
|
|
18
20
|
export { useInstrument } from './instrument/hooks/useInstrument.js';
|
|
19
21
|
export { InstrumentProvider } from './instrument/providers/Instrument.js';
|
|
20
22
|
export { useLayoutClassNames } from './layout/hooks/useLayoutClassNames.js';
|
|
@@ -24,6 +26,7 @@ export { useLayoutGridResponsiveColumns } from './layout/hooks/useLayoutGridResp
|
|
|
24
26
|
export { useLayoutHideClassnames } from './layout/module-layout-hide/hooks/useLayoutHideClassnames.js';
|
|
25
27
|
export { useAlignSelfClassNames } from './layout/module-align-self/hooks/useAlignSelfClassNames.js';
|
|
26
28
|
export { useLayoutPaddingClassnames } from './layout/module-layout-padding/hooks/useLayoutPaddingClassnames.js';
|
|
29
|
+
export { useLayoutRelativeClassnames } from './layout/module-layout-relative/hooks/useLayoutRelativeClassnames.js';
|
|
27
30
|
export { useLayoutGapClassnames } from './layout/module-layout-gap/hooks/useLayoutGapClassnames.js';
|
|
28
31
|
export { minWidth } from './responsive/sc/mixins.js';
|
|
29
32
|
export { ServerStyleSheet } from './ssr/classes/ServerStyleSheet.js';
|
|
@@ -46,4 +49,4 @@ export { withGetToken } from './token/hocs/withGetToken.js';
|
|
|
46
49
|
export { useTextAccentClassnames } from './typography/module-text-accent/hooks/useTextAccentClassnames.js';
|
|
47
50
|
export { useTextCenteredClassnames } from './typography/module-text-centered/hooks/useTextCenteredClassnames.js';
|
|
48
51
|
export { useTextWeightClassNames } from './typography/module-text-weight/hooks/useTextWeightClassNames.js';
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
|
package/dist/input/index.d.ts
CHANGED