@alfalab/core-components-input-autocomplete 13.0.1 → 13.0.2
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/Component.responsive.d.ts +1 -1
- package/Component.responsive.js.map +1 -1
- package/autocomplete-field/Component.d.ts +2 -2
- package/autocomplete-field/Component.js +9 -1
- package/autocomplete-field/Component.js.map +1 -1
- package/autocomplete-field/index.css +1 -1
- package/autocomplete-field/index.module.css.js +1 -1
- package/autocomplete-mobile-field/Component.d.ts +3 -3
- package/autocomplete-mobile-field/Component.js +16 -6
- package/autocomplete-mobile-field/Component.js.map +1 -1
- package/autocomplete-mobile-field/index.css +10 -10
- package/autocomplete-mobile-field/index.module.css.js +1 -1
- package/autocomplete-mobile-field/index.module.css.js.map +1 -1
- package/cssm/Component.responsive.d.ts +1 -1
- package/cssm/Component.responsive.js.map +1 -1
- package/cssm/autocomplete-field/Component.d.ts +2 -2
- package/cssm/autocomplete-field/Component.js +9 -1
- package/cssm/autocomplete-field/Component.js.map +1 -1
- package/cssm/autocomplete-mobile-field/Component.d.ts +3 -3
- package/cssm/autocomplete-mobile-field/Component.js +16 -6
- package/cssm/autocomplete-mobile-field/Component.js.map +1 -1
- package/cssm/desktop/Component.desktop.d.ts +1 -1
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/mobile/Component.modal.mobile.js.map +1 -1
- package/cssm/types.d.ts +3 -3
- package/desktop/Component.desktop.d.ts +1 -1
- package/desktop/Component.desktop.js.map +1 -1
- package/esm/Component.responsive.d.ts +1 -1
- package/esm/Component.responsive.js.map +1 -1
- package/esm/autocomplete-field/Component.d.ts +2 -2
- package/esm/autocomplete-field/Component.js +10 -2
- package/esm/autocomplete-field/Component.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/Component.d.ts +3 -3
- package/esm/autocomplete-mobile-field/Component.js +16 -6
- package/esm/autocomplete-mobile-field/Component.js.map +1 -1
- package/esm/autocomplete-mobile-field/index.css +10 -10
- package/esm/autocomplete-mobile-field/index.module.css.js +1 -1
- package/esm/autocomplete-mobile-field/index.module.css.js.map +1 -1
- package/esm/desktop/Component.desktop.d.ts +1 -1
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/mobile/Component.modal.mobile.js.map +1 -1
- package/esm/mobile/mobile.css +1 -1
- package/esm/mobile/mobile.module.css.js +1 -1
- package/esm/mobile/mobile.module.css.js.map +1 -1
- package/esm/types.d.ts +3 -3
- package/mobile/Component.mobile.js.map +1 -1
- package/mobile/Component.modal.mobile.js.map +1 -1
- package/mobile/mobile.css +1 -1
- package/mobile/mobile.module.css.js +1 -1
- package/mobile/mobile.module.css.js.map +1 -1
- package/modern/Component.responsive.d.ts +1 -1
- package/modern/Component.responsive.js.map +1 -1
- package/modern/autocomplete-field/Component.d.ts +2 -2
- package/modern/autocomplete-field/Component.js +10 -2
- package/modern/autocomplete-field/Component.js.map +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/Component.d.ts +3 -3
- package/modern/autocomplete-mobile-field/Component.js +16 -6
- package/modern/autocomplete-mobile-field/Component.js.map +1 -1
- package/modern/autocomplete-mobile-field/index.css +10 -10
- package/modern/autocomplete-mobile-field/index.module.css.js +1 -1
- package/modern/autocomplete-mobile-field/index.module.css.js.map +1 -1
- package/modern/desktop/Component.desktop.d.ts +1 -1
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/mobile/Component.modal.mobile.js.map +1 -1
- package/modern/mobile/mobile.css +1 -1
- package/modern/mobile/mobile.module.css.js +1 -1
- package/modern/mobile/mobile.module.css.js.map +1 -1
- package/modern/types.d.ts +3 -3
- package/moderncssm/Component.responsive.d.ts +1 -1
- package/moderncssm/Component.responsive.js.map +1 -1
- package/moderncssm/autocomplete-field/Component.d.ts +2 -2
- package/moderncssm/autocomplete-field/Component.js +10 -2
- package/moderncssm/autocomplete-field/Component.js.map +1 -1
- package/moderncssm/autocomplete-mobile-field/Component.d.ts +3 -3
- package/moderncssm/autocomplete-mobile-field/Component.js +16 -6
- package/moderncssm/autocomplete-mobile-field/Component.js.map +1 -1
- package/moderncssm/autocomplete-mobile-field/index.module.css +10 -0
- package/moderncssm/desktop/Component.desktop.d.ts +1 -1
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/mobile/Component.modal.mobile.js.map +1 -1
- package/moderncssm/mobile/mobile.module.css +2 -0
- package/moderncssm/types.d.ts +3 -3
- package/package.json +4 -4
- package/src/Component.responsive.tsx +1 -1
- package/src/autocomplete-field/Component.tsx +13 -6
- package/src/autocomplete-mobile-field/Component.tsx +17 -8
- package/src/autocomplete-mobile-field/index.module.css +1 -1
- package/src/desktop/Component.desktop.tsx +2 -2
- package/src/mobile/Component.mobile.tsx +6 -6
- package/src/mobile/Component.modal.mobile.tsx +1 -1
- package/src/mobile/mobile.module.css +1 -1
- package/src/types.ts +5 -5
- package/types.d.ts +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-input-autocomplete",
|
|
3
|
-
"version": "13.0.
|
|
3
|
+
"version": "13.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"module": "./esm/index.js",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@alfalab/core-components-form-control": "^13.0.1",
|
|
14
|
-
"@alfalab/core-components-input": "^16.0.
|
|
14
|
+
"@alfalab/core-components-input": "^16.0.2",
|
|
15
15
|
"@alfalab/core-components-mq": "^5.0.1",
|
|
16
16
|
"@alfalab/core-components-popover": "^7.1.0",
|
|
17
|
-
"@alfalab/core-components-select": "^18.0
|
|
17
|
+
"@alfalab/core-components-select": "^18.1.0",
|
|
18
18
|
"@alfalab/core-components-shared": "^1.1.0",
|
|
19
19
|
"@alfalab/core-components-status-badge": "^2.0.1",
|
|
20
20
|
"@alfalab/hooks": "^1.13.1",
|
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
"access": "public",
|
|
33
33
|
"directory": "dist"
|
|
34
34
|
},
|
|
35
|
-
"themesVersion": "14.1.
|
|
35
|
+
"themesVersion": "14.1.2",
|
|
36
36
|
"varsVersion": "10.1.0"
|
|
37
37
|
}
|
|
@@ -4,7 +4,7 @@ import { useIsDesktop } from '@alfalab/core-components-mq';
|
|
|
4
4
|
|
|
5
5
|
import { InputAutocompleteDesktop } from './desktop';
|
|
6
6
|
import { InputAutocompleteMobile } from './mobile';
|
|
7
|
-
import { InputAutocompleteProps } from './types';
|
|
7
|
+
import { type InputAutocompleteProps } from './types';
|
|
8
8
|
|
|
9
9
|
export const InputAutocomplete = forwardRef<
|
|
10
10
|
HTMLInputElement | HTMLDivElement,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import React, { useCallback, useRef } from 'react';
|
|
1
|
+
import React, { Fragment, useCallback, useRef } from 'react';
|
|
2
2
|
import mergeRefs from 'react-merge-refs';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
|
|
5
|
-
import { InputProps } from '@alfalab/core-components-input';
|
|
5
|
+
import { type InputProps } from '@alfalab/core-components-input';
|
|
6
6
|
import { InputDesktop as DefaultInput } from '@alfalab/core-components-input/desktop';
|
|
7
|
-
import type
|
|
7
|
+
import { type FieldProps } from '@alfalab/core-components-select/shared';
|
|
8
8
|
|
|
9
9
|
import { OnInputReason } from '../enums';
|
|
10
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
10
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
11
11
|
|
|
12
12
|
import styles from './index.module.css';
|
|
13
13
|
|
|
@@ -79,7 +79,14 @@ export const AutocompleteField = ({
|
|
|
79
79
|
value={value}
|
|
80
80
|
rightAddons={
|
|
81
81
|
(Arrow || inputProps.rightAddons) && (
|
|
82
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
84
|
+
* [4] - Clear
|
|
85
|
+
* [3] - Status (error, success)
|
|
86
|
+
* [2] - Common (info, e.g.)
|
|
87
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
88
|
+
*/
|
|
89
|
+
<Fragment>
|
|
83
90
|
{inputProps.rightAddons}
|
|
84
91
|
{Arrow && (
|
|
85
92
|
<span
|
|
@@ -90,7 +97,7 @@ export const AutocompleteField = ({
|
|
|
90
97
|
{Arrow}
|
|
91
98
|
</span>
|
|
92
99
|
)}
|
|
93
|
-
</
|
|
100
|
+
</Fragment>
|
|
94
101
|
)
|
|
95
102
|
}
|
|
96
103
|
/>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import React, { ElementType, Fragment, useRef, useState } from 'react';
|
|
1
|
+
import React, { type ElementType, Fragment, useRef, useState } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
FormControlMobile,
|
|
6
|
-
FormControlMobileProps,
|
|
6
|
+
type FormControlMobileProps,
|
|
7
7
|
} from '@alfalab/core-components-form-control/mobile';
|
|
8
8
|
import { ClearButton } from '@alfalab/core-components-input/shared';
|
|
9
|
-
import type
|
|
9
|
+
import { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/shared';
|
|
10
10
|
import { getDataTestId } from '@alfalab/core-components-shared';
|
|
11
11
|
import { StatusBadge } from '@alfalab/core-components-status-badge';
|
|
12
12
|
import { useFocus } from '@alfalab/hooks';
|
|
@@ -63,34 +63,43 @@ export const AutocompleteMobileField = ({
|
|
|
63
63
|
const filled = Boolean(value);
|
|
64
64
|
const showPlaceholder = placeholder && !filled && labelView === 'outer';
|
|
65
65
|
const clearButtonVisible = clear && filled && !disabled && !readOnly;
|
|
66
|
+
const shouldShowSuccessIcon = success && !error;
|
|
67
|
+
const statusBadgeSize = size === 40 ? 16 : 20;
|
|
66
68
|
|
|
67
69
|
const { tabIndex, ...restInnerProps } = innerProps;
|
|
68
70
|
|
|
69
71
|
const formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (
|
|
72
|
+
/**
|
|
73
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
74
|
+
* [4] - Clear
|
|
75
|
+
* [3] - Status (error, success)
|
|
76
|
+
* [2] - Common (info, e.g.)
|
|
77
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
78
|
+
*/
|
|
70
79
|
<Fragment>
|
|
71
80
|
{clearButtonVisible && (
|
|
72
81
|
<ClearButton onClick={onClear} disabled={disabled} colors={colors} />
|
|
73
82
|
)}
|
|
74
|
-
{rightAddons}
|
|
75
|
-
{Arrow}
|
|
76
83
|
{error && (
|
|
77
84
|
<div className={styles.errorIcon} data-addon='error-icon'>
|
|
78
85
|
<StatusBadge
|
|
79
86
|
view='negative-alert'
|
|
80
|
-
size={
|
|
87
|
+
size={statusBadgeSize}
|
|
81
88
|
dataTestId={getDataTestId(dataTestId, 'error-icon')}
|
|
82
89
|
/>
|
|
83
90
|
</div>
|
|
84
91
|
)}
|
|
85
|
-
{
|
|
92
|
+
{shouldShowSuccessIcon && (
|
|
86
93
|
<div className={styles.successIcon}>
|
|
87
94
|
<StatusBadge
|
|
88
95
|
view='positive-checkmark'
|
|
89
|
-
size={
|
|
96
|
+
size={statusBadgeSize}
|
|
90
97
|
dataTestId={getDataTestId(dataTestId, 'success-icon')}
|
|
91
98
|
/>
|
|
92
99
|
</div>
|
|
93
100
|
)}
|
|
101
|
+
{rightAddons}
|
|
102
|
+
{Arrow}
|
|
94
103
|
</Fragment>
|
|
95
104
|
);
|
|
96
105
|
|
|
@@ -2,7 +2,7 @@ import React, { forwardRef } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { Popover } from '@alfalab/core-components-popover';
|
|
4
4
|
import {
|
|
5
|
-
AnyObject,
|
|
5
|
+
type AnyObject,
|
|
6
6
|
BaseSelect,
|
|
7
7
|
Optgroup as DefaultOptgroup,
|
|
8
8
|
Option as DefaultOption,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from '@alfalab/core-components-select/shared';
|
|
11
11
|
|
|
12
12
|
import { AutocompleteField } from '../autocomplete-field';
|
|
13
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
13
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
14
14
|
|
|
15
15
|
export const InputAutocompleteDesktop = forwardRef<HTMLInputElement, InputAutocompleteCommonProps>(
|
|
16
16
|
(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { Ref, useMemo, useRef, useState } from 'react';
|
|
1
|
+
import React, { type Ref, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import mergeRefs from 'react-merge-refs';
|
|
3
3
|
import { maskitoTransform } from '@maskito/core';
|
|
4
4
|
import cn from 'classnames';
|
|
@@ -6,20 +6,20 @@ import throttle from 'lodash/throttle';
|
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
SelectMobile,
|
|
9
|
-
SelectMobileProps,
|
|
9
|
+
type SelectMobileProps,
|
|
10
10
|
SelectModalMobile,
|
|
11
11
|
} from '@alfalab/core-components-select/mobile';
|
|
12
12
|
import {
|
|
13
|
-
AnyObject,
|
|
14
|
-
BottomSheetSelectMobileProps,
|
|
13
|
+
type AnyObject,
|
|
14
|
+
type BottomSheetSelectMobileProps,
|
|
15
15
|
Footer,
|
|
16
|
-
ModalSelectMobileProps,
|
|
16
|
+
type ModalSelectMobileProps,
|
|
17
17
|
} from '@alfalab/core-components-select/shared';
|
|
18
18
|
import { isMaskitoMask, isNonNullable } from '@alfalab/core-components-shared';
|
|
19
19
|
|
|
20
20
|
import { AutocompleteMobileField } from '../autocomplete-mobile-field';
|
|
21
21
|
import { OnInputReason } from '../enums';
|
|
22
|
-
import { InputAutocompleteMobileProps } from '../types';
|
|
22
|
+
import { type InputAutocompleteMobileProps } from '../types';
|
|
23
23
|
import { searchFilterStub } from '../utils';
|
|
24
24
|
|
|
25
25
|
import styles from './mobile.module.css';
|
package/src/types.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentType, type RefAttributes } from 'react';
|
|
2
2
|
|
|
3
|
-
import type
|
|
4
|
-
import
|
|
5
|
-
BaseSelectProps,
|
|
6
|
-
BottomSheetSelectMobileProps,
|
|
3
|
+
import { type InputProps } from '@alfalab/core-components-input';
|
|
4
|
+
import {
|
|
5
|
+
type BaseSelectProps,
|
|
6
|
+
type BottomSheetSelectMobileProps,
|
|
7
7
|
} from '@alfalab/core-components-select/shared';
|
|
8
8
|
|
|
9
9
|
type OnInputTypeReason = 'close' | 'change';
|
package/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
1
|
+
import { type ComponentType, type RefAttributes } from 'react';
|
|
2
|
+
import { type InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
import { type BaseSelectProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/shared';
|
|
4
4
|
declare type OnInputTypeReason = 'close' | 'change';
|
|
5
5
|
export interface InputAutocompleteCommonProps extends Omit<BaseSelectProps, 'autocomplete' | 'Field' | 'nativeSelect' | 'searchProps' | 'showSearch' | 'Search' | 'valueRenderer'> {
|
|
6
6
|
/**
|