@vibe/core 3.62.1-alpha-ab54f.0 → 3.63.0-alpha-f3bbe.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/components/DropdownNew/Dropdown.types.d.ts +2 -2
- package/dist/components/DropdownNew/hooks/useDropdownCombobox.d.ts +2 -1
- package/dist/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -1
- package/dist/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +2 -1
- package/dist/components/DropdownNew/hooks/useDropdownSelect.d.ts +2 -1
- package/dist/components/Modal/Modal/Modal.types.d.ts +0 -8
- package/dist/metadata.json +1 -12
- package/dist/mocked_classnames/components/DropdownNew/Dropdown.types.d.ts +2 -2
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownCombobox.d.ts +2 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +2 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownSelect.d.ts +2 -1
- package/dist/mocked_classnames/components/Modal/Modal/Modal.types.d.ts +0 -8
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js +1 -1
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -1
- package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js.map +1 -1
- package/dist/mocked_classnames/src/types/Colors.js +1 -1
- package/dist/mocked_classnames/src/types/Colors.js.map +1 -1
- package/dist/mocked_classnames/types/Colors.d.ts +0 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js +1 -1
- package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -1
- package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js +1 -1
- package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -1
- package/dist/src/components/DropdownNew/modes/DropdownSelectController.js +1 -1
- package/dist/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -1
- package/dist/src/components/Modal/Modal/Modal.js +1 -1
- package/dist/src/components/Modal/Modal/Modal.js.map +1 -1
- package/dist/src/types/Colors.js +1 -1
- package/dist/src/types/Colors.js.map +1 -1
- package/dist/types/Colors.d.ts +0 -1
- package/package.json +3 -3
|
@@ -29,7 +29,7 @@ interface MultiSelectSpecifics<Item extends BaseListItemData<Record<string, unkn
|
|
|
29
29
|
/**
|
|
30
30
|
* Callback fired when the selected values change in multi-select mode.
|
|
31
31
|
*/
|
|
32
|
-
onChange?: (options: BaseListItemData<Item>[]) => void;
|
|
32
|
+
onChange?: (options: BaseListItemData<Item>[], event: React.SyntheticEvent) => void;
|
|
33
33
|
}
|
|
34
34
|
interface SingleSelectSpecifics<Item extends BaseListItemData<Record<string, unknown>>> {
|
|
35
35
|
/**
|
|
@@ -59,7 +59,7 @@ interface SingleSelectSpecifics<Item extends BaseListItemData<Record<string, unk
|
|
|
59
59
|
/**
|
|
60
60
|
* Callback fired when the selected value changes in single-select mode.
|
|
61
61
|
*/
|
|
62
|
-
onChange?: (option: BaseListItemData<Item
|
|
62
|
+
onChange?: (option: BaseListItemData<Item>, event: React.SyntheticEvent) => void;
|
|
63
63
|
}
|
|
64
64
|
export type BaseDropdownProps<Item extends BaseListItemData<Record<string, unknown>>> = VibeComponentProps & {
|
|
65
65
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
2
3
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
3
|
-
declare function useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, isMenuOpen?: boolean, autoFocus?: boolean, closeMenuOnSelect?: boolean, defaultValue?: T, value?: T, inputValueProp?: string, onChange?: (option: T | T[] | null) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
|
+
declare function useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, isMenuOpen?: boolean, autoFocus?: boolean, closeMenuOnSelect?: boolean, defaultValue?: T, value?: T, inputValueProp?: string, onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
2
3
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
3
|
-
declare function useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], inputValueProp?: string, onChange?: (options: T[]) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
|
+
declare function useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], inputValueProp?: string, onChange?: (options: T[], event?: React.SyntheticEvent) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
2
3
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
3
|
-
declare function useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], onChange?: (options: T[]) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
|
+
declare function useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], onChange?: (options: T[], event?: React.SyntheticEvent) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
2
3
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
3
|
-
declare function useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, autoFocus?: boolean, isMenuOpen?: boolean, defaultValue?: T, value?: T, onChange?: (option: T | T[] | null) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
|
+
declare function useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, autoFocus?: boolean, isMenuOpen?: boolean, defaultValue?: T, value?: T, onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -53,14 +53,6 @@ export interface ModalProps extends VibeComponentProps {
|
|
|
53
53
|
* - Any other value (e.g., null, undefined) would act as `false`.
|
|
54
54
|
*/
|
|
55
55
|
onFocusAttempt?: (nextFocusedElement?: HTMLElement) => boolean | HTMLElement;
|
|
56
|
-
/**
|
|
57
|
-
* Whether to return focus to the element that triggered the modal.
|
|
58
|
-
*/
|
|
59
|
-
returnFocus?: boolean | {
|
|
60
|
-
preventScroll?: boolean;
|
|
61
|
-
} | ((returnTo: Element) => boolean | {
|
|
62
|
-
preventScroll?: boolean;
|
|
63
|
-
});
|
|
64
56
|
/**
|
|
65
57
|
* Additional action to render in the header area.
|
|
66
58
|
*/
|
package/dist/metadata.json
CHANGED
|
@@ -20280,17 +20280,6 @@
|
|
|
20280
20280
|
"name": "(nextFocusedElement?: HTMLElement) => boolean | HTMLElement"
|
|
20281
20281
|
}
|
|
20282
20282
|
},
|
|
20283
|
-
"returnFocus": {
|
|
20284
|
-
"defaultValue": {
|
|
20285
|
-
"value": "true"
|
|
20286
|
-
},
|
|
20287
|
-
"description": "Whether to return focus to the element that triggered the modal.",
|
|
20288
|
-
"name": "returnFocus",
|
|
20289
|
-
"required": false,
|
|
20290
|
-
"type": {
|
|
20291
|
-
"name": "boolean | { preventScroll?: boolean; } | ((returnTo: Element) => boolean | { preventScroll?: boolean; })"
|
|
20292
|
-
}
|
|
20293
|
-
},
|
|
20294
20283
|
"renderHeaderAction": {
|
|
20295
20284
|
"defaultValue": null,
|
|
20296
20285
|
"description": "Additional action to render in the header area.",
|
|
@@ -21037,7 +21026,7 @@
|
|
|
21037
21026
|
"name": "onChange",
|
|
21038
21027
|
"required": false,
|
|
21039
21028
|
"type": {
|
|
21040
|
-
"name": "((options: BaseListItemData<Item>[]) => void) | ((option: BaseListItemData<Item
|
|
21029
|
+
"name": "((options: BaseListItemData<Item>[], event: React.SyntheticEvent) => void) | ((option: BaseListItemData<Item>, event: React.SyntheticEvent) => void)"
|
|
21041
21030
|
}
|
|
21042
21031
|
},
|
|
21043
21032
|
"ref": {
|
|
@@ -29,7 +29,7 @@ interface MultiSelectSpecifics<Item extends BaseListItemData<Record<string, unkn
|
|
|
29
29
|
/**
|
|
30
30
|
* Callback fired when the selected values change in multi-select mode.
|
|
31
31
|
*/
|
|
32
|
-
onChange?: (options: BaseListItemData<Item>[]) => void;
|
|
32
|
+
onChange?: (options: BaseListItemData<Item>[], event: React.SyntheticEvent) => void;
|
|
33
33
|
}
|
|
34
34
|
interface SingleSelectSpecifics<Item extends BaseListItemData<Record<string, unknown>>> {
|
|
35
35
|
/**
|
|
@@ -59,7 +59,7 @@ interface SingleSelectSpecifics<Item extends BaseListItemData<Record<string, unk
|
|
|
59
59
|
/**
|
|
60
60
|
* Callback fired when the selected value changes in single-select mode.
|
|
61
61
|
*/
|
|
62
|
-
onChange?: (option: BaseListItemData<Item
|
|
62
|
+
onChange?: (option: BaseListItemData<Item>, event: React.SyntheticEvent) => void;
|
|
63
63
|
}
|
|
64
64
|
export type BaseDropdownProps<Item extends BaseListItemData<Record<string, unknown>>> = VibeComponentProps & {
|
|
65
65
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
2
3
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
3
|
-
declare function useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, isMenuOpen?: boolean, autoFocus?: boolean, closeMenuOnSelect?: boolean, defaultValue?: T, value?: T, inputValueProp?: string, onChange?: (option: T | T[] | null) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
|
+
declare function useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, isMenuOpen?: boolean, autoFocus?: boolean, closeMenuOnSelect?: boolean, defaultValue?: T, value?: T, inputValueProp?: string, onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
2
3
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
3
|
-
declare function useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], inputValueProp?: string, onChange?: (options: T[]) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
|
+
declare function useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], inputValueProp?: string, onChange?: (options: T[], event?: React.SyntheticEvent) => void, onInputChange?: (value: string) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, filterOption?: (option: T, inputValue: string) => boolean, showSelectedOptions?: boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
2
3
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
3
|
-
declare function useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], onChange?: (options: T[]) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
|
+
declare function useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], onChange?: (options: T[], event?: React.SyntheticEvent) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { type BaseListItemData } from "../../BaseListItem";
|
|
2
3
|
import { type DropdownGroupOption } from "../Dropdown.types";
|
|
3
|
-
declare function useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, autoFocus?: boolean, isMenuOpen?: boolean, defaultValue?: T, value?: T, onChange?: (option: T | T[] | null) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
|
+
declare function useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, autoFocus?: boolean, isMenuOpen?: boolean, defaultValue?: T, value?: T, onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean): {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
inputValue: string;
|
|
6
7
|
highlightedIndex: number;
|
|
@@ -53,14 +53,6 @@ export interface ModalProps extends VibeComponentProps {
|
|
|
53
53
|
* - Any other value (e.g., null, undefined) would act as `false`.
|
|
54
54
|
*/
|
|
55
55
|
onFocusAttempt?: (nextFocusedElement?: HTMLElement) => boolean | HTMLElement;
|
|
56
|
-
/**
|
|
57
|
-
* Whether to return focus to the element that triggered the modal.
|
|
58
|
-
*/
|
|
59
|
-
returnFocus?: boolean | {
|
|
60
|
-
preventScroll?: boolean;
|
|
61
|
-
} | ((returnTo: Element) => boolean | {
|
|
62
|
-
preventScroll?: boolean;
|
|
63
|
-
});
|
|
64
56
|
/**
|
|
65
57
|
* Additional action to render in the header area.
|
|
66
58
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t,useCallback as u}from"react";import{useCombobox as
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t,useCallback as u}from"react";import{useCombobox as i}from"downshift";import l from"./useDropdownFiltering.js";function o(o,s,r,a,p,g,c,d,f,m,I,h,O,v){var P=n(p||null),b=e(P,2),M=b[1],C=void 0!==g?g:b[0],T=t((function(){return C?[C]:[]}),[C]),V=l(o,O,v,T),j=V.filteredOptions,y=V.filterOptions,w=t((function(){return j.flatMap((function(e){return e.options}))}),[j]),B=i({items:w,itemToString:function(e){var n;return null!==(n=null==e?void 0:e.label)&&void 0!==n?n:""},isItemDisabled:function(e){return!!e.disabled},initialInputValue:c||"",selectedItem:C,isOpen:s,initialIsOpen:r,onIsOpenChange:function(e){e.isOpen?null==I||I():null==m||m()},onInputValueChange:u((function(e){var n=e.inputValue;y(n||""),null==f||f(n||"")}),[f,y]),onSelectedItemChange:u((function(e){var n=e.selectedItem;void 0===g&&M(n||null),n?(null==h||h(n),null==d||d(n,void 0),y("")):(null==d||d(null,void 0),y(""))}),[g,h,y,d]),stateReducer:function(e,n){switch(n.type){case i.stateChangeTypes.InputKeyDownEnter:case i.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},n.changes),{inputValue:"",isOpen:!a});case i.stateChangeTypes.InputBlur:return Object.assign(Object.assign({},n.changes),{inputValue:""});default:return n.changes}}}),x=B.reset;return{isOpen:B.isOpen,inputValue:B.inputValue,highlightedIndex:B.highlightedIndex,selectedItem:C,getToggleButtonProps:B.getToggleButtonProps,getLabelProps:B.getLabelProps,getMenuProps:B.getMenuProps,getInputProps:B.getInputProps,getItemProps:B.getItemProps,reset:function(){void 0===g&&M(null),x(),y("")},filteredOptions:j,openMenu:B.openMenu,toggleMenu:B.toggleMenu,closeMenu:B.closeMenu}}export{o as default};
|
|
2
2
|
//# sourceMappingURL=useDropdownCombobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownCombobox.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownCombobox.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { useCombobox } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\n\nfunction useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n isMenuOpen?: boolean,\n autoFocus?: boolean,\n closeMenuOnSelect?: boolean,\n defaultValue?: T,\n value?: T,\n inputValueProp?: string,\n onChange?: (option: T | T[] | null) => void,\n onInputChange?: (value: string) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n filterOption?: (option: T, inputValue: string) => boolean,\n showSelectedOptions?: boolean\n) {\n const [currentSelectedItem, setCurrentSelectedItem] = useState<T | null>(defaultValue || null);\n\n // Use controlled value if provided, otherwise use internal state\n const selectedItem = value !== undefined ? value : currentSelectedItem;\n\n const memoizedSelectedItemForFiltering = useMemo(() => {\n return selectedItem ? [selectedItem] : [];\n }, [selectedItem]);\n\n const { filteredOptions, filterOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n memoizedSelectedItemForFiltering\n );\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n const {\n isOpen,\n inputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useCombobox<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n initialInputValue: inputValueProp || \"\",\n selectedItem: selectedItem,\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuClose?.() : onMenuOpen?.();\n },\n\n onInputValueChange: useCallback(\n ({ inputValue }) => {\n filterOptions(inputValue || \"\");\n onInputChange?.(inputValue || \"\");\n },\n [onInputChange, filterOptions]\n ),\n onSelectedItemChange: useCallback(\n ({ selectedItem }) => {\n if (value === undefined) {\n setCurrentSelectedItem(selectedItem || null);\n }\n if (selectedItem) {\n onOptionSelect?.(selectedItem);\n onChange?.(selectedItem);\n filterOptions(\"\");\n } else {\n onChange?.(null);\n filterOptions(\"\");\n }\n },\n [value, onOptionSelect, filterOptions, onChange]\n ),\n stateReducer: (state, actionAndChanges) => {\n switch (actionAndChanges.type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return { ...actionAndChanges.changes, inputValue: \"\", isOpen: !closeMenuOnSelect };\n case useCombobox.stateChangeTypes.InputBlur:\n return { ...actionAndChanges.changes, inputValue: \"\" };\n\n default:\n return actionAndChanges.changes;\n }\n }\n });\n\n return {\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset: () => {\n if (value === undefined) {\n setCurrentSelectedItem(null);\n }\n reset();\n filterOptions(\"\");\n },\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownCombobox;\n"],"names":["useDropdownCombobox","options","isMenuOpen","autoFocus","closeMenuOnSelect","defaultValue","value","inputValueProp","onChange","onInputChange","onMenuOpen","onMenuClose","onOptionSelect","filterOption","showSelectedOptions","_useState","useState","_useState2","_slicedToArray","setCurrentSelectedItem","selectedItem","undefined","memoizedSelectedItemForFiltering","useMemo","_useDropdownFiltering","useDropdownFiltering","filteredOptions","filterOptions","flatOptions","flatMap","group","_useCombobox","useCombobox","items","itemToString","item","_a","label","isItemDisabled","disabled","initialInputValue","isOpen","initialIsOpen","onIsOpenChange","_ref","onInputValueChange","useCallback","_ref2","inputValue","onSelectedItemChange","_ref3","stateReducer","state","actionAndChanges","type","stateChangeTypes","InputKeyDownEnter","ItemClick","Object","assign","changes","InputBlur","reset","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","openMenu","toggleMenu","closeMenu"],"mappings":"kOAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAAC,EAAsDC,EAAmBX,GAAgB,MAAKY,EAAAC,EAAAH,EAAA,GAAlEI,EAAsBF,EAAA,GAG5CG,OAAyBC,IAAVf,EAAsBA,EAHjBW,EAAA,GAKpBK,EAAmCC,GAAQ,WAC/C,OAAOH,EAAe,CAACA,GAAgB,EACzC,GAAG,CAACA,IAEJI,EAA2CC,EACzCxB,EACAY,EACAC,EACAQ,GAJMI,EAAeF,EAAfE,gBAAiBC,EAAaH,EAAbG,cAOnBC,EAAcL,GAAQ,WAAA,OAAMG,EAAgBG,SAAQ,SAAAC,GAAK,OAAIA,EAAM7B,aAAU,CAACyB,IACpFK,EAaIC,EAAe,CACjBC,MAAOL,EACPM,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,kBAAmBjC,GAAkB,GACrCa,aAAcA,EACdqB,OAAQvC,EACRwC,cAAevC,EACfwC,eAAgB,SAAAC,GAASA,EAANH,OACR9B,SAAAA,IAAkBD,SAAAA,GAC5B,EAEDmC,mBAAoBC,GAClB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACDrB,EAAcqB,GAAc,IAC5BvC,SAAAA,EAAgBuC,GAAc,GAChC,GACA,CAACvC,EAAekB,IAElBsB,qBAAsBH,GACpB,SAAAI,GAAqB,IAAlB9B,EAAY8B,EAAZ9B,kBACaC,IAAVf,GACFa,EAAuBC,GAAgB,MAErCA,GACFR,SAAAA,EAAiBQ,GACjBZ,SAAAA,EAAWY,
|
|
1
|
+
{"version":3,"file":"useDropdownCombobox.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownCombobox.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { useCombobox } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\n\nfunction useDropdownCombobox<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n isMenuOpen?: boolean,\n autoFocus?: boolean,\n closeMenuOnSelect?: boolean,\n defaultValue?: T,\n value?: T,\n inputValueProp?: string,\n onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void,\n onInputChange?: (value: string) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n filterOption?: (option: T, inputValue: string) => boolean,\n showSelectedOptions?: boolean\n) {\n const [currentSelectedItem, setCurrentSelectedItem] = useState<T | null>(defaultValue || null);\n\n // Use controlled value if provided, otherwise use internal state\n const selectedItem = value !== undefined ? value : currentSelectedItem;\n\n const memoizedSelectedItemForFiltering = useMemo(() => {\n return selectedItem ? [selectedItem] : [];\n }, [selectedItem]);\n\n const { filteredOptions, filterOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n memoizedSelectedItemForFiltering\n );\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n const {\n isOpen,\n inputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useCombobox<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n initialInputValue: inputValueProp || \"\",\n selectedItem: selectedItem,\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuClose?.() : onMenuOpen?.();\n },\n\n onInputValueChange: useCallback(\n ({ inputValue }) => {\n filterOptions(inputValue || \"\");\n onInputChange?.(inputValue || \"\");\n },\n [onInputChange, filterOptions]\n ),\n onSelectedItemChange: useCallback(\n ({ selectedItem }) => {\n if (value === undefined) {\n setCurrentSelectedItem(selectedItem || null);\n }\n if (selectedItem) {\n onOptionSelect?.(selectedItem);\n onChange?.(selectedItem, undefined);\n filterOptions(\"\");\n } else {\n onChange?.(null, undefined);\n filterOptions(\"\");\n }\n },\n [value, onOptionSelect, filterOptions, onChange]\n ),\n stateReducer: (state, actionAndChanges) => {\n switch (actionAndChanges.type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return { ...actionAndChanges.changes, inputValue: \"\", isOpen: !closeMenuOnSelect };\n case useCombobox.stateChangeTypes.InputBlur:\n return { ...actionAndChanges.changes, inputValue: \"\" };\n\n default:\n return actionAndChanges.changes;\n }\n }\n });\n\n return {\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset: () => {\n if (value === undefined) {\n setCurrentSelectedItem(null);\n }\n reset();\n filterOptions(\"\");\n },\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownCombobox;\n"],"names":["useDropdownCombobox","options","isMenuOpen","autoFocus","closeMenuOnSelect","defaultValue","value","inputValueProp","onChange","onInputChange","onMenuOpen","onMenuClose","onOptionSelect","filterOption","showSelectedOptions","_useState","useState","_useState2","_slicedToArray","setCurrentSelectedItem","selectedItem","undefined","memoizedSelectedItemForFiltering","useMemo","_useDropdownFiltering","useDropdownFiltering","filteredOptions","filterOptions","flatOptions","flatMap","group","_useCombobox","useCombobox","items","itemToString","item","_a","label","isItemDisabled","disabled","initialInputValue","isOpen","initialIsOpen","onIsOpenChange","_ref","onInputValueChange","useCallback","_ref2","inputValue","onSelectedItemChange","_ref3","stateReducer","state","actionAndChanges","type","stateChangeTypes","InputKeyDownEnter","ItemClick","Object","assign","changes","InputBlur","reset","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","openMenu","toggleMenu","closeMenu"],"mappings":"kOAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAAC,EAAsDC,EAAmBX,GAAgB,MAAKY,EAAAC,EAAAH,EAAA,GAAlEI,EAAsBF,EAAA,GAG5CG,OAAyBC,IAAVf,EAAsBA,EAHjBW,EAAA,GAKpBK,EAAmCC,GAAQ,WAC/C,OAAOH,EAAe,CAACA,GAAgB,EACzC,GAAG,CAACA,IAEJI,EAA2CC,EACzCxB,EACAY,EACAC,EACAQ,GAJMI,EAAeF,EAAfE,gBAAiBC,EAAaH,EAAbG,cAOnBC,EAAcL,GAAQ,WAAA,OAAMG,EAAgBG,SAAQ,SAAAC,GAAK,OAAIA,EAAM7B,aAAU,CAACyB,IACpFK,EAaIC,EAAe,CACjBC,MAAOL,EACPM,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,kBAAmBjC,GAAkB,GACrCa,aAAcA,EACdqB,OAAQvC,EACRwC,cAAevC,EACfwC,eAAgB,SAAAC,GAASA,EAANH,OACR9B,SAAAA,IAAkBD,SAAAA,GAC5B,EAEDmC,mBAAoBC,GAClB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACDrB,EAAcqB,GAAc,IAC5BvC,SAAAA,EAAgBuC,GAAc,GAChC,GACA,CAACvC,EAAekB,IAElBsB,qBAAsBH,GACpB,SAAAI,GAAqB,IAAlB9B,EAAY8B,EAAZ9B,kBACaC,IAAVf,GACFa,EAAuBC,GAAgB,MAErCA,GACFR,SAAAA,EAAiBQ,GACjBZ,SAAAA,EAAWY,OAAcC,GACzBM,EAAc,MAEdnB,SAAAA,EAAW,UAAMa,GACjBM,EAAc,IAEjB,GACD,CAACrB,EAAOM,EAAgBe,EAAenB,IAEzC2C,aAAc,SAACC,EAAOC,GACpB,OAAQA,EAAiBC,MACvB,KAAKtB,EAAYuB,iBAAiBC,kBAClC,KAAKxB,EAAYuB,iBAAiBE,UAChC,OAAAC,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,SAAO,CAAEZ,WAAY,GAAIP,QAASrC,IACjE,KAAK4B,EAAYuB,iBAAiBM,UAChC,OAAAH,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,UAASZ,WAAY,KAEpD,QACE,OAAOK,EAAiBO,QAE9B,IAlDAE,EAAK/B,EAAL+B,MAqDF,MAAO,CACLrB,OA9DMV,EAANU,OA+DAO,WA9DUjB,EAAViB,WA+DAe,iBA9DgBhC,EAAhBgC,iBA+DA3C,aAAAA,EACA4C,qBA/DoBjC,EAApBiC,qBAgEAC,cA/DalC,EAAbkC,cAgEAC,aA/DYnC,EAAZmC,aAgEAC,cA/DapC,EAAboC,cAgEAC,aA/DYrC,EAAZqC,aAgEAN,MAAO,gBACSzC,IAAVf,GACFa,EAAuB,MAEzB2C,IACAnC,EAAc,GACf,EACDD,gBAAAA,EACA2C,SAtEQtC,EAARsC,SAuEAC,WAtEUvC,EAAVuC,WAuEAC,UAtESxC,EAATwC,UAwEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{toConsumableArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useMemo as t}from"react";import n from"./useDropdownFiltering.js";import{useMultipleSelection as o,useCombobox as s}from"downshift";function i(i,l,r,u,a,p,c,g,d,m,I,f,v,h,P){var O=void 0!==c?c:l,b=n(i,h,P,O),S=b.filteredOptions,C=b.filterOptions,M=t((function(){return S.flatMap((function(e){return e.options}))}),[S]),V=o({selectedItems:O,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&r(t||[]),null==d||d(t||[])}}),j=V.getSelectedItemProps,w=V.getDropdownProps,y=V.addSelectedItem,T=V.removeSelectedItem,D=s({items:M,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},isOpen:u,initialIsOpen:a,initialInputValue:g||"",onIsOpenChange:function(e){e.isOpen?null==f||f():null==I||I()},onInputValueChange:function(e){var t=e.inputValue;C(t||""),null==m||m(t||"")},onSelectedItemChange:function(t){var n=t.selectedItem;if(n){var o=O.findIndex((function(e){return e.value===n.value}));if(o>-1){var s=[].concat(e(O.slice(0,o)),e(O.slice(o+1)));void 0===c&&r(s),T(n)}else{var i=[].concat(e(O),[n]);void 0===c&&r(i),y(n)}null==v||v(n),C("")}},stateReducer:function(e,t){switch(t.type){case s.stateChangeTypes.InputKeyDownEnter:case s.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},t.changes),{inputValue:"",isOpen:!0});case s.stateChangeTypes.InputBlur:return Object.assign(Object.assign({},t.changes),{inputValue:""});default:return t.changes}}});return{isOpen:D.isOpen,inputValue:D.inputValue,highlightedIndex:D.highlightedIndex,selectedItems:O,getSelectedItemProps:j,getDropdownProps:w,addSelectedItem:y,getToggleButtonProps:D.getToggleButtonProps,getLabelProps:D.getLabelProps,getMenuProps:D.getMenuProps,getInputProps:D.getInputProps,getItemProps:D.getItemProps,reset:D.reset,removeSelectedItem:T,filteredOptions:S,openMenu:D.openMenu,toggleMenu:D.toggleMenu,closeMenu:D.closeMenu}}export{i as default};
|
|
1
|
+
import{toConsumableArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useMemo as t}from"react";import n from"./useDropdownFiltering.js";import{useMultipleSelection as o,useCombobox as s}from"downshift";function i(i,l,r,u,a,p,c,g,d,m,I,f,v,h,P){var O=void 0!==c?c:l,b=n(i,h,P,O),S=b.filteredOptions,C=b.filterOptions,M=t((function(){return S.flatMap((function(e){return e.options}))}),[S]),V=o({selectedItems:O,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&r(t||[]),null==d||d(t||[],void 0)}}),j=V.getSelectedItemProps,w=V.getDropdownProps,y=V.addSelectedItem,T=V.removeSelectedItem,D=s({items:M,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},isOpen:u,initialIsOpen:a,initialInputValue:g||"",onIsOpenChange:function(e){e.isOpen?null==f||f():null==I||I()},onInputValueChange:function(e){var t=e.inputValue;C(t||""),null==m||m(t||"")},onSelectedItemChange:function(t){var n=t.selectedItem;if(n){var o=O.findIndex((function(e){return e.value===n.value}));if(o>-1){var s=[].concat(e(O.slice(0,o)),e(O.slice(o+1)));void 0===c&&r(s),T(n)}else{var i=[].concat(e(O),[n]);void 0===c&&r(i),y(n)}null==v||v(n),C("")}},stateReducer:function(e,t){switch(t.type){case s.stateChangeTypes.InputKeyDownEnter:case s.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},t.changes),{inputValue:"",isOpen:!0});case s.stateChangeTypes.InputBlur:return Object.assign(Object.assign({},t.changes),{inputValue:""});default:return t.changes}}});return{isOpen:D.isOpen,inputValue:D.inputValue,highlightedIndex:D.highlightedIndex,selectedItems:O,getSelectedItemProps:j,getDropdownProps:w,addSelectedItem:y,getToggleButtonProps:D.getToggleButtonProps,getLabelProps:D.getLabelProps,getMenuProps:D.getMenuProps,getInputProps:D.getInputProps,getItemProps:D.getItemProps,reset:D.reset,removeSelectedItem:T,filteredOptions:S,openMenu:D.openMenu,toggleMenu:D.toggleMenu,closeMenu:D.closeMenu}}export{i as default};
|
|
2
2
|
//# sourceMappingURL=useDropdownMultiCombobox.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownMultiCombobox.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownMultiCombobox.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { useMultipleSelection, useCombobox } from \"downshift\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\n\nfunction useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n selectedItems: T[],\n setSelectedItems: (items: T[]) => void,\n isMenuOpen: boolean,\n autoFocus?: boolean,\n defaultValue?: T[],\n value?: T[],\n inputValueProp?: string,\n onChange?: (options: T[]) => void,\n onInputChange?: (value: string) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n filterOption?: (option: T, inputValue: string) => boolean,\n showSelectedOptions?: boolean\n) {\n // Use controlled value if provided, otherwise use internal state\n const currentSelectedItems = value !== undefined ? value : selectedItems;\n\n const { filteredOptions, filterOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n currentSelectedItems\n );\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n const { getSelectedItemProps, getDropdownProps, addSelectedItem, removeSelectedItem } = useMultipleSelection<T>({\n selectedItems: currentSelectedItems,\n initialSelectedItems: defaultValue,\n onSelectedItemsChange: ({ selectedItems }) => {\n if (value === undefined) {\n setSelectedItems(selectedItems || []);\n }\n onChange?.(selectedItems || []);\n }\n });\n\n const {\n isOpen,\n inputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useCombobox<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n initialInputValue: inputValueProp || \"\",\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuClose?.() : onMenuOpen?.();\n },\n onInputValueChange: ({ inputValue }) => {\n filterOptions(inputValue || \"\");\n onInputChange?.(inputValue || \"\");\n },\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (!newSelectedItem) return;\n const itemIndex = currentSelectedItems.findIndex(item => item.value === newSelectedItem.value);\n if (itemIndex > -1) {\n const newSelectedItems = [\n ...currentSelectedItems.slice(0, itemIndex),\n ...currentSelectedItems.slice(itemIndex + 1)\n ];\n if (value === undefined) {\n setSelectedItems(newSelectedItems);\n }\n removeSelectedItem(newSelectedItem);\n } else {\n const newSelectedItems = [...currentSelectedItems, newSelectedItem];\n if (value === undefined) {\n setSelectedItems(newSelectedItems);\n }\n addSelectedItem(newSelectedItem);\n }\n onOptionSelect?.(newSelectedItem);\n filterOptions(\"\");\n },\n stateReducer: (state, actionAndChanges) => {\n switch (actionAndChanges.type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return { ...actionAndChanges.changes, inputValue: \"\", isOpen: true };\n case useCombobox.stateChangeTypes.InputBlur:\n return { ...actionAndChanges.changes, inputValue: \"\" };\n default:\n return actionAndChanges.changes;\n }\n }\n });\n\n return {\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItems: currentSelectedItems,\n getSelectedItemProps,\n getDropdownProps,\n addSelectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n removeSelectedItem,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownMultiCombobox;\n"],"names":["useDropdownMultiCombobox","options","selectedItems","setSelectedItems","isMenuOpen","autoFocus","defaultValue","value","inputValueProp","onChange","onInputChange","onMenuOpen","onMenuClose","onOptionSelect","filterOption","showSelectedOptions","currentSelectedItems","undefined","_useDropdownFiltering","useDropdownFiltering","filteredOptions","filterOptions","flatOptions","useMemo","flatMap","group","_useMultipleSelection","useMultipleSelection","initialSelectedItems","onSelectedItemsChange","_ref","getSelectedItemProps","getDropdownProps","addSelectedItem","removeSelectedItem","_useCombobox","useCombobox","items","itemToString","item","_a","label","isItemDisabled","disabled","isOpen","initialIsOpen","initialInputValue","onIsOpenChange","_ref2","onInputValueChange","_ref3","inputValue","onSelectedItemChange","_ref4","newSelectedItem","selectedItem","itemIndex","findIndex","newSelectedItems","concat","_toConsumableArray","slice","stateReducer","state","actionAndChanges","type","stateChangeTypes","InputKeyDownEnter","ItemClick","Object","assign","changes","InputBlur","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","reset","openMenu","toggleMenu","closeMenu"],"mappings":"iOAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAAMC,OAAiCC,IAAVV,EAAsBA,EAAQL,EAE3DgB,EAA2CC,EACzClB,EACAa,EACAC,EACAC,GAJMI,EAAeF,EAAfE,gBAAiBC,EAAaH,EAAbG,cAMnBC,EAAcC,GAAQ,WAAA,OAAMH,EAAgBI,SAAQ,SAAAC,GAAK,OAAIA,EAAMxB,aAAU,CAACmB,IACpFM,EAAwFC,EAAwB,CAC9GzB,cAAec,EACfY,qBAAsBtB,EACtBuB,sBAAuB,SAAAC,GAAsB,IAAnB5B,EAAa4B,EAAb5B,mBACVe,IAAVV,GACFJ,EAAiBD,GAAiB,IAEpCO,SAAAA,EAAWP,GAAiB,
|
|
1
|
+
{"version":3,"file":"useDropdownMultiCombobox.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownMultiCombobox.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { useMultipleSelection, useCombobox } from \"downshift\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\n\nfunction useDropdownMultiCombobox<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n selectedItems: T[],\n setSelectedItems: (items: T[]) => void,\n isMenuOpen: boolean,\n autoFocus?: boolean,\n defaultValue?: T[],\n value?: T[],\n inputValueProp?: string,\n onChange?: (options: T[], event?: React.SyntheticEvent) => void,\n onInputChange?: (value: string) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n filterOption?: (option: T, inputValue: string) => boolean,\n showSelectedOptions?: boolean\n) {\n // Use controlled value if provided, otherwise use internal state\n const currentSelectedItems = value !== undefined ? value : selectedItems;\n\n const { filteredOptions, filterOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n currentSelectedItems\n );\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n const { getSelectedItemProps, getDropdownProps, addSelectedItem, removeSelectedItem } = useMultipleSelection<T>({\n selectedItems: currentSelectedItems,\n initialSelectedItems: defaultValue,\n onSelectedItemsChange: ({ selectedItems }) => {\n if (value === undefined) {\n setSelectedItems(selectedItems || []);\n }\n onChange?.(selectedItems || [], undefined);\n }\n });\n\n const {\n isOpen,\n inputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useCombobox<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n initialInputValue: inputValueProp || \"\",\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuClose?.() : onMenuOpen?.();\n },\n onInputValueChange: ({ inputValue }) => {\n filterOptions(inputValue || \"\");\n onInputChange?.(inputValue || \"\");\n },\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (!newSelectedItem) return;\n const itemIndex = currentSelectedItems.findIndex(item => item.value === newSelectedItem.value);\n if (itemIndex > -1) {\n const newSelectedItems = [\n ...currentSelectedItems.slice(0, itemIndex),\n ...currentSelectedItems.slice(itemIndex + 1)\n ];\n if (value === undefined) {\n setSelectedItems(newSelectedItems);\n }\n removeSelectedItem(newSelectedItem);\n } else {\n const newSelectedItems = [...currentSelectedItems, newSelectedItem];\n if (value === undefined) {\n setSelectedItems(newSelectedItems);\n }\n addSelectedItem(newSelectedItem);\n }\n onOptionSelect?.(newSelectedItem);\n filterOptions(\"\");\n },\n stateReducer: (state, actionAndChanges) => {\n switch (actionAndChanges.type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return { ...actionAndChanges.changes, inputValue: \"\", isOpen: true };\n case useCombobox.stateChangeTypes.InputBlur:\n return { ...actionAndChanges.changes, inputValue: \"\" };\n default:\n return actionAndChanges.changes;\n }\n }\n });\n\n return {\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItems: currentSelectedItems,\n getSelectedItemProps,\n getDropdownProps,\n addSelectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n removeSelectedItem,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownMultiCombobox;\n"],"names":["useDropdownMultiCombobox","options","selectedItems","setSelectedItems","isMenuOpen","autoFocus","defaultValue","value","inputValueProp","onChange","onInputChange","onMenuOpen","onMenuClose","onOptionSelect","filterOption","showSelectedOptions","currentSelectedItems","undefined","_useDropdownFiltering","useDropdownFiltering","filteredOptions","filterOptions","flatOptions","useMemo","flatMap","group","_useMultipleSelection","useMultipleSelection","initialSelectedItems","onSelectedItemsChange","_ref","getSelectedItemProps","getDropdownProps","addSelectedItem","removeSelectedItem","_useCombobox","useCombobox","items","itemToString","item","_a","label","isItemDisabled","disabled","isOpen","initialIsOpen","initialInputValue","onIsOpenChange","_ref2","onInputValueChange","_ref3","inputValue","onSelectedItemChange","_ref4","newSelectedItem","selectedItem","itemIndex","findIndex","newSelectedItems","concat","_toConsumableArray","slice","stateReducer","state","actionAndChanges","type","stateChangeTypes","InputKeyDownEnter","ItemClick","Object","assign","changes","InputBlur","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","reset","openMenu","toggleMenu","closeMenu"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as e,useCallback as t}from"react";import{useMultipleSelection as n,useSelect as o}from"downshift";import i from"./useDropdownFiltering.js";function l(l,r,s,u,d,p,c,g,a,m,I,f,v){var P=void 0!==c?c:r,h=i(l,v,f,P).filteredOptions,O=e((function(){return h.flatMap((function(e){return e.options}))}),[h]),S=n({selectedItems:P,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&s(t||[]),null==g||g(t||[])}}),M=S.getSelectedItemProps,b=S.addSelectedItem,C=S.removeSelectedItem,w=S.getDropdownProps,D=o({items:O,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},selectedItem:null,isOpen:u,initialIsOpen:d,onSelectedItemChange:function(e){var t=e.selectedItem;if(t){var n=P.find((function(e){return e.value===t.value}));n?C(n):b(t),null==I||I(t)}},stateReducer:function(e,t){var n=t.changes;return t.type===o.stateChangeTypes.ItemClick?Object.assign(Object.assign({},n),{isOpen:!0}):n},onIsOpenChange:function(e){e.isOpen?null==a||a():null==m||m()}}),T=D.isOpen,j=D.highlightedIndex,x=D.getToggleButtonProps,y=D.getLabelProps,B=D.getMenuProps,L=D.getItemProps,k=D.reset,F=D.openMenu,R=D.toggleMenu,V=D.closeMenu,q=t((function(){void 0===c&&s([]),k(),null==g||g([])}),[c,s,k,g]);return{isOpen:T,inputValue:"",highlightedIndex:j,selectedItems:P,getSelectedItemProps:M,addSelectedItem:b,removeSelectedItem:C,getToggleButtonProps:x,getLabelProps:y,getMenuProps:B,getInputProps:function(){return{}},getItemProps:L,reset:q,filteredOptions:h,openMenu:F,toggleMenu:R,closeMenu:V,getDropdownProps:w}}export{l as default};
|
|
1
|
+
import{useMemo as e,useCallback as t}from"react";import{useMultipleSelection as n,useSelect as o}from"downshift";import i from"./useDropdownFiltering.js";function l(l,r,s,u,d,p,c,g,a,m,I,f,v){var P=void 0!==c?c:r,h=i(l,v,f,P).filteredOptions,O=e((function(){return h.flatMap((function(e){return e.options}))}),[h]),S=n({selectedItems:P,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&s(t||[]),null==g||g(t||[],void 0)}}),M=S.getSelectedItemProps,b=S.addSelectedItem,C=S.removeSelectedItem,w=S.getDropdownProps,D=o({items:O,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},selectedItem:null,isOpen:u,initialIsOpen:d,onSelectedItemChange:function(e){var t=e.selectedItem;if(t){var n=P.find((function(e){return e.value===t.value}));n?C(n):b(t),null==I||I(t)}},stateReducer:function(e,t){var n=t.changes;return t.type===o.stateChangeTypes.ItemClick?Object.assign(Object.assign({},n),{isOpen:!0}):n},onIsOpenChange:function(e){e.isOpen?null==a||a():null==m||m()}}),T=D.isOpen,j=D.highlightedIndex,x=D.getToggleButtonProps,y=D.getLabelProps,B=D.getMenuProps,L=D.getItemProps,k=D.reset,F=D.openMenu,R=D.toggleMenu,V=D.closeMenu,q=t((function(){void 0===c&&s([]),k(),null==g||g([],void 0)}),[c,s,k,g]);return{isOpen:T,inputValue:"",highlightedIndex:j,selectedItems:P,getSelectedItemProps:M,addSelectedItem:b,removeSelectedItem:C,getToggleButtonProps:x,getLabelProps:y,getMenuProps:B,getInputProps:function(){return{}},getItemProps:L,reset:q,filteredOptions:h,openMenu:F,toggleMenu:R,closeMenu:V,getDropdownProps:w}}export{l as default};
|
|
2
2
|
//# sourceMappingURL=useDropdownMultiSelect.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownMultiSelect.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownMultiSelect.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useMultipleSelection, useSelect } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\n\nfunction useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n selectedItems: T[],\n setSelectedItems: (items: T[]) => void,\n isMenuOpen: boolean,\n autoFocus?: boolean,\n defaultValue?: T[],\n value?: T[],\n onChange?: (options: T[]) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n showSelectedOptions?: boolean,\n filterOption?: (option: T, inputValue: string) => boolean\n) {\n const currentSelectedItems = value !== undefined ? value : selectedItems;\n\n const { filteredOptions } = useDropdownFiltering<T>(options, filterOption, showSelectedOptions, currentSelectedItems);\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n\n const { getSelectedItemProps, addSelectedItem, removeSelectedItem, getDropdownProps } = useMultipleSelection<T>({\n selectedItems: currentSelectedItems,\n initialSelectedItems: defaultValue,\n onSelectedItemsChange: ({ selectedItems: newSelected }) => {\n if (value === undefined) {\n setSelectedItems(newSelected || []);\n }\n onChange?.(newSelected || []);\n }\n });\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: downshiftReset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useSelect<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n selectedItem: null,\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (!newSelectedItem) return;\n const existingItem = currentSelectedItems.find(item => item.value === newSelectedItem.value);\n if (existingItem) {\n removeSelectedItem(existingItem);\n } else {\n addSelectedItem(newSelectedItem);\n }\n onOptionSelect?.(newSelectedItem);\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true\n };\n default:\n return changes;\n }\n },\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuOpen?.() : onMenuClose?.();\n }\n });\n\n const reset = useCallback(() => {\n if (value === undefined) {\n setSelectedItems([]);\n }\n downshiftReset();\n onChange?.([]);\n }, [value, setSelectedItems, downshiftReset, onChange]);\n\n const getInputProps = () => ({});\n\n return {\n isOpen,\n inputValue: \"\",\n highlightedIndex,\n selectedItems: currentSelectedItems,\n getSelectedItemProps,\n addSelectedItem,\n removeSelectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu,\n getDropdownProps\n };\n}\n\nexport default useDropdownMultiSelect;\n"],"names":["useDropdownMultiSelect","options","selectedItems","setSelectedItems","isMenuOpen","autoFocus","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","showSelectedOptions","filterOption","currentSelectedItems","undefined","filteredOptions","useDropdownFiltering","flatOptions","useMemo","flatMap","group","_useMultipleSelection","useMultipleSelection","initialSelectedItems","onSelectedItemsChange","_ref","newSelected","getSelectedItemProps","addSelectedItem","removeSelectedItem","getDropdownProps","_useSelect","useSelect","items","itemToString","item","_a","label","isItemDisabled","disabled","selectedItem","isOpen","initialIsOpen","onSelectedItemChange","_ref2","newSelectedItem","existingItem","find","stateReducer","state","actionAndChanges","changes","type","stateChangeTypes","ItemClick","Object","assign","onIsOpenChange","_ref3","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","downshiftReset","reset","openMenu","toggleMenu","closeMenu","useCallback","inputValue","getInputProps"],"mappings":"0JAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAMC,OAAiCC,IAAVR,EAAsBA,EAAQL,EAEnDc,EAAoBC,EAAwBhB,EAASY,EAAcD,EAAqBE,GAAxFE,gBAEFE,EAAcC,GAAQ,WAAA,OAAMH,EAAgBI,SAAQ,SAAAC,GAAK,OAAIA,EAAMpB,aAAU,CAACe,IAEpFM,EAAwFC,EAAwB,CAC9GrB,cAAeY,EACfU,qBAAsBlB,EACtBmB,sBAAuB,SAAAC,GAAmC,IAAjBC,EAAWD,EAA1BxB,mBACVa,IAAVR,GACFJ,EAAiBwB,GAAe,IAElCnB,SAAAA,EAAWmB,GAAe,
|
|
1
|
+
{"version":3,"file":"useDropdownMultiSelect.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownMultiSelect.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useMultipleSelection, useSelect } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\n\nfunction useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n selectedItems: T[],\n setSelectedItems: (items: T[]) => void,\n isMenuOpen: boolean,\n autoFocus?: boolean,\n defaultValue?: T[],\n value?: T[],\n onChange?: (options: T[], event?: React.SyntheticEvent) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n showSelectedOptions?: boolean,\n filterOption?: (option: T, inputValue: string) => boolean\n) {\n const currentSelectedItems = value !== undefined ? value : selectedItems;\n\n const { filteredOptions } = useDropdownFiltering<T>(options, filterOption, showSelectedOptions, currentSelectedItems);\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n\n const { getSelectedItemProps, addSelectedItem, removeSelectedItem, getDropdownProps } = useMultipleSelection<T>({\n selectedItems: currentSelectedItems,\n initialSelectedItems: defaultValue,\n onSelectedItemsChange: ({ selectedItems: newSelected }) => {\n if (value === undefined) {\n setSelectedItems(newSelected || []);\n }\n onChange?.(newSelected || [], undefined);\n }\n });\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: downshiftReset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useSelect<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n selectedItem: null,\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (!newSelectedItem) return;\n const existingItem = currentSelectedItems.find(item => item.value === newSelectedItem.value);\n if (existingItem) {\n removeSelectedItem(existingItem);\n } else {\n addSelectedItem(newSelectedItem);\n }\n onOptionSelect?.(newSelectedItem);\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true\n };\n default:\n return changes;\n }\n },\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuOpen?.() : onMenuClose?.();\n }\n });\n\n const reset = useCallback(() => {\n if (value === undefined) {\n setSelectedItems([]);\n }\n downshiftReset();\n onChange?.([], undefined);\n }, [value, setSelectedItems, downshiftReset, onChange]);\n\n const getInputProps = () => ({});\n\n return {\n isOpen,\n inputValue: \"\",\n highlightedIndex,\n selectedItems: currentSelectedItems,\n getSelectedItemProps,\n addSelectedItem,\n removeSelectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu,\n getDropdownProps\n };\n}\n\nexport default useDropdownMultiSelect;\n"],"names":["useDropdownMultiSelect","options","selectedItems","setSelectedItems","isMenuOpen","autoFocus","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","showSelectedOptions","filterOption","currentSelectedItems","undefined","filteredOptions","useDropdownFiltering","flatOptions","useMemo","flatMap","group","_useMultipleSelection","useMultipleSelection","initialSelectedItems","onSelectedItemsChange","_ref","newSelected","getSelectedItemProps","addSelectedItem","removeSelectedItem","getDropdownProps","_useSelect","useSelect","items","itemToString","item","_a","label","isItemDisabled","disabled","selectedItem","isOpen","initialIsOpen","onSelectedItemChange","_ref2","newSelectedItem","existingItem","find","stateReducer","state","actionAndChanges","changes","type","stateChangeTypes","ItemClick","Object","assign","onIsOpenChange","_ref3","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","downshiftReset","reset","openMenu","toggleMenu","closeMenu","useCallback","inputValue","getInputProps"],"mappings":"0JAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAMC,OAAiCC,IAAVR,EAAsBA,EAAQL,EAEnDc,EAAoBC,EAAwBhB,EAASY,EAAcD,EAAqBE,GAAxFE,gBAEFE,EAAcC,GAAQ,WAAA,OAAMH,EAAgBI,SAAQ,SAAAC,GAAK,OAAIA,EAAMpB,aAAU,CAACe,IAEpFM,EAAwFC,EAAwB,CAC9GrB,cAAeY,EACfU,qBAAsBlB,EACtBmB,sBAAuB,SAAAC,GAAmC,IAAjBC,EAAWD,EAA1BxB,mBACVa,IAAVR,GACFJ,EAAiBwB,GAAe,IAElCnB,SAAAA,EAAWmB,GAAe,QAAIZ,EAChC,IARMa,EAAoBN,EAApBM,qBAAsBC,EAAeP,EAAfO,gBAAiBC,EAAkBR,EAAlBQ,mBAAoBC,EAAgBT,EAAhBS,iBAWnEC,EAWIC,EAAa,CACfC,MAAOhB,EACPiB,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,aAAc,KACdC,OAAQtC,EACRuC,cAAetC,EACfuC,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BJ,aACvB,GAAKK,EAAL,CACA,IAAMC,EAAejC,EAAqBkC,MAAK,SAAAZ,GAAI,OAAIA,EAAK7B,QAAUuC,EAAgBvC,SAClFwC,EACFjB,EAAmBiB,GAEnBlB,EAAgBiB,GAElBnC,SAAAA,EAAiBmC,EAPK,CAQvB,EACDG,aAAc,SAACC,EAAOC,GACpB,IAAcC,EAAYD,EAAZC,QACd,OAD0BD,EAAlBE,OAEDpB,EAAUqB,iBAAiBC,UAC9BC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKL,GAAO,CACVV,QAAQ,IAGHU,CAEZ,EACDM,eAAgB,SAAAC,GAASA,EAANjB,OACRjC,SAAAA,IAAiBC,SAAAA,GAC5B,IAzCAgC,EAAMV,EAANU,OACAkB,EAAgB5B,EAAhB4B,iBACAC,EAAoB7B,EAApB6B,qBACAC,EAAa9B,EAAb8B,cACAC,EAAY/B,EAAZ+B,aACAC,EAAYhC,EAAZgC,aACOC,EAAcjC,EAArBkC,MACAC,EAAQnC,EAARmC,SACAC,EAAUpC,EAAVoC,WACAC,EAASrC,EAATqC,UAmCIH,EAAQI,GAAY,gBACVvD,IAAVR,GACFJ,EAAiB,IAEnB8D,IACAzD,SAAAA,EAAW,QAAIO,EAChB,GAAE,CAACR,EAAOJ,EAAkB8D,EAAgBzD,IAI7C,MAAO,CACLkC,OAAAA,EACA6B,WAAY,GACZX,iBAAAA,EACA1D,cAAeY,EACfc,qBAAAA,EACAC,gBAAAA,EACAC,mBAAAA,EACA+B,qBAAAA,EACAC,cAAAA,EACAC,aAAAA,EACAS,cAboB,WAAH,MAAU,IAc3BR,aAAAA,EACAE,MAAAA,EACAlD,gBAAAA,EACAmD,SAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAtC,iBAAAA,EAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t}from"react";import{useSelect as
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t}from"react";import{useSelect as o}from"downshift";import l from"./useDropdownFiltering.js";function i(i,r,u,s,p,g,d,a,f,c,m){var I=n(s||null),v=e(I,2),P=v[1],h=void 0!==p?p:v[0],M=t((function(){return h?[h]:[]}),[h]),O=l(i,m,c,M).filteredOptions,b=t((function(){return O.flatMap((function(e){return e.options}))}),[O]),T=o({items:b,itemToString:function(e){var n;return null!==(n=null==e?void 0:e.label)&&void 0!==n?n:""},isItemDisabled:function(e){return!!e.disabled},isOpen:u,initialIsOpen:r,selectedItem:h,onSelectedItemChange:function(e){var n=e.selectedItem;void 0===p&&P(n||null),n&&(null==f||f(n)),null==g||g(n||null,void 0)},onIsOpenChange:function(e){e.isOpen?null==d||d():null==a||a()}}),x=T.reset;return{isOpen:T.isOpen,inputValue:"",highlightedIndex:T.highlightedIndex,selectedItem:h,getToggleButtonProps:T.getToggleButtonProps,getLabelProps:T.getLabelProps,getMenuProps:T.getMenuProps,getInputProps:function(){return{}},getItemProps:T.getItemProps,reset:function(){void 0===p&&P(null),x(),null==g||g(null,void 0)},filteredOptions:O,openMenu:T.openMenu,toggleMenu:T.toggleMenu,closeMenu:T.closeMenu}}export{i as default};
|
|
2
2
|
//# sourceMappingURL=useDropdownSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownSelect.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownSelect.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { useSelect } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\n\nfunction useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n autoFocus?: boolean,\n isMenuOpen?: boolean,\n defaultValue?: T,\n value?: T,\n onChange?: (option: T | T[] | null) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n showSelectedOptions?: boolean,\n filterOption?: (option: T, inputValue: string) => boolean\n) {\n const [currentSelectedItem, setCurrentSelectedItem] = useState<T | null>(defaultValue || null);\n\n const selectedItem = value !== undefined ? value : currentSelectedItem;\n\n const memoizedSelectedItemForFiltering = useMemo(() => {\n return selectedItem ? [selectedItem] : [];\n }, [selectedItem]);\n\n const { filteredOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n memoizedSelectedItemForFiltering\n );\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: downshiftReset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useSelect<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n selectedItem: selectedItem,\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (value === undefined) {\n setCurrentSelectedItem(newSelectedItem || null);\n }\n if (newSelectedItem) {\n onOptionSelect?.(newSelectedItem);\n }\n onChange?.(newSelectedItem || null);\n },\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuOpen?.() : onMenuClose?.();\n }\n });\n\n const reset = () => {\n if (value === undefined) {\n setCurrentSelectedItem(null);\n }\n downshiftReset();\n onChange?.(null);\n };\n\n const getInputProps = () => ({});\n\n return {\n isOpen,\n inputValue: \"\",\n highlightedIndex,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownSelect;\n"],"names":["useDropdownSelect","options","autoFocus","isMenuOpen","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","showSelectedOptions","filterOption","_useState","useState","_useState2","_slicedToArray","setCurrentSelectedItem","selectedItem","undefined","memoizedSelectedItemForFiltering","useMemo","filteredOptions","useDropdownFiltering","flatOptions","flatMap","group","_useSelect","useSelect","items","itemToString","item","_a","label","isItemDisabled","disabled","isOpen","initialIsOpen","onSelectedItemChange","_ref","newSelectedItem","onIsOpenChange","_ref2","downshiftReset","reset","inputValue","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","openMenu","toggleMenu","closeMenu"],"mappings":"+MAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAAC,EAAsDC,EAAmBT,GAAgB,MAAKU,EAAAC,EAAAH,EAAA,GAAlEI,EAAsBF,EAAA,GAE5CG,OAAyBC,IAAVb,EAAsBA,EAFjBS,EAAA,GAIpBK,EAAmCC,GAAQ,WAC/C,OAAOH,EAAe,CAACA,GAAgB,EACzC,GAAG,CAACA,IAEII,EAAoBC,EAC1BrB,EACAU,EACAD,EACAS,GAJME,gBAOFE,EAAcH,GAAQ,WAAA,OAAMC,EAAgBG,SAAQ,SAAAC,GAAK,OAAIA,EAAMxB,aAAU,CAACoB,IAEpFK,EAWIC,EAAa,CACfC,MAAOL,EACPM,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQhC,EACRiC,cAAelC,EACfe,aAAcA,EACdoB,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BrB,kBACTC,IAAVb,GACFW,EAAuBuB,GAAmB,MAExCA,IACF9B,SAAAA,EAAiB8B,IAEnBjC,SAAAA,EAAWiC,GAAmB,
|
|
1
|
+
{"version":3,"file":"useDropdownSelect.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownSelect.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { useSelect } from \"downshift\";\nimport useDropdownFiltering from \"./useDropdownFiltering\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownGroupOption } from \"../Dropdown.types\";\n\nfunction useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(\n options: DropdownGroupOption<T>,\n autoFocus?: boolean,\n isMenuOpen?: boolean,\n defaultValue?: T,\n value?: T,\n onChange?: (option: T | T[] | null, event?: React.SyntheticEvent) => void,\n onMenuOpen?: () => void,\n onMenuClose?: () => void,\n onOptionSelect?: (option: T) => void,\n showSelectedOptions?: boolean,\n filterOption?: (option: T, inputValue: string) => boolean\n) {\n const [currentSelectedItem, setCurrentSelectedItem] = useState<T | null>(defaultValue || null);\n\n const selectedItem = value !== undefined ? value : currentSelectedItem;\n\n const memoizedSelectedItemForFiltering = useMemo(() => {\n return selectedItem ? [selectedItem] : [];\n }, [selectedItem]);\n\n const { filteredOptions } = useDropdownFiltering<T>(\n options,\n filterOption,\n showSelectedOptions,\n memoizedSelectedItemForFiltering\n );\n\n const flatOptions = useMemo(() => filteredOptions.flatMap(group => group.options), [filteredOptions]);\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: downshiftReset,\n openMenu,\n toggleMenu,\n closeMenu\n } = useSelect<T>({\n items: flatOptions,\n itemToString: item => item?.label ?? \"\",\n isItemDisabled: item => Boolean(item.disabled),\n isOpen: isMenuOpen,\n initialIsOpen: autoFocus,\n selectedItem: selectedItem,\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) => {\n if (value === undefined) {\n setCurrentSelectedItem(newSelectedItem || null);\n }\n if (newSelectedItem) {\n onOptionSelect?.(newSelectedItem);\n }\n onChange?.(newSelectedItem || null, undefined);\n },\n onIsOpenChange: ({ isOpen }) => {\n isOpen ? onMenuOpen?.() : onMenuClose?.();\n }\n });\n\n const reset = () => {\n if (value === undefined) {\n setCurrentSelectedItem(null);\n }\n downshiftReset();\n onChange?.(null, undefined);\n };\n\n const getInputProps = () => ({});\n\n return {\n isOpen,\n inputValue: \"\",\n highlightedIndex,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n reset,\n filteredOptions,\n openMenu,\n toggleMenu,\n closeMenu\n };\n}\n\nexport default useDropdownSelect;\n"],"names":["useDropdownSelect","options","autoFocus","isMenuOpen","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","showSelectedOptions","filterOption","_useState","useState","_useState2","_slicedToArray","setCurrentSelectedItem","selectedItem","undefined","memoizedSelectedItemForFiltering","useMemo","filteredOptions","useDropdownFiltering","flatOptions","flatMap","group","_useSelect","useSelect","items","itemToString","item","_a","label","isItemDisabled","disabled","isOpen","initialIsOpen","onSelectedItemChange","_ref","newSelectedItem","onIsOpenChange","_ref2","downshiftReset","reset","inputValue","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getInputProps","getItemProps","openMenu","toggleMenu","closeMenu"],"mappings":"+MAMA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAAC,EAAsDC,EAAmBT,GAAgB,MAAKU,EAAAC,EAAAH,EAAA,GAAlEI,EAAsBF,EAAA,GAE5CG,OAAyBC,IAAVb,EAAsBA,EAFjBS,EAAA,GAIpBK,EAAmCC,GAAQ,WAC/C,OAAOH,EAAe,CAACA,GAAgB,EACzC,GAAG,CAACA,IAEII,EAAoBC,EAC1BrB,EACAU,EACAD,EACAS,GAJME,gBAOFE,EAAcH,GAAQ,WAAA,OAAMC,EAAgBG,SAAQ,SAAAC,GAAK,OAAIA,EAAMxB,aAAU,CAACoB,IAEpFK,EAWIC,EAAa,CACfC,MAAOL,EACPM,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQhC,EACRiC,cAAelC,EACfe,aAAcA,EACdoB,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BrB,kBACTC,IAAVb,GACFW,EAAuBuB,GAAmB,MAExCA,IACF9B,SAAAA,EAAiB8B,IAEnBjC,SAAAA,EAAWiC,GAAmB,UAAMrB,EACrC,EACDsB,eAAgB,SAAAC,GAASA,EAANN,OACR5B,SAAAA,IAAiBC,SAAAA,GAC5B,IAtBOkC,EAAchB,EAArBiB,MAmCF,MAAO,CACLR,OA1CMT,EAANS,OA2CAS,WAAY,GACZC,iBA3CgBnB,EAAhBmB,iBA4CA5B,aAAAA,EACA6B,qBA5CoBpB,EAApBoB,qBA6CAC,cA5CarB,EAAbqB,cA6CAC,aA5CYtB,EAAZsB,aA6CAC,cAVoB,WAAH,MAAU,IAW3BC,aA7CYxB,EAAZwB,aA8CAP,MApBY,gBACEzB,IAAVb,GACFW,EAAuB,MAEzB0B,IACApC,SAAAA,EAAW,UAAMY,IAgBjBG,gBAAAA,EACA8B,SA9CQzB,EAARyB,SA+CAC,WA9CU1B,EAAV0B,WA+CAC,UA9CS3B,EAAT2B,UAgDJ"}
|
package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{useState as n,useRef as r}from"react";import o from"../hooks/useDropdownMultiSelect.js";import i from"../components/DropdownWrapperUI.js";var a=function(a){var l=a.options,u=a.isMenuOpen,s=a.autoFocus,c=a.defaultValue,p=a.value,d=a.onChange,g=a.onMenuOpen,m=a.onMenuClose,f=a.onOptionSelect,v=a.clearable,y=void 0===v||v,K=a.showSelectedOptions,O=void 0===K||K,b=a.filterOption,P=a.dropdownRef,h=a.onClear,T=a.onOptionRemove,S=a.onFocus,I=a.onBlur,D=a.size,j=void 0===D?"medium":D,M=n(Array.isArray(c)?c:[]),X=e(M,2),w=X[0],C=X[1],E=n(!1),x=e(E,2),Y=x[0],B=x[1],k=r(void 0),F=o(l,w,C,u,s,c,p,(function(e){null==d||d(e,k.current),k.current=void 0}),g,m,f,O,b),R=F.isOpen,A=F.highlightedIndex,V=F.getToggleButtonProps,z=F.getLabelProps,L=F.getMenuProps,_=F.getItemProps,H=F.reset,U=F.toggleMenu,W=F.filteredOptions,q=F.selectedItems,G=F.addSelectedItem,J=F.removeSelectedItem,N=F.getDropdownProps,Q=Object.assign(Object.assign({},a),{isOpen:R,inputValue:null,highlightedIndex:A,selectedItem:void 0,selectedItems:q||[],filteredOptions:W,clearable:y,getToggleButtonProps:function(e){return V(Object.assign(Object.assign({},e||{}),{disabled:a.readOnly||a.disabled,onFocus:function(e){B(!0),null==S||S(e)},onBlur:function(e){B(!1),null==I||I(e)}}))},getLabelProps:z,getMenuProps:L,getItemProps:function(e){var t=_(e);return Object.assign(Object.assign({},t),{onClick:function(e){k.current={type:e.type,clientX:e.clientX,clientY:e.clientY,target:e.target,currentTarget:e.currentTarget,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,button:e.button,timeStamp:e.timeStamp,isTrusted:e.isTrusted,nativeEvent:e.nativeEvent,preventDefault:function(){return e.preventDefault()},stopPropagation:function(){return e.stopPropagation()}},t.onClick&&t.onClick(e)}})},reset:H,getDropdownProps:N,contextOnClear:function(e){if(e&&"clientX"in e){var t=e;k.current={type:t.type,clientX:t.clientX,clientY:t.clientY,target:t.target,currentTarget:t.currentTarget,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,button:t.button,timeStamp:t.timeStamp,isTrusted:t.isTrusted,nativeEvent:t.nativeEvent,preventDefault:function(){return t.preventDefault()},stopPropagation:function(){return t.stopPropagation()}}}H(),void 0===p&&C([]),null==h||h()},contextOnOptionRemove:function(e,t){if(t&&"clientX"in t){var n=t;k.current={type:n.type,clientX:n.clientX,clientY:n.clientY,target:n.target,currentTarget:n.currentTarget,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,altKey:n.altKey,metaKey:n.metaKey,button:n.button,timeStamp:n.timeStamp,isTrusted:n.isTrusted,nativeEvent:n.nativeEvent,preventDefault:function(){return n.preventDefault()},stopPropagation:function(){return n.stopPropagation()}}}J&&J(e),null==T||T(e)},addSelectedItem:G,removeSelectedItem:J,size:j,toggleMenu:U,isFocused:Y});return t.createElement(i,{contextValue:Q,dropdownRef:P})};export{a as default};
|
|
2
2
|
//# sourceMappingURL=DropdownMultiSelectController.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMultiSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownMultiSelectController.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { type DropdownMultiControllerProps } from \"../Dropdown.types\";\nimport useDropdownMultiSelect from \"../hooks/useDropdownMultiSelect\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownMultiSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownMultiControllerProps<Item>\n) => {\n const {\n options,\n isMenuOpen: isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n clearable = true,\n showSelectedOptions = true,\n filterOption,\n dropdownRef,\n onClear,\n onOptionRemove,\n onFocus,\n onBlur,\n size = \"medium\"\n } = props;\n\n const initialMultiSelectedItems = Array.isArray(defaultValue) ? defaultValue : [];\n const [multiSelectedItemsState, setMultiSelectedItemsState] = useState<Item[]>(initialMultiSelectedItems);\n const [isFocused, setIsFocused] = useState(false);\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItems: hookSelectedItems,\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n getDropdownProps\n } = useDropdownMultiSelect<Item>(\n options,\n multiSelectedItemsState,\n setMultiSelectedItemsState,\n isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions,\n filterOption\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n inputValue: null,\n highlightedIndex,\n selectedItem: undefined,\n selectedItems: hookSelectedItems || [],\n filteredOptions,\n clearable,\n getToggleButtonProps: (toggleOptions?: Record<string, any>) => {\n return getToggleButtonProps({\n ...(toggleOptions || {}),\n disabled: props.readOnly || props.disabled,\n onFocus: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(true);\n onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(false);\n onBlur?.(event);\n }\n });\n },\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n getDropdownProps,\n contextOnClear: () => {\n hookReset();\n if (value === undefined) {\n setMultiSelectedItemsState([]);\n }\n onClear?.();\n },\n contextOnOptionRemove: (option: Item) => {\n if (hookRemoveSelectedItem) {\n hookRemoveSelectedItem(option);\n }\n onOptionRemove?.(option);\n },\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n size,\n toggleMenu,\n isFocused\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownMultiSelectController;\n"],"names":["DropdownMultiSelectController","props","options","isMenuOpenProp","isMenuOpen","autoFocus","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","_props$clearable","clearable","_props$showSelectedOp","showSelectedOptions","filterOption","dropdownRef","onClear","onOptionRemove","onFocus","onBlur","_props$size","size","_useState","useState","Array","isArray","_useState2","_slicedToArray","multiSelectedItemsState","setMultiSelectedItemsState","_useState3","_useState4","isFocused","setIsFocused","_useDropdownMultiSele","useDropdownMultiSelect","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItems","selectedItems","hookAddSelectedItem","addSelectedItem","hookRemoveSelectedItem","removeSelectedItem","getDropdownProps","contextValue","inputValue","selectedItem","undefined","toggleOptions","disabled","readOnly","event","contextOnClear","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"0NAOA,IAAMA,EAAgC,SACpCC,GAEA,IACEC,EAkBED,EAlBFC,QACYC,EAiBVF,EAjBFG,WACAC,EAgBEJ,EAhBFI,UACAC,EAeEL,EAfFK,aACAC,EAcEN,EAdFM,MACAC,EAaEP,EAbFO,SACAC,EAYER,EAZFQ,WACAC,EAWET,EAXFS,YACAC,EAUEV,EAVFU,eAAcC,EAUZX,EATFY,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EASdb,EARFc,oBAAAA,OAAsB,IAAHD,GAAOA,EAC1BE,EAOEf,EAPFe,aACAC,EAMEhB,EANFgB,YACAC,EAKEjB,EALFiB,QACAC,EAIElB,EAJFkB,eACAC,EAGEnB,EAHFmB,QACAC,EAEEpB,EAFFoB,OAAMC,EAEJrB,EADFsB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAIjBE,EAA8DC,EAD5BC,MAAMC,QAAQrB,GAAgBA,EAAe,IAC0BsB,EAAAC,EAAAL,EAAA,GAAlGM,EAAuBF,EAAA,GAAEG,EAA0BH,EAAA,GAC1DI,EAAkCP,GAAS,GAAMQ,EAAAJ,EAAAG,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAcIC,EACFnC,EACA4B,EACAC,EACA5B,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAI,EACAC,GA1BAsB,EAAMF,EAANE,OACAC,EAAgBH,EAAhBG,iBACAC,EAAoBJ,EAApBI,qBACAC,EAAaL,EAAbK,cACAC,EAAYN,EAAZM,aACAC,EAAYP,EAAZO,aACOC,EAASR,EAAhBS,MACAC,EAAUV,EAAVU,WACAC,EAAeX,EAAfW,gBACeC,EAAiBZ,EAAhCa,cACiBC,EAAmBd,EAApCe,gBACoBC,EAAsBhB,EAA1CiB,mBACAC,EAAgBlB,EAAhBkB,iBAiBIC,iCACDtD,GAAK,CACRqC,OAAAA,EACAkB,WAAY,KACZjB,iBAAAA,EACAkB,kBAAcC,EACdT,cAAeD,GAAqB,GACpCD,gBAAAA,EACAlC,UAAAA,EACA2B,qBAAsB,SAACmB,GACrB,OAAOnB,iCACDmB,GAAiB,CAAA,GACrB,CAAAC,SAAU3D,EAAM4D,UAAY5D,EAAM2D,SAClCxC,QAAS,SAAC0C,GACR3B,GAAa,GACbf,SAAAA,EAAU0C,EACX,EACDzC,OAAQ,SAACyC,GACP3B,GAAa,GACbd,SAAAA,EAASyC,EACX,IAEH,EACDrB,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,MAAOD,EACPU,iBAAAA,EACAS,eAAgB,WACdnB,SACcc,IAAVnD,GACFwB,EAA2B,IAE7Bb,SAAAA,GACD,EACD8C,sBAAuB,SAACC,GAClBb,GACFA,EAAuBa,GAEzB9C,SAAAA,EAAiB8C,EAClB,EACDd,gBAAiBD,EACjBG,mBAAoBD,EACpB7B,KAAAA,EACAuB,WAAAA,EACAZ,UAAAA,IAGF,OAAOgC,EAAAC,cAACC,EAAiB,CAACb,aAAcA,EAActC,YAAaA,GACrE"}
|
|
1
|
+
{"version":3,"file":"DropdownMultiSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownMultiSelectController.tsx"],"sourcesContent":["import React, { useState, useRef } from \"react\";\nimport { type DropdownMultiControllerProps } from \"../Dropdown.types\";\nimport useDropdownMultiSelect from \"../hooks/useDropdownMultiSelect\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownMultiSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownMultiControllerProps<Item>\n) => {\n const {\n options,\n isMenuOpen: isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n clearable = true,\n showSelectedOptions = true,\n filterOption,\n dropdownRef,\n onClear,\n onOptionRemove,\n onFocus,\n onBlur,\n size = \"medium\"\n } = props;\n\n const initialMultiSelectedItems = Array.isArray(defaultValue) ? defaultValue : [];\n const [multiSelectedItemsState, setMultiSelectedItemsState] = useState<Item[]>(initialMultiSelectedItems);\n const [isFocused, setIsFocused] = useState(false);\n const currentEventRef = useRef<\n | {\n type: string;\n clientX: number;\n clientY: number;\n target: EventTarget | null;\n currentTarget: EventTarget | null;\n ctrlKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n metaKey: boolean;\n button: number;\n timeStamp: number;\n isTrusted: boolean;\n nativeEvent: Event;\n preventDefault: () => void;\n stopPropagation: () => void;\n }\n | undefined\n >(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (options: Item[]) => {\n onChange?.(options, currentEventRef.current as unknown as React.SyntheticEvent);\n currentEventRef.current = undefined; // Clear after use\n };\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItems: hookSelectedItems,\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n getDropdownProps\n } = useDropdownMultiSelect<Item>(\n options,\n multiSelectedItemsState,\n setMultiSelectedItemsState,\n isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChangeWithEvent,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions,\n filterOption\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n inputValue: null,\n highlightedIndex,\n selectedItem: undefined,\n selectedItems: hookSelectedItems || [],\n filteredOptions,\n clearable,\n getToggleButtonProps: (toggleOptions?: Record<string, unknown>) => {\n return getToggleButtonProps({\n ...(toggleOptions || {}),\n disabled: props.readOnly || props.disabled,\n onFocus: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(true);\n onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(false);\n onBlur?.(event);\n }\n });\n },\n getLabelProps,\n getMenuProps,\n getItemProps: (itemOptions: { item: Item; index: number }) => {\n const originalProps = getItemProps(itemOptions);\n return {\n ...originalProps,\n onClick: (event: React.MouseEvent) => {\n // Capture specific event properties immediately before they get nullified\n currentEventRef.current = {\n type: event.type,\n clientX: event.clientX,\n clientY: event.clientY,\n target: event.target,\n currentTarget: event.currentTarget,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n button: event.button,\n timeStamp: event.timeStamp,\n isTrusted: event.isTrusted,\n nativeEvent: event.nativeEvent,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation()\n };\n // Call the original onClick which will trigger the onChange through the hook\n if (originalProps.onClick) {\n originalProps.onClick(event);\n }\n }\n };\n },\n reset: hookReset,\n getDropdownProps,\n contextOnClear: (event?: React.SyntheticEvent) => {\n // Capture the event for the onChange callback that will be triggered by hookReset\n if (event && \"clientX\" in event) {\n const mouseEvent = event as React.MouseEvent;\n currentEventRef.current = {\n type: mouseEvent.type,\n clientX: mouseEvent.clientX,\n clientY: mouseEvent.clientY,\n target: mouseEvent.target,\n currentTarget: mouseEvent.currentTarget,\n ctrlKey: mouseEvent.ctrlKey,\n shiftKey: mouseEvent.shiftKey,\n altKey: mouseEvent.altKey,\n metaKey: mouseEvent.metaKey,\n button: mouseEvent.button,\n timeStamp: mouseEvent.timeStamp,\n isTrusted: mouseEvent.isTrusted,\n nativeEvent: mouseEvent.nativeEvent,\n preventDefault: () => mouseEvent.preventDefault(),\n stopPropagation: () => mouseEvent.stopPropagation()\n };\n }\n hookReset();\n if (value === undefined) {\n setMultiSelectedItemsState([]);\n }\n onClear?.();\n },\n contextOnOptionRemove: (option: Item, event?: React.SyntheticEvent) => {\n // Capture the event for the onChange callback\n if (event && \"clientX\" in event) {\n const mouseEvent = event as React.MouseEvent;\n currentEventRef.current = {\n type: mouseEvent.type,\n clientX: mouseEvent.clientX,\n clientY: mouseEvent.clientY,\n target: mouseEvent.target,\n currentTarget: mouseEvent.currentTarget,\n ctrlKey: mouseEvent.ctrlKey,\n shiftKey: mouseEvent.shiftKey,\n altKey: mouseEvent.altKey,\n metaKey: mouseEvent.metaKey,\n button: mouseEvent.button,\n timeStamp: mouseEvent.timeStamp,\n isTrusted: mouseEvent.isTrusted,\n nativeEvent: mouseEvent.nativeEvent,\n preventDefault: () => mouseEvent.preventDefault(),\n stopPropagation: () => mouseEvent.stopPropagation()\n };\n }\n if (hookRemoveSelectedItem) {\n hookRemoveSelectedItem(option);\n }\n onOptionRemove?.(option);\n },\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n size,\n toggleMenu,\n isFocused\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownMultiSelectController;\n"],"names":["DropdownMultiSelectController","props","options","isMenuOpenProp","isMenuOpen","autoFocus","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","_props$clearable","clearable","_props$showSelectedOp","showSelectedOptions","filterOption","dropdownRef","onClear","onOptionRemove","onFocus","onBlur","_props$size","size","_useState","useState","Array","isArray","_useState2","_slicedToArray","multiSelectedItemsState","setMultiSelectedItemsState","_useState3","_useState4","isFocused","setIsFocused","currentEventRef","useRef","undefined","_useDropdownMultiSele","useDropdownMultiSelect","current","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItems","selectedItems","hookAddSelectedItem","addSelectedItem","hookRemoveSelectedItem","removeSelectedItem","getDropdownProps","contextValue","inputValue","selectedItem","toggleOptions","disabled","readOnly","event","itemOptions","originalProps","Object","assign","onClick","type","clientX","clientY","target","currentTarget","ctrlKey","shiftKey","altKey","metaKey","button","timeStamp","isTrusted","nativeEvent","preventDefault","stopPropagation","contextOnClear","mouseEvent","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{useState as n,useRef as o}from"react";import r from"../hooks/useDropdownSelect.js";import i from"../components/DropdownWrapperUI.js";var l=function(l){var a=l.options,u=l.autoFocus,s=l.isMenuOpen,c=l.defaultValue,p=l.value,d=l.onChange,g=l.onMenuOpen,m=l.onMenuClose,f=l.onOptionSelect,v=l.showSelectedOptions,y=void 0===v||v,b=l.filterOption,O=l.clearable,K=void 0===O||O,h=l.searchable,P=void 0!==h&&h,T=l.multi,I=void 0!==T&&T,j=l.dropdownRef,S=l.onClear,C=l.onFocus,M=l.onBlur,x=l.size,D=void 0===x?"medium":x,w=n(!1),B=e(w,2),E=B[0],F=B[1],X=o(void 0),k=r(a,u,s,c,p,(function(e){null==d||d(e,X.current),X.current=void 0}),g,m,f,y,b),Y=k.isOpen,R=k.highlightedIndex,V=k.getToggleButtonProps,z=k.getLabelProps,L=k.getMenuProps,_=k.getItemProps,A=k.reset,H=k.toggleMenu,U=k.filteredOptions,W=k.selectedItem,q=Object.assign(Object.assign({},l),{isOpen:Y,highlightedIndex:R,selectedItem:W,filteredOptions:U,getToggleButtonProps:function(e){return V(Object.assign(Object.assign({},e||{}),{disabled:l.readOnly||l.disabled,onFocus:function(e){F(!0),null==C||C(e)},onBlur:function(e){F(!1),null==M||M(e)}}))},getLabelProps:z,getMenuProps:L,getItemProps:function(e){var t=_(e);return Object.assign(Object.assign({},t),{onClick:function(e){X.current={type:e.type,clientX:e.clientX,clientY:e.clientY,target:e.target,currentTarget:e.currentTarget,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,button:e.button,timeStamp:e.timeStamp,isTrusted:e.isTrusted,nativeEvent:e.nativeEvent,preventDefault:function(){return e.preventDefault()},stopPropagation:function(){return e.stopPropagation()}},t.onClick&&t.onClick(e)}})},reset:A,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(e){if(e&&"clientX"in e){var t=e;X.current={type:t.type,clientX:t.clientX,clientY:t.clientY,target:t.target,currentTarget:t.currentTarget,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,button:t.button,timeStamp:t.timeStamp,isTrusted:t.isTrusted,nativeEvent:t.nativeEvent,preventDefault:function(){return t.preventDefault()},stopPropagation:function(){return t.stopPropagation()}}}A(),null==S||S()},contextOnOptionRemove:function(){},clearable:K,searchable:P,multi:I,autoFocus:u,onClear:S,size:D,toggleMenu:H,isFocused:E});return t.createElement(i,{contextValue:q,dropdownRef:j})};export{l as default};
|
|
2
2
|
//# sourceMappingURL=DropdownSelectController.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownSelectController.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { type DropdownSingleControllerProps } from \"../Dropdown.types\";\nimport useDropdownSelect from \"../hooks/useDropdownSelect\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownSingleControllerProps<Item>\n) => {\n const {\n options,\n autoFocus,\n isMenuOpen: isMenuOpenProp,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions = true,\n filterOption,\n clearable = true,\n searchable = false,\n multi = false,\n dropdownRef,\n onClear,\n onFocus,\n onBlur,\n size = \"medium\"\n } = props;\n\n const [isFocused, setIsFocused] = useState(false);\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItem: hookSelectedItem\n } = useDropdownSelect<Item>(\n options,\n autoFocus,\n isMenuOpenProp,\n defaultValue,\n value,\n
|
|
1
|
+
{"version":3,"file":"DropdownSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownSelectController.tsx"],"sourcesContent":["import React, { useState, useRef } from \"react\";\nimport { type DropdownSingleControllerProps } from \"../Dropdown.types\";\nimport useDropdownSelect from \"../hooks/useDropdownSelect\";\nimport { type BaseListItemData } from \"../../BaseListItem\";\nimport { type DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownSingleControllerProps<Item>\n) => {\n const {\n options,\n autoFocus,\n isMenuOpen: isMenuOpenProp,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions = true,\n filterOption,\n clearable = true,\n searchable = false,\n multi = false,\n dropdownRef,\n onClear,\n onFocus,\n onBlur,\n size = \"medium\"\n } = props;\n\n const [isFocused, setIsFocused] = useState(false);\n const currentEventRef = useRef<\n | {\n type: string;\n clientX: number;\n clientY: number;\n target: EventTarget | null;\n currentTarget: EventTarget | null;\n ctrlKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n metaKey: boolean;\n button: number;\n timeStamp: number;\n isTrusted: boolean;\n nativeEvent: Event;\n preventDefault: () => void;\n stopPropagation: () => void;\n }\n | undefined\n >(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (option: Item | null) => {\n onChange?.(option, currentEventRef.current as unknown as React.SyntheticEvent);\n currentEventRef.current = undefined; // Clear after use\n };\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItem: hookSelectedItem\n } = useDropdownSelect<Item>(\n options,\n autoFocus,\n isMenuOpenProp,\n defaultValue,\n value,\n onChangeWithEvent,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions,\n filterOption\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n highlightedIndex,\n selectedItem: hookSelectedItem,\n filteredOptions,\n getToggleButtonProps: (toggleOptions?: Record<string, unknown>) => {\n return getToggleButtonProps({\n ...(toggleOptions || {}),\n disabled: props.readOnly || props.disabled,\n onFocus: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(true);\n onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(false);\n onBlur?.(event);\n }\n });\n },\n getLabelProps,\n getMenuProps,\n getItemProps: (itemOptions: { item: Item; index: number }) => {\n const originalProps = getItemProps(itemOptions);\n return {\n ...originalProps,\n onClick: (event: React.MouseEvent) => {\n // Capture specific event properties immediately before they get nullified\n currentEventRef.current = {\n type: event.type,\n clientX: event.clientX,\n clientY: event.clientY,\n target: event.target,\n currentTarget: event.currentTarget,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n button: event.button,\n timeStamp: event.timeStamp,\n isTrusted: event.isTrusted,\n nativeEvent: event.nativeEvent,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation()\n };\n // Call the original onClick which will trigger the onChange through the hook\n if (originalProps.onClick) {\n originalProps.onClick(event);\n }\n }\n };\n },\n reset: hookReset,\n inputValue: null,\n selectedItems: [],\n addSelectedItem: undefined,\n removeSelectedItem: undefined,\n contextOnClear: (event?: React.SyntheticEvent) => {\n // Capture the event for the onChange callback that will be triggered by hookReset\n if (event && \"clientX\" in event) {\n const mouseEvent = event as React.MouseEvent;\n currentEventRef.current = {\n type: mouseEvent.type,\n clientX: mouseEvent.clientX,\n clientY: mouseEvent.clientY,\n target: mouseEvent.target,\n currentTarget: mouseEvent.currentTarget,\n ctrlKey: mouseEvent.ctrlKey,\n shiftKey: mouseEvent.shiftKey,\n altKey: mouseEvent.altKey,\n metaKey: mouseEvent.metaKey,\n button: mouseEvent.button,\n timeStamp: mouseEvent.timeStamp,\n isTrusted: mouseEvent.isTrusted,\n nativeEvent: mouseEvent.nativeEvent,\n preventDefault: () => mouseEvent.preventDefault(),\n stopPropagation: () => mouseEvent.stopPropagation()\n };\n }\n hookReset();\n onClear?.();\n },\n contextOnOptionRemove: () => {},\n clearable,\n searchable,\n multi,\n autoFocus,\n onClear,\n size,\n toggleMenu,\n isFocused\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownSelectController;\n"],"names":["DropdownSelectController","props","options","autoFocus","isMenuOpenProp","isMenuOpen","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","_props$showSelectedOp","showSelectedOptions","filterOption","_props$clearable","clearable","_props$searchable","searchable","_props$multi","multi","dropdownRef","onClear","onFocus","onBlur","_props$size","size","_useState","useState","_useState2","_slicedToArray","isFocused","setIsFocused","currentEventRef","useRef","undefined","_useDropdownSelect","useDropdownSelect","option","current","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItem","selectedItem","contextValue","Object","assign","toggleOptions","disabled","readOnly","event","itemOptions","originalProps","onClick","type","clientX","clientY","target","currentTarget","ctrlKey","shiftKey","altKey","metaKey","button","timeStamp","isTrusted","nativeEvent","preventDefault","stopPropagation","inputValue","selectedItems","addSelectedItem","removeSelectedItem","contextOnClear","mouseEvent","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{forwardRef as r,useRef as a,useState as i,useCallback as s,useMemo as n}from"react";import l from"classnames";import{RemoveScroll as m}from"react-remove-scroll";import c from"react-focus-lock";import{AnimatePresence as d,motion as u}from"framer-motion";import{getTestId as f}from"../../../tests/testIds.js";import{ComponentDefaultTestId as p,ComponentVibeId as v}from"../../../tests/constants.js";import y from"./Modal.module.scss.js";import E from"../ModalTopActions/ModalTopActions.js";import{getStyle as b}from"../../../helpers/typesciptCssModulesHelper.js";import{camelCase as A}from"es-toolkit";import{ModalProvider as j}from"../context/ModalContext.js";import{keyCodes as h}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import{modalAnimationFullViewVariants as x,modalAnimationAnchorPopVariants as M,modalAnimationCenterPopVariants as L,modalAnimationOverlayVariants as T}from"../utils/animationVariants.js";import{createPortal as P}from"react-dom";import k from"../hooks/usePortalTarget/usePortalTarget.js";import C from"../../LayerProvider/LayerProvider.js";import w from"../../../hooks/useMergeRef.js";var
|
|
1
|
+
import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{forwardRef as r,useRef as a,useState as i,useCallback as s,useMemo as n}from"react";import l from"classnames";import{RemoveScroll as m}from"react-remove-scroll";import c from"react-focus-lock";import{AnimatePresence as d,motion as u}from"framer-motion";import{getTestId as f}from"../../../tests/testIds.js";import{ComponentDefaultTestId as p,ComponentVibeId as v}from"../../../tests/constants.js";import y from"./Modal.module.scss.js";import E from"../ModalTopActions/ModalTopActions.js";import{getStyle as b}from"../../../helpers/typesciptCssModulesHelper.js";import{camelCase as A}from"es-toolkit";import{ModalProvider as j}from"../context/ModalContext.js";import{keyCodes as h}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import{modalAnimationFullViewVariants as x,modalAnimationAnchorPopVariants as M,modalAnimationCenterPopVariants as L,modalAnimationOverlayVariants as T}from"../utils/animationVariants.js";import{createPortal as P}from"react-dom";import k from"../hooks/usePortalTarget/usePortalTarget.js";import C from"../../LayerProvider/LayerProvider.js";import w from"../../../hooks/useMergeRef.js";var I=c.default||c,N=r((function(r,c){var N=r.id,g=r.show,z=r.size,D=void 0===z?"medium":z,F=r.renderHeaderAction,H=r.closeButtonTheme,_=r.closeButtonAriaLabel,B=r.onClose,O=void 0===B?function(){}:B,R=r.autoFocus,V=void 0===R||R,X=r.onFocusAttempt,K=r.anchorElementRef,S=r.alertModal,Y=r.container,q=void 0===Y?document.body:Y,G=r.children,J=r.style,Q=r.zIndex,U=r.className,W=r["data-testid"],Z=r["aria-labelledby"],$=r["aria-describedby"],ee=k(q),te=a(null),oe=w(c,te),re=a(null),ae=i(),ie=e(ae,2),se=ie[0],ne=ie[1],le=i(),me=e(le,2),ce=me[0],de=me[1],ue=s((function(e){Z||ne(e)}),[Z]),fe=s((function(e){$||de(e)}),[$]),pe=n((function(){return{modalId:N,setTitleId:ue,setDescriptionId:fe,autoFocus:V}}),[N,ue,fe,V]),ve=s((function(e){g&&!S&&O(e)}),[g,S,O]),ye=s((function(e){e.key===h.ESCAPE&&g&&!S&&O(e)}),[S,O,g]),Ee="full-view"===D?x:(null==K?void 0:K.current)?M:L,be=Q?{"--monday-modal-z-index":Q}:{},Ae=s((function(e){if(!X)return!0;var t=X(e);return!0===t||t instanceof HTMLElement&&(t.focus(),!1)}),[X]);return o.createElement(d,null,g&&o.createElement(C,{layerRef:re},o.createElement(j,{value:pe},P(o.createElement(I,{returnFocus:!0,autoFocus:V,whiteList:Ae},o.createElement("div",{ref:re,className:y.container,style:be},o.createElement(u.div,{variants:T,initial:"initial",animate:"enter",exit:"exit","data-testid":f(p.MODAL_NEXT_OVERLAY,N),className:y.overlay,onClick:ve,"aria-hidden":!0}),o.createElement(m,{forwardProps:!0,ref:oe},o.createElement(u.div,{variants:Ee,initial:"exit",animate:"enter",exit:"exit",custom:K,className:l(y.modal,b(y,A("size-"+D)),t({},y.withHeaderAction,!!F),U),id:N,"data-testid":W||f(p.MODAL_NEXT,N),"data-vibe":v.MODAL,role:"dialog","aria-modal":!0,"aria-labelledby":Z||se,"aria-describedby":$||ce,style:J,onKeyDown:ye,tabIndex:-1},G,o.createElement(E,{renderAction:F,theme:H,closeButtonAriaLabel:_,onClose:O}))))),ee))))}));export{N as default};
|
|
2
2
|
//# sourceMappingURL=Modal.js.map
|