intergalactic 15.109.0 → 15.110.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 (468) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/accordion/lib/cjs/Accordion.js +9 -9
  3. package/accordion/lib/es6/Accordion.js +9 -9
  4. package/accordion/package.json +1 -1
  5. package/animation/lib/cjs/Animation.js +11 -11
  6. package/animation/lib/cjs/Collapse.js +28 -28
  7. package/animation/lib/cjs/FadeInOut.js +28 -28
  8. package/animation/lib/cjs/Scale.js +28 -28
  9. package/animation/lib/cjs/Slide.js +28 -28
  10. package/animation/lib/cjs/Transform.js +28 -28
  11. package/animation/lib/es6/Animation.js +11 -11
  12. package/animation/lib/es6/Collapse.js +28 -28
  13. package/animation/lib/es6/FadeInOut.js +28 -28
  14. package/animation/lib/es6/Scale.js +28 -28
  15. package/animation/lib/es6/Slide.js +28 -28
  16. package/animation/lib/es6/Transform.js +28 -28
  17. package/animation/package.json +1 -1
  18. package/badge/lib/cjs/Badge.js +6 -6
  19. package/badge/lib/es6/Badge.js +6 -6
  20. package/badge/package.json +1 -1
  21. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  22. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  23. package/base-trigger/lib/cjs/FilterTrigger.js +9 -9
  24. package/base-trigger/lib/cjs/FilterTrigger.js.map +1 -1
  25. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  26. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  27. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  28. package/base-trigger/lib/es6/FilterTrigger.js +10 -10
  29. package/base-trigger/lib/es6/FilterTrigger.js.map +1 -1
  30. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  31. package/base-trigger/package.json +1 -1
  32. package/breadcrumbs/lib/cjs/Breadcrumbs.js +8 -8
  33. package/breadcrumbs/lib/es6/Breadcrumbs.js +8 -8
  34. package/breadcrumbs/package.json +1 -1
  35. package/breakpoints/package.json +1 -1
  36. package/button/lib/cjs/component/AbstractButton/AbstractButton.js +1 -1
  37. package/button/lib/cjs/component/AbstractButton/AbstractButton.js.map +1 -1
  38. package/button/lib/cjs/component/Button/Button.js +27 -27
  39. package/button/lib/cjs/component/ButtonLink/ButtonLink.js +20 -20
  40. package/button/lib/es6/component/AbstractButton/AbstractButton.js +1 -1
  41. package/button/lib/es6/component/AbstractButton/AbstractButton.js.map +1 -1
  42. package/button/lib/es6/component/Button/Button.js +27 -27
  43. package/button/lib/es6/component/ButtonLink/ButtonLink.js +20 -20
  44. package/button/package.json +1 -1
  45. package/card/lib/cjs/Card.js +6 -6
  46. package/card/lib/es6/Card.js +6 -6
  47. package/card/package.json +1 -1
  48. package/carousel/lib/cjs/Carousel.js +21 -21
  49. package/carousel/lib/es6/Carousel.js +21 -21
  50. package/carousel/package.json +1 -1
  51. package/checkbox/lib/cjs/Checkbox.js +18 -18
  52. package/checkbox/lib/es6/Checkbox.js +18 -18
  53. package/checkbox/package.json +1 -1
  54. package/color-picker/lib/cjs/ColorPicker.js +24 -24
  55. package/color-picker/lib/cjs/PaletteManager.js +24 -24
  56. package/color-picker/lib/cjs/components/InputColor.js +24 -24
  57. package/color-picker/lib/es6/ColorPicker.js +24 -24
  58. package/color-picker/lib/es6/PaletteManager.js +24 -24
  59. package/color-picker/lib/es6/components/InputColor.js +24 -24
  60. package/color-picker/package.json +1 -1
  61. package/components.json +73 -73
  62. package/core/package.json +1 -1
  63. package/counter/lib/cjs/Counter.js +11 -11
  64. package/counter/lib/es6/Counter.js +11 -11
  65. package/counter/package.json +1 -1
  66. package/d3-chart/lib/cjs/Area.js +11 -11
  67. package/d3-chart/lib/cjs/Axis.js +14 -14
  68. package/d3-chart/lib/cjs/Bar.js +16 -16
  69. package/d3-chart/lib/cjs/Bubble.js +12 -12
  70. package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
  71. package/d3-chart/lib/cjs/Donut.js +9 -9
  72. package/d3-chart/lib/cjs/Dots.js +8 -8
  73. package/d3-chart/lib/cjs/HorizontalBar.js +16 -16
  74. package/d3-chart/lib/cjs/Hover.js +3 -3
  75. package/d3-chart/lib/cjs/Line.js +9 -9
  76. package/d3-chart/lib/cjs/Plot.js +3 -3
  77. package/d3-chart/lib/cjs/Radar.js +19 -19
  78. package/d3-chart/lib/cjs/RadialTree.js +12 -12
  79. package/d3-chart/lib/cjs/Reference.js +12 -12
  80. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  81. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  82. package/d3-chart/lib/cjs/Venn.js +9 -9
  83. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  84. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  85. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  86. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  87. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  88. package/d3-chart/lib/es6/Area.js +11 -11
  89. package/d3-chart/lib/es6/Axis.js +14 -14
  90. package/d3-chart/lib/es6/Bar.js +16 -16
  91. package/d3-chart/lib/es6/Bubble.js +12 -12
  92. package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
  93. package/d3-chart/lib/es6/Donut.js +9 -9
  94. package/d3-chart/lib/es6/Dots.js +8 -8
  95. package/d3-chart/lib/es6/HorizontalBar.js +16 -16
  96. package/d3-chart/lib/es6/Hover.js +3 -3
  97. package/d3-chart/lib/es6/Line.js +9 -9
  98. package/d3-chart/lib/es6/Plot.js +3 -3
  99. package/d3-chart/lib/es6/Radar.js +19 -19
  100. package/d3-chart/lib/es6/RadialTree.js +12 -12
  101. package/d3-chart/lib/es6/Reference.js +12 -12
  102. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  103. package/d3-chart/lib/es6/Tooltip.js +9 -9
  104. package/d3-chart/lib/es6/Venn.js +9 -9
  105. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  106. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  107. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  108. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  109. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  110. package/d3-chart/package.json +1 -1
  111. package/data-table/lib/cjs/Body.js +5 -3
  112. package/data-table/lib/cjs/Body.js.map +1 -1
  113. package/data-table/lib/cjs/DataTable.js +36 -36
  114. package/data-table/lib/es6/Body.js +5 -3
  115. package/data-table/lib/es6/Body.js.map +1 -1
  116. package/data-table/lib/es6/DataTable.js +36 -36
  117. package/data-table/package.json +1 -1
  118. package/date-picker/lib/cjs/DateRangeComparator.js +2 -4
  119. package/date-picker/lib/cjs/DateRangeComparator.js.map +1 -1
  120. package/date-picker/lib/cjs/components/Calendar.js +75 -47
  121. package/date-picker/lib/cjs/components/Calendar.js.map +1 -1
  122. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +42 -34
  123. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  124. package/date-picker/lib/cjs/components/InputTrigger.js +39 -37
  125. package/date-picker/lib/cjs/components/InputTrigger.js.map +1 -1
  126. package/date-picker/lib/cjs/components/PickerAbstract.js +47 -35
  127. package/date-picker/lib/cjs/components/PickerAbstract.js.map +1 -1
  128. package/date-picker/lib/cjs/components/RangePickerAbstract.js +54 -46
  129. package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  130. package/date-picker/lib/cjs/components/index.js +5 -6
  131. package/date-picker/lib/cjs/components/index.js.map +1 -1
  132. package/date-picker/lib/cjs/style/calendar.shadow.css +17 -8
  133. package/date-picker/lib/cjs/translations/en.json +7 -2
  134. package/date-picker/lib/es6/DateRangeComparator.js +2 -4
  135. package/date-picker/lib/es6/DateRangeComparator.js.map +1 -1
  136. package/date-picker/lib/es6/components/Calendar.js +75 -47
  137. package/date-picker/lib/es6/components/Calendar.js.map +1 -1
  138. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +42 -34
  139. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  140. package/date-picker/lib/es6/components/InputTrigger.js +39 -37
  141. package/date-picker/lib/es6/components/InputTrigger.js.map +1 -1
  142. package/date-picker/lib/es6/components/PickerAbstract.js +47 -35
  143. package/date-picker/lib/es6/components/PickerAbstract.js.map +1 -1
  144. package/date-picker/lib/es6/components/RangePickerAbstract.js +54 -46
  145. package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
  146. package/date-picker/lib/es6/components/index.js +5 -6
  147. package/date-picker/lib/es6/components/index.js.map +1 -1
  148. package/date-picker/lib/es6/style/calendar.shadow.css +17 -8
  149. package/date-picker/lib/es6/translations/en.json +7 -2
  150. package/date-picker/package.json +1 -1
  151. package/divider/lib/cjs/Divider.js +10 -10
  152. package/divider/lib/es6/Divider.js +10 -10
  153. package/divider/package.json +1 -1
  154. package/dot/lib/cjs/Dot.js +10 -10
  155. package/dot/lib/es6/Dot.js +10 -10
  156. package/dot/package.json +1 -1
  157. package/drag-and-drop/lib/cjs/DragAndDrop.js +16 -16
  158. package/drag-and-drop/lib/es6/DragAndDrop.js +16 -16
  159. package/drag-and-drop/package.json +1 -1
  160. package/dropdown/index.d.ts +15 -2
  161. package/dropdown/lib/cjs/AbstractDropdown.js +365 -0
  162. package/dropdown/lib/cjs/AbstractDropdown.js.map +1 -0
  163. package/dropdown/lib/cjs/Dropdown.js +79 -28
  164. package/dropdown/lib/cjs/Dropdown.js.map +1 -1
  165. package/dropdown/lib/cjs/DropdownItem.js +18 -0
  166. package/dropdown/lib/cjs/DropdownItem.js.map +1 -0
  167. package/dropdown/lib/cjs/index.d.js.map +1 -1
  168. package/dropdown/lib/cjs/index.js +19 -0
  169. package/dropdown/lib/cjs/index.js.map +1 -1
  170. package/dropdown/lib/cjs/style/dropdown.shadow.css +95 -0
  171. package/dropdown/lib/es6/AbstractDropdown.js +355 -0
  172. package/dropdown/lib/es6/AbstractDropdown.js.map +1 -0
  173. package/dropdown/lib/es6/Dropdown.js +80 -27
  174. package/dropdown/lib/es6/Dropdown.js.map +1 -1
  175. package/dropdown/lib/es6/DropdownItem.js +12 -0
  176. package/dropdown/lib/es6/DropdownItem.js.map +1 -0
  177. package/dropdown/lib/es6/index.d.js.map +1 -1
  178. package/dropdown/lib/es6/index.js +1 -0
  179. package/dropdown/lib/es6/index.js.map +1 -1
  180. package/dropdown/lib/es6/style/dropdown.shadow.css +95 -0
  181. package/dropdown/lib/types/index.d.ts +15 -2
  182. package/dropdown/package.json +1 -1
  183. package/dropdown-menu/index.d.ts +3 -11
  184. package/dropdown-menu/lib/cjs/DropdownMenu.js +167 -418
  185. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  186. package/dropdown-menu/lib/cjs/index.d.js.map +1 -1
  187. package/dropdown-menu/lib/cjs/index.js +0 -7
  188. package/dropdown-menu/lib/cjs/index.js.map +1 -1
  189. package/dropdown-menu/lib/cjs/style/dropdown-menu.shadow.css +3 -91
  190. package/dropdown-menu/lib/cjs/translations/en.json +1 -3
  191. package/dropdown-menu/lib/es6/DropdownMenu.js +167 -419
  192. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  193. package/dropdown-menu/lib/es6/index.d.js.map +1 -1
  194. package/dropdown-menu/lib/es6/index.js +0 -1
  195. package/dropdown-menu/lib/es6/index.js.map +1 -1
  196. package/dropdown-menu/lib/es6/style/dropdown-menu.shadow.css +3 -91
  197. package/dropdown-menu/lib/es6/translations/en.json +1 -3
  198. package/dropdown-menu/lib/types/index.d.ts +3 -11
  199. package/dropdown-menu/package.json +1 -1
  200. package/ellipsis/lib/cjs/Ellipsis.js +10 -10
  201. package/ellipsis/lib/es6/Ellipsis.js +10 -10
  202. package/ellipsis/package.json +1 -1
  203. package/errors/lib/cjs/Error.js +9 -9
  204. package/errors/lib/es6/Error.js +9 -9
  205. package/errors/package.json +1 -1
  206. package/feature-popover/lib/cjs/FeaturePopover.js +11 -11
  207. package/feature-popover/lib/es6/FeaturePopover.js +11 -11
  208. package/feature-popover/package.json +1 -1
  209. package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
  210. package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
  211. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +2 -2
  212. package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
  213. package/feedback-form/lib/es6/FeedbackForm.js +7 -7
  214. package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
  215. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +2 -2
  216. package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
  217. package/feedback-form/package.json +1 -1
  218. package/flags/lib/cjs/Flags.js +3 -3
  219. package/flags/lib/es6/Flags.js +3 -3
  220. package/flags/lib/sprites/sprite@1x.css +256 -256
  221. package/flags/lib/sprites/sprite@2x.css +257 -257
  222. package/flags/package.json +1 -1
  223. package/flex-box/lib/cjs/Box/useBox.js +3 -3
  224. package/flex-box/lib/cjs/Flex/useFlex.js +3 -3
  225. package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
  226. package/flex-box/lib/es6/Box/useBox.js +3 -3
  227. package/flex-box/lib/es6/Flex/useFlex.js +3 -3
  228. package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
  229. package/flex-box/package.json +1 -1
  230. package/format-text/lib/cjs/FormatText.js +5 -5
  231. package/format-text/lib/es6/FormatText.js +5 -5
  232. package/format-text/package.json +1 -1
  233. package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
  234. package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
  235. package/fullscreen-modal/package.json +1 -1
  236. package/grid/lib/cjs/Grid.js +114 -114
  237. package/grid/lib/es6/Grid.js +114 -114
  238. package/grid/package.json +1 -1
  239. package/i18n-unplugin/package.json +1 -1
  240. package/icon/color/Confluence/l/index.js +4 -4
  241. package/icon/color/Confluence/l/index.mjs +4 -4
  242. package/icon/color/Confluence/m/index.js +4 -4
  243. package/icon/color/Confluence/m/index.mjs +4 -4
  244. package/icon/color/MicrosoftOffice/l/index.js +10 -10
  245. package/icon/color/MicrosoftOffice/l/index.mjs +10 -10
  246. package/icon/color/MicrosoftOffice/m/index.js +10 -10
  247. package/icon/color/MicrosoftOffice/m/index.mjs +10 -10
  248. package/icon/lib/cjs/Icon.js +6 -6
  249. package/icon/lib/es6/Icon.js +6 -6
  250. package/icon/package.json +1 -1
  251. package/icon/pay/Discover/l/index.js +1 -1
  252. package/icon/pay/Discover/l/index.mjs +1 -1
  253. package/icon/pay/Discover/m/index.js +1 -1
  254. package/icon/pay/Discover/m/index.mjs +1 -1
  255. package/icon/pay/JCB/l/index.js +10 -10
  256. package/icon/pay/JCB/l/index.mjs +10 -10
  257. package/icon/pay/JCB/m/index.js +10 -10
  258. package/icon/pay/JCB/m/index.mjs +10 -10
  259. package/icon/pay/Visa/l/index.js +2 -2
  260. package/icon/pay/Visa/l/index.mjs +2 -2
  261. package/icon/pay/Visa/m/index.js +2 -2
  262. package/icon/pay/Visa/m/index.mjs +2 -2
  263. package/illustration/lib/cjs/index.js +1 -1
  264. package/illustration/lib/es6/index.js +1 -1
  265. package/illustration/package.json +1 -1
  266. package/inline-edit/lib/cjs/InlineEdit.js +4 -4
  267. package/inline-edit/lib/es6/InlineEdit.js +4 -4
  268. package/inline-edit/package.json +1 -1
  269. package/inline-input/lib/cjs/InlineInput.js +14 -14
  270. package/inline-input/lib/es6/InlineInput.js +14 -14
  271. package/inline-input/package.json +1 -1
  272. package/input/lib/cjs/Input.js +17 -17
  273. package/input/lib/es6/Input.js +17 -17
  274. package/input/package.json +1 -1
  275. package/input-mask/InputMask.d.ts +4 -0
  276. package/input-mask/lib/cjs/InputMask.js +11 -9
  277. package/input-mask/lib/cjs/InputMask.js.map +1 -1
  278. package/input-mask/lib/es6/InputMask.js +11 -9
  279. package/input-mask/lib/es6/InputMask.js.map +1 -1
  280. package/input-mask/lib/types/InputMask.d.ts +4 -0
  281. package/input-mask/package.json +1 -1
  282. package/input-number/lib/cjs/InputNumber.js +9 -9
  283. package/input-number/lib/es6/InputNumber.js +9 -9
  284. package/input-number/package.json +1 -1
  285. package/input-tags/lib/cjs/InputTags.js +12 -12
  286. package/input-tags/lib/es6/InputTags.js +12 -12
  287. package/input-tags/package.json +1 -1
  288. package/link/lib/cjs/Link.js +13 -13
  289. package/link/lib/cjs/Link.js.map +1 -1
  290. package/link/lib/es6/Link.js +13 -13
  291. package/link/lib/es6/Link.js.map +1 -1
  292. package/link/package.json +1 -1
  293. package/mini-chart/lib/cjs/component/score/Donut.js +9 -9
  294. package/mini-chart/lib/cjs/component/score/Line.js +17 -17
  295. package/mini-chart/lib/cjs/component/trend/Bar.js +7 -7
  296. package/mini-chart/lib/cjs/component/trend/Line.js +7 -7
  297. package/mini-chart/lib/es6/component/score/Donut.js +9 -9
  298. package/mini-chart/lib/es6/component/score/Line.js +17 -17
  299. package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
  300. package/mini-chart/lib/es6/component/trend/Line.js +7 -7
  301. package/mini-chart/package.json +1 -1
  302. package/modal/lib/cjs/Modal.js +8 -8
  303. package/modal/lib/es6/Modal.js +8 -8
  304. package/modal/package.json +1 -1
  305. package/neighbor-location/package.json +1 -1
  306. package/notice/lib/cjs/Notice.js +14 -14
  307. package/notice/lib/es6/Notice.js +14 -14
  308. package/notice/package.json +1 -1
  309. package/notice-bubble/lib/cjs/NoticeBubble.js +15 -15
  310. package/notice-bubble/lib/es6/NoticeBubble.js +15 -15
  311. package/notice-bubble/package.json +1 -1
  312. package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
  313. package/notice-global/lib/es6/NoticeGlobal.js +11 -11
  314. package/notice-global/package.json +1 -1
  315. package/outside-click/package.json +1 -1
  316. package/package.json +1 -1
  317. package/pagination/lib/cjs/Pagination.js +10 -10
  318. package/pagination/lib/es6/Pagination.js +10 -10
  319. package/pagination/package.json +1 -1
  320. package/pills/lib/cjs/Pills.js +13 -13
  321. package/pills/lib/es6/Pills.js +13 -13
  322. package/pills/package.json +1 -1
  323. package/popper/lib/cjs/Popper.js +6 -6
  324. package/popper/lib/es6/Popper.js +6 -6
  325. package/popper/package.json +1 -1
  326. package/portal/package.json +1 -1
  327. package/product-head/lib/cjs/Info.js +4 -4
  328. package/product-head/lib/cjs/ProductHead.js +5 -5
  329. package/product-head/lib/cjs/Title.js +4 -4
  330. package/product-head/lib/es6/Info.js +4 -4
  331. package/product-head/lib/es6/ProductHead.js +5 -5
  332. package/product-head/lib/es6/Title.js +4 -4
  333. package/product-head/package.json +1 -1
  334. package/progress-bar/lib/cjs/ProgressBar.js +15 -15
  335. package/progress-bar/lib/es6/ProgressBar.js +15 -15
  336. package/progress-bar/package.json +1 -1
  337. package/radio/lib/cjs/Radio.js +16 -16
  338. package/radio/lib/es6/Radio.js +16 -16
  339. package/radio/package.json +1 -1
  340. package/scroll-area/lib/cjs/ScrollArea.js +21 -21
  341. package/scroll-area/lib/cjs/ScrollBar.js +6 -6
  342. package/scroll-area/lib/es6/ScrollArea.js +21 -21
  343. package/scroll-area/lib/es6/ScrollBar.js +6 -6
  344. package/scroll-area/package.json +1 -1
  345. package/select/index.d.ts +16 -2
  346. package/select/lib/cjs/InputSearch.js +12 -13
  347. package/select/lib/cjs/InputSearch.js.map +1 -1
  348. package/select/lib/cjs/Select.js +149 -119
  349. package/select/lib/cjs/Select.js.map +1 -1
  350. package/select/lib/cjs/index.d.js.map +1 -1
  351. package/select/lib/cjs/style/input-search.shadow.css +5 -1
  352. package/select/lib/cjs/style/select.shadow.css +1 -1
  353. package/select/lib/cjs/translations/en.json +1 -3
  354. package/select/lib/es6/InputSearch.js +12 -13
  355. package/select/lib/es6/InputSearch.js.map +1 -1
  356. package/select/lib/es6/Select.js +142 -112
  357. package/select/lib/es6/Select.js.map +1 -1
  358. package/select/lib/es6/index.d.js.map +1 -1
  359. package/select/lib/es6/style/input-search.shadow.css +5 -1
  360. package/select/lib/es6/style/select.shadow.css +1 -1
  361. package/select/lib/es6/translations/en.json +1 -3
  362. package/select/lib/types/index.d.ts +16 -2
  363. package/select/package.json +1 -1
  364. package/side-panel/lib/cjs/SidePanel.js +17 -17
  365. package/side-panel/lib/cjs/SidePanel.js.map +1 -1
  366. package/side-panel/lib/es6/SidePanel.js +17 -17
  367. package/side-panel/lib/es6/SidePanel.js.map +1 -1
  368. package/side-panel/package.json +1 -1
  369. package/skeleton/lib/cjs/Charts/Area.js +9 -9
  370. package/skeleton/lib/cjs/Charts/Bar.js +9 -9
  371. package/skeleton/lib/cjs/Charts/Bubble.js +9 -9
  372. package/skeleton/lib/cjs/Charts/CompactHorizontalBar.js +9 -9
  373. package/skeleton/lib/cjs/Charts/Donut.js +9 -9
  374. package/skeleton/lib/cjs/Charts/Histogram.js +9 -9
  375. package/skeleton/lib/cjs/Charts/Line.js +9 -9
  376. package/skeleton/lib/cjs/Charts/RadialTree.js +9 -9
  377. package/skeleton/lib/cjs/Charts/ScatterPlot.js +9 -9
  378. package/skeleton/lib/cjs/Charts/Venn.js +9 -9
  379. package/skeleton/lib/cjs/Skeleton.js +8 -8
  380. package/skeleton/lib/es6/Charts/Area.js +9 -9
  381. package/skeleton/lib/es6/Charts/Bar.js +9 -9
  382. package/skeleton/lib/es6/Charts/Bubble.js +9 -9
  383. package/skeleton/lib/es6/Charts/CompactHorizontalBar.js +9 -9
  384. package/skeleton/lib/es6/Charts/Donut.js +9 -9
  385. package/skeleton/lib/es6/Charts/Histogram.js +9 -9
  386. package/skeleton/lib/es6/Charts/Line.js +9 -9
  387. package/skeleton/lib/es6/Charts/RadialTree.js +9 -9
  388. package/skeleton/lib/es6/Charts/ScatterPlot.js +9 -9
  389. package/skeleton/lib/es6/Charts/Venn.js +9 -9
  390. package/skeleton/lib/es6/Skeleton.js +8 -8
  391. package/skeleton/package.json +1 -1
  392. package/slider/lib/cjs/Slider.js +8 -8
  393. package/slider/lib/es6/Slider.js +8 -8
  394. package/slider/package.json +1 -1
  395. package/spin/lib/cjs/Spin.js +13 -13
  396. package/spin/lib/es6/Spin.js +13 -13
  397. package/spin/package.json +1 -1
  398. package/spin-container/lib/cjs/SpinContainer.js +8 -8
  399. package/spin-container/lib/es6/SpinContainer.js +8 -8
  400. package/spin-container/package.json +1 -1
  401. package/sticky/lib/cjs/Sticky.js +2 -2
  402. package/sticky/lib/es6/Sticky.js +2 -2
  403. package/sticky/package.json +1 -1
  404. package/switch/lib/cjs/Switch.js +21 -21
  405. package/switch/lib/es6/Switch.js +21 -21
  406. package/switch/package.json +1 -1
  407. package/tab-line/lib/cjs/TabLine.js +13 -13
  408. package/tab-line/lib/es6/TabLine.js +13 -13
  409. package/tab-line/package.json +1 -1
  410. package/tab-panel/lib/cjs/TabPanel.js +8 -8
  411. package/tab-panel/lib/es6/TabPanel.js +8 -8
  412. package/tab-panel/package.json +1 -1
  413. package/tag/lib/cjs/Tag.js +23 -23
  414. package/tag/lib/es6/Tag.js +23 -23
  415. package/tag/package.json +1 -1
  416. package/textarea/lib/cjs/Textarea.js +8 -8
  417. package/textarea/lib/es6/Textarea.js +8 -8
  418. package/textarea/package.json +1 -1
  419. package/time-picker/lib/cjs/TimePicker.js +12 -12
  420. package/time-picker/lib/es6/TimePicker.js +12 -12
  421. package/time-picker/package.json +1 -1
  422. package/tooltip/lib/cjs/Tooltip.js +9 -9
  423. package/tooltip/lib/es6/Tooltip.js +9 -9
  424. package/tooltip/package.json +1 -1
  425. package/typography/lib/cjs/Blockquote.js +4 -4
  426. package/typography/lib/cjs/Hint.js +7 -7
  427. package/typography/lib/cjs/List.js +5 -5
  428. package/typography/lib/cjs/Text.js +34 -34
  429. package/typography/lib/es6/Blockquote.js +4 -4
  430. package/typography/lib/es6/Hint.js +7 -7
  431. package/typography/lib/es6/List.js +5 -5
  432. package/typography/lib/es6/Text.js +34 -34
  433. package/typography/package.json +1 -1
  434. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
  435. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
  436. package/utils/lib/enhances/focusSourceEnhance.d.ts +2 -0
  437. package/utils/lib/enhances/focusSourceEnhance.js.map +1 -1
  438. package/utils/lib/enhances/focusSourceEnhance.mjs.map +1 -1
  439. package/utils/lib/getAccessibleName.d.ts +1 -0
  440. package/utils/lib/getAccessibleName.js +56 -0
  441. package/utils/lib/getAccessibleName.js.map +1 -0
  442. package/utils/lib/getAccessibleName.mjs +49 -0
  443. package/utils/lib/getAccessibleName.mjs.map +1 -0
  444. package/utils/lib/getEventTarget.js +38 -4
  445. package/utils/lib/getEventTarget.js.map +1 -1
  446. package/utils/lib/getEventTarget.mjs +37 -4
  447. package/utils/lib/getEventTarget.mjs.map +1 -1
  448. package/utils/lib/injectStyle.js +1 -1
  449. package/utils/lib/injectStyle.mjs +1 -1
  450. package/utils/lib/inputProps.d.ts +1 -1
  451. package/utils/lib/inputProps.js +3 -3
  452. package/utils/lib/inputProps.js.map +1 -1
  453. package/utils/lib/inputProps.mjs +2 -2
  454. package/utils/lib/inputProps.mjs.map +1 -1
  455. package/widget-empty/lib/cjs/WidgetEmpty.js +5 -5
  456. package/widget-empty/lib/es6/WidgetEmpty.js +5 -5
  457. package/widget-empty/package.json +1 -1
  458. package/wizard/lib/cjs/Wizard.js +14 -14
  459. package/wizard/lib/cjs/Wizard.js.map +1 -1
  460. package/wizard/lib/es6/Wizard.js +14 -14
  461. package/wizard/lib/es6/Wizard.js.map +1 -1
  462. package/wizard/package.json +1 -1
  463. package/dropdown-menu/lib/cjs/DropdownMenuOld.js +0 -682
  464. package/dropdown-menu/lib/cjs/DropdownMenuOld.js.map +0 -1
  465. package/dropdown-menu/lib/cjs/style/dropdown-menu-old.shadow.css +0 -224
  466. package/dropdown-menu/lib/es6/DropdownMenuOld.js +0 -683
  467. package/dropdown-menu/lib/es6/DropdownMenuOld.js.map +0 -1
  468. package/dropdown-menu/lib/es6/style/dropdown-menu-old.shadow.css +0 -224
