@ukic/web-components 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-fc4016d2.js → helpers-931fd72e.js} +30 -32
  3. package/dist/cjs/helpers-931fd72e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +10 -8
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-button_3.cjs.entry.js +138 -145
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +8 -13
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +7 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +33 -27
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +36 -13
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +12 -22
  38. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js +31 -39
  42. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js +121 -166
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js +65 -62
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  48. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  49. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -6
  54. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +68 -34
  57. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-select.cjs.entry.js +142 -218
  60. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js +35 -17
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  67. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  72. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +16 -11
  75. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +54 -68
  80. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-toggle-button.cjs.entry.js +62 -64
  82. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js +74 -66
  84. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/collection/ag-theme-icds.css +24 -4
  88. package/dist/collection/components/ic-accordion/ic-accordion.js +9 -7
  89. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  90. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +1 -1
  91. package/dist/collection/components/ic-alert/ic-alert.css +4 -0
  92. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  93. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  94. package/dist/collection/components/ic-button/ic-button.css +0 -8
  95. package/dist/collection/components/ic-button/ic-button.js +3 -3
  96. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  97. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +3 -0
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -1
  99. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -11
  100. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  101. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +10 -2
  102. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -3
  103. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +22 -0
  105. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  106. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  107. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  108. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  109. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  110. package/dist/collection/components/ic-hero/ic-hero.css +13 -4
  111. package/dist/collection/components/ic-hero/ic-hero.js +5 -4
  112. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  113. package/dist/collection/components/ic-hero/ic-hero.stories.js +1 -0
  114. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  115. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  116. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  117. package/dist/collection/components/ic-input-label/ic-input-label.css +2 -1
  118. package/dist/collection/components/ic-input-label/ic-input-label.js +31 -8
  119. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  120. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  121. package/dist/collection/components/ic-link/ic-link.js +12 -25
  122. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  123. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +3 -3
  124. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +210 -211
  125. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  126. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +1 -1
  127. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  128. package/dist/collection/components/ic-menu/ic-menu.js +94 -47
  129. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  130. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  131. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -47
  132. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  133. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +144 -170
  134. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  135. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +10 -14
  136. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +80 -74
  137. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  138. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  139. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  140. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  141. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  142. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +3 -0
  143. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  144. package/dist/collection/components/ic-radio-group/ic-radio-group.css +10 -2
  145. package/dist/collection/components/ic-radio-group/ic-radio-group.js +7 -4
  146. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  147. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +22 -0
  148. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  149. package/dist/collection/components/ic-search-bar/ic-search-bar.js +96 -34
  150. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +29 -18
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +197 -271
  154. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  155. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +21 -13
  156. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +21 -13
  157. package/dist/collection/components/ic-select/ic-select_(single).stories.js +47 -30
  158. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +54 -16
  159. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  160. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +390 -0
  161. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  162. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  163. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  164. package/dist/collection/components/ic-step/ic-step.js +13 -13
  165. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  166. package/dist/collection/components/ic-switch/ic-switch.css +1 -4
  167. package/dist/collection/components/ic-switch/ic-switch.js +5 -4
  168. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  169. package/dist/collection/components/ic-switch/ic-switch.stories.js +8 -1
  170. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  171. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  172. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  173. package/dist/collection/components/ic-text-field/ic-text-field.js +21 -14
  174. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  175. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  176. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  177. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  178. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  179. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +40 -7
  180. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +80 -82
  181. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  182. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -88
  183. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  184. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -2
  185. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +1 -0
  186. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -81
  187. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  188. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  189. package/dist/collection/utils/constants.js +1 -1
  190. package/dist/collection/utils/constants.js.map +1 -1
  191. package/dist/collection/utils/helpers.js +27 -30
  192. package/dist/collection/utils/helpers.js.map +1 -1
  193. package/dist/components/helpers.js +29 -32
  194. package/dist/components/helpers.js.map +1 -1
  195. package/dist/components/ic-accordion.js +9 -7
  196. package/dist/components/ic-accordion.js.map +1 -1
  197. package/dist/components/ic-alert.js +1 -1
  198. package/dist/components/ic-alert.js.map +1 -1
  199. package/dist/components/ic-breadcrumb-group.js +2 -2
  200. package/dist/components/ic-breadcrumb2.js +2 -2
  201. package/dist/components/ic-button2.js +4 -4
  202. package/dist/components/ic-button2.js.map +1 -1
  203. package/dist/components/ic-card-vertical.js +1 -1
  204. package/dist/components/ic-card-vertical.js.map +1 -1
  205. package/dist/components/ic-checkbox-group.js +4 -4
  206. package/dist/components/ic-checkbox-group.js.map +1 -1
  207. package/dist/components/ic-checkbox.js +7 -12
  208. package/dist/components/ic-checkbox.js.map +1 -1
  209. package/dist/components/ic-data-list.js +2 -2
  210. package/dist/components/ic-data-row.js +2 -2
  211. package/dist/components/ic-dialog.js +1 -1
  212. package/dist/components/ic-empty-state.js +2 -2
  213. package/dist/components/ic-footer-link.js +2 -2
  214. package/dist/components/ic-hero.js +6 -5
  215. package/dist/components/ic-hero.js.map +1 -1
  216. package/dist/components/ic-horizontal-scroll2.js +5 -5
  217. package/dist/components/ic-input-component-container2.js +3 -3
  218. package/dist/components/ic-input-container2.js +2 -2
  219. package/dist/components/ic-input-label2.js +33 -10
  220. package/dist/components/ic-input-label2.js.map +1 -1
  221. package/dist/components/ic-input-validation2.js +3 -3
  222. package/dist/components/ic-link2.js +12 -24
  223. package/dist/components/ic-link2.js.map +1 -1
  224. package/dist/components/ic-loading-indicator2.js +139 -143
  225. package/dist/components/ic-loading-indicator2.js.map +1 -1
  226. package/dist/components/ic-menu-group.js +1 -1
  227. package/dist/components/ic-menu2.js +30 -22
  228. package/dist/components/ic-menu2.js.map +1 -1
  229. package/dist/components/ic-navigation-button.js +32 -41
  230. package/dist/components/ic-navigation-button.js.map +1 -1
  231. package/dist/components/ic-navigation-group.js +122 -167
  232. package/dist/components/ic-navigation-group.js.map +1 -1
  233. package/dist/components/ic-navigation-item.js +68 -63
  234. package/dist/components/ic-navigation-item.js.map +1 -1
  235. package/dist/components/ic-navigation-menu2.js +5 -5
  236. package/dist/components/ic-page-header.js +6 -6
  237. package/dist/components/ic-pagination-item2.js +2 -2
  238. package/dist/components/ic-pagination.js +4 -4
  239. package/dist/components/ic-popover-menu.js +5 -5
  240. package/dist/components/ic-popover-menu.js.map +1 -1
  241. package/dist/components/ic-radio-group.js +5 -5
  242. package/dist/components/ic-radio-group.js.map +1 -1
  243. package/dist/components/ic-radio-option.js +4 -4
  244. package/dist/components/ic-radio-option.js.map +1 -1
  245. package/dist/components/ic-search-bar.js +72 -34
  246. package/dist/components/ic-search-bar.js.map +1 -1
  247. package/dist/components/ic-section-container2.js +2 -2
  248. package/dist/components/ic-select.js +141 -217
  249. package/dist/components/ic-select.js.map +1 -1
  250. package/dist/components/ic-side-navigation.js +36 -17
  251. package/dist/components/ic-side-navigation.js.map +1 -1
  252. package/dist/components/ic-skeleton.js +2 -2
  253. package/dist/components/ic-skip-link.js +2 -2
  254. package/dist/components/ic-status-tag.js +2 -2
  255. package/dist/components/ic-step.js +13 -13
  256. package/dist/components/ic-stepper.js +2 -2
  257. package/dist/components/ic-switch.js +5 -5
  258. package/dist/components/ic-switch.js.map +1 -1
  259. package/dist/components/ic-tab-context.js +1 -1
  260. package/dist/components/ic-tab-group.js +2 -2
  261. package/dist/components/ic-tab-panel.js +2 -2
  262. package/dist/components/ic-tab-panel.js.map +1 -1
  263. package/dist/components/ic-text-field.js +17 -11
  264. package/dist/components/ic-text-field.js.map +1 -1
  265. package/dist/components/ic-theme.js +2 -2
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast.js +4 -4
  268. package/dist/components/ic-toggle-button-group.js +53 -67
  269. package/dist/components/ic-toggle-button-group.js.map +1 -1
  270. package/dist/components/ic-toggle-button.js +62 -64
  271. package/dist/components/ic-toggle-button.js.map +1 -1
  272. package/dist/components/ic-tooltip2.js +2 -2
  273. package/dist/components/ic-top-navigation.js +75 -67
  274. package/dist/components/ic-top-navigation.js.map +1 -1
  275. package/dist/components/ic-typography2.js +2 -2
  276. package/dist/core/ag-theme-icds.css +24 -4
  277. package/dist/core/core.css +29 -25
  278. package/dist/core/core.esm.js +1 -1
  279. package/dist/core/core.esm.js.map +1 -1
  280. package/dist/core/{p-b371a498.entry.js → p-0f3a56bb.entry.js} +2 -2
  281. package/dist/core/p-0f3a56bb.entry.js.map +1 -0
  282. package/dist/core/{p-72c117b6.entry.js → p-0f86ea09.entry.js} +2 -2
  283. package/dist/core/p-1228fd8c.entry.js +2 -0
  284. package/dist/core/{p-b8da5c07.entry.js.map → p-1228fd8c.entry.js.map} +1 -1
  285. package/dist/core/p-1286b234.entry.js +2 -0
  286. package/dist/core/p-1286b234.entry.js.map +1 -0
  287. package/dist/core/{p-8c4f7c63.entry.js → p-13e65198.entry.js} +2 -2
  288. package/dist/core/{p-fbf57f0a.entry.js → p-20a6dc40.entry.js} +2 -2
  289. package/dist/core/p-20a6dc40.entry.js.map +1 -0
  290. package/dist/core/{p-cdf56a5d.entry.js → p-21ed856c.entry.js} +2 -2
  291. package/dist/core/p-21ed856c.entry.js.map +1 -0
  292. package/dist/core/p-226406d6.entry.js +2 -0
  293. package/dist/core/{p-70a6cff1.entry.js → p-24bb2265.entry.js} +2 -2
  294. package/dist/core/{p-d45d66c0.entry.js → p-2b342b23.entry.js} +2 -2
  295. package/dist/core/p-334672c1.entry.js +2 -0
  296. package/dist/core/p-334672c1.entry.js.map +1 -0
  297. package/dist/core/{p-8b5022bc.entry.js → p-3448c713.entry.js} +2 -2
  298. package/dist/core/p-37900547.entry.js +2 -0
  299. package/dist/core/p-37900547.entry.js.map +1 -0
  300. package/dist/core/p-3abaa877.entry.js +2 -0
  301. package/dist/core/p-3abaa877.entry.js.map +1 -0
  302. package/dist/core/{p-ef36181d.entry.js → p-3afc2870.entry.js} +2 -2
  303. package/dist/core/{p-aad10013.entry.js → p-3d7d2ff4.entry.js} +2 -2
  304. package/dist/core/p-41bb4db1.entry.js +2 -0
  305. package/dist/core/p-41bb4db1.entry.js.map +1 -0
  306. package/dist/core/{p-788c96ac.entry.js → p-44902a33.entry.js} +2 -2
  307. package/dist/core/{p-628c32b8.entry.js → p-476eac8c.entry.js} +2 -2
  308. package/dist/core/{p-9479f272.entry.js → p-49ca3f54.entry.js} +2 -2
  309. package/dist/core/{p-ebab7a9e.entry.js → p-4dfc41e7.entry.js} +2 -2
  310. package/dist/core/{p-83764268.entry.js → p-5026eeaf.entry.js} +2 -2
  311. package/dist/core/{p-2c17cc67.entry.js → p-54ea7120.entry.js} +2 -2
  312. package/dist/core/{p-a17499ff.entry.js → p-5b2bf9bb.entry.js} +2 -2
  313. package/dist/core/{p-0a436c47.entry.js → p-5d9b23ce.entry.js} +2 -2
  314. package/dist/core/p-5d9b23ce.entry.js.map +1 -0
  315. package/dist/core/{p-c9a4fe37.entry.js → p-5f9d1977.entry.js} +2 -2
  316. package/dist/core/p-5f9d1977.entry.js.map +1 -0
  317. package/dist/core/{p-1b2690b4.entry.js → p-6c10e1a2.entry.js} +2 -2
  318. package/dist/core/p-6c10e1a2.entry.js.map +1 -0
  319. package/dist/core/{p-1440847f.entry.js → p-6cb81f35.entry.js} +2 -2
  320. package/dist/core/{p-df88ff5b.entry.js → p-6dd73165.entry.js} +2 -2
  321. package/dist/core/p-7ead8535.entry.js +2 -0
  322. package/dist/core/p-7ead8535.entry.js.map +1 -0
  323. package/dist/core/{p-c8cf1ad5.entry.js → p-831e884c.entry.js} +2 -2
  324. package/dist/core/{p-267a19d4.entry.js → p-85f735ed.entry.js} +2 -2
  325. package/dist/core/p-89f493f3.entry.js +2 -0
  326. package/dist/core/p-89f493f3.entry.js.map +1 -0
  327. package/dist/core/{p-00bc353b.entry.js → p-8da025b5.entry.js} +2 -2
  328. package/dist/core/p-990c37aa.entry.js +2 -0
  329. package/dist/core/p-990c37aa.entry.js.map +1 -0
  330. package/dist/core/p-9e039aba.entry.js +2 -0
  331. package/dist/core/p-9e039aba.entry.js.map +1 -0
  332. package/dist/core/{p-bc2ca778.entry.js → p-9e051db4.entry.js} +2 -2
  333. package/dist/core/{p-a0161990.entry.js → p-9edc5973.entry.js} +2 -2
  334. package/dist/core/{p-2c371198.entry.js → p-a14025cc.entry.js} +2 -2
  335. package/dist/core/p-a7286727.entry.js +2 -0
  336. package/dist/core/p-a7286727.entry.js.map +1 -0
  337. package/dist/core/{p-c4663e1a.entry.js → p-ab4e8b4a.entry.js} +2 -2
  338. package/dist/core/{p-42a7d0b6.entry.js → p-ab7a5536.entry.js} +2 -2
  339. package/dist/core/{p-26dfc4db.entry.js → p-ac73cfb8.entry.js} +2 -2
  340. package/dist/core/{p-f0388d68.entry.js → p-ad374f0b.entry.js} +2 -2
  341. package/dist/core/p-ad374f0b.entry.js.map +1 -0
  342. package/dist/core/{p-513628ef.entry.js → p-b08bb522.entry.js} +2 -2
  343. package/dist/core/{p-1be17f22.entry.js → p-b1b27b7e.entry.js} +2 -2
  344. package/dist/core/p-b40ecf16.js +2 -0
  345. package/dist/core/p-b40ecf16.js.map +1 -0
  346. package/dist/core/{p-10e1e227.entry.js → p-b59007a3.entry.js} +2 -2
  347. package/dist/core/{p-16f55230.entry.js → p-b811c7a1.entry.js} +2 -2
  348. package/dist/core/p-b811c7a1.entry.js.map +1 -0
  349. package/dist/core/p-bae2df5e.entry.js +2 -0
  350. package/dist/core/p-bae2df5e.entry.js.map +1 -0
  351. package/dist/core/{p-bdc72446.entry.js → p-c8555360.entry.js} +2 -2
  352. package/dist/core/{p-a4f9b5bf.entry.js → p-ced2e6ca.entry.js} +2 -2
  353. package/dist/core/{p-9ca147f3.entry.js → p-d281c3cf.entry.js} +2 -2
  354. package/dist/core/p-d32c377d.entry.js +2 -0
  355. package/dist/core/p-d32c377d.entry.js.map +1 -0
  356. package/dist/core/p-d4a77f80.entry.js +2 -0
  357. package/dist/core/p-d4a77f80.entry.js.map +1 -0
  358. package/dist/core/{p-9c47521d.entry.js → p-d7476f6d.entry.js} +2 -2
  359. package/dist/core/{p-1838d1e9.entry.js → p-e107d1dd.entry.js} +2 -2
  360. package/dist/core/p-e506ec91.entry.js +2 -0
  361. package/dist/core/p-e506ec91.entry.js.map +1 -0
  362. package/dist/core/{p-b9459ba2.entry.js → p-fc5661ac.entry.js} +2 -2
  363. package/dist/core/p-fca45edb.entry.js +2 -0
  364. package/dist/core/p-fca45edb.entry.js.map +1 -0
  365. package/dist/esm/core.js +1 -1
  366. package/dist/esm/{helpers-f2ffaa7c.js → helpers-91abc444.js} +30 -33
  367. package/dist/esm/helpers-91abc444.js.map +1 -0
  368. package/dist/esm/ic-accordion-group.entry.js +1 -1
  369. package/dist/esm/ic-accordion.entry.js +10 -8
  370. package/dist/esm/ic-accordion.entry.js.map +1 -1
  371. package/dist/esm/ic-alert.entry.js +2 -2
  372. package/dist/esm/ic-alert.entry.js.map +1 -1
  373. package/dist/esm/ic-back-to-top.entry.js +1 -1
  374. package/dist/esm/ic-badge.entry.js +1 -1
  375. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  376. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  377. package/dist/esm/ic-button_3.entry.js +138 -145
  378. package/dist/esm/ic-button_3.entry.js.map +1 -1
  379. package/dist/esm/ic-card-vertical.entry.js +2 -2
  380. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  381. package/dist/esm/ic-checkbox-group.entry.js +5 -5
  382. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  383. package/dist/esm/ic-checkbox.entry.js +8 -13
  384. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  385. package/dist/esm/ic-chip.entry.js +1 -1
  386. package/dist/esm/ic-data-list.entry.js +2 -2
  387. package/dist/esm/ic-data-row.entry.js +3 -3
  388. package/dist/esm/ic-dialog.entry.js +2 -2
  389. package/dist/esm/ic-divider.entry.js +1 -1
  390. package/dist/esm/ic-empty-state.entry.js +3 -3
  391. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +3 -3
  393. package/dist/esm/ic-footer.entry.js +1 -1
  394. package/dist/esm/ic-hero.entry.js +7 -6
  395. package/dist/esm/ic-hero.entry.js.map +1 -1
  396. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  397. package/dist/esm/ic-input-component-container_3.entry.js +33 -27
  398. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  399. package/dist/esm/ic-input-label_2.entry.js +36 -13
  400. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  401. package/dist/esm/ic-link.entry.js +12 -22
  402. package/dist/esm/ic-link.entry.js.map +1 -1
  403. package/dist/esm/ic-menu-group.entry.js +2 -2
  404. package/dist/esm/ic-menu-item.entry.js +1 -1
  405. package/dist/esm/ic-navigation-button.entry.js +31 -39
  406. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  407. package/dist/esm/ic-navigation-group.entry.js +121 -166
  408. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  409. package/dist/esm/ic-navigation-item.entry.js +65 -62
  410. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  411. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  412. package/dist/esm/ic-page-header.entry.js +7 -7
  413. package/dist/esm/ic-pagination-item.entry.js +2 -2
  414. package/dist/esm/ic-pagination.entry.js +5 -5
  415. package/dist/esm/ic-popover-menu.entry.js +6 -6
  416. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  417. package/dist/esm/ic-radio-group.entry.js +6 -6
  418. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  419. package/dist/esm/ic-radio-option.entry.js +5 -5
  420. package/dist/esm/ic-search-bar.entry.js +68 -34
  421. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  422. package/dist/esm/ic-section-container.entry.js +2 -2
  423. package/dist/esm/ic-select.entry.js +142 -218
  424. package/dist/esm/ic-select.entry.js.map +1 -1
  425. package/dist/esm/ic-side-navigation.entry.js +35 -17
  426. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  427. package/dist/esm/ic-skeleton.entry.js +2 -2
  428. package/dist/esm/ic-skip-link.entry.js +2 -2
  429. package/dist/esm/ic-status-tag.entry.js +3 -3
  430. package/dist/esm/ic-step.entry.js +14 -14
  431. package/dist/esm/ic-stepper.entry.js +3 -3
  432. package/dist/esm/ic-switch.entry.js +6 -6
  433. package/dist/esm/ic-switch.entry.js.map +1 -1
  434. package/dist/esm/ic-tab-context.entry.js +1 -1
  435. package/dist/esm/ic-tab-group.entry.js +3 -3
  436. package/dist/esm/ic-tab-panel.entry.js +2 -2
  437. package/dist/esm/ic-tab.entry.js +1 -1
  438. package/dist/esm/ic-text-field.entry.js +16 -11
  439. package/dist/esm/ic-text-field.entry.js.map +1 -1
  440. package/dist/esm/ic-theme.entry.js +2 -2
  441. package/dist/esm/ic-toast-region.entry.js +1 -1
  442. package/dist/esm/ic-toast.entry.js +4 -4
  443. package/dist/esm/ic-toggle-button-group.entry.js +54 -68
  444. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  445. package/dist/esm/ic-toggle-button.entry.js +62 -64
  446. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  447. package/dist/esm/ic-top-navigation.entry.js +75 -67
  448. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  449. package/dist/esm/ic-typography.entry.js +3 -3
  450. package/dist/esm/loader.js +1 -1
  451. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  452. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -0
  453. package/dist/types/components/ic-link/ic-link.d.ts +2 -3
  454. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +28 -32
  455. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -0
  456. package/dist/types/components/ic-menu/ic-menu.d.ts +19 -12
  457. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -5
  458. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +8 -19
  459. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -7
  460. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +3 -0
  461. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +13 -0
  462. package/dist/types/components/ic-select/ic-select.d.ts +37 -38
  463. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  464. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  465. package/dist/types/components/ic-text-field/ic-text-field.d.ts +4 -2
  466. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -11
  467. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +10 -12
  468. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +10 -8
  469. package/dist/types/components.d.ts +122 -94
  470. package/dist/types/utils/constants.d.ts +1 -1
  471. package/dist/types/utils/helpers.d.ts +1 -1
  472. package/hydrate/index.js +1047 -1100
  473. package/hydrate/index.mjs +1047 -1100
  474. package/package.json +3 -5
  475. package/vscode-data.json +16 -4
  476. package/dist/cjs/helpers-fc4016d2.js.map +0 -1
  477. package/dist/core/p-0a436c47.entry.js.map +0 -1
  478. package/dist/core/p-15b7adaf.entry.js +0 -2
  479. package/dist/core/p-15b7adaf.entry.js.map +0 -1
  480. package/dist/core/p-16f55230.entry.js.map +0 -1
  481. package/dist/core/p-18714198.entry.js +0 -2
  482. package/dist/core/p-18714198.entry.js.map +0 -1
  483. package/dist/core/p-1b2690b4.entry.js.map +0 -1
  484. package/dist/core/p-206c2a26.entry.js +0 -2
  485. package/dist/core/p-206c2a26.entry.js.map +0 -1
  486. package/dist/core/p-2e44cf53.entry.js +0 -2
  487. package/dist/core/p-2e44cf53.entry.js.map +0 -1
  488. package/dist/core/p-730d2f6e.entry.js +0 -2
  489. package/dist/core/p-730d2f6e.entry.js.map +0 -1
  490. package/dist/core/p-7fb79e87.entry.js +0 -2
  491. package/dist/core/p-7fb79e87.entry.js.map +0 -1
  492. package/dist/core/p-8242c24f.js +0 -2
  493. package/dist/core/p-8242c24f.js.map +0 -1
  494. package/dist/core/p-910f5f14.entry.js +0 -2
  495. package/dist/core/p-910f5f14.entry.js.map +0 -1
  496. package/dist/core/p-9cfc2bac.entry.js +0 -2
  497. package/dist/core/p-9cfc2bac.entry.js.map +0 -1
  498. package/dist/core/p-b371a498.entry.js.map +0 -1
  499. package/dist/core/p-b7568944.entry.js +0 -2
  500. package/dist/core/p-b7568944.entry.js.map +0 -1
  501. package/dist/core/p-b8da5c07.entry.js +0 -2
  502. package/dist/core/p-ba600947.entry.js +0 -2
  503. package/dist/core/p-ba600947.entry.js.map +0 -1
  504. package/dist/core/p-c45023b7.entry.js +0 -2
  505. package/dist/core/p-c45023b7.entry.js.map +0 -1
  506. package/dist/core/p-c9a4fe37.entry.js.map +0 -1
  507. package/dist/core/p-cdf56a5d.entry.js.map +0 -1
  508. package/dist/core/p-d6c50565.entry.js +0 -2
  509. package/dist/core/p-d6c50565.entry.js.map +0 -1
  510. package/dist/core/p-d975bf2f.entry.js +0 -2
  511. package/dist/core/p-d975bf2f.entry.js.map +0 -1
  512. package/dist/core/p-dede4974.entry.js +0 -2
  513. package/dist/core/p-dede4974.entry.js.map +0 -1
  514. package/dist/core/p-e86a6d2d.entry.js +0 -2
  515. package/dist/core/p-eeab3a2e.entry.js +0 -2
  516. package/dist/core/p-eeab3a2e.entry.js.map +0 -1
  517. package/dist/core/p-f0388d68.entry.js.map +0 -1
  518. package/dist/core/p-fbf57f0a.entry.js.map +0 -1
  519. package/dist/esm/helpers-f2ffaa7c.js.map +0 -1
  520. /package/dist/core/{p-72c117b6.entry.js.map → p-0f86ea09.entry.js.map} +0 -0
  521. /package/dist/core/{p-8c4f7c63.entry.js.map → p-13e65198.entry.js.map} +0 -0
  522. /package/dist/core/{p-e86a6d2d.entry.js.map → p-226406d6.entry.js.map} +0 -0
  523. /package/dist/core/{p-70a6cff1.entry.js.map → p-24bb2265.entry.js.map} +0 -0
  524. /package/dist/core/{p-d45d66c0.entry.js.map → p-2b342b23.entry.js.map} +0 -0
  525. /package/dist/core/{p-8b5022bc.entry.js.map → p-3448c713.entry.js.map} +0 -0
  526. /package/dist/core/{p-ef36181d.entry.js.map → p-3afc2870.entry.js.map} +0 -0
  527. /package/dist/core/{p-aad10013.entry.js.map → p-3d7d2ff4.entry.js.map} +0 -0
  528. /package/dist/core/{p-788c96ac.entry.js.map → p-44902a33.entry.js.map} +0 -0
  529. /package/dist/core/{p-628c32b8.entry.js.map → p-476eac8c.entry.js.map} +0 -0
  530. /package/dist/core/{p-9479f272.entry.js.map → p-49ca3f54.entry.js.map} +0 -0
  531. /package/dist/core/{p-ebab7a9e.entry.js.map → p-4dfc41e7.entry.js.map} +0 -0
  532. /package/dist/core/{p-83764268.entry.js.map → p-5026eeaf.entry.js.map} +0 -0
  533. /package/dist/core/{p-2c17cc67.entry.js.map → p-54ea7120.entry.js.map} +0 -0
  534. /package/dist/core/{p-a17499ff.entry.js.map → p-5b2bf9bb.entry.js.map} +0 -0
  535. /package/dist/core/{p-1440847f.entry.js.map → p-6cb81f35.entry.js.map} +0 -0
  536. /package/dist/core/{p-df88ff5b.entry.js.map → p-6dd73165.entry.js.map} +0 -0
  537. /package/dist/core/{p-c8cf1ad5.entry.js.map → p-831e884c.entry.js.map} +0 -0
  538. /package/dist/core/{p-267a19d4.entry.js.map → p-85f735ed.entry.js.map} +0 -0
  539. /package/dist/core/{p-00bc353b.entry.js.map → p-8da025b5.entry.js.map} +0 -0
  540. /package/dist/core/{p-bc2ca778.entry.js.map → p-9e051db4.entry.js.map} +0 -0
  541. /package/dist/core/{p-a0161990.entry.js.map → p-9edc5973.entry.js.map} +0 -0
  542. /package/dist/core/{p-2c371198.entry.js.map → p-a14025cc.entry.js.map} +0 -0
  543. /package/dist/core/{p-c4663e1a.entry.js.map → p-ab4e8b4a.entry.js.map} +0 -0
  544. /package/dist/core/{p-42a7d0b6.entry.js.map → p-ab7a5536.entry.js.map} +0 -0
  545. /package/dist/core/{p-26dfc4db.entry.js.map → p-ac73cfb8.entry.js.map} +0 -0
  546. /package/dist/core/{p-513628ef.entry.js.map → p-b08bb522.entry.js.map} +0 -0
  547. /package/dist/core/{p-1be17f22.entry.js.map → p-b1b27b7e.entry.js.map} +0 -0
  548. /package/dist/core/{p-10e1e227.entry.js.map → p-b59007a3.entry.js.map} +0 -0
  549. /package/dist/core/{p-bdc72446.entry.js.map → p-c8555360.entry.js.map} +0 -0
  550. /package/dist/core/{p-a4f9b5bf.entry.js.map → p-ced2e6ca.entry.js.map} +0 -0
  551. /package/dist/core/{p-9ca147f3.entry.js.map → p-d281c3cf.entry.js.map} +0 -0
  552. /package/dist/core/{p-9c47521d.entry.js.map → p-d7476f6d.entry.js.map} +0 -0
  553. /package/dist/core/{p-1838d1e9.entry.js.map → p-e107d1dd.entry.js.map} +0 -0
  554. /package/dist/core/{p-b9459ba2.entry.js.map → p-fc5661ac.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ic-input-label.ic-input-validation.entry.cjs.js","mappings":"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","names":["onComponentRequiredPropUndefined","h","Host","getInputHelperTextID","IcInformationStatus","warningIcon","errorIcon","successIcon","getInputValidationTextID"],"sources":["src/components/ic-input-label/ic-input-label.css?tag=ic-input-label","src/components/ic-input-label/ic-input-label.tsx","src/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","src/components/ic-input-validation/ic-input-validation.tsx"],"sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n\n --ic-typography-color: var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n );\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.ic-input-label-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-typography-color);\n}\n\nic-input-label .helpertext {\n margin-top: var(--ic-space-xxxs);\n padding-bottom: var(--ic-input-label-helpertext-padding, 0);\n\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-normal {\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-helpertext-color);\n}\n\nic-input-label .readonly-label {\n --ic-typography-color: var(--ic-input-label-readonly-label-color);\n}\n\nic-input-label .error-label {\n --ic-typography-color: var(--ic-input-label-error-label-color);\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n getInputHelperTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-input-label\",\n styleUrl: \"./ic-input-label.css\",\n})\nexport class InputLabel {\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The ID of the form element the label is bound to.\n */\n @Prop() for?: string;\n\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The label will be visually hidden.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The status of the label - e.g. 'error'.\n */\n @Prop() status: \"error\" | \"\" = \"\";\n\n /**\n * @internal If `true`, wraps label text in label tag\n */\n @Prop() useLabelTag: boolean = true;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n render() {\n const {\n disabled,\n readonly,\n label,\n required,\n helperText,\n status,\n hideLabel,\n useLabelTag,\n } = this;\n const labelText = required ? label + \" *\" : label;\n\n return (\n <Host\n class={{\n \"ic-input-label-disabled\": !!disabled,\n \"ic-input-label-readonly\": readonly,\n \"with-helper\": helperText !== \"\",\n }}\n >\n {!hideLabel && (\n <ic-typography\n variant=\"label\"\n class={{\n \"readonly-label\": readonly,\n \"error-label\": status === \"error\" && !(readonly || disabled),\n }}\n >\n {readonly || !useLabelTag ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n )}\n </ic-typography>\n )}\n\n {helperText !== \"\" && (\n <ic-typography\n variant=\"caption\"\n class={{\n helpertext: true,\n \"helpertext-normal\": !disabled && !readonly,\n \"helpertext-readonly\": readonly,\n }}\n >\n <span id={this.for && getInputHelperTextID(this.for)}>\n {helperText}\n </span>\n </ic-typography>\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n width: var(--input-width, 20rem);\n margin-top: var(--ic-space-xs);\n display: flex;\n}\n\nic-input-validation.ic-input-validation-full-width {\n width: 100%;\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-input-validation-success-icon-color);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-input-validation-error, var(--ic-atoms-status-icon-error));\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-input-validation-warning-icon-color);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n\n --ic-typography-color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n}\n","import { Element, Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport {\n getInputValidationTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcAriaLiveModeVariants } from \"./ic-input-validation.types\";\n\nconst icon = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode?: IcAriaLiveModeVariants = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for?: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message!: string;\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status?: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? icon[status!] : \"\";\n return (\n <Host\n class={{\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span\n aria-live={ariaLiveMode}\n id={this.for && getInputValidationTextID(this.for)}\n >\n {message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-input-label.ic-input-validation.entry.cjs.js","mappings":"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","names":["onComponentRequiredPropUndefined","getInputHelperTextID","h","Host","IcInformationStatus","warningIcon","errorIcon","successIcon","getInputValidationTextID"],"sources":["src/components/ic-input-label/ic-input-label.css?tag=ic-input-label","src/components/ic-input-label/ic-input-label.tsx","src/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","src/components/ic-input-validation/ic-input-validation.tsx"],"sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n\n --ic-typography-color: var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n );\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.ic-input-label-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-typography-color);\n}\n\nic-input-label .helpertext,\nic-input-label .helpertext ::slotted(*) {\n margin-top: var(--ic-space-xxxs);\n padding-bottom: var(--ic-input-label-helpertext-padding, 0);\n\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-normal {\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-helpertext-color);\n}\n\nic-input-label .readonly-label {\n --ic-typography-color: var(--ic-input-label-readonly-label-color);\n}\n\nic-input-label .error-label {\n --ic-typography-color: var(--ic-input-label-error-label-color);\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n getInputHelperTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-input-label\",\n styleUrl: \"./ic-input-label.css\",\n})\nexport class InputLabel {\n @Element() el: HTMLIcInputLabelElement;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The ID of the form element the label is bound to.\n */\n @Prop() for?: string;\n\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The label will be visually hidden.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The status of the label - e.g. 'error'.\n */\n @Prop() status: \"error\" | \"\" = \"\";\n\n /**\n * @internal If `true`, wraps label text in label tag\n */\n @Prop() useLabelTag: boolean = true;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n private isHelperTextSlotUsed = (slot: Element | null): boolean => {\n const assignedEls = (slot as HTMLSlotElement)?.assignedElements();\n if (assignedEls && assignedEls.length) {\n for (const el of assignedEls) {\n if (el.tagName === \"SLOT\") {\n // Recursion needed for when slot is forwarded multiple times - through child components\n // (e.g. in date picker)\n if (this.isHelperTextSlotUsed(el as HTMLSlotElement)) {\n return true;\n }\n } else {\n // Found an assigned element which is not a nested <slot>\n return true;\n }\n }\n }\n return false;\n };\n\n render() {\n const {\n disabled,\n readonly,\n label,\n required,\n helperText,\n status,\n hideLabel,\n useLabelTag,\n } = this;\n const labelText = required ? label + \" *\" : label;\n const helperTextId = this.for && getInputHelperTextID(this.for);\n const helperTextClass = {\n helpertext: true,\n \"helpertext-normal\": !disabled && !readonly,\n \"helpertext-readonly\": readonly,\n };\n\n const helperTextSlot = this.el.querySelector(\"slot[name='helper-text']\");\n\n return (\n <Host\n class={{\n \"ic-input-label-disabled\": !!disabled,\n \"ic-input-label-readonly\": readonly,\n \"with-helper\":\n this.isHelperTextSlotUsed(helperTextSlot) || helperText !== \"\",\n }}\n >\n {!hideLabel && (\n <ic-typography\n variant=\"label\"\n class={{\n \"readonly-label\": readonly,\n \"error-label\": status === \"error\" && !(readonly || disabled),\n }}\n >\n {readonly || !useLabelTag ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n )}\n </ic-typography>\n )}\n {this.isHelperTextSlotUsed(helperTextSlot) ? (\n <span id={helperTextId} class={helperTextClass}>\n <slot name=\"helper-text\"></slot>\n </span>\n ) : (\n helperText !== \"\" && (\n <ic-typography variant=\"caption\" class={helperTextClass}>\n <span id={helperTextId}>{helperText}</span>\n </ic-typography>\n )\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n width: var(--input-width, 20rem);\n margin-top: var(--ic-space-xs);\n display: flex;\n}\n\nic-input-validation.ic-input-validation-full-width {\n width: 100%;\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-input-validation-success-icon-color);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-input-validation-error, var(--ic-atoms-status-icon-error));\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-input-validation-warning-icon-color);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n\n --ic-typography-color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n}\n","import { Element, Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport {\n getInputValidationTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcAriaLiveModeVariants } from \"./ic-input-validation.types\";\n\nconst icon = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode?: IcAriaLiveModeVariants = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for?: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message!: string;\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status?: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? icon[status!] : \"\";\n return (\n <Host\n class={{\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span\n aria-live={ariaLiveMode}\n id={this.for && getInputValidationTextID(this.for)}\n >\n {message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
6
  const OpenInNew = require('./OpenInNew-d5d30e77.js');
7
- const helpers = require('./helpers-fc4016d2.js');
7
+ const helpers = require('./helpers-931fd72e.js');
8
8
 
9
9
  const icLinkCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-link) .link,:host(.ic-link) ::slotted(a){color:var(--ic-link-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}:host(.ic-link) .link:visited,:host(.ic-link) ::slotted(a:visited),:host(.ic-link) .link:visited:hover,:host(.ic-link) ::slotted(a:visited:hover),:host(.ic-link) .link:visited:active,:host(.ic-link) ::slotted(a:visited:active),:host(.ic-link) .link:visited:focus,:host(.ic-link) ::slotted(a:visited:focus){color:var(--ic-link-text-visited)}:host(.ic-link) .link:hover{color:var(--ic-link-text-hover)}:host(.ic-link) .link:active{color:var(--ic-link-text-pressed)}:host(.ic-link) .link:focus{color:var(--ic-link-text-focused)}:host(.ic-link-monochrome) .link:hover{color:var(--ic-link-text-hover-monochrome)}:host(.ic-link-monochrome) .link:active{color:var(--ic-link-text-pressed-monochrome)}:host(.ic-link-monochrome) .link:focus{color:var(--ic-link-text-focused-monochrome)}:host(.ic-link) .link:hover,:host(.ic-link) .link:focus,:host(.ic-link) ::slotted(a:hover),:host(.ic-link) ::slotted(a:focus){outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-underline-offset: 10%){:host(.ic-link) .link:hover,:host(.ic-link) .link:focus,:host(.ic-link) ::slotted(a:hover),:host(.ic-link) ::slotted(a:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:10%;border-bottom:0 !important;margin-bottom:0 !important}}:host(.ic-link) .link:active,:host(.ic-link) .link:focus:active,:host(.ic-link) .link:visited:active,:host(.ic-link) ::slotted(a:active),:host(.ic-link) ::slotted(a:focus:active),:host(.ic-link) ::slotted(a:visited:active){text-decoration:none}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:var(--ic-link-icon-launch)}.link:visited>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-visited)}:host(.ic-link-monochrome) .link,:host(.ic-link-monochrome) ::slotted(a){color:var(--ic-link-text-monochrome)}:host(.ic-link-monochrome) .link:visited,:host(.ic-link-monochrome) ::slotted(a:visited),:host(.ic-link-monochrome) .link:visited:hover,:host(.ic-link-monochrome) ::slotted(a:visited:hover),:host(.ic-link-monochrome) .link:visited:active,:host(.ic-link-monochrome) ::slotted(a:visited:active),:host(.ic-link-monochrome) .link:visited:focus,:host(.ic-link-monochrome) ::slotted(a:visited:focus){color:var(--ic-link-text-visited-monochrome)}:host(.ic-link-monochrome) .link>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-monochrome)}:host(.ic-link-monochrome) .link:visited>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-visited-monochrome)}:host(.breadcrumb-link) .link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .link:visited{color:var(--ic-color-text-primary)}:host(.footer-link) ::slotted(a){color:var(--ic-footer-link) !important}@media (forced-colors: active){.ic-link-open-in-new-icon>svg{fill:currentcolor}}";
