@ukic/web-components 2.1.0-beta.7 → 2.1.0-beta.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (580) hide show
  1. package/dist/cjs/{check-icon-999d9877.js → check-icon-b2f60716.js} +2 -2
  2. package/dist/cjs/check-icon-b2f60716.js.map +1 -0
  3. package/dist/cjs/{chevron-icon-d175fe66.js → chevron-icon-2645d6b0.js} +2 -2
  4. package/dist/cjs/chevron-icon-2645d6b0.js.map +1 -0
  5. package/dist/cjs/core.cjs.js +1 -1
  6. package/dist/cjs/{error-icon-99504103.js → error-icon-9af90abc.js} +7 -5
  7. package/dist/cjs/error-icon-9af90abc.js.map +1 -0
  8. package/dist/cjs/{helpers-81484ceb.js → helpers-5f391578.js} +7 -2
  9. package/dist/cjs/helpers-5f391578.js.map +1 -0
  10. package/dist/cjs/ic-alert.cjs.entry.js +10 -8
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +5 -4
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +11 -3
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +6 -19
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card.cjs.entry.js +14 -3
  20. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox.cjs.entry.js +12 -3
  24. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip.cjs.entry.js +11 -3
  26. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +43 -27
  44. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-input-label_2.cjs.entry.js +4 -4
  46. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-link.cjs.entry.js +10 -2
  48. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-navigation-group.cjs.entry.js +4 -4
  52. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  54. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-page-header.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-radio-group.cjs.entry.js +12 -3
  60. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-radio-option.cjs.entry.js +12 -4
  62. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-search-bar.cjs.entry.js +16 -20
  64. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-select.cjs.entry.js +131 -59
  66. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -8
  68. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-stepper.cjs.entry.js +12 -9
  74. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-switch.cjs.entry.js +10 -2
  76. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  78. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  80. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-tab.cjs.entry.js +9 -1
  82. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-text-field.cjs.entry.js +4 -4
  84. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  86. package/dist/cjs/ic-top-navigation.cjs.entry.js +10 -5
  87. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  88. package/dist/cjs/loader.cjs.js +1 -1
  89. package/dist/cjs/{success-icon-887b2097.js → success-icon-c8fec63d.js} +4 -3
  90. package/dist/cjs/success-icon-c8fec63d.js.map +1 -0
  91. package/dist/cjs/types-3eb02246.js.map +1 -1
  92. package/dist/collection/assets/back-icon.svg +1 -1
  93. package/dist/collection/assets/check-icon.svg +1 -1
  94. package/dist/collection/assets/chevron-icon.svg +1 -1
  95. package/dist/collection/assets/dismiss-icon.svg +1 -1
  96. package/dist/collection/assets/error-icon.svg +2 -2
  97. package/dist/collection/assets/info-icon.svg +2 -2
  98. package/dist/collection/assets/neutral-icon.svg +2 -2
  99. package/dist/collection/assets/success-icon.svg +2 -2
  100. package/dist/collection/assets/warning-icon.svg +2 -2
  101. package/dist/collection/components/ic-alert/ic-alert.css +13 -13
  102. package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +2 -2
  103. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +12 -6
  104. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +28 -0
  105. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  106. package/dist/collection/components/ic-button/ic-button.css +16 -15
  107. package/dist/collection/components/ic-button/ic-button.js +3 -19
  108. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  109. package/dist/collection/components/ic-card/ic-card.css +4 -4
  110. package/dist/collection/components/ic-card/ic-card.js +32 -1
  111. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  112. package/dist/collection/components/ic-checkbox/ic-checkbox.css +28 -30
  113. package/dist/collection/components/ic-checkbox/ic-checkbox.js +33 -1
  114. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  115. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +18 -2
  116. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +1 -1
  117. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  118. package/dist/collection/components/ic-chip/ic-chip.css +11 -10
  119. package/dist/collection/components/ic-chip/ic-chip.js +28 -0
  120. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  121. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +1 -1
  122. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  123. package/dist/collection/components/ic-data-row/ic-data-row.css +7 -7
  124. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  125. package/dist/collection/components/ic-footer/ic-footer.css +4 -4
  126. package/dist/collection/components/ic-footer-link/ic-footer-link.css +1 -1
  127. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
  128. package/dist/collection/components/ic-hero/ic-hero.css +30 -30
  129. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +16 -15
  130. package/dist/collection/components/ic-input-container/ic-input-container.css +0 -1
  131. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -5
  132. package/dist/collection/components/ic-link/ic-link.css +0 -9
  133. package/dist/collection/components/ic-link/ic-link.js +29 -1
  134. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  135. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -5
  136. package/dist/collection/components/ic-menu/ic-menu.css +14 -13
  137. package/dist/collection/components/ic-menu/ic-menu.js +71 -44
  138. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  139. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  140. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  141. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +8 -6
  142. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +2 -2
  143. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  144. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +20 -12
  145. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
  146. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  147. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +10 -10
  148. package/dist/collection/components/ic-page-header/ic-page-header.css +5 -5
  149. package/dist/collection/components/ic-radio-group/ic-radio-group.css +32 -0
  150. package/dist/collection/components/ic-radio-group/ic-radio-group.js +34 -2
  151. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  152. package/dist/collection/components/ic-radio-option/ic-radio-option.css +25 -34
  153. package/dist/collection/components/ic-radio-option/ic-radio-option.js +30 -2
  154. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  155. package/dist/collection/components/ic-search-bar/ic-search-bar.css +12 -14
  156. package/dist/collection/components/ic-search-bar/ic-search-bar.js +15 -31
  157. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  158. package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
  159. package/dist/collection/components/ic-select/ic-select.css +27 -15
  160. package/dist/collection/components/ic-select/ic-select.js +226 -62
  161. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  162. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +37 -25
  163. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +16 -7
  164. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  165. package/dist/collection/components/ic-status-tag/ic-status-tag.css +7 -7
  166. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  167. package/dist/collection/components/ic-step/ic-step.css +11 -10
  168. package/dist/collection/components/ic-stepper/ic-stepper.js +12 -9
  169. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  170. package/dist/collection/components/ic-switch/ic-switch.css +19 -19
  171. package/dist/collection/components/ic-switch/ic-switch.js +28 -0
  172. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  173. package/dist/collection/components/ic-tab/ic-tab.css +1 -1
  174. package/dist/collection/components/ic-tab/ic-tab.js +28 -0
  175. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  176. package/dist/collection/components/ic-tab-group/ic-tab-group.css +5 -5
  177. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  178. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  179. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
  180. package/dist/collection/components/ic-text-field/ic-text-field.css +6 -7
  181. package/dist/collection/components/ic-text-field/ic-text-field.js +4 -4
  182. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  183. package/dist/collection/components/ic-tooltip/ic-tooltip.css +3 -3
  184. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +23 -17
  185. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +11 -5
  186. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  187. package/dist/collection/utils/helpers.js +5 -1
  188. package/dist/collection/utils/helpers.js.map +1 -1
  189. package/dist/collection/utils/types.js.map +1 -1
  190. package/dist/components/check-icon.js +1 -1
  191. package/dist/components/chevron-icon.js +1 -1
  192. package/dist/components/error-icon.js +6 -4
  193. package/dist/components/error-icon.js.map +1 -1
  194. package/dist/components/helpers.js +6 -2
  195. package/dist/components/helpers.js.map +1 -1
  196. package/dist/components/ic-alert.js +7 -5
  197. package/dist/components/ic-alert.js.map +1 -1
  198. package/dist/components/ic-back-to-top.js +4 -3
  199. package/dist/components/ic-back-to-top.js.map +1 -1
  200. package/dist/components/ic-breadcrumb2.js +11 -2
  201. package/dist/components/ic-breadcrumb2.js.map +1 -1
  202. package/dist/components/ic-button2.js +3 -16
  203. package/dist/components/ic-button2.js.map +1 -1
  204. package/dist/components/ic-card.js +14 -2
  205. package/dist/components/ic-card.js.map +1 -1
  206. package/dist/components/ic-checkbox-group.js +2 -2
  207. package/dist/components/ic-checkbox-group.js.map +1 -1
  208. package/dist/components/ic-checkbox.js +13 -3
  209. package/dist/components/ic-checkbox.js.map +1 -1
  210. package/dist/components/ic-chip.js +12 -3
  211. package/dist/components/ic-chip.js.map +1 -1
  212. package/dist/components/ic-classification-banner.js +1 -1
  213. package/dist/components/ic-classification-banner.js.map +1 -1
  214. package/dist/components/ic-data-entity.js +1 -1
  215. package/dist/components/ic-data-entity.js.map +1 -1
  216. package/dist/components/ic-data-row.js +1 -1
  217. package/dist/components/ic-data-row.js.map +1 -1
  218. package/dist/components/ic-divider2.js +1 -1
  219. package/dist/components/ic-divider2.js.map +1 -1
  220. package/dist/components/ic-footer-link-group.js +1 -1
  221. package/dist/components/ic-footer-link-group.js.map +1 -1
  222. package/dist/components/ic-footer-link.js +1 -1
  223. package/dist/components/ic-footer-link.js.map +1 -1
  224. package/dist/components/ic-footer.js +1 -1
  225. package/dist/components/ic-footer.js.map +1 -1
  226. package/dist/components/ic-hero.js +1 -1
  227. package/dist/components/ic-hero.js.map +1 -1
  228. package/dist/components/ic-input-component-container2.js +1 -1
  229. package/dist/components/ic-input-component-container2.js.map +1 -1
  230. package/dist/components/ic-input-container2.js +1 -1
  231. package/dist/components/ic-input-container2.js.map +1 -1
  232. package/dist/components/ic-input-label2.js +1 -1
  233. package/dist/components/ic-input-validation2.js +2 -2
  234. package/dist/components/ic-input-validation2.js.map +1 -1
  235. package/dist/components/ic-link2.js +11 -2
  236. package/dist/components/ic-link2.js.map +1 -1
  237. package/dist/components/ic-loading-indicator2.js +1 -1
  238. package/dist/components/ic-loading-indicator2.js.map +1 -1
  239. package/dist/components/ic-menu2.js +39 -23
  240. package/dist/components/ic-menu2.js.map +1 -1
  241. package/dist/components/ic-navigation-button.js +1 -1
  242. package/dist/components/ic-navigation-button.js.map +1 -1
  243. package/dist/components/ic-navigation-group.js +2 -2
  244. package/dist/components/ic-navigation-group.js.map +1 -1
  245. package/dist/components/ic-navigation-item.js +2 -2
  246. package/dist/components/ic-navigation-item.js.map +1 -1
  247. package/dist/components/ic-navigation-menu2.js +2 -2
  248. package/dist/components/ic-navigation-menu2.js.map +1 -1
  249. package/dist/components/ic-page-header.js +1 -1
  250. package/dist/components/ic-page-header.js.map +1 -1
  251. package/dist/components/ic-radio-group.js +13 -3
  252. package/dist/components/ic-radio-group.js.map +1 -1
  253. package/dist/components/ic-radio-option.js +13 -4
  254. package/dist/components/ic-radio-option.js.map +1 -1
  255. package/dist/components/ic-search-bar.js +16 -20
  256. package/dist/components/ic-search-bar.js.map +1 -1
  257. package/dist/components/ic-select.js +134 -58
  258. package/dist/components/ic-select.js.map +1 -1
  259. package/dist/components/ic-side-navigation.js +14 -6
  260. package/dist/components/ic-side-navigation.js.map +1 -1
  261. package/dist/components/ic-status-tag.js +1 -1
  262. package/dist/components/ic-status-tag.js.map +1 -1
  263. package/dist/components/ic-step.js +1 -1
  264. package/dist/components/ic-step.js.map +1 -1
  265. package/dist/components/ic-stepper.js +12 -9
  266. package/dist/components/ic-stepper.js.map +1 -1
  267. package/dist/components/ic-switch.js +11 -2
  268. package/dist/components/ic-switch.js.map +1 -1
  269. package/dist/components/ic-tab-group.js +3 -3
  270. package/dist/components/ic-tab-group.js.map +1 -1
  271. package/dist/components/ic-tab-panel.js +1 -1
  272. package/dist/components/ic-tab-panel.js.map +1 -1
  273. package/dist/components/ic-tab.js +11 -2
  274. package/dist/components/ic-tab.js.map +1 -1
  275. package/dist/components/ic-text-field2.js +4 -4
  276. package/dist/components/ic-text-field2.js.map +1 -1
  277. package/dist/components/ic-theme.js +1 -1
  278. package/dist/components/ic-tooltip2.js +1 -1
  279. package/dist/components/ic-tooltip2.js.map +1 -1
  280. package/dist/components/ic-top-navigation.js +10 -5
  281. package/dist/components/ic-top-navigation.js.map +1 -1
  282. package/dist/components/success-icon.js +3 -2
  283. package/dist/components/success-icon.js.map +1 -1
  284. package/dist/components/types.js.map +1 -1
  285. package/dist/core/core.css +1 -1
  286. package/dist/core/core.esm.js +1 -1
  287. package/dist/core/core.esm.js.map +1 -1
  288. package/dist/core/p-01ebd24d.entry.js +2 -0
  289. package/dist/core/p-01ebd24d.entry.js.map +1 -0
  290. package/dist/core/p-02a6562c.entry.js +2 -0
  291. package/dist/core/p-02a6562c.entry.js.map +1 -0
  292. package/dist/core/p-03a4d9dc.entry.js +2 -0
  293. package/dist/core/p-03a4d9dc.entry.js.map +1 -0
  294. package/dist/core/p-04cf6fab.entry.js +2 -0
  295. package/dist/core/p-04cf6fab.entry.js.map +1 -0
  296. package/dist/core/{p-e93e9aa3.entry.js → p-0672c783.entry.js} +2 -2
  297. package/dist/core/p-0672c783.entry.js.map +1 -0
  298. package/dist/core/p-0f773f37.entry.js +2 -0
  299. package/dist/core/p-0f773f37.entry.js.map +1 -0
  300. package/dist/core/p-0fc9d5c8.entry.js +2 -0
  301. package/dist/core/p-0fc9d5c8.entry.js.map +1 -0
  302. package/dist/core/p-10a672d4.entry.js +2 -0
  303. package/dist/core/p-10a672d4.entry.js.map +1 -0
  304. package/dist/core/p-24240e11.js +2 -0
  305. package/dist/core/p-26fd7d7c.entry.js +2 -0
  306. package/dist/core/p-26fd7d7c.entry.js.map +1 -0
  307. package/dist/core/p-2961c45f.entry.js +2 -0
  308. package/dist/core/p-2961c45f.entry.js.map +1 -0
  309. package/dist/core/p-2a40f189.entry.js +2 -0
  310. package/dist/core/p-2a40f189.entry.js.map +1 -0
  311. package/dist/core/p-2e318c95.entry.js +2 -0
  312. package/dist/core/p-2e318c95.entry.js.map +1 -0
  313. package/dist/core/{p-f760198e.entry.js → p-2ed06031.entry.js} +2 -2
  314. package/dist/core/p-30ff49be.entry.js +2 -0
  315. package/dist/core/{p-c320fa70.entry.js.map → p-30ff49be.entry.js.map} +1 -1
  316. package/dist/core/{p-a8ac8f72.js → p-3c75ed36.js} +2 -2
  317. package/dist/core/p-3c75ed36.js.map +1 -0
  318. package/dist/core/p-3f0232f6.entry.js +2 -0
  319. package/dist/core/p-3f0232f6.entry.js.map +1 -0
  320. package/dist/core/p-3f0ac826.entry.js +2 -0
  321. package/dist/core/p-3f0ac826.entry.js.map +1 -0
  322. package/dist/core/p-454a7f3d.entry.js +2 -0
  323. package/dist/core/p-454a7f3d.entry.js.map +1 -0
  324. package/dist/core/p-48f99591.entry.js +2 -0
  325. package/dist/core/p-48f99591.entry.js.map +1 -0
  326. package/dist/core/p-4a8c0c58.entry.js +2 -0
  327. package/dist/core/p-4a8c0c58.entry.js.map +1 -0
  328. package/dist/core/{p-cadb531f.entry.js → p-5368bcff.entry.js} +2 -2
  329. package/dist/core/p-5368bcff.entry.js.map +1 -0
  330. package/dist/core/p-662d5b43.entry.js +2 -0
  331. package/dist/core/p-662d5b43.entry.js.map +1 -0
  332. package/dist/core/p-69512d85.entry.js +2 -0
  333. package/dist/core/p-69512d85.entry.js.map +1 -0
  334. package/dist/core/p-6bbc0cf5.entry.js +2 -0
  335. package/dist/core/p-6bbc0cf5.entry.js.map +1 -0
  336. package/dist/core/p-6f57b13c.js.map +1 -1
  337. package/dist/core/{p-c5e453eb.entry.js → p-86098b7e.entry.js} +2 -2
  338. package/dist/core/p-86098b7e.entry.js.map +1 -0
  339. package/dist/core/p-8b383c23.entry.js +2 -0
  340. package/dist/core/p-8b383c23.entry.js.map +1 -0
  341. package/dist/core/p-8c7f4343.js +2 -0
  342. package/dist/core/p-97d4b6cd.entry.js +2 -0
  343. package/dist/core/p-97d4b6cd.entry.js.map +1 -0
  344. package/dist/core/p-a472db51.entry.js +2 -0
  345. package/dist/core/p-a472db51.entry.js.map +1 -0
  346. package/dist/core/p-a6a77e5c.js +2 -0
  347. package/dist/core/p-add01f10.entry.js +2 -0
  348. package/dist/core/p-add01f10.entry.js.map +1 -0
  349. package/dist/core/p-b29f210b.entry.js +2 -0
  350. package/dist/core/p-b29f210b.entry.js.map +1 -0
  351. package/dist/core/p-c2710b13.entry.js +2 -0
  352. package/dist/core/p-c2710b13.entry.js.map +1 -0
  353. package/dist/core/p-c6764827.entry.js +2 -0
  354. package/dist/core/p-c6764827.entry.js.map +1 -0
  355. package/dist/core/{p-9b4022d7.entry.js → p-ccd078a6.entry.js} +2 -2
  356. package/dist/core/p-ccd078a6.entry.js.map +1 -0
  357. package/dist/core/p-d4f7a3e4.entry.js +2 -0
  358. package/dist/core/p-d4f7a3e4.entry.js.map +1 -0
  359. package/dist/core/p-d5e0c02a.js +2 -0
  360. package/dist/core/p-d77f57d9.entry.js +2 -0
  361. package/dist/core/p-d77f57d9.entry.js.map +1 -0
  362. package/dist/core/p-dd194ba9.entry.js +2 -0
  363. package/dist/core/{p-3f9cdcdd.entry.js.map → p-dd194ba9.entry.js.map} +1 -1
  364. package/dist/core/p-de19fed4.entry.js +2 -0
  365. package/dist/core/p-de19fed4.entry.js.map +1 -0
  366. package/dist/core/p-e5e885b1.entry.js +2 -0
  367. package/dist/core/p-e5e885b1.entry.js.map +1 -0
  368. package/dist/core/p-e94dfa43.entry.js +2 -0
  369. package/dist/core/p-e94dfa43.entry.js.map +1 -0
  370. package/dist/core/{p-4f1a7195.entry.js → p-eaf714a3.entry.js} +2 -2
  371. package/dist/core/p-f51f4d34.entry.js +2 -0
  372. package/dist/core/p-f51f4d34.entry.js.map +1 -0
  373. package/dist/esm/{check-icon-53f1d9e5.js → check-icon-abb210ec.js} +2 -2
  374. package/dist/esm/check-icon-abb210ec.js.map +1 -0
  375. package/dist/esm/chevron-icon-98c98242.js +8 -0
  376. package/dist/esm/chevron-icon-98c98242.js.map +1 -0
  377. package/dist/esm/core.js +1 -1
  378. package/dist/esm/{error-icon-6046a380.js → error-icon-1dc70ca0.js} +7 -5
  379. package/dist/esm/error-icon-1dc70ca0.js.map +1 -0
  380. package/dist/esm/{helpers-46e5291b.js → helpers-3aa2f5a5.js} +7 -3
  381. package/dist/esm/helpers-3aa2f5a5.js.map +1 -0
  382. package/dist/esm/ic-alert.entry.js +10 -8
  383. package/dist/esm/ic-alert.entry.js.map +1 -1
  384. package/dist/esm/ic-back-to-top.entry.js +5 -4
  385. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  386. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  387. package/dist/esm/ic-breadcrumb.entry.js +11 -3
  388. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  389. package/dist/esm/ic-button_3.entry.js +6 -19
  390. package/dist/esm/ic-button_3.entry.js.map +1 -1
  391. package/dist/esm/ic-card.entry.js +14 -3
  392. package/dist/esm/ic-card.entry.js.map +1 -1
  393. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  394. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  395. package/dist/esm/ic-checkbox.entry.js +12 -3
  396. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  397. package/dist/esm/ic-chip.entry.js +11 -3
  398. package/dist/esm/ic-chip.entry.js.map +1 -1
  399. package/dist/esm/ic-classification-banner.entry.js +1 -1
  400. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  401. package/dist/esm/ic-data-entity.entry.js +1 -1
  402. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  403. package/dist/esm/ic-data-row.entry.js +2 -2
  404. package/dist/esm/ic-data-row.entry.js.map +1 -1
  405. package/dist/esm/ic-divider.entry.js +2 -2
  406. package/dist/esm/ic-divider.entry.js.map +1 -1
  407. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  408. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  409. package/dist/esm/ic-footer-link.entry.js +2 -2
  410. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  411. package/dist/esm/ic-footer.entry.js +2 -2
  412. package/dist/esm/ic-footer.entry.js.map +1 -1
  413. package/dist/esm/ic-hero.entry.js +2 -2
  414. package/dist/esm/ic-hero.entry.js.map +1 -1
  415. package/dist/esm/ic-input-component-container_3.entry.js +43 -27
  416. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  417. package/dist/esm/ic-input-label_2.entry.js +4 -4
  418. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  419. package/dist/esm/ic-link.entry.js +10 -2
  420. package/dist/esm/ic-link.entry.js.map +1 -1
  421. package/dist/esm/ic-navigation-button.entry.js +2 -2
  422. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  423. package/dist/esm/ic-navigation-group.entry.js +4 -4
  424. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  425. package/dist/esm/ic-navigation-item.entry.js +4 -4
  426. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  427. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  428. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  429. package/dist/esm/ic-page-header.entry.js +2 -2
  430. package/dist/esm/ic-page-header.entry.js.map +1 -1
  431. package/dist/esm/ic-radio-group.entry.js +12 -3
  432. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  433. package/dist/esm/ic-radio-option.entry.js +12 -4
  434. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  435. package/dist/esm/ic-search-bar.entry.js +16 -20
  436. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  437. package/dist/esm/ic-select.entry.js +131 -59
  438. package/dist/esm/ic-select.entry.js.map +1 -1
  439. package/dist/esm/ic-side-navigation.entry.js +16 -8
  440. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  441. package/dist/esm/ic-status-tag.entry.js +2 -2
  442. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  443. package/dist/esm/ic-step.entry.js +2 -2
  444. package/dist/esm/ic-step.entry.js.map +1 -1
  445. package/dist/esm/ic-stepper.entry.js +12 -9
  446. package/dist/esm/ic-stepper.entry.js.map +1 -1
  447. package/dist/esm/ic-switch.entry.js +10 -2
  448. package/dist/esm/ic-switch.entry.js.map +1 -1
  449. package/dist/esm/ic-tab-group.entry.js +3 -3
  450. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  451. package/dist/esm/ic-tab-panel.entry.js +1 -1
  452. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  453. package/dist/esm/ic-tab.entry.js +9 -1
  454. package/dist/esm/ic-tab.entry.js.map +1 -1
  455. package/dist/esm/ic-text-field.entry.js +4 -4
  456. package/dist/esm/ic-text-field.entry.js.map +1 -1
  457. package/dist/esm/ic-theme.entry.js +1 -1
  458. package/dist/esm/ic-top-navigation.entry.js +10 -5
  459. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  460. package/dist/esm/loader.js +1 -1
  461. package/dist/esm/{success-icon-2f71b115.js → success-icon-75b04341.js} +4 -3
  462. package/dist/esm/success-icon-75b04341.js.map +1 -0
  463. package/dist/esm/types-dd515332.js.map +1 -1
  464. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +4 -0
  465. package/dist/types/components/ic-button/ic-button.d.ts +1 -4
  466. package/dist/types/components/ic-card/ic-card.d.ts +4 -0
  467. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +4 -0
  468. package/dist/types/components/ic-chip/ic-chip.d.ts +4 -0
  469. package/dist/types/components/ic-link/ic-link.d.ts +4 -0
  470. package/dist/types/components/ic-menu/ic-menu.d.ts +16 -7
  471. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  472. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +1 -1
  473. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +1 -1
  474. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +5 -1
  475. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +4 -0
  476. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -3
  477. package/dist/types/components/ic-select/ic-select.d.ts +36 -7
  478. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +2 -1
  479. package/dist/types/components/ic-switch/ic-switch.d.ts +4 -0
  480. package/dist/types/components/ic-tab/ic-tab.d.ts +4 -0
  481. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +1 -1
  482. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -1
  483. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +2 -1
  484. package/dist/types/components.d.ts +90 -33
  485. package/dist/types/utils/helpers.d.ts +1 -0
  486. package/dist/types/utils/types.d.ts +1 -0
  487. package/hydrate/index.js +394 -205
  488. package/package.json +3 -3
  489. package/dist/cjs/check-icon-999d9877.js.map +0 -1
  490. package/dist/cjs/chevron-icon-d175fe66.js.map +0 -1
  491. package/dist/cjs/error-icon-99504103.js.map +0 -1
  492. package/dist/cjs/helpers-81484ceb.js.map +0 -1
  493. package/dist/cjs/success-icon-887b2097.js.map +0 -1
  494. package/dist/core/p-01e8bd4a.entry.js +0 -2
  495. package/dist/core/p-01e8bd4a.entry.js.map +0 -1
  496. package/dist/core/p-050e1e7b.entry.js +0 -2
  497. package/dist/core/p-050e1e7b.entry.js.map +0 -1
  498. package/dist/core/p-09592918.entry.js +0 -2
  499. package/dist/core/p-09592918.entry.js.map +0 -1
  500. package/dist/core/p-0b00f848.entry.js +0 -2
  501. package/dist/core/p-0b00f848.entry.js.map +0 -1
  502. package/dist/core/p-16698d3e.entry.js +0 -2
  503. package/dist/core/p-16698d3e.entry.js.map +0 -1
  504. package/dist/core/p-18a9beea.entry.js +0 -2
  505. package/dist/core/p-18a9beea.entry.js.map +0 -1
  506. package/dist/core/p-1da1f2f3.entry.js +0 -2
  507. package/dist/core/p-1da1f2f3.entry.js.map +0 -1
  508. package/dist/core/p-1e7b4310.js +0 -2
  509. package/dist/core/p-204f6315.entry.js +0 -2
  510. package/dist/core/p-204f6315.entry.js.map +0 -1
  511. package/dist/core/p-272c7abd.entry.js +0 -2
  512. package/dist/core/p-272c7abd.entry.js.map +0 -1
  513. package/dist/core/p-27554319.entry.js +0 -2
  514. package/dist/core/p-27554319.entry.js.map +0 -1
  515. package/dist/core/p-3efa7f8b.entry.js +0 -2
  516. package/dist/core/p-3efa7f8b.entry.js.map +0 -1
  517. package/dist/core/p-3f4d632c.entry.js +0 -2
  518. package/dist/core/p-3f4d632c.entry.js.map +0 -1
  519. package/dist/core/p-3f9cdcdd.entry.js +0 -2
  520. package/dist/core/p-4902b46a.entry.js +0 -2
  521. package/dist/core/p-4902b46a.entry.js.map +0 -1
  522. package/dist/core/p-541918c2.entry.js +0 -2
  523. package/dist/core/p-541918c2.entry.js.map +0 -1
  524. package/dist/core/p-5616cfb8.entry.js +0 -2
  525. package/dist/core/p-5616cfb8.entry.js.map +0 -1
  526. package/dist/core/p-66cad84e.entry.js +0 -2
  527. package/dist/core/p-66cad84e.entry.js.map +0 -1
  528. package/dist/core/p-6cb276c6.entry.js +0 -2
  529. package/dist/core/p-6cb276c6.entry.js.map +0 -1
  530. package/dist/core/p-6f442942.entry.js +0 -2
  531. package/dist/core/p-6f442942.entry.js.map +0 -1
  532. package/dist/core/p-7ba184da.entry.js +0 -2
  533. package/dist/core/p-7ba184da.entry.js.map +0 -1
  534. package/dist/core/p-80cd0a2d.entry.js +0 -2
  535. package/dist/core/p-80cd0a2d.entry.js.map +0 -1
  536. package/dist/core/p-8470c255.entry.js +0 -2
  537. package/dist/core/p-8470c255.entry.js.map +0 -1
  538. package/dist/core/p-89a925f8.entry.js +0 -2
  539. package/dist/core/p-89a925f8.entry.js.map +0 -1
  540. package/dist/core/p-9020d1ff.entry.js +0 -2
  541. package/dist/core/p-9020d1ff.entry.js.map +0 -1
  542. package/dist/core/p-930cd4cc.entry.js +0 -2
  543. package/dist/core/p-930cd4cc.entry.js.map +0 -1
  544. package/dist/core/p-9b4022d7.entry.js.map +0 -1
  545. package/dist/core/p-a38cbb3f.entry.js +0 -2
  546. package/dist/core/p-a38cbb3f.entry.js.map +0 -1
  547. package/dist/core/p-a8ac8f72.js.map +0 -1
  548. package/dist/core/p-ae02b008.entry.js +0 -2
  549. package/dist/core/p-ae02b008.entry.js.map +0 -1
  550. package/dist/core/p-ae6aa67f.js +0 -2
  551. package/dist/core/p-bb106092.entry.js +0 -2
  552. package/dist/core/p-bb106092.entry.js.map +0 -1
  553. package/dist/core/p-bbe00cb1.entry.js +0 -2
  554. package/dist/core/p-bbe00cb1.entry.js.map +0 -1
  555. package/dist/core/p-bf5717ca.js +0 -2
  556. package/dist/core/p-c320fa70.entry.js +0 -2
  557. package/dist/core/p-c5e453eb.entry.js.map +0 -1
  558. package/dist/core/p-cadb531f.entry.js.map +0 -1
  559. package/dist/core/p-d599cf4f.entry.js +0 -2
  560. package/dist/core/p-d599cf4f.entry.js.map +0 -1
  561. package/dist/core/p-e192e25d.entry.js +0 -2
  562. package/dist/core/p-e192e25d.entry.js.map +0 -1
  563. package/dist/core/p-e28af65b.js +0 -2
  564. package/dist/core/p-e810f48c.entry.js +0 -2
  565. package/dist/core/p-e810f48c.entry.js.map +0 -1
  566. package/dist/core/p-e93e9aa3.entry.js.map +0 -1
  567. package/dist/core/p-fd0c6039.entry.js +0 -2
  568. package/dist/core/p-fd0c6039.entry.js.map +0 -1
  569. package/dist/esm/check-icon-53f1d9e5.js.map +0 -1
  570. package/dist/esm/chevron-icon-5b38c60a.js +0 -8
  571. package/dist/esm/chevron-icon-5b38c60a.js.map +0 -1
  572. package/dist/esm/error-icon-6046a380.js.map +0 -1
  573. package/dist/esm/helpers-46e5291b.js.map +0 -1
  574. package/dist/esm/success-icon-2f71b115.js.map +0 -1
  575. /package/dist/core/{p-1e7b4310.js.map → p-24240e11.js.map} +0 -0
  576. /package/dist/core/{p-f760198e.entry.js.map → p-2ed06031.entry.js.map} +0 -0
  577. /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
  578. /package/dist/core/{p-bf5717ca.js.map → p-a6a77e5c.js.map} +0 -0
  579. /package/dist/core/{p-e28af65b.js.map → p-d5e0c02a.js.map} +0 -0
  580. /package/dist/core/{p-4f1a7195.entry.js.map → p-eaf714a3.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"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"],"names":["icInputLabelCss","InputLabel","[object Object]","onComponentRequiredPropUndefined","prop","this","label","propName","disabled","readonly","required","helperText","error","dark","labelText","labelContent","h","htmlFor","for","id","getInputHelperTextID","Host","class","variant","icInputValidationCss","icon","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","InputValidation","message","displayIcon","status","getInputValidationTextID","fullWidth","innerHTML","aria-live","ariaLiveMode","name"],"mappings":"8NAAA,MAAMA,EAAkB,+mBCWXC,EAAU,gEAQO,sBAIC,sCAQD,oBAIA,iBAIF,gBAID,MAEzBC,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,MAAOC,SAAU,UAC/B,eAIJL,SACE,MAAMM,SAAEA,EAAQC,SAAEA,EAAQH,MAAEA,EAAKI,SAAEA,EAAQC,WAAEA,EAAUC,MAAEA,EAAKC,KAAEA,GAC9DR,KACF,MAAMS,EAAYJ,EAAWJ,EAAQ,KAAOA,EAC5C,MAAMS,EAAeN,EAAQ,GACxBK,IAEHE,EAAA,QAAA,CAAOC,QAASZ,KAAKa,KAAMJ,GAG7B,MAAMK,EAAKC,EAAqBf,KAAKa,KAErC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAAC,YAAaM,EACdN,CAAC,YAAaO,EACdP,CAAC,eAAgBS,IAAe,KAGlCK,EAAA,gBAAA,CACEO,QAAQ,QACRD,MAAO,CACLpB,CAAC,kBAAmBO,EACpBP,CAAC,eAAgBU,KAAWH,GAAYD,GACxCN,CAAC,QAASW,IAGXE,GAGFJ,IAAe,IACdK,EAAA,gBAAA,CACEO,QAAQ,UACRD,MAAO,CACLpB,CAAC,cAAe,KAChBA,CAAC,sBAAuBM,IAAaC,EACrCP,CAAC,uBAAwBO,IAG3BO,EAAA,OAAA,CAAMG,GAAIA,GAAKR,iBC5F3B,MAAMa,EAAuB,0pBCgB7B,MAAMC,EAAO,CACXvB,CAACwB,EAAoBC,SAAUC,EAC/B1B,CAACwB,EAAoBG,OAAQC,EAC7B5B,CAACwB,EAAoBK,SAAUC,SAUpBC,EAAe,qFAcmB,kBAIhB,wBAIkB,SAE/C/B,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAK6B,QAAS3B,SAAU,YACjC,oBAIJL,SACE,MAAMiC,EAAc9B,KAAK+B,SAAW,GAAKX,EAAKpB,KAAK+B,QAAU,GAC7D,MAAMjB,EAAKkB,EAAyBhC,KAAKa,KACzC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAACG,KAAK+B,QAAS/B,KAAK+B,SAAW,GAC/BlC,CAAC,aAAcG,KAAKiC,YAGrBH,IAAgB,IACfnB,EAAA,OAAA,CACEM,MAAO,CACLpB,CAAC,eAAgB,KACjBA,CAAC,QAAQG,KAAK+B,UAAW,MAE3BG,UAAWJ,IAIfnB,EAAA,gBAAA,CAAeO,QAAQ,UAAUD,MAAM,cACrCN,EAAA,OAAA,CAAAwB,YAAiBnC,KAAKoC,aAActB,GAAIA,GACrCd,KAAK6B,UAIVlB,EAAA,OAAA,CAAM0B,KAAK","sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.disabled {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label.readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .helpertext {\n margin-top: var(--ic-space-xxxs);\n}\n\nic-input-label .helpertext-normal {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .helpertext-readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .readonly-label {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .error-label {\n color: var(--ic-status-error);\n}\n\nic-input-label .dark {\n color: var(--ic-architectural-white);\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 * The ID of the form element the label is bound to.\n */\n @Prop() for: string;\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n /**\n * If `true`, the input label will display with error styling.\n */\n @Prop() error?: boolean = false;\n /**\n * If `true`, the dark variant of the input label will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n render() {\n const { disabled, readonly, label, required, helperText, error, dark } =\n this;\n const labelText = required ? label + \" *\" : label;\n const labelContent = readonly ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n );\n\n const id = getInputHelperTextID(this.for);\n\n return (\n <Host\n class={{\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"with-helper\"]: helperText !== \"\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"readonly-label\"]: readonly,\n [\"error-label\"]: error && !(readonly || disabled),\n [\"dark\"]: dark,\n }}\n >\n {labelContent}\n </ic-typography>\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={id}>{helperText}</span>\n </ic-typography>\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n min-height: 28px;\n width: var(--input-width, 320px);\n margin-top: var(--ic-space-xxxs);\n display: flex;\n}\n\nic-input-validation.fullwidth {\n width: 100%;\n}\n\nic-input-validation.error {\n color: var(--ic-status-error);\n}\n\nic-input-validation.success {\n color: var(--ic-status-success);\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: 20px;\n width: 20px;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-status-success);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-status-error);\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-status-warning-mid);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\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 validation message to display.\n */\n @Prop() message!: string;\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for: string;\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status: IcInformationStatusOrEmpty = \"\";\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode: IcAriaLiveModeVariants = \"polite\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const displayIcon = this.status !== \"\" ? icon[this.status] : \"\";\n const id = getInputValidationTextID(this.for);\n return (\n <Host\n class={{\n [this.status]: this.status !== \"\",\n [\"fullwidth\"]: this.fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n [\"status-icon\"]: true,\n [`icon-${this.status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span aria-live={this.ariaLiveMode} id={id}>\n {this.message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"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"],"names":["icInputLabelCss","InputLabel","[object Object]","onComponentRequiredPropUndefined","prop","this","label","propName","disabled","readonly","required","helperText","error","dark","labelText","labelContent","h","htmlFor","for","id","getInputHelperTextID","Host","class","variant","icInputValidationCss","icon","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","InputValidation","message","displayIcon","status","getInputValidationTextID","fullWidth","innerHTML","aria-live","ariaLiveMode","name"],"mappings":"8NAAA,MAAMA,EAAkB,+mBCWXC,EAAU,gEAQO,sBAIC,sCAQD,oBAIA,iBAIF,gBAID,MAEzBC,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,MAAOC,SAAU,UAC/B,eAIJL,SACE,MAAMM,SAAEA,EAAQC,SAAEA,EAAQH,MAAEA,EAAKI,SAAEA,EAAQC,WAAEA,EAAUC,MAAEA,EAAKC,KAAEA,GAC9DR,KACF,MAAMS,EAAYJ,EAAWJ,EAAQ,KAAOA,EAC5C,MAAMS,EAAeN,EAAQ,GACxBK,IAEHE,EAAA,QAAA,CAAOC,QAASZ,KAAKa,KAAMJ,GAG7B,MAAMK,EAAKC,EAAqBf,KAAKa,KAErC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAAC,YAAaM,EACdN,CAAC,YAAaO,EACdP,CAAC,eAAgBS,IAAe,KAGlCK,EAAA,gBAAA,CACEO,QAAQ,QACRD,MAAO,CACLpB,CAAC,kBAAmBO,EACpBP,CAAC,eAAgBU,KAAWH,GAAYD,GACxCN,CAAC,QAASW,IAGXE,GAGFJ,IAAe,IACdK,EAAA,gBAAA,CACEO,QAAQ,UACRD,MAAO,CACLpB,CAAC,cAAe,KAChBA,CAAC,sBAAuBM,IAAaC,EACrCP,CAAC,uBAAwBO,IAG3BO,EAAA,OAAA,CAAMG,GAAIA,GAAKR,iBC5F3B,MAAMa,EAAuB,8oBCgB7B,MAAMC,EAAO,CACXvB,CAACwB,EAAoBC,SAAUC,EAC/B1B,CAACwB,EAAoBG,OAAQC,EAC7B5B,CAACwB,EAAoBK,SAAUC,SAUpBC,EAAe,qFAcmB,kBAIhB,wBAIkB,SAE/C/B,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAK6B,QAAS3B,SAAU,YACjC,oBAIJL,SACE,MAAMiC,EAAc9B,KAAK+B,SAAW,GAAKX,EAAKpB,KAAK+B,QAAU,GAC7D,MAAMjB,EAAKkB,EAAyBhC,KAAKa,KACzC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAACG,KAAK+B,QAAS/B,KAAK+B,SAAW,GAC/BlC,CAAC,aAAcG,KAAKiC,YAGrBH,IAAgB,IACfnB,EAAA,OAAA,CACEM,MAAO,CACLpB,CAAC,eAAgB,KACjBA,CAAC,QAAQG,KAAK+B,UAAW,MAE3BG,UAAWJ,IAIfnB,EAAA,gBAAA,CAAeO,QAAQ,UAAUD,MAAM,cACrCN,EAAA,OAAA,CAAAwB,YAAiBnC,KAAKoC,aAActB,GAAIA,GACrCd,KAAK6B,UAIVlB,EAAA,OAAA,CAAM0B,KAAK","sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.disabled {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label.readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .helpertext {\n margin-top: var(--ic-space-xxxs);\n}\n\nic-input-label .helpertext-normal {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .helpertext-readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .readonly-label {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .error-label {\n color: var(--ic-status-error);\n}\n\nic-input-label .dark {\n color: var(--ic-architectural-white);\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 * The ID of the form element the label is bound to.\n */\n @Prop() for: string;\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n /**\n * If `true`, the input label will display with error styling.\n */\n @Prop() error?: boolean = false;\n /**\n * If `true`, the dark variant of the input label will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n render() {\n const { disabled, readonly, label, required, helperText, error, dark } =\n this;\n const labelText = required ? label + \" *\" : label;\n const labelContent = readonly ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n );\n\n const id = getInputHelperTextID(this.for);\n\n return (\n <Host\n class={{\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"with-helper\"]: helperText !== \"\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"readonly-label\"]: readonly,\n [\"error-label\"]: error && !(readonly || disabled),\n [\"dark\"]: dark,\n }}\n >\n {labelContent}\n </ic-typography>\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={id}>{helperText}</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.fullwidth {\n width: 100%;\n}\n\nic-input-validation.error {\n color: var(--ic-status-error);\n}\n\nic-input-validation.success {\n color: var(--ic-status-success);\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-status-success);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-status-error);\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-status-warning-mid);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\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 validation message to display.\n */\n @Prop() message!: string;\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for: string;\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status: IcInformationStatusOrEmpty = \"\";\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode: IcAriaLiveModeVariants = \"polite\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const displayIcon = this.status !== \"\" ? icon[this.status] : \"\";\n const id = getInputValidationTextID(this.for);\n return (\n <Host\n class={{\n [this.status]: this.status !== \"\",\n [\"fullwidth\"]: this.fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n [\"status-icon\"]: true,\n [`icon-${this.status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span aria-live={this.ariaLiveMode} id={id}>\n {this.message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{I as n}from"./p-6f57b13c.js";const t=["aria-atomic","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"];const e={XS:576,S:768,M:992,L:1200,XL:99999};const r=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const s=["ic-alert"];const a={"ic-alert":["ic-link"]};const o=136.701;const i=130;const c=133.3505;const l=(n,t=[])=>{const e={};t.forEach((t=>{if(n.hasAttribute(t)){const r=n.getAttribute(t);if(r!==null){e[t]=n.getAttribute(t)}n.removeAttribute(t)}}));return e};const u=(n,t)=>{const e=n._original||n;return{_original:n,emit:p(e.emit.bind(e),t)}};const p=(n,t=0)=>{let e;return(...r)=>{clearTimeout(e);e=setTimeout(n,t,...r)}};const d=(n,t,e,r,s)=>{if(e!==undefined){if(n||b(t)){const n=t.querySelectorAll("input.ic-input");const a=Array.from(n);const o=a.filter((n=>t===n.parentElement));let i=o[0];if(i===null||i===undefined){i=t.ownerDocument.createElement("input");i.type="hidden";i.classList.add("ic-input");t.appendChild(i)}i.disabled=s;i.name=e;i.value=r||""}}};const f=n=>{const t=n.querySelectorAll("input.ic-input");const e=Array.from(t);const r=e.filter((t=>n===t.parentElement));const s=r[0];s===null||s===void 0?void 0:s.remove()};const b=n=>!!n.shadowRoot&&!!n.attachShadow;const m=n=>n+"-helper-text";const v=n=>n+"-validation-text";const N=(n,t,e)=>`${t?m(n):""} ${e?v(n):""}`.trim();const y=(t,e=null)=>{var o;const i=t.parentElement||t.getRootNode().host.parentElement;const c=i.closest(r.join(","));if(c!==null){const r=c.tagName.toLowerCase();const i=t.tagName.toLowerCase();if((o=a[r])===null||o===void 0?void 0:o.includes(i)){return n.Default}else if(e!==null&&!s.includes(r)){return e}else if(c.classList.contains(n.Dark)){return n.Dark}return n.Light}return n.Default};const g=()=>{let n=false;if("maxTouchPoints"in navigator){n=navigator.maxTouchPoints>0}return n};const I=(n,t)=>{const e=document.createElement("button");e.setAttribute("type",t.type);e.style.display="none";n.appendChild(e);e.click();e.remove()};const h=n=>n.trim().length===0;const x=(n,t)=>{var e;const r=[];if(t.length>0){t.map((n=>{if(n.children){n.children.map((n=>r.push(n)))}else{r.push(n)}}));return(e=r.find((t=>t.value===n)))===null||e===void 0?void 0:e.label}return undefined};const w=(n,t,e,r)=>{let s;if(r==="anywhere"){s=n.filter((n=>{var r;if(t){return n.label.toLowerCase().includes(e.toLowerCase())||((r=n.description)===null||r===void 0?void 0:r.toLowerCase().includes(e.toLowerCase()))}else{return n.label.toLowerCase().includes(e.toLowerCase())}}))}else{s=n.filter((n=>{var r;if(t){return n.label.toLowerCase().startsWith(e.toLowerCase())||((r=n.description)===null||r===void 0?void 0:r.toLowerCase().startsWith(e.toLowerCase()))}else{return n.label.toLowerCase().startsWith(e.toLowerCase())}}))}return s};const k=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const A=()=>{if(k(L.S)){return L.S}if(k(L.M)){return L.M}if(k(L.L)){return L.L}if(k(L.XL)){return L.XL}return L.UNDEFINED};const T=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const $=()=>{const n=T("--ic-theme-primary-r");const t=T("--ic-theme-primary-g");const e=T("--ic-theme-primary-b");const r=(parseInt(n)*299+parseInt(t)*587+parseInt(e)*114)/1e3;return r};const E=()=>$()>c?n.Dark:n.Light;const C=(n,t)=>{if(n&&n.querySelector){return n.querySelector(`[slot="${t}"]`)}return null};const G=(n,t)=>C(n,t)!==null;const O=(n,t)=>{const e=C(n,t);if(e){return S(e)}return null};const S=n=>{const t=n.firstElementChild;if(t!==null){const n=t.assignedElements?t.assignedElements():t.childNodes;return n.length?n:null}else{return n===null?null:[n]}};const D=n=>{let t={navType:"",parent:null};switch(z(n)){case"IC-NAVIGATION-GROUP":t=D(n.parentElement);break;case"IC-TOP-NAVIGATION":t={navType:"top",parent:B(n)};break;case"IC-SIDE-NAVIGATION":t={navType:"side",parent:B(n)};break;case"IC-PAGE-HEADER":t={navType:"page-header",parent:null};break}return t};const L={XS:Number(T("--ic-breakpoint-xs").replace("px","")),S:Number(T("--ic-breakpoint-sm").replace("px","")),M:Number(T("--ic-breakpoint-md").replace("px","")),L:Number(T("--ic-breakpoint-lg").replace("px","")),XL:Number(T("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const P=(n,t)=>n!==""&&!t;const X=(n,t)=>Array.from(n.children).some((n=>n.getAttribute("slot")===t));const F=(n,t,e)=>{if(n===undefined&&t!==n){e()}};const M=(n,t)=>{for(let e=0;e<n.length;e++){const{prop:r,propName:s}=n[e];if(r===null||r===undefined){console.error(`No ${s} specified for ${t} component - prop '${s}' (web components) / '${R(s)}' (react) required`)}}};const R=n=>{n=n.toLowerCase();const t=n.split("-");let e=t[0];for(let n=1;n<t.length;n++){e+=t[n].substring(0,1).toUpperCase()+t[n].substring(1)}return e};const V=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const j=function(n){return parseInt(n,16)};const q=n=>{let t;if(n.length===4){t=n.replace("#","").split("");return{r:j(t[0]+t[0]),g:j(t[1]+t[1]),b:j(t[2]+t[2]),a:1}}else{return{r:j(n.slice(1,3)),g:j(n.slice(3,5)),b:j(n.slice(5)),a:1}}};const H=n=>{const t=n.slice(3,4);let e;if(t.toLowerCase()==="a"){e={r:null,g:null,b:null,a:null};const t=n.substring(5,n.length-1).replace(/ /g,"").split(",");e.r=Number(t[0]);e.g=Number(t[1]);e.b=Number(t[2]);e.a=Number(t[3])}else{e={r:null,g:null,b:null,a:1};const t=n.substring(4,n.length-1).replace(/ /g,"").split(",");e.r=Number(t[0]);e.g=Number(t[1]);e.b=Number(t[2])}return e};const U=n=>n.scrollWidth>n.clientWidth;const z=n=>n.parentElement.tagName;const B=n=>n.parentElement;const J=()=>{if(document.querySelector("ic-classification-banner:not([inline='true'])")){return true}else{return false}};const K=n=>n.closest("FORM");const W=(n,t)=>{const e=K(n);if(e!==null){e.addEventListener("reset",t)}};const _=(n,t)=>{const e=K(n);if(e!==null){e.removeEventListener("reset",t)}};export{$ as A,o as B,q as C,L as D,H as E,C as F,u as G,h as H,e as I,m as J,v as K,i as W,M as a,y as b,V as c,W as d,d as e,f,A as g,N as h,X as i,P as j,E as k,J as l,l as m,t as n,F as o,D as p,z as q,_ as r,G as s,O as t,I as u,w as v,x as w,g as x,T as y,U as z};
2
- //# sourceMappingURL=p-a8ac8f72.js.map
1
+ import{I as n}from"./p-6f57b13c.js";const t=["aria-atomic","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"];const e={XS:576,S:768,M:992,L:1200,XL:99999};const r=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const s=["ic-alert"];const a={"ic-alert":["ic-link"]};const o=136.701;const i=130;const c=133.3505;const l=(n,t=[])=>{const e={};t.forEach((t=>{if(n.hasAttribute(t)){const r=n.getAttribute(t);if(r!==null){e[t]=n.getAttribute(t)}n.removeAttribute(t)}}));return e};const u=(n,t)=>{const e=n._original||n;return{_original:n,emit:p(e.emit.bind(e),t)}};const p=(n,t=0)=>{let e;return(...r)=>{clearTimeout(e);e=setTimeout(n,t,...r)}};const d=(n,t,e,r,s)=>{if(e!==undefined){if(n||b(t)){const n=t.querySelectorAll("input.ic-input");const a=Array.from(n);const o=a.filter((n=>t===n.parentElement));let i=o[0];if(i===null||i===undefined){i=t.ownerDocument.createElement("input");i.type="hidden";i.classList.add("ic-input");t.appendChild(i)}i.disabled=s;i.name=e;i.value=r||""}}};const f=n=>{const t=n.querySelectorAll("input.ic-input");const e=Array.from(t);const r=e.filter((t=>n===t.parentElement));const s=r[0];s===null||s===void 0?void 0:s.remove()};const b=n=>!!n.shadowRoot&&!!n.attachShadow;const m=n=>n+"-helper-text";const v=n=>n+"-validation-text";const N=(n,t,e)=>`${t?m(n):""} ${e?v(n):""}`.trim();const y=(t,e=null)=>{var o;const i=t.parentElement||t.getRootNode().host.parentElement;const c=i.closest(r.join(","));if(c!==null){const r=c.tagName.toLowerCase();const i=t.tagName.toLowerCase();if((o=a[r])===null||o===void 0?void 0:o.includes(i)){return n.Default}else if(e!==null&&!s.includes(r)){return e}else if(c.classList.contains(n.Dark)){return n.Dark}return n.Light}return n.Default};const I=()=>{let n=false;if("maxTouchPoints"in navigator){n=navigator.maxTouchPoints>0}return n};const g=(n,t)=>{const e=document.createElement("button");e.setAttribute("type",t.type);e.style.display="none";n.appendChild(e);e.click();e.remove()};const h=n=>n.trim().length===0;const x=(n,t)=>{var e;const r=[];if(t.length>0){t.map((n=>{if(n.children){n.children.map((n=>r.push(n)))}else{r.push(n)}}));return(e=r.find((t=>t.value===n)))===null||e===void 0?void 0:e.label}return undefined};const w=(n,t,e,r)=>{let s;if(r==="anywhere"){s=n.filter((n=>{var r;if(t){return n.label.toLowerCase().includes(e.toLowerCase())||((r=n.description)===null||r===void 0?void 0:r.toLowerCase().includes(e.toLowerCase()))}else{return n.label.toLowerCase().includes(e.toLowerCase())}}))}else{s=n.filter((n=>{var r;if(t){return n.label.toLowerCase().startsWith(e.toLowerCase())||((r=n.description)===null||r===void 0?void 0:r.toLowerCase().startsWith(e.toLowerCase()))}else{return n.label.toLowerCase().startsWith(e.toLowerCase())}}))}return s};const k=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const A=()=>{if(k(L.S)){return L.S}if(k(L.M)){return L.M}if(k(L.L)){return L.L}if(k(L.XL)){return L.XL}return L.UNDEFINED};const T=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const $=()=>{const n=T("--ic-theme-primary-r");const t=T("--ic-theme-primary-g");const e=T("--ic-theme-primary-b");const r=(parseInt(n)*299+parseInt(t)*587+parseInt(e)*114)/1e3;return r};const E=()=>$()>c?n.Dark:n.Light;const C=(n,t)=>{if(n&&n.querySelector){return n.querySelector(`[slot="${t}"]`)}return null};const G=(n,t)=>C(n,t)!==null;const O=(n,t)=>{const e=C(n,t);if(e){return S(e)}return null};const S=n=>{const t=n.firstElementChild;if(t!==null){const n=t.assignedElements?t.assignedElements():t.childNodes;return n.length?n:null}else{return n===null?null:[n]}};const D=n=>{let t={navType:"",parent:null};switch(z(n)){case"IC-NAVIGATION-GROUP":t=D(n.parentElement);break;case"IC-TOP-NAVIGATION":t={navType:"top",parent:B(n)};break;case"IC-SIDE-NAVIGATION":t={navType:"side",parent:B(n)};break;case"IC-PAGE-HEADER":t={navType:"page-header",parent:null};break}return t};const L={XS:Number(T("--ic-breakpoint-xs").replace("px","")),S:Number(T("--ic-breakpoint-sm").replace("px","")),M:Number(T("--ic-breakpoint-md").replace("px","")),L:Number(T("--ic-breakpoint-lg").replace("px","")),XL:Number(T("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const P=(n,t)=>n!==""&&!t;const X=(n,t)=>Array.from(n.children).some((n=>n.getAttribute("slot")===t));const F=(n,t,e)=>{if(n===undefined&&t!==n){e()}};const M=(n,t)=>{for(let e=0;e<n.length;e++){const{prop:r,propName:s}=n[e];if(r===null||r===undefined){console.error(`No ${s} specified for ${t} component - prop '${s}' (web components) / '${R(s)}' (react) required`)}}};const R=n=>{n=n.toLowerCase();const t=n.split("-");let e=t[0];for(let n=1;n<t.length;n++){e+=t[n].substring(0,1).toUpperCase()+t[n].substring(1)}return e};const V=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const j=function(n){return parseInt(n,16)};const q=n=>{let t;if(n.length===4){t=n.replace("#","").split("");return{r:j(t[0]+t[0]),g:j(t[1]+t[1]),b:j(t[2]+t[2]),a:1}}else{return{r:j(n.slice(1,3)),g:j(n.slice(3,5)),b:j(n.slice(5)),a:1}}};const H=n=>{const t=n.slice(3,4);let e;if(t.toLowerCase()==="a"){e={r:null,g:null,b:null,a:null};const t=n.substring(5,n.length-1).replace(/ /g,"").split(",");e.r=Number(t[0]);e.g=Number(t[1]);e.b=Number(t[2]);e.a=Number(t[3])}else{e={r:null,g:null,b:null,a:1};const t=n.substring(4,n.length-1).replace(/ /g,"").split(",");e.r=Number(t[0]);e.g=Number(t[1]);e.b=Number(t[2])}return e};const U=n=>n.scrollWidth>n.clientWidth;const z=n=>n.parentElement.tagName;const B=n=>n.parentElement;const J=()=>{if(document.querySelector("ic-classification-banner:not([inline='true'])")){return true}else{return false}};const K=n=>n.closest("FORM");const W=(n,t)=>{const e=K(n);if(e!==null){e.addEventListener("reset",t)}};const _=(n,t)=>{const e=K(n);if(e!==null){e.removeEventListener("reset",t)}};const Q=(n,t=16)=>{const e=parseInt(n);return`${1/t*e}rem`};export{U as A,$ as B,o as C,L as D,q as E,H as F,C as G,u as H,e as I,h as J,m as K,v as L,i as W,M as a,y as b,V as c,W as d,d as e,f,A as g,N as h,X as i,P as j,E as k,J as l,l as m,t as n,F as o,D as p,z as q,_ as r,G as s,O as t,g as u,w as v,x as w,I as x,T as y,Q as z};
2
+ //# sourceMappingURL=p-3c75ed36.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/constants.ts","src/utils/helpers.ts"],"names":["IC_INHERITED_ARIA","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","ic-alert","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","DARK_MODE_THRESHOLD","inheritAttributes","element","attributes","attributeObject","forEach","attr","hasAttribute","value","getAttribute","removeAttribute","debounceEvent","event","wait","original","_original","emit","debounce","bind","func","timer","args","clearTimeout","setTimeout","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","removeHiddenInput","remove","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","trim","getThemeFromContext","themeFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","IcThemeForegroundEnum","Default","contains","Dark","Light","isMobileOrTablet","navigator","maxTouchPoints","handleHiddenFormButtonClick","form","button","hiddenFormButton","document","setAttribute","style","display","click","isEmptyString","length","getLabelFromValue","options","ungroupedOptions","map","option","children","push","find","label","getFilteredMenuOptions","includeDescriptions","searchString","position","rawFilteredOptions","description","startsWith","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","documentElement","getPropertyValue","getThemeColorBrightness","themeRed","themeGreen","themeBlue","themeColorBrightness","parseInt","getThemeForegroundColor","getSlot","querySelector","slotHasContent","getSlotContent","slot","getSlotElements","slotContent","firstElementChild","elements","assignedElements","childNodes","getNavItemParentDetails","navType","parent","getParentElementType","getParentElement","Number","replace","hasValidationStatus","status","isSlotUsed","slotName","some","child","onComponentPropUndefinedChange","oldValue","newValue","callback","onComponentRequiredPropUndefined","props","component","i","prop","propName","console","error","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","hex2dec","v","hexToRgba","hex","c","r","g","b","a","slice","rgbaStrToObj","rgbaStr","fourthChar","colorRGBA","rgba","rgb","elementOverflowsX","scrollWidth","clientWidth","hasClassificationBanner","getForm","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","tempPx"],"mappings":"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","sourcesContent":["// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined) {\n if (always || hasShadowDom(container)) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\n\nexport const getInputHelperTextID = (id: string): string => {\n return id + \"-helper-text\";\n};\n\nexport const getInputValidationTextID = (id: string): string => {\n return id + \"-validation-text\";\n};\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string => {\n return `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\nexport const isMobileOrTablet = (): boolean => {\n let isMobileOrTablet = false;\n if (\"maxTouchPoints\" in navigator) {\n isMobileOrTablet = navigator.maxTouchPoints > 0;\n }\n return isMobileOrTablet;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value.trim().length === 0;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[]\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n return ungroupedOptions.find((option) => option.value === value)?.label;\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions\n): IcMenuOption[] => {\n let rawFilteredOptions;\n\n if (position === \"anywhere\") {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().includes(searchString.toLowerCase()) ||\n option.description?.toLowerCase().includes(searchString.toLowerCase())\n );\n } else {\n return option.label.toLowerCase().includes(searchString.toLowerCase());\n }\n });\n } else {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().startsWith(searchString.toLowerCase()) ||\n option.description\n ?.toLowerCase()\n .startsWith(searchString.toLowerCase())\n );\n } else {\n return option.label\n .toLowerCase()\n .startsWith(searchString.toLowerCase());\n }\n });\n }\n\n return rawFilteredOptions;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string => {\n return getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n};\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = () => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n const themeColorBrightness =\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000;\n return themeColorBrightness;\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = (): IcThemeForeground => {\n return getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nconst getSlotElements = (slot: Element) => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n};\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean => {\n return element.scrollWidth > element.clientWidth;\n};\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean => {\n if (document.querySelector(\"ic-classification-banner:not([inline='true'])\")) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const getForm = (el: HTMLElement): HTMLFormElement | null => {\n return el.closest(\"FORM\");\n};\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n) => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n) => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const pxToRem = (px: string, base = 16) => {\n const tempPx = parseInt(px);\n return `${(1 / base) * tempPx}rem`;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-f9370be6.js";import{I as h}from"./p-6f57b13c.js";import{u as n,v as o,w as r,a as l,h as c,e as u}from"./p-3c75ed36.js";const d=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const f=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.search){--divider-height:1.5rem}:host(.search.small){--divider-height:1rem}:host(.fullwidth){width:100%}:host(.search) .disabled:hover{border-color:var(--ic-architectural-200)}:host(.search.disabled) .disabled svg{color:var(--ic-architectural-200)}:host(.search) .disabled svg{color:var(--ic-architectural-400)}.clear-button-container{align-items:center;margin-right:0.063rem;display:none;visibility:hidden}.clear-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow) !important;border-radius:var(--ic-space-xxs)}.search-submit-button:focus *{fill:white}.divider{width:0.063rem;background-color:var(--ic-action-dark-active);height:var(--divider-height)}:host(.dark) .divider{background-color:var(--ic-architectural-200)}.menu-container{width:var(--input-width, 20rem);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}ic-menu{transition:var(--ic-easing-transition-slow)}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:0.063rem;margin-bottom:-0.063rem;margin-right:-0.063rem;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:0.063rem}';let p=0;const m=class{constructor(s){t(this,s);this.icInput=i(this,"icInput",7);this.icInputBlur=i(this,"icInputBlur",7);this.icInputFocus=i(this,"icInputFocus",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.inputId=`ic-search-bar-input-${p++}`;this.menuId=`${this.inputId}-menu`;this.menuCloseFromMenuChangeEvent=false;this.truncateValue=false;this.assistiveHintEl=null;this.preventSubmit=false;this.handleSubmitSearch=()=>{this.highlightedValue&&(this.value=this.highlightedValue);this.highlightedValue=undefined;this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){n(t,this.searchSubmitButton)}};this.handleSubmitSearchKeyDown=t=>{if(t.key===" "){t.preventDefault();this.handleSubmitSearch()}};this.onInput=t=>{this.value=t.target.value;const i=[{label:this.emptyOptionListText,value:""}];if(this.options.length>0){this.setMenuChange(true);if(this.disableFilter===false){const t=o(this.options,false,this.value,"anywhere");this.filteredOptions=t.length>0?t:i}}if(!this.showClearButton){this.handleShowClearButton(true)}this.debounceAriaLiveUpdate()};this.onInputBlur=t=>{const i=t.target.value;const s=t.relatedTarget;this.icInputBlur.emit({value:i,relatedTarget:s})};this.onInputFocus=t=>{const i=t.target.value;this.icInputFocus.emit({value:i});this.handleShowClearButton(true)};this.handleClear=t=>{const i=t;const s=t;if(s.type==="click"||i.code==="Enter"||i.code==="Space"){this.value="";this.inputEl.value="";this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.handleClearBlur=t=>{const i=t.relatedTarget;this.icClearBlur.emit({relatedTarget:i});this.clearButtonFocused=false};this.handleSubmitSearchBlur=t=>{const i=t.relatedTarget;this.icSubmitSearchBlur.emit({relatedTarget:i});this.searchSubmitFocused=false};this.handleSubmitSearchFocus=()=>{this.handleMenuCloseFromMenuChange(true);this.searchSubmitFocused=true};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuOptionHighlight=t=>{var i;const s=(i=t.detail.optionId)===null||i===void 0?void 0:i.replace(`${this.menuId}-`,"");s&&(this.highlightedValue=s);if(t.detail.optionId){this.ariaActiveDescendant=t.detail.optionId}else{this.ariaActiveDescendant=undefined}};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open);if(!t.detail.open){this.handleMenuCloseFromMenuChange(true);if(t.detail.focusInput===undefined||t.detail.focusInput){this.el.setFocus()}}};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&this.value&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.handleTruncateValue(false);this.icSearchBarFocus.emit()};this.handleHostBlur=t=>{const i=t.relatedTarget;if(this.open&&this.options&&i!==this.menu){this.setMenuChange(false)}this.handleShowClearButton(false);this.handleMenuCloseFromMenuChange(false);this.handleTruncateValue(true);this.icSearchBarBlur.emit({relatedTarget:i,value:this.value})};this.handleShowClearButton=t=>{this.showClearButton=t};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.handleMenuCloseFromMenuChange=t=>{this.menuCloseFromMenuChangeEvent=t};this.handleTruncateValue=t=>{this.truncateValue=t};this.renderAssistiveHintEl=()=>{var t,i;const s=(i=(t=this.el.shadowRoot.querySelector("ic-text-field"))===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(`#${this.inputId}`);if(s&&Object.keys(s).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.hintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";if(s.after!==undefined){s.after(this.assistiveHintEl)}}};this.updateSearchResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".search-results-status");if(!this.open||this.value===""||this.value.length<this.charactersUntilSuggestion){t.innerText=""}else if(this.hasOptionsOrFilterDisabled()&&this.filteredOptions.length>0&&this.open&&t){if(this.hadNoOptions()){t.innerText=this.emptyOptionListText}else{t.innerText=`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableFilter;this.hadNoOptions=()=>this.filteredOptions.length===1&&this.filteredOptions[0].label===this.emptyOptionListText;this.isSubmitDisabled=()=>{const t=this.value===undefined||this.value===null||this.value==="";return t||this.disabled||this.hadNoOptions()};this.highlightFirstOptionAfterNoResults=()=>{if(this.prevNoOption&&this.menu){this.menu.handleSetFirstOption();this.prevNoOption=false}const t=this.filteredOptions.find((t=>t.label===this.emptyOptionListText));if(t){this.prevNoOption=true}};this.label=undefined;this.required=false;this.disabled=false;this.readonly=false;this.placeholder="Search";this.fullWidth=false;this.disableFilter=false;this.hideLabel=false;this.helperText="";this.small=false;this.value="";this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.debounce=0;this.name=this.inputId;this.spellcheck=false;this.options=[];this.focusOnLoad=false;this.hintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.emptyOptionListText="No results found";this.charactersUntilSuggestion=2;this.open=false;this.filteredOptions=[];this.ariaActiveDescendant=undefined;this.showClearButton=false;this.clearButtonFocused=false;this.searchSubmitFocused=false;this.prevNoOption=false;this.highlightedValue=undefined}watchOptionsHandler(t){if(this.disableFilter){if(t.length>0){this.filteredOptions=t}else{if(this.hadNoOptions()){return}this.setMenuChange(true);this.filteredOptions=[{label:this.emptyOptionListText,value:""}]}}this.debounceAriaLiveUpdate()}watchValueHandler(t){if(this.inputEl&&this.options&&!!r(t,this.options)){this.inputEl.value=r(t,this.options)}else if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}}async setFocus(){if(this.inputEl){this.inputEl.setFocus()}}handleKeyDown(t){const i=t.detail.event;if(this.menu&&this.open){this.menu.handleKeyboardOpen(i)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit||this.isSubmitDisabled()){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAriaLive);this.debounceAriaLive=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}componentWillRender(){this.highlightFirstOptionAfterNoResults()}componentWillLoad(){this.watchValueHandler(this.value)}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableFilter){this.filteredOptions=this.options}}l([{prop:this.label,propName:"label"}],"Search Bar");this.anchorEl=this.inputEl.shadowRoot.querySelector("ic-input-component-container")}disconnectedCallback(){if(this.assistiveHintEl){this.assistiveHintEl.remove()}}render(){const{inputId:t,name:i,label:a,required:n,small:o,placeholder:l,helperText:b,disabled:p,value:m,readonly:v,spellcheck:g,fullWidth:w,options:y,open:x,hideLabel:k,menuId:L,ariaActiveDescendant:z,truncateValue:C,autofocus:B,autocapitalize:S,autocomplete:T,filteredOptions:I}=this;const M=v||p?true:false;const F=c(t,b!=="",false).trim();let $;if(F!==""&&this.hasOptionsOrFilterDisabled()){$=`${F} ${this.inputId}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){$=`${this.inputId}-assistive-hint`}else if(F!==""){$=F}else{$=undefined}const O=M&&!v;const H=m&&this.hasOptionsOrFilterDisabled();const E=H&&x&&I.length>0;let j;if(y.length>0){if(E){j="true"}else{j="false"}}else{j=undefined}u(true,this.el,i,m,M);return s(e,{class:{["search"]:true,["fullwidth"]:w,["disabled"]:p,["small"]:o},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},s("ic-text-field",{ref:t=>this.inputEl=t,inputId:t,label:a,helperText:b,required:n,disabled:O,readonly:v,small:o,hideLabel:k,fullWidth:w,name:i,truncateValue:C,value:y&&!!r(m,y)?r(m,y):m,placeholder:l,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":k?a:"","aria-describedby":$,"aria-owns":H?L:undefined,"aria-haspopup":y.length>0?"listbox":undefined,ariaExpanded:j,ariaActiveDescendant:z,"aria-autocomplete":H?"list":undefined,role:H?"combobox":undefined,autocomplete:T,autocapitalize:S,autoFocus:B,spellcheck:g,inputmode:"search",debounce:this.debounce},s("div",{class:{"clear-button-container":true,"clear-button-visible":m&&!M&&this.showClearButton},slot:"clear-button"},s("ic-button",{id:"clear-button",class:"clear-button","aria-label":"Clear",innerHTML:d,onClick:this.handleClear,size:o?"small":"default",onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"submit",variant:"icon",appearance:this.clearButtonFocused?h.Light:h.Dark}),s("div",{class:"divider"})),s("div",{class:{"search-submit-button-container":true,"search-submit-button-disabled":this.isSubmitDisabled()},slot:"search-submit-button"},s("ic-button",{id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{["search-submit-button"]:true,["search-submit-button-small"]:!!o},disabled:this.isSubmitDisabled(),innerHTML:f,size:o?"small":"default",onClick:this.handleSubmitSearch,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,onKeyDown:this.handleSubmitSearchKeyDown,type:"submit",variant:"icon",appearance:this.searchSubmitFocused?h.Light:h.Default})),s("div",{class:{"menu-container":true,fullwidth:w},slot:"menu"},E&&m.length>=this.charactersUntilSuggestion&&s("ic-menu",{class:{"no-results":this.hadNoOptions()},activationType:"manual",anchorEl:this.anchorEl,autoFocusOnSelected:false,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,small:o,fullWidth:w,menuId:L,open:true,options:I,onMenuOptionSelect:this.handleOptionSelect,onMenuStateChange:this.handleMenuChange,onMenuOptionId:this.handleMenuOptionHighlight,parentEl:this.el,value:m}))),s("div",{"aria-live":"polite",role:"status",class:"search-results-status"}))}get el(){return a(this)}static get watchers(){return{options:["watchOptionsHandler"],value:["watchValueHandler"]}}};m.style=b;export{m as ic_search_bar};
2
+ //# sourceMappingURL=p-3f0232f6.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","src/components/ic-search-bar/ic-search-bar.tsx"],"names":["icSearchBarCss","inputIds","SearchBar","this","inputId","menuId","menuCloseFromMenuChangeEvent","truncateValue","assistiveHintEl","preventSubmit","handleSubmitSearch","highlightedValue","value","undefined","icSubmitSearch","emit","form","el","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","ev","key","preventDefault","onInput","target","noOptions","label","emptyOptionListText","options","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","filteredOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClear","keyboardEvent","mouseEvent","type","code","inputEl","setFocus","icClear","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleSubmitSearchFocus","handleMenuCloseFromMenuChange","handleOptionSelect","detail","icOptionSelect","handleMenuOptionHighlight","optionValue","_a","optionId","replace","ariaActiveDescendant","handleMenuChange","open","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","input","_b","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","isSubmitDisabled","valueNotSet","disabled","highlightFirstOptionAfterNoResults","prevNoOption","handleSetFirstOption","prevNoOptionsList","find","filteredOption","[object Object]","newOptions","newValue","getLabelFromValue","keyEv","event","handleKeyboardOpen","clearTimeout","debounceAriaLive","window","setTimeout","watchValueHandler","focusOnLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","remove","name","required","small","placeholder","helperText","readonly","spellcheck","fullWidth","hideLabel","autofocus","autocapitalize","autocomplete","disabledMode","describedBy","getInputDescribedByText","trim","describedById","disabledText","hasSuggestedSearch","menuOpen","expanded","renderHiddenInput","h","Host","class","onFocus","onBlur","ref","aria-label","aria-describedby","aria-owns","aria-haspopup","ariaExpanded","aria-autocomplete","role","autoFocus","inputmode","debounce","clear-button-container","clear-button-visible","slot","innerHTML","clearIcon","onClick","size","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","search-submit-button-container","search-submit-button-disabled","searchIcon","Default","menu-container","fullwidth","no-results","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","parentEl","aria-live"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.search) {\n --divider-height: 1.5rem;\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: 0.063rem;\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus * {\n fill: white;\n}\n\n.divider {\n width: 0.063rem;\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\nic-menu {\n transition: var(--ic-easing-transition-slow);\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 0.063rem;\n margin-bottom: -0.063rem;\n margin-right: -0.063rem;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 0.063rem;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcThemeForegroundEnum,\n IcMenuOption,\n} from \"../../utils/types\";\nimport {\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n getFilteredMenuOptions,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../interface\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-search-bar\",\n styleUrl: \"ic-search-bar.css\",\n shadow: true,\n})\nexport class SearchBar {\n @Element() el: HTMLIcSearchBarElement;\n\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private inputEl: HTMLIcTextFieldElement;\n\n private menuId = `${this.inputId}-menu`;\n private searchSubmitButton: HTMLIcButtonElement;\n private menu: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent: boolean = false;\n\n private anchorEl: HTMLElement;\n private truncateValue = false;\n\n private assistiveHintEl: HTMLSpanElement = null;\n private preventSubmit: boolean = false;\n private debounceAriaLive: number;\n\n /**\n * The label for the search bar.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the search bar will require a value.\n */\n @Prop() required?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The placeholder value to display.\n */\n @Prop() placeholder?: string = \"Search\";\n\n /**\n * Specify whether the search bar fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\n * If `true`, all options provided will be displayed.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the search bar.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The value of the search input.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n /**\n * The suggested search options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableFilter) {\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n } else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n this.filteredOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n }\n }\n this.debounceAriaLiveUpdate();\n }\n\n /**\n * If `true`, the search bar will be focused when component loaded.\n */\n @Prop() focusOnLoad?: boolean = false;\n\n /**\n * The hint text for the hidden assistive description element.\n */\n @Prop() hintText?: string =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The number of characters until suggestions appear.\n */\n @Prop() charactersUntilSuggestion: number = 2;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (\n this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options)\n ) {\n this.inputEl.value = getLabelFromValue(newValue, this.options);\n } else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n\n @Listen(\"icKeydown\", {})\n handleKeyDown(ev: CustomEvent): void {\n const keyEv: KeyboardEvent = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n\n @Listen(\"keyup\", {})\n handleKeyUp(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n\n private handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n\n const form: HTMLFormElement = this.el.closest(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n private handleSubmitSearchKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n\n // The icInput event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(\n this.options,\n false,\n this.value,\n \"anywhere\"\n );\n\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n\n this.debounceAriaLiveUpdate();\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarBlur instead.\n */\n @Event() icInputBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n private onInputBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarFocus instead.\n */\n @Event() icInputFocus: EventEmitter<IcValueEventDetail>;\n private onInputFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icInputFocus.emit({ value: value });\n\n this.handleShowClearButton(true);\n };\n\n // The icChange event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when value is cleared with clear button\n */\n @Event() icClear: EventEmitter<void>;\n private handleClear = (ev: Event) => {\n const keyboardEvent = ev as KeyboardEvent;\n const mouseEvent = ev as MouseEvent;\n\n if (\n mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\"\n ) {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when option is highlighted within the menu\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the state of the menu changes (i.e. open or close)\n */\n @Event() icMenuChange: EventEmitter<IcMenuChangeEventDetail>;\n /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n\n this.searchSubmitFocused = false;\n };\n\n private handleSubmitSearchFocus = () => {\n this.handleMenuCloseFromMenuChange(true);\n this.searchSubmitFocused = true;\n };\n\n /**\n * Emitted when blur is invoked from ic-search-bar\n */\n @Event() icSearchBarBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n\n /**\n * Emitted when focus is invoked from ic-search-bar\n */\n @Event() icSearchBarFocus: EventEmitter<void>;\n\n @State() open: boolean = false;\n @State() filteredOptions: IcMenuOption[] = [];\n @State() ariaActiveDescendant: string;\n @State() showClearButton: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() searchSubmitFocused: boolean = false;\n @State() prevNoOption: boolean = false;\n @State() highlightedValue: string;\n\n private handleOptionSelect = (ev: CustomEvent) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n\n private handleMenuOptionHighlight = (ev: CustomEvent) => {\n const optionValue = ev.detail.optionId?.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n } else {\n this.ariaActiveDescendant = undefined;\n }\n };\n\n private handleMenuChange = (ev: CustomEvent) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n\n private handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n if (this.open && this.options && nextFocus !== this.menu) {\n this.setMenuChange(false);\n }\n\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n };\n\n private handleShowClearButton = (visible: boolean): void => {\n this.showClearButton = visible;\n };\n\n private handleFocusClearButton = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleMenuCloseFromMenuChange = (fromEvent: boolean): void => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n\n private handleTruncateValue = (truncate: boolean): void => {\n this.truncateValue = truncate;\n };\n\n private renderAssistiveHintEl = (): void => {\n const input = this.el.shadowRoot\n .querySelector(\"ic-text-field\")\n ?.shadowRoot?.querySelector(`#${this.inputId}`);\n\n if (\n input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()\n ) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n\n private updateSearchResultAriaLive = (): void => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n\n if (\n !this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion\n ) {\n searchResultsStatusEl.innerText = \"\";\n } else if (\n this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n searchResultsStatusEl\n ) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchResultsStatusEl.innerText = `${\n this.filteredOptions.length\n } result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n };\n\n private hasOptionsOrFilterDisabled = (): boolean =>\n this.options.length > 0 || this.disableFilter;\n\n private hadNoOptions = (): boolean =>\n this.filteredOptions.length === 1 &&\n this.filteredOptions[0].label === this.emptyOptionListText;\n\n private isSubmitDisabled = (): boolean => {\n const valueNotSet =\n this.value === undefined || this.value === null || this.value === \"\";\n return valueNotSet || this.disabled || this.hadNoOptions();\n };\n\n private highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find(\n (filteredOption) => filteredOption.label === this.emptyOptionListText\n );\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n\n componentWillRender(): void {\n this.highlightFirstOptionAfterNoResults();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n }\n\n componentDidLoad(): void {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\n \"ic-input-component-container\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n disabled,\n value,\n readonly,\n spellcheck,\n fullWidth,\n options,\n open,\n hideLabel,\n menuId,\n ariaActiveDescendant,\n truncateValue,\n autofocus,\n autocapitalize,\n autocomplete,\n filteredOptions,\n } = this;\n\n const disabledMode = readonly || disabled ? true : false;\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n } else {\n describedById = undefined;\n }\n\n const disabledText = disabledMode && !readonly;\n const hasSuggestedSearch = value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n\n let expanded;\n\n if (options.length > 0) {\n if (menuOpen) {\n expanded = \"true\";\n } else {\n expanded = \"false\";\n }\n } else {\n expanded = undefined;\n }\n\n renderHiddenInput(true, this.el, name, value, disabledMode);\n\n return (\n <Host\n class={{\n [\"search\"]: true,\n [\"fullwidth\"]: fullWidth,\n [\"disabled\"]: disabled,\n [\"small\"]: small,\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-text-field\n ref={(el) => (this.inputEl = el)}\n inputId={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n small={small}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n name={name}\n truncateValue={truncateValue}\n value={\n options && !!getLabelFromValue(value, options)\n ? getLabelFromValue(value, options)\n : value\n }\n placeholder={placeholder}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : \"\"}\n aria-describedby={describedById}\n aria-owns={hasSuggestedSearch ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n ariaExpanded={expanded}\n ariaActiveDescendant={ariaActiveDescendant}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={hasSuggestedSearch ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n debounce={this.debounce}\n >\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n value && !disabledMode && this.showClearButton,\n }}\n slot=\"clear-button\"\n >\n <ic-button\n id=\"clear-button\"\n class=\"clear-button\"\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n size={small ? \"small\" : \"default\"}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n <div\n class={{\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }}\n slot=\"search-submit-button\"\n >\n <ic-button\n id=\"search-submit-button\"\n aria-label=\"Search\"\n ref={(el) => (this.searchSubmitButton = el)}\n class={{\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }}\n disabled={this.isSubmitDisabled()}\n innerHTML={searchIcon}\n size={small ? \"small\" : \"default\"}\n onClick={this.handleSubmitSearch}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n onKeyDown={this.handleSubmitSearchKeyDown}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n slot=\"menu\"\n >\n {menuOpen && value.length >= this.charactersUntilSuggestion && (\n <ic-menu\n class={{\n \"no-results\": this.hadNoOptions(),\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autoFocusOnSelected={false}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\n small={small}\n fullWidth={fullWidth}\n menuId={menuId}\n open={true}\n options={filteredOptions}\n onMenuOptionSelect={this.handleOptionSelect}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionId={this.handleMenuOptionHighlight}\n parentEl={this.el}\n value={value}\n ></ic-menu>\n )}\n </div>\n </ic-text-field>\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"search-results-status\"\n ></div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as i,h as t,H as a,g as o}from"./p-f9370be6.js";import{d as r,a as c,r as n,e as s,f as d,i as l}from"./p-3c75ed36.js";import"./p-6f57b13c.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host([disabled]){color:var(--ic-architectural-200);pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs)}:host([small]) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:transparent;border:0.063rem solid var(--ic-architectural-300);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast)}.checkbox:checked{background-color:var(--ic-action-default);border:0.063rem solid var(--ic-action-default);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-architectural-200)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:transparent;border:0.125rem solid var(--ic-action-default)}.checkbox:checked:hover{background-color:var(--ic-action-default-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-action-default-bg-hover);border:0.125rem solid var(--ic-action-default-hover)}.checkbox:checked:active{background-color:var(--ic-action-default-active)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-action-default-bg-active);border:0.125rem solid var(--ic-action-default-active)}.checkbox:hover{background-color:var(--ic-action-default-bg-hover);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:0.063rem solid var(--ic-action-default-hover)}.checkbox:active{background-color:var(--ic-action-default-bg-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active);border:0.063rem solid var(--ic-action-default-active)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:0.063rem dashed var(--ic-architectural-200)}.checkbox-label{padding-left:var(--ic-space-sm)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:white;z-index:1;background-color:transparent;pointer-events:none}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);top:0.688rem;right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-action-default);pointer-events:none}.container:hover .indeterminate-symbol{background-color:var(--ic-action-default-hover)}.container:active .indeterminate-symbol{background-color:var(--ic-action-default-active)}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const b=class{constructor(t){e(this,t);this.checkboxChecked=i(this,"checkboxChecked",7);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.icCheck.emit();this.checkboxChecked.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.checked=false;this.disabled=false;this.label=undefined;this.value=undefined;this.name=undefined;this.groupLabel=undefined;this.dynamicText="This selection requires additional answers";this.additionalFieldDisplay="static";this.indeterminate=false;this.initiallyChecked=this.checked}async setFocus(){const e=this.host.shadowRoot.querySelector(".checkbox");if(e){e.focus()}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.host.querySelector("ic-text-field");if(!this.checked){e&&e.setAttribute("disabled","")}else{e&&e.removeAttribute("disabled")}}else{if(!this.checked){this.additionalFieldContainer.style.display="none"}else{this.additionalFieldContainer.style.display="flex"}}}componentWillLoad(){r(this.host,this.handleFormReset)}componentDidLoad(){c([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}disconnectedCallback(){n(this.host,this.handleFormReset)}render(){let e=`ic-checkbox-${this.label!==undefined?this.label:this.value}-${this.groupLabel}`;e=e.replace(/ /g,"-");this.checked?s(true,this.host,this.name,this.checked&&this.value,this.disabled):d(this.host);return t(a,null,t("div",{class:{["container"]:true,["disabled"]:this.disabled}},this.checked&&!this.indeterminate&&t("svg",{class:"checkmark",width:"1.5rem",height:"1.5rem",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},t("title",null,"checkmark icon"),t("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),this.checked&&this.indeterminate&&t("div",{class:"indeterminate-symbol"}),t("input",{role:"checkbox",class:{["checkbox"]:true,["checked"]:this.checked,["indeterminate"]:this.indeterminate},type:"checkbox",name:this.name,id:e,value:this.value,disabled:this.disabled?true:null,checked:this.checked,indeterminate:this.indeterminate,onClick:this.handleClick}),t("ic-typography",{variant:"body"},t("label",{class:"checkbox-label",htmlFor:e},this.label))),l(this.host,"additional-field")&&t("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},this.additionalFieldDisplay==="dynamic"&&t("div",{class:"branch-corner"}),t("div",null,this.additionalFieldDisplay==="dynamic"&&t("ic-typography",{variant:"caption"},t("p",{class:"dynamic-text","aria-live":"polite"},this.dynamicText)),t("div",{class:{"additional-field-wrapper":this.additionalFieldDisplay==="static"}},t("slot",{name:"additional-field"})))))}get host(){return o(this)}};b.style=h;export{b as ic_checkbox};
2
+ //# sourceMappingURL=p-3f0ac826.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"names":["icCheckboxCss","Checkbox","this","handleClick","checked","icCheck","emit","checkboxChecked","handleFormReset","initiallyChecked","[object Object]","checkboxEl","host","shadowRoot","querySelector","focus","additionalFieldDisplay","textfield","setAttribute","removeAttribute","additionalFieldContainer","style","display","addFormResetListener","onComponentRequiredPropUndefined","prop","label","propName","value","removeFormResetListener","id","undefined","groupLabel","replace","renderHiddenInput","name","disabled","removeHiddenInput","h","Host","class","indeterminate","width","height","viewBox","xmlns","fill-rule","clip-rule","d","role","type","onClick","variant","htmlFor","isSlotUsed","ref","el","aria-live","dynamicText","additional-field-wrapper"],"mappings":"+JAAA,MAAMA,EAAgB,u/LC0BTC,EAAQ,iHAuDXC,KAAAC,YAAc,KACpBD,KAAKE,SAAWF,KAAKE,QACrBF,KAAKG,QAAQC,OACbJ,KAAKK,gBAAgBD,QAGfJ,KAAAM,gBAAkB,KACxBN,KAAKE,QAAUF,KAAKO,+BA1DsC,oBAI/B,+GAoBC,yEAK5B,4BAI+B,4BAELP,KAAKE,QA8BjCM,iBACE,MAAMC,EACJT,KAAKU,KAAKC,WAAWC,cAAc,aACrC,GAAIH,EAAY,CACdA,EAAWI,SAIfL,qBACE,GAAIR,KAAKc,yBAA2B,SAAU,CAC5C,MAAMC,EAAYf,KAAKU,KAAKE,cAAc,iBAC1C,IAAKZ,KAAKE,QAAS,CACjBa,GAAaA,EAAUC,aAAa,WAAY,QAC3C,CACLD,GAAaA,EAAUE,gBAAgB,iBAEpC,CACL,IAAKjB,KAAKE,QAAS,CACjBF,KAAKkB,yBAAyBC,MAAMC,QAAU,WACzC,CACLpB,KAAKkB,yBAAyBC,MAAMC,QAAU,SAKpDZ,oBACEa,EAAqBrB,KAAKU,KAAMV,KAAKM,iBAGvCE,mBACEc,EACE,CACE,CAAEC,KAAMvB,KAAKwB,MAAOC,SAAU,SAC9B,CAAEF,KAAMvB,KAAK0B,MAAOD,SAAU,UAEhC,YAIJjB,uBACEmB,EAAwB3B,KAAKU,KAAMV,KAAKM,iBAG1CE,SACE,IAAIoB,EAAK,eACP5B,KAAKwB,QAAUK,UAAY7B,KAAKwB,MAAQxB,KAAK0B,SAC3C1B,KAAK8B,aAETF,EAAKA,EAAGG,QAAQ,KAAM,KAEtB/B,KAAKE,QACD8B,EACE,KACAhC,KAAKU,KACLV,KAAKiC,KACLjC,KAAKE,SAAWF,KAAK0B,MACrB1B,KAAKkC,UAEPC,EAAkBnC,KAAKU,MAE3B,OACE0B,EAACC,EAAI,KACHD,EAAA,MAAA,CAAKE,MAAO,CAAE9B,CAAC,aAAc,KAAMA,CAAC,YAAaR,KAAKkC,WACnDlC,KAAKE,UAAYF,KAAKuC,eACrBH,EAAA,MAAA,CACEE,MAAM,YACNE,MAAM,SACNC,OAAO,SACPC,QAAQ,YACRC,MAAM,6BAA4BC,YACxB,UAASC,YACT,WAEVT,EAAA,QAAA,KAAA,kBACAA,EAAA,OAAA,CAAMU,EAAE,yFAGX9C,KAAKE,SAAWF,KAAKuC,eACpBH,EAAA,MAAA,CAAKE,MAAM,yBAEbF,EAAA,QAAA,CACEW,KAAK,WACLT,MAAO,CACL9B,CAAC,YAAa,KACdA,CAAC,WAAYR,KAAKE,QAClBM,CAAC,iBAAkBR,KAAKuC,eAE1BS,KAAK,WACLf,KAAMjC,KAAKiC,KACXL,GAAIA,EACJF,MAAO1B,KAAK0B,MACZQ,SAAUlC,KAAKkC,SAAW,KAAO,KACjChC,QAASF,KAAKE,QACdqC,cAAevC,KAAKuC,cACpBU,QAASjD,KAAKC,cAEhBmC,EAAA,gBAAA,CAAec,QAAQ,QACrBd,EAAA,QAAA,CAAOE,MAAM,iBAAiBa,QAASvB,GACpC5B,KAAKwB,SAIX4B,EAAWpD,KAAKU,KAAM,qBACrB0B,EAAA,MAAA,CACEE,MAAM,oBACNe,IAAMC,GAAQtD,KAAKkB,yBAA2BoC,GAE7CtD,KAAKc,yBAA2B,WAC/BsB,EAAA,MAAA,CAAKE,MAAM,kBAEbF,EAAA,MAAA,KACGpC,KAAKc,yBAA2B,WAC/BsB,EAAA,gBAAA,CAAec,QAAQ,WACrBd,EAAA,IAAA,CAAGE,MAAM,eAAciB,YAAW,UAC/BvD,KAAKwD,cAIZpB,EAAA,MAAA,CACEE,MAAO,CACLmB,2BACEzD,KAAKc,yBAA2B,WAGpCsB,EAAA,OAAA,CAAMH,KAAK","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host([disabled]) {\n color: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n}\n\n:host([small]) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: transparent;\n border: 0.063rem solid var(--ic-architectural-300);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n}\n\n.checkbox:checked {\n background-color: var(--ic-action-default);\n border: 0.063rem solid var(--ic-action-default);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-architectural-200);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: transparent;\n border: 0.125rem solid var(--ic-action-default);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-action-default-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: 0.125rem solid var(--ic-action-default-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-action-default-active);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-action-default-bg-active);\n border: 0.125rem solid var(--ic-action-default-active);\n}\n\n.checkbox:hover {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-hover);\n border: 0.063rem solid var(--ic-action-default-hover);\n}\n\n.checkbox:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n border: 0.063rem solid var(--ic-action-default-active);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: 0.063rem dashed var(--ic-architectural-200);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: white;\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n top: 0.688rem;\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-action-default);\n pointer-events: none;\n}\n\n.container:hover .indeterminate-symbol {\n background-color: var(--ic-action-default-hover);\n}\n\n.container:active .indeterminate-symbol {\n background-color: var(--ic-action-default-active);\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-action-default);\n border-left: 0.125rem solid var(--ic-action-default);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: true,\n})\nexport class Checkbox {\n /**\n * If `true`, the checkbox will be set to the checked state.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n /**\n * The value for the checkbox.\n */\n @Prop() value!: string;\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop() name: string;\n /**\n * The group label for the checkbox.\n */\n @Prop() groupLabel: string;\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n\n @State() initiallyChecked = this.checked;\n\n @Element() host: HTMLIcCheckboxElement;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n private additionalFieldContainer: HTMLDivElement;\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.icCheck.emit();\n this.checkboxChecked.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n const checkboxEl: HTMLElement =\n this.host.shadowRoot.querySelector(\".checkbox\");\n if (checkboxEl) {\n checkboxEl.focus();\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\n }\n }\n\n componentWillLoad(): void {\n addFormResetListener(this.host, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n let id = `ic-checkbox-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n id = id.replace(/ /g, \"-\");\n\n this.checked\n ? renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.host);\n\n return (\n <Host>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"1.5rem\"\n height=\"1.5rem\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n indeterminate={this.indeterminate}\n onClick={this.handleClick}\n ></input>\n <ic-typography variant=\"body\">\n <label class=\"checkbox-label\" htmlFor={id}>\n {this.label}\n </label>\n </ic-typography>\n </div>\n {isSlotUsed(this.host, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as n,g as i}from"./p-f9370be6.js";import{I as o}from"./p-6f57b13c.js";import{k as a,s as r,a as s}from"./p-3c75ed36.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-theme-tertiary);color:var(--ic-theme-text);--hero-heading-bottom-margin:var(--ic-space-md)}:host(.dark){background-color:var(--ic-theme-secondary)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg)}.secondary-container{display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--ic-theme-text)}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host([small]),:host([small]) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host([small]),:host([small]) .section-container{min-height:15rem}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host([small]),:host([small]) .section-container{min-height:15rem}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}.right-container{margin-left:3.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host([small]),:host([small]) .section-container{min-height:10.813rem}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:17.5rem}:host([secondary-heading]) .section-container,:host([small]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host([small]),:host([small]) .section-container{min-height:10.813rem}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:16.5rem}:host([secondary-heading]) .section-container,:host([small]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const h=class{constructor(t){e(this,t);this.heading=undefined;this.subheading=undefined;this.secondaryHeading=undefined;this.secondarySubheading=undefined;this.backgroundImage=undefined;this.disableBackgroundParallax=false;this.aligned="left";this.contentAligned="left";this.small=false;this.rightContent=false;this.scrollFactor="right -100px";this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.foregroundColor=a()}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}doScroll(){if(this.disableBackgroundParallax){return}const e=document.scrollingElement.scrollTop;const t=.4;const n=-100+e*t;this.scrollFactor="right "+n+"px"}componentWillLoad(){this.rightContent=r(this.el,"secondary")}componentDidLoad(){s([{prop:this.heading,propName:"heading"}],"Hero")}componentWillRender(){this.rightContent=r(this.el,"secondary")}render(){const{aligned:e,small:i,heading:a,subheading:r,secondaryHeading:s,secondarySubheading:c,foregroundColor:h,backgroundImage:d,scrollFactor:l}=this;let m={};if(d!==undefined){m={"background-image":"url("+d+")","background-position":l}}return t(n,{class:{[o.Dark]:h===o.Dark,["has-background-image"]:d!==undefined},style:m},t("ic-section-container",{aligned:e,fullHeight:true,class:"section-container"},t("div",{class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{class:"heading"},t("slot",{name:"heading"},t("ic-typography",{variant:i?"h2":"h1",class:{["heading-bottom-spacing"]:!i}},a))),t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"body"},r))),t("div",{class:"interaction-container"},t("slot",{name:"interaction"}))),(s!==undefined||this.rightContent)&&t("div",{class:"right-container"},t("slot",{name:"secondary"},s&&t("div",{class:"secondary-container"},t("div",{class:"secondary-heading"},t("ic-typography",{variant:"h4"},s)),t("div",{class:"secondary-subheading"},t("ic-typography",{variant:"subtitle-small"},c)))))))}get el(){return i(this)}};h.style=c;export{h as ic_hero};
2
+ //# sourceMappingURL=p-454a7f3d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-hero/ic-hero.css?tag=ic-hero&encapsulation=shadow","src/components/ic-hero/ic-hero.tsx"],"names":["icHeroCss","Hero","this","rightContent","secondaryHeading","undefined","getThemeForegroundColor","[object Object]","ev","theme","detail","foregroundColor","mode","disableBackgroundParallax","scrolltotop","document","scrollingElement","scrollTop","factor","y","scrollFactor","slotHasContent","el","onComponentRequiredPropUndefined","prop","heading","propName","aligned","small","subheading","secondarySubheading","backgroundImage","style","background-image","background-position","h","Host","class","IcThemeForegroundEnum","Dark","fullHeight","leftContentFullWidth","name","variant"],"mappings":"+IAAA,MAAMA,EAAY,g0MCkCLC,EAAI,iNA+B+B,mBAKf,2BAKmB,kBAKzB,wBAEQ,wBAED,0CAG7BC,KAAKC,cAAgBD,KAAKE,mBAAqBC,+BAEJC,IAG9CC,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BR,KAAKS,gBAAkBF,EAAMG,KAI/BL,WACE,GAAIL,KAAKW,0BAA2B,CAClC,OAGF,MAAMC,EAAcC,SAASC,iBAAiBC,UAC9C,MAAMC,EAAS,GACf,MAAMC,GAAK,IAAML,EAAcI,EAC/BhB,KAAKkB,aAAe,SAAWD,EAAI,KAGrCZ,oBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,aAG9Cf,mBACEgB,EACE,CAAC,CAAEC,KAAMtB,KAAKuB,QAASC,SAAU,YACjC,QAIJnB,sBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,aAG9Cf,SACE,MAAMoB,QACJA,EAAOC,MACPA,EAAKH,QACLA,EAAOI,WACPA,EAAUzB,iBACVA,EAAgB0B,oBAChBA,EAAmBnB,gBACnBA,EAAeoB,gBACfA,EAAeX,aACfA,GACElB,KAEJ,IAAI8B,EAAQ,GAEZ,GAAID,IAAoB1B,UAAW,CACjC2B,EAAQ,CACNC,mBAAoB,OAASF,EAAkB,IAC/CG,sBAAuBd,GAI3B,OACEe,EAACC,EAAI,CACHC,MAAO,CACL9B,CAAC+B,EAAsBC,MACrB5B,IAAoB2B,EAAsBC,KAC5ChC,CAAC,wBAAyBwB,IAAoB1B,WAEhD2B,MAAOA,GAEPG,EAAA,uBAAA,CACER,QAASA,EACTa,WAAU,KACVH,MAAM,qBAENF,EAAA,MAAA,CACEE,MAAO,CACL9B,CAAC,kBAAmB,KACpBA,CAAC,6BAA8BL,KAAKuC,uBAGtCN,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CACEQ,QAASf,EAAQ,KAAO,KACxBS,MAAO,CAAE9B,CAAC,2BAA4BqB,IAErCH,KAIPU,EAAA,MAAA,CAAKE,MAAM,cACTF,EAAA,OAAA,CAAMO,KAAK,cACTP,EAAA,gBAAA,CAAeQ,QAAQ,QAAQd,KAGnCM,EAAA,MAAA,CAAKE,MAAM,yBACTF,EAAA,OAAA,CAAMO,KAAK,mBAGbtC,IAAqBC,WAAaH,KAAKC,eACvCgC,EAAA,MAAA,CAAKE,MAAM,mBACTF,EAAA,OAAA,CAAMO,KAAK,aACRtC,GACC+B,EAAA,MAAA,CAAKE,MAAM,uBACTF,EAAA,MAAA,CAAKE,MAAM,qBACTF,EAAA,gBAAA,CAAeQ,QAAQ,MACpBvC,IAGL+B,EAAA,MAAA,CAAKE,MAAM,wBACTF,EAAA,gBAAA,CAAeQ,QAAQ,kBACpBb","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n background-color: var(--ic-theme-tertiary);\n color: var(--ic-theme-text);\n\n --hero-heading-bottom-margin: var(--ic-space-md);\n}\n\n:host(.dark) {\n background-color: var(--ic-theme-secondary);\n}\n\n:host(.has-background-image) {\n background-repeat: no-repeat;\n background-position: right -6.25rem;\n background-size: auto calc(100% + 6.25rem);\n box-shadow: var(--ic-elevation-inset);\n}\n\n@media (prefers-reduced-motion) {\n :host(.has-background-image) {\n background-position: right -6.25rem !important;\n }\n}\n\nic-typography.heading-bottom-spacing {\n margin-bottom: var(--hero-heading-bottom-margin);\n}\n\n.section-container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.left-container {\n padding: var(--ic-space-xl) 0;\n}\n\n.left-container:not(.left-container-full-width) {\n flex-basis: 50%;\n}\n\n.left-container-full-width {\n width: 100%;\n}\n\n.right-container {\n flex-basis: 50%;\n}\n\n.interaction-container {\n display: flex;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-lg);\n}\n\n.secondary-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-left: var(--ic-space-xxxs) solid var(--ic-theme-text);\n}\n\n.secondary-subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n:host([content-aligned=\"left\"]) .left-container,\n:host([content-aligned=\"left\"]) .interaction-container {\n justify-content: flex-start;\n text-align: left;\n}\n\n:host([content-aligned=\"center\"]) .left-container,\n:host([content-aligned=\"center\"]) .interaction-container {\n justify-content: center;\n text-align: center;\n}\n\n@media (min-width: 992px) {\n .left-container-full-width {\n width: 66.6%;\n }\n}\n\n@media (min-width: 1044px) {\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 10.813rem;\n }\n\n .left-container:not(.left-container-full-width) {\n flex-basis: 66.6%;\n }\n\n .left-container {\n min-height: 9rem;\n }\n\n .right-container {\n flex-basis: 33.3%;\n margin-left: 3.125rem;\n }\n\n .secondary-container {\n min-height: 9rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 3.938rem;\n }\n}\n\n@media (min-width: 801px) and (max-width: 1043px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 15rem;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 5.922rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 641px) and (max-width: 800px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 15rem;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 2.125rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 481px) and (max-width: 640px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 10.813rem;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 17.5rem;\n }\n\n :host([secondary-heading]) .section-container,\n :host([small]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n\n .right-container {\n margin-bottom: 2.5rem;\n }\n}\n\n@media (max-width: 480px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 12rem;\n }\n\n :host,\n .right-container {\n margin-bottom: var(--ic-space-md);\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 10.813rem;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 16.5rem;\n }\n\n :host([secondary-heading]) .section-container,\n :host([small]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcAlignment,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport {\n slotHasContent,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcHeroContentAlignments } from \"./ic-hero.types\";\n\n/**\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot interaction - Content will be rendered in the interaction area, adjacent to the title area.\n * @slot secondary - Content will be rendered in the secondary content area.\n */\n\n@Component({\n tag: \"ic-hero\",\n styleUrl: \"ic-hero.css\",\n shadow: true,\n})\nexport class Hero {\n @Element() el: HTMLIcHeroElement;\n\n /**\n * The heading of the hero.\n */\n @Prop() heading!: string;\n\n /**\n * The description for the hero.\n */\n @Prop() subheading?: string;\n\n /**\n * The optional secondary heading, replaced by slotted right content.\n */\n @Prop() secondaryHeading?: string;\n\n /**\n * The optional secondary subheading, replaced by slotted right content.\n */\n @Prop() secondarySubheading?: string;\n\n /**\n * The optional background image.\n */\n @Prop() backgroundImage?: string;\n\n /**\n * If `true`, the background image (if set) will not scroll using a parallax effect.\n */\n @Prop() disableBackgroundParallax?: boolean = false;\n\n /**\n * The alignment of the hero.\n */\n @Prop() aligned: IcAlignment = \"left\";\n\n /**\n * The alignment of the hero content.\n */\n @Prop() contentAligned: IcHeroContentAlignments = \"left\";\n\n /**\n * If `true`, the small styling will be applied to the hero.\n */\n @Prop() small: boolean = false;\n\n @State() rightContent: boolean = false;\n\n @State() scrollFactor: string = \"right -100px\";\n\n @State() leftContentFullWidth: boolean =\n !this.rightContent && this.secondaryHeading === undefined;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n @Listen(\"scroll\", { target: \"document\" })\n doScroll(): void {\n if (this.disableBackgroundParallax) {\n return;\n }\n\n const scrolltotop = document.scrollingElement.scrollTop;\n const factor = 0.4;\n const y = -100 + scrolltotop * factor;\n this.scrollFactor = \"right \" + y + \"px\";\n }\n\n componentWillLoad(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Hero\"\n );\n }\n\n componentWillRender(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n render() {\n const {\n aligned,\n small,\n heading,\n subheading,\n secondaryHeading,\n secondarySubheading,\n foregroundColor,\n backgroundImage,\n scrollFactor,\n } = this;\n\n let style = {};\n\n if (backgroundImage !== undefined) {\n style = {\n \"background-image\": \"url(\" + backgroundImage + \")\",\n \"background-position\": scrollFactor,\n };\n }\n\n return (\n <Host\n class={{\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"has-background-image\"]: backgroundImage !== undefined,\n }}\n style={style}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight\n class=\"section-container\"\n >\n <div\n class={{\n [\"left-container\"]: true,\n [\"left-container-full-width\"]: this.leftContentFullWidth,\n }}\n >\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography\n variant={small ? \"h2\" : \"h1\"}\n class={{ [\"heading-bottom-spacing\"]: !small }}\n >\n {heading}\n </ic-typography>\n </slot>\n </div>\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n <div class=\"interaction-container\">\n <slot name=\"interaction\"></slot>\n </div>\n </div>\n {(secondaryHeading !== undefined || this.rightContent) && (\n <div class=\"right-container\">\n <slot name=\"secondary\">\n {secondaryHeading && (\n <div class=\"secondary-container\">\n <div class=\"secondary-heading\">\n <ic-typography variant=\"h4\">\n {secondaryHeading}\n </ic-typography>\n </div>\n <div class=\"secondary-subheading\">\n <ic-typography variant=\"subtitle-small\">\n {secondarySubheading}\n </ic-typography>\n </div>\n </div>\n )}\n </slot>\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as a,g as o}from"./p-f9370be6.js";import{D as n,k as s,q as r,g as d,p as c}from"./p-3c75ed36.js";import{c as l}from"./p-24240e11.js";import"./p-6f57b13c.js";const v='/*! 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}:host(:focus-within){z-index:1}svg{width:var(--ic-space-xl);fill:var(--ic-theme-text)}ic-typography{flex:1}:host([expandable].navigation-item) .link,:host([expandable].navigation-item) ::slotted(a){padding-right:0}:host(.navigation-item) .link,:host(.navigation-item) ::slotted(a){height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-theme-text);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md);text-decoration:none;transition:var(--ic-easing-transition-fast);position:relative}:host(.navigation-item) ::slotted(a){font:var(--ic-font-label) !important;letter-spacing:var(--ic-font-letter-spacing-0pt025) !important;padding:0 var(--ic-space-md) !important}:host(.navigation-item-selected) .link::after,:host(.navigation-item-selected) ::slotted(a.active)::after,:host(.navigation-item-top-nav) ::slotted(a.active)::after{content:"";height:0.25rem;width:100%;position:absolute;bottom:0;background-color:var(--ic-theme-text)}:host(.navigation-item-selected.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-selected.navigation-item-page-header) .link::after,:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-top-nav-child) ::slotted(a.active)::after{content:none}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){box-shadow:none}:host(.navigation-item) .link:hover:not(:focus){background-color:var(--ic-theme-hover);cursor:pointer}:host(.navigation-item:not(.navigation-item-page-header,.navigation-item-side-menu)) ::slotted(a:hover:not(:focus)){background-color:var(--ic-theme-hover) !important}:host(.navigation-item:not(.navigation-item-top-nav-child,.navigation-item-side-menu,.navigation-item-top-nav-child-selected .navigation-item-side-menu-selected)) .focus-indicator:focus-within{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}:host(.navigation-item) .link:focus,:host(.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item-selected) .link:focus,:host(.navigation-item) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item-selected.dark) .link:focus,:host(.navigation-item.dark) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item) .link:active:not(:focus),:host(.navigation-item) ::slotted(a:active:not(:focus)){background-color:var(--ic-theme-active)}:host(.navigation-item-side-menu) .link,:host(.navigation-item-side-menu) ::slotted(a){height:2.5rem;width:100%;color:var(--ic-color-primary-text);display:flex;align-items:center;justify-content:flex-start;text-decoration:none;transition:var(--ic-transition-duration-fast)}:host(.navigation-item-side-menu) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast)}:host(.navigation-item-side-menu) .link:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover)}:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-side-menu) .focus-indicator:focus-within{box-shadow:none}:host(.navigation-item-side-menu) .link:focus,:host(.navigation-item-side-menu) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset) !important;padding-right:var(--ic-space-lg);width:auto;border-radius:var(--ic-border-radius-inset) !important}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu-selected) ::slotted(a){transition:box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow)}:host(.navigation-item-side-menu-selected) .link:focus,:host(.navigation-item-side-menu) ::slotted(a.active:focus),:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){margin-left:var(--ic-space-xs) !important;padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child) .link,:host(.navigation-item-top-nav-child) ::slotted(a){height:2.5rem;width:-moz-fit-content;width:fit-content;min-width:9.063rem;color:var(--ic-color-primary-text);display:flex;align-items:center;justify-content:flex-start;padding:0 var(--ic-space-md) !important;text-decoration:none;position:relative;transition:box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow)}:host(.navigation-item-top-nav-child) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important}:host(.navigation-item-top-nav-child) .link:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-top-nav-child) ::slotted(a:focus){z-index:1;outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius-inset);box-shadow:var(--ic-border-focus-inset);transition:border-radius 0s, box-shadow var(--ic-transition-duration-fast)}:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}:host(.navigation-item-side-menu) .link:active:not(:focus){background-color:var(--ic-action-dark-bg-active)}:host(.navigation-item-top-nav-child) .link:active:not(:focus),:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus){outline:var(--ic-hc-focus-outline);background-color:var(--ic-action-dark-bg-active)}:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus){background-color:var(--ic-action-dark-bg-active) !important}:host(.navigation-item-side-menu-selected) *,:host(.navigation-item-top-nav-child-selected) *,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){font-weight:700 !important}:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,:host(.navigation-item-top-nav-child-selected) .link::before,:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{content:"";position:absolute;left:0;width:var(--ic-space-xs);height:2.5rem;margin-right:0.313rem;background-color:var(--ic-action-default);transition:left 0s}:host(.navigation-item-top-nav-child-selected) .link:focus{margin-left:var(--ic-space-xs);margin-right:calc(-1 * var(--ic-space-xs));padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child-selected) .link:focus::before{left:calc(-1 * var(--ic-space-xs));z-index:1}:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{z-index:1}:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before{left:calc(-1 * var(--ic-space-xs))}:host(.navigation-item-side-menu-selected) .link::after{display:none}:host(.navigation-item-side-nav-collapsed) .link{height:100%}:host(.navigation-item-side-nav-collapsed) ::slotted(svg),:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg){margin:auto;pointer-events:none}:host(.navigation-item-side-nav-collapsed) .icon,:host(.navigation-item-side-nav-collapsed-with-label) .icon,:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{align-items:center;padding:0;margin:auto 0;width:-moz-fit-content;width:fit-content;pointer-events:none}:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}:host(.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;padding:var(--ic-space-xs) !important;gap:var(--ic-space-xxs)}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){height:auto !important;gap:0}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block;text-align:center}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link ic-typography{opacity:1}:host(.navigation-item-side-nav-collapsed) svg,:host(.navigation-item-side-nav-collapsed-with-label) svg{display:none}::slotted(svg){fill:var(--ic-theme-text);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}.icon{width:var(--ic-space-xxl);margin-left:calc(-1 * var(--ic-space-md));flex:0 1 0%}.icon>::slotted(*){margin-left:var(--ic-space-md) !important}:host(.navigation-item-side-nav-collapsed) .icon>::slotted(*){margin:auto !important}:host(.navigation-item-side-nav) .link,:host(.navigation-item-side-nav) ::slotted(a){height:var(--navigation-item-height);width:var(--navigation-item-width);justify-content:var(--navigation-item-justify-content);display:flex;gap:var(--ic-space-xs);box-sizing:border-box;color:var(--navigation-item-child-color) !important;text-decoration:none !important;white-space:nowrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a){height:var(--navigation-item-child-height);width:var(--navigation-group-width);color:var(--navigation-item-child-color) !important;display:flex;gap:0.625rem;box-sizing:border-box;min-width:0;transition:box-shadow var(--ic-easing-transition-fast);text-decoration:none !important;white-space:nowrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:focus){box-shadow:var(--ic-border-focus-dark)}:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active{background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:active){background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav) a.link ic-typography,:host(.navigation-item-side-nav.navigation-item-top-nav-child) a.link ic-typography,.navigation-item-side-nav-slotted-text{opacity:var(--navigation-item-label-opacity);transition:opacity var(--ic-easing-transition-slow);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(.navigation-item-side-nav.navigation-item-selected) .link,:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active){box-shadow:inset 0.313rem 0 0 var(--ic-theme-text)}:host(.navigation-item-side-nav.navigation-item-selected) .link::before,:host(.navigation-item-side-nav) ::slotted(a.active)::before{content:"";display:block;position:absolute;top:0;right:0;left:0.313rem;border-radius:0.688rem !important;bottom:0;transition:var(--ic-easing-transition-slow)}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before{box-shadow:var(--ic-border-focus-inset)}:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link{opacity:var(--navigation-item-label-opacity);height:auto}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){min-width:var(--navigation-group-item-min-width);padding:var(--ic-space-xs) !important;height:auto;gap:0}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block}:host(.navigation-item-side-nav.navigation-item-selected) .link::after,:host(.navigation-item-side-nav) ::slotted(a.active)::after{display:none}:host(.navigation-item-side-nav.navigation-item) .link:focus,:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,:host(.navigation-item-side-nav) ::slotted(a.active:focus){margin:0 auto;box-shadow:inset 0.313rem 0 0 var(--ic-theme-text);border-radius:0}:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus){background-color:var(--ic-theme-hover) !important}:host(.navigation-item-page-header).link,:host(.navigation-item-page-header) a,:host(.navigation-item-page-header) ::slotted(a){height:2.75rem !important;color:var(--ic-color-primary-text) !important;transition:all var(--ic-easing-transition-fast) !important;box-shadow:rgba(23 89 188 / 0%) !important}:host(.navigation-item-page-header.navigation-item-selected) .link,:host(.navigation-item-page-header) ::slotted(a.active){box-shadow:inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default)}:host(.navigation-item-page-header) .link:hover,:host(.navigation-item-page-header) ::slotted(.link:hover),:host(.navigation-item-page-header) ::slotted(a:hover),:host(.navigation-item-page-header) .link:hover:not(:focus){background-color:var(--ic-action-default-bg-hover) !important;cursor:pointer}:host(.navigation-item-page-header) .link:focus,:host(.navigation-item-page-header) ::slotted(a:focus){box-shadow:var(--ic-border-focus)}:host(.navigation-item-page-header) .link:active,:host(.navigation-item-page-header) ::slotted(a:active){background-color:var(--ic-action-default-bg-active) !important}:host(.navigation-item-page-header.navigation-item-selected) .link:focus,:host(.navigation-item-page-header) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus),\n inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default)}:host(.navigation-item-page-header.navigation-item-selected.with-transition) .link,:host(.navigation-item-page-header.navigation-item-selected.with-transition) ::slotted(a.active){transition:all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast)}:host(.navigation-item-page-header) ::slotted(a.active)::before,:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,:host(.navigation-item-page-header.navigation-item-selected) .link:focus::before{display:none}';const h=class{constructor(a){t(this,a);this.childBlur=i(this,"childBlur",7);this.navItemClicked=i(this,"navItemClicked",7);this.topNavResizedHandler=t=>{const i=t.detail.size;if(i!==this.deviceSize){this.deviceSize=i;this.inTopNavSideMenu=i<=n.L}};this.sideNavExpandHandler=t=>{const{sideNavExpanded:i,sideNavMobile:e}=t.detail;this.sideNavExpanded=i;this.isSideNavMobile=e};this.handleBlur=t=>{if(t.relatedTarget!==null){const i=t.relatedTarget;if(i.tagName==="IC-NAVIGATION-ITEM"){return}}this.childBlur.emit()};this.handleClick=()=>{this.navItemClicked.emit()};this.isInitialRender=true;this.displayDefaultNavigationItem=(t,i)=>{const a=this.isTopNavChild||this.inTopNavSideMenu?"body":"label";const o="ic-tooltip-navigation-item";const n=this.expandable&&e("div",{class:{svg:true},innerHTML:l});const s=this.el.querySelector('[slot="icon"]')&&e("div",{class:"icon"}," ",e("slot",{name:"icon"})," ");if(t!==""){return e("a",{href:t,class:"link",ref:t=>this.itemEl=t,part:"link","aria-labelledby":o},s,e("ic-typography",{variant:a},i),n)}return e("div",{tabindex:"0",class:"link",ref:t=>this.itemEl=t,"aria-labelledby":o},s,e("ic-typography",{variant:a},i),n)};this.label=undefined;this.href="";this.selected=false;this.expandable=false;this.displayNavigationTooltip=false;this.collapsedIconLabel=false;this.isTopNavChild=false;this.inTopNavSideMenu=false;this.deviceSize=n.XL;this.focusStyle=s();this.navigationType=undefined;this.parentEl=undefined;this.sideNavExpanded=false;this.isSideNavMobile=false}themeChangeHandler(t){const i=t.detail;this.focusStyle=i.mode}async setFocus(){if(this.itemEl){this.itemEl.focus()}}componentWillLoad(){const t=c(this.el);this.navigationType=t.navType;this.parentEl=t.parent;if(this.navigationType==="side"){this.parentEl.addEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.addEventListener("topNavResized",this.topNavResizedHandler)}if(r(this.el)==="IC-NAVIGATION-GROUP"&&this.navigationType==="top"){this.isTopNavChild=true}this.deviceSize=d();if(this.deviceSize<=n.L&&this.navigationType==="top"){this.inTopNavSideMenu=true}this.navigationSlot=this.el.querySelector('[slot="navigation-item"]');if(this.navigationSlot){this.navigationSlot.ariaLabel=this.navigationSlot.textContent.trim()}}componentDidUpdate(){this.isInitialRender=false}disconnectedCallback(){if(this.navigationType==="side"){this.parentEl.removeEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.removeEventListener("topNavResized",this.topNavResizedHandler)}}render(){const{href:t,label:i,inTopNavSideMenu:o,isTopNavChild:n,selected:s,navigationSlot:r}=this;return e(a,{class:{["navigation-item"]:true,["navigation-item-top-nav"]:!o&&this.navigationType==="top",["navigation-item-top-nav-child-selected"]:n&&!o&&s,[this.focusStyle]:!o&&!n||this.navigationType==="side"&&n,["navigation-item-selected"]:!n&&s,["navigation-item-side-menu"]:o,["navigation-item-side-menu-selected"]:o&&s,["navigation-item-top-nav-child"]:n&&!o,["navigation-item-page-header"]:this.navigationType==="page-header",["with-transition"]:!this.isInitialRender,["navigation-item-side-nav"]:this.navigationType==="side",["navigation-item-side-nav-collapsed"]:(!this.sideNavExpanded||this.displayNavigationTooltip)&&this.navigationType==="side",["navigation-item-side-nav-collapsed-with-label"]:!this.sideNavExpanded&&this.navigationType==="side"&&this.collapsedIconLabel&&!this.isSideNavMobile},onBlur:n&&!o?this.handleBlur:null,onClick:this.handleClick,"aria-current":s?"page":null,role:"listitem"},e("ic-tooltip",{label:i||r.textContent,target:"navigation-item",placement:"right",class:{["tooltip-navigation-item"]:true,["tooltip-navigation-item-side-nav-collapsed"]:(!this.sideNavExpanded||this.displayNavigationTooltip)&&this.navigationType==="side",["tooltip-long-label-navigation-item-side-nav-expanded"]:this.el.hasAttribute("[display-navigation-tooltip = 'true']")}},r?e("slot",{name:"navigation-item"}):this.displayDefaultNavigationItem(t,i)))}get el(){return o(this)}};h.style=v;export{h as ic_navigation_item};
2
+ //# sourceMappingURL=p-48f99591.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","src/components/ic-navigation-item/ic-navigation-item.tsx"],"names":["icNavigationItemCss","NavigationItem","this","topNavResizedHandler","ev","newSize","detail","size","deviceSize","inTopNavSideMenu","DEVICE_SIZES","L","sideNavExpandHandler","sideNavExpanded","sideNavMobile","isSideNavMobile","handleBlur","relatedTarget","target","tagName","childBlur","emit","handleClick","navItemClicked","isInitialRender","displayDefaultNavigationItem","href","label","variant","isTopNavChild","tooltipId","ChevronIconComponent","expandable","h","class","svg","innerHTML","chevronIcon","IconComponent","el","querySelector","name","ref","itemEl","part","aria-labelledby","tabindex","XL","getThemeForegroundColor","[object Object]","theme","focusStyle","mode","focus","navParentDetails","getNavItemParentDetails","navigationType","navType","parentEl","parent","addEventListener","getParentElementType","getCurrentDeviceSize","navigationSlot","ariaLabel","textContent","trim","removeEventListener","selected","Host","displayNavigationTooltip","collapsedIconLabel","onBlur","onClick","aria-current","role","placement","hasAttribute"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n:host(:focus-within) {\n z-index: 1;\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-theme-text);\n}\n\nic-typography {\n flex: 1;\n}\n\n:host([expandable].navigation-item) .link,\n:host([expandable].navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n:host(.navigation-item) ::slotted(a) {\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 0.25rem;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-theme-text);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu))\n ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected.dark) .link:focus,\n:host(.navigation-item.dark) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-theme-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n height: 2.5rem;\n width: 100%;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n transition: var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n padding-right: var(--ic-space-lg);\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 2.5rem;\n width: fit-content;\n min-width: 9.063rem;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),\n:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: 2.5rem;\n margin-right: 0.313rem;\n background-color: var(--ic-action-default);\n transition: left 0s;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-theme-text);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n}\n\n.icon > ::slotted(*) {\n margin-left: var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon > ::slotted(*) {\n margin: auto !important;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height);\n width: var(--navigation-item-width);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 0.313rem 0 0 var(--ic-theme-text);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n left: 0.313rem;\n border-radius: 0.688rem !important;\n bottom: 0;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 0.313rem 0 0 var(--ic-theme-text);\n border-radius: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 2.75rem !important;\n color: var(--ic-color-primary-text) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link,\n:host(.navigation-item-page-header) ::slotted(a.active) {\n box-shadow: inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-active) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus),\n inset 0 calc(-1 * var(--ic-space-xxs)) 0 var(--ic-action-default);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Method,\n h,\n Host,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getParentElementType,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @part link - The `<a>` within ic-navigation-item\n */\n\n@Component({\n tag: \"ic-navigation-item\",\n styleUrl: \"ic-navigation-item.css\",\n shadow: true,\n})\nexport class NavigationItem {\n @Element() el: HTMLIcNavigationItemElement;\n\n /**\n * The label of the navigation item.\n */\n @Prop() label: string;\n\n /**\n * The destination of the navigation item.\n */\n @Prop() href: string = \"\";\n\n /**\n * If `true`, the navigation item will be set in a selected state.\n */\n @Prop() selected: boolean = false;\n\n /**\n * @internal If `true`, the navigation item will be expandable.\n */\n @Prop() expandable: boolean = false;\n /**\n * @internal If `true`, the navigation item will be displayed within a tooltip.\n */\n @Prop() displayNavigationTooltip: boolean = false;\n /**\n * @internal If `true`, the icon and label will be displayed when side navigation is collapsed.\n */\n @Prop() collapsedIconLabel: boolean = false;\n\n @State() isTopNavChild: boolean = false;\n @State() inTopNavSideMenu: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() focusStyle = getThemeForegroundColor();\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n @State() sideNavExpanded: boolean = false;\n @State() isSideNavMobile: boolean = false;\n\n private itemEl: HTMLElement;\n private navigationSlot: HTMLElement;\n\n /**\n * @internal - Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal - Emitted when navigation item clicked.\n */\n @Event() navItemClicked: EventEmitter<void>;\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private sideNavExpandHandler = (ev: CustomEvent): void => {\n const { sideNavExpanded, sideNavMobile } = ev.detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n };\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.itemEl) {\n this.itemEl.focus();\n }\n }\n\n private handleBlur = (ev: FocusEvent) => {\n if (ev.relatedTarget !== null) {\n const target = ev.relatedTarget as HTMLElement;\n if (target.tagName === \"IC-NAVIGATION-ITEM\") {\n return;\n }\n }\n this.childBlur.emit();\n };\n\n private handleClick = () => {\n this.navItemClicked.emit();\n };\n\n componentWillLoad(): void {\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n\n if (\n getParentElementType(this.el) === \"IC-NAVIGATION-GROUP\" &&\n this.navigationType === \"top\"\n ) {\n this.isTopNavChild = true;\n }\n\n this.deviceSize = getCurrentDeviceSize();\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel = this.navigationSlot.textContent.trim();\n }\n }\n\n private isInitialRender: boolean = true;\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n private displayDefaultNavigationItem = (\n href: string,\n label: string\n ): HTMLElement => {\n const variant =\n this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const tooltipId = \"ic-tooltip-navigation-item\";\n const ChevronIconComponent = this.expandable && (\n <div class={{ svg: true }} innerHTML={chevronIcon}></div>\n );\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (\n <div class=\"icon\">\n {\" \"}\n <slot name=\"icon\"></slot>{\" \"}\n </div>\n );\n\n if (href !== \"\") {\n return (\n <a\n href={href}\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n part=\"link\"\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </a>\n );\n }\n\n return (\n <div\n tabindex=\"0\"\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n aria-labelledby={tooltipId}\n >\n {IconComponent}\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </div>\n );\n };\n\n render() {\n const {\n href,\n label,\n inTopNavSideMenu,\n isTopNavChild,\n selected,\n navigationSlot,\n } = this;\n\n return (\n <Host\n class={{\n [\"navigation-item\"]: true,\n [\"navigation-item-top-nav\"]:\n !inTopNavSideMenu && this.navigationType === \"top\",\n [\"navigation-item-top-nav-child-selected\"]:\n isTopNavChild && !inTopNavSideMenu && selected,\n [this.focusStyle]:\n (!inTopNavSideMenu && !isTopNavChild) ||\n (this.navigationType === \"side\" && isTopNavChild),\n [\"navigation-item-selected\"]: !isTopNavChild && selected,\n [\"navigation-item-side-menu\"]: inTopNavSideMenu,\n [\"navigation-item-side-menu-selected\"]: inTopNavSideMenu && selected,\n [\"navigation-item-top-nav-child\"]: isTopNavChild && !inTopNavSideMenu,\n [\"navigation-item-page-header\"]:\n this.navigationType === \"page-header\",\n [\"with-transition\"]: !this.isInitialRender,\n [\"navigation-item-side-nav\"]: this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed-with-label\"]:\n !this.sideNavExpanded &&\n this.navigationType === \"side\" &&\n this.collapsedIconLabel &&\n !this.isSideNavMobile,\n }}\n onBlur={isTopNavChild && !inTopNavSideMenu ? this.handleBlur : null}\n onClick={this.handleClick}\n aria-current={selected ? \"page\" : null}\n role=\"listitem\"\n >\n {/* Tooltip enabled by applying navigation-item-side-nav-collapsed class to host */}\n <ic-tooltip\n label={label || navigationSlot.textContent}\n target=\"navigation-item\"\n placement=\"right\"\n class={{\n [\"tooltip-navigation-item\"]: true,\n [\"tooltip-navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"tooltip-long-label-navigation-item-side-nav-expanded\"]:\n this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n }}\n >\n {navigationSlot ? (\n <slot name=\"navigation-item\"></slot>\n ) : (\n this.displayDefaultNavigationItem(href, label)\n )}\n </ic-tooltip>\n </Host>\n );\n }\n}\n"]}