intergalactic 15.119.0 → 15.120.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 (255) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/accordion/lib/cjs/Accordion.js +11 -12
  3. package/accordion/lib/cjs/Accordion.js.map +1 -1
  4. package/accordion/lib/es6/Accordion.js +11 -12
  5. package/accordion/lib/es6/Accordion.js.map +1 -1
  6. package/accordion/package.json +1 -1
  7. package/base-trigger/lib/cjs/BaseTrigger.js +20 -18
  8. package/base-trigger/lib/cjs/BaseTrigger.js.map +1 -1
  9. package/base-trigger/lib/cjs/ButtonTrigger.js +4 -7
  10. package/base-trigger/lib/cjs/ButtonTrigger.js.map +1 -1
  11. package/base-trigger/lib/cjs/FilterTrigger.js +7 -11
  12. package/base-trigger/lib/cjs/FilterTrigger.js.map +1 -1
  13. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  14. package/base-trigger/lib/es6/BaseTrigger.js +20 -18
  15. package/base-trigger/lib/es6/BaseTrigger.js.map +1 -1
  16. package/base-trigger/lib/es6/ButtonTrigger.js +4 -7
  17. package/base-trigger/lib/es6/ButtonTrigger.js.map +1 -1
  18. package/base-trigger/lib/es6/FilterTrigger.js +7 -11
  19. package/base-trigger/lib/es6/FilterTrigger.js.map +1 -1
  20. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  21. package/base-trigger/package.json +1 -1
  22. package/button/lib/cjs/component/AbstractButton/AbstractButton.js +0 -1
  23. package/button/lib/cjs/component/AbstractButton/AbstractButton.js.map +1 -1
  24. package/button/lib/cjs/component/Button/Button.js +27 -27
  25. package/button/lib/cjs/component/ButtonLink/ButtonLink.js +20 -20
  26. package/button/lib/es6/component/AbstractButton/AbstractButton.js +0 -1
  27. package/button/lib/es6/component/AbstractButton/AbstractButton.js.map +1 -1
  28. package/button/lib/es6/component/Button/Button.js +27 -27
  29. package/button/lib/es6/component/ButtonLink/ButtonLink.js +20 -20
  30. package/button/package.json +1 -1
  31. package/card/lib/cjs/Card.js +6 -6
  32. package/card/lib/es6/Card.js +6 -6
  33. package/card/package.json +1 -1
  34. package/carousel/lib/cjs/Carousel.js +21 -21
  35. package/carousel/lib/es6/Carousel.js +21 -21
  36. package/carousel/package.json +1 -1
  37. package/color-picker/lib/cjs/ColorPicker.js +24 -24
  38. package/color-picker/lib/cjs/PaletteManager.js +24 -24
  39. package/color-picker/lib/cjs/components/InputColor.js +24 -24
  40. package/color-picker/lib/es6/ColorPicker.js +24 -24
  41. package/color-picker/lib/es6/PaletteManager.js +24 -24
  42. package/color-picker/lib/es6/components/InputColor.js +24 -24
  43. package/color-picker/package.json +1 -1
  44. package/components.json +23 -23
  45. package/d3-chart/component/ChartLegend/LegendItem/LegendItem.type.d.ts +1 -0
  46. package/d3-chart/component/StackGroupBar/StackGroupBar.d.ts +3 -0
  47. package/d3-chart/component/StackGroupBar/StackGroupBar.type.d.ts +29 -0
  48. package/d3-chart/index.d.ts +2 -0
  49. package/d3-chart/lib/cjs/Area.js +11 -11
  50. package/d3-chart/lib/cjs/Axis.js +14 -14
  51. package/d3-chart/lib/cjs/Bar.js +16 -16
  52. package/d3-chart/lib/cjs/Bubble.js +12 -12
  53. package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
  54. package/d3-chart/lib/cjs/Donut.js +9 -9
  55. package/d3-chart/lib/cjs/Dots.js +8 -8
  56. package/d3-chart/lib/cjs/HorizontalBar.js +16 -16
  57. package/d3-chart/lib/cjs/Hover.js +3 -3
  58. package/d3-chart/lib/cjs/Line.js +9 -9
  59. package/d3-chart/lib/cjs/Plot.js +3 -3
  60. package/d3-chart/lib/cjs/Radar.js +19 -19
  61. package/d3-chart/lib/cjs/RadialTree.js +12 -12
  62. package/d3-chart/lib/cjs/Reference.js +12 -12
  63. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  64. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  65. package/d3-chart/lib/cjs/Venn.js +9 -9
  66. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  67. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  68. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  69. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +19 -19
  70. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  71. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  72. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  73. package/d3-chart/lib/cjs/component/StackGroupBar/StackGroupBar.js +173 -0
  74. package/d3-chart/lib/cjs/component/StackGroupBar/StackGroupBar.js.map +1 -0
  75. package/d3-chart/lib/cjs/component/StackGroupBar/StackGroupBar.type.js +2 -0
  76. package/d3-chart/lib/cjs/component/StackGroupBar/StackGroupBar.type.js.map +1 -0
  77. package/d3-chart/lib/cjs/index.js +7 -0
  78. package/d3-chart/lib/cjs/index.js.map +1 -1
  79. package/d3-chart/lib/cjs/types/index.d.js +9 -1
  80. package/d3-chart/lib/cjs/types/index.d.js.map +1 -1
  81. package/d3-chart/lib/es6/Area.js +11 -11
  82. package/d3-chart/lib/es6/Axis.js +14 -14
  83. package/d3-chart/lib/es6/Bar.js +16 -16
  84. package/d3-chart/lib/es6/Bubble.js +12 -12
  85. package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
  86. package/d3-chart/lib/es6/Donut.js +9 -9
  87. package/d3-chart/lib/es6/Dots.js +8 -8
  88. package/d3-chart/lib/es6/HorizontalBar.js +16 -16
  89. package/d3-chart/lib/es6/Hover.js +3 -3
  90. package/d3-chart/lib/es6/Line.js +9 -9
  91. package/d3-chart/lib/es6/Plot.js +3 -3
  92. package/d3-chart/lib/es6/Radar.js +19 -19
  93. package/d3-chart/lib/es6/RadialTree.js +12 -12
  94. package/d3-chart/lib/es6/Reference.js +12 -12
  95. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  96. package/d3-chart/lib/es6/Tooltip.js +9 -9
  97. package/d3-chart/lib/es6/Venn.js +9 -9
  98. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  99. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  100. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  101. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +19 -19
  102. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  103. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  104. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  105. package/d3-chart/lib/es6/component/StackGroupBar/StackGroupBar.js +163 -0
  106. package/d3-chart/lib/es6/component/StackGroupBar/StackGroupBar.js.map +1 -0
  107. package/d3-chart/lib/es6/component/StackGroupBar/StackGroupBar.type.js +2 -0
  108. package/d3-chart/lib/es6/component/StackGroupBar/StackGroupBar.type.js.map +1 -0
  109. package/d3-chart/lib/es6/index.js +1 -0
  110. package/d3-chart/lib/es6/index.js.map +1 -1
  111. package/d3-chart/lib/es6/types/index.d.js +1 -0
  112. package/d3-chart/lib/es6/types/index.d.js.map +1 -1
  113. package/d3-chart/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +1 -0
  114. package/d3-chart/lib/types/component/StackGroupBar/StackGroupBar.d.ts +3 -0
  115. package/d3-chart/lib/types/component/StackGroupBar/StackGroupBar.type.d.ts +29 -0
  116. package/d3-chart/lib/types/index.d.ts +2 -0
  117. package/d3-chart/package.json +1 -1
  118. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  119. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
  120. package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
  121. package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
  122. package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
  123. package/date-picker/lib/es6/components/Calendar.js +21 -21
  124. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
  125. package/date-picker/lib/es6/components/InputTrigger.js +29 -29
  126. package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
  127. package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
  128. package/date-picker/package.json +1 -1
  129. package/drag-and-drop/lib/cjs/DragAndDrop.js +16 -16
  130. package/drag-and-drop/lib/es6/DragAndDrop.js +16 -16
  131. package/drag-and-drop/package.json +1 -1
  132. package/dropdown/lib/cjs/AbstractDropdown.js +52 -43
  133. package/dropdown/lib/cjs/AbstractDropdown.js.map +1 -1
  134. package/dropdown/lib/cjs/Dropdown.js +16 -16
  135. package/dropdown/lib/cjs/Dropdown.js.map +1 -1
  136. package/dropdown/lib/es6/AbstractDropdown.js +52 -43
  137. package/dropdown/lib/es6/AbstractDropdown.js.map +1 -1
  138. package/dropdown/lib/es6/Dropdown.js +16 -16
  139. package/dropdown/lib/es6/Dropdown.js.map +1 -1
  140. package/dropdown/package.json +1 -1
  141. package/dropdown-menu/index.d.ts +2 -0
  142. package/dropdown-menu/lib/cjs/DropdownMenu.js +29 -18
  143. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  144. package/dropdown-menu/lib/cjs/index.d.js.map +1 -1
  145. package/dropdown-menu/lib/es6/DropdownMenu.js +29 -18
  146. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  147. package/dropdown-menu/lib/es6/index.d.js.map +1 -1
  148. package/dropdown-menu/lib/types/index.d.ts +2 -0
  149. package/dropdown-menu/package.json +1 -1
  150. package/errors/lib/cjs/Error.js +9 -9
  151. package/errors/lib/es6/Error.js +9 -9
  152. package/errors/package.json +1 -1
  153. package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
  154. package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
  155. package/feedback-form/lib/cjs/component/feedback-item/FeedbackItem.js +1 -1
  156. package/feedback-form/lib/cjs/component/feedback-item/FeedbackItem.js.map +1 -1
  157. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +2 -2
  158. package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
  159. package/feedback-form/lib/es6/FeedbackForm.js +7 -7
  160. package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
  161. package/feedback-form/lib/es6/component/feedback-item/FeedbackItem.js +1 -1
  162. package/feedback-form/lib/es6/component/feedback-item/FeedbackItem.js.map +1 -1
  163. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +2 -2
  164. package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
  165. package/feedback-form/package.json +1 -1
  166. package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
  167. package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
  168. package/fullscreen-modal/package.json +1 -1
  169. package/inline-edit/lib/cjs/InlineEdit.js +16 -4
  170. package/inline-edit/lib/cjs/InlineEdit.js.map +1 -1
  171. package/inline-edit/lib/es6/InlineEdit.js +16 -4
  172. package/inline-edit/lib/es6/InlineEdit.js.map +1 -1
  173. package/inline-edit/package.json +1 -1
  174. package/inline-input/lib/cjs/InlineInput.js +14 -14
  175. package/inline-input/lib/es6/InlineInput.js +14 -14
  176. package/inline-input/package.json +1 -1
  177. package/input-number/lib/cjs/InputNumber.js +10 -21
  178. package/input-number/lib/cjs/InputNumber.js.map +1 -1
  179. package/input-number/lib/es6/InputNumber.js +10 -21
  180. package/input-number/lib/es6/InputNumber.js.map +1 -1
  181. package/input-number/package.json +1 -1
  182. package/input-tags/InputTags.d.ts +4 -2
  183. package/input-tags/lib/cjs/InputTags.js +51 -37
  184. package/input-tags/lib/cjs/InputTags.js.map +1 -1
  185. package/input-tags/lib/es6/InputTags.js +52 -37
  186. package/input-tags/lib/es6/InputTags.js.map +1 -1
  187. package/input-tags/lib/types/InputTags.d.ts +4 -2
  188. package/input-tags/package.json +1 -1
  189. package/mini-chart/lib/cjs/component/score/Donut.js +19 -13
  190. package/mini-chart/lib/cjs/component/score/Donut.js.map +1 -1
  191. package/mini-chart/lib/cjs/component/score/Line.js +18 -18
  192. package/mini-chart/lib/cjs/component/trend/Bar.js +17 -11
  193. package/mini-chart/lib/cjs/component/trend/Bar.js.map +1 -1
  194. package/mini-chart/lib/cjs/component/trend/Line.js +17 -11
  195. package/mini-chart/lib/cjs/component/trend/Line.js.map +1 -1
  196. package/mini-chart/lib/es6/component/score/Donut.js +19 -13
  197. package/mini-chart/lib/es6/component/score/Donut.js.map +1 -1
  198. package/mini-chart/lib/es6/component/score/Line.js +18 -18
  199. package/mini-chart/lib/es6/component/trend/Bar.js +17 -11
  200. package/mini-chart/lib/es6/component/trend/Bar.js.map +1 -1
  201. package/mini-chart/lib/es6/component/trend/Line.js +17 -11
  202. package/mini-chart/lib/es6/component/trend/Line.js.map +1 -1
  203. package/mini-chart/package.json +1 -1
  204. package/notice/lib/cjs/Notice.js +14 -14
  205. package/notice/lib/es6/Notice.js +14 -14
  206. package/notice/package.json +1 -1
  207. package/package.json +1 -1
  208. package/pagination/lib/cjs/Pagination.js +10 -10
  209. package/pagination/lib/es6/Pagination.js +10 -10
  210. package/pagination/package.json +1 -1
  211. package/select/lib/cjs/InputSearch.js +20 -16
  212. package/select/lib/cjs/InputSearch.js.map +1 -1
  213. package/select/lib/cjs/Select.js +28 -13
  214. package/select/lib/cjs/Select.js.map +1 -1
  215. package/select/lib/cjs/translations/de.json +2 -2
  216. package/select/lib/cjs/translations/en.json +3 -1
  217. package/select/lib/cjs/translations/es.json +2 -2
  218. package/select/lib/cjs/translations/fr.json +2 -2
  219. package/select/lib/cjs/translations/it.json +2 -2
  220. package/select/lib/cjs/translations/ja.json +2 -2
  221. package/select/lib/cjs/translations/ko.json +2 -2
  222. package/select/lib/cjs/translations/nl.json +2 -2
  223. package/select/lib/cjs/translations/pl.json +2 -2
  224. package/select/lib/cjs/translations/pt.json +2 -2
  225. package/select/lib/cjs/translations/sv.json +2 -2
  226. package/select/lib/cjs/translations/tr.json +2 -2
  227. package/select/lib/cjs/translations/vi.json +2 -2
  228. package/select/lib/cjs/translations/zh.json +2 -2
  229. package/select/lib/es6/InputSearch.js +20 -16
  230. package/select/lib/es6/InputSearch.js.map +1 -1
  231. package/select/lib/es6/Select.js +28 -13
  232. package/select/lib/es6/Select.js.map +1 -1
  233. package/select/lib/es6/translations/de.json +2 -2
  234. package/select/lib/es6/translations/en.json +3 -1
  235. package/select/lib/es6/translations/es.json +2 -2
  236. package/select/lib/es6/translations/fr.json +2 -2
  237. package/select/lib/es6/translations/it.json +2 -2
  238. package/select/lib/es6/translations/ja.json +2 -2
  239. package/select/lib/es6/translations/ko.json +2 -2
  240. package/select/lib/es6/translations/nl.json +2 -2
  241. package/select/lib/es6/translations/pl.json +2 -2
  242. package/select/lib/es6/translations/pt.json +2 -2
  243. package/select/lib/es6/translations/sv.json +2 -2
  244. package/select/lib/es6/translations/tr.json +2 -2
  245. package/select/lib/es6/translations/vi.json +2 -2
  246. package/select/lib/es6/translations/zh.json +2 -2
  247. package/select/package.json +1 -1
  248. package/time-picker/lib/cjs/TimePicker.js +12 -12
  249. package/time-picker/lib/es6/TimePicker.js +12 -12
  250. package/time-picker/package.json +1 -1
  251. package/utils/lib/ariaProps.d.ts +12 -0
  252. package/utils/lib/ariaProps.js +22 -0
  253. package/utils/lib/ariaProps.js.map +1 -0
  254. package/utils/lib/ariaProps.mjs +16 -0
  255. package/utils/lib/ariaProps.mjs.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_popper","_capitalizeFirstLetter","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_DropdownItem","_flexBox","_excluded","style","_index","sstyled","insert","INTERACTION_TAGS","DropdownRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","name","enabled","phase","fn","_ref7","state","options","_state$placement$spli","placement","split","_state$placement$spli2","_slicedToArray2","position","isVertical","indexOf","len","referenceLen","elements","reference","capitalizeFirstLetter","stretch","rects","popper","width","Math","max","e","_this$asProps","asProps","visible","interaction","element","popperRef","current","key","hasFocusableIn","preventDefault","includes","target","tagName","isPropagationStopped","handlers","_createClass2","value","uncontrolledProps","getTriggerProps","_this$asProps2","uid","disablePortal","getI18nText","id","undefined","focusHint","onKeyDown","handlerTriggerKeyDown","getPopperProps","_this$asProps3","ignorePortalsStacking","tabIndex","role","ref","focusMaster","autoFocus","render","_this$asProps4","Children","forwardRef","_this$asProps4$modifi","modifiers","other","_objectWithoutProperties2","createElement","_extends2","_toConsumableArray2","defaultModifiers","_typeof2","Component","offset","defaultVisible","i18n","localizedMessages","locale","uniqueIDEnhancement","i18nEnhance","DropdownTrigger","_ref8","_ref","arguments[0]","_ref4","styles","Tag","tag","hasInputTrigger","isInputTriggerTag","SDropdownTrigger","Popper","Trigger","cn","_objectSpread2","assignProps","DropdownPopper","_ref9","_ref2","_ref5","SDropdownPopper","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","SGroup","Box","SDropdownItemContainer","Dropdown","Item","SGroupTitle","Flex","SGroupHint","uidTitle","useUID","uidSubTitle","groupAriaProps","Fragment","createComponent","DropdownItem","Group","parent","_default","exports"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, Component, sstyled } from '@semcore/core';\nimport Popper, { isInputTriggerTag } from '@semcore/popper';\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown.shadow.css';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport { DropdownItem } from './DropdownItem';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { useUID } from '@semcore/utils/lib/uniqueID';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none' && !e.isPropagationStopped()) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n onKeyDown: this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden={'true'} tabindex={-1} size={size}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup render={Box} role={'group'} {...groupAriaProps} __excludeProps={['title']}>\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_popper","_capitalizeFirstLetter","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_DropdownItem","_flexBox","_excluded","style","_index","sstyled","insert","INTERACTION_TAGS","DropdownRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","name","enabled","phase","fn","_ref7","state","options","_state$placement$spli","placement","split","_state$placement$spli2","_slicedToArray2","position","isVertical","indexOf","len","referenceLen","elements","reference","capitalizeFirstLetter","stretch","rects","popper","width","Math","max","e","_this$asProps","asProps","visible","interaction","element","popperRef","current","key","hasFocusableIn","preventDefault","includes","target","tagName","handlers","_createClass2","value","uncontrolledProps","getTriggerProps","_this$asProps2","uid","disablePortal","getI18nText","id","undefined","focusHint","onKeyDown","handlerTriggerKeyDown","getPopperProps","_this$asProps3","ignorePortalsStacking","tabIndex","role","ref","focusMaster","autoFocus","render","_this$asProps4","Children","forwardRef","_this$asProps4$modifi","modifiers","other","_objectWithoutProperties2","createElement","_extends2","_toConsumableArray2","defaultModifiers","_typeof2","Component","offset","defaultVisible","i18n","localizedMessages","locale","uniqueIDEnhancement","i18nEnhance","DropdownTrigger","_ref8","_ref","arguments[0]","_ref4","styles","Tag","tag","hasInputTrigger","isInputTriggerTag","SDropdownTrigger","Popper","Trigger","cn","_objectSpread2","assignProps","DropdownPopper","_ref9","_ref2","_ref5","SDropdownPopper","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","SGroup","Box","SDropdownItemContainer","Dropdown","Item","SGroupTitle","Flex","SGroupHint","uidTitle","useUID","uidSubTitle","groupAriaProps","Fragment","createComponent","DropdownItem","Group","parent","_default","exports"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, Component, sstyled } from '@semcore/core';\nimport Popper, { isInputTriggerTag } from '@semcore/popper';\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown.shadow.css';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport { DropdownItem } from './DropdownItem';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { useUID } from '@semcore/utils/lib/uniqueID';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n onKeyDown: this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden={'true'} tabindex={-1} size={size}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup render={Box} role={'group'} {...groupAriaProps} __excludeProps={['title']}>\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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"}
