@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 +1,2 @@
1
- import{r as t,h as i,H as e,g as s}from"./p-589f6dd3.js";import{M as o,t as r,c as a}from"./p-3dea2867.js";import{I as n}from"./p-6f57b13c.js";const l=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const c=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;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{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.light){--splitter-color:var(--ic-keyline-lighten-rgb)}:host(.dark){--splitter-color:var(--ic-keyline-darken-rgb)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0 var(--ic-space-xs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}.disabled ic-button>svg{color:var(--ic-keyline-darken-rgb)}:host(.dark) .disabled ic-button>svg,:host(.light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false};this.appearance="default";this.firstItemVisible=true;this.lastItemVisible=false;this.itemOverflow=false}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl)||Array.from(this.itemsContainerEl.children);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener("focus",(()=>this.itemFocusHandler(Array.from(this.items).indexOf(t))))}}))}componentDidLoad(){let t=0;this.itemOffsets=this.items.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}}render(){const{appearance:t,firstItemVisible:s,lastItemVisible:o,itemOverflow:r}=this;return i(e,{class:{["visible"]:r,["dark"]:this.appearance===n.Dark,["light"]:this.appearance===n.Light}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!r,["disabled"]:s}},i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll left",appearance:t,innerHTML:l,disabled:s,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{class:"scroll-splitter-left"})),i("slot",null),i("div",{"aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!r,["disabled"]:o}},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll right",appearance:t,innerHTML:c,disabled:o,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=h;export{p as ic_horizontal_scroll};
2
- //# sourceMappingURL=p-0575a77f.entry.js.map
1
+ import{r as t,h as i,H as e,g as s}from"./p-589f6dd3.js";import{M as o,t as r,c as a}from"./p-471820e6.js";import{I as n}from"./p-6f57b13c.js";const l=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const c=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;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{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.light){--splitter-color:var(--ic-keyline-lighten-rgb)}:host(.dark){--splitter-color:var(--ic-keyline-darken-rgb)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0 var(--ic-space-xs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}.disabled ic-button>svg{color:var(--ic-keyline-darken-rgb)}:host(.dark) .disabled ic-button>svg,:host(.light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false};this.appearance="default";this.firstItemVisible=true;this.lastItemVisible=false;this.itemOverflow=false}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl)||Array.from(this.itemsContainerEl.children);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener("focus",(()=>this.itemFocusHandler(Array.from(this.items).indexOf(t))))}}))}componentDidLoad(){let t=0;this.itemOffsets=this.items.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}}render(){const{appearance:t,firstItemVisible:s,lastItemVisible:o,itemOverflow:r}=this;return i(e,{class:{["visible"]:r,["dark"]:this.appearance===n.Dark,["light"]:this.appearance===n.Light}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!r,["disabled"]:s}},i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll left",appearance:t,innerHTML:l,disabled:s,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{class:"scroll-splitter-left"})),i("slot",null),i("div",{"aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!r,["disabled"]:o}},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll right",appearance:t,innerHTML:c,disabled:o,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=h;export{p as ic_horizontal_scroll};
2
+ //# sourceMappingURL=p-050dbce8.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as i,g as o}from"./p-589f6dd3.js";import{t as n}from"./p-471820e6.js";import{c as s}from"./p-ec26fc38.js";import"./p-6f57b13c.js";const r='/*! 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}@media (prefers-reduced-motion: no-preference){:host .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}.menu{border:0.063rem solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;height:0}.button{text-decoration:none;list-style-type:none}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{color:var(--ic-color-tertiary-text);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const a=class{constructor(t){e(this,t);this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.popoverMenuEls=[];this.ARIA_LABEL="aria-label";this.findAnchorEl=e=>{let t=null;if(e===null||e===undefined){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const t=e.target;return t.id!==this.anchor&&t.tagName!=="IC-MENU-ITEM"&&t.tagName!=="IC-MENU-GROUP"&&t.tagName!=="IC-POPOVER-MENU"};this.closeMenu=()=>{var e;this.open=false;(e=this.anchorEl)===null||e===void 0?void 0:e.focus()};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{for(let t=0;t<e.length;t++){const i=e[t];if(i.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(i)}else if(i.tagName==="IC-MENU-GROUP"){const e=i.shadowRoot.querySelector("ul");const t=n(e);this.addMenuItems(t)}}};this.getMenuAriaLabel=()=>{const e=this.host.getAttribute(this.ARIA_LABEL);if(this.submenuId!==undefined){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{this.parentPopover.openFromChild();this.open=false};this.anchor=undefined;this.submenuId=undefined;this.open=undefined;this.parentPopover=undefined;this.submenuLevel=1;this.parentLabel=undefined;this.openingFromChild=false;this.openingFromParent=false}handleMenuItemClick(e){if(!e.detail.hasSubMenu&&e.detail.label!=="Back"){this.closeMenu()}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.host;i.anchor=this.anchor;i.ariaLabel=this.host.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}watchOpenHandler(){if(this.open){if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=this.submenuId!==undefined?1:0;setTimeout(this.setButtonFocus,50)}}handleClick(e){e.preventDefault();if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}handleKeyDown(e){switch(e.key){case"ArrowDown":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,true);this.setButtonFocus();break;case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,false);this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":if(this.open){this.closeMenu();this.host.blur()}break}}componentDidRender(){if(this.open){s(this.anchorEl,this.host,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}}]})}}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidLoad(){const e=this.host.shadowRoot.querySelector("ul.button");const t=n(e);if(t!==null){this.addMenuItems(t)}if(this.submenuId===undefined&&this.host.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}}render(){return t(i,{class:{open:this.open}},t("div",{id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true},tabindex:open?"0":"-1"},t("div",{class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},this.submenuId!==undefined&&t("div",null,t("ic-menu-item",{class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},t("svg",{slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},t("path",{d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"}))),t("ic-typography",{variant:"subtitle-small",class:"parent-label"},this.parentLabel)),t("ul",{class:"button","aria-label":this.getMenuAriaLabel(),role:"menu","aria-owns":this.submenuId!==undefined?`ic-popover-submenu-back-button-${this.submenuLevel}`:false,"aria-controls":this.submenuId!==undefined?`ic-popover-submenu-back-button-${this.submenuLevel}`:false},t("slot",null)))))}static get delegatesFocus(){return true}get host(){return o(this)}static get watchers(){return{open:["watchOpenHandler"]}}};a.style=r;export{a as ic_popover_menu};
2
+ //# sourceMappingURL=p-06962e10.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":["icPopoverMenuCss","PopoverMenu","this","setButtonFocus","_a","popoverMenuEls","currentFocus","focus","ARIA_LABEL","findAnchorEl","anchor","anchorElement","undefined","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","target","id","tagName","closeMenu","open","anchorEl","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","host","getAttribute","submenuLevel","parentLabel","handleBackButtonClick","parentPopover","openFromChild","[object Object]","detail","hasSubMenu","label","childEl","submenuTriggerFor","openFromParent","some","menuItem","unshift","backButton","setTimeout","preventDefault","openingFromChild","openingFromParent","key","blur","createPopper","placement","modifiers","name","options","offset","slotWrapper","popoverMenuElements","h","Host","class","menu","tabindex","opening-from-parent","opening-from-child","ref","onClick","slot","viewBox","fill","xmlns","d","variant","aria-label","role","aria-owns","aria-controls"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n.menu {\n border: 0.063rem solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n height: 0;\n}\n\n.button {\n text-decoration: none;\n list-style-type: none;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n color: var(--ic-color-tertiary-text);\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n} from \"@stencil/core\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { createPopper } from \"@popperjs/core\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n @Element() host: HTMLIcPopoverMenuElement;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor: string;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n @State() openingFromChild: boolean = false;\n\n @State() openingFromParent: boolean = false;\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(ev: CustomEvent): void {\n if (!ev.detail.hasSubMenu && ev.detail.label !== \"Back\") {\n this.closeMenu();\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.host;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.host.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = this.submenuId !== undefined ? 1 : 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n }\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private anchorEl: HTMLElement;\n private currentFocus: number;\n private backButton: HTMLIcMenuItemElement;\n private ARIA_LABEL: string = \"aria-label\";\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (anchor === null || anchor === undefined) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n ev.preventDefault();\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const target = ev.target as HTMLElement;\n return (\n target.id !== this.anchor &&\n target.tagName !== \"IC-MENU-ITEM\" &&\n target.tagName !== \"IC-MENU-GROUP\" &&\n target.tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n private closeMenu = () => {\n this.open = false;\n this.anchorEl?.focus();\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, true);\n this.setButtonFocus();\n break;\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, false);\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n if (this.open) {\n this.closeMenu();\n this.host.blur();\n }\n break;\n }\n }\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot.querySelector(\"ul\");\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n\n this.addMenuItems(menuGroupElements);\n }\n }\n };\n\n private getMenuAriaLabel = (): string => {\n const ariaLabel = this.host.getAttribute(this.ARIA_LABEL);\n\n if (this.submenuId !== undefined) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover.openFromChild();\n this.open = false;\n };\n\n componentDidRender(): void {\n if (this.open) {\n createPopper(this.anchorEl, this.host, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n ],\n });\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.host.shadowRoot.querySelector(\"ul.button\");\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n\n if (\n this.submenuId === undefined &&\n this.host.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n }\n\n render() {\n return (\n <Host class={{ open: this.open }}>\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {this.submenuId !== undefined && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul\n class=\"button\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n aria-owns={\n this.submenuId !== undefined\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n aria-controls={\n this.submenuId !== undefined\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n >\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as o,H as r,g as a}from"./p-589f6dd3.js";import{a as e}from"./p-3dea2867.js";import{I as s}from"./p-6f57b13c.js";const i=":host{--border-bottom-color:var(--ic-architectural-300);display:block;margin-bottom:var(--ic-space-md);border-bottom:1px solid var(--border-bottom-color)}:host(.inline){margin-bottom:0;border-bottom:none}.light{--border-bottom-color:var(--ic-architectural-white)}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}";const l=class{constructor(o){t(this,o);this.contextId="default";this.inline=false;this.label=undefined;this.appearance="dark"}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{appearance:t,label:a}=this;return o(r,{role:"tablist","aria-label":a,class:{["light"]:t===s.Light,["inline"]:this.inline}},o("ic-horizontal-scroll",{appearance:t===s.Dark?s.Default:t},o("div",{class:"tabs-container"},o("slot",null))))}static get delegatesFocus(){return true}get host(){return a(this)}};l.style=i;export{l as ic_tab_group};
2
- //# sourceMappingURL=p-0a41c3cb.entry.js.map
1
+ import{r as t,h as o,H as r,g as a}from"./p-589f6dd3.js";import{a as e}from"./p-471820e6.js";import{I as s}from"./p-6f57b13c.js";const i=":host{--border-bottom-color:var(--ic-architectural-300);display:block;margin-bottom:var(--ic-space-md);border-bottom:1px solid var(--border-bottom-color)}:host(.inline){margin-bottom:0;border-bottom:none}.light{--border-bottom-color:var(--ic-architectural-white)}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}";const l=class{constructor(o){t(this,o);this.contextId="default";this.inline=false;this.label=undefined;this.appearance="dark"}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{appearance:t,label:a}=this;return o(r,{role:"tablist","aria-label":a,class:{["light"]:t===s.Light,["inline"]:this.inline}},o("ic-horizontal-scroll",{appearance:t===s.Dark?s.Default:t},o("div",{class:"tabs-container"},o("slot",null))))}static get delegatesFocus(){return true}get host(){return a(this)}};l.style=i;export{l as ic_tab_group};
2
+ //# sourceMappingURL=p-0969a95a.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as i,c as t,h as s,H as e,g as a}from"./p-589f6dd3.js";import{x as h,w as n,m as o,d as l,a as r,r as c,e as d,h as u,j as p,y as f,n as b}from"./p-3dea2867.js";import{I as v,a as m}from"./p-6f57b13c.js";const g=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const w=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const x='/*! 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{position:relative}:host(.full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;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>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);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>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.searchable) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.disabled) .expand-icon,:host(.disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.searchable) .expand-icon{padding-left:var(--ic-space-xxs);height:2.25rem}:host(.searchable) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host(.searchable:not(.disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host(.searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.disabled) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:2.375rem}:host(.small) .clear-button-container{padding-left:1.875rem}.divider{width:var(--ic-space-1px);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.small) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:2.75rem;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}';let y=0;const k=class{constructor(s){i(this,s);this.icChange=t(this,"icChange",7);this.icClear=t(this,"icClear",7);this.icFocus=t(this,"icFocus",7);this.icBlur=t(this,"icBlur",7);this.icOptionSelect=t(this,"icOptionSelect",7);this.icInput=t(this,"icInput",7);this.icRetryLoad=t(this,"icRetryLoad",7);this.inputId=`ic-select-input-${y++}`;this.menuId=`${this.inputId}-menu`;this.ungroupedOptions=[];this.inheritedAttributes={};this.hasSetDefaultValue=false;this.initialOptionsEmpty=false;this.handleRetry=i=>{var t;if(i.detail.keyPressed)(t=this.searchableSelectElement)===null||t===void 0?void 0:t.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=i=>{if(!this.searchable){this.value=i}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=i=>{this.value=i;clearTimeout(this.debounceIcChange);this.icChange.emit({value:i})};this.isMenuEnabled=()=>this.searchableSelectInputValue!==null||this.searchableSelectInputValue!=="";this.setOptionsValuesFromLabels=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(!i.value){i.value=i.label}}))}};this.setUngroupedOptions=i=>{this.ungroupedOptions=i.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=i=>{if(this.open!==i){this.open=i}};this.getLabelFromValue=i=>h(i,this.options);this.getFilteredChildMenuOptions=i=>{let t=i.children;if(this.searchable){t=n(i.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{t=n(i.children,false,this.pressedCharacters,"start")}const s=Object.assign({},i);s.children=t;return s};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=i=>{if(this.searchable&&i.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=i.detail.value;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}this.ariaActiveDescendant=i.detail.optionId;this.icOptionSelect.emit({value:i.detail.value});this.emitIcChange(i.detail.value)};this.handleMenuChange=i=>{this.open=i.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=i=>{i.cancelBubble=true;this.handleCharacterKeyDown(i.detail.key)};this.handleFocusIndicatorDisplay=()=>{const i=this.host.shadowRoot.querySelector(".focus-indicator");if(this.open){i.classList.add("focus-indicator-enabled")}else{i.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=i=>{if(!this.open){i.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableFilter;this.handleClick=i=>{if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut&&!this.loading){this.noOptions=null;this.menu.options=this.options}}if(i.detail!==0&&this.isMenuEnabled()){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=i=>{if(!this.disabled){i.preventDefault();this.searchableSelectElement.focus();this.handleClick(i)}};this.handleClear=i=>{i.stopPropagation();this.hasTimedOut=false;this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.hiddenInputValue=null;this.searchableSelectElement.focus();if(!this.isMenuEnabled()){this.setMenuChange(false)}}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=i=>{if(this.open&&i===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(i.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);this.pressedCharacters+=i;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=i=>{i.cancelBubble=true;this.handleCharacterKeyDown(i.key)};this.handleKeyDown=i=>{i.cancelBubble=true;const t=i.key==="ArrowDown"||i.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(i.key==="Enter"||t)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.options}}}if(this.open&&i.key==="Enter"){this.setMenuChange(false)}else{if(!(t&&this.noOptions!==null)&&this.isMenuEnabled()){if(!(i.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(i)}this.handleCharacterKeyDown(i.key)}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=i=>{var t;const s=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");if(!(this.searchableSelectElement&&i.relatedTarget===this.searchableSelectElement)&&!(s&&i.relatedTarget===s)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{const i=this.searchable?[...this.options]:this.ungroupedOptions;let t=false;let s=[];i.map((i=>{if(i.children)t=true}));let e;if(this.searchable){e=n(i,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition)}else{e=n(i,false,this.pressedCharacters,"start")}if(!t){s=e}else{i.map((i=>{if(this.includeGroupTitlesInSearch){if(e.indexOf(i)!==-1){s.push(i)}else{s.push(this.getFilteredChildMenuOptions(i))}}else{s.push(this.getFilteredChildMenuOptions(i))}}))}let a=false;if(t){a=true;s.map((i=>{if(i.children.length>0){a=false}}))}const h=[{label:this.emptyOptionListText,value:""}];if(s.length>0&&!a){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=h;this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable)this.filteredOptions=this.noOptions;else if(!this.searchable&&this.options!==this.noOptions)this.options=this.noOptions;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.options=this.noOptions}),this.timeout)}};this.getValueFromLabel=i=>{var t;const s=(t=this.options.find((t=>t.label===i)))===null||t===void 0?void 0:t.value;return s};this.handleSearchableSelectInput=i=>{this.searchableSelectInputValue=i.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;if(this.isMenuEnabled()){this.setMenuChange(true)}else{this.setMenuChange(false)}if(!this.disableFilter){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const i=this.host.shadowRoot.querySelector(".searchable-select-results-status");if(i){if(this.noOptions!==null){i.innerText=this.emptyOptionListText}else{i.innerText=""}}};this.getDefaultValue=i=>this.getLabelFromValue(i)||i||null;this.onFocus=()=>{this.icFocus.emit()};this.onBlur=i=>{var t;const s=i.relatedTarget;if(s!==null&&s.tagName==="UL"&&s.className.includes("menu")){return}const e=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");const a=this.searchable&&i.relatedTarget!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(i.relatedTarget)&&!(this.clearButton&&i.relatedTarget===this.clearButton)&&!(e&&i.relatedTarget===e);if(a){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=i=>{if(i.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.label=undefined;this.options=[];this.required=false;this.hideLabel=false;this.disabled=false;this.readonly=false;this.placeholder="Select an option";this.helperText="";this.small=false;this.fullWidth=false;this.validationStatus="";this.validationText="";this.value=undefined;this.debounce=0;this.name=this.inputId;this.showClearButton=false;this.searchable=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.searchMatchPosition="anywhere";this.charactersUntilSuggestions=0;this.emptyOptionListText="No results found";this.disableFilter=false;this.timeout=undefined;this.loadingLabel="Loading...";this.loadingErrorLabel="Loading Error";this.loading=false;this.open=false;this.clearButtonFocused=false;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.ariaActiveDescendant=undefined;this.noOptions=null;this.initialValue=this.value;this.currDebounce=this.debounce;this.currValue=this.value;this.debounceIcChange=undefined;this.pressedCharacters="";this.hiddenInputValue=undefined;this.inputValueToFilter=this.value}loadingHandler(i){i&&this.triggerLoading()}watchOptionsHandler(){if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(this.options.length>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.filteredOptions=this.options}else if(this.isMenuEnabled()){this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.filteredOptions=this.options;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable)this.options=this.noOptions}}debounceChangedHandler(i){this.updateOnChangeDebounce(i)}valueChangedHandler(){if(this.value!==this.currValue){this.currValue=this.value}if(this.searchable&&!!this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(i){if(this.currDebounce!==i){this.currDebounce=i}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}setDefaultValue(){if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}}componentWillLoad(){this.inheritedAttributes=o(this.host,[...b,"tabindex","title"]);this.setOptionsValuesFromLabels();l(this.host,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true}else{this.setDefaultValue()}}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Select");if(this.loading)this.triggerLoading();this.hiddenInputValue=this.searchable&&this.currValue}disconnectedCallback(){c(this.host,this.handleFormReset)}render(){var i,t;const{small:a,disabled:h,fullWidth:n,helperText:o,hideLabel:l,label:r,menuId:c,name:b,options:x,placeholder:y,readonly:k,required:L,searchable:z,showClearButton:C,validationStatus:M,validationText:H,currValue:B}=this;const T=((i=(z?this.filteredOptions:x)[0])===null||i===void 0?void 0:i.label)===this.loadingLabel||((t=(z?this.filteredOptions:x)[0])===null||t===void 0?void 0:t.label)===this.loadingErrorLabel;const D=this.searchable?this.hiddenInputValue:B;d(true,this.host,b,D,h);const j=M===m.Error?"true":"false";const O=u(this.inputId,o!=="",p(this.validationStatus,this.disabled)).trim();return s(e,{class:{disabled:h,searchable:z,small:a,"full-width":n},onBlur:this.onBlur},s("ic-input-container",{readonly:k},!l&&s("ic-input-label",{for:this.inputId,label:r,helperText:o,required:L,disabled:h,readonly:k}),s("ic-input-component-container",{ref:i=>this.anchorEl=i,class:{"menu-open":this.open},small:a,fullWidth:n,disabled:h,readonly:k,validationStatus:M},k?s("ic-typography",null,s("p",null,this.getLabelFromValue(B))):f()?s("select",Object.assign({ref:i=>this.nativeSelectElement=i,disabled:h,onChange:this.handleNativeSelectChange,required:L,id:this.inputId,"aria-label":r,"aria-describedby":O,"aria-invalid":j,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown},this.inheritedAttributes),s("option",{value:"",selected:true,disabled:!C},y),x.map((i=>{if(i.children){return s("optgroup",{label:i.label},i.children.map((i=>s("option",{value:i.value,disabled:i.disabled,selected:i.value===B},i.label))))}else{return s("option",{value:i.value,disabled:i.disabled,selected:i.value===B},i.label)}}))):z?s("div",{class:"searchable-select-container"},s("input",{class:"select-input",role:"combobox",autocomplete:"off","aria-label":r,"aria-describedby":O,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":j,"aria-required":L?"true":"false","aria-controls":c,ref:i=>this.searchableSelectElement=i,id:this.inputId,value:this.searchableSelectInputValue,placeholder:y,disabled:h,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur}),this.searchableSelectInputValue&&(C||z)&&s("div",{class:"clear-button-container"},s("ic-button",{id:"clear-button",ref:i=>this.clearButton=i,"aria-label":this.searchableSelectInputValue&&B===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:w,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:a?"small":"default",variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}),s("div",{class:"divider"})),s("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(B==null||B==="")},innerHTML:g,"aria-hidden":"true"}),s("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):s("div",{class:"select-container"},s("button",{class:"select-input",ref:i=>this.customSelectElement=i,id:this.inputId,"aria-label":`${r}, ${this.getLabelFromValue(B)||y}${L?", required":""}`,"aria-describedby":O,"aria-invalid":j,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":c,"aria-controls":c,disabled:h,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},s("ic-typography",{variant:"body",class:{"value-text":true,placeholder:this.getLabelFromValue(B)===undefined}},s("p",null,this.getLabelFromValue(B)||y)),s("div",{class:"select-input-end"},B&&C&&s("div",{class:"divider"}),s("span",{class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(B==null||B==="")},innerHTML:g,"aria-hidden":"true"}))),B&&C&&s("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:w,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:a?"small":"default",variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}))),!f()&&s("ic-menu",{class:{"no-results":this.noOptions!==null||T},ref:i=>this.menu=i,inputEl:z?this.searchableSelectElement:this.customSelectElement,inputLabel:r,anchorEl:this.anchorEl,small:a,menuId:c,open:this.open,options:z?this.filteredOptions:x,value:B,fullWidth:n,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.host,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable?"manual":"automatic"}),p(this.validationStatus,this.disabled)&&s("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:M,message:H,for:this.inputId})))}static get delegatesFocus(){return true}get host(){return a(this)}static get watchers(){return{loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"]}}};k.style=x;export{k as ic_select};
2
- //# sourceMappingURL=p-56fe91ad.entry.js.map
1
+ import{r as i,c as t,h as s,H as e,g as a}from"./p-589f6dd3.js";import{x as h,w as n,m as o,d as l,a as r,r as c,e as d,h as u,j as p,y as f,n as b}from"./p-471820e6.js";import{I as v,a as m}from"./p-6f57b13c.js";const g=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const w=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const x='/*! 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{position:relative}:host(.full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;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>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);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>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.searchable) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.disabled) .expand-icon,:host(.disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.searchable) .expand-icon{padding-left:var(--ic-space-xxs);height:2.25rem}:host(.searchable) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host(.searchable:not(.disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host(.searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.disabled) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:2.375rem}:host(.small) .clear-button-container{padding-left:1.875rem}.divider{width:var(--ic-space-1px);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.small) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:2.75rem;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}';let y=0;const k=class{constructor(s){i(this,s);this.icChange=t(this,"icChange",7);this.icClear=t(this,"icClear",7);this.icFocus=t(this,"icFocus",7);this.icBlur=t(this,"icBlur",7);this.icOptionSelect=t(this,"icOptionSelect",7);this.icInput=t(this,"icInput",7);this.icRetryLoad=t(this,"icRetryLoad",7);this.inputId=`ic-select-input-${y++}`;this.menuId=`${this.inputId}-menu`;this.ungroupedOptions=[];this.inheritedAttributes={};this.hasSetDefaultValue=false;this.initialOptionsEmpty=false;this.handleRetry=i=>{var t;if(i.detail.keyPressed)(t=this.searchableSelectElement)===null||t===void 0?void 0:t.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=i=>{if(!this.searchable){this.value=i}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=i=>{this.value=i;clearTimeout(this.debounceIcChange);this.icChange.emit({value:i})};this.isMenuEnabled=()=>this.searchableSelectInputValue!==null||this.searchableSelectInputValue!=="";this.setOptionsValuesFromLabels=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(!i.value){i.value=i.label}}))}};this.setUngroupedOptions=i=>{this.ungroupedOptions=i.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=i=>{if(this.open!==i){this.open=i}};this.getLabelFromValue=i=>h(i,this.options);this.getFilteredChildMenuOptions=i=>{let t=i.children;if(this.searchable){t=n(i.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{t=n(i.children,false,this.pressedCharacters,"start")}const s=Object.assign({},i);s.children=t;return s};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=i=>{if(this.searchable&&i.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=i.detail.value;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}this.ariaActiveDescendant=i.detail.optionId;this.icOptionSelect.emit({value:i.detail.value});this.emitIcChange(i.detail.value)};this.handleMenuChange=i=>{this.open=i.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=i=>{i.cancelBubble=true;this.handleCharacterKeyDown(i.detail.key)};this.handleFocusIndicatorDisplay=()=>{const i=this.host.shadowRoot.querySelector(".focus-indicator");if(this.open){i.classList.add("focus-indicator-enabled")}else{i.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=i=>{if(!this.open){i.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableFilter;this.handleClick=i=>{if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut&&!this.loading){this.noOptions=null;this.menu.options=this.options}}if(i.detail!==0&&this.isMenuEnabled()){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=i=>{if(!this.disabled){i.preventDefault();this.searchableSelectElement.focus();this.handleClick(i)}};this.handleClear=i=>{i.stopPropagation();this.hasTimedOut=false;this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.hiddenInputValue=null;this.searchableSelectElement.focus();if(!this.isMenuEnabled()){this.setMenuChange(false)}}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=i=>{if(this.open&&i===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(i.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);this.pressedCharacters+=i;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=i=>{i.cancelBubble=true;this.handleCharacterKeyDown(i.key)};this.handleKeyDown=i=>{i.cancelBubble=true;const t=i.key==="ArrowDown"||i.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(i.key==="Enter"||t)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.options}}}if(this.open&&i.key==="Enter"){this.setMenuChange(false)}else{if(!(t&&this.noOptions!==null)&&this.isMenuEnabled()){if(!(i.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(i)}this.handleCharacterKeyDown(i.key)}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=i=>{var t;const s=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");if(!(this.searchableSelectElement&&i.relatedTarget===this.searchableSelectElement)&&!(s&&i.relatedTarget===s)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{const i=this.searchable?[...this.options]:this.ungroupedOptions;let t=false;let s=[];i.map((i=>{if(i.children)t=true}));let e;if(this.searchable){e=n(i,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition)}else{e=n(i,false,this.pressedCharacters,"start")}if(!t){s=e}else{i.map((i=>{if(this.includeGroupTitlesInSearch){if(e.indexOf(i)!==-1){s.push(i)}else{s.push(this.getFilteredChildMenuOptions(i))}}else{s.push(this.getFilteredChildMenuOptions(i))}}))}let a=false;if(t){a=true;s.map((i=>{if(i.children.length>0){a=false}}))}const h=[{label:this.emptyOptionListText,value:""}];if(s.length>0&&!a){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=h;this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable)this.filteredOptions=this.noOptions;else if(!this.searchable&&this.options!==this.noOptions)this.options=this.noOptions;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.options=this.noOptions}),this.timeout)}};this.getValueFromLabel=i=>{var t;return(t=this.options.find((t=>t.label===i)))===null||t===void 0?void 0:t.value};this.handleSearchableSelectInput=i=>{this.searchableSelectInputValue=i.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;if(this.isMenuEnabled()){this.setMenuChange(true)}else{this.setMenuChange(false)}if(!this.disableFilter){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const i=this.host.shadowRoot.querySelector(".searchable-select-results-status");if(i){if(this.noOptions!==null){i.innerText=this.emptyOptionListText}else{i.innerText=""}}};this.getDefaultValue=i=>this.getLabelFromValue(i)||i||null;this.onFocus=()=>{this.icFocus.emit()};this.onBlur=i=>{var t;const s=i.relatedTarget;if(s!==null&&s.tagName==="UL"&&s.className.includes("menu")){return}const e=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");const a=this.searchable&&i.relatedTarget!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(i.relatedTarget)&&!(this.clearButton&&i.relatedTarget===this.clearButton)&&!(e&&i.relatedTarget===e);if(a){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=i=>{if(i.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.label=undefined;this.options=[];this.required=false;this.hideLabel=false;this.disabled=false;this.readonly=false;this.placeholder="Select an option";this.helperText="";this.small=false;this.fullWidth=false;this.validationStatus="";this.validationText="";this.value=undefined;this.debounce=0;this.name=this.inputId;this.showClearButton=false;this.searchable=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.searchMatchPosition="anywhere";this.charactersUntilSuggestions=0;this.emptyOptionListText="No results found";this.disableFilter=false;this.timeout=undefined;this.loadingLabel="Loading...";this.loadingErrorLabel="Loading Error";this.loading=false;this.open=false;this.clearButtonFocused=false;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.ariaActiveDescendant=undefined;this.noOptions=null;this.initialValue=this.value;this.currDebounce=this.debounce;this.currValue=this.value;this.debounceIcChange=undefined;this.pressedCharacters="";this.hiddenInputValue=undefined;this.inputValueToFilter=this.value}loadingHandler(i){i&&this.triggerLoading()}watchOptionsHandler(){if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(this.options.length>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.filteredOptions=this.options}else if(this.isMenuEnabled()){this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.filteredOptions=this.options;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable)this.options=this.noOptions}}debounceChangedHandler(i){this.updateOnChangeDebounce(i)}valueChangedHandler(){if(this.value!==this.currValue){this.currValue=this.value}if(this.searchable&&!!this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(i){if(this.currDebounce!==i){this.currDebounce=i}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}setDefaultValue(){if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}}componentWillLoad(){this.inheritedAttributes=o(this.host,[...b,"tabindex","title"]);this.setOptionsValuesFromLabels();l(this.host,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true}else{this.setDefaultValue()}}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Select");if(this.loading)this.triggerLoading();this.hiddenInputValue=this.searchable&&this.currValue}disconnectedCallback(){c(this.host,this.handleFormReset)}render(){var i,t;const{small:a,disabled:h,fullWidth:n,helperText:o,hideLabel:l,label:r,menuId:c,name:b,options:x,placeholder:y,readonly:k,required:L,searchable:z,showClearButton:C,validationStatus:M,validationText:H,currValue:B}=this;const T=((i=(z?this.filteredOptions:x)[0])===null||i===void 0?void 0:i.label)===this.loadingLabel||((t=(z?this.filteredOptions:x)[0])===null||t===void 0?void 0:t.label)===this.loadingErrorLabel;const D=this.searchable?this.hiddenInputValue:B;d(true,this.host,b,D,h);const j=M===m.Error?"true":"false";const O=u(this.inputId,o!=="",p(this.validationStatus,this.disabled)).trim();return s(e,{class:{disabled:h,searchable:z,small:a,"full-width":n},onBlur:this.onBlur},s("ic-input-container",{readonly:k},!l&&s("ic-input-label",{for:this.inputId,label:r,helperText:o,required:L,disabled:h,readonly:k}),s("ic-input-component-container",{ref:i=>this.anchorEl=i,class:{"menu-open":this.open},small:a,fullWidth:n,disabled:h,readonly:k,validationStatus:M},k?s("ic-typography",null,s("p",null,this.getLabelFromValue(B))):f()?s("select",Object.assign({ref:i=>this.nativeSelectElement=i,disabled:h,onChange:this.handleNativeSelectChange,required:L,id:this.inputId,"aria-label":r,"aria-describedby":O,"aria-invalid":j,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown},this.inheritedAttributes),s("option",{value:"",selected:true,disabled:!C},y),x.map((i=>{if(i.children){return s("optgroup",{label:i.label},i.children.map((i=>s("option",{value:i.value,disabled:i.disabled,selected:i.value===B},i.label))))}else{return s("option",{value:i.value,disabled:i.disabled,selected:i.value===B},i.label)}}))):z?s("div",{class:"searchable-select-container"},s("input",{class:"select-input",role:"combobox",autocomplete:"off","aria-label":r,"aria-describedby":O,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":j,"aria-required":L?"true":"false","aria-controls":c,ref:i=>this.searchableSelectElement=i,id:this.inputId,value:this.searchableSelectInputValue,placeholder:y,disabled:h,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur}),this.searchableSelectInputValue&&(C||z)&&s("div",{class:"clear-button-container"},s("ic-button",{id:"clear-button",ref:i=>this.clearButton=i,"aria-label":this.searchableSelectInputValue&&B===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:w,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:a?"small":"default",variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}),s("div",{class:"divider"})),s("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(B==null||B==="")},innerHTML:g,"aria-hidden":"true"}),s("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):s("div",{class:"select-container"},s("button",{class:"select-input",ref:i=>this.customSelectElement=i,id:this.inputId,"aria-label":`${r}, ${this.getLabelFromValue(B)||y}${L?", required":""}`,"aria-describedby":O,"aria-invalid":j,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":c,"aria-controls":c,disabled:h,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},s("ic-typography",{variant:"body",class:{"value-text":true,placeholder:this.getLabelFromValue(B)===undefined}},s("p",null,this.getLabelFromValue(B)||y)),s("div",{class:"select-input-end"},B&&C&&s("div",{class:"divider"}),s("span",{class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(B==null||B==="")},innerHTML:g,"aria-hidden":"true"}))),B&&C&&s("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:w,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:a?"small":"default",variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}))),!f()&&s("ic-menu",{class:{"no-results":this.noOptions!==null||T},ref:i=>this.menu=i,inputEl:z?this.searchableSelectElement:this.customSelectElement,inputLabel:r,anchorEl:this.anchorEl,small:a,menuId:c,open:this.open,options:z?this.filteredOptions:x,value:B,fullWidth:n,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.host,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable?"manual":"automatic"}),p(this.validationStatus,this.disabled)&&s("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:M,message:H,for:this.inputId})))}static get delegatesFocus(){return true}get host(){return a(this)}static get watchers(){return{loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"]}}};k.style=x;export{k as ic_select};
2
+ //# sourceMappingURL=p-0a11ec35.entry.js.map
@@ -0,0 +1 @@
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 select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input.\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 * If `true`, the built in filtering will be disabled 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 * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * If `true`, the loading state will be triggered 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 the clear button is clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when an option is highlighted within the menu.\n * Highlighting a menu item will also 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 for a searchable variant.\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 return this.options.find((option) => option.label === label)?.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 +1,2 @@
1
- import{r as e,c as t,h as i,H as o,g as s}from"./p-589f6dd3.js";import{a,h as n,j as r}from"./p-3dea2867.js";import"./p-6f57b13c.js";const l='/*! 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}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}';const c=class{constructor(i){e(this,i);this.icChange=t(this,"icChange",7);this.label=undefined;this.name=undefined;this.required=false;this.hideLabel=false;this.disabled=false;this.helperText="";this.small=false;this.validationStatus="";this.validationText=""}selectHandler(e){const t=Array.from(this.host.querySelectorAll("ic-checkbox")).filter((e=>e.checked&&!e.disabled));this.icChange.emit({value:t.map((e=>e.value)),checkedOptions:t.map((e=>{var t;return{checkbox:e,textFieldValue:(t=e.querySelector("ic-text-field"))===null||t===void 0?void 0:t.value}})),selectedOption:e.target})}componentDidLoad(){Array.from(this.host.querySelectorAll("ic-checkbox")).forEach((e=>{if(!e.name)e.name=this.name;e.groupLabel=this.label}));a([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Checkbox Group")}render(){const e=n(this.name,this.helperText!=="",this.validationStatus!=="");const t=r(this.validationStatus,this.disabled);return i(o,{class:{["small"]:this.small}},(this.validationStatus==="error"||this.required||this.hideLabel)&&i("span",{id:"screenReaderOnlyText",class:"screen-reader-only-text","aria-hidden":"true"},this.label," ",this.validationStatus==="error"?"invalid data ":null," ",this.required?"required":null),i("fieldset",{id:this.name,"aria-labelledby":`${this.validationStatus==="error"||this.required||this.hideLabel?"screenReaderOnlyText":""} ${e}`.trim(),disabled:this.disabled},!this.hideLabel&&i("legend",null,i("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled,for:this.name})),i("div",{class:"checkboxes-container"},i("slot",null))),t&&i("ic-input-validation",{for:this.name,ariaLiveMode:"polite",status:this.validationStatus,message:this.validationText}))}get host(){return s(this)}};c.style=l;export{c as ic_checkbox_group};
2
- //# sourceMappingURL=p-b61e76e2.entry.js.map
1
+ import{r as e,c as t,h as i,H as o,g as s}from"./p-589f6dd3.js";import{a,h as n,j as r}from"./p-471820e6.js";import"./p-6f57b13c.js";const l='/*! 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}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}';const c=class{constructor(i){e(this,i);this.icChange=t(this,"icChange",7);this.label=undefined;this.name=undefined;this.required=false;this.hideLabel=false;this.disabled=false;this.helperText="";this.small=false;this.validationStatus="";this.validationText=""}selectHandler(e){const t=Array.from(this.host.querySelectorAll("ic-checkbox")).filter((e=>e.checked&&!e.disabled));this.icChange.emit({value:t.map((e=>e.value)),checkedOptions:t.map((e=>{var t;return{checkbox:e,textFieldValue:(t=e.querySelector("ic-text-field"))===null||t===void 0?void 0:t.value}})),selectedOption:e.target})}componentDidLoad(){Array.from(this.host.querySelectorAll("ic-checkbox")).forEach((e=>{if(!e.name)e.name=this.name;e.groupLabel=this.label}));a([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Checkbox Group")}render(){const e=n(this.name,this.helperText!=="",this.validationStatus!=="");const t=r(this.validationStatus,this.disabled);return i(o,{class:{["small"]:this.small}},(this.validationStatus==="error"||this.required||this.hideLabel)&&i("span",{id:"screenReaderOnlyText",class:"screen-reader-only-text","aria-hidden":"true"},this.label," ",this.validationStatus==="error"?"invalid data ":null," ",this.required?"required":null),i("fieldset",{id:this.name,"aria-labelledby":`${this.validationStatus==="error"||this.required||this.hideLabel?"screenReaderOnlyText":""} ${e}`.trim(),disabled:this.disabled},!this.hideLabel&&i("legend",null,i("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled,for:this.name})),i("div",{class:"checkboxes-container"},i("slot",null))),t&&i("ic-input-validation",{for:this.name,ariaLiveMode:"polite",status:this.validationStatus,message:this.validationText}))}get host(){return s(this)}};c.style=l;export{c as ic_checkbox_group};
2
+ //# sourceMappingURL=p-0f153569.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,H as i,g as n}from"./p-589f6dd3.js";import{O as o}from"./p-8d4f7027.js";import{b as r,m as a,n as s}from"./p-3dea2867.js";import{I as l}from"./p-6f57b13c.js";const c='/*! 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(.link) .ic-link,:host(.link) ::slotted(a){color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}:host(.link.dark) .ic-link.dark,:host(.link.dark) ::slotted(a){color:var(--ic-color-primary-text)}:host(.link.light) .ic-link.light,:host(.link.light) ::slotted(a){color:var(--ic-color-white-text)}:host(.link) .ic-link:visited,:host(.link) ::slotted(a:visited){color:var(--ic-hyperlink-visited)}:host(.link) .ic-link:hover,:host(.link) .ic-link:focus,:host(.link) ::slotted(a:hover),:host(.link) ::slotted(a:focus){outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-decoration-thickness: 25%){:host(.link) .ic-link:hover,:host(.link) .ic-link:focus,:host(.link) ::slotted(a:hover),:host(.link) ::slotted(a:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}:host(.link) .ic-link:active,:host(.link) .ic-link:focus:active,:host(.link) .ic-link:visited:active,:host(.link) ::slotted(a:active),:host(.link) ::slotted(a:focus:active),:host(.link) ::slotted(a:visited:active){text-decoration:none}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink)}.ic-link.dark>.ic-link-open-in-new-icon{fill:var(--ic-color-primary-text)}.ic-link.light>.ic-link-open-in-new-icon{fill:var(--ic-color-white-text)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-primary-text)}';const d=class{constructor(e){t(this,e);this.inheritedAttributes={};this.download=false;this.href=null;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined;this.showIcon=undefined;this.appearance="default"}themeChangeHandler(t){const e=t.detail;this.updateTheme(e.mode)}updateTheme(t=null){const e=r(this.el,t||null);switch(e){case l.Light:this.appearance=l.Light;break;case l.Dark:this.appearance=l.Dark;break}}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}}componentWillLoad(){this.inheritedAttributes=a(this.el,[...s,"aria-expanded"]);this.updateTheme()}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');if(this.routerSlot){this.routerSlot.ariaLabel=this.routerSlot.textContent}return!!this.routerSlot}render(){const{download:t,href:n,hreflang:r,referrerpolicy:a,rel:s,target:l,showIcon:c,appearance:d}=this;return e(i,{class:{["link"]:true,[`${d}`]:true}},this.hasRouterSlot()?e("slot",{name:"router-item"}):e("a",Object.assign({class:{["ic-link"]:n!==null,[`${d}`]:n!==null},download:t!==false?t:null,href:n,hrefLang:r,referrerPolicy:a,rel:s,target:l,tabindex:n!==null?"0":"-1"},this.inheritedAttributes),e("slot",null),(c||l==="_blank")&&e("span",{class:"ic-link-open-in-new-icon",innerHTML:o})))}static get delegatesFocus(){return true}get el(){return n(this)}};d.style=c;export{d as ic_link};
2
- //# sourceMappingURL=p-3fb307e6.entry.js.map
1
+ import{r as t,h as e,H as i,g as n}from"./p-589f6dd3.js";import{O as o}from"./p-8d4f7027.js";import{b as r,m as s,n as a}from"./p-471820e6.js";import{I as l}from"./p-6f57b13c.js";const c='/*! 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(.link) .ic-link,:host(.link) ::slotted(a){color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}:host(.link.dark) .ic-link.dark,:host(.link.dark) ::slotted(a){color:var(--ic-color-primary-text)}:host(.link.light) .ic-link.light,:host(.link.light) ::slotted(a){color:var(--ic-color-white-text)}:host(.link) .ic-link:visited,:host(.link) ::slotted(a:visited){color:var(--ic-hyperlink-visited)}:host(.link) .ic-link:hover,:host(.link) .ic-link:focus,:host(.link) ::slotted(a:hover),:host(.link) ::slotted(a:focus){outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-decoration-thickness: 25%){:host(.link) .ic-link:hover,:host(.link) .ic-link:focus,:host(.link) ::slotted(a:hover),:host(.link) ::slotted(a:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}:host(.link) .ic-link:active,:host(.link) .ic-link:focus:active,:host(.link) .ic-link:visited:active,:host(.link) ::slotted(a:active),:host(.link) ::slotted(a:focus:active),:host(.link) ::slotted(a:visited:active){text-decoration:none}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink)}.ic-link.dark>.ic-link-open-in-new-icon{fill:var(--ic-color-primary-text)}.ic-link.light>.ic-link-open-in-new-icon{fill:var(--ic-color-white-text)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-primary-text)}';const d=class{constructor(e){t(this,e);this.inheritedAttributes={};this.download=false;this.href=null;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined;this.showIcon=undefined;this.appearance="default"}themeChangeHandler(t){const e=t.detail;this.updateTheme(e.mode)}updateTheme(t=null){const e=r(this.el,t||null);switch(e){case l.Light:this.appearance=l.Light;break;case l.Dark:this.appearance=l.Dark;break}}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}}componentWillLoad(){this.inheritedAttributes=s(this.el,[...a,"aria-expanded"]);this.updateTheme()}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');if(this.routerSlot){this.routerSlot.ariaLabel=this.routerSlot.textContent}return!!this.routerSlot}render(){const{download:t,href:n,hreflang:r,referrerpolicy:s,rel:a,target:l,showIcon:c,appearance:d}=this;return e(i,{class:{["link"]:true,[`${d}`]:true}},this.hasRouterSlot()?e("slot",{name:"router-item"}):e("a",Object.assign({class:{["ic-link"]:n!==null,[`${d}`]:n!==null},download:t!==false?t:null,href:n,hrefLang:r,referrerPolicy:s,rel:a,target:l,tabindex:n!==null?"0":"-1"},this.inheritedAttributes),e("slot",null),(c||l==="_blank")&&e("span",{class:"ic-link-open-in-new-icon",innerHTML:o})))}static get delegatesFocus(){return true}get el(){return n(this)}};d.style=c;export{d as ic_link};
2
+ //# sourceMappingURL=p-1585e5c1.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,H as e,g as o}from"./p-589f6dd3.js";import{c as a}from"./p-471820e6.js";import"./p-6f57b13c.js";const s='/*! 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;position:relative}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1)}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);overflow:hidden}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-primary-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:var(--ic-space-xxs) solid !important;margin-bottom:calc(-1 * var(--ic-space-xxs)) !important;text-decoration:none;cursor:pointer}@supports (text-decoration-thickness: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const r=class{constructor(i){t(this,i);this.resizeObserver=null;this.lastWidth=0;this.lastMarkerTop=0;this.truncatedHeight=0;this.focusBtnFromKeyboard=true;this.toggleExpanded=()=>{this.expanded=!this.expanded};this.checkMaxLines=t=>{const i=Math.floor(t/24);if(i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false};this.variant="body";this.applyVerticalMargins=false;this.maxLines=undefined;this.expanded=false;this.truncated=false;this.truncButtonFocussed=false}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}componentDidLoad(){if(this.variant==="body"&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);a(this.runResizeObserver)}}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}render(){const{variant:t,applyVerticalMargins:o,maxLines:a,truncated:s,expanded:r}=this;return i(e,{class:{[`ic-typography-${t}`]:true,[`ic-typography-vertical-margins-${t}`]:o}},t==="body"&&a>0?i("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},i("slot",null)):i("slot",null),t==="body"&&a>0&&s&&i("button",{class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded,"aria-hidden":"true"},r?"See less":"See more"))}get el(){return o(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};r.style=s;export{r as ic_typography};
2
+ //# sourceMappingURL=p-29ea6f88.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"names":["icTypographyCss","Typography","this","resizeObserver","lastWidth","lastMarkerTop","truncatedHeight","focusBtnFromKeyboard","toggleExpanded","expanded","checkMaxLines","height","numLines","Math","floor","maxLines","el","setAttribute","clientHeight","truncated","checkMarkerPosition","elTop","markerTop","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","[object Object]","variant","document","createElement","style","visibility","appendChild","checkResizeObserver","disconnect","applyVerticalMargins","h","Host","class","ref","trunc-btn","focus","onFocus","onBlur","onMouseDown","onClick","aria-hidden"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1);\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: var(--ic-space-xxs) solid !important;\n margin-bottom: calc(-1 * var(--ic-space-xxs)) !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n@supports (text-decoration-thickness: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch } from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n @Element() el: HTMLIcTypographyElement;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop() maxLines?: number;\n\n @State() expanded: boolean = false;\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n private truncWrapperEl: Element;\n private resizeObserver: ResizeObserver = null;\n\n private resizeInterval: number;\n private lastWidth: number = 0;\n private lastMarkerTop: number = 0;\n private truncatedHeight: number = 0;\n private marker: HTMLElement;\n private focusBtnFromKeyboard: boolean = true;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n };\n\n private checkMaxLines = (height: number) => {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n };\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n componentDidLoad(): void {\n if (this.variant === \"body\" && this.maxLines > 0) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const { variant, applyVerticalMargins, maxLines, truncated, expanded } =\n this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n }}\n >\n {variant === \"body\" && maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n aria-hidden=\"true\"\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i,g as h}from"./p-589f6dd3.js";import{I as e}from"./p-6f57b13c.js";const a=class{constructor(i){t(this,i);this.tabSelect=s(this,"tabSelect",3);this.icTabSelect=s(this,"icTabSelect",3);this.newTabs=[];this.newTabPanels=[];this.linkTabs=()=>{this.tabs.forEach(((t,s)=>{const i=`ic-tab-${s}-context-${this.contextId}`;const h=`ic-tab-panel-${s}-context-${this.contextId}`;const a=`ic-tab--${s}-context-${this.contextId}`;const c="context-id";t.setAttribute("id",i);t.tabId=a;t.tabPosition=s;t.setAttribute("aria-controls",h);t.setAttribute(c,this.contextId);this.tabGroup.setAttribute(c,this.contextId);this.tabPanels[s].setAttribute("id",h);this.tabPanels[s].panelId=a;this.tabPanels[s].tabPosition=s;this.tabPanels[s].setAttribute("aria-labelledby",i);this.tabPanels[s].setAttribute(c,this.contextId);if(this.appearance===e.Light){t.appearance=this.appearance;this.tabPanels[s].appearance=this.appearance}}));if(this.appearance===e.Light){this.tabGroup.appearance=this.appearance}};this.getChildren=()=>{this.tabGroup=this.host.querySelector("ic-tab-group");this.tabs=Array.from(this.tabGroup.querySelectorAll("ic-tab"));this.tabPanels=Array.from(this.host.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.attatchEventListeners=()=>{if(this.activationType==="automatic"){this.tabGroup.addEventListener("keydown",(t=>{this.handleKeyBoardNavAutomatic(t)}))}else{this.tabGroup.addEventListener("keydown",(t=>{this.handleKeyBoardNavManual(t)}))}};this.setControlledMode=()=>{if(this.selectedTabIndex!==undefined){this.controlledMode=true;this.selectedTab=this.selectedTabIndex}};this.setInitialTab=()=>{if(this.controlledMode){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach((t=>{t.selectedTab=this.tabs[this.selectedTab].tabId}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.getIndexOfEnabledTab=t=>this.enabledTabs.findIndex((s=>s.tabId===this.tabs[t].tabId));this.keyboardSelectTab=t=>{const s=this.tabs.findIndex((s=>s.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(!this.controlledMode){this.selectedTab=s}else{this.icTabSelect.emit({tabIndex:s});this.tabSelect.emit({tabIndex:s})}};this.keyboardFocusTab=t=>{const s=this.tabs.findIndex((s=>s.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();this.focusedTabIndex=s};this.handleKeyBoardNavAutomatic=t=>{const s=t.key;const i=this.getIndexOfEnabledTab(this.selectedTab);let h=true;switch(s){case"Home":this.keyboardSelectTab(0);break;case"End":this.keyboardSelectTab(this.enabledTabs.length-1);break;case"ArrowRight":if(i<this.enabledTabs.length-1){this.keyboardSelectTab(i+1)}else{this.keyboardSelectTab(0)}break;case"ArrowLeft":if(i>0){this.keyboardSelectTab(i-1)}else{this.keyboardSelectTab(this.enabledTabs.length-1)}break;default:h=false}if(h)t.preventDefault()};this.handleKeyBoardNavManual=t=>{const s=t.key;const i=this.getIndexOfEnabledTab(this.focusedTabIndex);let h=true;switch(s){case"Home":this.keyboardFocusTab(0);break;case"End":this.keyboardFocusTab(this.enabledTabs.length-1);break;case"ArrowRight":if(i<this.enabledTabs.length-1){this.keyboardFocusTab(i+1)}else{this.keyboardFocusTab(0)}break;case"ArrowLeft":if(i>0){this.keyboardFocusTab(i-1)}else{this.keyboardFocusTab(this.enabledTabs.length-1)}break;case"Enter":this.keyboardSelectTab(this.focusedTabIndex);break;case" ":this.keyboardSelectTab(this.focusedTabIndex);break;default:h=false}if(h)t.preventDefault()};this.contextId="default";this.activationType="automatic";this.selectedTabIndex=undefined;this.appearance="dark";this.selectedTab=undefined}updateSelectedTab(t){this.selectedTab=t}tabClickHandler(t){if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position});this.tabSelect.emit({tabIndex:t.detail.position});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();this.newTabs=[];this.newTabPanels=[]}}}async tabRemovedHandler(t){this.getChildren();this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true;this.tabPanels[this.selectedTab].selectedTab=this.tabs[this.selectedTab].tabId}else{this.setInitialTab()}if(t){this.tabs[this.selectedTab].setFocus()}}componentDidLoad(){this.setControlledMode();this.getChildren();this.linkTabs();this.attatchEventListeners();this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){if(this.activationType==="manual"){this.tabGroup.removeEventListener("keydown",(t=>this.handleKeyBoardNavManual(t)))}else{this.tabGroup.removeEventListener("keydown",(t=>this.handleKeyBoardNavAutomatic(t)))}}render(){return i("slot",null)}get host(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"]}}};export{a as ic_tab_context};
2
+ //# sourceMappingURL=p-2e63f202.entry.js.map