@ukic/web-components 2.2.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (748) hide show
  1. package/dist/cjs/{OpenInNew-f9958725.js → OpenInNew-d5d30e77.js} +1 -1
  2. package/dist/cjs/OpenInNew-d5d30e77.js.map +1 -0
  3. package/dist/cjs/{check-icon-b2f60716.js → check-icon-7225d79b.js} +1 -1
  4. package/dist/cjs/check-icon-7225d79b.js.map +1 -0
  5. package/dist/cjs/{chevron-icon-2bb3a907.js → chevron-icon-3bf07531.js} +1 -1
  6. package/dist/cjs/chevron-icon-3bf07531.js.map +1 -0
  7. package/dist/cjs/{close-icon-8ccb0163.js → close-icon-7f6ef8e4.js} +2 -2
  8. package/dist/cjs/close-icon-7f6ef8e4.js.map +1 -0
  9. package/dist/cjs/core.cjs.js +3 -6
  10. package/dist/cjs/core.cjs.js.map +1 -1
  11. package/dist/cjs/{helpers-eb53c416.js → helpers-d166f875.js} +43 -21
  12. package/dist/cjs/helpers-d166f875.js.map +1 -0
  13. package/dist/cjs/ic-alert.cjs.entry.js +5 -5
  14. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
  16. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +4 -4
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +131 -41
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card.cjs.entry.js +4 -4
  24. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -4
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox.cjs.entry.js +11 -5
  28. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  30. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  36. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +5 -5
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  40. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-empty-state.cjs.entry.js +37 -0
  42. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +3 -3
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
  46. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer.cjs.entry.js +7 -4
  48. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +43 -37
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-input-label_2.cjs.entry.js +4 -4
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-link.cjs.entry.js +4 -4
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +5 -5
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -5
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +33 -15
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +8 -9
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -3
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -3
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +68 -16
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +3 -3
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +3 -3
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +38 -21
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-select.cjs.entry.js +71 -17
  88. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +18 -9
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -4
  94. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  98. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  100. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  102. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  104. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  106. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  108. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-text-field.cjs.entry.js +3 -3
  110. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  112. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  114. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  116. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-typography.cjs.entry.js +13 -5
  120. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  121. package/dist/cjs/{index-2a0c6769.js → index-54d2bed9.js} +102 -26
  122. package/dist/cjs/index-54d2bed9.js.map +1 -0
  123. package/dist/cjs/loader.cjs.js +3 -12
  124. package/dist/cjs/loader.cjs.js.map +1 -1
  125. package/dist/cjs/{popper-d7adcfc6.js → popper-31badbf8.js} +1 -1
  126. package/dist/cjs/popper-31badbf8.js.map +1 -0
  127. package/dist/cjs/{types-3eb02246.js → types-7d67439f.js} +1 -1
  128. package/dist/cjs/types-7d67439f.js.map +1 -0
  129. package/dist/collection/assets/close-icon.svg +1 -1
  130. package/dist/collection/assets/error-icon.svg +3 -2
  131. package/dist/collection/assets/hamburger-menu-icon.svg +1 -1
  132. package/dist/collection/assets/info-icon.svg +3 -2
  133. package/dist/collection/assets/neutral-icon.svg +4 -3
  134. package/dist/collection/assets/success-icon.svg +3 -2
  135. package/dist/collection/assets/warning-icon.svg +3 -2
  136. package/dist/collection/collection-manifest.json +61 -60
  137. package/dist/collection/components/ic-alert/ic-alert.css +9 -9
  138. package/dist/collection/components/ic-alert/ic-alert.js +3 -2
  139. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  140. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +5 -1
  141. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  142. package/dist/collection/components/ic-button/ic-button.css +19 -3
  143. package/dist/collection/components/ic-button/ic-button.js +40 -15
  144. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  145. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  146. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +17 -2
  147. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  148. package/dist/collection/components/ic-card/ic-card.js +4 -2
  149. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  150. package/dist/collection/components/ic-checkbox/ic-checkbox.css +34 -0
  151. package/dist/collection/components/ic-checkbox/ic-checkbox.js +41 -6
  152. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  153. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +35 -5
  154. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  155. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +28 -0
  156. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  157. package/dist/collection/components/ic-chip/ic-chip.js +8 -5
  158. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  159. package/dist/collection/components/ic-chip/ic-chip.types.js.map +1 -1
  160. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -1
  161. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  162. package/dist/collection/components/ic-dialog/ic-dialog.js +14 -5
  163. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  164. package/dist/collection/components/ic-empty-state/ic-empty-state.css +49 -0
  165. package/dist/collection/components/ic-empty-state/ic-empty-state.js +160 -0
  166. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -0
  167. package/dist/collection/components/ic-empty-state/ic-empty-state.types.js +2 -0
  168. package/dist/collection/components/ic-empty-state/ic-empty-state.types.js.map +1 -0
  169. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +38 -0
  170. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -0
  171. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +86 -0
  172. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  173. package/dist/collection/components/ic-footer/ic-footer.js +8 -3
  174. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  175. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -1
  176. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  177. package/dist/collection/components/ic-hero/ic-hero.js +4 -2
  178. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  179. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +4 -2
  180. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  181. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +2 -1
  182. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  183. package/dist/collection/components/ic-input-validation/ic-input-validation.css +1 -1
  184. package/dist/collection/components/ic-input-validation/ic-input-validation.js +4 -2
  185. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  186. package/dist/collection/components/ic-link/ic-link.js +6 -3
  187. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  188. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -3
  189. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  190. package/dist/collection/components/ic-menu/ic-menu.css +17 -0
  191. package/dist/collection/components/ic-menu/ic-menu.js +107 -48
  192. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  193. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +13 -2
  194. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  195. package/dist/collection/components/ic-menu-item/ic-menu-item.js +4 -2
  196. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  197. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +1 -0
  198. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +5 -3
  199. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  200. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +1 -1
  201. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  202. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +6 -2
  203. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +30 -11
  204. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  205. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  206. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  207. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +4 -1
  208. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +6 -5
  209. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  210. package/dist/collection/components/ic-page-header/ic-page-header.js +2 -1
  211. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  212. package/dist/collection/components/ic-pagination/ic-pagination.js +8 -4
  213. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  214. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +4 -2
  215. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  216. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +12 -0
  217. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +69 -14
  218. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  219. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +14 -0
  220. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  221. package/dist/collection/components/ic-radio-group/ic-radio-group.js +6 -3
  222. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  223. package/dist/collection/components/ic-radio-option/ic-radio-option.js +8 -4
  224. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  225. package/dist/collection/components/ic-search-bar/ic-search-bar.js +103 -34
  226. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  227. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +19 -0
  228. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  229. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -1
  230. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  231. package/dist/collection/components/ic-select/ic-select.js +85 -22
  232. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  233. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +30 -0
  234. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  235. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +51 -3
  236. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  237. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +4 -0
  238. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +30 -3
  239. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  240. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +20 -0
  241. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  242. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -1
  243. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  244. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  245. package/dist/collection/components/ic-status-tag/ic-status-tag.js +4 -2
  246. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  247. package/dist/collection/components/ic-step/ic-step.js +8 -4
  248. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  249. package/dist/collection/components/ic-stepper/ic-stepper.js +4 -2
  250. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  251. package/dist/collection/components/ic-switch/ic-switch.css +1 -1
  252. package/dist/collection/components/ic-switch/ic-switch.js +4 -2
  253. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  254. package/dist/collection/components/ic-tab/ic-tab.js +10 -5
  255. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  256. package/dist/collection/components/ic-tab-context/ic-tab-context.js +10 -5
  257. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  258. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -1
  259. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  260. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -2
  261. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  262. package/dist/collection/components/ic-text-field/ic-text-field.js +26 -13
  263. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  264. package/dist/collection/components/ic-theme/ic-theme.js +2 -1
  265. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  266. package/dist/collection/components/ic-toast/ic-toast.css +2 -2
  267. package/dist/collection/components/ic-toast/ic-toast.js +8 -4
  268. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  269. package/dist/collection/components/ic-toast-region/ic-toast-region.js +4 -2
  270. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  271. package/dist/collection/components/ic-tooltip/ic-tooltip.css +9 -0
  272. package/dist/collection/components/ic-tooltip/ic-tooltip.js +112 -35
  273. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  274. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +2 -0
  275. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  276. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +160 -1
  277. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  278. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +3 -2
  279. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  280. package/dist/collection/components/ic-typography/ic-typography.css +21 -1
  281. package/dist/collection/components/ic-typography/ic-typography.js +83 -2
  282. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  283. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +28 -0
  284. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  285. package/dist/collection/utils/helpers.js +25 -8
  286. package/dist/collection/utils/helpers.js.map +1 -1
  287. package/dist/collection/utils/types.js.map +1 -1
  288. package/dist/components/close-icon.js +1 -1
  289. package/dist/components/helpers.js +41 -19
  290. package/dist/components/helpers.js.map +1 -1
  291. package/dist/components/ic-alert2.js +1 -1
  292. package/dist/components/ic-alert2.js.map +1 -1
  293. package/dist/components/ic-back-to-top.js.map +1 -1
  294. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  295. package/dist/components/ic-breadcrumb2.js.map +1 -1
  296. package/dist/components/ic-button2.js +20 -5
  297. package/dist/components/ic-button2.js.map +1 -1
  298. package/dist/components/ic-card.js.map +1 -1
  299. package/dist/components/ic-checkbox-group.js +3 -1
  300. package/dist/components/ic-checkbox-group.js.map +1 -1
  301. package/dist/components/ic-checkbox.js +9 -2
  302. package/dist/components/ic-checkbox.js.map +1 -1
  303. package/dist/components/ic-chip.js.map +1 -1
  304. package/dist/components/ic-classification-banner.js.map +1 -1
  305. package/dist/components/ic-data-entity.js.map +1 -1
  306. package/dist/components/ic-data-row.js.map +1 -1
  307. package/dist/components/ic-dialog.js +1 -1
  308. package/dist/components/ic-dialog.js.map +1 -1
  309. package/dist/components/ic-divider2.js.map +1 -1
  310. package/dist/components/ic-empty-state.d.ts +11 -0
  311. package/dist/components/ic-empty-state.js +63 -0
  312. package/dist/components/ic-empty-state.js.map +1 -0
  313. package/dist/components/ic-footer-link-group.js.map +1 -1
  314. package/dist/components/ic-footer-link.js.map +1 -1
  315. package/dist/components/ic-footer.js +4 -1
  316. package/dist/components/ic-footer.js.map +1 -1
  317. package/dist/components/ic-hero.js.map +1 -1
  318. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  319. package/dist/components/ic-input-component-container2.js.map +1 -1
  320. package/dist/components/ic-input-container2.js.map +1 -1
  321. package/dist/components/ic-input-label2.js.map +1 -1
  322. package/dist/components/ic-input-validation2.js +1 -1
  323. package/dist/components/ic-input-validation2.js.map +1 -1
  324. package/dist/components/ic-link2.js.map +1 -1
  325. package/dist/components/ic-loading-indicator2.js.map +1 -1
  326. package/dist/components/ic-menu-group.js.map +1 -1
  327. package/dist/components/ic-menu-item2.js.map +1 -1
  328. package/dist/components/ic-menu2.js +40 -32
  329. package/dist/components/ic-menu2.js.map +1 -1
  330. package/dist/components/ic-navigation-button.js +2 -2
  331. package/dist/components/ic-navigation-button.js.map +1 -1
  332. package/dist/components/ic-navigation-group.js +29 -11
  333. package/dist/components/ic-navigation-group.js.map +1 -1
  334. package/dist/components/ic-navigation-item.js +3 -4
  335. package/dist/components/ic-navigation-item.js.map +1 -1
  336. package/dist/components/ic-navigation-menu2.js.map +1 -1
  337. package/dist/components/ic-page-header.js.map +1 -1
  338. package/dist/components/ic-pagination-item2.js.map +1 -1
  339. package/dist/components/ic-pagination.js.map +1 -1
  340. package/dist/components/ic-popover-menu.js +64 -12
  341. package/dist/components/ic-popover-menu.js.map +1 -1
  342. package/dist/components/ic-radio-group.js.map +1 -1
  343. package/dist/components/ic-radio-option.js.map +1 -1
  344. package/dist/components/ic-search-bar.js +37 -18
  345. package/dist/components/ic-search-bar.js.map +1 -1
  346. package/dist/components/ic-section-container2.js.map +1 -1
  347. package/dist/components/ic-select.js +69 -14
  348. package/dist/components/ic-select.js.map +1 -1
  349. package/dist/components/ic-side-navigation.js +15 -5
  350. package/dist/components/ic-side-navigation.js.map +1 -1
  351. package/dist/components/ic-skeleton.js.map +1 -1
  352. package/dist/components/ic-status-tag.js +1 -1
  353. package/dist/components/ic-status-tag.js.map +1 -1
  354. package/dist/components/ic-step.js.map +1 -1
  355. package/dist/components/ic-stepper.js.map +1 -1
  356. package/dist/components/ic-switch.js +1 -1
  357. package/dist/components/ic-switch.js.map +1 -1
  358. package/dist/components/ic-tab-context.js.map +1 -1
  359. package/dist/components/ic-tab-group.js.map +1 -1
  360. package/dist/components/ic-tab-panel.js.map +1 -1
  361. package/dist/components/ic-tab.js.map +1 -1
  362. package/dist/components/ic-text-field2.js.map +1 -1
  363. package/dist/components/ic-theme.js.map +1 -1
  364. package/dist/components/ic-toast-region.js.map +1 -1
  365. package/dist/components/ic-toast.js +1 -1
  366. package/dist/components/ic-toast.js.map +1 -1
  367. package/dist/components/ic-tooltip2.js +109 -34
  368. package/dist/components/ic-tooltip2.js.map +1 -1
  369. package/dist/components/ic-top-navigation.js +1 -1
  370. package/dist/components/ic-top-navigation.js.map +1 -1
  371. package/dist/components/ic-typography2.js +14 -2
  372. package/dist/components/ic-typography2.js.map +1 -1
  373. package/dist/components/index.d.ts +6 -0
  374. package/dist/components/index.js +1 -1
  375. package/dist/components/types.js.map +1 -1
  376. package/dist/core/core.css +26 -26
  377. package/dist/core/core.esm.js +1 -1
  378. package/dist/core/core.esm.js.map +1 -1
  379. package/dist/core/{p-7ae091ef.entry.js → p-0dcc76b1.entry.js} +2 -2
  380. package/dist/core/p-0dcc76b1.entry.js.map +1 -0
  381. package/dist/core/p-101bce17.entry.js +2 -0
  382. package/dist/core/p-101bce17.entry.js.map +1 -0
  383. package/dist/core/p-16e8bb5a.entry.js +2 -0
  384. package/dist/core/p-16e8bb5a.entry.js.map +1 -0
  385. package/dist/core/p-18068237.js +3 -0
  386. package/dist/core/p-18068237.js.map +1 -0
  387. package/dist/core/p-1c54269e.entry.js +2 -0
  388. package/dist/core/p-1c54269e.entry.js.map +1 -0
  389. package/dist/core/{p-8991f656.entry.js → p-27897d29.entry.js} +2 -2
  390. package/dist/core/p-27897d29.entry.js.map +1 -0
  391. package/dist/core/{p-27d42378.entry.js → p-27bf4783.entry.js} +2 -2
  392. package/dist/core/p-27bf4783.entry.js.map +1 -0
  393. package/dist/core/{p-7536dd31.entry.js → p-3297713b.entry.js} +2 -2
  394. package/dist/core/p-3297713b.entry.js.map +1 -0
  395. package/dist/core/{p-06321d19.js → p-3b185c32.js} +1 -1
  396. package/dist/core/{p-429e4d24.entry.js → p-3fc638fc.entry.js} +2 -2
  397. package/dist/core/p-3fc638fc.entry.js.map +1 -0
  398. package/dist/core/p-414ff132.entry.js +2 -0
  399. package/dist/core/p-414ff132.entry.js.map +1 -0
  400. package/dist/core/{p-8d4f7027.js → p-426ec638.js} +1 -1
  401. package/dist/core/{p-1b9b8355.entry.js → p-433cfd47.entry.js} +2 -2
  402. package/dist/core/p-433cfd47.entry.js.map +1 -0
  403. package/dist/core/{p-90d3a41b.entry.js → p-455bfed1.entry.js} +2 -2
  404. package/dist/core/p-455bfed1.entry.js.map +1 -0
  405. package/dist/core/{p-5c9c940f.entry.js → p-4c4261e7.entry.js} +2 -2
  406. package/dist/core/p-4c4261e7.entry.js.map +1 -0
  407. package/dist/core/{p-8c45ab61.entry.js → p-4f7c20b3.entry.js} +2 -2
  408. package/dist/core/p-4f7c20b3.entry.js.map +1 -0
  409. package/dist/core/p-521c8f40.entry.js +2 -0
  410. package/dist/core/p-521c8f40.entry.js.map +1 -0
  411. package/dist/core/{p-041604fc.entry.js → p-5b8be53f.entry.js} +2 -2
  412. package/dist/core/p-5b8be53f.entry.js.map +1 -0
  413. package/dist/core/{p-f923d11b.entry.js → p-5fcbcc3f.entry.js} +2 -2
  414. package/dist/core/p-5fcbcc3f.entry.js.map +1 -0
  415. package/dist/core/{p-3adb1167.entry.js → p-607e7bf2.entry.js} +2 -2
  416. package/dist/core/p-607e7bf2.entry.js.map +1 -0
  417. package/dist/core/{p-6f57b13c.js → p-613aa265.js} +1 -1
  418. package/dist/core/p-613aa265.js.map +1 -0
  419. package/dist/core/p-62499150.entry.js +2 -0
  420. package/dist/core/p-62499150.entry.js.map +1 -0
  421. package/dist/core/{p-cef93d12.entry.js → p-630ae754.entry.js} +2 -2
  422. package/dist/core/p-630ae754.entry.js.map +1 -0
  423. package/dist/core/{p-5c846d0a.entry.js → p-65df7222.entry.js} +2 -2
  424. package/dist/core/p-65df7222.entry.js.map +1 -0
  425. package/dist/core/{p-8ca80000.entry.js → p-6781620e.entry.js} +2 -2
  426. package/dist/core/p-6781620e.entry.js.map +1 -0
  427. package/dist/core/p-67c18f72.entry.js +2 -0
  428. package/dist/core/p-67c18f72.entry.js.map +1 -0
  429. package/dist/core/{p-7c0dcd00.js → p-68a5aaff.js} +1 -1
  430. package/dist/core/p-68a5aaff.js.map +1 -0
  431. package/dist/core/{p-95992c98.entry.js → p-68fda79a.entry.js} +2 -2
  432. package/dist/core/p-68fda79a.entry.js.map +1 -0
  433. package/dist/core/{p-892d9d9f.entry.js → p-7194c255.entry.js} +2 -2
  434. package/dist/core/p-7194c255.entry.js.map +1 -0
  435. package/dist/core/p-77266738.entry.js +2 -0
  436. package/dist/core/p-77266738.entry.js.map +1 -0
  437. package/dist/core/{p-d2215b72.entry.js → p-7be2b1fd.entry.js} +2 -2
  438. package/dist/core/p-7be2b1fd.entry.js.map +1 -0
  439. package/dist/core/p-831b0f3f.entry.js +2 -0
  440. package/dist/core/p-831b0f3f.entry.js.map +1 -0
  441. package/dist/core/{p-2ae7687a.entry.js → p-83e535de.entry.js} +2 -2
  442. package/dist/core/p-83e535de.entry.js.map +1 -0
  443. package/dist/core/{p-441e7d98.entry.js → p-85dd5e5b.entry.js} +2 -2
  444. package/dist/core/p-85dd5e5b.entry.js.map +1 -0
  445. package/dist/core/{p-ce791694.entry.js → p-87149cbd.entry.js} +2 -2
  446. package/dist/core/p-87149cbd.entry.js.map +1 -0
  447. package/dist/core/{p-9e551fe9.entry.js → p-8e6169e0.entry.js} +2 -2
  448. package/dist/core/p-8e6169e0.entry.js.map +1 -0
  449. package/dist/core/{p-ca6d834e.entry.js → p-9248228e.entry.js} +2 -2
  450. package/dist/core/p-9248228e.entry.js.map +1 -0
  451. package/dist/core/{p-f665242d.entry.js → p-932a67ca.entry.js} +2 -2
  452. package/dist/core/p-932a67ca.entry.js.map +1 -0
  453. package/dist/core/p-937ecd5b.entry.js +2 -0
  454. package/dist/core/p-937ecd5b.entry.js.map +1 -0
  455. package/dist/core/{p-5144e840.entry.js → p-94903a21.entry.js} +2 -2
  456. package/dist/core/p-94903a21.entry.js.map +1 -0
  457. package/dist/core/p-96022913.entry.js +2 -0
  458. package/dist/core/p-96022913.entry.js.map +1 -0
  459. package/dist/core/{p-65750560.entry.js → p-9650e00e.entry.js} +2 -2
  460. package/dist/core/p-9650e00e.entry.js.map +1 -0
  461. package/dist/core/{p-a8b94619.entry.js → p-99741b0f.entry.js} +2 -2
  462. package/dist/core/p-99741b0f.entry.js.map +1 -0
  463. package/dist/core/{p-1959ec8d.entry.js → p-a0a02a13.entry.js} +2 -2
  464. package/dist/core/p-a0a02a13.entry.js.map +1 -0
  465. package/dist/core/{p-cbbf4b05.entry.js → p-a421d3a1.entry.js} +2 -2
  466. package/dist/core/p-a421d3a1.entry.js.map +1 -0
  467. package/dist/core/{p-c012b867.entry.js → p-b0b1de0e.entry.js} +2 -2
  468. package/dist/core/p-b0b1de0e.entry.js.map +1 -0
  469. package/dist/core/p-b82776d0.entry.js +2 -0
  470. package/dist/core/p-b82776d0.entry.js.map +1 -0
  471. package/dist/core/{p-6840589f.entry.js → p-c1859843.entry.js} +2 -2
  472. package/dist/core/p-c1859843.entry.js.map +1 -0
  473. package/dist/core/{p-8c7f4343.js → p-c2e091d7.js} +1 -1
  474. package/dist/core/{p-332690f0.entry.js → p-c31e6dbb.entry.js} +2 -2
  475. package/dist/core/p-c31e6dbb.entry.js.map +1 -0
  476. package/dist/core/{p-96bcd466.entry.js → p-c390fbad.entry.js} +2 -2
  477. package/dist/core/p-c390fbad.entry.js.map +1 -0
  478. package/dist/core/p-cb2c18de.entry.js +2 -0
  479. package/dist/core/p-cb2c18de.entry.js.map +1 -0
  480. package/dist/core/{p-6bad30aa.entry.js → p-d16100e8.entry.js} +2 -2
  481. package/dist/core/p-d16100e8.entry.js.map +1 -0
  482. package/dist/core/{p-b698b8ad.entry.js → p-d20917ae.entry.js} +2 -2
  483. package/dist/core/p-d20917ae.entry.js.map +1 -0
  484. package/dist/core/{p-a29fe0c6.entry.js → p-d65ace31.entry.js} +2 -2
  485. package/dist/core/p-d65ace31.entry.js.map +1 -0
  486. package/dist/core/p-d78c90fe.entry.js +2 -0
  487. package/dist/core/p-d78c90fe.entry.js.map +1 -0
  488. package/dist/core/{p-adceb0cf.entry.js → p-e2d0039d.entry.js} +2 -2
  489. package/dist/core/p-e2d0039d.entry.js.map +1 -0
  490. package/dist/core/{p-a588886f.entry.js → p-e3923b67.entry.js} +2 -2
  491. package/dist/core/p-e3923b67.entry.js.map +1 -0
  492. package/dist/core/{p-f7695299.entry.js → p-ebd60291.entry.js} +2 -2
  493. package/dist/core/p-ebd60291.entry.js.map +1 -0
  494. package/dist/core/p-ebe76390.js +2 -0
  495. package/dist/core/p-ebe76390.js.map +1 -0
  496. package/dist/core/p-f074ef5b.js +2 -0
  497. package/dist/core/{p-ee11e185.entry.js → p-fedcfea3.entry.js} +2 -2
  498. package/dist/core/p-fedcfea3.entry.js.map +1 -0
  499. package/dist/esm/{OpenInNew-67a881e0.js → OpenInNew-cdeed5ce.js} +1 -1
  500. package/dist/esm/OpenInNew-cdeed5ce.js.map +1 -0
  501. package/dist/esm/{check-icon-abb210ec.js → check-icon-4a9f8371.js} +1 -1
  502. package/dist/esm/check-icon-4a9f8371.js.map +1 -0
  503. package/dist/esm/{chevron-icon-7927f709.js → chevron-icon-589e3b46.js} +1 -1
  504. package/dist/esm/chevron-icon-589e3b46.js.map +1 -0
  505. package/dist/esm/{close-icon-2f02b42a.js → close-icon-539ec8d1.js} +2 -2
  506. package/dist/esm/close-icon-539ec8d1.js.map +1 -0
  507. package/dist/esm/core.js +4 -7
  508. package/dist/esm/core.js.map +1 -1
  509. package/dist/esm/{helpers-85903813.js → helpers-b0e80358.js} +44 -22
  510. package/dist/esm/helpers-b0e80358.js.map +1 -0
  511. package/dist/esm/ic-alert.entry.js +5 -5
  512. package/dist/esm/ic-alert.entry.js.map +1 -1
  513. package/dist/esm/ic-back-to-top.entry.js +3 -3
  514. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  515. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  516. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  517. package/dist/esm/ic-breadcrumb.entry.js +4 -4
  518. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  519. package/dist/esm/ic-button_3.entry.js +131 -41
  520. package/dist/esm/ic-button_3.entry.js.map +1 -1
  521. package/dist/esm/ic-card.entry.js +4 -4
  522. package/dist/esm/ic-card.entry.js.map +1 -1
  523. package/dist/esm/ic-checkbox-group.entry.js +5 -4
  524. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  525. package/dist/esm/ic-checkbox.entry.js +11 -5
  526. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  527. package/dist/esm/ic-chip.entry.js +3 -3
  528. package/dist/esm/ic-chip.entry.js.map +1 -1
  529. package/dist/esm/ic-classification-banner.entry.js +1 -1
  530. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  531. package/dist/esm/ic-data-entity.entry.js +1 -1
  532. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  533. package/dist/esm/ic-data-row.entry.js +3 -3
  534. package/dist/esm/ic-data-row.entry.js.map +1 -1
  535. package/dist/esm/ic-dialog.entry.js +5 -5
  536. package/dist/esm/ic-dialog.entry.js.map +1 -1
  537. package/dist/esm/ic-divider.entry.js +3 -3
  538. package/dist/esm/ic-divider.entry.js.map +1 -1
  539. package/dist/esm/ic-empty-state.entry.js +33 -0
  540. package/dist/esm/ic-empty-state.entry.js.map +1 -0
  541. package/dist/esm/ic-footer-link-group.entry.js +3 -3
  542. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  543. package/dist/esm/ic-footer-link.entry.js +4 -4
  544. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  545. package/dist/esm/ic-footer.entry.js +7 -4
  546. package/dist/esm/ic-footer.entry.js.map +1 -1
  547. package/dist/esm/ic-hero.entry.js +3 -3
  548. package/dist/esm/ic-hero.entry.js.map +1 -1
  549. package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
  550. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  551. package/dist/esm/ic-input-component-container_3.entry.js +43 -37
  552. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  553. package/dist/esm/ic-input-label_2.entry.js +4 -4
  554. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  555. package/dist/esm/ic-link.entry.js +4 -4
  556. package/dist/esm/ic-link.entry.js.map +1 -1
  557. package/dist/esm/ic-menu-group.entry.js +1 -1
  558. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  559. package/dist/esm/ic-menu-item.entry.js +5 -5
  560. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  561. package/dist/esm/ic-navigation-button.entry.js +5 -5
  562. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  563. package/dist/esm/ic-navigation-group.entry.js +33 -15
  564. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  565. package/dist/esm/ic-navigation-item.entry.js +8 -9
  566. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  567. package/dist/esm/ic-navigation-menu.entry.js +3 -3
  568. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  569. package/dist/esm/ic-page-header.entry.js +3 -3
  570. package/dist/esm/ic-page-header.entry.js.map +1 -1
  571. package/dist/esm/ic-pagination-item.entry.js +3 -3
  572. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  573. package/dist/esm/ic-pagination.entry.js +3 -3
  574. package/dist/esm/ic-pagination.entry.js.map +1 -1
  575. package/dist/esm/ic-popover-menu.entry.js +68 -16
  576. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  577. package/dist/esm/ic-radio-group.entry.js +3 -3
  578. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  579. package/dist/esm/ic-radio-option.entry.js +3 -3
  580. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  581. package/dist/esm/ic-search-bar.entry.js +38 -21
  582. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  583. package/dist/esm/ic-section-container.entry.js +1 -1
  584. package/dist/esm/ic-section-container.entry.js.map +1 -1
  585. package/dist/esm/ic-select.entry.js +71 -17
  586. package/dist/esm/ic-select.entry.js.map +1 -1
  587. package/dist/esm/ic-side-navigation.entry.js +18 -9
  588. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  589. package/dist/esm/ic-skeleton.entry.js +1 -1
  590. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  591. package/dist/esm/ic-status-tag.entry.js +4 -4
  592. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  593. package/dist/esm/ic-step.entry.js +2 -2
  594. package/dist/esm/ic-step.entry.js.map +1 -1
  595. package/dist/esm/ic-stepper.entry.js +3 -3
  596. package/dist/esm/ic-stepper.entry.js.map +1 -1
  597. package/dist/esm/ic-switch.entry.js +4 -4
  598. package/dist/esm/ic-switch.entry.js.map +1 -1
  599. package/dist/esm/ic-tab-context.entry.js +2 -2
  600. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  601. package/dist/esm/ic-tab-group.entry.js +3 -3
  602. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  603. package/dist/esm/ic-tab-panel.entry.js +2 -2
  604. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  605. package/dist/esm/ic-tab.entry.js +3 -3
  606. package/dist/esm/ic-tab.entry.js.map +1 -1
  607. package/dist/esm/ic-text-field.entry.js +3 -3
  608. package/dist/esm/ic-text-field.entry.js.map +1 -1
  609. package/dist/esm/ic-theme.entry.js +3 -3
  610. package/dist/esm/ic-theme.entry.js.map +1 -1
  611. package/dist/esm/ic-toast-region.entry.js +1 -1
  612. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  613. package/dist/esm/ic-toast.entry.js +5 -5
  614. package/dist/esm/ic-toast.entry.js.map +1 -1
  615. package/dist/esm/ic-top-navigation.entry.js +4 -4
  616. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  617. package/dist/esm/ic-typography.entry.js +13 -5
  618. package/dist/esm/ic-typography.entry.js.map +1 -1
  619. package/dist/esm/{index-fd30b77e.js → index-14c9f375.js} +102 -26
  620. package/dist/esm/index-14c9f375.js.map +1 -0
  621. package/dist/esm/loader.js +4 -13
  622. package/dist/esm/loader.js.map +1 -1
  623. package/dist/esm/{popper-15e448b4.js → popper-0fbeff6d.js} +1 -1
  624. package/dist/esm/popper-0fbeff6d.js.map +1 -0
  625. package/dist/esm/{types-dd515332.js → types-b2398b37.js} +1 -1
  626. package/dist/esm/types-b2398b37.js.map +1 -0
  627. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  628. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +3 -3
  629. package/dist/types/components/ic-button/ic-button.d.ts +8 -4
  630. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  631. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +6 -2
  632. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -2
  633. package/dist/types/components/ic-chip/ic-chip.d.ts +3 -2
  634. package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
  635. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -5
  636. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +35 -0
  637. package/dist/types/components/ic-empty-state/ic-empty-state.types.d.ts +1 -0
  638. package/dist/types/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.d.ts +1 -0
  639. package/dist/types/components/ic-menu/ic-menu.d.ts +8 -0
  640. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +4 -0
  641. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -0
  642. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +8 -0
  643. package/dist/types/components/ic-select/ic-select.d.ts +14 -0
  644. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  645. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
  646. package/dist/types/components/ic-typography/ic-typography.d.ts +17 -0
  647. package/dist/types/components.d.ts +167 -16
  648. package/dist/types/stencil-public-runtime.d.ts +17 -5
  649. package/dist/types/utils/helpers.d.ts +2 -2
  650. package/dist/types/utils/types.d.ts +12 -2
  651. package/hydrate/index.d.ts +6 -6
  652. package/hydrate/index.js +626 -263
  653. package/loader/index.d.ts +1 -1
  654. package/package.json +5 -6
  655. package/dist/cjs/OpenInNew-f9958725.js.map +0 -1
  656. package/dist/cjs/check-icon-b2f60716.js.map +0 -1
  657. package/dist/cjs/chevron-icon-2bb3a907.js.map +0 -1
  658. package/dist/cjs/close-icon-8ccb0163.js.map +0 -1
  659. package/dist/cjs/helpers-eb53c416.js.map +0 -1
  660. package/dist/cjs/index-2a0c6769.js.map +0 -1
  661. package/dist/cjs/popper-d7adcfc6.js.map +0 -1
  662. package/dist/cjs/types-3eb02246.js.map +0 -1
  663. package/dist/core/p-0330cb21.entry.js +0 -2
  664. package/dist/core/p-0330cb21.entry.js.map +0 -1
  665. package/dist/core/p-03d1a4a1.entry.js +0 -2
  666. package/dist/core/p-03d1a4a1.entry.js.map +0 -1
  667. package/dist/core/p-041604fc.entry.js.map +0 -1
  668. package/dist/core/p-1959ec8d.entry.js.map +0 -1
  669. package/dist/core/p-1b9b8355.entry.js.map +0 -1
  670. package/dist/core/p-26d5fd0f.entry.js +0 -2
  671. package/dist/core/p-26d5fd0f.entry.js.map +0 -1
  672. package/dist/core/p-27d42378.entry.js.map +0 -1
  673. package/dist/core/p-2ae7687a.entry.js.map +0 -1
  674. package/dist/core/p-332690f0.entry.js.map +0 -1
  675. package/dist/core/p-39adc795.entry.js +0 -2
  676. package/dist/core/p-39adc795.entry.js.map +0 -1
  677. package/dist/core/p-3adb1167.entry.js.map +0 -1
  678. package/dist/core/p-429e4d24.entry.js.map +0 -1
  679. package/dist/core/p-441e7d98.entry.js.map +0 -1
  680. package/dist/core/p-44512ebe.js +0 -2
  681. package/dist/core/p-48301eff.entry.js +0 -2
  682. package/dist/core/p-48301eff.entry.js.map +0 -1
  683. package/dist/core/p-5144e840.entry.js.map +0 -1
  684. package/dist/core/p-5c846d0a.entry.js.map +0 -1
  685. package/dist/core/p-5c9c940f.entry.js.map +0 -1
  686. package/dist/core/p-5dd0b02e.js +0 -2
  687. package/dist/core/p-5dd0b02e.js.map +0 -1
  688. package/dist/core/p-65750560.entry.js.map +0 -1
  689. package/dist/core/p-6840589f.entry.js.map +0 -1
  690. package/dist/core/p-69920d86.js +0 -3
  691. package/dist/core/p-69920d86.js.map +0 -1
  692. package/dist/core/p-6bad30aa.entry.js.map +0 -1
  693. package/dist/core/p-6f57b13c.js.map +0 -1
  694. package/dist/core/p-7536dd31.entry.js.map +0 -1
  695. package/dist/core/p-7ae091ef.entry.js.map +0 -1
  696. package/dist/core/p-7c0dcd00.js.map +0 -1
  697. package/dist/core/p-7c46caf2.entry.js +0 -2
  698. package/dist/core/p-7c46caf2.entry.js.map +0 -1
  699. package/dist/core/p-83d5bcae.entry.js +0 -2
  700. package/dist/core/p-83d5bcae.entry.js.map +0 -1
  701. package/dist/core/p-892d9d9f.entry.js.map +0 -1
  702. package/dist/core/p-8991f656.entry.js.map +0 -1
  703. package/dist/core/p-8c45ab61.entry.js.map +0 -1
  704. package/dist/core/p-8ca80000.entry.js.map +0 -1
  705. package/dist/core/p-90d3a41b.entry.js.map +0 -1
  706. package/dist/core/p-95992c98.entry.js.map +0 -1
  707. package/dist/core/p-96b71172.entry.js +0 -2
  708. package/dist/core/p-96b71172.entry.js.map +0 -1
  709. package/dist/core/p-96bcd466.entry.js.map +0 -1
  710. package/dist/core/p-9e551fe9.entry.js.map +0 -1
  711. package/dist/core/p-a29fe0c6.entry.js.map +0 -1
  712. package/dist/core/p-a588886f.entry.js.map +0 -1
  713. package/dist/core/p-a8b94619.entry.js.map +0 -1
  714. package/dist/core/p-adceb0cf.entry.js.map +0 -1
  715. package/dist/core/p-b698b8ad.entry.js.map +0 -1
  716. package/dist/core/p-b6c538ea.entry.js +0 -2
  717. package/dist/core/p-b6c538ea.entry.js.map +0 -1
  718. package/dist/core/p-c012b867.entry.js.map +0 -1
  719. package/dist/core/p-c5716cbc.entry.js +0 -2
  720. package/dist/core/p-c5716cbc.entry.js.map +0 -1
  721. package/dist/core/p-ca6d834e.entry.js.map +0 -1
  722. package/dist/core/p-cbbf4b05.entry.js.map +0 -1
  723. package/dist/core/p-ce791694.entry.js.map +0 -1
  724. package/dist/core/p-cef93d12.entry.js.map +0 -1
  725. package/dist/core/p-d2215b72.entry.js.map +0 -1
  726. package/dist/core/p-e0ee714a.entry.js +0 -2
  727. package/dist/core/p-e0ee714a.entry.js.map +0 -1
  728. package/dist/core/p-e6370b7e.entry.js +0 -2
  729. package/dist/core/p-e6370b7e.entry.js.map +0 -1
  730. package/dist/core/p-ee11e185.entry.js.map +0 -1
  731. package/dist/core/p-f24814b8.entry.js +0 -2
  732. package/dist/core/p-f24814b8.entry.js.map +0 -1
  733. package/dist/core/p-f665242d.entry.js.map +0 -1
  734. package/dist/core/p-f7695299.entry.js.map +0 -1
  735. package/dist/core/p-f923d11b.entry.js.map +0 -1
  736. package/dist/esm/OpenInNew-67a881e0.js.map +0 -1
  737. package/dist/esm/check-icon-abb210ec.js.map +0 -1
  738. package/dist/esm/chevron-icon-7927f709.js.map +0 -1
  739. package/dist/esm/close-icon-2f02b42a.js.map +0 -1
  740. package/dist/esm/helpers-85903813.js.map +0 -1
  741. package/dist/esm/index-fd30b77e.js.map +0 -1
  742. package/dist/esm/polyfills/css-shim.js +0 -1
  743. package/dist/esm/popper-15e448b4.js.map +0 -1
  744. package/dist/esm/types-dd515332.js.map +0 -1
  745. /package/dist/core/{p-06321d19.js.map → p-3b185c32.js.map} +0 -0
  746. /package/dist/core/{p-44512ebe.js.map → p-426ec638.js.map} +0 -0
  747. /package/dist/core/{p-8c7f4343.js.map → p-c2e091d7.js.map} +0 -0
  748. /package/dist/core/{p-8d4f7027.js.map → p-f074ef5b.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as i,h as e,H as t,g as s,c as n,F as c}from"./p-69920d86.js";import{a as o}from"./p-6f57b13c.js";import{i as r,M as a,a as u}from"./p-5dd0b02e.js";import{C as h}from"./p-8c7f4343.js";import{c as l}from"./p-7c0dcd00.js";const d="ic-input-component-container{display:flex;border:var(--ic-space-1px) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--ic-architectural-white);box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.fullwidth{width:100%}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed var(--ic-architectural-200)}ic-input-component-container.readonly,ic-input-component-container.readonly:hover{border:none;padding:0}ic-input-component-container.error{border:var(--ic-error-border-default);padding:0}ic-input-component-container.error:hover{border:var(--ic-error-border-hover)}ic-input-component-container.error:focus-within{border:var(--ic-error-border-pressed)}ic-input-component-container.warning{border:var(--ic-warning-border-default);padding:0}ic-input-component-container.warning:hover{border:var(--ic-warning-border-hover)}ic-input-component-container.warning:focus-within{border:var(--ic-warning-border-pressed)}ic-input-component-container.success{border:var(--ic-success-border-default);padding:0}ic-input-component-container.success:hover{border:var(--ic-success-border-hover)}ic-input-component-container.success:focus-within{border:var(--ic-success-border-pressed)}ic-input-component-container.small{height:var(--ic-space-xl)}ic-input-component-container.multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.multiline .icon-container,ic-input-component-container.multiline.small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.disabled ::-moz-placeholder{display:none}ic-input-component-container.disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-border-hover);color:var(--ic-action-dark-hover)}ic-input-component-container:focus{border:var(--ic-border-pressed)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-space-1px) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:var(--ic-space-1px) dashed GrayText}}";const m=class{constructor(e){i(this,e);this.dark=false;this.disabled=false;this.fullWidth=false;this.multiLine=false;this.readonly=false;this.small=false;this.validationInline=false;this.validationStatus=""}render(){const{small:i,validationStatus:s,disabled:n,readonly:c,multiLine:u,fullWidth:h,dark:l,validationInline:d}=this;const m=this.validationStatus!==""&&!this.disabled&&!this.readonly?true:false;return e(t,{class:{["small"]:i,[s]:m,["disabled"]:n,["readonly"]:c,["multiline"]:u,["fullwidth"]:h,["dark"]:l}},e("div",{class:{"focus-indicator":true,dark:l}},r(this.host,"left-icon")&&e("div",{class:{["icon-container"]:true}},e("slot",{name:"left-icon"})),e("slot",null),d&&s===o.Success&&e("span",{class:{["inline-success"]:true},innerHTML:a})))}get host(){return s(this)}};m.style=d;const p="ic-input-container .component-container{display:flex;flex-direction:column}";const f=class{constructor(e){i(this,e);this.disabled=false;this.readonly=false}render(){return e(t,null,e("div",{class:{["component-container"]:true,["disabled"]:this.disabled,["readonly"]:this.readonly}},e("slot",null)))}};f.style=p;const b='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.on-dialog-fix-translate.sc-ic-menu-h{transform:translate(0, 80px) !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-space-1px) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:20.125rem}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:0.5rem 0.438rem;cursor:pointer;display:flex;align-items:center}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:0.25rem 0.438rem}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:0.625rem;color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:0.5rem;pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:1.5rem 0.438rem 0.5rem;color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:0.75rem 0.438rem 0.25rem}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}';const v=class{constructor(t){i(this,t);this.menuKeyPress=n(this,"menuKeyPress",7);this.menuOptionId=n(this,"menuOptionId",7);this.menuOptionSelect=n(this,"menuOptionSelect",7);this.menuStateChange=n(this,"menuStateChange",7);this.menuValueChange=n(this,"menuValueChange",7);this.retryButtonClicked=n(this,"retryButtonClicked",7);this.timeoutBlur=n(this,"timeoutBlur",7);this.ungroupedOptionsSet=n(this,"ungroupedOptionsSet",7);this.firstRender=true;this.hasPreviouslyBlurred=false;this.hasTimedOut=false;this.isLoading=false;this.isSearchBar=false;this.isSearchableSelect=false;this.preventClickOpen=false;this.ungroupedOptions=[];this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const i=this.options.findIndex((i=>i.value===this.optionHighlighted));this.setInputValue(i)};this.handleMenuChange=(i,e)=>{this.menuStateChange.emit({open:i,focusInput:e});if(!i&&e!==false){this.inputEl.focus();this.preventClickOpen=false}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i+1].value,optionId:this.getOptionId(this.ungroupedOptions[i+1].value)})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0].value,optionId:this.getOptionId(this.ungroupedOptions[0].value)})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i-1].value,optionId:this.getOptionId(this.ungroupedOptions[i-1].value)})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value,optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1].value)})}};this.getParentEl=i=>{if(i.tagName==="IC-SEARCH-BAR"){this.isSearchBar=true}else if(i.tagName==="IC-SELECT"&&i.getAttribute("searchable")!==null&&i.getAttribute("searchable")!==undefined){this.isSearchableSelect=true}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.setMenuOptions=()=>this.isSearchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=i=>{const e=this.setMenuOptions();e[i]&&!e[i].timedOut&&(this.optionHighlighted=e[i].value||undefined)};this.autoSetInputValueKeyboardOpen=i=>{const e=this.ungroupedOptions.findIndex((i=>i.value===this.value));this.keyboardNav=false;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);this.setNextOptionValue(e);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);this.setPreviousOptionValue(e);break;case" ":case"Enter":if(i.target.id!=="clear-button"){this.handleMenuChange(true)}break}};this.manSetInputValueKeyboardOpen=i=>{var e;const t=this.setMenuOptions();this.keyboardNav=false;const s=t.findIndex((i=>i.value===this.optionHighlighted));const n=i=>{var e;return(e=Array.from(this.host.querySelectorAll("li"))[i])===null||e===void 0?void 0:e.id};switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);if(s<t.length-1){this.setHighlightedOption(s+1);this.menuOptionId.emit({optionId:n(s+1)})}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:n(0)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);if(s<=0||s>t.length+1){this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:n(t.length-1)})}else{this.setHighlightedOption(s-1);this.menuOptionId.emit({optionId:n(s-1)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(0);this.menuOptionId.emit({optionId:n(0)});break;case"End":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:n(t.length-1)});break;case"Enter":i.preventDefault();this.setInputValue(s);this.value=(e=t[s])===null||e===void 0?void 0:e.value;break;case"Escape":if(this.open){i.stopImmediatePropagation()}this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"Shift":case"Tab":if(this.isSearchBar){this.keyboardNav=true}this.preventIncorrectTabOrder=true;break;case"Backspace":if(this.isSearchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}else if(this.isSearchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true;break;default:if(i.key!=="Tab"){if(this.isSearchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}else if(this.isSearchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true}break}};this.setInputValue=i=>{var e;const t=this.setMenuOptions();if(t[i]){this.menuOptionSelect.emit({value:(e=t[i])===null||e===void 0?void 0:e.value});this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}if(!this.hasTimedOut)this.handleMenuChange(false);else this.parentEl.setFocus()};this.handleOptionClick=i=>{const{value:e,label:t}=i.target.dataset;this.menuOptionSelect.emit({value:e,label:t});this.handleMenuChange(false)};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:i.key})}};this.handleBlur=i=>{if(i.relatedTarget!==this.inputEl){if(!this.menu.contains(i.relatedTarget)){this.handleMenuChange(false,this.hasPreviouslyBlurred)}}else{this.handleMenuChange(false);this.preventClickOpen=true}if(!this.isSearchBar)this.hasPreviouslyBlurred=!!i.relatedTarget};this.handleMouseDown=i=>{i.preventDefault()};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}else if(this.activationType==="manual"&&this.isSearchableSelect){this.manSetInputValueKeyboardOpen(i)}};this.emitMenuKeyPress=(i,e)=>{this.menuKeyPress.emit({isNavKey:i,key:e})};this.autoSetValueOnMenuKeyDown=i=>{i.cancelBubble=true;const e=this.ungroupedOptions.findIndex((i=>i.value===this.value));const t=this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(i.key){case" ":i.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){i.preventDefault();this.setPreviousOptionValue(e);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){i.preventDefault();this.setNextOptionValue(e);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0].value});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(t){this.inputEl.focus()}break;case"Shift":break;default:if(t&&i.key!=="Tab"&&!this.hasTimedOut){this.inputEl.focus()}if(i.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,i.key)};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,e)=>{let t=i.label;if(i.description){t=`${t}, ${i.description}`}if(e){return`${t}, ${e.label} group`}else{return t}};this.getSortedOptions=i=>{let e=[];if(i.sort){e=i.sort(((i,e)=>i.recommended&&!e.recommended?-1:0))}return e};this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{const e=i.querySelector(".option[aria-selected]");if(e){const t=e.offsetTop+e.offsetHeight;if(t>i.scrollTop+i.offsetHeight||t<i.scrollTop+i.offsetHeight){i.scrollTop=e.offsetTop}e.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{let i=0;this.host.querySelectorAll(".option").forEach((e=>i+=e.clientHeight));if(i>=320){this.menu.classList.add("menu-scroll")}};this.handleTimeoutBlur=i=>{this.timeoutBlur.emit({ev:i})};this.optionContent=i=>{var t;return e(c,null,i.loading&&e("ic-loading-indicator",{size:"icon"}),e("div",{class:"option-text-container"},e("ic-typography",{variant:"body","aria-hidden":"true"},e("p",null,i.label)),i.description&&e("ic-typography",{id:`${this.getOptionId(i===null||i===void 0?void 0:i.value)}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},e("p",null,i.description))),!!i.value&&!!this.value&&(i===null||i===void 0?void 0:i.value.toLowerCase())===((t=this.value)===null||t===void 0?void 0:t.toLowerCase())&&this.parentEl.tagName!=="IC-SEARCH-BAR"&&e("span",{class:"check-icon",innerHTML:h}))};this.displayOption=(i,t,s)=>{const{open:n,value:o,keyboardNav:r,isManualMode:a,initialOptionsListRender:u,optionHighlighted:h,options:l}=this;return e("li",{id:this.getOptionId(i.value),class:{option:true,"focused-option":a?(r||u)&&i.value===h:r&&i.value===o,"last-recommended-option":i.recommended&&l[t+1]&&!l[t+1].recommended,"disabled-option":i.disabled,"loading-option":i.loading,timeout:i.timedOut},role:"option",tabindex:n&&(i.value===o||i.value===h)&&r?"0":"-1","aria-label":this.getOptionAriaLabel(i,s),"aria-selected":i.value===o,"aria-disabled":i.disabled?"true":"false",onClick:!i.timedOut&&!i.loading&&this.handleOptionClick,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":i.value,"data-label":i.label},i.timedOut?e(c,null,e("div",{class:"loading-error-info"},e("svg",{class:"error-icon-svg","aria-labelledby":"error-title",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},e("title",{id:"error-title"},"Error"),e("path",{d:"M0 0h24v24H0z",fill:"none"}),e("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"})),e("ic-typography",{variant:"label"},i.label)),e("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(i))};this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.keyboardNav=false;this.optionHighlighted=undefined;this.preventIncorrectTabOrder=false;this.activationType="automatic";this.anchorEl=undefined;this.autoFocusOnSelected=true;this.fullWidth=false;this.inputEl=undefined;this.inputLabel=undefined;this.menuId=undefined;this.open=undefined;this.parentEl=undefined;this.searchMode="navigation";this.small=false;this.options=undefined;this.value=undefined}watchOptionsHandler(i){this.hasTimedOut=i.some((i=>i.timedOut));this.isLoading=i.some((i=>i.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}watchValueHandler(){this.menuValueChange.emit({value:this.value})}connectedCallback(){this.getParentEl(this.parentEl);if(this.isSearchBar){if(this.searchMode==="navigation")this.setHighlightedOption(0);this.initialOptionsListRender=true}}disconnectedCallback(){if(this.popperInstance!==undefined){this.popperInstance.destroy()}this.parentEl.removeEventListener("icClear",this.handleClearListener);this.parentEl.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}componentWillLoad(){var i,e;this.loadUngroupedOptions();this.parentEl.addEventListener("icClear",this.handleClearListener);this.parentEl.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=(i=this.options)===null||i===void 0?void 0:i.some((i=>i.timedOut));this.isLoading=(e=this.options)===null||e===void 0?void 0:e.some((i=>i.loading))}componentDidLoad(){if(this.isSearchBar&&this.parentEl.disableFilter){this.focusFromSearchKeypress=true}u([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidUpdate(){const i=this.options.some((i=>i.value===this.value));const e=this.optionHighlighted!==null&&this.optionHighlighted!==undefined&&this.optionHighlighted!=="";if(this.open&&this.options.length!==0){if(this.value&&this.keyboardNav&&i&&this.autoFocusOnSelected&&!this.isSearchableSelect){this.scrollToSelected(this.menu)}else if(this.inputEl.tagName!=="IC-TEXT-FIELD"&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}else if(e&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){i.focus()}}}}componentDidRender(){if(this.firstRender&&this.open){this.firstRender=false;let i=false;const e=this.parentEl.closest("ic-dialog");const t=e!==null;if(t){this.host.classList.add("on-dialog");if(e.getAttribute("data-overflow")==="false"){const t=this.host.getBoundingClientRect().top;const s=this.host.getBoundingClientRect().height;const n=e.getBoundingClientRect().bottom;if(t+s>n){i=true}}if(i===false){this.host.classList.add("on-dialog-fix-translate")}}if(i){this.popperInstance=l(this.anchorEl,this.host,{placement:"top"})}else{this.popperInstance=l(this.anchorEl,this.host,{placement:"bottom",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top"],rootBoundary:"viewport"}}]})}}else if(this.open){this.popperInstance.update()}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){this.keyboardNav=false;if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}render(){const{inputLabel:i,options:s,menuId:n,value:c,fullWidth:o,hasTimedOut:r,isLoading:a,small:u,open:h,inputEl:l,keyboardNav:d}=this;return e(t,{class:{"full-width":o,"no-focus":(l===null||l===void 0?void 0:l.tagName)==="INPUT"||r||a,small:u,open:h}},s.length!==0&&e("ul",{id:n,class:"menu",role:"listbox","aria-label":i,"aria-activedescendant":c!=null&&c!==""?this.getOptionId(c):"",tabindex:h&&!d&&(l===null||l===void 0?void 0:l.tagName)!=="INPUT"?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(s).map(((i,t)=>{if(i.children){if(i.children.length>0){return e("div",null,e("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},e("p",null,i.label)),i.children.map((e=>this.displayOption(e,t,i))))}else{return null}}else{return this.displayOption(i,t)}}))))}get host(){return s(this)}static get watchers(){return{options:["watchOptionsHandler"],value:["watchValueHandler"]}}};v.style=b;export{m as ic_input_component_container,f as ic_input_container,v as ic_menu};
2
- //# sourceMappingURL=p-c5716cbc.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icInputComponentContainerCss","InputComponentContainer","render","small","validationStatus","disabled","readonly","multiLine","fullWidth","dark","validationInline","this","hasValidationStatus","h","Host","class","isSlotUsed","host","name","IcInformationStatus","Success","innerHTML","successIcon","icInputContainerCss","InputContainer","icMenuCss","Menu","firstRender","hasPreviouslyBlurred","hasTimedOut","isLoading","isSearchBar","isSearchableSelect","preventClickOpen","ungroupedOptions","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","value","setInputValue","handleMenuChange","open","focusInput","menuStateChange","emit","inputEl","focus","setNextOptionValue","selectedOptionIndex","menuOptionSelect","optionId","getOptionId","setPreviousOptionValue","length","getParentEl","parent","tagName","getAttribute","undefined","arrowBehaviour","event","preventDefault","setMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","keyboardNav","key","target","id","manSetInputValueKeyboardOpen","index","_a","Array","from","querySelectorAll","menuOptionId","preventIncorrectTabOrder","focusFromSearchKeypress","stopImmediatePropagation","parentEl","setFocus","searchMode","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","contains","handleMouseDown","handleMenuKeyDown","activationType","autoSetValueOnMenuKeyDown","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","handleMenuKeyUp","shiftKey","menuId","getOptionAriaLabel","parentOption","ariaLabel","description","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","querySelector","elTop","offsetTop","offsetHeight","scrollTop","loadUngroupedOptions","map","children","push","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","forEach","clientHeight","classList","add","handleTimeoutBlur","timeoutBlur","optionContent","Fragment","loading","size","variant","toLowerCase","Check","displayOption","initialOptionsListRender","timeout","role","tabindex","onClick","onBlur","onMouseDown","xmlns","viewBox","fill","d","onKeyDown","watchOptionsHandler","newOptions","some","opt","watchValueHandler","menuValueChange","connectedCallback","disconnectedCallback","popperInstance","destroy","removeEventListener","componentWillLoad","addEventListener","_b","componentDidLoad","disableFilter","onComponentRequiredPropUndefined","prop","propName","inputLabel","componentDidUpdate","inputValueInOptions","optionHighlightedIsSet","autoFocusOnSelected","highlightedEl","componentDidRender","adjust","dialogEl","closest","onDialog","menuTop","getBoundingClientRect","top","menuHeight","height","dialogHeight","bottom","createPopper","anchorEl","placement","modifiers","offset","fallbackPlacements","rootBoundary","update","async","ref","el","onKeyUp","childOption"],"sources":["./src/components/ic-input-component-container/ic-input-component-container.css?tag=ic-input-component-container","./src/components/ic-input-component-container/ic-input-component-container.tsx","./src/components/ic-input-container/ic-input-container.css?tag=ic-input-container","./src/components/ic-input-container/ic-input-container.tsx","./src/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","./src/components/ic-menu/ic-menu.tsx"],"sourcesContent":["ic-input-component-container {\n /**\n * @prop --border-color: Border colour of the input component container\n */\n\n display: flex;\n border: var(--ic-space-1px) solid\n var(--border-color, var(--ic-architectural-400));\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-slow);\n height: 2.5rem;\n width: var(--input-width, 20rem);\n padding: var(--ic-space-1px);\n background-color: var(--ic-architectural-white);\n box-sizing: border-box;\n fill: var(--ic-architectural-400);\n outline: none;\n}\n\nic-input-component-container.fullwidth {\n width: 100%;\n}\n\nic-input-component-container.disabled,\nic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed var(--ic-architectural-200);\n}\n\nic-input-component-container.readonly,\nic-input-component-container.readonly:hover {\n border: none;\n padding: 0;\n}\n\nic-input-component-container.error {\n border: var(--ic-error-border-default);\n padding: 0;\n}\n\nic-input-component-container.error:hover {\n border: var(--ic-error-border-hover);\n}\n\nic-input-component-container.error:focus-within {\n border: var(--ic-error-border-pressed);\n}\n\nic-input-component-container.warning {\n border: var(--ic-warning-border-default);\n padding: 0;\n}\n\nic-input-component-container.warning:hover {\n border: var(--ic-warning-border-hover);\n}\n\nic-input-component-container.warning:focus-within {\n border: var(--ic-warning-border-pressed);\n}\n\nic-input-component-container.success {\n border: var(--ic-success-border-default);\n padding: 0;\n}\n\nic-input-component-container.success:hover {\n border: var(--ic-success-border-hover);\n}\n\nic-input-component-container.success:focus-within {\n border: var(--ic-success-border-pressed);\n}\n\nic-input-component-container.small {\n height: var(--ic-space-xl);\n}\n\nic-input-component-container.multiline {\n height: auto;\n}\n\nic-input-component-container .icon-container {\n margin-top: var(--ic-space-xxs);\n margin-left: 0.438rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.multiline .icon-container,\nic-input-component-container.multiline.small .icon-container {\n margin-top: 0.375rem;\n display: block;\n}\n\nic-input-component-container.readonly .icon-container {\n margin-left: -0.313rem;\n}\n\nic-input-component-container.disabled ::placeholder {\n display: none;\n}\n\nic-input-component-container .inline-success {\n margin: var(--ic-space-xs) 0.375rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.dark:hover {\n --border-color: var(--ic-architectural-400);\n}\n\nic-input-component-container .inline-success > svg {\n fill: var(--ic-status-success);\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-component-container:hover {\n border: var(--ic-border-hover);\n color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:focus {\n border: var(--ic-border-pressed);\n}\n\n.focus-indicator {\n display: flex;\n width: 100%;\n margin: -0.125rem;\n padding: 0.125rem;\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.focus-indicator:focus-within,\n.focus-indicator-enabled {\n box-shadow: var(--ic-border-focus);\n}\n\n.focus-indicator.dark:focus-within {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n ic-input-component-container,\n .focus-indicator {\n transition: none;\n }\n\n ic-input-component-container:focus-within {\n border: var(--ic-space-1px) solid Highlight;\n outline: 0.125rem solid Highlight;\n }\n\n ic-input-component-container.disabled,\n ic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed GrayText;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n/**\n * @slot left-icon - Content will be placed to the left of the input.\n */\n@Component({\n tag: \"ic-input-component-container\",\n styleUrl: \"ic-input-component-container.css\",\n})\nexport class InputComponentContainer {\n @Element() host: HTMLIcInputComponentContainerElement;\n\n /**\n * If `true`, the dark variant of the input component container will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the input component container will fill the width of the container it is in.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the input component container will allow for multiple lines.\n */\n @Prop() multiLine: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the input component container.\n */\n @Prop() small: boolean = false;\n\n /**\n * If `true`, the validation will display inline.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n render() {\n const {\n small,\n validationStatus,\n disabled,\n readonly,\n multiLine,\n fullWidth,\n dark,\n validationInline,\n } = this;\n const hasValidationStatus =\n this.validationStatus !== \"\" && !this.disabled && !this.readonly\n ? true\n : false;\n return (\n <Host\n class={{\n [\"small\"]: small,\n [validationStatus]: hasValidationStatus,\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"multiline\"]: multiLine,\n [\"fullwidth\"]: fullWidth,\n [\"dark\"]: dark,\n }}\n >\n <div\n class={{\n \"focus-indicator\": true,\n dark: dark,\n }}\n >\n {isSlotUsed(this.host, \"left-icon\") && (\n <div\n class={{\n [\"icon-container\"]: true,\n }}\n >\n <slot name=\"left-icon\" />\n </div>\n )}\n <slot></slot>\n\n {validationInline &&\n validationStatus === IcInformationStatus.Success && (\n <span\n class={{\n [\"inline-success\"]: true,\n }}\n innerHTML={successIcon}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n","ic-input-container .component-container {\n display: flex;\n flex-direction: column;\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: \"ic-input-container\",\n styleUrl: \"ic-input-container.css\",\n})\nexport class InputContainer {\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n render() {\n return (\n <Host>\n <div\n class={{\n [\"component-container\"]: true,\n [\"disabled\"]: this.disabled,\n [\"readonly\"]: this.readonly,\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n max-height: 0;\n width: var(--input-width, 20rem);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(:not(.no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, 80px) !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border: var(--ic-space-1px) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n max-height: none;\n display: block;\n}\n\n:host(.open) .menu {\n visibility: visible;\n max-height: 20.125rem;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\n.option {\n padding: 0.5rem 0.438rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.small) .option {\n padding: 0.25rem 0.438rem;\n}\n\n.option:last-child {\n border-radius: 0 0 var(--ic-space-1px) var(--ic-space-1px);\n}\n\n.option:first-child {\n border-radius: var(--ic-space-1px) var(--ic-space-1px) 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n color: var(--ic-color-secondary-text);\n}\n\n.option-text-container {\n pointer-events: none;\n}\n\n.option.loading-option .option-text-container {\n margin-left: 0.625rem;\n color: var(--ic-color-secondary-text);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-status-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: 0.5rem;\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: 1.5rem 0.438rem 0.5rem;\n color: var(--ic-color-tertiary-text);\n}\n\n:host(.small) .option-group-title {\n padding: 0.75rem 0.438rem 0.25rem;\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-border-default);\n}\n\n.disabled-option {\n color: var(--ic-architectural-200);\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-focus-blue) !important;\n color: var(--ic-color-white-text) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Method,\n State,\n Watch,\n Fragment,\n} from \"@stencil/core\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\nimport {\n IcActivationTypes,\n IcMenuOption,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcOptionSelectEventDetail,\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n} from \"./ic-menu.types\";\nimport { IcSearchBarSearchModes } from \"../ic-search-bar/ic-search-bar.types\";\n\n@Component({\n tag: \"ic-menu\",\n styleUrl: \"ic-menu.css\",\n scoped: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n private firstRender: boolean = true;\n private hasPreviouslyBlurred: boolean = false;\n private hasTimedOut: boolean = false;\n private isLoading: boolean = false;\n private isSearchBar: boolean = false;\n private isSearchableSelect: boolean = false;\n private menu: HTMLUListElement;\n private popperInstance: PopperInstance;\n // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n private preventClickOpen: boolean = false;\n private ungroupedOptions: IcMenuOption[] = [];\n\n @Element() host: HTMLIcMenuElement;\n\n @State() focusFromSearchKeypress: boolean = false;\n @State() initialOptionsListRender: boolean = false;\n @State() keyboardNav: boolean = false;\n @State() optionHighlighted: string;\n @State() preventIncorrectTabOrder: boolean = false;\n\n /**\n * Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The reference to an anchor element the menu will position itself from when rendered.\n */\n @Prop() anchorEl!: HTMLElement;\n\n /**\n * @internal If `true`, autofocus will be applied on selected item when menu is open.\n */\n @Prop() autoFocusOnSelected: boolean = true;\n\n /**\n * If `true`, the menu will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The reference to the input element.\n */\n @Prop() inputEl!: HTMLElement;\n\n /**\n * The label for the input element.\n */\n @Prop() inputLabel!: string;\n\n /**\n * The ID of the menu.\n */\n @Prop() menuId!: string;\n\n /**\n * If `true`, the menu will be displayed open.\n */\n @Prop({ reflect: true }) open!: boolean;\n\n /**\n * @internal - The parent element if ic-menu is nested inside another component.\n */\n @Prop() parentEl?: HTMLElement;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode?: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * If `true`, the small styling will be applied to the menu.\n */\n @Prop({ reflect: true }) small?: boolean = false;\n\n /**\n * The possible menu selection options.\n */\n @Prop() options!: IcMenuOption[];\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n\n /**\n * The value of the currently selected option.\n */\n @Prop({ mutable: true }) value!: string;\n\n @Watch(\"value\")\n watchValueHandler(): void {\n this.menuValueChange.emit({ value: this.value });\n }\n\n /**\n * @internal Emitted when key is pressed while menu is open\n */\n @Event() menuKeyPress: EventEmitter<{ isNavKey: boolean; key: string }>;\n\n /**\n * @internal Emitted when an option has been highlighted\n */\n @Event() menuOptionId: EventEmitter<IcMenuOptionIdEventDetail>;\n\n /**\n * @internal Emitted when an option is selected.\n */\n @Event() menuOptionSelect!: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * @internal Emitted when state of menu changes (i.e. open or close).\n */\n @Event() menuStateChange!: EventEmitter<IcMenuChangeEventDetail>;\n\n /**\n * @internal Emitted when menu value changes.\n */\n @Event() menuValueChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal Emitted when the retry button is clicked\n */\n @Event() retryButtonClicked: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal Emitted when the timeout menu loses focus\n */\n @Event() timeoutBlur: EventEmitter<{ ev: FocusEvent }>;\n\n /**\n * @internal Emitted when the ungrouped options have been set.\n */\n @Event() ungroupedOptionsSet: EventEmitter<{ options: IcMenuOption[] }>;\n\n connectedCallback(): void {\n this.getParentEl(this.parentEl);\n\n if (this.isSearchBar) {\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n\n disconnectedCallback(): void {\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n this.parentEl.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.removeEventListener(\n \"icSubmitSearch\",\n this.handleSubmitSearch\n );\n }\n\n componentWillLoad(): void {\n this.loadUngroupedOptions();\n this.parentEl.addEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = this.options?.some((opt) => opt.timedOut);\n this.isLoading = this.options?.some((opt) => opt.loading);\n }\n\n componentDidLoad(): void {\n if (\n this.isSearchBar &&\n (this.parentEl as HTMLIcSearchBarElement).disableFilter\n ) {\n this.focusFromSearchKeypress = true;\n }\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ],\n \"Menu\"\n );\n }\n\n componentDidUpdate(): void {\n const inputValueInOptions: boolean = this.options.some(\n (option) => option.value === this.value\n );\n\n const optionHighlightedIsSet =\n this.optionHighlighted !== null &&\n this.optionHighlighted !== undefined &&\n this.optionHighlighted !== \"\";\n\n if (this.open && this.options.length !== 0) {\n if (\n this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autoFocusOnSelected &&\n !this.isSearchableSelect\n ) {\n this.scrollToSelected(this.menu);\n } else if (\n this.inputEl.tagName !== \"IC-TEXT-FIELD\" &&\n this.inputEl.tagName !== \"INPUT\"\n ) {\n this.menu.focus();\n } else if (\n optionHighlightedIsSet &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder\n ) {\n const highlightedEl = this.host.querySelector(\n `li[data-value=\"${this.optionHighlighted}\"]`\n ) as HTMLElement;\n\n if (highlightedEl) {\n highlightedEl.focus();\n }\n }\n }\n }\n\n componentDidRender(): void {\n if (this.firstRender && this.open) {\n this.firstRender = false;\n let adjust = false;\n\n const dialogEl = this.parentEl.closest(\"ic-dialog\");\n\n const onDialog = dialogEl !== null;\n if (onDialog) {\n this.host.classList.add(\"on-dialog\");\n if (dialogEl.getAttribute(\"data-overflow\") === \"false\") {\n const menuTop = this.host.getBoundingClientRect().top;\n const menuHeight = this.host.getBoundingClientRect().height;\n const dialogHeight = dialogEl.getBoundingClientRect().bottom;\n if (menuTop + menuHeight > dialogHeight) {\n adjust = true;\n }\n }\n if (adjust === false) {\n this.host.classList.add(\"on-dialog-fix-translate\");\n }\n }\n\n if (adjust) {\n this.popperInstance = createPopper(this.anchorEl, this.host, {\n placement: \"top\",\n });\n } else {\n this.popperInstance = createPopper(this.anchorEl, this.host, {\n placement: \"bottom\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n } else if (this.open) {\n this.popperInstance.update();\n }\n\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n @Method()\n async handleClickOpen(): Promise<void> {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event - keyboard event\n */\n @Method()\n async handleKeyboardOpen(event: KeyboardEvent): Promise<void> {\n this.keyboardNav = false;\n\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n } else {\n this.manSetInputValueKeyboardOpen(event);\n }\n }\n\n /**\n * @internal Used to highlight the first option in the menu.\n */\n @Method()\n async handleSetFirstOption(): Promise<void> {\n this.setHighlightedOption(0);\n }\n\n private handleClearListener = (): void => {\n this.optionHighlighted = \"\";\n };\n\n private handleSubmitSearch = (): void => {\n const highlightedOptionIndex = this.options.findIndex(\n (option) => option.value === this.optionHighlighted\n );\n\n this.setInputValue(highlightedOptionIndex);\n };\n\n private handleMenuChange = (open: boolean, focusInput?: boolean): void => {\n this.menuStateChange.emit({ open, focusInput });\n\n if (!open && focusInput !== false) {\n this.inputEl.focus();\n this.preventClickOpen = false;\n }\n };\n\n private setNextOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex + 1].value\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0].value,\n optionId: this.getOptionId(this.ungroupedOptions[0].value),\n });\n }\n };\n\n private setPreviousOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex - 1].value\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1].value,\n optionId: this.getOptionId(\n this.ungroupedOptions[this.ungroupedOptions.length - 1].value\n ),\n });\n }\n };\n\n private getParentEl = (parent: HTMLElement) => {\n if (parent.tagName === \"IC-SEARCH-BAR\") {\n this.isSearchBar = true;\n } else if (\n parent.tagName === \"IC-SELECT\" &&\n parent.getAttribute(\"searchable\") !== null &&\n parent.getAttribute(\"searchable\") !== undefined\n ) {\n this.isSearchableSelect = true;\n }\n };\n\n private arrowBehaviour = (event: KeyboardEvent): void => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n\n private setMenuOptions = () =>\n this.isSearchBar ? this.options : this.ungroupedOptions;\n\n private setHighlightedOption = (highlightedIndex: number): void => {\n const menuOptions = this.setMenuOptions();\n\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex].value || undefined);\n };\n\n private autoSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option.value === this.value\n );\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if ((event.target as HTMLElement).id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n\n private manSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const menuOptions = this.setMenuOptions();\n\n this.keyboardNav = false;\n\n const highlightedOptionIndex = menuOptions.findIndex(\n (option) => option.value === this.optionHighlighted\n );\n\n const getOptionId = (index: number): string =>\n Array.from(this.host.querySelectorAll(\"li\"))[index]?.id;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n } else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (\n highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1\n ) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n } else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n break;\n case \"End\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n break;\n case \"Enter\":\n event.preventDefault();\n this.setInputValue(highlightedOptionIndex);\n this.value = menuOptions[highlightedOptionIndex]?.value;\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"Shift\":\n case \"Tab\":\n if (this.isSearchBar) {\n this.keyboardNav = true;\n }\n this.preventIncorrectTabOrder = true;\n break;\n case \"Backspace\":\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n }\n this.focusFromSearchKeypress = true;\n break;\n default:\n if (event.key !== \"Tab\") {\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n }\n this.focusFromSearchKeypress = true;\n }\n break;\n }\n };\n\n private setInputValue = (highlightedOptionIndex: number) => {\n const menuOptions = this.setMenuOptions();\n\n if (menuOptions[highlightedOptionIndex]) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex]?.value,\n });\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n if (!this.hasTimedOut) this.handleMenuChange(false);\n else (this.parentEl as HTMLIcSearchBarElement).setFocus();\n };\n\n private handleOptionClick = (event: Event): void => {\n const { value, label } = (event.target as HTMLLIElement).dataset;\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n };\n\n private handleRetry = (): void => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n\n private handleRetryKeyDown = (ev: KeyboardEvent): void => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n\n private handleBlur = (event: FocusEvent): void => {\n if (event.relatedTarget !== this.inputEl) {\n if (!this.menu.contains(event.relatedTarget as HTMLElement)) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n }\n } else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n }\n if (!this.isSearchBar) this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n\n private handleMouseDown = (event: Event): void => {\n event.preventDefault();\n };\n\n private handleMenuKeyDown = (event: KeyboardEvent) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n } else if (this.activationType === \"manual\" && this.isSearchableSelect) {\n this.manSetInputValueKeyboardOpen(event);\n }\n };\n\n private emitMenuKeyPress = (isNavKey: boolean, key: string) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n\n private autoSetValueOnMenuKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option.value === this.value\n );\n\n const isSearchableSelect = this.inputEl.tagName === \"INPUT\";\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0].value,\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1].value,\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n this.inputEl.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n this.inputEl.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n\n private handleMenuKeyUp = (event: KeyboardEvent): void => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n };\n\n private getOptionId = (value: string): string => {\n return `${this.menuId}-${value}`;\n };\n\n private getOptionAriaLabel = (\n option: IcMenuOption,\n parentOption: IcMenuOption\n ): string => {\n let ariaLabel = option.label;\n\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n\n if (parentOption) {\n return `${ariaLabel}, ${parentOption.label} group`;\n } else {\n return ariaLabel;\n }\n };\n\n private getSortedOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n let sorted: IcMenuOption[] = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) =>\n optionA.recommended && !optionB.recommended ? -1 : 0\n );\n }\n return sorted;\n };\n\n private isManualMode = this.activationType === \"manual\";\n\n private scrollToSelected = (menu: HTMLUListElement) => {\n const selectedOption = menu.querySelector(\n \".option[aria-selected]\"\n ) as HTMLElement;\n\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (\n elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight\n ) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n selectedOption.focus();\n }\n };\n\n private loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map(\n (option) => !option.disabled && this.ungroupedOptions.push(option)\n );\n } else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n\n private setMenuScrollbar = () => {\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n\n if (optionsHeight >= 320) {\n this.menu.classList.add(\"menu-scroll\");\n }\n };\n\n private handleTimeoutBlur = (ev: FocusEvent) => {\n this.timeoutBlur.emit({ ev });\n };\n\n private optionContent = (option: IcMenuOption) => {\n return (\n <Fragment>\n {option.loading && <ic-loading-indicator size=\"icon\" />}\n <div class=\"option-text-container\">\n <ic-typography variant=\"body\" aria-hidden=\"true\">\n <p>{option.label}</p>\n </ic-typography>\n {option.description && (\n <ic-typography\n id={`${this.getOptionId(option?.value)}-description`}\n class=\"option-description\"\n variant=\"caption\"\n aria-hidden=\"true\"\n >\n <p>{option.description}</p>\n </ic-typography>\n )}\n </div>\n {!!option.value &&\n !!this.value &&\n option?.value.toLowerCase() === this.value?.toLowerCase() &&\n this.parentEl.tagName !== \"IC-SEARCH-BAR\" && (\n <span class=\"check-icon\" innerHTML={Check} />\n )}\n </Fragment>\n );\n };\n\n private displayOption = (\n option: IcMenuOption,\n index?: number,\n parentOption?: IcMenuOption\n ): HTMLLIElement => {\n const {\n open,\n value,\n keyboardNav,\n isManualMode,\n initialOptionsListRender,\n optionHighlighted,\n options,\n } = this;\n\n return (\n <li\n id={this.getOptionId(option.value)}\n class={{\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option.value === optionHighlighted\n : keyboardNav && option.value === value,\n \"last-recommended-option\":\n option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended,\n \"disabled-option\": option.disabled,\n \"loading-option\": option.loading,\n timeout: option.timedOut,\n }}\n role=\"option\"\n tabindex={\n open &&\n (option.value === value || option.value === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\"\n }\n aria-label={this.getOptionAriaLabel(option, parentOption)}\n aria-selected={option.value === value}\n aria-disabled={option.disabled ? \"true\" : \"false\"}\n onClick={!option.timedOut && !option.loading && this.handleOptionClick}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n data-value={option.value}\n data-label={option.label}\n >\n {option.timedOut ? (\n <Fragment>\n <div class=\"loading-error-info\">\n <svg\n class=\"error-icon-svg\"\n aria-labelledby=\"error-title\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#000000\"\n >\n <title id=\"error-title\">Error</title>\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\" />\n </svg>\n <ic-typography variant=\"label\">{option.label}</ic-typography>\n </div>\n <ic-button\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleRetry}\n onKeyDown={this.handleRetryKeyDown}\n onBlur={this.handleTimeoutBlur}\n id=\"retry-button\"\n >\n Retry\n </ic-button>\n </Fragment>\n ) : (\n this.optionContent(option)\n )}\n </li>\n );\n };\n\n render() {\n const {\n inputLabel,\n options,\n menuId,\n value,\n fullWidth,\n hasTimedOut,\n isLoading,\n small,\n open,\n inputEl,\n keyboardNav,\n } = this;\n\n return (\n <Host\n class={{\n \"full-width\": fullWidth,\n \"no-focus\": inputEl?.tagName === \"INPUT\" || hasTimedOut || isLoading,\n small: small,\n open: open,\n }}\n >\n {options.length !== 0 && (\n <ul\n id={menuId}\n class=\"menu\"\n role=\"listbox\"\n aria-label={inputLabel}\n aria-activedescendant={\n value != null && value !== \"\" ? this.getOptionId(value) : \"\"\n }\n tabindex={\n open && !keyboardNav && inputEl?.tagName !== \"INPUT\" ? \"0\" : \"-1\"\n }\n ref={(el) => (this.menu = el)}\n onKeyDown={this.handleMenuKeyDown}\n onKeyUp={this.handleMenuKeyUp}\n onBlur={this.handleBlur}\n >\n {this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (\n <div>\n <ic-typography\n class=\"option-group-title\"\n role=\"presentation\"\n variant=\"subtitle-small\"\n >\n <p>{option.label}</p>\n </ic-typography>\n {option.children.map((childOption) =>\n this.displayOption(childOption, index, option)\n )}\n </div>\n );\n } else {\n return null;\n }\n } else {\n return this.displayOption(option, index);\n }\n })}\n </ul>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCardCss","Card","this","parentFocussed","isFocussed","parentBlurred","toggleExpanded","areaExpanded","disconnectedCallback","parentIsAnchorTag","parentEl","removeEventListener","componentWillLoad","el","parentElement","tagName","clickable","classList","add","addEventListener","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","heading","propName","updateTheme","handleHostClick","event","stopImmediatePropagation","themeChangeHandler","ev","theme","detail","mode","async","shadowRoot","querySelector","focus","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","appearance","render","expandable","message","href","hreflang","referrerpolicy","rel","subheading","target","fullWidth","Component","undefined","attrs","hrefLang","referrerPolicy","h","Object","assign","class","Dark","tabindex","isSlotUsed","name","variant","size","disableTooltip","onClick","innerHTML","chevronIcon","id"],"sources":["./src/components/ic-card/ic-card.css?tag=ic-card&encapsulation=shadow","./src/components/ic-card/ic-card.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-architechtural-black) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card,\n.card.clickable {\n display: flex;\n flex-direction: column;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-architechtural-black);\n transition: var(--ic-easing-transition-fast);\n}\n\n.dark.card,\n.dark.card.clickable {\n border: var(--ic-space-1px) solid var(--ic-architectural-700);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: var(--ic-border-hover);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-border-pressed);\n}\n\n.card.clickable:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-border-disabled);\n}\n\n.card.fullwidth {\n width: 100%;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.card.clickable .card-title {\n color: var(--ic-hyperlink);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-decoration-thickness: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\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\n.card.clickable:active .card-title {\n text-decoration: none;\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-color-tertiary-text);\n color: var(--ic-color-tertiary-text);\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.card.disabled .card-message,\n.card.disabled .subheading {\n color: var(--ic-color-tertiary-text);\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n margin-left: auto;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n @Element() el: HTMLIcCardElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card.\n */\n @Prop() heading!: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n subheading,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div\n class={{\n [\"card-message\"]: true,\n }}\n >\n {message && <ic-typography variant=\"body\">{message}</ic-typography>}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-button\n class={{\n [\"toggle-button\"]: true,\n [\"toggle-button-closed\"]: !this.areaExpanded,\n [\"toggle-button-expanded\"]: this.areaExpanded,\n }}\n variant=\"icon\"\n size=\"large\"\n disableTooltip\n aria-label=\"Toggle expandable area\"\n aria-expanded={this.areaExpanded}\n aria-controls=\"expanded-content-area\"\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></ic-button>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n </Component>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterLinkGroupCss","FooterLinkGroup","this","handleKeydown","event","key","toggleExpanded","expanded","DEVICE_SIZES","XL","getThemeForegroundColor","componentWillLoad","small","isSmall","el","componentDidLoad","onComponentRequiredPropUndefined","prop","groupTitle","propName","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","dropdownIconStyle","mode","e","parentElement","classList","contains","render","h","Host","class","variant","tabIndex","onClick","onKeydown","fullHeight","xmlns","role","width","height","preserveAspectRatio","viewBox","fill","d","transform"],"sources":["./src/components/ic-footer-link-group/ic-footer-link-group.css?tag=ic-footer-link-group&encapsulation=shadow","./src/components/ic-footer-link-group/ic-footer-link-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-group-sparse) {\n --footer-link-group-margin-right: 5.938rem;\n --footer-link-group-border-bottom: 0 solid transparent;\n --footer-link-group-title-margin-top: 0;\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-small) {\n --footer-link-group-margin-right: 0;\n --footer-link-group-title-margin-top: var(--ic-space-md);\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n --footer-link-group-links-padding-left: var(--ic-space-md);\n --footer-link-group-links-padding-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-light.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-lighten);\n}\n\n:host(.footer-link-group-dark.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-darken);\n}\n\n:host(.footer-link-group) {\n margin-right: var(--footer-link-group-margin-right);\n border-bottom: var(--footer-link-group-border-bottom);\n}\n\n:host(.footer-link-group-small.footer-link-group-light:hover) {\n background-color: var(--ic-action-light-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:hover) {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-sparse:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small.footer-link-group-light:active) {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:active) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.footer-link-group-title {\n margin-top: var(--footer-link-group-title-margin-top);\n margin-bottom: var(--footer-link-group-title-margin-bottom);\n flex-grow: 1;\n}\n\n.footer-link-group-toggle {\n fill: white !important;\n}\n\n.footer-link-group-links {\n display: flex;\n flex-direction: column;\n}\n\n.footer-link-group-header {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n Host,\n Element,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTheme } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-footer-link-group\",\n styleUrl: \"ic-footer-link-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLinkGroup {\n @Element() el: HTMLIcFooterLinkGroupElement;\n\n @State() expanded: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownIconStyle = getThemeForegroundColor();\n @State() small: boolean = false;\n\n /**\n * The title of the link group to be displayed.\n */\n @Prop() groupTitle!: string;\n\n componentWillLoad(): void {\n this.small = this.isSmall(this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.groupTitle, propName: \"group-title\" }],\n \"Footer Link Group\"\n );\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.small = this.isSmall(this.el);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.dropdownIconStyle = theme.mode;\n }\n\n private isSmall(e: HTMLElement): boolean {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"footer\")) {\n return e.parentElement.classList.contains(\"footer-small\");\n } else {\n return this.isSmall(e.parentElement);\n }\n } else {\n return false;\n }\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === \" \" || event.key === \"Enter\") {\n this.toggleExpanded();\n }\n };\n\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n render() {\n const { small, groupTitle } = this;\n\n return !small ? (\n <Host\n class={{\n [\"footer-link-group footer-link-group-sparse\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n >\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"subtitle-small\">{groupTitle}</ic-typography>\n </div>\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n </Host>\n ) : (\n <Host\n class={{\n [\"footer-link-group footer-link-group-small\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n tabIndex=\"1\"\n onClick={this.toggleExpanded}\n onKeydown={this.handleKeydown}\n aria-haspopup=\"true\"\n aria-expanded={this.expanded}\n >\n <ic-section-container fullHeight={true}>\n <div class=\"footer-link-group-header\">\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"label\">{groupTitle}</ic-typography>\n </div>\n {this.expanded ? (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </svg>\n ) : (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <g transform=\"translate(0 1200) scale(1 -1)\">\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </g>\n </svg>\n )}\n </div>\n {this.expanded && (\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAuB,+zI,MCuBhBC,EAAe,M,yBA+ClBC,KAAAC,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC9CH,KAAKI,gB,GAIDJ,KAAAI,eAAiB,KACvBJ,KAAKK,UAAYL,KAAKK,QAAQ,E,cAnDH,M,gBACCC,EAAaC,G,uBACdC,I,WACH,M,0BAO1BC,oBACET,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAGjCC,mBACEC,EACE,CAAC,CAAEC,KAAMf,KAAKgB,WAAYC,SAAU,gBACpC,oB,CAKJC,sBACElB,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAIjCO,yBAAyBC,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BtB,KAAKuB,kBAAoBF,EAAMG,I,CAGzBb,QAAQc,GACd,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,OAAOH,EAAEC,cAAcC,UAAUC,SAAS,e,KACrC,CACL,OAAO5B,KAAKW,QAAQc,EAAEC,c,MAEnB,CACL,OAAO,K,EAcXG,SACE,MAAMnB,MAAEA,EAAKM,WAAEA,GAAehB,KAE9B,OAAQU,EACNoB,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,8CAA+C,KAChD,CAAC,qBAAqBhC,KAAKuB,qBAAsB,OAGnDO,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,kBAAkBjB,IAE3Cc,EAAA,OAAKE,MAAM,2BACTF,EAAA,eAIJA,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,6CAA8C,KAC/C,CAAC,qBAAqBhC,KAAKuB,qBAAsB,MAEnDW,SAAS,IACTC,QAASnC,KAAKI,eACdgC,UAAWpC,KAAKC,cAAa,gBACf,OAAM,gBACLD,KAAKK,UAEpByB,EAAA,wBAAsBO,WAAY,MAChCP,EAAA,OAAKE,MAAM,4BACTF,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,SAASjB,IAEjChB,KAAKK,SACJyB,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,QACEc,KAAK,eACLC,EAAE,8IAINf,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,KAAGgB,UAAU,iCACXhB,EAAA,QACEc,KAAK,eACLC,EAAE,gJAMX7C,KAAKK,UACJyB,EAAA,OAAKE,MAAM,2BACTF,EAAA,e"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTopNavigationCss","TopNavigation","this","hasAppIcon","hasIconButtons","hasNavigation","hasSearchSlotContent","resizeObserver","searchBar","initialiseSearchBar","slot","getSlot","el","tagName","querySelector","hideLabel","emitTopNavResized","size","event","CustomEvent","detail","dispatchEvent","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClick","searchButtonClickHandler","toggleSearchBar","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","L","mobileSearchBarVisible","document","activeElement","undefined","setAttribute","removeAttribute","setTimeout","focus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","getThemeForegroundColor","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","disconnectedCallback","disconnect","componentWillLoad","isSlotUsed","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","appTitle","propName","componentWillRender","navBarMenuCloseHandler","menuBtn","shadowRoot","searchInputBlurHandler","ev","searchValue","value","searchValueChangeHandler","themeChangeHandler","theme","foregroundColor","mode","mobileSearchButtonEl","updateAriaLabel","hasFullWidthSearchBar","fullWidth","show","navMenuVisible","icNavigationMenuOpened","emit","body","style","height","overflow","icNavigationMenuClosed","render","hasMenuContent","status","version","searchButtonSize","S","appTitleVariant","hasTitle","mobileSearchButtonTitle","menuSize","Component","attrs","href","h","Host","class","IcThemeForegroundEnum","Dark","aligned","contentAligned","role","Object","assign","name","isEmptyString","shortAppTitle","variant","id","ref","onMouseDown","appearance","onClick","xmlns","viewBox","fill","d","menuOpen","width","tabindex","inline"],"sources":["./src/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","./src/components/ic-top-navigation/ic-top-navigation.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n color: var(--ic-theme-text);\n width: 100%;\n position: relative;\n}\n\n:host .top-navigation {\n background-color: var(--ic-theme-primary);\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active,\n:host .title-link ::slotted(a),\n:host .title-link:visited ::slotted(a),\n:host .title-link:active ::slotted(a) {\n color: var(--ic-theme-text);\n text-decoration: none;\n outline: none;\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-keyline-lighten);\n padding: 0 var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navigation-tabs {\n margin-top: calc(-1 * var(--ic-space-1px));\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.title-wrap {\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n hyphens: auto;\n}\n\n:host .app-status {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\n:host(.dark) .app-status {\n background-color: var(--ic-theme-text);\n color: var(--ic-color-white-text);\n}\n\n:host .app-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-theme-active);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\nslot[name=\"app-icon\"]::slotted(svg) {\n fill: var(--ic-theme-text);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-theme-text);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.menu-button-container .navigation-landmark-button-text {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 2.75rem;\n}\n\n.navigation-item-list::-webkit-scrollbar {\n display: none;\n}\n\n:host ic-section-container {\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding: 0 var(--ic-space-md);\n }\n}\n\n/* medium */\n@media screen and (max-width: 992px) {\n :host .nav-panel-container,\n :host .app-status,\n :host .app-version {\n display: none;\n }\n\n :host .title-link {\n margin-right: var(--ic-space-xs);\n }\n\n .search-menu-container {\n max-width: 10rem;\n }\n\n .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-keyline-darken);\n height: 4rem;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n }\n}\n\n/* x small */\n@media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n hyphens: none;\n }\n\n .top-panel-container {\n min-height: 2.5rem;\n }\n\n .searchbox-inline {\n display: none;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 3.5rem;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n}\n\n@media (forced-colors: active) {\n :host .top-navigation {\n border-bottom: var(--ic-hc-border);\n }\n\n .app-status,\n .app-version {\n border: var(--ic-hc-border);\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcTheme,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n isEmptyString,\n} from \"../../utils/helpers\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n private hasAppIcon: boolean = false;\n private hasIconButtons: boolean = false;\n private hasNavigation: boolean = false;\n private hasSearchSlotContent: boolean = false;\n private mobileSearchButtonEl: HTMLIcButtonElement;\n private resizeObserver: ResizeObserver = null;\n private searchBar: HTMLIcSearchBarElement = null;\n\n @Element() el: HTMLIcTopNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() hasFullWidthSearchBar: boolean = false;\n @State() menuOpen: boolean = false;\n @State() mobileSearchBarVisible: boolean = false;\n @State() mobileSearchHiddenOnBlur: boolean = false;\n @State() navMenuVisible: boolean = false;\n @State() searchButtonClick: boolean = false;\n @State() searchValue: string = \"\";\n\n /**\n * The alignment of the top navigation content.\n */\n @Prop() contentAligned: IcAlignment = \"full-width\";\n /**\n * The URL to navigate to when the app title is clicked.\n */\n @Prop() href: string = \"/\";\n\n /**\n * If `true`, the flyout navigation menu on small devices will be contained by the parent element.\n */\n @Prop() inline: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle: string = \"\";\n\n /**\n * The status info to be displayed.\n */\n @Prop() status: string = \"\";\n\n /**\n * The version info to be displayed.\n */\n @Prop() version: string = \"\";\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle: string;\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once gatbsy hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n\n componentWillRender(): void {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n }\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n const menuBtn = this.el.shadowRoot.querySelector(\n \"#menu-button\"\n ) as HTMLElement;\n menuBtn.focus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler(ev: CustomEvent): void {\n if (ev.detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = ev.detail.value;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler(ev: CustomEvent): void {\n this.searchValue = ev.detail.value;\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if (slot && slot.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot && slot.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\n \"ic-search-bar\"\n ) as HTMLIcSearchBarElement;\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n\n private toggleSearchBar(): void {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (this.searchBar !== null) {\n if (this.mobileSearchBarVisible) {\n this.mobileSearchButtonEl.updateAriaLabel(\"Hide search\");\n this.hasFullWidthSearchBar = true;\n this.searchBar.fullWidth = true;\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n } else {\n this.mobileSearchButtonEl.updateAriaLabel(\"Show search\");\n this.hasFullWidthSearchBar = false;\n this.searchBar.fullWidth = false;\n }\n }\n }\n\n private emitTopNavResized = (size: number): void => {\n const event = new CustomEvent(\"topNavResized\", { detail: { size: size } });\n this.el.dispatchEvent(event);\n };\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu(show: boolean): void {\n this.navMenuVisible = show;\n if (show) {\n this.icNavigationMenuOpened.emit();\n document.body.style.height = \"100%\";\n document.body.style.overflow = \"hidden\";\n } else {\n this.icNavigationMenuClosed.emit();\n document.body.style.height = \"auto\";\n document.body.style.overflow = \"auto\";\n }\n }\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > DEVICE_SIZES.L) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.emitTopNavResized(currSize);\n if (\n document.activeElement !== null &&\n document.activeElement !== undefined &&\n document.activeElement.tagName === \"IC-SEARCH-BAR\"\n ) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n const hasMenuContent =\n this.hasNavigation ||\n this.hasIconButtons ||\n this.status !== \"\" ||\n this.version !== \"\";\n\n const searchButtonSize =\n this.deviceSize <= DEVICE_SIZES.S ? \"default\" : \"large\";\n\n let appTitleVariant: IcTypographyVariants = \"h3\";\n\n const hasTitle = this.appTitle !== \"\" && this.appTitle !== undefined;\n\n if (this.deviceSize <= DEVICE_SIZES.L) {\n appTitleVariant = \"h4\";\n if (this.deviceSize <= DEVICE_SIZES.S) {\n appTitleVariant = \"subtitle-small\";\n }\n }\n\n const mobileSearchButtonTitle = this.mobileSearchBarVisible\n ? \"Hide search\"\n : \"Show search\";\n const menuSize = this.deviceSize <= DEVICE_SIZES.S ? \"small\" : \"default\";\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: this.href,\n };\n\n return (\n <Host\n class={{\n [\"fullwidth-searchbar\"]: this.hasFullWidthSearchBar,\n [IcThemeForegroundEnum.Dark]:\n this.foregroundColor === IcThemeForegroundEnum.Dark,\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned={this.contentAligned} full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component class=\"title-link\" {...attrs}>\n {this.hasAppIcon && (\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\" />\n </div>\n )}\n {this.deviceSize <= DEVICE_SIZES.S &&\n !isEmptyString(this.shortAppTitle) ? (\n <ic-typography\n variant=\"subtitle-small\"\n aria-label={`${this.appTitle} (${this.shortAppTitle})`}\n >\n <h1>{this.shortAppTitle}</h1>\n </ic-typography>\n ) : (\n <ic-typography variant={appTitleVariant}>\n <h1 class=\"title-wrap\">\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.appTitle\n )}\n </h1>\n </ic-typography>\n )}\n </Component>\n )}\n {this.status !== \"\" && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {this.status}\n </ic-typography>\n </div>\n )}\n {this.version !== \"\" && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {this.version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(this.hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {this.deviceSize > DEVICE_SIZES.L && (\n <slot name=\"search\"></slot>\n )}\n\n {this.hasSearchSlotContent &&\n this.deviceSize <= DEVICE_SIZES.L && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={this.searchButtonMouseDownHandler}\n variant=\"icon\"\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n appearance={this.foregroundColor}\n onClick={this.searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\" slot=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n\n {this.hasIconButtons && this.deviceSize > DEVICE_SIZES.L && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {hasMenuContent && this.deviceSize <= DEVICE_SIZES.L && (\n <div class=\"menu-button-container\">\n <span\n id=\"navigation-landmark-button-text\"\n class=\"navigation-landmark-button-text\"\n aria-hidden=\"true\"\n >\n Main navigation button\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-button-text\"\n aria-hidden={this.navMenuVisible ? \"true\" : \"false\"}\n >\n <ic-button\n id=\"menu-button\"\n appearance={this.foregroundColor}\n variant=\"secondary\"\n aria-expanded={this.menuOpen ? \"true\" : \"false\"}\n aria-haspopup=\"true\"\n aria-label={`Open ${\n this.hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={this.menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n\n {this.mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {this.hasNavigation && this.deviceSize > DEVICE_SIZES.L && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main navigation\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ic-horizontal-scroll appearance={this.foregroundColor}>\n <ul class=\"navigation-item-list\" tabindex=\"-1\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-horizontal-scroll>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {this.navMenuVisible && (\n <ic-navigation-menu\n version={this.version}\n status={this.status}\n class={{\n [\"inline\"]: this.inline,\n }}\n >\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterLinkCss","FooterLink","DEVICE_SIZES","XL","small","grouped","getThemeForegroundColor","componentWillLoad","this","footerConfig","inferConfig","el","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","foregroundColor","mode","e","parentElement","classList","contains","render","href","hreflang","referrerpolicy","rel","target","download","h","Host","class","referrerPolicy","innerHTML","OpenInNew"],"sources":["./src/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","./src/components/ic-footer-link/ic-footer-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n/* Link styling */\n\n:host(.footer-link) a,\n:host(.footer-link) a ::slotted(a) {\n display: flex;\n align-items: flex-end;\n font-weight: var(--ic-font-weight-bold);\n color: inherit;\n width: fit-content;\n font-size: var(--ic-font-size-regular);\n}\n\n:host(.footer-link) a:link,\n:host(.footer-link) a ::slotted(a:link) {\n color: inherit;\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.footer-link) a:link > ::slotted(svg),\n:host(.footer-link) a:link > ::slotted(img),\n:host(.footer-link) a ::slotted(a:link > ::slotted(svg)),\n:host(.footer-link) a ::slotted(a:link > ::slotted(img)) {\n padding: var(--ic-space-xxxs);\n pointer-events: none;\n transition: var(--ic-easing-transition-fast);\n}\n\n/*\nThere's an apparent defect in Chrome that means this isn't always re-rendered if changed.\nNot an issue in Safari. Line 73-79 implement the same function but less clean.\n\na:link > ::slotted(svg) ,\na:link:visited > ::slotted(svg) {\n fill: var(--ic-theme-text);\n}\n*/\n\n:host(.footer-link-light) ::slotted(svg) {\n fill: var(--ic-architectural-white);\n}\n\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-architectural-black);\n}\n\n:host(.footer-link) a:link:hover,\n:host(.footer-link) a:link:focus,\n:host(.footer-link) a ::slotted(a:link:hover),\n:host(.footer-link) a ::slotted(a:link:focus) {\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-decoration-thickness: 25%) {\n :host(.footer-link) a:link:hover,\n :host(.footer-link) a:link:focus,\n :host(.footer-link) a ::slotted(a:link:hover),\n :host(.footer-link) a ::slotted(a:link: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\n:host(.footer-link) a:link:hover,\n:host(.footer-link) a ::slotted(a:link:hover) {\n outline: none;\n}\n\n:host(.footer-link) a:link:focus,\n:host(.footer-link) a ::slotted(a:link:focus) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.footer-link) a:link:focus > ::slotted(svg),\n:host(.footer-link) a:link:focus > ::slotted(img),\n:host(.footer-link) a ::slotted(a:link:focus > ::slotted(svg)),\n:host(.footer-link) a ::slotted(a:link:focus > ::slotted(img)) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.footer-link) a:focus,\n:host(.footer-link) a ::slotted(a:focus) {\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n transition: var(--ic-transition-duration-fast);\n}\n\n:host(.footer-link) a:link:active,\n:host(.footer-link) a:link:focus:active,\n:host(.footer-link) a:link:visited:active,\n:host(.footer-link) a ::slotted(a:link:active),\n:host(.footer-link) a ::slotted(a:link:focus:active),\n:host(.footer-link) a ::slotted(a:link:visited:active) {\n color: inherit;\n text-decoration: none;\n}\n\n:host(.footer-link) a:hover,\n:host(.footer-link) a ::slotted(a:hover) {\n text-decoration: none;\n}\n\n.open-in-new-icon {\n padding-left: var(--ic-space-xxs);\n}\n\n.open-in-new-icon,\n.open-in-new-icon svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n:host(.footer-link-light) .open-in-new-icon svg {\n fill: var(--ic-architectural-white);\n}\n\n:host(.footer-link-dark) .open-in-new-icon svg {\n fill: var(--ic-architectural-black);\n}\n\n@media screen and (min-width: 769px) {\n :host(.footer-link.footer-link-ungrouped-sparse:last-of-type) {\n margin-right: 0;\n }\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport { DEVICE_SIZES, getThemeForegroundColor } from \"../../utils/helpers\";\nimport { IcTheme, IcThemeForeground } from \"../../utils/types\";\n\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\n\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string = null;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private inferConfig(e: HTMLElement): FooterConfig {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"footer\")) {\n return {\n small: e.parentElement.classList.contains(\"footer-small\"),\n grouped: e.parentElement.classList.contains(\"footer-grouped\"),\n };\n } else {\n return this.inferConfig(e.parentElement);\n }\n } else {\n return { small: false, grouped: false };\n }\n }\n\n render() {\n const {\n footerConfig,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n download,\n } = this;\n const { small, grouped } = footerConfig;\n\n return (\n <Host\n class={{\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${\n small ? \"small\" : \"sparse\"\n }`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n }}\n >\n <a\n href={href}\n hreflang={hreflang}\n referrerPolicy={referrerpolicy}\n rel={rel}\n download={download !== false ? download : null}\n target={target}\n >\n <slot />\n {target === \"_blank\" && (\n <span class=\"open-in-new-icon\" innerHTML={OpenInNew} />\n )}\n </a>\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAkB,6gM,MCuBXC,EAAU,M,yCAGSC,EAAaC,G,kBACL,CAAEC,MAAO,MAAOC,QAAS,O,qBACjBC,I,cAKR,M,UAKd,K,+FAsBxBC,oBACEC,KAAKC,aAAeD,KAAKE,YAAYF,KAAKG,G,CAI5CC,sBACEJ,KAAKC,aAAeD,KAAKE,YAAYF,KAAKG,G,CAI5CE,yBAAyBC,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BR,KAAKS,gBAAkBF,EAAMG,I,CAGvBR,YAAYS,GAClB,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,MAAO,CACLlB,MAAOe,EAAEC,cAAcC,UAAUC,SAAS,gBAC1CjB,QAASc,EAAEC,cAAcC,UAAUC,SAAS,kB,KAEzC,CACL,OAAOd,KAAKE,YAAYS,EAAEC,c,MAEvB,CACL,MAAO,CAAEhB,MAAO,MAAOC,QAAS,M,EAIpCkB,SACE,MAAMd,aACJA,EAAYe,KACZA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMC,SACNA,GACErB,KACJ,MAAMJ,MAAEA,EAAKC,QAAEA,GAAYI,EAE3B,OACEqB,EAACC,EAAI,CACHC,MAAO,CACL,cAAe,KACf,CAAC,eAAe3B,EAAU,UAAY,eACpCD,EAAQ,QAAU,YACf,KACL,CAAC,eAAeI,KAAKS,mBAAoB,OAG3Ca,EAAA,KACEN,KAAMA,EACNC,SAAUA,EACVQ,eAAgBP,EAChBC,IAAKA,EACLE,SAAUA,IAAa,MAAQA,EAAW,KAC1CD,OAAQA,GAERE,EAAA,aACCF,IAAW,UACVE,EAAA,QAAME,MAAM,mBAAmBE,UAAWC,K"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","firstItemVisible","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","undefined","disconnect","removeEventListener","async","itemPosition","newScrollPos","render","appearance","h","Host","class","IcThemeForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["./src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","./src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.light) {\n --splitter-color: var(--ic-keyline-lighten-rgb);\n}\n\n:host(.dark) {\n --splitter-color: var(--ic-keyline-darken-rgb);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0 var(--ic-space-xs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n.disabled ic-button > svg {\n color: var(--ic-keyline-darken-rgb);\n}\n\n:host(.dark) .disabled ic-button > svg,\n:host(.light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n\n this.items = (getSlotElements(this.itemsContainerEl) ||\n Array.from(this.itemsContainerEl.children)) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(\"focus\", this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(\"focus\", this.focusHandler);\n }\n });\n\n this.itemsContainerEl.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-69920d86.js";import{I as h}from"./p-6f57b13c.js";import{w as n,x as o,y as r,r as l,a as c,j as u,f as d}from"./p-5dd0b02e.js";const f=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const b=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const p='/*! 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(.search){--divider-height:1.5rem}:host(.search.small){--divider-height:1rem}:host(.fullwidth){width:100%}:host(.search) .disabled:hover{border-color:var(--ic-architectural-200)}:host(.search.disabled) .disabled svg{color:var(--ic-architectural-200)}:host(.search) .disabled svg{color:var(--ic-architectural-400)}.clear-button-container{align-items:center;margin-right:var(--ic-space-1px);display:none;visibility:hidden}.clear-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{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,.clear-button:active *{fill:white}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus,.search-submit-button:active{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow) !important;border-radius:var(--ic-space-xxs)}.search-submit-button:focus,.search-submit-button:active *{fill:white}.divider{width:var(--ic-space-1px);background-color:var(--ic-action-dark-active);height:var(--divider-height)}:host(.dark) .divider{background-color:var(--ic-architectural-200)}.menu-container{width:var(--input-width, 20rem);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);margin-bottom:calc(-1 * var(--ic-space-1px));margin-right:calc(-1 * var(--ic-space-1px));overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}';let m=0;const v=class{constructor(s){t(this,s);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icInput=i(this,"icInput",7);this.icInputBlur=i(this,"icInputBlur",7);this.icInputFocus=i(this,"icInputFocus",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.assistiveHintEl=null;this.hasTimedOut=false;this.inputId=`ic-search-bar-input-${m++}`;this.menuCloseFromMenuChangeEvent=false;this.menuId=`${this.inputId}-menu`;this.preLoad=true;this.preventSubmit=false;this.prevNoOption=false;this.retryButtonClick=false;this.truncateValue=false;this.handleClear=t=>{const i=t;const s=t;if(s.type==="click"||i.code==="Enter"||i.code==="Space"){this.value="";this.inputEl.value="";this.loading=false;clearTimeout(this.timeoutTimer);this.filteredOptions=this.options;this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.onInput=t=>{this.value=t.target.value;const i=[{label:this.emptyOptionListText,value:""}];if(this.options.length>0){this.setMenuChange(true);this.preLoad=false;if(this.disableFilter===false){const t=n(this.options,false,this.value,"anywhere");this.filteredOptions=t.length>0?t:i}}if(!this.showClearButton){this.handleShowClearButton(true)}this.debounceAriaLiveUpdate()};this.onInputBlur=t=>{const i=t.target.value;const s=t.relatedTarget;this.icInputBlur.emit({value:i,relatedTarget:s})};this.onInputFocus=t=>{const i=t.target.value;this.icInputFocus.emit({value:i});this.handleShowClearButton(true)};this.handleClearBlur=t=>{const i=t.relatedTarget;this.icClearBlur.emit({relatedTarget:i});this.clearButtonFocused=false};this.handleSubmitSearchBlur=t=>{const i=t.relatedTarget;this.icSubmitSearchBlur.emit({relatedTarget:i});this.searchSubmitFocused=false};this.handleMouseDown=t=>{t.preventDefault()};this.handleSubmitSearchFocus=()=>{this.searchSubmitFocused=true};this.handleSubmitSearch=()=>{this.highlightedValue&&(this.value=this.highlightedValue);this.highlightedValue=undefined;this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){o(t,this.searchSubmitButton)}};this.handleSubmitSearchKeyDown=t=>{if(t.key===" "){t.preventDefault();this.handleSubmitSearch()}};this.handleRetry=t=>{this.retryViaKeyPress=t.detail.keyPressed==="Enter";this.icRetryLoad.emit({value:t.detail.value});this.triggerLoading();this.retryButtonClick=true};this.triggerLoading=()=>{const t=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==t)this.filteredOptions=t;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.filteredOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}]}),this.timeout)}};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuOptionHighlight=t=>{var i;const s=(i=t.detail.optionId)===null||i===void 0?void 0:i.replace(`${this.menuId}-`,"");s&&(this.highlightedValue=s);if(t.detail.optionId){this.ariaActiveDescendant=t.detail.optionId}else{this.ariaActiveDescendant=undefined}};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open);if(!t.detail.open){this.handleMenuCloseFromMenuChange(true);if(t.detail.focusInput===undefined||t.detail.focusInput){this.el.setFocus()}}};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&this.value&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.handleTruncateValue(false);this.icSearchBarFocus.emit()};this.handleHostBlur=t=>{const i=t.relatedTarget;if(this.open&&this.options&&i!==this.menu&&!this.retryViaKeyPress&&!this.retryButtonClick){this.setMenuChange(false)}if(this.retryButtonClick||this.retryViaKeyPress){this.inputEl.setFocus()}this.handleShowClearButton(false);this.handleMenuCloseFromMenuChange(false);this.handleTruncateValue(true);this.icSearchBarBlur.emit({relatedTarget:i,value:this.value});this.retryViaKeyPress=false;this.retryButtonClick=false};this.handleShowClearButton=t=>{this.showClearButton=t};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.handleMenuCloseFromMenuChange=t=>{this.menuCloseFromMenuChangeEvent=t};this.handleTruncateValue=t=>{this.truncateValue=t};this.renderAssistiveHintEl=()=>{var t,i;const s=(i=(t=this.el.shadowRoot.querySelector("ic-text-field"))===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(`#${this.inputId}`);if(s&&Object.keys(s).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.hintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";if(s.after!==undefined){s.after(this.assistiveHintEl)}}};this.updateSearchResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".search-results-status");if(!this.open||this.value===""||this.value.length<this.charactersUntilSuggestion){t.innerText=""}else if(this.hasOptionsOrFilterDisabled()&&this.filteredOptions.length>0&&this.open&&t&&!this.filteredOptions[0].loading){if(this.hadNoOptions()){t.innerText=this.emptyOptionListText}else{t.innerText=`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableFilter;this.hadNoOptions=()=>this.filteredOptions.length===1&&this.filteredOptions[0].label===this.emptyOptionListText&&this.searchMode==="navigation";this.isSubmitDisabled=()=>{const t=this.value===undefined||this.value===null||this.value==="";const i=this.value.length<this.charactersUntilSuggestion;return t||i||this.disabled||this.hadNoOptions()||this.hasTimedOut||this.loading};this.highlightFirstOptionAfterNoResults=()=>{if(this.prevNoOption&&this.menu&&!this.hasTimedOut){this.menu.handleSetFirstOption();this.prevNoOption=false}const t=this.filteredOptions.find((t=>t.label===this.emptyOptionListText||t.label===this.loadingErrorLabel||t.label===this.loadingLabel));if(t){this.prevNoOption=true}};this.ariaActiveDescendant=undefined;this.clearButtonFocused=false;this.highlightedValue=undefined;this.open=false;this.searchSubmitFocused=false;this.showClearButton=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.charactersUntilSuggestion=2;this.disabled=false;this.disableFilter=false;this.debounce=0;this.emptyOptionListText="No results found";this.focusOnLoad=false;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.hintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.label=undefined;this.loading=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.name=this.inputId;this.placeholder="Search";this.readonly=false;this.required=false;this.searchMode="navigation";this.small=false;this.spellcheck=false;this.timeout=undefined;this.filteredOptions=[];this.options=[];this.value=""}loadingHandler(t){if(t&&!this.hasTimedOut){this.preLoad=false;this.triggerLoading()}}filteredOptionsHandler(t){this.hasTimedOut=t.some((t=>t.timedOut))}watchOptionsHandler(t){if(this.disableFilter&&!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(t.length>0){this.filteredOptions=t}else{if(this.hadNoOptions()){return}this.setMenuChange(true);!this.preLoad&&(this.filteredOptions=[{label:this.emptyOptionListText,value:""}]);this.preLoad=true}}this.debounceAriaLiveUpdate()}watchValueHandler(t){if(this.inputEl&&this.options&&!!r(t,this.options)){this.inputEl.value=r(t,this.options)}else if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}}disconnectedCallback(){if(this.assistiveHintEl){this.assistiveHintEl.remove()}}componentWillLoad(){this.watchValueHandler(this.value);l(this.disabled,this.el)}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableFilter){this.filteredOptions=this.options}}c([{prop:this.label,propName:"label"}],"Search Bar");if(this.inputEl!==undefined){this.anchorEl=this.inputEl.shadowRoot.querySelector("ic-input-component-container")}}componentWillRender(){this.highlightFirstOptionAfterNoResults()}handleKeyDown(t){const i=t.detail.event;if(this.menu&&this.open){this.menu.handleKeyboardOpen(i)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit||this.isSubmitDisabled()){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}async setFocus(){this.retryViaKeyPress=false;this.retryButtonClick=false;if(this.inputEl){this.inputEl.setFocus()}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAriaLive);this.debounceAriaLive=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}render(){const{inputId:t,name:i,label:a,required:n,small:o,placeholder:l,helperText:c,disabled:p,value:m,readonly:v,spellcheck:g,fullWidth:w,options:y,open:x,hideLabel:k,menuId:L,ariaActiveDescendant:z,truncateValue:C,autofocus:B,autocapitalize:M,autocomplete:S,filteredOptions:T}=this;const O=v||p?true:false;const H=u(t,c!=="",false).trim();let F;if(H!==""&&this.hasOptionsOrFilterDisabled()){F=`${H} ${this.inputId}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){F=`${this.inputId}-assistive-hint`}else if(H!==""){F=H}else{F=undefined}const I=O&&!v;const $=m&&this.hasOptionsOrFilterDisabled();const E=$&&x&&T.length>0;const D=this.filteredOptions.length===1&&(this.filteredOptions[0].label===this.loadingLabel||T[0].label===this.loadingErrorLabel);let j;if(y.length>0){if(E){j="true"}else{j="false"}}else{j=undefined}d(true,this.el,i,m,O);return s(e,{class:{["search"]:true,["fullwidth"]:w,["disabled"]:p,["small"]:o},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},s("ic-text-field",{ref:t=>this.inputEl=t,inputId:t,label:a,helperText:c,required:n,disabled:I,readonly:v,small:o,hideLabel:k,fullWidth:w,name:i,truncateValue:C,value:y&&!!r(m,y)?r(m,y):m,placeholder:l,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":k?a:"","aria-describedby":F,"aria-owns":$?L:undefined,"aria-haspopup":y.length>0?"listbox":undefined,ariaExpanded:j,ariaActiveDescendant:z,"aria-autocomplete":$?"list":undefined,role:$?"combobox":undefined,autocomplete:S,autocapitalize:M,autoFocus:B,spellcheck:g,inputmode:"search",debounce:this.debounce},s("div",{class:{"clear-button-container":true,"clear-button-visible":m&&!O&&this.showClearButton},slot:"clear-button"},s("ic-button",{id:"clear-button",class:"clear-button","aria-label":"Clear",innerHTML:f,onClick:this.handleClear,onMouseDown:this.handleMouseDown,size:o?"small":"default",onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"submit",variant:"icon",appearance:this.clearButtonFocused?h.Light:h.Dark}),s("div",{class:"divider"})),s("div",{class:{"search-submit-button-container":true,"search-submit-button-disabled":this.isSubmitDisabled()},slot:"search-submit-button"},s("ic-button",{id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{["search-submit-button"]:true,["search-submit-button-small"]:!!o},disabled:this.isSubmitDisabled(),innerHTML:b,size:o?"small":"default",onClick:this.handleSubmitSearch,onMouseDown:this.handleMouseDown,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,onKeyDown:this.handleSubmitSearchKeyDown,type:"submit",variant:"icon",appearance:this.searchSubmitFocused?h.Light:h.Default})),s("div",{class:{"menu-container":true,fullwidth:w},slot:"menu"},E&&m.length>=this.charactersUntilSuggestion&&s("ic-menu",{class:{"no-results":this.hadNoOptions()||D},activationType:"manual",anchorEl:this.anchorEl,autoFocusOnSelected:false,searchMode:this.searchMode,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,small:o,fullWidth:w,menuId:L,open:true,options:T,onMenuOptionSelect:this.handleOptionSelect,onMenuStateChange:this.handleMenuChange,onMenuOptionId:this.handleMenuOptionHighlight,onRetryButtonClicked:this.handleRetry,parentEl:this.el,value:m}))),s("div",{"aria-live":"polite",role:"status",class:"search-results-status"}))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{loading:["loadingHandler"],filteredOptions:["filteredOptionsHandler"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};v.style=p;export{v as ic_search_bar};
2
- //# sourceMappingURL=p-e0ee714a.entry.js.map