@@ -35,19 +35,23 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
35
35
  _defineProperty(_assertThisInitialized(_this), "handleClickTrigger", function (e) {
36
36
  var interaction = _this.asProps.interaction;
37
37
  if (interaction === 'none') return false;
38
- e.preventDefault();
39
- e.stopPropagation();
40
- _this.handlers.visible(true);
41
38
  setTimeout(function () {
42
- var _this$asProps$highlig;
43
- var highlightedIndex = (_this$asProps$highlig = _this.asProps.highlightedIndex) !== null && _this$asProps$highlig !== void 0 ? _this$asProps$highlig : 0;
44
- var element = _this.itemRefs[highlightedIndex];
45
- element === null || element === void 0 ? void 0 : element.focus();
46
- if (_this.role === 'menu') {
47
- _this.handlers.highlightedIndex(highlightedIndex);
39
+ var _this$asProps = _this.asProps,
40
+ visible = _this$asProps.visible,
41
+ inlineActions = _this$asProps.inlineActions;
42
+ if (visible || inlineActions) {
43
+ _this.afterOpenPopper();
48
44
  }
49
- }, 0);
50
- return false;
45
+ }, 200); // because first will be executed onClick handler in popper
46
+ });
47
+ _defineProperty(_assertThisInitialized(_this), "afterOpenPopper", function () {
48
+ var _this$asProps$highlig;
49
+ var highlightedIndex = (_this$asProps$highlig = _this.asProps.highlightedIndex) !== null && _this$asProps$highlig !== void 0 ? _this$asProps$highlig : 0;
50
+ var element = _this.itemRefs[highlightedIndex];
51
+ element === null || element === void 0 ? void 0 : element.focus();
52
+ if (_this.role === 'menu') {
53
+ _this.handlers.highlightedIndex(highlightedIndex);
54
+ }
51
55
  });
