@vibe/core 3.63.0-alpha-7f1d0.0 → 3.63.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.
Files changed (42) hide show
  1. package/dist/components/DropdownNew/Dropdown.types.d.ts +2 -2
  2. package/dist/components/DropdownNew/hooks/useDropdownCombobox.d.ts +1 -2
  3. package/dist/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +1 -2
  4. package/dist/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -2
  5. package/dist/components/DropdownNew/hooks/useDropdownSelect.d.ts +1 -2
  6. package/dist/metadata.json +1 -1
  7. package/dist/mocked_classnames/components/DropdownNew/Dropdown.types.d.ts +2 -2
  8. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownCombobox.d.ts +1 -2
  9. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +1 -2
  10. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -2
  11. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownSelect.d.ts +1 -2
  12. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js +1 -1
  13. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -1
  14. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +1 -1
  15. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -1
  16. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +1 -1
  17. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -1
  18. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js +1 -1
  19. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -1
  20. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js +1 -1
  21. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -1
  22. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js +1 -1
  23. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -1
  24. package/dist/mocked_classnames/src/types/Colors.js +1 -1
  25. package/dist/mocked_classnames/src/types/Colors.js.map +1 -1
  26. package/dist/mocked_classnames/types/Colors.d.ts +1 -0
  27. package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js +1 -1
  28. package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -1
  29. package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +1 -1
  30. package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -1
  31. package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +1 -1
  32. package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -1
  33. package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js +1 -1
  34. package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -1
  35. package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js +1 -1
  36. package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -1
  37. package/dist/src/components/DropdownNew/modes/DropdownSelectController.js +1 -1
  38. package/dist/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -1
  39. package/dist/src/types/Colors.js +1 -1
  40. package/dist/src/types/Colors.js.map +1 -1
  41. package/dist/types/Colors.d.ts +1 -0
  42. 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>[], event: React.SyntheticEvent) => void;
32
+ onChange?: (options: BaseListItemData<Item>[]) => 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>, event: React.SyntheticEvent) => void;
62
+ onChange?: (option: BaseListItemData<Item>) => void;
63
63
  }