@@ -0,0 +1,355 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _createSuper from "@babel/runtime/helpers/createSuper";
6
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
+ import React from 'react';
8
+ import { Component } from 'intergalactic/core';
9
+ import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
10
+ import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
11
+ import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
12
+ import { isFocusInside, setFocus } from 'intergalactic/utils/lib/use/useFocusLock';
13
+ import focusSourceEnhance from 'intergalactic/utils/lib/enhances/focusSourceEnhance';
14
+ import { getAccessibleName } from 'intergalactic/utils/lib/getAccessibleName';
15
+ export var enhance = {
16
+ uid: uniqueIDEnhancement(),
17
+ getI18nText: i18nEnhance(localizedMessages),
18
+ focusSourceRef: focusSourceEnhance()
19
+ };
20
+ export var selectedIndexContext = /*#__PURE__*/React.createContext(0);
21
+ export var AbstractDropdown = /*#__PURE__*/function (_Component) {
22
+ _inherits(AbstractDropdown, _Component);
23
+ var _super = _createSuper(AbstractDropdown);
24
+ function AbstractDropdown() {
25
+ var _this;
26
+ _classCallCheck(this, AbstractDropdown);
27
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
+ args[_key] = arguments[_key];
29
+ }
30
+ _this = _super.call.apply(_super, [this].concat(args));
31
+ _defineProperty(_assertThisInitialized(_this), "role", void 0);
32
+ _defineProperty(_assertThisInitialized(_this), "popperRef", /*#__PURE__*/React.createRef());
33
+ _defineProperty(_assertThisInitialized(_this), "triggerRef", /*#__PURE__*/React.createRef());
34
+ _defineProperty(_assertThisInitialized(_this), "menuRef", /*#__PURE__*/React.createRef());
35
+ _defineProperty(_assertThisInitialized(_this), "itemProps", []);
36
+ _defineProperty(_assertThisInitialized(_this), "itemRefs", []);
37
+ _defineProperty(_assertThisInitialized(_this), "highlightedItemRef", /*#__PURE__*/React.createRef());
38
+ _defineProperty(_assertThisInitialized(_this), "prevHighlightedIndex", null);
39
+ _defineProperty(_assertThisInitialized(_this), "handleClickTrigger", function (e) {
40
+ var interaction = _this.asProps.interaction;
41
+ if (interaction === 'none') return false;
42
+ e.preventDefault();
43
+ _this.handlers.visible(true);
44
+ if (_this.role === 'menu') {
45
+ setTimeout(function () {
46
+ var highlightedIndex = _this.asProps.highlightedIndex;
47
+ var element = _this.itemRefs[highlightedIndex !== null && highlightedIndex !== void 0 ? highlightedIndex : 0];
48
+ element === null || element === void 0 ? void 0 : element.focus();
49
+ }, 0);
50
+ }
51
+ });
52
+ return _this;
53
+ }
54
+ _createClass(AbstractDropdown, [{
55
+ key: "uncontrolledProps",
56
+ value: function uncontrolledProps() {
57
+ var _this2 = this;
58
+ return {
59
+ selectedIndex: null,
60
+ highlightedIndex: [null, function (index) {
61
+ _this2.handlers.selectedIndex(index);
62
+ }],
63
+ visible: null
64
+ };
65
+ }
66
+ }, {
67
+ key: "childRole",
68
+ get: function get() {
69
+ if (this.role === 'listbox') {
70
+ return 'option';
71
+ }
72
+ return 'menuitem';
73
+ }
74
+ }, {
75
+ key: "getTriggerProps",
76
+ 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;
83
+ return {
84
+ size: size,
85
+ id: "igc-".concat(uid, "-trigger"),
86
+ focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,
87
+ 'aria-haspopup': 'true',
88
+ 'aria-expanded': visible ? 'true' : 'false',
89
+ onClick: this.handleClickTrigger,
90
+ ref: this.triggerRef
91
+ };
92
+ }
93
+ }, {
94
+ key: "getListProps",
95
+ value: function getListProps() {
96
+ var _this$triggerRef$curr;
97
+ var _this$asProps2 = this.asProps,
98
+ size = _this$asProps2.size,
99
+ uid = _this$asProps2.uid;
100
+ var triggerId = (_this$triggerRef$curr = this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : _this$triggerRef$curr.id;
101
+ var triggerElement = triggerId ? document.getElementById(triggerId) : null;
102
+ return {
103
+ size: size,
104
+ index: this.asProps.highlightedIndex,
105
+ tabIndex: -1,
106
+ ref: this.menuRef,
107
+ id: "igc-".concat(uid, "-list"),
108
+ role: this.role,
109
+ 'aria-label': getAccessibleName(triggerElement)
110
+ };
111
+ }
112
+ }, {
113
+ key: "getMenuProps",
114
+ value: function getMenuProps() {
115
+ return this.getListProps();
116
+ }
117
+ }, {
118
+ key: "getPopperProps",
119
+ value: function getPopperProps() {
120
+ var _this$asProps3 = this.asProps,
121
+ uid = _this$asProps3.uid,
122
+ disablePortal = _this$asProps3.disablePortal,
123
+ ignorePortalsStacking = _this$asProps3.ignorePortalsStacking,
124
+ interaction = _this$asProps3.interaction,
125
+ highlightedIndex = _this$asProps3.highlightedIndex;
126
+ return {
127
+ ref: this.popperRef,
128
+ tabIndex: -1,
129
+ id: "igc-".concat(uid, "-popper"),
130
+ disablePortal: disablePortal,
131
+ ignorePortalsStacking: ignorePortalsStacking,
132
+ focusMaster: interaction === 'click',
133
+ hideFocus: highlightedIndex !== null,
134
+ 'use:autoFocus': false
135
+ };
136
+ }
137
+ }, {
138
+ key: "getGroupProps",
139
+ value: function getGroupProps() {
140
+ var size = this.asProps.size;
141
+ return {
142
+ size: size
143
+ };
144
+ }
145
+ }, {
146
+ key: "getItemProps",
147
+ value: function getItemProps(_, index) {
148
+ var _this3 = this;
149
+ var _this$asProps4 = this.asProps,
150
+ size = _this$asProps4.size,
151
+ uid = _this$asProps4.uid;
152
+ return {
153
+ id: "igc-".concat(uid, "-option-").concat(index),
154
+ size: size,
155
+ index: index,
156
+ onMouseEnter: function onMouseEnter() {
157
+ return _this3.handlers.selectedIndex(index);
158
+ },
159
+ role: this.childRole
160
+ };
161
+ }
162
+ }, {
163
+ key: "getItemHintProps",
164
+ value: function getItemHintProps() {
165
+ var size = this.asProps.size;
166
+ return {
167
+ size: size
168
+ };
169
+ }
170
+ }, {
171
+ key: "getItemTitleProps",
172
+ value: function getItemTitleProps() {
173
+ var size = this.asProps.size;
174
+ return {
175
+ size: size
176
+ };
177
+ }
178
+ }, {
179
+ key: "scrollToNode",
180
+ value: function scrollToNode(node) {
181
+ var _this4 = this;
182
+ if (node) {
183
+ // @ts-ignore
184
+ this.highlightedItemRef.current = node;
185
+ }
186
+ setTimeout(function () {
187
+ if (node !== null && node !== void 0 && node.scrollIntoView) {
188
+ if (_this4.asProps.highlightedIndex !== _this4.prevHighlightedIndex) {
189
+ _this4.prevHighlightedIndex = _this4.asProps.highlightedIndex;
190
+ node.scrollIntoView({
191
+ block: 'nearest',
192
+ inline: 'nearest'
193
+ });
194
+ }
195
+ }
196
+ }, 0);
197
+ }
198
+ }, {
199
+ key: "getHighlightedIndex",
200
+ value: function getHighlightedIndex(amount) {
201
+ var _this$itemProps$newIn;
202
+ var highlightedIndex = this.asProps.highlightedIndex;
203
+ var itemsLastIndex = this.itemProps.length - 1;
204
+ var selectedIndex = this.itemProps.findIndex(function (item) {
205
+ return item.selected;
206
+ });
207
+ if (itemsLastIndex < 0) return 0;
208
+ var innerHighlightedIndex;
209
+ if (highlightedIndex == null) {
210
+ if (selectedIndex !== -1) {
211
+ innerHighlightedIndex = selectedIndex;
212
+ } else if (this.highlightedItemRef.current && this.prevHighlightedIndex !== null) {
213
+ innerHighlightedIndex = this.prevHighlightedIndex;
214
+ } else {
215
+ innerHighlightedIndex = amount < 0 ? 0 : itemsLastIndex;
216
+ }
217
+ } else {
218
+ innerHighlightedIndex = highlightedIndex;
219
+ }
220
+ var newIndex = innerHighlightedIndex + amount;
221
+ if (newIndex < 0) {
222
+ newIndex = amount + itemsLastIndex + 1;
223
+ } else if (newIndex > itemsLastIndex) {
224
+ newIndex = newIndex - itemsLastIndex - 1;
225
+ }
226
+ if ((_this$itemProps$newIn = this.itemProps[newIndex]) !== null && _this$itemProps$newIn !== void 0 && _this$itemProps$newIn.disabled) {
227
+ return this.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);
228
+ } else if (!this.itemProps[newIndex]) {
229
+ return 0;
230
+ } else {
231
+ return newIndex;
232
+ }
233
+ }
234
+ }, {
235
+ key: "componentDidUpdate",
236
+ value: function componentDidUpdate(prevProps) {
237
+ var _this$asProps5 = this.asProps,
238
+ visible = _this$asProps5.visible,
239
+ focusSourceRef = _this$asProps5.focusSourceRef;
240
+ var visibilityChanged = visible !== prevProps.visible;
241
+ if (visibilityChanged && prevProps.visible !== undefined) {
242
+ if (!visible) {
243
+ this.handlers.highlightedIndex(null);
244
+ // @ts-ignore
245
+ this.highlightedItemRef.current = null;
246
+ if (this.popperRef.current && this.triggerRef.current && (document.activeElement === document.body || isFocusInside(this.popperRef.current)) && focusSourceRef.current === 'keyboard') {
247
+ setFocus(this.triggerRef.current);
248
+ }
249
+ }
250
+ }
251
+ }
252
+ }, {
253
+ key: "itemRef",
254
+ value: function itemRef(props, index, node) {
255
+ if ((node === null || node === void 0 ? void 0 : node.getAttribute('role')) === this.childRole) {
256
+ this.itemRefs[index] = node;
257
+ this.itemProps[index] = props;
258
+ }
259
+ }
260
+ }, {
261
+ key: "handlePreventCommonKeyDown",
262
+ value: function handlePreventCommonKeyDown(e) {
263
+ if (e.target instanceof Element) {
264
+ var targetTagName = e.target.tagName;
265
+ if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return false;
266
+ if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return false;
267
+ }
268
+ }
269
+ }, {
270
+ key: "handlePreventPopperKeyDown",
271
+ value: function handlePreventPopperKeyDown(e) {
272
+ if (e.target instanceof Element) {
273
+ var targetTagName = e.target.tagName;
274
+ if ((e.key === ' ' || e.key === 'Enter') && (targetTagName === 'BUTTON' || targetTagName === 'A')) return false;
275
+ }
276
+ }
277
+ }, {
278
+ key: "handleOpenKeyDown",
279
+ value: function handleOpenKeyDown(e) {
280
+ if (this.asProps.visible !== true && ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key) && e.currentTarget.getAttribute('role') !== this.childRole) {
281
+ this.handleClickTrigger(e);
282
+ }
283
+ }
284
+ }, {
285
+ key: "handleArrowKeyDown",
286
+ value: function handleArrowKeyDown(e) {
287
+ var amountCount = e.shiftKey ? 5 : 1;
288
+ var _this$asProps6 = this.asProps,
289
+ highlightedIndex = _this$asProps6.highlightedIndex,
290
+ inlineActions = _this$asProps6.inlineActions;
291
+ var amount = null;
292
+ switch (e.key) {
293
+ case 'ArrowDown':
294
+ {
295
+ if (!inlineActions) {
296
+ amount = amountCount;
297
+ }
298
+ break;
299
+ }
300
+ case 'ArrowUp':
301
+ {
302
+ if (!inlineActions) {
303
+ amount = -amountCount;
304
+ }
305
+ break;
306
+ }
307
+ case 'ArrowRight':
308
+ {
309
+ if (inlineActions) {
310
+ amount = amountCount;
311
+ }
312
+ break;
313
+ }
314
+ case 'ArrowLeft':
315
+ {
316
+ if (inlineActions) {
317
+ amount = -amountCount;
318
+ }
319
+ break;
320
+ }
321
+ case ' ':
322
+ case 'Enter':
323
+ if (this.highlightedItemRef.current && highlightedIndex !== null) {
324
+ e.stopPropagation();
325
+ e.preventDefault();
326
+ this.highlightedItemRef.current.click();
327
+ }
328
+ break;
329
+ }
330
+ if (amount !== null) {
331
+ var newHighlightedIndex = this.getHighlightedIndex(amount);
332
+ if (newHighlightedIndex !== undefined && this.role === 'menu') {
333
+ var _this$itemRefs$newHig;
334
+ (_this$itemRefs$newHig = this.itemRefs[newHighlightedIndex]) === null || _this$itemRefs$newHig === void 0 ? void 0 : _this$itemRefs$newHig.focus();
335
+ }
336
+ if (this.role === 'listbox' && this.triggerRef.current && !isFocusInside(this.triggerRef.current)) {
337
+ this.focusTrigger();
338
+ }
339
+ this.handlers.highlightedIndex(newHighlightedIndex, e);
340
+ e.preventDefault();
341
+ e.stopPropagation();
342
+ }
343
+ }
344
+ }, {
345
+ key: "focusTrigger",
346
+ value: function focusTrigger() {
347
+ var trigger = this.triggerRef.current;
348
+ if (!trigger) return;
349
+ if (isFocusInside(trigger)) return;
350
+ setFocus(trigger);
351
+ }
352
+ }]);
353
+ return AbstractDropdown;
354
+ }(Component);
355
+ //# sourceMappingURL=AbstractDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractDropdown.js","names":["React","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","isFocusInside","setFocus","focusSourceEnhance","getAccessibleName","enhance","uid","getI18nText","focusSourceRef","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","handlers","visible","role","setTimeout","highlightedIndex","element","itemRefs","focus","_createClass","key","value","uncontrolledProps","_this2","selectedIndex","index","get","getTriggerProps","_this$asProps","size","disablePortal","id","focusHint","undefined","onClick","handleClickTrigger","ref","triggerRef","getListProps","_this$triggerRef$curr","_this$asProps2","triggerId","current","triggerElement","document","getElementById","tabIndex","menuRef","getMenuProps","getPopperProps","_this$asProps3","ignorePortalsStacking","popperRef","focusMaster","hideFocus","getGroupProps","getItemProps","_","_this3","_this$asProps4","onMouseEnter","childRole","getItemHintProps","getItemTitleProps","scrollToNode","node","_this4","highlightedItemRef","scrollIntoView","prevHighlightedIndex","block","inline","getHighlightedIndex","amount","_this$itemProps$newIn","itemsLastIndex","itemProps","findIndex","item","selected","innerHighlightedIndex","newIndex","disabled","componentDidUpdate","prevProps","_this$asProps5","visibilityChanged","activeElement","body","itemRef","props","getAttribute","handlePreventCommonKeyDown","target","Element","targetTagName","tagName","includes","handlePreventPopperKeyDown","handleOpenKeyDown","currentTarget","handleArrowKeyDown","amountCount","shiftKey","_this$asProps6","inlineActions","stopPropagation","click","newHighlightedIndex","_this$itemRefs$newHig","focusTrigger","trigger"],"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 uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n focusSourceRef: focusSourceEnhance(),\n};\n\ntype Enhances<T extends { [key: string]: (...args: any) => any }> = {\n [K in keyof T]: ReturnType<T[K]>[K];\n};\n\nexport const selectedIndexContext = React.createContext(0);\n\nexport abstract class AbstractDropdown extends Component<\n AbstractDDProps,\n {},\n {},\n Enhances<typeof enhance>\n> {\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 this.handlers.visible(true);\n\n if (this.role === 'menu') {\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n const element = this.itemRefs[highlightedIndex ?? 0];\n element?.focus();\n }, 0);\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 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 getMenuProps() {\n return this.getListProps();\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: () => this.handlers.selectedIndex(index),\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 focusTrigger() {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\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;EACrBC,GAAG,EAAER,mBAAmB,EAAE;EAC1BS,WAAW,EAAER,WAAW,CAACC,iBAAiB,CAAC;EAC3CQ,cAAc,EAAEL,kBAAkB;AACpC,CAAC;AAMD,OAAO,IAAMM,oBAAoB,gBAAGb,KAAK,CAACc,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,6BAQxBpB,KAAK,CAACiC,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,8BAC7BpB,KAAK,CAACiC,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BACjCpB,KAAK,CAACiC,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,gBAErB,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,eACK,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sCAEPpB,KAAK,CAACiC,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;MAExCD,CAAC,CAACG,cAAc,EAAE;MAClBjB,KAAA,CAAKkB,QAAQ,CAACC,OAAO,CAAC,IAAI,CAAC;MAE3B,IAAInB,KAAA,CAAKoB,IAAI,KAAK,MAAM,EAAE;QACxBC,UAAU,CAAC,YAAM;UACf,IAAQC,gBAAgB,GAAKtB,KAAA,CAAKgB,OAAO,CAAjCM,gBAAgB;UACxB,IAAMC,OAAO,GAAGvB,KAAA,CAAKwB,QAAQ,CAACF,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAI,CAAC,CAAC;UACpDC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,KAAK,EAAE;QAClB,CAAC,EAAE,CAAC,CAAC;MACP;IACF,CAAC;IAAA,OAAAzB,KAAA;EAAA;EAAA0B,YAAA,CAAA/B,gBAAA;IAAAgC,GAAA;IAAAC,KAAA,EApCD,SAAAC,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAO;QACLC,aAAa,EAAE,IAAI;QACnBT,gBAAgB,EAAE,CAChB,IAAI,EACJ,UAACU,KAAoB,EAAK;UACxBF,MAAI,CAACZ,QAAQ,CAACa,aAAa,CAACC,KAAK,CAAC;QACpC,CAAC,CACF;QACDb,OAAO,EAAE;MACX,CAAC;IACH;EAAC;IAAAQ,GAAA;IAAAM,GAAA,EAED,SAAAA,IAAA,EAAgB;MACd,IAAI,IAAI,CAACb,IAAI,KAAK,SAAS,EAAE;QAC3B,OAAO,QAAQ;MACjB;MAEA,OAAO,UAAU;IACnB;EAAC;IAAAO,GAAA;IAAAC,KAAA,EAmBD,SAAAM,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAA2D,IAAI,CAACnB,OAAO;QAA/DoB,IAAI,GAAAD,aAAA,CAAJC,IAAI;QAAE9C,GAAG,GAAA6C,aAAA,CAAH7C,GAAG;QAAE+C,aAAa,GAAAF,aAAA,CAAbE,aAAa;QAAElB,OAAO,GAAAgB,aAAA,CAAPhB,OAAO;QAAE5B,WAAW,GAAA4C,aAAA,CAAX5C,WAAW;MAEtD,OAAO;QACL6C,IAAI,EAAJA,IAAI;QACJE,EAAE,SAAA5B,MAAA,CAASpB,GAAG,aAAU;QACxBiD,SAAS,EAAEpB,OAAO,IAAI,CAACkB,aAAa,GAAG9C,WAAW,CAAC,aAAa,CAAC,GAAGiD,SAAS;QAC7E,eAAe,EAAE,MAAM;QACvB,eAAe,EAAErB,OAAO,GAAG,MAAM,GAAG,OAAO;QAC3CsB,OAAO,EAAE,IAAI,CAACC,kBAAkB;QAChCC,GAAG,EAAE,IAAI,CAACC;MACZ,CAAC;IACH;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAiB,aAAA,EAAe;MAAA,IAAAC,qBAAA;MACb,IAAAC,cAAA,GAAsB,IAAI,CAAC/B,OAAO;QAA1BoB,IAAI,GAAAW,cAAA,CAAJX,IAAI;QAAE9C,GAAG,GAAAyD,cAAA,CAAHzD,GAAG;MACjB,IAAM0D,SAAS,IAAAF,qBAAA,GAAG,IAAI,CAACF,UAAU,CAACK,OAAO,cAAAH,qBAAA,uBAAvBA,qBAAA,CAAyBR,EAAE;MAC7C,IAAMY,cAAc,GAAGF,SAAS,GAAGG,QAAQ,CAACC,cAAc,CAACJ,SAAS,CAAC,GAAG,IAAI;MAE5E,OAAO;QACLZ,IAAI,EAAJA,IAAI;QACJJ,KAAK,EAAE,IAAI,CAAChB,OAAO,CAACM,gBAAgB;QACpC+B,QAAQ,EAAE,CAAC,CAAC;QACZV,GAAG,EAAE,IAAI,CAACW,OAAO;QACjBhB,EAAE,SAAA5B,MAAA,CAASpB,GAAG,UAAO;QACrB8B,IAAI,EAAE,IAAI,CAACA,IAAI;QACf,YAAY,EAAEhC,iBAAiB,CAAC8D,cAAc;MAChD,CAAC;IACH;EAAC;IAAAvB,GAAA;IAAAC,KAAA,EAED,SAAA2B,aAAA,EAAe;MACb,OAAO,IAAI,CAACV,YAAY,EAAE;IAC5B;EAAC;IAAAlB,GAAA;IAAAC,KAAA,EAED,SAAA4B,eAAA,EAAiB;MACf,IAAAC,cAAA,GACE,IAAI,CAACzC,OAAO;QADN1B,GAAG,GAAAmE,cAAA,CAAHnE,GAAG;QAAE+C,aAAa,GAAAoB,cAAA,CAAbpB,aAAa;QAAEqB,qBAAqB,GAAAD,cAAA,CAArBC,qBAAqB;QAAE3C,WAAW,GAAA0C,cAAA,CAAX1C,WAAW;QAAEO,gBAAgB,GAAAmC,cAAA,CAAhBnC,gBAAgB;MAGhF,OAAO;QACLqB,GAAG,EAAE,IAAI,CAACgB,SAAS;QACnBN,QAAQ,EAAE,CAAC,CAAC;QACZf,EAAE,SAAA5B,MAAA,CAASpB,GAAG,YAAS;QACvB+C,aAAa,EAAbA,aAAa;QACbqB,qBAAqB,EAArBA,qBAAqB;QACrBE,WAAW,EAAE7C,WAAW,KAAK,OAAO;QACpC8C,SAAS,EAAEvC,gBAAgB,KAAK,IAAI;QACpC,eAAe,EAAE;MACnB,CAAC;IACH;EAAC;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAkC,cAAA,EAAgB;MACd,IAAQ1B,IAAI,GAAK,IAAI,CAACpB,OAAO,CAArBoB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAmC,aAAaC,CAAM,EAAEhC,KAAa,EAAE;MAAA,IAAAiC,MAAA;MAClC,IAAAC,cAAA,GAAsB,IAAI,CAAClD,OAAO;QAA1BoB,IAAI,GAAA8B,cAAA,CAAJ9B,IAAI;QAAE9C,GAAG,GAAA4E,cAAA,CAAH5E,GAAG;MAEjB,OAAO;QACLgD,EAAE,SAAA5B,MAAA,CAASpB,GAAG,cAAAoB,MAAA,CAAWsB,KAAK,CAAE;QAChCI,IAAI,EAAJA,IAAI;QACJJ,KAAK,EAALA,KAAK;QACLmC,YAAY,EAAE,SAAAA,aAAA;UAAA,OAAMF,MAAI,CAAC/C,QAAQ,CAACa,aAAa,CAACC,KAAK,CAAC;QAAA;QACtDZ,IAAI,EAAE,IAAI,CAACgD;MACb,CAAC;IACH;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAED,SAAAyC,iBAAA,EAAmB;MACjB,IAAQjC,IAAI,GAAK,IAAI,CAACpB,OAAO,CAArBoB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA0C,kBAAA,EAAoB;MAClB,IAAQlC,IAAI,GAAK,IAAI,CAACpB,OAAO,CAArBoB,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA2C,aAAaC,IAAoB,EAAE;MAAA,IAAAC,MAAA;MACjC,IAAID,IAAI,EAAE;QACR;QACA,IAAI,CAACE,kBAAkB,CAACzB,OAAO,GAAGuB,IAAI;MACxC;MACAnD,UAAU,CAAC,YAAM;QACf,IAAImD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,cAAc,EAAE;UACxB,IAAIF,MAAI,CAACzD,OAAO,CAACM,gBAAgB,KAAKmD,MAAI,CAACG,oBAAoB,EAAE;YAC/DH,MAAI,CAACG,oBAAoB,GAAGH,MAAI,CAACzD,OAAO,CAACM,gBAAgB;YACzDkD,IAAI,CAACG,cAAc,CAAC;cAClBE,KAAK,EAAE,SAAS;cAChBC,MAAM,EAAE;YACV,CAAC,CAAC;UACJ;QACF;MACF,CAAC,EAAE,CAAC,CAAC;IACP;EAAC;IAAAnD,GAAA;IAAAC,KAAA,EAED,SAAAmD,oBAAoBC,MAAc,EAAU;MAAA,IAAAC,qBAAA;MAC1C,IAAQ3D,gBAAgB,GAAK,IAAI,CAACN,OAAO,CAAjCM,gBAAgB;MACxB,IAAM4D,cAAc,GAAG,IAAI,CAACC,SAAS,CAAC/E,MAAM,GAAG,CAAC;MAChD,IAAM2B,aAAa,GAAG,IAAI,CAACoD,SAAS,CAACC,SAAS,CAAC,UAACC,IAAI;QAAA,OAAKA,IAAI,CAACC,QAAQ;MAAA,EAAC;MAEvE,IAAIJ,cAAc,GAAG,CAAC,EAAE,OAAO,CAAC;MAEhC,IAAIK,qBAA6B;MAEjC,IAAIjE,gBAAgB,IAAI,IAAI,EAAE;QAC5B,IAAIS,aAAa,KAAK,CAAC,CAAC,EAAE;UACxBwD,qBAAqB,GAAGxD,aAAa;QACvC,CAAC,MAAM,IAAI,IAAI,CAAC2C,kBAAkB,CAACzB,OAAO,IAAI,IAAI,CAAC2B,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,GAAGjE,gBAAgB;MAC1C;MAEA,IAAIkE,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;MACV,CAAC,MAAM;QACL,OAAOA,QAAQ;MACjB;IACF;EAAC;IAAA7D,GAAA;IAAAC,KAAA,EAED,SAAA8D,mBAAmBC,SAA0B,EAAE;MAC7C,IAAAC,cAAA,GAAoC,IAAI,CAAC5E,OAAO;QAAxCG,OAAO,GAAAyE,cAAA,CAAPzE,OAAO;QAAE3B,cAAc,GAAAoG,cAAA,CAAdpG,cAAc;MAC/B,IAAMqG,iBAAiB,GAAG1E,OAAO,KAAKwE,SAAS,CAACxE,OAAO;MAEvD,IAAI0E,iBAAiB,IAAIF,SAAS,CAACxE,OAAO,KAAKqB,SAAS,EAAE;QACxD,IAAI,CAACrB,OAAO,EAAE;UACZ,IAAI,CAACD,QAAQ,CAACI,gBAAgB,CAAC,IAAI,CAAC;UACpC;UACA,IAAI,CAACoD,kBAAkB,CAACzB,OAAO,GAAG,IAAI;UACtC,IACE,IAAI,CAACU,SAAS,CAACV,OAAO,IACtB,IAAI,CAACL,UAAU,CAACK,OAAO,KACtBE,QAAQ,CAAC2C,aAAa,KAAK3C,QAAQ,CAAC4C,IAAI,IAAI9G,aAAa,CAAC,IAAI,CAAC0E,SAAS,CAACV,OAAO,CAAC,CAAC,IACnFzD,cAAc,CAACyD,OAAO,KAAK,UAAU,EACrC;YACA/D,QAAQ,CAAC,IAAI,CAAC0D,UAAU,CAACK,OAAO,CAAC;UACnC;QACF;MACF;IACF;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAoE,QAAkBC,KAAU,EAAEjE,KAAa,EAAEwC,IAAwB,EAAE;MACrE,IAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0B,YAAY,CAAC,MAAM,CAAC,MAAK,IAAI,CAAC9B,SAAS,EAAE;QACjD,IAAI,CAAC5C,QAAQ,CAACQ,KAAK,CAAC,GAAGwC,IAAI;QAC3B,IAAI,CAACW,SAAS,CAACnD,KAAK,CAAC,GAAGiE,KAAK;MAC/B;IACF;EAAC;IAAAtE,GAAA;IAAAC,KAAA,EAED,SAAAuE,2BAAqCrF,CAAmC,EAAE;MACxE,IAAIA,CAAC,CAACsF,MAAM,YAAYC,OAAO,EAAE;QAC/B,IAAMC,aAAa,GAAGxF,CAAC,CAACsF,MAAM,CAACG,OAAO;QAEtC,IAAIzF,CAAC,CAACa,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC6E,QAAQ,CAACF,aAAa,CAAC,EAAE,OAAO,KAAK;QAChF,IAAIxF,CAAC,CAACa,GAAG,KAAK,OAAO,IAAI2E,aAAa,KAAK,UAAU,EAAE,OAAO,KAAK;MACrE;IACF;EAAC;IAAA3E,GAAA;IAAAC,KAAA,EACD,SAAA6E,2BAAqC3F,CAAmC,EAAE;MACxE,IAAIA,CAAC,CAACsF,MAAM,YAAYC,OAAO,EAAE;QAC/B,IAAMC,aAAa,GAAGxF,CAAC,CAACsF,MAAM,CAACG,OAAO;QAEtC,IACE,CAACzF,CAAC,CAACa,GAAG,KAAK,GAAG,IAAIb,CAAC,CAACa,GAAG,KAAK,OAAO,MAClC2E,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,GAAG,CAAC,EAErD,OAAO,KAAK;MAChB;IACF;EAAC;IAAA3E,GAAA;IAAAC,KAAA,EACD,SAAA8E,kBAA4B5F,CAAmC,EAAE;MAC/D,IACE,IAAI,CAACE,OAAO,CAACG,OAAO,KAAK,IAAI,IAC7B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAACqF,QAAQ,CAAC1F,CAAC,CAACa,GAAG,CAAC,IACtDb,CAAC,CAAC6F,aAAa,CAACT,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC9B,SAAS,EACvD;QACA,IAAI,CAAC1B,kBAAkB,CAAC5B,CAAC,CAAC;MAC5B;IACF;EAAC;IAAAa,GAAA;IAAAC,KAAA,EAED,SAAAgF,mBAA6B9F,CAAmC,EAAE;MAChE,IAAM+F,WAAW,GAAG/F,CAAC,CAACgG,QAAQ,GAAG,CAAC,GAAG,CAAC;MACtC,IAAAC,cAAA,GAA4C,IAAI,CAAC/F,OAAO;QAAhDM,gBAAgB,GAAAyF,cAAA,CAAhBzF,gBAAgB;QAAE0F,aAAa,GAAAD,cAAA,CAAbC,aAAa;MAEvC,IAAIhC,MAAqB,GAAG,IAAI;MAEhC,QAAQlE,CAAC,CAACa,GAAG;QACX,KAAK,WAAW;UAAE;YAChB,IAAI,CAACqF,aAAa,EAAE;cAClBhC,MAAM,GAAG6B,WAAW;YACtB;YACA;UACF;QACA,KAAK,SAAS;UAAE;YACd,IAAI,CAACG,aAAa,EAAE;cAClBhC,MAAM,GAAG,CAAC6B,WAAW;YACvB;YACA;UACF;QACA,KAAK,YAAY;UAAE;YACjB,IAAIG,aAAa,EAAE;cACjBhC,MAAM,GAAG6B,WAAW;YACtB;YACA;UACF;QACA,KAAK,WAAW;UAAE;YAChB,IAAIG,aAAa,EAAE;cACjBhC,MAAM,GAAG,CAAC6B,WAAW;YACvB;YACA;UACF;QACA,KAAK,GAAG;QACR,KAAK,OAAO;UACV,IAAI,IAAI,CAACnC,kBAAkB,CAACzB,OAAO,IAAI3B,gBAAgB,KAAK,IAAI,EAAE;YAChER,CAAC,CAACmG,eAAe,EAAE;YACnBnG,CAAC,CAACG,cAAc,EAAE;YAClB,IAAI,CAACyD,kBAAkB,CAACzB,OAAO,CAACiE,KAAK,EAAE;UACzC;UAEA;MAAM;MAGV,IAAIlC,MAAM,KAAK,IAAI,EAAE;QACnB,IAAMmC,mBAAmB,GAAG,IAAI,CAACpC,mBAAmB,CAACC,MAAM,CAAC;QAC5D,IAAImC,mBAAmB,KAAK3E,SAAS,IAAI,IAAI,CAACpB,IAAI,KAAK,MAAM,EAAE;UAAA,IAAAgG,qBAAA;UAC7D,CAAAA,qBAAA,OAAI,CAAC5F,QAAQ,CAAC2F,mBAAmB,CAAC,cAAAC,qBAAA,uBAAlCA,qBAAA,CAAoC3F,KAAK,EAAE;QAC7C;QACA,IACE,IAAI,CAACL,IAAI,KAAK,SAAS,IACvB,IAAI,CAACwB,UAAU,CAACK,OAAO,IACvB,CAAChE,aAAa,CAAC,IAAI,CAAC2D,UAAU,CAACK,OAAO,CAAC,EACvC;UACA,IAAI,CAACoE,YAAY,EAAE;QACrB;QACA,IAAI,CAACnG,QAAQ,CAACI,gBAAgB,CAAC6F,mBAAmB,EAAErG,CAAC,CAAC;QAEtDA,CAAC,CAACG,cAAc,EAAE;QAClBH,CAAC,CAACmG,eAAe,EAAE;MACrB;IACF;EAAC;IAAAtF,GAAA;IAAAC,KAAA,EAED,SAAAyF,aAAA,EAAe;MACb,IAAMC,OAAO,GAAG,IAAI,CAAC1E,UAAU,CAACK,OAAO;MACvC,IAAI,CAACqE,OAAO,EAAE;MACd,IAAIrI,aAAa,CAACqI,OAAO,CAAC,EAAE;MAC5BpI,QAAQ,CAACoI,OAAO,CAAC;IACnB;EAAC;EAAA,OAAA3H,gBAAA;AAAA,EA9T4Cd,SAAS"}
@@ -11,6 +11,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
11
11
  import _createSuper from "@babel/runtime/helpers/createSuper";