52
56
  return _this;
53
57
  }
@@ -74,12 +78,12 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
74
78
  }, {
75
79
  key: "getTriggerProps",
76
80
  value: function getTriggerProps() {
77
- var _this$asProps = this.asProps,
78
- size = _this$asProps.size,
79
- uid = _this$asProps.uid,
80
- disablePortal = _this$asProps.disablePortal,
81
- visible = _this$asProps.visible,
82
- getI18nText = _this$asProps.getI18nText;
81
+ var _this$asProps2 = this.asProps,
82
+ size = _this$asProps2.size,
83
+ uid = _this$asProps2.uid,
84
+ disablePortal = _this$asProps2.disablePortal,
85
+ visible = _this$asProps2.visible,
86
+ getI18nText = _this$asProps2.getI18nText;
83
87
  return {
84
88
  size: size,
85
89
  id: "igc-".concat(uid, "-trigger"),
@@ -103,12 +107,12 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
103
107
  }, {
104
108
  key: "getPopperProps",
105
109
  value: function getPopperProps() {
106
- var _this$asProps2 = this.asProps,
107
- uid = _this$asProps2.uid,
108
- disablePortal = _this$asProps2.disablePortal,
109
- ignorePortalsStacking = _this$asProps2.ignorePortalsStacking,
110
- interaction = _this$asProps2.interaction,
111
- highlightedIndex = _this$asProps2.highlightedIndex;
110
+ var _this$asProps3 = this.asProps,
111
+ uid = _this$asProps3.uid,
112
+ disablePortal = _this$asProps3.disablePortal,
113
+ ignorePortalsStacking = _this$asProps3.ignorePortalsStacking,
114
+ interaction = _this$asProps3.interaction,
115
+ highlightedIndex = _this$asProps3.highlightedIndex;
112
116
  return {
113
117
  ref: this.popperRef,
114
118
  tabIndex: -1,
@@ -132,9 +136,9 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
132
136
  key: "getItemProps",
133
137
  value: function getItemProps(_, index) {
134
138
  var _this3 = this;
135
- var _this$asProps3 = this.asProps,
136
- size = _this$asProps3.size,
137
- uid = _this$asProps3.uid;
139
+ var _this$asProps4 = this.asProps,
140
+ size = _this$asProps4.size,
141
+ uid = _this$asProps4.uid;
138
142
  return {
139
143
  id: "igc-".concat(uid, "-option-").concat(index),
140
144
  size: size,
@@ -190,7 +194,7 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
190
194
  var selectedIndex = this.itemProps.findIndex(function (item) {
191
195
  return item.selected;
192
196
  });
193
- if (itemsLastIndex < 0) return 0;
197
+ if (itemsLastIndex < 0) return -1;
194
198
  var innerHighlightedIndex;
195
199
  if (highlightedIndex == null) {
196
200
  if (selectedIndex !== -1) {
@@ -212,7 +216,7 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
212
216
  if ((_this$itemProps$newIn = this.itemProps[newIndex]) !== null && _this$itemProps$newIn !== void 0 && _this$itemProps$newIn.disabled) {
213
217
  return this.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);
214
218
  } else if (!this.itemProps[newIndex]) {
215
- return 0;
219
+ return -1;
216
220
  } else {
217
221
  return newIndex;
218
222
  }
@@ -220,9 +224,9 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
220
224
  }, {
221
225
  key: "componentDidUpdate",
222
226
  value: function componentDidUpdate(prevProps) {
223
- var _this$asProps4 = this.asProps,
224
- visible = _this$asProps4.visible,
225
- focusSourceRef = _this$asProps4.focusSourceRef;
227
+ var _this$asProps5 = this.asProps,
228
+ visible = _this$asProps5.visible,
229
+ focusSourceRef = _this$asProps5.focusSourceRef;
226
230
  var visibilityChanged = visible !== prevProps.visible;
227
231
  if (visibilityChanged && prevProps.visible !== undefined) {
228
232
  if (!visible) {
@@ -264,6 +268,9 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
264
268
  key: "handleOpenKeyDown",
265
269
  value: function handleOpenKeyDown(e) {
266
270
  if (this.asProps.visible !== true && ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key) && e.currentTarget.getAttribute('role') !== this.childRole) {
271
+ if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
272
+ this.handlers.visible(true);
273
+ }
267
274
  this.handleClickTrigger(e);
268
275
  }
269
276
  }
@@ -271,9 +278,9 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
271
278
  key: "handleArrowKeyDown",
272
279
  value: function handleArrowKeyDown(e) {
273
280
  var amountCount = e.shiftKey ? 5 : 1;
274
- var _this$asProps5 = this.asProps,
275
- highlightedIndex = _this$asProps5.highlightedIndex,
276
- inlineActions = _this$asProps5.inlineActions;
281
+ var _this$asProps6 = this.asProps,
282
+ highlightedIndex = _this$asProps6.highlightedIndex,
283
+ inlineActions = _this$asProps6.inlineActions;
277
284
  var amount = null;
278
285
  switch (e.key) {
279
286
  case 'ArrowDown':
@@ -306,7 +313,7 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
306
313
  }
307
314
  case ' ':
308
315
  case 'Enter':
309
- if (this.highlightedItemRef.current && highlightedIndex !== null) {
316
+ if (this.highlightedItemRef.current && highlightedIndex !== null && !this.itemProps[highlightedIndex].disabled) {
310
317
  e.stopPropagation();
311
318
  e.preventDefault();
312
319
  this.highlightedItemRef.current.click();
@@ -315,14 +322,16 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
315
322
  }
316
323
  if (amount !== null) {
317
324
  var newHighlightedIndex = this.getHighlightedIndex(amount);
318
- if (newHighlightedIndex !== undefined && this.role === 'menu') {
319
- var _this$itemRefs$newHig;
320
- (_this$itemRefs$newHig = this.itemRefs[newHighlightedIndex]) === null || _this$itemRefs$newHig === void 0 ? void 0 : _this$itemRefs$newHig.focus();
321
- }
322
325
  if (this.role === 'listbox' && this.triggerRef.current && !isFocusInside(this.triggerRef.current)) {
323
326
  this.focusTrigger();
324
327
  }
325
- this.handlers.highlightedIndex(newHighlightedIndex, e);
328
+ if (newHighlightedIndex !== -1) {
329
+ this.handlers.highlightedIndex(newHighlightedIndex, e);
330
+ if (this.role === 'menu') {
331
+ var _this$itemRefs$newHig;
332
+ (_this$itemRefs$newHig = this.itemRefs[newHighlightedIndex]) === null || _this$itemRefs$newHig === void 0 ? void 0 : _this$itemRefs$newHig.focus();
333
+ }
334
+ }
326
335
  e.preventDefault();
327
336
  e.stopPropagation();
328
337
  }
@@ -339,9 +348,9 @@ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
339
348
  key: "getBasicListProps",
340
349
  value: function getBasicListProps() {
341
350
  var _this$triggerRef$curr;
342
- var _this$asProps6 = this.asProps,
343
- size = _this$asProps6.size,
344
- uid = _this$asProps6.uid;
351
+ var _this$asProps7 = this.asProps,
352
+ size = _this$asProps7.size,
353
+ uid = _this$asProps7.uid;
345
354
  var triggerId = (_this$triggerRef$curr = this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : _this$triggerRef$curr.id;
346
355
  var triggerElement = triggerId ? document.getElementById(triggerId) : null;
347
356
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDropdown.js","names":["React","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","isFocusInside","setFocus","focusSourceEnhance","getAccessibleName","enhance","selectedIndexContext","createContext","AbstractDropdown","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","interaction","asProps","preventDefault","stopPropagation","handlers","visible","setTimeout","_this$asProps$highlig","highlightedIndex","element","itemRefs","focus","role","_createClass","key","value","uncontrolledProps","_this2","selectedIndex","index","get","getTriggerProps","_this$asProps","size","uid","disablePortal","getI18nText","id","focusHint","undefined","onClick","handleClickTrigger","ref","triggerRef","getListProps","getBasicListProps","getMenuProps","getPopperProps","_this$asProps2","ignorePortalsStacking","popperRef","tabIndex","focusMaster","hideFocus","getGroupProps","getItemProps","_","_this3","_this$asProps3","onMouseEnter","childRole","getItemHintProps","getItemTitleProps","scrollToNode","node","_this4","highlightedItemRef","current","scrollIntoView","prevHighlightedIndex","block","inline","getHighlightedIndex","amount","_this$itemProps$newIn","itemsLastIndex","itemProps","findIndex","item","selected","innerHighlightedIndex","newIndex","disabled","componentDidUpdate","prevProps","_this$asProps4","focusSourceRef","visibilityChanged","document","activeElement","body","itemRef","props","getAttribute","handlePreventCommonKeyDown","target","Element","targetTagName","tagName","includes","handlePreventPopperKeyDown","handleOpenKeyDown","currentTarget","handleArrowKeyDown","amountCount","shiftKey","_this$asProps5","inlineActions","click","newHighlightedIndex","_this$itemRefs$newHig","focusTrigger","trigger","_this$triggerRef$curr","_this$asProps6","triggerId","triggerElement","getElementById","menuRef"],"sources":["../../src/AbstractDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isFocusInside, setFocus } from '@semcore/utils/lib/use/useFocusLock';\nimport focusSourceEnhance from '@semcore/utils/lib/enhances/focusSourceEnhance';\nimport { DropdownProps } from './index';\nimport { getAccessibleName } from '@semcore/utils/lib/getAccessibleName';\n\ntype AbstractDDProps = {\n visible: boolean;\n highlightedIndex: number | null;\n selectedIndex: number | null;\n placement: DropdownProps['placement'];\n inlineActions: boolean;\n disablePortal: boolean;\n ignorePortalsStacking: boolean;\n interaction: DropdownProps['interaction'];\n timeout?: number | [number, number];\n};\n\nexport const enhance = [\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n focusSourceEnhance(),\n] as const;\n\nexport const selectedIndexContext = React.createContext(0);\n\nexport abstract class AbstractDropdown extends Component<AbstractDDProps, {}, {}, typeof enhance> {\n protected abstract role: 'menu' | 'listbox';\n\n popperRef = React.createRef<HTMLElement>();\n triggerRef = React.createRef<HTMLElement>();\n menuRef = React.createRef<HTMLElement>();\n\n itemProps: any[] = [];\n itemRefs: HTMLElement[] = [];\n\n highlightedItemRef = React.createRef<HTMLElement>();\n\n prevHighlightedIndex: number | null = null;\n\n uncontrolledProps() {\n return {\n selectedIndex: null,\n highlightedIndex: [\n null,\n (index: number | null) => {\n this.handlers.selectedIndex(index);\n },\n ],\n visible: null,\n };\n }\n\n get childRole() {\n if (this.role === 'listbox') {\n return 'option';\n }\n\n return 'menuitem';\n }\n\n handleClickTrigger = (e: React.SyntheticEvent) => {\n const { interaction } = this.asProps;\n\n if (interaction === 'none') return false;\n\n e.preventDefault();\n e.stopPropagation();\n this.handlers.visible(true);\n\n setTimeout(() => {\n const highlightedIndex = this.asProps.highlightedIndex ?? 0;\n const element = this.itemRefs[highlightedIndex];\n element?.focus();\n if (this.role === 'menu') {\n this.handlers.highlightedIndex(highlightedIndex);\n }\n }, 0);\n\n return false;\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'true',\n 'aria-expanded': visible ? 'true' : 'false',\n onClick: this.handleClickTrigger,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n return this.getBasicListProps();\n }\n\n getMenuProps() {\n return this.getBasicListProps();\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: -1,\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n 'use:autoFocus': false,\n };\n }\n\n getGroupProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemProps(_: any, index: number) {\n const { size, uid } = this.asProps;\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n index,\n onMouseEnter: () => {\n this.handlers.selectedIndex(index);\n },\n role: this.childRole,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode(node: Element | null) {\n if (node) {\n // @ts-ignore\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n }\n\n getHighlightedIndex(amount: number): number {\n const { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return 0;\n\n let innerHighlightedIndex: number;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n innerHighlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current && this.prevHighlightedIndex !== null) {\n innerHighlightedIndex = this.prevHighlightedIndex;\n } else {\n innerHighlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n } else {\n innerHighlightedIndex = highlightedIndex;\n }\n\n let newIndex = innerHighlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n return this.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);\n } else if (!this.itemProps[newIndex]) {\n return 0;\n } else {\n return newIndex;\n }\n }\n\n componentDidUpdate(prevProps: AbstractDDProps) {\n const { visible, focusSourceRef } = this.asProps;\n const visibilityChanged = visible !== prevProps.visible;\n\n if (visibilityChanged && prevProps.visible !== undefined) {\n if (!visible) {\n this.handlers.highlightedIndex(null);\n // @ts-ignore\n this.highlightedItemRef.current = null;\n if (\n this.popperRef.current &&\n this.triggerRef.current &&\n (document.activeElement === document.body || isFocusInside(this.popperRef.current)) &&\n focusSourceRef.current === 'keyboard'\n ) {\n setFocus(this.triggerRef.current);\n }\n }\n }\n }\n\n protected itemRef(props: any, index: number, node: HTMLElement | null) {\n if (node?.getAttribute('role') === this.childRole) {\n this.itemRefs[index] = node;\n this.itemProps[index] = props;\n }\n }\n\n protected handlePreventCommonKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (e.target instanceof Element) {\n const targetTagName = e.target.tagName;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return false;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return false;\n }\n }\n protected handlePreventPopperKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (e.target instanceof Element) {\n const targetTagName = e.target.tagName;\n\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return false;\n }\n }\n protected handleOpenKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (\n this.asProps.visible !== true &&\n ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key) &&\n e.currentTarget.getAttribute('role') !== this.childRole\n ) {\n this.handleClickTrigger(e);\n }\n }\n\n protected handleArrowKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n const amountCount = e.shiftKey ? 5 : 1;\n const { highlightedIndex, inlineActions } = this.asProps;\n\n let amount: number | null = null;\n\n switch (e.key) {\n case 'ArrowDown': {\n if (!inlineActions) {\n amount = amountCount;\n }\n break;\n }\n case 'ArrowUp': {\n if (!inlineActions) {\n amount = -amountCount;\n }\n break;\n }\n case 'ArrowRight': {\n if (inlineActions) {\n amount = amountCount;\n }\n break;\n }\n case 'ArrowLeft': {\n if (inlineActions) {\n amount = -amountCount;\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current && highlightedIndex !== null) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n }\n\n break;\n }\n\n if (amount !== null) {\n const newHighlightedIndex = this.getHighlightedIndex(amount);\n if (newHighlightedIndex !== undefined && this.role === 'menu') {\n this.itemRefs[newHighlightedIndex]?.focus();\n }\n if (\n this.role === 'listbox' &&\n this.triggerRef.current &&\n !isFocusInside(this.triggerRef.current)\n ) {\n this.focusTrigger();\n }\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n private focusTrigger() {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n }\n\n private getBasicListProps() {\n const { size, uid } = this.asProps;\n const triggerId = this.triggerRef.current?.id;\n const triggerElement = triggerId ? document.getElementById(triggerId) : null;\n\n return {\n size,\n index: this.asProps.highlightedIndex,\n tabIndex: -1,\n ref: this.menuRef,\n id: `igc-${uid}-list`,\n role: this.role,\n 'aria-label': getAccessibleName(triggerElement),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AbstractDropdown.js","names":["React","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","isFocusInside","setFocus","focusSourceEnhance","getAccessibleName","enhance","selectedIndexContext","createContext","AbstractDropdown","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","interaction","asProps","setTimeout","_this$asProps","visible","inlineActions","afterOpenPopper","_this$asProps$highlig","highlightedIndex","element","itemRefs","focus","role","handlers","_createClass","key","value","uncontrolledProps","_this2","selectedIndex","index","get","getTriggerProps","_this$asProps2","size","uid","disablePortal","getI18nText","id","focusHint","undefined","onClick","handleClickTrigger","ref","triggerRef","getListProps","getBasicListProps","getMenuProps","getPopperProps","_this$asProps3","ignorePortalsStacking","popperRef","tabIndex","focusMaster","hideFocus","getGroupProps","getItemProps","_","_this3","_this$asProps4","onMouseEnter","childRole","getItemHintProps","getItemTitleProps","scrollToNode","node","_this4","highlightedItemRef","current","scrollIntoView","prevHighlightedIndex","block","inline","getHighlightedIndex","amount","_this$itemProps$newIn","itemsLastIndex","itemProps","findIndex","item","selected","innerHighlightedIndex","newIndex","disabled","componentDidUpdate","prevProps","_this$asProps5","focusSourceRef","visibilityChanged","document","activeElement","body","itemRef","props","getAttribute","handlePreventCommonKeyDown","target","Element","targetTagName","tagName","includes","handlePreventPopperKeyDown","handleOpenKeyDown","currentTarget","handleArrowKeyDown","amountCount","shiftKey","_this$asProps6","stopPropagation","preventDefault","click","newHighlightedIndex","focusTrigger","_this$itemRefs$newHig","trigger","_this$triggerRef$curr","_this$asProps7","triggerId","triggerElement","getElementById","menuRef"],"sources":["../../src/AbstractDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isFocusInside, setFocus } from '@semcore/utils/lib/use/useFocusLock';\nimport focusSourceEnhance from '@semcore/utils/lib/enhances/focusSourceEnhance';\nimport { DropdownProps } from './index';\nimport { getAccessibleName } from '@semcore/utils/lib/getAccessibleName';\n\ntype AbstractDDProps = {\n visible: boolean;\n highlightedIndex: number | null;\n selectedIndex: number | null;\n placement: DropdownProps['placement'];\n inlineActions: boolean;\n disablePortal: boolean;\n ignorePortalsStacking: boolean;\n interaction: DropdownProps['interaction'];\n timeout?: number | [number, number];\n};\n\nexport const enhance = [\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n focusSourceEnhance(),\n] as const;\n\nexport const selectedIndexContext = React.createContext(0);\n\nexport abstract class AbstractDropdown extends Component<AbstractDDProps, {}, {}, typeof enhance> {\n protected abstract role: 'menu' | 'listbox';\n\n popperRef = React.createRef<HTMLElement>();\n triggerRef = React.createRef<HTMLElement>();\n menuRef = React.createRef<HTMLElement>();\n\n itemProps: any[] = [];\n itemRefs: HTMLElement[] = [];\n\n highlightedItemRef = React.createRef<HTMLElement>();\n\n prevHighlightedIndex: number | null = null;\n\n uncontrolledProps() {\n return {\n selectedIndex: null,\n highlightedIndex: [\n null,\n (index: number | null) => {\n this.handlers.selectedIndex(index);\n },\n ],\n visible: null,\n };\n }\n\n get childRole() {\n if (this.role === 'listbox') {\n return 'option';\n }\n\n return 'menuitem';\n }\n\n handleClickTrigger = (e: React.SyntheticEvent) => {\n const { interaction } = this.asProps;\n\n if (interaction === 'none') return false;\n\n setTimeout(() => {\n const { visible, inlineActions } = this.asProps;\n if (visible || inlineActions) {\n this.afterOpenPopper();\n }\n }, 200); // because first will be executed onClick handler in popper\n };\n\n afterOpenPopper = () => {\n const highlightedIndex = this.asProps.highlightedIndex ?? 0;\n const element = this.itemRefs[highlightedIndex];\n element?.focus();\n if (this.role === 'menu') {\n this.handlers.highlightedIndex(highlightedIndex);\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'true',\n 'aria-expanded': visible ? 'true' : 'false',\n onClick: this.handleClickTrigger,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n return this.getBasicListProps();\n }\n\n getMenuProps() {\n return this.getBasicListProps();\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: -1,\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n 'use:autoFocus': false,\n };\n }\n\n getGroupProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemProps(_: any, index: number) {\n const { size, uid } = this.asProps;\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n index,\n onMouseEnter: () => {\n this.handlers.selectedIndex(index);\n },\n role: this.childRole,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode(node: Element | null) {\n if (node) {\n // @ts-ignore\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n }\n\n getHighlightedIndex(amount: number): number {\n const { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return -1;\n\n let innerHighlightedIndex: number;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n innerHighlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current && this.prevHighlightedIndex !== null) {\n innerHighlightedIndex = this.prevHighlightedIndex;\n } else {\n innerHighlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n } else {\n innerHighlightedIndex = highlightedIndex;\n }\n\n let newIndex = innerHighlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n return this.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);\n } else if (!this.itemProps[newIndex]) {\n return -1;\n } else {\n return newIndex;\n }\n }\n\n componentDidUpdate(prevProps: AbstractDDProps) {\n const { visible, focusSourceRef } = this.asProps;\n const visibilityChanged = visible !== prevProps.visible;\n\n if (visibilityChanged && prevProps.visible !== undefined) {\n if (!visible) {\n this.handlers.highlightedIndex(null);\n // @ts-ignore\n this.highlightedItemRef.current = null;\n if (\n this.popperRef.current &&\n this.triggerRef.current &&\n (document.activeElement === document.body || isFocusInside(this.popperRef.current)) &&\n focusSourceRef.current === 'keyboard'\n ) {\n setFocus(this.triggerRef.current);\n }\n }\n }\n }\n\n protected itemRef(props: any, index: number, node: HTMLElement | null) {\n if (node?.getAttribute('role') === this.childRole) {\n this.itemRefs[index] = node;\n this.itemProps[index] = props;\n }\n }\n\n protected handlePreventCommonKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (e.target instanceof Element) {\n const targetTagName = e.target.tagName;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return false;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return false;\n }\n }\n protected handlePreventPopperKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (e.target instanceof Element) {\n const targetTagName = e.target.tagName;\n\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return false;\n }\n }\n protected handleOpenKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (\n this.asProps.visible !== true &&\n ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key) &&\n e.currentTarget.getAttribute('role') !== this.childRole\n ) {\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n this.handlers.visible(true);\n }\n\n this.handleClickTrigger(e);\n }\n }\n\n protected handleArrowKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n const amountCount = e.shiftKey ? 5 : 1;\n const { highlightedIndex, inlineActions } = this.asProps;\n\n let amount: number | null = null;\n\n switch (e.key) {\n case 'ArrowDown': {\n if (!inlineActions) {\n amount = amountCount;\n }\n break;\n }\n case 'ArrowUp': {\n if (!inlineActions) {\n amount = -amountCount;\n }\n break;\n }\n case 'ArrowRight': {\n if (inlineActions) {\n amount = amountCount;\n }\n break;\n }\n case 'ArrowLeft': {\n if (inlineActions) {\n amount = -amountCount;\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (\n this.highlightedItemRef.current &&\n highlightedIndex !== null &&\n !this.itemProps[highlightedIndex].disabled\n ) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n }\n\n break;\n }\n\n if (amount !== null) {\n const newHighlightedIndex = this.getHighlightedIndex(amount);\n\n if (\n this.role === 'listbox' &&\n this.triggerRef.current &&\n !isFocusInside(this.triggerRef.current)\n ) {\n this.focusTrigger();\n }\n\n if (newHighlightedIndex !== -1) {\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n if (this.role === 'menu') {\n this.itemRefs[newHighlightedIndex]?.focus();\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n private focusTrigger() {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n }\n\n private getBasicListProps() {\n const { size, uid } = this.asProps;\n const triggerId = this.triggerRef.current?.id;\n const triggerElement = triggerId ? document.getElementById(triggerId) : null;\n\n return {\n size,\n index: this.asProps.highlightedIndex,\n tabIndex: -1,\n ref: this.menuRef,\n id: `igc-${uid}-list`,\n role: this.role,\n 'aria-label': getAccessibleName(triggerElement),\n };\n }\n}\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,eAAe;AACzC,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,WAAW,MAAM,yCAAyC;AACjE,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,SAASC,aAAa,EAAEC,QAAQ,QAAQ,qCAAqC;AAC7E,OAAOC,kBAAkB,MAAM,gDAAgD;AAE/E,SAASC,iBAAiB,QAAQ,sCAAsC;AAcxE,OAAO,IAAMC,OAAO,GAAG,CACrBP,mBAAmB,EAAE,EACrBC,WAAW,CAACC,iBAAiB,CAAC,EAC9BG,kBAAkB,EAAE,CACZ;AAEV,OAAO,IAAMG,oBAAoB,gBAAGV,KAAK,CAACW,aAAa,CAAC,CAAC,CAAC;AAE1D,WAAsBC,gBAAgB,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,gBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,gBAAA;EAAA,SAAAA,iBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,gBAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,6BAGxBjB,KAAK,CAAC8B,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,8BAC7BjB,KAAK,CAAC8B,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BACjCjB,KAAK,CAAC8B,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,gBAErB,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,eACK,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sCAEPjB,KAAK,CAAC8B,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BAEb,IAAI;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAuBrB,UAACc,CAAuB,EAAK;MAChD,IAAQC,WAAW,GAAKf,KAAA,CAAKgB,OAAO,CAA5BD,WAAW;MAEnB,IAAIA,WAAW,KAAK,MAAM,EAAE,OAAO,KAAK;MAExCE,UAAU,CAAC,YAAM;QACf,IAAAC,aAAA,GAAmClB,KAAA,CAAKgB,OAAO;UAAvCG,OAAO,GAAAD,aAAA,CAAPC,OAAO;UAAEC,aAAa,GAAAF,aAAA,CAAbE,aAAa;QAC9B,IAAID,OAAO,IAAIC,aAAa,EAAE;UAC5BpB,KAAA,CAAKqB,eAAe,EAAE;QACxB;MACF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAAAV,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sBAEiB,YAAM;MAAA,IAAAsB,qBAAA;MACtB,IAAMC,gBAAgB,IAAAD,qBAAA,GAAGtB,KAAA,CAAKgB,OAAO,CAACO,gBAAgB,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC;MAC3D,IAAME,OAAO,GAAGxB,KAAA,CAAKyB,QAAQ,CAACF,gBAAgB,CAAC;MAC/CC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,KAAK,EAAE;MAChB,IAAI1B,KAAA,CAAK2B,IAAI,KAAK,MAAM,EAAE;QACxB3B,KAAA,CAAK4B,QAAQ,CAACL,gBAAgB,CAACA,gBAAgB,CAAC;MAClD;IACF,CAAC;IAAA,OAAAvB,KAAA;EAAA;EAAA6B,YAAA,CAAAlC,gBAAA;IAAAmC,GAAA;IAAAC,KAAA,EAzCD,SAAAC,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAO;QACLC,aAAa,EAAE,IAAI;QACnBX,gBAAgB,EAAE,CAChB,IAAI,EACJ,UAACY,KAAoB,EAAK;UACxBF,MAAI,CAACL,QAAQ,CAACM,aAAa,CAACC,KAAK,CAAC;QACpC,CAAC,CACF;QACDhB,OAAO,EAAE;MACX,CAAC;IACH;EAAC;IAAAW,GAAA;IAAAM,GAAA,EAED,SAAAA,IAAA,EAAgB;MACd,IAAI,IAAI,CAACT,IAAI,KAAK,SAAS,EAAE;QAC3B,OAAO,QAAQ;MACjB;MAEA,OAAO,UAAU;IACnB;EAAC;IAAAG,GAAA;IAAAC,KAAA,EAwBD,SAAAM,gBAAA,EAAkB;MAChB,IAAAC,cAAA,GAA2D,IAAI,CAACtB,OAAO;QAA/DuB,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;QAAEC,aAAa,GAAAH,cAAA,CAAbG,aAAa;QAAEtB,OAAO,GAAAmB,cAAA,CAAPnB,OAAO;QAAEuB,WAAW,GAAAJ,cAAA,CAAXI,WAAW;MAEtD,OAAO;QACLH,IAAI,EAAJA,IAAI;QACJI,EAAE,SAAAjC,MAAA,CAAS8B,GAAG,aAAU;QACxBI,SAAS,EAAEzB,OAAO,IAAI,CAACsB,aAAa,GAAGC,WAAW,CAAC,aAAa,CAAC,GAAGG,SAAS;QAC7E,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE1B,OAAO,GAAG,MAAM,GAAG,OAAO;QAC3C2B,OAAO,EAAE,IAAI,CAACC,kBAAkB;QAChCC,GAAG,EAAE,IAAI,CAACC;MACZ,CAAC;IACH;EAAC;IAAAnB,GAAA;IAAAC,KAAA,EAED,SAAAmB,aAAA,EAAe;MACb,OAAO,IAAI,CAACC,iBAAiB,EAAE;IACjC;EAAC;IAAArB,GAAA;IAAAC,KAAA,EAED,SAAAqB,aAAA,EAAe;MACb,OAAO,IAAI,CAACD,iBAAiB,EAAE;IACjC;EAAC;IAAArB,GAAA;IAAAC,KAAA,EAED,SAAAsB,eAAA,EAAiB;MACf,IAAAC,cAAA,GACE,IAAI,CAACtC,OAAO;QADNwB,GAAG,GAAAc,cAAA,CAAHd,GAAG;QAAEC,aAAa,GAAAa,cAAA,CAAbb,aAAa;QAAEc,qBAAqB,GAAAD,cAAA,CAArBC,qBAAqB;QAAExC,WAAW,GAAAuC,cAAA,CAAXvC,WAAW;QAAEQ,gBAAgB,GAAA+B,cAAA,CAAhB/B,gBAAgB;MAGhF,OAAO;QACLyB,GAAG,EAAE,IAAI,CAACQ,SAAS;QACnBC,QAAQ,EAAE,CAAC,CAAC;QACZd,EAAE,SAAAjC,MAAA,CAAS8B,GAAG,YAAS;QACvBC,aAAa,EAAbA,aAAa;QACbc,qBAAqB,EAArBA,qBAAqB;QACrBG,WAAW,EAAE3C,WAAW,KAAK,OAAO;QACpC4C,SAAS,EAAEpC,gBAAgB,KAAK,IAAI;QACpC,eAAe,EAAE;MACnB,CAAC;IACH;EAAC;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAA6B,cAAA,EAAgB;MACd,IAAQrB,IAAI,GAAK,IAAI,CAACvB,OAAO,CAArBuB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA8B,aAAaC,CAAM,EAAE3B,KAAa,EAAE;MAAA,IAAA4B,MAAA;MAClC,IAAAC,cAAA,GAAsB,IAAI,CAAChD,OAAO;QAA1BuB,IAAI,GAAAyB,cAAA,CAAJzB,IAAI;QAAEC,GAAG,GAAAwB,cAAA,CAAHxB,GAAG;MAEjB,OAAO;QACLG,EAAE,SAAAjC,MAAA,CAAS8B,GAAG,cAAA9B,MAAA,CAAWyB,KAAK,CAAE;QAChCI,IAAI,EAAJA,IAAI;QACJJ,KAAK,EAALA,KAAK;QACL8B,YAAY,EAAE,SAAAA,aAAA,EAAM;UAClBF,MAAI,CAACnC,QAAQ,CAACM,aAAa,CAACC,KAAK,CAAC;QACpC,CAAC;QACDR,IAAI,EAAE,IAAI,CAACuC;MACb,CAAC;IACH;EAAC;IAAApC,GAAA;IAAAC,KAAA,EAED,SAAAoC,iBAAA,EAAmB;MACjB,IAAQ5B,IAAI,GAAK,IAAI,CAACvB,OAAO,CAArBuB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAqC,kBAAA,EAAoB;MAClB,IAAQ7B,IAAI,GAAK,IAAI,CAACvB,OAAO,CAArBuB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAsC,aAAaC,IAAoB,EAAE;MAAA,IAAAC,MAAA;MACjC,IAAID,IAAI,EAAE;QACR;QACA,IAAI,CAACE,kBAAkB,CAACC,OAAO,GAAGH,IAAI;MACxC;MACArD,UAAU,CAAC,YAAM;QACf,IAAIqD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEI,cAAc,EAAE;UACxB,IAAIH,MAAI,CAACvD,OAAO,CAACO,gBAAgB,KAAKgD,MAAI,CAACI,oBAAoB,EAAE;YAC/DJ,MAAI,CAACI,oBAAoB,GAAGJ,MAAI,CAACvD,OAAO,CAACO,gBAAgB;YACzD+C,IAAI,CAACI,cAAc,CAAC;cAClBE,KAAK,EAAE,SAAS;cAChBC,MAAM,EAAE;YACV,CAAC,CAAC;UACJ;QACF;MACF,CAAC,EAAE,CAAC,CAAC;IACP;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,SAAA+C,oBAAoBC,MAAc,EAAU;MAAA,IAAAC,qBAAA;MAC1C,IAAQzD,gBAAgB,GAAK,IAAI,CAACP,OAAO,CAAjCO,gBAAgB;MACxB,IAAM0D,cAAc,GAAG,IAAI,CAACC,SAAS,CAAC9E,MAAM,GAAG,CAAC;MAChD,IAAM8B,aAAa,GAAG,IAAI,CAACgD,SAAS,CAACC,SAAS,CAAC,UAACC,IAAI;QAAA,OAAKA,IAAI,CAACC,QAAQ;MAAA,EAAC;MAEvE,IAAIJ,cAAc,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;MAEjC,IAAIK,qBAA6B;MAEjC,IAAI/D,gBAAgB,IAAI,IAAI,EAAE;QAC5B,IAAIW,aAAa,KAAK,CAAC,CAAC,EAAE;UACxBoD,qBAAqB,GAAGpD,aAAa;QACvC,CAAC,MAAM,IAAI,IAAI,CAACsC,kBAAkB,CAACC,OAAO,IAAI,IAAI,CAACE,oBAAoB,KAAK,IAAI,EAAE;UAChFW,qBAAqB,GAAG,IAAI,CAACX,oBAAoB;QACnD,CAAC,MAAM;UACLW,qBAAqB,GAAGP,MAAM,GAAG,CAAC,GAAG,CAAC,GAAGE,cAAc;QACzD;MACF,CAAC,MAAM;QACLK,qBAAqB,GAAG/D,gBAAgB;MAC1C;MAEA,IAAIgE,QAAQ,GAAGD,qBAAqB,GAAGP,MAAM;MAC7C,IAAIQ,QAAQ,GAAG,CAAC,EAAE;QAChBA,QAAQ,GAAGR,MAAM,GAAGE,cAAc,GAAG,CAAC;MACxC,CAAC,MAAM,IAAIM,QAAQ,GAAGN,cAAc,EAAE;QACpCM,QAAQ,GAAGA,QAAQ,GAAGN,cAAc,GAAG,CAAC;MAC1C;MAEA,KAAAD,qBAAA,GAAI,IAAI,CAACE,SAAS,CAACK,QAAQ,CAAC,cAAAP,qBAAA,eAAxBA,qBAAA,CAA0BQ,QAAQ,EAAE;QACtC,OAAO,IAAI,CAACV,mBAAmB,CAACC,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC,CAAC;MACvE,CAAC,MAAM,IAAI,CAAC,IAAI,CAACG,SAAS,CAACK,QAAQ,CAAC,EAAE;QACpC,OAAO,CAAC,CAAC;MACX,CAAC,MAAM;QACL,OAAOA,QAAQ;MACjB;IACF;EAAC;IAAAzD,GAAA;IAAAC,KAAA,EAED,SAAA0D,mBAAmBC,SAA0B,EAAE;MAC7C,IAAAC,cAAA,GAAoC,IAAI,CAAC3E,OAAO;QAAxCG,OAAO,GAAAwE,cAAA,CAAPxE,OAAO;QAAEyE,cAAc,GAAAD,cAAA,CAAdC,cAAc;MAC/B,IAAMC,iBAAiB,GAAG1E,OAAO,KAAKuE,SAAS,CAACvE,OAAO;MAEvD,IAAI0E,iBAAiB,IAAIH,SAAS,CAACvE,OAAO,KAAK0B,SAAS,EAAE;QACxD,IAAI,CAAC1B,OAAO,EAAE;UACZ,IAAI,CAACS,QAAQ,CAACL,gBAAgB,CAAC,IAAI,CAAC;UACpC;UACA,IAAI,CAACiD,kBAAkB,CAACC,OAAO,GAAG,IAAI;UACtC,IACE,IAAI,CAACjB,SAAS,CAACiB,OAAO,IACtB,IAAI,CAACxB,UAAU,CAACwB,OAAO,KACtBqB,QAAQ,CAACC,aAAa,KAAKD,QAAQ,CAACE,IAAI,IAAI5G,aAAa,CAAC,IAAI,CAACoE,SAAS,CAACiB,OAAO,CAAC,CAAC,IACnFmB,cAAc,CAACnB,OAAO,KAAK,UAAU,EACrC;YACApF,QAAQ,CAAC,IAAI,CAAC4D,UAAU,CAACwB,OAAO,CAAC;UACnC;QACF;MACF;IACF;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAED,SAAAkE,QAAkBC,KAAU,EAAE/D,KAAa,EAAEmC,IAAwB,EAAE;MACrE,IAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6B,YAAY,CAAC,MAAM,CAAC,MAAK,IAAI,CAACjC,SAAS,EAAE;QACjD,IAAI,CAACzC,QAAQ,CAACU,KAAK,CAAC,GAAGmC,IAAI;QAC3B,IAAI,CAACY,SAAS,CAAC/C,KAAK,CAAC,GAAG+D,KAAK;MAC/B;IACF;EAAC;IAAApE,GAAA;IAAAC,KAAA,EAED,SAAAqE,2BAAqCtF,CAAmC,EAAE;MACxE,IAAIA,CAAC,CAACuF,MAAM,YAAYC,OAAO,EAAE;QAC/B,IAAMC,aAAa,GAAGzF,CAAC,CAACuF,MAAM,CAACG,OAAO;QAEtC,IAAI1F,CAAC,CAACgB,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC2E,QAAQ,CAACF,aAAa,CAAC,EAAE,OAAO,KAAK;QAChF,IAAIzF,CAAC,CAACgB,GAAG,KAAK,OAAO,IAAIyE,aAAa,KAAK,UAAU,EAAE,OAAO,KAAK;MACrE;IACF;EAAC;IAAAzE,GAAA;IAAAC,KAAA,EACD,SAAA2E,2BAAqC5F,CAAmC,EAAE;MACxE,IAAIA,CAAC,CAACuF,MAAM,YAAYC,OAAO,EAAE;QAC/B,IAAMC,aAAa,GAAGzF,CAAC,CAACuF,MAAM,CAACG,OAAO;QAEtC,IACE,CAAC1F,CAAC,CAACgB,GAAG,KAAK,GAAG,IAAIhB,CAAC,CAACgB,GAAG,KAAK,OAAO,MAClCyE,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,GAAG,CAAC,EAErD,OAAO,KAAK;MAChB;IACF;EAAC;IAAAzE,GAAA;IAAAC,KAAA,EACD,SAAA4E,kBAA4B7F,CAAmC,EAAE;MAC/D,IACE,IAAI,CAACE,OAAO,CAACG,OAAO,KAAK,IAAI,IAC7B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAACsF,QAAQ,CAAC3F,CAAC,CAACgB,GAAG,CAAC,IACtDhB,CAAC,CAAC8F,aAAa,CAACT,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAACjC,SAAS,EACvD;QACA,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAACuC,QAAQ,CAAC3F,CAAC,CAACgB,GAAG,CAAC,EAAE;UAC5C,IAAI,CAACF,QAAQ,CAACT,OAAO,CAAC,IAAI,CAAC;QAC7B;QAEA,IAAI,CAAC4B,kBAAkB,CAACjC,CAAC,CAAC;MAC5B;IACF;EAAC;IAAAgB,GAAA;IAAAC,KAAA,EAED,SAAA8E,mBAA6B/F,CAAmC,EAAE;MAChE,IAAMgG,WAAW,GAAGhG,CAAC,CAACiG,QAAQ,GAAG,CAAC,GAAG,CAAC;MACtC,IAAAC,cAAA,GAA4C,IAAI,CAAChG,OAAO;QAAhDO,gBAAgB,GAAAyF,cAAA,CAAhBzF,gBAAgB;QAAEH,aAAa,GAAA4F,cAAA,CAAb5F,aAAa;MAEvC,IAAI2D,MAAqB,GAAG,IAAI;MAEhC,QAAQjE,CAAC,CAACgB,GAAG;QACX,KAAK,WAAW;UAAE;YAChB,IAAI,CAACV,aAAa,EAAE;cAClB2D,MAAM,GAAG+B,WAAW;YACtB;YACA;UACF;QACA,KAAK,SAAS;UAAE;YACd,IAAI,CAAC1F,aAAa,EAAE;cAClB2D,MAAM,GAAG,CAAC+B,WAAW;YACvB;YACA;UACF;QACA,KAAK,YAAY;UAAE;YACjB,IAAI1F,aAAa,EAAE;cACjB2D,MAAM,GAAG+B,WAAW;YACtB;YACA;UACF;QACA,KAAK,WAAW;UAAE;YAChB,IAAI1F,aAAa,EAAE;cACjB2D,MAAM,GAAG,CAAC+B,WAAW;YACvB;YACA;UACF;QACA,KAAK,GAAG;QACR,KAAK,OAAO;UACV,IACE,IAAI,CAACtC,kBAAkB,CAACC,OAAO,IAC/BlD,gBAAgB,KAAK,IAAI,IACzB,CAAC,IAAI,CAAC2D,SAAS,CAAC3D,gBAAgB,CAAC,CAACiE,QAAQ,EAC1C;YACA1E,CAAC,CAACmG,eAAe,EAAE;YACnBnG,CAAC,CAACoG,cAAc,EAAE;YAClB,IAAI,CAAC1C,kBAAkB,CAACC,OAAO,CAAC0C,KAAK,EAAE;UACzC;UAEA;MAAM;MAGV,IAAIpC,MAAM,KAAK,IAAI,EAAE;QACnB,IAAMqC,mBAAmB,GAAG,IAAI,CAACtC,mBAAmB,CAACC,MAAM,CAAC;QAE5D,IACE,IAAI,CAACpD,IAAI,KAAK,SAAS,IACvB,IAAI,CAACsB,UAAU,CAACwB,OAAO,IACvB,CAACrF,aAAa,CAAC,IAAI,CAAC6D,UAAU,CAACwB,OAAO,CAAC,EACvC;UACA,IAAI,CAAC4C,YAAY,EAAE;QACrB;QAEA,IAAID,mBAAmB,KAAK,CAAC,CAAC,EAAE;UAC9B,IAAI,CAACxF,QAAQ,CAACL,gBAAgB,CAAC6F,mBAAmB,EAAEtG,CAAC,CAAC;UACtD,IAAI,IAAI,CAACa,IAAI,KAAK,MAAM,EAAE;YAAA,IAAA2F,qBAAA;YACxB,CAAAA,qBAAA,OAAI,CAAC7F,QAAQ,CAAC2F,mBAAmB,CAAC,cAAAE,qBAAA,uBAAlCA,qBAAA,CAAoC5F,KAAK,EAAE;UAC7C;QACF;QAEAZ,CAAC,CAACoG,cAAc,EAAE;QAClBpG,CAAC,CAACmG,eAAe,EAAE;MACrB;IACF;EAAC;IAAAnF,GAAA;IAAAC,KAAA,EAED,SAAAsF,aAAA,EAAuB;MACrB,IAAME,OAAO,GAAG,IAAI,CAACtE,UAAU,CAACwB,OAAO;MACvC,IAAI,CAAC8C,OAAO,EAAE;MACd,IAAInI,aAAa,CAACmI,OAAO,CAAC,EAAE;MAC5BlI,QAAQ,CAACkI,OAAO,CAAC;IACnB;EAAC;IAAAzF,GAAA;IAAAC,KAAA,EAED,SAAAoB,kBAAA,EAA4B;MAAA,IAAAqE,qBAAA;MAC1B,IAAAC,cAAA,GAAsB,IAAI,CAACzG,OAAO;QAA1BuB,IAAI,GAAAkF,cAAA,CAAJlF,IAAI;QAAEC,GAAG,GAAAiF,cAAA,CAAHjF,GAAG;MACjB,IAAMkF,SAAS,IAAAF,qBAAA,GAAG,IAAI,CAACvE,UAAU,CAACwB,OAAO,cAAA+C,qBAAA,uBAAvBA,qBAAA,CAAyB7E,EAAE;MAC7C,IAAMgF,cAAc,GAAGD,SAAS,GAAG5B,QAAQ,CAAC8B,cAAc,CAACF,SAAS,CAAC,GAAG,IAAI;MAE5E,OAAO;QACLnF,IAAI,EAAJA,IAAI;QACJJ,KAAK,EAAE,IAAI,CAACnB,OAAO,CAACO,gBAAgB;QACpCkC,QAAQ,EAAE,CAAC,CAAC;QACZT,GAAG,EAAE,IAAI,CAAC6E,OAAO;QACjBlF,EAAE,SAAAjC,MAAA,CAAS8B,GAAG,UAAO;QACrBb,IAAI,EAAE,IAAI,CAACA,IAAI;QACf,YAAY,EAAEpC,iBAAiB,CAACoI,cAAc;MAChD,CAAC;IACH;EAAC;EAAA,OAAAhI,gBAAA;AAAA,EAhV4CX,SAAS"}
@@ -23,21 +23,21 @@ import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
23
23
  import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
24
24
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
25
25
  /*__reshadow-styles__:"./style/dropdown.shadow.css"*/
26
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownItem_t47um_gg_,.___SDropdownPopper_t47um_gg_{position:relative;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownPopper_t47um_gg_{background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);white-space:normal;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15))}.___SDropdownItem_t47um_gg_{-webkit-text-decoration:none;text-decoration:none;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownItem_t47um_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownItem_t47um_gg_:focus{outline:0}.___SDropdownItem_t47um_gg_.__selected_t47um_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownItem_t47um_gg_.__selected_t47um_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownItem_t47um_gg_.__highlighted_t47um_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownItem_t47um_gg_.__disabled_t47um_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownItem_t47um_gg_._size_l_t47um_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownItem_t47um_gg_._size_m_t47um_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownItem_t47um_gg_.__notInteractive_t47um_gg_{cursor:default}@media (hover:hover){.___SDropdownItem_t47um_gg_.__notInteractive_t47um_gg_:hover{background:0 0}}.___SDropdownItem_t47um_gg_._variant_hint_t47um_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownItem_t47um_gg_._variant_hint_t47um_gg_:hover{background:0 0}}.___SDropdownItem_t47um_gg_._variant_title_t47um_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownItem_t47um_gg_._variant_title_t47um_gg_:hover{background:0 0}}.___SDropdownItem_t47um_gg_.__visible_t47um_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownItem_t47um_gg_.__nesting-trigger_t47um_gg_{justify-content:space-between}.___SGroupTitle_t47um_gg_{font-weight:var(--intergalactic-bold, 700)}.___SGroupHint_t47um_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}" /*__inner_css_end__*/, "t47um_gg_") /*__reshadow_css_end__*/, {
27
- "__SDropdownPopper": "___SDropdownPopper_t47um_gg_",
28
- "__SDropdownItem": "___SDropdownItem_t47um_gg_",
29
- "_highlighted": "__highlighted_t47um_gg_",
30
- "_disabled": "__disabled_t47um_gg_",
31
- "_size_l": "_size_l_t47um_gg_",
32
- "_size_m": "_size_m_t47um_gg_",
33
- "_visible": "__visible_t47um_gg_",
34
- "_nesting-trigger": "__nesting-trigger_t47um_gg_",
35
- "__SGroupTitle": "___SGroupTitle_t47um_gg_",
36
- "__SGroupHint": "___SGroupHint_t47um_gg_",
37
- "_selected": "__selected_t47um_gg_",
38
- "_notInteractive": "__notInteractive_t47um_gg_",
39
- "_variant_hint": "_variant_hint_t47um_gg_",
40
- "_variant_title": "_variant_title_t47um_gg_"
26
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownItem_1ch3z_gg_,.___SDropdownPopper_1ch3z_gg_{position:relative;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownPopper_1ch3z_gg_{background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);white-space:normal;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15))}.___SDropdownItem_1ch3z_gg_{-webkit-text-decoration:none;text-decoration:none;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownItem_1ch3z_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownItem_1ch3z_gg_:focus{outline:0}.___SDropdownItem_1ch3z_gg_.__selected_1ch3z_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownItem_1ch3z_gg_.__selected_1ch3z_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownItem_1ch3z_gg_.__highlighted_1ch3z_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownItem_1ch3z_gg_.__disabled_1ch3z_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownItem_1ch3z_gg_._size_l_1ch3z_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownItem_1ch3z_gg_._size_m_1ch3z_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownItem_1ch3z_gg_.__notInteractive_1ch3z_gg_{cursor:default}@media (hover:hover){.___SDropdownItem_1ch3z_gg_.__notInteractive_1ch3z_gg_:hover{background:0 0}}.___SDropdownItem_1ch3z_gg_._variant_hint_1ch3z_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownItem_1ch3z_gg_._variant_hint_1ch3z_gg_:hover{background:0 0}}.___SDropdownItem_1ch3z_gg_._variant_title_1ch3z_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownItem_1ch3z_gg_._variant_title_1ch3z_gg_:hover{background:0 0}}.___SDropdownItem_1ch3z_gg_.__visible_1ch3z_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownItem_1ch3z_gg_.__nesting-trigger_1ch3z_gg_{justify-content:space-between}.___SGroupTitle_1ch3z_gg_{font-weight:var(--intergalactic-bold, 700)}.___SGroupHint_1ch3z_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}" /*__inner_css_end__*/, "1ch3z_gg_") /*__reshadow_css_end__*/, {
27
+ "__SDropdownPopper": "___SDropdownPopper_1ch3z_gg_",
28
+ "__SDropdownItem": "___SDropdownItem_1ch3z_gg_",
29
+ "_highlighted": "__highlighted_1ch3z_gg_",
30
+ "_disabled": "__disabled_1ch3z_gg_",
31
+ "_size_l": "_size_l_1ch3z_gg_",
32
+ "_size_m": "_size_m_1ch3z_gg_",
33
+ "_visible": "__visible_1ch3z_gg_",
34
+ "_nesting-trigger": "__nesting-trigger_1ch3z_gg_",
35
+ "__SGroupTitle": "___SGroupTitle_1ch3z_gg_",
36
+ "__SGroupHint": "___SGroupHint_1ch3z_gg_",
37
+ "_selected": "__selected_1ch3z_gg_",
38
+ "_notInteractive": "__notInteractive_1ch3z_gg_",
39
+ "_variant_hint": "_variant_hint_1ch3z_gg_",
40
+ "_variant_title": "_variant_title_1ch3z_gg_"
41
41
  });
42
42
  import { hasFocusableIn } from 'intergalactic/utils/lib/use/useFocusLock';
43
43
  import { DropdownItem } from './DropdownItem';
@@ -92,7 +92,7 @@ var DropdownRoot = /*#__PURE__*/function (_Component) {
92
92
  }
93
93
  if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;
94
94
  if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;
95
- if (['Enter', ' '].includes(e.key) && interaction !== 'none' && !e.isPropagationStopped()) {
95
+ if (['Enter', ' '].includes(e.key) && interaction !== 'none') {
96
96
  e.preventDefault();
97
97
  _this.handlers.visible(true);
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["React","createComponent","Root","Component","sstyled","Popper","isInputTriggerTag","capitalizeFirstLetter","uniqueIDEnhancement","i18nEnhance","localizedMessages","style","_sstyled","insert","hasFocusableIn","DropdownItem","Flex","Box","useUID","INTERACTION_TAGS","DropdownRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","name","enabled","phase","fn","_ref7","state","options","_state$placement$spli","placement","split","_state$placement$spli2","_slicedToArray","position","isVertical","indexOf","len","referenceLen","elements","reference","stretch","rects","popper","width","Math","max","e","_this$asProps","asProps","visible","interaction","element","popperRef","current","key","preventDefault","includes","target","tagName","isPropagationStopped","handlers","_createClass","value","uncontrolledProps","getTriggerProps","_this$asProps2","uid","disablePortal","getI18nText","id","undefined","focusHint","onKeyDown","handlerTriggerKeyDown","getPopperProps","_this$asProps3","ignorePortalsStacking","tabIndex","role","ref","focusMaster","autoFocus","render","_this$asProps4","Children","forwardRef","_this$asProps4$modifi","modifiers","other","_objectWithoutProperties","_excluded","createElement","_extends","_toConsumableArray","defaultModifiers","_typeof","offset","defaultVisible","i18n","locale","DropdownTrigger","_ref8","_ref","arguments[0]","_ref4","styles","Tag","tag","hasInputTrigger","SDropdownTrigger","Trigger","cn","_objectSpread","_assignProps","DropdownPopper","_ref9","_ref2","_ref5","SDropdownPopper","_assignProps2","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","SGroup","SDropdownItemContainer","Dropdown","Item","SGroupTitle","SGroupHint","uidTitle","uidSubTitle","groupAriaProps","Fragment","_assignProps3","Group","parent"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, Component, sstyled } from '@semcore/core';\nimport Popper, { isInputTriggerTag } from '@semcore/popper';\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown.shadow.css';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport { DropdownItem } from './DropdownItem';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { useUID } from '@semcore/utils/lib/uniqueID';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none' && !e.isPropagationStopped()) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n onKeyDown: this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden={'true'} tabindex={-1} size={size}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup render={Box} role={'group'} {...groupAriaProps} __excludeProps={['title']}>\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","names":["React","createComponent","Root","Component","sstyled","Popper","isInputTriggerTag","capitalizeFirstLetter","uniqueIDEnhancement","i18nEnhance","localizedMessages","style","_sstyled","insert","hasFocusableIn","DropdownItem","Flex","Box","useUID","INTERACTION_TAGS","DropdownRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","name","enabled","phase","fn","_ref7","state","options","_state$placement$spli","placement","split","_state$placement$spli2","_slicedToArray","position","isVertical","indexOf","len","referenceLen","elements","reference","stretch","rects","popper","width","Math","max","e","_this$asProps","asProps","visible","interaction","element","popperRef","current","key","preventDefault","includes","target","tagName","handlers","_createClass","value","uncontrolledProps","getTriggerProps","_this$asProps2","uid","disablePortal","getI18nText","id","undefined","focusHint","onKeyDown","handlerTriggerKeyDown","getPopperProps","_this$asProps3","ignorePortalsStacking","tabIndex","role","ref","focusMaster","autoFocus","render","_this$asProps4","Children","forwardRef","_this$asProps4$modifi","modifiers","other","_objectWithoutProperties","_excluded","createElement","_extends","_toConsumableArray","defaultModifiers","_typeof","offset","defaultVisible","i18n","locale","DropdownTrigger","_ref8","_ref","arguments[0]","_ref4","styles","Tag","tag","hasInputTrigger","SDropdownTrigger","Trigger","cn","_objectSpread","_assignProps","DropdownPopper","_ref9","_ref2","_ref5","SDropdownPopper","_assignProps2","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","SGroup","SDropdownItemContainer","Dropdown","Item","SGroupTitle","SGroupHint","uidTitle","uidSubTitle","groupAriaProps","Fragment","_assignProps3","Group","parent"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, Component, sstyled } from '@semcore/core';\nimport Popper, { isInputTriggerTag } from '@semcore/popper';\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown.shadow.css';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport { DropdownItem } from './DropdownItem';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { useUID } from '@semcore/utils/lib/uniqueID';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n onKeyDown: this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden={'true'} tabindex={-1} size={size}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup render={Box} role={'group'} {...groupAriaProps} __excludeProps={['title']}>\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"name":"intergalactic/dropdown","description":"Semrush Dropdown Component","version":"4.41.5","main":"lib/cjs/index.js","module":"lib/es6/index.js","typings":"lib/types/index.d.ts","sideEffects":false,"author":"UI-kit team <ui-kit-team@semrush.com>","license":"MIT","scripts":{"build":"pnpm semcore-builder --source=js"},"dependencies":{"@semcore/flex-box":"5.39.0","@semcore/popper":"5.45.0","@semcore/utils":"4.44.0"},"peerDependencies":{"@semcore/core":"^2.17.5","react":"16.8 - 18","react-dom":"16.8 - 18"},"repository":{"type":"git","url":"https://github.com/semrush/intergalactic.git","directory":"semcore/dropdown"},"devDependencies":{"@types/react":"18.0.21","@semcore/testing-utils":"1.0.0"}}
1
+ {"name":"intergalactic/dropdown","description":"Semrush Dropdown Component","version":"4.41.7","main":"lib/cjs/index.js","module":"lib/es6/index.js","typings":"lib/types/index.d.ts","sideEffects":false,"author":"UI-kit team <ui-kit-team@semrush.com>","license":"MIT","scripts":{"build":"pnpm semcore-builder --source=js"},"dependencies":{"@semcore/flex-box":"5.39.0","@semcore/popper":"5.45.0","@semcore/utils":"4.44.0"},"peerDependencies":{"@semcore/core":"^2.17.5","react":"16.8 - 18","react-dom":"16.8 - 18"},"repository":{"type":"git","url":"https://github.com/semrush/intergalactic.git","directory":"semcore/dropdown"},"devDependencies":{"@types/react":"18.0.21","@semcore/testing-utils":"1.0.0"}}
@@ -9,6 +9,7 @@ import Dropdown, {
9
9
  import { Box, BoxProps, FlexProps, Flex } from 'intergalactic/flex-box';
10
10
  import { ScrollAreaProps } from 'intergalactic/scroll-area';
11
11
  import { Text } from 'intergalactic/typography';
12
+ import { eventInteraction } from 'intergalactic/popper';
12
13
 
13
14
  export type DropdownMenuSize = 'm' | 'l';
14
15
 
@@ -193,6 +194,7 @@ declare const DropdownMenu: Intergalactic.Component<
193
194
  };
194
195
 
195
196
  selectedIndexContext: React.Context<number>;
197
+ nestedMenuInteraction: eventInteraction;
196
198
  };
197
199
 
198
200
  export default DropdownMenu;