@ukic/web-components 2.6.0 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (509) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-498eb0e2.js → helpers-0d63359f.js} +36 -105
  3. package/dist/cjs/helpers-0d63359f.js.map +1 -0
  4. package/dist/cjs/ic-accordion.cjs.entry.js +5 -3
  5. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +8 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -11
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-dialog.cjs.entry.js +88 -66
  28. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -3
  36. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +77 -68
  38. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -3
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js +29 -60
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-select.cjs.entry.js +20 -16
  61. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-switch.cjs.entry.js +8 -2
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +17 -25
  75. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toast-region.cjs.entry.js +20 -8
  78. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-toast.cjs.entry.js +6 -5
  80. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js +9 -5
  82. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/collection/components/ic-accordion/ic-accordion.js +4 -2
  86. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  87. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +3 -0
  88. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
  89. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -0
  90. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  92. package/dist/collection/components/ic-badge/ic-badge.js +4 -1
  93. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  94. package/dist/collection/components/ic-button/ic-button.css +3 -1
  95. package/dist/collection/components/ic-card/ic-card.css +1 -1
  96. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -5
  97. package/dist/collection/components/ic-checkbox/ic-checkbox.js +0 -9
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  99. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +13 -0
  100. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  101. package/dist/collection/components/ic-chip/ic-chip.css +1 -1
  102. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  103. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  104. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +3 -1
  105. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
  106. package/dist/collection/components/ic-dialog/ic-dialog.css +56 -21
  107. package/dist/collection/components/ic-dialog/ic-dialog.js +122 -64
  108. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  109. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +129 -48
  110. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  111. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +54 -39
  112. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  113. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +2 -0
  114. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
  115. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +24 -2
  116. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  117. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +2 -0
  118. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
  119. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
  120. package/dist/collection/components/ic-menu/ic-menu.css +1 -5
  121. package/dist/collection/components/ic-menu/ic-menu.js +124 -65
  122. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  123. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +17 -0
  124. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  125. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  126. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +2 -0
  127. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
  128. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
  129. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +2 -0
  130. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
  131. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
  132. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -1
  133. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  134. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +1 -1
  135. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  136. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +37 -36
  137. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  138. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +28 -59
  139. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  140. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +3 -0
  141. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
  142. package/dist/collection/components/ic-radio-option/ic-radio-option.css +3 -3
  143. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  144. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1 -1
  145. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  146. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +14 -30
  147. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  148. package/dist/collection/components/ic-select/ic-select.css +2 -1
  149. package/dist/collection/components/ic-select/ic-select.js +36 -14
  150. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  151. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +25 -0
  152. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  153. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +12 -4
  154. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  155. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +1 -2
  156. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  157. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  158. package/dist/collection/components/ic-step/ic-step.css +1 -1
  159. package/dist/collection/components/ic-switch/ic-switch.css +3 -2
  160. package/dist/collection/components/ic-switch/ic-switch.js +9 -0
  161. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  162. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +35 -0
  163. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
  164. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  165. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -1
  166. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  167. package/dist/collection/components/ic-text-field/ic-text-field.js +16 -24
  168. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  169. package/dist/collection/components/ic-toast/ic-toast.js +9 -5
  170. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  171. package/dist/collection/components/ic-toast-region/ic-toast-region.js +53 -17
  172. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  173. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +23 -1
  174. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  175. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
  176. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -3
  177. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +8 -3
  178. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  179. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +2 -0
  180. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
  181. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +15 -0
  182. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  183. package/dist/collection/utils/helpers.js +35 -104
  184. package/dist/collection/utils/helpers.js.map +1 -1
  185. package/dist/components/helpers.js +35 -104
  186. package/dist/components/helpers.js.map +1 -1
  187. package/dist/components/ic-accordion.js +4 -2
  188. package/dist/components/ic-accordion.js.map +1 -1
  189. package/dist/components/ic-back-to-top.js +1 -1
  190. package/dist/components/ic-back-to-top.js.map +1 -1
  191. package/dist/components/ic-badge.js +1 -1
  192. package/dist/components/ic-badge.js.map +1 -1
  193. package/dist/components/ic-button2.js +1 -1
  194. package/dist/components/ic-button2.js.map +1 -1
  195. package/dist/components/ic-card.js +1 -1
  196. package/dist/components/ic-card.js.map +1 -1
  197. package/dist/components/ic-checkbox-group.js +8 -1
  198. package/dist/components/ic-checkbox-group.js.map +1 -1
  199. package/dist/components/ic-checkbox.js +1 -10
  200. package/dist/components/ic-checkbox.js.map +1 -1
  201. package/dist/components/ic-chip.js +1 -1
  202. package/dist/components/ic-chip.js.map +1 -1
  203. package/dist/components/ic-data-entity.js +1 -1
  204. package/dist/components/ic-data-entity.js.map +1 -1
  205. package/dist/components/ic-data-row.js +1 -1
  206. package/dist/components/ic-data-row.js.map +1 -1
  207. package/dist/components/ic-dialog.js +90 -66
  208. package/dist/components/ic-dialog.js.map +1 -1
  209. package/dist/components/ic-horizontal-scroll2.js +4 -2
  210. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  211. package/dist/components/ic-input-component-container2.js +1 -1
  212. package/dist/components/ic-input-component-container2.js.map +1 -1
  213. package/dist/components/ic-menu2.js +79 -67
  214. package/dist/components/ic-menu2.js.map +1 -1
  215. package/dist/components/ic-navigation-group.js +1 -1
  216. package/dist/components/ic-navigation-group.js.map +1 -1
  217. package/dist/components/ic-navigation-item.js +1 -1
  218. package/dist/components/ic-navigation-item.js.map +1 -1
  219. package/dist/components/ic-navigation-menu2.js +5 -2
  220. package/dist/components/ic-navigation-menu2.js.map +1 -1
  221. package/dist/components/ic-popover-menu.js +28 -59
  222. package/dist/components/ic-popover-menu.js.map +1 -1
  223. package/dist/components/ic-radio-option.js +1 -1
  224. package/dist/components/ic-radio-option.js.map +1 -1
  225. package/dist/components/ic-search-bar.js +2 -2
  226. package/dist/components/ic-search-bar.js.map +1 -1
  227. package/dist/components/ic-select.js +20 -15
  228. package/dist/components/ic-select.js.map +1 -1
  229. package/dist/components/ic-status-tag.js +1 -1
  230. package/dist/components/ic-status-tag.js.map +1 -1
  231. package/dist/components/ic-step.js +1 -1
  232. package/dist/components/ic-step.js.map +1 -1
  233. package/dist/components/ic-switch.js +9 -1
  234. package/dist/components/ic-switch.js.map +1 -1
  235. package/dist/components/ic-tab-group.js +2 -2
  236. package/dist/components/ic-tab-group.js.map +1 -1
  237. package/dist/components/ic-text-field2.js +16 -24
  238. package/dist/components/ic-text-field2.js.map +1 -1
  239. package/dist/components/ic-toast-region.js +24 -9
  240. package/dist/components/ic-toast-region.js.map +1 -1
  241. package/dist/components/ic-toast.js +6 -5
  242. package/dist/components/ic-toast.js.map +1 -1
  243. package/dist/components/ic-tooltip2.js +1 -1
  244. package/dist/components/ic-tooltip2.js.map +1 -1
  245. package/dist/components/ic-top-navigation.js +8 -4
  246. package/dist/components/ic-top-navigation.js.map +1 -1
  247. package/dist/core/core.css +1 -1
  248. package/dist/core/core.esm.js +1 -1
  249. package/dist/core/core.esm.js.map +1 -1
  250. package/dist/core/{p-e71ec1fe.entry.js → p-025f9d2a.entry.js} +2 -2
  251. package/dist/core/p-025f9d2a.entry.js.map +1 -0
  252. package/dist/core/{p-65715458.entry.js → p-03329fd0.entry.js} +2 -2
  253. package/dist/core/{p-667711a8.entry.js → p-08b59078.entry.js} +2 -2
  254. package/dist/core/{p-f5d1a0d7.entry.js → p-0c82048e.entry.js} +2 -2
  255. package/dist/core/{p-7bc6eb83.entry.js → p-2265e418.entry.js} +2 -2
  256. package/dist/core/p-2265e418.entry.js.map +1 -0
  257. package/dist/core/p-24da56e7.entry.js +2 -0
  258. package/dist/core/p-24da56e7.entry.js.map +1 -0
  259. package/dist/core/{p-09022de8.entry.js → p-2c30b583.entry.js} +2 -2
  260. package/dist/core/{p-7c913098.entry.js → p-345fe84a.entry.js} +2 -2
  261. package/dist/core/{p-8fc9b82b.entry.js → p-39c8111d.entry.js} +2 -2
  262. package/dist/core/{p-a69c8001.entry.js → p-3a15202f.entry.js} +2 -2
  263. package/dist/core/{p-bb3e7ce5.entry.js → p-3a814fc4.entry.js} +2 -2
  264. package/dist/core/{p-1a5353ed.entry.js → p-41c6eaa1.entry.js} +2 -2
  265. package/dist/core/p-43af3cf6.entry.js +2 -0
  266. package/dist/core/p-43af3cf6.entry.js.map +1 -0
  267. package/dist/core/{p-5c722379.entry.js → p-475b7bd2.entry.js} +2 -2
  268. package/dist/core/p-4bc35224.entry.js +2 -0
  269. package/dist/core/p-4bc35224.entry.js.map +1 -0
  270. package/dist/core/{p-f2f8e4aa.entry.js → p-59bdafff.entry.js} +2 -2
  271. package/dist/core/p-5a3ca50a.entry.js +2 -0
  272. package/dist/core/p-5a3ca50a.entry.js.map +1 -0
  273. package/dist/core/{p-522947f5.entry.js → p-5ccbb042.entry.js} +2 -2
  274. package/dist/core/p-5ccbb042.entry.js.map +1 -0
  275. package/dist/core/{p-0dd70d92.entry.js → p-5fcd202e.entry.js} +2 -2
  276. package/dist/core/p-5fcd202e.entry.js.map +1 -0
  277. package/dist/core/p-657513b5.entry.js +2 -0
  278. package/dist/core/p-657513b5.entry.js.map +1 -0
  279. package/dist/core/p-69d15528.entry.js +2 -0
  280. package/dist/core/p-69d15528.entry.js.map +1 -0
  281. package/dist/core/p-6c376756.entry.js +2 -0
  282. package/dist/core/p-6c376756.entry.js.map +1 -0
  283. package/dist/core/p-717907de.entry.js +2 -0
  284. package/dist/core/p-717907de.entry.js.map +1 -0
  285. package/dist/core/p-748159fe.entry.js +2 -0
  286. package/dist/core/p-748159fe.entry.js.map +1 -0
  287. package/dist/core/{p-c08b5a9a.entry.js → p-752f0f9a.entry.js} +2 -2
  288. package/dist/core/{p-f62c902b.entry.js → p-76563540.entry.js} +2 -2
  289. package/dist/core/p-7ce86152.entry.js +2 -0
  290. package/dist/core/p-7ce86152.entry.js.map +1 -0
  291. package/dist/core/{p-027ea4ff.entry.js → p-88ea1e49.entry.js} +2 -2
  292. package/dist/core/{p-c5b6d645.entry.js → p-8b18346a.entry.js} +2 -2
  293. package/dist/core/p-8b18346a.entry.js.map +1 -0
  294. package/dist/core/p-8fb4f0c0.js +2 -0
  295. package/dist/core/p-8fb4f0c0.js.map +1 -0
  296. package/dist/core/{p-72d6619c.entry.js → p-932fb4b7.entry.js} +2 -2
  297. package/dist/core/p-99fad66b.entry.js +2 -0
  298. package/dist/core/p-99fad66b.entry.js.map +1 -0
  299. package/dist/core/p-9f6ffced.entry.js +2 -0
  300. package/dist/core/p-9f6ffced.entry.js.map +1 -0
  301. package/dist/core/{p-af9f1caa.entry.js → p-9ff57f09.entry.js} +2 -2
  302. package/dist/core/p-9ff57f09.entry.js.map +1 -0
  303. package/dist/core/{p-4164e7d5.entry.js → p-a4397df4.entry.js} +2 -2
  304. package/dist/core/p-a76912b0.entry.js +2 -0
  305. package/dist/core/p-a76912b0.entry.js.map +1 -0
  306. package/dist/core/{p-3758c2b5.entry.js → p-b0ce60a0.entry.js} +2 -2
  307. package/dist/core/p-b879fa3e.entry.js +2 -0
  308. package/dist/core/p-b879fa3e.entry.js.map +1 -0
  309. package/dist/core/p-ba495175.entry.js +2 -0
  310. package/dist/core/p-ba495175.entry.js.map +1 -0
  311. package/dist/core/p-c0719bf4.entry.js +2 -0
  312. package/dist/core/p-c0719bf4.entry.js.map +1 -0
  313. package/dist/core/{p-134b407d.entry.js → p-c0c62df4.entry.js} +2 -2
  314. package/dist/core/{p-d8022cec.entry.js → p-c9ef9f5c.entry.js} +2 -2
  315. package/dist/core/{p-c01d43cf.entry.js → p-ca6073be.entry.js} +2 -2
  316. package/dist/core/p-ca6073be.entry.js.map +1 -0
  317. package/dist/core/p-cb5f19ea.entry.js +2 -0
  318. package/dist/core/p-cb5f19ea.entry.js.map +1 -0
  319. package/dist/core/{p-e465a208.entry.js → p-ccac1730.entry.js} +2 -2
  320. package/dist/core/{p-bb085716.entry.js → p-cf4bacee.entry.js} +2 -2
  321. package/dist/core/p-d80f99e0.entry.js +2 -0
  322. package/dist/core/p-d80f99e0.entry.js.map +1 -0
  323. package/dist/core/{p-53533992.entry.js → p-e2fd542e.entry.js} +2 -2
  324. package/dist/core/p-e2fd542e.entry.js.map +1 -0
  325. package/dist/core/{p-09eb825d.entry.js → p-e3bffcae.entry.js} +2 -2
  326. package/dist/core/p-e9ddb8cd.entry.js +2 -0
  327. package/dist/core/p-e9ddb8cd.entry.js.map +1 -0
  328. package/dist/core/p-eb4641a9.entry.js +2 -0
  329. package/dist/core/p-eb4641a9.entry.js.map +1 -0
  330. package/dist/core/{p-b80520e9.entry.js → p-f019219c.entry.js} +2 -2
  331. package/dist/core/{p-27b46a68.entry.js → p-fbc8a739.entry.js} +2 -2
  332. package/dist/esm/core.js +1 -1
  333. package/dist/esm/{helpers-c325e537.js → helpers-24f6e762.js} +36 -105
  334. package/dist/esm/helpers-24f6e762.js.map +1 -0
  335. package/dist/esm/ic-accordion.entry.js +5 -3
  336. package/dist/esm/ic-accordion.entry.js.map +1 -1
  337. package/dist/esm/ic-alert.entry.js +1 -1
  338. package/dist/esm/ic-back-to-top.entry.js +2 -2
  339. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  340. package/dist/esm/ic-badge.entry.js +1 -1
  341. package/dist/esm/ic-badge.entry.js.map +1 -1
  342. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  343. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  344. package/dist/esm/ic-button_3.entry.js +3 -3
  345. package/dist/esm/ic-button_3.entry.js.map +1 -1
  346. package/dist/esm/ic-card.entry.js +2 -2
  347. package/dist/esm/ic-card.entry.js.map +1 -1
  348. package/dist/esm/ic-checkbox-group.entry.js +8 -1
  349. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  350. package/dist/esm/ic-checkbox.entry.js +2 -11
  351. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  352. package/dist/esm/ic-chip.entry.js +2 -2
  353. package/dist/esm/ic-chip.entry.js.map +1 -1
  354. package/dist/esm/ic-data-entity.entry.js +1 -1
  355. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  356. package/dist/esm/ic-data-row.entry.js +2 -2
  357. package/dist/esm/ic-data-row.entry.js.map +1 -1
  358. package/dist/esm/ic-dialog.entry.js +88 -66
  359. package/dist/esm/ic-dialog.entry.js.map +1 -1
  360. package/dist/esm/ic-divider.entry.js +1 -1
  361. package/dist/esm/ic-empty-state.entry.js +1 -1
  362. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  363. package/dist/esm/ic-footer-link.entry.js +1 -1
  364. package/dist/esm/ic-footer.entry.js +1 -1
  365. package/dist/esm/ic-hero.entry.js +1 -1
  366. package/dist/esm/ic-horizontal-scroll.entry.js +4 -3
  367. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  368. package/dist/esm/ic-input-component-container_3.entry.js +77 -68
  369. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  370. package/dist/esm/ic-input-label_2.entry.js +1 -1
  371. package/dist/esm/ic-link.entry.js +1 -1
  372. package/dist/esm/ic-menu-group.entry.js +1 -1
  373. package/dist/esm/ic-menu-item.entry.js +1 -1
  374. package/dist/esm/ic-navigation-button.entry.js +1 -1
  375. package/dist/esm/ic-navigation-group.entry.js +2 -2
  376. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  377. package/dist/esm/ic-navigation-item.entry.js +2 -2
  378. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  379. package/dist/esm/ic-navigation-menu.entry.js +6 -3
  380. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  381. package/dist/esm/ic-page-header.entry.js +1 -1
  382. package/dist/esm/ic-pagination-item.entry.js +1 -1
  383. package/dist/esm/ic-pagination.entry.js +1 -1
  384. package/dist/esm/ic-popover-menu.entry.js +29 -60
  385. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  386. package/dist/esm/ic-radio-group.entry.js +1 -1
  387. package/dist/esm/ic-radio-option.entry.js +2 -2
  388. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  389. package/dist/esm/ic-search-bar.entry.js +3 -3
  390. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  391. package/dist/esm/ic-select.entry.js +20 -16
  392. package/dist/esm/ic-select.entry.js.map +1 -1
  393. package/dist/esm/ic-side-navigation.entry.js +1 -1
  394. package/dist/esm/ic-status-tag.entry.js +2 -2
  395. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  396. package/dist/esm/ic-step.entry.js +2 -2
  397. package/dist/esm/ic-step.entry.js.map +1 -1
  398. package/dist/esm/ic-stepper.entry.js +1 -1
  399. package/dist/esm/ic-switch.entry.js +8 -2
  400. package/dist/esm/ic-switch.entry.js.map +1 -1
  401. package/dist/esm/ic-tab-group.entry.js +3 -3
  402. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  403. package/dist/esm/ic-tab-panel.entry.js +1 -1
  404. package/dist/esm/ic-tab.entry.js +1 -1
  405. package/dist/esm/ic-text-field.entry.js +17 -25
  406. package/dist/esm/ic-text-field.entry.js.map +1 -1
  407. package/dist/esm/ic-theme.entry.js +1 -1
  408. package/dist/esm/ic-toast-region.entry.js +20 -8
  409. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  410. package/dist/esm/ic-toast.entry.js +6 -5
  411. package/dist/esm/ic-toast.entry.js.map +1 -1
  412. package/dist/esm/ic-top-navigation.entry.js +9 -5
  413. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  414. package/dist/esm/ic-typography.entry.js +1 -1
  415. package/dist/esm/loader.js +1 -1
  416. package/dist/types/components/ic-accordion/ic-accordion.d.ts +1 -0
  417. package/dist/types/components/ic-badge/ic-badge.d.ts +3 -0
  418. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -1
  419. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  420. package/dist/types/components/ic-dialog/ic-dialog.d.ts +17 -2
  421. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +4 -0
  422. package/dist/types/components/ic-menu/ic-menu.d.ts +12 -2
  423. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -1
  424. package/dist/types/components/ic-select/ic-select.d.ts +4 -0
  425. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  426. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
  427. package/dist/types/components/ic-toast/ic-toast.d.ts +1 -1
  428. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +7 -2
  429. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -0
  430. package/dist/types/components.d.ts +36 -3
  431. package/dist/types/utils/helpers.d.ts +2 -2
  432. package/hydrate/index.js +351 -386
  433. package/package.json +2 -2
  434. package/dist/cjs/helpers-498eb0e2.js.map +0 -1
  435. package/dist/core/p-0baa2141.entry.js +0 -2
  436. package/dist/core/p-0baa2141.entry.js.map +0 -1
  437. package/dist/core/p-0dd70d92.entry.js.map +0 -1
  438. package/dist/core/p-30f9fabc.entry.js +0 -2
  439. package/dist/core/p-30f9fabc.entry.js.map +0 -1
  440. package/dist/core/p-31236329.entry.js +0 -2
  441. package/dist/core/p-31236329.entry.js.map +0 -1
  442. package/dist/core/p-39db6642.entry.js +0 -2
  443. package/dist/core/p-39db6642.entry.js.map +0 -1
  444. package/dist/core/p-409e437f.js +0 -2
  445. package/dist/core/p-409e437f.js.map +0 -1
  446. package/dist/core/p-46053a32.entry.js +0 -2
  447. package/dist/core/p-46053a32.entry.js.map +0 -1
  448. package/dist/core/p-4af7cb4c.entry.js +0 -2
  449. package/dist/core/p-4af7cb4c.entry.js.map +0 -1
  450. package/dist/core/p-500e8584.entry.js +0 -2
  451. package/dist/core/p-500e8584.entry.js.map +0 -1
  452. package/dist/core/p-522947f5.entry.js.map +0 -1
  453. package/dist/core/p-53533992.entry.js.map +0 -1
  454. package/dist/core/p-5c9457e2.entry.js +0 -2
  455. package/dist/core/p-5c9457e2.entry.js.map +0 -1
  456. package/dist/core/p-6286ad7b.entry.js +0 -2
  457. package/dist/core/p-6286ad7b.entry.js.map +0 -1
  458. package/dist/core/p-6991655b.entry.js +0 -2
  459. package/dist/core/p-6991655b.entry.js.map +0 -1
  460. package/dist/core/p-6ce0a089.entry.js +0 -2
  461. package/dist/core/p-6ce0a089.entry.js.map +0 -1
  462. package/dist/core/p-700559ee.entry.js +0 -2
  463. package/dist/core/p-700559ee.entry.js.map +0 -1
  464. package/dist/core/p-78f0118c.entry.js +0 -2
  465. package/dist/core/p-78f0118c.entry.js.map +0 -1
  466. package/dist/core/p-7bc6eb83.entry.js.map +0 -1
  467. package/dist/core/p-8ae11ca6.entry.js +0 -2
  468. package/dist/core/p-8ae11ca6.entry.js.map +0 -1
  469. package/dist/core/p-9ea62161.entry.js +0 -2
  470. package/dist/core/p-9ea62161.entry.js.map +0 -1
  471. package/dist/core/p-ae1ed418.entry.js +0 -2
  472. package/dist/core/p-ae1ed418.entry.js.map +0 -1
  473. package/dist/core/p-af9f1caa.entry.js.map +0 -1
  474. package/dist/core/p-ba25f08a.entry.js +0 -2
  475. package/dist/core/p-ba25f08a.entry.js.map +0 -1
  476. package/dist/core/p-c01d43cf.entry.js.map +0 -1
  477. package/dist/core/p-c5b6d645.entry.js.map +0 -1
  478. package/dist/core/p-d4522596.entry.js +0 -2
  479. package/dist/core/p-d4522596.entry.js.map +0 -1
  480. package/dist/core/p-e71ec1fe.entry.js.map +0 -1
  481. package/dist/core/p-f5947c60.entry.js +0 -2
  482. package/dist/core/p-f5947c60.entry.js.map +0 -1
  483. package/dist/core/p-fee7caf1.entry.js +0 -2
  484. package/dist/core/p-fee7caf1.entry.js.map +0 -1
  485. package/dist/esm/helpers-c325e537.js.map +0 -1
  486. /package/dist/core/{p-65715458.entry.js.map → p-03329fd0.entry.js.map} +0 -0
  487. /package/dist/core/{p-667711a8.entry.js.map → p-08b59078.entry.js.map} +0 -0
  488. /package/dist/core/{p-f5d1a0d7.entry.js.map → p-0c82048e.entry.js.map} +0 -0
  489. /package/dist/core/{p-09022de8.entry.js.map → p-2c30b583.entry.js.map} +0 -0
  490. /package/dist/core/{p-7c913098.entry.js.map → p-345fe84a.entry.js.map} +0 -0
  491. /package/dist/core/{p-8fc9b82b.entry.js.map → p-39c8111d.entry.js.map} +0 -0
  492. /package/dist/core/{p-a69c8001.entry.js.map → p-3a15202f.entry.js.map} +0 -0
  493. /package/dist/core/{p-bb3e7ce5.entry.js.map → p-3a814fc4.entry.js.map} +0 -0
  494. /package/dist/core/{p-1a5353ed.entry.js.map → p-41c6eaa1.entry.js.map} +0 -0
  495. /package/dist/core/{p-5c722379.entry.js.map → p-475b7bd2.entry.js.map} +0 -0
  496. /package/dist/core/{p-f2f8e4aa.entry.js.map → p-59bdafff.entry.js.map} +0 -0
  497. /package/dist/core/{p-c08b5a9a.entry.js.map → p-752f0f9a.entry.js.map} +0 -0
  498. /package/dist/core/{p-f62c902b.entry.js.map → p-76563540.entry.js.map} +0 -0
  499. /package/dist/core/{p-027ea4ff.entry.js.map → p-88ea1e49.entry.js.map} +0 -0
  500. /package/dist/core/{p-72d6619c.entry.js.map → p-932fb4b7.entry.js.map} +0 -0
  501. /package/dist/core/{p-4164e7d5.entry.js.map → p-a4397df4.entry.js.map} +0 -0
  502. /package/dist/core/{p-3758c2b5.entry.js.map → p-b0ce60a0.entry.js.map} +0 -0
  503. /package/dist/core/{p-134b407d.entry.js.map → p-c0c62df4.entry.js.map} +0 -0
  504. /package/dist/core/{p-d8022cec.entry.js.map → p-c9ef9f5c.entry.js.map} +0 -0
  505. /package/dist/core/{p-e465a208.entry.js.map → p-ccac1730.entry.js.map} +0 -0
  506. /package/dist/core/{p-bb085716.entry.js.map → p-cf4bacee.entry.js.map} +0 -0
  507. /package/dist/core/{p-09eb825d.entry.js.map → p-e3bffcae.entry.js.map} +0 -0
  508. /package/dist/core/{p-b80520e9.entry.js.map → p-f019219c.entry.js.map} +0 -0
  509. /package/dist/core/{p-27b46a68.entry.js.map → p-fbc8a739.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ic-horizontal-scroll.entry.cjs.js","mappings":"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","names":["elementOverflowsX","getSlotElements","checkResizeObserver","h","Host","IcThemeForegroundEnum"],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.light) {\n --splitter-color: var(--ic-keyline-lighten-rgb);\n}\n\n:host(.dark) {\n --splitter-color: var(--ic-keyline-darken-rgb);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n.disabled ic-button > svg {\n color: var(--ic-keyline-darken-rgb);\n}\n\n:host(.dark) .disabled ic-button > svg,\n:host(.light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n\n this.items = (getSlotElements(this.itemsContainerEl) ||\n Array.from(this.itemsContainerEl.children)) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(\"focus\", this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(\"focus\", this.focusHandler);\n }\n });\n\n this.itemsContainerEl.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-horizontal-scroll.entry.cjs.js","mappings":"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","names":["elementOverflowsX","getSlotElements","checkResizeObserver","h","Host","IcThemeForegroundEnum"],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.light) {\n --splitter-color: var(--ic-keyline-lighten-rgb);\n}\n\n:host(.dark) {\n --splitter-color: var(--ic-keyline-darken-rgb);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n.disabled ic-button > svg {\n color: var(--ic-keyline-darken-rgb);\n}\n\n:host(.dark) .disabled ic-button > svg,\n:host(.light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n\n this.items = (getSlotElements(this.itemsContainerEl) ||\n Array.from(this.itemsContainerEl.children)) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n\n this.itemsContainerEl.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-4f8c900f.js');
6
6
  const types = require('./types-7d67439f.js');
7
- const helpers = require('./helpers-498eb0e2.js');
7
+ const helpers = require('./helpers-0d63359f.js');
8
8
  const checkIcon = require('./check-icon-7225d79b.js');
9
9
  const popper = require('./popper-31badbf8.js');
10
10
 
11
- const icInputComponentContainerCss = "ic-input-component-container{display:flex;border:var(--ic-space-1px) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--ic-architectural-white);box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.fullwidth{width:100%}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed var(--ic-architectural-200)}ic-input-component-container.readonly,ic-input-component-container.readonly:hover{border:none;padding:0}ic-input-component-container.error{border:var(--ic-error-border-default);padding:0}ic-input-component-container.error:hover{border:var(--ic-error-border-hover)}ic-input-component-container.error:focus-within{border:var(--ic-error-border-pressed)}ic-input-component-container.warning{border:var(--ic-warning-border-default);padding:0}ic-input-component-container.warning:hover{border:var(--ic-warning-border-hover)}ic-input-component-container.warning:focus-within{border:var(--ic-warning-border-pressed)}ic-input-component-container.success{border:var(--ic-success-border-default);padding:0}ic-input-component-container.success:hover{border:var(--ic-success-border-hover)}ic-input-component-container.success:focus-within{border:var(--ic-success-border-pressed)}ic-input-component-container.small{height:var(--ic-space-xl)}ic-input-component-container.multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.multiline .icon-container,ic-input-component-container.multiline.small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.disabled ::-moz-placeholder{display:none}ic-input-component-container.disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-border-hover);color:var(--ic-action-dark-hover)}ic-input-component-container:focus{border:var(--ic-border-pressed)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-space-1px) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed GrayText}}";
11
+ const icInputComponentContainerCss = "ic-input-component-container{display:flex;border:var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--ic-architectural-white);box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.fullwidth{width:100%}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-border-width) dashed var(--ic-architectural-200)}ic-input-component-container.readonly,ic-input-component-container.readonly:hover{border:none;padding:0}ic-input-component-container.error{border:var(--ic-error-border-default);padding:0}ic-input-component-container.error:hover{border:var(--ic-error-border-hover)}ic-input-component-container.error:focus-within{border:var(--ic-error-border-pressed)}ic-input-component-container.warning{border:var(--ic-warning-border-default);padding:0}ic-input-component-container.warning:hover{border:var(--ic-warning-border-hover)}ic-input-component-container.warning:focus-within{border:var(--ic-warning-border-pressed)}ic-input-component-container.success{border:var(--ic-success-border-default);padding:0}ic-input-component-container.success:hover{border:var(--ic-success-border-hover)}ic-input-component-container.success:focus-within{border:var(--ic-success-border-pressed)}ic-input-component-container.small{height:var(--ic-space-xl)}ic-input-component-container.multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.multiline .icon-container,ic-input-component-container.multiline.small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.disabled ::-moz-placeholder{display:none}ic-input-component-container.disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-border-hover);color:var(--ic-action-dark-hover)}ic-input-component-container:focus{border:var(--ic-border-pressed)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-border-width) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-border-width) dashed GrayText}}";
12
12
 
13
13
  const InputComponentContainer = class {
14
14
  constructor(hostRef) {
@@ -69,7 +69,7 @@ const InputContainer = class {
69
69
  };
70
70
  InputContainer.style = icInputContainerCss;
71
71
 
72
- const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.on-dialog-fix-translate.sc-ic-menu-h{transform:translate(0, 80px) !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-space-1px) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:20.125rem}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:0.5rem 0.438rem;cursor:pointer;display:flex;align-items:center}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:0.25rem 0.438rem}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:0.625rem;color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:0.5rem;pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:1.5rem 0.438rem 0.5rem;color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:0.75rem 0.438rem 0.25rem}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}";
72
+ const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-border-width) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:20.125rem}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:0.5rem 0.438rem;cursor:pointer;display:flex;align-items:center}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:0.25rem 0.438rem}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:0.625rem;color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:0.5rem;pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:1.5rem 0.438rem 0.5rem;color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:0.75rem 0.438rem 0.25rem}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}";
73
73
 