12
12
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
13
13
  import { sstyled as _sstyled } from 'intergalactic/utils/lib/core/index';
14
+ import { assignProps as _assignProps3 } from 'intergalactic/core';
14
15
  import { assignProps as _assignProps2 } from 'intergalactic/core';
15
16
  import { assignProps as _assignProps } from 'intergalactic/core';
16
17
  var _excluded = ["Children", "forwardRef", "modifiers", "stretch"];
@@ -22,17 +23,33 @@ import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
22
23
  import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
23
24
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
24
25
  /*__reshadow-styles__:"./style/dropdown.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownPopper_bi9sa_gg_{position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);box-sizing:border-box;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));color:var(--intergalactic-text-primary, #191b23)}" /*__inner_css_end__*/, "bi9sa_gg_") /*__reshadow_css_end__*/, {
26
- "__SDropdownPopper": "___SDropdownPopper_bi9sa_gg_"
26
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownItem_5xcyv_gg_,.___SDropdownPopper_5xcyv_gg_{position:relative;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownPopper_5xcyv_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_5xcyv_gg_{-webkit-text-decoration:none;text-decoration:none;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownItem_5xcyv_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownItem_5xcyv_gg_:focus{outline:0}.___SDropdownItem_5xcyv_gg_.__selected_5xcyv_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_5xcyv_gg_.__selected_5xcyv_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownItem_5xcyv_gg_.__highlighted_5xcyv_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownItem_5xcyv_gg_.__disabled_5xcyv_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownItem_5xcyv_gg_._size_l_5xcyv_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_5xcyv_gg_._size_m_5xcyv_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_5xcyv_gg_.__notInteractive_5xcyv_gg_{cursor:default}@media (hover:hover){.___SDropdownItem_5xcyv_gg_.__notInteractive_5xcyv_gg_:hover{background:0 0}}.___SDropdownItem_5xcyv_gg_._variant_hint_5xcyv_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownItem_5xcyv_gg_._variant_hint_5xcyv_gg_:hover{background:0 0}}.___SDropdownItem_5xcyv_gg_._variant_title_5xcyv_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownItem_5xcyv_gg_._variant_title_5xcyv_gg_:hover{background:0 0}}.___SDropdownItem_5xcyv_gg_.__visible_5xcyv_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownItem_5xcyv_gg_.__nesting-trigger_5xcyv_gg_{justify-content:space-between}.___SGroupTitle_5xcyv_gg_{font-weight:var(--intergalactic-bold, 700)}.___SGroupHint_5xcyv_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}" /*__inner_css_end__*/, "5xcyv_gg_") /*__reshadow_css_end__*/, {
27
+ "__SDropdownPopper": "___SDropdownPopper_5xcyv_gg_",
28
+ "__SDropdownItem": "___SDropdownItem_5xcyv_gg_",
29
+ "_highlighted": "__highlighted_5xcyv_gg_",
30
+ "_disabled": "__disabled_5xcyv_gg_",
31
+ "_size_l": "_size_l_5xcyv_gg_",
32
+ "_size_m": "_size_m_5xcyv_gg_",
33
+ "_visible": "__visible_5xcyv_gg_",
34
+ "_nesting-trigger": "__nesting-trigger_5xcyv_gg_",
35
+ "__SGroupTitle": "___SGroupTitle_5xcyv_gg_",
36
+ "__SGroupHint": "___SGroupHint_5xcyv_gg_",
37
+ "_selected": "__selected_5xcyv_gg_",
38
+ "_notInteractive": "__notInteractive_5xcyv_gg_",
39
+ "_variant_hint": "_variant_hint_5xcyv_gg_",
40
+ "_variant_title": "_variant_title_5xcyv_gg_"
27
41
  });
