@redneckz/wildless-cms-uni-blocks 0.14.909 → 0.14.910
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/bundle/bundle.umd.js +85 -69
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/ui-kit/Select/Select.d.ts +6 -0
- package/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/bundle/ui-kit/Select/filterOptions.d.ts +1 -1
- package/bundle/ui-kit/Select/renderIcon.d.ts +2 -0
- package/bundle/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/bundle/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/bundle/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/dist/ui-kit/FormField/Fields/InnDadataField.js +5 -2
- package/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -1
- package/dist/ui-kit/Select/Select.d.ts +6 -0
- package/dist/ui-kit/Select/Select.js +31 -40
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/dist/ui-kit/Select/SelectPopup.js +1 -1
- package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/dist/ui-kit/Select/filterOptions.d.ts +1 -1
- package/dist/ui-kit/Select/filterOptions.js +2 -2
- package/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/dist/ui-kit/Select/renderIcon.d.ts +2 -0
- package/dist/ui-kit/Select/renderIcon.js +8 -0
- package/dist/ui-kit/Select/renderIcon.js.map +1 -0
- package/dist/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/dist/ui-kit/Select/renderOptionText.js +11 -0
- package/dist/ui-kit/Select/renderOptionText.js.map +1 -0
- package/dist/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/dist/ui-kit/Select/renderSearchInput.js +7 -0
- package/dist/ui-kit/Select/renderSearchInput.js.map +1 -0
- package/dist/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/dist/ui-kit/Select/renderSelectContainer.js +18 -0
- package/dist/ui-kit/Select/renderSelectContainer.js.map +1 -0
- package/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/dist/ui-kit/Select/useSelectPopup.js +6 -5
- package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/ui-kit/FormField/Fields/InnDadataField.js +5 -2
- package/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -1
- package/lib/ui-kit/Select/Select.d.ts +6 -0
- package/lib/ui-kit/Select/Select.js +32 -41
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/lib/ui-kit/Select/SelectPopup.js +1 -1
- package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/lib/ui-kit/Select/filterOptions.d.ts +1 -1
- package/lib/ui-kit/Select/filterOptions.js +2 -2
- package/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/lib/ui-kit/Select/renderIcon.d.ts +2 -0
- package/lib/ui-kit/Select/renderIcon.js +5 -0
- package/lib/ui-kit/Select/renderIcon.js.map +1 -0
- package/lib/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/lib/ui-kit/Select/renderOptionText.js +8 -0
- package/lib/ui-kit/Select/renderOptionText.js.map +1 -0
- package/lib/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/lib/ui-kit/Select/renderSearchInput.js +4 -0
- package/lib/ui-kit/Select/renderSearchInput.js.map +1 -0
- package/lib/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/lib/ui-kit/Select/renderSelectContainer.js +15 -0
- package/lib/ui-kit/Select/renderSelectContainer.js.map +1 -0
- package/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/lib/ui-kit/Select/useSelectPopup.js +6 -5
- package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +85 -69
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/ui-kit/Select/Select.d.ts +6 -0
- package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/mobile/bundle/ui-kit/Select/filterOptions.d.ts +1 -1
- package/mobile/bundle/ui-kit/Select/renderIcon.d.ts +2 -0
- package/mobile/bundle/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/mobile/bundle/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/mobile/bundle/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js +5 -2
- package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -1
- package/mobile/dist/ui-kit/Select/Select.d.ts +6 -0
- package/mobile/dist/ui-kit/Select/Select.js +31 -40
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/mobile/dist/ui-kit/Select/SelectPopup.js +1 -1
- package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/dist/ui-kit/Select/filterOptions.d.ts +1 -1
- package/mobile/dist/ui-kit/Select/filterOptions.js +2 -2
- package/mobile/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/dist/ui-kit/Select/renderIcon.d.ts +2 -0
- package/mobile/dist/ui-kit/Select/renderIcon.js +8 -0
- package/mobile/dist/ui-kit/Select/renderIcon.js.map +1 -0
- package/mobile/dist/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/mobile/dist/ui-kit/Select/renderOptionText.js +11 -0
- package/mobile/dist/ui-kit/Select/renderOptionText.js.map +1 -0
- package/mobile/dist/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/mobile/dist/ui-kit/Select/renderSearchInput.js +7 -0
- package/mobile/dist/ui-kit/Select/renderSearchInput.js.map +1 -0
- package/mobile/dist/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/mobile/dist/ui-kit/Select/renderSelectContainer.js +18 -0
- package/mobile/dist/ui-kit/Select/renderSelectContainer.js.map +1 -0
- package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/dist/ui-kit/Select/useSelectPopup.js +6 -5
- package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js +5 -2
- package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -1
- package/mobile/lib/ui-kit/Select/Select.d.ts +6 -0
- package/mobile/lib/ui-kit/Select/Select.js +32 -41
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
- package/mobile/lib/ui-kit/Select/SelectPopup.js +1 -1
- package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/lib/ui-kit/Select/filterOptions.d.ts +1 -1
- package/mobile/lib/ui-kit/Select/filterOptions.js +2 -2
- package/mobile/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/lib/ui-kit/Select/renderIcon.d.ts +2 -0
- package/mobile/lib/ui-kit/Select/renderIcon.js +5 -0
- package/mobile/lib/ui-kit/Select/renderIcon.js.map +1 -0
- package/mobile/lib/ui-kit/Select/renderOptionText.d.ts +9 -0
- package/mobile/lib/ui-kit/Select/renderOptionText.js +8 -0
- package/mobile/lib/ui-kit/Select/renderOptionText.js.map +1 -0
- package/mobile/lib/ui-kit/Select/renderSearchInput.d.ts +9 -0
- package/mobile/lib/ui-kit/Select/renderSearchInput.js +4 -0
- package/mobile/lib/ui-kit/Select/renderSearchInput.js.map +1 -0
- package/mobile/lib/ui-kit/Select/renderSelectContainer.d.ts +15 -0
- package/mobile/lib/ui-kit/Select/renderSelectContainer.js +15 -0
- package/mobile/lib/ui-kit/Select/renderSelectContainer.js.map +1 -0
- package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/lib/ui-kit/Select/useSelectPopup.js +6 -5
- package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/src/ui-kit/FormField/Fields/InnDadataField.tsx +7 -2
- package/mobile/src/ui-kit/Select/Select.tsx +46 -105
- package/mobile/src/ui-kit/Select/SelectPopup.tsx +12 -2
- package/mobile/src/ui-kit/Select/filterOptions.ts +6 -2
- package/mobile/src/ui-kit/Select/renderIcon.tsx +13 -0
- package/mobile/src/ui-kit/Select/renderOptionText.tsx +22 -0
- package/mobile/src/ui-kit/Select/renderSearchInput.tsx +28 -0
- package/mobile/src/ui-kit/Select/renderSelectContainer.tsx +60 -0
- package/mobile/src/ui-kit/Select/useSelectPopup.tsx +11 -7
- package/package.json +1 -1
- package/src/ui-kit/FormField/Fields/InnDadataField.tsx +7 -2
- package/src/ui-kit/Select/Select.tsx +46 -105
- package/src/ui-kit/Select/SelectPopup.tsx +12 -2
- package/src/ui-kit/Select/filterOptions.ts +6 -2
- package/src/ui-kit/Select/renderIcon.tsx +13 -0
- package/src/ui-kit/Select/renderOptionText.tsx +22 -0
- package/src/ui-kit/Select/renderSearchInput.tsx +28 -0
- package/src/ui-kit/Select/renderSelectContainer.tsx +60 -0
- package/src/ui-kit/Select/useSelectPopup.tsx +11 -7
|
@@ -9,6 +9,12 @@ export interface SelectProps extends DefaultControlType, ControlProps<Option> {
|
|
|
9
9
|
isSearch?: boolean;
|
|
10
10
|
isManualInput?: boolean;
|
|
11
11
|
iconVersion?: IconVersion;
|
|
12
|
+
inputProps?: InputTypeProps;
|
|
13
|
+
disableFilterOptions?: boolean;
|
|
12
14
|
onSearchQuery?: (value: string) => void;
|
|
13
15
|
}
|
|
16
|
+
export declare type InputTypeProps = {
|
|
17
|
+
isInteger?: boolean;
|
|
18
|
+
maxLength?: number;
|
|
19
|
+
};
|
|
14
20
|
export declare const Select: import("@redneckz/uni-jsx").UNIComponent<SelectProps, any, any>;
|
|
@@ -9,5 +9,6 @@ export interface SelectPopupProps extends ControlProps<Option> {
|
|
|
9
9
|
};
|
|
10
10
|
query?: string;
|
|
11
11
|
onChangeQuery?: (value: string) => void;
|
|
12
|
+
disableFilterOptions?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export declare const SelectPopup: import("@redneckz/uni-jsx").UNIComponent<SelectPopupProps, any, any>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type Option } from './Option';
|
|
2
|
-
export declare const filterOptions: (options: Option[], query: string | undefined) => Option[];
|
|
2
|
+
export declare const filterOptions: (options: Option[], query: string | undefined, disableFilterOptions?: boolean) => Option[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PlaceholderProps } from '../../model/PlaceholderProps';
|
|
2
|
+
import { type Option } from './Option';
|
|
3
|
+
declare type RenderOptionTextProps = PlaceholderProps & {
|
|
4
|
+
isManualInput?: boolean;
|
|
5
|
+
query?: string;
|
|
6
|
+
value?: Option;
|
|
7
|
+
};
|
|
8
|
+
export declare const renderOptionText: ({ isManualInput, query, value, placeholder, }: RenderOptionTextProps) => string | undefined;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type InputTypeProps } from './Select';
|
|
2
|
+
declare type RenderSearchInputProps = {
|
|
3
|
+
query: string;
|
|
4
|
+
isDisabled: boolean;
|
|
5
|
+
onChangeQuery: (value: string) => void;
|
|
6
|
+
inputProps?: InputTypeProps;
|
|
7
|
+
};
|
|
8
|
+
export declare const renderSearchInput: ({ query, isDisabled, onChangeQuery, inputProps, }: RenderSearchInputProps) => any;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ControlProps } from '../../model/ControlProps';
|
|
2
|
+
import { type IconVersion } from '../../model/IconVersion';
|
|
3
|
+
import { type OnCloseProps } from '../../model/OnCloseProps';
|
|
4
|
+
import { type Option } from './Option';
|
|
5
|
+
import { type SelectProps } from './Select';
|
|
6
|
+
interface SelectContainerProps extends OnCloseProps, SelectProps, ControlProps<Option> {
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
isDisabled?: boolean;
|
|
9
|
+
iconVersion?: IconVersion;
|
|
10
|
+
query?: string;
|
|
11
|
+
isIconHidden?: boolean;
|
|
12
|
+
onOpen?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const renderSelectContainer: ({ isBorder, valid, isDisabled, isOpen, onOpen, onClose, isManualInput, query, value, placeholder, iconVersion, options, }: SelectContainerProps) => any;
|
|
15
|
+
export {};
|
|
@@ -3,8 +3,9 @@ import { type SelectPopupProps } from './SelectPopup';
|
|
|
3
3
|
interface SelectPopupOptions extends SelectPopupProps, OnCloseProps {
|
|
4
4
|
isOpen?: boolean;
|
|
5
5
|
onChangeQuery?: (value: string) => void;
|
|
6
|
+
disableFilterOptions?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, onChangeQuery, }: SelectPopupOptions): {
|
|
8
|
+
export declare function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, disableFilterOptions, onChangeQuery, }: SelectPopupOptions): {
|
|
8
9
|
current: HTMLDivElement | null;
|
|
9
10
|
};
|
|
10
11
|
export {};
|
|
@@ -6,7 +6,7 @@ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
|
6
6
|
const useAsyncEffect_1 = require("../../../hooks/useAsyncEffect");
|
|
7
7
|
const useInn_1 = require("../../../hooks/useInn");
|
|
8
8
|
const SelectControl_1 = require("../../Select/SelectControl");
|
|
9
|
-
exports.InnDadataField = (0, uni_jsx_1.JSX)(({ field, input }) => {
|
|
9
|
+
exports.InnDadataField = (0, uni_jsx_1.JSX)(({ field, input = {} }) => {
|
|
10
10
|
const [options, setOptions] = (0, hooks_1.useState)([]);
|
|
11
11
|
const [searchQuery, setSearchQuery] = (0, hooks_1.useState)('');
|
|
12
12
|
(0, useAsyncEffect_1.useAsyncEffect)(async () => {
|
|
@@ -24,6 +24,9 @@ exports.InnDadataField = (0, uni_jsx_1.JSX)(({ field, input }) => {
|
|
|
24
24
|
},
|
|
25
25
|
}));
|
|
26
26
|
}, [options]);
|
|
27
|
-
return ((0, jsx_runtime_1.jsx)(SelectControl_1.SelectControl, { label: "\u0418\u041D\u041D", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0418\u041D\u041D", options: getOptions, ...field(input
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)(SelectControl_1.SelectControl, { label: "\u0418\u041D\u041D", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0418\u041D\u041D", options: getOptions, ...field(input.name ?? ''), isSearch: true, isManualInput: true, inputProps: {
|
|
28
|
+
isInteger: true,
|
|
29
|
+
maxLength: 12,
|
|
30
|
+
}, disableFilterOptions: true, onSearchQuery: setSearchQuery }));
|
|
28
31
|
});
|
|
29
32
|
//# sourceMappingURL=InnDadataField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InnDadataField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/InnDadataField.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAgE;AAChE,kEAA+D;AAC/D,kDAA+C;AAC/C,8DAA2D;AAS9C,QAAA,cAAc,GAAG,IAAA,aAAG,EAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"InnDadataField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/InnDadataField.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAgE;AAChE,kEAA+D;AAC/D,kDAA+C;AAC/C,8DAA2D;AAS9C,QAAA,cAAc,GAAG,IAAA,aAAG,EAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE;IAC5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAEnD,IAAA,+BAAc,EAAC,KAAK,IAAI,EAAE;QACxB,MAAM,SAAS,GAAG,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC;QAE5B,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;YACpB,IAAI,EAAE,IAAI,EAAE,GAAG;YACf,SAAS,EAAE;gBACT,WAAW,EAAE,IAAI,EAAE,QAAQ;gBAC3B,cAAc,EAAE,IAAI,EAAE,OAAO;aAC9B;SACF,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,uBAAC,6BAAa,IACZ,KAAK,EAAC,oBAAK,EACX,WAAW,EAAC,+DAAa,EACzB,OAAO,EAAE,UAAU,KACf,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAC3B,QAAQ,QACR,aAAa,QACb,UAAU,EAAE;YACV,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;SACd,EACD,oBAAoB,EAAE,IAAI,EAC1B,aAAa,EAAE,cAAc,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -9,6 +9,12 @@ export interface SelectProps extends DefaultControlType, ControlProps<Option> {
|
|
|
9
9
|
isSearch?: boolean;
|
|
10
10
|
isManualInput?: boolean;
|
|
11
11
|
iconVersion?: IconVersion;
|
|
12
|
+
inputProps?: InputTypeProps;
|
|
13
|
+
disableFilterOptions?: boolean;
|
|
12
14
|
onSearchQuery?: (value: string) => void;
|
|
13
15
|
}
|
|
16
|
+
export declare type InputTypeProps = {
|
|
17
|
+
isInteger?: boolean;
|
|
18
|
+
maxLength?: number;
|
|
19
|
+
};
|
|
14
20
|
export declare const Select: import("@redneckz/uni-jsx").UNIComponent<SelectProps, any, any>;
|
|
@@ -5,60 +5,51 @@ const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
|
5
5
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
6
6
|
const useBool_1 = require("@redneckz/uni-jsx/lib/hooks/useBool");
|
|
7
7
|
const debounce_1 = require("../../utils/debounce");
|
|
8
|
+
const noop_1 = require("../../utils/noop");
|
|
8
9
|
const style_1 = require("../../utils/style");
|
|
9
|
-
const Icon_1 = require("../Icon/Icon");
|
|
10
|
-
const Input_1 = require("../Input/Input");
|
|
11
10
|
const renderLabel_1 = require("../Input/renderLabel");
|
|
12
|
-
const
|
|
11
|
+
const renderSearchInput_1 = require("./renderSearchInput");
|
|
12
|
+
const renderSelectContainer_1 = require("./renderSelectContainer");
|
|
13
13
|
const useSelectPopup_1 = require("./useSelectPopup");
|
|
14
|
-
exports.Select = (0, uni_jsx_1.JSX)(({ className, label, options = [], value,
|
|
14
|
+
exports.Select = (0, uni_jsx_1.JSX)(({ className, label, options = [], value, isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery = noop_1.noop, inputProps, disableFilterOptions = false, ...rest }) => {
|
|
15
15
|
const [isOpen, { setFalse: close, setTrue: open }] = (0, useBool_1.useBool)();
|
|
16
16
|
const [query, setQuery] = (0, hooks_1.useState)('');
|
|
17
|
-
const isDisabled =
|
|
18
|
-
const
|
|
19
|
-
const hasOpen = isOpen && !isDisabled;
|
|
20
|
-
const debouncedOnSearchQuery = (0, hooks_1.useMemo)(() => onSearchQuery && getDebouncedSearchQuery(onSearchQuery), [onSearchQuery]);
|
|
17
|
+
const isDisabled = disabled || (!isManualInput && options.length === 0);
|
|
18
|
+
const debouncedOnSearchQuery = (0, hooks_1.useMemo)(() => (0, debounce_1.debounce)((searchValue) => onSearchQuery(searchValue), 300), [onSearchQuery]);
|
|
21
19
|
const handleOpen = (0, hooks_1.useCallback)(() => {
|
|
22
|
-
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
open();
|
|
20
|
+
isDisabled ? (0, noop_1.noop)() : open();
|
|
26
21
|
}, [isDisabled]);
|
|
27
|
-
const handleChangeQuery = (newQuery) => {
|
|
28
|
-
setQuery(newQuery);
|
|
29
|
-
isManualInput && setOption(newQuery, onChange);
|
|
30
|
-
debouncedOnSearchQuery && debouncedOnSearchQuery(newQuery);
|
|
31
|
-
};
|
|
32
22
|
const handleClose = (0, hooks_1.useCallback)(() => {
|
|
33
23
|
!isManualInput && setQuery('');
|
|
34
24
|
close();
|
|
35
|
-
}, []);
|
|
25
|
+
}, [isManualInput]);
|
|
26
|
+
const handleChangeQuery = (0, hooks_1.useCallback)((newQuery) => {
|
|
27
|
+
setQuery(newQuery);
|
|
28
|
+
isManualInput && onChange?.({ key: newQuery, text: newQuery, innDaData: {} });
|
|
29
|
+
debouncedOnSearchQuery?.(newQuery);
|
|
30
|
+
}, [isManualInput, onChange, debouncedOnSearchQuery]);
|
|
31
|
+
const selectState = { query, value, options, isOpen, iconVersion };
|
|
36
32
|
const inputRef = (0, useSelectPopup_1.useSelectPopup)({
|
|
37
|
-
isOpen,
|
|
38
|
-
options,
|
|
39
|
-
value,
|
|
40
|
-
query,
|
|
41
33
|
onChange,
|
|
42
34
|
onClose: handleClose,
|
|
43
|
-
|
|
35
|
+
disableFilterOptions,
|
|
44
36
|
onChangeQuery: setQuery,
|
|
37
|
+
...selectState,
|
|
45
38
|
});
|
|
46
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('space-y-xs', className), children: [(0, renderLabel_1.renderLabel)(label), (0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('relative',
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('space-y-xs', className), children: [(0, renderLabel_1.renderLabel)(label), (0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('relative', isOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [(0, renderSelectContainer_1.renderSelectContainer)({
|
|
40
|
+
isDisabled,
|
|
41
|
+
onClose: handleClose,
|
|
42
|
+
onOpen: handleOpen,
|
|
43
|
+
isManualInput,
|
|
44
|
+
...selectState,
|
|
45
|
+
...rest,
|
|
46
|
+
}), isSearch && isOpen
|
|
47
|
+
? (0, renderSearchInput_1.renderSearchInput)({
|
|
48
|
+
query,
|
|
49
|
+
isDisabled,
|
|
50
|
+
inputProps,
|
|
51
|
+
onChangeQuery: handleChangeQuery,
|
|
52
|
+
})
|
|
53
|
+
: null] })] }));
|
|
47
54
|
});
|
|
48
|
-
const useRenderOptionText = (data) => (0, hooks_1.useMemo)(() => {
|
|
49
|
-
if (data.isManualInput && data.query) {
|
|
50
|
-
return data.query;
|
|
51
|
-
}
|
|
52
|
-
return (0, formatOption_1.formatOption)(data.value) || data.placeholder;
|
|
53
|
-
}, [data.isManualInput, data.query, data.value, data.placeholder]);
|
|
54
|
-
const renderSearchInput = (query, isDisabled, onChangeQuery) => ((0, jsx_runtime_1.jsx)("div", { className: (0, style_1.style)('absolute top-0 w-full z-20'), children: (0, jsx_runtime_1.jsx)(Input_1.Input, { type: "text", value: query, autoFocus: true, disabled: isDisabled, onChange: (value) => onChangeQuery(value) }) }));
|
|
55
|
-
const renderIcon = (isOpen, iconVersion) => ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { className: (0, style_1.style)('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
|
|
56
|
-
const getStyle = (isBorder, valid, disabled) => (0, style_1.style)(isBorder ? 'border rounded-md ' : '', isBorder && !disabled ? 'hover:border-primary-hover' : '', disabled ? 'bg-main-divider' : 'cursor-pointer ', valid ? 'border-gray' : 'border-error');
|
|
57
|
-
// TODO Нужен рефактор и декомпозиция компонента getDisabled, setOption, getIconHidden
|
|
58
|
-
const getDisabled = (disabled, length, isManualInput) => disabled || (!isManualInput && length === 0);
|
|
59
|
-
const setOption = (query, onChange) => {
|
|
60
|
-
onChange && query.trim() !== '' && onChange({ key: query, text: query, innDaData: {} });
|
|
61
|
-
};
|
|
62
|
-
const getIconHidden = (isManualInput, options) => isManualInput && !options.length;
|
|
63
|
-
const getDebouncedSearchQuery = (onSearchQuery) => (0, debounce_1.debounce)((searchValue) => onSearchQuery(searchValue), 300);
|
|
64
55
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA6E;AAC7E,iEAA8D;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,6 @@ export interface SelectPopupProps extends ControlProps<Option> {
|
|
|
9
9
|
};
|
|
10
10
|
query?: string;
|
|
11
11
|
onChangeQuery?: (value: string) => void;
|
|
12
|
+
disableFilterOptions?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export declare const SelectPopup: import("@redneckz/uni-jsx").UNIComponent<SelectPopupProps, any, any>;
|
|
@@ -7,7 +7,7 @@ const Icon_1 = require("../Icon/Icon");
|
|
|
7
7
|
const Text_1 = require("../Text/Text");
|
|
8
8
|
const filterOptions_1 = require("./filterOptions");
|
|
9
9
|
const formatOption_1 = require("./formatOption");
|
|
10
|
-
exports.SelectPopup = (0, uni_jsx_1.JSX)(({ popupRef, options, value, query,
|
|
10
|
+
exports.SelectPopup = (0, uni_jsx_1.JSX)(({ popupRef, options, value, query, iconVersion, disableFilterOptions, onChange, onChangeQuery, }) => options?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: (0, filterOptions_1.filterOptions)(options, query, disableFilterOptions).map((option) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
|
|
11
11
|
e.stopPropagation();
|
|
12
12
|
if (onChange) {
|
|
13
13
|
onChangeQuery?.('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectPopup.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/SelectPopup.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAGxC,6CAA0C;AAC1C,uCAAoC;AACpC,uCAAoC;AACpC,mDAAgD;AAChD,iDAA8C;
|
|
1
|
+
{"version":3,"file":"SelectPopup.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/SelectPopup.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAGxC,6CAA0C;AAC1C,uCAAoC;AACpC,uCAAoC;AACpC,mDAAgD;AAChD,iDAA8C;AAYjC,QAAA,WAAW,GAAG,IAAA,aAAG,EAC5B,CAAC,EACC,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,GACd,EAAE,EAAE,CACH,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAChB,gCACE,SAAS,EAAC,kFAAkF,EAC5F,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,QAAQ,YAEZ,IAAA,6BAAa,EAAC,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACnE,iCAEE,SAAS,EAAC,qEAAqE,EAC/E,IAAI,EAAC,UAAU,mBACA,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,GAAG,EACxC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,QAAQ,EAAE;gBACZ,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC;aAClB;QACH,CAAC,aAEA,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CACnB,6CACE,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,YAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAQ,EAC3D,iCAAK,SAAS,EAAC,WAAW,aACxB,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,IAAA,2BAAY,EAAC,MAAM,CAAC,GAChB,EACP,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,MAAM,EAAE,SAAS,EAAE,cAAc,GAC7B,IACH,IACD,CACR,CAAC,CAAC,CAAC,CACF,iCAAM,SAAS,EAAC,SAAS,YAAE,IAAA,2BAAY,EAAC,MAAM,CAAC,GAAQ,CACxD,EAED,uBAAC,WAAI,IACH,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAA,aAAK,EAAC,yBAAyB,EAAE;oBAC1C,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,GAAG;iBAClC,CAAC,GACF,KApCG,MAAM,CAAC,GAAG,CAqCX,CACP,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CACX,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type Option } from './Option';
|
|
2
|
-
export declare const filterOptions: (options: Option[], query: string | undefined) => Option[];
|
|
2
|
+
export declare const filterOptions: (options: Option[], query: string | undefined, disableFilterOptions?: boolean) => Option[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.filterOptions = void 0;
|
|
3
|
-
const filterOptions = (options, query) => {
|
|
4
|
-
if (!options?.length || !query?.trim()) {
|
|
3
|
+
const filterOptions = (options, query, disableFilterOptions) => {
|
|
4
|
+
if (!options?.length || !query?.trim() || disableFilterOptions) {
|
|
5
5
|
return options;
|
|
6
6
|
}
|
|
7
7
|
return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterOptions.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/filterOptions.ts"],"names":[],"mappings":";;AAEO,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"filterOptions.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/filterOptions.ts"],"names":[],"mappings":";;AAEO,MAAM,aAAa,GAAG,CAC3B,OAAiB,EACjB,KAAyB,EACzB,oBAA8B,EACpB,EAAE;IACZ,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE;QAC9D,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderIcon = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const style_1 = require("../../utils/style");
|
|
5
|
+
const Icon_1 = require("../Icon/Icon");
|
|
6
|
+
const renderIcon = (isOpen, iconVersion) => ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { className: (0, style_1.style)('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
|
|
7
|
+
exports.renderIcon = renderIcon;
|
|
8
|
+
//# sourceMappingURL=renderIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderIcon.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/renderIcon.tsx"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAAoC;AAE7B,MAAM,UAAU,GAAG,CAAC,MAAe,EAAE,WAAyB,EAAE,EAAE,CAAC,CACxE,uBAAC,WAAI,IACH,SAAS,EAAE,IAAA,aAAK,EAAC,mCAAmC,EAAE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,EAChF,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,GACX,CACH,CAAC;AARW,QAAA,UAAU,cAQrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PlaceholderProps } from '../../model/PlaceholderProps';
|
|
2
|
+
import { type Option } from './Option';
|
|
3
|
+
declare type RenderOptionTextProps = PlaceholderProps & {
|
|
4
|
+
isManualInput?: boolean;
|
|
5
|
+
query?: string;
|
|
6
|
+
value?: Option;
|
|
7
|
+
};
|
|
8
|
+
export declare const renderOptionText: ({ isManualInput, query, value, placeholder, }: RenderOptionTextProps) => string | undefined;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderOptionText = void 0;
|
|
3
|
+
const formatOption_1 = require("./formatOption");
|
|
4
|
+
const renderOptionText = ({ isManualInput, query, value, placeholder, }) => {
|
|
5
|
+
if (isManualInput && query) {
|
|
6
|
+
return query;
|
|
7
|
+
}
|
|
8
|
+
return (0, formatOption_1.formatOption)(value) || placeholder;
|
|
9
|
+
};
|
|
10
|
+
exports.renderOptionText = renderOptionText;
|
|
11
|
+
//# sourceMappingURL=renderOptionText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderOptionText.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/renderOptionText.tsx"],"names":[],"mappings":";;AACA,iDAA8C;AASvC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,aAAa,EACb,KAAK,EACL,KAAK,EACL,WAAW,GACW,EAAE,EAAE;IAC1B,IAAI,aAAa,IAAI,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAA,2BAAY,EAAC,KAAK,CAAC,IAAI,WAAW,CAAC;AAC5C,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type InputTypeProps } from './Select';
|
|
2
|
+
declare type RenderSearchInputProps = {
|
|
3
|
+
query: string;
|
|
4
|
+
isDisabled: boolean;
|
|
5
|
+
onChangeQuery: (value: string) => void;
|
|
6
|
+
inputProps?: InputTypeProps;
|
|
7
|
+
};
|
|
8
|
+
export declare const renderSearchInput: ({ query, isDisabled, onChangeQuery, inputProps, }: RenderSearchInputProps) => any;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderSearchInput = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const InputControl_1 = require("../Input/InputControl");
|
|
5
|
+
const renderSearchInput = ({ query, isDisabled, onChangeQuery, inputProps, }) => ((0, jsx_runtime_1.jsx)("div", { className: "absolute top-0 w-full z-20", children: (0, jsx_runtime_1.jsx)(InputControl_1.InputControl, { type: "text", value: query, autoFocus: true, disabled: isDisabled, onChange: (value) => onChangeQuery(value), maxLength: inputProps?.maxLength, isInteger: inputProps?.isInteger ?? false }) }));
|
|
6
|
+
exports.renderSearchInput = renderSearchInput;
|
|
7
|
+
//# sourceMappingURL=renderSearchInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderSearchInput.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/renderSearchInput.tsx"],"names":[],"mappings":";;;AAAA,wDAAqD;AAU9C,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,UAAU,EACV,aAAa,EACb,UAAU,GACa,EAAE,EAAE,CAAC,CAC5B,gCAAK,SAAS,EAAC,4BAA4B,YACzC,uBAAC,2BAAY,IACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,SAAS,QACT,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACzC,SAAS,EAAE,UAAU,EAAE,SAAS,EAChC,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,KAAK,GACzC,GACE,CACP,CAAC;AAjBW,QAAA,iBAAiB,qBAiB5B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ControlProps } from '../../model/ControlProps';
|
|
2
|
+
import { type IconVersion } from '../../model/IconVersion';
|
|
3
|
+
import { type OnCloseProps } from '../../model/OnCloseProps';
|
|
4
|
+
import { type Option } from './Option';
|
|
5
|
+
import { type SelectProps } from './Select';
|
|
6
|
+
interface SelectContainerProps extends OnCloseProps, SelectProps, ControlProps<Option> {
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
isDisabled?: boolean;
|
|
9
|
+
iconVersion?: IconVersion;
|
|
10
|
+
query?: string;
|
|
11
|
+
isIconHidden?: boolean;
|
|
12
|
+
onOpen?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const renderSelectContainer: ({ isBorder, valid, isDisabled, isOpen, onOpen, onClose, isManualInput, query, value, placeholder, iconVersion, options, }: SelectContainerProps) => any;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderSelectContainer = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const style_1 = require("../../utils/style");
|
|
5
|
+
const renderIcon_1 = require("./renderIcon");
|
|
6
|
+
const renderOptionText_1 = require("./renderOptionText");
|
|
7
|
+
const renderSelectContainer = ({ isBorder = true, valid = true, isDisabled = false, isOpen = false, onOpen, onClose, isManualInput = false, query = '', value, placeholder = '', iconVersion = 'black', options = [], }) => {
|
|
8
|
+
const isIconHidden = getIconHidden(isManualInput, options, query);
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)({ 'border rounded-md': isBorder }, { 'hover:border-primary-hover': isBorder && !isDisabled }, isDisabled ? 'bg-main-divider' : 'cursor-pointer ', valid ? 'border-gray' : 'border-error', 'h-14 [&>*]:p-m pr-6 text-l flex items-center justify-between text-primary-text relative z-10 overflow-hidden'), onClick: isOpen ? onClose : onOpen, children: [(0, jsx_runtime_1.jsx)("p", { className: "line-clamp-2 text-ellipsis", children: (0, renderOptionText_1.renderOptionText)({ isManualInput, query, value, placeholder }) }), isIconHidden ? '' : (0, renderIcon_1.renderIcon)(isOpen, iconVersion)] }));
|
|
10
|
+
};
|
|
11
|
+
exports.renderSelectContainer = renderSelectContainer;
|
|
12
|
+
const getIconHidden = (isManualInput, options, query) => {
|
|
13
|
+
if (isManualInput && query?.length) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
return isManualInput && !options.length;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=renderSelectContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderSelectContainer.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/renderSelectContainer.tsx"],"names":[],"mappings":";;;AAGA,6CAA0C;AAE1C,6CAA0C;AAC1C,yDAAsD;AAY/C,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG,IAAI,EACZ,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,KAAK,EACd,MAAM,EACN,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,EAAE,EACV,KAAK,EACL,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,OAAO,EACrB,OAAO,GAAG,EAAE,GACS,EAAE,EAAE;IACzB,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAElE,OAAO,CACL,iCACE,SAAS,EAAE,IAAA,aAAK,EACd,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EACjC,EAAE,4BAA4B,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAE,EACzD,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAClD,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EACtC,8GAA8G,CAC/G,EACD,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,aAElC,8BAAG,SAAS,EAAC,4BAA4B,YACtC,IAAA,mCAAgB,EAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAC7D,EACH,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,uBAAU,EAAC,MAAM,EAAE,WAAW,CAAC,IAChD,CACP,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,qBAAqB,yBAiChC;AAEF,MAAM,aAAa,GAAG,CAAC,aAAsB,EAAE,OAAiB,EAAE,KAAc,EAAE,EAAE;IAClF,IAAI,aAAa,IAAI,KAAK,EAAE,MAAM,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1C,CAAC,CAAC"}
|
|
@@ -3,8 +3,9 @@ import { type SelectPopupProps } from './SelectPopup';
|
|
|
3
3
|
interface SelectPopupOptions extends SelectPopupProps, OnCloseProps {
|
|
4
4
|
isOpen?: boolean;
|
|
5
5
|
onChangeQuery?: (value: string) => void;
|
|
6
|
+
disableFilterOptions?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, onChangeQuery, }: SelectPopupOptions): {
|
|
8
|
+
export declare function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, disableFilterOptions, onChangeQuery, }: SelectPopupOptions): {
|
|
8
9
|
current: HTMLDivElement | null;
|
|
9
10
|
};
|
|
10
11
|
export {};
|
|
@@ -3,18 +3,19 @@ exports.useSelectPopup = void 0;
|
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
5
5
|
const useOutsideClick_1 = require("@redneckz/uni-jsx/lib/hooks/useOutsideClick");
|
|
6
|
+
const noop_1 = require("../../utils/noop");
|
|
6
7
|
const usePopupManager_1 = require("../PopupManager/usePopupManager");
|
|
7
8
|
const SelectPopup_1 = require("./SelectPopup");
|
|
8
|
-
function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, onChangeQuery, }) {
|
|
9
|
+
function useSelectPopup({ isOpen, options, value, query, onChange = noop_1.noop, onClose = noop_1.noop, iconVersion, disableFilterOptions = false, onChangeQuery = noop_1.noop, }) {
|
|
9
10
|
const popup = (0, usePopupManager_1.usePopupManager)();
|
|
10
11
|
const close = (0, hooks_1.useCallback)(() => {
|
|
11
12
|
popup.close();
|
|
12
|
-
onClose
|
|
13
|
+
onClose();
|
|
13
14
|
}, [onClose]);
|
|
14
15
|
const handleChange = (0, hooks_1.useCallback)((option) => {
|
|
15
16
|
close();
|
|
16
|
-
onChange
|
|
17
|
-
onChangeQuery
|
|
17
|
+
onChange(option);
|
|
18
|
+
onChangeQuery('');
|
|
18
19
|
}, [close, onChange]);
|
|
19
20
|
const inputRef = (0, hooks_1.useRef)(null);
|
|
20
21
|
const popupRef = (0, useOutsideClick_1.useOutsideClick)(close);
|
|
@@ -25,7 +26,7 @@ function useSelectPopup({ isOpen, options, value, query, onChange, onClose, icon
|
|
|
25
26
|
const inputElement = inputRef.current;
|
|
26
27
|
const { top, left, width, height } = inputElement.getBoundingClientRect();
|
|
27
28
|
popup.open({
|
|
28
|
-
popup: ((0, jsx_runtime_1.jsx)(SelectPopup_1.SelectPopup, { popupRef: popupRef, options: options, value: value, query: query,
|
|
29
|
+
popup: ((0, jsx_runtime_1.jsx)(SelectPopup_1.SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, iconVersion: iconVersion, disableFilterOptions: disableFilterOptions, onChange: handleChange, onChangeQuery: onChangeQuery })),
|
|
29
30
|
top: top + window.scrollY + height,
|
|
30
31
|
left,
|
|
31
32
|
width,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectPopup.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/useSelectPopup.tsx"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,iFAA8E;AAE9E,qEAAkE;AAElE,+CAAmE;
|
|
1
|
+
{"version":3,"file":"useSelectPopup.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/useSelectPopup.tsx"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,iFAA8E;AAE9E,2CAAwC;AACxC,qEAAkE;AAElE,+CAAmE;AAQnE,SAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GAAG,WAAI,EACf,OAAO,GAAG,WAAI,EACd,WAAW,EACX,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,WAAI,GACD;IACnB,MAAM,KAAK,GAAG,IAAA,iCAAe,GAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,MAAc,EAAE,EAAE;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAA,iCAAe,EAAiB,KAAK,CAAC,CAAC;IAExD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAChC,OAAO;SACR;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAE1E,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,CACL,uBAAC,yBAAW,IACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,aAAa,GAC5B,CACH;YACD,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;YAClC,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAElD,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1DD,wCA0DC"}
|