@ukic/web-components 3.8.0 → 3.10.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 (503) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
  3. package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +25 -20
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  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-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-list.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 +1 -1
  28. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +4 -4
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  40. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  42. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  48. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  52. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  55. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  60. package/dist/cjs/ic-select.cjs.entry.js +8 -7
  61. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  67. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-text-field.cjs.entry.js +4 -4
  74. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  76. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  78. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  80. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  83. package/dist/cjs/index-d337cd8a.js +8 -0
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/collection/assets/ai-icon.svg +11 -0
  86. package/dist/collection/collection-manifest.json +2 -0
  87. package/dist/collection/components/ic-action-chip/ic-action-chip.css +3 -3
  88. package/dist/collection/components/ic-alert/ic-alert.css +13 -0
  89. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  90. package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +179 -0
  92. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  93. package/dist/collection/components/ic-badge/ic-badge.js +1 -1
  94. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  95. package/dist/collection/components/ic-button/ic-button.js +33 -12
  96. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  97. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  99. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  100. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  101. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  102. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  103. package/dist/collection/components/ic-footer/ic-footer.stories.js +72 -0
  104. package/dist/collection/components/ic-hero/ic-hero.stories.js +72 -0
  105. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +8 -0
  106. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  107. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  108. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  109. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  110. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  111. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  112. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  113. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  114. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  115. package/dist/collection/components/ic-link/ic-link.js +1 -1
  116. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  117. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  118. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  119. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  120. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  121. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  122. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  123. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  124. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  125. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  126. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  127. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  128. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  129. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +39 -0
  130. package/dist/collection/components/ic-select/ic-select.js +7 -6
  131. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  132. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  133. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  134. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  135. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  136. package/dist/collection/components/ic-step/ic-step.js +13 -13
  137. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  138. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  139. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  140. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  141. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  142. package/dist/collection/components/ic-text-field/ic-text-field.js +3 -3
  143. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  144. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  145. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  146. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  147. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  148. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  149. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  150. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +236 -0
  151. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  152. package/dist/collection/components/ic-tooltip/ic-tooltip.js +27 -3
  153. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  154. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  155. package/dist/collection/utils/constants.js +5 -0
  156. package/dist/collection/utils/constants.js.map +1 -1
  157. package/dist/collection/utils/helpers.js +14 -6
  158. package/dist/collection/utils/helpers.js.map +1 -1
  159. package/dist/collection/utils/types.js.map +1 -1
  160. package/dist/components/helpers.js +31 -7
  161. package/dist/components/helpers.js.map +1 -1
  162. package/dist/components/ic-action-chip.js +1 -1
  163. package/dist/components/ic-action-chip.js.map +1 -1
  164. package/dist/components/ic-alert.js +1 -1
  165. package/dist/components/ic-alert.js.map +1 -1
  166. package/dist/components/ic-back-to-top.js +1 -1
  167. package/dist/components/ic-badge.js +2 -2
  168. package/dist/components/ic-badge.js.map +1 -1
  169. package/dist/components/ic-breadcrumb-group.js +1 -1
  170. package/dist/components/ic-breadcrumb2.js +1 -1
  171. package/dist/components/ic-button2.js +14 -12
  172. package/dist/components/ic-button2.js.map +1 -1
  173. package/dist/components/ic-checkbox-group.js +1 -1
  174. package/dist/components/ic-checkbox.js +2 -2
  175. package/dist/components/ic-checkbox.js.map +1 -1
  176. package/dist/components/ic-chip.js +2 -2
  177. package/dist/components/ic-chip.js.map +1 -1
  178. package/dist/components/ic-data-list.js +1 -1
  179. package/dist/components/ic-data-list.js.map +1 -1
  180. package/dist/components/ic-data-row.js +2 -2
  181. package/dist/components/ic-data-row.js.map +1 -1
  182. package/dist/components/ic-dialog.js +1 -1
  183. package/dist/components/ic-divider2.js +1 -1
  184. package/dist/components/ic-footer-link-group.js +1 -1
  185. package/dist/components/ic-footer-link.js +1 -1
  186. package/dist/components/ic-footer.js +1 -1
  187. package/dist/components/ic-hero.js +1 -1
  188. package/dist/components/ic-horizontal-scroll2.js +2 -2
  189. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  190. package/dist/components/ic-input-component-container2.js +1 -1
  191. package/dist/components/ic-input-label2.js +1 -1
  192. package/dist/components/ic-input-validation2.js +1 -1
  193. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  194. package/dist/components/ic-layout-grid-item.js +95 -0
  195. package/dist/components/ic-layout-grid-item.js.map +1 -0
  196. package/dist/components/ic-layout-grid.d.ts +11 -0
  197. package/dist/components/ic-layout-grid.js +188 -0
  198. package/dist/components/ic-layout-grid.js.map +1 -0
  199. package/dist/components/ic-link2.js +1 -1
  200. package/dist/components/ic-loading-indicator2.js +5 -5
  201. package/dist/components/ic-menu-group.js +2 -2
  202. package/dist/components/ic-menu-item2.js +1 -1
  203. package/dist/components/ic-menu2.js +4 -4
  204. package/dist/components/ic-navigation-button.js +1 -1
  205. package/dist/components/ic-navigation-group.js +3 -3
  206. package/dist/components/ic-navigation-group.js.map +1 -1
  207. package/dist/components/ic-navigation-item.js +1 -1
  208. package/dist/components/ic-navigation-menu2.js +5 -5
  209. package/dist/components/ic-page-header.js +7 -7
  210. package/dist/components/ic-pagination-item2.js +2 -2
  211. package/dist/components/ic-pagination.js +4 -4
  212. package/dist/components/ic-popover-menu.js +11 -6
  213. package/dist/components/ic-popover-menu.js.map +1 -1
  214. package/dist/components/ic-radio-group.js +1 -1
  215. package/dist/components/ic-radio-group.js.map +1 -1
  216. package/dist/components/ic-radio-option.js +1 -1
  217. package/dist/components/ic-radio-option.js.map +1 -1
  218. package/dist/components/ic-search-bar.js +1 -1
  219. package/dist/components/ic-search-bar.js.map +1 -1
  220. package/dist/components/ic-section-container2.js +2 -2
  221. package/dist/components/ic-select.js +8 -7
  222. package/dist/components/ic-select.js.map +1 -1
  223. package/dist/components/ic-side-navigation.js +5 -5
  224. package/dist/components/ic-skeleton.js +2 -2
  225. package/dist/components/ic-skip-link.js +2 -2
  226. package/dist/components/ic-status-tag.js +2 -2
  227. package/dist/components/ic-step.js +14 -14
  228. package/dist/components/ic-step.js.map +1 -1
  229. package/dist/components/ic-stepper.js +2 -2
  230. package/dist/components/ic-switch.js +5 -5
  231. package/dist/components/ic-tab-context.js +1 -1
  232. package/dist/components/ic-tab-group.js +2 -2
  233. package/dist/components/ic-tab-panel.js +2 -2
  234. package/dist/components/ic-tab-panel.js.map +1 -1
  235. package/dist/components/ic-tab.js.map +1 -1
  236. package/dist/components/ic-text-field.js +4 -4
  237. package/dist/components/ic-text-field.js.map +1 -1
  238. package/dist/components/ic-theme.js +2 -2
  239. package/dist/components/ic-toast-region.js +1 -1
  240. package/dist/components/ic-toast.js +5 -5
  241. package/dist/components/ic-toast.js.map +1 -1
  242. package/dist/components/ic-toggle-button-group.js +2 -2
  243. package/dist/components/ic-toggle-button.js +2 -2
  244. package/dist/components/ic-tooltip2.js +8 -3
  245. package/dist/components/ic-tooltip2.js.map +1 -1
  246. package/dist/components/ic-top-navigation.js +1 -1
  247. package/dist/core/core.css +12 -12
  248. package/dist/core/core.esm.js +1 -1
  249. package/dist/core/core.esm.js.map +1 -1
  250. package/dist/core/p-0c0c6a9e.entry.js +2 -0
  251. package/dist/core/p-0c0c6a9e.entry.js.map +1 -0
  252. package/dist/core/p-0d680d19.entry.js +2 -0
  253. package/dist/core/p-0d680d19.entry.js.map +1 -0
  254. package/dist/core/{p-ef357622.entry.js → p-15dbccc2.entry.js} +2 -2
  255. package/dist/core/{p-bf5653c0.entry.js → p-19cf2327.entry.js} +2 -2
  256. package/dist/core/p-1d37ac1c.entry.js +2 -0
  257. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  258. package/dist/core/{p-19680887.entry.js → p-1e2f40b0.entry.js} +2 -2
  259. package/dist/core/{p-fc933fc3.entry.js → p-21cf2beb.entry.js} +2 -2
  260. package/dist/core/p-25007ec9.js +2 -0
  261. package/dist/core/p-25007ec9.js.map +1 -0
  262. package/dist/core/{p-de43d375.entry.js → p-287e5c17.entry.js} +2 -2
  263. package/dist/core/{p-3f9ff1cb.entry.js → p-28efe829.entry.js} +2 -2
  264. package/dist/core/p-28efe829.entry.js.map +1 -0
  265. package/dist/core/{p-c63ae7d0.entry.js → p-2f4f392f.entry.js} +2 -2
  266. package/dist/core/{p-d2f1beb6.entry.js → p-313a8a2f.entry.js} +2 -2
  267. package/dist/core/{p-7cd6487e.entry.js → p-317e005f.entry.js} +2 -2
  268. package/dist/core/{p-0c095f5b.entry.js → p-3dc54847.entry.js} +2 -2
  269. package/dist/core/{p-2394346c.entry.js → p-3e5d7a3d.entry.js} +2 -2
  270. package/dist/core/p-41ef74a7.entry.js +2 -0
  271. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  272. package/dist/core/{p-9e177686.entry.js → p-41f92698.entry.js} +2 -2
  273. package/dist/core/p-43324339.entry.js +2 -0
  274. package/dist/core/p-43324339.entry.js.map +1 -0
  275. package/dist/core/{p-f34eee68.entry.js → p-45dd12ee.entry.js} +2 -2
  276. package/dist/core/{p-1f913ba3.entry.js → p-47f6dac2.entry.js} +2 -2
  277. package/dist/core/{p-1f913ba3.entry.js.map → p-47f6dac2.entry.js.map} +1 -1
  278. package/dist/core/{p-0a8140ef.entry.js → p-493eaabb.entry.js} +2 -2
  279. package/dist/core/{p-c9c6d63b.entry.js → p-4ca782eb.entry.js} +2 -2
  280. package/dist/core/{p-8557fa1e.entry.js → p-4d1a3036.entry.js} +2 -2
  281. package/dist/core/p-52748d5c.entry.js +2 -0
  282. package/dist/core/p-52748d5c.entry.js.map +1 -0
  283. package/dist/core/p-595a4d06.entry.js +2 -0
  284. package/dist/core/p-595a4d06.entry.js.map +1 -0
  285. package/dist/core/{p-88b516d6.entry.js → p-5f68f62b.entry.js} +2 -2
  286. package/dist/core/{p-d47acbd4.entry.js → p-5fbc8e62.entry.js} +2 -2
  287. package/dist/core/p-6014ab64.entry.js +2 -0
  288. package/dist/core/{p-3aa7f724.entry.js → p-661ae402.entry.js} +2 -2
  289. package/dist/core/{p-998dfae0.entry.js → p-6a576a8b.entry.js} +2 -2
  290. package/dist/core/{p-b3ac38c5.entry.js → p-6e8ef73c.entry.js} +2 -2
  291. package/dist/core/{p-fbaf0301.entry.js → p-6ed0ac48.entry.js} +2 -2
  292. package/dist/core/p-711bfeed.entry.js +2 -0
  293. package/dist/core/p-711bfeed.entry.js.map +1 -0
  294. package/dist/core/{p-60ff225d.entry.js → p-72a9909c.entry.js} +2 -2
  295. package/dist/core/{p-f643ae2b.entry.js → p-742a9181.entry.js} +2 -2
  296. package/dist/core/{p-b94d404b.entry.js → p-7cd4f6a6.entry.js} +2 -2
  297. package/dist/core/{p-a082d978.entry.js → p-8a4b12e4.entry.js} +2 -2
  298. package/dist/core/{p-48db785a.entry.js → p-8b5022bc.entry.js} +2 -2
  299. package/dist/core/{p-d1b7b839.entry.js → p-9323c234.entry.js} +2 -2
  300. package/dist/core/p-97b93ddf.entry.js +2 -0
  301. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  302. package/dist/core/{p-9f792a31.entry.js → p-999f0a5d.entry.js} +2 -2
  303. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  304. package/dist/core/{p-04c36b23.entry.js → p-9c013333.entry.js} +2 -2
  305. package/dist/core/{p-3eef02dd.entry.js → p-9eeb5e85.entry.js} +2 -2
  306. package/dist/core/{p-682a9365.entry.js → p-9f36791b.entry.js} +2 -2
  307. package/dist/core/{p-9d78ef89.entry.js → p-a602a8e1.entry.js} +2 -2
  308. package/dist/core/{p-51bff253.entry.js → p-a77364f5.entry.js} +2 -2
  309. package/dist/core/{p-1829c1a9.entry.js → p-af9c391d.entry.js} +2 -2
  310. package/dist/core/{p-2c2c752d.entry.js → p-b0d488d0.entry.js} +2 -2
  311. package/dist/core/{p-fee854f5.entry.js → p-b52000d9.entry.js} +2 -2
  312. package/dist/core/{p-57644340.entry.js → p-bb4ce810.entry.js} +2 -2
  313. package/dist/core/{p-57644340.entry.js.map → p-bb4ce810.entry.js.map} +1 -1
  314. package/dist/core/{p-4345907a.entry.js → p-cbe0d1bb.entry.js} +2 -2
  315. package/dist/core/p-ceea1712.entry.js +2 -0
  316. package/dist/core/p-ceea1712.entry.js.map +1 -0
  317. package/dist/core/p-cf631191.entry.js +2 -0
  318. package/dist/core/{p-ee6caf27.entry.js → p-df88ff5b.entry.js} +2 -2
  319. package/dist/core/{p-918af357.entry.js → p-e652ab09.entry.js} +2 -2
  320. package/dist/core/{p-4c336217.entry.js → p-e876e47c.entry.js} +2 -2
  321. package/dist/core/p-ea061ccf.entry.js +2 -0
  322. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  323. package/dist/core/{p-b3d3ee50.entry.js → p-ea778379.entry.js} +2 -2
  324. package/dist/core/{p-f46fd0e7.entry.js → p-ef4b5469.entry.js} +2 -2
  325. package/dist/core/{p-fd421f11.entry.js → p-f309d3af.entry.js} +2 -2
  326. package/dist/core/{p-32c030b1.entry.js → p-f6a02202.entry.js} +2 -2
  327. package/dist/core/p-fc3b1155.entry.js +2 -0
  328. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  329. package/dist/core/p-ffac41d6.entry.js +2 -0
  330. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  331. package/dist/esm/core.js +1 -1
  332. package/dist/esm/{helpers-2e75abf4.js → helpers-56631aa0.js} +31 -7
  333. package/dist/esm/helpers-56631aa0.js.map +1 -0
  334. package/dist/esm/ic-accordion-group.entry.js +1 -1
  335. package/dist/esm/ic-accordion.entry.js +1 -1
  336. package/dist/esm/ic-action-chip.entry.js +2 -2
  337. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  338. package/dist/esm/ic-alert.entry.js +2 -2
  339. package/dist/esm/ic-alert.entry.js.map +1 -1
  340. package/dist/esm/ic-back-to-top.entry.js +1 -1
  341. package/dist/esm/ic-badge.entry.js +2 -2
  342. package/dist/esm/ic-badge.entry.js.map +1 -1
  343. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  344. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  345. package/dist/esm/ic-button_3.entry.js +25 -20
  346. package/dist/esm/ic-button_3.entry.js.map +1 -1
  347. package/dist/esm/ic-card-vertical.entry.js +1 -1
  348. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  349. package/dist/esm/ic-checkbox.entry.js +2 -2
  350. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  351. package/dist/esm/ic-chip.entry.js +2 -2
  352. package/dist/esm/ic-chip.entry.js.map +1 -1
  353. package/dist/esm/ic-data-list.entry.js +1 -1
  354. package/dist/esm/ic-data-list.entry.js.map +1 -1
  355. package/dist/esm/ic-data-row.entry.js +2 -2
  356. package/dist/esm/ic-data-row.entry.js.map +1 -1
  357. package/dist/esm/ic-dialog.entry.js +1 -1
  358. package/dist/esm/ic-divider.entry.js +1 -1
  359. package/dist/esm/ic-empty-state.entry.js +1 -1
  360. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  361. package/dist/esm/ic-footer-link.entry.js +1 -1
  362. package/dist/esm/ic-footer.entry.js +1 -1
  363. package/dist/esm/ic-hero.entry.js +1 -1
  364. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  365. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  366. package/dist/esm/ic-input-component-container_3.entry.js +4 -4
  367. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  368. package/dist/esm/ic-input-label_2.entry.js +1 -1
  369. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  370. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  371. package/dist/esm/ic-layout-grid.entry.js +152 -0
  372. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  373. package/dist/esm/ic-link.entry.js +2 -2
  374. package/dist/esm/ic-menu-group.entry.js +2 -2
  375. package/dist/esm/ic-menu-item.entry.js +1 -1
  376. package/dist/esm/ic-navigation-button.entry.js +1 -1
  377. package/dist/esm/ic-navigation-group.entry.js +3 -3
  378. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  379. package/dist/esm/ic-navigation-item.entry.js +1 -1
  380. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  381. package/dist/esm/ic-page-header.entry.js +7 -7
  382. package/dist/esm/ic-pagination-item.entry.js +2 -2
  383. package/dist/esm/ic-pagination.entry.js +5 -5
  384. package/dist/esm/ic-popover-menu.entry.js +10 -6
  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 +1 -1
  388. package/dist/esm/ic-search-bar.entry.js +1 -1
  389. package/dist/esm/ic-section-container.entry.js +2 -2
  390. package/dist/esm/ic-select.entry.js +8 -7
  391. package/dist/esm/ic-select.entry.js.map +1 -1
  392. package/dist/esm/ic-side-navigation.entry.js +5 -5
  393. package/dist/esm/ic-skeleton.entry.js +2 -2
  394. package/dist/esm/ic-skip-link.entry.js +2 -2
  395. package/dist/esm/ic-status-tag.entry.js +3 -3
  396. package/dist/esm/ic-step.entry.js +14 -14
  397. package/dist/esm/ic-stepper.entry.js +3 -3
  398. package/dist/esm/ic-switch.entry.js +5 -5
  399. package/dist/esm/ic-tab-context.entry.js +1 -1
  400. package/dist/esm/ic-tab-group.entry.js +3 -3
  401. package/dist/esm/ic-tab-panel.entry.js +2 -2
  402. package/dist/esm/ic-tab.entry.js +1 -1
  403. package/dist/esm/ic-text-field.entry.js +4 -4
  404. package/dist/esm/ic-text-field.entry.js.map +1 -1
  405. package/dist/esm/ic-theme.entry.js +2 -2
  406. package/dist/esm/ic-toast-region.entry.js +1 -1
  407. package/dist/esm/ic-toast.entry.js +5 -5
  408. package/dist/esm/ic-toast.entry.js.map +1 -1
  409. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  410. package/dist/esm/ic-toggle-button.entry.js +3 -3
  411. package/dist/esm/ic-top-navigation.entry.js +1 -1
  412. package/dist/esm/ic-typography.entry.js +1 -1
  413. package/dist/esm/index-a7a720e7.js +8 -0
  414. package/dist/esm/loader.js +1 -1
  415. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  416. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  417. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  418. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  419. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  420. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  421. package/dist/types/components.d.ts +164 -0
  422. package/dist/types/utils/constants.d.ts +4 -0
  423. package/dist/types/utils/helpers.d.ts +3 -3
  424. package/dist/types/utils/types.d.ts +1 -1
  425. package/hydrate/index.js +394 -115
  426. package/hydrate/index.mjs +394 -115
  427. package/package.json +2 -2
  428. package/vscode-data.json +114 -0
  429. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  430. package/dist/core/p-03a2fa83.entry.js +0 -2
  431. package/dist/core/p-03a2fa83.entry.js.map +0 -1
  432. package/dist/core/p-0eaa2904.entry.js +0 -2
  433. package/dist/core/p-0eaa2904.entry.js.map +0 -1
  434. package/dist/core/p-280e7874.entry.js +0 -2
  435. package/dist/core/p-280e7874.entry.js.map +0 -1
  436. package/dist/core/p-3f9ff1cb.entry.js.map +0 -1
  437. package/dist/core/p-46a0a40b.entry.js +0 -2
  438. package/dist/core/p-46a0a40b.entry.js.map +0 -1
  439. package/dist/core/p-68f55187.entry.js +0 -2
  440. package/dist/core/p-68f55187.entry.js.map +0 -1
  441. package/dist/core/p-69aad690.entry.js +0 -2
  442. package/dist/core/p-69aad690.entry.js.map +0 -1
  443. package/dist/core/p-750d5536.entry.js +0 -2
  444. package/dist/core/p-750d5536.entry.js.map +0 -1
  445. package/dist/core/p-7ac5a271.entry.js +0 -2
  446. package/dist/core/p-7ac5a271.entry.js.map +0 -1
  447. package/dist/core/p-874f7e8d.entry.js +0 -2
  448. package/dist/core/p-874f7e8d.entry.js.map +0 -1
  449. package/dist/core/p-903f9c7f.entry.js +0 -2
  450. package/dist/core/p-903f9c7f.entry.js.map +0 -1
  451. package/dist/core/p-9f792a31.entry.js.map +0 -1
  452. package/dist/core/p-9f8acb5f.js +0 -2
  453. package/dist/core/p-9f8acb5f.js.map +0 -1
  454. package/dist/core/p-b5c72b06.entry.js +0 -2
  455. package/dist/core/p-b5c72b06.entry.js.map +0 -1
  456. package/dist/core/p-e0485462.entry.js +0 -2
  457. package/dist/core/p-e9b6b600.entry.js +0 -2
  458. package/dist/esm/helpers-2e75abf4.js.map +0 -1
  459. /package/dist/core/{p-ef357622.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  460. /package/dist/core/{p-bf5653c0.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  461. /package/dist/core/{p-19680887.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  462. /package/dist/core/{p-fc933fc3.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  463. /package/dist/core/{p-de43d375.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  464. /package/dist/core/{p-c63ae7d0.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  465. /package/dist/core/{p-d2f1beb6.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  466. /package/dist/core/{p-7cd6487e.entry.js.map → p-317e005f.entry.js.map} +0 -0
  467. /package/dist/core/{p-0c095f5b.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  468. /package/dist/core/{p-2394346c.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  469. /package/dist/core/{p-9e177686.entry.js.map → p-41f92698.entry.js.map} +0 -0
  470. /package/dist/core/{p-f34eee68.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  471. /package/dist/core/{p-0a8140ef.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  472. /package/dist/core/{p-c9c6d63b.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  473. /package/dist/core/{p-8557fa1e.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  474. /package/dist/core/{p-88b516d6.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  475. /package/dist/core/{p-d47acbd4.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  476. /package/dist/core/{p-e9b6b600.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  477. /package/dist/core/{p-3aa7f724.entry.js.map → p-661ae402.entry.js.map} +0 -0
  478. /package/dist/core/{p-998dfae0.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  479. /package/dist/core/{p-b3ac38c5.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  480. /package/dist/core/{p-fbaf0301.entry.js.map → p-6ed0ac48.entry.js.map} +0 -0
  481. /package/dist/core/{p-60ff225d.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  482. /package/dist/core/{p-f643ae2b.entry.js.map → p-742a9181.entry.js.map} +0 -0
  483. /package/dist/core/{p-b94d404b.entry.js.map → p-7cd4f6a6.entry.js.map} +0 -0
  484. /package/dist/core/{p-a082d978.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  485. /package/dist/core/{p-48db785a.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  486. /package/dist/core/{p-d1b7b839.entry.js.map → p-9323c234.entry.js.map} +0 -0
  487. /package/dist/core/{p-04c36b23.entry.js.map → p-9c013333.entry.js.map} +0 -0
  488. /package/dist/core/{p-3eef02dd.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  489. /package/dist/core/{p-682a9365.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  490. /package/dist/core/{p-9d78ef89.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  491. /package/dist/core/{p-51bff253.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  492. /package/dist/core/{p-1829c1a9.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  493. /package/dist/core/{p-2c2c752d.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  494. /package/dist/core/{p-fee854f5.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  495. /package/dist/core/{p-4345907a.entry.js.map → p-cbe0d1bb.entry.js.map} +0 -0
  496. /package/dist/core/{p-e0485462.entry.js.map → p-cf631191.entry.js.map} +0 -0
  497. /package/dist/core/{p-ee6caf27.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  498. /package/dist/core/{p-918af357.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  499. /package/dist/core/{p-4c336217.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  500. /package/dist/core/{p-b3d3ee50.entry.js.map → p-ea778379.entry.js.map} +0 -0
  501. /package/dist/core/{p-f46fd0e7.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  502. /package/dist/core/{p-fd421f11.entry.js.map → p-f309d3af.entry.js.map} +0 -0
  503. /package/dist/core/{p-32c030b1.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icInputComponentContainerCss","IcInputComponentContainerStyle0","InputComponentContainer","constructor","hostRef","this","disabled","fullWidth","multiLine","readonly","size","validationInline","validationStatus","watchDisabledHandler","removeDisabledFalse","el","componentWillLoad","componentDidLoad","hostMutationObserver","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","h","Host","key","class","slotHasContent","name","IcInformationStatus","Success","innerHTML","successIcon","icInputContainerCss","IcInputContainerStyle0","InputContainer","icMenuCss","IcMenuStyle0","Menu","ACTIVE_DESCENDANT","CLEAR_BUTTON_ID","SEARCH_BAR_TAG","disabledOptionSelected","hasPreviouslyBlurred","hasTimedOut","isLoading","lastOptionSelected","lastOptionFocused","multiOptionClicked","preventClickOpen","preventMenuFocus","shiftPressed","ungroupedOptions","focusFromSearchKeypress","initialOptionsListRender","keyboardNav","preventIncorrectTabOrder","popperProps","activationType","autofocusOnSelected","closeOnSelect","labelField","multiSelect","searchableSelect","searchBar","searchMode","selectOnEnter","valueField","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","setInputValue","handleMenuChange","open","focusInput","menuStateChange","emit","_a","inputEl","focus","undefined","setNextOptionValue","selectedOptionIndex","menuOptionSelect","value","optionId","getOptionId","setPreviousOptionValue","length","arrowBehaviour","event","preventDefault","getMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","target","id","selectHighlightedOption","isOpen","isOptionSelected","index","includes","deselectSelectedOptions","optionsToKeepSelected","selectedOptionIndexes","map","forEach","manualSetInputValueKeyboardOpen","isKeyboardCombination","shiftKey","metaKey","ctrlKey","getOptionHighlightedIndex","clickedMultiOptionIndex","Array","from","host","querySelectorAll","handleOptionSelect","handleSingleShiftSelect","menuOptionId","startOptionIndex","handleMultipleShiftSelect","endOptionIndex","stopImmediatePropagation","isMacDevice","emitSelectAllEvents","selectAllButton","focusOnSearchOrSelectInput","parentEl","setFocus","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","removeAttribute","_b","contains","_c","_d","handleMouseDown","handleMenuKeyDown","autoSetValueOnMenuKeyDown","handleMenuKeyUp","handleSelectAllClick","handleSelectAllBlur","classList","remove","handleSelectAllFocus","add","handleSelectAllMouseDown","optionToSelectIndex","lastOptionInSelection","useFocusForSelection","firstOptionSelected","firstOptionInSelection","getFirstOptionInSelection","optionsToSelect","i","push","optionIndex","menuOptionSelectAll","select","icClear","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","isSearchableSelect","tagName","menuId","getOptionAriaLabel","parentOption","ariaLabel","description","element","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","querySelector","elTop","offsetTop","offsetHeight","scrollTop","setAttribute","loadUngroupedOptions","children","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","clientHeight","handleTimeoutBlur","timeoutBlur","optionContent","selected","showCheckIcon","Fragment","loading","icon","variant","component","Check","displayOption","timeout","role","tabindex","onClick","onBlur","onMouseDown","xmlns","viewBox","fill","d","onKeyDown","watchOpenHandler","popperInstance","destroy","watchOptionsHandler","newOptions","some","opt","connectedCallback","disconnectedCallback","removeEventListener","addEventListener","disableAutoFiltering","onComponentRequiredPropUndefined","prop","propName","inputLabel","componentDidUpdate","inputValueInOptions","highlightedEl","componentDidRender","anchorEl","initPopperJs","handleClickOpen","handleKeyboardOpen","handleSetFirstOption","anchor","createPopper","Object","assign","placement","modifiers","offset","fallbackPlacements","rootBoundary","setExternalPopperProps","props","selectAllButtonText","hasNoResults","ref","onKeyUp","childOption","getOptionsWithoutGroupTitlesCount","onFocus"],"sources":["src/components/ic-input-component-container/ic-input-component-container.css?tag=ic-input-component-container","src/components/ic-input-component-container/ic-input-component-container.tsx","src/components/ic-input-container/ic-input-container.css?tag=ic-input-container","src/components/ic-input-container/ic-input-container.tsx","src/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","src/components/ic-menu/ic-menu.tsx"],"sourcesContent":["ic-input-component-container {\n /**\n * @prop --border-color: Border colour of the input component container\n * @prop --border-color-hover: Border colour of the input component container on hover\n * @prop --border-color-pressed: Border colour of the input component container when pressed\n * @prop --border-color-disabled: Border colour of the input component container when disabled\n * @prop --border-color-error: Border colour of the error variant for input component container\n * @prop --border-color-error-hover: Border colour of the error hover variant for input component container\n * @prop --border-color-error-pressed: Border colour of the error pressed variant for input component container\n * @prop --border-color-warning: Border colour of the warning variant for input component container\n * @prop --border-color-warning-hover: Border colour of the warning hover variant for input component container\n * @prop --border-color-warning-pressed: Border colour of the warning pressed variant for input component container\n * @prop --border-color-success: Border colour of the success variant for input component container\n * @prop --border-color-success-hover: Border colour of the success hover variant for input component container\n * @prop --border-color-success-pressed: Border colour of the success pressed variant for input component container\n */\n\n display: flex;\n border: var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-slow);\n height: 2.5rem;\n min-height: 2.5rem;\n width: var(--input-width, 20rem);\n padding: var(--ic-space-1px);\n background-color: var(--input-bg-color, var(--ic-color-background-primary));\n box-sizing: border-box;\n fill: var(--ic-architectural-400);\n outline: none;\n}\n\nic-input-component-container.ic-input-component-container-full-width {\n width: 100%;\n}\n\nic-input-component-container.ic-input-component-container-disabled,\nic-input-component-container.ic-input-component-container-disabled:hover {\n border: var(--ic-border-width) dashed\n var(--border-color-disabled, var(--ic-color-border-neutral-disabled));\n}\n\nic-input-component-container.ic-input-component-container-readonly,\nic-input-component-container.ic-input-component-container-small.ic-input-component-container-readonly,\nic-input-component-container.ic-input-component-container-large.ic-input-component-container-readonly {\n height: auto;\n background: transparent;\n}\n\nic-input-component-container.ic-input-component-container-readonly,\nic-input-component-container.ic-input-component-container-readonly:hover {\n border: none;\n padding: 0;\n}\n\nic-input-component-container.ic-input-component-container-error {\n border: var(--ic-space-xxxs) solid\n var(--border-color-error, var(--ic-color-border-error));\n padding: 0;\n}\n\nic-input-component-container.ic-input-component-container-error:hover {\n border: var(--ic-space-xxxs) solid\n var(--border-color-error-hover, var(--ic-color-border-error-hover));\n}\n\nic-input-component-container.ic-input-component-container-error:focus-within {\n border: var(--ic-space-xxxs) solid\n var(--border-color-error-pressed, var(--ic-color-border-error-pressed));\n}\n\nic-input-component-container.ic-input-component-container-warning {\n border: var(--ic-space-xxxs) solid\n var(--border-color-warning, var(--ic-color-border-warning));\n padding: 0;\n}\n\nic-input-component-container.ic-input-component-container-warning:hover {\n border: var(--ic-space-xxxs) solid\n var(--border-color-warning-hover, var(--ic-color-border-warning-hover));\n}\n\nic-input-component-container.ic-input-component-container-warning:focus-within {\n border: var(--ic-space-xxxs) solid\n var(--border-color-warning-pressed, var(--ic-color-border-warning-pressed));\n}\n\nic-input-component-container.ic-input-component-container-success {\n border: var(--ic-space-xxxs) solid\n var(--border-color-success, var(--ic-color-border-success));\n padding: 0;\n}\n\nic-input-component-container.ic-input-component-container-success:hover {\n border: var(--ic-space-xxxs) solid\n var(--border-color-success-hover, var(--ic-color-border-success-hover));\n}\n\nic-input-component-container.ic-input-component-container-success:focus-within {\n border: var(--ic-space-xxxs) solid\n var(--border-color-success-pressed, var(--ic-color-border-success-pressed));\n}\n\nic-input-component-container.ic-input-component-container-small {\n height: var(--ic-space-xl);\n min-height: var(--ic-space-xl);\n}\n\nic-input-component-container.ic-input-component-container-large {\n height: var(--ic-space-xxl);\n min-height: var(--ic-space-xxl);\n}\n\nic-input-component-container.ic-input-component-container-multiline {\n height: auto;\n}\n\nic-input-component-container .icon-container {\n margin-top: var(--ic-space-xxs);\n margin-left: 0.438rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.ic-input-component-container-multiline\n .icon-container,\nic-input-component-container.ic-input-component-container-multiline.ic-input-component-container-small\n .icon-container {\n margin-top: 0.375rem;\n display: block;\n}\n\nic-input-component-container.ic-input-component-container-readonly\n .icon-container {\n margin-left: -0.313rem;\n}\n\nic-input-component-container.ic-input-component-container-disabled\n ::placeholder {\n display: none;\n}\n\nic-input-component-container .inline-success {\n margin: var(--ic-space-xs) 0.375rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container .inline-success > svg {\n fill: var(--ic-input-component-container-success-icon-inline-color);\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-component-container:hover {\n border: var(--ic-input-component-container-hover-border);\n border-color: var(--border-color-hover, var(--ic-color-border-neutral-hover));\n color: var(--ic-action-monochrome-hover-dark);\n}\n\nic-input-component-container:focus {\n border: var(--ic-border-pressed);\n border-color: var(\n --border-color-pressed,\n var(--ic-color-border-neutral-pressed)\n );\n}\n\n.focus-indicator {\n display: flex;\n width: 100%;\n margin: -0.125rem;\n padding: 0.125rem;\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.focus-indicator:focus-within,\n.focus-indicator-enabled {\n box-shadow: var(--ic-border-focus);\n}\n\n.focus-indicator.ic-input-component-container-dark:focus-within {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n ic-input-component-container,\n .focus-indicator {\n transition: none;\n }\n\n ic-input-component-container:focus-within {\n border: var(--ic-border-width) solid Highlight;\n outline: 0.125rem solid Highlight;\n }\n\n ic-input-component-container.ic-input-component-container-disabled,\n ic-input-component-container.ic-input-component-container-disabled:hover {\n border: var(--ic-border-width) dashed GrayText;\n }\n}\n","import { Component, Element, Host, Prop, Watch, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n} from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport {\n removeDisabledFalse,\n renderDynamicChildSlots,\n slotHasContent,\n} from \"../../utils/helpers\";\n\n/**\n * @slot left-icon - Content will be placed to the left of the input.\n */\n@Component({\n tag: \"ic-input-component-container\",\n styleUrl: \"ic-input-component-container.css\",\n})\nexport class InputComponentContainer {\n private hostMutationObserver: MutationObserver;\n @Element() el: HTMLIcInputComponentContainerElement;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the input component container will fill the width of the container it is in.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * If `true`, the input component container will allow for multiple lines.\n */\n @Prop() multiLine?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The size of the input component container component.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * If `true`, the validation will display inline.\n */\n @Prop() validationInline?: boolean = false;\n\n /**\n * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"left-icon\", this)\n );\n this.hostMutationObserver.observe(this.el, { childList: true });\n }\n\n render() {\n const {\n size,\n validationStatus,\n disabled,\n readonly,\n multiLine,\n fullWidth,\n validationInline,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-input-component-container-${size}`]: true,\n [`ic-input-component-container-${validationStatus}`]:\n validationStatus !== \"\" && !disabled && !readonly,\n \"ic-input-component-container-disabled\": !!disabled,\n \"ic-input-component-container-readonly\": !!readonly,\n \"ic-input-component-container-multiline\": !!multiLine,\n \"ic-input-component-container-full-width\": !!fullWidth,\n }}\n aria-disabled={disabled ? \"true\" : null}\n >\n <div class=\"focus-indicator\">\n {slotHasContent(this.el, \"left-icon\") && (\n <div class=\"icon-container\">\n <slot name=\"left-icon\" />\n </div>\n )}\n <slot></slot>\n\n {validationInline &&\n validationStatus === IcInformationStatus.Success && (\n <span class=\"inline-success\" innerHTML={successIcon} />\n )}\n </div>\n </Host>\n );\n }\n}\n","ic-input-container .component-container {\n display: flex;\n flex-direction: column;\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: \"ic-input-container\",\n styleUrl: \"ic-input-container.css\",\n})\nexport class InputContainer {\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n render() {\n return (\n <Host>\n <div\n class={{\n [\"component-container\"]: true,\n [\"disabled\"]: !!this.disabled,\n [\"readonly\"]: !!this.readonly,\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.ic-menu-open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n max-height: 0;\n width: var(--menu-width, var(--input-width, 20rem));\n color: var(--menu-item-text-color, var(--ic-menu-list-option-text-color));\n\n --ic-typography-color: var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );\n\n background-color: var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.ic-menu-open:not(.ic-menu-no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.ic-select-select-all-focused) {\n box-shadow: var(--ic-elevation-overlay) !important;\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border-radius: 1px;\n background-color: var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu:has(+ .option-bar) {\n border-radius: 0 0 1px 1px;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-menu-open) {\n max-height: none;\n display: flex;\n flex-direction: column-reverse;\n border: var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.ic-menu-open) .menu {\n visibility: visible;\n max-height: calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs));\n}\n\n:host(.ic-menu-open) .option-bar {\n visibility: visible;\n}\n\n:host(.ic-menu-open) .select-all-button {\n display: block;\n}\n\n:host(.ic-menu-full-width) {\n width: 100%;\n}\n\n.option {\n padding: var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.loading-option p {\n margin-bottom: 0 !important;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.ic-menu-small) .option {\n padding: var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-menu-large) .option {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.option:last-child {\n border-radius: 0 0 1px 1px;\n}\n\n:not(.menu:has(+ .option-bar)) .option:first-child {\n border-radius: 1px 1px 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-menu-list-option-hover-background-color);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-menu-list-option-pressed-background-color);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n --ic-typography-color: var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n );\n}\n\n.option .option-label {\n display: flex;\n flex-direction: row;\n align-items: top;\n}\n\n.option .option-label ic-typography {\n max-width: 100%;\n word-wrap: break-word;\n}\n\n.option .option-element {\n margin-top: var(--ic-space-xxs);\n}\n\n.option .option-icon {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n margin-top: var(--ic-space-xxs);\n margin-right: var(--ic-space-xxxs);\n}\n\n.option-text-container {\n pointer-events: none;\n width: 100%;\n}\n\n.option-text-container.show-check-icon {\n width: calc(var(--ic-space-lg) * 10 + var(--ic-space-xl));\n}\n\n.option.loading-option .option-text-container {\n margin-left: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n color: var(--ic-menu-loading-list-option-text-color);\n\n --ic-typography-color: var(--ic-menu-loading-list-option-text-color);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-atoms-status-icon-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n min-width: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-xs);\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-menu-option-group-label-text-color);\n}\n\n:host(.ic-menu-small) .option-group-title {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs);\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-menu-last-recommended-option-border);\n}\n\n.disabled-option {\n color: var(--ic-atoms-list-option-text-disabled-light);\n\n --ic-typography-color: var(--ic-atoms-list-option-text-disabled-light);\n\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-color-focus-inner) !important;\n color: var(--ic-atoms-list-option-text-focused-light) !important;\n\n --ic-typography-color: var(\n --ic-atoms-list-option-text-focused-light\n ) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n.option-bar {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: var(--ic-menu-option-bar-background-color);\n visibility: hidden;\n border-bottom: var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);\n border-radius: 1px 1px 0 0;\n}\n\n.option-bar p {\n margin-bottom: 0 !important;\n}\n\n:host(.ic-menu-large) .option-bar {\n padding: var(--ic-space-xs);\n}\n\n.select-all-button {\n display: none;\n}\n\n.select-all-button:focus {\n z-index: calc(var(--ic-z-index-menu) + 1);\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n\n .disabled-option {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Method,\n State,\n Watch,\n Fragment,\n} from \"@stencil/core\";\nimport {\n createPopper,\n Instance as PopperInstance,\n Options,\n} from \"@popperjs/core\";\n\nimport {\n IcActivationTypes,\n IcMenuOption,\n IcSizes,\n IcMultiValueEventDetail,\n} from \"../../utils/types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport {\n getOptionsWithoutGroupTitlesCount,\n isMacDevice,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcOptionSelectEventDetail,\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n} from \"./ic-menu.types\";\nimport { IcSearchBarSearchModes } from \"../ic-search-bar/ic-search-bar.types\";\n\n@Component({\n tag: \"ic-menu\",\n styleUrl: \"ic-menu.css\",\n scoped: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n private ACTIVE_DESCENDANT = \"aria-activedescendant\";\n private CLEAR_BUTTON_ID = \"clear-button\";\n private SEARCH_BAR_TAG = \"IC-SEARCH-BAR\";\n private disabledOptionSelected = false;\n private hasPreviouslyBlurred = false;\n private hasTimedOut = false;\n private isLoading = false;\n private lastOptionSelected: number | null = null; // Index of last option selected\n private lastOptionFocused: number | null = null; // Index of last option focused\n private menu?: HTMLUListElement;\n private multiOptionClicked: string | null = null;\n private popperInstance: PopperInstance | null;\n private preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n private preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.\n private selectAllButton?: HTMLIcButtonElement;\n private shiftPressed = false;\n private ungroupedOptions: IcMenuOption[] = [];\n\n @Element() host: HTMLIcMenuElement;\n\n @State() focusFromSearchKeypress = false;\n @State() initialOptionsListRender = false;\n @State() keyboardNav = false;\n @State() optionHighlighted?: string;\n @State() preventIncorrectTabOrder = false;\n @State() menuOptions: IcMenuOption[];\n @State() popperProps: Partial<Options> = {};\n\n /**\n * Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\n */\n @Prop() activationType: IcActivationTypes = \"automatic\";\n\n /**\n * The reference to an anchor element the menu will position itself from when rendered.\n */\n @Prop() anchorEl?: HTMLElement;\n\n /**\n * @internal If `true`, autofocus will be applied on selected item when menu is open.\n */\n @Prop() autofocusOnSelected = true;\n\n /**\n * If `true`, the menu will close when an option is selected.\n */\n @Prop() closeOnSelect = true;\n\n /**\n * If `true`, the menu will fill the width of the container.\n */\n @Prop() fullWidth = false;\n\n /**\n * The reference to the input element.\n */\n @Prop() inputEl?: HTMLElement;\n\n /**\n * The label for the input element.\n */\n @Prop() inputLabel!: string;\n\n /**\n * The custom name for the label field for IcMenuOption.\n */\n @Prop() labelField = \"label\";\n\n /**\n * The ID of the menu.\n */\n @Prop() menuId!: string;\n\n /**\n * @internal - flag to specify if menu is in a ic-select multiple.\n */\n @Prop() multiSelect = false;\n\n /**\n * If `true`, the menu will be displayed open.\n */\n @Prop({ reflect: true }) open!: boolean;\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (!this.open && this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * @internal - The parent element if ic-menu is nested inside another component.\n */\n @Prop() parentEl?: HTMLElement;\n\n /**\n * @internal - flag to specify if menu is in a searchable ic-select.\n */\n @Prop() searchableSelect = false;\n\n /**\n * @internal - flag to specify if menu is in a ic-search-bar.\n */\n @Prop() searchBar = false;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * @internal If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\n */\n @Prop() selectOnEnter: boolean = false;\n\n /**\n * The size of the menu.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * The possible menu selection options.\n */\n @Prop() options!: IcMenuOption[];\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n\n /**\n * The value of the currently selected option - or array of values (if multiple options allowed).\n */\n @Prop() value!: string | string[];\n\n /**\n * The custom name for the value field for IcMenuOption.\n */\n @Prop() valueField = \"value\";\n\n /**\n * Emitted when the clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * @internal Emitted when key is pressed while menu is open.\n */\n @Event() menuKeyPress: EventEmitter<{ isNavKey: boolean; key: string }>;\n\n /**\n * @internal Emitted when an option has been highlighted.\n */\n @Event() menuOptionId: EventEmitter<IcMenuOptionIdEventDetail>;\n\n /**\n * @internal Emitted when an option is selected.\n */\n @Event() menuOptionSelect!: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * @internal Emitted when all options are selected or deselected.\n */\n @Event() menuOptionSelectAll!: EventEmitter<{ select: boolean }>;\n\n /**\n * @internal Emitted when state of menu changes (i.e. open or closed).\n */\n @Event() menuStateChange!: EventEmitter<IcMenuChangeEventDetail>;\n\n /**\n * @internal Emitted when the retry button is clicked.\n */\n @Event() retryButtonClicked: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * @internal Emitted when the timeout menu loses focus.\n */\n @Event() timeoutBlur: EventEmitter<{ ev: FocusEvent }>;\n\n /**\n * @internal Emitted when the ungrouped options have been set.\n */\n @Event() ungroupedOptionsSet: EventEmitter<{ options: IcMenuOption[] }>;\n\n connectedCallback(): void {\n if (this.searchBar) {\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n\n disconnectedCallback(): void {\n this.popperInstance?.destroy();\n this.parentEl?.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl?.removeEventListener(\n \"icSubmitSearch\",\n this.handleSubmitSearch\n );\n }\n\n componentWillLoad(): void {\n this.loadUngroupedOptions();\n this.parentEl?.addEventListener(\"icClear\", this.handleClearListener);\n this.parentEl?.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = this.options?.some((opt) => opt.timedOut);\n this.isLoading = this.options?.some((opt) => opt.loading);\n }\n\n componentDidLoad(): void {\n if (\n this.searchBar &&\n (this.parentEl as HTMLIcSearchBarElement).disableAutoFiltering\n ) {\n this.focusFromSearchKeypress = true;\n }\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ],\n \"Menu\"\n );\n }\n\n componentDidUpdate(): void {\n const inputValueInOptions = this.options.some(\n (option) => option[this.valueField] === this.value\n );\n\n if (\n this.menu &&\n this.open &&\n this.options.length !== 0 &&\n !this.preventMenuFocus\n ) {\n if (\n this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autofocusOnSelected &&\n !this.searchableSelect\n ) {\n this.scrollToSelected(this.menu);\n } else if (this.selectOnEnter) {\n this.menu.focus();\n } else if (\n !!this.optionHighlighted &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder\n ) {\n const highlightedEl = this.host.querySelector(\n `li[data-value=\"${this.optionHighlighted}\"]`\n ) as HTMLElement;\n\n if (highlightedEl) {\n this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);\n highlightedEl.focus();\n }\n } else if (this.inputEl && this.inputEl.tagName !== \"INPUT\") {\n this.menu.focus();\n }\n }\n\n if (this.menu && this.open && !this.value && this.selectOnEnter) {\n this.scrollToSelected(this.menu);\n }\n\n this.preventMenuFocus = false;\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance && this.anchorEl) {\n this.initPopperJs(this.anchorEl);\n }\n\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n @Method()\n async handleClickOpen(): Promise<void> {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event The keyboard event which is available when handleKeyboardOpen is invoked.\n */\n @Method()\n async handleKeyboardOpen(event: KeyboardEvent): Promise<void> {\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n } else {\n this.manualSetInputValueKeyboardOpen(event);\n }\n }\n\n /**\n * @internal Used to highlight the first option in the menu.\n */\n @Method()\n async handleSetFirstOption(): Promise<void> {\n this.setHighlightedOption(0);\n }\n\n /**\n * @internal Used to initialize popperJS with an anchor element.\n * 5/12/2023: Tested with Floating UI, however, discovered inconsistent\n * boundary behaviour so sticking with PopperJS.\n */\n @Method()\n async initPopperJs(anchor: HTMLElement): Promise<void> {\n // Placements set to \"-start\" to accommodate for custom menu width - menu should always be aligned to the left\n this.popperInstance = createPopper(anchor, this.host, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n ...this.popperProps,\n });\n }\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the menu\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n private handleClearListener = (): void => {\n this.optionHighlighted = \"\";\n };\n\n private handleSubmitSearch = (): void => {\n const highlightedOptionIndex = this.options.findIndex(\n (option) => option[this.valueField] === this.optionHighlighted\n );\n\n this.setInputValue(highlightedOptionIndex);\n };\n\n private handleMenuChange = (open: boolean, focusInput?: boolean): void => {\n this.menuStateChange.emit({ open, focusInput });\n\n if (!open) {\n if (focusInput !== false) {\n this.inputEl?.focus();\n this.preventClickOpen = false;\n }\n\n // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed\n if (this.multiSelect) {\n this.optionHighlighted = undefined;\n this.multiOptionClicked = null;\n }\n }\n };\n\n private setNextOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),\n });\n }\n };\n\n private setPreviousOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value:\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ],\n optionId: this.getOptionId(\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ]\n ),\n });\n }\n };\n\n // Open menu when up or down arrow keys are pressed\n private arrowBehaviour = (event: KeyboardEvent): void => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n\n private getMenuOptions = () =>\n this.searchBar ? this.options : this.ungroupedOptions;\n\n // Set option that is focused and so should show focus state\n private setHighlightedOption = (highlightedIndex: number): void => {\n const menuOptions = this.getMenuOptions();\n\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex][this.valueField] || undefined);\n };\n\n // Determines keyboard behaviour when selection is automatic\n // (i.e. you don't have to press Enter select an option - just focus on it)\n // and menu is closed\n private autoSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option[this.valueField] === this.value\n );\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if ((event.target as HTMLElement).id !== this.CLEAR_BUTTON_ID) {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n\n private selectHighlightedOption = (\n options: IcMenuOption[],\n highlightedOptionIndex: number\n ) => {\n if (!this.isLoading && !this.hasTimedOut) {\n this.keyboardNav = true;\n }\n\n const isOpen: boolean =\n this.searchBar || this.searchableSelect || this.open;\n\n if (isOpen) {\n if (highlightedOptionIndex >= 0) {\n if (options[highlightedOptionIndex] !== undefined) {\n if (\n this.searchBar &&\n options[highlightedOptionIndex].disabled === true\n ) {\n this.disabledOptionSelected = true;\n } else {\n this.setInputValue(highlightedOptionIndex);\n }\n }\n } else {\n this.setInputValue(highlightedOptionIndex);\n }\n } else {\n this.handleMenuChange(true);\n }\n };\n\n // Check if option is selected based on the index of the option\n private isOptionSelected = (index: number) => {\n const menuOptions = this.getMenuOptions();\n\n return this.value\n ? this.value.includes(menuOptions[index][this.valueField])\n : false;\n };\n\n // Deselect currently selected options when shift pressed, but keep certain options selected\n private deselectSelectedOptions = (optionsToKeepSelected: number[]) => {\n const menuOptions = this.getMenuOptions();\n\n if (this.value) {\n const selectedOptionIndexes = (this.value as string[]).map((value) => {\n return menuOptions.findIndex(\n (option) => option[this.valueField] === value\n );\n });\n\n // Call setInputValue (which toggles the selected state) on options that need to be deselected\n selectedOptionIndexes.forEach(\n (index) =>\n !optionsToKeepSelected.includes(index) && this.setInputValue(index)\n );\n }\n };\n\n // Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)\n private manualSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const menuOptions = this.getMenuOptions();\n\n // For preventing focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed\n // (i.e. when user is likely in the middle of executing a keyboard combination to select options)\n const isKeyboardCombination =\n event.shiftKey || event.metaKey || event.ctrlKey;\n\n const highlightedOptionIndex = this.getOptionHighlightedIndex();\n\n const clickedMultiOptionIndex = menuOptions.findIndex(\n (option) => option[this.valueField] === this.multiOptionClicked\n );\n\n const getOptionId = (index: number): string =>\n Array.from(this.host.querySelectorAll(\"li\"))[index]?.id;\n\n // Space press should be equivalent to Enter when multi-select\n if (event.key === \" \" && this.multiSelect) {\n this.handleOptionSelect(event, highlightedOptionIndex);\n } else {\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (this.multiOptionClicked) {\n // Set focus to option last clicked\n // Prevents it resetting to the top of the menu when user switches to using keyboard\n this.setHighlightedOption(clickedMultiOptionIndex);\n this.multiOptionClicked = null;\n } else {\n this.handleSingleShiftSelect(\n event,\n highlightedOptionIndex,\n menuOptions\n );\n\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n\n this.handleSingleShiftSelect(\n event,\n highlightedOptionIndex + 1,\n menuOptions\n );\n } else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n\n this.handleSingleShiftSelect(event, 0, menuOptions);\n }\n\n // Deselect currently selected options if arrow was pressed for first time after shift is held\n if (this.multiSelect && this.shiftPressed) {\n this.deselectSelectedOptions([\n highlightedOptionIndex,\n this.getOptionHighlightedIndex(),\n ]);\n this.shiftPressed = false;\n }\n }\n this.lastOptionFocused = this.getOptionHighlightedIndex();\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (this.multiOptionClicked) {\n // Set focus to option last clicked\n // Prevents it resetting to the bottom of the menu when user switches to using keyboard\n this.setHighlightedOption(clickedMultiOptionIndex);\n this.multiOptionClicked = null;\n } else {\n this.handleSingleShiftSelect(\n event,\n highlightedOptionIndex,\n menuOptions\n );\n\n if (\n highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1\n ) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n\n this.handleSingleShiftSelect(\n event,\n menuOptions.length - 1,\n menuOptions\n );\n } else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n\n this.handleSingleShiftSelect(\n event,\n highlightedOptionIndex - 1,\n menuOptions\n );\n }\n\n // Deselect currently selected options if arrow was pressed for first time after shift is held\n if (this.multiSelect && this.shiftPressed) {\n this.deselectSelectedOptions([\n highlightedOptionIndex,\n this.getOptionHighlightedIndex(),\n ]);\n this.shiftPressed = false;\n }\n }\n\n this.lastOptionFocused = this.getOptionHighlightedIndex();\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\": {\n const startOptionIndex = 0;\n\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(startOptionIndex);\n this.menuOptionId.emit({\n optionId: getOptionId(startOptionIndex),\n });\n\n if (event.shiftKey && event.ctrlKey) {\n this.handleMultipleShiftSelect(startOptionIndex);\n }\n\n this.lastOptionFocused = startOptionIndex;\n this.lastOptionSelected = startOptionIndex;\n break;\n }\n case \"End\": {\n const endOptionIndex = menuOptions.length - 1;\n\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(endOptionIndex);\n this.menuOptionId.emit({\n optionId: getOptionId(endOptionIndex),\n });\n\n if (event.shiftKey && event.ctrlKey) {\n this.handleMultipleShiftSelect(endOptionIndex);\n }\n\n this.lastOptionFocused = endOptionIndex;\n this.lastOptionSelected = endOptionIndex;\n break;\n }\n case \" \":\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n if (this.searchBar || this.searchableSelect) {\n break;\n } else {\n if ((event.target as HTMLElement).id !== this.CLEAR_BUTTON_ID) {\n this.handleMenuChange(true);\n }\n }\n break;\n case \"Enter\":\n event.preventDefault();\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n this.handleOptionSelect(event, highlightedOptionIndex);\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"a\":\n // Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)\n // Otherwise, if a different OS, checks Ctrl key\n if (\n (isMacDevice() && event.metaKey) ||\n (!isMacDevice() && event.ctrlKey)\n ) {\n this.emitSelectAllEvents();\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n break;\n case \"Shift\":\n case \"Tab\":\n if (event.key === \"Shift\") {\n this.shiftPressed = true;\n }\n if (this.searchBar) {\n this.keyboardNav = true;\n }\n if (this.multiSelect) {\n if (this.open && !event.shiftKey && this.selectAllButton) {\n event.preventDefault();\n this.selectAllButton.focus(); // Move focus to select all button instead of focused option\n this.preventMenuFocus = true;\n this.preventClickOpen = true;\n this.optionHighlighted = undefined; // Stop any option focus states showing when focus moved to select all button\n }\n } else {\n this.preventIncorrectTabOrder = true;\n }\n break;\n default:\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);\n }\n }\n };\n\n private setInputValue = (highlightedOptionIndex: number) => {\n const menuOptions = this.getMenuOptions();\n\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex][this.valueField],\n });\n\n if (this.closeOnSelect) {\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n }\n\n if (this.closeOnSelect) {\n if (!this.hasTimedOut) {\n this.handleMenuChange(false);\n } else {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n }\n }\n };\n\n private handleOptionClick = (event: MouseEvent): void => {\n const { value, label } = (event.target as HTMLLIElement).dataset;\n\n if (this.multiSelect) {\n const menuOptions = this.getMenuOptions();\n const selectedOptionIndex = menuOptions.findIndex(\n (option) => option.value === value\n );\n\n this.handleOptionSelect(event, selectedOptionIndex, true);\n this.multiOptionClicked = value || null;\n } else {\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n }\n\n this.optionHighlighted = undefined;\n };\n\n private handleRetry = (): void => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n\n private handleRetryKeyDown = (ev: KeyboardEvent): void => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n\n private handleBlur = (event: FocusEvent): void => {\n if (event.relatedTarget !== this.inputEl) {\n if (event.relatedTarget === this.selectAllButton) {\n this.menu?.removeAttribute(this.ACTIVE_DESCENDANT);\n }\n\n if (\n !(\n this.menu?.contains(event.relatedTarget as HTMLElement) ||\n event.relatedTarget === this.selectAllButton\n )\n ) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n this.menu?.removeAttribute(this.ACTIVE_DESCENDANT);\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n } else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n this.menu?.removeAttribute(this.ACTIVE_DESCENDANT);\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n if (!this.searchBar) this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n\n private handleMouseDown = (event: Event): void => {\n event.preventDefault();\n };\n\n private handleMenuKeyDown = (event: KeyboardEvent) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n } else if (this.activationType === \"manual\" && !this.searchBar) {\n this.manualSetInputValueKeyboardOpen(event);\n }\n };\n\n private handleMenuKeyUp = (event: KeyboardEvent): void => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n if (event.key === \"Enter\" && this.disabledOptionSelected) {\n this.disabledOptionSelected = false;\n event.stopImmediatePropagation();\n }\n\n if (event.key === \"Shift\") {\n this.shiftPressed = false;\n }\n };\n\n private handleSelectAllClick = () => {\n this.keyboardNav = false;\n this.menu?.focus();\n this.emitSelectAllEvents();\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n };\n\n private handleSelectAllBlur = (event: FocusEvent) => {\n this.host.classList.remove(\"ic-select-select-all-focused\");\n if (!this.menu?.contains(event.relatedTarget as HTMLElement)) {\n this.handleMenuChange(false, false);\n }\n };\n\n private handleSelectAllFocus = () => {\n this.host.classList.add(\"ic-select-select-all-focused\");\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n };\n\n // Fix for Safari - select all button click was causing menu to close\n private handleSelectAllMouseDown = (event: Event) => {\n event.preventDefault();\n };\n\n // When shift key is being used to select contiguous options one by one on a multi-select\n // I.e. holding shift and pressing up and down arrow keys\n private handleSingleShiftSelect = (\n event: KeyboardEvent,\n optionToSelectIndex: number,\n options: IcMenuOption[]\n ) => {\n if (\n this.multiSelect &&\n event.shiftKey &&\n !this.isOptionSelected(optionToSelectIndex)\n ) {\n this.selectHighlightedOption(options, optionToSelectIndex);\n this.lastOptionSelected = optionToSelectIndex;\n }\n };\n\n // When shift key is being used to select multiple options at once on a multi-select\n // I.e. holding shift when selecting another option\n private handleMultipleShiftSelect = (\n lastOptionInSelection: number,\n useFocusForSelection = false,\n firstOptionSelected: number | null = null\n ) => {\n this.shiftPressed = false;\n\n const firstOptionInSelection =\n firstOptionSelected === null\n ? this.getFirstOptionInSelection(useFocusForSelection)\n : firstOptionSelected;\n if (firstOptionInSelection !== null) {\n const optionsToSelect = [];\n\n if (firstOptionInSelection < lastOptionInSelection) {\n for (\n let i = firstOptionInSelection;\n i < lastOptionInSelection + 1;\n i++\n ) {\n optionsToSelect.push(i);\n }\n } else {\n for (\n let i = firstOptionInSelection;\n i > lastOptionInSelection - 1;\n i--\n ) {\n optionsToSelect.push(i);\n }\n }\n\n optionsToSelect.forEach(\n (optionIndex) =>\n !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex)\n );\n this.deselectSelectedOptions(optionsToSelect);\n }\n };\n\n private handleOptionSelect = (\n event: KeyboardEvent | MouseEvent,\n optionIndex: number,\n useFocusForSelection = false\n ) => {\n const menuOptions = this.getMenuOptions();\n const firstOptionInSelection =\n this.getFirstOptionInSelection(useFocusForSelection);\n if (event.shiftKey && firstOptionInSelection !== null) {\n this.handleMultipleShiftSelect(\n optionIndex,\n useFocusForSelection,\n firstOptionInSelection\n );\n } else {\n this.selectHighlightedOption(menuOptions, optionIndex);\n }\n\n this.lastOptionFocused = optionIndex;\n this.lastOptionSelected = optionIndex;\n };\n\n private getFirstOptionInSelection = (\n useFocusForSelection: boolean\n ): number | null => {\n return useFocusForSelection && this.lastOptionFocused !== null\n ? this.lastOptionFocused\n : this.lastOptionSelected !== null\n ? this.lastOptionSelected\n : null;\n };\n\n private emitSelectAllEvents = () => {\n // Select all if there is either no value or not all options are selected\n // 'true' means select all, 'false' means clear all\n this.menuOptionSelectAll.emit({\n select:\n !this.value || !(this.value?.length === this.ungroupedOptions.length),\n });\n // Emit clear event if all options are selected\n if (this.value?.length === this.ungroupedOptions.length) {\n this.icClear.emit();\n }\n };\n\n private emitMenuKeyPress = (isNavKey: boolean, key: string) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n\n // Determines keyboard behaviour when selection is automatic\n // (i.e. you don't have to press Enter select an option - just focus on it)\n // and menu is focused\n private autoSetValueOnMenuKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option[this.valueField] === this.value\n );\n\n const isSearchableSelect =\n !!this.inputEl && this.inputEl.tagName === \"INPUT\";\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value:\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ],\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n this.inputEl?.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n this.inputEl?.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n\n private getOptionId = (value: string): string => {\n return `${this.menuId}-${value}`;\n };\n\n private getOptionAriaLabel = (\n option: IcMenuOption,\n parentOption?: IcMenuOption\n ): string => {\n let ariaLabel = option[this.labelField];\n\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n\n if (option.element) {\n ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;\n }\n\n if (parentOption) {\n return `${ariaLabel}, ${parentOption[this.labelField]} group`;\n } else {\n return ariaLabel;\n }\n };\n\n private getSortedOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n let sorted: IcMenuOption[] = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) =>\n optionA.recommended && !optionB.recommended ? -1 : 0\n );\n }\n return sorted;\n };\n\n private getOptionHighlightedIndex = () => {\n const menuOptions = this.getMenuOptions();\n\n return menuOptions.findIndex(\n (option) => option[this.valueField] === this.optionHighlighted\n );\n };\n\n private isManualMode = this.activationType === \"manual\";\n\n private scrollToSelected = (menu: HTMLUListElement) => {\n const selectedOption = this.selectOnEnter\n ? (this.host.querySelector(\n `li[data-value=\"${this.optionHighlighted}\"]`\n ) as HTMLElement)\n : (menu.querySelector(\".option[aria-selected='true']\") as HTMLElement);\n\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (\n elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight\n ) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n // 'aria-activedescendant' affects screen reader focus\n // https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant\n this.menu?.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);\n selectedOption.focus();\n }\n };\n\n // Set 'ungroupedOptions' variable and emit its value\n // - this is all the options with disabled options and group titles removed\n private loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map(\n (option) => !option.disabled && this.ungroupedOptions.push(option)\n );\n } else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n\n private setMenuScrollbar = () => {\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option, .option-group-title\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n\n if (optionsHeight >= 320) {\n this.menu?.classList.add(\"menu-scroll\");\n }\n };\n\n private handleTimeoutBlur = (ev: FocusEvent) => {\n this.timeoutBlur.emit({ ev });\n };\n\n private focusOnSearchOrSelectInput(\n menuOptions: IcMenuOption[],\n highlightedOptionIndex: number\n ) {\n if (!menuOptions[highlightedOptionIndex]) return;\n\n if (this.searchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n }\n\n if (this.searchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n }\n\n this.focusFromSearchKeypress = true;\n }\n\n private optionContent = (option: IcMenuOption, selected: boolean) => {\n const showCheckIcon =\n !!option[this.valueField] &&\n !!this.value &&\n selected &&\n this.parentEl?.tagName !== this.SEARCH_BAR_TAG;\n\n return (\n <Fragment>\n {option.loading && <ic-loading-indicator size=\"icon\" />}\n <div\n class={{\n \"option-text-container\": true,\n \"show-check-icon\": showCheckIcon,\n }}\n >\n <div class=\"option-label\">\n {option.icon && (\n <div\n class=\"option-icon\"\n innerHTML={option.icon}\n aria-hidden=\"true\"\n ></div>\n )}\n <ic-typography variant=\"body\" aria-hidden=\"true\">\n {option[this.labelField]}\n </ic-typography>\n </div>\n {option.description && (\n <ic-typography\n id={`${this.getOptionId(option[this.valueField])}-description`}\n class=\"option-description\"\n variant=\"caption\"\n aria-hidden=\"true\"\n >\n <p>{option.description}</p>\n </ic-typography>\n )}\n {option.element && (\n <div\n class=\"option-element\"\n innerHTML={option.element.component}\n aria-hidden=\"true\"\n ></div>\n )}\n </div>\n {showCheckIcon && <span class=\"check-icon\" innerHTML={Check} />}\n </Fragment>\n );\n };\n\n private displayOption = (\n option: IcMenuOption,\n selected: boolean,\n index: number,\n parentOption?: IcMenuOption\n ): HTMLLIElement => {\n const {\n open,\n keyboardNav,\n isManualMode,\n initialOptionsListRender,\n optionHighlighted,\n options,\n } = this;\n\n return (\n <li\n id={this.getOptionId(option[this.valueField])}\n class={{\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option[this.valueField] === optionHighlighted\n : keyboardNav && selected,\n \"last-recommended-option\": !!(\n option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended\n ),\n \"disabled-option\": !!option.disabled,\n \"loading-option\": !!option.loading,\n timeout: !!option.timedOut,\n }}\n role=\"option\"\n tabindex={\n open &&\n (selected || option[this.valueField] === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\"\n }\n aria-label={this.getOptionAriaLabel(option, parentOption)}\n aria-selected={selected ? \"true\" : \"false\"}\n aria-disabled={option.disabled ? \"true\" : \"false\"}\n onClick={\n !option.timedOut && !option.loading\n ? this.handleOptionClick\n : undefined\n }\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n data-value={option[this.valueField]}\n data-label={option[this.labelField]}\n >\n {option.timedOut ? (\n <Fragment>\n <div class=\"loading-error-info\">\n <svg\n class=\"error-icon-svg\"\n aria-labelledby=\"error-title\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#000000\"\n >\n <title id=\"error-title\">Error</title>\n <g id=\"close-octagon\">\n <path\n id=\"Vector\"\n d=\"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41\"\n />\n </g>\n </svg>\n <ic-typography variant=\"label\">\n {option[this.labelField]}\n </ic-typography>\n </div>\n <ic-button\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleRetry}\n onKeyDown={this.handleRetryKeyDown}\n onBlur={this.handleTimeoutBlur}\n id=\"retry-button\"\n >\n Retry\n </ic-button>\n </Fragment>\n ) : (\n this.optionContent(option, selected)\n )}\n </li>\n );\n };\n\n render() {\n const {\n inputLabel,\n options,\n menuId,\n value,\n fullWidth,\n hasTimedOut,\n isLoading,\n size,\n open,\n inputEl,\n keyboardNav,\n parentEl,\n SEARCH_BAR_TAG,\n multiSelect,\n } = this;\n\n const selectAllButtonText = `${\n value?.length === this.ungroupedOptions.length ? \"Clear\" : \"Select\"\n } all`;\n\n const hasNoResults = this.host.classList.contains(\"no-results\");\n\n return (\n <Host\n class={{\n \"ic-menu-full-width\": !!fullWidth,\n \"ic-menu-no-focus\":\n (inputEl?.tagName === \"INPUT\" &&\n parentEl?.tagName !== SEARCH_BAR_TAG) ||\n hasTimedOut ||\n isLoading,\n [`ic-menu-${size}`]: true,\n \"ic-menu-open\": open && options.length !== 0,\n \"ic-menu-multiple\": multiSelect,\n }}\n >\n {options.length !== 0 && (\n <ul\n id={menuId}\n class=\"menu\"\n role=\"listbox\"\n aria-label={`${inputLabel} pop-up`}\n aria-multiselectable={multiSelect ? \"true\" : \"false\"}\n tabindex={\n open &&\n !keyboardNav &&\n (inputEl?.tagName !== \"INPUT\" ||\n parentEl?.tagName === SEARCH_BAR_TAG)\n ? \"0\"\n : \"-1\"\n }\n ref={(el) => (this.menu = el)}\n onKeyDown={this.handleMenuKeyDown}\n onKeyUp={this.handleMenuKeyUp}\n onBlur={this.handleBlur}\n >\n {this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (\n <div>\n <ic-typography\n class=\"option-group-title\"\n role=\"presentation\"\n variant=\"subtitle-small\"\n >\n <p>{option[this.labelField]}</p>\n </ic-typography>\n {option.children.map(\n (childOption) =>\n childOption.label &&\n this.displayOption(\n childOption,\n multiSelect\n ? value?.includes(childOption[this.valueField])\n : childOption[this.valueField] === value,\n index,\n option\n )\n )}\n </div>\n );\n } else {\n return null;\n }\n } else {\n // Display option only if it has a label (rather than displaying an empty space)\n return (\n option.label &&\n this.displayOption(\n option,\n multiSelect\n ? value?.includes(option[this.valueField])\n : option[this.valueField] === value,\n index\n )\n );\n }\n })}\n </ul>\n )}\n {options.length !== 0 &&\n multiSelect &&\n !isLoading &&\n !hasTimedOut &&\n !hasNoResults && (\n <div class=\"option-bar\">\n <ic-typography>\n <p>{`${\n value ? value.length : 0\n }/${getOptionsWithoutGroupTitlesCount(\n this.options\n )} selected`}</p>\n </ic-typography>\n <ic-button\n class=\"select-all-button\"\n aria-label={`${selectAllButtonText} options for ${inputLabel}`}\n ref={(el) => (this.selectAllButton = el)}\n variant=\"tertiary\"\n onClick={this.handleSelectAllClick}\n onMouseDown={this.handleSelectAllMouseDown}\n onBlur={this.handleSelectAllBlur}\n onFocus={this.handleSelectAllFocus}\n size={size === \"small\" ? \"small\" : \"medium\"}\n >\n {selectAllButtonText}\n </ic-button>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,f as i,h as r,H as n,g as a,F as e}from"./p-8e4e97b4.js";import{z as c,r as s,x as d,a1 as u,j as b,I as l,i as h,o as m}from"./p-9f8acb5f.js";import{c as v}from"./p-68a5aaff.js";const p=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>\n</svg>`;const g='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;position:relative;--icon-width:100%;--icon-height:100%}.button,::slotted(a){font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:0.875rem;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:var(--min-width, 6.25rem);display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}:host(.with-badge) .button{border-radius:0.2188rem}.button:hover,::slotted(a:hover){cursor:pointer}.button:focus,::slotted(a:focus){box-shadow:var(--ic-border-focus)}.button:focus-visible,::slotted(a:focus-visible){outline:var(--ic-hc-focus-outline)}:host(.ic-button-disabled),:host(.ic-button-disabled) .button,:host(.ic-button-disabled) ::slotted(a),:host(.ic-button-loading),:host(.ic-button-loading) .button{pointer-events:none}:host(.top-icon) .button{flex-direction:column;--height:fit-content}:host(.top-icon) .button .icon-container{margin-right:0}:host(.ic-button-variant-primary) .button,:host(.ic-button-variant-icon-primary) .button{color:var(--ic-button-primary-text);background-color:var(--ic-button-primary-background)}:host(.ic-button-variant-primary:not(.ic-button-disabled)) ::slotted(svg){color:var(--ic-button-primary-icon)}:host(.ic-button-variant-primary) ::slotted(a),:host(.ic-button-variant-icon-primary) ::slotted(a){--ic-typography-color:var(--ic-button-primary-text);color:var(--ic-button-primary-text);background-color:var(--ic-button-primary-background) !important}:host(.ic-button-variant-primary) .button:hover,:host(.ic-button-variant-icon-primary) .button:hover{background-color:var(--ic-button-primary-background-hover)}:host(.ic-button-variant-primary) ::slotted(a:hover),:host(.ic-button-variant-icon-primary) ::slotted(a:hover){background-color:var(--ic-button-primary-background-hover) !important}:host(.ic-button-variant-primary.ic-button-loading) .button,:host(.ic-button-variant-primary) .button:active,:host(.ic-button-variant-icon-primary.ic-button-loading) .button,:host(.ic-button-variant-icon-primary) .button:active{background-color:var(--ic-button-primary-background-pressed);--button-loading-inner-color:var(--ic-button-primary-text);--button-loading-outer-color:var(--ic-button-primary-background-pressed)}:host(.ic-button-variant-primary) ::slotted(a:active),:host(.ic-button-variant-icon-primary) ::slotted(a:active){background-color:var(--ic-button-primary-background-pressed) !important}:host(.ic-button-variant-primary.ic-button-disabled) .button,:host(.ic-button-variant-icon-primary.ic-button-disabled) .button{background:var(--ic-button-primary-background-disabled);color:var(--ic-button-primary-text-disabled)}:host(.ic-button-variant-primary.ic-button-disabled) ::slotted(a),:host(.ic-button-variant-icon-primary.ic-button-disabled) ::slotted(a){background:var(--ic-button-primary-background-disabled) !important;--ic-typography-color:var(--ic-button-primary-text-disabled) !important;color:var(--ic-button-primary-text-disabled) !important}:host(.ic-button-variant-primary.monochrome) .button,:host(.ic-button-variant-icon-primary.monochrome) .button{color:var(--ic-button-primary-text-monochrome);background-color:var(--ic-button-primary-background-monochrome)}:host(.ic-button-variant-primary.monochrome) ::slotted(a),:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a){background-color:var(--ic-button-primary-background-monochrome) !important}:host(.ic-button-variant-primary.monochrome) .button:hover,:host(.ic-button-variant-icon-primary.monochrome) .button:hover{background-color:var(--ic-button-primary-background-hover-monochrome)}:host(.ic-button-variant-primary.monochrome) ::slotted(a:hover),:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a:hover){background-color:var(\n --ic-button-primary-background-hover-monochrome\n ) !important}:host(.ic-button-variant-primary.ic-button-loading.monochrome) .button,:host(.ic-button-variant-primary.monochrome) .button:active,:host(.ic-button-variant-icon-primary.ic-button-loading.monochrome) .button,:host(.ic-button-variant-icon-primary.monochrome) .button:active{background-color:var(--ic-button-primary-background-pressed-monochrome);--button-loading-inner-color:var(--ic-button-primary-text-monochrome);--button-loading-outer-color:var(--ic-button-primary-background-monochrome)}:host(.ic-button-variant-primary.monochrome) ::slotted(a:active),:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a:active){background-color:var(\n --ic-button-primary-background-pressed-monochrome\n ) !important}:host(.ic-button-variant-primary.ic-button-disabled.monochrome) .button,:host(.ic-button-variant-icon-primary.ic-button-disabled.monochrome) .button{background-color:var(--ic-button-primary-background-disabled-monochrome);color:var(--ic-button-primary-text-disabled-monochrome)}:host(.ic-button-variant-primary.ic-button-disabled.monochrome) ::slotted(a),:host(.ic-button-variant-icon-primary.ic-button-disabled.monochrome) ::slotted(a){background-color:var(\n --ic-button-primary-background-disabled-monochrome\n ) !important}:host(.ic-button-variant-secondary) .button,:host(.ic-button-variant-icon-secondary) .button{border:var(--ic-border-width) solid var(--ic-button-secondary-border);color:var(--ic-button-secondary-text)}:host(.ic-button-variant-secondary) ::slotted(a),:host(.ic-button-variant-icon-secondary) ::slotted(a){border:var(--ic-border-width) solid var(--ic-button-secondary-border) !important;color:var(--ic-button-secondary-text) !important;--ic-typography-color:var(--ic-button-secondary-text) !important}:host(.ic-button-variant-secondary) .button:hover,:host(.ic-button-variant-icon-secondary) .button:hover{background-color:var(--ic-button-secondary-background-hover-active);border-color:var(--ic-button-secondary-border-hover);color:var(--ic-button-secondary-text-hover-active)}:host(.ic-button-variant-secondary) ::slotted(a:hover),:host(.ic-button-variant-icon-secondary) ::slotted(a:hover){background-color:var(\n --ic-button-secondary-background-hover-active\n ) !important}:host(.ic-button-variant-secondary) .button:active,:host(.ic-button-variant-icon-secondary) .button:active{border-color:var(--ic-button-secondary-border-pressed);background-color:var(--ic-button-secondary-background-pressed-active);color:var(--ic-button-secondary-text-pressed-active)}:host(.ic-button-variant-secondary) ::slotted(a:active),:host(.ic-button-variant-icon-secondary) ::slotted(a:active){background-color:var(\n --ic-button-secondary-background-pressed-active\n ) !important}:host(.ic-button-variant-secondary.ic-button-loading) .button,:host(.ic-button-variant-icon-secondary.ic-button-loading) .button{border-color:var(--ic-button-secondary-border-pressed);background-color:var(\n --loading-button-background,\n var(--ic-button-secondary-background-pressed-active)\n ) !important;color:var(--ic-button-secondary-text-pressed-active);--button-loading-inner-color:var(--ic-button-secondary-border-pressed);--button-loading-outer-color:var(\n --ic-button-secondary-background-pressed-active\n )}:host(.ic-button-variant-secondary.ic-button-disabled) .button,:host(.ic-button-variant-icon-secondary.ic-button-disabled) .button{border-color:var(--ic-button-secondary-border-disabled);color:var(--ic-button-secondary-text-disabled);background:none}:host(.ic-button-variant-secondary.ic-button-disabled) ::slotted(a),:host(.ic-button-variant-icon-secondary.ic-button-disabled) ::slotted(a){background:none !important}:host(.ic-button-variant-secondary.background) .button,:host(.ic-button-variant-icon-secondary.background) .button{background-color:var(--ic-button-secondary-background)}:host(.ic-button-variant-secondary.background) ::slotted(a),:host(.ic-button-variant-icon-secondary.background) ::slotted(a){background-color:var(--ic-button-secondary-background) !important}:host(.ic-button-variant-secondary.background) .button:hover,:host(.ic-button-variant-icon-secondary.background) .button:hover{background-image:var(--ic-button-secondary-background-non-transparent-hover)}:host(.ic-button-variant-secondary.background) ::slotted(a:hover),:host(.ic-button-variant-icon-secondary.background) ::slotted(a:hover){background-image:var(\n --ic-button-secondary-background-non-transparent-hover\n ) !important}:host(.ic-button-variant-secondary.background) .button:active,:host(.ic-button-variant-icon-secondary.background) .button:active{background-image:var(\n --ic-button-secondary-background-non-transparent-active\n )}:host(.ic-button-variant-secondary.background) ::slotted(a:active),:host(.ic-button-variant-icon-secondary.background) ::slotted(a:active){background-image:var(\n --ic-button-secondary-background-non-transparent-active\n ) !important}:host(.ic-button-variant-secondary.monochrome) .button,:host(.ic-button-variant-icon-secondary.monochrome) .button{background-color:none;border:var(--ic-border-width) solid\n var(--ic-button-secondary-border-monochrome);color:var(--ic-button-secondary-text-monochrome)}:host(.ic-button-variant-secondary.monochrome) ::slotted(a),:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a){background-color:none !important}:host(.ic-button-variant-secondary.monochrome) .button:hover,:host(.ic-button-variant-icon-secondary.monochrome) .button:hover{background-color:var(--ic-button-secondary-background-hover-monochrome);border-color:var(--ic-button-secondary-border-hover-monochrome);color:var(--ic-button-secondary-text-hover-monochrome)}:host(.ic-button-variant-secondary.monochrome) ::slotted(a:hover),:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:hover){background-color:var(\n --ic-button-secondary-background-hover-monochrome\n ) !important}:host(.ic-button-variant-secondary.monochrome) .button:active,:host(.ic-button-variant-icon-secondary.monochrome) .button:active{background-color:var(--ic-button-secondary-background-pressed-monochrome);border-color:var(--ic-button-secondary-border-pressed-monochrome);color:var(--ic-button-secondary-text-pressed-monochrome)}:host(.ic-button-variant-secondary.monochrome) ::slotted(a:active),:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:active){background-color:var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important}:host(.ic-button-variant-secondary.ic-button-loading.monochrome) .button,:host(.ic-button-variant-icon-secondary.ic-button-loading.monochrome) .button{background-color:var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important;border-color:var(--ic-button-secondary-border-pressed-monochrome);color:var(--ic-button-secondary-text-pressed-monochrome);--button-loading-inner-color:var(\n --ic-button-secondary-text-pressed-monochrome\n );--button-loading-outer-color:var(\n --ic-button-secondary-background-pressed-monochrome\n )}:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) .button,:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome) .button{background:none;border-color:var(--ic-button-secondary-border-disabled-monochrome);color:var(--ic-button-secondary-text-disabled-monochrome)}:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) ::slotted(a),:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome) ::slotted(a){background:none !important}:host(.ic-button-variant-secondary.background.monochrome) .button,:host(.ic-button-variant-icon-secondary.background.monochrome) .button{background-color:var(--ic-button-secondary-background-monochrome)}:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a),:host(.ic-button-variant-icon-secondary.background.monochrome) ::slotted(a){background-color:var(--ic-button-secondary-background-monochrome) !important}:host(.ic-button-variant-secondary.background.monochrome) .button:hover,:host(.ic-button-variant-icon-secondary.background.monochrome) .button:hover{background-image:var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n )}:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:hover),:host(.ic-button-variant-icon-secondary.background.monochrome) ::slotted(a:hover){background-image:var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n ) !important}:host(.ic-button-variant-secondary.background.monochrome) .button:active,:host(.ic-button-variant-icon-secondary.background.monochrome) .button:active{background-image:var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n )}:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:active),:host(.ic-button-variant-icon-secondary.background.monochrome) ::slotted(a:active){background-image:var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n ) !important}:host(.ic-button-variant-tertiary) .button,:host(.ic-button-variant-icon-tertiary) .button,:host(.ic-button-variant-tertiary) ::slotted(a),:host(.ic-button-variant-icon-tertiary) ::slotted(a){color:var(--ic-button-tertiary-text-active);--ic-typography-color:var(--ic-button-tertiary-text-active)}:host(.ic-button-variant-tertiary) .button:hover,:host(.ic-button-variant-icon-tertiary) .button:hover{background-color:var(--ic-button-tertiary-background-hover-active);color:var(--ic-button-tertiary-text-hover-active)}:host(.ic-button-variant-tertiary) ::slotted(a:hover),:host(.ic-button-variant-icon-tertiary) ::slotted(a:hover){background-color:var(\n --ic-button-tertiary-background-hover-active\n ) !important}:host(.ic-button-variant-tertiary) .button:active,:host(.ic-button-variant-tertiary.ic-button-loading) .button,:host(.ic-button-variant-icon-tertiary) .button:active,:host(.ic-button-variant-icon-tertiary.ic-button-loading) .button{background-color:var(--ic-button-tertiary-background-pressed-active);color:var(--ic-button-tertiary-text-pressed-active);--button-loading-inner-color:var(--ic-button-tertiary-text-pressed-active);--button-loading-outer-color:var(--ic-button-tertiary-background-pressed)}:host(.ic-button-variant-tertiary) ::slotted(a:active),:host(.ic-button-variant-icon-tertiary) ::slotted(a:active){background-color:var(\n --ic-button-tertiary-background-pressed-active\n ) !important}:host(.ic-button-variant-tertiary.ic-button-disabled) .button,:host(.ic-button-variant-icon-tertiary.ic-button-disabled) .button{color:var(--ic-button-tertiary-text-disabled);background:none}:host(.ic-button-variant-tertiary.ic-button-disabled) ::slotted(a),:host(.ic-button-variant-icon-tertiary.ic-button-disabled) ::slotted(a){background:none !important}:host(.ic-button-variant-tertiary.background) .button,:host(.ic-button-variant-icon-tertiary.background) .button{background-color:var(--ic-button-tertiary-background)}:host(.ic-button-variant-tertiary.background) ::slotted(a),:host(.ic-button-variant-icon-tertiary.background) ::slotted(a){background-color:var(--ic-button-tertiary-background) !important}:host(.ic-button-variant-tertiary.background) .button:hover,:host(.ic-button-variant-icon-tertiary.background) .button:hover{background-image:var(--ic-button-tertiary-background-non-transparent-hover)}:host(.ic-button-variant-tertiary.background) ::slotted(a:hover),:host(.ic-button-variant-icon-tertiary.background) ::slotted(a:hover){background-image:var(\n --ic-button-tertiary-background-non-transparent-hover\n ) !important}:host(.ic-button-variant-tertiary.background) .button:active,:host(.ic-button-variant-icon-tertiary.background) .button:active{background-image:var(--ic-button-tertiary-background-non-transparent-active)}:host(.ic-button-variant-tertiary.background) ::slotted(a:active),:host(.ic-button-variant-icon-tertiary.background) ::slotted(a:active){background-image:var(\n --ic-button-tertiary-background-non-transparent-active\n ) !important}:host(.ic-button-variant-tertiary.monochrome) .button,:host(.ic-button-variant-tertiary.monochrome) ::slotted(a),:host(.ic-button-variant-icon-tertiary.monochrome) .button,:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a){color:var(--ic-button-tertiary-text-monochrome);--ic-typography-color:var(--ic-button-tertiary-text-monochrome)}:host(.ic-button-variant-tertiary.monochrome) .button:hover,:host(.ic-button-variant-icon-tertiary.monochrome) .button:hover{background-color:var(--ic-button-tertiary-background-hover-monochrome);color:var(--ic-button-tertiary-text-hover-monochrome)}:host(.ic-button-variant-tertiary.monochrome) ::slotted(a:hover),:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a:hover){background-color:var(\n --ic-button-tertiary-background-hover-monochrome\n ) !important}:host(.ic-button-variant-tertiary.monochrome) .button:active,:host(.ic-button-variant-tertiary.ic-button-loading.monochrome) .button,:host(.ic-button-variant-icon-tertiary.monochrome) .button:active,:host(.ic-button-variant-icon-tertiary.ic-button-loading.monochrome) .button{background-color:var(--ic-button-tertiary-background-pressed-monochrome);color:var(--ic-button-tertiary-text-pressed-monochrome);--button-loading-inner-color:var(\n --ic-button-tertiary-text-pressed-monochrome\n );--button-loading-outer-color:var(\n --ic-button-tertiary-background-pressed-monochrome\n )}:host(.ic-button-variant-tertiary.monochrome) ::slotted(a:active),:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a:active){background-color:var(\n --ic-button-tertiary-background-pressed-monochrome\n ) !important}:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) .button,:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome) .button{color:var(--ic-button-tertiary-text-disabled-monochrome);background:none}:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) ::slotted(a),:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome) ::slotted(a){background:none !important}:host(.ic-button-variant-tertiary.background.monochrome) .button,:host(.ic-button-variant-icon-tertiary.background.monochrome) .button{background-color:var(--ic-button-tertiary-background-monochrome)}:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a),:host(.ic-button-variant-icon-tertiary.background.monochrome) ::slotted(a){background-color:var(--ic-button-tertiary-background-monochrome) !important}:host(.ic-button-variant-tertiary.background.monochrome) .button:hover,:host(.ic-button-variant-icon-tertiary.background.monochrome) .button:hover{background-image:var(\n --ic-button-tertiary-background-non-transparent-monochrome-hover\n )}:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a:hover),:host(.ic-button-variant-icon-tertiary.background.monochrome) ::slotted(a:hover){background-image:var(\n --ic-button-tertiary-background-non-transparent-monochrome-hover\n ) !important}:host(.ic-button-variant-tertiary.background.monochrome) .button:active,:host(.ic-button-variant-icon-tertiary.background.monochrome) .button:active{background-image:var(\n --ic-button-tertiary-background-non-transparent-monochrome-active\n )}:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a:active),:host(.ic-button-variant-icon-tertiary.background.monochrome) ::slotted(a:active){background-image:var(\n --ic-button-tertiary-background-non-transparent-monochrome-active\n ) !important}:host(.ic-button-variant-destructive) .button,:host(.ic-button-variant-icon-destructive) .button{color:var(--ic-button-destructive-text);background-color:var(--ic-button-destructive-background);text-transform:uppercase}:host(.ic-button-variant-destructive) ::slotted(a),:host(.ic-button-variant-icon-destructive) ::slotted(a){color:var(--ic-button-destructive-text) !important;--ic-typography-color:var(--ic-button-destructive-text) !important;background-color:var(--ic-button-destructive-background) !important;text-transform:uppercase !important}:host(.ic-button-variant-destructive) .button:hover,:host(.ic-button-variant-icon-destructive) .button:hover{background-color:var(--ic-button-destructive-background-hover)}:host(.ic-button-variant-destructive) ::slotted(a:hover),:host(.ic-button-variant-icon-destructive) ::slotted(a:hover){background-color:var(--ic-button-destructive-background-hover) !important}:host(.ic-button-variant-destructive) .button:active,:host(.ic-button-variant-destructive.ic-button-loading) .button,:host(.ic-button-variant-icon-destructive.ic-button-loading) .button{color:var(--ic-button-primary-text);background-color:var(--ic-button-destructive-background-pressed);--button-loading-inner-color:var(--ic-button-primary-text);--button-loading-outer-color:var(--ic-button-destructive-background-pressed)}:host(.ic-button-variant-destructive) ::slotted(a:active),:host(.ic-button-variant-icon-destructive) ::slotted(a:active){background-color:var(--ic-button-destructive-background-pressed) !important}:host(.ic-button-variant-destructive.ic-button-disabled) .button,:host(.ic-button-variant-icon-destructive.ic-button-disabled) .button{background-color:var(--ic-button-destructive-background-disabled);color:var(--ic-button-destructive-text-disabled)}:host(.ic-button-variant-destructive.ic-button-disabled) ::slotted(a),:host(.ic-button-variant-icon-destructive.ic-button-disabled) ::slotted(a){background-color:var(--ic-button-destructive-background-disabled) !important}:host(.ic-button-variant-icon) .button{color:var(--ic-button-icon-color);background-color:var(--ic-button-icon-color-background);min-width:0;gap:var(--ic-space-xs)}:host(.ic-button-variant-icon) ::slotted(a){color:var(--ic-button-icon-color);background-color:var(--ic-button-icon-color-background) !important;min-width:0;gap:var(--ic-space-xs)}:host(.ic-button-variant-icon) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important}:host(.ic-button-variant-icon) .button:hover{color:var(--ic-button-icon-color-hover);background-color:var(--ic-button-icon-color-background-hover)}:host(.ic-button-variant-icon) ::slotted(a:hover){color:var(--ic-button-icon-color-hover);background-color:var(--ic-button-icon-color-background-hover) !important}:host(.ic-button-variant-icon) .button:active:not(:focus),:host(.ic-button-variant-icon.ic-button-loading) .button{color:var(--ic-button-icon-color-active);background-color:var(--ic-button-icon-color-background-active)}:host(.ic-button-variant-icon) ::slotted(a:active:not(:focus)){color:var(--ic-button-icon-color-active);background-color:var(--ic-button-icon-color-background-active) !important}:host(.ic-button-variant-icon.ic-button-disabled) .button{color:var(--ic-color-icon-disabled-mid);background:none}:host(.ic-button-variant-icon.ic-button-disabled) ::slotted(a){color:var(--ic-color-icon-disabled-mid);background:none !important}:host(.ic-button-variant-icon-primary) .button,:host(.ic-button-variant-icon-primary) ::slotted(a){min-width:0;gap:var(--ic-space-xs);color:var(--ic-button-primary-icon)}:host(.ic-button-variant-icon-primary.monochrome) .button,:host(.ic-button-variant-primary.monochrome:not(.ic-button-disabled)) ::slotted(svg){color:var(--ic-button-primary-icon-monochrome)}:host(.ic-button-variant-icon-primary) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important;margin:0;pointer-events:none}:host(.ic-button-variant-icon.monochrome) ::slotted(a),:host(.ic-button-variant-icon.monochrome) ::slotted(svg){color:var(--ic-button-icon-monochrome)}:host(.ic-button-variant-icon-secondary) .button,:host(.ic-button-variant-icon-secondary) ::slotted(a){min-width:0;gap:var(--ic-space-xs)}:host(.ic-button-variant-icon-secondary) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important;margin:0;pointer-events:none}:host(.ic-button-variant-icon-tertiary) .button,:host(.ic-button-variant-icon-tertiary) ::slotted(a){min-width:0;gap:var(--ic-space-xs)}:host(.ic-button-variant-icon-tertiary) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important;margin:0;pointer-events:none}:host(.ic-button-variant-icon-destructive) .button,:host(.ic-button-variant-icon-destructive) ::slotted(a){min-width:0;gap:var(--ic-space-xs)}:host(.ic-button-variant-icon-destructive) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important;margin:0;pointer-events:none}:host(.ic-button-size-medium) .button{height:var(--height, 2.5rem);padding:var(--ic-space-xs) var(--ic-space-md)}:host(.ic-button-size-medium) ::slotted(a){height:var(--height, 2.5rem) !important;padding:var(--ic-space-xs) var(--ic-space-md) !important}:host(.ic-button-size-small) .button{height:var(--height, var(--ic-space-xl));padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.ic-button-size-small) ::slotted(a){height:var(--height, var(--ic-space-xl)) !important;padding:var(--ic-space-xxs) var(--ic-space-md) !important}:host(.ic-button-size-large) .button{height:var(--height, var(--ic-space-xxl));padding:var(--ic-space-sm) var(--ic-space-md)}:host(.ic-button-size-large) ::slotted(a){height:var(--height, var(--ic-space-xxl)) !important;padding:var(--ic-space-sm) var(--ic-space-md) !important}:host(.ic-button-size-medium.ic-button-variant-icon) .button,:host(.ic-button-size-medium.ic-button-variant-icon-primary) .button,:host(.ic-button-size-medium.ic-button-variant-icon-secondary) .button,:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) .button,:host(.ic-button-size-medium.ic-button-variant-icon-destructive) .button{height:var(--height, var(--ic-space-xl));width:var(--ic-space-xl);padding:0.375rem}:host(.ic-button-size-medium.ic-button-variant-icon-primary) ::slotted(a),:host(.ic-button-size-medium.ic-button-variant-icon-secondary) ::slotted(a),:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) ::slotted(a),:host(.ic-button-size-medium.ic-button-variant-icon-destructive) ::slotted(a){height:var(--height, var(--ic-space-xl)) !important;width:var(--ic-space-xl) !important;padding:0.375rem !important}:host(.ic-button-size-small.ic-button-variant-icon) .button,:host(.ic-button-size-small.ic-button-variant-icon-primary) .button,:host(.ic-button-size-small.ic-button-variant-icon-secondary) .button,:host(.ic-button-size-small.ic-button-variant-icon-tertiary) .button,:host(.ic-button-size-small.ic-button-variant-icon-destructive) .button{height:var(--height, var(--ic-space-lg));width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.ic-button-size-small.ic-button-variant-icon-primary) ::slotted(a),:host(.ic-button-size-small.ic-button-variant-icon-secondary) ::slotted(a),:host(.ic-button-size-small.ic-button-variant-icon-tertiary) ::slotted(a),:host(.ic-button-size-small.ic-button-variant-icon-destructive) ::slotted(a),:host(.ic-button-size-small.ic-button-variant-icon) ::slotted(a){height:var(--height, var(--ic-space-lg)) !important;width:var(--ic-space-lg) !important;padding:var(--ic-space-xxs) !important}:host(.ic-button-size-large.ic-button-variant-icon) .button,:host(.ic-button-size-large.ic-button-variant-icon-primary) .button,:host(.ic-button-size-large.ic-button-variant-icon-secondary) .button,:host(.ic-button-size-large.ic-button-variant-icon-tertiary) .button,:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button{height:var(--height, 2.5rem);width:2.5rem;padding:var(--ic-space-xs)}:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button,:host(.ic-button-size-large.ic-button-variant-icon-primary) ::slotted(a),:host(.ic-button-size-large.ic-button-variant-icon-secondary) ::slotted(a),:host(.ic-button-size-large.ic-button-variant-icon-tertiary) ::slotted(a),:host(.ic-button-size-large.ic-button-variant-icon-destructive) ::slotted(a),:host(.ic-button-size-large.ic-button-variant-icon) ::slotted(a){height:var(--height, 2.5rem) !important;width:2.5rem !important;padding:var(--ic-space-xs) !important}:host(.ic-button-full-width),:host(.ic-button-full-width) .button{width:100%}:host(.ic-button-full-width) ::slotted(a){width:100% !important}div.loading-container{position:relative;align-items:center;width:100%}ic-loading-indicator{--inner-color:var(--button-loading-inner-color);--outer-color:var(--button-loading-outer-color), transparent}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center;margin-right:var(--ic-space-xs)}div.right-icon{margin-right:auto;margin-left:var(--ic-space-xs)}:host(.ic-button-full-width) .right-icon{margin-right:var(--ic-space-xs)}::slotted(:not(ic-badge)){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.ic-button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:1.25rem;--icon-width:1.25rem;color:var(--ic-atoms-input-search-button)}:host(.search-submit-button-small) ::slotted(svg){--icon-height:1rem;--icon-width:1rem;color:var(--ic-atoms-input-search-button)}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button) .button:not(:active):focus ::slotted(svg){color:var(--ic-button-primary-text)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.ic-button-variant-icon) .button,:host(.ic-button-variant-icon) ::slotted(a){background-color:inherit;min-width:0;gap:var(--ic-space-xs)}:host(.button-variant-icon) .button,:host(.button-variant-icon) ::slotted(a){color:var(--button-default);min-width:0;gap:var(--ic-space-xs)}:host(.button-variant-icon) .icon-container{width:var(--ic-space-lg) !important;height:var(--ic-space-lg) !important}:host(.button-variant-icon) .button:hover,:host(.button-variant-icon) ::slotted(a:hover){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon) ::slotted(a:active:not(:focus)),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) ::slotted(a){color:var(--ic-color-icon-disabled-mid);background:none}:host(.clear-button){color:var(--ic-atoms-input-clear-button);margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus,:host(.calendar-button) .button:focus,:host(.clock-button) .button:focus{box-shadow:none}:host(.clear-button) .button,:host(.clear-button) ::slotted(a){background-color:inherit;color:var(--ic-atoms-input-clear-button)}:host(.clear-button) .button:hover,:host(.clear-button) ::slotted(a:hover){color:var(--ic-atoms-input-clear-button)}:host(.clear-button) .button:not(:active):focus ::slotted(svg){background-color:var(--ic-atoms-input-clear-button-focus-inner);color:var(--ic-button-primary-text);}:host(.menu-close-button) ::slotted(svg){--icon-height:0.875rem;--icon-width:0.875rem;color:var(--ic-top-navigation-icon-active)}:host(.popout-menu-button) .button{height:var(--height);justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}:host .arrow-dropdown{margin-top:auto}:host .dropdown-expanded{transform:rotate(180deg);margin-bottom:var(--ic-space-xxxs)}:host(.dropdown-no-icon) .button{padding-right:var(--ic-space-xs)}slot[name="router-item"]::slotted(a){pointer-events:all}::slotted(a){font-size:0.875rem !important;border:none !important;vertical-align:middle !important}:host(#menu-button.ic-theme-dark){--ic-button-secondary-background-hover-monochrome:var(\n --ic-action-dark-bg-hover\n );--ic-button-secondary-background-pressed-monochrome:var(\n --ic-action-dark-bg-pressed\n );--ic-button-secondary-text-hover-monochrome:var(\n --ic-action-monochrome-hover-dark\n );--ic-button-secondary-text-pressed-monochrome:var(\n --ic-action-monochrome-pressed-dark\n );--ic-button-secondary-border-hover-monochrome:var(\n --ic-color-border-neutral-hover-dark\n );--ic-button-secondary-border-pressed-monochrome:var(\n --ic-color-border-neutral-pressed-dark\n )}:host(#menu-button.ic-theme-light){--ic-button-secondary-background-hover-monochrome:var(\n --ic-action-light-bg-hover\n );--ic-button-secondary-background-pressed-monochrome:var(\n --ic-action-light-bg-pressed\n );--ic-button-secondary-text-hover-monochrome:var(\n --ic-action-monochrome-hover\n );--ic-button-secondary-text-pressed-monochrome:var(\n --ic-action-monochrome-pressed\n );--ic-button-secondary-border-hover-monochrome:var(\n --ic-color-border-neutral-hover-light\n );--ic-button-secondary-border-pressed-monochrome:var(\n --ic-color-border-neutral-default\n )}@media (forced-colors: active){.button,::slotted(a){border:0.125rem solid transparent !important}.search-submit-button ::slotted(a),.ic-button-variant-icon ::slotted(a),.clear-button ::slotted(a),.search-submit-button ::slotted(svg),.ic-button-variant-icon ::slotted(svg),.clear-button ::slotted(svg){color:HighlightText}:host(.ic-button-variant-icon.monochrome) ::slotted(a),:host(.ic-button-variant-icon.monochrome) ::slotted(svg){color:white}:host(.clear-button) .button:not(:active):focus ::slotted(svg){color:white !important;background-color:inherit}:host(.ic-button-variant-primary:not(.ic-button-disabled)) ::slotted(svg){color:currentcolor !important}}:host(.flip) ::slotted(svg){transform:scaleX(-1)}';const y=g;var f=undefined&&undefined.__rest||function(t,o){var i={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&o.indexOf(r)<0)i[r]=t[r];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var n=0,r=Object.getOwnPropertySymbols(t);n<r.length;n++){if(o.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n]))i[r[n]]=t[r[n]]}return i};let k=0;const x=class{constructor(r){t(this,r);this.icBlur=o(this,"icBlur",7);this.icFileSelection=o(this,"icFileSelection",7);this.icFocus=o(this,"icFocus",7);this.buttonIdNum=k++;this.hasTooltip=false;this.inheritedAttributes={};this.describedbyEl=null;this.mutationObserver=null;this.hostMutationObserver=null;this.ariaLabel="";this.describedByContent="";this.title="";this.accept="*";this.disabled=false;this.disableTooltip=false;this.download=false;this.dropdown=false;this.dropdownExpanded=false;this.fileUpload=false;this.fileInputName=`ic-button-file-upload-input-${k++}`;this.fullWidth=false;this.loading=false;this.monochrome=false;this.multiple=false;this.size="medium";this.theme="inherit";this.tooltipPlacement="bottom";this.transparentBackground=true;this.type="button";this.variant="primary";this.getSlottedIcon=t=>this.el.querySelector(`[slot="${t}-icon"]`);this.handleClick=()=>{var t;if((this.el.type==="submit"||this.el.type==="reset")&&!this.hasRouterSlot()&&!!this.el.closest("FORM")){const o=document.createElement("button");o.setAttribute("type",this.el.type);o.style.display="none";(t=this.el.closest("FORM"))===null||t===void 0?void 0:t.appendChild(o);o.click();o.remove()}};this.handleKeyDown=t=>{if(t.key==="Escape"&&this.hasTooltip){this.closeButtonTooltip(t)}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.mutationCallback=()=>{var t;this.describedByContent=(t=this.describedbyEl)===null||t===void 0?void 0:t.innerText};this.hostMutationCallback=t=>{let o=false;t.forEach((({attributeName:t})=>{if(t){const i=this.el.getAttribute(t);if(i){if(t==="title")this.title=i;else if(t==="aria-label")this.ariaLabel=i;if(c.includes(t)){this.inheritedAttributes[t]=i;o=true}}}}));if(o){i(this)}};this.setHasTooltip=()=>{this.hasTooltip=!this.disableTooltip&&(!!this.title||!!this.isIconVariant())};this.isIconVariant=()=>this.variant.startsWith("icon");this.arrangeRouterItem=()=>{var t;const o=(t,o)=>{Object.entries(o).forEach((([o,i])=>{t.style.setProperty(o,i)}))};if(this.routerSlot){const i=document.createElement("ic-typography");o(i,{"font-family":"var(--ic-font-body-family)","font-size":"0.875rem","font-weight":"600"});o(this.routerSlot,{gap:"0"});const r=this.routerSlot.querySelector("svg");const n=r===null||r===void 0?void 0:r.getAttribute("slot");const a=document.createElement("div");if(r){o(r,{fill:"currentcolor"});if(n==="top-icon"){o(this.routerSlot,{display:"flex","flex-direction":"column","--height":"fit-content"})}else if(n){const t=n==="left-icon"?"right":"left";o(a,{[`margin-${t}`]:"var(--ic-space-xs)"})}a.append(r)}const e=this.routerSlot.querySelector("ic-badge");const c=(t=this.routerSlot.textContent)===null||t===void 0?void 0:t.trim();if(e)a.append(e);if(c)i.textContent=c;this.routerSlot.textContent="";if(n==="right-icon"){this.routerSlot.append(i);this.routerSlot.append(a)}else{this.routerSlot.append(a);this.routerSlot.append(i)}}}}watchDisabledHandler(){s(this.disabled,this.el)}disconnectedCallback(){var t,o;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect();(o=this.hostMutationObserver)===null||o===void 0?void 0:o.disconnect()}componentWillUpdate(){if(this.loading){this.el.style.setProperty("--min-width",`${this.el.getBoundingClientRect().width}px`)}this.setHasTooltip()}componentWillLoad(){var t;const o=d(this.el,[...c,"title"]),{title:i,"aria-label":r}=o,n=f(o,["title","aria-label"]);this.title=i;this.ariaLabel=r;this.inheritedAttributes=n;s(this.disabled,this.el);this.el.setAttribute("exportparts","button");this.id=this.el.id||null;this.setHasTooltip();if(!this.hasTooltip){const o=this.inheritedAttributes["aria-describedby"];if(o){this.describedById=o;const i=(t=this.el.parentElement)===null||t===void 0?void 0:t.querySelector(`#${o}`);if(i){this.describedByContent=i.innerText;this.describedbyEl=i}}}}componentDidLoad(){this.updateTheme();if(typeof MutationObserver!=="undefined"){if(this.describedbyEl&&this.describedById){this.mutationObserver=new MutationObserver(this.mutationCallback);this.mutationObserver.observe(this.describedbyEl,{characterData:true,childList:true,subtree:true})}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true});if(this.hasRouterSlot())this.arrangeRouterItem()}}componentWillRender(){const t=this.getSlottedIcon("left")||this.getSlottedIcon("right");t===null||t===void 0?void 0:t.setAttribute("viewBox","0 0 24 24")}handleHostClick(t){if(!this.hasRouterSlot()){if(this.fileUpload){u(this.icFileSelection,this.el,!!this.multiple,!!this.disabled,this.accept,this.fileInputName,this.selectedFiles)}if(this.disabled||this.loading){t.stopImmediatePropagation()}if(this.dropdown){this.dropdownExpanded=!this.dropdownExpanded}}}brandChangeHandler({detail:t}){this.updateTheme(t.mode)}async setFocus(){var t;(t=this.buttonEl)===null||t===void 0?void 0:t.focus()}async closeButtonTooltip(t){var o;const i=(o=this.el.shadowRoot)===null||o===void 0?void 0:o.querySelector("ic-tooltip");if(i&&await i.isTooltipVisible()){i.displayTooltip(false);t.preventDefault();t.stopImmediatePropagation()}}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');if(this.routerSlot){this.routerSlot.ariaLabel=this.routerSlot.textContent}return!!this.routerSlot}updateTheme(t=null){const o=b(this.el,t);if(o!==l.Default){this.theme=o===l.Light?l.Dark:l.Light;this.monochrome=true}}render(){const{ariaControlsId:t,ariaLabel:o,ariaOwnsId:i,buttonIdNum:a,describedByContent:c,describedById:s,disabled:d,download:u,dropdown:b,dropdownExpanded:l,form:m,formaction:v,formenctype:g,formmethod:y,formnovalidate:f,formtarget:k,fullWidth:x,handleClick:w,handleKeyDown:z,hasTooltip:$,href:L,hreflang:j,id:H,inheritedAttributes:D,isIconVariant:C,loading:T,monochrome:O,onBlur:B,onFocus:I,referrerpolicy:M,rel:F,size:P,target:q,theme:E,title:W,tooltipPlacement:R,transparentBackground:_,type:A,variant:N}=this;const X=L?"a":"button";const K=X==="button"?{type:A,disabled:d,form:m,formaction:v,formenctype:g,formmethod:y,formnovalidate:f,formtarget:k}:{download:u!==false?u:null,href:L,rel:F,target:q,referrerpolicy:M,hreflang:j};const S=$?`ic-button-with-tooltip-${H||a}`:undefined;const V=!$?s:N!=="icon"||!o?`ic-tooltip-${S}`:undefined;const G=!!this.getSlottedIcon("left");const U=!!this.getSlottedIcon("right");const Z=()=>this.hasRouterSlot()?r("slot",{name:"router-item"}):r(X,Object.assign({class:"button",tabindex:0,"aria-disabled":T||d?"true":null,"aria-label":T?"Loading":o,"aria-expanded":b&&`${l}`},K,D,{onFocus:I,onBlur:B,ref:t=>this.buttonEl=t,"aria-describedby":V,part:"button"}),T?r("div",{class:"loading-container"},r("ic-loading-indicator",{type:"linear",monochrome:O,theme:E})):r(e,null,(G||!!this.getSlottedIcon("top")&&!U)&&r("div",{class:"icon-container"},r("slot",{name:`${G?"left":"top"}-icon`})),r("slot",null),!b?U&&r("div",{class:{"icon-container":true,"right-icon":true}},r("slot",{name:"right-icon"})):N!=="icon"&&N!=="destructive"&&r("span",{class:l?"dropdown-expanded":"arrow-dropdown",innerHTML:p})));return r(n,{key:"7ec6ab29cee9c1d669ffb4d181291ac2767cbbec",class:{"ic-button-disabled":d&&!T,"ic-button-full-width":x,"ic-button-loading":T,[`ic-button-size-${P}`]:true,[`ic-button-variant-${N}`]:true,[`ic-theme-${E}`]:E!=="inherit",background:(N==="secondary"||N==="tertiary")&&!_&&!d,"dropdown-no-icon":b&&!h(this.el,"icon")&&!h(this.el,"left-icon"),monochrome:O,"top-icon":h(this.el,"top-icon"),"with-badge":h(this.el,"badge")},onClick:w,onKeyDown:z,"aria-owns":i,"aria-controls":t,"aria-expanded":b&&`${l}`},$&&r("ic-tooltip",{key:"b9b1e24da3a9ca2e9aa33edf0dfde63f82473057",id:V,label:W||o,target:S,placement:R,silent:C()&&!!o},r(Z,{key:"e2655f2e1623bb7a6177e8404a68ab1ab9c868a6"})),h(this.el,"badge")&&r("slot",{key:"ca43b11aeff88a1c9a46ae22cd8836405f96753e",name:"badge"}),!$&&r(Z,{key:"3dd73eb3d140dd26aee9f245166142094762bc5c"}),c&&r("span",{key:"a38105ef6599d3b251b8528446db9f700982681e",id:V,class:"ic-button-describedby"},c))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};x.style=y;const w='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--linear-border-radius:0.25rem;--inner-color:var(--ic-loading-indicator-inner-color);--outer-color:var(--ic-loading-indicator-outer-color);--label-color:var(--ic-loading-indicator-label-color);--margin:none;--linear-line-height:var(--ic-space-xs)}:host(.ic-loading-indicator-monochrome){--inner-color:var(--ic-loading-indicator-inner-color-monochrome);--outer-color:var(--ic-loading-indicator-outer-color-monochrome);--label-color:var(--ic-loading-indicator-label-color-monochrome)}.ic-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center}:host([size="small"]){--circular-diameter:2.5rem;--linear-line-height:var(--ic-space-xxs)}:host([size="medium"]){--circular-diameter:5rem}:host([size="large"]){--circular-diameter:7.5rem}:host([size="icon"]){display:inline-block;--margin:var(--ic-space-xxxs);--circular-diameter:1.25rem}:host(.ic-loading-indicator-label){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{--ic-typography-color:var(--label-color);margin-left:var(--label-margin-left)}.ic-loading-circular-outer{height:var(--circular-diameter);width:var(--circular-diameter)}.ic-loading-circular-outer.indeterminate{animation:circular-animation 1s linear;animation-iteration-count:infinite}@keyframes circular-animation{100%{transform:rotate(360deg)}}.ic-loading-circular-outer,.ic-loading-linear-outer{margin:var(--margin)}.ic-loading-linear-outer{background-color:var(--outer-color);height:var(--linear-line-height);width:100%;border-radius:var(--linear-border-radius);overflow:hidden}.ic-loading-circular-outer[aria-valuenow="0"] .ic-loading-circular-inner,.ic-loading-linear-outer[aria-valuenow="0"] .ic-loading-linear-inner{--inner-color:var(--outer-color)}.ic-loading-linear-inner{position:relative;height:100%;background-color:var(--inner-color);border-radius:var(--linear-border-radius)}.indeterminate>.ic-loading-linear-inner{animation:linear-animation 2s infinite}.determinate>.ic-loading-linear-inner{transition:width 0.5s;width:var(--linear-width)}:host(.ic-loading-indicator-full-width){--linear-border-radius:none}@keyframes linear-animation{0%{width:0%;left:-1%}25%{width:0%;left:-1%}50%{width:101%;left:-1%}75%{width:0%;left:101%}100%{width:0%;left:101%}}.ic-loading-circular-svg{position:relative;width:100%;height:100%;transform:rotate(-90deg)}.ic-loading-circular-svg circle{width:100%;height:100%;fill:none;stroke:var(--compact-step-outer-color, var(--outer-color));stroke-width:var(--circular-line-width);stroke-linecap:round}.ic-loading-circular-svg circle:nth-child(2){--circular-indeterminate:calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );stroke-dasharray:var(--stroke-dasharray), var(--stroke-dasharray);stroke-dashoffset:var(--stroke-dashoffset, var(--circular-indeterminate));stroke:var(--compact-step-inner-color, var(--inner-color))}.inner-label{height:100%;display:grid}.inner-label .ic-loading-circular-svg,.inner-text{grid-column:1;grid-row:1}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:var(--ic-architectural-300)}.inner-text{display:flex;align-items:center;justify-content:center;width:var(--ic-space-lg);height:inherit;overflow:hidden;margin:auto;--ic-typography-color:var(\n --ic-step-indicator-text-current,\n var(--ic-status-info-default)\n )}:host(.not-required.compact-step-progress-indicator) .inner-text{--ic-typography-color:var(--ic-step-indicator-text-disabled)}:host(.ic-loading-indicator-light.not-required.compact-step-progress-indicator) .inner-text{--ic-typography-color:var(--ic-architectural-400)}@media (forced-colors: active){.indeterminate>.ic-loading-circular-inner{forced-color-adjust:none}.ic-loading-linear-outer{border:var(--ic-border-hc)}.ic-loading-linear-inner{background-color:canvastext}.ic-loading-circular-svg circle{stroke:Background}.ic-loading-circular-svg circle:nth-child(2){stroke:canvastext}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:GrayText}}';const z=w;const $={large:120,medium:80,small:40,icon:20};const L=class{constructor(o){t(this,o);this.labelList=[];this.circularDiameter=0;this.circularLineWidth=0;this.circularDimensions={x:0,y:0,r:0};this.clipInnerElement=false;this.description="Loading";this.fullWidth=false;this.labelDuration=8e3;this.max=100;this.min=0;this.monochrome=false;this.size="medium";this.theme="inherit";this.type="circular";this.getLabel=t=>new Promise((()=>{this.interval=setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}this.indicatorLabel=this.labelList[t]}),this.labelDuration)}));this.getLabelVariant=()=>{const t=this.type==="circular"?this.calculateWidth():0;if(this.size==="small"||t&&t<60){return"label"}else if(this.size==="large"||t>=120){return"h2"}return"h4"};this.calculateWidth=()=>{var t,o,i;if((t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth)return this.outerElement.offsetWidth;if(this.outerElement){const{width:t}=window.getComputedStyle(this.outerElement);if(t){if(((o=t.match(/\D+$/))===null||o===void 0?void 0:o[0])!=="%")return parseFloat(t);const r=(i=this.outerElement.parentElement)===null||i===void 0?void 0:i.offsetWidth;if(r)return r*(parseFloat(t)/100)}}return $[this.size]};this.calculateProportion=t=>{const o=Math.min(this.max,Math.max(this.min,t));return(o-this.min)/(this.max-this.min)};this.setLinearDeterminateWidth=()=>{if(!this.innerElement||!this.progress)return;const t=this.calculateProportion(this.progress);this.clipInnerElement=t>.5;if(this.clipInnerElement){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--linear-width",`${t*100}%`)};this.updateLabel=()=>{if(!this.label)return;if(typeof this.label==="string"){this.indicatorLabel=this.label}else{this.labelList=this.label;this.indicatorLabel=this.labelList[0];if(this.labelList.length>1){this.getLabel(0)}}};this.setCircleDimensions=()=>{if(this.circularDiameter<=0)return;const t=this.circularDiameter/2;const o=t-this.circularLineWidth/2;const i=2*Math.PI*o;this.circularDimensions={x:t,y:t,r:o,dashArray:`${i}px`,dashOffset:this.progress?`${(-1-this.calculateProportion(this.progress))*i}px`:undefined}}}watchPropHandler(){this.updateLabel()}handleProgressChange(){if(this.type==="linear"){this.setLinearDeterminateWidth()}else{this.setCircleDimensions()}}setIndicatorDimensions(){if(this.type==="circular"){const t=this.calculateWidth();if(this.outerElement&&t!==this.circularDiameter){this.circularLineWidth=t*.1;this.circularDiameter=t;this.outerElement.style.setProperty("--circular-line-width",`${this.circularLineWidth}px`)}this.setCircleDimensions()}else{this.setLinearDeterminateWidth()}}disconnectedCallback(){clearInterval(this.interval)}componentWillLoad(){this.updateLabel();this.el.setAttribute("exportparts","ic-loading-container")}componentDidLoad(){this.setIndicatorDimensions()}render(){const{circularDiameter:t,circularDimensions:{x:o,y:i,r:a,dashArray:e,dashOffset:c},description:s,fullWidth:d,indicatorLabel:u,innerLabel:b,label:l,max:h,min:m,monochrome:v,progress:p,size:g,theme:y,type:f}=this;return r(n,{key:"a56bc4f2265b8697fb78fe0cb021df4f7c84b34d",class:{[`ic-theme-${y}`]:y!=="inherit","ic-loading-indicator-full-width":d,"ic-loading-indicator-label":!!l,"ic-loading-indicator-monochrome":v}},r("div",{key:"8da5f575ce68a85df03c23e256125ed968d55496",class:"ic-loading-container",part:"ic-loading-container"},r("div",{key:"1a32acb1ce270a95b88a77d13591151d8a280fe8",ref:t=>this.outerElement=t,class:{[`ic-loading-${f}-outer`]:true,[p===undefined?"indeterminate":"determinate"]:true},role:"progressbar","aria-labelledby":l&&g!=="icon"&&"ic-loading-label","aria-label":s,"aria-valuenow":p,"aria-valuemin":m,"aria-valuemax":h},r("div",{key:"0189f89d2f2f5a9f7530e1bbef1874fd52a00f87",ref:t=>this.innerElement=t,class:{[`ic-loading-${f}-inner`]:true,"inner-label":!!b}},b&&g==="small"&&r("ic-typography",{key:"83c67de5d281dca4c293f3d06b278eabe63ccee3",variant:"subtitle-small",class:"inner-text"},b),f==="circular"&&r("svg",{key:"e2449654d4dcb904c56ba47f6f72cfda5bcee7f0",class:"ic-loading-circular-svg",viewBox:`0 0 ${t} ${t}`},r("circle",{key:"6436f697d6e7d7e030178fc3653ec86a509c2965",cx:o,cy:i,r:a}),r("circle",{key:"19da0a067ffdd864a08a630eabff268e9bfd1c33",style:{"--circular-steps-max":p?`${h}`:undefined,"--progress-value":p!==undefined?`${p}`:undefined,"--stroke-dasharray":e,"--stroke-dashoffset":c},cx:o,cy:i,r:a})))),l&&g!=="icon"&&r("ic-typography",{key:"e4d24f7e59633400c36e0e380e52ea1714c7f88f",id:"ic-loading-label",class:"ic-loading-label",role:"alert",variant:this.getLabelVariant()},r("p",{key:"e89f399cb0c43c4cc7dd743a201789cf50a73ed9"},u))))}get el(){return a(this)}static get watchers(){return{label:["watchPropHandler"],max:["handleProgressChange"],min:["handleProgressChange"],progress:["handleProgressChange"],type:["setIndicatorDimensions"]}}};L.style=z;const j='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-tooltip){width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content;--ic-tooltip-background:var(--ic-color-background-primary-dark);--ic-tooltip-text:var(--ic-color-text-primary-dark);--ic-tooltip-border:var(--ic-color-border-neutral-grey-light)}:host(.ic-tooltip) .ic-tooltip-container{background-color:var(--ic-tooltip-background);text-align:center;padding:var(--ic-space-xxxs) var(--ic-space-xs);border-radius:var(--ic-border-radius);border:var(--ic-border-width) solid var(--ic-tooltip-border);position:absolute;max-width:20rem;display:none;z-index:var(--ic-z-index-tooltip);box-shadow:var(--ic-elevation-overlay);width:-moz-max-content;width:max-content}:host(.ic-tooltip) ic-typography{--ic-typography-color:var(--ic-tooltip-text)}:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed)) .ic-tooltip-container,:host(.tooltip-disabled) .ic-tooltip-container{display:none !important}:host(.tooltip-long-label-navigation-item-side-nav-expanded) .ic-tooltip-container[data-show]{display:block !important}:host(.ic-tooltip) .ic-tooltip-arrow,:host(.ic-tooltip) .ic-tooltip-arrow::before{position:absolute;background:inherit}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:"";border:var(--ic-border-width) solid var(--ic-tooltip-border);width:100%;height:100%}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{height:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow::before{border-radius:0 0 var(--ic-border-radius) var(--ic-border-radius);left:0;top:var(--ic-space-xxxs);border-top:0;transform:translateX(var(--tooltip-arrow-translate))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs));height:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) var(--ic-border-radius) 0 0;left:0;top:var(--ic-space-1px);border-bottom:0;transform:translateX(var(--tooltip-arrow-translate))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{width:var(--ic-space-xxxs);right:calc(-1 * var(--ic-space-1px))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow::before{border-radius:0 var(--ic-border-radius) var(--ic-border-radius) 0;border-left:0;top:calc(-1 * var(--ic-space-1px))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{width:var(--ic-space-xxxs);left:calc(-1 * var(--ic-space-xxs))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) 0 0 var(--ic-border-radius);border-right:0;top:calc(-1 * var(--ic-space-1px))}:host(.ic-tooltip-on-dialog){display:inline-block}@media screen and (max-width: 576px){:host(.ic-tooltip) .ic-tooltip-container{max-width:18.875rem}}@media (forced-colors: active){:host(.ic-tooltip) .ic-tooltip-container,:host(.ic-tooltip) .ic-tooltip-arrow::before{border:var(--ic-border-hc)}}';const H=j;const D=class{constructor(o){t(this,o);this.delayedHideEvents=["mouseleave"];this.instantHideEvents=["focusout"];this.mouseOverTool=false;this.persistTooltip=false;this.showEvents=[!this.disableHover&&"mouseenter",!this.disableHover&&"focusin",!this.disableClick&&"click"];this.disableClick=false;this.disableHover=false;this.placement="bottom";this.silent=false;this.theme="inherit";this.popperProps={};this.show=()=>{if(this.label){this.toolTip.setAttribute("data-show","");if(this.dialogContentArea){this.el.classList.add("ic-tooltip-on-dialog")}this.popperInstance=v(this.el,this.toolTip,Object.assign({placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}},{name:"eventListeners",options:{scroll:false,resize:false}},...this.dialogContentArea?[{name:"preventOverflow",options:{boundary:this.dialogContentArea,padding:8}},{name:"flip",options:{boundary:this.dialogContentArea}}]:[]]},this.popperProps))}else{console.warn(`Tooltip can't display without prop 'label' set`)}};this.hide=()=>{this.toolTip.removeAttribute("data-show");this.persistTooltip=false;if(this.popperInstance!==undefined){this.popperInstance.destroy()}};this.checkCloseTooltip=()=>{setTimeout((()=>{if(!this.mouseOverTool&&!this.persistTooltip){this.hide()}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=()=>{this.mouseOverTool=false;this.checkCloseTooltip()};this.handleKeyDown=t=>{if(t.key==="Escape"&&!this.persistTooltip){this.hide()}};this.manageEventListeners=t=>{const o=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{if(t){this.el[o](t,this.show);if(this.toolTip!==undefined){this.toolTip[o](t,this.mouseEnterTooltip)}}}));if(!this.persistTooltip){this.instantHideEvents.forEach((t=>{this.el[o](t,this.hide)}))}this.delayedHideEvents.forEach((t=>{this.el[o](t,this.checkCloseTooltip);if(this.toolTip!==undefined){this.toolTip[o](t,this.mouseLeaveTooltip)}}));document[o]("keydown",this.handleKeyDown)};this.updateTooltipEvents=()=>{this.manageEventListeners("remove");this.showEvents=[!this.disableHover&&"mouseenter",!this.disableHover&&"focusin",!this.disableClick&&"click"];this.manageEventListeners("add")}}watchDisableClickHandler(){if(this.disableClick){this.hide()}this.updateTooltipEvents()}watchDisableHoverHandler(){if(this.disableHover){this.hide()}this.updateTooltipEvents()}watchLabelHandler(){var t;if(((t=this.toolTip)===null||t===void 0?void 0:t.hasAttribute("data-show"))&&this.popperInstance){this.popperInstance.update()}}async setExternalPopperProps(t){this.popperProps=t}disconnectedCallback(){this.manageEventListeners("remove");if(this.popperInstance!==undefined){this.popperInstance.destroy()}}componentDidLoad(){var t,o;this.manageEventListeners("add");let i;if(this.el.getRootNode().host){i=this.el.getRootNode().host.closest("ic-dialog")}else{i=this.el.closest("ic-dialog")}this.dialogContentArea=(o=(t=i===null||i===void 0?void 0:i.shadowRoot)===null||t===void 0?void 0:t.querySelector(".content-area"))!==null&&o!==void 0?o:null;m([{prop:this.label,propName:"label"}],"Tooltip")}componentDidRender(){var t;const o=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".ic-tooltip-container > ic-typography");this.maxLines&&this.maxLines>0&&(o===null||o===void 0?void 0:o.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`))}async displayTooltip(t,o){this.persistTooltip=!!o;t?this.show():this.hide()}async isTooltipVisible(){return Promise.resolve(this.toolTip.hasAttribute("data-show"))}render(){const{label:t,maxLines:o,silent:i,theme:a}=this;return r(n,{key:"45c8808ecc7904b44e269ec6ae844da6f75710f0",class:{"ic-tooltip":true,[`ic-theme-${a}`]:a!=="inherit"}},r("div",{key:"a03ff6ebeb4d0476077838329f7f00cd29c1004d",ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container","aria-hidden":`${i}`},r("ic-typography",{key:"92b33499dae505e7e09bc92a8c91f1097de03b7b",maxLines:o,variant:"caption"},t),r("div",{key:"37523617a917645fe37edb4e6d6e250ffc4d7b67",ref:t=>this.arrow=t,class:"ic-tooltip-arrow"})),r("slot",{key:"44217d6c93aa8dab3250ebfde59f17bc51596576"}))}get el(){return a(this)}static get watchers(){return{disableClick:["watchDisableClickHandler"],disableHover:["watchDisableHoverHandler"],label:["watchLabelHandler"]}}};D.style=H;export{x as ic_button,L as ic_loading_indicator,D as ic_tooltip};
2
- //# sourceMappingURL=p-46a0a40b.entry.js.map