@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.
Files changed (169) hide show
  1. package/dist/components/BaseListItem/BaseListItem.d.ts +1 -1
  2. package/dist/components/BaseListItem/BaseListItem.types.d.ts +5 -1
  3. package/dist/components/DropdownNew/Dropdown.types.d.ts +16 -5
  4. package/dist/components/DropdownNew/context/DropdownContext.d.ts +1 -0
  5. package/dist/components/DropdownNew/context/DropdownContext.types.d.ts +3 -1
  6. package/dist/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -0
  7. package/dist/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -2
  8. package/dist/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -1
  9. package/dist/components/DropdownNew/index.d.ts +1 -1
  10. package/dist/components/DropdownNew/modes/DropdownComboboxController.d.ts +2 -2
  11. package/dist/components/DropdownNew/modes/DropdownMultiComboboxController.d.ts +2 -2
  12. package/dist/components/DropdownNew/modes/DropdownMultiSelectController.d.ts +2 -2
  13. package/dist/components/DropdownNew/modes/DropdownSelectController.d.ts +2 -2
  14. package/dist/components/Toast/Toast.d.ts +1 -1
  15. package/dist/components/next.d.ts +1 -0
  16. package/dist/metadata.json +484 -0
  17. package/dist/mocked_classnames/components/BaseListItem/BaseListItem.d.ts +1 -1
  18. package/dist/mocked_classnames/components/BaseListItem/BaseListItem.types.d.ts +5 -1
  19. package/dist/mocked_classnames/components/DropdownNew/Dropdown.types.d.ts +16 -5
  20. package/dist/mocked_classnames/components/DropdownNew/context/DropdownContext.d.ts +1 -0
  21. package/dist/mocked_classnames/components/DropdownNew/context/DropdownContext.types.d.ts +3 -1
  22. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -0
  23. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +2 -2
  24. package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiSelect.d.ts +1 -1
  25. package/dist/mocked_classnames/components/DropdownNew/index.d.ts +1 -1
  26. package/dist/mocked_classnames/components/DropdownNew/modes/DropdownComboboxController.d.ts +2 -2
  27. package/dist/mocked_classnames/components/DropdownNew/modes/DropdownMultiComboboxController.d.ts +2 -2
  28. package/dist/mocked_classnames/components/DropdownNew/modes/DropdownMultiSelectController.d.ts +2 -2
  29. package/dist/mocked_classnames/components/DropdownNew/modes/DropdownSelectController.d.ts +2 -2
  30. package/dist/mocked_classnames/components/Toast/Toast.d.ts +1 -1
  31. package/dist/mocked_classnames/components/next.d.ts +1 -0
  32. package/dist/mocked_classnames/src/components/BaseList/BaseList.js +2 -0
  33. package/dist/mocked_classnames/src/components/BaseList/BaseList.js.map +1 -0
  34. package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js +2 -0
  35. package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js.map +1 -0
  36. package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.js +2 -0
  37. package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.js.map +1 -0
  38. package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.module.scss.js +2 -0
  39. package/dist/mocked_classnames/src/components/BaseListItem/BaseListItem.module.scss.js.map +1 -0
  40. package/dist/mocked_classnames/src/components/BaseListItem/utils.js +2 -0
  41. package/dist/mocked_classnames/src/components/BaseListItem/utils.js.map +1 -0
  42. package/dist/mocked_classnames/src/components/DropdownNew/Dropdown.js +2 -0
  43. package/dist/mocked_classnames/src/components/DropdownNew/Dropdown.js.map +1 -0
  44. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.js +2 -0
  45. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.js.map +1 -0
  46. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js +2 -0
  47. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js.map +1 -0
  48. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js +2 -0
  49. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js.map +1 -0
  50. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownWrapperUI.js +2 -0
  51. package/dist/mocked_classnames/src/components/DropdownNew/components/DropdownWrapperUI.js.map +1 -0
  52. package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.js +2 -0
  53. package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.js.map +1 -0
  54. package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.module.scss.js +2 -0
  55. package/dist/mocked_classnames/src/components/DropdownNew/components/Menu/Menu.module.scss.js.map +1 -0
  56. package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js +2 -0
  57. package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js.map +1 -0
  58. package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +2 -0
  59. package/dist/mocked_classnames/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js.map +1 -0
  60. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownChip.js +2 -0
  61. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownChip.js.map +1 -0
  62. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownInput.js +2 -0
  63. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/DropdownInput.js.map +1 -0
  64. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js +2 -0
  65. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js.map +1 -0
  66. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js +2 -0
  67. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js.map +1 -0
  68. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js +2 -0
  69. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js.map +1 -0
  70. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js +2 -0
  71. package/dist/mocked_classnames/src/components/DropdownNew/components/Trigger/TriggerActions.js.map +1 -0
  72. package/dist/mocked_classnames/src/components/DropdownNew/context/DropdownContext.js +2 -0
  73. package/dist/mocked_classnames/src/components/DropdownNew/context/DropdownContext.js.map +1 -0
  74. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js +2 -0
  75. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -0
  76. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownFiltering.js +2 -0
  77. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownFiltering.js.map +1 -0
  78. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +2 -0
  79. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -0
  80. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +2 -0
  81. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -0
  82. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js +2 -0
  83. package/dist/mocked_classnames/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -0
  84. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownComboboxController.js +2 -0
  85. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownComboboxController.js.map +1 -0
  86. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiComboboxController.js +2 -0
  87. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiComboboxController.js.map +1 -0
  88. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js +2 -0
  89. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -0
  90. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js +2 -0
  91. package/dist/mocked_classnames/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -0
  92. package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdown-modifiers.js +2 -0
  93. package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdown-modifiers.js.map +1 -0
  94. package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdownUtils.js +2 -0
  95. package/dist/mocked_classnames/src/components/DropdownNew/utils/dropdownUtils.js.map +1 -0
  96. package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
  97. package/dist/mocked_classnames/src/components/next.js +1 -1
  98. package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js +2 -0
  99. package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -0
  100. package/dist/src/components/BaseList/BaseList.js +2 -0
  101. package/dist/src/components/BaseList/BaseList.js.map +1 -0
  102. package/dist/src/components/BaseList/BaseList.module.scss.js +2 -0
  103. package/dist/src/components/BaseList/BaseList.module.scss.js.map +1 -0
  104. package/dist/src/components/BaseListItem/BaseListItem.js +2 -0
  105. package/dist/src/components/BaseListItem/BaseListItem.js.map +1 -0
  106. package/dist/src/components/BaseListItem/BaseListItem.module.scss.js +2 -0
  107. package/dist/src/components/BaseListItem/BaseListItem.module.scss.js.map +1 -0
  108. package/dist/src/components/BaseListItem/utils.js +2 -0
  109. package/dist/src/components/BaseListItem/utils.js.map +1 -0
  110. package/dist/src/components/DropdownNew/Dropdown.js +2 -0
  111. package/dist/src/components/DropdownNew/Dropdown.js.map +1 -0
  112. package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.js +2 -0
  113. package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.js.map +1 -0
  114. package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js +2 -0
  115. package/dist/src/components/DropdownNew/components/DropdownBase/DropdownBase.module.scss.js.map +1 -0
  116. package/dist/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js +2 -0
  117. package/dist/src/components/DropdownNew/components/DropdownPopup/DropdownPopup.js.map +1 -0
  118. package/dist/src/components/DropdownNew/components/DropdownWrapperUI.js +2 -0
  119. package/dist/src/components/DropdownNew/components/DropdownWrapperUI.js.map +1 -0
  120. package/dist/src/components/DropdownNew/components/Menu/Menu.js +2 -0
  121. package/dist/src/components/DropdownNew/components/Menu/Menu.js.map +1 -0
  122. package/dist/src/components/DropdownNew/components/Menu/Menu.module.scss.js +2 -0
  123. package/dist/src/components/DropdownNew/components/Menu/Menu.module.scss.js.map +1 -0
  124. package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js +2 -0
  125. package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.js.map +1 -0
  126. package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +2 -0
  127. package/dist/src/components/DropdownNew/components/MultiSelectedValues/MultiSelectedValues.module.scss.js.map +1 -0
  128. package/dist/src/components/DropdownNew/components/Trigger/DropdownChip.js +2 -0
  129. package/dist/src/components/DropdownNew/components/Trigger/DropdownChip.js.map +1 -0
  130. package/dist/src/components/DropdownNew/components/Trigger/DropdownInput.js +2 -0
  131. package/dist/src/components/DropdownNew/components/Trigger/DropdownInput.js.map +1 -0
  132. package/dist/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js +2 -0
  133. package/dist/src/components/DropdownNew/components/Trigger/MultiSelectTrigger.js.map +1 -0
  134. package/dist/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js +2 -0
  135. package/dist/src/components/DropdownNew/components/Trigger/SingleSelectTrigger.js.map +1 -0
  136. package/dist/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js +2 -0
  137. package/dist/src/components/DropdownNew/components/Trigger/Trigger.module.scss.js.map +1 -0
  138. package/dist/src/components/DropdownNew/components/Trigger/TriggerActions.js +2 -0
  139. package/dist/src/components/DropdownNew/components/Trigger/TriggerActions.js.map +1 -0
  140. package/dist/src/components/DropdownNew/context/DropdownContext.js +2 -0
  141. package/dist/src/components/DropdownNew/context/DropdownContext.js.map +1 -0
  142. package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js +2 -0
  143. package/dist/src/components/DropdownNew/hooks/useDropdownCombobox.js.map +1 -0
  144. package/dist/src/components/DropdownNew/hooks/useDropdownFiltering.js +2 -0
  145. package/dist/src/components/DropdownNew/hooks/useDropdownFiltering.js.map +1 -0
  146. package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js +2 -0
  147. package/dist/src/components/DropdownNew/hooks/useDropdownMultiCombobox.js.map +1 -0
  148. package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js +2 -0
  149. package/dist/src/components/DropdownNew/hooks/useDropdownMultiSelect.js.map +1 -0
  150. package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js +2 -0
  151. package/dist/src/components/DropdownNew/hooks/useDropdownSelect.js.map +1 -0
  152. package/dist/src/components/DropdownNew/modes/DropdownComboboxController.js +2 -0
  153. package/dist/src/components/DropdownNew/modes/DropdownComboboxController.js.map +1 -0
  154. package/dist/src/components/DropdownNew/modes/DropdownMultiComboboxController.js +2 -0
  155. package/dist/src/components/DropdownNew/modes/DropdownMultiComboboxController.js.map +1 -0
  156. package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js +2 -0
  157. package/dist/src/components/DropdownNew/modes/DropdownMultiSelectController.js.map +1 -0
  158. package/dist/src/components/DropdownNew/modes/DropdownSelectController.js +2 -0
  159. package/dist/src/components/DropdownNew/modes/DropdownSelectController.js.map +1 -0
  160. package/dist/src/components/DropdownNew/utils/dropdown-modifiers.js +2 -0
  161. package/dist/src/components/DropdownNew/utils/dropdown-modifiers.js.map +1 -0
  162. package/dist/src/components/DropdownNew/utils/dropdownUtils.js +2 -0
  163. package/dist/src/components/DropdownNew/utils/dropdownUtils.js.map +1 -0
  164. package/dist/src/components/Toast/Toast.js.map +1 -1
  165. package/dist/src/components/next.js +1 -1
  166. package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js +2 -0
  167. package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -0
  168. package/dist/tokens/tokens.d.ts +1 -0
  169. package/package.json +12 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMultiComboboxController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownMultiComboboxController.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { DropdownMultiControllerProps } from \"../Dropdown.types\";\nimport useDropdownMultiCombobox from \"../hooks/useDropdownMultiCombobox\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownMultiComboboxController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownMultiControllerProps<Item>\n) => {\n const {\n options,\n isMenuOpen: isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n 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 = true,\n closeMenuOnSelect = true,\n dropdownRef,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n onOptionRemove,\n size = \"medium\"\n } = props;\n\n const initialMultiSelectedItems = Array.isArray(defaultValue) ? defaultValue : [];\n const [multiSelectedItemsState, setMultiSelectedItemsState] = useState<Item[]>(initialMultiSelectedItems);\n const [isFocused, setIsFocused] = useState(false);\n\n const {\n isOpen,\n inputValue: hookInputValue,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n getInputProps: hookGetInputProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItems: hookSelectedItems,\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n getDropdownProps\n } = useDropdownMultiCombobox<Item>(\n options,\n multiSelectedItemsState,\n setMultiSelectedItemsState,\n isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n inputValueProp,\n onChange,\n onInputChange,\n onMenuClose,\n onMenuOpen,\n onOptionSelect,\n filterOption,\n showSelectedOptions\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n inputValue: hookInputValue ?? null,\n highlightedIndex,\n selectedItems: hookSelectedItems || [],\n filteredOptions,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n getInputProps: (inputOptions?: any) => {\n return hookGetInputProps!({\n ...(inputOptions || {}),\n disabled: props.readOnly || props.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 if (value === undefined) {\n setMultiSelectedItemsState([]);\n }\n onClear?.();\n },\n contextOnOptionRemove: (option: Item) => {\n if (hookRemoveSelectedItem) {\n hookRemoveSelectedItem(option);\n }\n onOptionRemove?.(option);\n },\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n isFocused,\n clearable,\n searchable,\n multi,\n closeMenuOnSelect,\n size,\n getDropdownProps,\n toggleMenu\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownMultiComboboxController;\n"],"names":["DropdownMultiComboboxController","props","options","isMenuOpenProp","isMenuOpen","autoFocus","defaultValue","value","inputValueProp","inputValue","onChange","onInputChange","onMenuClose","onMenuOpen","onOptionSelect","filterOption","_props$showSelectedOp","showSelectedOptions","_props$clearable","clearable","_props$searchable","searchable","_props$multi","multi","_props$closeMenuOnSel","closeMenuOnSelect","dropdownRef","onFocus","onBlur","onKeyDown","onClear","onOptionRemove","_props$size","size","_useState","useState","Array","isArray","_useState2","_slicedToArray","multiSelectedItemsState","setMultiSelectedItemsState","_useState3","_useState4","isFocused","setIsFocused","_useDropdownMultiComb","useDropdownMultiCombobox","isOpen","hookInputValue","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookGetInputProps","getInputProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItems","selectedItems","hookAddSelectedItem","addSelectedItem","hookRemoveSelectedItem","removeSelectedItem","getDropdownProps","contextValue","Object","assign","inputOptions","disabled","readOnly","event","_a","call","contextOnClear","undefined","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{useState as o}from"react";import n from"../hooks/useDropdownMultiSelect.js";import r from"../components/DropdownWrapperUI.js";var l=function(l){var s=l.options,i=l.isMenuOpen,d=l.autoFocus,p=l.defaultValue,a=l.value,u=l.onChange,c=l.onMenuOpen,g=l.onMenuClose,m=l.onOptionSelect,O=l.clearable,f=void 0===O||O,v=l.showSelectedOptions,I=void 0!==v&&v,b=l.filterOption,P=l.dropdownRef,h=l.onClear,M=l.onOptionRemove,j=l.size,w=void 0===j?"medium":j,S=o(Array.isArray(p)?p:[]),x=e(S,2),y=x[1],C=n(s,x[0],y,i,d,p,a,u,c,g,m,I,b),D=C.isOpen,R=C.highlightedIndex,A=C.getToggleButtonProps,B=C.getLabelProps,T=C.getMenuProps,V=C.getItemProps,z=C.reset,L=C.toggleMenu,_=C.filteredOptions,k=C.selectedItems,E=C.addSelectedItem,F=C.removeSelectedItem,H=C.getDropdownProps,U=Object.assign(Object.assign({},l),{isOpen:D,inputValue:null,highlightedIndex:R,selectedItem:void 0,selectedItems:k||[],filteredOptions:_,clearable:f,getToggleButtonProps:function(e){return A(Object.assign(Object.assign({},e||{}),{disabled:l.readOnly||l.disabled}))},getLabelProps:B,getMenuProps:T,getItemProps:V,reset:z,getDropdownProps:H,contextOnClear:function(){z(),void 0===a&&y([]),null==h||h()},contextOnOptionRemove:function(e){F&&F(e),null==M||M(e)},addSelectedItem:E,removeSelectedItem:F,size:w,toggleMenu:L});return t.createElement(r,{contextValue:U,dropdownRef:P})};export{l as default};
2
+ //# sourceMappingURL=DropdownMultiSelectController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMultiSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownMultiSelectController.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { DropdownMultiControllerProps } from \"../Dropdown.types\";\nimport useDropdownMultiSelect from \"../hooks/useDropdownMultiSelect\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownMultiSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownMultiControllerProps<Item>\n) => {\n const {\n options,\n isMenuOpen: isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n clearable = true,\n showSelectedOptions = false,\n filterOption,\n dropdownRef,\n onClear,\n onOptionRemove,\n size = \"medium\"\n } = props;\n\n const initialMultiSelectedItems = Array.isArray(defaultValue) ? defaultValue : [];\n const [multiSelectedItemsState, setMultiSelectedItemsState] = useState<Item[]>(initialMultiSelectedItems);\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItems: hookSelectedItems,\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n getDropdownProps\n } = useDropdownMultiSelect<Item>(\n options,\n multiSelectedItemsState,\n setMultiSelectedItemsState,\n isMenuOpenProp,\n autoFocus,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions,\n filterOption\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n inputValue: null,\n highlightedIndex,\n selectedItem: undefined,\n selectedItems: hookSelectedItems || [],\n filteredOptions,\n clearable,\n getToggleButtonProps: (toggleOptions?: any) => {\n return getToggleButtonProps({\n ...(toggleOptions || {}),\n disabled: props.readOnly || props.disabled\n });\n },\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n getDropdownProps,\n contextOnClear: () => {\n hookReset();\n if (value === undefined) {\n setMultiSelectedItemsState([]);\n }\n onClear?.();\n },\n contextOnOptionRemove: (option: Item) => {\n if (hookRemoveSelectedItem) {\n hookRemoveSelectedItem(option);\n }\n onOptionRemove?.(option);\n },\n addSelectedItem: hookAddSelectedItem,\n removeSelectedItem: hookRemoveSelectedItem,\n size,\n toggleMenu\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownMultiSelectController;\n"],"names":["DropdownMultiSelectController","props","options","isMenuOpenProp","isMenuOpen","autoFocus","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","_props$clearable","clearable","_props$showSelectedOp","showSelectedOptions","filterOption","dropdownRef","onClear","onOptionRemove","_props$size","size","_useState","useState","Array","isArray","_useState2","_slicedToArray","setMultiSelectedItemsState","_useDropdownMultiSele","useDropdownMultiSelect","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItems","selectedItems","hookAddSelectedItem","addSelectedItem","hookRemoveSelectedItem","removeSelectedItem","getDropdownProps","contextValue","inputValue","selectedItem","undefined","toggleOptions","Object","assign","disabled","readOnly","contextOnClear","contextOnOptionRemove","option","React","createElement","DropdownWrapperUI"],"mappings":"0NAOA,IAAMA,EAAgC,SACpCC,GAEA,IACEC,EAgBED,EAhBFC,QACYC,EAeVF,EAfFG,WACAC,EAcEJ,EAdFI,UACAC,EAaEL,EAbFK,aACAC,EAYEN,EAZFM,MACAC,EAWEP,EAXFO,SACAC,EAUER,EAVFQ,WACAC,EASET,EATFS,YACAC,EAQEV,EARFU,eAAcC,EAQZX,EAPFY,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAOdb,EANFc,oBAAAA,OAAsB,IAAHD,GAAQA,EAC3BE,EAKEf,EALFe,aACAC,EAIEhB,EAJFgB,YACAC,EAGEjB,EAHFiB,QACAC,EAEElB,EAFFkB,eAAcC,EAEZnB,EADFoB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAIjBE,EAA8DC,EAD5BC,MAAMC,QAAQnB,GAAgBA,EAAe,IAC0BoB,EAAAC,EAAAL,EAAA,GAAzEM,EAA0BF,EAAA,GAE1DG,EAcIC,EACF5B,EAjB4BwB,EAAA,GAmB5BE,EACAzB,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAI,EACAC,GA1BAe,EAAMF,EAANE,OACAC,EAAgBH,EAAhBG,iBACAC,EAAoBJ,EAApBI,qBACAC,EAAaL,EAAbK,cACAC,EAAYN,EAAZM,aACAC,EAAYP,EAAZO,aACOC,EAASR,EAAhBS,MACAC,EAAUV,EAAVU,WACAC,EAAeX,EAAfW,gBACeC,EAAiBZ,EAAhCa,cACiBC,EAAmBd,EAApCe,gBACoBC,EAAsBhB,EAA1CiB,mBACAC,EAAgBlB,EAAhBkB,iBAiBIC,iCACD/C,GAAK,CACR8B,OAAAA,EACAkB,WAAY,KACZjB,iBAAAA,EACAkB,kBAAcC,EACdT,cAAeD,GAAqB,GACpCD,gBAAAA,EACA3B,UAAAA,EACAoB,qBAAsB,SAACmB,GACrB,OAAOnB,EACFoB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAACF,GAAiB,CAAA,GACrB,CAAAG,SAAUtD,EAAMuD,UAAYvD,EAAMsD,WAErC,EACDrB,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,MAAOD,EACPU,iBAAAA,EACAU,eAAgB,WACdpB,SACcc,IAAV5C,GACFqB,EAA2B,IAE7BV,SAAAA,GACD,EACDwC,sBAAuB,SAACC,GAClBd,GACFA,EAAuBc,GAEzBxC,SAAAA,EAAiBwC,EAClB,EACDf,gBAAiBD,EACjBG,mBAAoBD,EACpBxB,KAAAA,EACAkB,WAAAA,IAGF,OAAOqB,EAAAC,cAACC,EAAiB,CAACd,aAAcA,EAAc/B,YAAaA,GACrE"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import t from"../hooks/useDropdownSelect.js";import o from"../components/DropdownWrapperUI.js";var n=function(n){var l=n.autoFocus,s=n.showSelectedOptions,i=n.clearable,r=void 0===i||i,a=n.searchable,d=void 0!==a&&a,u=n.multi,p=void 0!==u&&u,c=n.dropdownRef,g=n.onClear,m=n.size,O=void 0===m?"medium":m,f=t(n.options,l,n.isMenuOpen,n.defaultValue,n.value,n.onChange,n.onMenuOpen,n.onMenuClose,n.onOptionSelect,void 0!==s&&s,n.filterOption),b=f.isOpen,v=f.highlightedIndex,h=f.getToggleButtonProps,I=f.getLabelProps,P=f.getMenuProps,M=f.getItemProps,j=f.reset,x=f.toggleMenu,w=f.filteredOptions,C=f.selectedItem,S=Object.assign(Object.assign({},n),{isOpen:b,highlightedIndex:v,selectedItem:C,filteredOptions:w,getToggleButtonProps:function(e){return h(Object.assign(Object.assign({},e||{}),{disabled:n.readOnly||n.disabled}))},getLabelProps:I,getMenuProps:P,getItemProps:M,reset:j,inputValue:null,selectedItems:[],addSelectedItem:void 0,removeSelectedItem:void 0,contextOnClear:function(){j(),null==g||g()},contextOnOptionRemove:function(){},clearable:r,searchable:d,multi:p,autoFocus:l,onClear:g,size:O,toggleMenu:x});return e.createElement(o,{contextValue:S,dropdownRef:c})};export{n as default};
2
+ //# sourceMappingURL=DropdownSelectController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownSelectController.js","sources":["../../../../../../src/components/DropdownNew/modes/DropdownSelectController.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownSingleControllerProps } from \"../Dropdown.types\";\nimport useDropdownSelect from \"../hooks/useDropdownSelect\";\nimport { BaseListItemData } from \"../../BaseListItem\";\nimport { DropdownContextProps } from \"../context/DropdownContext.types\";\nimport DropdownWrapperUI from \"../components/DropdownWrapperUI\";\n\nconst DropdownSelectController = <Item extends BaseListItemData<Record<string, unknown>>>(\n props: DropdownSingleControllerProps<Item>\n) => {\n const {\n options,\n autoFocus,\n isMenuOpen: isMenuOpenProp,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions = false,\n filterOption,\n clearable = true,\n searchable = false,\n multi = false,\n dropdownRef,\n onClear,\n size = \"medium\"\n } = props;\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n toggleMenu,\n filteredOptions,\n selectedItem: hookSelectedItem\n } = useDropdownSelect<Item>(\n options,\n autoFocus,\n isMenuOpenProp,\n defaultValue,\n value,\n onChange,\n onMenuOpen,\n onMenuClose,\n onOptionSelect,\n showSelectedOptions,\n filterOption\n );\n\n const contextValue: DropdownContextProps<Item> = {\n ...props,\n isOpen,\n highlightedIndex,\n selectedItem: hookSelectedItem,\n filteredOptions,\n getToggleButtonProps: (toggleOptions?: any) => {\n return getToggleButtonProps({\n ...(toggleOptions || {}),\n disabled: props.readOnly || props.disabled\n });\n },\n getLabelProps,\n getMenuProps,\n getItemProps,\n reset: hookReset,\n inputValue: null,\n selectedItems: [],\n addSelectedItem: undefined,\n removeSelectedItem: undefined,\n contextOnClear: () => {\n hookReset();\n onClear?.();\n },\n contextOnOptionRemove: () => {},\n clearable,\n searchable,\n multi,\n autoFocus,\n onClear,\n size,\n toggleMenu\n };\n\n return <DropdownWrapperUI contextValue={contextValue} dropdownRef={dropdownRef} />;\n};\n\nexport default DropdownSelectController;\n"],"names":["DropdownSelectController","props","autoFocus","_props$showSelectedOp","showSelectedOptions","_props$clearable","clearable","_props$searchable","searchable","_props$multi","multi","dropdownRef","onClear","_props$size","size","_useDropdownSelect","useDropdownSelect","options","isMenuOpen","defaultValue","value","onChange","onMenuOpen","onMenuClose","onOptionSelect","filterOption","isOpen","highlightedIndex","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","hookReset","reset","toggleMenu","filteredOptions","hookSelectedItem","selectedItem","contextValue","Object","assign","toggleOptions","disabled","readOnly","inputValue","selectedItems","addSelectedItem","undefined","removeSelectedItem","contextOnClear","contextOnOptionRemove","React","createElement","DropdownWrapperUI"],"mappings":"oHAOA,IAAMA,EAA2B,SAC/BC,GAEA,IAEEC,EAgBED,EAhBFC,UAOcC,EASZF,EARFG,oBACYC,EAOVJ,EANFK,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAMdN,EALFO,WAAAA,OAAa,IAAHD,GAAQA,EAAAE,EAKhBR,EAJFS,MAAAA,OAAQ,IAAHD,GAAQA,EACbE,EAGEV,EAHFU,YACAC,EAEEX,EAFFW,QAAOC,EAELZ,EADFa,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAGjBE,EAWIC,EAbAf,EAjBFgB,QAgCAf,EAfED,EAfFiB,WAeEjB,EAdFkB,aAcElB,EAbFmB,MAaEnB,EAZFoB,SAYEpB,EAXFqB,WAWErB,EAVFsB,YAUEtB,EATFuB,oBACsB,IAAHrB,GAAQA,EAQzBF,EAPFwB,cAUAC,EAAMX,EAANW,OACAC,EAAgBZ,EAAhBY,iBACAC,EAAoBb,EAApBa,qBACAC,EAAad,EAAbc,cACAC,EAAYf,EAAZe,aACAC,EAAYhB,EAAZgB,aACOC,EAASjB,EAAhBkB,MACAC,EAAUnB,EAAVmB,WACAC,EAAepB,EAAfoB,gBACcC,EAAgBrB,EAA9BsB,aAeIC,EAAYC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACbvC,GAAK,CACRyB,OAAAA,EACAC,iBAAAA,EACAU,aAAcD,EACdD,gBAAAA,EACAP,qBAAsB,SAACa,GACrB,OAAOb,EACFW,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAACC,GAAiB,CAAA,GACrB,CAAAC,SAAUzC,EAAM0C,UAAY1C,EAAMyC,WAErC,EACDb,cAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAE,MAAOD,EACPY,WAAY,KACZC,cAAe,GACfC,qBAAiBC,EACjBC,wBAAoBD,EACpBE,eAAgB,WACdjB,IACApB,SAAAA,GACD,EACDsC,sBAAuB,WAAQ,EAC/B5C,UAAAA,EACAE,WAAAA,EACAE,MAAAA,EACAR,UAAAA,EACAU,QAAAA,EACAE,KAAAA,EACAoB,WAAAA,IAGF,OAAOiB,EAAAC,cAACC,EAAiB,CAACf,aAAcA,EAAc3B,YAAaA,GACrE"}
@@ -0,0 +1,2 @@
1
+ var e=[{name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;t.rects&&t.rects.reference&&(t.styles.popper.width="".concat(t.rects.reference.width,"px"))}}];export{e as matchWidthModifier};
2
+ //# sourceMappingURL=dropdown-modifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-modifiers.js","sources":["../../../../../../src/components/DropdownNew/utils/dropdown-modifiers.ts"],"sourcesContent":["import { Modifier } from \"react-popper\";\n\nexport const matchWidthModifier: Modifier<any>[] = [\n {\n name: \"matchWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n if (state.rects && state.rects.reference) {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n }\n }\n }\n];\n"],"names":["matchWidthModifier","name","enabled","phase","requires","fn","_ref","state","rects","reference","styles","popper","width","concat"],"mappings":"AAEO,IAAMA,EAAsC,CACjD,CACEC,KAAM,aACNC,SAAS,EACTC,MAAO,cACPC,SAAU,CAAC,iBACXC,GAAI,SAAAC,GAAc,IAAXC,EAAKD,EAALC,MACDA,EAAMC,OAASD,EAAMC,MAAMC,YAC7BF,EAAMG,OAAOC,OAAOC,MAAKC,GAAAA,OAAMN,EAAMC,MAAMC,UAAUG,MAAS,MAElE"}
@@ -0,0 +1,2 @@
1
+ function n(n,t,e){var r=3>=arguments.length||void 0===arguments[3]||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=0,u=e||function(n,t){return!t||n.label.toLowerCase().includes(t.toLowerCase())},a=function(n){return i.some((function(t){return t.value===n.value}))};return Array.isArray(n)&&n.some((function(n){return"options"in n}))?n.flatMap((function(n){var e=n.options.filter((function(n){var e=u(n,t||"");return!(!r&&a(n))&&e})).map((function(n){return Object.assign(Object.assign({},n),{index:o++})}));return e.length>0?[Object.assign(Object.assign({},n),{options:e})]:[]})):[{label:void 0,options:n.filter((function(n){var e=u(n,t||"");return!(!r&&a(n))&&e})).map((function(n){return Object.assign(Object.assign({},n),{index:o++})}))}]}export{n as normalizeOptions};
2
+ //# sourceMappingURL=dropdownUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdownUtils.js","sources":["../../../../../../src/components/DropdownNew/utils/dropdownUtils.ts"],"sourcesContent":["import { BaseListItemData } from \"../../BaseListItem\";\nimport { ListGroup } from \"../../BaseList\";\n\nexport function normalizeOptions<Item extends BaseListItemData>(\n options: ListGroup<Item>[] | BaseListItemData<Item>[],\n filter?: string,\n filterOption?: (option: Item, inputValue: string) => boolean,\n showSelectedOptions = true,\n selectedItems: Item[] = []\n): ListGroup<Item>[] {\n let indexCounter = 0;\n const defaultFilterFn = (item: Item, inputValue: string) =>\n !inputValue || item.label.toLowerCase().includes(inputValue.toLowerCase());\n const currentFilterFn = filterOption || defaultFilterFn;\n\n const isItemSelected = (item: Item) => selectedItems.some(selected => selected.value === item.value);\n\n return Array.isArray(options) && options.some(item => \"options\" in item)\n ? (options as ListGroup<Item>[]).flatMap(group => {\n const filteredGroupOptions = group.options\n .filter(item => {\n const matchesFilter = currentFilterFn(item, filter || \"\");\n if (!showSelectedOptions && isItemSelected(item)) {\n return false;\n }\n return matchesFilter;\n })\n .map(item => ({ ...item, index: indexCounter++ }));\n\n return filteredGroupOptions.length > 0 ? [{ ...group, options: filteredGroupOptions }] : [];\n })\n : [\n {\n label: undefined,\n options: (options as BaseListItemData<Item>[])\n .filter(item => {\n const matchesFilter = currentFilterFn(item, filter || \"\");\n if (!showSelectedOptions && isItemSelected(item)) {\n return false;\n }\n return matchesFilter;\n })\n .map(item => ({ ...item, index: indexCounter++ }))\n }\n ];\n}\n"],"names":["normalizeOptions","options","filter","filterOption","showSelectedOptions","arguments","length","undefined","selectedItems","indexCounter","currentFilterFn","item","inputValue","label","toLowerCase","includes","isItemSelected","some","selected","value","Array","isArray","flatMap","group","filteredGroupOptions","matchesFilter","map","Object","assign","index"],"mappings":"AAGgB,SAAAA,EACdC,EACAC,EACAC,GAE0B,IAD1BC,EAAmB,GAAAC,UAAAC,aAAAC,IAAAF,UAAA,IAAAA,UAAA,GACnBG,yDAAwB,GAEpBC,EAAe,EAGbC,EAAkBP,GAFA,SAACQ,EAAYC,GAAkB,OACpDA,GAAcD,EAAKE,MAAMC,cAAcC,SAASH,EAAWE,cAAc,EAGtEE,EAAiB,SAACL,GAAU,OAAKH,EAAcS,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAAUR,EAAKQ,QAAM,EAEpG,OAAOC,MAAMC,QAAQpB,IAAYA,EAAQgB,MAAK,SAAAN,GAAI,MAAI,YAAaA,CAAI,IAClEV,EAA8BqB,SAAQ,SAAAC,GACrC,IAAMC,EAAuBD,EAAMtB,QAChCC,QAAO,SAAAS,GACN,IAAMc,EAAgBf,EAAgBC,EAAMT,GAAU,IACtD,SAAKE,GAAuBY,EAAeL,KAGpCc,CACT,IACCC,KAAI,SAAAf,GAAI,OAAUgB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAjB,GAAM,CAAAkB,MAAOpB,KAAc,IAEhD,OAAOe,EAAqBlB,OAAS,EAAI,CAAAqB,OAAAC,OAAAD,OAAAC,OAAA,GAAML,GAAO,CAAAtB,QAASuB,KAA0B,EAC1F,IACD,CACE,CACEX,WAAON,EACPN,QAAUA,EACPC,QAAO,SAAAS,GACN,IAAMc,EAAgBf,EAAgBC,EAAMT,GAAU,IACtD,SAAKE,GAAuBY,EAAeL,KAGpCc,CACT,IACCC,KAAI,SAAAf,GAAI,OAAIgB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAMjB,GAAI,CAAEkB,MAAOpB,UAG5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sources":["../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { ReactElement, useCallback, useEffect, useMemo, useRef, JSX } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { IconSubComponentProps } from \"../Icon/Icon\";\nimport Text from \"../Text/Text\";\nimport Loader from \"../Loader/Loader\";\nimport Flex from \"../Flex/Flex\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport ToastLink from \"./ToastLink/ToastLink\";\nimport ToastButton from \"./ToastButton/ToastButton\";\nimport { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from \"./ToastConstants\";\nimport { ToastType, ToastAction } from \"./Toast.types\";\nimport { getIcon } from \"./ToastHelpers\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./Toast.module.scss\";\nimport IconButton from \"../IconButton/IconButton\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\nexport interface ToastProps extends VibeComponentProps {\n /**\n * The actions available in the toast.\n */\n actions?: ToastAction[];\n /**\n * If true, the toast is open (visible).\n */\n open?: boolean;\n /**\n * If true, displays a loading indicator inside the toast.\n */\n loading?: boolean;\n /**\n * The type of toast.\n */\n type?: ToastType;\n /**\n * The icon displayed in the toast.\n */\n icon?: string | React.FC<IconSubComponentProps> | null;\n /**\n * If true, hides the toast icon.\n */\n hideIcon?: boolean;\n /**\n * The action element displayed in the toast.\n */\n action?: JSX.Element;\n /**\n * If false, hides the close button.\n */\n closeable?: boolean;\n /**\n * Callback fired when the toast is closed.\n */\n onClose?: () => void;\n /**\n * The number of milliseconds before the toast automatically closes.\n * (0 or null disables auto-close behavior).\n */\n autoHideDuration?: number;\n /**\n * The content displayed inside the toast.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * The aria-label for the close button.\n */\n closeButtonAriaLabel?: string;\n}\n\nconst Toast = ({\n open = false,\n loading = false,\n autoHideDuration = null,\n type = \"normal\",\n icon,\n hideIcon = false,\n action: deprecatedAction,\n actions,\n children,\n closeable = true,\n onClose = NOOP,\n className,\n id,\n closeButtonAriaLabel = \"Close\",\n \"data-testid\": dataTestId\n}: ToastProps) => {\n const ref = useRef(null);\n const nodeRef = useRef<HTMLDivElement>(null);\n const prevActions = usePrevious(actions?.length);\n const toastLinks = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"link\")\n .map(({ type: _type, ...otherProps }) => (\n <ToastLink key={otherProps.href} className={styles.actionLink} {...otherProps} />\n ))\n : null;\n }, [actions]);\n\n const shouldShowButtonTransition = useMemo(() => {\n return prevActions !== undefined && actions?.length !== prevActions;\n }, [actions, prevActions]);\n\n const toastButtons: JSX.Element[] | null = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"button\")\n .map(({ type: _type, content, ...otherProps }, index) => (\n <ToastButton\n key={`alert-button-${index}`}\n className={cx(styles.actionButton, { [styles.withTransition]: shouldShowButtonTransition })}\n {...otherProps}\n >\n {content}\n </ToastButton>\n ))\n : null;\n }, [actions, shouldShowButtonTransition]);\n\n const classNames = useMemo(\n () => cx(styles.toast, getStyle(styles, camelCase(\"type-\" + type)), className),\n [type, className]\n );\n\n const handleClose = useCallback(() => {\n if (onClose) {\n onClose();\n }\n }, [onClose]);\n\n /* Timer */\n const timerAutoHide = useRef<NodeJS.Timeout>();\n const setAutoHideTimer = useCallback(\n (duration: number) => {\n if (!onClose || duration == null) {\n return;\n }\n\n clearTimeout(timerAutoHide.current);\n timerAutoHide.current = setTimeout(() => {\n handleClose();\n }, duration);\n },\n [handleClose, onClose]\n );\n\n useEffect(() => {\n if (open && autoHideDuration > 0) {\n setAutoHideTimer(autoHideDuration);\n }\n\n return () => {\n clearTimeout(timerAutoHide.current);\n };\n }, [open, autoHideDuration, setAutoHideTimer]);\n\n const iconElement = !hideIcon && getIcon(type, icon);\n\n // https://n12v.com/css-transition-to-from-auto/\n const recalculateElementWidth = useCallback((element: HTMLElement) => {\n const prevWidth = element.style.width;\n element.style.width = \"auto\";\n const endWidth = getComputedStyle(element).width;\n element.style.width = prevWidth;\n element.offsetWidth; // force repaint\n element.style.width = endWidth;\n }, []);\n\n useEffect(() => {\n if (ref.current) {\n recalculateElementWidth(ref.current);\n }\n }, [children, recalculateElementWidth]);\n\n return (\n <CSSTransition\n in={open}\n nodeRef={nodeRef}\n classNames={{ enterActive: styles.enterActive, exitActive: styles.exitActive }}\n timeout={400}\n unmountOnExit\n >\n <Text\n ref={nodeRef}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOAST, id)}\n type=\"text2\"\n element=\"div\"\n color=\"fixedLight\"\n className={classNames}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {iconElement && <div className={cx(styles.icon)}>{iconElement}</div>}\n <Flex align=\"center\" gap=\"large\" className={styles.content}>\n <Flex\n gap=\"medium\"\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CONTENT)}\n className={styles.textContent}\n >\n <span>{children}</span>\n {toastLinks}\n </Flex>\n {(toastButtons || deprecatedAction) && (toastButtons || deprecatedAction)}\n {loading && <Loader size=\"xs\" />}\n </Flex>\n {closeable && (\n <IconButton\n className={cx(styles.closeButton)}\n onClick={handleClose}\n size=\"small\"\n kind=\"tertiary\"\n color=\"fixed-light\"\n ariaLabel={closeButtonAriaLabel}\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CLOSE_BUTTON)}\n icon={CloseSmall}\n hideTooltip\n />\n )}\n </Text>\n </CSSTransition>\n );\n};\n\ninterface ToastStaticProps {\n types: typeof ToastTypeEnum;\n actionTypes: typeof ToastActionTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<ToastProps, ToastStaticProps>(Toast, {\n types: ToastTypeEnum,\n actionTypes: ToastActionTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$open","open","_ref$loading","loading","_ref$autoHideDuration","autoHideDuration","_ref$type","type","icon","_ref$hideIcon","hideIcon","deprecatedAction","action","actions","children","_ref$closeable","closeable","_ref$onClose","onClose","NOOP","className","id","_ref$closeButtonAriaL","closeButtonAriaLabel","dataTestId","ref","useRef","nodeRef","prevActions","usePrevious","length","toastLinks","useMemo","filter","map","_a","otherProps","__rest","React","createElement","ToastLink","key","href","styles","actionLink","shouldShowButtonTransition","undefined","toastButtons","index","content","ToastButton","Object","assign","concat","cx","actionButton","_defineProperty","withTransition","classNames","toast","getStyle","camelCase","handleClose","useCallback","timerAutoHide","setAutoHideTimer","duration","clearTimeout","current","setTimeout","useEffect","iconElement","getIcon","recalculateElementWidth","element","prevWidth","style","width","endWidth","getComputedStyle","CSSTransition","in","enterActive","exitActive","timeout","unmountOnExit","Text","getTestId","ComponentDefaultTestId","TOAST","color","role","Flex","align","gap","TOAST_CONTENT","textContent","Loader","size","IconButton","closeButton","onClick","kind","ariaLabel","TOAST_CLOSE_BUTTON","CloseSmall","hideTooltip","types","ToastTypeEnum","actionTypes","ToastActionTypeEnum"],"mappings":"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"}
1
+ {"version":3,"file":"Toast.js","sources":["../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { ReactElement, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { IconSubComponentProps } from \"../Icon/Icon\";\nimport Text from \"../Text/Text\";\nimport Loader from \"../Loader/Loader\";\nimport Flex from \"../Flex/Flex\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport ToastLink from \"./ToastLink/ToastLink\";\nimport ToastButton from \"./ToastButton/ToastButton\";\nimport { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from \"./ToastConstants\";\nimport { ToastType, ToastAction } from \"./Toast.types\";\nimport { getIcon } from \"./ToastHelpers\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./Toast.module.scss\";\nimport IconButton from \"../IconButton/IconButton\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\nexport interface ToastProps extends VibeComponentProps {\n /**\n * The actions available in the toast.\n */\n actions?: ToastAction[];\n /**\n * If true, the toast is open (visible).\n */\n open?: boolean;\n /**\n * If true, displays a loading indicator inside the toast.\n */\n loading?: boolean;\n /**\n * The type of toast.\n */\n type?: ToastType;\n /**\n * The icon displayed in the toast.\n */\n icon?: string | React.FC<IconSubComponentProps> | null;\n /**\n * If true, hides the toast icon.\n */\n hideIcon?: boolean;\n /**\n * The action element displayed in the toast.\n */\n action?: JSX.Element;\n /**\n * If false, hides the close button.\n */\n closeable?: boolean;\n /**\n * Callback fired when the toast is closed.\n */\n onClose?: () => void;\n /**\n * The number of milliseconds before the toast automatically closes.\n * (0 or null disables auto-close behavior).\n */\n autoHideDuration?: number;\n /**\n * The content displayed inside the toast.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * The aria-label for the close button.\n */\n closeButtonAriaLabel?: string;\n}\n\nconst Toast = ({\n open = false,\n loading = false,\n autoHideDuration = null,\n type = \"normal\",\n icon,\n hideIcon = false,\n action: deprecatedAction,\n actions,\n children,\n closeable = true,\n onClose = NOOP,\n className,\n id,\n closeButtonAriaLabel = \"Close\",\n \"data-testid\": dataTestId\n}: ToastProps) => {\n const ref = useRef(null);\n const nodeRef = useRef<HTMLDivElement>(null);\n const prevActions = usePrevious(actions?.length);\n const toastLinks = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"link\")\n .map(({ type: _type, ...otherProps }) => (\n <ToastLink key={otherProps.href} className={styles.actionLink} {...otherProps} />\n ))\n : null;\n }, [actions]);\n\n const shouldShowButtonTransition = useMemo(() => {\n return prevActions !== undefined && actions?.length !== prevActions;\n }, [actions, prevActions]);\n\n const toastButtons: JSX.Element[] | null = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"button\")\n .map(({ type: _type, content, ...otherProps }, index) => (\n <ToastButton\n key={`alert-button-${index}`}\n className={cx(styles.actionButton, { [styles.withTransition]: shouldShowButtonTransition })}\n {...otherProps}\n >\n {content}\n </ToastButton>\n ))\n : null;\n }, [actions, shouldShowButtonTransition]);\n\n const classNames = useMemo(\n () => cx(styles.toast, getStyle(styles, camelCase(\"type-\" + type)), className),\n [type, className]\n );\n\n const handleClose = useCallback(() => {\n if (onClose) {\n onClose();\n }\n }, [onClose]);\n\n /* Timer */\n const timerAutoHide = useRef<NodeJS.Timeout>();\n const setAutoHideTimer = useCallback(\n (duration: number) => {\n if (!onClose || duration == null) {\n return;\n }\n\n clearTimeout(timerAutoHide.current);\n timerAutoHide.current = setTimeout(() => {\n handleClose();\n }, duration);\n },\n [handleClose, onClose]\n );\n\n useEffect(() => {\n if (open && autoHideDuration > 0) {\n setAutoHideTimer(autoHideDuration);\n }\n\n return () => {\n clearTimeout(timerAutoHide.current);\n };\n }, [open, autoHideDuration, setAutoHideTimer]);\n\n const iconElement = !hideIcon && getIcon(type, icon);\n\n // https://n12v.com/css-transition-to-from-auto/\n const recalculateElementWidth = useCallback((element: HTMLElement) => {\n const prevWidth = element.style.width;\n element.style.width = \"auto\";\n const endWidth = getComputedStyle(element).width;\n element.style.width = prevWidth;\n element.offsetWidth; // force repaint\n element.style.width = endWidth;\n }, []);\n\n useEffect(() => {\n if (ref.current) {\n recalculateElementWidth(ref.current);\n }\n }, [children, recalculateElementWidth]);\n\n return (\n <CSSTransition\n in={open}\n nodeRef={nodeRef}\n classNames={{ enterActive: styles.enterActive, exitActive: styles.exitActive }}\n timeout={400}\n unmountOnExit\n >\n <Text\n ref={nodeRef}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOAST, id)}\n type=\"text2\"\n element=\"div\"\n color=\"fixedLight\"\n className={classNames}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {iconElement && <div className={cx(styles.icon)}>{iconElement}</div>}\n <Flex align=\"center\" gap=\"large\" className={styles.content}>\n <Flex\n gap=\"medium\"\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CONTENT)}\n className={styles.textContent}\n >\n <span>{children}</span>\n {toastLinks}\n </Flex>\n {(toastButtons || deprecatedAction) && (toastButtons || deprecatedAction)}\n {loading && <Loader size=\"xs\" />}\n </Flex>\n {closeable && (\n <IconButton\n className={cx(styles.closeButton)}\n onClick={handleClose}\n size=\"small\"\n kind=\"tertiary\"\n color=\"fixed-light\"\n ariaLabel={closeButtonAriaLabel}\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CLOSE_BUTTON)}\n icon={CloseSmall}\n hideTooltip\n />\n )}\n </Text>\n </CSSTransition>\n );\n};\n\ninterface ToastStaticProps {\n types: typeof ToastTypeEnum;\n actionTypes: typeof ToastActionTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<ToastProps, ToastStaticProps>(Toast, {\n types: ToastTypeEnum,\n actionTypes: ToastActionTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$open","open","_ref$loading","loading","_ref$autoHideDuration","autoHideDuration","_ref$type","type","icon","_ref$hideIcon","hideIcon","deprecatedAction","action","actions","children","_ref$closeable","closeable","_ref$onClose","onClose","NOOP","className","id","_ref$closeButtonAriaL","closeButtonAriaLabel","dataTestId","ref","useRef","nodeRef","prevActions","usePrevious","length","toastLinks","useMemo","filter","map","_a","otherProps","__rest","React","createElement","ToastLink","key","href","styles","actionLink","shouldShowButtonTransition","undefined","toastButtons","index","content","ToastButton","Object","assign","concat","cx","actionButton","_defineProperty","withTransition","classNames","toast","getStyle","camelCase","handleClose","useCallback","timerAutoHide","setAutoHideTimer","duration","clearTimeout","current","setTimeout","useEffect","iconElement","getIcon","recalculateElementWidth","element","prevWidth","style","width","endWidth","getComputedStyle","CSSTransition","in","enterActive","exitActive","timeout","unmountOnExit","Text","getTestId","ComponentDefaultTestId","TOAST","color","role","Flex","align","gap","TOAST_CONTENT","textContent","Loader","size","IconButton","closeButton","onClick","kind","ariaLabel","TOAST_CLOSE_BUTTON","CloseSmall","hideTooltip","types","ToastTypeEnum","actionTypes","ToastActionTypeEnum"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{default as ModalFooter}from"./Modal/footers/ModalFooter/ModalFooter.js";export{default as ModalFooterWizard}from"./Modal/footers/ModalFooterWizard/ModalFooterWizard.js";export{default as ModalBasicLayout}from"./Modal/layouts/ModalBasicLayout/ModalBasicLayout.js";export{default as ModalMediaLayout}from"./Modal/layouts/ModalMediaLayout/ModalMediaLayout.js";export{default as ModalSideBySideLayout}from"./Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.js";export{default as Modal}from"./Modal/Modal/Modal.js";export{default as ModalHeader}from"./Modal/ModalHeader/ModalHeader.js";export{default as ModalContent}from"./Modal/ModalContent/ModalContent.js";export{default as ModalMedia}from"./Modal/ModalMedia/ModalMedia.js";
1
+ export{default as ModalFooter}from"./Modal/footers/ModalFooter/ModalFooter.js";export{default as ModalFooterWizard}from"./Modal/footers/ModalFooterWizard/ModalFooterWizard.js";export{default as ModalBasicLayout}from"./Modal/layouts/ModalBasicLayout/ModalBasicLayout.js";export{default as ModalMediaLayout}from"./Modal/layouts/ModalMediaLayout/ModalMediaLayout.js";export{default as ModalSideBySideLayout}from"./Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.js";export{default as Modal}from"./Modal/Modal/Modal.js";export{default as ModalHeader}from"./Modal/ModalHeader/ModalHeader.js";export{default as ModalContent}from"./Modal/ModalContent/ModalContent.js";export{default as ModalMedia}from"./Modal/ModalMedia/ModalMedia.js";export{default as Dropdown}from"./DropdownNew/Dropdown.js";
2
2
  //# sourceMappingURL=next.js.map
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useRef as e,useCallback as t}from"react";import u from"../ssr/useIsomorphicLayoutEffect.js";function i(i){var c=i.containerRef,o=i.gap,l=i.deductedSpaceRef,f=i.itemRefs,a=n(f.length),s=r(a,2),g=s[0],d=s[1],h=e([]),v=e(0),m=e(!1),p=t((function(){var r=null==c?void 0:c.current;if(r&&f.length){for(var n=r.offsetWidth-v.current,e=0,t=0,u=Math.min(f.length,h.current.length),i=0;u>i;i++){var l=h.current[i],a=i>0?l+o:l;if(e+a>n)break;e+=a,t++}d(t)}else d(f.length)}),[c,f,o]),R=t((function(){v.current=(null==l?void 0:l.current)?l.current.getBoundingClientRect().width:0}),[l]),b=t((function(){m.current||(m.current=!0,requestAnimationFrame((function(){try{if(!c.current||!f.length)return void d(f.length);R();var r=f.map((function(r){return r.current})).filter((function(r){return null!==r}));if(0===r.length)return d(0),void(h.current=[]);h.current=r.map((function(r){return r.getBoundingClientRect().width})),p()}finally{m.current=!1}})))}),[c,f,p,R]);return u((function(){if(c.current){var r=new ResizeObserver((function(){f.length>0?h.current.length?(R(),p()):b():(d(0),h.current=[])}));return r.observe(c.current),(null==l?void 0:l.current)&&r.observe(l.current),function(){return r.disconnect()}}}),[c,l,R,p,b,f]),u((function(){f.length>0?b():(d(0),h.current=[])}),[f,b]),g}export{i as default};
2
+ //# sourceMappingURL=useItemsOverflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useItemsOverflow.js","sources":["../../../../../src/hooks/useItemsOverflow/useItemsOverflow.ts"],"sourcesContent":["import { RefObject, useCallback, useState, useRef } from \"react\";\nimport useIsomorphicLayoutEffect from \"../ssr/useIsomorphicLayoutEffect\";\n\n/**\n * Custom hook that calculates how many items can fit in a container without overflowing\n */\nexport default function useItemsOverflow({\n containerRef,\n gap,\n deductedSpaceRef,\n itemRefs\n}: {\n containerRef: RefObject<HTMLElement>;\n gap: number;\n deductedSpaceRef?: RefObject<HTMLElement>;\n itemRefs: RefObject<HTMLElement>[];\n}) {\n const [visibleCount, setVisibleCount] = useState<number>(itemRefs.length);\n const itemWidthsRef = useRef<number[]>([]);\n const deductedWidthRef = useRef<number>(0);\n const isCalculatingRef = useRef(false);\n\n const calculateFromCachedWidths = useCallback(() => {\n const container = containerRef?.current;\n if (!container || !itemRefs.length) {\n setVisibleCount(itemRefs.length);\n return;\n }\n\n const containerWidth = container.offsetWidth;\n const deductedWidth = deductedWidthRef.current;\n const availableWidth = containerWidth - deductedWidth;\n\n let totalItemsWidth = 0;\n let count = 0;\n\n const maxIter = Math.min(itemRefs.length, itemWidthsRef.current.length);\n\n for (let i = 0; i < maxIter; i++) {\n const itemWidth = itemWidthsRef.current[i];\n const itemWidthWithGap = i > 0 ? itemWidth + gap : itemWidth;\n\n if (totalItemsWidth + itemWidthWithGap <= availableWidth) {\n totalItemsWidth += itemWidthWithGap;\n count++;\n } else {\n break;\n }\n }\n setVisibleCount(count);\n }, [containerRef, itemRefs, gap]);\n\n const measureDeductedWidth = useCallback(() => {\n if (deductedSpaceRef?.current) {\n deductedWidthRef.current = deductedSpaceRef.current.getBoundingClientRect().width;\n } else {\n deductedWidthRef.current = 0;\n }\n }, [deductedSpaceRef]);\n\n const measureAndCacheItems = useCallback(() => {\n if (isCalculatingRef.current) return;\n isCalculatingRef.current = true;\n\n requestAnimationFrame(() => {\n try {\n const container = containerRef.current;\n if (!container || !itemRefs.length) {\n setVisibleCount(itemRefs.length);\n return;\n }\n\n measureDeductedWidth();\n\n const itemElements = itemRefs.map(ref => ref.current).filter(el => el !== null) as HTMLElement[];\n\n if (itemElements.length === 0) {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n return;\n }\n\n itemWidthsRef.current = itemElements.map(item => item.getBoundingClientRect().width);\n calculateFromCachedWidths();\n } finally {\n isCalculatingRef.current = false;\n }\n });\n }, [containerRef, itemRefs, calculateFromCachedWidths, measureDeductedWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const resizeObserver = new ResizeObserver(() => {\n if (itemRefs.length > 0) {\n if (itemWidthsRef.current.length) {\n measureDeductedWidth();\n calculateFromCachedWidths();\n } else {\n measureAndCacheItems();\n }\n } else {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n if (deductedSpaceRef?.current) {\n resizeObserver.observe(deductedSpaceRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, [containerRef, deductedSpaceRef, measureDeductedWidth, calculateFromCachedWidths, measureAndCacheItems, itemRefs]);\n\n useIsomorphicLayoutEffect(() => {\n if (itemRefs.length > 0) {\n measureAndCacheItems();\n } else {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n }\n }, [itemRefs, measureAndCacheItems]);\n\n return visibleCount;\n}\n"],"names":["useItemsOverflow","_ref","containerRef","gap","deductedSpaceRef","itemRefs","_useState","useState","length","_useState2","_slicedToArray","visibleCount","setVisibleCount","itemWidthsRef","useRef","deductedWidthRef","isCalculatingRef","calculateFromCachedWidths","useCallback","container","current","availableWidth","offsetWidth","totalItemsWidth","count","maxIter","Math","min","i","itemWidth","itemWidthWithGap","measureDeductedWidth","getBoundingClientRect","width","measureAndCacheItems","requestAnimationFrame","itemElements","map","ref","filter","el","item","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","disconnect"],"mappings":"gMAMwB,SAAAA,EAAgBC,GAUvC,IATCC,EAAYD,EAAZC,aACAC,EAAGF,EAAHE,IACAC,EAAgBH,EAAhBG,iBACAC,EAAQJ,EAARI,SAOAC,EAAwCC,EAAiBF,EAASG,QAAOC,EAAAC,EAAAJ,EAAA,GAAlEK,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GAC9BI,EAAgBC,EAAiB,IACjCC,EAAmBD,EAAe,GAClCE,EAAmBF,GAAO,GAE1BG,EAA4BC,GAAY,WAC5C,IAAMC,EAAYjB,aAAA,EAAAA,EAAckB,QAChC,GAAKD,GAAcd,EAASG,OAA5B,CAcA,IATA,IAEMa,EAFiBF,EAAUG,YACXP,EAAiBK,QAGnCG,EAAkB,EAClBC,EAAQ,EAENC,EAAUC,KAAKC,IAAItB,EAASG,OAAQK,EAAcO,QAAQZ,QAEvDoB,EAAI,EAAOH,EAAJG,EAAaA,IAAK,CAChC,IAAMC,EAAYhB,EAAcO,QAAQQ,GAClCE,EAAmBF,EAAI,EAAIC,EAAY1B,EAAM0B,EAEnD,GAAIN,EAAkBO,EAAoBT,EAIxC,MAHAE,GAAmBO,EACnBN,GAIH,CACDZ,EAAgBY,EAtBf,MAFCZ,EAAgBP,EAASG,OAyB5B,GAAE,CAACN,EAAcG,EAAUF,IAEtB4B,EAAuBb,GAAY,WAErCH,EAAiBK,SADfhB,eAAAA,EAAkBgB,SACOhB,EAAiBgB,QAAQY,wBAAwBC,MAEjD,CAE/B,GAAG,CAAC7B,IAEE8B,EAAuBhB,GAAY,WACnCF,EAAiBI,UACrBJ,EAAiBI,SAAU,EAE3Be,uBAAsB,WACpB,IAEE,IADkBjC,EAAakB,UACZf,EAASG,OAE1B,YADAI,EAAgBP,EAASG,QAI3BuB,IAEA,IAAMK,EAAe/B,EAASgC,KAAI,SAAAC,GAAG,OAAIA,EAAIlB,OAAO,IAAEmB,QAAO,SAAAC,GAAE,OAAW,OAAPA,KAEnE,GAA4B,IAAxBJ,EAAa5B,OAGf,OAFAI,EAAgB,QAChBC,EAAcO,QAAU,IAI1BP,EAAcO,QAAUgB,EAAaC,KAAI,SAAAI,GAAI,OAAIA,EAAKT,wBAAwBC,SAC9EhB,GACD,CAAS,QACRD,EAAiBI,SAAU,CAC5B,CACH,IACD,GAAE,CAAClB,EAAcG,EAAUY,EAA2Bc,IAqCvD,OAnCAW,GAA0B,WACxB,GAAKxC,EAAakB,QAAlB,CAEA,IAAMuB,EAAiB,IAAIC,gBAAe,WACpCvC,EAASG,OAAS,EAChBK,EAAcO,QAAQZ,QACxBuB,IACAd,KAEAiB,KAGFtB,EAAgB,GAChBC,EAAcO,QAAU,GAE5B,IAQA,OANAuB,EAAeE,QAAQ3C,EAAakB,UAEhChB,eAAAA,EAAkBgB,UACpBuB,EAAeE,QAAQzC,EAAiBgB,SAGnC,WAAA,OAAMuB,EAAeG,YAAY,CAtBb,CAuB7B,GAAG,CAAC5C,EAAcE,EAAkB2B,EAAsBd,EAA2BiB,EAAsB7B,IAE3GqC,GAA0B,WACpBrC,EAASG,OAAS,EACpB0B,KAEAtB,EAAgB,GAChBC,EAAcO,QAAU,GAE5B,GAAG,CAACf,EAAU6B,IAEPvB,CACT"}
@@ -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_7006556923",groupTitle:"groupTitle_2d6e980556",sticky:"sticky_21eca0d524"};!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_7006556923 {\n overflow-y: auto;\n padding: 0;\n margin: 0;\n}\n.wrapper_7006556923 .groupTitle_2d6e980556 {\n color: var(--secondary-text-color);\n padding: 8px 4px 8px 4px;\n background-color: var(--fixed-light-color);\n}\n.wrapper_7006556923 .groupTitle_2d6e980556.sticky_21eca0d524 {\n position: sticky;\n top: 0;\n}\n.wrapper_7006556923 > 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_2739c619fe",highlighted:"highlighted_de25e198ea",disabled:"disabled_1c22cfb7b3",readOnly:"readOnly_222615c86e",selected:"selected_d261a5e5bb",small:"small_fc584bc81f",medium:"medium_71e2dd9d9c",large:"large_a185a7ecae",avatar:"avatar_c090dc0d62",icon:"icon_56c95ed38f",indent:"indent_e6df39ddf7",endElement:"endElement_fe26acb1ea"};!function(e){const a="s_id-410c7e21b012_3_54_2";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+a))return;const r=document.createElement("style");r.id=a,n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[a]=e)}(".wrapper_2739c619fe {\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_2739c619fe.highlighted_de25e198ea {\n background-color: var(--primary-background-hover-color);\n}\n.wrapper_2739c619fe.disabled_1c22cfb7b3 {\n color: var(--disabled-text-color);\n cursor: not-allowed;\n}\n.wrapper_2739c619fe.readOnly_222615c86e {\n cursor: default;\n}\n.wrapper_2739c619fe.selected_d261a5e5bb {\n background-color: var(--primary-selected-color);\n}\n.wrapper_2739c619fe.selected_d261a5e5bb.highlighted_de25e198ea {\n background-color: var(--primary-selected-hover-color);\n}\n.wrapper_2739c619fe.small_fc584bc81f {\n padding: 6px var(--spacing-small);\n}\n.wrapper_2739c619fe.medium_71e2dd9d9c {\n padding: 9px 12px;\n}\n.wrapper_2739c619fe.large_a185a7ecae {\n padding: 13px 12px;\n}\n.wrapper_2739c619fe .avatar_c090dc0d62,\n.wrapper_2739c619fe .icon_56c95ed38f {\n flex-shrink: 0;\n}\n.wrapper_2739c619fe .indent_e6df39ddf7 {\n width: 20px;\n}\n.wrapper_2739c619fe .endElement_fe26acb1ea {\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"}
@@ -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_5a23eb6c1e",wrapper:"wrapper_6418f3576d",active:"active_1f90e216ac",disabled:"disabled_58a7e9f3f1",readOnly:"readOnly_22f33ee1d6",error:"error_fda9ccc6c5",helperText:"helperText_b926c031fb"};!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 a=document.createElement("style");a.id=e,o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.appendChild(document.createTextNode(r))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=r)}(".outerWrapper_5a23eb6c1e {\n width: 100%;\n}\n\n.wrapper_6418f3576d {\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_6418f3576d:hover {\n --border-color: var(--primary-text-color);\n}\n\n.wrapper_6418f3576d.active_1f90e216ac {\n --border-color: var(--primary-color);\n}\n\n.wrapper_6418f3576d.disabled_58a7e9f3f1 {\n --border-color: var(--disabled-background-color);\n --background-color: var(--disabled-background-color);\n cursor: not-allowed;\n}\n\n.wrapper_6418f3576d.readOnly_22f33ee1d6 {\n --border-color: var(--allgrey-background-color);\n --background-color: var(--allgrey-background-color);\n cursor: default;\n}\n\n.wrapper_6418f3576d.error_fda9ccc6c5 {\n --border-color: var(--negative-color);\n}\n\n.helperText_b926c031fb {\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":""}
@@ -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_f9a421c242",menuHidden:"menuHidden_f91c4e5ffd"};!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_f9a421c242 {\n visibility: visible;\n}\n\n.menuHidden_f91c4e5ffd {\n visibility: hidden;\n}");export{e as default};
2
+ //# sourceMappingURL=Menu.module.scss.js.map
@@ -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_9512e6bee3",hiddenChip:"hiddenChip_42b7c1c7b3",hiddenChipsDialog:"hiddenChipsDialog_dda03a4ae5",dialogChip:"dialogChip_d6c50ac9a3"};!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_9512e6bee3 {\n min-width: 1px;\n flex-grow: 1;\n}\n\n.hiddenChip_42b7c1c7b3 {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n z-index: -1;\n}\n\n.hiddenChipsDialog_dda03a4ae5 {\n max-width: 192px;\n}\n\n.dialogChip_d6c50ac9a3 {\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
@@ -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
@@ -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"}
@@ -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"}
@@ -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"}
@@ -0,0 +1,2 @@
1
+ var e={triggerWrapper:"triggerWrapper_ed7790ce2b",small:"small_c92f1e9bcf",medium:"medium_f6f2c6f429",large:"large_27b06295e4",inputWrapper:"inputWrapper_0fe27f3589",multiSelected:"multiSelected_4a08029cab",hasSelected:"hasSelected_70d89a957b",selectedItem:"selectedItem_01edcf7692",faded:"faded_fd941cd835",placeholderText:"placeholderText_eecdaee44d",disabled:"disabled_70d8d6c40d",multiWrapper:"multiWrapper_86503e7aeb",actionsWrapper:"actionsWrapper_2e904b5a7c"};!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_ed7790ce2b {\n flex-grow: 1;\n position: relative;\n min-width: 1px;\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.triggerWrapper_ed7790ce2b.small_c92f1e9bcf {\n min-height: 32px;\n}\n.triggerWrapper_ed7790ce2b.medium_f6f2c6f429 {\n min-height: 40px;\n}\n.triggerWrapper_ed7790ce2b.large_27b06295e4 {\n min-height: 48px;\n}\n.triggerWrapper_ed7790ce2b .inputWrapper_0fe27f3589 {\n border: none;\n width: 100%;\n background: transparent;\n}\n.triggerWrapper_ed7790ce2b .inputWrapper_0fe27f3589.small_c92f1e9bcf {\n height: 24px;\n min-height: 24px;\n}\n.triggerWrapper_ed7790ce2b .inputWrapper_0fe27f3589.multiSelected_4a08029cab {\n width: 48px;\n flex-shrink: 0;\n padding: 0 var(--spacing-xs);\n}\n.triggerWrapper_ed7790ce2b .inputWrapper_0fe27f3589.hasSelected_70d89a957b {\n position: absolute;\n inset: 0;\n cursor: pointer;\n}\n.triggerWrapper_ed7790ce2b .selectedItem_01edcf7692 {\n position: relative;\n pointer-events: none;\n inset: 0;\n padding-inline-start: var(--spacing-xs);\n}\n.triggerWrapper_ed7790ce2b .selectedItem_01edcf7692.small_c92f1e9bcf {\n padding-inline-start: var(--spacing-small);\n min-height: 32px;\n height: 32px;\n}\n.triggerWrapper_ed7790ce2b .selectedItem_01edcf7692.medium_f6f2c6f429 {\n min-height: 40px;\n height: 40px;\n}\n.triggerWrapper_ed7790ce2b .selectedItem_01edcf7692.large_27b06295e4 {\n min-height: 48px;\n height: 48px;\n}\n.triggerWrapper_ed7790ce2b .selectedItem_01edcf7692.faded_fd941cd835 {\n opacity: 0.6;\n}\n.triggerWrapper_ed7790ce2b .placeholderText_eecdaee44d {\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_ed7790ce2b .placeholderText_eecdaee44d.disabled_70d8d6c40d {\n color: var(--disabled-text-color);\n}\n.multiWrapper_86503e7aeb {\n padding: var(--spacing-xs) var(--spacing-small);\n width: 100%;\n}\n.actionsWrapper_2e904b5a7c {\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":""}
@@ -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
@@ -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