@alfalab/core-components-input-autocomplete 14.0.4 → 14.0.5-alfasans

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/autocomplete-field/index.css +1 -1
  2. package/autocomplete-field/index.module.css.js +1 -1
  3. package/autocomplete-mobile-field/index.css +15 -13
  4. package/autocomplete-mobile-field/index.module.css.js +1 -1
  5. package/cssm/autocomplete-mobile-field/index.module.css +5 -3
  6. package/cssm/mobile/Component.mobile.js +1 -1
  7. package/cssm/mobile/Component.mobile.js.map +1 -1
  8. package/esm/autocomplete-field/index.css +1 -1
  9. package/esm/autocomplete-field/index.module.css.js +1 -1
  10. package/esm/autocomplete-mobile-field/index.css +15 -13
  11. package/esm/autocomplete-mobile-field/index.module.css.js +1 -1
  12. package/esm/mobile/Component.mobile.js +1 -1
  13. package/esm/mobile/Component.mobile.js.map +1 -1
  14. package/esm/mobile/mobile.css +1 -1
  15. package/esm/mobile/mobile.module.css.js +1 -1
  16. package/mobile/Component.mobile.js +1 -1
  17. package/mobile/Component.mobile.js.map +1 -1
  18. package/mobile/mobile.css +1 -1
  19. package/mobile/mobile.module.css.js +1 -1
  20. package/modern/autocomplete-field/index.css +1 -1
  21. package/modern/autocomplete-field/index.module.css.js +1 -1
  22. package/modern/autocomplete-mobile-field/index.css +15 -13
  23. package/modern/autocomplete-mobile-field/index.module.css.js +1 -1
  24. package/modern/mobile/Component.mobile.js +1 -0
  25. package/modern/mobile/Component.mobile.js.map +1 -1
  26. package/modern/mobile/mobile.css +1 -1
  27. package/modern/mobile/mobile.module.css.js +1 -1
  28. package/moderncssm/autocomplete-mobile-field/index.module.css +2 -1
  29. package/moderncssm/mobile/Component.mobile.js +1 -0
  30. package/moderncssm/mobile/Component.mobile.js.map +1 -1
  31. package/package.json +10 -10
  32. package/src/mobile/Component.mobile.tsx +1 -0