28
42
  import { hasFocusableIn } from 'intergalactic/utils/lib/use/useFocusLock';
43
+ import { DropdownItem } from './DropdownItem';
44
+ import { Flex, Box } from 'intergalactic/flex-box';
45
+ import { useUID } from 'intergalactic/utils/lib/uniqueID';
29
46
  var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
30
- var Dropdown = /*#__PURE__*/function (_Component) {
31
- _inherits(Dropdown, _Component);
32
- var _super = _createSuper(Dropdown);
33
- function Dropdown() {
47
+ var DropdownRoot = /*#__PURE__*/function (_Component) {
48
+ _inherits(DropdownRoot, _Component);
49
+ var _super = _createSuper(DropdownRoot);
50
+ function DropdownRoot() {
34
51
  var _this;
35
- _classCallCheck(this, Dropdown);
52
+ _classCallCheck(this, DropdownRoot);
36
53
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
54
  args[_key] = arguments[_key];
38
55
  }
@@ -45,9 +62,9 @@ var Dropdown = /*#__PURE__*/function (_Component) {
45
62
  name: 'stretch',
46
63
  phase: 'beforeRead',
47
64
  enabled: true,
48
- fn: function fn(_ref5) {
49
- var state = _ref5.state,
50
- options = _ref5.options;
65
+ fn: function fn(_ref7) {
66
+ var state = _ref7.state,
67
+ options = _ref7.options;
51
68
  var _state$placement$spli = state.placement.split('-'),
52
69
  _state$placement$spli2 = _slicedToArray(_state$placement$spli, 1),
53
70
  position = _state$placement$spli2[0];
@@ -82,7 +99,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
82
99
  });
83
100
  return _this;
84
101
  }
85
- _createClass(Dropdown, [{
102
+ _createClass(DropdownRoot, [{
86
103
  key: "uncontrolledProps",
87
104
  value: function uncontrolledProps() {
88
105
  return {
@@ -146,11 +163,11 @@ var Dropdown = /*#__PURE__*/function (_Component) {
146
163
  }, other), /*#__PURE__*/React.createElement(Children, null));
147
164
  }
148
165
  }]);
149
- return Dropdown;
166
+ return DropdownRoot;
150
167
  }(Component);
151
- _defineProperty(Dropdown, "displayName", 'Dropdown');
152
- _defineProperty(Dropdown, "style", style);
153
- _defineProperty(Dropdown, "defaultProps", {
168
+ _defineProperty(DropdownRoot, "displayName", 'Dropdown');
169
+ _defineProperty(DropdownRoot, "style", style);
170
+ _defineProperty(DropdownRoot, "defaultProps", {
154
171
  // timeout: [100, 50],
155
172
  placement: 'bottom-start',
156
173
  offset: [0, 4],
@@ -160,29 +177,65 @@ _defineProperty(Dropdown, "defaultProps", {
160
177
  locale: 'en',
161
178
  interaction: 'click'
162
179
  });
163
- _defineProperty(Dropdown, "enhance", [uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
164
- function DropdownTrigger(_ref6) {
180
+ _defineProperty(DropdownRoot, "enhance", [uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
181
+ function DropdownTrigger(_ref8) {
165
182
  var _ref = arguments[0],
166
- _ref3;
167
- var styles = _ref6.styles,
168
- Tag = _ref6.tag;
183
+ _ref4;
184
+ var styles = _ref8.styles,
185
+ Tag = _ref8.tag;
169
186
  var hasInputTrigger = isInputTriggerTag(Tag);
170
187
  var SDropdownTrigger = Popper.Trigger;
171
- return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownTrigger, _ref3.cn("SDropdownTrigger", _objectSpread({}, _assignProps({
188
+ return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownTrigger, _ref4.cn("SDropdownTrigger", _objectSpread({}, _assignProps({
172
189
  "role": hasInputTrigger ? 'combobox' : 'button'
173
190
  }, _ref))));
174
191
  }
175
- function DropdownPopper(_ref7) {
192
+ function DropdownPopper(_ref9) {
176
193
  var _ref2 = arguments[0],
177
- _ref4;
178
- var styles = _ref7.styles;
194
+ _ref5;
195
+ var styles = _ref9.styles;
179
196
  var SDropdownPopper = Popper.Popper;
180
- return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownPopper, _ref4.cn("SDropdownPopper", _objectSpread({}, _assignProps2({}, _ref2))));
197
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownPopper, _ref5.cn("SDropdownPopper", _objectSpread({}, _assignProps2({}, _ref2))));
198
+ }
199
+ function DropdownGroup(props) {
200
+ var _ref3 = arguments[0],
201
+ _ref6;
202
+ var styles = props.styles,
203
+ title = props.title,
204
+ Children = props.Children,
205
+ subTitle = props.subTitle,
206
+ size = props.size;
207
+ var SGroup = Box;
208
+ var SDropdownItemContainer = Dropdown.Item;
209
+ var SGroupTitle = Flex;
210
+ var SGroupHint = Flex;
211
+ var uidTitle = useUID('title_mi_group');
212
+ var uidSubTitle = useUID('sub_title_mi_group');
213
+ var groupAriaProps = {
214
+ 'aria-labelledby': uidTitle,
215
+ 'aria-describedby': subTitle ? uidSubTitle : undefined
216
+ };
217
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SDropdownItemContainer, _ref6.cn("SDropdownItemContainer", {
218
+ "notInteractive": true,
219
+ "aria-hidden": 'true',
220
+ "tabindex": -1,
221
+ "size": size
222
+ }), /*#__PURE__*/React.createElement(SGroupTitle, _ref6.cn("SGroupTitle", {
223
+ "id": uidTitle
224
+ }), title), subTitle && /*#__PURE__*/React.createElement(SGroupHint, _ref6.cn("SGroupHint", {
225
+ "id": uidSubTitle
226
+ }), subTitle)), /*#__PURE__*/React.createElement(SGroup, _ref6.cn("SGroup", _objectSpread({}, _assignProps3(_objectSpread(_objectSpread({
227
+ "role": 'group'
228
+ }, groupAriaProps), {}, {
229
+ "__excludeProps": ['title']
230
+ }), _ref3))), /*#__PURE__*/React.createElement(Children, _ref6.cn("Children", {}))));
181
231
  }
182
- export default createComponent(Dropdown, {
232
+ var Dropdown = createComponent(DropdownRoot, {
183
233
  Trigger: DropdownTrigger,
184
- Popper: DropdownPopper
234
+ Popper: DropdownPopper,
235
+ Item: DropdownItem,
236
+ Group: DropdownGroup
185
237
  }, {
186
238
  parent: Popper
187
239
  });
240
+ export default Dropdown;
188
241
  //# sourceMappingURL=Dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["React","createComponent","Root","Component","sstyled","Popper","isInputTriggerTag","capitalizeFirstLetter","uniqueIDEnhancement","i18nEnhance","localizedMessages","style","_sstyled","insert","hasFocusableIn","INTERACTION_TAGS","Dropdown","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","name","enabled","phase","fn","_ref5","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","_ref6","_ref","arguments[0]","_ref3","styles","Tag","tag","hasInputTrigger","SDropdownTrigger","Trigger","cn","_objectSpread","_assignProps","DropdownPopper","_ref7","_ref2","_ref4","SDropdownPopper","_assignProps2","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';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass Dropdown 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\nexport default createComponent(\n Dropdown,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n },\n {\n parent: Popper,\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,IAAI,EAAEC,SAAS,EAAEC,OAAO,QAAQ,eAAe;AACzE,OAAOC,MAAM,IAAIC,iBAAiB,QAAQ,iBAAiB;AAC3D,OAAOC,qBAAqB,MAAM,0CAA0C;AAC5E,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,WAAW,MAAM,yCAAyC;AACjE,SAASC,iBAAiB,QAAQ,gDAAgD;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;AAAA;AAGnF,SAASC,cAAc,QAAQ,qCAAqC;AAEpE,IAAMC,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC;AAAC,IAEzCC,QAAQ,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,QAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,QAAA;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,6BAeArB,KAAK,CAACkC,SAAS,EAAE;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,uBAQV,CACjB;MACEc,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACX,CAAC,EACD;MACED,IAAI,EAAE,SAAS;MACfE,KAAK,EAAE,YAAY;MACnBD,OAAO,EAAE,IAAI;MACbE,EAAE,EAAE,SAAAA,GAAAC,KAAA,EAA8B;QAAA,IAAlBC,KAAK,GAAAD,KAAA,CAALC,KAAK;UAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;QAC5B,IAAAC,qBAAA,GAAmBF,KAAK,CAACG,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC;UAAAC,sBAAA,GAAAC,cAAA,CAAAJ,qBAAA;UAAtCK,QAAQ,GAAAF,sBAAA;QAEf,IAAMG,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,OAAO,CAACF,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAMG,GAAG,GAAGF,UAAU,GAAG,QAAQ,GAAG,OAAO;QAC3C,IAAMG,YAAY,GAAGX,KAAK,CAACY,QAAQ,CAACC,SAAS,UAAAtB,MAAA,CAAUxB,qBAAqB,CAAC2C,GAAG,CAAC,EAAG;QAEpF,IAAIT,OAAO,CAACa,OAAO,KAAK,KAAK,EAAE;UAC7Bd,KAAK,CAACe,KAAK,CAACC,MAAM,CAACC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACnB,KAAK,CAACe,KAAK,CAACC,MAAM,CAACC,KAAK,EAAEN,YAAY,CAAC;UAC3EX,KAAK,CAACY,QAAQ,CAACI,MAAM,CAAC7C,KAAK,OAAAoB,MAAA,CAAOxB,qBAAqB,CAAC2C,GAAG,CAAC,EAAG,MAAAnB,MAAA,CAAMoB,YAAY,OAAI;QACvF;QAEA,IAAIV,OAAO,CAACa,OAAO,KAAK,OAAO,EAAE;UAC/Bd,KAAK,CAACe,KAAK,CAACC,MAAM,CAACC,KAAK,GAAGN,YAAY;UACvCX,KAAK,CAACY,QAAQ,CAACI,MAAM,CAAC7C,KAAK,CAACuC,GAAG,CAAC,MAAAnB,MAAA,CAAMoB,YAAY,OAAI;QACxD;MACF;IACF,CAAC,CACF;IAAAnB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,4BAEuB,UAACuC,CAAC,EAAK;MAC7B,IAAAC,aAAA,GAAiCxC,KAAA,CAAKyC,OAAO;QAArCC,OAAO,GAAAF,aAAA,CAAPE,OAAO;QAAEC,WAAW,GAAAH,aAAA,CAAXG,WAAW;MAC5B,IAAMC,OAAO,GAAG5C,KAAA,CAAK6C,SAAS,CAACC,OAAO;MAEtC,IACEH,WAAW,KAAK,OAAO,IACvBD,OAAO,IACPH,CAAC,CAACQ,GAAG,KAAK,KAAK,IACfH,OAAO,IACP,CAACnD,cAAc,CAACmD,OAAO,CAAC,EACxB;QACAL,CAAC,CAACS,cAAc,EAAE;QAElB;MACF;MAEA,IAAIT,CAAC,CAACQ,GAAG,KAAK,GAAG,IAAIrD,gBAAgB,CAACuD,QAAQ,CAACV,CAAC,CAACW,MAAM,CAACC,OAAO,CAAC,EAAE;MAClE,IAAIZ,CAAC,CAACQ,GAAG,KAAK,OAAO,IAAIR,CAAC,CAACW,MAAM,CAACC,OAAO,KAAK,UAAU,EAAE;MAE1D,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAACF,QAAQ,CAACV,CAAC,CAACQ,GAAG,CAAC,IAAIJ,WAAW,KAAK,MAAM,EAAE;QAC5DJ,CAAC,CAACS,cAAc,EAAE;QAClBhD,KAAA,CAAKoD,QAAQ,CAACV,OAAO,CAAC,IAAI,CAAC;MAC7B;IACF,CAAC;IAAA,OAAA1C,KAAA;EAAA;EAAAqD,YAAA,CAAA1D,QAAA;IAAAoD,GAAA;IAAAO,KAAA,EA1DD,SAAAC,kBAAA,EAAoB;MAClB,OAAO;QACLb,OAAO,EAAE;MACX,CAAC;IACH;EAAC;IAAAK,GAAA;IAAAO,KAAA,EAwDD,SAAAE,gBAAA,EAAkB;MAChB,IAAAC,cAAA,GAAqD,IAAI,CAAChB,OAAO;QAAzDiB,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEhB,OAAO,GAAAe,cAAA,CAAPf,OAAO;QAAEiB,aAAa,GAAAF,cAAA,CAAbE,aAAa;QAAEC,WAAW,GAAAH,cAAA,CAAXG,WAAW;MAEhD,OAAO;QACLC,EAAE,SAAAnD,MAAA,CAASgD,GAAG,aAAU;QACxB,eAAe,EAAEhB,OAAO,UAAAhC,MAAA,CAAUgD,GAAG,eAAYI,SAAS;QAC1DC,SAAS,EAAErB,OAAO,IAAI,CAACiB,aAAa,GAAGC,WAAW,CAAC,aAAa,CAAC,GAAGE,SAAS;QAC7E,eAAe,EAAEpB,OAAO,GAAG,MAAM,GAAG,OAAO;QAC3CsB,SAAS,EAAE,IAAI,CAACC,qBAAqB;QACrC,eAAe,EAAE;MACnB,CAAC;IACH;EAAC;IAAAlB,GAAA;IAAAO,KAAA,EAED,SAAAY,eAAA,EAAiB;MACf,IAAAC,cAAA,GAAmE,IAAI,CAAC1B,OAAO;QAAvEiB,GAAG,GAAAS,cAAA,CAAHT,GAAG;QAAEC,aAAa,GAAAQ,cAAA,CAAbR,aAAa;QAAES,qBAAqB,GAAAD,cAAA,CAArBC,qBAAqB;QAAEzB,WAAW,GAAAwB,cAAA,CAAXxB,WAAW;MAE9D,OAAO;QACLkB,EAAE,SAAAnD,MAAA,CAASgD,GAAG,YAAS;QACvBW,QAAQ,EAAE,CAAC;QACXC,IAAI,EAAE,QAAQ;QACdX,aAAa,EAAbA,aAAa;QACbS,qBAAqB,EAArBA,qBAAqB;QACrBG,GAAG,EAAE,IAAI,CAAC1B,SAAS;QACnB2B,WAAW,EAAE7B,WAAW,KAAK,OAAO;QACpC8B,SAAS,EAAE;MACb,CAAC;IACH;EAAC;IAAA1B,GAAA;IAAAO,KAAA,EAED,SAAAoB,OAAA,EAAS;MACP,IAAAC,cAAA,GAAoE,IAAI,CAAClC,OAAO;QAAxEmC,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,UAAU,GAAAF,cAAA,CAAVE,UAAU;QAAAC,qBAAA,GAAAH,cAAA,CAAEI,SAAS;QAATA,SAAS,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAE7C,OAAO,GAAA0C,cAAA,CAAP1C,OAAO;QAAK+C,KAAK,GAAAC,wBAAA,CAAAN,cAAA,EAAAO,SAAA;MAE/D,oBACEvG,KAAA,CAAAwG,aAAA,CAACnG,MAAM,EAAAoG,QAAA;QACLb,GAAG,EAAEM,UAAW;QAChBE,SAAS,KAAArE,MAAA,CAAA2E,kBAAA,CACJ,IAAI,CAACC,gBAAgB,IACxB;UACExE,IAAI,EAAE,SAAS;UACfM,OAAO,EAAEmE,OAAA,CAAOtD,OAAO,MAAK,QAAQ,GAAGA,OAAO,GAAG;YAAEA,OAAO,EAAPA;UAAQ;QAC7D,CAAC,GAAAoD,kBAAA,CACEN,SAAS;MACZ,GACEC,KAAK,gBAETrG,KAAA,CAAAwG,aAAA,CAACP,QAAQ,OAAG,CACL;IAEb;EAAC;EAAA,OAAAjF,QAAA;AAAA,EA5HoBb,SAAS;AAAA6B,eAAA,CAA1BhB,QAAQ,iBACS,UAAU;AAAAgB,eAAA,CAD3BhB,QAAQ,WAEGL,KAAK;AAAAqB,eAAA,CAFhBhB,QAAQ,kBAGU;EACpB;EACA2B,SAAS,EAAE,cAAc;EACzBkE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdvD,OAAO,EAAE,KAAK;EACdwD,cAAc,EAAE,KAAK;EACrBC,IAAI,EAAErG,iBAAiB;EACvBsG,MAAM,EAAE,IAAI;EACZhD,WAAW,EAAE;AACf,CAAC;AAAAhC,eAAA,CAZGhB,QAAQ,aAaK,CAACR,mBAAmB,EAAE,EAAEC,WAAW,CAACC,iBAAiB,CAAC,CAAC;AAkH1E,SAASuG,eAAeA,CAAAC,KAAA,EAAuB;EAAA,IAAAC,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAAA,IAApBC,MAAM,GAAAJ,KAAA,CAANI,MAAM;IAAOC,GAAG,GAAAL,KAAA,CAARM,GAAG;EACpC,IAAMC,eAAe,GAAGnH,iBAAiB,CAACiH,GAAG,CAAC;EAC9C,IAAMG,gBAAgB,GAGMrH,MAAM,CAACsH,OAAO;EAD1C,OAAAN,KAAA,GAAOjH,OAAO,CAACkH,MAAM,CAAC,eACpBtH,KAAA,CAAAwG,aAAA,CAACkB,gBAAgB,EAAAL,KAAA,CAAAO,EAAA,qBAAAC,aAAA,KAAAC,YAAA;IAAA,QAA+BL,eAAe,GAAG,UAAU,GAAG;EAAQ,GAAAN,IAAA,IAAI;AAE/F;AAEA,SAASY,cAAcA,CAAAC,KAAA,EAAa;EAAA,IAAAC,KAAA,GAAAb,YAAA;IAAAc,KAAA;EAAA,IAAVZ,MAAM,GAAAU,KAAA,CAANV,MAAM;EAC9B,IAAMa,eAAe,GAC2B9H,MAAM,CAACA,MAAM;EAA7D,OAAA6H,KAAA,GAAO9H,OAAO,CAACkH,MAAM,CAAC,eAACtH,KAAA,CAAAwG,aAAA,CAAC2B,eAAe,EAAAD,KAAA,CAAAN,EAAA,oBAAAC,aAAA,KAAAO,aAAA,KAAAH,KAAA,IAA0B;AACnE;AAEA,eAAehI,eAAe,CAC5Be,QAAQ,EACR;EACE2G,OAAO,EAAEV,eAAe;EACxB5G,MAAM,EAAE0H;AACV,CAAC,EACD;EACEM,MAAM,EAAEhI;AACV,CAAC,CACF"}
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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"}