@vibe/core 3.54.3-alpha-aef80.0 → 3.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BaseListItem/BaseListItem.d.ts +1 -1
- package/dist/components/BaseListItem/BaseListItem.types.d.ts +5 -1
- package/dist/components/DropdownNew/Dropdown.types.d.ts +16 -5
- package/dist/components/DropdownNew/context/DropdownContext.d.ts +1 -0
- package/dist/components/DropdownNew/context/DropdownContext.types.d.ts +3 -1
- package/dist/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -0
- package/dist/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -2
- package/dist/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -1
- package/dist/components/DropdownNew/index.d.ts +1 -1
- package/dist/components/DropdownNew/modes/DropdownComboboxController.d.ts +2 -2
- package/dist/components/DropdownNew/modes/DropdownMultiComboboxController.d.ts +2 -2
- package/dist/components/DropdownNew/modes/DropdownMultiSelectController.d.ts +2 -2
- package/dist/components/DropdownNew/modes/DropdownSelectController.d.ts +2 -2
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/next.d.ts +1 -0
- package/dist/metadata.json +484 -0
- package/dist/mocked_classnames/components/BaseListItem/BaseListItem.d.ts +1 -1
- package/dist/mocked_classnames/components/BaseListItem/BaseListItem.types.d.ts +5 -1
- package/dist/mocked_classnames/components/DropdownNew/Dropdown.types.d.ts +16 -5
- package/dist/mocked_classnames/components/DropdownNew/context/DropdownContext.d.ts +1 -0
- package/dist/mocked_classnames/components/DropdownNew/context/DropdownContext.types.d.ts +3 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -0
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -2
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/index.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/modes/DropdownComboboxController.d.ts +2 -2
- package/dist/mocked_classnames/components/DropdownNew/modes/DropdownMultiComboboxController.d.ts +2 -2
- package/dist/mocked_classnames/components/DropdownNew/modes/DropdownMultiSelectController.d.ts +2 -2
- package/dist/mocked_classnames/components/DropdownNew/modes/DropdownSelectController.d.ts +2 -2
- package/dist/mocked_classnames/components/Toast/Toast.d.ts +1 -1
- package/dist/mocked_classnames/components/next.d.ts +1 -0
- package/dist/mocked_classnames/src/components/BaseList/BaseList.js +2 -0
- package/dist/mocked_classnames/src/components/BaseList/BaseList.js.map +1 -0
- package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.js +2 -0
- package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.js.map +1 -0
- package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/BaseListItem/utils.js +2 -0
- package/dist/mocked_classnames/src/components/BaseListItem/utils.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/Dropdown.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/Dropdown.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownWrapperUI.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownWrapperUI.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownChip.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownChip.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownInput.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownInput.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/context/DropdownContext.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/context/DropdownContext.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownFiltering.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownFiltering.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownComboboxController.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownComboboxController.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiComboboxController.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiComboboxController.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdown-modifiers.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdown-modifiers.js.map +1 -0
- package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdownUtils.js +2 -0
- package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdownUtils.js.map +1 -0
- package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
- package/dist/mocked_classnames/src/components/next.js +1 -1
- package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js +2 -0
- package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -0
- package/dist/src/components/BaseList/BaseList.js +2 -0
- package/dist/src/components/BaseList/BaseList.js.map +1 -0
- package/dist/src/components/BaseList/BaseList.module.scss.js +2 -0
- package/dist/src/components/BaseList/BaseList.module.scss.js.map +1 -0
- package/dist/src/components/BaseListItem/BaseListItem.js +2 -0
- package/dist/src/components/BaseListItem/BaseListItem.js.map +1 -0
- package/dist/src/components/BaseListItem/BaseListItem.module.scss.js +2 -0
- package/dist/src/components/BaseListItem/BaseListItem.module.scss.js.map +1 -0
- package/dist/src/components/BaseListItem/utils.js +2 -0
- package/dist/src/components/BaseListItem/utils.js.map +1 -0
- package/dist/src/components/DropdownNew/Dropdown.js +2 -0
- package/dist/src/components/DropdownNew/Dropdown.js.map +1 -0
- package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.js +2 -0
- package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.js.map +1 -0
- package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js +2 -0
- package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js.map +1 -0
- package/dist/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js +2 -0
- package/dist/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js.map +1 -0
- package/dist/src/components/DropdownNew/components/DropdownWrapperUI.js +2 -0
- package/dist/src/components/DropdownNew/components/DropdownWrapperUI.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Menu/Menu.js +2 -0
- package/dist/src/components/DropdownNew/components/Menu/Menu.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Menu/Menu.module.scss.js +2 -0
- package/dist/src/components/DropdownNew/components/Menu/Menu.module.scss.js.map +1 -0
- package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js +2 -0
- package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js.map +1 -0
- package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +2 -0
- package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/DropdownChip.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/DropdownChip.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/DropdownInput.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/DropdownInput.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js.map +1 -0
- package/dist/src/components/DropdownNew/components/Trigger/TriggerActions.js +2 -0
- package/dist/src/components/DropdownNew/components/Trigger/TriggerActions.js.map +1 -0
- package/dist/src/components/DropdownNew/context/DropdownContext.js +2 -0
- package/dist/src/components/DropdownNew/context/DropdownContext.js.map +1 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js +2 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownFiltering.js +2 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownFiltering.js.map +1 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +2 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +2 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js +2 -0
- package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -0
- package/dist/src/components/DropdownNew/modes/DropdownComboboxController.js +2 -0
- package/dist/src/components/DropdownNew/modes/DropdownComboboxController.js.map +1 -0
- package/dist/src/components/DropdownNew/modes/DropdownMultiComboboxController.js +2 -0
- package/dist/src/components/DropdownNew/modes/DropdownMultiComboboxController.js.map +1 -0
- package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js +2 -0
- package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -0
- package/dist/src/components/DropdownNew/modes/DropdownSelectController.js +2 -0
- package/dist/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -0
- package/dist/src/components/DropdownNew/utils/dropdown-modifiers.js +2 -0
- package/dist/src/components/DropdownNew/utils/dropdown-modifiers.js.map +1 -0
- package/dist/src/components/DropdownNew/utils/dropdownUtils.js +2 -0
- package/dist/src/components/DropdownNew/utils/dropdownUtils.js.map +1 -0
- package/dist/src/components/Toast/Toast.js.map +1 -1
- package/dist/src/components/next.js +1 -1
- package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js +2 -0
- package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -0
- package/dist/tokens/tokens.d.ts +1 -0
- package/package.json +12 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { DropdownSingleControllerProps } from "../Dropdown.types";
|
|
3
3
|
import { BaseListItemData } from "../../BaseListItem";
|
|
4
|
-
declare const DropdownSelectController: <Item extends BaseListItemData<Record<string, unknown>>>(props:
|
|
4
|
+
declare const DropdownSelectController: <Item extends BaseListItemData<Record<string, unknown>>>(props: DropdownSingleControllerProps<Item>) => React.JSX.Element;
|
|
5
5
|
export default DropdownSelectController;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { ReactElement
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
2
|
import { IconSubComponentProps } from "../Icon/Icon";
|
|
3
3
|
import { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from "./ToastConstants";
|
|
4
4
|
import { ToastType, ToastAction } from "./Toast.types";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as i}from"react";import l from"../BaseListItem/BaseListItem.js";import r from"./BaseList.module.scss.js";import o from"../Flex/Flex.js";import n from"../Text/Text.js";import s from"classnames";import a from"../Divider/Divider.js";var m=i((function(i,m){var d=i.options,u=i.selectedItems,v=i.highlightedIndex,p=i.menuAriaLabel,c=i.getMenuProps,f=i.getItemProps,g=i.size,h=void 0===g?"medium":g,x=i.withGroupDivider,y=void 0!==x&&x,b=i.dir,E=void 0===b?"ltr":b,j=i.itemRenderer,I=i.menuRenderer,O=i.noOptionsMessage,P=void 0===O?"No results":O,k=i.stickyGroupTitle,B=void 0!==k&&k,L=i.renderOptions,T=void 0===L||L,z=i.onScroll,D=i.maxMenuHeight,F=void 0===D?300:D,H="small"===h?"text2":"text1",M=T?d.every((function(e){var t;return 0===(null===(t=e.options)||void 0===t?void 0:t.length)}))?t.createElement("div",{role:"status"},"string"==typeof P?t.createElement(o,{justify:"center"},t.createElement(l,{component:"div",item:{label:P,value:""},size:h,readOnly:!0})):P):d.map((function(i,o){var m;return t.createElement(t.Fragment,{key:null!==(m=i.label)&&void 0!==m?m:o},i.label&&t.createElement("li",{className:s(r.groupTitle,e({},r.sticky,B))},t.createElement(n,{type:H,color:"inherit"},i.label)),i.options.map((function(e,i){var r,o=null!==(r=null==f?void 0:f({item:e,index:e.index}))&&void 0!==r?r:{},n=void 0!==v&&v===e.index&&!e.disabled,s=(null==u?void 0:u.some((function(t){return(null==t?void 0:t.value)===e.value})))&&!e.disabled;return t.createElement(l,{itemProps:o,key:"string"==typeof e.value?e.value:i,size:h,highlighted:n,selected:s,itemRenderer:j,item:e,role:"option"})})),y&&d.length-1>o&&t.createElement(a,null))})):null;return t.createElement("ul",Object.assign({ref:m,dir:E,className:r.wrapper},null==c?void 0:c({"aria-label":p}),{onScroll:z,style:{maxHeight:F}}),I&&T?I({children:M,filteredOptions:d,selectedItem:(null==u?void 0:u[0])||null,selectedItems:u||[]}):M)}));export{m as default};
|
|
2
|
+
//# sourceMappingURL=BaseList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseList.js","sources":["../../../../../src/components/BaseList/BaseList.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport BaseListItem from \"../BaseListItem/BaseListItem\";\nimport styles from \"./BaseList.module.scss\";\nimport { BaseListProps } from \"./BaseList.types\";\nimport { Flex } from \"../Flex\";\nimport { TextType } from \"../Text\";\nimport Text from \"../Text/Text\";\nimport cx from \"classnames\";\nimport { Divider } from \"../Divider\";\n\nconst BaseList = forwardRef(\n <Item extends Record<string, unknown>>(\n {\n options,\n selectedItems,\n highlightedIndex,\n menuAriaLabel,\n getMenuProps,\n getItemProps,\n size = \"medium\",\n withGroupDivider = false,\n dir = \"ltr\",\n itemRenderer,\n menuRenderer,\n noOptionsMessage = \"No results\",\n stickyGroupTitle = false,\n renderOptions = true,\n onScroll,\n maxMenuHeight = 300\n }: BaseListProps<Item>,\n ref: React.Ref<HTMLUListElement>\n ) => {\n const textVariant: TextType = size === \"small\" ? \"text2\" : \"text1\";\n\n const defaultContent = renderOptions ? (\n options.every(group => group.options?.length === 0) ? (\n <div role=\"status\">\n {typeof noOptionsMessage === \"string\" ? (\n <Flex justify=\"center\">\n <BaseListItem component=\"div\" item={{ label: noOptionsMessage, value: \"\" }} size={size} readOnly />\n </Flex>\n ) : (\n noOptionsMessage\n )}\n </div>\n ) : (\n options.map((group, groupIndex) => (\n <React.Fragment key={group.label ?? groupIndex}>\n {group.label && (\n <li className={cx(styles.groupTitle, { [styles.sticky]: stickyGroupTitle })}>\n <Text type={textVariant} color=\"inherit\">\n {group.label}\n </Text>\n </li>\n )}\n {group.options.map((option, itemIndex) => {\n const itemProps = getItemProps?.({ item: option, index: option.index }) ?? {};\n const isHighlighted =\n highlightedIndex !== undefined && highlightedIndex === option.index && !option.disabled;\n const isSelected =\n selectedItems?.some(selectedItem => selectedItem?.value === option.value) && !option.disabled;\n\n return (\n <BaseListItem<Item>\n itemProps={itemProps}\n key={typeof option.value === \"string\" ? option.value : itemIndex}\n size={size}\n highlighted={isHighlighted}\n selected={isSelected}\n itemRenderer={itemRenderer}\n item={option}\n role=\"option\"\n />\n );\n })}\n {withGroupDivider && groupIndex < options.length - 1 && <Divider />}\n </React.Fragment>\n ))\n )\n ) : null;\n\n return (\n <ul\n ref={ref}\n dir={dir}\n className={styles.wrapper}\n {...getMenuProps?.({ \"aria-label\": menuAriaLabel })}\n onScroll={onScroll}\n style={{ maxHeight: maxMenuHeight }}\n >\n {menuRenderer && renderOptions\n ? menuRenderer({\n children: defaultContent,\n filteredOptions: options,\n selectedItem: selectedItems?.[0] || null,\n selectedItems: selectedItems || []\n })\n : defaultContent}\n </ul>\n );\n }\n);\n\nexport default BaseList as <Item extends Record<string, unknown>>(\n props: BaseListProps<Item> & { ref?: React.Ref<HTMLUListElement> }\n) => React.ReactElement;\n"],"names":["BaseList","forwardRef","_ref","ref","options","selectedItems","highlightedIndex","menuAriaLabel","getMenuProps","getItemProps","_ref$size","size","_ref$withGroupDivider","withGroupDivider","_ref$dir","dir","itemRenderer","menuRenderer","_ref$noOptionsMessage","noOptionsMessage","_ref$stickyGroupTitle","stickyGroupTitle","_ref$renderOptions","renderOptions","onScroll","_ref$maxMenuHeight","maxMenuHeight","textVariant","defaultContent","every","group","_a","length","React","createElement","role","Flex","justify","BaseListItem","component","item","label","value","readOnly","map","groupIndex","Fragment","key","className","cx","styles","groupTitle","_defineProperty","sticky","Text","type","color","option","itemIndex","itemProps","index","isHighlighted","undefined","disabled","isSelected","some","selectedItem","highlighted","selected","Divider","Object","assign","wrapper","style","maxHeight","children","filteredOptions"],"mappings":"2UAUMA,IAAAA,EAAWC,GACf,SAAAC,EAmBEC,GACE,IAlBAC,EAAOF,EAAPE,QACAC,EAAaH,EAAbG,cACAC,EAAgBJ,EAAhBI,iBACAC,EAAaL,EAAbK,cACAC,EAAYN,EAAZM,aACAC,EAAYP,EAAZO,aAAYC,EAAAR,EACZS,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAAAE,EAAAV,EACfW,iBAAAA,OAAmB,IAAHD,GAAQA,EAAAE,EAAAZ,EACxBa,IAAAA,OAAM,IAAHD,EAAG,MAAKA,EACXE,EAAYd,EAAZc,aACAC,EAAYf,EAAZe,aAAYC,EAAAhB,EACZiB,iBAAAA,OAAmB,IAAHD,EAAG,aAAYA,EAAAE,EAAAlB,EAC/BmB,iBAAAA,OAAmB,IAAHD,GAAQA,EAAAE,EAAApB,EACxBqB,cAAAA,OAAgB,IAAHD,GAAOA,EACpBE,EAAQtB,EAARsB,SAAQC,EAAAvB,EACRwB,cAAAA,OAAgB,IAAHD,EAAG,IAAGA,EAIfE,EAAiC,UAAThB,EAAmB,QAAU,QAErDiB,EAAiBL,EACrBnB,EAAQyB,OAAM,SAAAC,GAAS,IAAAC,EAAA,OAA0B,KAAX,QAAfA,EAAAD,EAAM1B,eAAS,IAAA2B,OAAA,EAAAA,EAAAC,OAAY,IAChDC,EAAKC,cAAA,MAAA,CAAAC,KAAK,UACqB,iBAArBhB,EACNc,gBAACG,EAAI,CAACC,QAAQ,UACZJ,EAACC,cAAAI,GAAaC,UAAU,MAAMC,KAAM,CAAEC,MAAOtB,EAAkBuB,MAAO,IAAM/B,KAAMA,EAAMgC,eAG1FxB,GAIJf,EAAQwC,KAAI,SAACd,EAAOe,SAAe,OACjCZ,EAAAC,cAACD,EAAMa,SAAQ,CAACC,YAAKhB,EAAAD,EAAMW,qBAASI,GACjCf,EAAMW,OACLR,sBAAIe,UAAWC,EAAGC,EAAOC,WAAUC,EAAA,CAAA,EAAKF,EAAOG,OAAShC,KACtDY,EAAAC,cAACoB,EAAI,CAACC,KAAM5B,EAAa6B,MAAM,WAC5B1B,EAAMW,QAIZX,EAAM1B,QAAQwC,KAAI,SAACa,EAAQC,SACpBC,EAAqE,QAAzD5B,EAAAtB,aAAY,EAAZA,EAAe,CAAE+B,KAAMiB,EAAQG,MAAOH,EAAOG,eAAY,IAAA7B,EAAAA,EAAA,CAAA,EACrE8B,OACiBC,IAArBxD,GAAkCA,IAAqBmD,EAAOG,QAAUH,EAAOM,SAC3EC,GACJ3D,aAAa,EAAbA,EAAe4D,MAAK,SAAAC,GAAY,OAAIA,aAAY,EAAZA,EAAcxB,SAAUe,EAAOf,KAAK,OAAMe,EAAOM,SAEvF,OACE9B,EAACC,cAAAI,EACC,CAAAqB,UAAWA,EACXZ,IAA6B,iBAAjBU,EAAOf,MAAqBe,EAAOf,MAAQgB,EACvD/C,KAAMA,EACNwD,YAAaN,EACbO,SAAUJ,EACVhD,aAAcA,EACdwB,KAAMiB,EACNtB,KAAK,UAGV,IACAtB,GAAiCT,EAAQ4B,OAAS,EAA9Ba,GAAmCZ,EAACC,cAAAmC,EAAU,MAEtE,IAED,KAEJ,OACEpC,EACEC,cAAA,KAAAoC,OAAAC,OAAA,CAAApE,IAAKA,EACLY,IAAKA,EACLiC,UAAWE,EAAOsB,SACdhE,aAAA,EAAAA,EAAe,CAAE,aAAcD,IACnC,CAAAiB,SAAUA,EACViD,MAAO,CAAEC,UAAWhD,KAEnBT,GAAgBM,EACbN,EAAa,CACX0D,SAAU/C,EACVgD,gBAAiBxE,EACjB8D,cAAc7D,aAAA,EAAAA,EAAgB,KAAM,KACpCA,cAAeA,GAAiB,KAElCuB,EAGV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={wrapper:"wrapper",groupTitle:"groupTitle",sticky:"sticky"};!function(e){const t="s_id-7bb4aed91024_3_54_2";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+t))return;const o=document.createElement("style");o.id=t,n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}(".wrapper {\n overflow-y: auto;\n padding: 0;\n margin: 0;\n}\n.wrapper .groupTitle {\n color: var(--secondary-text-color);\n padding: 8px 4px 8px 4px;\n background-color: var(--fixed-light-color);\n}\n.wrapper .groupTitle.sticky {\n position: sticky;\n top: 0;\n}\n.wrapper > li:not(:last-child) {\n margin-bottom: 2px;\n}");export{e as default};
|
|
2
|
+
//# sourceMappingURL=BaseList.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseList.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as i,useMemo as r}from"react";import o from"classnames";import l from"./BaseListItem.module.scss.js";import{getStyle as s}from"../../helpers/typesciptCssModulesHelper.js";import m from"../Text/Text.js";import a from"../Tooltip/Tooltip.js";import{renderSideElement as d}from"./utils.js";var n=i((function(i,n){var p=i.className,c=i.id,v=i.component,u=void 0===v?"li":v,f=i.size,g=void 0===f?"medium":f,h=i.selected,j=void 0!==h&&h,E=i.readOnly,b=void 0!==E&&E,x=i.highlighted,y=void 0!==x&&x,O=i.role,P=i.dir,T=void 0===P?"auto":P,N=i.itemRenderer,B=i.itemProps,H=void 0===B?{}:B,_=i.item,w=void 0===_?{}:_,z=w.label,C=void 0===z?"":z,F=w.disabled,I=void 0!==F&&F,L=w.startElement,M=w.endElement,R=w.tooltipProps,k=void 0===R?{}:R,q=r((function(){return o(l.wrapper,e(e(e(e({},l.selected,j),l.disabled,I),l.highlighted,y),l.readOnly,b),s(l,g),p)}),[j,I,y,b,g,p]),A="small"===g?"text2":"text1",D=u;return t.createElement(a,Object.assign({},k,{content:null==k?void 0:k.content,position:"rtl"===T?"right":"left"}),t.createElement(D,Object.assign({id:c,ref:n,className:q,role:O},H,{"aria-selected":j}),N?N(w):t.createElement(t.Fragment,null,L&&d(L,I,A),t.createElement(m,{type:A,color:"inherit"},C),M&&t.createElement("div",{className:l.endElement},d(M,I,A)))))}));export{n as default};
|
|
2
|
+
//# sourceMappingURL=BaseListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseListItem.js","sources":["../../../../../src/components/BaseListItem/BaseListItem.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./BaseListItem.module.scss\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport Text from \"../Text/Text\";\nimport { BaseListItemData, BaseListItemProps } from \"./BaseListItem.types\";\nimport { Tooltip } from \"../Tooltip\";\nimport { TextType } from \"../Text\";\nimport { renderSideElement } from \"./utils\";\n\nconst BaseListItem = forwardRef(\n <Item extends Record<string, unknown>>(\n {\n className,\n id,\n component = \"li\",\n size = \"medium\",\n selected = false,\n readOnly = false,\n highlighted = false,\n role,\n index: _index,\n dir = \"auto\",\n itemRenderer,\n itemProps = {},\n item = {} as BaseListItemData<Item>\n }: BaseListItemProps<Item>,\n ref: React.Ref<HTMLElement>\n ) => {\n const { label = \"\", disabled = false, startElement, endElement, tooltipProps = {} } = item;\n const listItemClassNames = useMemo(\n () =>\n cx(\n styles.wrapper,\n {\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles.readOnly]: readOnly\n },\n getStyle(styles, size),\n className\n ),\n [selected, disabled, highlighted, readOnly, size, className]\n );\n\n const textVariant: TextType = size === \"small\" ? \"text2\" : \"text1\";\n const Element = component as React.ElementType;\n\n return (\n <Tooltip {...tooltipProps} content={tooltipProps?.content} position={dir === \"rtl\" ? \"right\" : \"left\"}>\n <Element id={id} ref={ref} className={listItemClassNames} role={role} {...itemProps} aria-selected={selected}>\n {itemRenderer ? (\n itemRenderer(item)\n ) : (\n <>\n {startElement && renderSideElement(startElement, disabled, textVariant)}\n <Text type={textVariant} color=\"inherit\">\n {label}\n </Text>\n {endElement && (\n <div className={styles.endElement}>{renderSideElement(endElement, disabled, textVariant)}</div>\n )}\n </>\n )}\n </Element>\n </Tooltip>\n );\n }\n);\n\nexport default BaseListItem as <Item extends Record<string, unknown>>(\n props: BaseListItemProps<Item> & { ref?: React.Ref<HTMLElement> }\n) => React.ReactElement;\n"],"names":["BaseListItem","forwardRef","_ref","ref","className","id","_ref$component","component","_ref$size","size","_ref$selected","selected","_ref$readOnly","readOnly","_ref$highlighted","highlighted","role","_ref$dir","dir","itemRenderer","_ref$itemProps","itemProps","_ref$item","item","_item$label","label","_item$disabled","disabled","startElement","endElement","_item$tooltipProps","tooltipProps","listItemClassNames","useMemo","cx","styles","wrapper","_defineProperty","getStyle","textVariant","Element","React","createElement","Tooltip","Object","assign","content","position","Fragment","renderSideElement","Text","type","color"],"mappings":"mYAUMA,IAAAA,EAAeC,GACnB,SAAAC,EAgBEC,GACE,IAfAC,EAASF,EAATE,UACAC,EAAEH,EAAFG,GAAEC,EAAAJ,EACFK,UAAAA,OAAY,IAAHD,EAAG,KAAIA,EAAAE,EAAAN,EAChBO,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAAAE,EAAAR,EACfS,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAV,EAChBW,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAZ,EAChBa,YAAAA,OAAc,IAAHD,GAAQA,EACnBE,EAAId,EAAJc,KACKC,EAAAf,EACLgB,IAAAA,OAAM,IAAHD,EAAG,OAAMA,EACZE,EAAYjB,EAAZiB,aAAYC,EAAAlB,EACZmB,UAAAA,OAAS,IAAAD,EAAG,CAAA,EAAEA,EAAAE,EAAApB,EACdqB,KAAAA,OAAI,IAAAD,EAAG,CAA4B,EAAAA,EAIrCE,EAAsFD,EAA9EE,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAAAE,EAAoEH,EAAlEI,SAAAA,OAAW,IAAHD,GAAQA,EAAEE,EAAgDL,EAAhDK,aAAcC,EAAkCN,EAAlCM,WAAUC,EAAwBP,EAAtBQ,aAAAA,OAAY,IAAAD,EAAG,CAAA,EAAEA,EAC3EE,EAAqBC,GACzB,WAAA,OACEC,EACEC,EAAOC,QAAOC,EAAAA,EAAAA,EAAAA,KAEXF,EAAOxB,SAAWA,GAClBwB,EAAOR,SAAWA,GAClBQ,EAAOpB,YAAcA,GACrBoB,EAAOtB,SAAWA,GAErByB,EAASH,EAAQ1B,GACjBL,EACD,GACH,CAACO,EAAUgB,EAAUZ,EAAaF,EAAUJ,EAAML,IAG9CmC,EAAiC,UAAT9B,EAAmB,QAAU,QACrD+B,EAAUjC,EAEhB,OACEkC,EAAAC,cAACC,EAAOC,OAAAC,OAAA,CAAA,EAAKd,EAAY,CAAEe,QAASf,aAAY,EAAZA,EAAce,QAASC,SAAkB,QAAR7B,EAAgB,QAAU,SAC7FuB,EAAAC,cAACF,EAAOI,OAAAC,OAAA,CAACxC,GAAIA,EAAIF,IAAKA,EAAKC,UAAW4B,EAAoBhB,KAAMA,GAAUK,mBAA0BV,IACjGQ,EACCA,EAAaI,GAEbkB,EAAAC,cAAAD,EAAAO,SAAA,KACGpB,GAAgBqB,EAAkBrB,EAAcD,EAAUY,GAC3DE,EAACC,cAAAQ,EAAK,CAAAC,KAAMZ,EAAaa,MAAM,WAC5B3B,GAEFI,GACCY,EAAAC,cAAA,MAAA,CAAKtC,UAAW+B,EAAON,YAAaoB,EAAkBpB,EAAYF,EAAUY,MAO1F"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={wrapper:"wrapper",highlighted:"highlighted",disabled:"disabled",readOnly:"readOnly",selected:"selected",small:"small",medium:"medium",large:"large",avatar:"avatar",icon:"icon",indent:"indent",endElement:"endElement"};!function(e){const n="s_id-410c7e21b012_3_54_2";if("undefined"!=typeof document){const r=document.head||document.getElementsByTagName("head")[0];if(r.querySelector("#"+n))return;const a=document.createElement("style");a.id=n,r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a),a.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}(".wrapper {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n border-radius: var(--border-radius-small);\n color: var(--primary-text-color);\n cursor: pointer;\n}\n.wrapper.highlighted {\n background-color: var(--primary-background-hover-color);\n}\n.wrapper.disabled {\n color: var(--disabled-text-color);\n cursor: not-allowed;\n}\n.wrapper.readOnly {\n cursor: default;\n}\n.wrapper.selected {\n background-color: var(--primary-selected-color);\n}\n.wrapper.selected.highlighted {\n background-color: var(--primary-selected-hover-color);\n}\n.wrapper.small {\n padding: 6px var(--spacing-small);\n}\n.wrapper.medium {\n padding: 9px 12px;\n}\n.wrapper.large {\n padding: 13px 12px;\n}\n.wrapper .avatar,\n.wrapper .icon {\n flex-shrink: 0;\n}\n.wrapper .indent {\n width: 20px;\n}\n.wrapper .endElement {\n padding-inline-start: var(--spacing-small);\n margin-inline-start: auto;\n display: flex;\n}");export{e as default};
|
|
2
|
+
//# sourceMappingURL=BaseListItem.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseListItem.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import t from"../Avatar/Avatar.js";import r from"./BaseListItem.module.scss.js";import a from"../Icon/Icon.js";import s from"../Text/Text.js";function c(c,o,m){switch(c.type){case"avatar":return e.createElement(t,{className:r.avatar,src:c.value,withoutBorder:!0,square:c.square,type:"img",customSize:20,disabled:o});case"icon":return e.createElement(a,{className:r.icon,icon:c.value,iconSize:20});case"indent":return e.createElement("div",{className:r.indent});case"suffix":return e.createElement(s,{type:m,color:"secondary",style:{maxWidth:"112px"}},c.value);case"custom":return c.render()}}export{c as renderSideElement};
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/BaseListItem/utils.tsx"],"sourcesContent":["import { EndElement, StartElement } from \"./BaseListItem.types\";\nimport { TextType } from \"../Text\";\nimport React from \"react\";\nimport Avatar from \"../Avatar/Avatar\";\nimport styles from \"./BaseListItem.module.scss\";\nimport Icon from \"../Icon/Icon\";\nimport Text from \"../Text/Text\";\n\nexport function renderSideElement(\n element: StartElement | EndElement,\n disabled: boolean,\n textVariant: TextType\n): React.ReactNode {\n switch (element.type) {\n case \"avatar\":\n return (\n <Avatar\n className={styles.avatar}\n src={element.value}\n withoutBorder\n square={element.square}\n type=\"img\"\n customSize={20}\n disabled={disabled}\n />\n );\n\n case \"icon\":\n return <Icon className={styles.icon} icon={element.value} iconSize={20} />;\n\n case \"indent\":\n return <div className={styles.indent} />;\n\n case \"suffix\":\n return (\n <Text type={textVariant} color=\"secondary\" style={{ maxWidth: \"112px\" }}>\n {element.value}\n </Text>\n );\n\n case \"custom\":\n return element.render();\n }\n}\n"],"names":["renderSideElement","element","disabled","textVariant","type","React","createElement","Avatar","className","styles","avatar","src","value","withoutBorder","square","customSize","Icon","icon","iconSize","indent","Text","color","style","maxWidth","render"],"mappings":"4KAQgBA,EACdC,EACAC,EACAC,GAEA,OAAQF,EAAQG,MACd,IAAK,SACH,OACEC,EAACC,cAAAC,EACC,CAAAC,UAAWC,EAAOC,OAClBC,IAAKV,EAAQW,MACbC,eAAa,EACbC,OAAQb,EAAQa,OAChBV,KAAK,MACLW,WAAY,GACZb,SAAUA,IAIhB,IAAK,OACH,OAAOG,gBAACW,EAAI,CAACR,UAAWC,EAAOQ,KAAMA,KAAMhB,EAAQW,MAAOM,SAAU,KAEtE,IAAK,SACH,OAAOb,uBAAKG,UAAWC,EAAOU,SAEhC,IAAK,SACH,OACEd,EAACC,cAAAc,EAAK,CAAAhB,KAAMD,EAAakB,MAAM,YAAYC,MAAO,CAAEC,SAAU,UAC3DtB,EAAQW,OAIf,IAAK,SACH,OAAOX,EAAQuB,SAErB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import o,{forwardRef as r,useRef as e}from"react";import t from"../../hooks/useMergeRef.js";import n from"./modes/DropdownComboboxController.js";import l from"./modes/DropdownMultiComboboxController.js";import m from"./modes/DropdownSelectController.js";import s from"./modes/DropdownMultiSelectController.js";var i=r((function(r,i){var u=!!r.searchable,d=e(null),f=t(i,d);return function(o){return o.multi}(r)?o.createElement(u?l:s,Object.assign({},r,{dropdownRef:f})):function(o){return!o.multi}(r)?o.createElement(u?n:m,Object.assign({},r,{dropdownRef:f})):null}));export{i as default};
|
|
2
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../../src/components/DropdownNew/Dropdown.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from \"react\";\nimport { BaseDropdownProps, DropdownMultiControllerProps, DropdownSingleControllerProps } from \"./Dropdown.types\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { BaseListItemData } from \"../BaseListItem\";\nimport DropdownComboboxController from \"./modes/DropdownComboboxController\";\nimport DropdownMultiComboboxController from \"./modes/DropdownMultiComboboxController\";\nimport DropdownSelectController from \"./modes/DropdownSelectController\";\nimport DropdownMultiSelectController from \"./modes/DropdownMultiSelectController\";\n\nconst Dropdown = forwardRef(\n <Item extends BaseListItemData<Record<string, unknown>>>(\n dropdownProps: BaseDropdownProps<Item>,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const isSearchable = Boolean(dropdownProps.searchable);\n\n const dropdownInternalRef = useRef<HTMLDivElement>(null);\n const dropdownMergedRef = useMergeRef(ref, dropdownInternalRef);\n\n if (isMultiType(dropdownProps)) {\n return isSearchable ? (\n <DropdownMultiComboboxController {...dropdownProps} dropdownRef={dropdownMergedRef} />\n ) : (\n <DropdownMultiSelectController {...dropdownProps} dropdownRef={dropdownMergedRef} />\n );\n }\n\n if (isSingleType(dropdownProps)) {\n return isSearchable ? (\n <DropdownComboboxController {...dropdownProps} dropdownRef={dropdownMergedRef} />\n ) : (\n <DropdownSelectController {...dropdownProps} dropdownRef={dropdownMergedRef} />\n );\n }\n\n return null;\n }\n);\n\nexport default Dropdown as <Item extends BaseListItemData<Record<string, unknown>>>(\n props: BaseDropdownProps<Item> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => React.ReactElement;\n\nfunction isMultiType(dropdownProps: BaseDropdownProps<any>): dropdownProps is DropdownMultiControllerProps<any> {\n return dropdownProps.multi;\n}\n\nfunction isSingleType(dropdownProps: BaseDropdownProps<any>): dropdownProps is DropdownSingleControllerProps<any> {\n return !dropdownProps.multi;\n}\n"],"names":["Dropdown","forwardRef","dropdownProps","ref","isSearchable","searchable","dropdownInternalRef","useRef","dropdownMergedRef","useMergeRef","multi","isMultiType","React","createElement","DropdownMultiComboboxController","DropdownMultiSelectController","Object","assign","dropdownRef","isSingleType","DropdownComboboxController","DropdownSelectController"],"mappings":"sTASMA,IAAAA,EAAWC,GACf,SACEC,EACAC,GAEA,IAAMC,IAAuBF,EAAcG,WAErCC,EAAsBC,EAAuB,MAC7CC,EAAoBC,EAAYN,EAAKG,GAE3C,OAwBJ,SAAqBJ,GACnB,OAAOA,EAAcQ,KACvB,CA1BQC,CAAYT,GAEZU,EAAAC,cADKT,EACJU,EAEAC,EAF+BC,OAAAC,OAAA,CAAA,EAAKf,EAAa,CAAEgB,YAAaV,KA0BzE,SAAsBN,GACpB,OAAQA,EAAcQ,KACxB,CAtBQS,CAAajB,GAEbU,EAAAC,cADKT,EACJgB,EAEAC,EAF0BL,OAAAC,OAAA,CAAA,EAAKf,EAAa,CAAEgB,YAAaV,KAMzD,IACT"}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import r from"react";import t from"classnames";import o from"../../../FieldLabel/FieldLabel.js";import a from"../../../Text/Text.js";import s from"./DropdownBase.module.scss.js";import{getTestId as l}from"../../../../tests/testIds.js";import{ComponentDefaultTestId as i}from"../../../../tests/constants.js";import{useDropdownContext as d}from"../../context/DropdownContext.js";import m from"../../../Tooltip/Tooltip.js";var n=function(n){var p=n.dropdownRef,c=n.children,f=d(),b=f.label,u=f.required,j=f.getLabelProps,v=f.id,x=f.ariaLabel,T=f["data-testid"],O=f.readOnly,g=f.error,E=f.isFocused,N=f.helperText,P=f.dir,w=f.tooltipProps,y=r.createElement("div",{ref:p,className:t(s.wrapper,f.className,e(e(e(e({},s.disabled,f.disabled),s.readOnly,O),s.error,g),s.active,E)),id:v,"aria-label":x,"data-testid":T||l(i.DROPDOWN,v)},c);return r.createElement("div",{dir:P,className:s.outerWrapper},b&&r.createElement(o,Object.assign({labelText:b,required:u},j())),r.createElement(m,Object.assign({},w,{content:null==w?void 0:w.content}),y),N&&r.createElement(a,{color:g?"negative":"secondary",className:s.helperText},N))};export{n as default};
|
|
2
|
+
//# sourceMappingURL=DropdownBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownBase.js","sources":["../../../../../../../src/components/DropdownNew/components/DropdownBase/DropdownBase.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport FieldLabel from \"../../../FieldLabel/FieldLabel\";\nimport Text from \"../../../Text/Text\";\nimport styles from \"./DropdownBase.module.scss\";\nimport { getTestId } from \"../../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../../../tests/constants\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\nimport Tooltip from \"../../../Tooltip/Tooltip\";\n\ninterface DropdownBaseProps {\n dropdownRef: React.Ref<HTMLDivElement>;\n children: React.ReactNode;\n}\n\nconst DropdownBase = ({ dropdownRef, children }: DropdownBaseProps) => {\n const {\n label,\n required,\n getLabelProps,\n className,\n id,\n ariaLabel,\n \"data-testid\": dataTestIdFromContext,\n disabled,\n readOnly,\n error,\n isFocused,\n helperText,\n dir,\n tooltipProps\n } = useDropdownContext<BaseListItemData>();\n\n const coreDropdownElement = (\n <div\n ref={dropdownRef}\n className={cx(styles.wrapper, className, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n [styles.error]: error,\n [styles.active]: isFocused\n })}\n id={id}\n aria-label={ariaLabel}\n data-testid={dataTestIdFromContext || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n >\n {children}\n </div>\n );\n\n return (\n <div dir={dir} className={styles.outerWrapper}>\n {label && <FieldLabel labelText={label} required={required} {...getLabelProps()} />}\n <Tooltip {...tooltipProps} content={tooltipProps?.content}>\n {coreDropdownElement}\n </Tooltip>\n {helperText && (\n <Text color={error ? \"negative\" : \"secondary\"} className={styles.helperText}>\n {helperText}\n </Text>\n )}\n </div>\n );\n};\n\nexport default DropdownBase;\n"],"names":["DropdownBase","_ref","dropdownRef","children","_useDropdownContext","useDropdownContext","label","required","getLabelProps","id","ariaLabel","dataTestIdFromContext","readOnly","error","isFocused","helperText","dir","tooltipProps","coreDropdownElement","React","createElement","ref","className","cx","styles","wrapper","_defineProperty","disabled","active","getTestId","ComponentDefaultTestId","DROPDOWN","outerWrapper","FieldLabel","Object","assign","labelText","Tooltip","content","Text","color"],"mappings":"0fAgBA,IAAMA,EAAe,SAAHC,GAAoD,IAA9CC,EAAWD,EAAXC,YAAaC,EAAQF,EAARE,SACnCC,EAeIC,IAdFC,EAAKF,EAALE,MACAC,EAAQH,EAARG,SACAC,EAAaJ,EAAbI,cAEAC,EAAEL,EAAFK,GACAC,EAASN,EAATM,UACeC,EAAqBP,EAApC,eAEAQ,EAAQR,EAARQ,SACAC,EAAKT,EAALS,MACAC,EAASV,EAATU,UACAC,EAAUX,EAAVW,WACAC,EAAGZ,EAAHY,IACAC,EAAYb,EAAZa,aAGIC,EACJC,EACEC,cAAA,MAAA,CAAAC,IAAKnB,EACLoB,UAAWC,EAAGC,EAAOC,QAhBdrB,EAATkB,UAgByCI,EAAAA,EAAAA,EAAAA,EAAA,CAAA,EACpCF,EAAOG,SAbJvB,EAARuB,UAcKH,EAAOZ,SAAWA,GAClBY,EAAOX,MAAQA,GACfW,EAAOI,OAASd,IAEnBL,GAAIA,eACQC,EAAS,cACRC,GAAyBkB,EAAUC,EAAuBC,SAAUtB,IAEhFN,GAIL,OACEgB,EAAKC,cAAA,MAAA,CAAAJ,IAAKA,EAAKM,UAAWE,EAAOQ,cAC9B1B,GAASa,EAAAC,cAACa,EAAUC,OAAAC,OAAA,CAACC,UAAW9B,EAAOC,SAAUA,GAAcC,MAChEW,EAAAC,cAACiB,EAAOH,OAAAC,OAAA,CAAA,EAAKlB,EAAY,CAAEqB,QAASrB,eAAAA,EAAcqB,UAC/CpB,GAEFH,GACCI,EAACC,cAAAmB,EAAK,CAAAC,MAAO3B,EAAQ,WAAa,YAAaS,UAAWE,EAAOT,YAC9DA,GAKX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var r={outerWrapper:"outerWrapper",wrapper:"wrapper",active:"active",disabled:"disabled",readOnly:"readOnly",error:"error",helperText:"helperText"};!function(r){const e="s_id-c5c35ba342a2_3_54_2";if("undefined"!=typeof document){const o=document.head||document.getElementsByTagName("head")[0];if(o.querySelector("#"+e))return;const n=document.createElement("style");n.id=e,o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.appendChild(document.createTextNode(r))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=r)}(".outerWrapper {\n width: 100%;\n}\n\n.wrapper {\n --border-color: var(--ui-border-color);\n --background-color: var(--secondary-background-color);\n border-radius: var(--border-radius-small);\n border: 1px solid var(--border-color);\n background: var(--background-color);\n cursor: pointer;\n}\n\n.wrapper:hover {\n --border-color: var(--primary-text-color);\n}\n\n.wrapper.active {\n --border-color: var(--primary-color);\n}\n\n.wrapper.disabled {\n --border-color: var(--disabled-background-color);\n --background-color: var(--disabled-background-color);\n cursor: not-allowed;\n}\n\n.wrapper.readOnly {\n --border-color: var(--allgrey-background-color);\n --background-color: var(--allgrey-background-color);\n cursor: default;\n}\n\n.wrapper.error {\n --border-color: var(--negative-color);\n}\n\n.helperText {\n margin-top: var(--spacing-xs);\n}");export{r as default};
|
|
2
|
+
//# sourceMappingURL=DropdownBase.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownBase.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import r from"../../../Dialog/Dialog.js";import{matchWidthModifier as o}from"../../utils/dropdown-modifiers.js";import{useDropdownContext as t}from"../../context/DropdownContext.js";import i from"../Menu/Menu.js";import m from"../Trigger/SingleSelectTrigger.js";import n from"../Trigger/MultiSelectTrigger.js";var s=function(){var s=t().multi;return e.createElement(r,{open:!0,useDerivedStateFromProps:!0,position:"bottom-start",moveBy:{main:4,secondary:0},observeContentResize:!0,showTrigger:[],hideTrigger:[],modifiers:o,content:e.createElement(i,null),referenceWrapperElement:"div"},e.createElement(s?n:m,null))};export{s as default};
|
|
2
|
+
//# sourceMappingURL=DropdownPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownPopup.js","sources":["../../../../../../../src/components/DropdownNew/components/DropdownPopup/DropdownPopup.tsx"],"sourcesContent":["import React from \"react\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport { matchWidthModifier } from \"../../utils/dropdown-modifiers\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport Menu from \"../Menu/Menu\";\nimport SingleSelectTrigger from \"../Trigger/SingleSelectTrigger\";\nimport MultiSelectTrigger from \"../Trigger/MultiSelectTrigger\";\n\nconst DropdownPopup = () => {\n const { multi } = useDropdownContext();\n\n return (\n <Dialog\n open\n useDerivedStateFromProps\n position=\"bottom-start\"\n moveBy={{ main: 4, secondary: 0 }}\n observeContentResize={true}\n showTrigger={[]}\n hideTrigger={[]}\n modifiers={matchWidthModifier}\n content={<Menu />}\n referenceWrapperElement=\"div\"\n >\n {multi ? <MultiSelectTrigger /> : <SingleSelectTrigger />}\n </Dialog>\n );\n};\n\nexport default DropdownPopup;\n"],"names":["DropdownPopup","multi","useDropdownContext","React","createElement","Dialog","open","useDerivedStateFromProps","position","moveBy","main","secondary","observeContentResize","showTrigger","hideTrigger","modifiers","matchWidthModifier","content","Menu","referenceWrapperElement","MultiSelectTrigger","SingleSelectTrigger"],"mappings":"2UAQA,IAAMA,EAAgB,WACpB,IAAQC,EAAUC,IAAVD,MAER,OACEE,EAAAC,cAACC,EAAM,CACLC,MAAI,EACJC,0BAAwB,EACxBC,SAAS,eACTC,OAAQ,CAAEC,KAAM,EAAGC,UAAW,GAC9BC,sBAAsB,EACtBC,YAAa,GACbC,YAAa,GACbC,UAAWC,EACXC,QAASd,EAACC,cAAAc,EAAO,MACjBC,wBAAwB,OAEfhB,EAAAC,cAARH,EAASmB,EAAyBC,EAAJ,MAGrC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import o from"react";import{DropdownContext as e}from"../context/DropdownContext.js";import r from"./DropdownPopup/DropdownPopup.js";import t from"./DropdownBase/DropdownBase.js";var n=function(n){return o.createElement(e.Provider,{value:n.contextValue},o.createElement(t,{dropdownRef:n.dropdownRef},o.createElement(r,null)))};export{n as default};
|
|
2
|
+
//# sourceMappingURL=DropdownWrapperUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownWrapperUI.js","sources":["../../../../../../src/components/DropdownNew/components/DropdownWrapperUI.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownContext } from \"../context/DropdownContext\";\nimport { DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownPopup from \"./DropdownPopup/DropdownPopup\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport DropdownBase from \"./DropdownBase/DropdownBase\";\n\ninterface DropdownWrapperUIProps<Item extends BaseListItemData<Record<string, unknown>>> {\n contextValue: DropdownContextProps<Item>;\n dropdownRef: React.Ref<HTMLDivElement>;\n}\n\nconst DropdownWrapperUI = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownWrapperUIProps<Item>\n) => {\n const { contextValue, dropdownRef } = props;\n\n return (\n <DropdownContext.Provider value={contextValue}>\n <DropdownBase dropdownRef={dropdownRef}>\n <DropdownPopup />\n </DropdownBase>\n </DropdownContext.Provider>\n );\n};\n\nexport default DropdownWrapperUI;\n"],"names":["DropdownWrapperUI","props","React","DropdownContext","Provider","value","contextValue","createElement","DropdownBase","dropdownRef","DropdownPopup"],"mappings":"mLAYA,IAAMA,EAAoB,SACxBC,GAIA,OACEC,gBAACC,EAAgBC,SAAS,CAAAC,MAHUJ,EAA9BK,cAIJJ,EAAAK,cAACC,EAAY,CAACC,YAJoBR,EAAhBQ,aAKhBP,EAAAK,cAACG,EAAa,OAItB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import t from"react";import r from"classnames";import i from"../../../DialogContentContainer/DialogContentContainer.js";import n from"../../../BaseList/BaseList.js";import{useDropdownContext as o}from"../../context/DropdownContext.js";import s from"./Menu.module.scss.js";var m=function(){var m=o(),l=m.isOpen,a=m.filteredOptions,p=m.highlightedIndex,d=m.getMenuProps,u=m.getItemProps,g=m.optionRenderer,c=m.menuRenderer,f=m.size,h=m.withGroupDivider,x=m.stickyGroupTitle,I=m.dir,M=m.noOptionsMessage,v=m.maxMenuHeight,C=m.onScroll,P=m.menuAriaLabel,j=m.selectedItem,D=m.selectedItems,O=m.menuWrapperClassName,b=(null==D?void 0:D.length)>0?D:j?[j]:[];return t.createElement(i,{className:r(e(e({},s.menuVisible,l),s.menuHidden,!l),O)},t.createElement(n,{size:f,options:a,selectedItems:b,highlightedIndex:p,menuAriaLabel:P,getMenuProps:d,getItemProps:u,withGroupDivider:h,stickyGroupTitle:x,dir:I,itemRenderer:g,noOptionsMessage:M,renderOptions:l,onScroll:C,maxMenuHeight:v,menuRenderer:c}))};export{m as default};
|
|
2
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../../../../../src/components/DropdownNew/components/Menu/Menu.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { DialogContentContainer } from \"../../../DialogContentContainer\";\nimport { BaseList } from \"../../../BaseList\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\nimport styles from \"./Menu.module.scss\";\n\nconst Menu = <Item extends BaseListItemData<Record<string, unknown>>>() => {\n const {\n isOpen,\n filteredOptions,\n highlightedIndex,\n getMenuProps,\n getItemProps,\n optionRenderer,\n menuRenderer,\n size,\n withGroupDivider,\n stickyGroupTitle,\n dir,\n noOptionsMessage,\n maxMenuHeight,\n onScroll,\n menuAriaLabel,\n selectedItem,\n selectedItems,\n menuWrapperClassName\n } = useDropdownContext<Item>();\n\n const currentSelection = selectedItems?.length > 0 ? selectedItems : selectedItem ? [selectedItem] : [];\n\n return (\n <DialogContentContainer\n className={cx({ [styles.menuVisible]: isOpen, [styles.menuHidden]: !isOpen }, menuWrapperClassName)}\n >\n <BaseList<Item>\n size={size}\n options={filteredOptions}\n selectedItems={currentSelection}\n highlightedIndex={highlightedIndex}\n menuAriaLabel={menuAriaLabel}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n withGroupDivider={withGroupDivider}\n stickyGroupTitle={stickyGroupTitle}\n dir={dir}\n itemRenderer={optionRenderer}\n noOptionsMessage={noOptionsMessage}\n renderOptions={isOpen}\n onScroll={onScroll}\n maxMenuHeight={maxMenuHeight}\n menuRenderer={menuRenderer}\n />\n </DialogContentContainer>\n );\n};\n\nexport default Menu;\n"],"names":["Menu","_useDropdownContext","useDropdownContext","isOpen","filteredOptions","highlightedIndex","getMenuProps","getItemProps","optionRenderer","menuRenderer","size","withGroupDivider","stickyGroupTitle","dir","noOptionsMessage","maxMenuHeight","onScroll","menuAriaLabel","selectedItem","selectedItems","menuWrapperClassName","currentSelection","length","React","createElement","DialogContentContainer","className","cx","_defineProperty","styles","menuVisible","menuHidden","BaseList","options","itemRenderer","renderOptions"],"mappings":"sWAQA,IAAMA,EAAO,WACX,IAAAC,EAmBIC,IAlBFC,EAAMF,EAANE,OACAC,EAAeH,EAAfG,gBACAC,EAAgBJ,EAAhBI,iBACAC,EAAYL,EAAZK,aACAC,EAAYN,EAAZM,aACAC,EAAcP,EAAdO,eACAC,EAAYR,EAAZQ,aACAC,EAAIT,EAAJS,KACAC,EAAgBV,EAAhBU,iBACAC,EAAgBX,EAAhBW,iBACAC,EAAGZ,EAAHY,IACAC,EAAgBb,EAAhBa,iBACAC,EAAad,EAAbc,cACAC,EAAQf,EAARe,SACAC,EAAahB,EAAbgB,cACAC,EAAYjB,EAAZiB,aACAC,EAAalB,EAAbkB,cACAC,EAAoBnB,EAApBmB,qBAGIC,GAAmBF,aAAA,EAAAA,EAAeG,QAAS,EAAIH,EAAgBD,EAAe,CAACA,GAAgB,GAErG,OACEK,EAAAC,cAACC,EAAsB,CACrBC,UAAWC,EAAEC,EAAAA,EAAA,CAAA,EAAIC,EAAOC,YAAc3B,GAAS0B,EAAOE,YAAc5B,GAAUiB,IAE9EG,EAAAC,cAACQ,EAAQ,CACPtB,KAAMA,EACNuB,QAAS7B,EACTe,cAAeE,EACfhB,iBAAkBA,EAClBY,cAAeA,EACfX,aAAcA,EACdC,aAAcA,EACdI,iBAAkBA,EAClBC,iBAAkBA,EAClBC,IAAKA,EACLqB,aAAc1B,EACdM,iBAAkBA,EAClBqB,cAAehC,EACfa,SAAUA,EACVD,cAAeA,EACfN,aAAcA,IAItB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={menuVisible:"menuVisible",menuHidden:"menuHidden"};!function(e){const i="s_id-448dc11ee0f4_3_54_2";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+i))return;const d=document.createElement("style");d.id=i,n.firstChild?n.insertBefore(d,n.firstChild):n.appendChild(d),d.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[i]=e)}(".menuVisible {\n visibility: visible;\n}\n\n.menuHidden {\n visibility: hidden;\n}");export{e as default};
|
|
2
|
+
//# sourceMappingURL=Menu.module.scss.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.module.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import n,{useRef as t,useMemo as o,createRef as r}from"react";import i from"../../../Chips/Chips.js";import a from"../../../Flex/Flex.js";import l from"../../../DialogContentContainer/DialogContentContainer.js";import c from"../../../Dialog/Dialog.js";import s from"../../../../hooks/useItemsOverflow/useItemsOverflow.js";import d from"./MultiSelectedValues.module.scss.js";import u from"classnames";import m from"../Trigger/DropdownChip.js";function p(p){var f=p.selectedItems,g=p.onRemove,h=p.renderInput,v=p.disabled,w=p.readOnly,C=t(null),D=t(null),y=o((function(){return f.map((function(){return r()}))}),[f]),E=s({containerRef:C,itemRefs:y,gap:4,deductedSpaceRef:D}),b=o((function(){var e=f.length>E?f.slice(E):[];return{hiddenItems:e,hiddenCount:e.length}}),[f,E]),j=b.hiddenItems,k=b.hiddenCount,x=o((function(){return function(){return n.createElement(l,null,n.createElement(a,{direction:"column",gap:"xs",align:"start",className:d.hiddenChipsDialog},j.map((function(e){return n.createElement(m,{key:"dropdown-chip-dialog-".concat(e.value),item:e,onDelete:function(){return g(e)},className:d.dialogChip,disabled:v,readOnly:w})}))))}}),[j,g,v,w]),I=o((function(){return f.map((function(t,o){var r=E>o;return n.createElement("div",{key:"dropdown-chip-visible-".concat(t.value),ref:y[o],className:u(e({},d.hiddenChip,!r)),"aria-hidden":!r,"data-testid":"dropdown-chip-".concat(t.value)},n.createElement(m,{item:t,onDelete:function(){return g(t)},disabled:v,readOnly:w}))}))}),[f,E,g,y,v,w]);return(null==f?void 0:f.length)?n.createElement(a,{align:"center",wrap:!1,gap:"xs",ref:C,className:d.containerWrapper},I,n.createElement(a,{ref:D,gap:"xs"},k>0&&n.createElement("div",{onClick:function(e){e.stopPropagation()},onKeyDown:function(e){e.stopPropagation()},onMouseDown:function(e){e.stopPropagation()}},n.createElement(c,{content:x,showTrigger:["click","enter"],hideTrigger:["clickoutside","enter"],position:"bottom",moveBy:{main:4},hideWhenReferenceHidden:!0,addKeyboardHideShowTriggersByDefault:!0},n.createElement(i,{label:"+ ".concat(k),readOnly:!0,noMargin:!0,ariaLabel:"+".concat(k,". ").concat(f.length-k," items are visible out of ").concat(f.length),"data-testid":"dropdown-overflow-counter",className:d.overflowCounter,onClick:function(){},onMouseDown:function(e){e.preventDefault()}}))),h&&n.createElement("div",{className:d.inputWrapper},h()))):null}export{p as default};
|
|
2
|
+
//# sourceMappingURL=MultiSelectedValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectedValues.js","sources":["../../../../../../../src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.tsx"],"sourcesContent":["import React, { useRef, useMemo, createRef } from \"react\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\nimport { Chips } from \"../../../Chips\";\nimport { Flex } from \"../../../Flex\";\nimport { DialogContentContainer } from \"../../../DialogContentContainer\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport useItemsOverflow from \"../../../../hooks/useItemsOverflow/useItemsOverflow\";\nimport styles from \"./MultiSelectedValues.module.scss\";\nimport cx from \"classnames\";\nimport DropdownChip from \"../Trigger/DropdownChip\";\n\ntype MultiSelectedValuesProps<Item> = {\n selectedItems: Item[];\n onRemove: (item: Item) => void;\n renderInput?: () => React.ReactNode;\n disabled?: boolean;\n readOnly?: boolean;\n};\n\nfunction MultiSelectedValues<Item extends BaseListItemData<Record<string, unknown>>>({\n selectedItems,\n onRemove,\n renderInput,\n disabled,\n readOnly\n}: MultiSelectedValuesProps<Item>) {\n const containerRef = useRef<HTMLDivElement>(null);\n const deductedSpaceRef = useRef<HTMLDivElement>(null);\n\n const itemRefs = useMemo(() => selectedItems.map(() => createRef<HTMLDivElement>()), [selectedItems]);\n\n const visibleCount = useItemsOverflow({\n containerRef,\n itemRefs,\n gap: 4,\n deductedSpaceRef\n });\n\n const { hiddenItems, hiddenCount } = useMemo(() => {\n const hiddenItems = selectedItems.length > visibleCount ? selectedItems.slice(visibleCount) : [];\n return {\n hiddenItems,\n hiddenCount: hiddenItems.length\n };\n }, [selectedItems, visibleCount]);\n\n const dialogContent = useMemo(() => {\n return () => (\n <DialogContentContainer>\n <Flex direction=\"column\" gap=\"xs\" align=\"start\" className={styles.hiddenChipsDialog}>\n {hiddenItems.map(item => {\n return (\n <DropdownChip\n key={`dropdown-chip-dialog-${item.value}`}\n item={item}\n onDelete={() => onRemove(item)}\n className={styles.dialogChip}\n disabled={disabled}\n readOnly={readOnly}\n />\n );\n })}\n </Flex>\n </DialogContentContainer>\n );\n }, [hiddenItems, onRemove, disabled, readOnly]);\n\n const chipElements = useMemo(() => {\n return selectedItems.map((item, index) => {\n const isVisible = index < visibleCount;\n\n return (\n <div\n key={`dropdown-chip-visible-${item.value}`}\n ref={itemRefs[index]}\n className={cx({ [styles.hiddenChip]: !isVisible })}\n aria-hidden={!isVisible}\n data-testid={`dropdown-chip-${item.value}`}\n >\n <DropdownChip item={item} onDelete={() => onRemove(item)} disabled={disabled} readOnly={readOnly} />\n </div>\n );\n });\n }, [selectedItems, visibleCount, onRemove, itemRefs, disabled, readOnly]);\n\n if (!selectedItems?.length) return null;\n\n return (\n <Flex align=\"center\" wrap={false} gap=\"xs\" ref={containerRef} className={styles.containerWrapper}>\n {chipElements}\n\n <Flex ref={deductedSpaceRef} gap=\"xs\">\n {hiddenCount > 0 && (\n <div\n onClick={e => {\n e.stopPropagation();\n }}\n onKeyDown={e => {\n e.stopPropagation();\n }}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n >\n <Dialog\n content={dialogContent}\n showTrigger={[\"click\", \"enter\"]}\n hideTrigger={[\"clickoutside\", \"enter\"]}\n position=\"bottom\"\n moveBy={{ main: 4 }}\n hideWhenReferenceHidden\n addKeyboardHideShowTriggersByDefault\n >\n <Chips\n label={`+ ${hiddenCount}`}\n readOnly\n noMargin\n ariaLabel={`+${hiddenCount}. ${selectedItems.length - hiddenCount} items are visible out of ${\n selectedItems.length\n }`}\n data-testid=\"dropdown-overflow-counter\"\n className={styles.overflowCounter}\n onClick={() => {}}\n onMouseDown={e => {\n e.preventDefault();\n }}\n />\n </Dialog>\n </div>\n )}\n {renderInput && <div className={styles.inputWrapper}>{renderInput()}</div>}\n </Flex>\n </Flex>\n );\n}\n\nexport default MultiSelectedValues;\n"],"names":["MultiSelectedValues","_ref","selectedItems","onRemove","renderInput","disabled","readOnly","containerRef","useRef","deductedSpaceRef","itemRefs","useMemo","map","createRef","visibleCount","useItemsOverflow","gap","_useMemo","hiddenItems","length","slice","hiddenCount","dialogContent","React","DialogContentContainer","createElement","Flex","direction","align","className","styles","hiddenChipsDialog","item","DropdownChip","key","concat","value","onDelete","dialogChip","chipElements","index","isVisible","ref","cx","_defineProperty","hiddenChip","wrap","containerWrapper","onClick","e","stopPropagation","onKeyDown","onMouseDown","Dialog","content","showTrigger","hideTrigger","position","moveBy","main","hideWhenReferenceHidden","addKeyboardHideShowTriggersByDefault","Chips","label","noMargin","ariaLabel","overflowCounter","preventDefault","inputWrapper"],"mappings":"ghBAmBA,SAASA,EAAmBC,GAMK,IAL/BC,EAAaD,EAAbC,cACAC,EAAQF,EAARE,SACAC,EAAWH,EAAXG,YACAC,EAAQJ,EAARI,SACAC,EAAQL,EAARK,SAEMC,EAAeC,EAAuB,MACtCC,EAAmBD,EAAuB,MAE1CE,EAAWC,GAAQ,WAAA,OAAMT,EAAcU,KAAI,WAAA,OAAMC,SAA8B,CAACX,IAEhFY,EAAeC,EAAiB,CACpCR,aAAAA,EACAG,SAAAA,EACAM,IAAK,EACLP,iBAAAA,IAGFQ,EAAqCN,GAAQ,WAC3C,IAAMO,EAAchB,EAAciB,OAASL,EAAeZ,EAAckB,MAAMN,GAAgB,GAC9F,MAAO,CACLI,YAAAA,EACAG,YAAaH,EAAYC,OAE7B,GAAG,CAACjB,EAAeY,IANXI,EAAWD,EAAXC,YAAaG,EAAWJ,EAAXI,YAQfC,EAAgBX,GAAQ,WAC5B,OAAO,WAAA,OACLY,gBAACC,EAAsB,KACrBD,EAACE,cAAAC,EAAK,CAAAC,UAAU,SAASX,IAAI,KAAKY,MAAM,QAAQC,UAAWC,EAAOC,mBAC/Db,EAAYN,KAAI,SAAAoB,GACf,OACET,EAACE,cAAAQ,GACCC,4BAAGC,OAA0BH,EAAKI,OAClCJ,KAAMA,EACNK,SAAU,WAAA,OAAMlC,EAAS6B,EAAK,EAC9BH,UAAWC,EAAOQ,WAClBjC,SAAUA,EACVC,SAAUA,GAGf,MAIR,GAAE,CAACY,EAAaf,EAAUE,EAAUC,IAE/BiC,EAAe5B,GAAQ,WAC3B,OAAOT,EAAcU,KAAI,SAACoB,EAAMQ,GAC9B,IAAMC,EAAoB3B,EAAR0B,EAElB,OACEjB,EACEE,cAAA,MAAA,CAAAS,6BAAGC,OAA2BH,EAAKI,OACnCM,IAAKhC,EAAS8B,GACdX,UAAWc,EAAEC,EAAId,CAAAA,EAAAA,EAAOe,YAAcJ,IAAY,eACpCA,EAAS,cAAAN,iBAAAA,OACOH,EAAKI,QAEnCb,EAACE,cAAAQ,EAAa,CAAAD,KAAMA,EAAMK,SAAU,WAAA,OAAMlC,EAAS6B,EAAK,EAAE3B,SAAUA,EAAUC,SAAUA,IAG9F,GACF,GAAG,CAACJ,EAAeY,EAAcX,EAAUO,EAAUL,EAAUC,IAE/D,OAAKJ,aAAA,EAAAA,EAAeiB,QAGlBI,EAACE,cAAAC,EAAK,CAAAE,MAAM,SAASkB,MAAM,EAAO9B,IAAI,KAAK0B,IAAKnC,EAAcsB,UAAWC,EAAOiB,kBAC7ER,EAEDhB,EAACE,cAAAC,GAAKgB,IAAKjC,EAAkBO,IAAI,MAC9BK,EAAc,GACbE,uBACEyB,QAAS,SAAAC,GACPA,EAAEC,iBACH,EACDC,UAAW,SAAAF,GACTA,EAAEC,iBACH,EACDE,YAAa,SAAAH,GACXA,EAAEC,iBACJ,GAEA3B,EAAAE,cAAC4B,EACC,CAAAC,QAAShC,EACTiC,YAAa,CAAC,QAAS,SACvBC,YAAa,CAAC,eAAgB,SAC9BC,SAAS,SACTC,OAAQ,CAAEC,KAAM,GAChBC,2BACAC,sCAAoC,GAEpCtC,EAACE,cAAAqC,GACCC,MAAK5B,KAAAA,OAAOd,GACZf,UAAQ,EACR0D,UACA,EAAAC,cAAS9B,OAAMd,EAAWc,MAAAA,OAAKjC,EAAciB,OAASE,EAAWc,8BAAAA,OAC/DjC,EAAciB,QAEJ,cAAA,4BACZU,UAAWC,EAAOoC,gBAClBlB,QAAS,WAAQ,EACjBI,YAAa,SAAAH,GACXA,EAAEkB,gBACJ,MAKP/D,GAAemB,EAAAE,cAAA,MAAA,CAAKI,UAAWC,EAAOsC,cAAehE,OA7CzB,IAiDrC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={containerWrapper:"containerWrapper",hiddenChip:"hiddenChip",hiddenChipsDialog:"hiddenChipsDialog",dialogChip:"dialogChip"};!function(e){const n="s_id-1eb6fbc8e066_3_54_2";if("undefined"!=typeof document){const i=document.head||document.getElementsByTagName("head")[0];if(i.querySelector("#"+n))return;const d=document.createElement("style");d.id=n,i.firstChild?i.insertBefore(d,i.firstChild):i.appendChild(d),d.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}(".containerWrapper {\n min-width: 1px;\n flex-grow: 1;\n}\n\n.hiddenChip {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n z-index: -1;\n}\n\n.hiddenChipsDialog {\n max-width: 192px;\n}\n\n.dialogChip {\n max-width: 100%;\n}");export{e as default};
|
|
2
|
+
//# sourceMappingURL=MultiSelectedValues.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectedValues.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import l from"../../../Chips/Chips.js";var n=function(n){var t=n.item,o=n.onDelete,a=n.disabled,i=n.readOnly,r=n.className,d=function(e){var l,n,t,o,a,i,r,d={};if(null==e?void 0:e.startElement)switch(null===(l=null==e?void 0:e.startElement)||void 0===l?void 0:l.type){case"icon":d.leftIcon=null===(n=null==e?void 0:e.startElement)||void 0===n?void 0:n.value;break;case"avatar":d.leftAvatar=null===(t=null==e?void 0:e.startElement)||void 0===t?void 0:t.value;break;case"custom":d.leftRenderer=null===(o=null==e?void 0:e.startElement)||void 0===o?void 0:o.render()}if(null==e?void 0:e.endElement)switch(null===(a=null==e?void 0:e.endElement)||void 0===a?void 0:a.type){case"icon":d.rightIcon=null===(i=null==e?void 0:e.endElement)||void 0===i?void 0:i.value;break;case"custom":d.rightRenderer=null===(r=null==e?void 0:e.endElement)||void 0===r?void 0:r.render()}return d}(t);return e.createElement(l,Object.assign({label:t.label,closeButtonAriaLabel:"Remove ".concat(t.label),onDelete:o,disabled:a,readOnly:i,noMargin:!0,className:r,color:t.chipColor||"primary"},d))};export{n as default};
|
|
2
|
+
//# sourceMappingURL=DropdownChip.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownChip.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownChip.js","sources":["../../../../../../../src/components/DropdownNew/components/Trigger/DropdownChip.tsx"],"sourcesContent":["import React from \"react\";\nimport { Chips, ChipsProps } from \"../../../Chips\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\n\nconst getChipPropsFromItemElements = (item: BaseListItemData<Record<string, unknown>>): Partial<ChipsProps> => {\n const chipProps: Partial<ChipsProps> = {};\n if (item?.startElement) {\n switch (item?.startElement?.type) {\n case \"icon\":\n chipProps.leftIcon = item?.startElement?.value;\n break;\n case \"avatar\":\n chipProps.leftAvatar = item?.startElement?.value;\n break;\n case \"custom\":\n chipProps.leftRenderer = item?.startElement?.render() as React.ReactNode;\n break;\n default:\n break;\n }\n }\n\n if (item?.endElement) {\n switch (item?.endElement?.type) {\n case \"icon\":\n chipProps.rightIcon = item?.endElement?.value;\n break;\n case \"custom\":\n chipProps.rightRenderer = item?.endElement?.render() as React.ReactNode;\n break;\n default:\n break;\n }\n }\n return chipProps;\n};\n\ninterface DropdownChipProps<Item extends BaseListItemData<Record<string, unknown>>> {\n item: Item;\n onDelete: () => void;\n disabled?: boolean;\n readOnly?: boolean;\n className?: string;\n}\n\nconst DropdownChip = <Item extends BaseListItemData<Record<string, unknown>>>({\n item,\n onDelete,\n disabled,\n readOnly,\n className\n}: DropdownChipProps<Item>) => {\n const chipSpecificProps = getChipPropsFromItemElements(item);\n\n return (\n <Chips\n label={item.label}\n closeButtonAriaLabel={`Remove ${item.label}`}\n onDelete={onDelete}\n disabled={disabled}\n readOnly={readOnly}\n noMargin\n className={className}\n color={item.chipColor || \"primary\"}\n {...chipSpecificProps}\n />\n );\n};\n\nexport default DropdownChip;\n"],"names":["DropdownChip","_ref","item","onDelete","disabled","readOnly","className","chipSpecificProps","chipProps","startElement","_a","type","leftIcon","_b","value","leftAvatar","_c","leftRenderer","_d","render","endElement","_e","rightIcon","_f","rightRenderer","_g","getChipPropsFromItemElements","React","Chips","Object","assign","label","closeButtonAriaLabel","concat","noMargin","color","chipColor"],"mappings":"4DAIA,IAyCMA,EAAe,SAAHC,GAMY,IAL5BC,EAAID,EAAJC,KACAC,EAAQF,EAARE,SACAC,EAAQH,EAARG,SACAC,EAAQJ,EAARI,SACAC,EAASL,EAATK,UAEMC,EAhD6B,SAACL,qBAC9BM,EAAiC,CAAA,EACvC,GAAIN,eAAAA,EAAMO,aACR,OAA4B,QAApBC,EAAAR,aAAI,EAAJA,EAAMO,oBAAc,IAAAC,OAAA,EAAAA,EAAAC,MAC1B,IAAK,OACHH,EAAUI,SAA6B,QAAlBC,EAAAX,aAAI,EAAJA,EAAMO,oBAAY,IAAAI,OAAA,EAAAA,EAAEC,MACzC,MACF,IAAK,SACHN,EAAUO,WAA+B,QAAlBC,EAAAd,aAAI,EAAJA,EAAMO,oBAAY,IAAAO,OAAA,EAAAA,EAAEF,MAC3C,MACF,IAAK,SACHN,EAAUS,aAAmC,QAApBC,EAAAhB,aAAA,EAAAA,EAAMO,oBAAc,IAAAS,OAAA,EAAAA,EAAAC,SAOnD,GAAIjB,eAAAA,EAAMkB,WACR,OAA0B,QAAlBC,EAAAnB,aAAI,EAAJA,EAAMkB,kBAAY,IAAAC,OAAA,EAAAA,EAAAV,MACxB,IAAK,OACHH,EAAUc,UAA4B,QAAhBC,EAAArB,aAAI,EAAJA,EAAMkB,kBAAU,IAAAG,OAAA,EAAAA,EAAET,MACxC,MACF,IAAK,SACHN,EAAUgB,cAAkC,QAAlBC,EAAAvB,aAAA,EAAAA,EAAMkB,kBAAY,IAAAK,OAAA,EAAAA,EAAAN,SAMlD,OAAOX,CACT,CAiB4BkB,CAA6BxB,GAEvD,OACEyB,gBAACC,EAAKC,OAAAC,OAAA,CACJC,MAAO7B,EAAK6B,MACZC,+BAAoBC,OAAY/B,EAAK6B,OACrC5B,SAAUA,EACVC,SAAUA,EACVC,SAAUA,EACV6B,UAAQ,EACR5B,UAAWA,EACX6B,MAAOjC,EAAKkC,WAAa,WACrB7B,GAGV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import t from"react";import l from"classnames";import a from"../../../BaseInput/BaseInput.js";import r from"./Trigger.module.scss.js";import{useDropdownContext as o}from"../../context/DropdownContext.js";import s from"../../../Text/Text.js";var i=function(i){var n,m=i.inputSize,p=o(),d=p.inputValue,c=p.autoFocus,u=p.disabled,b=p.readOnly,g=p.placeholder,f=p.multi,v=p.selectedItem,x=p.selectedItems,j=p.inputAriaLabel,y=p.searchable,h=p.size,I=p.label,O=p.getDropdownProps,P=p.getLabelProps,E=p.getInputProps,F=f?(void 0===x?[]:x).length>0:!!v,T=O?O({preventKeyAction:p.isOpen}):{};return t.createElement(t.Fragment,null,y?t.createElement(a,Object.assign({},E(Object.assign({"aria-labelledby":I?P().id:void 0,"aria-label":j||(I||null===(n=P())||void 0===n?void 0:n.id),placeholder:F?"":g},T)),{inputRole:"combobox",value:d||"",autoFocus:c,size:m||h,className:l(r.inputWrapper,e(e(e(e({},r.hasSelected,!f&&v&&!d),r.small,"small"===m),r.multi,f&&F),r.multiSelected,f&&F&&"small"===m)),disabled:u,readOnly:b})):t.createElement(t.Fragment,null,!F&&g&&t.createElement(s,{color:"secondary",className:l(r.placeholderText,e({},r.disabled,!!u)),type:"small"===h?"text2":"text1"},g)))};export{i as default};
|
|
2
|
+
//# sourceMappingURL=DropdownInput.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownInput.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownInput.js","sources":["../../../../../../../src/components/DropdownNew/components/Trigger/DropdownInput.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { BaseInput } from \"../../../BaseInput\";\nimport styles from \"./Trigger.module.scss\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\nimport { Text } from \"../../../Text\";\n\nconst DropdownInput = ({ inputSize }: { inputSize?: \"small\" | \"medium\" | \"large\" }) => {\n const {\n inputValue,\n autoFocus,\n disabled,\n readOnly,\n placeholder,\n multi,\n selectedItem,\n selectedItems = [],\n inputAriaLabel,\n searchable,\n size,\n label,\n isOpen,\n getDropdownProps,\n getLabelProps,\n getInputProps\n } = useDropdownContext<BaseListItemData>();\n\n const hasSelection = multi ? selectedItems.length > 0 : !!selectedItem;\n\n const multipleSelectionDropdownProps = getDropdownProps ? getDropdownProps({ preventKeyAction: isOpen }) : {};\n\n return (\n <>\n {searchable ? (\n <BaseInput\n {...getInputProps({\n \"aria-labelledby\": label ? getLabelProps().id : undefined,\n \"aria-label\": inputAriaLabel || (label ? undefined : getLabelProps()?.id),\n placeholder: hasSelection ? \"\" : placeholder,\n ...multipleSelectionDropdownProps\n })}\n inputRole=\"combobox\"\n value={inputValue || \"\"}\n autoFocus={autoFocus}\n size={inputSize || size}\n className={cx(styles.inputWrapper, {\n [styles.hasSelected]: !multi && selectedItem && !inputValue,\n [styles.small]: inputSize === \"small\",\n [styles.multi]: multi && hasSelection,\n [styles.multiSelected]: multi && hasSelection && inputSize === \"small\"\n })}\n disabled={disabled}\n readOnly={readOnly}\n />\n ) : (\n <>\n {!hasSelection && placeholder && (\n <Text\n color=\"secondary\"\n className={cx(styles.placeholderText, {\n [styles.disabled]: !!disabled\n })}\n type={size === \"small\" ? \"text2\" : \"text1\"}\n >\n {placeholder}\n </Text>\n )}\n </>\n )}\n </>\n );\n};\n\nexport default DropdownInput;\n"],"names":["DropdownInput","_ref","inputSize","_useDropdownContext","useDropdownContext","inputValue","autoFocus","disabled","readOnly","placeholder","multi","selectedItem","_useDropdownContext$s","selectedItems","inputAriaLabel","searchable","size","label","getDropdownProps","getLabelProps","getInputProps","hasSelection","length","multipleSelectionDropdownProps","preventKeyAction","isOpen","React","createElement","Fragment","BaseInput","Object","assign","id","undefined","_a","inputRole","value","className","cx","styles","inputWrapper","_defineProperty","hasSelected","small","multiSelected","Text","color","placeholderText","type"],"mappings":"uUAQA,IAAMA,EAAgB,SAAHC,GAAmE,MAA7DC,EAASD,EAATC,UACvBC,EAiBIC,IAhBFC,EAAUF,EAAVE,WACAC,EAASH,EAATG,UACAC,EAAQJ,EAARI,SACAC,EAAQL,EAARK,SACAC,EAAWN,EAAXM,YACAC,EAAKP,EAALO,MACAC,EAAYR,EAAZQ,aAAYC,EAAAT,EACZU,cACAC,EAAcX,EAAdW,eACAC,EAAUZ,EAAVY,WACAC,EAAIb,EAAJa,KACAC,EAAKd,EAALc,MAEAC,EAAgBf,EAAhBe,iBACAC,EAAahB,EAAbgB,cACAC,EAAajB,EAAbiB,cAGIC,EAAeX,QAXH,IAAHE,EAAG,GAAEA,GAWuBU,OAAS,IAAMX,EAEpDY,EAAiCL,EAAmBA,EAAiB,CAAEM,iBARrErB,EAANsB,SAQyG,CAAA,EAE3G,OACEC,EACGC,cAAAD,EAAAE,SAAA,KAAAb,EACCW,EAACC,cAAAE,mBACKT,EAAaU,OAAAC,OAAA,CACf,kBAAmBd,EAAQE,IAAgBa,QAAKC,EAChD,aAAcnB,IAAmBG,GAAmC,QAAfiB,EAAAf,WAAe,IAAAe,OAA3BD,EAA2BC,EAAEF,IACtEvB,YAAaY,EAAe,GAAKZ,GAC9Bc,KAELY,UAAU,WACVC,MAAO/B,GAAc,GACrBC,UAAWA,EACXU,KAAMd,GAAac,EACnBqB,UAAWC,EAAGC,EAAOC,aAAYC,EAAAA,EAAAA,EAAAA,EAAA,CAAA,EAC9BF,EAAOG,aAAehC,GAASC,IAAiBN,GAChDkC,EAAOI,MAAsB,UAAdzC,GACfqC,EAAO7B,MAAQA,GAASW,GACxBkB,EAAOK,cAAgBlC,GAASW,GAA8B,UAAdnB,IAEnDK,SAAUA,EACVC,SAAUA,KAGZkB,iCACIL,GAAgBZ,GAChBiB,EAAAC,cAACkB,EAAI,CACHC,MAAM,YACNT,UAAWC,EAAGC,EAAOQ,gBAAeN,EACjCF,GAAAA,EAAOhC,WAAaA,IAEvByC,KAAe,UAAThC,EAAmB,QAAU,SAElCP,IAOf"}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import t from"../../../Flex/Flex.js";import l from"../MultiSelectedValues/MultiSelectedValues.js";import r from"./DropdownInput.js";import{useDropdownContext as n}from"../../context/DropdownContext.js";import a from"./TriggerActions.js";import i from"./Trigger.module.scss.js";import{getStyle as o}from"../../../../helpers/typesciptCssModulesHelper.js";import s from"classnames";import m from"./DropdownChip.js";var p=function(){var p,c=n(),d=c.selectedItems,u=void 0===d?[]:d,f=c.contextOnOptionRemove,g=c.multiline,v=c.disabled,b=c.readOnly,E=c.searchable,j=c.getToggleButtonProps,x=c.label,y=c.getLabelProps,h=c.ariaLabel;return e.createElement(t,{justify:"space-between",align:"center"},e.createElement("div",Object.assign({className:s(i.triggerWrapper,o(i,c.size))},E?{}:j({"aria-haspopup":"dialog","aria-labelledby":x?y().id:void 0,"aria-label":h||(x||null===(p=y())||void 0===p?void 0:p.id)})),u.length>0?e.createElement("div",{className:i.multiWrapper},g?e.createElement(t,{gap:"xs",wrap:!0},u.map((function(l,n){var a,i;return e.createElement(t,{key:(null!==(i=null!==(a=l.id)&&void 0!==a?a:l.value)&&void 0!==i?i:n)+""},e.createElement("div",{style:{flexShrink:0}},e.createElement(m,{item:l,onDelete:function(){null==f||f(l)},readOnly:b,disabled:v})),n===u.length-1&&e.createElement(r,{inputSize:"small"}))}))):e.createElement(l,{disabled:v,readOnly:b,selectedItems:u,onRemove:function(e){null==f||f(e)},renderInput:function(){return e.createElement(r,{inputSize:"small"})}})):e.createElement(r,null)),e.createElement(a,null))};export{p as default};
|
|
2
|
+
//# sourceMappingURL=MultiSelectTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectTrigger.js","sources":["../../../../../../../src/components/DropdownNew/components/Trigger/MultiSelectTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { Flex } from \"../../../Flex\";\nimport MultiSelectedValues from \"../MultiSelectedValues/MultiSelectedValues\";\nimport DropdownInput from \"./DropdownInput\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\nimport TriggerActions from \"./TriggerActions\";\nimport styles from \"./Trigger.module.scss\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport cx from \"classnames\";\nimport DropdownChip from \"./DropdownChip\";\n\nconst MultiSelectTrigger = () => {\n const {\n selectedItems = [],\n contextOnOptionRemove,\n multiline,\n disabled,\n readOnly,\n size,\n searchable,\n getToggleButtonProps,\n label,\n getLabelProps,\n ariaLabel\n } = useDropdownContext<BaseListItemData>();\n\n return (\n <Flex justify=\"space-between\" align=\"center\">\n <div\n className={cx(styles.triggerWrapper, getStyle(styles, size))}\n {...(!searchable\n ? getToggleButtonProps({\n \"aria-haspopup\": \"dialog\",\n \"aria-labelledby\": label ? getLabelProps().id : undefined,\n \"aria-label\": ariaLabel || (label ? undefined : getLabelProps()?.id)\n })\n : {})}\n >\n {selectedItems.length > 0 ? (\n <div className={styles.multiWrapper}>\n {!multiline ? (\n <MultiSelectedValues\n disabled={disabled}\n readOnly={readOnly}\n selectedItems={selectedItems}\n onRemove={item => {\n contextOnOptionRemove?.(item);\n }}\n renderInput={() => <DropdownInput inputSize=\"small\" />}\n />\n ) : (\n <Flex gap=\"xs\" wrap>\n {selectedItems.map((item, index) => (\n <Flex key={String(item.id ?? item.value ?? index)}>\n <div style={{ flexShrink: 0 }}>\n <DropdownChip\n item={item}\n onDelete={() => {\n contextOnOptionRemove?.(item);\n }}\n readOnly={readOnly}\n disabled={disabled}\n />\n </div>\n {index === selectedItems.length - 1 && <DropdownInput inputSize=\"small\" />}\n </Flex>\n ))}\n </Flex>\n )}\n </div>\n ) : (\n <DropdownInput />\n )}\n </div>\n <TriggerActions />\n </Flex>\n );\n};\n\nexport default MultiSelectTrigger;\n"],"names":["MultiSelectTrigger","_useDropdownContext","useDropdownContext","_useDropdownContext$s","selectedItems","contextOnOptionRemove","multiline","disabled","readOnly","searchable","getToggleButtonProps","label","getLabelProps","ariaLabel","React","createElement","Flex","justify","align","Object","assign","className","cx","styles","triggerWrapper","getStyle","size","id","undefined","_a","length","multiWrapper","gap","wrap","map","item","index","key","_b","value","String","style","flexShrink","DropdownChip","onDelete","DropdownInput","inputSize","MultiSelectedValues","onRemove","renderInput","TriggerActions"],"mappings":"ibAYA,IAAMA,EAAqB,iBACzBC,EAYIC,IAAsCC,EAAAF,EAXxCG,cAAAA,OAAgB,IAAHD,EAAG,GAAEA,EAClBE,EAAqBJ,EAArBI,sBACAC,EAASL,EAATK,UACAC,EAAQN,EAARM,SACAC,EAAQP,EAARO,SAEAC,EAAUR,EAAVQ,WACAC,EAAoBT,EAApBS,qBACAC,EAAKV,EAALU,MACAC,EAAaX,EAAbW,cACAC,EAASZ,EAATY,UAGF,OACEC,EAACC,cAAAC,EAAK,CAAAC,QAAQ,gBAAgBC,MAAM,UAClCJ,EAAAC,cAAA,MAAAI,OAAAC,OAAA,CACEC,UAAWC,EAAGC,EAAOC,eAAgBC,EAASF,EAX9CtB,EAAJyB,QAYUjB,EAMF,CAAA,EALAC,EAAqB,CACnB,gBAAiB,SACjB,kBAAmBC,EAAQC,IAAgBe,QAAKC,EAChD,aAAcf,IAAcF,GAAmC,QAAfkB,EAAAjB,WAAe,IAAAiB,OAA3BD,EAA2BC,EAAEF,OAItEvB,EAAc0B,OAAS,EACtBhB,uBAAKO,UAAWE,EAAOQ,cACnBzB,EAWAQ,EAAAC,cAACC,EAAK,CAAAgB,IAAI,KAAKC,MAAI,GAChB7B,EAAc8B,KAAI,SAACC,EAAMC,WAAU,OAClCtB,EAACC,cAAAC,GAAKqB,KAAiC,QAArBC,EAAW,UAAXH,EAAKR,UAAM,IAAAE,EAAAA,EAAAM,EAAKI,aAAK,IAAAD,EAAAA,EAAIF,GAAhCI,IACT1B,EAAAC,cAAA,MAAA,CAAK0B,MAAO,CAAEC,WAAY,IACxB5B,EAACC,cAAA4B,GACCR,KAAMA,EACNS,SAAU,WACRvC,SAAAA,EAAwB8B,EACzB,EACD3B,SAAUA,EACVD,SAAUA,KAGb6B,IAAUhC,EAAc0B,OAAS,GAAKhB,EAAAC,cAAC8B,EAAa,CAACC,UAAU,UAEnE,KAzBHhC,EAACC,cAAAgC,GACCxC,SAAUA,EACVC,SAAUA,EACVJ,cAAeA,EACf4C,SAAU,SAAAb,GACR9B,SAAAA,EAAwB8B,EACzB,EACDc,YAAa,WAAA,OAAMnC,EAACC,cAAA8B,EAAc,CAAAC,UAAU,SAAU,KAuB5DhC,EAACC,cAAA8B,EAAgB,OAGrB/B,EAAAC,cAACmC,EAAc,MAGrB"}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import t from"react";import r from"classnames";import a from"../../../BaseListItem/BaseListItem.js";import s from"./DropdownInput.js";import l from"./Trigger.module.scss.js";import{useDropdownContext as i}from"../../context/DropdownContext.js";import o from"../../../Flex/Flex.js";import m from"./TriggerActions.js";import{getStyle as n}from"../../../../helpers/typesciptCssModulesHelper.js";var d=function(){var d,p,c=i(),u=c.inputValue,g=c.selectedItem,f=c.searchable,b=c.size,v=c.valueRenderer,j=c.isFocused,E=c.getToggleButtonProps,y=c.disabled,x=c.label,I=c.getLabelProps,B=c.ariaLabel;return t.createElement(o,{justify:"space-between",align:"center"},t.createElement("div",Object.assign({className:r(l.triggerWrapper,n(l,b))},f?{}:E({"aria-haspopup":"dialog","aria-labelledby":x?I().id:void 0,"aria-label":B||(x||null===(d=I())||void 0===d?void 0:d.id)})),t.createElement(s,null),!u&&g&&t.createElement("div",{className:r(l.selectedItem,e({},l.faded,j&&f),n(l,b))},t.createElement(a,{component:"div",itemRenderer:v,size:b,readOnly:!0,item:Object.assign(Object.assign({},g),{disabled:y,startElement:"indent"===(null===(p=g.startElement)||void 0===p?void 0:p.type)?void 0:g.startElement})}))),t.createElement(m,null))};export{d as default};
|
|
2
|
+
//# sourceMappingURL=SingleSelectTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSelectTrigger.js","sources":["../../../../../../../src/components/DropdownNew/components/Trigger/SingleSelectTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { BaseListItem, BaseListItemData } from \"../../../BaseListItem\";\nimport DropdownInput from \"./DropdownInput\";\nimport styles from \"./Trigger.module.scss\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { Flex } from \"../../../Flex\";\nimport TriggerActions from \"./TriggerActions\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\n\nconst SingleSelectTrigger = () => {\n const {\n inputValue,\n selectedItem,\n searchable,\n size,\n valueRenderer,\n isFocused,\n getToggleButtonProps,\n disabled,\n label,\n getLabelProps,\n ariaLabel\n } = useDropdownContext<BaseListItemData>();\n\n return (\n <Flex justify=\"space-between\" align=\"center\">\n <div\n className={cx(styles.triggerWrapper, getStyle(styles, size))}\n {...(!searchable\n ? getToggleButtonProps({\n \"aria-haspopup\": \"dialog\",\n \"aria-labelledby\": label ? getLabelProps().id : undefined,\n \"aria-label\": ariaLabel || (label ? undefined : getLabelProps()?.id)\n })\n : {})}\n >\n <DropdownInput />\n\n {!inputValue && selectedItem && (\n <div\n className={cx(\n styles.selectedItem,\n {\n [styles.faded]: isFocused && searchable\n },\n getStyle(styles, size)\n )}\n >\n <BaseListItem\n component=\"div\"\n itemRenderer={valueRenderer}\n size={size}\n readOnly\n item={{\n ...selectedItem,\n disabled,\n startElement: selectedItem.startElement?.type === \"indent\" ? undefined : selectedItem.startElement\n }}\n />\n </div>\n )}\n </div>\n <TriggerActions />\n </Flex>\n );\n};\n\nexport default SingleSelectTrigger;\n"],"names":["SingleSelectTrigger","_useDropdownContext","useDropdownContext","inputValue","selectedItem","searchable","size","valueRenderer","isFocused","getToggleButtonProps","disabled","label","getLabelProps","ariaLabel","React","createElement","Flex","justify","align","Object","assign","className","cx","styles","triggerWrapper","getStyle","id","undefined","_a","DropdownInput","_defineProperty","faded","BaseListItem","component","itemRenderer","readOnly","item","startElement","_b","type","TriggerActions"],"mappings":"8dAUA,IAAMA,EAAsB,mBAC1BC,EAYIC,IAXFC,EAAUF,EAAVE,WACAC,EAAYH,EAAZG,aACAC,EAAUJ,EAAVI,WACAC,EAAIL,EAAJK,KACAC,EAAaN,EAAbM,cACAC,EAASP,EAATO,UACAC,EAAoBR,EAApBQ,qBACAC,EAAQT,EAARS,SACAC,EAAKV,EAALU,MACAC,EAAaX,EAAbW,cACAC,EAASZ,EAATY,UAGF,OACEC,EAACC,cAAAC,EAAK,CAAAC,QAAQ,gBAAgBC,MAAM,UAClCJ,EAAAC,cAAA,MAAAI,OAAAC,OAAA,CACEC,UAAWC,EAAGC,EAAOC,eAAgBC,EAASF,EAAQjB,KAChDD,EAMF,CAAA,EALAI,EAAqB,CACnB,gBAAiB,SACjB,kBAAmBE,EAAQC,IAAgBc,QAAKC,EAChD,aAAcd,IAAcF,GAAmC,QAAfiB,EAAAhB,WAAe,IAAAgB,OAA3BD,EAA2BC,EAAEF,OAIvEZ,EAAAC,cAACc,EAAgB,OAEf1B,GAAcC,GACdU,EAAAC,cAAA,MAAA,CACEM,UAAWC,EACTC,EAAOnB,aAAY0B,EAAA,CAAA,EAEhBP,EAAOQ,MAAQvB,GAAaH,GAE/BoB,EAASF,EAAQjB,KAGnBQ,EAACC,cAAAiB,GACCC,UAAU,MACVC,aAAc3B,EACdD,KAAMA,EACN6B,UAAQ,EACRC,KACKjB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAhB,GACH,CAAAM,SAAAA,EACA2B,aAAkD,oBAApCC,EAAAlC,EAAaiC,mCAAcE,WAAoBZ,EAAYvB,EAAaiC,mBAMhGvB,EAAAC,cAACyB,EAAc,MAGrB"}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={triggerWrapper:"triggerWrapper",small:"small",medium:"medium",large:"large",inputWrapper:"inputWrapper",multiSelected:"multiSelected",hasSelected:"hasSelected",selectedItem:"selectedItem",faded:"faded",placeholderText:"placeholderText",disabled:"disabled",multiWrapper:"multiWrapper",actionsWrapper:"actionsWrapper"};!function(e){const n="s_id-5b821e323a19_3_54_2";if("undefined"!=typeof document){const r=document.head||document.getElementsByTagName("head")[0];if(r.querySelector("#"+n))return;const t=document.createElement("style");t.id=n,r.firstChild?r.insertBefore(t,r.firstChild):r.appendChild(t),t.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}(".triggerWrapper {\n flex-grow: 1;\n position: relative;\n min-width: 1px;\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.triggerWrapper.small {\n min-height: 32px;\n}\n.triggerWrapper.medium {\n min-height: 40px;\n}\n.triggerWrapper.large {\n min-height: 48px;\n}\n.triggerWrapper .inputWrapper {\n border: none;\n width: 100%;\n background: transparent;\n}\n.triggerWrapper .inputWrapper.small {\n height: 24px;\n min-height: 24px;\n}\n.triggerWrapper .inputWrapper.multiSelected {\n width: 48px;\n flex-shrink: 0;\n padding: 0 var(--spacing-xs);\n}\n.triggerWrapper .inputWrapper.hasSelected {\n position: absolute;\n inset: 0;\n cursor: pointer;\n}\n.triggerWrapper .selectedItem {\n position: relative;\n pointer-events: none;\n inset: 0;\n padding-inline-start: var(--spacing-xs);\n}\n.triggerWrapper .selectedItem.small {\n padding-inline-start: var(--spacing-small);\n min-height: 32px;\n height: 32px;\n}\n.triggerWrapper .selectedItem.medium {\n min-height: 40px;\n height: 40px;\n}\n.triggerWrapper .selectedItem.large {\n min-height: 48px;\n height: 48px;\n}\n.triggerWrapper .selectedItem.faded {\n opacity: 0.6;\n}\n.triggerWrapper .placeholderText {\n padding-inline-start: var(--spacing-medium);\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.triggerWrapper .placeholderText.disabled {\n color: var(--disabled-text-color);\n}\n.multiWrapper {\n padding: var(--spacing-xs) var(--spacing-small);\n width: 100%;\n}\n.actionsWrapper {\n padding: var(--spacing-xs);\n}");export{e as default};
|
|
2
|
+
//# sourceMappingURL=Trigger.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Trigger.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import o from"../../../IconButton/IconButton.js";import t from"../../../Flex/Flex.js";import r from"./Trigger.module.scss.js";import{useDropdownContext as n}from"../../context/DropdownContext.js";import a from"../../../../../icons/dist/react/CloseSmall.js";import i from"../../../../../icons/dist/react/DropdownChevronUp.js";import l from"../../../../../icons/dist/react/DropdownChevronDown.js";var s={large:"medium",medium:"small",small:"xs"},m=function(){var m=n(),d=m.isOpen,c=m.reset,p=m.contextOnClear,u=m.disabled,f=m.selectedItems,g=void 0===f?[]:f,x=m.toggleMenu,C=m.getMenuProps,b=s[m.size]||"small";return m.readOnly?null:e.createElement("div",{onKeyDown:function(e){e.stopPropagation()}},e.createElement(t,{className:r.actionsWrapper},(m.multi?(null==g?void 0:g.length)>0:!!m.selectedItem)&&m.clearable&&!u&&e.createElement(o,{"data-testid":"dropdown-clear-button",icon:a,onClick:function(e){e.stopPropagation(),p?p():c()},size:b,ariaLabeledBy:C().id}),e.createElement(o,{icon:d?i:l,size:b,disabled:u,ariaControls:C().id,ariaExpanded:d,ariaLabeledBy:C().id,tabIndex:-1,onClick:function(){x()}})))};export{m as default};
|
|
2
|
+
//# sourceMappingURL=TriggerActions.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerActions.js","sources":["../../../../../../../src/components/DropdownNew/components/Trigger/TriggerActions.tsx"],"sourcesContent":["import React from \"react\";\nimport { CloseSmall, DropdownChevronDown, DropdownChevronUp } from \"@vibe/icons\";\nimport { IconButton } from \"../../../IconButton\";\nimport { Flex } from \"../../../Flex\";\nimport styles from \"./Trigger.module.scss\";\nimport { useDropdownContext } from \"../../context/DropdownContext\";\nimport { BaseListItemData } from \"../../../BaseListItem\";\n\nconst sizeMap = {\n large: \"medium\",\n medium: \"small\",\n small: \"xs\"\n} as const;\n\nconst TriggerActions = () => {\n const {\n isOpen,\n reset,\n contextOnClear,\n size,\n disabled,\n clearable,\n readOnly,\n multi,\n selectedItem,\n selectedItems = [],\n toggleMenu,\n getMenuProps\n } = useDropdownContext<BaseListItemData>();\n\n const hasSelection = multi ? selectedItems?.length > 0 : !!selectedItem;\n const iconButtonSize = sizeMap[size] || \"small\";\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (contextOnClear) {\n contextOnClear();\n } else {\n reset();\n }\n };\n\n if (readOnly) {\n return null;\n }\n\n return (\n <div\n onKeyDown={e => {\n e.stopPropagation();\n }}\n >\n <Flex className={styles.actionsWrapper}>\n {hasSelection && clearable && !disabled && (\n <IconButton\n data-testid=\"dropdown-clear-button\"\n icon={CloseSmall}\n onClick={handleClear}\n size={iconButtonSize}\n ariaLabeledBy={getMenuProps().id}\n />\n )}\n <IconButton\n icon={isOpen ? DropdownChevronUp : DropdownChevronDown}\n size={iconButtonSize}\n disabled={disabled}\n ariaControls={getMenuProps().id}\n ariaExpanded={isOpen}\n ariaLabeledBy={getMenuProps().id}\n tabIndex={-1}\n onClick={() => {\n toggleMenu();\n }}\n />\n </Flex>\n </div>\n );\n};\n\nexport default TriggerActions;\n"],"names":["sizeMap","large","medium","small","TriggerActions","_useDropdownContext","useDropdownContext","isOpen","reset","contextOnClear","disabled","_useDropdownContext$s","selectedItems","toggleMenu","getMenuProps","iconButtonSize","size","readOnly","React","createElement","onKeyDown","e","stopPropagation","Flex","className","styles","actionsWrapper","multi","length","selectedItem","clearable","IconButton","icon","CloseSmall","onClick","ariaLabeledBy","id","DropdownChevronUp","DropdownChevronDown","ariaControls","ariaExpanded","tabIndex"],"mappings":"gaAQA,IAAMA,EAAU,CACdC,MAAO,SACPC,OAAQ,QACRC,MAAO,MAGHC,EAAiB,WACrB,IAAAC,EAaIC,IAZFC,EAAMF,EAANE,OACAC,EAAKH,EAALG,MACAC,EAAcJ,EAAdI,eAEAC,EAAQL,EAARK,SAIYC,EAAAN,EACZO,cAAAA,OAAgB,IAAHD,EAAG,GAAEA,EAClBE,EAAUR,EAAVQ,WACAC,EAAYT,EAAZS,aAIIC,EAAiBf,EAZjBK,EAAJW,OAYsC,QAWxC,OApBUX,EAARY,SAqBO,KAIPC,EACEC,cAAA,MAAA,CAAAC,UAAW,SAAAC,GACTA,EAAEC,iBACJ,GAEAJ,EAAAC,cAACI,EAAK,CAAAC,UAAWC,EAAOC,iBA7BrBrB,EAALsB,OAO2Bf,aAAa,EAAbA,EAAegB,QAAS,IANvCvB,EAAZwB,eAHSxB,EAATyB,YAgCmCpB,GAC7BQ,EAAAC,cAACY,EAAU,CAAA,cACG,wBACZC,KAAMC,EACNC,QAxBU,SAACb,GACnBA,EAAEC,kBACEb,EACFA,IAEAD,KAoBMQ,KAAMD,EACNoB,cAAerB,IAAesB,KAGlClB,EAACC,cAAAY,GACCC,KAAMzB,EAAS8B,EAAoBC,EACnCtB,KAAMD,EACNL,SAAUA,EACV6B,aAAczB,IAAesB,GAC7BI,aAAcjC,EACd4B,cAAerB,IAAesB,GAC9BK,UAAW,EACXP,QAAS,WACPrB,GACF,KAKV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createContext as r,useContext as o}from"react";var t=r(void 0);function e(){var r=o(t);if(void 0===r)throw Error("useDropdownContext must be used within a DropdownProvider");return r}export{t as DropdownContext,e as useDropdownContext};
|
|
2
|
+
//# sourceMappingURL=DropdownContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownContext.js","sources":["../../../../../../src/components/DropdownNew/context/DropdownContext.ts"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\nimport { ListGroup } from \"../../BaseList\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { BaseDropdownProps, DropdownSizes } from \"../Dropdown.types\";\nimport { DropdownContextProps } from \"./DropdownContext.types\";\n\ntype PropGetter = (options?: any) => Record<string, any>;\ntype ItemPropGetter<Item> = (options: { item: Item; index: number }) => Record<string, any>;\n\nexport interface DropdownContextValue<Item extends BaseListItemData<Record<string, unknown>> = any> {\n isOpen: boolean;\n inputValue: string | null;\n highlightedIndex: number | null;\n selectedItem: Item | null | undefined;\n selectedItems: Item[];\n filteredOptions: ListGroup<Item>[];\n\n getToggleButtonProps: PropGetter;\n getLabelProps: PropGetter;\n getMenuProps: PropGetter;\n getInputProps: PropGetter;\n getItemProps: ItemPropGetter<Item>;\n getDropdownProps?: PropGetter;\n\n reset: () => void;\n toggleMenu: () => void;\n onClear?: () => void;\n onOptionSelect?: (option: Item) => void;\n onOptionRemove?: (option: Item) => void;\n addSelectedItem?: (item: Item) => void;\n removeSelectedItem?: (item: Item) => void;\n setSelectedItems?: (items: Item[]) => void;\n\n searchable?: boolean;\n multi?: boolean;\n multiline?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n size?: DropdownSizes;\n optionRenderer?: BaseDropdownProps<Item>[\"optionRenderer\"];\n valueRenderer?: BaseDropdownProps<Item>[\"valueRenderer\"];\n noOptionsMessage?: BaseDropdownProps<Item>[\"noOptionsMessage\"];\n placeholder?: BaseDropdownProps<Item>[\"placeholder\"];\n withGroupDivider?: BaseDropdownProps<Item>[\"withGroupDivider\"];\n stickyGroupTitle?: BaseDropdownProps<Item>[\"stickyGroupTitle\"];\n maxMenuHeight?: BaseDropdownProps<Item>[\"maxMenuHeight\"];\n clearable?: boolean;\n autoFocus?: boolean;\n isFocused?: boolean;\n inputAriaLabel?: string;\n menuAriaLabel?: string;\n closeMenuOnSelect?: boolean;\n dir?: BaseDropdownProps<Item>[\"dir\"];\n originalOnFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n originalOnBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n originalOnKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n originalOnScroll?: (event: React.UIEvent<HTMLUListElement>) => void;\n}\n\nexport const DropdownContext = createContext<DropdownContextProps<any> | undefined>(undefined);\n\nexport function useDropdownContext<Item extends BaseListItemData<Record<string, unknown>>>() {\n const context = useContext(DropdownContext) as DropdownContextProps<Item>;\n if (context === undefined) {\n throw new Error(\"useDropdownContext must be used within a DropdownProvider\");\n }\n return context;\n}\n"],"names":["DropdownContext","createContext","undefined","useDropdownContext","context","useContext","Error"],"mappings":"0DA2DaA,EAAkBC,OAAqDC,YAEpEC,IACd,IAAMC,EAAUC,EAAWL,GAC3B,QAAgBE,IAAZE,EACF,MAAUE,MAAM,6DAElB,OAAOF,CACT"}
|
|
@@ -0,0 +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 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
|
+
//# sourceMappingURL=useDropdownCombobox.js.map
|
|
@@ -0,0 +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 { BaseListItemData } from \"../../BaseListItem\";\nimport { 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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{slicedToArray as r}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as t,useEffect as i}from"react";import{normalizeOptions as o}from"../utils/dropdownUtils.js";function e(e,n,l,s){var u=t((function(){return o(e,void 0,void 0,l,s)})),f=r(u,2),p=f[0],a=f[1],d=t(""),c=r(d,2),m=c[0],v=c[1];i((function(){a(o(e,m,n,l,s))}),[e,m,n,l,s]);return{filteredOptions:p,filterOptions:function(r){v(r)},setFilteredOptions:a}}export{e as default};
|
|
2
|
+
//# sourceMappingURL=useDropdownFiltering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdownFiltering.js","sources":["../../../../../../src/components/DropdownNew/hooks/useDropdownFiltering.ts"],"sourcesContent":["import { useState, useEffect } from \"react\";\nimport { normalizeOptions } from \"../utils/dropdownUtils\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { ListGroup } from \"../../BaseList\";\nimport { DropdownGroupOption } from \"../Dropdown.types\";\n\nfunction useDropdownFiltering<Item extends BaseListItemData>(\n options: DropdownGroupOption<Item>,\n filterOption?: (option: Item, inputValue: string) => boolean,\n showSelectedOptions?: boolean,\n selectedItems?: Item[]\n) {\n const [filteredOptions, setFilteredOptions] = useState<ListGroup<Item>[]>(() =>\n normalizeOptions(options, undefined, undefined, showSelectedOptions, selectedItems)\n );\n const [filterValue, setFilterValue] = useState<string>(\"\");\n\n useEffect(() => {\n setFilteredOptions(normalizeOptions(options, filterValue, filterOption, showSelectedOptions, selectedItems));\n }, [options, filterValue, filterOption, showSelectedOptions, selectedItems]);\n\n const filterOptions = (inputValue: string) => {\n setFilterValue(inputValue);\n };\n\n return { filteredOptions, filterOptions, setFilteredOptions };\n}\n\nexport default useDropdownFiltering;\n"],"names":["useDropdownFiltering","options","filterOption","showSelectedOptions","selectedItems","_useState","useState","normalizeOptions","undefined","_useState2","_slicedToArray","filteredOptions","setFilteredOptions","_useState3","_useState4","filterValue","setFilterValue","useEffect","filterOptions","inputValue"],"mappings":"+LAMA,SAASA,EACPC,EACAC,EACAC,EACAC,GAEA,IAAAC,EAA8CC,GAA4B,WAAA,OACxEC,EAAiBN,OAASO,OAAWA,EAAWL,EAAqBC,MACtEK,EAAAC,EAAAL,EAAA,GAFMM,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAG1CI,EAAsCP,EAAiB,IAAGQ,EAAAJ,EAAAG,EAAA,GAAnDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAElCG,GAAU,WACRL,EAAmBL,EAAiBN,EAASc,EAAab,EAAcC,EAAqBC,GAC/F,GAAG,CAACH,EAASc,EAAab,EAAcC,EAAqBC,IAM7D,MAAO,CAAEO,gBAAAA,EAAiBO,cAJJ,SAACC,GACrBH,EAAeG,IAGwBP,mBAAAA,EAC3C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{toConsumableArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{useMemo as t}from"react";import n from"./useDropdownFiltering.js";import{useMultipleSelection as o,useCombobox as s}from"downshift";function i(i,l,r,u,a,p,c,g,d,m,I,f,v,h,P){var O=void 0!==c?c:l,b=n(i,h,P,O),S=b.filteredOptions,C=b.filterOptions,M=t((function(){return S.flatMap((function(e){return e.options}))}),[S]),V=o({selectedItems:O,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&r(t||[]),null==d||d(t||[])}}),j=V.getSelectedItemProps,w=V.getDropdownProps,y=V.addSelectedItem,T=V.removeSelectedItem,D=s({items:M,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},isOpen:u,initialIsOpen:a,initialInputValue:g||"",onIsOpenChange:function(e){e.isOpen?null==f||f():null==I||I()},onInputValueChange:function(e){var t=e.inputValue;C(t||""),null==m||m(t||"")},onSelectedItemChange:function(t){var n=t.selectedItem;if(n){var o=O.findIndex((function(e){return e.value===n.value}));if(o>-1){var s=[].concat(e(O.slice(0,o)),e(O.slice(o+1)));void 0===c&&r(s),T(n)}else{var i=[].concat(e(O),[n]);void 0===c&&r(i),y(n)}null==v||v(n),C("")}},stateReducer:function(e,t){switch(t.type){case s.stateChangeTypes.InputKeyDownEnter:case s.stateChangeTypes.ItemClick:return Object.assign(Object.assign({},t.changes),{inputValue:"",isOpen:!0});case s.stateChangeTypes.InputBlur:return Object.assign(Object.assign({},t.changes),{inputValue:""});default:return t.changes}}});return{isOpen:D.isOpen,inputValue:D.inputValue,highlightedIndex:D.highlightedIndex,selectedItems:O,getSelectedItemProps:j,getDropdownProps:w,addSelectedItem:y,getToggleButtonProps:D.getToggleButtonProps,getLabelProps:D.getLabelProps,getMenuProps:D.getMenuProps,getInputProps:D.getInputProps,getItemProps:D.getItemProps,reset:D.reset,removeSelectedItem:T,filteredOptions:S,openMenu:D.openMenu,toggleMenu:D.toggleMenu,closeMenu:D.closeMenu}}export{i as default};
|
|
2
|
+
//# sourceMappingURL=useDropdownMultiCombobox.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map
ADDED
|
@@ -0,0 +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 { DropdownGroupOption } from \"../Dropdown.types\";\nimport { 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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useMemo as e,useCallback as t}from"react";import{useMultipleSelection as n,useSelect as o}from"downshift";import i from"./useDropdownFiltering.js";function l(l,r,s,u,d,p,c,g,a,m,I,f,v){var P=void 0!==c?c:r,h=i(l,v,f,P).filteredOptions,O=e((function(){return h.flatMap((function(e){return e.options}))}),[h]),S=n({selectedItems:P,initialSelectedItems:p,onSelectedItemsChange:function(e){var t=e.selectedItems;void 0===c&&s(t||[]),null==g||g(t||[])}}),M=S.getSelectedItemProps,b=S.addSelectedItem,C=S.removeSelectedItem,w=S.getDropdownProps,D=o({items:O,itemToString:function(e){var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},isItemDisabled:function(e){return!!e.disabled},selectedItem:null,isOpen:u,initialIsOpen:d,onSelectedItemChange:function(e){var t=e.selectedItem;if(t){var n=P.find((function(e){return e.value===t.value}));n?C(n):b(t),null==I||I(t)}},stateReducer:function(e,t){var n=t.changes;return t.type===o.stateChangeTypes.ItemClick?Object.assign(Object.assign({},n),{isOpen:!0}):n},onIsOpenChange:function(e){e.isOpen?null==a||a():null==m||m()}}),T=D.isOpen,j=D.highlightedIndex,x=D.getToggleButtonProps,y=D.getLabelProps,B=D.getMenuProps,L=D.getItemProps,k=D.reset,F=D.openMenu,R=D.toggleMenu,V=D.closeMenu,q=t((function(){void 0===c&&s([]),k(),null==g||g([])}),[c,s,k,g]);return{isOpen:T,inputValue:"",highlightedIndex:j,selectedItems:P,getSelectedItemProps:M,addSelectedItem:b,removeSelectedItem:C,getToggleButtonProps:x,getLabelProps:y,getMenuProps:B,getInputProps:function(){return{}},getItemProps:L,reset:q,filteredOptions:h,openMenu:F,toggleMenu:R,closeMenu:V,getDropdownProps:w}}export{l as default};
|
|
2
|
+
//# sourceMappingURL=useDropdownMultiSelect.js.map
|
|
@@ -0,0 +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 { DropdownGroupOption } from \"../Dropdown.types\";\nimport { 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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
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
|
+
//# sourceMappingURL=useDropdownSelect.js.map
|
|
@@ -0,0 +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 { BaseListItemData } from \"../../BaseListItem\";\nimport { 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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as n}from"react";import l from"../hooks/useDropdownCombobox.js";import t from"../components/DropdownWrapperUI.js";var u=function(u){var i=u.options,r=u.isMenuOpen,s=u.autoFocus,a=u.closeMenuOnSelect,d=void 0===a||a,c=u.defaultValue,p=u.value,g=u.inputValue,m=u.onChange,v=u.onInputChange,f=u.onMenuClose,O=u.onMenuOpen,b=u.onOptionSelect,I=u.filterOption,h=u.showSelectedOptions,P=void 0!==h&&h,M=u.clearable,w=void 0===M||M,j=u.searchable,x=void 0===j||j,B=u.multi,C=void 0!==B&&B,S=u.dropdownRef,y=u.onFocus,D=u.onBlur,F=u.onKeyDown,V=u.onClear,K=u.size,R=void 0===K?"medium":K,T=u.readOnly,z=u.disabled,L=n(!1),_=e(L,2),k=_[0],A=_[1],E=l(i,r,s,d,c,p,g,m,v,f,O,(function(e){null==b||b(e),e&&A(!1)}),I,P),H=E.isOpen,U=E.inputValue,W=E.highlightedIndex,q=E.getToggleButtonProps,G=E.getLabelProps,J=E.getMenuProps,N=E.getItemProps,Q=E.getInputProps,X=E.reset,Y=E.filteredOptions,Z=E.selectedItem,$=E.toggleMenu,ee=Object.assign(Object.assign({},u),{isOpen:H,inputValue:null!=U?U:null,highlightedIndex:W,selectedItem:Z,selectedItems:[],filteredOptions:Y,getToggleButtonProps:q,getLabelProps:G,getMenuProps:J,getItemProps:N,getInputProps:function(e){return Q(Object.assign(Object.assign({},e||{}),{disabled:T||z,onFocus:function(o){var n;A(!0),null==y||y(o),null===(n=null==e?void 0:e.onFocus)||void 0===n||n.call(e,o)},onBlur:function(o){var n;A(!1),null==D||D(),null===(n=null==e?void 0:e.onBlur)||void 0===n||n.call(e,o)},onKeyDown:function(o){var n;null==F||F(o),null===(n=null==e?void 0:e.onKeyDown)||void 0===n||n.call(e,o)}}))},reset:X,contextOnClear:function(){X(),null==V||V()},contextOnOptionRemove:function(){},addSelectedItem:void 0,removeSelectedItem:void 0,isFocused:k,clearable:w,searchable:x,multi:C,closeMenuOnSelect:d,size:R,toggleMenu:$});return o.createElement(t,{contextValue:ee,dropdownRef:S})};export{u as default};
|
|
2
|
+
//# sourceMappingURL=DropdownComboboxController.js.map
|
package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownComboboxController.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownComboboxController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownComboboxController.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { DropdownSingleControllerProps } from \"../Dropdown.types\";\nimport useDropdownCombobox from \"../hooks/useDropdownCombobox\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownComboboxController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownSingleControllerProps<Item>\n) => {\n const {\n options,\n isMenuOpen: isMenuOpenProp,\n autoFocus,\n closeMenuOnSelect = true,\n defaultValue,\n value,\n inputValue: inputValueProp,\n onChange,\n onInputChange,\n onMenuClose,\n onMenuOpen,\n onOptionSelect,\n filterOption,\n showSelectedOptions = false,\n clearable = true,\n searchable = true,\n multi = false,\n dropdownRef,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n\n size = \"medium\",\n readOnly,\n disabled\n } = props;\n\n const [isFocused, setIsFocused] = useState(false);\n\n const handleOptionSelect = (item: Item | null) => {\n onOptionSelect?.(item);\n if (item) {\n setIsFocused(false);\n }\n };\n\n const {\n isOpen,\n inputValue: hookInputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n getInputProps: hookGetInputProps,\n reset: hookReset,\n filteredOptions,\n selectedItem: hookSelectedItem,\n toggleMenu\n } = useDropdownCombobox<Item>(\n options,\n isMenuOpenProp,\n autoFocus,\n closeMenuOnSelect,\n defaultValue,\n value,\n inputValueProp,\n onChange,\n onInputChange,\n onMenuClose,\n onMenuOpen,\n handleOptionSelect,\n filterOption,\n showSelectedOptions\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n inputValue: hookInputValue ?? null,\n highlightedIndex,\n selectedItem: hookSelectedItem,\n selectedItems: [],\n filteredOptions,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n getInputProps: (inputOptions?: any) => {\n return hookGetInputProps!({\n ...(inputOptions || {}),\n disabled: readOnly || disabled,\n onFocus: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(event as any);\n inputOptions?.onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.();\n inputOptions?.onBlur?.(event);\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n inputOptions?.onKeyDown?.(event);\n }\n });\n },\n reset: hookReset,\n contextOnClear: () => {\n hookReset();\n onClear?.();\n },\n contextOnOptionRemove: () => {},\n addSelectedItem: undefined,\n removeSelectedItem: undefined,\n isFocused,\n clearable,\n searchable,\n multi,\n closeMenuOnSelect,\n size,\n toggleMenu\n };\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownComboboxController;\n"],"names":["DropdownComboboxController","props","options","isMenuOpenProp","isMenuOpen","autoFocus","_props$closeMenuOnSel","closeMenuOnSelect","defaultValue","value","inputValueProp","inputValue","onChange","onInputChange","onMenuClose","onMenuOpen","onOptionSelect","filterOption","_props$showSelectedOp","showSelectedOptions","_props$clearable","clearable","_props$searchable","searchable","_props$multi","multi","dropdownRef","onFocus","onBlur","onKeyDown","onClear","_props$size","size","readOnly","disabled","_useState","useState","_useState2","_slicedToArray","isFocused","setIsFocused","_useDropdownCombobox","useDropdownCombobox","item","isOpen","hookInputValue","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookGetInputProps","getInputProps","hookReset","reset","filteredOptions","hookSelectedItem","selectedItem","toggleMenu","contextValue","Object","assign","selectedItems","inputOptions","event","_a","call","contextOnClear","contextOnOptionRemove","addSelectedItem","undefined","removeSelectedItem","React","createElement","DropdownWrapperUI"],"mappings":"uNAOA,IAAMA,EAA6B,SACjCC,GAEA,IACEC,EA0BED,EA1BFC,QACYC,EAyBVF,EAzBFG,WACAC,EAwBEJ,EAxBFI,UAASC,EAwBPL,EAvBFM,kBAAAA,OAAoB,IAAHD,GAAOA,EACxBE,EAsBEP,EAtBFO,aACAC,EAqBER,EArBFQ,MACYC,EAoBVT,EApBFU,WACAC,EAmBEX,EAnBFW,SACAC,EAkBEZ,EAlBFY,cACAC,EAiBEb,EAjBFa,YACAC,EAgBEd,EAhBFc,WACAC,EAeEf,EAfFe,eACAC,EAcEhB,EAdFgB,aAAYC,EAcVjB,EAbFkB,oBAAAA,OAAsB,IAAHD,GAAQA,EAAAE,EAazBnB,EAZFoB,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAYdrB,EAXFsB,WAAAA,OAAa,IAAHD,GAAOA,EAAAE,EAWfvB,EAVFwB,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EASEzB,EATFyB,YACAC,EAQE1B,EARF0B,QACAC,EAOE3B,EAPF2B,OACAC,EAME5B,EANF4B,UACAC,EAKE7B,EALF6B,QAAOC,EAKL9B,EAHF+B,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EACfE,EAEEhC,EAFFgC,SACAC,EACEjC,EADFiC,SAGFC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAS9BI,EAaIC,EACFxC,EACAC,EACAE,EACAE,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,GA/ByB,SAAC4B,GAC1B3B,SAAAA,EAAiB2B,GACbA,GACFH,GAAa,KA8BfvB,EACAE,GA1BAyB,EAAMH,EAANG,OACYC,EAAcJ,EAA1B9B,WACAmC,EAAgBL,EAAhBK,iBACAC,EAAoBN,EAApBM,qBACAC,EAAaP,EAAbO,cACAC,EAAYR,EAAZQ,aACAC,EAAYT,EAAZS,aACeC,EAAiBV,EAAhCW,cACOC,EAASZ,EAAhBa,MACAC,EAAed,EAAfc,gBACcC,EAAgBf,EAA9BgB,aACAC,EAAUjB,EAAViB,WAkBIC,GACDC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAA5D,GACH,CAAA2C,OAAAA,EACAjC,WAAYkC,QAAAA,EAAkB,KAC9BC,iBAAAA,EACAW,aAAcD,EACdM,cAAe,GACfP,gBAAAA,EACAR,qBAAAA,EACAC,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,cAAe,SAACW,GACd,OAAOZ,EACFS,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAACE,GAAgB,CAAA,GACpB,CAAA7B,SAAUD,GAAYC,EACtBP,QAAS,SAACqC,SACRxB,GAAa,GACbb,SAAAA,EAAUqC,GACW,QAArBC,EAAAF,aAAA,EAAAA,EAAcpC,eAAO,IAAAsC,GAAAA,EAAAC,KAAAH,EAAGC,EACzB,EACDpC,OAAQ,SAACoC,SACPxB,GAAa,GACbZ,SAAAA,IACoB,QAApBqC,EAAAF,aAAA,EAAAA,EAAcnC,cAAM,IAAAqC,GAAAA,EAAAC,KAAAH,EAAGC,EACxB,EACDnC,UAAW,SAACmC,SACVnC,SAAAA,EAAYmC,GACW,QAAvBC,EAAAF,aAAA,EAAAA,EAAclC,iBAAS,IAAAoC,GAAAA,EAAAC,KAAAH,EAAGC,EAC5B,IAEH,EACDV,MAAOD,EACPc,eAAgB,WACdd,IACAvB,SAAAA,GACD,EACDsC,sBAAuB,WAAQ,EAC/BC,qBAAiBC,EACjBC,wBAAoBD,EACpB/B,UAAAA,EACAlB,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAlB,kBAAAA,EACAyB,KAAAA,EACA0B,WAAAA,IAEF,OAAOc,EAAAC,cAACC,EAAiB,CAACf,aAAcA,GAAcjC,YAAaA,GACrE"}
|
package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiComboboxController.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as n}from"react";import t from"../hooks/useDropdownMultiCombobox.js";import l from"../components/DropdownWrapperUI.js";var r=function(r){var u=r.options,i=r.isMenuOpen,s=r.autoFocus,a=r.defaultValue,d=r.value,p=r.inputValue,c=r.onChange,g=r.onInputChange,m=r.onMenuClose,v=r.onMenuOpen,O=r.onOptionSelect,f=r.filterOption,b=r.showSelectedOptions,I=void 0!==b&&b,P=r.clearable,h=void 0===P||P,w=r.searchable,M=void 0===w||w,S=r.multi,j=void 0===S||S,x=r.closeMenuOnSelect,y=void 0===x||x,D=r.dropdownRef,B=r.onFocus,C=r.onBlur,F=r.onKeyDown,V=r.onClear,R=r.onOptionRemove,A=r.size,K=void 0===A?"medium":A,T=n(Array.isArray(a)?a:[]),z=e(T,2),L=z[0],_=z[1],k=n(!1),E=e(k,2),H=E[0],U=E[1],W=t(u,L,_,i,s,a,d,p,c,g,m,v,O,f,I),q=W.isOpen,G=W.inputValue,J=W.highlightedIndex,N=W.getToggleButtonProps,Q=W.getLabelProps,X=W.getMenuProps,Y=W.getItemProps,Z=W.getInputProps,$=W.reset,ee=W.toggleMenu,oe=W.filteredOptions,ne=W.selectedItems,te=W.addSelectedItem,le=W.removeSelectedItem,re=W.getDropdownProps,ue=Object.assign(Object.assign({},r),{isOpen:q,inputValue:null!=G?G:null,highlightedIndex:J,selectedItems:ne||[],filteredOptions:oe,getToggleButtonProps:N,getLabelProps:Q,getMenuProps:X,getItemProps:Y,getInputProps:function(e){return Z(Object.assign(Object.assign({},e||{}),{disabled:r.readOnly||r.disabled,onFocus:function(o){var n;U(!0),null==B||B(o),null===(n=null==e?void 0:e.onFocus)||void 0===n||n.call(e,o)},onBlur:function(o){var n;U(!1),null==C||C(),null===(n=null==e?void 0:e.onBlur)||void 0===n||n.call(e,o)},onKeyDown:function(o){var n;null==F||F(o),null===(n=null==e?void 0:e.onKeyDown)||void 0===n||n.call(e,o)}}))},reset:$,contextOnClear:function(){$(),void 0===d&&_([]),null==V||V()},contextOnOptionRemove:function(e){le&&le(e),null==R||R(e)},addSelectedItem:te,removeSelectedItem:le,isFocused:H,clearable:h,searchable:M,multi:j,closeMenuOnSelect:y,size:K,getDropdownProps:re,toggleMenu:ee});return o.createElement(l,{contextValue:ue,dropdownRef:D})};export{r as default};
|
|
2
|
+
//# sourceMappingURL=DropdownMultiComboboxController.js.map
|