10
10
  const IcLinkStyle0 = icLinkCss;
@@ -15,7 +15,7 @@ const Link = class {
15
15
  this.inheritedAttributes = {};
16
16
  this.hostMutationObserver = null;
17
17
  /**
18
- * If `true`, the user can save the linked URL instead of navigating to it.
18
+ * If `true`, the user can save the linked URL instead of navigating to it. If the value is a string, it will be used as the filename for the download.
19
19
  */
20
20
  this.download = false;
21
21
  /**
@@ -42,9 +42,14 @@ const Link = class {
42
42
  index.forceUpdate(this);
43
43
  }
44
44
  };
45
- }
46
- watchDownloadHandler() {
47
- this.updateDownload();
45
+ this.setDownloadAttribute = (value) => {
46
+ if (typeof value === "boolean") {
47
+ return value ? "" : undefined;
48
+ }
49
+ else {
50
+ return value === "true" ? "" : value === "false" ? undefined : value;
51
+ }
52
+ };
48
53
  }
49
54
  componentWillLoad() {
50
55
  this.inheritedAttributes = helpers.inheritAttributes(this.el, helpers.IC_INHERITED_ARIA);
@@ -81,18 +86,6 @@ const Link = class {
81
86
  : helpers.IcBrandForegroundEnum.Light;
82
87
  }
83
88
  }
84
- updateDownload() {
85
- var _a;
86
- const element = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("a");
87
- if (element) {
88
- if (this.download) {
89
- element.setAttribute("download", this.download === true ? "" : this.download);
90
- }
91
- else {
92
- element.removeAttribute("download");
93
- }
94
- }
95
- }
96
89
  hasRouterSlot() {
97
90
  this.routerSlot = this.el.querySelector('[slot="router-item"]');
98
91
  if (this.routerSlot) {
@@ -102,19 +95,16 @@ const Link = class {
102
95
  }
103
96
  render() {
104
97
  const { download, href, hreflang, referrerpolicy, rel, target, monochrome, theme, } = this;
105
- return (index.h(index.Host, { key: 'b554bf4f2fc16dd66f7d393ae4813fe10c9a16f8', class: {
98
+ return (index.h(index.Host, { key: '769bea68e79e8b28fb9c0ea007c24dd11968d332', class: {
106
99
  ["ic-link"]: true,
107
100
  [`ic-theme-${theme}`]: theme !== "inherit",
108
101
  ["ic-link-monochrome"]: !!monochrome,
109
102
  } }, this.hasRouterSlot() ? (index.h("slot", { name: "router-item" })) : (index.h("a", Object.assign({ class: {
110
103
  ["link"]: !!href,
111
- }, download: download !== true ? download : "", href: href, hrefLang: hreflang, referrerPolicy: referrerpolicy, rel: rel, target: target, tabindex: href ? "0" : "-1" }, this.inheritedAttributes, { part: "link" }), index.h("slot", null), target === "_blank" && (index.h("span", { class: "ic-link-open-in-new-icon", innerHTML: OpenInNew.OpenInNew }))))));
104
+ }, download: this.setDownloadAttribute(download), href: href, hrefLang: hreflang, referrerPolicy: referrerpolicy, rel: rel, target: target, tabindex: href ? "0" : "-1" }, this.inheritedAttributes, { part: "link" }), index.h("slot", null), target === "_blank" && (index.h("span", { class: "ic-link-open-in-new-icon", innerHTML: OpenInNew.OpenInNew }))))));
112
105
  }
113
106
  static get delegatesFocus() { return true; }
114
107
  get el() { return index.getElement(this); }
115
- static get watchers() { return {
116
- "download": ["watchDownloadHandler"]
117
- }; }
118
108
  };
119
109
  Link.style = IcLinkStyle0;
120
110
 
@@ -1 +1 @@
1
- {"file":"ic-link.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","forceUpdate","inheritAttributes","getBrandFromContext","IcBrandForegroundEnum","h","Host","OpenInNew"],"sources":["src/components/ic-link/ic-link.css?tag=ic-link&encapsulation=shadow","src/components/ic-link/ic-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-link) .link,\n:host(.ic-link) ::slotted(a) {\n color: var(--ic-link-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.ic-link) .link:visited,\n:host(.ic-link) ::slotted(a:visited),\n:host(.ic-link) .link:visited:hover,\n:host(.ic-link) ::slotted(a:visited:hover),\n:host(.ic-link) .link:visited:active,\n:host(.ic-link) ::slotted(a:visited:active),\n:host(.ic-link) .link:visited:focus,\n:host(.ic-link) ::slotted(a:visited:focus) {\n color: var(--ic-link-text-visited);\n}\n\n:host(.ic-link) .link:hover {\n color: var(--ic-link-text-hover);\n}\n\n:host(.ic-link) .link:active {\n color: var(--ic-link-text-pressed);\n}\n\n:host(.ic-link) .link:focus {\n color: var(--ic-link-text-focused);\n}\n\n:host(.ic-link-monochrome) .link:hover {\n color: var(--ic-link-text-hover-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:active {\n color: var(--ic-link-text-pressed-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:focus {\n color: var(--ic-link-text-focused-monochrome);\n}\n\n:host(.ic-link) .link:hover,\n:host(.ic-link) .link:focus,\n:host(.ic-link) ::slotted(a:hover),\n:host(.ic-link) ::slotted(a:focus) {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 10%) {\n :host(.ic-link) .link:hover,\n :host(.ic-link) .link:focus,\n :host(.ic-link) ::slotted(a:hover),\n :host(.ic-link) ::slotted(a:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 10%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n:host(.ic-link) .link:active,\n:host(.ic-link) .link:focus:active,\n:host(.ic-link) .link:visited:active,\n:host(.ic-link) ::slotted(a:active),\n:host(.ic-link) ::slotted(a:focus:active),\n:host(.ic-link) ::slotted(a:visited:active) {\n text-decoration: none;\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: var(--ic-link-icon-launch);\n}\n\n.link:visited > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-visited);\n}\n\n:host(.ic-link-monochrome) .link,\n:host(.ic-link-monochrome) ::slotted(a) {\n color: var(--ic-link-text-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:visited,\n:host(.ic-link-monochrome) ::slotted(a:visited),\n:host(.ic-link-monochrome) .link:visited:hover,\n:host(.ic-link-monochrome) ::slotted(a:visited:hover),\n:host(.ic-link-monochrome) .link:visited:active,\n:host(.ic-link-monochrome) ::slotted(a:visited:active),\n:host(.ic-link-monochrome) .link:visited:focus,\n:host(.ic-link-monochrome) ::slotted(a:visited:focus) {\n color: var(--ic-link-text-visited-monochrome);\n}\n\n:host(.ic-link-monochrome) .link > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:visited > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-visited-monochrome);\n}\n\n:host(.breadcrumb-link) .link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .link:visited {\n color: var(--ic-color-text-primary);\n}\n\n/* Footer link */\n\n:host(.footer-link) ::slotted(a) {\n color: var(--ic-footer-link) !important;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .ic-link-open-in-new-icon > svg {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Prop,\n h,\n Host,\n Listen,\n Method,\n forceUpdate,\n Watch,\n} from \"@stencil/core\";\n\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\nimport { getBrandFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\n/**\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n\n@Component({\n tag: \"ic-link\",\n styleUrl: \"ic-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Link {\n private inheritedAttributes: { [k: string]: string } = {};\n private routerSlot: HTMLElement | null;\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcLinkElement;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n @Watch(\"download\")\n watchDownloadHandler(): void {\n this.updateDownload();\n }\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the link will display as black in the light theme, and white in the dark theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, IC_INHERITED_ARIA);\n this.updateTheme();\n this.el.setAttribute(\"exportparts\", \"link\");\n }\n\n componentDidLoad(): void {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the link.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot?.querySelector(\"a\")?.focus();\n }\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const theme = getBrandFromContext(this.el, mode);\n\n if (theme !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n theme === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private updateDownload(): void {\n const element = this.el.shadowRoot?.querySelector(\"a\");\n if (element) {\n if (this.download) {\n element.setAttribute(\n \"download\",\n this.download === true ? \"\" : this.download\n );\n } else {\n element.removeAttribute(\"download\");\n }\n }\n }\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && IC_INHERITED_ARIA.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n download,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n monochrome,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [\"ic-link\"]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-link-monochrome\"]: !!monochrome,\n }}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <a\n class={{\n [\"link\"]: !!href,\n }}\n download={download !== true ? download : \"\"}\n href={href}\n hrefLang={hreflang}\n referrerPolicy={referrerpolicy}\n rel={rel}\n target={target}\n tabindex={href ? \"0\" : \"-1\"}\n {...this.inheritedAttributes}\n part=\"link\"\n >\n <slot />\n {target === \"_blank\" && (\n <span class=\"ic-link-open-in-new-icon\" innerHTML={OpenInNew} />\n )}\n </a>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-link.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","forceUpdate","inheritAttributes","getBrandFromContext","IcBrandForegroundEnum","h","Host","OpenInNew"],"sources":["src/components/ic-link/ic-link.css?tag=ic-link&encapsulation=shadow","src/components/ic-link/ic-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-link) .link,\n:host(.ic-link) ::slotted(a) {\n color: var(--ic-link-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.ic-link) .link:visited,\n:host(.ic-link) ::slotted(a:visited),\n:host(.ic-link) .link:visited:hover,\n:host(.ic-link) ::slotted(a:visited:hover),\n:host(.ic-link) .link:visited:active,\n:host(.ic-link) ::slotted(a:visited:active),\n:host(.ic-link) .link:visited:focus,\n:host(.ic-link) ::slotted(a:visited:focus) {\n color: var(--ic-link-text-visited);\n}\n\n:host(.ic-link) .link:hover {\n color: var(--ic-link-text-hover);\n}\n\n:host(.ic-link) .link:active {\n color: var(--ic-link-text-pressed);\n}\n\n:host(.ic-link) .link:focus {\n color: var(--ic-link-text-focused);\n}\n\n:host(.ic-link-monochrome) .link:hover {\n color: var(--ic-link-text-hover-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:active {\n color: var(--ic-link-text-pressed-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:focus {\n color: var(--ic-link-text-focused-monochrome);\n}\n\n:host(.ic-link) .link:hover,\n:host(.ic-link) .link:focus,\n:host(.ic-link) ::slotted(a:hover),\n:host(.ic-link) ::slotted(a:focus) {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 10%) {\n :host(.ic-link) .link:hover,\n :host(.ic-link) .link:focus,\n :host(.ic-link) ::slotted(a:hover),\n :host(.ic-link) ::slotted(a:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 10%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n:host(.ic-link) .link:active,\n:host(.ic-link) .link:focus:active,\n:host(.ic-link) .link:visited:active,\n:host(.ic-link) ::slotted(a:active),\n:host(.ic-link) ::slotted(a:focus:active),\n:host(.ic-link) ::slotted(a:visited:active) {\n text-decoration: none;\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: var(--ic-link-icon-launch);\n}\n\n.link:visited > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-visited);\n}\n\n:host(.ic-link-monochrome) .link,\n:host(.ic-link-monochrome) ::slotted(a) {\n color: var(--ic-link-text-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:visited,\n:host(.ic-link-monochrome) ::slotted(a:visited),\n:host(.ic-link-monochrome) .link:visited:hover,\n:host(.ic-link-monochrome) ::slotted(a:visited:hover),\n:host(.ic-link-monochrome) .link:visited:active,\n:host(.ic-link-monochrome) ::slotted(a:visited:active),\n:host(.ic-link-monochrome) .link:visited:focus,\n:host(.ic-link-monochrome) ::slotted(a:visited:focus) {\n color: var(--ic-link-text-visited-monochrome);\n}\n\n:host(.ic-link-monochrome) .link > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-monochrome);\n}\n\n:host(.ic-link-monochrome) .link:visited > .ic-link-open-in-new-icon > svg {\n fill: var(--ic-link-icon-launch-visited-monochrome);\n}\n\n:host(.breadcrumb-link) .link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .link:visited {\n color: var(--ic-color-text-primary);\n}\n\n/* Footer link */\n\n:host(.footer-link) ::slotted(a) {\n color: var(--ic-footer-link) !important;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .ic-link-open-in-new-icon > svg {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Prop,\n h,\n Host,\n Listen,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\nimport { getBrandFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\n/**\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n\n@Component({\n tag: \"ic-link\",\n styleUrl: \"ic-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Link {\n private inheritedAttributes: { [k: string]: string } = {};\n private routerSlot: HTMLElement | null;\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcLinkElement;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it. If the value is a string, it will be used as the filename for the download.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the link will display as black in the light theme, and white in the dark theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, IC_INHERITED_ARIA);\n this.updateTheme();\n this.el.setAttribute(\"exportparts\", \"link\");\n }\n\n componentDidLoad(): void {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the link.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot?.querySelector(\"a\")?.focus();\n }\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const theme = getBrandFromContext(this.el, mode);\n\n if (theme !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n theme === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && IC_INHERITED_ARIA.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private setDownloadAttribute = (\n value: string | boolean | undefined\n ): string | undefined => {\n if (typeof value === \"boolean\") {\n return value ? \"\" : undefined;\n } else {\n return value === \"true\" ? \"\" : value === \"false\" ? undefined : value;\n }\n };\n\n render() {\n const {\n download,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n monochrome,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [\"ic-link\"]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-link-monochrome\"]: !!monochrome,\n }}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <a\n class={{\n [\"link\"]: !!href,\n }}\n download={this.setDownloadAttribute(download)}\n href={href}\n hrefLang={hreflang}\n referrerPolicy={referrerpolicy}\n rel={rel}\n target={target}\n tabindex={href ? \"0\" : \"-1\"}\n {...this.inheritedAttributes}\n part=\"link\"\n >\n <slot />\n {target === \"_blank\" && (\n <span class=\"ic-link-open-in-new-icon\" innerHTML={OpenInNew} />\n )}\n </a>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-fc4016d2.js');
6
+ const helpers = require('./helpers-931fd72e.js');
7
7
 
8
8
  const icMenuGroupCss = "/*! 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:flex;flex-direction:column}ic-typography{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}ul{list-style-type:none;margin:0;padding:0}hr{display:flex;align-self:stretch;border:calc(var(--ic-space-xxxs) / 2) solid var(--ic-popover-border);margin:var(--ic-space-xxs) 0 calc(var(--ic-space-sm) / 4)}";
9
9
  const IcMenuGroupStyle0 = icMenuGroupCss;
@@ -14,7 +14,7 @@ const MenuGroup = class {
14
14
  }
15
15
  render() {
16
16
  const parentMenu = this.el.closest("ic-popover-menu");
17
- return (index.h(index.Host, { key: '384be493b4b4148e4a09f0395bb1db6b651bfc2f', role: "group", "aria-label": this.label !== null ? this.label : "" }, helpers.isPropDefined(this.label) && (index.h("ic-typography", { key: '46982951ac8573a5ee8c5733043e109f268859f8', variant: "subtitle-small" }, this.label)), index.h("span", { key: 'd5a5fe976b9f88e61df589c1ddc105c31b8639e2', class: "menu-items-wrapper" }, index.h("slot", { key: '3b6cab53fde94c5a9cbc0a6a323c0aff28975a1c' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (index.h("hr", { key: '60412dd9914569ad72a6160787b48d8b3239cebb' }))));
17
+ return (index.h(index.Host, { key: 'ec777b0d41cd1bb5d7751e61e702a45341f3080a', role: "group", "aria-label": this.label !== null ? this.label : "" }, helpers.isPropDefined(this.label) && (index.h("ic-typography", { key: '31d4b7ba6d46a89c8c843654a2ded8ca993b1803', variant: "subtitle-small" }, this.label)), index.h("span", { key: '3f1472c581431ea8c80dfc79a98b34d6ad2418f2', class: "menu-items-wrapper" }, index.h("slot", { key: '68c43747e9948fdec7dff7c5e0d2a69d2bc73b62' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (index.h("hr", { key: 'b6540d15632b2d798ec6ead8d55fde5bca1e49f6' }))));
18
18
  }
19
19
  get el() { return index.getElement(this); }
20
20
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-fc4016d2.js');
6
+ const helpers = require('./helpers-931fd72e.js');
7
7
  const checkIcon = require('./check-icon-7225d79b.js');
8
8
  const chevronIcon = require('./chevron-icon-3bf07531.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-fc4016d2.js');
6
+ const helpers = require('./helpers-931fd72e.js');
7
7
 
8
8
  const icNavigationButtonCss = "/*! 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;margin-right:var(--ic-space-xs);list-style:none}:host(.in-side-menu){margin-right:0}:host::part(button){height:100%;min-height:2.5rem}:host(.in-side-menu) ::part(button){color:var(--ic-top-navigation-icon-active)}:host(.in-side-menu) ::part(button):hover{color:var(--ic-top-navigation-icon-hover);background-color:var(--ic-top-navigation-icon-hover-background)}:host(.in-side-menu) ::part(button):active{color:var(--ic-top-navigation-icon-pressed);background-color:var(--ic-top-navigation-icon-pressed-background)}:host(.in-side-menu) ::slotted(ic-badge){margin-left:var(--ic-space-xs)}";
9
9
  const IcNavigationButtonStyle0 = icNavigationButtonCss;
@@ -14,7 +14,6 @@ const NavigationButton = class {
14
14
  index.registerInstance(this, hostRef);
15
15
  this.inheritedAttributes = {};
16
16
  this.hostMutationObserver = null;
17
- this.initialAppearance = helpers.getBrandForegroundAppearance();
18
17
  /**
19
18
  * The display mode.
20
19
  */
@@ -27,7 +26,9 @@ const NavigationButton = class {
27
26
  * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
28
27
  */
29
28
  this.theme = "inherit";
30
- // triggered when attributes of host element change
29
+ /**
30
+ * Triggered when attributes of host element change
31
+ */
31
32
  this.hostMutationCallback = (mutationList) => {
32
33
  let forceComponentUpdate = false;
33
34
  mutationList.forEach(({ attributeName }) => {
@@ -48,6 +49,7 @@ const NavigationButton = class {
48
49
  this.inheritedAttributes = helpers.inheritAttributes(this.el, MUTABLE_ATTRIBUTES);
49
50
  }
50
51
  componentDidLoad() {
52
+ this.updateTheme();
51
53
  helpers.onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Navigation Button");
52
54
  this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
53
55
  this.hostMutationObserver.observe(this.el, {
@@ -55,8 +57,9 @@ const NavigationButton = class {
55
57
  });
56
58
  }
57
59
  componentWillRender() {
58
- const iconEl = this.el.querySelector(`[slot="icon"]`);
59
- iconEl !== null && iconEl.setAttribute("viewBox", "0 0 24 24");
60
+ var _a;
61
+ (_a = this.el
62
+ .querySelector(`[slot="icon"]`)) === null || _a === void 0 ? void 0 : _a.setAttribute("viewBox", "0 0 24 24");
60
63
  }
61
64
  disconnectedCallback() {
62
65
  var _a;
@@ -68,51 +71,40 @@ const NavigationButton = class {
68
71
  navBarMenuCloseHandler() {
69
72
  this.mode = "navbar";
70
73
  }
71
- brandChangeHandler(ev) {
72
- this.initialAppearance = ev.detail.mode;
74
+ brandChangeHandler({ detail: { mode } }) {
75
+ this.updateTheme(mode);
73
76
  }
74
77
  /**
75
78
  * Sets focus on the native `button`.
76
79
  */
77
80
  async setFocus() {
78
- if (this.buttonEl) {
79
- this.buttonEl.focus();
80
- }
81
+ var _a;
82
+ (_a = this.buttonEl) === null || _a === void 0 ? void 0 : _a.setFocus();
83
+ }
84
+ updateTheme(mode = helpers.getBrandForegroundAppearance()) {
85
+ var _a;
86
+ if ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.closest(helpers.IC_BLOCK_COLOR_COMPONENTS))
87
+ return;
88
+ this.theme =
89
+ mode === helpers.IcBrandForegroundEnum.Light
90
+ ? helpers.IcBrandForegroundEnum.Dark
91
+ : helpers.IcBrandForegroundEnum.Light;
81
92
  }
82
93
  render() {
83
- const { href, target, rel, download, referrerpolicy } = this;
84
- let label = "";
85
- let className = "";
86
- let variant = "icon";
87
- let appearance = this.initialAppearance;
88
- let size = "large";
89
- let fullWidth = false;
90
- let disableTooltip = false;
91
- if (this.mode === "menu") {
92
- label = this.label;
93
- variant = "tertiary";
94
- appearance = helpers.IcBrandForegroundEnum.Default;
95
- size = "medium";
96
- fullWidth = true;
97
- className = "popout-menu-button";
98
- disableTooltip = true;
99
- }
94
+ const { download, href, inheritedAttributes, label, mode, referrerpolicy, rel, target, theme, } = this;
95
+ const isMenuMode = mode === "menu";
100
96
  const buttonProps = {
101
- variant,
102
- appearance,
103
- size,
104
- href,
105
- target,
106
- rel,
107
97
  download,
98
+ href,
108
99
  referrerpolicy,
109
- fullWidth,
110
- disableTooltip,
100
+ rel,
101
+ target,
102
+ theme,
111
103
  };
112
- return (index.h(index.Host, { key: 'a750cb73987d5c9d0c7bcdb6ece9807bcc688c9f', class: {
113
- ["in-side-menu"]: this.mode === "menu",
114
- [`ic-theme-${this.theme}`]: this.theme !== "inherit",
115
- } }, index.h("ic-button", Object.assign({ key: 'd55eb3e8c54c6bb76e61044af2a5b1a2dddafbf6', class: className, "aria-label": variant == "icon" ? this.label : null, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes, { monochrome: this.mode !== "menu", theme: helpers.getBrandForegroundAppearance() == "light" ? "light" : "dark" }), label, index.h("slot", { key: '4193d9cd02c05a3b12946233cb86256e2c729abc', slot: "left-icon", name: "icon" }), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { key: 'a53d6158424e97fddc62b25006f6060b2cbee4c5', name: "badge" }))));
104
+ return (index.h(index.Host, { key: '341c602f37816c5bd021d7d2457a60cc48ec0a4d', class: {
105
+ "in-side-menu": isMenuMode,
106
+ [`ic-theme-${theme}`]: theme !== "inherit",
107
+ } }, index.h("ic-button", Object.assign({ key: '7f122b31c8584bc6ccea93220a60f1a7754f7985', ref: (el) => (this.buttonEl = el), class: { "popout-menu-button": isMenuMode }, "aria-label": !isMenuMode ? label : null, disableTooltip: isMenuMode, fullWidth: isMenuMode, monochrome: !isMenuMode, size: isMenuMode ? "medium" : "large", variant: isMenuMode ? "tertiary" : "icon" }, buttonProps, inheritedAttributes), isMenuMode ? label : "", index.h("slot", { key: '68d45cf8961f30491f610d5c009da84350611c1b', slot: "left-icon", name: "icon" }), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { key: '43740c1e00ca73197b6d121b6ccf6df550d3b5c7', name: "badge" }))));
116
108
  }
117
109
  static get delegatesFocus() { return true; }
118
110
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"ic-navigation-button.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","getBrandForegroundAppearance","forceUpdate","inheritAttributes","onComponentRequiredPropUndefined","IcBrandForegroundEnum","h","Host","isSlotUsed"],"sources":["src/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","src/components/ic-navigation-button/ic-navigation-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n\n:host(.in-side-menu) ::part(button) {\n color: var(--ic-top-navigation-icon-active);\n}\n\n:host(.in-side-menu) ::part(button):hover {\n color: var(--ic-top-navigation-icon-hover);\n background-color: var(--ic-top-navigation-icon-hover-background);\n}\n\n:host(.in-side-menu) ::part(button):active {\n color: var(--ic-top-navigation-icon-pressed);\n background-color: var(--ic-top-navigation-icon-pressed-background);\n}\n\n:host(.in-side-menu) ::slotted(ic-badge) {\n margin-left: var(--ic-space-xs);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getBrandForegroundAppearance,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl?: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: string } = {};\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n @State() initialAppearance: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentWillRender(): void {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.initialAppearance = ev.detail.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcBrandForeground | IcBrandForegroundEnum.Default =\n this.initialAppearance;\n let size: \"medium\" | \"large\" = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcBrandForegroundEnum.Default;\n size = \"medium\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: this.mode === \"menu\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <ic-button\n class={className}\n aria-label={variant == \"icon\" ? this.label : null}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n monochrome={this.mode !== \"menu\"}\n theme={getBrandForegroundAppearance() == \"light\" ? \"light\" : \"dark\"}\n >\n {label}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-navigation-button.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","forceUpdate","inheritAttributes","onComponentRequiredPropUndefined","getBrandForegroundAppearance","IC_BLOCK_COLOR_COMPONENTS","IcBrandForegroundEnum","h","Host","isSlotUsed"],"sources":["src/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","src/components/ic-navigation-button/ic-navigation-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n\n:host(.in-side-menu) ::part(button) {\n color: var(--ic-top-navigation-icon-active);\n}\n\n:host(.in-side-menu) ::part(button):hover {\n color: var(--ic-top-navigation-icon-hover);\n background-color: var(--ic-top-navigation-icon-hover-background);\n}\n\n:host(.in-side-menu) ::part(button):active {\n color: var(--ic-top-navigation-icon-pressed);\n background-color: var(--ic-top-navigation-icon-pressed-background);\n}\n\n:host(.in-side-menu) ::slotted(ic-badge) {\n margin-left: var(--ic-space-xs);\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Method,\n Prop,\n State,\n forceUpdate,\n h,\n} from \"@stencil/core\";\n\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_INHERITED_ARIA,\n} from \"../../utils/constants\";\nimport {\n getBrandForegroundAppearance,\n inheritAttributes,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl?: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: string } = {};\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme: IcThemeMode = \"inherit\";\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentWillRender(): void {\n this.el\n .querySelector(`[slot=\"icon\"]`)\n ?.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail: { mode } }: CustomEvent<IcBrand>): void {\n this.updateTheme(mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.setFocus();\n }\n\n /**\n * Triggered when attributes of host element change\n */\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private updateTheme(\n mode: IcBrandForeground = getBrandForegroundAppearance()\n ) {\n if (this.el.parentElement?.closest(IC_BLOCK_COLOR_COMPONENTS)) return;\n\n this.theme =\n mode === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n\n render() {\n const {\n download,\n href,\n inheritedAttributes,\n label,\n mode,\n referrerpolicy,\n rel,\n target,\n theme,\n } = this;\n\n const isMenuMode = mode === \"menu\";\n\n const buttonProps = {\n download,\n href,\n referrerpolicy,\n rel,\n target,\n theme,\n };\n\n return (\n <Host\n class={{\n \"in-side-menu\": isMenuMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-button\n ref={(el) => (this.buttonEl = el)}\n class={{ \"popout-menu-button\": isMenuMode }}\n aria-label={!isMenuMode ? label : null}\n disableTooltip={isMenuMode}\n fullWidth={isMenuMode}\n monochrome={!isMenuMode}\n size={isMenuMode ? \"medium\" : \"large\"}\n variant={isMenuMode ? \"tertiary\" : \"icon\"}\n {...buttonProps}\n {...inheritedAttributes}\n >\n {isMenuMode ? label : \"\"}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}