@@ -1,3 +1,3 @@
1
- .input-autocomplete__arrow_19kqe.input-autocomplete__error_19kqe ~ * {
1
+ .input-autocomplete__arrow_12njx.input-autocomplete__error_12njx ~ * {
2
2
  display: none;
3
3
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"arrow":"input-autocomplete__arrow_19kqe","error":"input-autocomplete__error_19kqe"};
5
+ var styles = {"arrow":"input-autocomplete__arrow_12njx","error":"input-autocomplete__error_12njx"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -3,8 +3,9 @@
3
3
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
4
4
  }
5
5
  :root {
6
- --font-family-system:
7
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
6
+ --font-family-alfasans:
7
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
8
+ Helvetica, sans-serif;
8
9
  }
9
10
  :root {
10
11
  --focus-color: var(--color-light-status-info);
@@ -15,45 +16,46 @@
15
16
  --input-success-icon-display: flex;
16
17
  --input-error-icon-not-alone-display: none;
17
18
  }
18
- .input-autocomplete__component_3e7kf {
19
+ .input-autocomplete__component_18hqb {
19
20
  width: 100%;
20
21
  outline: none;
21
22
  }
22
- .input-autocomplete__field_3e7kf:not(.input-autocomplete__disabled_3e7kf) {
23
+ .input-autocomplete__field_18hqb:not(.input-autocomplete__disabled_18hqb) {
23
24
  cursor: pointer;
24
25
  }
25
- .input-autocomplete__errorIcon_3e7kf {
26
+ .input-autocomplete__errorIcon_18hqb {
26
27
  display: var(--input-error-icon-display);
27
28
  }
28
- * + .input-autocomplete__errorIcon_3e7kf {
29
+ * + .input-autocomplete__errorIcon_18hqb {
29
30
  display: var(--input-error-icon-not-alone-display);
30
31
  }
31
- .input-autocomplete__successIcon_3e7kf {
32
+ .input-autocomplete__successIcon_18hqb {
32
33
  display: var(--input-success-icon-display);
33
34
  }
34
- .input-autocomplete__disabled_3e7kf {
35
+ .input-autocomplete__disabled_18hqb {
35
36
  cursor: var(--disabled-cursor);
36
37
  }
37
- .input-autocomplete__placeholder_3e7kf {
38
+ .input-autocomplete__placeholder_18hqb {
38
39
  color: var(--color-light-text-secondary);
39
40
  }
40
- .input-autocomplete__contentWrapper_3e7kf {
41
+ .input-autocomplete__contentWrapper_18hqb {
41
42
  font-size: 16px;
42
43
  line-height: 20px;
43
44
  font-weight: 400;
44
- font-family: var(--font-family-system);
45
+ letter-spacing: -0.24px;
46
+ font-family: var(--font-family-alfasans);
45
47
 
46
48
  white-space: nowrap;
47
49
  text-overflow: ellipsis;
48
50
  overflow: hidden;
49
51
  width: 100%;
50
52
  }
51
- .input-autocomplete__value_3e7kf {
53
+ .input-autocomplete__value_18hqb {
52
54
  overflow: hidden;
53
55
  text-overflow: ellipsis;
54
56
  text-align: left;
55
57
  }
56
- .input-autocomplete__focusVisible_3e7kf {
58
+ .input-autocomplete__focusVisible_18hqb {
57
59
  outline: 2px solid var(--focus-color);
58
60
  outline-offset: 2px;
59
61
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"input-autocomplete__component_3e7kf","field":"input-autocomplete__field_3e7kf","disabled":"input-autocomplete__disabled_3e7kf","errorIcon":"input-autocomplete__errorIcon_3e7kf","successIcon":"input-autocomplete__successIcon_3e7kf","placeholder":"input-autocomplete__placeholder_3e7kf","contentWrapper":"input-autocomplete__contentWrapper_3e7kf","value":"input-autocomplete__value_3e7kf","focusVisible":"input-autocomplete__focusVisible_3e7kf"};
5
+ var styles = {"component":"input-autocomplete__component_18hqb","field":"input-autocomplete__field_18hqb","disabled":"input-autocomplete__disabled_18hqb","errorIcon":"input-autocomplete__errorIcon_18hqb","successIcon":"input-autocomplete__successIcon_18hqb","placeholder":"input-autocomplete__placeholder_18hqb","contentWrapper":"input-autocomplete__contentWrapper_18hqb","value":"input-autocomplete__value_18hqb","focusVisible":"input-autocomplete__focusVisible_18hqb"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -3,8 +3,9 @@
3
3
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
4
4
  }
5
5
  :root {
6
- --font-family-system:
7
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
6
+ --font-family-alfasans:
7
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
8
+ Helvetica, sans-serif;
8
9
  }
9
10
  :root {
10
11
  --focus-color: var(--color-light-status-info);
@@ -41,7 +42,8 @@
41
42
  font-size: 16px;
42
43
  line-height: 20px;
43
44
  font-weight: 400;
44
- font-family: var(--font-family-system);
45
+ letter-spacing: -0.24px;
46
+ font-family: var(--font-family-alfasans);
45
47
 
46
48
  white-space: nowrap;
47
49
  text-overflow: ellipsis;
@@ -88,7 +88,7 @@ var InputAutocompleteMobile = React__default.default.forwardRef(function (_a, re
88
88
  }, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
89
89
  return (React__default.default.createElement(Component$1, tslib.__assign({ Field: Field }, restProps, (isBottomSheet
90
90
  ? {
91
- bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
91
+ bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false, actionButton: null }),
92
92
  }
93
93
  : {
94
94
  modalProps: componentProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\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 Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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","DefaultField","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","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, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n actionButton: null,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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","DefaultField","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- .input-autocomplete__arrow_19kqe.input-autocomplete__error_19kqe ~ * {
1
+ .input-autocomplete__arrow_12njx.input-autocomplete__error_12njx ~ * {
2
2
  display: none;
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"arrow":"input-autocomplete__arrow_19kqe","error":"input-autocomplete__error_19kqe"};
3
+ var styles = {"arrow":"input-autocomplete__arrow_12njx","error":"input-autocomplete__error_12njx"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -3,8 +3,9 @@
3
3
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
4
4
  }
5
5
  :root {
6
- --font-family-system:
7
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
6
+ --font-family-alfasans:
7
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
8
+ Helvetica, sans-serif;
8
9
  }
9
10
  :root {
10
11
  --focus-color: var(--color-light-status-info);
@@ -15,45 +16,46 @@
15
16
  --input-success-icon-display: flex;
16
17
  --input-error-icon-not-alone-display: none;
17
18
  }
18
- .input-autocomplete__component_3e7kf {
19
+ .input-autocomplete__component_18hqb {
19
20
  width: 100%;
20
21
  outline: none;
21
22
  }
22
- .input-autocomplete__field_3e7kf:not(.input-autocomplete__disabled_3e7kf) {
23
+ .input-autocomplete__field_18hqb:not(.input-autocomplete__disabled_18hqb) {
23
24
  cursor: pointer;
24
25
  }
25
- .input-autocomplete__errorIcon_3e7kf {
26
+ .input-autocomplete__errorIcon_18hqb {
26
27
  display: var(--input-error-icon-display);
27
28
  }
28
- * + .input-autocomplete__errorIcon_3e7kf {
29
+ * + .input-autocomplete__errorIcon_18hqb {
29
30
  display: var(--input-error-icon-not-alone-display);
30
31
  }
31
- .input-autocomplete__successIcon_3e7kf {
32
+ .input-autocomplete__successIcon_18hqb {
32
33
  display: var(--input-success-icon-display);
33
34
  }
34
- .input-autocomplete__disabled_3e7kf {
35
+ .input-autocomplete__disabled_18hqb {
35
36
  cursor: var(--disabled-cursor);
36
37
  }
37
- .input-autocomplete__placeholder_3e7kf {
38
+ .input-autocomplete__placeholder_18hqb {
38
39
  color: var(--color-light-text-secondary);
39
40
  }
40
- .input-autocomplete__contentWrapper_3e7kf {
41
+ .input-autocomplete__contentWrapper_18hqb {
41
42
  font-size: 16px;
42
43
  line-height: 20px;
43
44
  font-weight: 400;
44
- font-family: var(--font-family-system);
45
+ letter-spacing: -0.24px;
46
+ font-family: var(--font-family-alfasans);
45
47
 
46
48
  white-space: nowrap;
47
49
  text-overflow: ellipsis;
48
50
  overflow: hidden;
49
51
  width: 100%;
50
52
  }
51
- .input-autocomplete__value_3e7kf {
53
+ .input-autocomplete__value_18hqb {
52
54
  overflow: hidden;
53
55
  text-overflow: ellipsis;
54
56
  text-align: left;
55
57
  }
56
- .input-autocomplete__focusVisible_3e7kf {
58
+ .input-autocomplete__focusVisible_18hqb {
57
59
  outline: 2px solid var(--focus-color);
58
60
  outline-offset: 2px;
59
61
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"component":"input-autocomplete__component_3e7kf","field":"input-autocomplete__field_3e7kf","disabled":"input-autocomplete__disabled_3e7kf","errorIcon":"input-autocomplete__errorIcon_3e7kf","successIcon":"input-autocomplete__successIcon_3e7kf","placeholder":"input-autocomplete__placeholder_3e7kf","contentWrapper":"input-autocomplete__contentWrapper_3e7kf","value":"input-autocomplete__value_3e7kf","focusVisible":"input-autocomplete__focusVisible_3e7kf"};
3
+ var styles = {"component":"input-autocomplete__component_18hqb","field":"input-autocomplete__field_18hqb","disabled":"input-autocomplete__disabled_18hqb","errorIcon":"input-autocomplete__errorIcon_18hqb","successIcon":"input-autocomplete__successIcon_18hqb","placeholder":"input-autocomplete__placeholder_18hqb","contentWrapper":"input-autocomplete__contentWrapper_18hqb","value":"input-autocomplete__value_18hqb","focusVisible":"input-autocomplete__focusVisible_18hqb"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -76,7 +76,7 @@ var InputAutocompleteMobile = React.forwardRef(function (_a, ref) {
76
76
  }, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
77
77
  return (React.createElement(Component, __assign({ Field: Field }, restProps, (isBottomSheet
78
78
  ? {
79
- bottomSheetProps: __assign(__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
79
+ bottomSheetProps: __assign(__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false, actionButton: null }),
80
80
  }
81
81
  : {
82
82
  modalProps: componentProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\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 Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n actionButton: null,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- .input-autocomplete__input_1qzge {
1
+ .input-autocomplete__input_8nh3l {
2
2
  width: auto;
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- var styles = {"input":"input-autocomplete__input_1qzge"};
3
+ var styles = {"input":"input-autocomplete__input_8nh3l"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -87,7 +87,7 @@ var InputAutocompleteMobile = React__default.default.forwardRef(function (_a, re
87
87
  }, [displayValue, inputProps === null || inputProps === void 0 ? void 0 : inputProps.mask]);
88
88
  return (React__default.default.createElement(Component$1, tslib.__assign({ Field: Field }, restProps, (isBottomSheet
89
89
  ? {
90
- bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false }),
90
+ bottomSheetProps: tslib.__assign(tslib.__assign({}, componentProps), { virtualKeyboard: virtualKeyboard, showSwipeMarker: false, actionButton: null }),
91
91
  }
92
92
  : {
93
93
  modalProps: componentProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\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 Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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","DefaultField","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","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, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n actionButton: null,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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","DefaultField","__rest","useState","useRef","OnInputReason","useMemo","throttle","Component","SelectMobile","SelectModalMobile","isNonNullable","isMaskitoMask","maskitoTransform","__assign","searchFilterStub","cn","styles","mergeRefs","Footer"],"mappings":"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"}
package/mobile/mobile.css CHANGED
@@ -1,3 +1,3 @@
1
- .input-autocomplete__input_1qzge {
1
+ .input-autocomplete__input_8nh3l {
2
2
  width: auto;
3
3
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./mobile.css');
4
4
 
5
- var styles = {"input":"input-autocomplete__input_1qzge"};
5
+ var styles = {"input":"input-autocomplete__input_8nh3l"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1,3 +1,3 @@
1
- .input-autocomplete__arrow_19kqe.input-autocomplete__error_19kqe ~ * {
1
+ .input-autocomplete__arrow_12njx.input-autocomplete__error_12njx ~ * {
2
2
  display: none;
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"arrow":"input-autocomplete__arrow_19kqe","error":"input-autocomplete__error_19kqe"};
3
+ const styles = {"arrow":"input-autocomplete__arrow_12njx","error":"input-autocomplete__error_12njx"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -3,8 +3,9 @@
3
3
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
4
4
  }
5
5
  :root {
6
- --font-family-system:
7
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
6
+ --font-family-alfasans:
7
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
8
+ Helvetica, sans-serif;
8
9
  }
9
10
  :root {
10
11
  --focus-color: var(--color-light-status-info);
@@ -15,45 +16,46 @@
15
16
  --input-success-icon-display: flex;
16
17
  --input-error-icon-not-alone-display: none;
17
18
  }
18
- .input-autocomplete__component_3e7kf {
19
+ .input-autocomplete__component_18hqb {
19
20
  width: 100%;
20
21
  outline: none;
21
22
  }
22
- .input-autocomplete__field_3e7kf:not(.input-autocomplete__disabled_3e7kf) {
23
+ .input-autocomplete__field_18hqb:not(.input-autocomplete__disabled_18hqb) {
23
24
  cursor: pointer;
24
25
  }
25
- .input-autocomplete__errorIcon_3e7kf {
26
+ .input-autocomplete__errorIcon_18hqb {
26
27
  display: var(--input-error-icon-display);
27
28
  }
28
- * + .input-autocomplete__errorIcon_3e7kf {
29
+ * + .input-autocomplete__errorIcon_18hqb {
29
30
  display: var(--input-error-icon-not-alone-display);
30
31
  }
31
- .input-autocomplete__successIcon_3e7kf {
32
+ .input-autocomplete__successIcon_18hqb {
32
33
  display: var(--input-success-icon-display);
33
34
  }
34
- .input-autocomplete__disabled_3e7kf {
35
+ .input-autocomplete__disabled_18hqb {
35
36
  cursor: var(--disabled-cursor);
36
37
  }
37
- .input-autocomplete__placeholder_3e7kf {
38
+ .input-autocomplete__placeholder_18hqb {
38
39
  color: var(--color-light-text-secondary);
39
40
  }
40
- .input-autocomplete__contentWrapper_3e7kf {
41
+ .input-autocomplete__contentWrapper_18hqb {
41
42
  font-size: 16px;
42
43
  line-height: 20px;
43
44
  font-weight: 400;
44
- font-family: var(--font-family-system);
45
+ letter-spacing: -0.24px;
46
+ font-family: var(--font-family-alfasans);
45
47
 
46
48
  white-space: nowrap;
47
49
  text-overflow: ellipsis;
48
50
  overflow: hidden;
49
51
  width: 100%;
50
52
  }
51
- .input-autocomplete__value_3e7kf {
53
+ .input-autocomplete__value_18hqb {
52
54
  overflow: hidden;
53
55
  text-overflow: ellipsis;
54
56
  text-align: left;
55
57
  }
56
- .input-autocomplete__focusVisible_3e7kf {
58
+ .input-autocomplete__focusVisible_18hqb {
57
59
  outline: 2px solid var(--focus-color);
58
60
  outline-offset: 2px;
59
61
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"input-autocomplete__component_3e7kf","field":"input-autocomplete__field_3e7kf","disabled":"input-autocomplete__disabled_3e7kf","errorIcon":"input-autocomplete__errorIcon_3e7kf","successIcon":"input-autocomplete__successIcon_3e7kf","placeholder":"input-autocomplete__placeholder_3e7kf","contentWrapper":"input-autocomplete__contentWrapper_3e7kf","value":"input-autocomplete__value_3e7kf","focusVisible":"input-autocomplete__focusVisible_3e7kf"};
3
+ const styles = {"component":"input-autocomplete__component_18hqb","field":"input-autocomplete__field_18hqb","disabled":"input-autocomplete__disabled_18hqb","errorIcon":"input-autocomplete__errorIcon_18hqb","successIcon":"input-autocomplete__successIcon_18hqb","placeholder":"input-autocomplete__placeholder_18hqb","contentWrapper":"input-autocomplete__contentWrapper_18hqb","value":"input-autocomplete__value_18hqb","focusVisible":"input-autocomplete__focusVisible_18hqb"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -75,6 +75,7 @@ const InputAutocompleteMobile = React.forwardRef(({ Input, value, name, Arrow =
75
75
  ...componentProps,
76
76
  virtualKeyboard,
77
77
  showSwipeMarker: false,
78
+ actionButton: null,
78
79
  },
79
80
  }
80
81
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\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 Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n actionButton: null,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- .input-autocomplete__input_1qzge {
1
+ .input-autocomplete__input_8nh3l {
2
2
  width: auto;
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const styles = {"input":"input-autocomplete__input_1qzge"};
3
+ const styles = {"input":"input-autocomplete__input_8nh3l"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -37,7 +37,8 @@
37
37
  font-size: 16px;
38
38
  line-height: 20px;
39
39
  font-weight: 400;
40
- font-family: var(--font-family-system);
40
+ letter-spacing: -0.24px;
41
+ font-family: var(--font-family-alfasans);
41
42
 
42
43
  white-space: nowrap;
43
44
  text-overflow: ellipsis;
@@ -75,6 +75,7 @@ const InputAutocompleteMobile = React.forwardRef(({ Input, value, name, Arrow =
75
75
  ...componentProps,
76
76
  virtualKeyboard,
77
77
  showSwipeMarker: false,
78
+ actionButton: null,
78
79
  },
79
80
  }
80
81
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\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 Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type 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 type SelectMobileProps,\n SelectModalMobile,\n} from '@alfalab/core-components-select/mobile';\nimport {\n type AnyObject,\n type BottomSheetSelectMobileProps,\n Footer,\n type ModalSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\nimport { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';\n\nimport { AutocompleteMobileField as DefaultField } from '../autocomplete-mobile-field';\nimport { OnInputReason } from '../enums';\nimport { type 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 Search,\n searchProps,\n Field = DefaultField,\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={Field}\n {...restProps}\n {...(isBottomSheet\n ? {\n bottomSheetProps: {\n ...componentProps,\n virtualKeyboard,\n showSwipeMarker: false,\n actionButton: null,\n },\n }\n : {\n modalProps: componentProps,\n modalHeaderProps: { title },\n })}\n dataTestId={dataTestId}\n useWithApplyHook={false}\n showSearch={true}\n Search={Search ?? Input}\n searchProps={{\n value,\n filterFn: searchFilterStub,\n componentProps: {\n leftAddons: null,\n placeholder,\n ...inputProps,\n ...searchProps?.componentProps,\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 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":["DefaultField"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-input-autocomplete",
3
- "version": "14.0.4",
3
+ "version": "14.0.5-alfasans",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,13 +10,13 @@
10
10
  "main": "index.js",
11
11
  "module": "./esm/index.js",
12
12
  "dependencies": {
13
- "@alfalab/core-components-form-control": "^14.0.1",
14
- "@alfalab/core-components-input": "^17.0.1",
15
- "@alfalab/core-components-mq": "^6.0.1",
16
- "@alfalab/core-components-popover": "^8.0.1",
17
- "@alfalab/core-components-select": "^19.0.4",
18
- "@alfalab/core-components-shared": "^2.0.1",
19
- "@alfalab/core-components-status-badge": "^3.0.1",
13
+ "@alfalab/core-components-form-control": "14.0.2-alfasans",
14
+ "@alfalab/core-components-input": "17.1.0-alfasans",
15
+ "@alfalab/core-components-mq": "6.0.2-alfasans",
16
+ "@alfalab/core-components-popover": "8.0.2-alfasans",
17
+ "@alfalab/core-components-select": "19.0.5-alfasans",
18
+ "@alfalab/core-components-shared": "2.1.0-alfasans",
19
+ "@alfalab/core-components-status-badge": "3.0.1-alfasans",
20
20
  "@alfalab/hooks": "^1.13.1",
21
21
  "@maskito/core": "^1.7.0",
22
22
  "classnames": "^2.5.1",
@@ -32,6 +32,6 @@
32
32
  "access": "public",
33
33
  "directory": "dist"
34
34
  },
35
- "themesVersion": "15.0.1",
36
- "varsVersion": "11.0.1"
35
+ "themesVersion": "15.0.1-alfasans",
36
+ "varsVersion": "11.0.1-alfasans"
37
37
  }
@@ -145,6 +145,7 @@ export const InputAutocompleteMobile = React.forwardRef(
145
145
  ...componentProps,
146
146
  virtualKeyboard,
147
147
  showSwipeMarker: false,
148
+ actionButton: null,
148
149
  },
149
150
  }
150
151
  : {