@raystack/apsara 0.46.0-rc.4 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index.cjs +2 -2
- package/dist/_virtual/index.js +2 -2
- package/dist/_virtual/index2.cjs +2 -2
- package/dist/_virtual/index2.js +2 -2
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.cjs +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.cjs +1 -1
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/v1/components/avatar/avatar.cjs +18 -2
- package/dist/v1/components/avatar/avatar.cjs.map +1 -1
- package/dist/v1/components/avatar/avatar.d.ts +2 -1
- package/dist/v1/components/avatar/avatar.d.ts.map +1 -1
- package/dist/v1/components/avatar/avatar.js +18 -3
- package/dist/v1/components/avatar/avatar.js.map +1 -1
- package/dist/v1/components/avatar/utils.cjs +14 -34
- package/dist/v1/components/avatar/utils.cjs.map +1 -1
- package/dist/v1/components/avatar/utils.d.ts +1 -4
- package/dist/v1/components/avatar/utils.d.ts.map +1 -1
- package/dist/v1/components/avatar/utils.js +15 -34
- package/dist/v1/components/avatar/utils.js.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.cjs +35 -19
- package/dist/v1/components/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.d.ts +15 -12
- package/dist/v1/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.js +37 -21
- package/dist/v1/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.cjs +5 -5
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.cjs.map +1 -1
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.d.ts +3 -3
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.d.ts.map +1 -1
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.js +5 -5
- package/dist/v1/components/dropdown-menu/dropdown-menu-content.js.map +1 -1
- package/dist/v1/components/icon-button/icon-button.cjs +8 -7
- package/dist/v1/components/icon-button/icon-button.cjs.map +1 -1
- package/dist/v1/components/icon-button/icon-button.d.ts +1 -1
- package/dist/v1/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/v1/components/icon-button/icon-button.js +8 -7
- package/dist/v1/components/icon-button/icon-button.js.map +1 -1
- package/dist/v1/components/select/select-content.cjs +16 -7
- package/dist/v1/components/select/select-content.cjs.map +1 -1
- package/dist/v1/components/select/select-content.d.ts +1 -1
- package/dist/v1/components/select/select-content.d.ts.map +1 -1
- package/dist/v1/components/select/select-content.js +16 -7
- package/dist/v1/components/select/select-content.js.map +1 -1
- package/dist/v1/components/select/select-item.cjs +19 -18
- package/dist/v1/components/select/select-item.cjs.map +1 -1
- package/dist/v1/components/select/select-item.d.ts +1 -3
- package/dist/v1/components/select/select-item.d.ts.map +1 -1
- package/dist/v1/components/select/select-item.js +19 -18
- package/dist/v1/components/select/select-item.js.map +1 -1
- package/dist/v1/components/select/select-multiple-value.cjs +67 -0
- package/dist/v1/components/select/select-multiple-value.cjs.map +1 -0
- package/dist/v1/components/select/select-multiple-value.d.ts +8 -0
- package/dist/v1/components/select/select-multiple-value.d.ts.map +1 -0
- package/dist/v1/components/select/select-multiple-value.js +65 -0
- package/dist/v1/components/select/select-multiple-value.js.map +1 -0
- package/dist/v1/components/select/select-root.cjs +64 -22
- package/dist/v1/components/select/select-root.cjs.map +1 -1
- package/dist/v1/components/select/select-root.d.ts +25 -26
- package/dist/v1/components/select/select-root.d.ts.map +1 -1
- package/dist/v1/components/select/select-root.js +64 -22
- package/dist/v1/components/select/select-root.js.map +1 -1
- package/dist/v1/components/select/select-trigger.cjs +18 -20
- package/dist/v1/components/select/select-trigger.cjs.map +1 -1
- package/dist/v1/components/select/select-trigger.d.ts +10 -18
- package/dist/v1/components/select/select-trigger.d.ts.map +1 -1
- package/dist/v1/components/select/select-trigger.js +16 -18
- package/dist/v1/components/select/select-trigger.js.map +1 -1
- package/dist/v1/components/select/select-value.cjs +23 -7
- package/dist/v1/components/select/select-value.cjs.map +1 -1
- package/dist/v1/components/select/select-value.d.ts +8 -2
- package/dist/v1/components/select/select-value.d.ts.map +1 -1
- package/dist/v1/components/select/select-value.js +22 -6
- package/dist/v1/components/select/select-value.js.map +1 -1
- package/dist/v1/components/select/select.d.ts +11 -9
- package/dist/v1/components/select/select.d.ts.map +1 -1
- package/dist/v1/components/select/select.module.css.cjs +1 -1
- package/dist/v1/components/select/select.module.css.js +1 -1
- package/dist/v1/components/select/types.d.ts +7 -0
- package/dist/v1/components/select/types.d.ts.map +1 -0
- package/dist/v1/components/sidebar/sidebar.cjs +26 -26
- package/dist/v1/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/v1/components/sidebar/sidebar.d.ts +8 -8
- package/dist/v1/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/v1/components/sidebar/sidebar.js +26 -26
- package/dist/v1/components/sidebar/sidebar.js.map +1 -1
- package/dist/v1/components/tooltip/tooltip.cjs +34 -12
- package/dist/v1/components/tooltip/tooltip.cjs.map +1 -1
- package/dist/v1/components/tooltip/tooltip.d.ts +16 -9
- package/dist/v1/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/v1/components/tooltip/tooltip.js +35 -13
- package/dist/v1/components/tooltip/tooltip.js.map +1 -1
- package/dist/v1/components/tooltip/tooltip.module.css.cjs +1 -1
- package/dist/v1/components/tooltip/tooltip.module.css.js +1 -1
- package/dist/v1/components/tooltip/utils.cjs +30 -0
- package/dist/v1/components/tooltip/utils.cjs.map +1 -0
- package/dist/v1/components/tooltip/utils.d.ts +10 -0
- package/dist/v1/components/tooltip/utils.d.ts.map +1 -0
- package/dist/v1/components/tooltip/utils.js +28 -0
- package/dist/v1/components/tooltip/utils.js.map +1 -0
- package/dist/v1/hooks/index.cjs +2 -0
- package/dist/v1/hooks/index.cjs.map +1 -1
- package/dist/v1/hooks/index.d.ts +2 -1
- package/dist/v1/hooks/index.d.ts.map +1 -1
- package/dist/v1/hooks/index.js +1 -0
- package/dist/v1/hooks/index.js.map +1 -1
- package/dist/v1/hooks/useMouse.cjs +53 -0
- package/dist/v1/hooks/useMouse.cjs.map +1 -0
- package/dist/v1/hooks/useMouse.d.ts +20 -0
- package/dist/v1/hooks/useMouse.d.ts.map +1 -0
- package/dist/v1/hooks/useMouse.js +51 -0
- package/dist/v1/hooks/useMouse.js.map +1 -0
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs +0 -2
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js +1 -2
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/v1/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,52 +1,51 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
type ValueType = {
|
|
4
|
-
value?: string;
|
|
5
|
-
icon?: ReactNode;
|
|
6
|
-
};
|
|
1
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
2
|
+
import { ItemType } from './types';
|
|
7
3
|
interface CommonProps {
|
|
8
4
|
autocomplete?: boolean;
|
|
9
|
-
autocompleteMode?:
|
|
5
|
+
autocompleteMode?: 'auto' | 'manual';
|
|
10
6
|
searchValue?: string;
|
|
11
7
|
onSearch?: (value: string) => void;
|
|
12
8
|
defaultSearchValue?: string;
|
|
13
9
|
}
|
|
14
10
|
interface SelectContextValue extends CommonProps {
|
|
15
|
-
value
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
value?: string | string[];
|
|
12
|
+
registerItem: (item: ItemType) => void;
|
|
13
|
+
unregisterItem: (value: string) => void;
|
|
14
|
+
multiple: boolean;
|
|
15
|
+
items: Record<string, ItemType>;
|
|
16
|
+
updateSelectionInProgress: (value: boolean) => void;
|
|
17
|
+
setValue: (value: string) => void;
|
|
18
18
|
}
|
|
19
19
|
interface UseSelectContext extends SelectContextValue {
|
|
20
20
|
shouldFilter?: boolean;
|
|
21
21
|
}
|
|
22
22
|
export declare const useSelectContext: () => UseSelectContext;
|
|
23
|
-
|
|
23
|
+
interface NormalSelectRootProps extends SelectPrimitive.SelectProps {
|
|
24
24
|
autocomplete?: false;
|
|
25
25
|
autocompleteMode?: never;
|
|
26
26
|
searchValue?: never;
|
|
27
27
|
onSearch?: never;
|
|
28
28
|
defaultSearchValue?: never;
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
interface AutocompleteSelectRootProps extends SelectPrimitive.SelectProps, CommonProps {
|
|
31
31
|
autocomplete: true;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
type BaseSelectProps = Omit<NormalSelectRootProps | AutocompleteSelectRootProps, 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'> & {
|
|
34
34
|
htmlAutoComplete?: string;
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
defaultSearchValue?: never;
|
|
36
|
+
interface SingleSelectProps extends BaseSelectProps {
|
|
37
|
+
multiple?: false;
|
|
38
|
+
value?: string;
|
|
39
|
+
onValueChange?: (value: string) => void;
|
|
40
|
+
defaultValue?: string;
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
interface MultipleSelectProps extends BaseSelectProps {
|
|
43
|
+
multiple: true;
|
|
44
|
+
value?: string[];
|
|
45
|
+
onValueChange?: (value: string[]) => void;
|
|
46
|
+
defaultValue?: string[];
|
|
45
47
|
}
|
|
46
|
-
export type
|
|
47
|
-
export
|
|
48
|
-
htmlAutoComplete?: string;
|
|
49
|
-
};
|
|
50
|
-
export declare const SelectRoot: ({ children, value, onValueChange, defaultValue, autocomplete, autocompleteMode, searchValue: providedSearchValue, onSearch, defaultSearchValue, open: controlledOpen, defaultOpen, onOpenChange, htmlAutoComplete, ...props }: SelectRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export type SelectRootProps = SingleSelectProps | MultipleSelectProps;
|
|
49
|
+
export declare const SelectRoot: (props: SelectRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
51
50
|
export {};
|
|
52
51
|
//# sourceMappingURL=select-root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-root.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-root.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-root.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAU1D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,yBAAyB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,UAAU,gBAAiB,SAAQ,kBAAkB;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD,eAAO,MAAM,gBAAgB,QAAO,gBAcnC,CAAC;AAEF,UAAU,qBAAsB,SAAQ,eAAe,CAAC,WAAW;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED,UAAU,2BACR,SAAQ,eAAe,CAAC,WAAW,EACjC,WAAW;IACb,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,KAAK,eAAe,GAAG,IAAI,CACzB,qBAAqB,GAAG,2BAA2B,EACnD,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,cAAc,CAC5D,GAAG;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,UAAU,iBAAkB,SAAQ,eAAe;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,mBAAoB,SAAQ,eAAe;IACnD,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAItE,eAAO,MAAM,UAAU,UAAW,eAAe,4CAiJhD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
|
-
import { createContext, useContext, useState, useRef, useCallback } from 'react';
|
|
3
2
|
import { ComboboxProvider } from '../../node_modules/.pnpm/@ariakit_react-core@0.4.16_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js';
|
|
4
3
|
import { Root as Root2 } from '../../node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js';
|
|
4
|
+
import { createContext, useContext, useState, useId, useRef, useCallback, useMemo } from 'react';
|
|
5
5
|
|
|
6
6
|
/*
|
|
7
7
|
Root context to manage the Select control
|
|
@@ -11,53 +11,95 @@ const SelectContext = createContext(undefined);
|
|
|
11
11
|
const useSelectContext = () => {
|
|
12
12
|
const context = useContext(SelectContext);
|
|
13
13
|
if (!context) {
|
|
14
|
-
throw new Error(
|
|
14
|
+
throw new Error('useSelectContext must be used within a SelectProvider');
|
|
15
15
|
}
|
|
16
16
|
const shouldFilter = !!(context?.autocomplete &&
|
|
17
|
-
context?.autocompleteMode ===
|
|
17
|
+
context?.autocompleteMode === 'auto' &&
|
|
18
18
|
context?.searchValue?.length);
|
|
19
19
|
return {
|
|
20
20
|
...context,
|
|
21
|
-
shouldFilter
|
|
21
|
+
shouldFilter
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
-
const
|
|
24
|
+
const SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';
|
|
25
|
+
const SelectRoot = (props) => {
|
|
26
|
+
const { children, value: providedValue, onValueChange, defaultValue, autocomplete, autocompleteMode = 'auto', searchValue: providedSearchValue, onSearch, defaultSearchValue = '', open: providedOpen, defaultOpen = false, onOpenChange, htmlAutoComplete, multiple = false, ...rest } = props;
|
|
25
27
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
26
28
|
const [internalSearchValue, setInternalSearchValue] = useState(defaultSearchValue);
|
|
27
29
|
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
30
|
+
const [items, setItems] = useState({});
|
|
31
|
+
const id = useId();
|
|
32
|
+
const isSelectionInProgress = useRef(false);
|
|
33
|
+
const computedValue = providedValue ?? internalValue;
|
|
31
34
|
const searchValue = providedSearchValue ?? internalSearchValue;
|
|
32
|
-
const open =
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const open = providedOpen ?? internalOpen;
|
|
36
|
+
const updateSelectionInProgress = useCallback((value) => {
|
|
37
|
+
isSelectionInProgress.current = value;
|
|
38
|
+
}, []);
|
|
39
|
+
const setValue = useCallback((value) => {
|
|
40
|
+
if (multiple) {
|
|
41
|
+
updateSelectionInProgress(true);
|
|
42
|
+
const set = new Set(Array.isArray(computedValue)
|
|
43
|
+
? computedValue
|
|
44
|
+
: [computedValue ?? ''].filter(Boolean));
|
|
45
|
+
if (set.has(value))
|
|
46
|
+
set.delete(value);
|
|
47
|
+
else
|
|
48
|
+
set.add(value);
|
|
49
|
+
const newValue = Array.from(set);
|
|
50
|
+
setInternalValue(newValue);
|
|
51
|
+
onValueChange?.(newValue);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
setInternalValue(value);
|
|
55
|
+
onValueChange?.(value);
|
|
56
|
+
}
|
|
57
|
+
}, [multiple, onValueChange, computedValue, updateSelectionInProgress]);
|
|
37
58
|
const setSearchValue = useCallback((value) => {
|
|
38
59
|
setInternalSearchValue(value);
|
|
39
60
|
onSearch?.(value);
|
|
40
61
|
}, [onSearch]);
|
|
41
62
|
const handleOpenChange = useCallback((value) => {
|
|
63
|
+
if (isSelectionInProgress.current)
|
|
64
|
+
return;
|
|
42
65
|
setInternalOpen(value);
|
|
43
66
|
onOpenChange?.(value);
|
|
44
67
|
}, [onOpenChange]);
|
|
45
|
-
const
|
|
46
|
-
|
|
68
|
+
const registerItem = useCallback(item => {
|
|
69
|
+
setItems(prev => ({ ...prev, [item.value]: item }));
|
|
47
70
|
}, []);
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
71
|
+
const unregisterItem = useCallback(value => {
|
|
72
|
+
setItems(prev => {
|
|
73
|
+
const { [value]: _, ...rest } = prev;
|
|
74
|
+
return rest;
|
|
75
|
+
});
|
|
51
76
|
}, []);
|
|
77
|
+
/*
|
|
78
|
+
* Radix internally shows the placeholder when the value is empty.
|
|
79
|
+
* This value is used to manage the internal value of Radix Select to make it work
|
|
80
|
+
*/
|
|
81
|
+
const radixValue = useMemo(() => {
|
|
82
|
+
if (!computedValue)
|
|
83
|
+
return '';
|
|
84
|
+
if (typeof computedValue === 'string')
|
|
85
|
+
return computedValue;
|
|
86
|
+
if (computedValue.length)
|
|
87
|
+
return `${SELECT_INTERNAL_VALUE}-${id}`;
|
|
88
|
+
return '';
|
|
89
|
+
}, [computedValue, id]);
|
|
52
90
|
const element = (jsxRuntimeExports.jsx(ComboboxProvider, { resetValueOnHide: true, focusLoop: false, includesBaseElement: false, value: searchValue, setValue: setSearchValue, open: open, setOpen: handleOpenChange, children: children }));
|
|
53
91
|
return (jsxRuntimeExports.jsx(SelectContext.Provider, { value: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
92
|
+
value: computedValue,
|
|
93
|
+
registerItem,
|
|
94
|
+
unregisterItem,
|
|
57
95
|
autocomplete,
|
|
58
96
|
autocompleteMode,
|
|
59
97
|
searchValue,
|
|
60
|
-
|
|
98
|
+
multiple,
|
|
99
|
+
items,
|
|
100
|
+
updateSelectionInProgress,
|
|
101
|
+
setValue
|
|
102
|
+
}, children: jsxRuntimeExports.jsx(Root2, { autoComplete: htmlAutoComplete, value: radixValue, onValueChange: setValue, open: open, onOpenChange: handleOpenChange, ...rest, children: autocomplete ? element : children }) }));
|
|
61
103
|
};
|
|
62
104
|
|
|
63
105
|
export { SelectRoot, useSelectContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-root.js","sources":["../../../../v1/components/select/select-root.tsx"],"sourcesContent":["import {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useRef,\n useState,\n} from \"react\";\nimport { ComboboxProvider } from \"@ariakit/react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\n\ntype IconType = Record<string, ReactNode>;\ntype ValueType = {\n value?: string;\n icon?: ReactNode;\n};\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: \"auto\" | \"manual\";\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value: ValueType;\n registerIcon: (value: string, icon: ReactNode) => void;\n unregisterIcon: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error(\"useSelectContext must be used within a SelectProvider\");\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === \"auto\" &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter,\n };\n};\n\nexport interface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\nexport interface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\nexport type SelectRootProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n \"autoComplete\"\n> & {\n htmlAutoComplete?: string;\n};\n\nexport interface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\nexport interface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\nexport type BaseSelectRootProps =\n | NormalSelectRootProps\n | AutocompleteSelectRootProps;\n\nexport type SelectRootProps = Omit<BaseSelectRootProps, \"autoComplete\"> & {\n htmlAutoComplete?: string;\n};\n\nexport const SelectRoot = ({\n children,\n value,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = \"auto\",\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = \"\",\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n ...props\n}: SelectRootProps) => {\n const [internalValue, setInternalValue] = useState<string | undefined>(\n defaultValue,\n );\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const icons = useRef<IconType>({});\n\n const computedValue = value ?? internalValue;\n const icon = computedValue && icons.current?.[computedValue];\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = controlledOpen ?? internalOpen;\n\n const setValue = useCallback(\n (_value: string) => {\n onValueChange?.(_value);\n setInternalValue(_value);\n },\n [onValueChange],\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch],\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange],\n );\n\n const registerIcon = useCallback<SelectContextValue[\"registerIcon\"]>(\n (value, icon) => {\n icons.current = { ...icons.current, [value]: icon };\n },\n [],\n );\n const unregisterIcon = useCallback<SelectContextValue[\"unregisterIcon\"]>(\n value => {\n const { [value]: _, ...rest } = icons.current;\n icons.current = rest;\n },\n [],\n );\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}>\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n registerIcon,\n unregisterIcon,\n value: { value: computedValue, icon },\n autocomplete,\n autocompleteMode,\n searchValue,\n }}>\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={computedValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...props}>\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["_jsx","SelectPrimitive.Root"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-root.js","sources":["../../../../v1/components/select/select-root.tsx"],"sourcesContent":["import { ComboboxProvider } from '@ariakit/react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { ItemType } from './types';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value?: string | string[];\n registerItem: (item: ItemType) => void;\n unregisterItem: (value: string) => void;\n multiple: boolean;\n items: Record<string, ItemType>;\n updateSelectionInProgress: (value: boolean) => void;\n setValue: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error('useSelectContext must be used within a SelectProvider');\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter\n };\n};\n\ninterface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\ninterface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\ntype BaseSelectProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'\n> & {\n htmlAutoComplete?: string;\n};\n\ninterface SingleSelectProps extends BaseSelectProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\n\ninterface MultipleSelectProps extends BaseSelectProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\n\nexport type SelectRootProps = SingleSelectProps | MultipleSelectProps;\n\nconst SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';\n\nexport const SelectRoot = (props: SelectRootProps) => {\n const {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = '',\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n multiple = false,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [items, setItems] = useState<SelectContextValue['items']>({});\n const id = useId();\n const isSelectionInProgress = useRef(false);\n\n const computedValue = providedValue ?? internalValue;\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = providedOpen ?? internalOpen;\n\n const updateSelectionInProgress = useCallback((value: boolean) => {\n isSelectionInProgress.current = value;\n }, []);\n\n const setValue = useCallback(\n (value: string) => {\n if (multiple) {\n updateSelectionInProgress(true);\n const set = new Set<string>(\n Array.isArray(computedValue)\n ? computedValue\n : [computedValue ?? ''].filter(Boolean)\n );\n\n if (set.has(value)) set.delete(value);\n else set.add(value);\n\n const newValue = Array.from(set);\n\n setInternalValue(newValue);\n (onValueChange as MultipleSelectProps['onValueChange'])?.(newValue);\n } else {\n setInternalValue(value);\n (onValueChange as SingleSelectProps['onValueChange'])?.(value);\n }\n },\n [multiple, onValueChange, computedValue, updateSelectionInProgress]\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n if (isSelectionInProgress.current) return;\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n const registerItem = useCallback<SelectContextValue['registerItem']>(item => {\n setItems(prev => ({ ...prev, [item.value]: item }));\n }, []);\n\n const unregisterItem = useCallback<SelectContextValue['unregisterItem']>(\n value => {\n setItems(prev => {\n const { [value]: _, ...rest } = prev;\n return rest;\n });\n },\n []\n );\n\n /*\n * Radix internally shows the placeholder when the value is empty.\n * This value is used to manage the internal value of Radix Select to make it work\n */\n const radixValue = useMemo(() => {\n if (!computedValue) return '';\n if (typeof computedValue === 'string') return computedValue;\n if (computedValue.length) return `${SELECT_INTERNAL_VALUE}-${id}`;\n return '';\n }, [computedValue, id]);\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}\n >\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n value: computedValue,\n registerItem,\n unregisterItem,\n autocomplete,\n autocompleteMode,\n searchValue,\n multiple,\n items,\n updateSelectionInProgress,\n setValue\n }}\n >\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={radixValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...rest}\n >\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["_jsx","SelectPrimitive.Root"],"mappings":"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"}
|
|
@@ -1,37 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
|
|
4
|
-
var React = require('react');
|
|
5
4
|
var reactIcons_esm = require('../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs');
|
|
6
5
|
var index = require('../../node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs');
|
|
7
|
-
var index$1 = require('../../node_modules/.pnpm
|
|
6
|
+
var index$1 = require('../../node_modules/.pnpm/@radix-ui_react-slot@1.0.2_@types_react@18.2.12_react@18.2.0/node_modules/@radix-ui/react-slot/dist/index.cjs');
|
|
7
|
+
var index$2 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var flex = require('../flex/flex.cjs');
|
|
10
|
+
var selectRoot = require('./select-root.cjs');
|
|
8
11
|
var select_module = require('./select.module.css.cjs');
|
|
9
12
|
|
|
10
|
-
const trigger = index$
|
|
13
|
+
const trigger = index$2.cva(select_module.default.trigger, {
|
|
11
14
|
variants: {
|
|
12
15
|
size: {
|
|
13
|
-
small: select_module.default[
|
|
14
|
-
medium: select_module.default[
|
|
16
|
+
small: select_module.default['trigger-small'],
|
|
17
|
+
medium: select_module.default['trigger-medium']
|
|
15
18
|
},
|
|
16
19
|
variant: {
|
|
17
|
-
outline: select_module.default[
|
|
18
|
-
text: select_module.default[
|
|
19
|
-
}
|
|
20
|
+
outline: select_module.default['trigger-outline'],
|
|
21
|
+
text: select_module.default['trigger-text']
|
|
22
|
+
}
|
|
20
23
|
},
|
|
21
24
|
defaultVariants: {
|
|
22
|
-
size:
|
|
23
|
-
variant:
|
|
24
|
-
}
|
|
25
|
+
size: 'medium',
|
|
26
|
+
variant: 'outline'
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const SelectTrigger = React.forwardRef(({ size, variant, className, children, iconProps = {}, asChild, 'aria-label': ariaLabel, ...props }, ref) => {
|
|
30
|
+
const { multiple, autocomplete } = selectRoot.useSelectContext();
|
|
31
|
+
return (jsxRuntime.jsxRuntimeExports.jsxs(index.Trigger, { "data-multiselectable": multiple ? true : undefined, ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || 'Select option', "aria-haspopup": autocomplete ? 'dialog' : 'listbox', ...props, children: [jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { className: select_module.default.triggerContent, align: 'center', gap: 2, children: asChild ? jsxRuntime.jsxRuntimeExports.jsx(index$1.Slot, { children: children }) : children }), jsxRuntime.jsxRuntimeExports.jsx(index.Icon, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: select_module.default.triggerIcon, "aria-hidden": 'true', ...iconProps }) })] }));
|
|
25
32
|
});
|
|
26
|
-
const SelectTrigger = React.forwardRef(({ size, variant, className, children, iconProps = {}, "aria-label": ariaLabel, style, stopPropagation = false, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs(index.Trigger, { ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || "Select option", style: {
|
|
27
|
-
...style,
|
|
28
|
-
display: "flex",
|
|
29
|
-
justifyContent: "space-between",
|
|
30
|
-
}, onPointerDown: e => {
|
|
31
|
-
if (stopPropagation) {
|
|
32
|
-
e.stopPropagation();
|
|
33
|
-
}
|
|
34
|
-
}, ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("div", { className: select_module.default.triggerContent, children: children }), jsxRuntime.jsxRuntimeExports.jsx(index.Icon, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: select_module.default.triggerIcon, "aria-hidden": "true", ...iconProps }) })] })));
|
|
35
33
|
SelectTrigger.displayName = index.Trigger.displayName;
|
|
36
34
|
|
|
37
35
|
exports.SelectTrigger = SelectTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-trigger.cjs","sources":["../../../../v1/components/select/select-trigger.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"select-trigger.cjs","sources":["../../../../v1/components/select/select-trigger.tsx"],"sourcesContent":["import { ChevronDownIcon } from '@radix-ui/react-icons';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { ElementRef, SVGAttributes, forwardRef } from 'react';\nimport { Flex } from '../flex';\nimport { useSelectContext } from './select-root';\nimport styles from './select.module.css';\n\nexport interface IconProps extends SVGAttributes<SVGElement> {\n children?: never;\n color?: string;\n}\n\nconst trigger = cva(styles.trigger, {\n variants: {\n size: {\n small: styles['trigger-small'],\n medium: styles['trigger-medium']\n },\n variant: {\n outline: styles['trigger-outline'],\n text: styles['trigger-text']\n }\n },\n defaultVariants: {\n size: 'medium',\n variant: 'outline'\n }\n});\n\nexport interface SelectTriggerProps\n extends SelectPrimitive.SelectTriggerProps,\n VariantProps<typeof trigger> {\n iconProps?: IconProps;\n}\n\nexport const SelectTrigger = forwardRef<\n ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(\n (\n {\n size,\n variant,\n className,\n children,\n iconProps = {},\n asChild,\n 'aria-label': ariaLabel,\n ...props\n },\n ref\n ) => {\n const { multiple, autocomplete } = useSelectContext();\n return (\n <SelectPrimitive.Trigger\n data-multiselectable={multiple ? true : undefined}\n ref={ref}\n className={trigger({ size, variant, className })}\n aria-label={ariaLabel || 'Select option'}\n aria-haspopup={autocomplete ? 'dialog' : 'listbox'}\n {...props}\n >\n <Flex className={styles.triggerContent} align='center' gap={2}>\n {asChild ? <Slot>{children}</Slot> : children}\n </Flex>\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon\n className={styles.triggerIcon}\n aria-hidden='true'\n {...iconProps}\n />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n }\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n"],"names":["cva","styles","forwardRef","useSelectContext","_jsxs","SelectPrimitive.Trigger","_jsx","Flex","Slot","SelectPrimitive.Icon","ChevronDownIcon"],"mappings":";;;;;;;;;;;;AAcA,MAAM,OAAO,GAAGA,WAAG,CAACC,qBAAM,CAAC,OAAO,EAAE;AAClC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAEA,qBAAM,CAAC,eAAe,CAAC;AAC9B,YAAA,MAAM,EAAEA,qBAAM,CAAC,gBAAgB,CAAC;AACjC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAEA,qBAAM,CAAC,iBAAiB,CAAC;AAClC,YAAA,IAAI,EAAEA,qBAAM,CAAC,cAAc,CAAC;AAC7B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA;AACF,CAAA,CAAC,CAAC;AAQI,MAAM,aAAa,GAAGC,gBAAU,CAIrC,CACE,EACE,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,OAAO,EACP,YAAY,EAAE,SAAS,EACvB,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAGC,2BAAgB,EAAE,CAAC;IACtD,QACEC,kCAACC,aAAuB,EACA,EAAA,sBAAA,EAAA,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACpC,YAAA,EAAA,SAAS,IAAI,eAAe,EACzB,eAAA,EAAA,YAAY,GAAG,QAAQ,GAAG,SAAS,EAC9C,GAAA,KAAK,EAET,QAAA,EAAA,CAAAC,gCAAA,CAACC,SAAI,EAAA,EAAC,SAAS,EAAEN,qBAAM,CAAC,cAAc,EAAE,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YAC1D,OAAO,GAAGK,gCAAC,CAAAE,YAAI,cAAE,QAAQ,EAAA,CAAQ,GAAG,QAAQ,GACxC,EACPF,gCAAA,CAACG,UAAoB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC3BH,gCAAC,CAAAI,8BAAe,EACd,EAAA,SAAS,EAAET,qBAAM,CAAC,WAAW,EAAA,aAAA,EACjB,MAAM,EAAA,GACd,SAAS,EACb,CAAA,EAAA,CACmB,CACC,EAAA,CAAA,EAC1B;AACJ,CAAC,EACD;AACF,aAAa,CAAC,WAAW,GAAGI,aAAuB,CAAC,WAAW;;;;"}
|
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
export interface AriaProps {
|
|
5
|
-
"aria-label"?: string;
|
|
6
|
-
"aria-describedby"?: string;
|
|
7
|
-
"aria-required"?: boolean;
|
|
8
|
-
"aria-invalid"?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export interface TriggerStyleProps {
|
|
11
|
-
style?: React.CSSProperties;
|
|
12
|
-
className?: string;
|
|
13
|
-
stopPropagation?: boolean;
|
|
14
|
-
}
|
|
1
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { SVGAttributes } from 'react';
|
|
15
4
|
export interface IconProps extends SVGAttributes<SVGElement> {
|
|
16
5
|
children?: never;
|
|
17
6
|
color?: string;
|
|
18
7
|
}
|
|
19
|
-
|
|
8
|
+
declare const trigger: (props?: ({
|
|
20
9
|
size?: "small" | "medium" | null | undefined;
|
|
21
10
|
variant?: "text" | "outline" | null | undefined;
|
|
22
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
export interface SelectTriggerProps extends SelectPrimitive.SelectTriggerProps, VariantProps<typeof trigger> {
|
|
13
|
+
iconProps?: IconProps;
|
|
14
|
+
}
|
|
15
|
+
export declare const SelectTrigger: import("react").ForwardRefExoticComponent<SelectTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export {};
|
|
25
17
|
//# sourceMappingURL=select-trigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-trigger.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-trigger.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-trigger.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-trigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAc,aAAa,EAAc,MAAM,OAAO,CAAC;AAK9D,MAAM,WAAW,SAAU,SAAQ,aAAa,CAAC,UAAU,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,OAAO;;;8EAeX,CAAC;AAEH,MAAM,WAAW,kBACf,SAAQ,eAAe,CAAC,kBAAkB,EACxC,YAAY,CAAC,OAAO,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,kHAwCzB,CAAC"}
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
2
|
import { ChevronDownIcon } from '../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
|
4
3
|
import { Trigger, Icon } from '../../node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js';
|
|
4
|
+
import { Slot as $5e63c961fc1ce211$export$8c6ed5c666ac1360 } from '../../node_modules/.pnpm/@radix-ui_react-slot@1.0.2_@types_react@18.2.12_react@18.2.0/node_modules/@radix-ui/react-slot/dist/index.js';
|
|
5
5
|
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import { Flex } from '../flex/flex.js';
|
|
8
|
+
import { useSelectContext } from './select-root.js';
|
|
6
9
|
import styles from './select.module.css.js';
|
|
7
10
|
|
|
8
11
|
const trigger = cva(styles.trigger, {
|
|
9
12
|
variants: {
|
|
10
13
|
size: {
|
|
11
|
-
small: styles[
|
|
12
|
-
medium: styles[
|
|
14
|
+
small: styles['trigger-small'],
|
|
15
|
+
medium: styles['trigger-medium']
|
|
13
16
|
},
|
|
14
17
|
variant: {
|
|
15
|
-
outline: styles[
|
|
16
|
-
text: styles[
|
|
17
|
-
}
|
|
18
|
+
outline: styles['trigger-outline'],
|
|
19
|
+
text: styles['trigger-text']
|
|
20
|
+
}
|
|
18
21
|
},
|
|
19
22
|
defaultVariants: {
|
|
20
|
-
size:
|
|
21
|
-
variant:
|
|
22
|
-
}
|
|
23
|
+
size: 'medium',
|
|
24
|
+
variant: 'outline'
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
const SelectTrigger = forwardRef(({ size, variant, className, children, iconProps = {}, asChild, 'aria-label': ariaLabel, ...props }, ref) => {
|
|
28
|
+
const { multiple, autocomplete } = useSelectContext();
|
|
29
|
+
return (jsxRuntimeExports.jsxs(Trigger, { "data-multiselectable": multiple ? true : undefined, ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || 'Select option', "aria-haspopup": autocomplete ? 'dialog' : 'listbox', ...props, children: [jsxRuntimeExports.jsx(Flex, { className: styles.triggerContent, align: 'center', gap: 2, children: asChild ? jsxRuntimeExports.jsx($5e63c961fc1ce211$export$8c6ed5c666ac1360, { children: children }) : children }), jsxRuntimeExports.jsx(Icon, { asChild: true, children: jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles.triggerIcon, "aria-hidden": 'true', ...iconProps }) })] }));
|
|
23
30
|
});
|
|
24
|
-
const SelectTrigger = forwardRef(({ size, variant, className, children, iconProps = {}, "aria-label": ariaLabel, style, stopPropagation = false, ...props }, ref) => (jsxRuntimeExports.jsxs(Trigger, { ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || "Select option", style: {
|
|
25
|
-
...style,
|
|
26
|
-
display: "flex",
|
|
27
|
-
justifyContent: "space-between",
|
|
28
|
-
}, onPointerDown: e => {
|
|
29
|
-
if (stopPropagation) {
|
|
30
|
-
e.stopPropagation();
|
|
31
|
-
}
|
|
32
|
-
}, ...props, children: [jsxRuntimeExports.jsx("div", { className: styles.triggerContent, children: children }), jsxRuntimeExports.jsx(Icon, { asChild: true, children: jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles.triggerIcon, "aria-hidden": "true", ...iconProps }) })] })));
|
|
33
31
|
SelectTrigger.displayName = Trigger.displayName;
|
|
34
32
|
|
|
35
33
|
export { SelectTrigger };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-trigger.js","sources":["../../../../v1/components/select/select-trigger.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"select-trigger.js","sources":["../../../../v1/components/select/select-trigger.tsx"],"sourcesContent":["import { ChevronDownIcon } from '@radix-ui/react-icons';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { ElementRef, SVGAttributes, forwardRef } from 'react';\nimport { Flex } from '../flex';\nimport { useSelectContext } from './select-root';\nimport styles from './select.module.css';\n\nexport interface IconProps extends SVGAttributes<SVGElement> {\n children?: never;\n color?: string;\n}\n\nconst trigger = cva(styles.trigger, {\n variants: {\n size: {\n small: styles['trigger-small'],\n medium: styles['trigger-medium']\n },\n variant: {\n outline: styles['trigger-outline'],\n text: styles['trigger-text']\n }\n },\n defaultVariants: {\n size: 'medium',\n variant: 'outline'\n }\n});\n\nexport interface SelectTriggerProps\n extends SelectPrimitive.SelectTriggerProps,\n VariantProps<typeof trigger> {\n iconProps?: IconProps;\n}\n\nexport const SelectTrigger = forwardRef<\n ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(\n (\n {\n size,\n variant,\n className,\n children,\n iconProps = {},\n asChild,\n 'aria-label': ariaLabel,\n ...props\n },\n ref\n ) => {\n const { multiple, autocomplete } = useSelectContext();\n return (\n <SelectPrimitive.Trigger\n data-multiselectable={multiple ? true : undefined}\n ref={ref}\n className={trigger({ size, variant, className })}\n aria-label={ariaLabel || 'Select option'}\n aria-haspopup={autocomplete ? 'dialog' : 'listbox'}\n {...props}\n >\n <Flex className={styles.triggerContent} align='center' gap={2}>\n {asChild ? <Slot>{children}</Slot> : children}\n </Flex>\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon\n className={styles.triggerIcon}\n aria-hidden='true'\n {...iconProps}\n />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n }\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n"],"names":["_jsxs","SelectPrimitive.Trigger","_jsx","Slot","SelectPrimitive.Icon"],"mappings":";;;;;;;;;;AAcA,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;AAClC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC;AAC9B,YAAA,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC;AACjC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAClC,YAAA,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA;AACF,CAAA,CAAC,CAAC;AAQI,MAAM,aAAa,GAAG,UAAU,CAIrC,CACE,EACE,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,OAAO,EACP,YAAY,EAAE,SAAS,EACvB,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtD,QACEA,uBAACC,OAAuB,EACA,EAAA,sBAAA,EAAA,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACpC,YAAA,EAAA,SAAS,IAAI,eAAe,EACzB,eAAA,EAAA,YAAY,GAAG,QAAQ,GAAG,SAAS,EAC9C,GAAA,KAAK,EAET,QAAA,EAAA,CAAAC,qBAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YAC1D,OAAO,GAAGA,qBAAC,CAAAC,yCAAI,cAAE,QAAQ,EAAA,CAAQ,GAAG,QAAQ,GACxC,EACPD,qBAAA,CAACE,IAAoB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC3BF,qBAAC,CAAA,eAAe,EACd,EAAA,SAAS,EAAE,MAAM,CAAC,WAAW,EAAA,aAAA,EACjB,MAAM,EAAA,GACd,SAAS,EACb,CAAA,EAAA,CACmB,CACC,EAAA,CAAA,EAC1B;AACJ,CAAC,EACD;AACF,aAAa,CAAC,WAAW,GAAGD,OAAuB,CAAC,WAAW;;;;"}
|
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
|
|
4
|
+
var index = require('../../node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs');
|
|
5
|
+
var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
4
6
|
var React = require('react');
|
|
5
|
-
var
|
|
6
|
-
var select_module = require('./select.module.css.cjs');
|
|
7
|
+
var selectMultipleValue = require('./select-multiple-value.cjs');
|
|
7
8
|
var selectRoot = require('./select-root.cjs');
|
|
8
|
-
var
|
|
9
|
+
var select_module = require('./select.module.css.cjs');
|
|
9
10
|
|
|
10
11
|
const SelectValue = React.forwardRef(({ children, ...props }, ref) => {
|
|
11
|
-
const { value } = selectRoot.useSelectContext();
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
const { value, items, multiple } = selectRoot.useSelectContext();
|
|
13
|
+
const item = React.useMemo(() => {
|
|
14
|
+
if (!value)
|
|
15
|
+
return undefined;
|
|
16
|
+
if (multiple && Array.isArray(value)) {
|
|
17
|
+
const itemValues = value.map(v => items[v]);
|
|
18
|
+
if (itemValues.length === 1)
|
|
19
|
+
return itemValues[0];
|
|
20
|
+
return itemValues;
|
|
21
|
+
}
|
|
22
|
+
return items[value];
|
|
23
|
+
}, [value, items, multiple]);
|
|
24
|
+
if (children) {
|
|
25
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(index.Value, { ref: ref, ...props, children: typeof children === 'function' ? children(item) : children }));
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(item))
|
|
28
|
+
return jsxRuntime.jsxRuntimeExports.jsx(selectMultipleValue.SelectMultipleValue, { data: item, ref: ref, ...props });
|
|
29
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(index.Value, { ref: ref, ...props, children: jsxRuntime.jsxRuntimeExports.jsxs("div", { className: index$1.cx(select_module.default.valueContent), children: [typeof item?.children === 'string' && item?.leadingIcon && (jsxRuntime.jsxRuntimeExports.jsx("div", { className: select_module.default.itemIcon, children: item.leadingIcon })), item?.children ?? value] }) }));
|
|
14
30
|
});
|
|
15
|
-
SelectValue.displayName = index
|
|
31
|
+
SelectValue.displayName = index.Value.displayName;
|
|
16
32
|
|
|
17
33
|
exports.SelectValue = SelectValue;
|
|
18
34
|
//# sourceMappingURL=select-value.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-value.cjs","sources":["../../../../v1/components/select/select-value.tsx"],"sourcesContent":["import { ElementRef, forwardRef } from
|
|
1
|
+
{"version":3,"file":"select-value.cjs","sources":["../../../../v1/components/select/select-value.tsx"],"sourcesContent":["import * as SelectPrimitive from '@radix-ui/react-select';\nimport { cx } from 'class-variance-authority';\nimport { ElementRef, ReactNode, forwardRef, useMemo } from 'react';\nimport { SelectMultipleValue } from './select-multiple-value';\nimport { useSelectContext } from './select-root';\nimport styles from './select.module.css';\nimport { ItemType } from './types';\n\ntype ValueType = Omit<ItemType, 'children'>;\n\ntype SelectValueProps = Omit<SelectPrimitive.SelectValueProps, 'children'> & {\n children?: ((value?: ValueType | ValueType[]) => ReactNode) | ReactNode;\n};\n\nexport const SelectValue = forwardRef<\n ElementRef<typeof SelectPrimitive.Value>,\n SelectValueProps\n>(({ children, ...props }, ref) => {\n const { value, items, multiple } = useSelectContext();\n\n const item = useMemo(() => {\n if (!value) return undefined;\n if (multiple && Array.isArray(value)) {\n const itemValues = value.map(v => items[v]);\n if (itemValues.length === 1) return itemValues[0];\n return itemValues;\n }\n return items[value as string];\n }, [value, items, multiple]);\n\n if (children) {\n return (\n <SelectPrimitive.Value ref={ref} {...props}>\n {typeof children === 'function' ? children(item) : children}\n </SelectPrimitive.Value>\n );\n }\n\n if (Array.isArray(item))\n return <SelectMultipleValue data={item} ref={ref} {...props} />;\n\n return (\n <SelectPrimitive.Value ref={ref} {...props}>\n <div className={cx(styles.valueContent)}>\n {typeof item?.children === 'string' && item?.leadingIcon && (\n <div className={styles.itemIcon}>{item.leadingIcon}</div>\n )}\n {item?.children ?? value}\n </div>\n </SelectPrimitive.Value>\n );\n});\nSelectValue.displayName = SelectPrimitive.Value.displayName;\n"],"names":["forwardRef","useSelectContext","useMemo","_jsx","SelectPrimitive.Value","SelectMultipleValue","_jsxs","cx","styles"],"mappings":";;;;;;;;;;AAca,MAAA,WAAW,GAAGA,gBAAU,CAGnC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAChC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAGC,2BAAgB,EAAE,CAAC;AAEtD,IAAA,MAAM,IAAI,GAAGC,aAAO,CAAC,MAAK;AACxB,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,SAAS,CAAC;QAC7B,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,YAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AAClD,YAAA,OAAO,UAAU,CAAC;SACnB;AACD,QAAA,OAAO,KAAK,CAAC,KAAe,CAAC,CAAC;KAC/B,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,IAAI,QAAQ,EAAE;AACZ,QAAA,QACEC,gCAAA,CAACC,WAAqB,EAAA,EAAC,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAA,QAAA,EACvC,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAA,CACrC,EACxB;KACH;AAED,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AACrB,QAAA,OAAOD,gCAAC,CAAAE,uCAAmB,EAAC,EAAA,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAM,GAAA,KAAK,GAAI,CAAC;IAElE,QACEF,gCAAC,CAAAC,WAAqB,IAAC,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAA,QAAA,EACxCE,2CAAK,SAAS,EAAEC,UAAE,CAACC,qBAAM,CAAC,YAAY,CAAC,EACpC,QAAA,EAAA,CAAA,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,IAAI,IAAI,EAAE,WAAW,KACtDL,gCAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEK,qBAAM,CAAC,QAAQ,EAAG,QAAA,EAAA,IAAI,CAAC,WAAW,EAAA,CAAO,CAC1D,EACA,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAA,EAAA,CACpB,EACgB,CAAA,EACxB;AACJ,CAAC,EAAE;AACH,WAAW,CAAC,WAAW,GAAGJ,WAAqB,CAAC,WAAW;;;;"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import * as SelectPrimitive from
|
|
2
|
-
|
|
1
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { ItemType } from './types';
|
|
4
|
+
type ValueType = Omit<ItemType, 'children'>;
|
|
5
|
+
export declare const SelectValue: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectValueProps, "children"> & {
|
|
6
|
+
children?: ReactNode | ((value?: ValueType | ValueType[]) => ReactNode);
|
|
7
|
+
} & import("react").RefAttributes<HTMLSpanElement>>;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=select-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-value.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-value.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-value.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAc,SAAS,EAAuB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,KAAK,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAM5C,eAAO,MAAM,WAAW;qCAHD,SAAS,GAAG,SAAS,EAAE,KAAK,SAAS;mDAwC1D,CAAC"}
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
2
|
import { Value } from '../../node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js';
|
|
4
|
-
import styles from './select.module.css.js';
|
|
5
|
-
import { useSelectContext } from './select-root.js';
|
|
6
3
|
import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
+
import { forwardRef, useMemo } from 'react';
|
|
5
|
+
import { SelectMultipleValue } from './select-multiple-value.js';
|
|
6
|
+
import { useSelectContext } from './select-root.js';
|
|
7
|
+
import styles from './select.module.css.js';
|
|
7
8
|
|
|
8
9
|
const SelectValue = forwardRef(({ children, ...props }, ref) => {
|
|
9
|
-
const { value } = useSelectContext();
|
|
10
|
-
const
|
|
11
|
-
|
|
10
|
+
const { value, items, multiple } = useSelectContext();
|
|
11
|
+
const item = useMemo(() => {
|
|
12
|
+
if (!value)
|
|
13
|
+
return undefined;
|
|
14
|
+
if (multiple && Array.isArray(value)) {
|
|
15
|
+
const itemValues = value.map(v => items[v]);
|
|
16
|
+
if (itemValues.length === 1)
|
|
17
|
+
return itemValues[0];
|
|
18
|
+
return itemValues;
|
|
19
|
+
}
|
|
20
|
+
return items[value];
|
|
21
|
+
}, [value, items, multiple]);
|
|
22
|
+
if (children) {
|
|
23
|
+
return (jsxRuntimeExports.jsx(Value, { ref: ref, ...props, children: typeof children === 'function' ? children(item) : children }));
|
|
24
|
+
}
|
|
25
|
+
if (Array.isArray(item))
|
|
26
|
+
return jsxRuntimeExports.jsx(SelectMultipleValue, { data: item, ref: ref, ...props });
|
|
27
|
+
return (jsxRuntimeExports.jsx(Value, { ref: ref, ...props, children: jsxRuntimeExports.jsxs("div", { className: cx(styles.valueContent), children: [typeof item?.children === 'string' && item?.leadingIcon && (jsxRuntimeExports.jsx("div", { className: styles.itemIcon, children: item.leadingIcon })), item?.children ?? value] }) }));
|
|
12
28
|
});
|
|
13
29
|
SelectValue.displayName = Value.displayName;
|
|
14
30
|
|