@alfalab/core-components-input-autocomplete 13.0.0-snapshot-c39129c → 13.0.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/autocomplete-field/index.css +1 -1
- package/autocomplete-field/index.module.css.js +1 -1
- package/autocomplete-mobile-field/index.css +10 -10
- package/autocomplete-mobile-field/index.module.css.js +1 -1
- package/cssm/mobile/Component.mobile.js +3 -1
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/esm/autocomplete-field/index.css +1 -1
- package/esm/autocomplete-field/index.module.css.js +1 -1
- package/esm/autocomplete-mobile-field/index.css +10 -10
- package/esm/autocomplete-mobile-field/index.module.css.js +1 -1
- package/esm/mobile/Component.mobile.js +3 -1
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/mobile/mobile.css +1 -1
- package/esm/mobile/mobile.module.css.js +1 -1
- package/mobile/Component.mobile.js +3 -1
- package/mobile/Component.mobile.js.map +1 -1
- package/mobile/mobile.css +1 -1
- package/mobile/mobile.module.css.js +1 -1
- package/modern/autocomplete-field/index.css +1 -1
- package/modern/autocomplete-field/index.module.css.js +1 -1
- package/modern/autocomplete-mobile-field/index.css +10 -10
- package/modern/autocomplete-mobile-field/index.module.css.js +1 -1
- package/modern/mobile/Component.mobile.js +7 -1
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/mobile/mobile.css +1 -1
- package/modern/mobile/mobile.module.css.js +1 -1
- package/moderncssm/mobile/Component.mobile.js +7 -1
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/package.json +21 -18
- package/src/mobile/Component.mobile.tsx +7 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"arrow":"input-
|
|
5
|
+
var styles = {"arrow":"input-autocomplete__arrow_1jsug","error":"input-autocomplete__error_1jsug"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
--input-error-icon-display: none;
|
|
9
9
|
--input-success-icon-display: flex;
|
|
10
10
|
--input-error-icon-not-alone-display: none;
|
|
11
|
-
} .input-
|
|
11
|
+
} .input-autocomplete__component_1dkkb {
|
|
12
12
|
width: 100%;
|
|
13
13
|
outline: none;
|
|
14
|
-
} .input-
|
|
14
|
+
} .input-autocomplete__field_1dkkb:not(.input-autocomplete__disabled_1dkkb) {
|
|
15
15
|
cursor: pointer;
|
|
16
|
-
} .input-
|
|
16
|
+
} .input-autocomplete__errorIcon_1dkkb {
|
|
17
17
|
display: var(--input-error-icon-display);
|
|
18
|
-
} * + .input-
|
|
18
|
+
} * + .input-autocomplete__errorIcon_1dkkb {
|
|
19
19
|
display: var(--input-error-icon-not-alone-display);
|
|
20
|
-
} .input-
|
|
20
|
+
} .input-autocomplete__successIcon_1dkkb {
|
|
21
21
|
display: var(--input-success-icon-display);
|
|
22
|
-
} .input-
|
|
22
|
+
} .input-autocomplete__disabled_1dkkb {
|
|
23
23
|
cursor: var(--disabled-cursor);
|
|
24
|
-
} .input-
|
|
24
|
+
} .input-autocomplete__placeholder_1dkkb {
|
|
25
25
|
color: var(--color-light-text-secondary);
|
|
26
|
-
} .input-
|
|
26
|
+
} .input-autocomplete__contentWrapper_1dkkb {
|
|
27
27
|
font-size: 16px;
|
|
28
28
|
line-height: 20px;
|
|
29
29
|
font-weight: 400;
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
text-overflow: ellipsis;
|
|
33
33
|
overflow: hidden;
|
|
34
34
|
width: 100%;
|
|
35
|
-
} .input-
|
|
35
|
+
} .input-autocomplete__value_1dkkb {
|
|
36
36
|
overflow: hidden;
|
|
37
37
|
text-overflow: ellipsis;
|
|
38
38
|
text-align: left;
|
|
39
|
-
} .input-
|
|
39
|
+
} .input-autocomplete__focusVisible_1dkkb {
|
|
40
40
|
outline: 2px solid var(--focus-color);
|
|
41
41
|
outline-offset: 2px;
|
|
42
42
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"component":"input-
|
|
5
|
+
var styles = {"component":"input-autocomplete__component_1dkkb","field":"input-autocomplete__field_1dkkb","disabled":"input-autocomplete__disabled_1dkkb","errorIcon":"input-autocomplete__errorIcon_1dkkb","successIcon":"input-autocomplete__successIcon_1dkkb","placeholder":"input-autocomplete__placeholder_1dkkb","contentWrapper":"input-autocomplete__contentWrapper_1dkkb","value":"input-autocomplete__value_1dkkb","focusVisible":"input-autocomplete__focusVisible_1dkkb"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -87,7 +87,9 @@ var InputAutocompleteMobile = React__default.default.forwardRef(function (_a, re
|
|
|
87
87
|
: displayValue;
|
|
88
88
|
}, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
|
|
89
89
|
return (React__default.default.createElement(Component$1, tslib.__assign({ Field: Component.AutocompleteMobileField }, restProps, (isBottomSheet
|
|
90
|
-
? {
|
|
90
|
+
? {
|
|
91
|
+
bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
|
|
92
|
+
}
|
|
91
93
|
: {
|
|
92
94
|
modalProps: componentProps,
|
|
93
95
|
modalHeaderProps: { title: title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? { bottomSheetProps: { ...componentProps, virtualKeyboard } }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":["React","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","AutocompleteMobileField","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":["React","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","AutocompleteMobileField","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"arrow":"input-
|
|
3
|
+
var styles = {"arrow":"input-autocomplete__arrow_1jsug","error":"input-autocomplete__error_1jsug"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
--input-error-icon-display: none;
|
|
9
9
|
--input-success-icon-display: flex;
|
|
10
10
|
--input-error-icon-not-alone-display: none;
|
|
11
|
-
} .input-
|
|
11
|
+
} .input-autocomplete__component_1dkkb {
|
|
12
12
|
width: 100%;
|
|
13
13
|
outline: none;
|
|
14
|
-
} .input-
|
|
14
|
+
} .input-autocomplete__field_1dkkb:not(.input-autocomplete__disabled_1dkkb) {
|
|
15
15
|
cursor: pointer;
|
|
16
|
-
} .input-
|
|
16
|
+
} .input-autocomplete__errorIcon_1dkkb {
|
|
17
17
|
display: var(--input-error-icon-display);
|
|
18
|
-
} * + .input-
|
|
18
|
+
} * + .input-autocomplete__errorIcon_1dkkb {
|
|
19
19
|
display: var(--input-error-icon-not-alone-display);
|
|
20
|
-
} .input-
|
|
20
|
+
} .input-autocomplete__successIcon_1dkkb {
|
|
21
21
|
display: var(--input-success-icon-display);
|
|
22
|
-
} .input-
|
|
22
|
+
} .input-autocomplete__disabled_1dkkb {
|
|
23
23
|
cursor: var(--disabled-cursor);
|
|
24
|
-
} .input-
|
|
24
|
+
} .input-autocomplete__placeholder_1dkkb {
|
|
25
25
|
color: var(--color-light-text-secondary);
|
|
26
|
-
} .input-
|
|
26
|
+
} .input-autocomplete__contentWrapper_1dkkb {
|
|
27
27
|
font-size: 16px;
|
|
28
28
|
line-height: 20px;
|
|
29
29
|
font-weight: 400;
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
text-overflow: ellipsis;
|
|
33
33
|
overflow: hidden;
|
|
34
34
|
width: 100%;
|
|
35
|
-
} .input-
|
|
35
|
+
} .input-autocomplete__value_1dkkb {
|
|
36
36
|
overflow: hidden;
|
|
37
37
|
text-overflow: ellipsis;
|
|
38
38
|
text-align: left;
|
|
39
|
-
} .input-
|
|
39
|
+
} .input-autocomplete__focusVisible_1dkkb {
|
|
40
40
|
outline: 2px solid var(--focus-color);
|
|
41
41
|
outline-offset: 2px;
|
|
42
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"component":"input-
|
|
3
|
+
var styles = {"component":"input-autocomplete__component_1dkkb","field":"input-autocomplete__field_1dkkb","disabled":"input-autocomplete__disabled_1dkkb","errorIcon":"input-autocomplete__errorIcon_1dkkb","successIcon":"input-autocomplete__successIcon_1dkkb","placeholder":"input-autocomplete__placeholder_1dkkb","contentWrapper":"input-autocomplete__contentWrapper_1dkkb","value":"input-autocomplete__value_1dkkb","focusVisible":"input-autocomplete__focusVisible_1dkkb"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -75,7 +75,9 @@ var InputAutocompleteMobile = React.forwardRef(function (_a, ref) {
|
|
|
75
75
|
: displayValue;
|
|
76
76
|
}, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
|
|
77
77
|
return (React.createElement(Component, __assign({ Field: AutocompleteMobileField }, restProps, (isBottomSheet
|
|
78
|
-
? {
|
|
78
|
+
? {
|
|
79
|
+
bottomSheetProps: __assign(__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
|
|
80
|
+
}
|
|
79
81
|
: {
|
|
80
82
|
modalProps: componentProps,
|
|
81
83
|
modalHeaderProps: { title: title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? { bottomSheetProps: { ...componentProps, virtualKeyboard } }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
package/esm/mobile/mobile.css
CHANGED
|
@@ -86,7 +86,9 @@ var InputAutocompleteMobile = React__default.default.forwardRef(function (_a, re
|
|
|
86
86
|
: displayValue;
|
|
87
87
|
}, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
|
|
88
88
|
return (React__default.default.createElement(Component$1, tslib.__assign({ Field: Component.AutocompleteMobileField }, restProps, (isBottomSheet
|
|
89
|
-
? {
|
|
89
|
+
? {
|
|
90
|
+
bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
|
|
91
|
+
}
|
|
90
92
|
: {
|
|
91
93
|
modalProps: componentProps,
|
|
92
94
|
modalHeaderProps: { title: title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? { bottomSheetProps: { ...componentProps, virtualKeyboard } }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":["React","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","AutocompleteMobileField","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":["React","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","AutocompleteMobileField","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
|
package/mobile/mobile.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
const styles = {"arrow":"input-
|
|
3
|
+
const styles = {"arrow":"input-autocomplete__arrow_1jsug","error":"input-autocomplete__error_1jsug"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
--input-error-icon-display: none;
|
|
9
9
|
--input-success-icon-display: flex;
|
|
10
10
|
--input-error-icon-not-alone-display: none;
|
|
11
|
-
} .input-
|
|
11
|
+
} .input-autocomplete__component_1dkkb {
|
|
12
12
|
width: 100%;
|
|
13
13
|
outline: none;
|
|
14
|
-
} .input-
|
|
14
|
+
} .input-autocomplete__field_1dkkb:not(.input-autocomplete__disabled_1dkkb) {
|
|
15
15
|
cursor: pointer;
|
|
16
|
-
} .input-
|
|
16
|
+
} .input-autocomplete__errorIcon_1dkkb {
|
|
17
17
|
display: var(--input-error-icon-display);
|
|
18
|
-
} * + .input-
|
|
18
|
+
} * + .input-autocomplete__errorIcon_1dkkb {
|
|
19
19
|
display: var(--input-error-icon-not-alone-display);
|
|
20
|
-
} .input-
|
|
20
|
+
} .input-autocomplete__successIcon_1dkkb {
|
|
21
21
|
display: var(--input-success-icon-display);
|
|
22
|
-
} .input-
|
|
22
|
+
} .input-autocomplete__disabled_1dkkb {
|
|
23
23
|
cursor: var(--disabled-cursor);
|
|
24
|
-
} .input-
|
|
24
|
+
} .input-autocomplete__placeholder_1dkkb {
|
|
25
25
|
color: var(--color-light-text-secondary);
|
|
26
|
-
} .input-
|
|
26
|
+
} .input-autocomplete__contentWrapper_1dkkb {
|
|
27
27
|
font-size: 16px;
|
|
28
28
|
line-height: 20px;
|
|
29
29
|
font-weight: 400;
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
text-overflow: ellipsis;
|
|
33
33
|
overflow: hidden;
|
|
34
34
|
width: 100%;
|
|
35
|
-
} .input-
|
|
35
|
+
} .input-autocomplete__value_1dkkb {
|
|
36
36
|
overflow: hidden;
|
|
37
37
|
text-overflow: ellipsis;
|
|
38
38
|
text-align: left;
|
|
39
|
-
} .input-
|
|
39
|
+
} .input-autocomplete__focusVisible_1dkkb {
|
|
40
40
|
outline: 2px solid var(--focus-color);
|
|
41
41
|
outline-offset: 2px;
|
|
42
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
const styles = {"component":"input-
|
|
3
|
+
const styles = {"component":"input-autocomplete__component_1dkkb","field":"input-autocomplete__field_1dkkb","disabled":"input-autocomplete__disabled_1dkkb","errorIcon":"input-autocomplete__errorIcon_1dkkb","successIcon":"input-autocomplete__successIcon_1dkkb","placeholder":"input-autocomplete__placeholder_1dkkb","contentWrapper":"input-autocomplete__contentWrapper_1dkkb","value":"input-autocomplete__value_1dkkb","focusVisible":"input-autocomplete__focusVisible_1dkkb"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -70,7 +70,13 @@ const InputAutocompleteMobile = React.forwardRef(({ Input, value, name, Arrow =
|
|
|
70
70
|
: displayValue;
|
|
71
71
|
}, [displayValue, inputProps?.mask]);
|
|
72
72
|
return (React.createElement(Component, { Field: AutocompleteMobileField, ...restProps, ...(isBottomSheet
|
|
73
|
-
? {
|
|
73
|
+
? {
|
|
74
|
+
bottomSheetProps: {
|
|
75
|
+
...componentProps,
|
|
76
|
+
virtualKeyboard,
|
|
77
|
+
showSwipeMarker: false,
|
|
78
|
+
},
|
|
79
|
+
}
|
|
74
80
|
: {
|
|
75
81
|
modalProps: componentProps,
|
|
76
82
|
modalHeaderProps: { title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? { bottomSheetProps: { ...componentProps, virtualKeyboard } }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
package/modern/mobile/mobile.css
CHANGED
|
@@ -70,7 +70,13 @@ const InputAutocompleteMobile = React.forwardRef(({ Input, value, name, Arrow =
|
|
|
70
70
|
: displayValue;
|
|
71
71
|
}, [displayValue, inputProps?.mask]);
|
|
72
72
|
return (React.createElement(Component, { Field: AutocompleteMobileField, ...restProps, ...(isBottomSheet
|
|
73
|
-
? {
|
|
73
|
+
? {
|
|
74
|
+
bottomSheetProps: {
|
|
75
|
+
...componentProps,
|
|
76
|
+
virtualKeyboard,
|
|
77
|
+
showSwipeMarker: false,
|
|
78
|
+
},
|
|
79
|
+
}
|
|
74
80
|
: {
|
|
75
81
|
modalProps: componentProps,
|
|
76
82
|
modalHeaderProps: { title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? { bottomSheetProps: { ...componentProps, virtualKeyboard } }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { Ref, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport cn from 'classnames';\nimport throttle from 'lodash/throttle';\n\nimport {\n SelectMobile,\n SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n AnyObject,\n BottomSheetSelectMobileProps,\n Footer,\n ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { InputAutocompleteMobileProps } from '../types';\nimport { searchFilterStub } from '../utils';\n\nimport styles from './mobile.module.css';\n\nexport const InputAutocompleteMobile = React.forwardRef(\n (\n {\n Input,\n value,\n name,\n Arrow = null,\n label,\n placeholder = '',\n size = 48,\n open: openProp,\n onInput,\n onOpen,\n multiple,\n inputProps,\n isBottomSheet = true,\n dataTestId,\n transitionProps,\n onCancel,\n onApply,\n title,\n success,\n virtualKeyboard = false,\n ...restProps\n }: InputAutocompleteMobileProps,\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const frozenValue = useRef<string>('');\n const searchInputRef = useRef<HTMLInputElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const restorePrevValue = () => onInput?.(frozenValue.current, OnInputReason.Close);\n\n const setModalVisibility = (isOpen: boolean) => {\n if (isOpen) {\n frozenValue.current = value || '';\n }\n\n if (openProp === undefined) {\n setOpen(isOpen);\n }\n\n onOpen?.({ open: isOpen, name });\n };\n\n const handleOpen: SelectMobileProps['onOpen'] = (payload) => {\n setModalVisibility(Boolean(payload.open));\n };\n\n const handleOptionsListTouchMove = useMemo(\n () =>\n throttle(() => {\n const input = searchInputRef.current;\n\n if (input && document.activeElement === input) {\n input.blur();\n }\n }, 300),\n [],\n );\n\n const handleApply = () => {\n setModalVisibility(false);\n onApply?.();\n };\n\n const handleCancel = () => {\n setModalVisibility(false);\n restorePrevValue();\n onCancel?.();\n };\n\n const handleExiting = (node: HTMLElement) => {\n targetRef.current?.focus();\n transitionProps?.onExiting?.(node);\n };\n\n const isOpen = Boolean(open || openProp);\n\n const Component = isBottomSheet ? SelectMobile : SelectModalMobile;\n\n const componentProps:\n | ModalSelectMobileProps['modalProps']\n | BottomSheetSelectMobileProps['bottomSheetProps'] = {\n title: title || label || placeholder,\n onClose: restorePrevValue,\n transitionProps: {\n ...transitionProps,\n onExiting: handleExiting,\n },\n [isBottomSheet ? 'containerProps' : 'componentDivProps']: {\n onTouchMove: handleOptionsListTouchMove,\n },\n };\n\n const clear = inputProps?.clear ?? false;\n\n const displayValue = isOpen ? frozenValue.current : value;\n\n const fieldValue = useMemo(() => {\n const mask = inputProps?.mask;\n\n return isNonNullable(displayValue) && isMaskitoMask(mask)\n ? maskitoTransform(displayValue, { mask })\n : displayValue;\n }, [displayValue, inputProps?.mask]);\n\n return (\n <Component\n Field={AutocompleteMobileField}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n className: cn(styles.input, inputProps?.className),\n clear,\n ref: mergeRefs([searchInputRef, inputProps?.ref as Ref<HTMLInputElement>]),\n onChange: (_, payload) => onInput?.(payload.value, OnInputReason.Change),\n },\n }}\n Search={Input}\n ref={mergeRefs([targetRef, ref])}\n open={isOpen}\n onOpen={handleOpen}\n Arrow={Arrow}\n placeholder={placeholder}\n label={label}\n size={size}\n name={name}\n multiple={multiple}\n optionsListProps={{\n footer: (\n <Footer\n showClear={true}\n handleClear={handleCancel}\n handleApply={handleApply}\n clearText='Отмена'\n applyText='Продолжить'\n dataTestId={dataTestId}\n />\n ),\n ...(restProps.optionsListProps as AnyObject),\n }}\n fieldProps={{\n value: fieldValue,\n clear,\n onClear: clear ? inputProps?.onClear : undefined,\n success,\n ...(restProps.fieldProps as AnyObject),\n }}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-input-autocomplete",
|
|
3
|
-
"version": "13.0.0
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"sideEffects": [
|
|
8
|
+
"**/*.css"
|
|
9
|
+
],
|
|
7
10
|
"main": "index.js",
|
|
8
11
|
"module": "./esm/index.js",
|
|
9
|
-
"publishConfig": {
|
|
10
|
-
"access": "public",
|
|
11
|
-
"directory": "dist"
|
|
12
|
-
},
|
|
13
|
-
"peerDependencies": {
|
|
14
|
-
"react": "^16.9.0 || ^17.0.1 || ^18.0.0",
|
|
15
|
-
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
16
|
-
},
|
|
17
12
|
"dependencies": {
|
|
18
|
-
"@alfalab/core-components-form-control": "13.0.0
|
|
19
|
-
"@alfalab/core-components-input": "16.0.0
|
|
20
|
-
"@alfalab/core-components-
|
|
21
|
-
"@alfalab/core-components-
|
|
22
|
-
"@alfalab/core-components-
|
|
23
|
-
"@alfalab/core-components-shared": "1.0.0
|
|
24
|
-
"@alfalab/core-components-
|
|
13
|
+
"@alfalab/core-components-form-control": "^13.0.0",
|
|
14
|
+
"@alfalab/core-components-input": "^16.0.0",
|
|
15
|
+
"@alfalab/core-components-mq": "^5.0.0",
|
|
16
|
+
"@alfalab/core-components-popover": "^7.0.0",
|
|
17
|
+
"@alfalab/core-components-select": "^18.0.0",
|
|
18
|
+
"@alfalab/core-components-shared": "^1.0.0",
|
|
19
|
+
"@alfalab/core-components-status-badge": "^2.0.0",
|
|
25
20
|
"@alfalab/hooks": "^1.13.1",
|
|
26
21
|
"@maskito/core": "^1.7.0",
|
|
27
22
|
"classnames": "^2.5.1",
|
|
@@ -29,6 +24,14 @@
|
|
|
29
24
|
"react-merge-refs": "^1.1.0",
|
|
30
25
|
"tslib": "^2.4.0"
|
|
31
26
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"react": "^16.9.0 || ^17.0.1 || ^18.0.0",
|
|
29
|
+
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public",
|
|
33
|
+
"directory": "dist"
|
|
34
|
+
},
|
|
35
|
+
"themesVersion": "14.0.0",
|
|
36
|
+
"varsVersion": "10.0.0"
|
|
34
37
|
}
|
|
@@ -137,7 +137,13 @@ export const InputAutocompleteMobile = React.forwardRef(
|
|
|
137
137
|
Field={AutocompleteMobileField}
|
|
138
138
|
{...restProps}
|
|
139
139
|
{...(isBottomSheet
|
|
140
|
-
? {
|
|
140
|
+
? {
|
|
141
|
+
bottomSheetProps: {
|
|
142
|
+
...componentProps,
|
|
143
|
+
virtualKeyboard,
|
|
144
|
+
showSwipeMarker: false,
|
|
145
|
+
},
|
|
146
|
+
}
|
|
141
147
|
: {
|
|
142
148
|
modalProps: componentProps,
|
|
143
149
|
modalHeaderProps: { title },
|