@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
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputAutocompleteProps } from './types';
|
|
2
|
+
import { type InputAutocompleteProps } from './types';
|
|
3
3
|
export declare const InputAutocomplete: React.ForwardRefExoticComponent<InputAutocompleteProps & React.RefAttributes<HTMLInputElement | HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":["forwardRef","__rest","useIsDesktop","React","InputAutocompleteDesktop","__assign","InputAutocompleteMobile"],"mappings":";;;;;;;;;;;;;;;IAQa,iBAAiB,GAAGA,gBAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAAC,YAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAGC,6BAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,0CAAwB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpFF,sBAAC,CAAA,aAAA,CAAAG,wCAAuB,qBAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { type InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":["forwardRef","__rest","useIsDesktop","React","InputAutocompleteDesktop","__assign","InputAutocompleteMobile"],"mappings":";;;;;;;;;;;;;;;IAQa,iBAAiB,GAAGA,gBAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAAC,YAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAGC,6BAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,0CAAwB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpFF,sBAAC,CAAA,aAAA,CAAAG,wCAAuB,qBAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
2
|
+
import { type FieldProps } from '@alfalab/core-components-select/shared';
|
|
3
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
4
4
|
export declare type AutocompleteFieldProps = FieldProps & Pick<InputAutocompleteCommonProps, 'Input' | 'inputProps' | 'value' | 'onInput' | 'readOnly'>;
|
|
5
5
|
export declare const AutocompleteField: ({ label, labelView, placeholder, size, Arrow, Input, value, error, success, hint, disabled, readOnly, onInput, inputProps, innerProps, dataTestId, }: AutocompleteFieldProps) => React.JSX.Element;
|
|
@@ -35,7 +35,15 @@ var AutocompleteField = function (_a) {
|
|
|
35
35
|
return (React__default.default.createElement(Input, tslib.__assign({ dataTestId: dataTestId }, inputProps, innerProps, { wrapperRef: mergeRefs__default.default([
|
|
36
36
|
innerProps.ref,
|
|
37
37
|
inputProps.wrapperRef,
|
|
38
|
-
]), ref: mergeRefs__default.default([inputRef, inputProps.ref]), disabled: disabled, readOnly: readOnly, block: true, label: label, labelView: labelView, placeholder: placeholder, size: size, error: error, success: success, hint: hint, onChange: handleInput, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : onFocus, autoComplete: 'off', value: value, rightAddons: (Arrow || inputProps.rightAddons) && (
|
|
38
|
+
]), ref: mergeRefs__default.default([inputRef, inputProps.ref]), disabled: disabled, readOnly: readOnly, block: true, label: label, labelView: labelView, placeholder: placeholder, size: size, error: error, success: success, hint: hint, onChange: handleInput, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : onFocus, autoComplete: 'off', value: value, rightAddons: (Arrow || inputProps.rightAddons) && (
|
|
39
|
+
/**
|
|
40
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
41
|
+
* [4] - Clear
|
|
42
|
+
* [3] - Status (error, success)
|
|
43
|
+
* [2] - Common (info, e.g.)
|
|
44
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
45
|
+
*/
|
|
46
|
+
React__default.default.createElement(React.Fragment, null,
|
|
39
47
|
inputProps.rightAddons,
|
|
40
48
|
Arrow && (React__default.default.createElement("span", { className: cn__default.default(index_module.arrow, (_b = {},
|
|
41
49
|
_b[index_module.error] = error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../src/autocomplete-field/Component.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop as DefaultInput } from '@alfalab/core-components-input/desktop';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../src/autocomplete-field/Component.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop as DefaultInput } from '@alfalab/core-components-input/desktop';\nimport { type FieldProps } from '@alfalab/core-components-select/shared';\n\nimport { OnInputReason } from '../enums';\nimport { type InputAutocompleteCommonProps } from '../types';\n\nimport styles from './index.module.css';\n\nexport type AutocompleteFieldProps = FieldProps &\n Pick<InputAutocompleteCommonProps, 'Input' | 'inputProps' | 'value' | 'onInput' | 'readOnly'>;\n\nexport const AutocompleteField = ({\n label,\n labelView = 'inner',\n placeholder,\n size,\n Arrow,\n Input = DefaultInput,\n value,\n error,\n success,\n hint,\n disabled,\n readOnly,\n onInput,\n inputProps = {},\n innerProps,\n dataTestId,\n}: AutocompleteFieldProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const { onClick, onFocus } = innerProps;\n\n const inputDisabled = disabled || readOnly;\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event);\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n },\n [onClick],\n );\n\n const handleInput: InputProps['onChange'] = (_, payload) =>\n onInput?.(payload.value, OnInputReason.Change);\n\n return (\n <Input\n dataTestId={dataTestId}\n {...inputProps}\n {...innerProps}\n wrapperRef={mergeRefs([\n innerProps.ref as React.Ref<HTMLElement>,\n inputProps.wrapperRef as React.Ref<HTMLElement>,\n ])}\n ref={mergeRefs([inputRef, inputProps.ref as React.Ref<HTMLElement>])}\n disabled={disabled}\n readOnly={readOnly}\n block={true}\n label={label}\n labelView={labelView}\n placeholder={placeholder}\n size={size}\n error={error}\n success={success}\n hint={hint}\n onChange={handleInput}\n onClick={inputDisabled ? undefined : handleClick}\n onFocus={inputDisabled ? undefined : onFocus}\n autoComplete='off'\n value={value}\n rightAddons={\n (Arrow || inputProps.rightAddons) && (\n /**\n * Right addon priority [4] <= [3] <= [2] <= [1]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n */\n <Fragment>\n {inputProps.rightAddons}\n {Arrow && (\n <span\n className={cn(styles.arrow, {\n [styles.error]: error,\n })}\n >\n {Arrow}\n </span>\n )}\n </Fragment>\n )\n }\n />\n );\n};\n"],"names":["DefaultInput","useRef","useCallback","OnInputReason","React","__assign","mergeRefs","Fragment","cn","styles"],"mappings":";;;;;;;;;;;;;;;;;;AAgBO,IAAM,iBAAiB,GAAG,UAAC,EAiBT,EAAA;;QAhBrB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAA,GAAA,EAAA,CAAA,SAAmB,EAAnB,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,GAAA,EAAA,EACnB,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,IAAI,UAAA,EACJ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAoB,GAAA,EAAA,CAAA,KAAA,EAApB,KAAK,GAAA,EAAA,KAAA,MAAA,GAAGA,oBAAY,GAAA,EAAA,EACpB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,EAAE,GAAA,EAAA,EACf,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA;AAEV,IAAA,IAAM,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC;IAEvC,IAAA,OAAO,GAAc,UAAU,CAAA,OAAxB,EAAE,OAAO,GAAK,UAAU,CAAA,OAAf;AAExB,IAAA,IAAM,aAAa,GAAG,QAAQ,IAAI,QAAQ;AAE1C,IAAA,IAAM,WAAW,GAAGC,iBAAW,CAC3B,UAAC,KAAuC,EAAA;AACpC,QAAA,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC;QAE3B,IAAI,QAAQ,CAAC,OAAO,EAAE;AAClB,YAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;AAC3B;AACL,KAAC,EACD,CAAC,OAAO,CAAC,CACZ;AAED,IAAA,IAAM,WAAW,GAA2B,UAAC,CAAC,EAAE,OAAO,EAAA;AACnD,QAAA,OAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,OAAO,CAAC,KAAK,EAAEC,mBAAa,CAAC,MAAM,CAAC;AAA9C,KAA8C;AAElD,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAC,KAAK,EAAAC,cAAA,CAAA,EACF,UAAU,EAAE,UAAU,EAClB,EAAA,UAAU,EACV,UAAU,EAAA,EACd,UAAU,EAAEC,0BAAS,CAAC;AAClB,YAAA,UAAU,CAAC,GAA6B;AACxC,YAAA,UAAU,CAAC,UAAoC;SAClD,CAAC,EACF,GAAG,EAAEA,0BAAS,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,GAA6B,CAAC,CAAC,EACpE,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW,EAChD,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,EAC5C,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EACP,CAAC,KAAK,IAAI,UAAU,CAAC,WAAW;AAC5B;;;;;;AAMG;AACH,QAAAF,sBAAA,CAAA,aAAA,CAACG,cAAQ,EAAA,IAAA;AACJ,YAAA,UAAU,CAAC,WAAW;YACtB,KAAK,KACFH,sBACI,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEI,mBAAE,CAACC,YAAM,CAAC,KAAK,GAAA,EAAA,GAAA,EAAA;AACtB,oBAAA,EAAA,CAACA,YAAM,CAAC,KAAK,CAAA,GAAG,KAAK;AACvB,oBAAA,EAAA,EAAA,EAAA,EAED,KAAK,CACH,CACV,CACM,CACd,EAAA,CAAA,CAEP;AAEV;;;;"}
|
|
@@ -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_58clr","error":"input-autocomplete__error_58clr"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { ElementType } from 'react';
|
|
2
|
-
import { FormControlMobileProps } from '@alfalab/core-components-form-control/mobile';
|
|
3
|
-
import type
|
|
1
|
+
import React, { type ElementType } from 'react';
|
|
2
|
+
import { type FormControlMobileProps } from '@alfalab/core-components-form-control/mobile';
|
|
3
|
+
import { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/shared';
|
|
4
4
|
declare type FieldProps = {
|
|
5
5
|
/**
|
|
6
6
|
* Компонент FormControl
|
|
@@ -26,15 +26,25 @@ var AutocompleteMobileField = function (_a) {
|
|
|
26
26
|
var filled = Boolean(value);
|
|
27
27
|
var showPlaceholder = placeholder && !filled && labelView === 'outer';
|
|
28
28
|
var clearButtonVisible = clear && filled && !disabled && !readOnly;
|
|
29
|
+
var shouldShowSuccessIcon = success && !error;
|
|
30
|
+
var statusBadgeSize = size === 40 ? 16 : 20;
|
|
29
31
|
var tabIndex = innerProps.tabIndex, restInnerProps = tslib.__rest(innerProps, ["tabIndex"]);
|
|
30
|
-
var formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (
|
|
32
|
+
var formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (
|
|
33
|
+
/**
|
|
34
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
35
|
+
* [4] - Clear
|
|
36
|
+
* [3] - Status (error, success)
|
|
37
|
+
* [2] - Common (info, e.g.)
|
|
38
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
39
|
+
*/
|
|
40
|
+
React__default.default.createElement(React.Fragment, null,
|
|
31
41
|
clearButtonVisible && (React__default.default.createElement(shared.ClearButton, { onClick: onClear, disabled: disabled, colors: colors })),
|
|
32
|
-
rightAddons,
|
|
33
|
-
Arrow,
|
|
34
42
|
error && (React__default.default.createElement("div", { className: index_module.errorIcon, "data-addon": 'error-icon' },
|
|
35
|
-
React__default.default.createElement(coreComponentsStatusBadge.StatusBadge, { view: 'negative-alert', size:
|
|
36
|
-
|
|
37
|
-
React__default.default.createElement(coreComponentsStatusBadge.StatusBadge, { view: 'positive-checkmark', size:
|
|
43
|
+
React__default.default.createElement(coreComponentsStatusBadge.StatusBadge, { view: 'negative-alert', size: statusBadgeSize, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'error-icon') }))),
|
|
44
|
+
shouldShowSuccessIcon && (React__default.default.createElement("div", { className: index_module.successIcon },
|
|
45
|
+
React__default.default.createElement(coreComponentsStatusBadge.StatusBadge, { view: 'positive-checkmark', size: statusBadgeSize, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'success-icon') }))),
|
|
46
|
+
rightAddons,
|
|
47
|
+
Arrow));
|
|
38
48
|
return (React__default.default.createElement("div", { className: index_module.component, ref: wrapperRef, onFocus: function () { return setFocused(true); }, onBlur: function () { return setFocused(false); } },
|
|
39
49
|
React__default.default.createElement(mobile.FormControlMobile, tslib.__assign({ fieldClassName: cn__default.default(index_module.field, fieldClassName, (_b = {},
|
|
40
50
|
_b[index_module.disabled] = disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../src/autocomplete-mobile-field/Component.tsx"],"sourcesContent":["import React, { ElementType, Fragment, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport {\n FormControlMobile,\n FormControlMobileProps,\n} from '@alfalab/core-components-form-control/mobile';\nimport { ClearButton } from '@alfalab/core-components-input/shared';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../src/autocomplete-mobile-field/Component.tsx"],"sourcesContent":["import React, { type ElementType, Fragment, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport {\n FormControlMobile,\n type FormControlMobileProps,\n} from '@alfalab/core-components-form-control/mobile';\nimport { ClearButton } from '@alfalab/core-components-input/shared';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/shared';\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { StatusBadge } from '@alfalab/core-components-status-badge';\nimport { useFocus } from '@alfalab/hooks';\n\nimport styles from './index.module.css';\n\ntype FieldProps = {\n /**\n * Компонент FormControl\n */\n FormControlComponent?: ElementType;\n};\n\nexport type AutocompleteMobileFieldProps = FormControlMobileProps &\n Omit<BaseFieldProps, 'selected' | 'multiple' | 'success'> & {\n /**\n * Значение поля ввода\n */\n value?: string;\n };\n\nexport const AutocompleteMobileField = ({\n size = 56,\n open,\n disabled,\n value,\n innerProps,\n dataTestId,\n fieldClassName,\n labelView = 'inner',\n placeholder,\n Arrow,\n valueRenderer,\n toggleMenu,\n setSelectedItems,\n selectedMultiple,\n FormControlComponent,\n rightAddons,\n error,\n readOnly,\n clear,\n success,\n onClear,\n onInput,\n colors = 'default',\n ...restProps\n}: AutocompleteMobileFieldProps & FieldProps) => {\n const [focused, setFocused] = useState(false);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const [focusVisible] = useFocus(wrapperRef, 'keyboard');\n\n const filled = Boolean(value);\n const showPlaceholder = placeholder && !filled && labelView === 'outer';\n const clearButtonVisible = clear && filled && !disabled && !readOnly;\n const shouldShowSuccessIcon = success && !error;\n const statusBadgeSize = size === 40 ? 16 : 20;\n\n const { tabIndex, ...restInnerProps } = innerProps;\n\n const formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (\n /**\n * Right addon priority [4] <= [3] <= [2] <= [1]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n */\n <Fragment>\n {clearButtonVisible && (\n <ClearButton onClick={onClear} disabled={disabled} colors={colors} />\n )}\n {error && (\n <div className={styles.errorIcon} data-addon='error-icon'>\n <StatusBadge\n view='negative-alert'\n size={statusBadgeSize}\n dataTestId={getDataTestId(dataTestId, 'error-icon')}\n />\n </div>\n )}\n {shouldShowSuccessIcon && (\n <div className={styles.successIcon}>\n <StatusBadge\n view='positive-checkmark'\n size={statusBadgeSize}\n dataTestId={getDataTestId(dataTestId, 'success-icon')}\n />\n </div>\n )}\n {rightAddons}\n {Arrow}\n </Fragment>\n );\n\n return (\n <div\n className={styles.component}\n ref={wrapperRef}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n >\n <FormControlMobile\n fieldClassName={cn(styles.field, fieldClassName, {\n [styles.disabled]: disabled,\n [styles.focusVisible]: focusVisible,\n })}\n block={true}\n size={size}\n focused={focused}\n disabled={disabled}\n filled={filled}\n labelView={labelView}\n dataTestId={getDataTestId(dataTestId, 'form-control')}\n // downshift устанавливает фокус на таргет поле после выбора опции, не даем ему это сделать пока открыт список, иначе поле поиска будет терять фокус\n tabIndex={open ? undefined : tabIndex}\n {...restProps}\n {...restInnerProps}\n readOnly={readOnly}\n colors={colors}\n error={error}\n rightAddons={formRightAddons}\n >\n <div className={styles.contentWrapper}>\n {showPlaceholder && <span className={styles.placeholder}>{placeholder}</span>}\n {filled && <div className={styles.value}>{value}</div>}\n </div>\n </FormControlMobile>\n </div>\n );\n};\n"],"names":["__rest","useState","useRef","useFocus","React","Fragment","ClearButton","styles","StatusBadge","getDataTestId","FormControlMobile","__assign","cn"],"mappings":"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"}
|
|
@@ -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_1y16i {
|
|
12
12
|
width: 100%;
|
|
13
13
|
outline: none;
|
|
14
|
-
} .input-
|
|
14
|
+
} .input-autocomplete__field_1y16i:not(.input-autocomplete__disabled_1y16i) {
|
|
15
15
|
cursor: pointer;
|
|
16
|
-
} .input-
|
|
16
|
+
} .input-autocomplete__errorIcon_1y16i {
|
|
17
17
|
display: var(--input-error-icon-display);
|
|
18
|
-
} * + .input-
|
|
18
|
+
} * + .input-autocomplete__errorIcon_1y16i {
|
|
19
19
|
display: var(--input-error-icon-not-alone-display);
|
|
20
|
-
} .input-
|
|
20
|
+
} .input-autocomplete__successIcon_1y16i {
|
|
21
21
|
display: var(--input-success-icon-display);
|
|
22
|
-
} .input-
|
|
22
|
+
} .input-autocomplete__disabled_1y16i {
|
|
23
23
|
cursor: var(--disabled-cursor);
|
|
24
|
-
} .input-
|
|
24
|
+
} .input-autocomplete__placeholder_1y16i {
|
|
25
25
|
color: var(--color-light-text-secondary);
|
|
26
|
-
} .input-
|
|
26
|
+
} .input-autocomplete__contentWrapper_1y16i {
|
|
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_1y16i {
|
|
36
36
|
overflow: hidden;
|
|
37
37
|
text-overflow: ellipsis;
|
|
38
38
|
text-align: left;
|
|
39
|
-
} .input-
|
|
39
|
+
} .input-autocomplete__focusVisible_1y16i {
|
|
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_1y16i","field":"input-autocomplete__field_1y16i","disabled":"input-autocomplete__disabled_1y16i","errorIcon":"input-autocomplete__errorIcon_1y16i","successIcon":"input-autocomplete__successIcon_1y16i","placeholder":"input-autocomplete__placeholder_1y16i","contentWrapper":"input-autocomplete__contentWrapper_1y16i","value":"input-autocomplete__value_1y16i","focusVisible":"input-autocomplete__focusVisible_1y16i"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.css.js","sources":["../src/autocomplete-mobile-field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../vars.css';\n\n.component {\n width: 100%;\n outline: none;\n}\n\n.field:not(.disabled) {\n cursor: pointer;\n}\n\n.errorIcon {\n display: var(--input-error-icon-display);\n}\n\n* + .errorIcon {\n display: var(--input-error-icon-not-alone-display);\n}\n\n.successIcon {\n display: var(--input-success-icon-display);\n}\n\n.disabled {\n cursor: var(--disabled-cursor);\n}\n\n.placeholder {\n color: var(--color-light-text-secondary);\n}\n\n.contentWrapper {\n @mixin paragraph_component;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n}\n\n.value {\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: left;\n}\n\n.focusVisible {\n @mixin focus-outline;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,qCAAqC,CAAC,OAAO,CAAC,iCAAiC,CAAC,UAAU,CAAC,oCAAoC,CAAC,WAAW,CAAC,qCAAqC,CAAC,aAAa,CAAC,uCAAuC,CAAC,aAAa,CAAC,uCAAuC,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,OAAO,CAAC,iCAAiC,CAAC,cAAc,CAAC,wCAAwC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../src/autocomplete-mobile-field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../vars.css';\n\n.component {\n width: 100%;\n outline: none;\n}\n\n.field:not(.disabled) {\n cursor: pointer;\n}\n\n.errorIcon {\n display: var(--input-error-icon-display);\n}\n\n* + .errorIcon {\n display: var(--input-error-icon-not-alone-display);\n}\n\n.successIcon {\n display: var(--input-success-icon-display);\n}\n\n.disabled {\n cursor: var(--disabled-cursor);\n}\n\n.placeholder {\n color: var(--color-light-text-secondary);\n}\n\n.contentWrapper {\n @mixin paragraph_component;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n}\n\n.value {\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: left;\n}\n\n.focusVisible {\n @mixin focus-outline;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,qCAAqC,CAAC,OAAO,CAAC,iCAAiC,CAAC,UAAU,CAAC,oCAAoC,CAAC,WAAW,CAAC,qCAAqC,CAAC,aAAa,CAAC,uCAAuC,CAAC,aAAa,CAAC,uCAAuC,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,OAAO,CAAC,iCAAiC,CAAC,cAAc,CAAC,wCAAwC,CAAC;;;;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputAutocompleteProps } from './types';
|
|
2
|
+
import { type InputAutocompleteProps } from './types';
|
|
3
3
|
export declare const InputAutocomplete: React.ForwardRefExoticComponent<InputAutocompleteProps & React.RefAttributes<HTMLInputElement | HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":["forwardRef","__rest","useIsDesktop","React","InputAutocompleteDesktop","__assign","InputAutocompleteMobile"],"mappings":";;;;;;;;;;;;;;;IAQa,iBAAiB,GAAGA,gBAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAAC,YAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,0CAAwB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpFF,sBAAC,CAAA,aAAA,CAAAG,wCAAuB,qBAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { type InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":["forwardRef","__rest","useIsDesktop","React","InputAutocompleteDesktop","__assign","InputAutocompleteMobile"],"mappings":";;;;;;;;;;;;;;;IAQa,iBAAiB,GAAGA,gBAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAAC,YAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,0CAAwB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpFF,sBAAC,CAAA,aAAA,CAAAG,wCAAuB,qBAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
2
|
+
import { type FieldProps } from '@alfalab/core-components-select/cssm/shared';
|
|
3
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
4
4
|
export declare type AutocompleteFieldProps = FieldProps & Pick<InputAutocompleteCommonProps, 'Input' | 'inputProps' | 'value' | 'onInput' | 'readOnly'>;
|
|
5
5
|
export declare const AutocompleteField: ({ label, labelView, placeholder, size, Arrow, Input, value, error, success, hint, disabled, readOnly, onInput, inputProps, innerProps, dataTestId, }: AutocompleteFieldProps) => React.JSX.Element;
|
|
@@ -36,7 +36,15 @@ var AutocompleteField = function (_a) {
|
|
|
36
36
|
return (React__default.default.createElement(Input, tslib.__assign({ dataTestId: dataTestId }, inputProps, innerProps, { wrapperRef: mergeRefs__default.default([
|
|
37
37
|
innerProps.ref,
|
|
38
38
|
inputProps.wrapperRef,
|
|
39
|
-
]), ref: mergeRefs__default.default([inputRef, inputProps.ref]), disabled: disabled, readOnly: readOnly, block: true, label: label, labelView: labelView, placeholder: placeholder, size: size, error: error, success: success, hint: hint, onChange: handleInput, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : onFocus, autoComplete: 'off', value: value, rightAddons: (Arrow || inputProps.rightAddons) && (
|
|
39
|
+
]), ref: mergeRefs__default.default([inputRef, inputProps.ref]), disabled: disabled, readOnly: readOnly, block: true, label: label, labelView: labelView, placeholder: placeholder, size: size, error: error, success: success, hint: hint, onChange: handleInput, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : onFocus, autoComplete: 'off', value: value, rightAddons: (Arrow || inputProps.rightAddons) && (
|
|
40
|
+
/**
|
|
41
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
42
|
+
* [4] - Clear
|
|
43
|
+
* [3] - Status (error, success)
|
|
44
|
+
* [2] - Common (info, e.g.)
|
|
45
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
46
|
+
*/
|
|
47
|
+
React__default.default.createElement(React.Fragment, null,
|
|
40
48
|
inputProps.rightAddons,
|
|
41
49
|
Arrow && (React__default.default.createElement("span", { className: cn__default.default(styles__default.default.arrow, (_b = {},
|
|
42
50
|
_b[styles__default.default.error] = error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/autocomplete-field/Component.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop as DefaultInput } from '@alfalab/core-components-input/desktop';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/autocomplete-field/Component.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop as DefaultInput } from '@alfalab/core-components-input/desktop';\nimport { type FieldProps } from '@alfalab/core-components-select/shared';\n\nimport { OnInputReason } from '../enums';\nimport { type InputAutocompleteCommonProps } from '../types';\n\nimport styles from './index.module.css';\n\nexport type AutocompleteFieldProps = FieldProps &\n Pick<InputAutocompleteCommonProps, 'Input' | 'inputProps' | 'value' | 'onInput' | 'readOnly'>;\n\nexport const AutocompleteField = ({\n label,\n labelView = 'inner',\n placeholder,\n size,\n Arrow,\n Input = DefaultInput,\n value,\n error,\n success,\n hint,\n disabled,\n readOnly,\n onInput,\n inputProps = {},\n innerProps,\n dataTestId,\n}: AutocompleteFieldProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const { onClick, onFocus } = innerProps;\n\n const inputDisabled = disabled || readOnly;\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event);\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n },\n [onClick],\n );\n\n const handleInput: InputProps['onChange'] = (_, payload) =>\n onInput?.(payload.value, OnInputReason.Change);\n\n return (\n <Input\n dataTestId={dataTestId}\n {...inputProps}\n {...innerProps}\n wrapperRef={mergeRefs([\n innerProps.ref as React.Ref<HTMLElement>,\n inputProps.wrapperRef as React.Ref<HTMLElement>,\n ])}\n ref={mergeRefs([inputRef, inputProps.ref as React.Ref<HTMLElement>])}\n disabled={disabled}\n readOnly={readOnly}\n block={true}\n label={label}\n labelView={labelView}\n placeholder={placeholder}\n size={size}\n error={error}\n success={success}\n hint={hint}\n onChange={handleInput}\n onClick={inputDisabled ? undefined : handleClick}\n onFocus={inputDisabled ? undefined : onFocus}\n autoComplete='off'\n value={value}\n rightAddons={\n (Arrow || inputProps.rightAddons) && (\n /**\n * Right addon priority [4] <= [3] <= [2] <= [1]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n */\n <Fragment>\n {inputProps.rightAddons}\n {Arrow && (\n <span\n className={cn(styles.arrow, {\n [styles.error]: error,\n })}\n >\n {Arrow}\n </span>\n )}\n </Fragment>\n )\n }\n />\n );\n};\n"],"names":["DefaultInput","useRef","useCallback","OnInputReason","React","__assign","mergeRefs","Fragment","cn","styles"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { ElementType } from 'react';
|
|
2
|
-
import { FormControlMobileProps } from '@alfalab/core-components-form-control/cssm/mobile';
|
|
3
|
-
import type
|
|
1
|
+
import React, { type ElementType } from 'react';
|
|
2
|
+
import { type FormControlMobileProps } from '@alfalab/core-components-form-control/cssm/mobile';
|
|
3
|
+
import { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/cssm/shared';
|
|
4
4
|
declare type FieldProps = {
|
|
5
5
|
/**
|
|
6
6
|
* Компонент FormControl
|
|
@@ -27,15 +27,25 @@ var AutocompleteMobileField = function (_a) {
|
|
|
27
27
|
var filled = Boolean(value);
|
|
28
28
|
var showPlaceholder = placeholder && !filled && labelView === 'outer';
|
|
29
29
|
var clearButtonVisible = clear && filled && !disabled && !readOnly;
|
|
30
|
+
var shouldShowSuccessIcon = success && !error;
|
|
31
|
+
var statusBadgeSize = size === 40 ? 16 : 20;
|
|
30
32
|
var tabIndex = innerProps.tabIndex, restInnerProps = tslib.__rest(innerProps, ["tabIndex"]);
|
|
31
|
-
var formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (
|
|
33
|
+
var formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (
|
|
34
|
+
/**
|
|
35
|
+
* Right addon priority [4] <= [3] <= [2] <= [1]
|
|
36
|
+
* [4] - Clear
|
|
37
|
+
* [3] - Status (error, success)
|
|
38
|
+
* [2] - Common (info, e.g.)
|
|
39
|
+
* [1] - Indicators (eye, calendar, chevron, stepper e.g.)
|
|
40
|
+
*/
|
|
41
|
+
React__default.default.createElement(React.Fragment, null,
|
|
32
42
|
clearButtonVisible && (React__default.default.createElement(shared.ClearButton, { onClick: onClear, disabled: disabled, colors: colors })),
|
|
33
|
-
rightAddons,
|
|
34
|
-
Arrow,
|
|
35
43
|
error && (React__default.default.createElement("div", { className: styles__default.default.errorIcon, "data-addon": 'error-icon' },
|
|
36
|
-
React__default.default.createElement(cssm.StatusBadge, { view: 'negative-alert', size:
|
|
37
|
-
|
|
38
|
-
React__default.default.createElement(cssm.StatusBadge, { view: 'positive-checkmark', size:
|
|
44
|
+
React__default.default.createElement(cssm.StatusBadge, { view: 'negative-alert', size: statusBadgeSize, dataTestId: cssm$1.getDataTestId(dataTestId, 'error-icon') }))),
|
|
45
|
+
shouldShowSuccessIcon && (React__default.default.createElement("div", { className: styles__default.default.successIcon },
|
|
46
|
+
React__default.default.createElement(cssm.StatusBadge, { view: 'positive-checkmark', size: statusBadgeSize, dataTestId: cssm$1.getDataTestId(dataTestId, 'success-icon') }))),
|
|
47
|
+
rightAddons,
|
|
48
|
+
Arrow));
|
|
39
49
|
return (React__default.default.createElement("div", { className: styles__default.default.component, ref: wrapperRef, onFocus: function () { return setFocused(true); }, onBlur: function () { return setFocused(false); } },
|
|
40
50
|
React__default.default.createElement(mobile.FormControlMobile, tslib.__assign({ fieldClassName: cn__default.default(styles__default.default.field, fieldClassName, (_b = {},
|
|
41
51
|
_b[styles__default.default.disabled] = disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/autocomplete-mobile-field/Component.tsx"],"sourcesContent":["import React, { ElementType, Fragment, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport {\n FormControlMobile,\n FormControlMobileProps,\n} from '@alfalab/core-components-form-control/mobile';\nimport { ClearButton } from '@alfalab/core-components-input/shared';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/autocomplete-mobile-field/Component.tsx"],"sourcesContent":["import React, { type ElementType, Fragment, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport {\n FormControlMobile,\n type FormControlMobileProps,\n} from '@alfalab/core-components-form-control/mobile';\nimport { ClearButton } from '@alfalab/core-components-input/shared';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/shared';\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { StatusBadge } from '@alfalab/core-components-status-badge';\nimport { useFocus } from '@alfalab/hooks';\n\nimport styles from './index.module.css';\n\ntype FieldProps = {\n /**\n * Компонент FormControl\n */\n FormControlComponent?: ElementType;\n};\n\nexport type AutocompleteMobileFieldProps = FormControlMobileProps &\n Omit<BaseFieldProps, 'selected' | 'multiple' | 'success'> & {\n /**\n * Значение поля ввода\n */\n value?: string;\n };\n\nexport const AutocompleteMobileField = ({\n size = 56,\n open,\n disabled,\n value,\n innerProps,\n dataTestId,\n fieldClassName,\n labelView = 'inner',\n placeholder,\n Arrow,\n valueRenderer,\n toggleMenu,\n setSelectedItems,\n selectedMultiple,\n FormControlComponent,\n rightAddons,\n error,\n readOnly,\n clear,\n success,\n onClear,\n onInput,\n colors = 'default',\n ...restProps\n}: AutocompleteMobileFieldProps & FieldProps) => {\n const [focused, setFocused] = useState(false);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const [focusVisible] = useFocus(wrapperRef, 'keyboard');\n\n const filled = Boolean(value);\n const showPlaceholder = placeholder && !filled && labelView === 'outer';\n const clearButtonVisible = clear && filled && !disabled && !readOnly;\n const shouldShowSuccessIcon = success && !error;\n const statusBadgeSize = size === 40 ? 16 : 20;\n\n const { tabIndex, ...restInnerProps } = innerProps;\n\n const formRightAddons = (Arrow || rightAddons || clearButtonVisible || error || success) && (\n /**\n * Right addon priority [4] <= [3] <= [2] <= [1]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n */\n <Fragment>\n {clearButtonVisible && (\n <ClearButton onClick={onClear} disabled={disabled} colors={colors} />\n )}\n {error && (\n <div className={styles.errorIcon} data-addon='error-icon'>\n <StatusBadge\n view='negative-alert'\n size={statusBadgeSize}\n dataTestId={getDataTestId(dataTestId, 'error-icon')}\n />\n </div>\n )}\n {shouldShowSuccessIcon && (\n <div className={styles.successIcon}>\n <StatusBadge\n view='positive-checkmark'\n size={statusBadgeSize}\n dataTestId={getDataTestId(dataTestId, 'success-icon')}\n />\n </div>\n )}\n {rightAddons}\n {Arrow}\n </Fragment>\n );\n\n return (\n <div\n className={styles.component}\n ref={wrapperRef}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n >\n <FormControlMobile\n fieldClassName={cn(styles.field, fieldClassName, {\n [styles.disabled]: disabled,\n [styles.focusVisible]: focusVisible,\n })}\n block={true}\n size={size}\n focused={focused}\n disabled={disabled}\n filled={filled}\n labelView={labelView}\n dataTestId={getDataTestId(dataTestId, 'form-control')}\n // downshift устанавливает фокус на таргет поле после выбора опции, не даем ему это сделать пока открыт список, иначе поле поиска будет терять фокус\n tabIndex={open ? undefined : tabIndex}\n {...restProps}\n {...restInnerProps}\n readOnly={readOnly}\n colors={colors}\n error={error}\n rightAddons={formRightAddons}\n >\n <div className={styles.contentWrapper}>\n {showPlaceholder && <span className={styles.placeholder}>{placeholder}</span>}\n {filled && <div className={styles.value}>{value}</div>}\n </div>\n </FormControlMobile>\n </div>\n );\n};\n"],"names":["__rest","useState","useRef","useFocus","React","Fragment","ClearButton","styles","StatusBadge","getDataTestId","FormControlMobile","__assign","cn"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
2
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
3
3
|
export declare const InputAutocompleteDesktop: React.ForwardRefExoticComponent<InputAutocompleteCommonProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n AnyObject,\n BaseSelect,\n Optgroup as DefaultOptgroup,\n Option as DefaultOption,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { AutocompleteField } from '../autocomplete-field';\nimport { InputAutocompleteCommonProps } from '../types';\n\nexport const InputAutocompleteDesktop = forwardRef<HTMLInputElement, InputAutocompleteCommonProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n Input,\n inputProps = {},\n onInput,\n value,\n success,\n readOnly,\n closeOnSelect = false,\n options,\n ...restProps\n },\n ref,\n ) => (\n <BaseSelect\n view='desktop'\n Popover={Popover}\n ref={ref}\n autocomplete={true}\n options={options}\n closeOnSelect={closeOnSelect}\n Option={Option}\n Field={AutocompleteField}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n {...restProps}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n Input,\n onInput,\n value,\n inputProps,\n readOnly,\n success,\n }}\n />\n ),\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","__rest","React","BaseSelect","__assign","Popover","AutocompleteField"],"mappings":";;;;;;;;;;;;;;IAca,wBAAwB,GAAGA,gBAAU,CAC9C,UACI,EAaC,EACD,GAAG,EAAA;IAbC,IAAA,EAAA,GAAA,EAAA,CAAA,WAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,GAAA,EAAA,EAChC,EAA0B,GAAA,EAAA,CAAA,QAAA,EAA1B,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAGC,eAAe,GAAA,EAAA,EAC1B,EAAsB,GAAA,EAAA,CAAA,MAAA,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,aAAa,GAAA,EAAA,EACtB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,qBAAqB,EAArB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACrB,OAAO,GAAA,EAAA,CAAA,OAAA,EACJ,SAAS,GAZhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,CAaC,CADe;AAGf,IAAA,QACDC,sBAAA,CAAA,aAAA,CAACC,iBAAU,EAAAC,cAAA,CAAA,EACP,IAAI,EAAC,SAAS,EACd,OAAO,EAAEC,YAAO,EAChB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAEC,2BAAiB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,EACpB,SAAS,EAAA,EACb,UAAU,EACFF,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,SAAS,CAAC,UAAwB,KACtC,KAAK,EAAA,KAAA,EACL,OAAO,EAAA,OAAA,EACP,KAAK,EAAA,KAAA,EACL,UAAU,EAAA,UAAA,EACV,QAAQ,UAAA,EACR,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAEb;AACL,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n type AnyObject,\n BaseSelect,\n Optgroup as DefaultOptgroup,\n Option as DefaultOption,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { AutocompleteField } from '../autocomplete-field';\nimport { type InputAutocompleteCommonProps } from '../types';\n\nexport const InputAutocompleteDesktop = forwardRef<HTMLInputElement, InputAutocompleteCommonProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n Input,\n inputProps = {},\n onInput,\n value,\n success,\n readOnly,\n closeOnSelect = false,\n options,\n ...restProps\n },\n ref,\n ) => (\n <BaseSelect\n view='desktop'\n Popover={Popover}\n ref={ref}\n autocomplete={true}\n options={options}\n closeOnSelect={closeOnSelect}\n Option={Option}\n Field={AutocompleteField}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n {...restProps}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n Input,\n onInput,\n value,\n inputProps,\n readOnly,\n success,\n }}\n />\n ),\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","__rest","React","BaseSelect","__assign","Popover","AutocompleteField"],"mappings":";;;;;;;;;;;;;;IAca,wBAAwB,GAAGA,gBAAU,CAC9C,UACI,EAaC,EACD,GAAG,EAAA;IAbC,IAAA,EAAA,GAAA,EAAA,CAAA,WAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,GAAA,EAAA,EAChC,EAA0B,GAAA,EAAA,CAAA,QAAA,EAA1B,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAGC,eAAe,GAAA,EAAA,EAC1B,EAAsB,GAAA,EAAA,CAAA,MAAA,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,aAAa,GAAA,EAAA,EACtB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,qBAAqB,EAArB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACrB,OAAO,GAAA,EAAA,CAAA,OAAA,EACJ,SAAS,GAZhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,CAaC,CADe;AAGf,IAAA,QACDC,sBAAA,CAAA,aAAA,CAACC,iBAAU,EAAAC,cAAA,CAAA,EACP,IAAI,EAAC,SAAS,EACd,OAAO,EAAEC,YAAO,EAChB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAEC,2BAAiB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,EACpB,SAAS,EAAA,EACb,UAAU,EACFF,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,SAAS,CAAC,UAAwB,KACtC,KAAK,EAAA,KAAA,EACL,OAAO,EAAA,OAAA,EACP,KAAK,EAAA,KAAA,EACL,UAAU,EAAA,UAAA,EACV,QAAQ,UAAA,EACR,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAEb;AACL,CAAA;;;;"}
|
|
@@ -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 ? {\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
|
+
{"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 } 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 ...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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.modal.mobile.js","sources":["../../src/mobile/Component.modal.mobile.tsx"],"sourcesContent":["import React from 'react';\n\nimport { InputAutocompleteMobileProps } from '../types';\n\nimport { InputAutocompleteMobile } from './Component.mobile';\n\nexport const InputAutocompleteModalMobile = React.forwardRef<\n HTMLDivElement,\n InputAutocompleteMobileProps\n>((props, ref) => <InputAutocompleteMobile {...props} ref={ref} isBottomSheet={false} />);\n"],"names":["React","InputAutocompleteMobile","__assign"],"mappings":";;;;;;;;;;;;AAMO,IAAM,4BAA4B,GAAGA,sBAAK,CAAC,UAAU,CAG1D,UAAC,KAAK,EAAE,GAAG,IAAK,OAAAA,sBAAA,CAAA,aAAA,CAACC,wCAAuB,EAAAC,cAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAA,CAAA,CAAI,CAAtE,EAAsE;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.modal.mobile.js","sources":["../../src/mobile/Component.modal.mobile.tsx"],"sourcesContent":["import React from 'react';\n\nimport { type InputAutocompleteMobileProps } from '../types';\n\nimport { InputAutocompleteMobile } from './Component.mobile';\n\nexport const InputAutocompleteModalMobile = React.forwardRef<\n HTMLDivElement,\n InputAutocompleteMobileProps\n>((props, ref) => <InputAutocompleteMobile {...props} ref={ref} isBottomSheet={false} />);\n"],"names":["React","InputAutocompleteMobile","__assign"],"mappings":";;;;;;;;;;;;AAMO,IAAM,4BAA4B,GAAGA,sBAAK,CAAC,UAAU,CAG1D,UAAC,KAAK,EAAE,GAAG,IAAK,OAAAA,sBAAA,CAAA,aAAA,CAACC,wCAAuB,EAAAC,cAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAA,CAAA,CAAI,CAAtE,EAAsE;;;;"}
|
package/cssm/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/cssm';
|
|
3
|
+
import { type BaseSelectProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/cssm/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
|
/**
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputAutocompleteCommonProps } from '../types';
|
|
2
|
+
import { type InputAutocompleteCommonProps } from '../types';
|
|
3
3
|
export declare const InputAutocompleteDesktop: React.ForwardRefExoticComponent<InputAutocompleteCommonProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n AnyObject,\n BaseSelect,\n Optgroup as DefaultOptgroup,\n Option as DefaultOption,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { AutocompleteField } from '../autocomplete-field';\nimport { InputAutocompleteCommonProps } from '../types';\n\nexport const InputAutocompleteDesktop = forwardRef<HTMLInputElement, InputAutocompleteCommonProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n Input,\n inputProps = {},\n onInput,\n value,\n success,\n readOnly,\n closeOnSelect = false,\n options,\n ...restProps\n },\n ref,\n ) => (\n <BaseSelect\n view='desktop'\n Popover={Popover}\n ref={ref}\n autocomplete={true}\n options={options}\n closeOnSelect={closeOnSelect}\n Option={Option}\n Field={AutocompleteField}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n {...restProps}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n Input,\n onInput,\n value,\n inputProps,\n readOnly,\n success,\n }}\n />\n ),\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","__rest","React","BaseSelect","__assign","Popover","AutocompleteField"],"mappings":";;;;;;;;;;;;;;IAca,wBAAwB,GAAGA,gBAAU,CAC9C,UACI,EAaC,EACD,GAAG,EAAA;IAbC,IAAA,EAAA,GAAA,EAAA,CAAA,WAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,GAAA,EAAA,EAChC,EAA0B,GAAA,EAAA,CAAA,QAAA,EAA1B,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAGC,eAAe,GAAA,EAAA,EAC1B,EAAsB,GAAA,EAAA,CAAA,MAAA,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,aAAa,GAAA,EAAA,EACtB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,qBAAqB,EAArB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACrB,OAAO,GAAA,EAAA,CAAA,OAAA,EACJ,SAAS,GAZhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,CAaC,CADe;AAGf,IAAA,QACDC,sBAAA,CAAA,aAAA,CAACC,iBAAU,EAAAC,cAAA,CAAA,EACP,IAAI,EAAC,SAAS,EACd,OAAO,EAAEC,6BAAO,EAChB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAEC,2BAAiB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,EACpB,SAAS,EAAA,EACb,UAAU,EACFF,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,SAAS,CAAC,UAAwB,KACtC,KAAK,EAAA,KAAA,EACL,OAAO,EAAA,OAAA,EACP,KAAK,EAAA,KAAA,EACL,UAAU,EAAA,UAAA,EACV,QAAQ,UAAA,EACR,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAEb;AACL,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n type AnyObject,\n BaseSelect,\n Optgroup as DefaultOptgroup,\n Option as DefaultOption,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { AutocompleteField } from '../autocomplete-field';\nimport { type InputAutocompleteCommonProps } from '../types';\n\nexport const InputAutocompleteDesktop = forwardRef<HTMLInputElement, InputAutocompleteCommonProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n Input,\n inputProps = {},\n onInput,\n value,\n success,\n readOnly,\n closeOnSelect = false,\n options,\n ...restProps\n },\n ref,\n ) => (\n <BaseSelect\n view='desktop'\n Popover={Popover}\n ref={ref}\n autocomplete={true}\n options={options}\n closeOnSelect={closeOnSelect}\n Option={Option}\n Field={AutocompleteField}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n {...restProps}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n Input,\n onInput,\n value,\n inputProps,\n readOnly,\n success,\n }}\n />\n ),\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","__rest","React","BaseSelect","__assign","Popover","AutocompleteField"],"mappings":";;;;;;;;;;;;;;IAca,wBAAwB,GAAGA,gBAAU,CAC9C,UACI,EAaC,EACD,GAAG,EAAA;IAbC,IAAA,EAAA,GAAA,EAAA,CAAA,WAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,GAAA,EAAA,EAChC,EAA0B,GAAA,EAAA,CAAA,QAAA,EAA1B,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAGC,eAAe,GAAA,EAAA,EAC1B,EAAsB,GAAA,EAAA,CAAA,MAAA,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,aAAa,GAAA,EAAA,EACtB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,qBAAqB,EAArB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACrB,OAAO,GAAA,EAAA,CAAA,OAAA,EACJ,SAAS,GAZhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,CAaC,CADe;AAGf,IAAA,QACDC,sBAAA,CAAA,aAAA,CAACC,iBAAU,EAAAC,cAAA,CAAA,EACP,IAAI,EAAC,SAAS,EACd,OAAO,EAAEC,6BAAO,EAChB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAEC,2BAAiB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,EACpB,SAAS,EAAA,EACb,UAAU,EACFF,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,SAAS,CAAC,UAAwB,KACtC,KAAK,EAAA,KAAA,EACL,OAAO,EAAA,OAAA,EACP,KAAK,EAAA,KAAA,EACL,UAAU,EAAA,UAAA,EACV,QAAQ,UAAA,EACR,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAEb;AACL,CAAA;;;;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputAutocompleteProps } from './types';
|
|
2
|
+
import { type InputAutocompleteProps } from './types';
|
|
3
3
|
export declare const InputAutocomplete: React.ForwardRefExoticComponent<InputAutocompleteProps & React.RefAttributes<HTMLInputElement | HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":[],"mappings":";;;;;;;IAQa,iBAAiB,GAAG,UAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAA,MAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZ,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAA,QAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpF,KAAC,CAAA,aAAA,CAAA,uBAAuB,eAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { InputAutocompleteDesktop } from './desktop';\nimport { InputAutocompleteMobile } from './mobile';\nimport { type InputAutocompleteProps } from './types';\n\nexport const InputAutocomplete = forwardRef<\n HTMLInputElement | HTMLDivElement,\n InputAutocompleteProps\n>(\n (\n {\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n mobileProps,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return isDesktop ? (\n <InputAutocompleteDesktop {...restProps} ref={ref as React.Ref<HTMLInputElement>} />\n ) : (\n <InputAutocompleteMobile {...restProps} {...mobileProps} ref={ref} />\n );\n },\n);\n\nInputAutocomplete.displayName = 'InputAutocomplete';\n"],"names":[],"mappings":";;;;;;;IAQa,iBAAiB,GAAG,UAAU,CAIvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,WAAW,GAAA,EAAA,CAAA,WAAA,EACR,SAAS,GAAA,MAAA,CAAA,EAAA,EALhB,iEAMC,CADe;IAIhB,IAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,OAAO,SAAS,IACZ,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAA,QAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAkC,EAAI,CAAA,CAAA,KAEpF,KAAC,CAAA,aAAA,CAAA,uBAAuB,eAAK,SAAS,EAAM,WAAW,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACxE;AACL,CAAC;AAGL,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|