64
64
  export type BaseDropdownProps<Item extends BaseListItemData<Record<string, unknown>>> = VibeComponentProps & {
65
65
  /**
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type BaseListItemData } from "../../BaseListItem";
3
2
  import { type DropdownGroupOption } from "../Dropdown.types";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type DropdownGroupOption } from "../Dropdown.types";
3
2
  import { type BaseListItemData } from "../../BaseListItem";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type DropdownGroupOption } from "../Dropdown.types";
3
2
  import { type BaseListItemData } from "../../BaseListItem";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type BaseListItemData } from "../../BaseListItem";
3
2
  import { type DropdownGroupOption } from "../Dropdown.types";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -21026,7 +21026,7 @@
21026
21026
  "name": "onChange",
21027
21027
  "required": false,
21028
21028
  "type": {
21029
- "name": "((options: BaseListItemData<Item>[], event: React.SyntheticEvent) => void) | ((option: BaseListItemData<Item>, event: React.SyntheticEvent) => void)"
21029
+ "name": "((options: BaseListItemData<Item>[]) => void) | ((option: BaseListItemData<Item>) => void)"
21030
21030
  }
21031
21031
  },
21032
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>[], event: React.SyntheticEvent) => void;
32
+ onChange?: (options: BaseListItemData<Item>[]) => 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>, event: React.SyntheticEvent) => void;
62
+ onChange?: (option: BaseListItemData<Item>) => void;
63
63
  }
64
64
  export type BaseDropdownProps<Item extends BaseListItemData<Record<string, unknown>>> = VibeComponentProps & {
65
65
  /**
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type BaseListItemData } from "../../BaseListItem";
3
2
  import { type DropdownGroupOption } from "../Dropdown.types";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type DropdownGroupOption } from "../Dropdown.types";
3
2
  import { type BaseListItemData } from "../../BaseListItem";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type DropdownGroupOption } from "../Dropdown.types";
3
2
  import { type BaseListItemData } from "../../BaseListItem";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { type BaseListItemData } from "../../BaseListItem";
3
2
  import { type DropdownGroupOption } from "../Dropdown.types";
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): {
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): {
5
4
  isOpen: boolean;
6
5
  inputValue: string;
7
6
  highlightedIndex: number;
@@ -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 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};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t,useCallback as u}from"react";import{useCombobox as l}from"downshift";import i from"./useDropdownFiltering.js";function s(s,o,r,a,p,g,c,d,f,m,I,h,O,P){var b=n(p||null),v=e(b,2),M=v[1],C=void 0!==g?g:v[0],T=t((function(){return C?[C]:[]}),[C]),V=i(s,O,P,T),j=V.filteredOptions,y=V.filterOptions,w=t((function(){return j.flatMap((function(e){return e.options}))}),[j]),B=l({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:o,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),y("")):(null==d||d(null),y(""))}),[g,h,y,d]),stateReducer:function(e,n){switch(n.type){case l.stateChangeTypes.InputKeyDownEnter:case l.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},n.changes),{inputValue:"",isOpen:!a});case l.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{s 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, 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
+ {"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,GACXO,EAAc,MAEdnB,SAAAA,EAAW,MACXmB,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||[],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};
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};
2
2
  //# sourceMappingURL=useDropdownMultiCombobox.js.map
@@ -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[], 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":"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,QAAIe,EAClC,IARMc,EAAoBL,EAApBK,qBAAsBC,EAAgBN,EAAhBM,iBAAkBC,EAAeP,EAAfO,gBAAiBC,EAAkBR,EAAlBQ,mBAWjEC,EAaIC,EAAe,CACjBC,MAAOf,EACPgB,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQxC,EACRyC,cAAexC,EACfyC,kBAAmBtC,GAAkB,GACrCuC,eAAgB,SAAAC,GAASA,EAANJ,OACRhC,SAAAA,IAAkBD,SAAAA,GAC5B,EACDsC,mBAAoB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACrB9B,EAAc8B,GAAc,IAC5BzC,SAAAA,EAAgByC,GAAc,GAC/B,EACDC,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BE,aACvB,GAAKD,EAAL,CACA,IAAME,EAAYxC,EAAqByC,WAAU,SAAAlB,GAAI,OAAIA,EAAKhC,QAAU+C,EAAgB/C,SACxF,GAAIiD,GAAa,EAAG,CAClB,IAAME,EAAgBC,GAAAA,OAAAC,EACjB5C,EAAqB6C,MAAM,EAAGL,IAAUI,EACxC5C,EAAqB6C,MAAML,EAAY,UAE9BvC,IAAVV,GACFJ,EAAiBuD,GAEnBxB,EAAmBoB,EACpB,KAAM,CACL,IAAMI,KAAgBC,OAAAC,EAAO5C,GAAsBsC,CAAAA,SACrCrC,IAAVV,GACFJ,EAAiBuD,GAEnBzB,EAAgBqB,EACjB,CACDzC,SAAAA,EAAiByC,GACjBjC,EAAc,GAnBQ,CAoBvB,EACDyC,aAAc,SAACC,EAAOC,GACpB,OAAQA,EAAiBC,MACvB,KAAK7B,EAAY8B,iBAAiBC,kBAClC,KAAK/B,EAAY8B,iBAAiBE,UAChC,OAAYC,OAAAC,OAAAD,OAAAC,OAAA,GAAAN,EAAiBO,SAAS,CAAApB,WAAY,GAAIP,QAAQ,IAChE,KAAKR,EAAY8B,iBAAiBM,UAChC,OAAAH,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,UAASpB,WAAY,KACpD,QACE,OAAOa,EAAiBO,QAE9B,IAGF,MAAO,CACL3B,OA9DMT,EAANS,OA+DAO,WA9DUhB,EAAVgB,WA+DAsB,iBA9DgBtC,EAAhBsC,iBA+DAvE,cAAec,EACfe,qBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAyC,qBAlEoBvC,EAApBuC,qBAmEAC,cAlEaxC,EAAbwC,cAmEAC,aAlEYzC,EAAZyC,aAmEAC,cAlEa1C,EAAb0C,cAmEAC,aAlEY3C,EAAZ2C,aAmEAC,MAlEK5C,EAAL4C,MAmEA7C,mBAAAA,EACAd,gBAAAA,EACA4D,SApEQ7C,EAAR6C,SAqEAC,WApEU9C,EAAV8C,WAqEAC,UApES/C,EAAT+C,UAsEJ"}
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,GAC9B,IARM6B,EAAoBL,EAApBK,qBAAsBC,EAAgBN,EAAhBM,iBAAkBC,EAAeP,EAAfO,gBAAiBC,EAAkBR,EAAlBQ,mBAWjEC,EAaIC,EAAe,CACjBC,MAAOf,EACPgB,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQxC,EACRyC,cAAexC,EACfyC,kBAAmBtC,GAAkB,GACrCuC,eAAgB,SAAAC,GAASA,EAANJ,OACRhC,SAAAA,IAAkBD,SAAAA,GAC5B,EACDsC,mBAAoB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACrB9B,EAAc8B,GAAc,IAC5BzC,SAAAA,EAAgByC,GAAc,GAC/B,EACDC,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BE,aACvB,GAAKD,EAAL,CACA,IAAME,EAAYxC,EAAqByC,WAAU,SAAAlB,GAAI,OAAIA,EAAKhC,QAAU+C,EAAgB/C,SACxF,GAAIiD,GAAa,EAAG,CAClB,IAAME,EAAgBC,GAAAA,OAAAC,EACjB5C,EAAqB6C,MAAM,EAAGL,IAAUI,EACxC5C,EAAqB6C,MAAML,EAAY,UAE9BvC,IAAVV,GACFJ,EAAiBuD,GAEnBxB,EAAmBoB,EACpB,KAAM,CACL,IAAMI,KAAgBC,OAAAC,EAAO5C,GAAsBsC,CAAAA,SACrCrC,IAAVV,GACFJ,EAAiBuD,GAEnBzB,EAAgBqB,EACjB,CACDzC,SAAAA,EAAiByC,GACjBjC,EAAc,GAnBQ,CAoBvB,EACDyC,aAAc,SAACC,EAAOC,GACpB,OAAQA,EAAiBC,MACvB,KAAK7B,EAAY8B,iBAAiBC,kBAClC,KAAK/B,EAAY8B,iBAAiBE,UAChC,OAAYC,OAAAC,OAAAD,OAAAC,OAAA,GAAAN,EAAiBO,SAAS,CAAApB,WAAY,GAAIP,QAAQ,IAChE,KAAKR,EAAY8B,iBAAiBM,UAChC,OAAAH,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,UAASpB,WAAY,KACpD,QACE,OAAOa,EAAiBO,QAE9B,IAGF,MAAO,CACL3B,OA9DMT,EAANS,OA+DAO,WA9DUhB,EAAVgB,WA+DAsB,iBA9DgBtC,EAAhBsC,iBA+DAvE,cAAec,EACfe,qBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAyC,qBAlEoBvC,EAApBuC,qBAmEAC,cAlEaxC,EAAbwC,cAmEAC,aAlEYzC,EAAZyC,aAmEAC,cAlEa1C,EAAb0C,cAmEAC,aAlEY3C,EAAZ2C,aAmEAC,MAlEK5C,EAAL4C,MAmEA7C,mBAAAA,EACAd,gBAAAA,EACA4D,SApEQ7C,EAAR6C,SAqEAC,WApEU9C,EAAV8C,WAqEAC,UApES/C,EAAT+C,UAsEJ"}
@@ -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||[],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};
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};
2
2
  //# sourceMappingURL=useDropdownMultiSelect.js.map
@@ -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[], 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
+ {"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,GAC5B,IARMC,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,GACZ,GAAE,CAACD,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 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};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t}from"react";import{useSelect as l}from"downshift";import o from"./useDropdownFiltering.js";function i(i,r,u,s,p,g,d,a,f,c,m){var I=n(s||null),P=e(I,2),h=P[1],v=void 0!==p?p:P[0],M=t((function(){return v?[v]:[]}),[v]),O=o(i,m,c,M).filteredOptions,b=t((function(){return O.flatMap((function(e){return e.options}))}),[O]),T=l({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:v,onSelectedItemChange:function(e){var n=e.selectedItem;void 0===p&&h(n||null),n&&(null==f||f(n)),null==g||g(n||null)},onIsOpenChange:function(e){e.isOpen?null==d||d():null==a||a()}}),x=T.reset;return{isOpen:T.isOpen,inputValue:"",highlightedIndex:T.highlightedIndex,selectedItem:v,getToggleButtonProps:T.getToggleButtonProps,getLabelProps:T.getLabelProps,getMenuProps:T.getMenuProps,getInputProps:function(){return{}},getItemProps:T.getItemProps,reset:function(){void 0===p&&h(null),x(),null==g||g(null)},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, 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"}
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,KAC/B,EACDC,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,OAgBXe,gBAAAA,EACA8B,SA9CQzB,EAARyB,SA+CAC,WA9CU1B,EAAV0B,WA+CAC,UA9CS3B,EAAT2B,UAgDJ"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t,useRef as n}from"react";import r from"../hooks/useDropdownMultiSelect.js";import l from"../components/DropdownWrapperUI.js";var i=function(i){var s=i.options,u=i.isMenuOpen,c=i.autoFocus,d=i.defaultValue,a=i.value,p=i.onChange,g=i.onMenuOpen,m=i.onMenuClose,f=i.onOptionSelect,O=i.clearable,v=void 0===O||O,b=i.showSelectedOptions,I=void 0===b||b,P=i.filterOption,h=i.dropdownRef,j=i.onClear,M=i.onOptionRemove,w=i.onFocus,C=i.onBlur,S=i.size,x=void 0===S?"medium":S,B=t(Array.isArray(d)?d:[]),k=e(B,2),y=k[0],D=k[1],F=t(!1),R=e(F,2),A=R[0],T=R[1],V=n(void 0),z=r(s,y,D,u,c,d,a,(function(e){null==p||p(e,V.current),V.current=void 0}),g,m,f,I,P),L=z.isOpen,_=z.highlightedIndex,E=z.getToggleButtonProps,H=z.getLabelProps,U=z.getMenuProps,W=z.getItemProps,q=z.reset,G=z.toggleMenu,J=z.filteredOptions,K=z.selectedItems,N=z.addSelectedItem,Q=z.removeSelectedItem,X=z.getDropdownProps,Y=Object.assign(Object.assign({},i),{isOpen:L,inputValue:null,highlightedIndex:_,selectedItem:void 0,selectedItems:K||[],filteredOptions:J,clearable:v,getToggleButtonProps:function(e){return E(Object.assign(Object.assign({},e||{}),{disabled:i.readOnly||i.disabled,onFocus:function(e){T(!0),null==w||w(e)},onBlur:function(e){T(!1),null==C||C(e)}}))},getLabelProps:H,getMenuProps:U,getItemProps:function(e){var o=W(e);return Object.assign(Object.assign({},o),{onClick:function(e){V.current=e,o.onClick&&o.onClick(e)}})},reset:q,getDropdownProps:X,contextOnClear:function(e){V.current=e,q(),void 0===a&&D([]),null==j||j()},contextOnOptionRemove:function(e,o){V.current=o,Q&&Q(e),null==M||M(e)},addSelectedItem:N,removeSelectedItem:Q,size:x,toggleMenu:G,isFocused:A});return o.createElement(l,{contextValue:Y,dropdownRef:h})};export{i as default};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t}from"react";import n from"../hooks/useDropdownMultiSelect.js";import l from"../components/DropdownWrapperUI.js";var r=function(r){var s=r.options,i=r.isMenuOpen,u=r.autoFocus,d=r.defaultValue,p=r.value,a=r.onChange,c=r.onMenuOpen,g=r.onMenuClose,m=r.onOptionSelect,O=r.clearable,f=void 0===O||O,v=r.showSelectedOptions,I=void 0===v||v,b=r.filterOption,P=r.dropdownRef,h=r.onClear,M=r.onOptionRemove,j=r.onFocus,w=r.onBlur,S=r.size,x=void 0===S?"medium":S,B=t(Array.isArray(d)?d:[]),y=e(B,2),C=y[0],D=y[1],F=t(!1),R=e(F,2),A=R[0],T=R[1],V=n(s,C,D,i,u,d,p,a,c,g,m,I,b),z=V.isOpen,L=V.highlightedIndex,_=V.getToggleButtonProps,k=V.getLabelProps,E=V.getMenuProps,H=V.getItemProps,U=V.reset,W=V.toggleMenu,q=V.filteredOptions,G=V.selectedItems,J=V.addSelectedItem,K=V.removeSelectedItem,N=V.getDropdownProps,Q=Object.assign(Object.assign({},r),{isOpen:z,inputValue:null,highlightedIndex:L,selectedItem:void 0,selectedItems:G||[],filteredOptions:q,clearable:f,getToggleButtonProps:function(e){return _(Object.assign(Object.assign({},e||{}),{disabled:r.readOnly||r.disabled,onFocus:function(e){T(!0),null==j||j(e)},onBlur:function(e){T(!1),null==w||w(e)}}))},getLabelProps:k,getMenuProps:E,getItemProps:H,reset:U,getDropdownProps:N,contextOnClear:function(){U(),void 0===p&&D([]),null==h||h()},contextOnOptionRemove:function(e){K&&K(e),null==M||M(e)},addSelectedItem:J,removeSelectedItem:K,size:x,toggleMenu:W,isFocused:A});return o.createElement(l,{contextValue:Q,dropdownRef:P})};export{r as default};
2
2
  //# sourceMappingURL=DropdownMultiSelectController.js.map
@@ -1 +1 @@
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<React.SyntheticEvent | undefined>(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (options: Item[]) => {\n onChange?.(options, currentEventRef.current);\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 the event for the onChange callback\n currentEventRef.current = event;\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 currentEventRef.current = event;\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 currentEventRef.current = event;\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","contextOnClear","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"sOAOA,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,GACxBG,EAAkBC,OAAyCC,GAQjEC,EAcIC,EACFtC,EACA4B,EACAC,EACA5B,EACAE,EACAC,EACAC,GA1BwB,SAACL,GACzBM,SAAAA,EAAWN,EAASkC,EAAgBK,SACpCL,EAAgBK,aAAUH,IA0B1B7B,EACAC,EACAC,EACAI,EACAC,GA1BA0B,EAAMH,EAANG,OACAC,EAAgBJ,EAAhBI,iBACAC,EAAoBL,EAApBK,qBACAC,EAAaN,EAAbM,cACAC,EAAYP,EAAZO,aACAC,EAAYR,EAAZQ,aACOC,EAAST,EAAhBU,MACAC,EAAUX,EAAVW,WACAC,EAAeZ,EAAfY,gBACeC,EAAiBb,EAAhCc,cACiBC,EAAmBf,EAApCgB,gBACoBC,EAAsBjB,EAA1CkB,mBACAC,EAAgBnB,EAAhBmB,iBAiBIC,iCACD1D,GAAK,CACRyC,OAAAA,EACAkB,WAAY,KACZjB,iBAAAA,EACAkB,kBAAcvB,EACde,cAAeD,GAAqB,GACpCD,gBAAAA,EACAtC,UAAAA,EACA+B,qBAAsB,SAACkB,GACrB,OAAOlB,iCACDkB,GAAiB,CAAA,GACrB,CAAAC,SAAU9D,EAAM+D,UAAY/D,EAAM8D,SAClC3C,QAAS,SAAC6C,GACR9B,GAAa,GACbf,SAAAA,EAAU6C,EACX,EACD5C,OAAQ,SAAC4C,GACP9B,GAAa,GACbd,SAAAA,EAAS4C,EACX,IAEH,EACDpB,cAAAA,EACAC,aAAAA,EACAC,aAAc,SAACmB,GACb,IAAMC,EAAgBpB,EAAamB,GACnC,OAAAE,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKF,GACH,CAAAG,QAAS,SAACL,GAER7B,EAAgBK,QAAUwB,EAEtBE,EAAcG,SAChBH,EAAcG,QAAQL,EAE1B,GAEH,EACDhB,MAAOD,EACPU,iBAAAA,EACAa,eAAgB,SAACN,GAEf7B,EAAgBK,QAAUwB,EAC1BjB,SACcV,IAAV/B,GACFwB,EAA2B,IAE7Bb,SAAAA,GACD,EACDsD,sBAAuB,SAACC,EAAcR,GAEpC7B,EAAgBK,QAAUwB,EACtBT,GACFA,EAAuBiB,GAEzBtD,SAAAA,EAAiBsD,EAClB,EACDlB,gBAAiBD,EACjBG,mBAAoBD,EACpBjC,KAAAA,EACA2B,WAAAA,EACAhB,UAAAA,IAGF,OAAOwC,EAAAC,cAACC,EAAiB,CAACjB,aAAcA,EAAc1C,YAAaA,GACrE"}
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,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t,useRef as n}from"react";import l from"../hooks/useDropdownSelect.js";import r from"../components/DropdownWrapperUI.js";var i=function(i){var s=i.options,u=i.autoFocus,c=i.isMenuOpen,a=i.defaultValue,d=i.value,p=i.onChange,g=i.onMenuOpen,m=i.onMenuClose,f=i.onOptionSelect,O=i.showSelectedOptions,v=void 0===O||O,b=i.filterOption,h=i.clearable,I=void 0===h||h,j=i.searchable,P=void 0!==j&&j,C=i.multi,M=void 0!==C&&C,x=i.dropdownRef,w=i.onClear,B=i.onFocus,F=i.onBlur,S=i.size,k=void 0===S?"medium":S,R=t(!1),T=e(R,2),V=T[0],y=T[1],z=n(void 0),D=l(s,u,c,a,d,(function(e){null==p||p(e,z.current),z.current=void 0}),g,m,f,v,b),L=D.isOpen,_=D.highlightedIndex,A=D.getToggleButtonProps,E=D.getLabelProps,H=D.getMenuProps,U=D.getItemProps,W=D.reset,q=D.toggleMenu,G=D.filteredOptions,J=D.selectedItem,K=Object.assign(Object.assign({},i),{isOpen:L,highlightedIndex:_,selectedItem:J,filteredOptions:G,getToggleButtonProps:function(e){return A(Object.assign(Object.assign({},e||{}),{disabled:i.readOnly||i.disabled,onFocus:function(e){y(!0),null==B||B(e)},onBlur:function(e){y(!1),null==F||F(e)}}))},getLabelProps:E,getMenuProps:H,getItemProps:function(e){var o=U(e);return Object.assign(Object.assign({},o),{onClick:function(e){z.current=e,o.onClick&&o.onClick(e)}})},reset:W,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(e){z.current=e,W(),null==w||w()},contextOnOptionRemove:function(){},clearable:I,searchable:P,multi:M,autoFocus:u,onClear:w,size:k,toggleMenu:q,isFocused:V});return o.createElement(r,{contextValue:K,dropdownRef:x})};export{i as default};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t}from"react";import n from"../hooks/useDropdownSelect.js";import l from"../components/DropdownWrapperUI.js";var s=function(s){var r=s.options,i=s.autoFocus,u=s.isMenuOpen,a=s.defaultValue,d=s.value,c=s.onChange,p=s.onMenuOpen,g=s.onMenuClose,m=s.onOptionSelect,f=s.showSelectedOptions,O=void 0===f||f,b=s.filterOption,v=s.clearable,h=void 0===v||v,I=s.searchable,P=void 0!==I&&I,j=s.multi,M=void 0!==j&&j,x=s.dropdownRef,w=s.onClear,B=s.onFocus,C=s.onBlur,F=s.size,S=void 0===F?"medium":F,R=t(!1),T=e(R,2),V=T[0],y=T[1],z=n(r,i,u,a,d,c,p,g,m,O,b),D=z.isOpen,L=z.highlightedIndex,_=z.getToggleButtonProps,k=z.getLabelProps,A=z.getMenuProps,E=z.getItemProps,H=z.reset,U=z.toggleMenu,W=z.filteredOptions,q=z.selectedItem,G=Object.assign(Object.assign({},s),{isOpen:D,highlightedIndex:L,selectedItem:q,filteredOptions:W,getToggleButtonProps:function(e){return _(Object.assign(Object.assign({},e||{}),{disabled:s.readOnly||s.disabled,onFocus:function(e){y(!0),null==B||B(e)},onBlur:function(e){y(!1),null==C||C(e)}}))},getLabelProps:k,getMenuProps:A,getItemProps:E,reset:H,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(){H(),null==w||w()},contextOnOptionRemove:function(){},clearable:h,searchable:P,multi:M,autoFocus:i,onClear:w,size:S,toggleMenu:U,isFocused:V});return o.createElement(l,{contextValue:G,dropdownRef:x})};export{s as default};
2
2
  //# sourceMappingURL=DropdownSelectController.js.map
@@ -1 +1 @@
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<React.SyntheticEvent | undefined>(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (option: Item | null) => {\n onChange?.(option, currentEventRef.current);\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 the event for the onChange callback\n currentEventRef.current = event;\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 currentEventRef.current = event;\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","inputValue","selectedItems","addSelectedItem","removeSelectedItem","contextOnClear","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"iOAOA,IAAMA,EAA2B,SAC/BC,GAEA,IACEC,EAmBED,EAnBFC,QACAC,EAkBEF,EAlBFE,UACYC,EAiBVH,EAjBFI,WACAC,EAgBEL,EAhBFK,aACAC,EAeEN,EAfFM,MACAC,EAcEP,EAdFO,SACAC,EAaER,EAbFQ,WACAC,EAYET,EAZFS,YACAC,EAWEV,EAXFU,eAAcC,EAWZX,EAVFY,oBAAAA,OAAsB,IAAHD,GAAOA,EAC1BE,EASEb,EATFa,aAAYC,EASVd,EARFe,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAQdhB,EAPFiB,WAAAA,OAAa,IAAHD,GAAQA,EAAAE,EAOhBlB,EANFmB,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EAKEpB,EALFoB,YACAC,EAIErB,EAJFqB,QACAC,EAGEtB,EAHFsB,QACAC,EAEEvB,EAFFuB,OAAMC,EAEJxB,EADFyB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAGjBE,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAkBC,OAAyCC,GAQjEC,EAWIC,EACFnC,EACAC,EACAC,EACAE,EACAC,GArBwB,SAAC+B,GACzB9B,SAAAA,EAAW8B,EAAQL,EAAgBM,SACnCN,EAAgBM,aAAUJ,IAqB1B1B,EACAC,EACAC,EACAE,EACAC,GArBA0B,EAAMJ,EAANI,OACAC,EAAgBL,EAAhBK,iBACAC,EAAoBN,EAApBM,qBACAC,EAAaP,EAAbO,cACAC,EAAYR,EAAZQ,aACAC,EAAYT,EAAZS,aACOC,EAASV,EAAhBW,MACAC,EAAUZ,EAAVY,WACAC,EAAeb,EAAfa,gBACcC,EAAgBd,EAA9Be,aAeIC,EAAYC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACbrD,GAAK,CACRuC,OAAAA,EACAC,iBAAAA,EACAU,aAAcD,EACdD,gBAAAA,EACAP,qBAAsB,SAACa,GACrB,OAAOb,iCACDa,GAAiB,CAAA,GACrB,CAAAC,SAAUvD,EAAMwD,UAAYxD,EAAMuD,SAClCjC,QAAS,SAACmC,GACR1B,GAAa,GACbT,SAAAA,EAAUmC,EACX,EACDlC,OAAQ,SAACkC,GACP1B,GAAa,GACbR,SAAAA,EAASkC,EACX,IAEH,EACDf,cAAAA,EACAC,aAAAA,EACAC,aAAc,SAACc,GACb,IAAMC,EAAgBf,EAAac,GACnC,OAAAN,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKM,GACH,CAAAC,QAAS,SAACH,GAERzB,EAAgBM,QAAUmB,EAEtBE,EAAcC,SAChBD,EAAcC,QAAQH,EAE1B,GAEH,EACDX,MAAOD,EACPgB,WAAY,KACZC,cAAe,GACfC,qBAAiB7B,EACjB8B,wBAAoB9B,EACpB+B,eAAgB,SAACR,GAEfzB,EAAgBM,QAAUmB,EAC1BZ,IACAxB,SAAAA,GACD,EACD6C,sBAAuB,WAAQ,EAC/BnD,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAjB,UAAAA,EACAmB,QAAAA,EACAI,KAAAA,EACAsB,WAAAA,EACAjB,UAAAA,IAGF,OAAOqC,EAAAC,cAACC,EAAiB,CAAClB,aAAcA,EAAc/B,YAAaA,GACrE"}
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 onChange,\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, 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 inputValue: null,\n selectedItems: [],\n addSelectedItem: undefined,\n removeSelectedItem: undefined,\n contextOnClear: () => {\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","_useDropdownSelect","useDropdownSelect","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItem","selectedItem","contextValue","Object","assign","toggleOptions","disabled","readOnly","event","inputValue","selectedItems","addSelectedItem","undefined","removeSelectedItem","contextOnClear","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"qNAOA,IAAMA,EAA2B,SAC/BC,GAEA,IACEC,EAmBED,EAnBFC,QACAC,EAkBEF,EAlBFE,UACYC,EAiBVH,EAjBFI,WACAC,EAgBEL,EAhBFK,aACAC,EAeEN,EAfFM,MACAC,EAcEP,EAdFO,SACAC,EAaER,EAbFQ,WACAC,EAYET,EAZFS,YACAC,EAWEV,EAXFU,eAAcC,EAWZX,EAVFY,oBAAAA,OAAsB,IAAHD,GAAOA,EAC1BE,EASEb,EATFa,aAAYC,EASVd,EARFe,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAQdhB,EAPFiB,WAAAA,OAAa,IAAHD,GAAQA,EAAAE,EAOhBlB,EANFmB,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EAKEpB,EALFoB,YACAC,EAIErB,EAJFqB,QACAC,EAGEtB,EAHFsB,QACAC,EAEEvB,EAFFuB,OAAMC,EAEJxB,EADFyB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAGjBE,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAE9BI,EAWIC,EACFhC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GArBAqB,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,gBACcC,EAAgBZ,EAA9Ba,aAeIC,EAAYC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACbhD,GAAK,CACRkC,OAAAA,EACAC,iBAAAA,EACAU,aAAcD,EACdD,gBAAAA,EACAP,qBAAsB,SAACa,GACrB,OAAOb,iCACDa,GAAiB,CAAA,GACrB,CAAAC,SAAUlD,EAAMmD,UAAYnD,EAAMkD,SAClC5B,QAAS,SAAC8B,GACRrB,GAAa,GACbT,SAAAA,EAAU8B,EACX,EACD7B,OAAQ,SAAC6B,GACPrB,GAAa,GACbR,SAAAA,EAAS6B,EACX,IAEH,EACDf,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,MAAOD,EACPa,WAAY,KACZC,cAAe,GACfC,qBAAiBC,EACjBC,wBAAoBD,EACpBE,eAAgB,WACdlB,IACAnB,SAAAA,GACD,EACDsC,sBAAuB,WAAQ,EAC/B5C,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAjB,UAAAA,EACAmB,QAAAA,EACAI,KAAAA,EACAiB,WAAAA,EACAZ,UAAAA,IAGF,OAAO8B,EAAAC,cAACC,EAAiB,CAAChB,aAAcA,EAAc1B,YAAaA,GACrE"}
@@ -1,2 +1,2 @@
1
- import{contentColors as e}from"../utils/colors-vars-map.js";var o={positive:"--positive-color-selected",negative:"--negative-color-selected",primary:"--primary-selected-color",warning:"--warning-color-selected"},r={positive:"--positive-color-selected-hover",negative:"--negative-color-selected-hover",primary:"--primary-selected-hover-color"};function c(c){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.includes(c)?"var(--color-".concat(c).concat(t?"-selected":"",")"):Object.keys(r).includes(c)&&i?"var(".concat(r[c],")"):Object.keys(o).includes(c)&&t?"var(".concat(o[c],")"):c}export{c as getElementColor};
1
+ import{contentColors as e}from"../utils/colors-vars-map.js";var o={positive:"--positive-color-selected",negative:"--negative-color-selected",primary:"--primary-selected-color",warning:"--warning-color-selected"},r={positive:"--positive-color-selected-hover",negative:"--negative-color-selected-hover",primary:"--primary-selected-hover-color",warning:"--warning-color-selected-hover"};function c(c){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.includes(c)?"var(--color-".concat(c).concat(t?"-selected":"",")"):Object.keys(r).includes(c)&&i?"var(".concat(r[c],")"):Object.keys(o).includes(c)&&t?"var(".concat(o[c],")"):c}export{c as getElementColor};
2
2
  //# sourceMappingURL=Colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Colors.js","sources":["../../../../src/types/Colors.ts"],"sourcesContent":["import { contentColors } from \"../utils/colors-vars-map\";\n\nconst MapStateSelectedColor = {\n positive: \"--positive-color-selected\",\n negative: \"--negative-color-selected\",\n primary: \"--primary-selected-color\",\n warning: \"--warning-color-selected\"\n};\n\nconst MapStateSelectedHoverColor = {\n positive: \"--positive-color-selected-hover\",\n negative: \"--negative-color-selected-hover\",\n primary: \"--primary-selected-hover-color\"\n};\n\ntype ContentColor = (typeof contentColors)[number];\ntype StateSelectedColorKeys = keyof typeof MapStateSelectedColor;\ntype StateSelectedHoverColorKeys = keyof typeof MapStateSelectedHoverColor;\n\nexport type ElementAllowedColor = ContentColor | \"positive\" | \"negative\" | \"primary\" | \"warning\";\n\nexport function getElementColor(\n colorValue: ContentColor | StateSelectedColorKeys | StateSelectedHoverColorKeys,\n isSelectedPalette = false,\n isSelectedHoverPalette = false\n): string {\n if (contentColors.includes(colorValue as ContentColor)) {\n return `var(--color-${colorValue}${isSelectedPalette ? \"-selected\" : \"\"})`;\n }\n if (\n Object.keys(MapStateSelectedHoverColor).includes(colorValue as StateSelectedHoverColorKeys) &&\n isSelectedHoverPalette\n ) {\n return `var(${MapStateSelectedHoverColor[colorValue as StateSelectedHoverColorKeys]})`;\n }\n if (Object.keys(MapStateSelectedColor).includes(colorValue as StateSelectedColorKeys) && isSelectedPalette) {\n return `var(${MapStateSelectedColor[colorValue as StateSelectedColorKeys]})`;\n }\n return colorValue;\n}\n\nexport type ColorStyle = \"regular\" | \"hover\" | \"selected\";\n"],"names":["MapStateSelectedColor","positive","negative","primary","warning","MapStateSelectedHoverColor","getElementColor","colorValue","isSelectedPalette","arguments","length","undefined","isSelectedHoverPalette","contentColors","includes","concat","Object","keys"],"mappings":"4DAEA,IAAMA,EAAwB,CAC5BC,SAAU,4BACVC,SAAU,4BACVC,QAAS,2BACTC,QAAS,4BAGLC,EAA6B,CACjCJ,SAAU,kCACVC,SAAU,kCACVC,QAAS,kCASL,SAAUG,EACdC,GAE8B,IAD9BC,EAAiBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjBG,EAAsBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEtB,OAAII,EAAcC,SAASP,GACzBQ,eAAAA,OAAsBR,GAAUQ,OAAGP,EAAoB,YAAc,GAAE,KAGvEQ,OAAOC,KAAKZ,GAA4BS,SAASP,IACjDK,EAEA,OAAAG,OAAcV,EAA2BE,GAA0C,KAEjFS,OAAOC,KAAKjB,GAAuBc,SAASP,IAAyCC,EACvF,OAAAO,OAAcf,EAAsBO,GAAqC,KAEpEA,CACT"}
1
+ {"version":3,"file":"Colors.js","sources":["../../../../src/types/Colors.ts"],"sourcesContent":["import { contentColors } from \"../utils/colors-vars-map\";\n\nconst MapStateSelectedColor = {\n positive: \"--positive-color-selected\",\n negative: \"--negative-color-selected\",\n primary: \"--primary-selected-color\",\n warning: \"--warning-color-selected\"\n};\n\nconst MapStateSelectedHoverColor = {\n positive: \"--positive-color-selected-hover\",\n negative: \"--negative-color-selected-hover\",\n primary: \"--primary-selected-hover-color\",\n warning: \"--warning-color-selected-hover\"\n};\n\ntype ContentColor = (typeof contentColors)[number];\ntype StateSelectedColorKeys = keyof typeof MapStateSelectedColor;\ntype StateSelectedHoverColorKeys = keyof typeof MapStateSelectedHoverColor;\n\nexport type ElementAllowedColor = ContentColor | \"positive\" | \"negative\" | \"primary\" | \"warning\";\n\nexport function getElementColor(\n colorValue: ContentColor | StateSelectedColorKeys | StateSelectedHoverColorKeys,\n isSelectedPalette = false,\n isSelectedHoverPalette = false\n): string {\n if (contentColors.includes(colorValue as ContentColor)) {\n return `var(--color-${colorValue}${isSelectedPalette ? \"-selected\" : \"\"})`;\n }\n if (\n Object.keys(MapStateSelectedHoverColor).includes(colorValue as StateSelectedHoverColorKeys) &&\n isSelectedHoverPalette\n ) {\n return `var(${MapStateSelectedHoverColor[colorValue as StateSelectedHoverColorKeys]})`;\n }\n if (Object.keys(MapStateSelectedColor).includes(colorValue as StateSelectedColorKeys) && isSelectedPalette) {\n return `var(${MapStateSelectedColor[colorValue as StateSelectedColorKeys]})`;\n }\n return colorValue;\n}\n\nexport type ColorStyle = \"regular\" | \"hover\" | \"selected\";\n"],"names":["MapStateSelectedColor","positive","negative","primary","warning","MapStateSelectedHoverColor","getElementColor","colorValue","isSelectedPalette","arguments","length","undefined","isSelectedHoverPalette","contentColors","includes","concat","Object","keys"],"mappings":"4DAEA,IAAMA,EAAwB,CAC5BC,SAAU,4BACVC,SAAU,4BACVC,QAAS,2BACTC,QAAS,4BAGLC,EAA6B,CACjCJ,SAAU,kCACVC,SAAU,kCACVC,QAAS,iCACTC,QAAS,kCASL,SAAUE,EACdC,GAE8B,IAD9BC,EAAiBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjBG,EAAsBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEtB,OAAII,EAAcC,SAASP,GACzBQ,eAAAA,OAAsBR,GAAUQ,OAAGP,EAAoB,YAAc,GAAE,KAGvEQ,OAAOC,KAAKZ,GAA4BS,SAASP,IACjDK,EAEA,OAAAG,OAAcV,EAA2BE,GAA0C,KAEjFS,OAAOC,KAAKjB,GAAuBc,SAASP,IAAyCC,EACvF,OAAAO,OAAcf,EAAsBO,GAAqC,KAEpEA,CACT"}
@@ -9,6 +9,7 @@ declare const MapStateSelectedHoverColor: {
9
9
  positive: string;
10
10
  negative: string;
11
11
  primary: string;
12
+ warning: string;
12
13
  };
13
14
  type ContentColor = (typeof contentColors)[number];
14
15
  type StateSelectedColorKeys = keyof typeof MapStateSelectedColor;
@@ -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 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};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t,useCallback as u}from"react";import{useCombobox as l}from"downshift";import i from"./useDropdownFiltering.js";function s(s,o,r,a,p,g,c,d,f,m,I,h,O,P){var b=n(p||null),v=e(b,2),M=v[1],C=void 0!==g?g:v[0],T=t((function(){return C?[C]:[]}),[C]),V=i(s,O,P,T),j=V.filteredOptions,y=V.filterOptions,w=t((function(){return j.flatMap((function(e){return e.options}))}),[j]),B=l({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:o,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),y("")):(null==d||d(null),y(""))}),[g,h,y,d]),stateReducer:function(e,n){switch(n.type){case l.stateChangeTypes.InputKeyDownEnter:case l.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},n.changes),{inputValue:"",isOpen:!a});case l.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{s 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, 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
+ {"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,GACXO,EAAc,MAEdnB,SAAAA,EAAW,MACXmB,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||[],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};
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};
2
2
  //# sourceMappingURL=useDropdownMultiCombobox.js.map
@@ -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[], 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":"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,QAAIe,EAClC,IARMc,EAAoBL,EAApBK,qBAAsBC,EAAgBN,EAAhBM,iBAAkBC,EAAeP,EAAfO,gBAAiBC,EAAkBR,EAAlBQ,mBAWjEC,EAaIC,EAAe,CACjBC,MAAOf,EACPgB,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQxC,EACRyC,cAAexC,EACfyC,kBAAmBtC,GAAkB,GACrCuC,eAAgB,SAAAC,GAASA,EAANJ,OACRhC,SAAAA,IAAkBD,SAAAA,GAC5B,EACDsC,mBAAoB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACrB9B,EAAc8B,GAAc,IAC5BzC,SAAAA,EAAgByC,GAAc,GAC/B,EACDC,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BE,aACvB,GAAKD,EAAL,CACA,IAAME,EAAYxC,EAAqByC,WAAU,SAAAlB,GAAI,OAAIA,EAAKhC,QAAU+C,EAAgB/C,SACxF,GAAIiD,GAAa,EAAG,CAClB,IAAME,EAAgBC,GAAAA,OAAAC,EACjB5C,EAAqB6C,MAAM,EAAGL,IAAUI,EACxC5C,EAAqB6C,MAAML,EAAY,UAE9BvC,IAAVV,GACFJ,EAAiBuD,GAEnBxB,EAAmBoB,EACpB,KAAM,CACL,IAAMI,KAAgBC,OAAAC,EAAO5C,GAAsBsC,CAAAA,SACrCrC,IAAVV,GACFJ,EAAiBuD,GAEnBzB,EAAgBqB,EACjB,CACDzC,SAAAA,EAAiByC,GACjBjC,EAAc,GAnBQ,CAoBvB,EACDyC,aAAc,SAACC,EAAOC,GACpB,OAAQA,EAAiBC,MACvB,KAAK7B,EAAY8B,iBAAiBC,kBAClC,KAAK/B,EAAY8B,iBAAiBE,UAChC,OAAYC,OAAAC,OAAAD,OAAAC,OAAA,GAAAN,EAAiBO,SAAS,CAAApB,WAAY,GAAIP,QAAQ,IAChE,KAAKR,EAAY8B,iBAAiBM,UAChC,OAAAH,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,UAASpB,WAAY,KACpD,QACE,OAAOa,EAAiBO,QAE9B,IAGF,MAAO,CACL3B,OA9DMT,EAANS,OA+DAO,WA9DUhB,EAAVgB,WA+DAsB,iBA9DgBtC,EAAhBsC,iBA+DAvE,cAAec,EACfe,qBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAyC,qBAlEoBvC,EAApBuC,qBAmEAC,cAlEaxC,EAAbwC,cAmEAC,aAlEYzC,EAAZyC,aAmEAC,cAlEa1C,EAAb0C,cAmEAC,aAlEY3C,EAAZ2C,aAmEAC,MAlEK5C,EAAL4C,MAmEA7C,mBAAAA,EACAd,gBAAAA,EACA4D,SApEQ7C,EAAR6C,SAqEAC,WApEU9C,EAAV8C,WAqEAC,UApES/C,EAAT+C,UAsEJ"}
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,GAC9B,IARM6B,EAAoBL,EAApBK,qBAAsBC,EAAgBN,EAAhBM,iBAAkBC,EAAeP,EAAfO,gBAAiBC,EAAkBR,EAAlBQ,mBAWjEC,EAaIC,EAAe,CACjBC,MAAOf,EACPgB,aAAc,SAAAC,GAAO,IAAAC,EAAC,OAAe,QAAfA,EAAAD,eAAAA,EAAME,aAAS,IAAAD,EAAAA,EAAA,EAAE,EACvCE,eAAgB,SAAAH,GAAI,QAAYA,EAAKI,QAAS,EAC9CC,OAAQxC,EACRyC,cAAexC,EACfyC,kBAAmBtC,GAAkB,GACrCuC,eAAgB,SAAAC,GAASA,EAANJ,OACRhC,SAAAA,IAAkBD,SAAAA,GAC5B,EACDsC,mBAAoB,SAAAC,GAAmB,IAAhBC,EAAUD,EAAVC,WACrB9B,EAAc8B,GAAc,IAC5BzC,SAAAA,EAAgByC,GAAc,GAC/B,EACDC,qBAAsB,SAAAC,GAAsC,IAArBC,EAAeD,EAA7BE,aACvB,GAAKD,EAAL,CACA,IAAME,EAAYxC,EAAqByC,WAAU,SAAAlB,GAAI,OAAIA,EAAKhC,QAAU+C,EAAgB/C,SACxF,GAAIiD,GAAa,EAAG,CAClB,IAAME,EAAgBC,GAAAA,OAAAC,EACjB5C,EAAqB6C,MAAM,EAAGL,IAAUI,EACxC5C,EAAqB6C,MAAML,EAAY,UAE9BvC,IAAVV,GACFJ,EAAiBuD,GAEnBxB,EAAmBoB,EACpB,KAAM,CACL,IAAMI,KAAgBC,OAAAC,EAAO5C,GAAsBsC,CAAAA,SACrCrC,IAAVV,GACFJ,EAAiBuD,GAEnBzB,EAAgBqB,EACjB,CACDzC,SAAAA,EAAiByC,GACjBjC,EAAc,GAnBQ,CAoBvB,EACDyC,aAAc,SAACC,EAAOC,GACpB,OAAQA,EAAiBC,MACvB,KAAK7B,EAAY8B,iBAAiBC,kBAClC,KAAK/B,EAAY8B,iBAAiBE,UAChC,OAAYC,OAAAC,OAAAD,OAAAC,OAAA,GAAAN,EAAiBO,SAAS,CAAApB,WAAY,GAAIP,QAAQ,IAChE,KAAKR,EAAY8B,iBAAiBM,UAChC,OAAAH,OAAAC,OAAAD,OAAAC,OAAA,GAAYN,EAAiBO,UAASpB,WAAY,KACpD,QACE,OAAOa,EAAiBO,QAE9B,IAGF,MAAO,CACL3B,OA9DMT,EAANS,OA+DAO,WA9DUhB,EAAVgB,WA+DAsB,iBA9DgBtC,EAAhBsC,iBA+DAvE,cAAec,EACfe,qBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAyC,qBAlEoBvC,EAApBuC,qBAmEAC,cAlEaxC,EAAbwC,cAmEAC,aAlEYzC,EAAZyC,aAmEAC,cAlEa1C,EAAb0C,cAmEAC,aAlEY3C,EAAZ2C,aAmEAC,MAlEK5C,EAAL4C,MAmEA7C,mBAAAA,EACAd,gBAAAA,EACA4D,SApEQ7C,EAAR6C,SAqEAC,WApEU9C,EAAV8C,WAqEAC,UApES/C,EAAT+C,UAsEJ"}
@@ -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||[],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};
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};
2
2
  //# sourceMappingURL=useDropdownMultiSelect.js.map
@@ -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[], 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
+ {"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,GAC5B,IARMC,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,GACZ,GAAE,CAACD,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 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};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useMemo as t}from"react";import{useSelect as l}from"downshift";import o from"./useDropdownFiltering.js";function i(i,r,u,s,p,g,d,a,f,c,m){var I=n(s||null),P=e(I,2),h=P[1],v=void 0!==p?p:P[0],M=t((function(){return v?[v]:[]}),[v]),O=o(i,m,c,M).filteredOptions,b=t((function(){return O.flatMap((function(e){return e.options}))}),[O]),T=l({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:v,onSelectedItemChange:function(e){var n=e.selectedItem;void 0===p&&h(n||null),n&&(null==f||f(n)),null==g||g(n||null)},onIsOpenChange:function(e){e.isOpen?null==d||d():null==a||a()}}),x=T.reset;return{isOpen:T.isOpen,inputValue:"",highlightedIndex:T.highlightedIndex,selectedItem:v,getToggleButtonProps:T.getToggleButtonProps,getLabelProps:T.getLabelProps,getMenuProps:T.getMenuProps,getInputProps:function(){return{}},getItemProps:T.getItemProps,reset:function(){void 0===p&&h(null),x(),null==g||g(null)},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, 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"}
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,KAC/B,EACDC,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,OAgBXe,gBAAAA,EACA8B,SA9CQzB,EAARyB,SA+CAC,WA9CU1B,EAAV0B,WA+CAC,UA9CS3B,EAAT2B,UAgDJ"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t,useRef as n}from"react";import r from"../hooks/useDropdownMultiSelect.js";import l from"../components/DropdownWrapperUI.js";var i=function(i){var s=i.options,u=i.isMenuOpen,c=i.autoFocus,d=i.defaultValue,a=i.value,p=i.onChange,g=i.onMenuOpen,m=i.onMenuClose,f=i.onOptionSelect,O=i.clearable,v=void 0===O||O,b=i.showSelectedOptions,I=void 0===b||b,P=i.filterOption,h=i.dropdownRef,j=i.onClear,M=i.onOptionRemove,w=i.onFocus,C=i.onBlur,S=i.size,x=void 0===S?"medium":S,B=t(Array.isArray(d)?d:[]),k=e(B,2),y=k[0],D=k[1],F=t(!1),R=e(F,2),A=R[0],T=R[1],V=n(void 0),z=r(s,y,D,u,c,d,a,(function(e){null==p||p(e,V.current),V.current=void 0}),g,m,f,I,P),L=z.isOpen,_=z.highlightedIndex,E=z.getToggleButtonProps,H=z.getLabelProps,U=z.getMenuProps,W=z.getItemProps,q=z.reset,G=z.toggleMenu,J=z.filteredOptions,K=z.selectedItems,N=z.addSelectedItem,Q=z.removeSelectedItem,X=z.getDropdownProps,Y=Object.assign(Object.assign({},i),{isOpen:L,inputValue:null,highlightedIndex:_,selectedItem:void 0,selectedItems:K||[],filteredOptions:J,clearable:v,getToggleButtonProps:function(e){return E(Object.assign(Object.assign({},e||{}),{disabled:i.readOnly||i.disabled,onFocus:function(e){T(!0),null==w||w(e)},onBlur:function(e){T(!1),null==C||C(e)}}))},getLabelProps:H,getMenuProps:U,getItemProps:function(e){var o=W(e);return Object.assign(Object.assign({},o),{onClick:function(e){V.current=e,o.onClick&&o.onClick(e)}})},reset:q,getDropdownProps:X,contextOnClear:function(e){V.current=e,q(),void 0===a&&D([]),null==j||j()},contextOnOptionRemove:function(e,o){V.current=o,Q&&Q(e),null==M||M(e)},addSelectedItem:N,removeSelectedItem:Q,size:x,toggleMenu:G,isFocused:A});return o.createElement(l,{contextValue:Y,dropdownRef:h})};export{i as default};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t}from"react";import n from"../hooks/useDropdownMultiSelect.js";import l from"../components/DropdownWrapperUI.js";var r=function(r){var s=r.options,i=r.isMenuOpen,u=r.autoFocus,d=r.defaultValue,p=r.value,a=r.onChange,c=r.onMenuOpen,g=r.onMenuClose,m=r.onOptionSelect,O=r.clearable,f=void 0===O||O,v=r.showSelectedOptions,I=void 0===v||v,b=r.filterOption,P=r.dropdownRef,h=r.onClear,M=r.onOptionRemove,j=r.onFocus,w=r.onBlur,S=r.size,x=void 0===S?"medium":S,B=t(Array.isArray(d)?d:[]),y=e(B,2),C=y[0],D=y[1],F=t(!1),R=e(F,2),A=R[0],T=R[1],V=n(s,C,D,i,u,d,p,a,c,g,m,I,b),z=V.isOpen,L=V.highlightedIndex,_=V.getToggleButtonProps,k=V.getLabelProps,E=V.getMenuProps,H=V.getItemProps,U=V.reset,W=V.toggleMenu,q=V.filteredOptions,G=V.selectedItems,J=V.addSelectedItem,K=V.removeSelectedItem,N=V.getDropdownProps,Q=Object.assign(Object.assign({},r),{isOpen:z,inputValue:null,highlightedIndex:L,selectedItem:void 0,selectedItems:G||[],filteredOptions:q,clearable:f,getToggleButtonProps:function(e){return _(Object.assign(Object.assign({},e||{}),{disabled:r.readOnly||r.disabled,onFocus:function(e){T(!0),null==j||j(e)},onBlur:function(e){T(!1),null==w||w(e)}}))},getLabelProps:k,getMenuProps:E,getItemProps:H,reset:U,getDropdownProps:N,contextOnClear:function(){U(),void 0===p&&D([]),null==h||h()},contextOnOptionRemove:function(e){K&&K(e),null==M||M(e)},addSelectedItem:J,removeSelectedItem:K,size:x,toggleMenu:W,isFocused:A});return o.createElement(l,{contextValue:Q,dropdownRef:P})};export{r as default};
2
2
  //# sourceMappingURL=DropdownMultiSelectController.js.map
@@ -1 +1 @@
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<React.SyntheticEvent | undefined>(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (options: Item[]) => {\n onChange?.(options, currentEventRef.current);\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 the event for the onChange callback\n currentEventRef.current = event;\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 currentEventRef.current = event;\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 currentEventRef.current = event;\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","contextOnClear","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"sOAOA,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,GACxBG,EAAkBC,OAAyCC,GAQjEC,EAcIC,EACFtC,EACA4B,EACAC,EACA5B,EACAE,EACAC,EACAC,GA1BwB,SAACL,GACzBM,SAAAA,EAAWN,EAASkC,EAAgBK,SACpCL,EAAgBK,aAAUH,IA0B1B7B,EACAC,EACAC,EACAI,EACAC,GA1BA0B,EAAMH,EAANG,OACAC,EAAgBJ,EAAhBI,iBACAC,EAAoBL,EAApBK,qBACAC,EAAaN,EAAbM,cACAC,EAAYP,EAAZO,aACAC,EAAYR,EAAZQ,aACOC,EAAST,EAAhBU,MACAC,EAAUX,EAAVW,WACAC,EAAeZ,EAAfY,gBACeC,EAAiBb,EAAhCc,cACiBC,EAAmBf,EAApCgB,gBACoBC,EAAsBjB,EAA1CkB,mBACAC,EAAgBnB,EAAhBmB,iBAiBIC,iCACD1D,GAAK,CACRyC,OAAAA,EACAkB,WAAY,KACZjB,iBAAAA,EACAkB,kBAAcvB,EACde,cAAeD,GAAqB,GACpCD,gBAAAA,EACAtC,UAAAA,EACA+B,qBAAsB,SAACkB,GACrB,OAAOlB,iCACDkB,GAAiB,CAAA,GACrB,CAAAC,SAAU9D,EAAM+D,UAAY/D,EAAM8D,SAClC3C,QAAS,SAAC6C,GACR9B,GAAa,GACbf,SAAAA,EAAU6C,EACX,EACD5C,OAAQ,SAAC4C,GACP9B,GAAa,GACbd,SAAAA,EAAS4C,EACX,IAEH,EACDpB,cAAAA,EACAC,aAAAA,EACAC,aAAc,SAACmB,GACb,IAAMC,EAAgBpB,EAAamB,GACnC,OAAAE,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKF,GACH,CAAAG,QAAS,SAACL,GAER7B,EAAgBK,QAAUwB,EAEtBE,EAAcG,SAChBH,EAAcG,QAAQL,EAE1B,GAEH,EACDhB,MAAOD,EACPU,iBAAAA,EACAa,eAAgB,SAACN,GAEf7B,EAAgBK,QAAUwB,EAC1BjB,SACcV,IAAV/B,GACFwB,EAA2B,IAE7Bb,SAAAA,GACD,EACDsD,sBAAuB,SAACC,EAAcR,GAEpC7B,EAAgBK,QAAUwB,EACtBT,GACFA,EAAuBiB,GAEzBtD,SAAAA,EAAiBsD,EAClB,EACDlB,gBAAiBD,EACjBG,mBAAoBD,EACpBjC,KAAAA,EACA2B,WAAAA,EACAhB,UAAAA,IAGF,OAAOwC,EAAAC,cAACC,EAAiB,CAACjB,aAAcA,EAAc1C,YAAaA,GACrE"}
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,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t,useRef as n}from"react";import l from"../hooks/useDropdownSelect.js";import r from"../components/DropdownWrapperUI.js";var i=function(i){var s=i.options,u=i.autoFocus,c=i.isMenuOpen,a=i.defaultValue,d=i.value,p=i.onChange,g=i.onMenuOpen,m=i.onMenuClose,f=i.onOptionSelect,O=i.showSelectedOptions,v=void 0===O||O,b=i.filterOption,h=i.clearable,I=void 0===h||h,j=i.searchable,P=void 0!==j&&j,C=i.multi,M=void 0!==C&&C,x=i.dropdownRef,w=i.onClear,B=i.onFocus,F=i.onBlur,S=i.size,k=void 0===S?"medium":S,R=t(!1),T=e(R,2),V=T[0],y=T[1],z=n(void 0),D=l(s,u,c,a,d,(function(e){null==p||p(e,z.current),z.current=void 0}),g,m,f,v,b),L=D.isOpen,_=D.highlightedIndex,A=D.getToggleButtonProps,E=D.getLabelProps,H=D.getMenuProps,U=D.getItemProps,W=D.reset,q=D.toggleMenu,G=D.filteredOptions,J=D.selectedItem,K=Object.assign(Object.assign({},i),{isOpen:L,highlightedIndex:_,selectedItem:J,filteredOptions:G,getToggleButtonProps:function(e){return A(Object.assign(Object.assign({},e||{}),{disabled:i.readOnly||i.disabled,onFocus:function(e){y(!0),null==B||B(e)},onBlur:function(e){y(!1),null==F||F(e)}}))},getLabelProps:E,getMenuProps:H,getItemProps:function(e){var o=U(e);return Object.assign(Object.assign({},o),{onClick:function(e){z.current=e,o.onClick&&o.onClick(e)}})},reset:W,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(e){z.current=e,W(),null==w||w()},contextOnOptionRemove:function(){},clearable:I,searchable:P,multi:M,autoFocus:u,onClear:w,size:k,toggleMenu:q,isFocused:V});return o.createElement(r,{contextValue:K,dropdownRef:x})};export{i as default};
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t}from"react";import n from"../hooks/useDropdownSelect.js";import l from"../components/DropdownWrapperUI.js";var s=function(s){var r=s.options,i=s.autoFocus,u=s.isMenuOpen,a=s.defaultValue,d=s.value,c=s.onChange,p=s.onMenuOpen,g=s.onMenuClose,m=s.onOptionSelect,f=s.showSelectedOptions,O=void 0===f||f,b=s.filterOption,v=s.clearable,h=void 0===v||v,I=s.searchable,P=void 0!==I&&I,j=s.multi,M=void 0!==j&&j,x=s.dropdownRef,w=s.onClear,B=s.onFocus,C=s.onBlur,F=s.size,S=void 0===F?"medium":F,R=t(!1),T=e(R,2),V=T[0],y=T[1],z=n(r,i,u,a,d,c,p,g,m,O,b),D=z.isOpen,L=z.highlightedIndex,_=z.getToggleButtonProps,k=z.getLabelProps,A=z.getMenuProps,E=z.getItemProps,H=z.reset,U=z.toggleMenu,W=z.filteredOptions,q=z.selectedItem,G=Object.assign(Object.assign({},s),{isOpen:D,highlightedIndex:L,selectedItem:q,filteredOptions:W,getToggleButtonProps:function(e){return _(Object.assign(Object.assign({},e||{}),{disabled:s.readOnly||s.disabled,onFocus:function(e){y(!0),null==B||B(e)},onBlur:function(e){y(!1),null==C||C(e)}}))},getLabelProps:k,getMenuProps:A,getItemProps:E,reset:H,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(){H(),null==w||w()},contextOnOptionRemove:function(){},clearable:h,searchable:P,multi:M,autoFocus:i,onClear:w,size:S,toggleMenu:U,isFocused:V});return o.createElement(l,{contextValue:G,dropdownRef:x})};export{s as default};
2
2
  //# sourceMappingURL=DropdownSelectController.js.map
@@ -1 +1 @@
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<React.SyntheticEvent | undefined>(undefined);\n\n // Wrapper for onChange that includes the current event\n const onChangeWithEvent = (option: Item | null) => {\n onChange?.(option, currentEventRef.current);\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 the event for the onChange callback\n currentEventRef.current = event;\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 currentEventRef.current = event;\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","inputValue","selectedItems","addSelectedItem","removeSelectedItem","contextOnClear","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"iOAOA,IAAMA,EAA2B,SAC/BC,GAEA,IACEC,EAmBED,EAnBFC,QACAC,EAkBEF,EAlBFE,UACYC,EAiBVH,EAjBFI,WACAC,EAgBEL,EAhBFK,aACAC,EAeEN,EAfFM,MACAC,EAcEP,EAdFO,SACAC,EAaER,EAbFQ,WACAC,EAYET,EAZFS,YACAC,EAWEV,EAXFU,eAAcC,EAWZX,EAVFY,oBAAAA,OAAsB,IAAHD,GAAOA,EAC1BE,EASEb,EATFa,aAAYC,EASVd,EARFe,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAQdhB,EAPFiB,WAAAA,OAAa,IAAHD,GAAQA,EAAAE,EAOhBlB,EANFmB,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EAKEpB,EALFoB,YACAC,EAIErB,EAJFqB,QACAC,EAGEtB,EAHFsB,QACAC,EAEEvB,EAFFuB,OAAMC,EAEJxB,EADFyB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAGjBE,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAkBC,OAAyCC,GAQjEC,EAWIC,EACFnC,EACAC,EACAC,EACAE,EACAC,GArBwB,SAAC+B,GACzB9B,SAAAA,EAAW8B,EAAQL,EAAgBM,SACnCN,EAAgBM,aAAUJ,IAqB1B1B,EACAC,EACAC,EACAE,EACAC,GArBA0B,EAAMJ,EAANI,OACAC,EAAgBL,EAAhBK,iBACAC,EAAoBN,EAApBM,qBACAC,EAAaP,EAAbO,cACAC,EAAYR,EAAZQ,aACAC,EAAYT,EAAZS,aACOC,EAASV,EAAhBW,MACAC,EAAUZ,EAAVY,WACAC,EAAeb,EAAfa,gBACcC,EAAgBd,EAA9Be,aAeIC,EAAYC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACbrD,GAAK,CACRuC,OAAAA,EACAC,iBAAAA,EACAU,aAAcD,EACdD,gBAAAA,EACAP,qBAAsB,SAACa,GACrB,OAAOb,iCACDa,GAAiB,CAAA,GACrB,CAAAC,SAAUvD,EAAMwD,UAAYxD,EAAMuD,SAClCjC,QAAS,SAACmC,GACR1B,GAAa,GACbT,SAAAA,EAAUmC,EACX,EACDlC,OAAQ,SAACkC,GACP1B,GAAa,GACbR,SAAAA,EAASkC,EACX,IAEH,EACDf,cAAAA,EACAC,aAAAA,EACAC,aAAc,SAACc,GACb,IAAMC,EAAgBf,EAAac,GACnC,OAAAN,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKM,GACH,CAAAC,QAAS,SAACH,GAERzB,EAAgBM,QAAUmB,EAEtBE,EAAcC,SAChBD,EAAcC,QAAQH,EAE1B,GAEH,EACDX,MAAOD,EACPgB,WAAY,KACZC,cAAe,GACfC,qBAAiB7B,EACjB8B,wBAAoB9B,EACpB+B,eAAgB,SAACR,GAEfzB,EAAgBM,QAAUmB,EAC1BZ,IACAxB,SAAAA,GACD,EACD6C,sBAAuB,WAAQ,EAC/BnD,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAjB,UAAAA,EACAmB,QAAAA,EACAI,KAAAA,EACAsB,WAAAA,EACAjB,UAAAA,IAGF,OAAOqC,EAAAC,cAACC,EAAiB,CAAClB,aAAcA,EAAc/B,YAAaA,GACrE"}
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 onChange,\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, 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 inputValue: null,\n selectedItems: [],\n addSelectedItem: undefined,\n removeSelectedItem: undefined,\n contextOnClear: () => {\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","_useDropdownSelect","useDropdownSelect","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItem","selectedItem","contextValue","Object","assign","toggleOptions","disabled","readOnly","event","inputValue","selectedItems","addSelectedItem","undefined","removeSelectedItem","contextOnClear","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"qNAOA,IAAMA,EAA2B,SAC/BC,GAEA,IACEC,EAmBED,EAnBFC,QACAC,EAkBEF,EAlBFE,UACYC,EAiBVH,EAjBFI,WACAC,EAgBEL,EAhBFK,aACAC,EAeEN,EAfFM,MACAC,EAcEP,EAdFO,SACAC,EAaER,EAbFQ,WACAC,EAYET,EAZFS,YACAC,EAWEV,EAXFU,eAAcC,EAWZX,EAVFY,oBAAAA,OAAsB,IAAHD,GAAOA,EAC1BE,EASEb,EATFa,aAAYC,EASVd,EARFe,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAQdhB,EAPFiB,WAAAA,OAAa,IAAHD,GAAQA,EAAAE,EAOhBlB,EANFmB,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EAKEpB,EALFoB,YACAC,EAIErB,EAJFqB,QACAC,EAGEtB,EAHFsB,QACAC,EAEEvB,EAFFuB,OAAMC,EAEJxB,EADFyB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAGjBE,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAE9BI,EAWIC,EACFhC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GArBAqB,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,gBACcC,EAAgBZ,EAA9Ba,aAeIC,EAAYC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACbhD,GAAK,CACRkC,OAAAA,EACAC,iBAAAA,EACAU,aAAcD,EACdD,gBAAAA,EACAP,qBAAsB,SAACa,GACrB,OAAOb,iCACDa,GAAiB,CAAA,GACrB,CAAAC,SAAUlD,EAAMmD,UAAYnD,EAAMkD,SAClC5B,QAAS,SAAC8B,GACRrB,GAAa,GACbT,SAAAA,EAAU8B,EACX,EACD7B,OAAQ,SAAC6B,GACPrB,GAAa,GACbR,SAAAA,EAAS6B,EACX,IAEH,EACDf,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,MAAOD,EACPa,WAAY,KACZC,cAAe,GACfC,qBAAiBC,EACjBC,wBAAoBD,EACpBE,eAAgB,WACdlB,IACAnB,SAAAA,GACD,EACDsC,sBAAuB,WAAQ,EAC/B5C,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAjB,UAAAA,EACAmB,QAAAA,EACAI,KAAAA,EACAiB,WAAAA,EACAZ,UAAAA,IAGF,OAAO8B,EAAAC,cAACC,EAAiB,CAAChB,aAAcA,EAAc1B,YAAaA,GACrE"}
@@ -1,2 +1,2 @@
1
- import{contentColors as e}from"../utils/colors-vars-map.js";var o={positive:"--positive-color-selected",negative:"--negative-color-selected",primary:"--primary-selected-color",warning:"--warning-color-selected"},r={positive:"--positive-color-selected-hover",negative:"--negative-color-selected-hover",primary:"--primary-selected-hover-color"};function c(c){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.includes(c)?"var(--color-".concat(c).concat(t?"-selected":"",")"):Object.keys(r).includes(c)&&i?"var(".concat(r[c],")"):Object.keys(o).includes(c)&&t?"var(".concat(o[c],")"):c}export{c as getElementColor};
1
+ import{contentColors as e}from"../utils/colors-vars-map.js";var o={positive:"--positive-color-selected",negative:"--negative-color-selected",primary:"--primary-selected-color",warning:"--warning-color-selected"},r={positive:"--positive-color-selected-hover",negative:"--negative-color-selected-hover",primary:"--primary-selected-hover-color",warning:"--warning-color-selected-hover"};function c(c){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.includes(c)?"var(--color-".concat(c).concat(t?"-selected":"",")"):Object.keys(r).includes(c)&&i?"var(".concat(r[c],")"):Object.keys(o).includes(c)&&t?"var(".concat(o[c],")"):c}export{c as getElementColor};
2
2
  //# sourceMappingURL=Colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Colors.js","sources":["../../../src/types/Colors.ts"],"sourcesContent":["import { contentColors } from \"../utils/colors-vars-map\";\n\nconst MapStateSelectedColor = {\n positive: \"--positive-color-selected\",\n negative: \"--negative-color-selected\",\n primary: \"--primary-selected-color\",\n warning: \"--warning-color-selected\"\n};\n\nconst MapStateSelectedHoverColor = {\n positive: \"--positive-color-selected-hover\",\n negative: \"--negative-color-selected-hover\",\n primary: \"--primary-selected-hover-color\"\n};\n\ntype ContentColor = (typeof contentColors)[number];\ntype StateSelectedColorKeys = keyof typeof MapStateSelectedColor;\ntype StateSelectedHoverColorKeys = keyof typeof MapStateSelectedHoverColor;\n\nexport type ElementAllowedColor = ContentColor | \"positive\" | \"negative\" | \"primary\" | \"warning\";\n\nexport function getElementColor(\n colorValue: ContentColor | StateSelectedColorKeys | StateSelectedHoverColorKeys,\n isSelectedPalette = false,\n isSelectedHoverPalette = false\n): string {\n if (contentColors.includes(colorValue as ContentColor)) {\n return `var(--color-${colorValue}${isSelectedPalette ? \"-selected\" : \"\"})`;\n }\n if (\n Object.keys(MapStateSelectedHoverColor).includes(colorValue as StateSelectedHoverColorKeys) &&\n isSelectedHoverPalette\n ) {\n return `var(${MapStateSelectedHoverColor[colorValue as StateSelectedHoverColorKeys]})`;\n }\n if (Object.keys(MapStateSelectedColor).includes(colorValue as StateSelectedColorKeys) && isSelectedPalette) {\n return `var(${MapStateSelectedColor[colorValue as StateSelectedColorKeys]})`;\n }\n return colorValue;\n}\n\nexport type ColorStyle = \"regular\" | \"hover\" | \"selected\";\n"],"names":["MapStateSelectedColor","positive","negative","primary","warning","MapStateSelectedHoverColor","getElementColor","colorValue","isSelectedPalette","arguments","length","undefined","isSelectedHoverPalette","contentColors","includes","concat","Object","keys"],"mappings":"4DAEA,IAAMA,EAAwB,CAC5BC,SAAU,4BACVC,SAAU,4BACVC,QAAS,2BACTC,QAAS,4BAGLC,EAA6B,CACjCJ,SAAU,kCACVC,SAAU,kCACVC,QAAS,kCASL,SAAUG,EACdC,GAE8B,IAD9BC,EAAiBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjBG,EAAsBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEtB,OAAII,EAAcC,SAASP,GACzBQ,eAAAA,OAAsBR,GAAUQ,OAAGP,EAAoB,YAAc,GAAE,KAGvEQ,OAAOC,KAAKZ,GAA4BS,SAASP,IACjDK,EAEA,OAAAG,OAAcV,EAA2BE,GAA0C,KAEjFS,OAAOC,KAAKjB,GAAuBc,SAASP,IAAyCC,EACvF,OAAAO,OAAcf,EAAsBO,GAAqC,KAEpEA,CACT"}
1
+ {"version":3,"file":"Colors.js","sources":["../../../src/types/Colors.ts"],"sourcesContent":["import { contentColors } from \"../utils/colors-vars-map\";\n\nconst MapStateSelectedColor = {\n positive: \"--positive-color-selected\",\n negative: \"--negative-color-selected\",\n primary: \"--primary-selected-color\",\n warning: \"--warning-color-selected\"\n};\n\nconst MapStateSelectedHoverColor = {\n positive: \"--positive-color-selected-hover\",\n negative: \"--negative-color-selected-hover\",\n primary: \"--primary-selected-hover-color\",\n warning: \"--warning-color-selected-hover\"\n};\n\ntype ContentColor = (typeof contentColors)[number];\ntype StateSelectedColorKeys = keyof typeof MapStateSelectedColor;\ntype StateSelectedHoverColorKeys = keyof typeof MapStateSelectedHoverColor;\n\nexport type ElementAllowedColor = ContentColor | \"positive\" | \"negative\" | \"primary\" | \"warning\";\n\nexport function getElementColor(\n colorValue: ContentColor | StateSelectedColorKeys | StateSelectedHoverColorKeys,\n isSelectedPalette = false,\n isSelectedHoverPalette = false\n): string {\n if (contentColors.includes(colorValue as ContentColor)) {\n return `var(--color-${colorValue}${isSelectedPalette ? \"-selected\" : \"\"})`;\n }\n if (\n Object.keys(MapStateSelectedHoverColor).includes(colorValue as StateSelectedHoverColorKeys) &&\n isSelectedHoverPalette\n ) {\n return `var(${MapStateSelectedHoverColor[colorValue as StateSelectedHoverColorKeys]})`;\n }\n if (Object.keys(MapStateSelectedColor).includes(colorValue as StateSelectedColorKeys) && isSelectedPalette) {\n return `var(${MapStateSelectedColor[colorValue as StateSelectedColorKeys]})`;\n }\n return colorValue;\n}\n\nexport type ColorStyle = \"regular\" | \"hover\" | \"selected\";\n"],"names":["MapStateSelectedColor","positive","negative","primary","warning","MapStateSelectedHoverColor","getElementColor","colorValue","isSelectedPalette","arguments","length","undefined","isSelectedHoverPalette","contentColors","includes","concat","Object","keys"],"mappings":"4DAEA,IAAMA,EAAwB,CAC5BC,SAAU,4BACVC,SAAU,4BACVC,QAAS,2BACTC,QAAS,4BAGLC,EAA6B,CACjCJ,SAAU,kCACVC,SAAU,kCACVC,QAAS,iCACTC,QAAS,kCASL,SAAUE,EACdC,GAE8B,IAD9BC,EAAiBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjBG,EAAsBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEtB,OAAII,EAAcC,SAASP,GACzBQ,eAAAA,OAAsBR,GAAUQ,OAAGP,EAAoB,YAAc,GAAE,KAGvEQ,OAAOC,KAAKZ,GAA4BS,SAASP,IACjDK,EAEA,OAAAG,OAAcV,EAA2BE,GAA0C,KAEjFS,OAAOC,KAAKjB,GAAuBc,SAASP,IAAyCC,EACvF,OAAAO,OAAcf,EAAsBO,GAAqC,KAEpEA,CACT"}
@@ -9,6 +9,7 @@ declare const MapStateSelectedHoverColor: {
9
9
  positive: string;
10
10
  negative: string;
11
11
  primary: string;
12
+ warning: string;
12
13
  };
13
14
  type ContentColor = (typeof contentColors)[number];
14
15
  type StateSelectedColorKeys = keyof typeof MapStateSelectedColor;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe/core",
3
- "version": "3.63.0-alpha-7f1d0.0",
3
+ "version": "3.63.0",
4
4
  "description": "Official monday.com UI resources for application development in React.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -255,7 +255,7 @@
255
255
  "tsx": "^4.20.3",
256
256
  "typescript": "^4.7.3",
257
257
  "typescript-plugin-css-modules": "^4.2.1",
258
- "vibe-storybook-components": "1.0.4-alpha-7f1d0.0",
258
+ "vibe-storybook-components": "1.0.4",
259
259
  "vite": "^5.3.1",
260
260
  "vitest": "^1.6.0"
261
261
  },
@@ -276,5 +276,5 @@
276
276
  "browserslist": [
277
277
  "extends browserslist-config-monday"
278
278
  ],
279
- "gitHead": "c384f6aff37386331a2e1b6ed0e0258af1a48906"
279
+ "gitHead": "1e8b8dfae8f65b616eb3cb2d807840e1af6b3fb2"
280
280
  }