74
74
  const Menu = class {
75
75
  constructor(hostRef) {
@@ -82,7 +82,6 @@ const Menu = class {
82
82
  this.retryButtonClicked = index.createEvent(this, "retryButtonClicked", 7);
83
83
  this.timeoutBlur = index.createEvent(this, "timeoutBlur", 7);
84
84
  this.ungroupedOptionsSet = index.createEvent(this, "ungroupedOptionsSet", 7);
85
- this.firstRender = true;
86
85
  this.disabledOptionSelected = false;
87
86
  this.hasPreviouslyBlurred = false;
88
87
  this.hasTimedOut = false;
@@ -182,7 +181,8 @@ const Menu = class {
182
181
  const menuOptions = this.setMenuOptions();
183
182
  this.keyboardNav = false;
184
183
  const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
185
- const getOptionId = (index) => { var _a; return (_a = Array.from(this.el.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
184
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
185
+ const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
186
186
  switch (event.key) {
187
187
  case "ArrowDown":
188
188
  this.keyboardNav = true;
@@ -239,22 +239,38 @@ const Menu = class {
239
239
  optionId: getOptionId(menuOptions.length - 1),
240
240
  });
241
241
  break;
242
+ case " ":
243
+ if (this.isSearchBar || this.isSearchableSelect) {
244
+ break;
245
+ }
246
+ else {
247
+ if (event.target.id !== "clear-button") {
248
+ this.handleMenuChange(true);
249
+ }
250
+ }
251
+ break;
242
252
  case "Enter":
243
253
  event.preventDefault();
244
- if (highlightedOptionIndex >= 0) {
245
- if (menuOptions[highlightedOptionIndex] !== undefined) {
246
- if (this.isSearchBar &&
247
- menuOptions[highlightedOptionIndex].disabled === true) {
248
- this.disabledOptionSelected = true;
249
- }
250
- else {
251
- this.setInputValue(highlightedOptionIndex);
252
- this.value = menuOptions[highlightedOptionIndex][this.valueField];
254
+ if (isOpen) {
255
+ if (highlightedOptionIndex >= 0) {
256
+ if (menuOptions[highlightedOptionIndex] !== undefined) {
257
+ if (this.isSearchBar &&
258
+ menuOptions[highlightedOptionIndex].disabled === true) {
259
+ this.disabledOptionSelected = true;
260
+ }
261
+ else {
262
+ this.setInputValue(highlightedOptionIndex);
263
+ this.value =
264
+ menuOptions[highlightedOptionIndex][this.valueField];
265
+ }
253
266
  }
254
267
  }
268
+ else {
269
+ this.setInputValue(highlightedOptionIndex);
270
+ }
255
271
  }
256
272
  else {
257
- this.setInputValue(highlightedOptionIndex);
273
+ this.handleMenuChange(true);
258
274
  }
259
275
  break;
260
276
  case "Escape":
@@ -345,7 +361,7 @@ const Menu = class {
345
361
  if (this.activationType === "automatic") {
346
362
  this.autoSetValueOnMenuKeyDown(event);
347
363
  }
348
- else if (this.activationType === "manual" && this.isSearchableSelect) {
364
+ else if (this.activationType === "manual" && !this.isSearchBar) {
349
365
  this.manSetInputValueKeyboardOpen(event);
350
366
  }
351
367
  };
@@ -447,7 +463,9 @@ const Menu = class {
447
463
  };
448
464
  this.isManualMode = this.activationType === "manual";
449
465
  this.scrollToSelected = (menu) => {
450
- const selectedOption = menu.querySelector(".option[aria-selected]");
466
+ const selectedOption = this.selectOnEnter
467
+ ? this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`)
468
+ : menu.querySelector(".option[aria-selected]");
451
469
  if (selectedOption) {
452
470
  const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;
453
471
  if (elTop > menu.scrollTop + menu.offsetHeight ||
@@ -473,7 +491,7 @@ const Menu = class {
473
491
  };
474
492
  this.setMenuScrollbar = () => {
475
493
  let optionsHeight = 0;
476
- this.el
494
+ this.host
477
495
  .querySelectorAll(".option")
478
496
  .forEach((option) => (optionsHeight += option.clientHeight));
479
497
  if (optionsHeight >= 320) {
@@ -527,12 +545,19 @@ const Menu = class {
527
545
  this.open = undefined;
528
546
  this.parentEl = undefined;
529
547
  this.searchMode = "navigation";
548
+ this.selectOnEnter = false;
530
549
  this.size = "default";
531
550
  this.small = false;
532
551
  this.options = undefined;
533
552
  this.value = undefined;
534
553
  this.valueField = "value";
535
554
  }
555
+ watchOpenHandler() {
556
+ if (!this.open && this.popperInstance) {
557
+ this.popperInstance.destroy();
558
+ this.popperInstance = null;
559
+ }
560
+ }
536
561
  watchOptionsHandler(newOptions) {
537
562
  this.hasTimedOut = newOptions.some((opt) => opt.timedOut);
538
563
  this.isLoading = newOptions.some((opt) => opt.loading);
@@ -551,7 +576,7 @@ const Menu = class {
551
576
  }
552
577
  }
553
578
  disconnectedCallback() {
554
- if (this.popperInstance !== undefined) {
579
+ if (this.popperInstance) {
555
580
  this.popperInstance.destroy();
556
581
  }
557
582
  this.parentEl.removeEventListener("icClear", this.handleClearListener);
@@ -598,61 +623,19 @@ const Menu = class {
598
623
  else if (optionHighlightedIsSet &&
599
624
  !this.focusFromSearchKeypress &&
600
625
  !this.preventIncorrectTabOrder) {
601
- const highlightedEl = this.el.querySelector(`li[data-value="${this.optionHighlighted}"]`);
626
+ const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
602
627
  if (highlightedEl) {
603
628
  highlightedEl.focus();
604
629
  }
605
630
  }
606
631
  }
632
+ if (this.open && !this.value && this.selectOnEnter) {
633
+ this.scrollToSelected(this.menu);
634
+ }
607
635
  }
608
636
  componentDidRender() {
609
- if (this.firstRender && this.open) {
610
- this.firstRender = false;
611
- let adjust = false;
612
- const dialogEl = this.parentEl.closest("ic-dialog");
613
- const onDialog = dialogEl !== null;
614
- if (onDialog) {
615
- this.el.classList.add("on-dialog");
616
- if (dialogEl.getAttribute("data-overflow") === "false") {
617
- const menuTop = this.el.getBoundingClientRect().top;
618
- const menuHeight = this.el.getBoundingClientRect().height;
619
- const dialogHeight = dialogEl.getBoundingClientRect().bottom;
620
- if (menuTop + menuHeight > dialogHeight) {
621
- adjust = true;
622
- }
623
- }
624
- if (adjust === false) {
625
- this.el.classList.add("on-dialog-fix-translate");
626
- }
627
- }
628
- if (adjust) {
629
- this.popperInstance = popper.createPopper(this.anchorEl, this.el, {
630
- placement: "top",
631
- });
632
- }
633
- else {
634
- this.popperInstance = popper.createPopper(this.anchorEl, this.el, {
635
- placement: "bottom",
636
- modifiers: [
637
- {
638
- name: "offset",
639
- options: {
640
- offset: [0, 7],
641
- },
642
- },
643
- {
644
- name: "flip",
645
- options: {
646
- fallbackPlacements: ["top"],
647
- rootBoundary: "viewport",
648
- },
649
- },
650
- ],
651
- });
652
- }
653
- }
654
- else if (this.open) {
655
- this.popperInstance.update();
637
+ if (this.open && !this.popperInstance && this.anchorEl) {
638
+ this.initPopperJs(this.anchorEl);
656
639
  }
657
640
  if (this.open && !!this.options.length) {
658
641
  this.setMenuScrollbar();
@@ -688,6 +671,31 @@ const Menu = class {
688
671
  async handleSetFirstOption() {
689
672
  this.setHighlightedOption(0);
690
673
  }
674
+ /**
675
+ * @internal Used to initialize popperJS with an anchor element.
676
+ * 5/12/2023: Tested with Floating UI, however, discovered inconsistent
677
+ * boundary behaviour so sticking with PopperJS.
678
+ */
679
+ async initPopperJs(anchor) {
680
+ this.popperInstance = popper.createPopper(anchor, this.host, {
681
+ placement: "bottom",
682
+ modifiers: [
683
+ {
684
+ name: "offset",
685
+ options: {
686
+ offset: [0, 7],
687
+ },
688
+ },
689
+ {
690
+ name: "flip",
691
+ options: {
692
+ fallbackPlacements: ["top"],
693
+ rootBoundary: "viewport",
694
+ },
695
+ },
696
+ ],
697
+ });
698
+ }
691
699
  render() {
692
700
  const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, small, size, open, inputEl, keyboardNav, } = this;
693
701
  return (index.h(index.Host, { class: {
@@ -709,8 +717,9 @@ const Menu = class {
709
717
  }
710
718
  })))));
711
719
  }
712
- get el() { return index.getElement(this); }
720
+ get host() { return index.getElement(this); }
713
721
  static get watchers() { return {
722
+ "open": ["watchOpenHandler"],
714
723
  "options": ["watchOptionsHandler"],
715
724
  "value": ["watchValueHandler"]
716
725
  }; }