@ukic/web-components 2.1.0-beta.0 → 2.1.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (591) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-d0eeccf0.js → helpers-8bc3b6d2.js} +83 -38
  4. package/dist/cjs/helpers-8bc3b6d2.js.map +1 -0
  5. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +19 -9
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +59 -18
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card.cjs.entry.js +16 -3
  16. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +6 -5
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -3
  55. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +17 -3
  57. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-select.cjs.entry.js +2 -7
  60. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js +9 -5
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-step.cjs.entry.js +1 -9
  68. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-tab-panel.cjs.entry.js +0 -4
  77. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-tab.cjs.entry.js +1 -5
  79. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-text-field.cjs.entry.js +2 -2
  81. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-theme.cjs.entry.js +19 -11
  83. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  87. package/dist/cjs/index-3ef30d9d.js.map +1 -1
  88. package/dist/cjs/loader.cjs.js +2 -2
  89. package/dist/cjs/loader.cjs.js.map +1 -1
  90. package/dist/cjs/types-3eb02246.js.map +1 -1
  91. package/dist/collection/collection-manifest.json +2 -2
  92. package/dist/collection/components/ic-alert/ic-alert.css +10 -4
  93. package/dist/collection/components/ic-alert/ic-alert.js +7 -7
  94. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  95. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +6 -0
  96. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +17 -7
  97. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  98. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +6 -0
  99. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -4
  100. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  101. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  102. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  103. package/dist/collection/components/ic-button/ic-button.css +11 -0
  104. package/dist/collection/components/ic-button/ic-button.js +11 -11
  105. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  106. package/dist/collection/components/ic-card/ic-card.css +5 -0
  107. package/dist/collection/components/ic-card/ic-card.js +31 -10
  108. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  109. package/dist/collection/components/ic-checkbox/ic-checkbox.css +38 -1
  110. package/dist/collection/components/ic-checkbox/ic-checkbox.js +12 -11
  111. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  112. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +9 -9
  113. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  114. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +6 -0
  115. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +5 -5
  116. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  117. package/dist/collection/components/ic-data-entity/ic-data-entity.css +6 -0
  118. package/dist/collection/components/ic-data-entity/ic-data-entity.js +2 -2
  119. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  120. package/dist/collection/components/ic-data-row/ic-data-row.css +7 -1
  121. package/dist/collection/components/ic-data-row/ic-data-row.js +3 -3
  122. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  123. package/dist/collection/components/ic-footer/ic-footer.css +6 -0
  124. package/dist/collection/components/ic-footer/ic-footer.js +10 -10
  125. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  126. package/dist/collection/components/ic-footer-link/ic-footer-link.css +14 -1
  127. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +1 -1
  128. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  129. package/dist/collection/components/ic-hero/ic-hero.js +9 -9
  130. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +18 -4
  132. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -8
  133. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  134. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  135. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  136. package/dist/collection/components/ic-input-label/ic-input-label.js +8 -8
  137. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  138. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -5
  139. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  140. package/dist/collection/components/ic-link/ic-link.js +6 -6
  141. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  142. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +56 -101
  143. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +58 -15
  144. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  145. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  146. package/dist/collection/components/ic-menu/ic-menu.css +8 -1
  147. package/dist/collection/components/ic-menu/ic-menu.js +13 -12
  148. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  149. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +4 -4
  150. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  151. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +2 -2
  152. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  153. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +6 -6
  154. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  155. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +2 -2
  156. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  157. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -0
  158. package/dist/collection/components/ic-page-header/ic-page-header.js +8 -8
  159. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  160. package/dist/collection/components/ic-radio-group/ic-radio-group.js +9 -9
  161. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  162. package/dist/collection/components/ic-radio-option/ic-radio-option.css +29 -10
  163. package/dist/collection/components/ic-radio-option/ic-radio-option.js +8 -23
  164. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  165. package/dist/collection/components/ic-search-bar/ic-search-bar.js +40 -25
  166. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  167. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  168. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  169. package/dist/collection/components/ic-select/ic-select.js +19 -24
  170. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  171. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +15 -12
  172. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +19 -15
  173. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  174. package/dist/collection/components/ic-skeleton/ic-skeleton.css +8 -0
  175. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  176. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  177. package/dist/collection/components/ic-status-tag/ic-status-tag.css +8 -0
  178. package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -1
  179. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  180. package/dist/collection/components/ic-step/ic-step.css +36 -1
  181. package/dist/collection/components/ic-step/ic-step.js +9 -16
  182. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  183. package/dist/collection/components/ic-stepper/ic-stepper.js +1 -1
  184. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  185. package/dist/collection/components/ic-switch/ic-switch.css +30 -0
  186. package/dist/collection/components/ic-switch/ic-switch.js +7 -7
  187. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  188. package/dist/collection/components/ic-tab/ic-tab.css +11 -1
  189. package/dist/collection/components/ic-tab/ic-tab.js +7 -11
  190. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  191. package/dist/collection/components/ic-tab-context/ic-tab-context.js +3 -3
  192. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  193. package/dist/collection/components/ic-tab-group/ic-tab-group.js +4 -4
  194. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  195. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -8
  196. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  197. package/dist/collection/components/ic-text-field/ic-text-field.css +11 -0
  198. package/dist/collection/components/ic-text-field/ic-text-field.js +26 -26
  199. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  200. package/dist/collection/components/ic-theme/ic-theme.js +22 -12
  201. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  202. package/dist/collection/components/ic-tooltip/ic-tooltip.css +6 -0
  203. package/dist/collection/components/ic-tooltip/ic-tooltip.js +3 -1
  204. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  205. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +91 -78
  206. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +6 -6
  207. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  208. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  209. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  210. package/dist/collection/testspec.setup.js.map +1 -1
  211. package/dist/collection/utils/constants.js +9 -0
  212. package/dist/collection/utils/constants.js.map +1 -1
  213. package/dist/collection/utils/helpers.js +68 -35
  214. package/dist/collection/utils/helpers.js.map +1 -1
  215. package/dist/collection/utils/types.js.map +1 -1
  216. package/dist/components/helpers.js +78 -36
  217. package/dist/components/helpers.js.map +1 -1
  218. package/dist/components/ic-alert.js +1 -1
  219. package/dist/components/ic-alert.js.map +1 -1
  220. package/dist/components/ic-back-to-top.js +18 -8
  221. package/dist/components/ic-back-to-top.js.map +1 -1
  222. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  223. package/dist/components/ic-breadcrumb2.js +1 -1
  224. package/dist/components/ic-breadcrumb2.js.map +1 -1
  225. package/dist/components/ic-button2.js +3 -3
  226. package/dist/components/ic-button2.js.map +1 -1
  227. package/dist/components/ic-card.js +19 -4
  228. package/dist/components/ic-card.js.map +1 -1
  229. package/dist/components/ic-checkbox-group.js +1 -1
  230. package/dist/components/ic-checkbox-group.js.map +1 -1
  231. package/dist/components/ic-checkbox.js +5 -4
  232. package/dist/components/ic-checkbox.js.map +1 -1
  233. package/dist/components/ic-classification-banner.js +1 -1
  234. package/dist/components/ic-classification-banner.js.map +1 -1
  235. package/dist/components/ic-data-entity.js +1 -1
  236. package/dist/components/ic-data-entity.js.map +1 -1
  237. package/dist/components/ic-data-row.js +1 -1
  238. package/dist/components/ic-data-row.js.map +1 -1
  239. package/dist/components/ic-divider2.js +1 -1
  240. package/dist/components/ic-footer-link-group.js +1 -1
  241. package/dist/components/ic-footer-link-group.js.map +1 -1
  242. package/dist/components/ic-footer-link.js +2 -2
  243. package/dist/components/ic-footer-link.js.map +1 -1
  244. package/dist/components/ic-footer.js +2 -2
  245. package/dist/components/ic-footer.js.map +1 -1
  246. package/dist/components/ic-hero.js +1 -1
  247. package/dist/components/ic-hero.js.map +1 -1
  248. package/dist/components/ic-input-component-container2.js +1 -1
  249. package/dist/components/ic-input-component-container2.js.map +1 -1
  250. package/dist/components/ic-input-container2.js.map +1 -1
  251. package/dist/components/ic-input-label2.js +1 -1
  252. package/dist/components/ic-input-label2.js.map +1 -1
  253. package/dist/components/ic-input-validation2.js +1 -1
  254. package/dist/components/ic-input-validation2.js.map +1 -1
  255. package/dist/components/ic-link2.js +1 -1
  256. package/dist/components/ic-link2.js.map +1 -1
  257. package/dist/components/ic-loading-indicator2.js +55 -14
  258. package/dist/components/ic-loading-indicator2.js.map +1 -1
  259. package/dist/components/ic-menu2.js +4 -3
  260. package/dist/components/ic-menu2.js.map +1 -1
  261. package/dist/components/ic-navigation-button.js +1 -1
  262. package/dist/components/ic-navigation-button.js.map +1 -1
  263. package/dist/components/ic-navigation-group.js +1 -1
  264. package/dist/components/ic-navigation-group.js.map +1 -1
  265. package/dist/components/ic-navigation-item.js +1 -1
  266. package/dist/components/ic-navigation-item.js.map +1 -1
  267. package/dist/components/ic-navigation-menu2.js +1 -1
  268. package/dist/components/ic-navigation-menu2.js.map +1 -1
  269. package/dist/components/ic-page-header.js.map +1 -1
  270. package/dist/components/ic-radio-group.js +1 -1
  271. package/dist/components/ic-radio-group.js.map +1 -1
  272. package/dist/components/ic-radio-option.js +2 -3
  273. package/dist/components/ic-radio-option.js.map +1 -1
  274. package/dist/components/ic-search-bar.js +18 -3
  275. package/dist/components/ic-search-bar.js.map +1 -1
  276. package/dist/components/ic-section-container2.js.map +1 -1
  277. package/dist/components/ic-select.js +2 -7
  278. package/dist/components/ic-select.js.map +1 -1
  279. package/dist/components/ic-side-navigation.js +9 -5
  280. package/dist/components/ic-side-navigation.js.map +1 -1
  281. package/dist/components/ic-skeleton.js +1 -1
  282. package/dist/components/ic-skeleton.js.map +1 -1
  283. package/dist/components/ic-status-tag.js +1 -1
  284. package/dist/components/ic-status-tag.js.map +1 -1
  285. package/dist/components/ic-step.js +1 -8
  286. package/dist/components/ic-step.js.map +1 -1
  287. package/dist/components/ic-stepper.js.map +1 -1
  288. package/dist/components/ic-switch.js +2 -2
  289. package/dist/components/ic-switch.js.map +1 -1
  290. package/dist/components/ic-tab-context.js.map +1 -1
  291. package/dist/components/ic-tab-group.js +1 -1
  292. package/dist/components/ic-tab-group.js.map +1 -1
  293. package/dist/components/ic-tab-panel.js +0 -4
  294. package/dist/components/ic-tab-panel.js.map +1 -1
  295. package/dist/components/ic-tab.js +1 -5
  296. package/dist/components/ic-tab.js.map +1 -1
  297. package/dist/components/ic-text-field2.js +2 -2
  298. package/dist/components/ic-text-field2.js.map +1 -1
  299. package/dist/components/ic-theme.js +19 -11
  300. package/dist/components/ic-theme.js.map +1 -1
  301. package/dist/components/ic-tooltip2.js +4 -2
  302. package/dist/components/ic-tooltip2.js.map +1 -1
  303. package/dist/components/ic-top-navigation.js +2 -2
  304. package/dist/components/ic-top-navigation.js.map +1 -1
  305. package/dist/components/ic-typography2.js.map +1 -1
  306. package/dist/components/types.js.map +1 -1
  307. package/dist/core/core.css +11 -11
  308. package/dist/core/core.esm.js +1 -1
  309. package/dist/core/core.esm.js.map +1 -1
  310. package/dist/core/p-001651fc.entry.js +2 -0
  311. package/dist/core/p-001651fc.entry.js.map +1 -0
  312. package/dist/core/{p-9c1f2861.entry.js → p-0118400b.entry.js} +2 -2
  313. package/dist/core/p-0118400b.entry.js.map +1 -0
  314. package/dist/core/{p-972f4e69.entry.js → p-07cd789d.entry.js} +2 -2
  315. package/dist/core/{p-972f4e69.entry.js.map → p-07cd789d.entry.js.map} +1 -1
  316. package/dist/core/{p-48029498.entry.js → p-0b125f26.entry.js} +2 -2
  317. package/dist/core/p-0b125f26.entry.js.map +1 -0
  318. package/dist/core/{p-3c6defd7.entry.js → p-10da19d2.entry.js} +2 -2
  319. package/dist/core/p-10da19d2.entry.js.map +1 -0
  320. package/dist/core/p-23831891.js +2 -0
  321. package/dist/core/p-23831891.js.map +1 -0
  322. package/dist/core/p-272c7abd.entry.js +2 -0
  323. package/dist/core/p-272c7abd.entry.js.map +1 -0
  324. package/dist/core/p-2b5c9143.entry.js +2 -0
  325. package/dist/core/p-2b5c9143.entry.js.map +1 -0
  326. package/dist/core/p-2e9f3011.entry.js +2 -0
  327. package/dist/core/p-2e9f3011.entry.js.map +1 -0
  328. package/dist/core/{p-ee3a9fd0.entry.js → p-2f114521.entry.js} +2 -2
  329. package/dist/core/p-2f114521.entry.js.map +1 -0
  330. package/dist/core/{p-54b77947.entry.js → p-31a8595f.entry.js} +2 -2
  331. package/dist/core/{p-54b77947.entry.js.map → p-31a8595f.entry.js.map} +0 -0
  332. package/dist/core/{p-a9237c61.entry.js → p-347ec49e.entry.js} +2 -2
  333. package/dist/core/{p-a9237c61.entry.js.map → p-347ec49e.entry.js.map} +1 -1
  334. package/dist/core/p-39ae284e.entry.js +2 -0
  335. package/dist/core/p-39ae284e.entry.js.map +1 -0
  336. package/dist/core/p-4c72f3a9.entry.js +2 -0
  337. package/dist/core/p-4c72f3a9.entry.js.map +1 -0
  338. package/dist/core/{p-bf4ddf33.entry.js → p-558552f8.entry.js} +2 -2
  339. package/dist/core/p-558552f8.entry.js.map +1 -0
  340. package/dist/core/{p-2177dae2.entry.js → p-5831bb8e.entry.js} +2 -2
  341. package/dist/core/p-5831bb8e.entry.js.map +1 -0
  342. package/dist/core/{p-af6a41bd.entry.js → p-5e261268.entry.js} +2 -2
  343. package/dist/core/{p-af6a41bd.entry.js.map → p-5e261268.entry.js.map} +1 -1
  344. package/dist/core/p-60ffb73e.entry.js +2 -0
  345. package/dist/core/p-60ffb73e.entry.js.map +1 -0
  346. package/dist/core/p-69650186.entry.js +2 -0
  347. package/dist/core/p-69650186.entry.js.map +1 -0
  348. package/dist/core/{p-12e113bf.entry.js → p-6b34d98f.entry.js} +2 -2
  349. package/dist/core/{p-12e113bf.entry.js.map → p-6b34d98f.entry.js.map} +1 -1
  350. package/dist/core/p-6be5e06b.entry.js.map +1 -1
  351. package/dist/core/p-6d0eaaeb.entry.js.map +1 -1
  352. package/dist/core/p-6f57b13c.js.map +1 -1
  353. package/dist/core/{p-a183353c.entry.js → p-6f6bd657.entry.js} +2 -2
  354. package/dist/core/p-6f6bd657.entry.js.map +1 -0
  355. package/dist/core/{p-6009c5bc.entry.js → p-6fba90ee.entry.js} +2 -2
  356. package/dist/core/p-6fba90ee.entry.js.map +1 -0
  357. package/dist/core/p-7093d214.entry.js +2 -0
  358. package/dist/core/p-7093d214.entry.js.map +1 -0
  359. package/dist/core/p-7577c6a3.entry.js.map +1 -1
  360. package/dist/core/p-7b39977f.entry.js +2 -0
  361. package/dist/core/p-7b39977f.entry.js.map +1 -0
  362. package/dist/core/{p-c023c49c.entry.js → p-7f04e382.entry.js} +2 -2
  363. package/dist/core/p-7f04e382.entry.js.map +1 -0
  364. package/dist/core/p-7f632414.entry.js +2 -0
  365. package/dist/core/p-7f632414.entry.js.map +1 -0
  366. package/dist/core/p-88b15005.entry.js +2 -0
  367. package/dist/core/p-88b15005.entry.js.map +1 -0
  368. package/dist/core/{p-59041cfc.entry.js → p-898607d0.entry.js} +2 -2
  369. package/dist/core/p-898607d0.entry.js.map +1 -0
  370. package/dist/core/{p-037273aa.entry.js → p-9cd04875.entry.js} +2 -2
  371. package/dist/core/p-9cd04875.entry.js.map +1 -0
  372. package/dist/core/{p-0992a2ee.entry.js → p-a2d3e955.entry.js} +2 -2
  373. package/dist/core/p-a2d3e955.entry.js.map +1 -0
  374. package/dist/core/{p-17d0d631.entry.js → p-ac43322e.entry.js} +2 -2
  375. package/dist/core/p-ac43322e.entry.js.map +1 -0
  376. package/dist/core/{p-1b619302.entry.js → p-b3dec76d.entry.js} +2 -2
  377. package/dist/core/{p-1b619302.entry.js.map → p-b3dec76d.entry.js.map} +1 -1
  378. package/dist/core/{p-0d63bfe4.entry.js → p-c4d3c18c.entry.js} +2 -2
  379. package/dist/core/p-c4d3c18c.entry.js.map +1 -0
  380. package/dist/core/{p-9a3d6bca.entry.js → p-c6dd4f47.entry.js} +2 -2
  381. package/dist/core/p-c6dd4f47.entry.js.map +1 -0
  382. package/dist/core/p-cadb531f.entry.js +2 -0
  383. package/dist/core/p-cadb531f.entry.js.map +1 -0
  384. package/dist/core/p-cc83692e.entry.js +2 -0
  385. package/dist/core/{p-d38168f0.entry.js.map → p-cc83692e.entry.js.map} +1 -1
  386. package/dist/core/p-cf5e8a55.entry.js +2 -0
  387. package/dist/core/p-cf5e8a55.entry.js.map +1 -0
  388. package/dist/core/{p-9db8edb7.entry.js → p-dd3c3e3c.entry.js} +2 -2
  389. package/dist/core/p-dd3c3e3c.entry.js.map +1 -0
  390. package/dist/core/p-e4551421.entry.js +2 -0
  391. package/dist/core/p-e4551421.entry.js.map +1 -0
  392. package/dist/core/{p-eb33ece2.entry.js → p-e93e9aa3.entry.js} +2 -2
  393. package/dist/core/p-e93e9aa3.entry.js.map +1 -0
  394. package/dist/core/{p-378a7270.entry.js → p-ecfb2e6b.entry.js} +2 -2
  395. package/dist/core/{p-378a7270.entry.js.map → p-ecfb2e6b.entry.js.map} +1 -1
  396. package/dist/core/p-f9370be6.js.map +1 -1
  397. package/dist/esm/core.js +2 -2
  398. package/dist/esm/core.js.map +1 -1
  399. package/dist/esm/{helpers-e090fe7e.js → helpers-3d41833c.js} +79 -37
  400. package/dist/esm/helpers-3d41833c.js.map +1 -0
  401. package/dist/esm/ic-alert.entry.js +2 -2
  402. package/dist/esm/ic-alert.entry.js.map +1 -1
  403. package/dist/esm/ic-back-to-top.entry.js +19 -9
  404. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  405. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  406. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  407. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  408. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  409. package/dist/esm/ic-button_3.entry.js +59 -18
  410. package/dist/esm/ic-button_3.entry.js.map +1 -1
  411. package/dist/esm/ic-card.entry.js +16 -3
  412. package/dist/esm/ic-card.entry.js.map +1 -1
  413. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  414. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  415. package/dist/esm/ic-checkbox.entry.js +5 -4
  416. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  417. package/dist/esm/ic-classification-banner.entry.js +1 -1
  418. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  419. package/dist/esm/ic-data-entity.entry.js +1 -1
  420. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  421. package/dist/esm/ic-data-row.entry.js +2 -2
  422. package/dist/esm/ic-data-row.entry.js.map +1 -1
  423. package/dist/esm/ic-divider.entry.js +1 -1
  424. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  425. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  426. package/dist/esm/ic-footer-link.entry.js +2 -2
  427. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  428. package/dist/esm/ic-footer.entry.js +2 -2
  429. package/dist/esm/ic-footer.entry.js.map +1 -1
  430. package/dist/esm/ic-hero.entry.js +1 -1
  431. package/dist/esm/ic-hero.entry.js.map +1 -1
  432. package/dist/esm/ic-input-component-container_3.entry.js +6 -5
  433. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  434. package/dist/esm/ic-input-label_2.entry.js +1 -1
  435. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  436. package/dist/esm/ic-link.entry.js +1 -1
  437. package/dist/esm/ic-link.entry.js.map +1 -1
  438. package/dist/esm/ic-navigation-button.entry.js +1 -1
  439. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  440. package/dist/esm/ic-navigation-group.entry.js +1 -1
  441. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  442. package/dist/esm/ic-navigation-item.entry.js +1 -1
  443. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  444. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  445. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  446. package/dist/esm/ic-page-header.entry.js +1 -1
  447. package/dist/esm/ic-page-header.entry.js.map +1 -1
  448. package/dist/esm/ic-radio-group.entry.js +1 -1
  449. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  450. package/dist/esm/ic-radio-option.entry.js +2 -3
  451. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  452. package/dist/esm/ic-search-bar.entry.js +17 -3
  453. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  454. package/dist/esm/ic-section-container.entry.js.map +1 -1
  455. package/dist/esm/ic-select.entry.js +2 -7
  456. package/dist/esm/ic-select.entry.js.map +1 -1
  457. package/dist/esm/ic-side-navigation.entry.js +9 -5
  458. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  459. package/dist/esm/ic-skeleton.entry.js +1 -1
  460. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  461. package/dist/esm/ic-status-tag.entry.js +2 -2
  462. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  463. package/dist/esm/ic-step.entry.js +1 -9
  464. package/dist/esm/ic-step.entry.js.map +1 -1
  465. package/dist/esm/ic-stepper.entry.js +1 -1
  466. package/dist/esm/ic-stepper.entry.js.map +1 -1
  467. package/dist/esm/ic-switch.entry.js +2 -2
  468. package/dist/esm/ic-switch.entry.js.map +1 -1
  469. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  470. package/dist/esm/ic-tab-group.entry.js +1 -1
  471. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  472. package/dist/esm/ic-tab-panel.entry.js +0 -4
  473. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  474. package/dist/esm/ic-tab.entry.js +1 -5
  475. package/dist/esm/ic-tab.entry.js.map +1 -1
  476. package/dist/esm/ic-text-field.entry.js +2 -2
  477. package/dist/esm/ic-text-field.entry.js.map +1 -1
  478. package/dist/esm/ic-theme.entry.js +19 -11
  479. package/dist/esm/ic-theme.entry.js.map +1 -1
  480. package/dist/esm/ic-top-navigation.entry.js +2 -2
  481. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  482. package/dist/esm/ic-typography.entry.js.map +1 -1
  483. package/dist/esm/index-1500de1f.js.map +1 -1
  484. package/dist/esm/loader.js +2 -2
  485. package/dist/esm/loader.js.map +1 -1
  486. package/dist/esm/types-dd515332.js.map +1 -1
  487. package/dist/types/components/ic-alert/ic-alert.d.ts +7 -7
  488. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
  489. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +5 -5
  490. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  491. package/dist/types/components/ic-button/ic-button.d.ts +10 -10
  492. package/dist/types/components/ic-card/ic-card.d.ts +12 -8
  493. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +9 -9
  494. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +9 -9
  495. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +5 -5
  496. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  497. package/dist/types/components/ic-data-row/ic-data-row.d.ts +3 -3
  498. package/dist/types/components/ic-footer/ic-footer.d.ts +10 -10
  499. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  500. package/dist/types/components/ic-hero/ic-hero.d.ts +9 -9
  501. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -8
  502. package/dist/types/components/ic-input-container/ic-input-container.d.ts +2 -2
  503. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -8
  504. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +5 -5
  505. package/dist/types/components/ic-link/ic-link.d.ts +6 -6
  506. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +11 -4
  507. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +5 -0
  508. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  509. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +5 -5
  510. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +2 -2
  511. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +6 -6
  512. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -2
  513. package/dist/types/components/ic-page-header/ic-page-header.d.ts +10 -8
  514. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +10 -10
  515. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +10 -12
  516. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +26 -23
  517. package/dist/types/components/ic-section-container/ic-section-container.d.ts +2 -2
  518. package/dist/types/components/ic-select/ic-select.d.ts +18 -18
  519. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  520. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  521. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +1 -1
  522. package/dist/types/components/ic-step/ic-step.d.ts +7 -8
  523. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  524. package/dist/types/components/ic-switch/ic-switch.d.ts +7 -7
  525. package/dist/types/components/ic-tab/ic-tab.d.ts +6 -7
  526. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +3 -3
  527. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +4 -4
  528. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +3 -4
  529. package/dist/types/components/ic-text-field/ic-text-field.d.ts +30 -30
  530. package/dist/types/components/ic-theme/ic-theme.d.ts +3 -2
  531. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +6 -6
  532. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  533. package/dist/types/components.d.ts +507 -511
  534. package/dist/types/utils/constants.d.ts +2 -0
  535. package/dist/types/utils/helpers.d.ts +15 -3
  536. package/dist/types/utils/types.d.ts +3 -0
  537. package/hydrate/index.d.ts +1 -1
  538. package/hydrate/index.js +257 -137
  539. package/package.json +8 -5
  540. package/dist/cjs/helpers-d0eeccf0.js.map +0 -1
  541. package/dist/core/p-037273aa.entry.js.map +0 -1
  542. package/dist/core/p-0992a2ee.entry.js.map +0 -1
  543. package/dist/core/p-0d63bfe4.entry.js.map +0 -1
  544. package/dist/core/p-155114db.entry.js +0 -2
  545. package/dist/core/p-155114db.entry.js.map +0 -1
  546. package/dist/core/p-17d0d631.entry.js.map +0 -1
  547. package/dist/core/p-2177dae2.entry.js.map +0 -1
  548. package/dist/core/p-3c6defd7.entry.js.map +0 -1
  549. package/dist/core/p-40d3fd89.entry.js +0 -2
  550. package/dist/core/p-40d3fd89.entry.js.map +0 -1
  551. package/dist/core/p-48029498.entry.js.map +0 -1
  552. package/dist/core/p-50a0f1a0.entry.js +0 -2
  553. package/dist/core/p-50a0f1a0.entry.js.map +0 -1
  554. package/dist/core/p-59041cfc.entry.js.map +0 -1
  555. package/dist/core/p-5977c1e0.entry.js +0 -2
  556. package/dist/core/p-5977c1e0.entry.js.map +0 -1
  557. package/dist/core/p-6009c5bc.entry.js.map +0 -1
  558. package/dist/core/p-8054c2c0.entry.js +0 -2
  559. package/dist/core/p-8054c2c0.entry.js.map +0 -1
  560. package/dist/core/p-89d46b9b.entry.js +0 -2
  561. package/dist/core/p-89d46b9b.entry.js.map +0 -1
  562. package/dist/core/p-9a3d6bca.entry.js.map +0 -1
  563. package/dist/core/p-9c1f2861.entry.js.map +0 -1
  564. package/dist/core/p-9db8edb7.entry.js.map +0 -1
  565. package/dist/core/p-9e1f450f.entry.js +0 -2
  566. package/dist/core/p-9e1f450f.entry.js.map +0 -1
  567. package/dist/core/p-a183353c.entry.js.map +0 -1
  568. package/dist/core/p-a6715f61.entry.js +0 -2
  569. package/dist/core/p-a6715f61.entry.js.map +0 -1
  570. package/dist/core/p-aad5da60.entry.js +0 -2
  571. package/dist/core/p-aad5da60.entry.js.map +0 -1
  572. package/dist/core/p-bf4ddf33.entry.js.map +0 -1
  573. package/dist/core/p-bfa9392f.entry.js +0 -2
  574. package/dist/core/p-bfa9392f.entry.js.map +0 -1
  575. package/dist/core/p-c023c49c.entry.js.map +0 -1
  576. package/dist/core/p-c96adfd7.entry.js +0 -2
  577. package/dist/core/p-c96adfd7.entry.js.map +0 -1
  578. package/dist/core/p-d38168f0.entry.js +0 -2
  579. package/dist/core/p-d61c2983.entry.js +0 -2
  580. package/dist/core/p-d61c2983.entry.js.map +0 -1
  581. package/dist/core/p-db6566c0.entry.js +0 -2
  582. package/dist/core/p-db6566c0.entry.js.map +0 -1
  583. package/dist/core/p-eb33ece2.entry.js.map +0 -1
  584. package/dist/core/p-ee3a9fd0.entry.js.map +0 -1
  585. package/dist/core/p-ef59f111.entry.js +0 -2
  586. package/dist/core/p-ef59f111.entry.js.map +0 -1
  587. package/dist/core/p-f228c232.js +0 -2
  588. package/dist/core/p-f228c232.js.map +0 -1
  589. package/dist/core/p-fce4b26b.entry.js +0 -2
  590. package/dist/core/p-fce4b26b.entry.js.map +0 -1
  591. package/dist/esm/helpers-e090fe7e.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","src/components/ic-navigation-item/ic-navigation-item.tsx"],"names":["icNavigationItemCss","NavigationItem","this","topNavResizedHandler","ev","newSize","detail","size","deviceSize","inTopNavSideMenu","DEVICE_SIZES","L","sideNavExpandHandler","sideNavExpanded","sideNavMobile","isSideNavMobile","handleBlur","relatedTarget","target","tagName","childBlur","emit","handleClick","icNavItemClicked","isInitialRender","displayDefaultNavigationItem","href","label","variant","isTopNavChild","tooltipId","ChevronIconComponent","expandable","h","class","svg","innerHTML","chevronIcon","IconComponent","el","querySelector","name","ref","itemEl","part","aria-labelledby","tabindex","XL","getThemeForegroundColor","[object Object]","theme","focusStyle","mode","focus","navParentDetails","getNavItemParentDetails","navigationType","navType","parentEl","parent","addEventListener","getParentElementType","getCurrentDeviceSize","navigationSlot","ariaLabel","textContent","trim","removeEventListener","selected","Host","displayNavigationTooltip","collapsedIconLabel","onBlur","onClick","aria-current","role","placement","hasAttribute"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n:host(:focus-within) {\n z-index: 1;\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-theme-text);\n}\n\nic-typography {\n flex: 1;\n}\n\n:host([expandable].navigation-item) .link,\n:host([expandable].navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n:host(.navigation-item) ::slotted(a) {\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 4px;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-theme-text);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu))\n ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected.dark) .link:focus,\n:host(.navigation-item.dark) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-theme-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n height: 40px;\n width: 100%;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n transition: var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n padding-right: var(--ic-space-lg);\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 40px;\n width: fit-content;\n min-width: 145px;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),\n:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: 40px;\n margin-right: 5px;\n background-color: var(--ic-action-default);\n transition: left 0s;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-theme-text);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height);\n width: var(--navigation-item-width);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 10px;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 5px 0 0 var(--ic-theme-text);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n left: 5px;\n border-radius: 11px !important;\n bottom: 0;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 5px 0 0 var(--ic-theme-text);\n border-radius: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 44px !important;\n color: var(--ic-color-primary-text) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link,\n:host(.navigation-item-page-header) ::slotted(a.active) {\n box-shadow: inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-active) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus),\n inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Method,\n h,\n Host,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getParentElementType,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @part link - The `<a>` within ic-navigation-item\n */\n\n@Component({\n tag: \"ic-navigation-item\",\n styleUrl: \"ic-navigation-item.css\",\n shadow: true,\n})\nexport class NavigationItem {\n @Element() el: HTMLIcNavigationItemElement;\n\n /**\n * Label of the navigation item\n */\n @Prop() label: string;\n\n /**\n * Destination of the navigation item\n */\n @Prop() href: string = \"\";\n\n /**\n * If true, sets the navigation item in a selected state\n */\n @Prop() selected: boolean = false;\n\n /**\n * @internal Whether the navigation item is expandable\n */\n @Prop() expandable: boolean = false;\n /**\n * @internal display navigation item within tooltip\n */\n @Prop() displayNavigationTooltip: boolean = false;\n /**\n * @internal display icon and label when side navigation is collapsed\n */\n @Prop() collapsedIconLabel: boolean = false;\n\n @State() isTopNavChild: boolean = false;\n @State() inTopNavSideMenu: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() focusStyle = getThemeForegroundColor();\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n @State() sideNavExpanded: boolean = false;\n @State() isSideNavMobile: boolean = false;\n\n private itemEl: HTMLElement;\n private navigationSlot: HTMLElement;\n\n /**\n * @internal - Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal - Emitted when navigation item clicked.\n */\n @Event() icNavItemClicked: EventEmitter<void>;\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private sideNavExpandHandler = (ev: CustomEvent): void => {\n const { sideNavExpanded, sideNavMobile } = ev.detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n };\n\n /**\n * Sets focus on the nav item\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.itemEl) {\n this.itemEl.focus();\n }\n }\n\n private handleBlur = (ev: FocusEvent) => {\n if (ev.relatedTarget !== null) {\n const target = ev.relatedTarget as HTMLElement;\n if (target.tagName === \"IC-NAVIGATION-ITEM\") {\n return;\n }\n }\n this.childBlur.emit();\n };\n\n private handleClick = () => {\n this.icNavItemClicked.emit();\n };\n\n componentWillLoad(): void {\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n\n if (\n getParentElementType(this.el) === \"IC-NAVIGATION-GROUP\" &&\n this.navigationType === \"top\"\n ) {\n this.isTopNavChild = true;\n }\n\n this.deviceSize = getCurrentDeviceSize();\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel = this.navigationSlot.textContent.trim();\n }\n }\n\n private isInitialRender: boolean = true;\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n private displayDefaultNavigationItem = (\n href: string,\n label: string\n ): HTMLElement => {\n const variant =\n this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const tooltipId = \"ic-tooltip-navigation-item\";\n const ChevronIconComponent = this.expandable && (\n <div class={{ svg: true }} innerHTML={chevronIcon}></div>\n );\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (\n <div class=\"icon\">\n {\" \"}\n <slot name=\"icon\"></slot>{\" \"}\n </div>\n );\n\n if (href !== \"\") {\n return (\n <a\n href={href}\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n part=\"link\"\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </a>\n );\n }\n\n return (\n <div\n tabindex=\"0\"\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </div>\n );\n };\n\n render() {\n const {\n href,\n label,\n inTopNavSideMenu,\n isTopNavChild,\n selected,\n navigationSlot,\n } = this;\n\n return (\n <Host\n class={{\n [\"navigation-item\"]: true,\n [\"navigation-item-top-nav\"]:\n !inTopNavSideMenu && this.navigationType === \"top\",\n [\"navigation-item-top-nav-child-selected\"]:\n isTopNavChild && !inTopNavSideMenu && selected,\n [this.focusStyle]:\n (!inTopNavSideMenu && !isTopNavChild) ||\n (this.navigationType === \"side\" && isTopNavChild),\n [\"navigation-item-selected\"]: !isTopNavChild && selected,\n [\"navigation-item-side-menu\"]: inTopNavSideMenu,\n [\"navigation-item-side-menu-selected\"]: inTopNavSideMenu && selected,\n [\"navigation-item-top-nav-child\"]: isTopNavChild && !inTopNavSideMenu,\n [\"navigation-item-page-header\"]:\n this.navigationType === \"page-header\",\n [\"with-transition\"]: !this.isInitialRender,\n [\"navigation-item-side-nav\"]: this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed-with-label\"]:\n !this.sideNavExpanded &&\n this.navigationType === \"side\" &&\n this.collapsedIconLabel &&\n !this.isSideNavMobile,\n }}\n onBlur={isTopNavChild && !inTopNavSideMenu ? this.handleBlur : null}\n onClick={this.handleClick}\n aria-current={selected ? \"page\" : null}\n role=\"listitem\"\n >\n {/* Tooltip enabled by applying navigation-item-side-nav-collapsed class to host */}\n <ic-tooltip\n label={label || navigationSlot.textContent}\n target=\"navigation-item\"\n placement=\"right\"\n class={{\n [\"tooltip-navigation-item\"]: true,\n [\"tooltip-navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"tooltip-long-label-navigation-item-side-nav-expanded\"]:\n this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n }}\n >\n {navigationSlot ? (\n <slot name=\"navigation-item\"></slot>\n ) : (\n this.displayDefaultNavigationItem(href, label)\n )}\n </ic-tooltip>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","src/components/ic-navigation-item/ic-navigation-item.tsx"],"names":["icNavigationItemCss","NavigationItem","this","topNavResizedHandler","ev","newSize","detail","size","deviceSize","inTopNavSideMenu","DEVICE_SIZES","L","sideNavExpandHandler","sideNavExpanded","sideNavMobile","isSideNavMobile","handleBlur","relatedTarget","target","tagName","childBlur","emit","handleClick","icNavItemClicked","isInitialRender","displayDefaultNavigationItem","href","label","variant","isTopNavChild","tooltipId","ChevronIconComponent","expandable","h","class","svg","innerHTML","chevronIcon","IconComponent","el","querySelector","name","ref","itemEl","part","aria-labelledby","tabindex","XL","getThemeForegroundColor","[object Object]","theme","focusStyle","mode","focus","navParentDetails","getNavItemParentDetails","navigationType","navType","parentEl","parent","addEventListener","getParentElementType","getCurrentDeviceSize","navigationSlot","ariaLabel","textContent","trim","removeEventListener","selected","Host","displayNavigationTooltip","collapsedIconLabel","onBlur","onClick","aria-current","role","placement","hasAttribute"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n:host(:focus-within) {\n z-index: 1;\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-theme-text);\n}\n\nic-typography {\n flex: 1;\n}\n\n:host([expandable].navigation-item) .link,\n:host([expandable].navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n:host(.navigation-item) ::slotted(a) {\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 4px;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-theme-text);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu))\n ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected.dark) .link:focus,\n:host(.navigation-item.dark) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-theme-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n height: 40px;\n width: 100%;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n transition: var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n padding-right: var(--ic-space-lg);\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 40px;\n width: fit-content;\n min-width: 145px;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),\n:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: 40px;\n margin-right: 5px;\n background-color: var(--ic-action-default);\n transition: left 0s;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-theme-text);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height);\n width: var(--navigation-item-width);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 10px;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 5px 0 0 var(--ic-theme-text);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n left: 5px;\n border-radius: 11px !important;\n bottom: 0;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 5px 0 0 var(--ic-theme-text);\n border-radius: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 44px !important;\n color: var(--ic-color-primary-text) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link,\n:host(.navigation-item-page-header) ::slotted(a.active) {\n box-shadow: inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-active) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus),\n inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Method,\n h,\n Host,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getParentElementType,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @part link - The `<a>` within ic-navigation-item\n */\n\n@Component({\n tag: \"ic-navigation-item\",\n styleUrl: \"ic-navigation-item.css\",\n shadow: true,\n})\nexport class NavigationItem {\n @Element() el: HTMLIcNavigationItemElement;\n\n /**\n * The label of the navigation item.\n */\n @Prop() label: string;\n\n /**\n * The destination of the navigation item.\n */\n @Prop() href: string = \"\";\n\n /**\n * If `true`, the navigation item will be set in a selected state.\n */\n @Prop() selected: boolean = false;\n\n /**\n * @internal If `true`, the navigation item will be expandable.\n */\n @Prop() expandable: boolean = false;\n /**\n * @internal If `true`, the navigation item will be displayed within a tooltip.\n */\n @Prop() displayNavigationTooltip: boolean = false;\n /**\n * @internal If `true`, the icon and label will be displayed when side navigation is collapsed.\n */\n @Prop() collapsedIconLabel: boolean = false;\n\n @State() isTopNavChild: boolean = false;\n @State() inTopNavSideMenu: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() focusStyle = getThemeForegroundColor();\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n @State() sideNavExpanded: boolean = false;\n @State() isSideNavMobile: boolean = false;\n\n private itemEl: HTMLElement;\n private navigationSlot: HTMLElement;\n\n /**\n * @internal - Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal - Emitted when navigation item clicked.\n */\n @Event() icNavItemClicked: EventEmitter<void>;\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private sideNavExpandHandler = (ev: CustomEvent): void => {\n const { sideNavExpanded, sideNavMobile } = ev.detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n };\n\n /**\n * Sets focus on the nav item\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.itemEl) {\n this.itemEl.focus();\n }\n }\n\n private handleBlur = (ev: FocusEvent) => {\n if (ev.relatedTarget !== null) {\n const target = ev.relatedTarget as HTMLElement;\n if (target.tagName === \"IC-NAVIGATION-ITEM\") {\n return;\n }\n }\n this.childBlur.emit();\n };\n\n private handleClick = () => {\n this.icNavItemClicked.emit();\n };\n\n componentWillLoad(): void {\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n\n if (\n getParentElementType(this.el) === \"IC-NAVIGATION-GROUP\" &&\n this.navigationType === \"top\"\n ) {\n this.isTopNavChild = true;\n }\n\n this.deviceSize = getCurrentDeviceSize();\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel = this.navigationSlot.textContent.trim();\n }\n }\n\n private isInitialRender: boolean = true;\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n private displayDefaultNavigationItem = (\n href: string,\n label: string\n ): HTMLElement => {\n const variant =\n this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const tooltipId = \"ic-tooltip-navigation-item\";\n const ChevronIconComponent = this.expandable && (\n <div class={{ svg: true }} innerHTML={chevronIcon}></div>\n );\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (\n <div class=\"icon\">\n {\" \"}\n <slot name=\"icon\"></slot>{\" \"}\n </div>\n );\n\n if (href !== \"\") {\n return (\n <a\n href={href}\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n part=\"link\"\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </a>\n );\n }\n\n return (\n <div\n tabindex=\"0\"\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </div>\n );\n };\n\n render() {\n const {\n href,\n label,\n inTopNavSideMenu,\n isTopNavChild,\n selected,\n navigationSlot,\n } = this;\n\n return (\n <Host\n class={{\n [\"navigation-item\"]: true,\n [\"navigation-item-top-nav\"]:\n !inTopNavSideMenu && this.navigationType === \"top\",\n [\"navigation-item-top-nav-child-selected\"]:\n isTopNavChild && !inTopNavSideMenu && selected,\n [this.focusStyle]:\n (!inTopNavSideMenu && !isTopNavChild) ||\n (this.navigationType === \"side\" && isTopNavChild),\n [\"navigation-item-selected\"]: !isTopNavChild && selected,\n [\"navigation-item-side-menu\"]: inTopNavSideMenu,\n [\"navigation-item-side-menu-selected\"]: inTopNavSideMenu && selected,\n [\"navigation-item-top-nav-child\"]: isTopNavChild && !inTopNavSideMenu,\n [\"navigation-item-page-header\"]:\n this.navigationType === \"page-header\",\n [\"with-transition\"]: !this.isInitialRender,\n [\"navigation-item-side-nav\"]: this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed-with-label\"]:\n !this.sideNavExpanded &&\n this.navigationType === \"side\" &&\n this.collapsedIconLabel &&\n !this.isSideNavMobile,\n }}\n onBlur={isTopNavChild && !inTopNavSideMenu ? this.handleBlur : null}\n onClick={this.handleClick}\n aria-current={selected ? \"page\" : null}\n role=\"listitem\"\n >\n {/* Tooltip enabled by applying navigation-item-side-nav-collapsed class to host */}\n <ic-tooltip\n label={label || navigationSlot.textContent}\n target=\"navigation-item\"\n placement=\"right\"\n class={{\n [\"tooltip-navigation-item\"]: true,\n [\"tooltip-navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"tooltip-long-label-navigation-item-side-nav-expanded\"]:\n this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n }}\n >\n {navigationSlot ? (\n <slot name=\"navigation-item\"></slot>\n ) : (\n this.displayDefaultNavigationItem(href, label)\n )}\n </ic-tooltip>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as i,g as s}from"./p-f9370be6.js";import{C as c}from"./p-1e7b4310.js";const r=":host{display:flex;flex:auto}:host(.last-step){flex-grow:initial}.step{display:flex;flex-direction:column;flex:1 1 0}.step-top{display:flex;width:100%;align-items:center;align-self:flex-start;height:40px}.step-icon{display:flex;justify-content:center;align-items:center;border-radius:50%}.step-icon-inner{width:var(--ic-space-xl);height:var(--ic-space-xl);display:flex;justify-content:center;align-items:center;border-radius:50%}.current{color:var(--ic-theme-primary)}.step-title-area{margin:var(--ic-space-xs) 0;padding-right:var(--ic-space-xs)}.step-title,.step-subtitle{width:-moz-fit-content;width:fit-content}.step-subtitle{color:var(--ic-color-tertiary-text)}.current .step-subtitle{color:var(--ic-color-primary-text)}.completed{color:var(--ic-status-success)}.active .step-icon-inner{box-shadow:inset var(--ic-architectural-200) 0 0 0 2px}.current .step-icon-inner{background-color:var(--ic-theme-primary);color:white}.disabled{color:var(--ic-architectural-200)}.disabled .step-icon{border:1px dashed var(--ic-architectural-200);width:calc(var(--ic-space-xl) - var(--ic-space-xxxs));height:calc(var(--ic-space-xl) - var(--ic-space-xxxs))}.disabled .step-title-area{color:var(--ic-color-tertiary-text)}.completed .step-icon-inner{background:var(--ic-status-success);box-shadow:inset var(--ic-status-success) 0 0 0 var(--ic-space-xxxs);border-radius:100%}.current .step-icon{border:var(--ic-space-xxxs) solid var(--ic-theme-primary);padding:var(--ic-space-xxxs);margin:0 calc(-1 * var(--ic-space-xxxs));}.step-connect{height:var(--ic-space-xxxs);background-color:var(--ic-architectural-200);margin:0 var(--ic-space-xs);border-radius:var(--ic-space-xxs);width:100%}.aligned-full-width.step-connect{min-width:100px;width:100%}.disabled .step-connect{height:0;background-color:rgb(0 0 0 / 0%);border-top:2px dashed var(--ic-architectural-200);border-radius:0}.completed .step-connect{background-color:var(--ic-status-success)}.step-connect-inner{width:70%;display:flex;flex:auto;height:var(--ic-space-xxxs);border-radius:var(--ic-space-xxs);background-color:var(--ic-theme-primary)}.check-icon{padding-top:var(--ic-space-xxs)}.check-icon svg{width:16px;height:16px}.check-icon>svg>path{fill:white}@media (forced-colors: active){.step-connect:not(.disabled .step-connect){border:var(--ic-hc-border)}.active .step-icon-inner,.completed .step-icon-inner,.current .step-icon-inner{forced-color-adjust:none;box-shadow:inset canvastext 0 0 0 2px;background-color:transparent;color:canvastext}.current .step-icon{padding:0;border:none}.disabled,.disabled .step-title-area{color:Graytext}.step-connect-inner,.completed .step-connect{background-color:canvastext}.check-icon>svg>path{fill:canvastext}}";const a=class{constructor(t){e(this,t);this.stepType="active";this.stepTitle=undefined;this.stepSubtitle=undefined;this.stepNum=undefined;this.lastStep=undefined}render(){let e;if(this.stepType!=="completed"){e=t("ic-typography",{variant:"subtitle-small"},t("span",{class:"step-icon-inner","aria-hidden":"true"},this.stepNum))}else{e=t("div",{class:"step-icon-inner","aria-hidden":"true"},t("span",{class:"check-icon",innerHTML:c}))}let s="";if(this.stepType==="completed"){s=". Completed step"}else if(this.stepType==="disabled"){s=". Disabled step"}const r=this.stepType==="current"&&t("div",{class:"step-connect-inner"});const a=!this.lastStep&&t("div",{class:{["step-connect"]:true,["aligned-full-width"]:this.el.parentElement.classList.contains("aligned-full-width")}},r);return t(i,{role:"listitem","aria-label":`Step ${this.stepNum}${s}`,"aria-current":this.stepType=="current"?"step":null,class:{["aligned-full-width"]:this.el.parentElement.classList.contains("aligned-full-width")}},t("div",{class:{["step"]:true,[`${this.stepType}`]:true}},t("div",{class:"step-top"},t("div",{class:"step-icon"},e),a),(this.stepTitle||this.stepSubtitle)&&t("div",{class:"step-title-area"},this.stepTitle&&t("ic-typography",{variant:"subtitle-large",class:"step-title"},this.stepTitle),this.stepSubtitle&&t("ic-typography",{variant:"caption",class:"step-subtitle"},this.stepSubtitle))))}get el(){return s(this)}};a.style=r;export{a as ic_step};
2
+ //# sourceMappingURL=p-39ae284e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-step/ic-step.css?tag=ic-step&encapsulation=shadow","src/components/ic-step/ic-step.tsx"],"names":["icStepCss","Step","[object Object]","icon","this","stepType","h","variant","class","aria-hidden","stepNum","innerHTML","checkIcon","ariaLabel","partialBar","finalStep","lastStep","el","parentElement","classList","contains","Host","role","aria-label","aria-current","stepTitle","stepSubtitle"],"mappings":"6FAAA,MAAMA,EAAY,8oFCSLC,EAAI,6CAKkB,6GAsBjCC,SACE,IAAIC,EACJ,GAAIC,KAAKC,WAAa,YAAa,CACjCF,EACEG,EAAA,gBAAA,CAAeC,QAAQ,kBACrBD,EAAA,OAAA,CAAME,MAAM,kBAAiBC,cAAa,QACvCL,KAAKM,cAIP,CACLP,EACEG,EAAA,MAAA,CAAKE,MAAM,kBAAiBC,cAAa,QACvCH,EAAA,OAAA,CAAME,MAAM,aAAaG,UAAWC,KAK1C,IAAIC,EAAY,GAEhB,GAAIT,KAAKC,WAAa,YAAa,CACjCQ,EAAY,wBACP,GAAIT,KAAKC,WAAa,WAAY,CACvCQ,EAAY,kBAGd,MAAMC,EAAaV,KAAKC,WAAa,WACnCC,EAAA,MAAA,CAAKE,MAAM,uBAEb,MAAMO,GAAaX,KAAKY,UACtBV,EAAA,MAAA,CACEE,MAAO,CACLN,CAAC,gBAAiB,KAClBA,CAAC,sBACCE,KAAKa,GAAGC,cAAcC,UAAUC,SAAS,wBAG5CN,GAIL,OACER,EAACe,EAAI,CACHC,KAAK,WAAUC,aACH,QAAQnB,KAAKM,UAAUG,IAAWW,eAChCpB,KAAKC,UAAY,UAAY,OAAS,KACpDG,MAAO,CACLN,CAAC,sBACCE,KAAKa,GAAGC,cAAcC,UAAUC,SAAS,wBAG7Cd,EAAA,MAAA,CACEE,MAAO,CACLN,CAAC,QAAS,KACVA,CAAC,GAAGE,KAAKC,YAAa,OAGxBC,EAAA,MAAA,CAAKE,MAAM,YACTF,EAAA,MAAA,CAAKE,MAAM,aAAaL,GACvBY,IAEDX,KAAKqB,WAAarB,KAAKsB,eACvBpB,EAAA,MAAA,CAAKE,MAAM,mBACRJ,KAAKqB,WACJnB,EAAA,gBAAA,CAAeC,QAAQ,iBAAiBC,MAAM,cAC3CJ,KAAKqB,WAGTrB,KAAKsB,cACJpB,EAAA,gBAAA,CAAeC,QAAQ,UAAUC,MAAM,iBACpCJ,KAAKsB","sourcesContent":[":host {\n display: flex;\n flex: auto;\n}\n\n:host(.last-step) {\n flex-grow: initial;\n}\n\n.step {\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n}\n\n.step-top {\n display: flex;\n width: 100%;\n align-items: center;\n align-self: flex-start;\n height: 40px;\n}\n\n.step-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n}\n\n.step-icon-inner {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n}\n\n.current {\n color: var(--ic-theme-primary);\n}\n\n.step-title-area {\n margin: var(--ic-space-xs) 0;\n padding-right: var(--ic-space-xs);\n}\n\n.step-title,\n.step-subtitle {\n width: fit-content;\n}\n\n.step-subtitle {\n color: var(--ic-color-tertiary-text);\n}\n\n.current .step-subtitle {\n color: var(--ic-color-primary-text);\n}\n\n.completed {\n color: var(--ic-status-success);\n}\n\n.active .step-icon-inner {\n box-shadow: inset var(--ic-architectural-200) 0 0 0 2px;\n}\n\n.current .step-icon-inner {\n background-color: var(--ic-theme-primary);\n color: white;\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.disabled .step-icon {\n border: 1px dashed var(--ic-architectural-200);\n width: calc(var(--ic-space-xl) - var(--ic-space-xxxs));\n height: calc(var(--ic-space-xl) - var(--ic-space-xxxs));\n}\n\n.disabled .step-title-area {\n color: var(--ic-color-tertiary-text);\n}\n\n.completed .step-icon-inner {\n background: var(--ic-status-success);\n box-shadow: inset var(--ic-status-success) 0 0 0 var(--ic-space-xxxs);\n border-radius: 100%;\n}\n\n.current .step-icon {\n border: var(--ic-space-xxxs) solid var(--ic-theme-primary);\n padding: var(--ic-space-xxxs);\n margin: 0 calc(-1 * var(--ic-space-xxxs)); /* compensating for the circle being bigger than other steps */\n}\n\n.step-connect {\n height: var(--ic-space-xxxs);\n background-color: var(--ic-architectural-200);\n margin: 0 var(--ic-space-xs);\n border-radius: var(--ic-space-xxs);\n width: 100%;\n}\n\n.aligned-full-width.step-connect {\n min-width: 100px;\n width: 100%;\n}\n\n.disabled .step-connect {\n height: 0;\n background-color: rgb(0 0 0 / 0%);\n border-top: 2px dashed var(--ic-architectural-200);\n border-radius: 0;\n}\n\n.completed .step-connect {\n background-color: var(--ic-status-success);\n}\n\n.step-connect-inner {\n width: 70%;\n display: flex;\n flex: auto;\n height: var(--ic-space-xxxs);\n border-radius: var(--ic-space-xxs);\n background-color: var(--ic-theme-primary);\n}\n\n.check-icon {\n padding-top: var(--ic-space-xxs);\n}\n\n.check-icon svg {\n width: 16px;\n height: 16px;\n}\n\n.check-icon > svg > path {\n fill: white;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .step-connect:not(.disabled .step-connect) {\n border: var(--ic-hc-border);\n }\n\n .active .step-icon-inner,\n .completed .step-icon-inner,\n .current .step-icon-inner {\n forced-color-adjust: none;\n box-shadow: inset canvastext 0 0 0 2px;\n background-color: transparent;\n color: canvastext;\n }\n\n .current .step-icon {\n padding: 0;\n border: none;\n }\n\n .disabled,\n .disabled .step-title-area {\n color: Graytext;\n }\n\n .step-connect-inner,\n .completed .step-connect {\n background-color: canvastext;\n }\n\n .check-icon > svg > path {\n fill: canvastext;\n }\n}\n","import { Component, Host, h, Prop, Element } from \"@stencil/core\";\nimport checkIcon from \"../../assets/check-icon.svg\";\nimport { IcStepTypes } from \"./ic-step.types\";\n\n@Component({\n tag: \"ic-step\",\n styleUrl: \"ic-step.css\",\n shadow: true,\n})\nexport class Step {\n @Element() el: HTMLIcStepElement;\n /**\n * The state of the step within the stepper.\n */\n @Prop() stepType?: IcStepTypes = \"active\";\n\n /**\n * The name of the step within the stepper.\n */\n @Prop() stepTitle?: string;\n\n /**\n * The additional information about the step.\n */\n @Prop() stepSubtitle?: string;\n\n /**\n * @internal The step number, managed by ic-stepper.\n */\n @Prop() stepNum?: number;\n\n /**\n * @internal If `true`, the step will be marked as being the last one in the series. This is managed by ic-stepper.\n */\n @Prop() lastStep?: boolean;\n\n render() {\n let icon;\n if (this.stepType !== \"completed\") {\n icon = (\n <ic-typography variant=\"subtitle-small\">\n <span class=\"step-icon-inner\" aria-hidden=\"true\">\n {this.stepNum}\n </span>\n </ic-typography>\n );\n } else {\n icon = (\n <div class=\"step-icon-inner\" aria-hidden=\"true\">\n <span class=\"check-icon\" innerHTML={checkIcon}></span>\n </div>\n );\n }\n\n let ariaLabel = \"\";\n\n if (this.stepType === \"completed\") {\n ariaLabel = \". Completed step\";\n } else if (this.stepType === \"disabled\") {\n ariaLabel = \". Disabled step\";\n }\n\n const partialBar = this.stepType === \"current\" && (\n <div class=\"step-connect-inner\"></div>\n );\n const finalStep = !this.lastStep && (\n <div\n class={{\n [\"step-connect\"]: true,\n [\"aligned-full-width\"]:\n this.el.parentElement.classList.contains(\"aligned-full-width\"),\n }}\n >\n {partialBar}\n </div>\n );\n\n return (\n <Host\n role=\"listitem\"\n aria-label={`Step ${this.stepNum}${ariaLabel}`}\n aria-current={this.stepType == \"current\" ? \"step\" : null}\n class={{\n [\"aligned-full-width\"]:\n this.el.parentElement.classList.contains(\"aligned-full-width\"),\n }}\n >\n <div\n class={{\n [\"step\"]: true,\n [`${this.stepType}`]: true,\n }}\n >\n <div class=\"step-top\">\n <div class=\"step-icon\">{icon}</div>\n {finalStep}\n </div>\n {(this.stepTitle || this.stepSubtitle) && (\n <div class=\"step-title-area\">\n {this.stepTitle && (\n <ic-typography variant=\"subtitle-large\" class=\"step-title\">\n {this.stepTitle}\n </ic-typography>\n )}\n {this.stepSubtitle && (\n <ic-typography variant=\"caption\" class=\"step-subtitle\">\n {this.stepSubtitle}\n </ic-typography>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as r,H as i,g as s}from"./p-f9370be6.js";import{c}from"./p-e28af65b.js";import{i as a}from"./p-23831891.js";import"./p-6f57b13c.js";const t=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-hyperlink)}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentcolor}}';const o=class{constructor(i){e(this,i);this.renderDefaultBreadcrumb=(e,i,s,c)=>{const n=i!==null&&i!==undefined&&i!=="";if(e&&n){return r("span",{class:{"current-page-container":e}},a(this.el,"icon")&&r("slot",{name:"icon"}),i)}return r("ic-link",{href:c,class:"breadcrumb-link","aria-describedby":this.showBackIcon&&s&&s},this.showBackIcon&&r("div",{class:"back-icon",innerHTML:t}),a(this.el,"icon")&&r("slot",{name:"icon"}),i)};this.setSlottedCurrentPageClass=()=>{const e=this.el.querySelector("ic-link");if(e){e.classList.remove("current-page");if(this.current){const r=e.classList.contains("current-page");if(!r){e.classList.add("breadcrumb-link","current-page")}}}};this.pageTitle=undefined;this.href=undefined;this.current=false;this.showBackIcon=false}componentWillRender(){this.setSlottedCurrentPageClass()}render(){const{current:e,href:s,pageTitle:a}=this;const t=`${a&&a.toLowerCase().replace(" ","-")}-describedby`;const n=a!==null&&a!==undefined&&a!=="";const o=s!==null&&s!==undefined&&s!=="";return r(i,{class:{back:this.showBackIcon},"aria-current":e&&"page",role:"listitem"},r("div",{class:"breadcrumb"},r("span",{innerHTML:c,class:"chevron","aria-hidden":"true"}),this.showBackIcon&&t&&r("span",{id:t,class:"hide"},`Back to ${a}`),n&&o?this.renderDefaultBreadcrumb(e,a,t,s):r("slot",null)))}get el(){return s(this)}};o.style=n;export{o as ic_breadcrumb};
2
+ //# sourceMappingURL=p-4c72f3a9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":["icBreadcrumbCss","Breadcrumb","this","renderDefaultBreadcrumb","current","pageTitle","describedById","href","hasPageTitle","undefined","h","class","current-page-container","isSlotUsed","el","name","aria-describedby","showBackIcon","innerHTML","backIcon","setSlottedCurrentPageClass","icLink","querySelector","classList","remove","hasCurrentPageClass","contains","add","[object Object]","toLowerCase","replace","hasHref","Host","back","aria-current","role","chevronIcon","aria-hidden","id"],"mappings":"2WAAA,MAAMA,EAAkB,i9CCYXC,EAAU,+BAwBbC,KAAAC,wBAA0B,CAChCC,EACAC,EACAC,EACAC,KAEA,MAAMC,EACJH,IAAc,MAAQA,IAAcI,WAAaJ,IAAc,GAEjE,GAAID,GAAWI,EAAc,CAC3B,OACEE,EAAA,OAAA,CACEC,MAAO,CACLC,yBAA0BR,IAG3BS,EAAWX,KAAKY,GAAI,SAAWJ,EAAA,OAAA,CAAMK,KAAK,SAC1CV,GAKP,OACEK,EAAA,UAAA,CACEH,KAAMA,EACNI,MAAM,kBAAiBK,mBACLd,KAAKe,cAAgBX,GAAiBA,GAEvDJ,KAAKe,cACJP,EAAA,MAAA,CAAKC,MAAM,YAAYO,UAAWC,IAEnCN,EAAWX,KAAKY,GAAI,SAAWJ,EAAA,OAAA,CAAMK,KAAK,SAC1CV,IAKCH,KAAAkB,2BAA6B,KACnC,MAAMC,EAASnB,KAAKY,GAAGQ,cAAc,WACrC,GAAID,EAAQ,CACVA,EAAOE,UAAUC,OAAO,gBACxB,GAAItB,KAAKE,QAAS,CAChB,MAAMqB,EAAsBJ,EAAOE,UAAUG,SAAS,gBACtD,IAAKD,EAAqB,CACxBJ,EAAOE,UAAUI,IAAI,kBAAmB,8EAnDpB,wBAKqB,MAoDjDC,sBACE1B,KAAKkB,6BAGPQ,SACE,MAAMxB,QAAEA,EAAOG,KAAEA,EAAIF,UAAEA,GAAcH,KACrC,MAAMI,EAAgB,GACpBD,GAAaA,EAAUwB,cAAcC,QAAQ,IAAK,mBAGpD,MAAMtB,EACJH,IAAc,MAAQA,IAAcI,WAAaJ,IAAc,GACjE,MAAM0B,EAAUxB,IAAS,MAAQA,IAASE,WAAaF,IAAS,GAEhE,OACEG,EAACsB,EAAI,CACHrB,MAAO,CACLsB,KAAM/B,KAAKe,cACZiB,eACa9B,GAAW,OACzB+B,KAAK,YAELzB,EAAA,MAAA,CAAKC,MAAM,cACTD,EAAA,OAAA,CAAMQ,UAAWkB,EAAazB,MAAM,UAAS0B,cAAa,SACzDnC,KAAKe,cAAgBX,GACpBI,EAAA,OAAA,CACE4B,GAAIhC,EACJK,MAAM,QACN,WAAWN,KAEdG,GAAgBuB,EACf7B,KAAKC,wBACHC,EACAC,EACAC,EACAC,GAGFG,EAAA,OAAA","sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-hyperlink);\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n","import { Component, Host, Prop, h, Element } from \"@stencil/core\";\nimport { IcBreadcrumbDefault } from \"./ic-breadcrumb.types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: true,\n})\nexport class Breadcrumb {\n /**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\n\n @Element() el: HTMLIcBreadcrumbElement;\n /**\n * The title of the breadcrumb.\n */\n @Prop() pageTitle!: string;\n /**\n * The URL that the breadcrumb link points to.\n */\n @Prop() href?: string;\n /**\n * If `true`, aria-current will be set on the breadcrumb.\n */\n @Prop() current?: boolean = false;\n\n /**\n * @internal If `true`, back icon will be displayed.\n */\n @Prop({ reflect: true }) showBackIcon: boolean = false;\n\n private renderDefaultBreadcrumb = (\n current: boolean,\n pageTitle: string,\n describedById: string,\n href: string\n ): IcBreadcrumbDefault => {\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n\n if (current && hasPageTitle) {\n return (\n <span\n class={{\n \"current-page-container\": current,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n );\n }\n\n return (\n <ic-link\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={this.showBackIcon && describedById && describedById}\n >\n {this.showBackIcon && (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n )}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n );\n };\n\n private setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n icLink.classList.remove(\"current-page\");\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(\"current-page\");\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", \"current-page\");\n }\n }\n }\n };\n\n componentWillRender(): void {\n this.setSlottedCurrentPageClass();\n }\n\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${\n pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")\n }-describedby`;\n\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n const hasHref = href !== null && href !== undefined && href !== \"\";\n\n return (\n <Host\n class={{\n back: this.showBackIcon,\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {this.showBackIcon && describedById && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {hasPageTitle && hasHref ? (\n this.renderDefaultBreadcrumb(\n current,\n pageTitle,\n describedById,\n href\n )\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as i,H as a,g as n}from"./p-f9370be6.js";import{w as r,e as s}from"./p-bf5717ca.js";import{s as o}from"./p-ae6aa67f.js";import{c}from"./p-44512ebe.js";import{i as l}from"./p-f228c232.js";import{I as d}from"./p-6f57b13c.js";const p=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"/>\n <title>neutral icon</title>\n</svg>`;const u=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>\n <title>info icon</title>\n</svg>`;const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:56px;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-architectural-40)}.container-info{background-color:var(--ic-status-info-background)}.container-warning{background-color:var(--ic-status-warning-background)}.container-error{background-color:var(--ic-status-error-background)}.container-success{background-color:var(--ic-status-success-background)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-architectural-500)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning-mid)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:22px;margin-left:18px}.icon-neutral>svg{fill:var(--ic-architectural-500)}.icon-info>svg{fill:var(--ic-status-info)}.icon-warning>svg{fill:var(--ic-status-warning-mid)}.icon-error>svg{fill:var(--ic-status-error)}.icon-success>svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:10px;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline;font-size:0}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-6px;padding:6px;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon svg{width:18px;height:18px}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start;font-size:1px}.alert-title{white-space:normal}.alert-action-container{margin-bottom:14px}}';const g={neutral:p,info:u,warning:r,error:s,success:o};const b=class{constructor(i){e(this,i);this.dismiss=t(this,"dismiss",7);this.dismissAction=()=>{this.dismiss.emit()};this.variant="neutral";this.heading="";this.message=undefined;this.titleAbove=false;this.dismissible=false;this.announced=true;this.visible=true;this.alertTitleWrap=false}handleClick(){this.visible=!this.visible}alertTitleShouldWrap(){var e;const t=(e=this.el.shadowRoot.querySelector(".alert-title"))===null||e===void 0?void 0:e.clientHeight;if(t>24)this.alertTitleWrap=true}componentDidLoad(){this.alertTitleShouldWrap()}render(){const{variant:e,heading:t,message:n,titleAbove:r,dismissible:s,announced:o,visible:p}=this;return p&&i(a,{role:o&&"alert",class:{[d.Dark]:true}},i("div",{class:{["container"]:true,[`container-${e}`]:true}},i("div",{class:"alert-icon-container"},i("div",{class:{["divider"]:true,[`divider-${e}`]:true}}),i("span",{class:{["alert-icon"]:true,["svg-container"]:true,[`icon-${e}`]:true},innerHTML:g[e]})),i("div",{class:"alert-content"},i("div",{class:{["alert-message"]:true,["alert-message-title-above"]:r||this.alertTitleWrap}},t&&i("ic-typography",{class:{["alert-title"]:true,["alert-title-above"]:r||this.alertTitleWrap},variant:"subtitle-large"},i("p",null,t)),i("slot",{name:"message"},i("ic-typography",{variant:"body"},n))),l(this.el,"action")&&i("div",{class:"alert-action-container"},i("slot",{name:"action"}))),i("div",{class:"dismiss-icon-container"},s&&i("ic-button",{class:{["svg-container"]:true,["dismiss-icon"]:true},innerHTML:c,onClick:this.dismissAction,variant:"icon",appearance:d.Dark,title:"dismiss"}))))}get el(){return n(this)}};b.style=m;export{b as ic_alert};
2
- //# sourceMappingURL=p-bf4ddf33.entry.js.map
1
+ import{r as e,c as t,h as i,H as a,g as r}from"./p-f9370be6.js";import{w as n,e as s}from"./p-bf5717ca.js";import{s as o}from"./p-ae6aa67f.js";import{c}from"./p-44512ebe.js";import{i as l}from"./p-23831891.js";import{I as d}from"./p-6f57b13c.js";const p=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"/>\n <title>neutral icon</title>\n</svg>`;const u=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>\n <title>info icon</title>\n</svg>`;const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:56px;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-architectural-40)}.container-info{background-color:var(--ic-status-info-background)}.container-warning{background-color:var(--ic-status-warning-background)}.container-error{background-color:var(--ic-status-error-background)}.container-success{background-color:var(--ic-status-success-background)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-architectural-500)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning-mid)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:22px;margin-left:18px}.icon-neutral>svg{fill:var(--ic-architectural-500)}:host([variant="info"]) .alert-icon svg{fill:var(--ic-status-info)}:host([variant="warning"]) .alert-icon svg{fill:var(--ic-status-warning-mid)}:host([variant="error"]) .alert-icon svg{fill:var(--ic-status-error)}:host([variant="success"]) .alert-icon svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:10px;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline;font-size:0}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-6px;padding:6px;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon svg{width:18px;height:18px}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start;font-size:1px}.alert-title{white-space:normal}.alert-action-container{margin-bottom:14px}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}';const g={neutral:p,info:u,warning:n,error:s,success:o};const h=class{constructor(i){e(this,i);this.dismiss=t(this,"dismiss",7);this.dismissAction=()=>{this.dismiss.emit()};this.variant="neutral";this.heading="";this.message=undefined;this.titleAbove=false;this.dismissible=false;this.announced=true;this.visible=true;this.alertTitleWrap=false}handleClick(){this.visible=!this.visible}alertTitleShouldWrap(){var e;const t=(e=this.el.shadowRoot.querySelector(".alert-title"))===null||e===void 0?void 0:e.clientHeight;if(t>24)this.alertTitleWrap=true}componentDidLoad(){this.alertTitleShouldWrap()}render(){const{variant:e,heading:t,message:r,titleAbove:n,dismissible:s,announced:o,visible:p}=this;return p&&i(a,{role:o&&"alert",class:{[d.Dark]:true}},i("div",{class:{["container"]:true,[`container-${e}`]:true}},i("div",{class:"alert-icon-container"},i("div",{class:{["divider"]:true,[`divider-${e}`]:true}}),i("span",{class:{["alert-icon"]:true,["svg-container"]:true,[`icon-${e}`]:true},innerHTML:g[e]})),i("div",{class:"alert-content"},i("div",{class:{["alert-message"]:true,["alert-message-title-above"]:n||this.alertTitleWrap}},t&&i("ic-typography",{class:{["alert-title"]:true,["alert-title-above"]:n||this.alertTitleWrap},variant:"subtitle-large"},i("p",null,t)),i("slot",{name:"message"},i("ic-typography",{variant:"body"},r))),l(this.el,"action")&&i("div",{class:"alert-action-container"},i("slot",{name:"action"}))),i("div",{class:"dismiss-icon-container"},s&&i("ic-button",{class:{["svg-container"]:true,["dismiss-icon"]:true},innerHTML:c,onClick:this.dismissAction,variant:"icon",appearance:d.Dark,title:"dismiss"}))))}get el(){return r(this)}};h.style=m;export{h as ic_alert};
2
+ //# sourceMappingURL=p-558552f8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","src/components/ic-alert/ic-alert.tsx"],"names":["icAlertCss","icon","neutral","neutralIcon","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","Alert","this","dismissAction","dismiss","emit","[object Object]","visible","titleHeight","_a","el","shadowRoot","querySelector","clientHeight","alertTitleWrap","alertTitleShouldWrap","variant","heading","message","titleAbove","dismissible","announced","h","Host","role","class","IcThemeForegroundEnum","Dark","innerHTML","name","isSlotUsed","closeIcon","onClick","appearance","title"],"mappings":"6gCAAA,MAAMA,EAAa,6qJCqBnB,MAAMC,EAAO,CACXC,QAASC,EACTC,KAAMC,EACNC,QAASC,EACTC,MAAOC,EACPC,QAASC,SAYEC,EAAK,gEAyCRC,KAAAC,cAAgB,KACtBD,KAAKE,QAAQC,qBApCqB,uBAIT,0CAQI,uBAIC,qBAIF,kBAEF,yBAEO,MAGnCC,cACEJ,KAAKK,SAAWL,KAAKK,QAWfD,6BACN,MAAME,GACJC,EAAAP,KAAKQ,GAAGC,WAAWC,cAAc,mBAAe,MAAAH,SAAA,OAAA,EAAAA,EAAEI,aACpD,GAAIL,EAAc,GAAIN,KAAKY,eAAiB,KAG9CR,mBACEJ,KAAKa,uBAGPT,SACE,MAAMU,QACJA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,WACPA,EAAUC,YACVA,EAAWC,UACXA,EAASd,QACTA,GACEL,KAEJ,OACEK,GACEe,EAACC,EAAI,CACHC,KAAMH,GAAa,QACnBI,MAAO,CACLnB,CAACoB,EAAsBC,MAAO,OAGhCL,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,aAAc,KACfA,CAAC,aAAaU,KAAY,OAG5BM,EAAA,MAAA,CAAKG,MAAM,wBACTH,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,WAAY,KACbA,CAAC,WAAWU,KAAY,QAG5BM,EAAA,OAAA,CACEG,MAAO,CACLnB,CAAC,cAAe,KAChBA,CAAC,iBAAkB,KACnBA,CAAC,QAAQU,KAAY,MAEvBY,UAAWtC,EAAK0B,MAGpBM,EAAA,MAAA,CAAKG,MAAM,iBACTH,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,iBAAkB,KACnBA,CAAC,6BACCa,GAAcjB,KAAKY,iBAGtBG,GACCK,EAAA,gBAAA,CACEG,MAAO,CACLnB,CAAC,eAAgB,KACjBA,CAAC,qBAAsBa,GAAcjB,KAAKY,gBAE5CE,QAAQ,kBAERM,EAAA,IAAA,KAAIL,IAGRK,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeN,QAAQ,QAAQE,KAGlCY,EAAW5B,KAAKQ,GAAI,WACnBY,EAAA,MAAA,CAAKG,MAAM,0BACTH,EAAA,OAAA,CAAMO,KAAK,aAIjBP,EAAA,MAAA,CAAKG,MAAM,0BACRL,GACCE,EAAA,YAAA,CACEG,MAAO,CACLnB,CAAC,iBAAkB,KACnBA,CAAC,gBAAiB,MAEpBsB,UAAWG,EACXC,QAAS9B,KAAKC,cACda,QAAQ,OACRiB,WAAYP,EAAsBC,KAClCO,MAAM","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 56px;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-architectural-40);\n}\n\n.container-info {\n background-color: var(--ic-status-info-background);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-background);\n}\n\n.container-error {\n background-color: var(--ic-status-error-background);\n}\n\n.container-success {\n background-color: var(--ic-status-success-background);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-mid);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 22px;\n margin-left: 18px;\n}\n\n.icon-neutral > svg {\n fill: var(--ic-architectural-500);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-status-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-status-warning-mid);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-status-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 10px;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n font-size: 0;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -6px;\n padding: 6px;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n font-size: 1px;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: 14px;\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n} from \"@stencil/core\";\nimport neutralIcon from \"../../assets/neutral-icon.svg\";\nimport infoIcon from \"../../assets/info-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { IcAlertVariants } from \"./ic-alert.types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst icon = {\n neutral: neutralIcon,\n info: infoIcon,\n warning: warningIcon,\n error: errorIcon,\n success: successIcon,\n};\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n @Element() el: HTMLIcAlertElement;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant?: IcAlertVariants = \"neutral\";\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading?: string = \"\";\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n /**\n * If `true`, the title and message will appear inline instead of above and below.\n */\n @Prop() titleAbove?: boolean = false;\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced?: boolean = true;\n\n @State() visible: boolean = true;\n\n @State() alertTitleWrap: boolean = false;\n\n @Listen(\"dismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() dismiss: EventEmitter<void>;\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced && \"alert\"}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={icon[variant]}\n ></span>\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as o,H as e,g as i}from"./p-f9370be6.js";import{D as n,j as r}from"./p-f228c232.js";import"./p-6f57b13c.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.footer-link-ungrouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:40px;--footer-link-margin-bottom:0}:host(.footer-link-ungrouped-small){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-small){--footer-link-margin-left:var(--ic-space-md);--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link){margin-left:var(--footer-link-margin-left);margin-right:var(--footer-link-margin-right);margin-bottom:var(--footer-link-margin-bottom)}:host(.footer-link) a,:host(.footer-link) a ::slotted(a){display:block;font-weight:var(--ic-font-weight-bold);color:inherit;width:-moz-fit-content;width:fit-content;font-size:var(--ic-font-size-regular)}:host(.footer-link) a:link,:host(.footer-link) a ::slotted(a:link){color:inherit;text-decoration:underline;font-weight:var(--ic-font-weight-bold)}:host(.footer-link) a:link>::slotted(svg),:host(.footer-link) a:link>::slotted(img),:host(.footer-link) a ::slotted(a:link>::slotted(svg)),:host(.footer-link) a ::slotted(a:link>::slotted(img)){padding:var(--ic-space-xxxs);pointer-events:none;transition:var(--ic-easing-transition-fast)}:host(.footer-link-light) ::slotted(svg){fill:var(--ic-architectural-white)}:host(.footer-link-dark) ::slotted(svg){fill:var(--ic-architectural-black)}:host(.footer-link) a:link:hover,:host(.footer-link) a:link:focus,:host(.footer-link) a ::slotted(a:link:hover),:host(.footer-link) a ::slotted(a:link:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}:host(.footer-link) a:link:hover,:host(.footer-link) a ::slotted(a:link:hover){outline:none}:host(.footer-link) a:link:focus,:host(.footer-link) a ::slotted(a:link:focus){outline:var(--ic-hc-focus-outline)}:host(.footer-link) a:link:focus>::slotted(svg),:host(.footer-link) a:link:focus>::slotted(img),:host(.footer-link) a ::slotted(a:link:focus>::slotted(svg)),:host(.footer-link) a ::slotted(a:link:focus>::slotted(img)){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}:host(.footer-link) a:focus,:host(.footer-link) a ::slotted(a:focus){border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);transition:var(--ic-transition-duration-fast)}:host(.footer-link) a:link:active,:host(.footer-link) a:link:focus:active,:host(.footer-link) a:link:visited:active,:host(.footer-link) a ::slotted(a:link:active),:host(.footer-link) a ::slotted(a:link:focus:active),:host(.footer-link) a ::slotted(a:link:visited:active){color:inherit;text-decoration:none}:host(.footer-link) a:hover,:host(.footer-link) a ::slotted(a:hover){text-decoration:none}';const a=class{constructor(o){t(this,o);this.href=null;this.footerConfig={small:false,grouped:false};this.deviceSize=n.XL;this.foregroundColor=r()}inferConfig(t){if(t.parentElement!==null){if(t.parentElement.classList.contains("footer")){return{small:t.parentElement.classList.contains("footer-small"),grouped:t.parentElement.classList.contains("footer-grouped")}}else{return this.inferConfig(t.parentElement)}}else{return{small:false,grouped:false}}}footerResizeHandler(){this.footerConfig=this.inferConfig(this.el)}footerThemeChangeHandler(t){const o=t.detail;this.foregroundColor=o.mode}componentWillLoad(){this.footerConfig=this.inferConfig(this.el)}render(){const{footerConfig:t,href:i}=this;const{small:n,grouped:r}=t;return o(e,{class:{"footer-link":true,[`footer-link-${r?"grouped":"ungrouped"}-${n?"small":"sparse"}`]:true,[`footer-link-${this.foregroundColor}`]:true}},o("a",{href:i},o("slot",null)))}get el(){return i(this)}};a.style=s;export{a as ic_footer_link};
2
- //# sourceMappingURL=p-2177dae2.entry.js.map
1
+ import{r as t,h as o,H as e,g as i}from"./p-f9370be6.js";import{D as n,k as r}from"./p-23831891.js";import"./p-6f57b13c.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.footer-link-ungrouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:40px;--footer-link-margin-bottom:0}:host(.footer-link-ungrouped-small){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-small){--footer-link-margin-left:var(--ic-space-md);--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link){margin-left:var(--footer-link-margin-left);margin-right:var(--footer-link-margin-right);margin-bottom:var(--footer-link-margin-bottom)}:host(.footer-link) a,:host(.footer-link) a ::slotted(a){display:block;font-weight:var(--ic-font-weight-bold);color:inherit;width:-moz-fit-content;width:fit-content;font-size:var(--ic-font-size-regular)}:host(.footer-link) a:link,:host(.footer-link) a ::slotted(a:link){color:inherit;text-decoration:underline;font-weight:var(--ic-font-weight-bold)}:host(.footer-link) a:link>::slotted(svg),:host(.footer-link) a:link>::slotted(img),:host(.footer-link) a ::slotted(a:link>::slotted(svg)),:host(.footer-link) a ::slotted(a:link>::slotted(img)){padding:var(--ic-space-xxxs);pointer-events:none;transition:var(--ic-easing-transition-fast)}:host(.footer-link-light) ::slotted(svg){fill:var(--ic-architectural-white)}:host(.footer-link-dark) ::slotted(svg){fill:var(--ic-architectural-black)}:host(.footer-link) a:link:hover,:host(.footer-link) a:link:focus,:host(.footer-link) a ::slotted(a:link:hover),:host(.footer-link) a ::slotted(a:link:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}:host(.footer-link) a:link:hover,:host(.footer-link) a ::slotted(a:link:hover){outline:none}:host(.footer-link) a:link:focus,:host(.footer-link) a ::slotted(a:link:focus){outline:var(--ic-hc-focus-outline)}:host(.footer-link) a:link:focus>::slotted(svg),:host(.footer-link) a:link:focus>::slotted(img),:host(.footer-link) a ::slotted(a:link:focus>::slotted(svg)),:host(.footer-link) a ::slotted(a:link:focus>::slotted(img)){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}:host(.footer-link) a:focus,:host(.footer-link) a ::slotted(a:focus){border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);transition:var(--ic-transition-duration-fast)}:host(.footer-link) a:link:active,:host(.footer-link) a:link:focus:active,:host(.footer-link) a:link:visited:active,:host(.footer-link) a ::slotted(a:link:active),:host(.footer-link) a ::slotted(a:link:focus:active),:host(.footer-link) a ::slotted(a:link:visited:active){color:inherit;text-decoration:none}:host(.footer-link) a:hover,:host(.footer-link) a ::slotted(a:hover){text-decoration:none}@media screen and (min-width: 769px){:host(.footer-link.footer-link-ungrouped-sparse:last-of-type){margin-right:0}}@media (forced-colors: active){:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:currentcolor}}';const a=class{constructor(o){t(this,o);this.href=null;this.footerConfig={small:false,grouped:false};this.deviceSize=n.XL;this.foregroundColor=r()}inferConfig(t){if(t.parentElement!==null){if(t.parentElement.classList.contains("footer")){return{small:t.parentElement.classList.contains("footer-small"),grouped:t.parentElement.classList.contains("footer-grouped")}}else{return this.inferConfig(t.parentElement)}}else{return{small:false,grouped:false}}}footerResizeHandler(){this.footerConfig=this.inferConfig(this.el)}footerThemeChangeHandler(t){const o=t.detail;this.foregroundColor=o.mode}componentWillLoad(){this.footerConfig=this.inferConfig(this.el)}render(){const{footerConfig:t,href:i}=this;const{small:n,grouped:r}=t;return o(e,{class:{"footer-link":true,[`footer-link-${r?"grouped":"ungrouped"}-${n?"small":"sparse"}`]:true,[`footer-link-${this.foregroundColor}`]:true}},o("a",{href:i},o("slot",null)))}get el(){return i(this)}};a.style=s;export{a as ic_footer_link};
2
+ //# sourceMappingURL=p-5831bb8e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"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"],"names":["icFooterLinkCss","FooterLink","small","grouped","DEVICE_SIZES","XL","getThemeForegroundColor","[object Object]","e","parentElement","classList","contains","this","inferConfig","footerConfig","el","ev","theme","detail","foregroundColor","mode","href","h","Host","class","footer-link"],"mappings":"4HAAA,MAAMA,EAAkB,42KCmBXC,EAAU,yCAMG,uBAEc,CAAEC,MAAO,MAAOC,QAAS,uBAEjCC,EAAaC,wBAEGC,IAEtCC,YAAYC,GAClB,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,MAAO,CACLT,MAAOM,EAAEC,cAAcC,UAAUC,SAAS,gBAC1CR,QAASK,EAAEC,cAAcC,UAAUC,SAAS,uBAEzC,CACL,OAAOC,KAAKC,YAAYL,EAAEC,oBAEvB,CACL,MAAO,CAAEP,MAAO,MAAOC,QAAS,QAKpCI,sBACEK,KAAKE,aAAeF,KAAKC,YAAYD,KAAKG,IAI5CR,yBAAyBS,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BN,KAAKO,gBAAkBF,EAAMG,KAG/Bb,oBACEK,KAAKE,aAAeF,KAAKC,YAAYD,KAAKG,IAG5CR,SACE,MAAMO,aAAEA,EAAYO,KAAEA,GAAST,KAC/B,MAAMV,MAAEA,EAAKC,QAAEA,GAAYW,EAE3B,OACEQ,EAACC,EAAI,CACHC,MAAO,CACLC,cAAe,KACflB,CAAC,eAAeJ,EAAU,UAAY,eACpCD,EAAQ,QAAU,YACf,KACLK,CAAC,eAAeK,KAAKO,mBAAoB,OAG3CG,EAAA,IAAA,CAAGD,KAAMA,GACPC,EAAA,OAAA","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 40px;\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: block;\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 text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\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@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\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: true,\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string = null;\n\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\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 @Listen(\"icFooterResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n render() {\n const { footerConfig, href } = 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 href={href}>\n <slot />\n </a>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,H as s,g as r}from"./p-f9370be6.js";import{z as l,c as a,a as o}from"./p-f228c232.js";import{I as e}from"./p-6f57b13c.js";const c=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.0876 1.175L5.9126 0L0.912598 5L5.9126 10L7.0876 8.825L3.27093 5L7.0876 1.175Z"/>\n</svg>`;const n=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.0876 0L0.912598 1.175L4.72926 5L0.912598 8.825L2.0876 10L7.0876 5L2.0876 0Z"/>\n</svg>\n`;const h=":host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);--tab-scroll-focus:var(--ic-border-focus);--tab-scroll-fill:var(--ic-action-default);--tab-scroll-disabled-fill:var(--ic-architectural-300);--tab-scroll-hover:var(--ic-action-default-bg-hover);--tab-scroll-active:var(--ic-action-default-bg-active);display:block;margin-bottom:var(--ic-space-md);margin-left:calc(-1 * var(--ic-space-xs))}:host(.light){--splitter-color:var(--ic-architectural-white);--tab-scroll-focus:var(--ic-border-focus-dark);--tab-scroll-fill:var(--ic-action-light);--tab-scroll-disabled-fill:var(--ic-architectural-500);--tab-scroll-hover:var(--ic-action-dark-bg-hover);--tab-scroll-active:var(--ic-action-dark-bg-active)}:host([inline]){margin-bottom:0}.tabs-container{display:flex;flex-direction:row;overflow-y:hidden;overflow-x:scroll;height:100%;align-items:center;padding:var(--ic-space-xs);scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;margin:calc(-1 * var(--ic-space-xs)) 0}.tabs-container::-webkit-scrollbar{display:none}.ic-tab-group-container{display:flex;align-items:center}:host(.light.ic-tab-group-not-inline){--border-bottom-color:var(--ic-architectural-white)}.scroll-container{display:flex}.scroll-container.hidden{display:none}.scroll-container:first-child{margin-left:var(--ic-space-xs)}.scroll-arrow{display:flex;width:36px;height:36px;margin:var(--ic-space-xxs) var(--ic-space-xxxs);align-items:center;justify-content:center;fill:var(--tab-scroll-fill);cursor:pointer}.scroll-arrow:focus{outline:var(--ic-hc-focus-outline)}.scroll-arrow:hover{background-color:var(--tab-scroll-hover)}.scroll-arrow:active{background-color:var(--tab-scroll-active)}.scroll-container.disabled .scroll-arrow{fill:var(--tab-scroll-disabled-fill);cursor:default}.scroll-container.disabled .scroll-arrow:hover,.scroll-container.disabled .scroll-arrow:active,.scroll-container.disabled .scroll-arrow:focus{background-color:unset;box-shadow:none}.scroll-container.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:1px;margin-top:10px;background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:var(--ic-space-xxxs)}.scroll-splitter-right{margin-right:var(--ic-space-xxxs)}.scroll-container.disabled .scroll-splitter-left,.scroll-container.disabled .scroll-splitter-right{display:none}.ic-tab-splitter{display:block;background-color:var(--border-bottom-color);height:1px;right:0;left:0;margin-left:var(--ic-space-xs)}.ic-tab-splitter.hidden{height:0}";const d=200;const b=class{constructor(i){t(this,i);this.buttonStateSet=false;this.resizeObserverCallback=()=>{if(this.tabGroupEl===null||this.tabGroupEl===undefined){this.tabGroupEl=this.host.shadowRoot.querySelector(".tabs-container")}this.tabOverflow=l(this.tabGroupEl);if(this.tabOverflow){this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.splitterEl)};this.scrollLeft=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()-1)};this.scrollRight=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftTab=()=>{const t=this.tabOffsets.findIndex((t=>t>this.tabGroupEl.scrollLeft));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{if(this.buttonStateSet===false){this.firstTabVisible=this.tabGroupEl.scrollLeft===0;this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}this.buttonStateSet=false};this.contextId="default";this.inline=false;this.label=undefined;this.appearance="dark";this.firstTabVisible=true;this.lastTabVisible=false;this.tabOverflow=false}async scrollTabIntoView(t){this.firstTabVisible=t<=0;const i=t<=0?0:this.tabOffsets[t-1];this.lastTabVisible=this.tabGroupEl.offsetWidth+i>=this.tabGroupEl.scrollWidth;this.buttonStateSet=true;this.tabGroupEl.scrollLeft=i}tabFocusHandler(t){if(this.tabOverflow){this.scrollTabIntoView(t.detail.position)}}componentDidLoad(){this.tabs=Array.from(this.host.querySelectorAll("ic-tab"));let t=0;this.tabOffsets=this.tabs.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);o([{prop:this.label,propName:"label"}],"Tab List")}disconnectedCallback(){this.resizeObserver.disconnect()}render(){const{inline:t,appearance:r,label:l,firstTabVisible:a,lastTabVisible:o,tabOverflow:h}=this;return i(s,{role:"tablist","aria-label":l,class:{["light"]:r===e.Light,["ic-tab-group-not-inline"]:!t}},i("div",{class:"ic-tab-group-container"},this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-left",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:a}},i("ic-tooltip",{placement:"bottom-start",label:"Scroll left",target:"left-arrow"},i("span",{id:"left-arrow",class:"scroll-arrow",innerHTML:c,onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})),i("span",{class:"scroll-splitter-left"})),i("div",{class:"tabs-container",ref:t=>this.tabGroupEl=t,onScroll:this.scrollHandler},i("slot",null)),this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-right",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:o}},i("span",{class:"scroll-splitter-right"}),i("ic-tooltip",{placement:"bottom-start",label:"Scroll right",target:"right-arrow"},i("span",{id:"right-arrow",class:"scroll-arrow",innerHTML:n,onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})))),i("div",{"aria-hidden":"true",class:{["ic-tab-splitter"]:true,["hidden"]:t},ref:t=>this.splitterEl=t}))}get host(){return r(this)}};b.style=h;export{b as ic_tab_group};
2
- //# sourceMappingURL=p-af6a41bd.entry.js.map
1
+ import{r as t,h as i,H as s,g as r}from"./p-f9370be6.js";import{A as l,c as a,a as o}from"./p-23831891.js";import{I as e}from"./p-6f57b13c.js";const c=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.0876 1.175L5.9126 0L0.912598 5L5.9126 10L7.0876 8.825L3.27093 5L7.0876 1.175Z"/>\n</svg>`;const n=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.0876 0L0.912598 1.175L4.72926 5L0.912598 8.825L2.0876 10L7.0876 5L2.0876 0Z"/>\n</svg>\n`;const h=":host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);--tab-scroll-focus:var(--ic-border-focus);--tab-scroll-fill:var(--ic-action-default);--tab-scroll-disabled-fill:var(--ic-architectural-300);--tab-scroll-hover:var(--ic-action-default-bg-hover);--tab-scroll-active:var(--ic-action-default-bg-active);display:block;margin-bottom:var(--ic-space-md);margin-left:calc(-1 * var(--ic-space-xs))}:host(.light){--splitter-color:var(--ic-architectural-white);--tab-scroll-focus:var(--ic-border-focus-dark);--tab-scroll-fill:var(--ic-action-light);--tab-scroll-disabled-fill:var(--ic-architectural-500);--tab-scroll-hover:var(--ic-action-dark-bg-hover);--tab-scroll-active:var(--ic-action-dark-bg-active)}:host([inline]){margin-bottom:0}.tabs-container{display:flex;flex-direction:row;overflow-y:hidden;overflow-x:scroll;height:100%;align-items:center;padding:var(--ic-space-xs);scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;margin:calc(-1 * var(--ic-space-xs)) 0}.tabs-container::-webkit-scrollbar{display:none}.ic-tab-group-container{display:flex;align-items:center}:host(.light.ic-tab-group-not-inline){--border-bottom-color:var(--ic-architectural-white)}.scroll-container{display:flex}.scroll-container.hidden{display:none}.scroll-container:first-child{margin-left:var(--ic-space-xs)}.scroll-arrow{display:flex;width:36px;height:36px;margin:var(--ic-space-xxs) var(--ic-space-xxxs);align-items:center;justify-content:center;fill:var(--tab-scroll-fill);cursor:pointer}.scroll-arrow:focus{outline:var(--ic-hc-focus-outline)}.scroll-arrow:hover{background-color:var(--tab-scroll-hover)}.scroll-arrow:active{background-color:var(--tab-scroll-active)}.scroll-container.disabled .scroll-arrow{fill:var(--tab-scroll-disabled-fill);cursor:default}.scroll-container.disabled .scroll-arrow:hover,.scroll-container.disabled .scroll-arrow:active,.scroll-container.disabled .scroll-arrow:focus{background-color:unset;box-shadow:none}.scroll-container.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:1px;margin-top:10px;background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:var(--ic-space-xxxs)}.scroll-splitter-right{margin-right:var(--ic-space-xxxs)}.scroll-container.disabled .scroll-splitter-left,.scroll-container.disabled .scroll-splitter-right{display:none}.ic-tab-splitter{display:block;background-color:var(--border-bottom-color);height:1px;right:0;left:0;margin-left:var(--ic-space-xs)}.ic-tab-splitter.hidden{height:0}";const d=200;const b=class{constructor(i){t(this,i);this.buttonStateSet=false;this.resizeObserverCallback=()=>{if(this.tabGroupEl===null||this.tabGroupEl===undefined){this.tabGroupEl=this.host.shadowRoot.querySelector(".tabs-container")}this.tabOverflow=l(this.tabGroupEl);if(this.tabOverflow){this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.splitterEl)};this.scrollLeft=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()-1)};this.scrollRight=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftTab=()=>{const t=this.tabOffsets.findIndex((t=>t>this.tabGroupEl.scrollLeft));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{if(this.buttonStateSet===false){this.firstTabVisible=this.tabGroupEl.scrollLeft===0;this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}this.buttonStateSet=false};this.contextId="default";this.inline=false;this.label=undefined;this.appearance="dark";this.firstTabVisible=true;this.lastTabVisible=false;this.tabOverflow=false}async scrollTabIntoView(t){this.firstTabVisible=t<=0;const i=t<=0?0:this.tabOffsets[t-1];this.lastTabVisible=this.tabGroupEl.offsetWidth+i>=this.tabGroupEl.scrollWidth;this.buttonStateSet=true;this.tabGroupEl.scrollLeft=i}tabFocusHandler(t){if(this.tabOverflow){this.scrollTabIntoView(t.detail.position)}}componentDidLoad(){this.tabs=Array.from(this.host.querySelectorAll("ic-tab"));let t=0;this.tabOffsets=this.tabs.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);o([{prop:this.label,propName:"label"}],"Tab List")}disconnectedCallback(){this.resizeObserver.disconnect()}render(){const{inline:t,appearance:r,label:l,firstTabVisible:a,lastTabVisible:o,tabOverflow:h}=this;return i(s,{role:"tablist","aria-label":l,class:{["light"]:r===e.Light,["ic-tab-group-not-inline"]:!t}},i("div",{class:"ic-tab-group-container"},this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-left",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:a}},i("ic-tooltip",{placement:"bottom-start",label:"Scroll left",target:"left-arrow"},i("span",{id:"left-arrow",class:"scroll-arrow",innerHTML:c,onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})),i("span",{class:"scroll-splitter-left"})),i("div",{class:"tabs-container",ref:t=>this.tabGroupEl=t,onScroll:this.scrollHandler},i("slot",null)),this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-right",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:o}},i("span",{class:"scroll-splitter-right"}),i("ic-tooltip",{placement:"bottom-start",label:"Scroll right",target:"right-arrow"},i("span",{id:"right-arrow",class:"scroll-arrow",innerHTML:n,onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})))),i("div",{"aria-hidden":"true",class:{["ic-tab-splitter"]:true,["hidden"]:t},ref:t=>this.splitterEl=t}))}get host(){return r(this)}};b.style=h;export{b as ic_tab_group};
2
+ //# sourceMappingURL=p-5e261268.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/ic-tab-group/ic-tab-group.css?tag=ic-tab-group&encapsulation=shadow","src/components/ic-tab-group/ic-tab-group.tsx"],"names":["icTabGroupCss","SCROLL_DELAY_MS","TabGroup","this","buttonStateSet","resizeObserverCallback","tabGroupEl","undefined","host","shadowRoot","querySelector","tabOverflow","elementOverflowsX","lastTabVisible","offsetWidth","scrollLeft","scrollWidth","runResizeObserver","resizeObserver","ResizeObserver","observe","splitterEl","scrollTabIntoView","getCurrentLeftTab","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","tabOffsets","findIndex","el","scrollHandler","isScrolling","scrollStopped","firstTabVisible","[object Object]","tabNumber","newScrollPos","event","detail","position","tabs","Array","from","querySelectorAll","runningTotal","map","tab","checkResizeObserver","onComponentRequiredPropUndefined","prop","label","propName","disconnect","inline","appearance","h","Host","role","aria-label","class","IcThemeForegroundEnum","Light","aria-hidden","id","placement","target","innerHTML","LeftArrow","onClick","onMouseDown","onMouseUp","ref","onScroll","RightArrow"],"mappings":"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","sourcesContent":[":host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n --tab-scroll-focus: var(--ic-border-focus);\n --tab-scroll-fill: var(--ic-action-default);\n --tab-scroll-disabled-fill: var(--ic-architectural-300);\n --tab-scroll-hover: var(--ic-action-default-bg-hover);\n --tab-scroll-active: var(--ic-action-default-bg-active);\n\n display: block;\n margin-bottom: var(--ic-space-md);\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.light) {\n --splitter-color: var(--ic-architectural-white);\n --tab-scroll-focus: var(--ic-border-focus-dark);\n --tab-scroll-fill: var(--ic-action-light);\n --tab-scroll-disabled-fill: var(--ic-architectural-500);\n --tab-scroll-hover: var(--ic-action-dark-bg-hover);\n --tab-scroll-active: var(--ic-action-dark-bg-active);\n}\n\n:host([inline]) {\n margin-bottom: 0;\n}\n\n.tabs-container {\n display: flex;\n flex-direction: row;\n overflow-y: hidden;\n overflow-x: scroll;\n height: 100%;\n align-items: center;\n padding: var(--ic-space-xs);\n scroll-behavior: smooth;\n -ms-overflow-style: none;\n scrollbar-width: none;\n margin: calc(-1 * var(--ic-space-xs)) 0;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.ic-tab-group-container {\n display: flex;\n align-items: center;\n}\n\n:host(.light.ic-tab-group-not-inline) {\n --border-bottom-color: var(--ic-architectural-white);\n}\n\n.scroll-container {\n display: flex;\n}\n\n.scroll-container.hidden {\n display: none;\n}\n\n.scroll-container:first-child {\n margin-left: var(--ic-space-xs);\n}\n\n.scroll-arrow {\n display: flex;\n width: 36px;\n height: 36px;\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n align-items: center;\n justify-content: center;\n fill: var(--tab-scroll-fill);\n cursor: pointer;\n}\n\n.scroll-arrow:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.scroll-arrow:hover {\n background-color: var(--tab-scroll-hover);\n}\n\n.scroll-arrow:active {\n background-color: var(--tab-scroll-active);\n}\n\n.scroll-container.disabled .scroll-arrow {\n fill: var(--tab-scroll-disabled-fill);\n cursor: default;\n}\n\n.scroll-container.disabled .scroll-arrow:hover,\n.scroll-container.disabled .scroll-arrow:active,\n.scroll-container.disabled .scroll-arrow:focus {\n background-color: unset;\n box-shadow: none;\n}\n\n.scroll-container.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: 1px;\n margin-top: 10px;\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: var(--ic-space-xxxs);\n}\n\n.scroll-splitter-right {\n margin-right: var(--ic-space-xxxs);\n}\n\n.scroll-container.disabled .scroll-splitter-left,\n.scroll-container.disabled .scroll-splitter-right {\n display: none;\n}\n\n.ic-tab-splitter {\n display: block;\n background-color: var(--border-bottom-color);\n height: 1px;\n right: 0;\n left: 0;\n margin-left: var(--ic-space-xs);\n}\n\n.ic-tab-splitter.hidden {\n height: 0;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Method,\n Listen,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\n\nimport {\n checkResizeObserver,\n elementOverflowsX,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"../ic-tab/ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: true,\n})\nexport class TabGroup {\n @Element() host: HTMLIcTabGroupElement;\n\n /**\n * Provide a unique context if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Use when tabs and tab panels are to be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * Provide a label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() firstTabVisible: boolean = true;\n @State() lastTabVisible: boolean = false;\n @State() tabOverflow: boolean = false;\n\n private tabs: HTMLIcTabElement[];\n private tabOffsets: number[];\n private tabGroupEl: HTMLElement;\n private splitterEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private isScrolling: number;\n private scrollDelay: number;\n private buttonStateSet: boolean = false;\n\n /**\n * @internal if tab side scrolling enabled, scrolls the specified tab into view\n */\n @Method()\n async scrollTabIntoView(tabNumber: number): Promise<void> {\n this.firstTabVisible = tabNumber <= 0;\n const newScrollPos = tabNumber <= 0 ? 0 : this.tabOffsets[tabNumber - 1];\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + newScrollPos >= this.tabGroupEl.scrollWidth;\n this.buttonStateSet = true;\n this.tabGroupEl.scrollLeft = newScrollPos;\n }\n\n @Listen(\"tabFocus\")\n tabFocusHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (this.tabOverflow) {\n this.scrollTabIntoView(event.detail.position);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.tabGroupEl === null || this.tabGroupEl === undefined) {\n this.tabGroupEl = this.host.shadowRoot.querySelector(\".tabs-container\");\n }\n this.tabOverflow = elementOverflowsX(this.tabGroupEl);\n if (this.tabOverflow) {\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.splitterEl);\n };\n\n private scrollLeft = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() - 1);\n };\n\n private scrollRight = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() + 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 = () => {\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftTab = (): number => {\n const index = this.tabOffsets.findIndex(\n (el) => el > this.tabGroupEl.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 scrollTabIntoView 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 if (this.buttonStateSet === false) {\n this.firstTabVisible = this.tabGroupEl.scrollLeft === 0;\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n componentDidLoad(): void {\n this.tabs = Array.from(this.host.querySelectorAll(\"ic-tab\"));\n let runningTotal = 0;\n this.tabOffsets = this.tabs.map((tab) => {\n runningTotal += tab.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab List\"\n );\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n render() {\n const {\n inline,\n appearance,\n label,\n firstTabVisible,\n lastTabVisible,\n tabOverflow,\n } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"ic-tab-group-not-inline\"]: !inline,\n }}\n >\n <div class=\"ic-tab-group-container\">\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-left\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: firstTabVisible,\n }}\n >\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll left\"\n target=\"left-arrow\"\n >\n <span\n id=\"left-arrow\"\n class=\"scroll-arrow\"\n innerHTML={LeftArrow}\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n )}\n <div\n class=\"tabs-container\"\n ref={(el) => (this.tabGroupEl = el)}\n onScroll={this.scrollHandler}\n >\n <slot></slot>\n </div>\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-right\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: lastTabVisible,\n }}\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll right\"\n target=\"right-arrow\"\n >\n <span\n id=\"right-arrow\"\n class=\"scroll-arrow\"\n innerHTML={RightArrow}\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n </div>\n )}\n </div>\n\n <div\n aria-hidden=\"true\"\n class={{\n [\"ic-tab-splitter\"]: true,\n [\"hidden\"]: inline,\n }}\n ref={(el) => (this.splitterEl = el)}\n ></div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/ic-tab-group/ic-tab-group.css?tag=ic-tab-group&encapsulation=shadow","src/components/ic-tab-group/ic-tab-group.tsx"],"names":["icTabGroupCss","SCROLL_DELAY_MS","TabGroup","this","buttonStateSet","resizeObserverCallback","tabGroupEl","undefined","host","shadowRoot","querySelector","tabOverflow","elementOverflowsX","lastTabVisible","offsetWidth","scrollLeft","scrollWidth","runResizeObserver","resizeObserver","ResizeObserver","observe","splitterEl","scrollTabIntoView","getCurrentLeftTab","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","tabOffsets","findIndex","el","scrollHandler","isScrolling","scrollStopped","firstTabVisible","[object Object]","tabNumber","newScrollPos","event","detail","position","tabs","Array","from","querySelectorAll","runningTotal","map","tab","checkResizeObserver","onComponentRequiredPropUndefined","prop","label","propName","disconnect","inline","appearance","h","Host","role","aria-label","class","IcThemeForegroundEnum","Light","aria-hidden","id","placement","target","innerHTML","LeftArrow","onClick","onMouseDown","onMouseUp","ref","onScroll","RightArrow"],"mappings":"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","sourcesContent":[":host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n --tab-scroll-focus: var(--ic-border-focus);\n --tab-scroll-fill: var(--ic-action-default);\n --tab-scroll-disabled-fill: var(--ic-architectural-300);\n --tab-scroll-hover: var(--ic-action-default-bg-hover);\n --tab-scroll-active: var(--ic-action-default-bg-active);\n\n display: block;\n margin-bottom: var(--ic-space-md);\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.light) {\n --splitter-color: var(--ic-architectural-white);\n --tab-scroll-focus: var(--ic-border-focus-dark);\n --tab-scroll-fill: var(--ic-action-light);\n --tab-scroll-disabled-fill: var(--ic-architectural-500);\n --tab-scroll-hover: var(--ic-action-dark-bg-hover);\n --tab-scroll-active: var(--ic-action-dark-bg-active);\n}\n\n:host([inline]) {\n margin-bottom: 0;\n}\n\n.tabs-container {\n display: flex;\n flex-direction: row;\n overflow-y: hidden;\n overflow-x: scroll;\n height: 100%;\n align-items: center;\n padding: var(--ic-space-xs);\n scroll-behavior: smooth;\n -ms-overflow-style: none;\n scrollbar-width: none;\n margin: calc(-1 * var(--ic-space-xs)) 0;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.ic-tab-group-container {\n display: flex;\n align-items: center;\n}\n\n:host(.light.ic-tab-group-not-inline) {\n --border-bottom-color: var(--ic-architectural-white);\n}\n\n.scroll-container {\n display: flex;\n}\n\n.scroll-container.hidden {\n display: none;\n}\n\n.scroll-container:first-child {\n margin-left: var(--ic-space-xs);\n}\n\n.scroll-arrow {\n display: flex;\n width: 36px;\n height: 36px;\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n align-items: center;\n justify-content: center;\n fill: var(--tab-scroll-fill);\n cursor: pointer;\n}\n\n.scroll-arrow:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.scroll-arrow:hover {\n background-color: var(--tab-scroll-hover);\n}\n\n.scroll-arrow:active {\n background-color: var(--tab-scroll-active);\n}\n\n.scroll-container.disabled .scroll-arrow {\n fill: var(--tab-scroll-disabled-fill);\n cursor: default;\n}\n\n.scroll-container.disabled .scroll-arrow:hover,\n.scroll-container.disabled .scroll-arrow:active,\n.scroll-container.disabled .scroll-arrow:focus {\n background-color: unset;\n box-shadow: none;\n}\n\n.scroll-container.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: 1px;\n margin-top: 10px;\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: var(--ic-space-xxxs);\n}\n\n.scroll-splitter-right {\n margin-right: var(--ic-space-xxxs);\n}\n\n.scroll-container.disabled .scroll-splitter-left,\n.scroll-container.disabled .scroll-splitter-right {\n display: none;\n}\n\n.ic-tab-splitter {\n display: block;\n background-color: var(--border-bottom-color);\n height: 1px;\n right: 0;\n left: 0;\n margin-left: var(--ic-space-xs);\n}\n\n.ic-tab-splitter.hidden {\n height: 0;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Method,\n Listen,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\n\nimport {\n checkResizeObserver,\n elementOverflowsX,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"../ic-tab/ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: true,\n})\nexport class TabGroup {\n @Element() host: HTMLIcTabGroupElement;\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the tabs and tab panels will be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * The label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n /** @internal The appearance of the tab group, e.g dark, or light. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() firstTabVisible: boolean = true;\n @State() lastTabVisible: boolean = false;\n @State() tabOverflow: boolean = false;\n\n private tabs: HTMLIcTabElement[];\n private tabOffsets: number[];\n private tabGroupEl: HTMLElement;\n private splitterEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private isScrolling: number;\n private scrollDelay: number;\n private buttonStateSet: boolean = false;\n\n /**\n * @internal if tab side scrolling enabled, scrolls the specified tab into view\n */\n @Method()\n async scrollTabIntoView(tabNumber: number): Promise<void> {\n this.firstTabVisible = tabNumber <= 0;\n const newScrollPos = tabNumber <= 0 ? 0 : this.tabOffsets[tabNumber - 1];\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + newScrollPos >= this.tabGroupEl.scrollWidth;\n this.buttonStateSet = true;\n this.tabGroupEl.scrollLeft = newScrollPos;\n }\n\n @Listen(\"tabFocus\")\n tabFocusHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (this.tabOverflow) {\n this.scrollTabIntoView(event.detail.position);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.tabGroupEl === null || this.tabGroupEl === undefined) {\n this.tabGroupEl = this.host.shadowRoot.querySelector(\".tabs-container\");\n }\n this.tabOverflow = elementOverflowsX(this.tabGroupEl);\n if (this.tabOverflow) {\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.splitterEl);\n };\n\n private scrollLeft = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() - 1);\n };\n\n private scrollRight = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() + 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 = () => {\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftTab = (): number => {\n const index = this.tabOffsets.findIndex(\n (el) => el > this.tabGroupEl.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 scrollTabIntoView 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 if (this.buttonStateSet === false) {\n this.firstTabVisible = this.tabGroupEl.scrollLeft === 0;\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n componentDidLoad(): void {\n this.tabs = Array.from(this.host.querySelectorAll(\"ic-tab\"));\n let runningTotal = 0;\n this.tabOffsets = this.tabs.map((tab) => {\n runningTotal += tab.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab List\"\n );\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n render() {\n const {\n inline,\n appearance,\n label,\n firstTabVisible,\n lastTabVisible,\n tabOverflow,\n } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"ic-tab-group-not-inline\"]: !inline,\n }}\n >\n <div class=\"ic-tab-group-container\">\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-left\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: firstTabVisible,\n }}\n >\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll left\"\n target=\"left-arrow\"\n >\n <span\n id=\"left-arrow\"\n class=\"scroll-arrow\"\n innerHTML={LeftArrow}\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n )}\n <div\n class=\"tabs-container\"\n ref={(el) => (this.tabGroupEl = el)}\n onScroll={this.scrollHandler}\n >\n <slot></slot>\n </div>\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-right\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: lastTabVisible,\n }}\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll right\"\n target=\"right-arrow\"\n >\n <span\n id=\"right-arrow\"\n class=\"scroll-arrow\"\n innerHTML={RightArrow}\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n </div>\n )}\n </div>\n\n <div\n aria-hidden=\"true\"\n class={{\n [\"ic-tab-splitter\"]: true,\n [\"hidden\"]: inline,\n }}\n ref={(el) => (this.splitterEl = el)}\n ></div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as a,g as s}from"./p-f9370be6.js";import{a as o}from"./p-6f57b13c.js";import{w as n,m as r,d as l,a as c,r as h,h as d,e as u,H as p,n as b}from"./p-23831891.js";const f='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}::-moz-placeholder{color:var(--ic-color-tertiary-text);opacity:1}::placeholder{color:var(--ic-color-tertiary-text);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:6px}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-primary-text)}.fullwidth{position:relative;width:100%}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.maxlengthtext{color:var(--ic-color-secondary-text)}.exceeded{color:var(--ic-status-error)}.disabled{color:var(--ic-architectural-200)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-color-tertiary-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-primary-text)}.charcount{margin-right:calc(-1 * var(--ic-space-xxxs))}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let m=0;const y=class{constructor(i){t(this,i);this.icKeydown=e(this,"icKeydown",7);this.icInput=e(this,"icInput",7);this.icBlur=e(this,"icBlur",7);this.icFocus=e(this,"icFocus",7);this.icChange=e(this,"icChange",7);this.inheritedAttributes={};this.showLeftIcon=this.hasLeftIconSlot();this.onInput=t=>{this.value=t.target.value;this.icInput.emit({value:this.value})};this.onBlur=t=>{const e=t.target.value;this.icBlur.emit({value:e})};this.onFocus=t=>{const e=t.target.value;this.icFocus.emit({value:e})};this.isTextArea=()=>this.rows>1;this.hasStatus=t=>t!==""&&!this.disabled;this.showStatusText=t=>{if(this.hasStatus(t)&&!(t==o.Success&&this.validationInline)){return true}return false};this.handleFormReset=()=>{this.value=this.initialValue};this.inputId=`ic-text-field-input-${m++}`;this.label=undefined;this.required=false;this.disabled=false;this.readonly=false;this.placeholder="";this.fullWidth=false;this.hideLabel=false;this.helperText="";this.rows=1;this.resize=false;this.small=false;this.value="";this.maxLength=0;this.validationStatus="";this.validationText="";this.validationInline=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autoFocus=false;this.debounce=0;this.type="text";this.inputmode="text";this.name=this.inputId;this.spellcheck=false;this.ariaActiveDescendant=undefined;this.truncateValue=undefined;this.ariaExpanded=undefined;this.ariaOwns=undefined;this.ariaAutocomplete=undefined;this.role=undefined;this.hiddenInput=true;this.numChars=0;this.maxLengthExceeded=false;this.initialValue=this.value}debounceChanged(){this.icChange=n(this.icChange,this.debounce)}watchValueHandler(t){if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}if(this.maxLength>0){this.numChars=t.length;if(t.length>this.maxLength){this.maxLengthExceeded=true}else{this.maxLengthExceeded=false}}this.icChange.emit({value:t})}async setFocus(){if(this.inputEl){this.inputEl.focus()}}handleKeyDown(t){this.icKeydown.emit({event:t});t.cancelBubble=true}hasLeftIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}connectedCallback(){this.debounceChanged()}componentWillLoad(){this.watchValueHandler(this.value);this.inheritedAttributes=r(this.el,[...b,"title","aria-autocomplete","aria-haspopup"]);if(this.readonly){this.maxLengthExceeded=false}l(this.el,this.handleFormReset)}componentDidLoad(){c([{prop:this.label,propName:"label"}],"Text Field")}disconnectedCallback(){h(this.el,this.handleFormReset)}render(){const{inputId:t,name:e,label:s,required:n,small:r,placeholder:l,helperText:c,rows:h,resize:b,disabled:f,value:m,maxLength:y,numChars:g,readonly:v,maxLengthExceeded:x,validationStatus:w,validationText:k,validationInline:z,spellcheck:I,inputmode:F,fullWidth:L,truncateValue:j,hiddenInput:q}=this;const C=v?true:f;const T=f?"":l;const B=x?o.Error:w;const H=x?"Maximum length exceeded":k;const W=v?0:y;const M=x||y===0&&B===o.Error?"assertive":"polite";const S=this.showStatusText(B);const V=this.isTextArea();const D=y>0?t+"-charcount-desc":"";const K=(D+" "+d(t,c!=="",S)).trim();if(this.showLeftIcon){if(!v&&C){this.showLeftIcon=false}}const O=B===o.Error?"true":"false";const $=C&&!v;if(q){u(true,this.el,e,m,C)}return i(a,{class:{["fullwidth"]:L}},i("ic-input-container",{readonly:v,disabled:C},!this.hideLabel&&i("ic-input-label",{for:t,label:s,helperText:c,required:n,disabled:$,readonly:v}),i("ic-input-component-container",{small:r,validationStatus:B,multiLine:V,disabled:C,readonly:v,validationInline:z,fullWidth:L},this.showLeftIcon&&i("span",{class:{["readonly"]:v,["has-value"]:m.length>0},slot:"left-icon"},i("slot",{name:"icon"})),!V&&i("input",Object.assign({id:t,name:e,ref:t=>this.inputEl=t,type:this.type,value:m,class:{["no-left-pad"]:!this.showLeftIcon&&v,["readonly"]:v,["truncate-value"]:j},placeholder:T,required:n,disabled:C,readonly:v,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":s,"aria-describedby":K,"aria-invalid":O,"aria-activedescendant":this.ariaActiveDescendant,"aria-expanded":this.ariaExpanded,"aria-owns":this.ariaOwns,autocomplete:this.autocomplete,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:I,inputmode:F,role:this.role},this.inheritedAttributes)),V&&i("textarea",Object.assign({id:t,class:{["no-resize"]:b===false||v,["no-left-pad"]:!this.showLeftIcon&&v,["readonly"]:v},name:e,ref:t=>this.inputEl=t,value:m,rows:h,required:n,disabled:C,placeholder:T,readonly:v,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":s,"aria-describedby":K,"aria-invalid":O,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:I,inputmode:F},this.inheritedAttributes)),i("slot",{name:"clear-button"}),i("slot",{name:"search-submit-button"})),i("slot",{name:"menu"}),(!p(w)||!p(k)||W>0)&&i("ic-input-validation",{status:this.hasStatus(B)===false||B===o.Success&&z?"":B,message:S?H:"",ariaLiveMode:M,for:t,fullWidth:L},!v&&W>0&&i("div",{slot:"validation-message-adornment"},i("ic-typography",{variant:"caption",class:{["maxlengthtext"]:true,["exceeded"]:x,["disabled"]:$}},i("span",{"aria-live":"polite",id:`${t}-charcount`,class:"charcount"},g,"/",W),i("span",{hidden:true,id:D},"Field can contain a maximum of ",W," characters."))))))}get el(){return s(this)}static get watchers(){return{debounce:["debounceChanged"],value:["watchValueHandler"]}}};y.style=f;export{y as ic_text_field};
2
+ //# sourceMappingURL=p-60ffb73e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"names":["icTextFieldCss","inputIds","TextField","this","inheritedAttributes","showLeftIcon","hasLeftIconSlot","onInput","ev","value","target","icInput","emit","onBlur","icBlur","onFocus","icFocus","isTextArea","rows","hasStatus","status","disabled","showStatusText","IcInformationStatus","Success","validationInline","handleFormReset","initialValue","inputId","undefined","[object Object]","icChange","debounceEvent","debounce","newValue","inputEl","maxLength","numChars","length","maxLengthExceeded","focus","icKeydown","event","cancelBubble","iconEl","el","querySelector","debounceChanged","watchValueHandler","inheritAttributes","IC_INHERITED_ARIA","readonly","addFormResetListener","onComponentRequiredPropUndefined","prop","label","propName","removeFormResetListener","name","required","small","placeholder","helperText","resize","validationStatus","validationText","spellcheck","inputmode","fullWidth","truncateValue","hiddenInput","disabledMode","placeholderText","currentStatus","Error","currentValidationText","maxNumChars","messageAriaLive","multiline","hiddenCharCountDescId","describedBy","getInputDescribedByText","trim","invalid","disabledText","renderHiddenInput","h","Host","class","hideLabel","for","multiLine","slot","Object","assign","id","ref","type","aria-label","aria-describedby","aria-invalid","aria-activedescendant","ariaActiveDescendant","aria-expanded","ariaExpanded","aria-owns","ariaOwns","autocomplete","autocapitalize","autoFocus","role","isEmptyString","message","ariaLiveMode","variant","aria-live","hidden"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field \n */\n display: block;\n}\n\n::placeholder {\n color: var(--ic-color-tertiary-text);\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 6px;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(--ic-architectural-200);\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-color-primary-text);\n}\n\n.fullwidth {\n position: relative;\n width: 100%;\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.maxlengthtext {\n color: var(--ic-color-secondary-text);\n}\n\n.exceeded {\n color: var(--ic-status-error);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-primary-text);\n}\n\n.charcount {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n} from \"../../interface\";\nimport { IcInformationStatus } from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n @Element() el: HTMLIcTextFieldElement;\n\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the text field.\n */\n @Prop() small: boolean = false;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n if (this.maxLength > 0) {\n this.numChars = newValue.length;\n if (newValue.length > this.maxLength) {\n this.maxLengthExceeded = true;\n } else {\n this.maxLengthExceeded = false;\n }\n }\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * Sets focus on the native `input`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n //stop keydown event bubbling up to storybook\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n ev.cancelBubble = true;\n }\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n if (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline)\n ) {\n return true;\n }\n return false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n \"aria-autocomplete\",\n \"aria-haspopup\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n validationStatus,\n validationText,\n validationInline,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus = maxLengthExceeded\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon) {\n if (!readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n small={small}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n <slot name=\"clear-button\"></slot>\n <slot name=\"search-submit-button\"></slot>\n </ic-input-component-container>\n <slot name=\"menu\"></slot>\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0) && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline)\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"exceeded\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}