@ukic/web-components 2.1.0-beta.13 → 2.1.0-beta.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (377) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-2021e212.js → helpers-d6b5880e.js} +19 -25
  3. package/dist/cjs/helpers-d6b5880e.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +14 -14
  7. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -4
  9. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-button_3.cjs.entry.js +4 -7
  11. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  15. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-footer.cjs.entry.js +5 -3
  22. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +5 -2
  26. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -2
  30. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -4
  33. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -7
  37. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-page-header.cjs.entry.js +10 -13
  39. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-pagination.cjs.entry.js +13 -2
  41. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -4
  43. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-select.cjs.entry.js +2 -3
  48. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-side-navigation.cjs.entry.js +20 -16
  50. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-tab-context.cjs.entry.js +7 -5
  57. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -1
  60. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-tab.cjs.entry.js +3 -1
  62. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-text-field.cjs.entry.js +6 -14
  64. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-typography.cjs.entry.js +95 -3
  69. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  70. package/dist/cjs/loader.cjs.js +1 -1
  71. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -3
  72. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  73. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +13 -13
  74. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  75. package/dist/collection/components/ic-button/ic-button.css +6 -0
  76. package/dist/collection/components/ic-button/ic-button.js +1 -4
  77. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  78. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -3
  79. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  80. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  81. package/dist/collection/components/ic-footer/ic-footer.js +4 -2
  82. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  83. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +1 -1
  84. package/dist/collection/components/ic-menu/ic-menu.js +4 -1
  85. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  86. package/dist/collection/components/ic-menu-item/ic-menu-item.js +2 -1
  87. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  88. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +6 -3
  89. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  90. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +13 -7
  91. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +0 -6
  92. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  93. package/dist/collection/components/ic-page-header/ic-page-header.js +9 -12
  94. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  95. package/dist/collection/components/ic-pagination/ic-pagination.css +0 -4
  96. package/dist/collection/components/ic-pagination/ic-pagination.js +52 -1
  97. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  98. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -3
  99. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  100. package/dist/collection/components/ic-select/ic-select.js +11 -12
  101. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  102. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +19 -15
  103. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  104. package/dist/collection/components/ic-step/ic-step.css +5 -5
  105. package/dist/collection/components/ic-step/ic-step.js +1 -1
  106. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  107. package/dist/collection/components/ic-tab/ic-tab.js +3 -1
  108. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  109. package/dist/collection/components/ic-tab-context/ic-tab-context.js +7 -5
  110. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  111. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +3 -1
  112. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  113. package/dist/collection/components/ic-text-field/ic-text-field.js +5 -13
  114. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  115. package/dist/collection/components/ic-typography/ic-typography.css +39 -0
  116. package/dist/collection/components/ic-typography/ic-typography.js +120 -2
  117. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  118. package/dist/collection/utils/helpers.js +18 -24
  119. package/dist/collection/utils/helpers.js.map +1 -1
  120. package/dist/components/helpers.js +18 -24
  121. package/dist/components/helpers.js.map +1 -1
  122. package/dist/components/ic-breadcrumb-group.js +13 -13
  123. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  124. package/dist/components/ic-breadcrumb2.js +4 -3
  125. package/dist/components/ic-breadcrumb2.js.map +1 -1
  126. package/dist/components/ic-button2.js +2 -5
  127. package/dist/components/ic-button2.js.map +1 -1
  128. package/dist/components/ic-checkbox.js +4 -3
  129. package/dist/components/ic-checkbox.js.map +1 -1
  130. package/dist/components/ic-footer.js +5 -3
  131. package/dist/components/ic-footer.js.map +1 -1
  132. package/dist/components/ic-loading-indicator2.js +1 -1
  133. package/dist/components/ic-loading-indicator2.js.map +1 -1
  134. package/dist/components/ic-menu-item2.js +2 -1
  135. package/dist/components/ic-menu-item2.js.map +1 -1
  136. package/dist/components/ic-menu2.js +4 -1
  137. package/dist/components/ic-menu2.js.map +1 -1
  138. package/dist/components/ic-navigation-group.js +6 -3
  139. package/dist/components/ic-navigation-group.js.map +1 -1
  140. package/dist/components/ic-navigation-item.js +1 -1
  141. package/dist/components/ic-navigation-item.js.map +1 -1
  142. package/dist/components/ic-navigation-menu2.js +0 -6
  143. package/dist/components/ic-navigation-menu2.js.map +1 -1
  144. package/dist/components/ic-page-header.js +9 -12
  145. package/dist/components/ic-page-header.js.map +1 -1
  146. package/dist/components/ic-pagination.js +15 -3
  147. package/dist/components/ic-pagination.js.map +1 -1
  148. package/dist/components/ic-popover-menu.js +4 -3
  149. package/dist/components/ic-popover-menu.js.map +1 -1
  150. package/dist/components/ic-select.js +1 -2
  151. package/dist/components/ic-select.js.map +1 -1
  152. package/dist/components/ic-side-navigation.js +19 -15
  153. package/dist/components/ic-side-navigation.js.map +1 -1
  154. package/dist/components/ic-step.js +2 -2
  155. package/dist/components/ic-step.js.map +1 -1
  156. package/dist/components/ic-tab-context.js +7 -5
  157. package/dist/components/ic-tab-context.js.map +1 -1
  158. package/dist/components/ic-tab-panel.js +3 -1
  159. package/dist/components/ic-tab-panel.js.map +1 -1
  160. package/dist/components/ic-tab.js +3 -1
  161. package/dist/components/ic-tab.js.map +1 -1
  162. package/dist/components/ic-text-field2.js +5 -13
  163. package/dist/components/ic-text-field2.js.map +1 -1
  164. package/dist/components/ic-typography2.js +99 -4
  165. package/dist/components/ic-typography2.js.map +1 -1
  166. package/dist/core/core.esm.js +1 -1
  167. package/dist/core/core.esm.js.map +1 -1
  168. package/dist/core/{p-0575a77f.entry.js → p-050dbce8.entry.js} +2 -2
  169. package/dist/core/p-06962e10.entry.js +2 -0
  170. package/dist/core/p-06962e10.entry.js.map +1 -0
  171. package/dist/core/{p-0a41c3cb.entry.js → p-0969a95a.entry.js} +2 -2
  172. package/dist/core/{p-56fe91ad.entry.js → p-0a11ec35.entry.js} +2 -2
  173. package/dist/core/p-0a11ec35.entry.js.map +1 -0
  174. package/dist/core/{p-b61e76e2.entry.js → p-0f153569.entry.js} +2 -2
  175. package/dist/core/{p-3fb307e6.entry.js → p-1585e5c1.entry.js} +2 -2
  176. package/dist/core/p-29ea6f88.entry.js +2 -0
  177. package/dist/core/p-29ea6f88.entry.js.map +1 -0
  178. package/dist/core/p-2e63f202.entry.js +2 -0
  179. package/dist/core/p-2e63f202.entry.js.map +1 -0
  180. package/dist/core/p-2e6ea6d3.entry.js +2 -0
  181. package/dist/core/p-2e6ea6d3.entry.js.map +1 -0
  182. package/dist/core/{p-e0f24ccd.entry.js → p-2fb97a1b.entry.js} +2 -2
  183. package/dist/core/p-2fb97a1b.entry.js.map +1 -0
  184. package/dist/core/{p-100dbcec.entry.js → p-31b4b684.entry.js} +2 -2
  185. package/dist/core/{p-e839e5dc.entry.js → p-32cc8827.entry.js} +2 -2
  186. package/dist/core/{p-3845b769.entry.js → p-3498db0b.entry.js} +2 -2
  187. package/dist/core/p-3498db0b.entry.js.map +1 -0
  188. package/dist/core/{p-d5d9923a.entry.js → p-36e0671f.entry.js} +2 -2
  189. package/dist/core/p-443052a7.entry.js +2 -0
  190. package/dist/core/p-443052a7.entry.js.map +1 -0
  191. package/dist/core/{p-6a77992e.entry.js → p-46371c05.entry.js} +2 -2
  192. package/dist/core/p-471820e6.js +2 -0
  193. package/dist/core/p-471820e6.js.map +1 -0
  194. package/dist/core/{p-9413d639.entry.js → p-4dd0eb6a.entry.js} +2 -2
  195. package/dist/core/p-50421f27.entry.js +2 -0
  196. package/dist/core/p-50421f27.entry.js.map +1 -0
  197. package/dist/core/p-559b3d17.entry.js +2 -0
  198. package/dist/core/p-559b3d17.entry.js.map +1 -0
  199. package/dist/core/{p-895bda21.entry.js → p-5a3f3f37.entry.js} +2 -2
  200. package/dist/core/p-5a3f3f37.entry.js.map +1 -0
  201. package/dist/core/{p-dc0b9e80.entry.js → p-5e896163.entry.js} +2 -2
  202. package/dist/core/{p-e41e701a.entry.js → p-68547339.entry.js} +2 -2
  203. package/dist/core/p-6f2be5bd.entry.js +2 -0
  204. package/dist/core/p-6f2be5bd.entry.js.map +1 -0
  205. package/dist/core/{p-1eb0992b.entry.js → p-70124e59.entry.js} +2 -2
  206. package/dist/core/p-80164baa.entry.js +2 -0
  207. package/dist/core/p-80164baa.entry.js.map +1 -0
  208. package/dist/core/{p-6b39f8b4.entry.js → p-8edd3a9b.entry.js} +2 -2
  209. package/dist/core/{p-c0813424.entry.js → p-9715ec62.entry.js} +2 -2
  210. package/dist/core/{p-cb437317.entry.js → p-983cb33c.entry.js} +2 -2
  211. package/dist/core/{p-002a63e9.entry.js → p-a18c0672.entry.js} +2 -2
  212. package/dist/core/{p-47b0ed42.entry.js → p-a8dc8196.entry.js} +2 -2
  213. package/dist/core/{p-52fd3533.entry.js → p-a9184841.entry.js} +2 -2
  214. package/dist/core/p-a9184841.entry.js.map +1 -0
  215. package/dist/core/{p-e384aaee.entry.js → p-af815dfb.entry.js} +2 -2
  216. package/dist/core/{p-8780890e.entry.js → p-b69226d2.entry.js} +2 -2
  217. package/dist/core/p-b7cf6411.entry.js +2 -0
  218. package/dist/core/p-b7cf6411.entry.js.map +1 -0
  219. package/dist/core/{p-3a67718c.entry.js → p-bffa2e1a.entry.js} +2 -2
  220. package/dist/core/p-c85476c0.entry.js +2 -0
  221. package/dist/core/p-c85476c0.entry.js.map +1 -0
  222. package/dist/core/{p-a0f4e641.entry.js → p-ca20c9c3.entry.js} +2 -2
  223. package/dist/core/{p-a33a04b2.entry.js → p-cee45622.entry.js} +2 -2
  224. package/dist/core/p-cee45622.entry.js.map +1 -0
  225. package/dist/core/{p-f3e10149.entry.js → p-d2d5132d.entry.js} +2 -2
  226. package/dist/core/{p-f3e10149.entry.js.map → p-d2d5132d.entry.js.map} +1 -1
  227. package/dist/core/{p-546b620e.entry.js → p-df1b0f17.entry.js} +2 -2
  228. package/dist/core/{p-92c4fa7f.entry.js → p-e16e817e.entry.js} +2 -2
  229. package/dist/core/p-e16e817e.entry.js.map +1 -0
  230. package/dist/core/p-e6217f40.entry.js +2 -0
  231. package/dist/core/p-e6217f40.entry.js.map +1 -0
  232. package/dist/core/{p-3dc2ff7b.entry.js → p-faeedfd1.entry.js} +2 -2
  233. package/dist/core/p-faeedfd1.entry.js.map +1 -0
  234. package/dist/core/{p-5d077cf7.entry.js → p-fb5861c6.entry.js} +2 -2
  235. package/dist/core/{p-3e5eb873.entry.js → p-fd18d7a3.entry.js} +2 -2
  236. package/dist/esm/core.js +1 -1
  237. package/dist/esm/{helpers-b2b47a7d.js → helpers-73666f14.js} +19 -25
  238. package/dist/esm/helpers-73666f14.js.map +1 -0
  239. package/dist/esm/ic-alert.entry.js +1 -1
  240. package/dist/esm/ic-back-to-top.entry.js +1 -1
  241. package/dist/esm/ic-breadcrumb-group.entry.js +14 -14
  242. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  243. package/dist/esm/ic-breadcrumb.entry.js +5 -4
  244. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  245. package/dist/esm/ic-button_3.entry.js +4 -7
  246. package/dist/esm/ic-button_3.entry.js.map +1 -1
  247. package/dist/esm/ic-card.entry.js +1 -1
  248. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  249. package/dist/esm/ic-checkbox.entry.js +5 -4
  250. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  251. package/dist/esm/ic-chip.entry.js +1 -1
  252. package/dist/esm/ic-data-row.entry.js +1 -1
  253. package/dist/esm/ic-divider.entry.js +1 -1
  254. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  255. package/dist/esm/ic-footer-link.entry.js +1 -1
  256. package/dist/esm/ic-footer.entry.js +5 -3
  257. package/dist/esm/ic-footer.entry.js.map +1 -1
  258. package/dist/esm/ic-hero.entry.js +1 -1
  259. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  260. package/dist/esm/ic-input-component-container_3.entry.js +5 -2
  261. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  262. package/dist/esm/ic-input-label_2.entry.js +1 -1
  263. package/dist/esm/ic-link.entry.js +1 -1
  264. package/dist/esm/ic-menu-item.entry.js +3 -2
  265. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  266. package/dist/esm/ic-navigation-button.entry.js +1 -1
  267. package/dist/esm/ic-navigation-group.entry.js +7 -4
  268. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  269. package/dist/esm/ic-navigation-item.entry.js +2 -2
  270. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  271. package/dist/esm/ic-navigation-menu.entry.js +1 -7
  272. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  273. package/dist/esm/ic-page-header.entry.js +10 -13
  274. package/dist/esm/ic-page-header.entry.js.map +1 -1
  275. package/dist/esm/ic-pagination.entry.js +13 -2
  276. package/dist/esm/ic-pagination.entry.js.map +1 -1
  277. package/dist/esm/ic-popover-menu.entry.js +5 -4
  278. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  279. package/dist/esm/ic-radio-group.entry.js +1 -1
  280. package/dist/esm/ic-radio-option.entry.js +1 -1
  281. package/dist/esm/ic-search-bar.entry.js +1 -1
  282. package/dist/esm/ic-select.entry.js +2 -3
  283. package/dist/esm/ic-select.entry.js.map +1 -1
  284. package/dist/esm/ic-side-navigation.entry.js +20 -16
  285. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  286. package/dist/esm/ic-status-tag.entry.js +1 -1
  287. package/dist/esm/ic-step.entry.js +2 -2
  288. package/dist/esm/ic-step.entry.js.map +1 -1
  289. package/dist/esm/ic-stepper.entry.js +1 -1
  290. package/dist/esm/ic-switch.entry.js +1 -1
  291. package/dist/esm/ic-tab-context.entry.js +7 -5
  292. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  293. package/dist/esm/ic-tab-group.entry.js +1 -1
  294. package/dist/esm/ic-tab-panel.entry.js +3 -1
  295. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  296. package/dist/esm/ic-tab.entry.js +3 -1
  297. package/dist/esm/ic-tab.entry.js.map +1 -1
  298. package/dist/esm/ic-text-field.entry.js +6 -14
  299. package/dist/esm/ic-text-field.entry.js.map +1 -1
  300. package/dist/esm/ic-theme.entry.js +1 -1
  301. package/dist/esm/ic-toast.entry.js +1 -1
  302. package/dist/esm/ic-top-navigation.entry.js +1 -1
  303. package/dist/esm/ic-typography.entry.js +95 -3
  304. package/dist/esm/ic-typography.entry.js.map +1 -1
  305. package/dist/esm/loader.js +1 -1
  306. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +3 -0
  307. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
  308. package/dist/types/components/ic-menu/ic-menu.d.ts +1 -0
  309. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +1 -0
  310. package/dist/types/components/ic-pagination/ic-pagination.d.ts +7 -0
  311. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -0
  312. package/dist/types/components/ic-select/ic-select.d.ts +11 -11
  313. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -0
  314. package/dist/types/components/ic-typography/ic-typography.d.ts +27 -0
  315. package/dist/types/components.d.ts +35 -15
  316. package/hydrate/index.js +226 -125
  317. package/package.json +3 -3
  318. package/dist/cjs/helpers-2021e212.js.map +0 -1
  319. package/dist/core/p-14835d6f.entry.js +0 -2
  320. package/dist/core/p-14835d6f.entry.js.map +0 -1
  321. package/dist/core/p-276f7ecb.entry.js +0 -2
  322. package/dist/core/p-276f7ecb.entry.js.map +0 -1
  323. package/dist/core/p-3845b769.entry.js.map +0 -1
  324. package/dist/core/p-3c23f963.entry.js +0 -2
  325. package/dist/core/p-3c23f963.entry.js.map +0 -1
  326. package/dist/core/p-3dc2ff7b.entry.js.map +0 -1
  327. package/dist/core/p-3dea2867.js +0 -2
  328. package/dist/core/p-3dea2867.js.map +0 -1
  329. package/dist/core/p-4b87445b.entry.js +0 -2
  330. package/dist/core/p-4b87445b.entry.js.map +0 -1
  331. package/dist/core/p-4c8fcfe6.entry.js +0 -2
  332. package/dist/core/p-4c8fcfe6.entry.js.map +0 -1
  333. package/dist/core/p-52fd3533.entry.js.map +0 -1
  334. package/dist/core/p-56fe91ad.entry.js.map +0 -1
  335. package/dist/core/p-864b46bf.entry.js +0 -2
  336. package/dist/core/p-864b46bf.entry.js.map +0 -1
  337. package/dist/core/p-895bda21.entry.js.map +0 -1
  338. package/dist/core/p-92c4fa7f.entry.js.map +0 -1
  339. package/dist/core/p-a33a04b2.entry.js.map +0 -1
  340. package/dist/core/p-a5bee11f.entry.js +0 -2
  341. package/dist/core/p-a5bee11f.entry.js.map +0 -1
  342. package/dist/core/p-db7131b6.entry.js +0 -2
  343. package/dist/core/p-db7131b6.entry.js.map +0 -1
  344. package/dist/core/p-de891d3d.entry.js +0 -2
  345. package/dist/core/p-de891d3d.entry.js.map +0 -1
  346. package/dist/core/p-e0f24ccd.entry.js.map +0 -1
  347. package/dist/core/p-ea526b54.entry.js +0 -2
  348. package/dist/core/p-ea526b54.entry.js.map +0 -1
  349. package/dist/core/p-ec8b228c.entry.js +0 -2
  350. package/dist/core/p-ec8b228c.entry.js.map +0 -1
  351. package/dist/core/p-ff6583e6.entry.js +0 -2
  352. package/dist/core/p-ff6583e6.entry.js.map +0 -1
  353. package/dist/esm/helpers-b2b47a7d.js.map +0 -1
  354. /package/dist/core/{p-0575a77f.entry.js.map → p-050dbce8.entry.js.map} +0 -0
  355. /package/dist/core/{p-0a41c3cb.entry.js.map → p-0969a95a.entry.js.map} +0 -0
  356. /package/dist/core/{p-b61e76e2.entry.js.map → p-0f153569.entry.js.map} +0 -0
  357. /package/dist/core/{p-3fb307e6.entry.js.map → p-1585e5c1.entry.js.map} +0 -0
  358. /package/dist/core/{p-100dbcec.entry.js.map → p-31b4b684.entry.js.map} +0 -0
  359. /package/dist/core/{p-e839e5dc.entry.js.map → p-32cc8827.entry.js.map} +0 -0
  360. /package/dist/core/{p-d5d9923a.entry.js.map → p-36e0671f.entry.js.map} +0 -0
  361. /package/dist/core/{p-6a77992e.entry.js.map → p-46371c05.entry.js.map} +0 -0
  362. /package/dist/core/{p-9413d639.entry.js.map → p-4dd0eb6a.entry.js.map} +0 -0
  363. /package/dist/core/{p-dc0b9e80.entry.js.map → p-5e896163.entry.js.map} +0 -0
  364. /package/dist/core/{p-e41e701a.entry.js.map → p-68547339.entry.js.map} +0 -0
  365. /package/dist/core/{p-1eb0992b.entry.js.map → p-70124e59.entry.js.map} +0 -0
  366. /package/dist/core/{p-6b39f8b4.entry.js.map → p-8edd3a9b.entry.js.map} +0 -0
  367. /package/dist/core/{p-c0813424.entry.js.map → p-9715ec62.entry.js.map} +0 -0
  368. /package/dist/core/{p-cb437317.entry.js.map → p-983cb33c.entry.js.map} +0 -0
  369. /package/dist/core/{p-002a63e9.entry.js.map → p-a18c0672.entry.js.map} +0 -0
  370. /package/dist/core/{p-47b0ed42.entry.js.map → p-a8dc8196.entry.js.map} +0 -0
  371. /package/dist/core/{p-e384aaee.entry.js.map → p-af815dfb.entry.js.map} +0 -0
  372. /package/dist/core/{p-8780890e.entry.js.map → p-b69226d2.entry.js.map} +0 -0
  373. /package/dist/core/{p-3a67718c.entry.js.map → p-bffa2e1a.entry.js.map} +0 -0
  374. /package/dist/core/{p-a0f4e641.entry.js.map → p-ca20c9c3.entry.js.map} +0 -0
  375. /package/dist/core/{p-546b620e.entry.js.map → p-df1b0f17.entry.js.map} +0 -0
  376. /package/dist/core/{p-5d077cf7.entry.js.map → p-fb5861c6.entry.js.map} +0 -0
  377. /package/dist/core/{p-3e5eb873.entry.js.map → p-fd18d7a3.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as i,h as e,H as t,g as s,c as n,F as c}from"./p-589f6dd3.js";import{a as o}from"./p-6f57b13c.js";import{i as a,L as r,a as u}from"./p-3dea2867.js";import{C as h}from"./p-8c7f4343.js";import{c as l}from"./p-ec26fc38.js";const d="ic-input-component-container{display:flex;border:var(--ic-space-1px) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--ic-architectural-white);box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.fullwidth{width:100%}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed var(--ic-architectural-200)}ic-input-component-container.readonly,ic-input-component-container.readonly:hover{border:none;padding:0}ic-input-component-container.error{border:var(--ic-space-xxxs) solid var(--ic-status-error);padding:0}ic-input-component-container.warning{border:var(--ic-space-xxxs) solid var(--ic-status-warning-mid);padding:0}ic-input-component-container.success{border:var(--ic-space-xxxs) solid var(--ic-status-success);padding:0}ic-input-component-container.small{height:var(--ic-space-xl)}ic-input-component-container.multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.multiline .icon-container,ic-input-component-container.multiline.small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.disabled ::-moz-placeholder{display:none}ic-input-component-container.disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border-color:var(--ic-action-dark-hover);color:var(--ic-action-dark-hover)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-space-1px) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed GrayText}}";const m=class{constructor(e){i(this,e);this.disabled=false;this.readonly=false;this.validationStatus="";this.small=false;this.multiLine=false;this.validationInline=false;this.dark=false;this.fullWidth=false}render(){const{small:i,validationStatus:s,disabled:n,readonly:c,multiLine:u,fullWidth:h,dark:l,validationInline:d}=this;const m=this.validationStatus!==""&&!this.disabled&&!this.readonly?true:false;return e(t,{class:{["small"]:i,[s]:m,["disabled"]:n,["readonly"]:c,["multiline"]:u,["fullwidth"]:h,["dark"]:l}},e("div",{class:{"focus-indicator":true,dark:l}},a(this.host,"left-icon")&&e("div",{class:{["icon-container"]:true}},e("slot",{name:"left-icon"})),e("slot",null),d&&s===o.Success&&e("span",{class:{["inline-success"]:true},innerHTML:r})))}get host(){return s(this)}};m.style=d;const p="ic-input-container .component-container{display:flex;flex-direction:column}";const f=class{constructor(e){i(this,e);this.disabled=false;this.readonly=false}render(){return e(t,null,e("div",{class:{["component-container"]:true,["disabled"]:this.disabled,["readonly"]:this.readonly}},e("slot",null)))}};f.style=p;const b='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-space-1px) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:20.125rem}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:0.5rem 0.438rem;cursor:pointer;display:flex;align-items:center}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:0.25rem 0.438rem}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:0.625rem;color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:0.5rem;pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:1.5rem 0.438rem 0.5rem;color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:0.75rem 0.438rem 0.25rem}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-space-1px) solid var(--ic-architectural-400)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}';const v=class{constructor(t){i(this,t);this.menuOptionSelect=n(this,"menuOptionSelect",7);this.menuStateChange=n(this,"menuStateChange",7);this.menuOptionId=n(this,"menuOptionId",7);this.menuKeyPress=n(this,"menuKeyPress",7);this.ungroupedOptionsSet=n(this,"ungroupedOptionsSet",7);this.retryButtonClicked=n(this,"retryButtonClicked",7);this.timeoutBlur=n(this,"timeoutBlur",7);this.ungroupedOptions=[];this.isSearchBar=false;this.isSearchableSelect=false;this.preventClickOpen=false;this.hasTimedOut=false;this.isLoading=false;this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const i=this.options.findIndex((i=>i.value===this.optionHighlighted));this.setInputValue(i)};this.handleMenuChange=(i,e)=>{if(!i)this.popperInstance.destroy();this.menuStateChange.emit({open:i,focusInput:e});if(!i&&e!==false){this.inputEl.focus();this.preventClickOpen=false}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i+1].value,optionId:this.getOptionId(this.ungroupedOptions[i+1].value)})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0].value,optionId:this.getOptionId(this.ungroupedOptions[0].value)})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i-1].value,optionId:this.getOptionId(this.ungroupedOptions[i-1].value)})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value,optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1].value)})}};this.getParentEl=i=>{if(i.tagName==="IC-SEARCH-BAR"){this.isSearchBar=true}else if(i.tagName==="IC-SELECT"&&i.getAttribute("searchable")!==null&&i.getAttribute("searchable")!==undefined){this.isSearchableSelect=true}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.setMenuOptions=()=>this.isSearchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=i=>{const e=this.setMenuOptions();e[i]&&!e[i].timedOut&&(this.optionHighlighted=e[i].value||undefined)};this.autoSetInputValueKeyboardOpen=i=>{const e=this.ungroupedOptions.findIndex((i=>i.value===this.value));this.keyboardNav=false;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);this.setNextOptionValue(e);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);this.setPreviousOptionValue(e);break;case" ":case"Enter":if(i.target.id!=="clear-button"){this.handleMenuChange(true)}break}};this.manSetInputValueKeyboardOpen=i=>{var e;const t=this.setMenuOptions();this.keyboardNav=false;const s=t.findIndex((i=>i.value===this.optionHighlighted));const n=i=>{var e;return(e=Array.from(this.host.querySelectorAll("li"))[i])===null||e===void 0?void 0:e.id};switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);if(s<t.length-1){this.setHighlightedOption(s+1);this.menuOptionId.emit({optionId:n(s+1)})}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:n(0)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);if(s<=0||s>t.length+1){this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:n(t.length-1)})}else{this.setHighlightedOption(s-1);this.menuOptionId.emit({optionId:n(s-1)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(0);this.menuOptionId.emit({optionId:n(0)});break;case"End":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:n(t.length-1)});break;case"Enter":i.preventDefault();this.setInputValue(s);this.value=(e=t[s])===null||e===void 0?void 0:e.value;break;case"Escape":this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"Shift":case"Tab":if(this.isSearchBar){this.keyboardNav=true}this.preventIncorrectTabOrder=true;break;case"Backspace":if(this.isSearchBar){this.parentEl.setFocus();this.setHighlightedOption(0)}else if(this.isSearchableSelect){this.parentEl.setFocus();this.value=null}this.focusFromSearchKeypress=true;break;default:if(i.key!=="Tab"){if(this.isSearchBar){this.parentEl.setFocus();this.setHighlightedOption(0)}else if(this.isSearchableSelect){this.parentEl.setFocus();this.value=null}this.focusFromSearchKeypress=true}break}};this.setInputValue=i=>{var e;const t=this.setMenuOptions();if(t[i]){this.menuOptionSelect.emit({value:(e=t[i])===null||e===void 0?void 0:e.value});this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}if(!this.hasTimedOut)this.handleMenuChange(false);else this.parentEl.setFocus()};this.handleOptionClick=i=>{const{value:e,label:t}=i.target.dataset;this.menuOptionSelect.emit({value:e,label:t});this.handleMenuChange(false)};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:i.key})}};this.handleBlur=i=>{if(i.relatedTarget!==this.inputEl){if(!this.menu.contains(i.relatedTarget)){this.handleMenuChange(false,false)}}else{this.handleMenuChange(false);this.preventClickOpen=true}};this.handleMouseDown=i=>{i.preventDefault()};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}else if(this.activationType==="manual"&&this.isSearchableSelect){this.manSetInputValueKeyboardOpen(i)}};this.emitMenuKeyPress=(i,e)=>{this.menuKeyPress.emit({isNavKey:i,key:e})};this.autoSetValueOnMenuKeyDown=i=>{i.cancelBubble=true;const e=this.ungroupedOptions.findIndex((i=>i.value===this.value));const t=this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(i.key){case" ":i.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){i.preventDefault();this.setPreviousOptionValue(e);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){i.preventDefault();this.setNextOptionValue(e);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0].value});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(t){this.inputEl.focus()}break;case"Shift":break;default:if(t&&i.key!=="Tab"&&!this.hasTimedOut){this.inputEl.focus()}if(i.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,i.key)};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,e)=>{let t=i.label;if(i.description){t=`${t}, ${i.description}`}if(e){return`${t}, ${e.label} group`}else{return t}};this.getSortedOptions=i=>{let e=[];if(i.sort){e=i.sort(((i,e)=>i.recommended&&!e.recommended?-1:0))}return e};this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{const e=i.querySelector(".option[aria-selected]");if(e){const t=e.offsetTop+e.offsetHeight;if(t>i.scrollTop+i.offsetHeight||t<i.scrollTop+i.offsetHeight){i.scrollTop=e.offsetTop}e.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{let i=0;this.host.querySelectorAll(".option").forEach((e=>i+=e.clientHeight));if(i>=320){this.menu.classList.add("menu-scroll")}};this.handleTimeoutBlur=i=>{this.timeoutBlur.emit({ev:i})};this.optionContent=i=>{var t;return e(c,null,i.loading&&e("ic-loading-indicator",{size:"icon"}),e("div",{class:"option-text-container"},e("ic-typography",{variant:"body","aria-hidden":"true"},e("p",null,i.label)),i.description&&e("ic-typography",{id:`${this.getOptionId(i===null||i===void 0?void 0:i.value)}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},e("p",null,i.description))),!!i.value&&!!this.value&&(i===null||i===void 0?void 0:i.value.toLowerCase())===((t=this.value)===null||t===void 0?void 0:t.toLowerCase())&&this.parentEl.tagName!=="IC-SEARCH-BAR"&&e("span",{class:"check-icon",innerHTML:h}))};this.displayOption=(i,t,s)=>{const{open:n,value:o,keyboardNav:a,isManualMode:r,initialOptionsListRender:u,optionHighlighted:h,options:l}=this;return e("li",{id:this.getOptionId(i.value),class:{option:true,"focused-option":r?(a||u)&&i.value===h:a&&i.value===o,"last-recommended-option":i.recommended&&l[t+1]&&!l[t+1].recommended,"disabled-option":i.disabled,"loading-option":i.loading,timeout:i.timedOut},role:"option",tabindex:n&&(i.value===o||i.value===h)&&a?"0":"-1","aria-label":this.getOptionAriaLabel(i,s),"aria-selected":i.value===o,"aria-disabled":i.disabled?"true":"false",onClick:!i.timedOut&&!i.loading&&this.handleOptionClick,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":i.value,"data-label":i.label},i.timedOut?e(c,null,e("div",{class:"loading-error-info"},e("svg",{class:"error-icon-svg","aria-labelledby":"error-title",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},e("title",{id:"error-title"},"Error"),e("path",{d:"M0 0h24v24H0z",fill:"none"}),e("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"})),e("ic-typography",{variant:"label"},i.label)),e("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(i))};this.open=undefined;this.options=undefined;this.small=false;this.menuId=undefined;this.value=undefined;this.activationType="automatic";this.inputEl=undefined;this.parentEl=undefined;this.inputLabel=undefined;this.anchorEl=undefined;this.fullWidth=false;this.autoFocusOnSelected=true;this.keyboardNav=false;this.optionHighlighted=undefined;this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.preventIncorrectTabOrder=false}watchOptionsHandler(i){this.hasTimedOut=i.some((i=>i.timedOut));this.isLoading=i.some((i=>i.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){this.keyboardNav=false;if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}connectedCallback(){this.getParentEl(this.parentEl);if(this.isSearchBar){this.setHighlightedOption(0);this.initialOptionsListRender=true}}componentWillLoad(){this.loadUngroupedOptions();this.parentEl.addEventListener("icClear",this.handleClearListener);this.parentEl.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=this.options.some((i=>i.timedOut));this.isLoading=this.options.some((i=>i.loading))}componentDidLoad(){if(this.isSearchBar&&this.parentEl.disableFilter){this.focusFromSearchKeypress=true}u([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidRender(){if(this.open){this.popperInstance=l(this.anchorEl,this.host,{placement:"bottom",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top"],rootBoundary:"viewport"}}]})}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}componentDidUpdate(){const i=this.options.some((i=>i.value===this.value));const e=this.optionHighlighted!==null&&this.optionHighlighted!==undefined&&this.optionHighlighted!=="";if(this.open&&this.options.length!==0){if(this.value&&this.keyboardNav&&i&&this.autoFocusOnSelected&&!this.isSearchableSelect){this.scrollToSelected(this.menu)}else if(this.inputEl.tagName!=="IC-TEXT-FIELD"&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}else if(e&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){i.focus()}}}}disconnectedCallback(){this.parentEl.removeEventListener("icClear",this.handleClearListener);this.parentEl.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}render(){const{inputLabel:i,options:s,menuId:n,value:c,fullWidth:o,hasTimedOut:a,isLoading:r,small:u,open:h,inputEl:l,keyboardNav:d}=this;return e(t,{class:{"full-width":o,"no-focus":(l===null||l===void 0?void 0:l.tagName)==="INPUT"||a||r,small:u,open:h}},s.length!==0&&e("ul",{id:n,class:"menu",role:"listbox","aria-label":i,"aria-activedescendant":c!=null&&c!==""?this.getOptionId(c):"",tabindex:h&&!d&&(l===null||l===void 0?void 0:l.tagName)!=="INPUT"?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(s).map(((i,t)=>{if(i.children){if(i.children.length>0){return e("div",null,e("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},e("p",null,i.label)),i.children.map((e=>this.displayOption(e,t,i))))}else{return null}}else{return this.displayOption(i,t)}}))))}get host(){return s(this)}static get watchers(){return{options:["watchOptionsHandler"]}}};v.style=b;export{m as ic_input_component_container,f as ic_input_container,v as ic_menu};
2
- //# sourceMappingURL=p-4c8fcfe6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"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"],"names":["icInputComponentContainerCss","InputComponentContainer","[object Object]","small","validationStatus","disabled","readonly","multiLine","fullWidth","dark","validationInline","this","hasValidationStatus","h","Host","class","focus-indicator","isSlotUsed","host","name","IcInformationStatus","Success","innerHTML","successIcon","icInputContainerCss","InputContainer","icMenuCss","Menu","ungroupedOptions","isSearchBar","isSearchableSelect","preventClickOpen","hasTimedOut","isLoading","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","value","setInputValue","handleMenuChange","open","focusInput","popperInstance","destroy","menuStateChange","emit","inputEl","focus","setNextOptionValue","selectedOptionIndex","menuOptionSelect","optionId","getOptionId","setPreviousOptionValue","length","getParentEl","parent","tagName","getAttribute","undefined","arrowBehaviour","event","preventDefault","setMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","keyboardNav","key","target","id","manSetInputValueKeyboardOpen","index","_a","Array","from","querySelectorAll","menuOptionId","preventIncorrectTabOrder","focusFromSearchKeypress","parentEl","setFocus","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","contains","handleMouseDown","handleMenuKeyDown","activationType","autoSetValueOnMenuKeyDown","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","handleMenuKeyUp","shiftKey","menuId","getOptionAriaLabel","parentOption","ariaLabel","description","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","querySelector","elTop","offsetTop","offsetHeight","scrollTop","loadUngroupedOptions","map","children","push","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","forEach","clientHeight","classList","add","handleTimeoutBlur","timeoutBlur","optionContent","Fragment","loading","size","variant","aria-hidden","toLowerCase","Check","displayOption","initialOptionsListRender","focused-option","last-recommended-option","disabled-option","loading-option","timeout","role","tabindex","aria-label","aria-selected","aria-disabled","onClick","onBlur","onMouseDown","data-value","data-label","aria-labelledby","xmlns","viewBox","fill","d","onKeyDown","newOptions","some","opt","addEventListener","disableFilter","onComponentRequiredPropUndefined","prop","propName","inputLabel","createPopper","anchorEl","placement","modifiers","offset","fallbackPlacements","rootBoundary","inputValueInOptions","optionHighlightedIsSet","autoFocusOnSelected","highlightedEl","removeEventListener","full-width","no-focus","aria-activedescendant","ref","el","onKeyUp","childOption"],"mappings":"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","sourcesContent":["ic-input-component-container {\n /**\n * @prop --border-color: Border colour of the input component container\n */\n\n display: flex;\n border: var(--ic-space-1px) 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 width: var(--input-width, 20rem);\n padding: var(--ic-space-1px);\n background-color: var(--ic-architectural-white);\n box-sizing: border-box;\n fill: var(--ic-architectural-400);\n outline: none;\n}\n\nic-input-component-container.fullwidth {\n width: 100%;\n}\n\nic-input-component-container.disabled,\nic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed var(--ic-architectural-200);\n}\n\nic-input-component-container.readonly,\nic-input-component-container.readonly:hover {\n border: none;\n padding: 0;\n}\n\nic-input-component-container.error {\n border: var(--ic-space-xxxs) solid var(--ic-status-error);\n padding: 0;\n}\n\nic-input-component-container.warning {\n border: var(--ic-space-xxxs) solid var(--ic-status-warning-mid);\n padding: 0;\n}\n\nic-input-component-container.success {\n border: var(--ic-space-xxxs) solid var(--ic-status-success);\n padding: 0;\n}\n\nic-input-component-container.small {\n height: var(--ic-space-xl);\n}\n\nic-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.multiline .icon-container,\nic-input-component-container.multiline.small .icon-container {\n margin-top: 0.375rem;\n display: block;\n}\n\nic-input-component-container.readonly .icon-container {\n margin-left: -0.313rem;\n}\n\nic-input-component-container.disabled ::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.dark:hover {\n --border-color: var(--ic-architectural-400);\n}\n\nic-input-component-container .inline-success > svg {\n fill: var(--ic-status-success);\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-component-container:hover {\n border-color: var(--ic-action-dark-hover);\n color: var(--ic-action-dark-hover);\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.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-space-1px) solid Highlight;\n outline: 0.125rem solid Highlight;\n }\n\n ic-input-component-container.disabled,\n ic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed GrayText;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport { isSlotUsed } 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 /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n /**\n * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * If `true`, the small styling will be applied to the input component container.\n */\n @Prop() small: boolean = false;\n /**\n * If `true`, the input component container will allow for multiple lines.\n */\n @Prop() multiLine: boolean = false;\n /**\n * If `true`, the validation will display inline.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * If `true`, the dark variant of the input component container will be displayed.\n */\n @Prop() dark?: boolean = false;\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 @Element() host: HTMLIcInputComponentContainerElement;\n\n render() {\n const {\n small,\n validationStatus,\n disabled,\n readonly,\n multiLine,\n fullWidth,\n dark,\n validationInline,\n } = this;\n const hasValidationStatus =\n this.validationStatus !== \"\" && !this.disabled && !this.readonly\n ? true\n : false;\n return (\n <Host\n class={{\n [\"small\"]: small,\n [validationStatus]: hasValidationStatus,\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"multiline\"]: multiLine,\n [\"fullwidth\"]: fullWidth,\n [\"dark\"]: dark,\n }}\n >\n <div\n class={{\n \"focus-indicator\": true,\n dark: dark,\n }}\n >\n {isSlotUsed(this.host, \"left-icon\") && (\n <div\n class={{\n [\"icon-container\"]: true,\n }}\n >\n <slot name=\"left-icon\" />\n </div>\n )}\n <slot></slot>\n\n {validationInline &&\n validationStatus === IcInformationStatus.Success && (\n <span\n class={{\n [\"inline-success\"]: true,\n }}\n innerHTML={successIcon}\n />\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(.open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n max-height: 0;\n width: var(--input-width, 20rem);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(:not(.no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\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.menu {\n text-decoration: none;\n list-style-type: none;\n border: var(--ic-space-1px) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n max-height: none;\n display: block;\n}\n\n:host(.open) .menu {\n visibility: visible;\n max-height: 20.125rem;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\n.option {\n padding: 0.5rem 0.438rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.small) .option {\n padding: 0.25rem 0.438rem;\n}\n\n.option:last-child {\n border-radius: 0 0 var(--ic-space-1px) var(--ic-space-1px);\n}\n\n.option:first-child {\n border-radius: var(--ic-space-1px) var(--ic-space-1px) 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n color: var(--ic-color-secondary-text);\n}\n\n.option-text-container {\n pointer-events: none;\n}\n\n.option.loading-option .option-text-container {\n margin-left: 0.625rem;\n color: var(--ic-color-secondary-text);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-status-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 width: var(--ic-space-lg);\n margin-left: 0.5rem;\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: 1.5rem 0.438rem 0.5rem;\n color: var(--ic-color-tertiary-text);\n}\n\n:host(.small) .option-group-title {\n padding: 0.75rem 0.438rem 0.25rem;\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-space-1px) solid var(--ic-architectural-400);\n}\n\n.disabled-option {\n color: var(--ic-architectural-200);\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-focus-blue) !important;\n color: var(--ic-color-white-text) !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@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\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 { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\nimport {\n IcActivationTypes,\n IcMenuOption,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcOptionSelectEventDetail,\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n} from \"./ic-menu.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 menu: HTMLUListElement;\n private ungroupedOptions: IcMenuOption[] = [];\n private popperInstance: PopperInstance;\n private isSearchBar: boolean = false;\n private isSearchableSelect: boolean = false;\n // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n private preventClickOpen: boolean = false;\n private hasTimedOut: boolean = false;\n private isLoading: boolean = false;\n\n @Element() host: HTMLIcMenuElement;\n\n /**\n * If `true`, the menu will be displayed open.\n */\n @Prop({ reflect: true }) open!: boolean;\n\n /**\n * The possible menu selection options.\n */\n @Prop() options!: IcMenuOption[];\n\n /**\n * If `true`, the small styling will be applied to the menu.\n */\n @Prop({ reflect: true }) small?: boolean = false;\n\n /**\n * The ID of the menu.\n */\n @Prop() menuId!: string;\n\n /**\n * The value of the currently selected option.\n */\n @Prop() value!: string;\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 the input element.\n */\n @Prop() inputEl!: HTMLElement;\n\n /**\n * @internal - The parent element if ic-menu is nested inside another component.\n */\n @Prop() parentEl?: HTMLElement;\n\n /**\n * The label for the input element.\n */\n @Prop() inputLabel!: string;\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 * If `true`, the menu will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * @internal If `true`, autofocus will be applied on selected item when menu is open.\n */\n @Prop() autoFocusOnSelected: boolean = true;\n\n @State() keyboardNav: boolean = false;\n @State() optionHighlighted: string;\n @State() focusFromSearchKeypress: boolean = false;\n @State() initialOptionsListRender: boolean = false;\n @State() preventIncorrectTabOrder: boolean = false;\n\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 * @internal Emitted when an option is selected.\n */\n @Event() menuOptionSelect!: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * @internal Emitted when state of menu changes (i.e. open or close).\n */\n @Event() menuStateChange!: EventEmitter<IcMenuChangeEventDetail>;\n\n /**\n * @internal Emitted when an option has been highlighted\n */\n @Event() menuOptionId: EventEmitter<IcMenuOptionIdEventDetail>;\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 the ungrouped options have been set.\n */\n @Event() ungroupedOptionsSet: EventEmitter<{ options: IcMenuOption[] }>;\n\n /**\n * @internal Emitted when the retry button is clicked\n */\n @Event() retryButtonClicked: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal Emitted when the timeout menu loses focus\n */\n @Event() timeoutBlur: EventEmitter<{ ev: FocusEvent }>;\n\n private handleClearListener = (): void => {\n this.optionHighlighted = \"\";\n };\n\n private handleSubmitSearch = (): void => {\n const highlightedOptionIndex = this.options.findIndex(\n (option) => option.value === this.optionHighlighted\n );\n\n this.setInputValue(highlightedOptionIndex);\n };\n\n private handleMenuChange = (open: boolean, focusInput?: boolean): void => {\n if (!open) this.popperInstance.destroy();\n this.menuStateChange.emit({ open, focusInput });\n\n if (!open && focusInput !== false) {\n this.inputEl.focus();\n this.preventClickOpen = false;\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].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex + 1].value\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0].value,\n optionId: this.getOptionId(this.ungroupedOptions[0].value),\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].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex - 1].value\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[this.ungroupedOptions.length - 1].value\n ),\n });\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 - keyboard event\n */\n @Method()\n async handleKeyboardOpen(event: KeyboardEvent): Promise<void> {\n this.keyboardNav = false;\n\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n } else {\n this.manSetInputValueKeyboardOpen(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 private getParentEl = (parent: HTMLElement) => {\n if (parent.tagName === \"IC-SEARCH-BAR\") {\n this.isSearchBar = true;\n } else if (\n parent.tagName === \"IC-SELECT\" &&\n parent.getAttribute(\"searchable\") !== null &&\n parent.getAttribute(\"searchable\") !== undefined\n ) {\n this.isSearchableSelect = true;\n }\n };\n\n private arrowBehaviour = (event: KeyboardEvent): void => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n\n private setMenuOptions = () =>\n this.isSearchBar ? this.options : this.ungroupedOptions;\n\n private setHighlightedOption = (highlightedIndex: number): void => {\n const menuOptions = this.setMenuOptions();\n\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex].value || undefined);\n };\n\n private autoSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option.value === 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 !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n\n private manSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const menuOptions = this.setMenuOptions();\n\n this.keyboardNav = false;\n\n const highlightedOptionIndex = menuOptions.findIndex(\n (option) => option.value === this.optionHighlighted\n );\n\n const getOptionId = (index: number): string =>\n Array.from(this.host.querySelectorAll(\"li\"))[index]?.id;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n } else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\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 } else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n break;\n case \"End\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n break;\n case \"Enter\":\n event.preventDefault();\n this.setInputValue(highlightedOptionIndex);\n this.value = menuOptions[highlightedOptionIndex]?.value;\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"Shift\":\n case \"Tab\":\n if (this.isSearchBar) {\n this.keyboardNav = true;\n }\n this.preventIncorrectTabOrder = true;\n break;\n case \"Backspace\":\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n this.value = null;\n }\n this.focusFromSearchKeypress = true;\n break;\n default:\n if (event.key !== \"Tab\") {\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n this.value = null;\n }\n this.focusFromSearchKeypress = true;\n }\n break;\n }\n };\n\n private setInputValue = (highlightedOptionIndex: number) => {\n const menuOptions = this.setMenuOptions();\n\n if (menuOptions[highlightedOptionIndex]) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex]?.value,\n });\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n if (!this.hasTimedOut) this.handleMenuChange(false);\n else (this.parentEl as HTMLIcSearchBarElement).setFocus();\n };\n\n private handleOptionClick = (event: Event): void => {\n const { value, label } = (event.target as HTMLLIElement).dataset;\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\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 (!this.menu.contains(event.relatedTarget as HTMLElement)) {\n this.handleMenuChange(false, false);\n }\n } else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n }\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.isSearchableSelect) {\n this.manSetInputValueKeyboardOpen(event);\n }\n };\n\n private emitMenuKeyPress = (isNavKey: boolean, key: string) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n\n private autoSetValueOnMenuKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option.value === this.value\n );\n\n const isSearchableSelect = 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].value,\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1].value,\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 handleMenuKeyUp = (event: KeyboardEvent): void => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\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.label;\n\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n\n if (parentOption) {\n return `${ariaLabel}, ${parentOption.label} 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 isManualMode = this.activationType === \"manual\";\n\n private scrollToSelected = (menu: HTMLUListElement) => {\n const selectedOption = menu.querySelector(\n \".option[aria-selected]\"\n ) 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 selectedOption.focus();\n }\n };\n\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\")\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 connectedCallback(): void {\n this.getParentEl(this.parentEl);\n\n if (this.isSearchBar) {\n this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\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.isSearchBar &&\n (this.parentEl as HTMLIcSearchBarElement).disableFilter\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 componentDidRender(): void {\n if (this.open) {\n this.popperInstance = createPopper(this.anchorEl, this.host, {\n placement: \"bottom\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n\n componentDidUpdate(): void {\n const inputValueInOptions: boolean = this.options.some(\n (option) => option.value === this.value\n );\n\n const optionHighlightedIsSet =\n this.optionHighlighted !== null &&\n this.optionHighlighted !== undefined &&\n this.optionHighlighted !== \"\";\n\n if (this.open && this.options.length !== 0) {\n if (\n this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autoFocusOnSelected &&\n !this.isSearchableSelect\n ) {\n this.scrollToSelected(this.menu);\n } else if (\n this.inputEl.tagName !== \"IC-TEXT-FIELD\" &&\n this.inputEl.tagName !== \"INPUT\"\n ) {\n this.menu.focus();\n } else if (\n optionHighlightedIsSet &&\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 highlightedEl.focus();\n }\n }\n }\n }\n\n disconnectedCallback(): void {\n this.parentEl.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.removeEventListener(\n \"icSubmitSearch\",\n this.handleSubmitSearch\n );\n }\n\n private optionContent = (option: IcMenuOption) => {\n return (\n <Fragment>\n {option.loading && <ic-loading-indicator size=\"icon\" />}\n <div class=\"option-text-container\">\n <ic-typography variant=\"body\" aria-hidden=\"true\">\n <p>{option.label}</p>\n </ic-typography>\n {option.description && (\n <ic-typography\n id={`${this.getOptionId(option?.value)}-description`}\n class=\"option-description\"\n variant=\"caption\"\n aria-hidden=\"true\"\n >\n <p>{option.description}</p>\n </ic-typography>\n )}\n </div>\n {!!option.value &&\n !!this.value &&\n option?.value.toLowerCase() === this.value?.toLowerCase() &&\n this.parentEl.tagName !== \"IC-SEARCH-BAR\" && (\n <span class=\"check-icon\" innerHTML={Check} />\n )}\n </Fragment>\n );\n };\n\n private displayOption = (\n option: IcMenuOption,\n index?: number,\n parentOption?: IcMenuOption\n ): HTMLLIElement => {\n const {\n open,\n value,\n keyboardNav,\n isManualMode,\n initialOptionsListRender,\n optionHighlighted,\n options,\n } = this;\n\n return (\n <li\n id={this.getOptionId(option.value)}\n class={{\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option.value === optionHighlighted\n : keyboardNav && option.value === value,\n \"last-recommended-option\":\n option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended,\n \"disabled-option\": option.disabled,\n \"loading-option\": option.loading,\n timeout: option.timedOut,\n }}\n role=\"option\"\n tabindex={\n open &&\n (option.value === value || option.value === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\"\n }\n aria-label={this.getOptionAriaLabel(option, parentOption)}\n aria-selected={option.value === value}\n aria-disabled={option.disabled ? \"true\" : \"false\"}\n onClick={!option.timedOut && !option.loading && this.handleOptionClick}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n data-value={option.value}\n data-label={option.label}\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 <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\" />\n </svg>\n <ic-typography variant=\"label\">{option.label}</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)\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 small,\n open,\n inputEl,\n keyboardNav,\n } = this;\n\n return (\n <Host\n class={{\n \"full-width\": fullWidth,\n \"no-focus\": inputEl?.tagName === \"INPUT\" || hasTimedOut || isLoading,\n small: small,\n open: open,\n }}\n >\n {options.length !== 0 && (\n <ul\n id={menuId}\n class=\"menu\"\n role=\"listbox\"\n aria-label={inputLabel}\n aria-activedescendant={\n value != null && value !== \"\" ? this.getOptionId(value) : \"\"\n }\n tabindex={\n open && !keyboardNav && inputEl?.tagName !== \"INPUT\" ? \"0\" : \"-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.label}</p>\n </ic-typography>\n {option.children.map((childOption) =>\n this.displayOption(childOption, index, option)\n )}\n </div>\n );\n } else {\n return null;\n }\n } else {\n return this.displayOption(option, index);\n }\n })}\n </ul>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","src/components/ic-side-navigation/ic-side-navigation.tsx"],"names":["icSideNavigationCss","SideNavigation","this","ANIMATION_DURATION","parseInt","getCssProperty","emitSideNavigationExpanded","objDetails","event","CustomEvent","detail","sideNavExpanded","sideNavMobile","el","dispatchEvent","toggleMenu","menuOpen","setMobileMenuAriaAttributes","setToggleMenuFlyoutMenuVisibility","sideNav","shadowRoot","querySelector","sideNavInner","bottomWrapper","classList","add","setTimeout","remove","nativeButton","setAttribute","setAndRemoveNoWrapAfterMenuExpanded","appTitle","toggleMenuExpanded","menuExpanded","arrangeSlottedNavigationItem","displayTooltipWithExpandedLongLabel","collapsedIconLabels","animateCollapsedIconLabels","setExpandedButtonHeight","navItems","querySelectorAll","forEach","navItem","hasUsedSlot","isSlotUsed","navItemSlot","iconWrapper","document","createElement","icon","label","textContent","trim","icTypography","className","append","styleSlottedCollapsedIconLabels","styleSlottedIconLabels","style","marginTop","whiteSpace","overflow","textOverflow","appStatusWrapper","offsetHeight","setProperty","opacity","visibility","transition","primaryNavigationWrapper","secondaryNavigationWrapper","addEventListener","paddingIconWidth","navItemLink","navItemSVG","navStyles","gap","window","getComputedStyle","iconWidth","width","paddingLeft","Object","values","reduce","prev","curr","timer","sideNavWidth","clientWidth","navigationItems","Array","from","paddingIconDelta","length","navigationItem","icTypographyScrollWidth","_a","scrollWidth","_b","clearTimeout","setMenuExpanded","expanded","setParentPaddingTop","value","parentElement","setParentPaddingLeft","resizeObserver","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","S","disableAutoParentStyling","topBarHeight","scrollHeight","inline","L","static","runResizeObserver","ResizeObserver","getCurrentDeviceSize","deviceSizeAppTitle","observe","body","box","setCollapsedIconLabels","styleSlottedCollapsedIconLabel","dynamicSlottedIcTypographyComps","contains","renderTopBar","isSDevice","foregroundColor","href","isAppNameSubtitleVariant","hasTitle","undefined","Component","attrs","h","class","top-bar","[object Object]","aria-labelledby","aria-hidden","aria-label","id","variant","size","full-width","appearance","onClick","aria-owns","aria-haspopup","aria-expanded","slot","innerHTML","closeIcon","menuIcon","assign","name","getThemeForegroundColor","XL","ev","theme","mode","hasSecondaryNavigation","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","disconnect","status","version","isMdDevice","M","isLgDevice","displayExpandBtn","topBarProps","Host","xs-menu-open","xs-menu-close","sm-collapsed","sm-expanded","IcThemeForegroundEnum","Dark","hasClassificationBanner","chevronIcon"],"mappings":"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","sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-theme-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-theme-primary);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-theme-primary);\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n overflow: auto;\n visibility: hidden;\n}\n\n:host(.inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--ic-keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n box-shadow: -0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n background-color: var(--ic-theme-primary);\n display: flex;\n flex-direction: column;\n visibility: hidden;\n}\n\n:host(.inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.dark) .bottom-wrapper {\n border-top: var(--ic-keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-theme-primary);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--ic-keyline-darken);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.inline) .top-bar {\n position: absolute;\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.top-bar.light {\n border-bottom: var(--ic-keyline-lighten);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--ic-keyline-darken);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-theme-text);\n align-items: center;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-theme-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-theme-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-theme-text);\n outline: none;\n text-decoration: none;\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-theme-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n left: 3.5rem;\n right: var(--ic-space-sm);\n top: 0;\n bottom: 0;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-theme-text);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.dark) .app-status-wrapper .app-status {\n color: var(--ic-color-white-text);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-width: 100%;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-theme-hover);\n --navigation-group-text-hover: var(--ic-theme-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-active);\n --navigation-item-child-color: var(--ic-theme-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-height: 3.5rem;\n --navigation-item-width: auto;\n --navigation-item-justify-content: flex-start;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n}\n\n.menu-visibility-hidden {\n visibility: hidden;\n}\n\n/* Media Queries */\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 577px) {\n :host {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n }\n\n :host(.static) {\n position: relative;\n left: auto;\n top: auto;\n bottom: auto;\n }\n\n .app-icon-container {\n padding: var(--ic-space-xxs) 0;\n }\n\n .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: -0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n }\n\n :host(.inline) .top-bar {\n position: sticky;\n }\n\n :host(.anchor-right) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n }\n\n :host(.anchor-right) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n }\n\n .side-navigation,\n .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n }\n\n :host(.sm-collapsed) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n }\n\n :host(.sm-collapsed.collapsed-labels) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n }\n\n :host(.sm-expanded) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n }\n\n .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n }\n\n :host(.inline) .side-navigation {\n position: relative;\n }\n\n :host(.anchor-right) .side-navigation {\n left: auto;\n right: 0;\n }\n\n .side-navigation-inner {\n width: 100%;\n visibility: visible;\n }\n\n .bottom-wrapper {\n visibility: visible;\n }\n\n .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-sm);\n }\n\n .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n }\n\n .app-title-wrapper ic-typography {\n margin: calc(-1 * 0.281rem) 0 calc(-1 * 0.281rem) var(--ic-space-md);\n font-weight: var(--ic-font-weight-semibold);\n }\n\n :host(.sm-collapsed) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) ic-typography {\n position: relative;\n left: 0;\n }\n\n :host(.sm-expanded) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n }\n\n :host(.sm-collapsed) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n }\n\n :host(.anchor-right.sm-expanded) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n }\n\n .app-status-wrapper,\n :host(.sm-collapsed) .app-status-wrapper {\n display: none;\n margin-left: 0;\n }\n\n :host(.sm-expanded) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n }\n\n .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n }\n\n .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-theme-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n }\n\n :host(.sm-expanded) .bottom-side-nav .menu-expand-button {\n height: 100%;\n }\n\n .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n }\n\n .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-theme-hover);\n }\n\n :host .bottom-side-nav {\n outline: none;\n }\n\n :host .bottom-side-nav .menu-expand-button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n }\n\n :host(.sm-collapsed) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n }\n\n :host(.anchor-right.sm-collapsed) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n }\n\n :host(.anchor-right.sm-expanded) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n }\n\n :host(.sm-collapsed) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n }\n\n :host(.sm-collapsed) ::slotted(ic-navigation-item),\n :host(.sm-collapsed) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n }\n\n :host(.sm-expanded) ::slotted(ic-navigation-item),\n :host(.sm-expanded) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n }\n\n :host(.sm-collapsed) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n }\n\n :host(.sm-expanded) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n }\n\n :host(.sm-collapsed.collapsed-labels) .side-navigation,\n :host(.sm-collapsed.collapsed-labels) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n }\n\n :host(.sm-collapsed.collapsed-labels) .menu-expand-button {\n padding: 0;\n }\n\n :host(.sm-collapsed.collapsed-labels) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n }\n\n :host(.sm-collapsed.collapsed-labels) ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n }\n\n :host(.collapsed-labels) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n }\n\n :host .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n }\n\n :host .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n }\n}\n\n@media screen and (min-width: 993px) {\n :host {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-hc-border);\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getThemeForegroundColor,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n @Element() el: HTMLIcSideNavigationElement;\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle: string;\n /**\n * The status of the app to be displayed.\n */\n @Prop() status: string;\n /**\n * The version of the app to be displayed.\n */\n @Prop() version: string;\n /**\n * If `true`, the side navigation will load in an expanded state.\n */\n @Prop() expanded: boolean = false;\n /**\n * The URL that the app title link points to.\n */\n @Prop() href: string = \"/\";\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static: boolean = false;\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels: boolean = false;\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling: boolean = false;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() menuOpen: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() deviceSizeAppTitle = DEVICE_SIZES.S;\n @State() hasSecondaryNavigation: boolean = false;\n\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n const event = new CustomEvent(\"sideNavExpanded\", {\n detail: {\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: objDetails.sideNavMobile,\n },\n });\n this.el.dispatchEvent(event);\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n if (menuOpen) {\n bottomWrapper.classList.add(\"menu-visibility-visible\");\n sideNavInner.classList.add(\"menu-visibility-visible\");\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(\"menu-visibility-visible\");\n bottomWrapper.classList.remove(\"menu-visibility-visible\");\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n const nativeButton = this.el.shadowRoot\n .querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\");\n\n if (menuOpen) {\n nativeButton.setAttribute(\"aria-expanded\", \"true\");\n nativeButton.setAttribute(\"aria-label\", \"Close navigation menu\");\n } else {\n nativeButton.setAttribute(\"aria-expanded\", \"false\");\n nativeButton.setAttribute(\"aria-label\", \"Open navigation menu\");\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle = this.el.shadowRoot.querySelector(\n \".title-link ic-typography\"\n );\n\n appTitle.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (): void => {\n this.menuExpanded = !this.menuExpanded;\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collaped animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n\n navItems.forEach((navItem) => {\n const hasUsedSlot = isSlotUsed(navItem, \"navigation-item\");\n\n if (hasUsedSlot) {\n const navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot.querySelector(\"svg\");\n const label = navItem.textContent.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.className = \"icon-container\";\n iconWrapper.append(icon);\n\n navItemSlot.textContent = \"\";\n\n icTypography.textContent = label;\n\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private animateCollapsedIconLabels = () => {\n const primaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".primary-navigation\"\n );\n const secondaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(\"collapsed-icon-labels-end\");\n primaryNavigationWrapper.classList.add(\"collapsed-icon-labels-start\");\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(\"collapsed-icon-labels-end\");\n secondaryNavigationWrapper.classList.add(\"collapsed-icon-labels-start\");\n }\n\n this.el.addEventListener(\"transitionend\", () => {\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(\n \"collapsed-icon-labels-start\"\n );\n primaryNavigationWrapper.classList.add(\"collapsed-icon-labels-end\");\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(\n \"collapsed-icon-labels-start\"\n );\n secondaryNavigationWrapper.classList.add(\"collapsed-icon-labels-end\");\n }\n });\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n navItems[0].shadowRoot.querySelector(\"ic-tooltip a\")) ||\n navItems[0].querySelector(\"a\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(\"ic-navigation-item\")\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(\"ic-navigation-item\")\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-left\", value);\n };\n\n private resizeObserver: ResizeObserver = null;\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (currSize === DEVICE_SIZES.S) {\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot.querySelector(\".top-bar\").scrollHeight;\n this.setParentPaddingTop(`${topBarHeight}px`);\n this.setParentPaddingLeft(\"0\");\n\n if (this.inline) {\n this.el.parentElement.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n }\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: true,\n });\n } else {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.el.parentElement.style.setProperty(\"height\", \"100%\");\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: false,\n });\n }\n\n if (currSize > DEVICE_SIZES.L) {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n }\n } else if (\n currSize > DEVICE_SIZES.S &&\n currSize <= DEVICE_SIZES.L &&\n !this.static &&\n !this.disableAutoParentStyling\n ) {\n if (this.collapsedIconLabels) {\n this.setParentPaddingLeft(\"calc(var(--ic-space-xxl) * 2)\");\n } else {\n this.setParentPaddingLeft(\n \"calc(var(--ic-space-xxl) + var(--ic-space-xs))\"\n );\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(\"ic-navigation-item\")\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography?.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && this.appTitle !== undefined;\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n appearance={foregroundColor}\n onClick={this.toggleMenu}\n aria-owns=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <ic-typography\n variant={isAppNameSubtitleVariant ? \"subtitle-small\" : \"h3\"}\n >\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </ic-typography>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n componentWillLoad(): void {\n if (this.expanded) {\n this.setMenuExpanded(true);\n } else {\n this.setMenuExpanded(false);\n }\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: this.deviceSize === DEVICE_SIZES.S,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice = this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn = isMdDevice || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && collapsedIconLabels,\n [\"static\"]: this.static,\n [\"inline\"]: inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={this.toggleMenuExpanded}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"names":["icSelectCss","inputIds","Select","this","inputId","menuId","ungroupedOptions","inheritedAttributes","hasSetDefaultValue","initialOptionsEmpty","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","value","hiddenInputValue","emitIcChange","searchable","clearTimeout","debounceIcChange","window","setTimeout","icChange","currDebounce","emitImmediateIcChange","isMenuEnabled","searchableSelectInputValue","setOptionsValuesFromLabels","options","length","map","option","label","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","getFilteredChildMenuOptions","children","getFilteredMenuOptions","includeDescriptionsInSearch","searchMatchPosition","pressedCharacters","newOption","Object","assign","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","emptyOptionListText","currValue","inputValueToFilter","getValueFromLabel","ariaActiveDescendant","optionId","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","host","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableFilter","handleClick","menu","filteredOptions","hasTimedOut","loading","noOptions","handleClickOpen","handleExpandIconMouseDown","disabled","handleClear","stopPropagation","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","indexOf","push","noChildOptionsWhenFiltered","triggerLoading","loadingLabel","timeout","timeoutTimer","loadingErrorLabel","timedOut","find","handleSearchableSelectInput","target","icInput","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","getDefaultValue","onFocus","icFocus","onBlur","tagName","includes","isSearchableAndNoFocusedInternalElements","Array","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","initialValue","debounce","[object Object]","newValue","setDefaultValue","updateOnChangeDebounce","debounceAria","inheritAttributes","IC_INHERITED_ARIA","addFormResetListener","onComponentRequiredPropUndefined","prop","propName","removeFormResetListener","small","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","isOrHasLoaded","_b","inputValue","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","h","Host","class","full-width","for","ref","el","anchorEl","menu-open","isMobileOrTablet","onChange","id","aria-label","aria-describedby","aria-invalid","onKeyDown","selected","role","autocomplete","aria-activedescendant","aria-autocomplete","aria-expanded","aria-required","aria-controls","onInput","onClick","innerHTML","Clear","size","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","expand-icon","expand-icon-open","expand-icon-filled","Expand","aria-hidden","aria-live","aria-haspopup","aria-owns","value-text","undefined","no-results","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","ariaLiveMode","status","message"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n position: relative;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not(.disabled)) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.searchable) .select-input {\n cursor: auto;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xs);\n color: var(--ic-action-dark);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.disabled) .expand-icon,\n:host(.disabled) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host(.searchable) .expand-icon {\n padding-left: var(--ic-space-xxs);\n height: 2.25rem;\n}\n\n:host(.searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host(.searchable:not(.disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host(.searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.disabled) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: 2.375rem;\n}\n\n:host(.small) .clear-button-container {\n padding-left: 1.875rem;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.small) .divider {\n height: var(--ic-space-md);\n}\n\n.clear-button {\n position: absolute;\n right: 2.75rem;\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.searchable-select-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSearchMatchPositions,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcValueEventDetail } from \"../../interface\";\nimport { IcOptionSelectEventDetail } from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Select {\n private nativeSelectElement: HTMLSelectElement;\n private customSelectElement: HTMLButtonElement;\n private searchableSelectElement: HTMLInputElement;\n private menu: HTMLIcMenuElement;\n private anchorEl: HTMLElement;\n private clearButton: HTMLIcButtonElement;\n\n private inputId = `ic-select-input-${inputIds++}`;\n private menuId = `${this.inputId}-menu`;\n\n private ungroupedOptions: IcMenuOption[] = [];\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private initialOptionsEmpty = false;\n\n private characterKeyPressTimer: number;\n\n private timeoutTimer: number;\n\n private hasTimedOut: boolean;\n private blurredBecauseButtonPressed: boolean;\n private retryButtonClick: boolean;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the select.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the select element will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The value of the currently selected option.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * @deprecated This prop should not be used anymore.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * Specify whether to disable the built in filtering for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * Change the message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * Trigger loading state when fetching options asyncronously\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @State() open: boolean = false;\n\n @State() clearButtonFocused: boolean = false;\n\n @State() searchableSelectInputValue: string = null;\n\n @State() filteredOptions: IcMenuOption[] = this.options;\n\n @State() ariaActiveDescendant: string;\n\n @State() noOptions: IcMenuOption[] = null;\n\n @State() initialValue = this.value;\n\n @State() currDebounce = this.debounce;\n\n @State() currValue = this.value;\n\n @State() debounceIcChange: number;\n\n @State() pressedCharacters: string = \"\";\n\n @State() hiddenInputValue: string;\n\n @State() inputValueToFilter = this.value;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.filteredOptions = this.options;\n } else if (this.isMenuEnabled()) {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.filteredOptions = this.options;\n\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) this.options = this.noOptions;\n }\n }\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number) {\n this.updateOnChangeDebounce(newValue);\n }\n\n @Watch(\"value\")\n valueChangedHandler() {\n if (this.value !== this.currValue) {\n this.currValue = this.value;\n }\n\n if (this.searchable && !!this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.currValue) || this.currValue;\n }\n }\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when clear button clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when option is highlighted within the menu.\n * Highlighting a menu item will trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n @Element() host!: HTMLIcSelectElement;\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({ value: this.hiddenInputValue });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string) => {\n if (!this.searchable) {\n this.value = value;\n }\n\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n this.icChange.emit({ value: value });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n this.value = value;\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value: value });\n };\n\n private isMenuEnabled = () => {\n return (\n this.searchableSelectInputValue !== null ||\n this.searchableSelectInputValue !== \"\"\n );\n };\n\n private setOptionsValuesFromLabels = (): void => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.options);\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = event.detail.value;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue = this.getLabelFromValue(this.value);\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue = this.getValueFromLabel(\n this.searchableSelectInputValue\n );\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.icOptionSelect.emit({ value: event.detail.value });\n this.emitIcChange(event.detail.value);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n this.handleCharacterKeyDown(ev.detail.key);\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.host.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable && this.disableFilter;\n\n private handleClick = (event: MouseEvent): void => {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut && !this.loading) {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n }\n\n if (event.detail !== 0 && this.isMenuEnabled()) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n this.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.options;\n this.hiddenInputValue = null;\n this.searchableSelectElement.focus();\n\n if (!this.isMenuEnabled()) {\n this.setMenuChange(false);\n }\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitImmediateIcChange(this.filteredOptions[0].value);\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n event.cancelBubble = true;\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null) && this.isMenuEnabled()) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu.handleKeyboardOpen(event);\n }\n this.handleCharacterKeyDown(event.key);\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.searchable ? [...this.options] : this.ungroupedOptions;\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.inputValueToFilter,\n this.searchMatchPosition\n );\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (!isGrouped) {\n newFilteredOptions = menuOptionsFiltered;\n } else {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = noOptions;\n this.filteredOptions = this.noOptions;\n }\n };\n\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable)\n this.filteredOptions = this.noOptions;\n else if (!this.searchable && this.options !== this.noOptions)\n this.options = this.noOptions;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.options = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n const value = this.options.find((option) => option.label === label)?.value;\n return value;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n this.emitIcChange(this.searchableSelectInputValue);\n\n this.hiddenInputValue = this.searchableSelectInputValue;\n this.inputValueToFilter = this.searchableSelectInputValue;\n\n if (this.isMenuEnabled()) {\n this.setMenuChange(true);\n } else {\n this.setMenuChange(false);\n }\n\n if (!this.disableFilter) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || value || null;\n\n private setDefaultValue() {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.getDefaultValue(this.currValue);\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n }\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n const target = event.relatedTarget as HTMLElement;\n if (\n target !== null &&\n target.tagName === \"UL\" &&\n target.className.includes(\"menu\")\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n event.relatedTarget as Element\n ) &&\n !(this.clearButton && event.relatedTarget === this.clearButton) &&\n !(retryButton && event.relatedTarget === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(this.value);\n this.hiddenInputValue = this.value;\n }\n };\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.host, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.host, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n } else {\n this.setDefaultValue();\n }\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) this.triggerLoading();\n\n this.hiddenInputValue = this.searchable && this.currValue;\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n const {\n small,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n } = this;\n\n const isOrHasLoaded =\n (searchable ? this.filteredOptions : options)[0]?.label ===\n this.loadingLabel ||\n (searchable ? this.filteredOptions : options)[0]?.label ===\n this.loadingErrorLabel;\n\n const inputValue = this.searchable ? this.hiddenInputValue : currValue;\n\n renderHiddenInput(true, this.host, name, inputValue, disabled);\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n return (\n <Host\n class={{\n disabled: disabled,\n searchable: searchable,\n small: small,\n \"full-width\": fullWidth,\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n small={small}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(currValue)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class=\"select-input\"\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n this.getLabelFromValue(currValue) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n placeholder:\n this.getLabelFromValue(currValue) === undefined,\n }}\n >\n <p>{this.getLabelFromValue(currValue) || placeholder}</p>\n </ic-typography>\n <div class=\"select-input-end\">\n {currValue && showClearButton && (\n <div class=\"divider\"></div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {currValue && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n class={{\n \"no-results\": this.noOptions !== null || isOrHasLoaded,\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n small={small}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : options}\n value={currValue}\n fullWidth={fullWidth}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.host}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={this.searchable ? \"manual\" : \"automatic\"}\n ></ic-menu>\n )}\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as a}from"./p-589f6dd3.js";import{b as r,m as n,n as s,a as c}from"./p-3dea2867.js";import{I as l}from"./p-6f57b13c.js";import{c as d}from"./p-ec26fc38.js";const h='/*! 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;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{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;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:var(--ic-hc-focus-outline)}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:var(--ic-space-1px) solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button: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) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:2.5rem;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:0.375rem}:host(.button-size-small.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:2.5rem;width:2.5rem;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center;width:100%}ic-loading-indicator{--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}::slotted(*){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.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}:host(.search-submit-button-small) ::slotted(svg){--icon-height:1rem;--icon-width:1rem}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}: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){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:0.875rem;--icon-width:0.875rem}:host(.popout-menu-button) .button{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}@media (forced-colors: active){.button{border:0.125rem solid transparent}}';var u=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++){if(i.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a]))e[o[a]]=t[o[a]]}return e};let b=0;const p=class{constructor(e){t(this,e);this.icFocus=i(this,"icFocus",7);this.icBlur=i(this,"icBlur",7);this.inheritedAttributes={};this.hasTooltip=false;this.buttonIdNum=b++;this.handleClick=()=>{if((this.el.type==="submit"||this.el.type==="reset")&&!!this.el.closest("FORM")){this.handleHiddenFormButtonClick(this.el.closest("FORM"))}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.disabled=false;this.loading=false;this.type="button";this.href=undefined;this.target=undefined;this.rel=undefined;this.download=false;this.hreflang=undefined;this.referrerpolicy=undefined;this.variant="primary";this.size="default";this.fullWidth=false;this.disableTooltip=false;this.tooltipPlacement="bottom";this.appearance="default";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined}handleHostClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}}themeChangeHandler(t){const i=t.detail;this.updateTheme(i.mode)}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}async updateAriaLabel(t){if(this.hasTooltip){this.tooltipEl.label=t;this.buttonEl.setAttribute("aria-label",t)}}hasIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}handleHiddenFormButtonClick(t){const i=document.createElement("button");i.setAttribute("type",this.el.type);i.style.display="none";t.appendChild(i);i.click();i.remove()}updateTheme(t=null){const i=r(this.el,t||null);if(i!==l.Default){this.appearance=i}}componentWillLoad(){this.inheritedAttributes=n(this.el,[...s,"aria-expanded","title"]);this.el.setAttribute("exportparts","button");const t=this.el.id;this.id=t!==undefined?t:null;this.hasTooltip=this.variant==="icon"}componentDidLoad(){this.updateTheme()}render(){const t=this.href&&"a"||"button";const i=this.inheritedAttributes,{title:a,"aria-label":r}=i,n=u(i,["title","aria-label"]);const s=t==="button"?{type:this.type,disabled:this.disabled,form:this.form,formaction:this.formaction,formenctype:this.formenctype,formmethod:this.formmethod,formnovalidate:this.formnovalidate,formtarget:this.formtarget}:{download:this.download!==false?this.download:null,href:this.href,rel:this.rel,target:this.target,referrerpolicy:this.referrerpolicy,hreflang:this.hreflang};const c=a&&a;const d=this.hasTooltip?{}:{title:c};let h="";if(this.hasTooltip){if(c!==undefined){h=c}else if(r!==null){h=r}}let b=null;let p=null;if(this.hasTooltip){p=this.id!==null?`ic-button-with-tooltip-${this.id}`:`ic-button-with-tooltip-${this.buttonIdNum}`;b=`ic-tooltip-${p}`}const f=()=>e(t,Object.assign({class:"button","aria-disabled":this.loading||this.disabled?"true":null,"aria-label":this.loading?"Loading":r},s,n,d,{onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.buttonEl=t,id:p,"aria-describedby":b,part:"button"}),this.hasIconSlot()&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),this.loading?e("div",{class:"loading-container"},e("ic-loading-indicator",{type:"linear",appearance:this.variant==="primary"||this.variant==="destructive"||this.appearance===l.Dark||this.appearance===l.Light?"light":"dark"})):e("slot",null));return e(o,{class:{["disabled"]:this.disabled&&!this.loading,[`button-variant-${this.variant}`]:true,[`button-size-${this.size}`]:true,["loading"]:this.loading,["dark"]:this.appearance===l.Dark,["light"]:this.appearance===l.Light,["full-width"]:this.fullWidth},onClick:this.handleClick},this.hasTooltip&&e("ic-tooltip",{class:{["tooltip-disabled"]:this.disableTooltip},ref:t=>this.tooltipEl=t,label:h,target:p,placement:this.tooltipPlacement},e(f,null)),!this.hasTooltip&&e(f,null))}static get delegatesFocus(){return true}get el(){return a(this)}};p.style=h;const f='/*! 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-action-default);--outer-color:var(--ic-architectural-100);--label-color:var(--ic-color-primary-text);--margin:none;--linear-line-height:var(--ic-space-xs)}:host(.light){--inner-color:var(--ic-architectural-white);--outer-color:var(--ic-architectural-800);--label-color:var(--ic-architectural-white)}.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="default"]){--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(.label){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{white-space:nowrap;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-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(.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(--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))}:host(.inner-label) .ic-loading-circular-inner{display:grid}:host(.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;color:var(--ic-theme-primary)}:host(.not-required.compact-step-progress-indicator) .inner-text{color:var(--ic-color-tertiary-text)}@media (forced-colors: active){.indeterminate>.ic-loading-circular-inner{forced-color-adjust:none}.ic-loading-linear-outer{border:var(--ic-hc-border)}.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 v=class{constructor(i){t(this,i);this.updateCircularProgressMeter=()=>{if(!this.indeterminate){this.circularMeter.style.setProperty("--progress-value",String(this.progress))}};this.getLabel=(t,i)=>new Promise((()=>{this.interval=setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}i(this.labelList[t])}),this.labelDuration)}));this.getLabelVariant=()=>{var t;let i="h4";const e=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(this.size==="small"||this.type==="circular"&&e<60){i="label"}else if(this.size==="large"||this.type==="circular"&&e>=120){i="h2"}return i};this.setCircleLineWidth=()=>{const{offsetWidth:t}=this.outerElement;const i=this.host.classList.contains("compact-step-progress-indicator")?40:0;const e=this.host.classList.contains("toast-dismiss-timer")?20:0;if(t||i||e){this.circularLineWidth=(i||e||t)*.1;this.circularDiameter=i||e||t;this.outerElement.style.setProperty("--circular-line-width",`${this.circularLineWidth}px`)}};this.setLinearDeterminateWidth=()=>{if(!this.innerElement)return;const t=Math.min(this.max,Math.max(this.min,this.progress));const i=(t-this.min)/(this.max-this.min);this.showSecond=i>.5;if(this.showSecond){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--linear-width",`${i*100}%`)};this.calcOuterClass=()=>{let t=`ic-loading-${this.type}-outer`;t+=this.indeterminate?" indeterminate":" determinate";return t};this.updateLabel=()=>{if(this.label!==undefined){this.labelList=this.label.split("/");const t=0;this.indicatorLabel=this.labelList[t];if(this.labelList.length>1){this.getLabel(t,(t=>{this.indicatorLabel=t}))}}};this.setCircleXY=()=>{if(this.circularDiameter>0){const t=this.circularDiameter/2;const i=t;const e=t;const o=t-this.circularLineWidth/2;this.setDashSteps(o);return{x:i,y:e,r:o}}return{x:0,y:0,r:0}};this.setDashSteps=t=>{const i=2*Math.PI*t;const e=Math.min(Math.max(this.progress,this.min),this.max);const o=-1-(e-this.min)/(this.max-this.min);this.circularMeter.style.setProperty("--stroke-dasharray",`${i}px`);if(!this.indeterminate){this.circularMeter.style.setProperty("--circular-steps-max",String(this.max));this.circularMeter.style.setProperty("--stroke-dashoffset",`${o*i}px`)}};this.progress=undefined;this.min=0;this.max=100;this.label=undefined;this.description="Loading";this.innerLabel=undefined;this.labelDuration=8e3;this.size="default";this.type="circular";this.fullWidth=false;this.appearance="dark";this.indicatorLabel=undefined;this.indeterminate=undefined;this.showSecond=false;this.circularLineWidth=undefined;this.circularDiameter=undefined}watchPropHandler(){this.updateLabel()}watchProgressHandler(){if(this.type==="circular"){this.updateCircularProgressMeter()}}componentWillLoad(){this.indeterminate=this.progress===undefined;this.updateLabel()}componentDidLoad(){if(this.type==="circular"){this.setCircleLineWidth();this.circularMeter=this.host.shadowRoot.querySelector(".ic-loading-circular-svg circle:nth-child(2)");this.updateCircularProgressMeter()}if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}componentWillUpdate(){this.indeterminate=this.progress===undefined}componentDidUpdate(){if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}disconnectedCallback(){clearInterval(this.interval)}render(){const{appearance:t,label:i,description:a,size:r,fullWidth:n,innerLabel:s}=this;const{x:c,y:d,r:h}=this.setCircleXY();return e(o,{class:{["light"]:t===l.Light,["label"]:!!i,["full-width"]:n,["inner-label"]:!!s}},e("div",{class:"ic-loading-container"},e("div",{ref:t=>this.outerElement=t,class:this.calcOuterClass(),role:"progressbar","aria-labelledby":this.label&&this.size!=="icon"&&"ic-loading-label","aria-label":a,"aria-valuenow":this.progress,"aria-valuemin":this.min,"aria-valuemax":this.max},e("div",{ref:t=>this.innerElement=t,class:`ic-loading-${this.type}-inner`},this.innerLabel&&this.innerLabel!==undefined&&this.size==="small"&&e("ic-typography",{variant:"subtitle-small",class:"inner-text"},this.innerLabel),this.type==="circular"&&e("svg",{class:"ic-loading-circular-svg",viewBox:`0 0 ${this.circularDiameter||0} ${this.circularDiameter||0}`},e("circle",{cx:`${c}`,cy:`${d}`,r:`${h}`}),e("circle",{cx:`${c}`,cy:`${d}`,r:`${h}`})))),i&&r!=="icon"&&e("ic-typography",{id:"ic-loading-label",class:"ic-loading-label",role:"status",variant:this.getLabelVariant()},e("p",null,this.indicatorLabel))))}get host(){return a(this)}static get watchers(){return{label:["watchPropHandler"],progress:["watchProgressHandler"]}}};v.style=f;const m='/*! 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) .ic-tooltip-container{background-color:var(--ic-architectural-800);color:#ffff;text-align:center;padding:var(--ic-space-xxxs) 0.625rem;border-radius:var(--ic-border-radius);position:absolute;max-width:20rem;display:none;z-index:var(--ic-z-index-tooltip);box-shadow:var(--ic-elevation-overlay)}: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;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:""}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{bottom:calc(-1 * var(--ic-space-md))}: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;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs))}: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;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{right:var(--ic-space-xxxs)}: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}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{left:-0.875rem}: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)}@media (forced-colors: active){:host(.ic-tooltip) .ic-tooltip-container{border:var(--ic-hc-border)}}';const g=class{constructor(i){t(this,i);this.mouseOverTool=false;this.showEvents=this.disableHover?["click"]:["mouseenter","focusin"];this.instantHideEvents=["focusout"];this.delayedHideEvents=["mouseleave"];this.persistTooltip=false;this.show=t=>{this.toolTip.setAttribute("data-show","");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:true}]})));t.update()};this.hide=t=>{this.toolTip.removeAttribute("data-show");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:false}]})));this.persistTooltip=false};this.checkCloseTooltip=t=>{setTimeout((()=>{if(!this.mouseOverTool&&!this.persistTooltip){this.hide(t)}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=t=>{this.mouseOverTool=false;this.checkCloseTooltip(t)};this.handleKeyDown=t=>{if(t==="Escape"&&!this.persistTooltip){this.hide(this.popperInstance)}};this.manageEventListeners=t=>{const i=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{this.el[i](t,(()=>this.show(this.popperInstance)));if(this.toolTip!==undefined){this.toolTip[i](t,(()=>this.mouseEnterTooltip()))}}));this.instantHideEvents.forEach((t=>{this.el[i](t,(()=>!this.persistTooltip&&this.hide(this.popperInstance)))}));this.delayedHideEvents.forEach((t=>{this.el[i](t,(()=>this.checkCloseTooltip(this.popperInstance)));if(this.toolTip!==undefined){this.toolTip[i](t,(()=>this.mouseLeaveTooltip(this.popperInstance)))}}));document[i]("keydown",(t=>this.handleKeyDown(t.key)))};this.screenReaderOnlyStyles={position:"absolute",left:"-10000px",top:"auto",width:"1px",height:"1px",overflow:"hidden"};this.target=undefined;this.placement="bottom";this.label=undefined;this.disableHover=false}updateLabel(t){const i=this.el.previousElementSibling;if(i!==null){i.innerText=t}}async displayTooltip(t,i){this.persistTooltip=i;t?this.show(this.popperInstance):this.hide(this.popperInstance)}componentDidLoad(){this.popperInstance=d(this.el,this.toolTip,{placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}}]});this.manageEventListeners("add");c([{prop:this.label,propName:"label"}],"Tooltip");if(this.target!==undefined){const t=document.createElement("span");t.id=`ic-tooltip-${this.target}`;t.innerText=this.label;t.classList.add("ic-tooltip-label");Object.assign(t.style,this.screenReaderOnlyStyles);this.el.insertAdjacentElement("beforebegin",t)}}disconnectedCallback(){this.manageEventListeners("remove")}render(){const{label:t}=this;return e(o,{class:{"ic-tooltip":true}},e("div",{ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container"},e("ic-typography",{variant:"caption"},t),e("div",{ref:t=>this.arrow=t,class:"ic-tooltip-arrow","data-popper-arrow":true})),e("slot",null))}get el(){return a(this)}static get watchers(){return{label:["updateLabel"]}}};g.style=m;export{p as ic_button,v as ic_loading_indicator,g as ic_tooltip};
2
- //# sourceMappingURL=p-864b46bf.entry.js.map