@ukic/web-components 2.0.1 → 2.1.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (443) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-d0eeccf0.js → helpers-8bc3b6d2.js} +83 -38
  4. package/dist/cjs/helpers-8bc3b6d2.js.map +1 -0
  5. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +56 -17
  13. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card.cjs.entry.js +16 -3
  15. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  18. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-search-bar.cjs.entry.js +27 -13
  49. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-select.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-step.cjs.entry.js +1 -9
  59. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-tab-panel.cjs.entry.js +0 -4
  66. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-tab.cjs.entry.js +1 -5
  68. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-text-field.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-theme.cjs.entry.js +19 -11
  72. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  75. package/dist/cjs/index-3ef30d9d.js.map +1 -1
  76. package/dist/cjs/loader.cjs.js +2 -2
  77. package/dist/cjs/loader.cjs.js.map +1 -1
  78. package/dist/cjs/types-3eb02246.js.map +1 -1
  79. package/dist/collection/collection-manifest.json +2 -2
  80. package/dist/collection/components/ic-alert/ic-alert.css +10 -4
  81. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +6 -0
  82. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +7 -1
  83. package/dist/collection/components/ic-button/ic-button.css +12 -1
  84. package/dist/collection/components/ic-card/ic-card.css +7 -2
  85. package/dist/collection/components/ic-card/ic-card.js +23 -2
  86. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  87. package/dist/collection/components/ic-checkbox/ic-checkbox.css +37 -0
  88. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -3
  89. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  90. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +6 -0
  91. package/dist/collection/components/ic-data-entity/ic-data-entity.css +6 -0
  92. package/dist/collection/components/ic-data-row/ic-data-row.css +7 -1
  93. package/dist/collection/components/ic-footer/ic-footer.css +6 -0
  94. package/dist/collection/components/ic-footer-link/ic-footer-link.css +18 -2
  95. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +2 -2
  96. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +19 -0
  97. package/dist/collection/components/ic-link/ic-link.css +11 -2
  98. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +56 -101
  99. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +53 -12
  100. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  101. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  102. package/dist/collection/components/ic-menu/ic-menu.css +9 -2
  103. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +6 -2
  104. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +5 -5
  105. package/dist/collection/components/ic-radio-option/ic-radio-option.css +29 -10
  106. package/dist/collection/components/ic-search-bar/ic-search-bar.js +26 -12
  107. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  108. package/dist/collection/components/ic-select/ic-select.css +1 -1
  109. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +13 -2
  110. package/dist/collection/components/ic-skeleton/ic-skeleton.css +8 -0
  111. package/dist/collection/components/ic-status-tag/ic-status-tag.css +8 -0
  112. package/dist/collection/components/ic-step/ic-step.css +36 -1
  113. package/dist/collection/components/ic-step/ic-step.js +4 -11
  114. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  115. package/dist/collection/components/ic-switch/ic-switch.css +30 -0
  116. package/dist/collection/components/ic-tab/ic-tab.css +12 -2
  117. package/dist/collection/components/ic-tab/ic-tab.js +2 -6
  118. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  119. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  120. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -6
  121. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  122. package/dist/collection/components/ic-text-field/ic-text-field.css +11 -0
  123. package/dist/collection/components/ic-theme/ic-theme.js +21 -11
  124. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  125. package/dist/collection/components/ic-tooltip/ic-tooltip.css +6 -0
  126. package/dist/collection/components/ic-tooltip/ic-tooltip.js +4 -2
  127. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  128. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +92 -79
  129. package/dist/collection/utils/constants.js +9 -0
  130. package/dist/collection/utils/constants.js.map +1 -1
  131. package/dist/collection/utils/helpers.js +68 -35
  132. package/dist/collection/utils/helpers.js.map +1 -1
  133. package/dist/collection/utils/types.js.map +1 -1
  134. package/dist/components/helpers.js +78 -36
  135. package/dist/components/helpers.js.map +1 -1
  136. package/dist/components/ic-alert.js +1 -1
  137. package/dist/components/ic-alert.js.map +1 -1
  138. package/dist/components/ic-back-to-top.js +1 -1
  139. package/dist/components/ic-back-to-top.js.map +1 -1
  140. package/dist/components/ic-breadcrumb2.js +1 -1
  141. package/dist/components/ic-breadcrumb2.js.map +1 -1
  142. package/dist/components/ic-button2.js +2 -2
  143. package/dist/components/ic-button2.js.map +1 -1
  144. package/dist/components/ic-card.js +19 -4
  145. package/dist/components/ic-card.js.map +1 -1
  146. package/dist/components/ic-checkbox-group.js +1 -1
  147. package/dist/components/ic-checkbox.js +5 -4
  148. package/dist/components/ic-checkbox.js.map +1 -1
  149. package/dist/components/ic-classification-banner.js +1 -1
  150. package/dist/components/ic-classification-banner.js.map +1 -1
  151. package/dist/components/ic-data-entity.js +1 -1
  152. package/dist/components/ic-data-entity.js.map +1 -1
  153. package/dist/components/ic-data-row.js +1 -1
  154. package/dist/components/ic-data-row.js.map +1 -1
  155. package/dist/components/ic-divider2.js +1 -1
  156. package/dist/components/ic-footer-link-group.js +2 -2
  157. package/dist/components/ic-footer-link-group.js.map +1 -1
  158. package/dist/components/ic-footer-link.js +2 -2
  159. package/dist/components/ic-footer-link.js.map +1 -1
  160. package/dist/components/ic-footer.js +2 -2
  161. package/dist/components/ic-footer.js.map +1 -1
  162. package/dist/components/ic-hero.js +1 -1
  163. package/dist/components/ic-input-component-container2.js +1 -1
  164. package/dist/components/ic-input-component-container2.js.map +1 -1
  165. package/dist/components/ic-input-label2.js +1 -1
  166. package/dist/components/ic-input-validation2.js +1 -1
  167. package/dist/components/ic-link2.js +2 -2
  168. package/dist/components/ic-link2.js.map +1 -1
  169. package/dist/components/ic-loading-indicator2.js +53 -14
  170. package/dist/components/ic-loading-indicator2.js.map +1 -1
  171. package/dist/components/ic-menu2.js +1 -1
  172. package/dist/components/ic-menu2.js.map +1 -1
  173. package/dist/components/ic-navigation-button.js +1 -1
  174. package/dist/components/ic-navigation-group.js +2 -2
  175. package/dist/components/ic-navigation-group.js.map +1 -1
  176. package/dist/components/ic-navigation-item.js +2 -2
  177. package/dist/components/ic-navigation-item.js.map +1 -1
  178. package/dist/components/ic-navigation-menu2.js +1 -1
  179. package/dist/components/ic-radio-group.js +1 -1
  180. package/dist/components/ic-radio-option.js +2 -2
  181. package/dist/components/ic-radio-option.js.map +1 -1
  182. package/dist/components/ic-search-bar.js +27 -13
  183. package/dist/components/ic-search-bar.js.map +1 -1
  184. package/dist/components/ic-select.js +2 -2
  185. package/dist/components/ic-select.js.map +1 -1
  186. package/dist/components/ic-side-navigation.js +2 -2
  187. package/dist/components/ic-side-navigation.js.map +1 -1
  188. package/dist/components/ic-skeleton.js +1 -1
  189. package/dist/components/ic-skeleton.js.map +1 -1
  190. package/dist/components/ic-status-tag.js +1 -1
  191. package/dist/components/ic-status-tag.js.map +1 -1
  192. package/dist/components/ic-step.js +1 -8
  193. package/dist/components/ic-step.js.map +1 -1
  194. package/dist/components/ic-switch.js +2 -2
  195. package/dist/components/ic-switch.js.map +1 -1
  196. package/dist/components/ic-tab-group.js +2 -2
  197. package/dist/components/ic-tab-group.js.map +1 -1
  198. package/dist/components/ic-tab-panel.js +0 -4
  199. package/dist/components/ic-tab-panel.js.map +1 -1
  200. package/dist/components/ic-tab.js +1 -5
  201. package/dist/components/ic-tab.js.map +1 -1
  202. package/dist/components/ic-text-field2.js +2 -2
  203. package/dist/components/ic-text-field2.js.map +1 -1
  204. package/dist/components/ic-theme.js +19 -11
  205. package/dist/components/ic-theme.js.map +1 -1
  206. package/dist/components/ic-tooltip2.js +5 -3
  207. package/dist/components/ic-tooltip2.js.map +1 -1
  208. package/dist/components/ic-top-navigation.js +2 -2
  209. package/dist/components/ic-top-navigation.js.map +1 -1
  210. package/dist/components/types.js.map +1 -1
  211. package/dist/core/core.css +12 -12
  212. package/dist/core/core.esm.js +1 -1
  213. package/dist/core/core.esm.js.map +1 -1
  214. package/dist/core/{p-9c1f2861.entry.js → p-0118400b.entry.js} +2 -2
  215. package/dist/core/p-0118400b.entry.js.map +1 -0
  216. package/dist/core/{p-0992a2ee.entry.js → p-02799e26.entry.js} +2 -2
  217. package/dist/core/p-02799e26.entry.js.map +1 -0
  218. package/dist/core/{p-972f4e69.entry.js → p-07cd789d.entry.js} +2 -2
  219. package/dist/core/{p-972f4e69.entry.js.map → p-07cd789d.entry.js.map} +1 -1
  220. package/dist/core/{p-48029498.entry.js → p-0b125f26.entry.js} +2 -2
  221. package/dist/core/{p-48029498.entry.js.map → p-0b125f26.entry.js.map} +0 -0
  222. package/dist/core/{p-3c6defd7.entry.js → p-10da19d2.entry.js} +2 -2
  223. package/dist/core/{p-3c6defd7.entry.js.map → p-10da19d2.entry.js.map} +0 -0
  224. package/dist/core/{p-6009c5bc.entry.js → p-1337db5e.entry.js} +2 -2
  225. package/dist/core/p-1337db5e.entry.js.map +1 -0
  226. package/dist/core/p-1721bcf3.entry.js +2 -0
  227. package/dist/core/p-1721bcf3.entry.js.map +1 -0
  228. package/dist/core/p-23831891.js +2 -0
  229. package/dist/core/p-23831891.js.map +1 -0
  230. package/dist/core/p-272c7abd.entry.js +2 -0
  231. package/dist/core/p-272c7abd.entry.js.map +1 -0
  232. package/dist/core/{p-ee3a9fd0.entry.js → p-2f114521.entry.js} +2 -2
  233. package/dist/core/{p-ee3a9fd0.entry.js.map → p-2f114521.entry.js.map} +0 -0
  234. package/dist/core/{p-54b77947.entry.js → p-31a8595f.entry.js} +2 -2
  235. package/dist/core/{p-54b77947.entry.js.map → p-31a8595f.entry.js.map} +0 -0
  236. package/dist/core/p-33a45ace.entry.js +2 -0
  237. package/dist/core/p-33a45ace.entry.js.map +1 -0
  238. package/dist/core/p-347ec49e.entry.js +2 -0
  239. package/dist/core/p-347ec49e.entry.js.map +1 -0
  240. package/dist/core/p-39ae284e.entry.js +2 -0
  241. package/dist/core/p-39ae284e.entry.js.map +1 -0
  242. package/dist/core/{p-bf4ddf33.entry.js → p-558552f8.entry.js} +2 -2
  243. package/dist/core/p-558552f8.entry.js.map +1 -0
  244. package/dist/core/p-5e261268.entry.js +2 -0
  245. package/dist/core/p-5e261268.entry.js.map +1 -0
  246. package/dist/core/p-60ffb73e.entry.js +2 -0
  247. package/dist/core/p-60ffb73e.entry.js.map +1 -0
  248. package/dist/core/p-69650186.entry.js +2 -0
  249. package/dist/core/p-69650186.entry.js.map +1 -0
  250. package/dist/core/{p-4b6a55bb.entry.js → p-6b34d98f.entry.js} +2 -2
  251. package/dist/core/p-6b34d98f.entry.js.map +1 -0
  252. package/dist/core/p-6f57b13c.js.map +1 -1
  253. package/dist/core/{p-a183353c.entry.js → p-6f6bd657.entry.js} +2 -2
  254. package/dist/core/{p-a183353c.entry.js.map → p-6f6bd657.entry.js.map} +0 -0
  255. package/dist/core/p-7093d214.entry.js +2 -0
  256. package/dist/core/p-7093d214.entry.js.map +1 -0
  257. package/dist/core/p-7b11e1dc.entry.js +2 -0
  258. package/dist/core/p-7b11e1dc.entry.js.map +1 -0
  259. package/dist/core/p-7b39977f.entry.js +2 -0
  260. package/dist/core/p-7b39977f.entry.js.map +1 -0
  261. package/dist/core/p-7f632414.entry.js +2 -0
  262. package/dist/core/p-7f632414.entry.js.map +1 -0
  263. package/dist/core/{p-59041cfc.entry.js → p-898607d0.entry.js} +2 -2
  264. package/dist/core/{p-59041cfc.entry.js.map → p-898607d0.entry.js.map} +0 -0
  265. package/dist/core/{p-c023c49c.entry.js → p-8ddeb574.entry.js} +2 -2
  266. package/dist/core/p-8ddeb574.entry.js.map +1 -0
  267. package/dist/core/{p-037273aa.entry.js → p-9cd04875.entry.js} +2 -2
  268. package/dist/core/{p-037273aa.entry.js.map → p-9cd04875.entry.js.map} +0 -0
  269. package/dist/core/{p-17d0d631.entry.js → p-ac43322e.entry.js} +2 -2
  270. package/dist/core/p-ac43322e.entry.js.map +1 -0
  271. package/dist/core/{p-eeff0f89.entry.js → p-ae81dffa.entry.js} +2 -2
  272. package/dist/core/p-ae81dffa.entry.js.map +1 -0
  273. package/dist/core/{p-1b619302.entry.js → p-b3dec76d.entry.js} +2 -2
  274. package/dist/core/{p-1b619302.entry.js.map → p-b3dec76d.entry.js.map} +0 -0
  275. package/dist/core/p-b5a988c0.entry.js +2 -0
  276. package/dist/core/p-b5a988c0.entry.js.map +1 -0
  277. package/dist/core/{p-0d63bfe4.entry.js → p-c4d3c18c.entry.js} +2 -2
  278. package/dist/core/{p-0d63bfe4.entry.js.map → p-c4d3c18c.entry.js.map} +0 -0
  279. package/dist/core/{p-9a3d6bca.entry.js → p-c6dd4f47.entry.js} +2 -2
  280. package/dist/core/p-c6dd4f47.entry.js.map +1 -0
  281. package/dist/core/p-cadb531f.entry.js +2 -0
  282. package/dist/core/p-cadb531f.entry.js.map +1 -0
  283. package/dist/core/p-cc83692e.entry.js +2 -0
  284. package/dist/core/p-cc83692e.entry.js.map +1 -0
  285. package/dist/core/{p-9db8edb7.entry.js → p-dd3c3e3c.entry.js} +2 -2
  286. package/dist/core/{p-9db8edb7.entry.js.map → p-dd3c3e3c.entry.js.map} +0 -0
  287. package/dist/core/p-df5caf13.entry.js +2 -0
  288. package/dist/core/p-df5caf13.entry.js.map +1 -0
  289. package/dist/core/p-e106305b.entry.js +2 -0
  290. package/dist/core/p-e106305b.entry.js.map +1 -0
  291. package/dist/core/p-e590f1d2.entry.js +2 -0
  292. package/dist/core/p-e590f1d2.entry.js.map +1 -0
  293. package/dist/core/{p-eb33ece2.entry.js → p-e93e9aa3.entry.js} +2 -2
  294. package/dist/core/p-e93e9aa3.entry.js.map +1 -0
  295. package/dist/core/p-ecfb2e6b.entry.js +2 -0
  296. package/dist/core/p-ecfb2e6b.entry.js.map +1 -0
  297. package/dist/core/p-f9370be6.js.map +1 -1
  298. package/dist/esm/core.js +2 -2
  299. package/dist/esm/core.js.map +1 -1
  300. package/dist/esm/{helpers-e090fe7e.js → helpers-3d41833c.js} +79 -37
  301. package/dist/esm/helpers-3d41833c.js.map +1 -0
  302. package/dist/esm/ic-alert.entry.js +2 -2
  303. package/dist/esm/ic-alert.entry.js.map +1 -1
  304. package/dist/esm/ic-back-to-top.entry.js +2 -2
  305. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  306. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  307. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  308. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  309. package/dist/esm/ic-button_3.entry.js +56 -17
  310. package/dist/esm/ic-button_3.entry.js.map +1 -1
  311. package/dist/esm/ic-card.entry.js +16 -3
  312. package/dist/esm/ic-card.entry.js.map +1 -1
  313. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  314. package/dist/esm/ic-checkbox.entry.js +5 -4
  315. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  316. package/dist/esm/ic-classification-banner.entry.js +1 -1
  317. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  318. package/dist/esm/ic-data-entity.entry.js +1 -1
  319. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  320. package/dist/esm/ic-data-row.entry.js +2 -2
  321. package/dist/esm/ic-data-row.entry.js.map +1 -1
  322. package/dist/esm/ic-divider.entry.js +1 -1
  323. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  324. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  325. package/dist/esm/ic-footer-link.entry.js +2 -2
  326. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  327. package/dist/esm/ic-footer.entry.js +2 -2
  328. package/dist/esm/ic-footer.entry.js.map +1 -1
  329. package/dist/esm/ic-hero.entry.js +1 -1
  330. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  331. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  332. package/dist/esm/ic-input-label_2.entry.js +1 -1
  333. package/dist/esm/ic-link.entry.js +2 -2
  334. package/dist/esm/ic-link.entry.js.map +1 -1
  335. package/dist/esm/ic-navigation-button.entry.js +1 -1
  336. package/dist/esm/ic-navigation-group.entry.js +2 -2
  337. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  338. package/dist/esm/ic-navigation-item.entry.js +2 -2
  339. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  340. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  341. package/dist/esm/ic-page-header.entry.js +1 -1
  342. package/dist/esm/ic-radio-group.entry.js +1 -1
  343. package/dist/esm/ic-radio-option.entry.js +2 -2
  344. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  345. package/dist/esm/ic-search-bar.entry.js +27 -13
  346. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  347. package/dist/esm/ic-select.entry.js +2 -2
  348. package/dist/esm/ic-select.entry.js.map +1 -1
  349. package/dist/esm/ic-side-navigation.entry.js +2 -2
  350. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  351. package/dist/esm/ic-skeleton.entry.js +1 -1
  352. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  353. package/dist/esm/ic-status-tag.entry.js +2 -2
  354. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  355. package/dist/esm/ic-step.entry.js +1 -9
  356. package/dist/esm/ic-step.entry.js.map +1 -1
  357. package/dist/esm/ic-stepper.entry.js +1 -1
  358. package/dist/esm/ic-switch.entry.js +2 -2
  359. package/dist/esm/ic-switch.entry.js.map +1 -1
  360. package/dist/esm/ic-tab-group.entry.js +2 -2
  361. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  362. package/dist/esm/ic-tab-panel.entry.js +0 -4
  363. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  364. package/dist/esm/ic-tab.entry.js +1 -5
  365. package/dist/esm/ic-tab.entry.js.map +1 -1
  366. package/dist/esm/ic-text-field.entry.js +2 -2
  367. package/dist/esm/ic-text-field.entry.js.map +1 -1
  368. package/dist/esm/ic-theme.entry.js +19 -11
  369. package/dist/esm/ic-theme.entry.js.map +1 -1
  370. package/dist/esm/ic-top-navigation.entry.js +2 -2
  371. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  372. package/dist/esm/index-1500de1f.js.map +1 -1
  373. package/dist/esm/loader.js +2 -2
  374. package/dist/esm/loader.js.map +1 -1
  375. package/dist/esm/types-dd515332.js.map +1 -1
  376. package/dist/types/components/ic-card/ic-card.d.ts +4 -0
  377. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -1
  378. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +8 -1
  379. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +5 -0
  380. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +2 -0
  381. package/dist/types/components/ic-step/ic-step.d.ts +2 -3
  382. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -2
  383. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +1 -2
  384. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -1
  385. package/dist/types/components.d.ts +6 -6
  386. package/dist/types/utils/constants.d.ts +2 -0
  387. package/dist/types/utils/helpers.d.ts +15 -3
  388. package/dist/types/utils/types.d.ts +3 -0
  389. package/hydrate/index.d.ts +1 -1
  390. package/hydrate/index.js +234 -126
  391. package/package.json +8 -5
  392. package/dist/cjs/helpers-d0eeccf0.js.map +0 -1
  393. package/dist/core/p-0992a2ee.entry.js.map +0 -1
  394. package/dist/core/p-0e1ae2a3.entry.js +0 -2
  395. package/dist/core/p-0e1ae2a3.entry.js.map +0 -1
  396. package/dist/core/p-155114db.entry.js +0 -2
  397. package/dist/core/p-155114db.entry.js.map +0 -1
  398. package/dist/core/p-16ab85c2.entry.js +0 -2
  399. package/dist/core/p-16ab85c2.entry.js.map +0 -1
  400. package/dist/core/p-17d0d631.entry.js.map +0 -1
  401. package/dist/core/p-2f29e74d.entry.js +0 -2
  402. package/dist/core/p-2f29e74d.entry.js.map +0 -1
  403. package/dist/core/p-4b6a55bb.entry.js.map +0 -1
  404. package/dist/core/p-6009c5bc.entry.js.map +0 -1
  405. package/dist/core/p-7612cfb0.entry.js +0 -2
  406. package/dist/core/p-7612cfb0.entry.js.map +0 -1
  407. package/dist/core/p-7dbb637f.entry.js +0 -2
  408. package/dist/core/p-7dbb637f.entry.js.map +0 -1
  409. package/dist/core/p-89d46b9b.entry.js +0 -2
  410. package/dist/core/p-89d46b9b.entry.js.map +0 -1
  411. package/dist/core/p-9a3d6bca.entry.js.map +0 -1
  412. package/dist/core/p-9c1f2861.entry.js.map +0 -1
  413. package/dist/core/p-a23e9d8a.entry.js +0 -2
  414. package/dist/core/p-a23e9d8a.entry.js.map +0 -1
  415. package/dist/core/p-aad5da60.entry.js +0 -2
  416. package/dist/core/p-aad5da60.entry.js.map +0 -1
  417. package/dist/core/p-aad76be7.entry.js +0 -2
  418. package/dist/core/p-aad76be7.entry.js.map +0 -1
  419. package/dist/core/p-ac76594c.entry.js +0 -2
  420. package/dist/core/p-ac76594c.entry.js.map +0 -1
  421. package/dist/core/p-b596f73d.entry.js +0 -2
  422. package/dist/core/p-b596f73d.entry.js.map +0 -1
  423. package/dist/core/p-b875ec01.entry.js +0 -2
  424. package/dist/core/p-b875ec01.entry.js.map +0 -1
  425. package/dist/core/p-bf4ddf33.entry.js.map +0 -1
  426. package/dist/core/p-c023c49c.entry.js.map +0 -1
  427. package/dist/core/p-d4a1734e.entry.js +0 -2
  428. package/dist/core/p-d4a1734e.entry.js.map +0 -1
  429. package/dist/core/p-d61c2983.entry.js +0 -2
  430. package/dist/core/p-d61c2983.entry.js.map +0 -1
  431. package/dist/core/p-dd36d23a.entry.js +0 -2
  432. package/dist/core/p-dd36d23a.entry.js.map +0 -1
  433. package/dist/core/p-eb0f09f4.entry.js +0 -2
  434. package/dist/core/p-eb0f09f4.entry.js.map +0 -1
  435. package/dist/core/p-eb33ece2.entry.js.map +0 -1
  436. package/dist/core/p-eeff0f89.entry.js.map +0 -1
  437. package/dist/core/p-f228c232.js +0 -2
  438. package/dist/core/p-f228c232.js.map +0 -1
  439. package/dist/core/p-f7e7d4f5.entry.js +0 -2
  440. package/dist/core/p-f7e7d4f5.entry.js.map +0 -1
  441. package/dist/core/p-ffc4cae2.entry.js +0 -2
  442. package/dist/core/p-ffc4cae2.entry.js.map +0 -1
  443. package/dist/esm/helpers-e090fe7e.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","src/components/ic-top-navigation/ic-top-navigation.tsx"],"names":["icTopNavigationCss","TopNavigation","this","hasAppIcon","hasNavigation","hasIconButtons","hasSearchSlotContent","searchBar","initialiseSearchBar","slot","getSlot","el","tagName","querySelector","hideLabel","emitTopNavResized","size","event","CustomEvent","detail","dispatchEvent","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClick","searchButtonClickHandler","toggleSearchBar","resizeObserver","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","L","mobileSearchBarVisible","document","activeElement","undefined","setAttribute","removeAttribute","setTimeout","setFocus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","getThemeForegroundColor","[object Object]","newValue","oldValue","onComponentPropUndefinedChange","menuBtn","shadowRoot","ev","searchValue","value","theme","foregroundColor","mode","mobileSearchButtonEl","updateAriaLabel","hasFullWidthSearchBar","fullWidth","show","navMenuVisible","icNavigationMenuOpened","emit","icNavigationMenuClosed","isSlotUsed","checkResizeObserver","onComponentRequiredPropUndefined","prop","appTitle","propName","disconnect","hasMenuContent","status","version","searchButtonSize","S","appTitleVariant","hasTitle","mobileSearchButtonTitle","menuSize","h","Host","class","IcThemeForegroundEnum","Dark","aligned","full-height","role","href","aria-hidden","name","variant","aria-label","id","ref","onMouseDown","appearance","onClick","xmlns","height","viewBox","width","fill","d","aria-labelledby","aria-expanded","menuOpen","aria-haspopup","inline"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n color: var(--ic-theme-text);\n width: 100%;\n position: relative;\n}\n\n:host .top-navigation {\n background-color: var(--ic-theme-primary);\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n margin-left: calc(-1 * var(--ic-space-xxs));\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-theme-text);\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: none;\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-keyline-lighten);\n padding-left: var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.navigation-tabs {\n margin-top: -1px;\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.app-title {\n padding-right: var(--ic-space-lg);\n}\n\n:host .app-status {\n border-radius: 80px;\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host(.dark) .app-status {\n background-color: var(--ic-theme-text);\n color: var(--ic-color-white-text);\n}\n\n:host .app-version {\n border-radius: 16px;\n background-color: var(--ic-theme-active);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n}\n\n.app-status-text,\n.app-version-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 96px;\n}\n\nslot[name=\"app-icon\"]::slotted(svg) {\n fill: var(--ic-theme-text);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-theme-text);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n flex: 1 auto;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 44px;\n}\n\n:host([content-aligned=\"left\"]) .app-details-container {\n flex-basis: 1;\n}\n\n:host([content-aligned=\"left\"]) .app-details-container,\n:host([content-aligned=\"left\"]) .nav-panel-container,\n:host([content-aligned=\"center\"]) .nav-panel-container,\n:host([content-aligned=\"left\"]) .search-menu-container,\n:host([content-aligned=\"center\"]) .search-menu-container {\n justify-content: flex-start;\n}\n\n:host([content-aligned=\"center\"]) .app-details-container {\n justify-content: flex-end;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n\n :host([content-aligned=\"center\"]) .top-navigation {\n display: flex;\n justify-content: center;\n }\n\n :host([content-aligned=\"left\"]) .top-navigation {\n display: flex;\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding-left: var(--ic-space-md);\n }\n\n /* medium */\n @media screen and (max-width: 992px) {\n :host .nav-panel-container,\n :host .app-status,\n :host .app-version {\n display: none;\n }\n\n :host .title-link {\n margin-right: var(--ic-space-xs);\n }\n\n .search-menu-container {\n max-width: 160px;\n }\n\n .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-keyline-darken);\n height: 64px;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n }\n\n :host([content-aligned=\"left\"]) .app-details-container,\n :host([content-aligned=\"left\"]) .search-menu-container,\n :host([content-aligned=\"center\"]) .search-menu-container,\n :host([content-aligned=\"center\"]) .app-details-container {\n justify-content: flex-start;\n }\n }\n\n /* x small */\n @media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n hyphens: auto;\n }\n\n .top-panel-container {\n min-height: 40px;\n }\n\n .searchbox-inline {\n display: none;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 56px;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n\n :host([content-aligned=\"left\"]) .app-details-container,\n :host([content-aligned=\"left\"]) .search-menu-container,\n :host([content-aligned=\"center\"]) .app-details-container,\n :host([content-aligned=\"center\"]) .search-menu-container {\n justify-content: flex-start;\n }\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcTheme,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title.\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n @Element() el: HTMLIcTopNavigationElement;\n\n /**\n * Title to display\n */\n @Prop() appTitle!: string;\n\n /**\n * The url to navigate to when title is clicked\n */\n @Prop() href: string = \"/\";\n\n /**\n * Version info to display\n */\n @Prop() version: string = \"\";\n\n /**\n * Status info to display\n */\n @Prop() status: string = \"\";\n\n /**\n * The alignment of the top nav content\n */\n @Prop() contentAligned: IcAlignment = \"full-width\";\n\n /**\n * If true, the flyout navigation menu on small devices will be contained by the parent element\n */\n @Prop() inline: boolean = false;\n\n @State() menuOpen: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() mobileSearchBarVisible: boolean = false;\n @State() navMenuVisible: boolean = false;\n @State() searchValue: string = \"\";\n @State() mobileSearchHiddenOnBlur: boolean = false;\n @State() searchButtonClick: boolean = false;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() hasFullWidthSearchBar: boolean = false;\n\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once gatbsy hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n private hasAppIcon: boolean = false;\n private hasNavigation: boolean = false;\n private hasIconButtons: boolean = false;\n private hasSearchSlotContent: boolean = false;\n private searchBar: HTMLIcSearchBarElement = null;\n private mobileSearchButtonEl: HTMLIcButtonElement;\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n const menuBtn = this.el.shadowRoot.querySelector(\n \"#menu-button\"\n ) as HTMLIcButtonElement;\n menuBtn.setFocus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler(ev: CustomEvent): void {\n if (ev.detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = ev.detail.value;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler(ev: CustomEvent): void {\n this.searchValue = ev.detail.value;\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if (slot && slot.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot && slot.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\n \"ic-search-bar\"\n ) as HTMLIcSearchBarElement;\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n\n private toggleSearchBar(): void {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (this.searchBar !== null) {\n if (this.mobileSearchBarVisible) {\n this.mobileSearchButtonEl.updateAriaLabel(\"Hide search\");\n this.hasFullWidthSearchBar = true;\n this.searchBar.fullWidth = true;\n setTimeout(() => {\n this.searchBar.setFocus();\n }, 100);\n } else {\n this.mobileSearchButtonEl.updateAriaLabel(\"Show search\");\n this.hasFullWidthSearchBar = false;\n this.searchBar.fullWidth = false;\n }\n }\n }\n\n private emitTopNavResized = (size: number): void => {\n const event = new CustomEvent(\"topNavResized\", { detail: { size: size } });\n this.el.dispatchEvent(event);\n };\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu(show: boolean): void {\n this.navMenuVisible = show;\n if (show) {\n this.icNavigationMenuOpened.emit();\n } else {\n this.icNavigationMenuClosed.emit();\n }\n }\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserver: ResizeObserver = null;\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > DEVICE_SIZES.L) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.emitTopNavResized(currSize);\n if (\n document.activeElement !== null &&\n document.activeElement !== undefined &&\n document.activeElement.tagName === \"IC-SEARCH-BAR\"\n ) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar.setFocus();\n }, 100);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n componentWillLoad(): void {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentWillRender(): void {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const hasMenuContent =\n this.hasNavigation ||\n this.hasIconButtons ||\n this.status !== \"\" ||\n this.version !== \"\";\n\n const searchButtonSize =\n this.deviceSize <= DEVICE_SIZES.S ? \"default\" : \"large\";\n\n let appTitleVariant: IcTypographyVariants = \"h3\";\n\n const hasTitle = this.appTitle !== \"\" && this.appTitle !== undefined;\n\n if (this.deviceSize <= DEVICE_SIZES.L) {\n appTitleVariant = \"h4\";\n if (this.deviceSize <= DEVICE_SIZES.S) {\n appTitleVariant = \"subtitle-small\";\n }\n }\n\n const mobileSearchButtonTitle = this.mobileSearchBarVisible\n ? \"Hide search\"\n : \"Show search\";\n const menuSize = this.deviceSize <= DEVICE_SIZES.S ? \"small\" : \"default\";\n\n return (\n <Host\n class={{\n [\"fullwidth-searchbar\"]: this.hasFullWidthSearchBar,\n [IcThemeForegroundEnum.Dark]:\n this.foregroundColor === IcThemeForegroundEnum.Dark,\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned=\"full-width\" full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {hasTitle && (\n <a class=\"title-link\" href={this.href}>\n {this.hasAppIcon && (\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\" />\n </div>\n )}\n <ic-typography variant={appTitleVariant}>\n <h1>{this.appTitle}</h1>\n </ic-typography>\n </a>\n )}\n {this.status !== \"\" && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {this.status}\n </ic-typography>\n </div>\n )}\n {this.version !== \"\" && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {this.version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(this.hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {this.deviceSize > DEVICE_SIZES.L && (\n <slot name=\"search\"></slot>\n )}\n\n {this.hasSearchSlotContent &&\n this.deviceSize <= DEVICE_SIZES.L && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={this.searchButtonMouseDownHandler}\n variant=\"icon\"\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n appearance={this.foregroundColor}\n onClick={this.searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\" slot=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n\n {this.hasIconButtons && this.deviceSize > DEVICE_SIZES.L && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {hasMenuContent && this.deviceSize <= DEVICE_SIZES.L && (\n <div class=\"menu-button-container\">\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n aria-hidden={\n !this.hasNavigation || this.navMenuVisible\n ? \"true\"\n : \"false\"\n }\n >\n <ic-button\n id=\"menu-button\"\n appearance={this.foregroundColor}\n variant=\"secondary\"\n aria-expanded={this.menuOpen ? \"true\" : \"false\"}\n aria-haspopup=\"true\"\n aria-label={`Open ${\n this.hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={this.menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n\n {this.mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {this.hasNavigation && this.deviceSize > DEVICE_SIZES.L && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main navigation\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ul class=\"navigation-item-list\">\n <slot name=\"navigation\"></slot>\n </ul>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {this.navMenuVisible && (\n <ic-navigation-menu\n version={this.version}\n status={this.status}\n class={{\n [\"inline\"]: this.inline,\n }}\n >\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as a}from"./p-f9370be6.js";import{F as r,l as n,m as s,a as c}from"./p-f228c232.js";import{I as l}from"./p-6f57b13c.js";import{c as d}from"./p-ec26fc38.js";const u='/*! 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:inline-block;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:14px;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:100px;display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:none}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:1px solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:40px;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:6px}:host(.button-size-small.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:40px;width:40px;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(svg){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:20px;--icon-width:20px}:host(.search-submit-button-small) ::slotted(svg){--icon-height:16px;--icon-width:16px}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:14px;--icon-width:14px}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}';var h=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++){if(i.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a]))e[o[a]]=t[o[a]]}return e};let b=0;const p=class{constructor(e){t(this,e);this.icFocus=i(this,"icFocus",7);this.icBlur=i(this,"icBlur",7);this.calculatedWidth=68;this.inheritedAttributes={};this.hasTooltip=false;this.buttonIdNum=b++;this.handleClick=()=>{if((this.el.type==="submit"||this.el.type==="reset")&&!!this.el.closest("FORM")){this.handleHiddenFormButtonClick(this.el.closest("FORM"))}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.disabled=false;this.loading=false;this.type="button";this.href=undefined;this.target=undefined;this.rel=undefined;this.download=false;this.hreflang=undefined;this.referrerpolicy=undefined;this.variant="primary";this.size="default";this.fullWidth=false;this.disableTooltip=false;this.tooltipPlacement="bottom";this.appearance="default"}calculateWidth(){this.calculatedWidth=this.el.offsetWidth-2*this.el.offsetLeft}handleHostClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}}themeChangeHandler(t){const i=t.detail;this.updateTheme(i.mode)}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}async updateAriaLabel(t){if(this.hasTooltip){this.tooltipEl.label=t;this.buttonEl.setAttribute("aria-label",t)}}getLoadingBarWidth(){return{width:`${this.calculatedWidth.toString()}px`}}hasIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}handleHiddenFormButtonClick(t){const i=document.createElement("button");i.setAttribute("type",this.el.type);i.style.display="none";t.appendChild(i);i.click();i.remove()}updateTheme(t=null){const i=r(this.el,t||null);if(i!==l.Default){this.appearance=i}}componentWillLoad(){this.inheritedAttributes=n(this.el,[...s,"aria-expanded","title"]);const t=this.el.id;this.id=t!==undefined?t:null;this.hasTooltip=this.variant==="icon"}componentDidLoad(){this.calculateWidth();this.updateTheme()}render(){const t=this.href&&"a"||"button";const i=this.inheritedAttributes,{title:a,"aria-label":r}=i,n=h(i,["title","aria-label"]);const s=t==="button"?{type:this.type,disabled:this.disabled}:{download:this.download!==false?this.download:null,href:this.href,rel:this.rel,target:this.target,referrerpolicy:this.referrerpolicy,hreflang:this.hreflang};const c=a&&a;const d=this.hasTooltip?{}:{title:c};let u="";if(this.hasTooltip){if(c!==undefined){u=c}else if(r!==null){u=r}}let b=null;let p=null;if(this.hasTooltip){p=this.id!==null?`ic-button-with-tooltip-${this.id}`:`ic-button-with-tooltip-${this.buttonIdNum}`;b=`ic-tooltip-${p}`}const v=()=>e(t,Object.assign({class:"button","aria-disabled":this.loading||this.disabled?"true":null,"aria-label":this.loading?"Loading":r},s,n,d,{onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.buttonEl=t,id:p,"aria-describedby":b}),this.hasIconSlot()&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),this.loading?e("div",{class:"loading-container",style:this.getLoadingBarWidth()},e("ic-loading-indicator",{type:"linear",appearance:this.variant==="primary"||this.variant==="destructive"||this.appearance===l.Dark||this.appearance===l.Light?"light":"dark"})):e("slot",null));return e(o,{class:{["disabled"]:this.disabled&&!this.loading,[`button-variant-${this.variant}`]:true,[`button-size-${this.size}`]:true,["loading"]:this.loading,["dark"]:this.appearance===l.Dark,["light"]:this.appearance===l.Light,["full-width"]:this.fullWidth},onClick:this.handleClick},this.hasTooltip&&e("ic-tooltip",{class:{["tooltip-disabled-button"]:this.disableTooltip},ref:t=>this.tooltipEl=t,label:u,target:p,placement:this.tooltipPlacement},e(v,null)),!this.hasTooltip&&e(v,null))}get el(){return a(this)}static get watchers(){return{loading:["calculateWidth"]}}};p.style=u;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;--linear-border-radius:4px;--inner-color:var(--ic-action-default);--outer-color:var(--ic-architectural-100);--label-color:var(--ic-color-primary-text);--margin:none;--linear-line-height:var(--ic-space-xs)}.ic-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center}:host([size="small"]){--circular-diameter:40px;--linear-line-height:var(--ic-space-xxs)}:host([size="default"]){--circular-diameter:80px}:host([size="large"]){--circular-diameter:160px}:host([size="icon"]){display:inline-block;--margin:var(--ic-space-xxxs);--circular-diameter:20px}:host([label]){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{white-space:nowrap;color:var(--label-color);margin-left:var(--label-margin-left)}.ic-loading-circular-outer{box-shadow:inset 0 0 0 var(--circular-line-width) var(--outer-color);height:var(--circular-diameter);width:var(--circular-diameter);border-radius:50%;position:relative}.ic-loading-circular-outer.indeterminate{animation:circular-animation 1s linear;animation-iteration-count:infinite}.ic-loading-circular-inner{height:var(--circular-diameter);width:var(--circular-diameter);border-radius:50%;position:relative}.indeterminate>.ic-loading-circular-inner{box-shadow:inset 0 0 0 var(--circular-line-width) var(--inner-color);-webkit-clip-path:inset(0 50% 50% 0);clip-path:inset(0 50% 50% 0)}.determinate>.ic-loading-circular-inner{position:absolute;top:0;left:0;bottom:0;right:0}.determinate>.ic-loading-circular-inner.clip{clip:rect(\n 0,\n var(--circular-diameter),\n var(--circular-diameter),\n calc(var(--circular-diameter) / 2)\n )}.ic-loading-circular-inner .left,.ic-loading-circular-inner .right{height:100%;width:100%;border:var(--circular-line-width) solid var(--inner-color);border-radius:50%;box-sizing:border-box;clip:rect(\n 0,\n calc(var(--circular-diameter) / 2),\n var(--circular-diameter),\n 0\n );position:absolute;left:0;top:0}.indeterminate>.ic-loading-circular-inner .left,.indeterminate>.ic-loading-circular-inner .right{display:none}.determinate>.ic-loading-circular-inner .left{transform:rotate(var(--circular-rotation))}.determinate>.ic-loading-circular-inner .right{transform:rotate(180deg)}.determinate>.ic-loading-circular-inner.clip .right{display:none}.ic-loading-circular-outer::before{content:"";height:var(--circular-line-width);width:var(--circular-line-width);border-radius:50%;background-color:var(--inner-color);position:absolute;display:block;top:calc(50% - var(--circular-line-width) / 2)}.ic-loading-circular-outer::after{content:"";height:var(--circular-line-width);width:var(--circular-line-width);border-radius:50%;background-color:var(--inner-color);position:absolute;display:block;top:0;left:calc(50% - var(--circular-line-width) / 2)}.ic-loading-circular-outer.determinate::before,.ic-loading-circular-outer.determinate::after{display:none}@keyframes circular-animation{100%{transform:rotate(360deg)}}.ic-loading-circular-outer,.ic-loading-linear-outer{margin:var(--margin)}.ic-loading-linear-outer{background-color:var(--outer-color);height:var(--linear-line-height);width:100%;border-radius:var(--linear-border-radius);overflow:hidden}.ic-loading-linear-inner{position:relative;height:100%;background-color:var(--inner-color);border-radius:var(--linear-border-radius)}.indeterminate>.ic-loading-linear-inner{animation:linear-animation 2s infinite}.determinate>.ic-loading-linear-inner{transition:width 0.5s;width:var(--linear-width)}:host([full-width]){--linear-border-radius:none}@keyframes linear-animation{0%{width:0%;left:-1%}25%{width:0%;left:-1%}50%{width:101%;left:-1%}75%{width:0%;left:101%}100%{width:0%;left:101%}}:host(.light){--inner-color:var(--ic-architectural-white);--outer-color:var(--ic-architectural-800);--label-color:var(--ic-architectural-white)}';const f=class{constructor(i){t(this,i);this.getLabel=(t,i)=>new Promise((()=>{setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}i(this.labelList[t])}),this.labelDuration)}));this.getLabelVariant=()=>{var t;let i="h4";const e=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(this.size==="small"||this.type==="circular"&&e<60){i="label"}else if(this.size==="large"||this.type==="circular"&&e>=120){i="h2"}return i};this.setCircleLineWidth=()=>{var t;const i=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(i){this.outerElement.style.setProperty("--circular-line-width",`${i*.1}px`)}};this.setDeterminateWidth=()=>{if(!this.innerElement)return;const t=Math.min(this.max,Math.max(this.min,this.progress));const i=(t-this.min)/(this.max-this.min);this.showSecond=i>.5;if(this.showSecond){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--circular-rotation",`${i*360}deg`);this.innerElement.style.setProperty("--linear-width",`${i*100}%`)};this.calcOuterClass=()=>{let t=`ic-loading-${this.type}-outer`;t+=this.indeterminate?" indeterminate":" determinate";return t};this.updateLabel=()=>{if(this.label!==undefined){this.labelList=this.label.split("/");const t=0;this.indicatorLabel=this.labelList[t];if(this.labelList.length>1){this.getLabel(t,(t=>{this.indicatorLabel=t}))}}};this.progress=undefined;this.min=0;this.max=100;this.label=undefined;this.description="Loading";this.labelDuration=8e3;this.size="default";this.type="circular";this.fullWidth=false;this.appearance="dark";this.indicatorLabel=undefined;this.indeterminate=undefined;this.showSecond=false}watchPropHandler(){this.updateLabel()}componentWillLoad(){this.indeterminate=this.progress===undefined;this.updateLabel()}componentDidLoad(){this.setCircleLineWidth();if(Number(this.progress)>=0){this.setDeterminateWidth()}}componentWillUpdate(){this.indeterminate=this.progress===undefined}componentDidUpdate(){if(Number(this.progress)>=0){this.setDeterminateWidth()}}render(){const{appearance:t,label:i,description:a,size:r}=this;return e(o,{class:{["light"]:t===l.Light}},e("div",{class:"ic-loading-container"},e("div",{ref:t=>this.outerElement=t,class:this.calcOuterClass(),role:"progressbar","aria-labelledby":this.label&&this.size!=="icon"&&"ic-loading-label","aria-label":a,"aria-valuenow":this.progress,"aria-valuemin":this.min,"aria-valuemax":this.max},e("div",{ref:t=>this.innerElement=t,class:`ic-loading-${this.type}-inner`},this.indeterminate||e("div",{class:"left"}),this.indeterminate||e("div",{class:"right"}))),i&&r!=="icon"&&e("ic-typography",{id:"ic-loading-label",class:"ic-loading-label",role:"status",variant:this.getLabelVariant()},e("p",null,this.indicatorLabel))))}get host(){return a(this)}static get watchers(){return{label:["watchPropHandler"]}}};f.style=v;const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-tooltip) .ic-tooltip-container{background-color:var(--ic-architectural-800);color:#ffff;text-align:center;padding:var(--ic-space-xxxs) 10px;border-radius:var(--ic-border-radius);position:absolute;max-width:320px;display:none;z-index:calc(var(--ic-z-index-overlay) / 2);box-shadow:var(--ic-elevation-overlay)}:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed)) .ic-tooltip-container,:host(.tooltip-disabled-button) .ic-tooltip-container{display:none !important}:host(.tooltip-long-label-navigation-item-side-nav-expanded) .ic-tooltip-container[data-show]{display:block !important}:host(.ic-tooltip) .ic-tooltip-arrow,:host(.ic-tooltip) .ic-tooltip-arrow::before{position:absolute;background:inherit;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:""}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{bottom:calc(-1 * var(--ic-space-md))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow::before{border-radius:0 0 var(--ic-border-radius) var(--ic-border-radius);left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) var(--ic-border-radius) 0 0;left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{right:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow::before{border-radius:0 var(--ic-border-radius) var(--ic-border-radius) 0}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{left:-14px}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) 0 0 var(--ic-border-radius)}:host([target="ic-button-with-tooltip-search-submit-button"]) .ic-tooltip-container,:host([target="ic-button-with-tooltip-clear-button"]) .ic-tooltip-container{z-index:calc(var(--ic-z-index-popup-menu) + 1)}';const g=class{constructor(i){t(this,i);this.mouseOverTool=false;this.showEvents=["mouseenter","focusin"];this.instantHideEvents=["focusout"];this.delayedHideEvents=["mouseleave"];this.show=t=>{this.toolTip.setAttribute("data-show","");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:true}]})));t.update()};this.hide=t=>{this.toolTip.removeAttribute("data-show");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:false}]})))};this.checkCloseTooltip=t=>{setTimeout((()=>{if(!this.mouseOverTool){this.hide(t)}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=t=>{this.mouseOverTool=false;this.checkCloseTooltip(t)};this.handleKeyDown=t=>{if(t==="Escape"){this.hide(this.popperInstance)}};this.manageEventListeners=t=>{const i=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{this.el[i](t,(()=>this.show(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseEnterTooltip()))}));this.instantHideEvents.forEach((t=>{this.el[i](t,(()=>this.hide(this.popperInstance)))}));this.delayedHideEvents.forEach((t=>{this.el[i](t,(()=>this.checkCloseTooltip(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseLeaveTooltip(this.popperInstance)))}));document[i]("keydown",(t=>this.handleKeyDown(t.key)))};this.screenReaderOnlyStyles={position:"absolute",left:"-10000px",top:"auto",width:"1px",height:"1px",overflow:"hidden"};this.target=undefined;this.placement="bottom";this.label=undefined}updateLabel(t){const i=this.el.previousElementSibling;i.innerText=t}componentDidLoad(){this.popperInstance=d(this.el,this.toolTip,{placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}}]});this.manageEventListeners("add");c([{prop:this.label,propName:"label"}],"Tooltip");if(this.target!==undefined){const t=document.createElement("span");t.id=`ic-tooltip-${this.target}`;t.innerText=this.label;t.classList.add("ic-tooltip-label");Object.assign(t.style,this.screenReaderOnlyStyles);this.el.insertAdjacentElement("beforebegin",t)}}disconnectedCallback(){this.manageEventListeners("remove")}render(){const{label:t}=this;return e(o,{class:{"ic-tooltip":true}},e("div",{ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container"},e("ic-typography",{variant:"caption"},t),e("div",{ref:t=>this.arrow=t,class:"ic-tooltip-arrow","data-popper-arrow":true})),e("slot",null))}get el(){return a(this)}static get watchers(){return{label:["updateLabel"]}}};g.style=m;export{p as ic_button,f as ic_loading_indicator,g as ic_tooltip};
2
- //# sourceMappingURL=p-ac76594c.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-button/ic-button.css?tag=ic-button&encapsulation=shadow","src/components/ic-button/ic-button.tsx","src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","src/components/ic-loading-indicator/ic-loading-indicator.tsx","src/components/ic-tooltip/ic-tooltip.css?tag=ic-tooltip&encapsulation=shadow","src/components/ic-tooltip/ic-tooltip.tsx"],"names":["icButtonCss","buttonIds","Button","this","calculatedWidth","inheritedAttributes","hasTooltip","buttonIdNum","handleClick","el","type","closest","handleHiddenFormButtonClick","onFocus","icFocus","emit","onBlur","icBlur","[object Object]","offsetWidth","offsetLeft","event","disabled","loading","stopImmediatePropagation","ev","theme","detail","updateTheme","mode","buttonEl","focus","newValue","tooltipEl","label","setAttribute","width","toString","iconEl","querySelector","form","hiddenFormButton","document","createElement","style","display","appendChild","click","remove","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","appearance","inheritAttributes","IC_INHERITED_ARIA","id","undefined","variant","calculateWidth","TagType","href","_a","title","aria-label","ariaLabel","restInheritedAttributes","__rest","buttonAttrs","download","rel","target","referrerpolicy","hreflang","newTitle","titleAttr","tooltipText","describedBy","buttonId","ButtonContent","h","Object","assign","class","aria-disabled","ref","aria-describedby","hasIconSlot","name","getLoadingBarWidth","Dark","Light","Host","size","fullWidth","onClick","disableTooltip","placement","tooltipPlacement","icLoadingIndicatorCss","LoadingIndicator","getLabel","labelIndex","setLabel","Promise","setInterval","labelList","length","labelDuration","getLabelVariant","outerElement","setCircleLineWidth","setProperty","setDeterminateWidth","innerElement","progress","Math","min","max","proportion","showSecond","classList","add","calcOuterClass","cls","indeterminate","updateLabel","split","indicatorLabel","Number","description","role","aria-labelledby","aria-valuenow","aria-valuemin","aria-valuemax","icTooltipCss","Tooltip","mouseOverTool","showEvents","instantHideEvents","delayedHideEvents","show","popper","toolTip","setOptions","options","modifiers","enabled","update","hide","removeAttribute","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","handleKeyDown","key","popperInstance","manageEventListeners","action","method","forEach","screenReaderOnlyStyles","position","left","top","height","overflow","describedBySpan","previousElementSibling","innerText","createPopper","offset","element","arrow","onComponentRequiredPropUndefined","prop","propName","ariaDescribedBy","insertAdjacentElement","ic-tooltip","data-popper-arrow"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: inline-block;\n\n --button-default: var(--ic-action-default);\n --button-default-hover: var(--ic-action-default-hover);\n --button-default-active: var(--ic-action-default-active);\n --button-default-background-hover: var(--ic-action-default-bg-hover);\n --button-default-background-active: var(--ic-action-default-bg-active);\n --icon-width: 100%;\n --icon-height: 100%;\n}\n\n.button {\n font-family: var(--ic-font-body-family);\n text-decoration: none;\n font-weight: 600;\n font-size: 14px;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n min-width: 100px;\n display: inline-flex;\n gap: var(--ic-space-xs);\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.button:hover {\n cursor: pointer;\n}\n\n.button:focus,\n:host .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.light) .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.button:focus-visible {\n outline: none;\n}\n\n:host(.dark) .button {\n --button-default: var(--ic-action-dark);\n --button-default-hover: var(--ic-action-dark);\n --button-default-active: var(--ic-action-dark);\n --button-default-background-hover: var(--ic-action-dark-bg-hover);\n --button-default-background-active: var(--ic-action-dark-bg-active);\n}\n\n:host(.light) .button {\n --button-default: var(--ic-action-light);\n --button-default-hover: var(--ic-action-light);\n --button-default-active: var(--ic-action-light);\n --button-default-background-hover: var(--ic-action-light-bg-hover);\n --button-default-background-active: var(--ic-action-light-bg-active);\n}\n\n:host(.button-variant-primary.light) .button {\n color: var(--ic-color-primary-text);\n\n --button-default-hover: var(--ic-action-light-hover);\n --button-default-active: var(--ic-action-light-active);\n}\n\n:host(.button-variant-primary.dark) .button {\n --button-default-hover: var(--ic-action-dark-hover);\n --button-default-active: var(--ic-action-dark-active);\n}\n\n:host(.disabled),\n:host(.disabled) .button,\n:host(.loading),\n:host(.loading) .button {\n pointer-events: none;\n}\n\n/* Variants */\n\n/* Primary */\n\n:host(.button-variant-primary) .button {\n color: var(--ic-architectural-white);\n background-color: var(--button-default);\n}\n\n:host(.button-variant-primary) .button:hover:not(:focus) {\n background-color: var(--button-default-hover);\n}\n\n:host(.button-variant-primary) .button:active:not(:focus),\n:host(.button-variant-primary.loading) .button {\n background-color: var(--button-default-active);\n}\n\n:host(.button-variant-primary.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n:host(.button-variant-primary.light.disabled) .button {\n background: var(--ic-architectural-600);\n color: var(--ic-architectural-500);\n}\n\n/* Secondary */\n\n:host(.button-variant-secondary) .button {\n border: 1px solid var(--button-default);\n color: var(--button-default);\n}\n\n:host(.button-variant-secondary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n border-color: var(--button-default-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-secondary) .button:active:not(:focus) {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.loading) .button {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.disabled) .button,\n:host(.button-variant-secondary.disabled) .button:hover,\n:host(.button-variant-secondary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-secondary.light.disabled) .button,\n:host(.button-variant-secondary.light.disabled) .button:hover,\n:host(.button-variant-secondary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Tertiary */\n\n:host(.button-variant-tertiary) .button {\n color: var(--button-default);\n}\n\n:host(.button-variant-tertiary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-tertiary) .button:active:not(:focus),\n:host(.button-variant-tertiary.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-tertiary.disabled) .button,\n:host(.button-variant-tertiary.disabled) .button:hover,\n:host(.button-variant-tertiary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-tertiary.light.disabled) .button,\n:host(.button-variant-tertiary.light.disabled) .button:hover,\n:host(.button-variant-tertiary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Icon */\n\n:host(.button-variant-icon) .button {\n color: var(--button-default);\n min-width: 0;\n}\n\n:host(.button-variant-icon) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-icon) .button:active:not(:focus),\n:host(.button-variant-icon.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-icon.disabled) .button,\n:host(.button-variant-icon.disabled) .button:hover,\n:host(.button-variant-icon.disabled) .button:active {\n color: var(--ic-architectural-300);\n background: none;\n}\n\n/* Destructive */\n\n:host(.button-variant-destructive) .button {\n color: var(--ic-architectural-white);\n background-color: var(--ic-action-destructive);\n text-transform: uppercase;\n}\n\n:host(.button-variant-destructive) .button:hover:not(:focus) {\n background-color: var(--ic-action-destructive-hover);\n}\n\n:host(.button-variant-destructive) .button:active:not(:focus),\n:host(.button-variant-destructive.loading) .button {\n background-color: var(--ic-action-destructive-active);\n}\n\n:host(.button-variant-destructive.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n/* Sizing */\n\n:host(.button-size-default) .button {\n height: 40px;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.button-size-small) .button {\n height: var(--ic-space-xl);\n padding: var(--ic-space-xxs) var(--ic-space-md);\n}\n\n:host(.button-size-large) .button {\n height: var(--ic-space-xxl);\n padding: var(--ic-space-sm) var(--ic-space-md);\n}\n\n:host(.button-size-default.button-variant-icon) .button {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n padding: 6px;\n}\n\n:host(.button-size-small.button-variant-icon) .button {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n padding: var(--ic-space-xxs);\n}\n\n:host(.button-size-large.button-variant-icon) .button {\n height: 40px;\n width: 40px;\n padding: var(--ic-space-xs);\n}\n\n/* Width */\n:host(.full-width),\n:host(.full-width) .button {\n width: 100%;\n}\n\n/* Loading */\n\ndiv.loading-container {\n position: relative;\n align-items: center;\n}\n\n@keyframes loading-animation {\n 0% {\n width: 0%;\n left: 0%;\n }\n\n 25% {\n width: 0%;\n left: 0%;\n opacity: 0;\n }\n\n 50% {\n width: 100%;\n left: 0%;\n opacity: 1;\n }\n\n 75% {\n width: 0%;\n left: 100%;\n }\n\n 100% {\n width: 0%;\n left: 100%;\n opacity: 0;\n }\n}\n\n/* Icons */\n\ndiv.icon-container {\n box-sizing: border-box;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n::slotted(svg) {\n width: var(--icon-width) !important;\n height: var(--icon-height) !important;\n fill: currentcolor !important;\n pointer-events: none;\n}\n\n:host(.button-variant-icon) .button .icon-container {\n margin: 0;\n pointer-events: none;\n}\n\n/** SEARCH **/\n\n:host(.search-submit-button) ::slotted(svg) {\n --icon-height: 20px;\n --icon-width: 20px;\n}\n\n:host(.search-submit-button-small) ::slotted(svg) {\n --icon-height: 16px;\n --icon-width: 16px;\n}\n\n:host(.clear-button) {\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:not(:active):focus {\n box-shadow: none;\n background-color: var(--ic-action-default-bg-hover);\n}\n\n:host(.search-submit-button) {\n display: flex;\n align-items: center;\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.menu-close-button) ::slotted(svg) {\n --icon-height: 14px;\n --icon-width: 14px;\n}\n\n:host(.popout-menu-button) .button {\n justify-content: left;\n border-radius: 0;\n white-space: pre-line;\n text-align: start;\n}\n\n:host(.popout-menu-button) div.icon-container {\n flex: none;\n}\n\n:host(.popout-menu-button) .button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n.ic-button-describedby {\n display: none;\n}\n\n:host .ic-tooltip {\n display: block;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: true,\n})\nexport class Button {\n @Element() el: HTMLIcButtonElement;\n /**\n * Determines whether the button should be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * Determines whether the button should be in loading state.\n */\n @Prop() loading?: boolean = false;\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Prompts the user to save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * Hints at the human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The button variant to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n /**\n * Fill the width of the container if true.\n */\n @Prop() fullWidth?: boolean = false;\n /**\n * Disable ic-tooltip which is shown for icon variant. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n /**\n * Determines the whether the appearance of the button is dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).\n private calculatedWidth: number = 68;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private buttonEl: HTMLElement;\n private hasTooltip: boolean = false;\n private buttonIdNum = buttonIds++;\n private tooltipEl: HTMLIcTooltipElement;\n private id: string;\n\n @Watch(\"loading\")\n calculateWidth(): void {\n // Assume even padding on left and right\n this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private getLoadingBarWidth(): { [key: string]: string } {\n return { width: `${this.calculatedWidth.toString()}px` };\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\";\n }\n\n componentDidLoad(): void {\n this.calculateWidth();\n this.updateTheme();\n }\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? { type: this.type, disabled: this.disabled }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\" style={this.getLoadingBarWidth()}>\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled-button\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n","@import \"../../global/normalise.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator\n */\n\n display: block;\n\n --linear-border-radius: 4px;\n --inner-color: var(--ic-action-default);\n --outer-color: var(--ic-architectural-100);\n --label-color: var(--ic-color-primary-text);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 40px;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"default\"]) {\n --circular-diameter: 80px;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 160px;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 20px;\n}\n\n:host([label]) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n white-space: nowrap;\n color: var(--label-color);\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n box-shadow: inset 0 0 0 var(--circular-line-width) var(--outer-color);\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n border-radius: 50%;\n position: relative;\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n.ic-loading-circular-inner {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n border-radius: 50%;\n position: relative;\n}\n\n.indeterminate > .ic-loading-circular-inner {\n box-shadow: inset 0 0 0 var(--circular-line-width) var(--inner-color);\n clip-path: inset(0 50% 50% 0);\n}\n\n.determinate > .ic-loading-circular-inner {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n\n.determinate > .ic-loading-circular-inner.clip {\n clip: rect(\n 0,\n var(--circular-diameter),\n var(--circular-diameter),\n calc(var(--circular-diameter) / 2)\n );\n}\n\n.ic-loading-circular-inner .left,\n.ic-loading-circular-inner .right {\n height: 100%;\n width: 100%;\n border: var(--circular-line-width) solid var(--inner-color);\n border-radius: 50%;\n box-sizing: border-box;\n clip: rect(\n 0,\n calc(var(--circular-diameter) / 2),\n var(--circular-diameter),\n 0\n );\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.indeterminate > .ic-loading-circular-inner .left,\n.indeterminate > .ic-loading-circular-inner .right {\n display: none;\n}\n\n.determinate > .ic-loading-circular-inner .left {\n transform: rotate(var(--circular-rotation));\n}\n\n.determinate > .ic-loading-circular-inner .right {\n transform: rotate(180deg);\n}\n\n.determinate > .ic-loading-circular-inner.clip .right {\n display: none;\n}\n\n.ic-loading-circular-outer::before {\n content: \"\";\n height: var(--circular-line-width);\n width: var(--circular-line-width);\n border-radius: 50%;\n background-color: var(--inner-color);\n position: absolute;\n display: block;\n top: calc(50% - var(--circular-line-width) / 2);\n}\n\n.ic-loading-circular-outer::after {\n content: \"\";\n height: var(--circular-line-width);\n width: var(--circular-line-width);\n border-radius: 50%;\n background-color: var(--inner-color);\n position: absolute;\n display: block;\n top: 0;\n left: calc(50% - var(--circular-line-width) / 2);\n}\n\n.ic-loading-circular-outer.determinate::before,\n.ic-loading-circular-outer.determinate::after {\n display: none;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host([full-width]) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n:host(.light) {\n --inner-color: var(--ic-architectural-white);\n --outer-color: var(--ic-architectural-800);\n --label-color: var(--ic-architectural-white);\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport { IcLoadingSizes, IcLoadingTypes } from \"./ic-loading-indicator.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n @Element() host: HTMLIcLoadingIndicatorElement;\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min?: number = 0;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max?: number = 100;\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by separating multiple messages with forward slashes.\n */\n @Prop() label?: string;\n\n /**\n * Provide a description to be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description?: string = \"Loading\";\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration?: number = 8000;\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size?: IcLoadingSizes = \"default\";\n\n /**\n * The type of indicator, either linear or circular.\n */\n @Prop({ reflect: true }) type?: IcLoadingTypes = \"circular\";\n\n /**\n * When linear, determines whether the full-width version (i.e. without a border radius) should be displayed.\n */\n @Prop({ reflect: true }) fullWidth?: boolean = false;\n\n /**\n * Determines whether the dark or light loading indicator should be displayed.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() indicatorLabel: string;\n @State() indeterminate: boolean;\n @State() showSecond: boolean = false;\n\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n private outerElement?: HTMLDivElement;\n private innerElement?: HTMLDivElement;\n private labelList: string[];\n\n private getLabel = (\n labelIndex: number,\n setLabel: (label: string) => void\n ) => {\n return new Promise(() => {\n setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n setLabel(this.labelList[labelIndex]);\n }, this.labelDuration);\n });\n };\n\n private getLabelVariant = () => {\n let variant: \"label\" | \"h4\" | \"h2\" = \"h4\";\n const width = this.outerElement?.offsetWidth;\n if (this.size === \"small\" || (this.type === \"circular\" && width < 60)) {\n variant = \"label\";\n } else if (\n this.size === \"large\" ||\n (this.type === \"circular\" && width >= 120)\n ) {\n variant = \"h2\";\n }\n return variant;\n };\n\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n private setCircleLineWidth = () => {\n const width = this.outerElement?.offsetWidth;\n if (width) {\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${width * 0.1}px`\n );\n }\n };\n\n private setDeterminateWidth = () => {\n if (!this.innerElement) return;\n // Ensure progress cannot be out of bounds\n\n const progress = Math.min(this.max, Math.max(this.min, this.progress));\n const proportion = (progress - this.min) / (this.max - this.min);\n this.showSecond = proportion > 0.5;\n if (this.showSecond) {\n this.innerElement.classList.remove(\"clip\");\n } else {\n this.innerElement.classList.add(\"clip\");\n }\n this.innerElement.style.setProperty(\n \"--circular-rotation\",\n `${proportion * 360}deg`\n );\n this.innerElement.style.setProperty(\n \"--linear-width\",\n `${proportion * 100}%`\n );\n };\n\n private calcOuterClass = (): string => {\n let cls = `ic-loading-${this.type}-outer`;\n cls += this.indeterminate ? \" indeterminate\" : \" determinate\";\n return cls;\n };\n\n private updateLabel = (): void => {\n if (this.label !== undefined) {\n this.labelList = this.label.split(\"/\");\n const labelIndex = 0;\n this.indicatorLabel = this.labelList[labelIndex];\n if (this.labelList.length > 1) {\n this.getLabel(labelIndex, (label) => {\n this.indicatorLabel = label;\n });\n }\n }\n };\n\n componentWillLoad(): void {\n this.indeterminate = this.progress === undefined;\n this.updateLabel();\n }\n\n componentDidLoad(): void {\n this.setCircleLineWidth();\n if (Number(this.progress) >= 0) {\n this.setDeterminateWidth();\n }\n }\n\n componentWillUpdate(): void {\n this.indeterminate = this.progress === undefined;\n }\n\n componentDidUpdate(): void {\n if (Number(this.progress) >= 0) {\n this.setDeterminateWidth();\n }\n }\n\n render() {\n const { appearance, label, description, size } = this;\n return (\n <Host class={{ [\"light\"]: appearance === IcThemeForegroundEnum.Light }}>\n <div class=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el as HTMLDivElement)}\n class={this.calcOuterClass()}\n role=\"progressbar\"\n aria-labelledby={\n this.label && this.size !== \"icon\" && \"ic-loading-label\"\n }\n aria-label={description}\n aria-valuenow={this.progress}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n >\n <div\n ref={(el) => (this.innerElement = el as HTMLDivElement)}\n class={`ic-loading-${this.type}-inner`}\n >\n {this.indeterminate || <div class=\"left\" />}\n {this.indeterminate || <div class=\"right\" />}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"status\"\n variant={this.getLabelVariant()}\n >\n <p>{this.indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalise.css\";\n\n:host(.ic-tooltip) .ic-tooltip-container {\n background-color: var(--ic-architectural-800);\n color: #ffff;\n text-align: center;\n padding: var(--ic-space-xxxs) 10px;\n border-radius: var(--ic-border-radius);\n position: absolute;\n max-width: 320px;\n display: none;\n z-index: calc(var(--ic-z-index-overlay) / 2);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed))\n .ic-tooltip-container,\n:host(.tooltip-disabled-button) .ic-tooltip-container {\n display: none !important;\n}\n\n:host(.tooltip-long-label-navigation-item-side-nav-expanded)\n .ic-tooltip-container[data-show] {\n display: block !important;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow,\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n position: absolute;\n background: inherit;\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow {\n visibility: hidden;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n visibility: visible;\n content: \"\";\n}\n\n:host(.ic-tooltip) .ic-tooltip-container[data-show] {\n display: block;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow {\n bottom: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 0 var(--ic-border-radius) var(--ic-border-radius);\n left: 0;\n height: var(--ic-space-xxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow {\n top: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) var(--ic-border-radius) 0 0;\n left: 0;\n height: var(--ic-space-xxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow {\n right: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 var(--ic-border-radius) var(--ic-border-radius) 0;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow {\n left: -14px;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) 0 0 var(--ic-border-radius);\n}\n\n:host([target=\"ic-button-with-tooltip-search-submit-button\"])\n .ic-tooltip-container,\n:host([target=\"ic-button-with-tooltip-clear-button\"]) .ic-tooltip-container {\n z-index: calc(var(--ic-z-index-popup-menu) + 1);\n}\n","import { Component, Element, Host, Prop, h, Watch } from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop() target?: string;\n\n /**\n * The position of the tool-tip in relation to the parent element.\n */\n @Prop() placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @Watch(\"label\")\n updateLabel(newValue: string): void {\n const describedBySpan = this.el.previousElementSibling as HTMLElement;\n describedBySpan.innerText = newValue;\n }\n\n private toolTip: HTMLDivElement;\n private arrow: HTMLDivElement;\n private mouseOverTool: boolean = false;\n private showEvents = [\"mouseenter\", \"focusin\"];\n private instantHideEvents = [\"focusout\"];\n private delayedHideEvents = [\"mouseleave\"];\n private popperInstance: Instance;\n\n private show = (popper: Instance) => {\n this.toolTip.setAttribute(\"data-show\", \"\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: true },\n ],\n }));\n popper.update();\n };\n\n private hide = (popper: Instance) => {\n this.toolTip.removeAttribute(\"data-show\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: false },\n ],\n }));\n };\n\n private checkCloseTooltip = (popper: Instance) => {\n setTimeout(() => {\n if (!this.mouseOverTool) {\n this.hide(popper);\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = (popper: Instance) => {\n this.mouseOverTool = false;\n this.checkCloseTooltip(popper);\n };\n\n private handleKeyDown = (key: string) => {\n if (key === \"Escape\") {\n this.hide(this.popperInstance);\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, () => this.show(this.popperInstance));\n this.toolTip[method](event, () => this.mouseEnterTooltip());\n });\n\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, () => this.hide(this.popperInstance));\n });\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, () => this.checkCloseTooltip(this.popperInstance));\n this.toolTip[method](event, () =>\n this.mouseLeaveTooltip(this.popperInstance)\n );\n });\n\n document[method](\"keydown\", (event: KeyboardEvent) =>\n this.handleKeyDown(event.key)\n );\n };\n\n private screenReaderOnlyStyles = {\n position: \"absolute\",\n left: \"-10000px\",\n top: \"auto\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n };\n\n componentDidLoad(): void {\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n ],\n });\n\n this.manageEventListeners(\"add\");\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n\n if (this.target !== undefined) {\n const ariaDescribedBy = document.createElement(\"span\");\n ariaDescribedBy.id = `ic-tooltip-${this.target}`;\n ariaDescribedBy.innerText = this.label;\n ariaDescribedBy.classList.add(\"ic-tooltip-label\");\n Object.assign(ariaDescribedBy.style, this.screenReaderOnlyStyles);\n\n this.el.insertAdjacentElement(\"beforebegin\", ariaDescribedBy);\n }\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n }\n\n render() {\n const { label } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n >\n <ic-typography variant=\"caption\">{label}</ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n data-popper-arrow\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,g as i}from"./p-f9370be6.js";import{a,i as r}from"./p-f228c232.js";import"./p-6f57b13c.js";const o='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex}a{text-decoration:none !important;color:var(--ic-architechtural-black) !important}button{border:none;background-color:transparent;outline:none}.card,.card.clickable{border:1px solid var(--ic-architectural-300);border-radius:var(--ic-border-radius);padding:var(--ic-space-md);text-align:left;color:var(--ic-architechtural-black);transition:var(--ic-easing-transition-fast)}.card.clickable:hover{background-color:var(--ic-action-default-bg-hover);border-color:var(--ic-action-default-hover);cursor:pointer}.card.clickable:focus,.card.clickable.focussed{background-color:var(--ic-action-default-bg-hover);box-shadow:var(--ic-border-focus);outline:none}.card.clickable:active{background-color:var(--ic-action-default-bg-active);box-shadow:var(--ic-border-focus)}.card.disabled{border:var(--ic-border-disabled)}.card.fullwidth{width:100%}.card-header{display:flex;align-items:center}.icon{padding-right:var(--ic-space-xs)}.card.clickable ::slotted(svg){fill:var(--ic-action-default)}.card.disabled ::slotted(svg){fill:var(--ic-color-tertiary-text)}.card.clickable .card-title{color:var(--ic-hyperlink);text-decoration:underline;text-decoration-thickness:1px}.card.clickable:hover .card-title{color:var(--ic-hyperlink-hover) !important;text-decoration:none}.card.clickable:focus .card-title,.card.clickable.focussed .card-title{color:var(--ic-hyperlink-hover)}.card.clickable:active .card-title{color:var(--ic-hyperlink-hover)}.card.disabled .card-title{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--ic-color-tertiary-text);color:var(--ic-color-tertiary-text)}.card-message{margin-top:var(--ic-space-xxs);align-items:left}.card.disabled .card-message{color:var(--ic-color-tertiary-text)}';const n=class{constructor(t){e(this,t);this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.clickable=false;this.href=undefined;this.hreflang="";this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined;this.heading=undefined;this.message="";this.disabled=false;this.fullWidth=false;this.parentIsAnchorTag=false;this.isFocussed=false;this.parentEl=null}handleHostClick(e){if(this.disabled){e.stopImmediatePropagation()}}componentWillLoad(){this.parentEl=this.el.parentElement;if(this.parentEl.tagName==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}}disconnectedCallback(){if(this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}}componentDidLoad(){a([{prop:this.heading,propName:"heading"}],"Card")}render(){const{clickable:e,disabled:i,heading:a,message:o,href:n,hreflang:s,referrerpolicy:c,rel:l,target:d,fullWidth:b,parentIsAnchorTag:h,isFocussed:u}=this;const p=h?"div":e?this.href===undefined?"button":"a":"div";const f=p=="a"&&{href:n,hrefLang:s,referrerPolicy:c,rel:l,target:d};return t(p,Object.assign({class:{["card"]:true,["clickable"]:e&&!i,["disabled"]:i,["fullwidth"]:b,["focussed"]:u},tabindex:e&&!h?0:null,"aria-disabled":i?"true":null,disabled:i?true:null},f),t("div",{class:"card-header"},r(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("div",{class:"card-title"},t("slot",{name:"heading"},t("ic-typography",{variant:"h4"},t("p",null,a))))),(o||r(this.el,"message"))&&t("div",{class:"card-message"},t("slot",{name:"message"},t("ic-typography",{variant:"body"},o))))}get el(){return i(this)}};n.style=o;export{n as ic_card};
2
- //# sourceMappingURL=p-b596f73d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-card/ic-card.css?tag=ic-card&encapsulation=shadow","src/components/ic-card/ic-card.tsx"],"names":["icCardCss","Card","this","parentFocussed","isFocussed","parentBlurred","[object Object]","event","disabled","stopImmediatePropagation","parentEl","el","parentElement","tagName","clickable","parentIsAnchorTag","classList","add","addEventListener","removeEventListener","onComponentRequiredPropUndefined","prop","heading","propName","message","href","hreflang","referrerpolicy","rel","target","fullWidth","Component","undefined","attrs","hrefLang","referrerPolicy","h","Object","assign","class","tabindex","aria-disabled","isSlotUsed","name","variant"],"mappings":"gHAAA,MAAMA,EAAY,ojICgBLC,EAAI,+BAyDPC,KAAAC,eAAiB,KACvBD,KAAKE,WAAa,MAGZF,KAAAG,cAAgB,KACtBH,KAAKE,WAAa,sBAxD2B,wCAQnB,8GAoBD,iBAIE,qBAIA,6BAES,sBAEP,oBAES,KAGxCE,gBAAgBC,GACd,GAAIL,KAAKM,SAAU,CACjBD,EAAME,4BAYVH,oBACEJ,KAAKQ,SAAWR,KAAKS,GAAGC,cAExB,GAAIV,KAAKQ,SAASG,UAAY,IAAK,CACjCX,KAAKY,UAAY,KACjBZ,KAAKa,kBAAoB,KACzBb,KAAKQ,SAASM,UAAUC,IAAI,wBAC5Bf,KAAKQ,SAASQ,iBAAiB,QAAShB,KAAKC,gBAC7CD,KAAKQ,SAASQ,iBAAiB,OAAQhB,KAAKG,gBAIhDC,uBACE,GAAIJ,KAAKa,kBAAmB,CAC1Bb,KAAKQ,SAASS,oBAAoB,QAASjB,KAAKC,gBAChDD,KAAKQ,SAASS,oBAAoB,OAAQjB,KAAKG,gBAInDC,mBACEc,EACE,CAAC,CAAEC,KAAMnB,KAAKoB,QAASC,SAAU,YACjC,QAIJjB,SACE,MAAMQ,UACJA,EAASN,SACTA,EAAQc,QACRA,EAAOE,QACPA,EAAOC,KACPA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMC,UACNA,EAASf,kBACTA,EAAiBX,WACjBA,GACEF,KAEJ,MAAM6B,EAAYhB,EACd,MACAD,EACAZ,KAAKuB,OAASO,UACZ,SACA,IACF,MAEJ,MAAMC,EAAQF,GAAa,KAAO,CAChCN,KAAMA,EACNS,SAAUR,EACVS,eAAgBR,EAChBC,IAAKA,EACLC,OAAQA,GAGV,OACEO,EAACL,EAASM,OAAAC,OAAA,CACRC,MAAO,CACLjC,CAAC,QAAS,KACVA,CAAC,aAAcQ,IAAcN,EAC7BF,CAAC,YAAaE,EACdF,CAAC,aAAcwB,EACfxB,CAAC,YAAaF,GAEhBoC,SAAU1B,IAAcC,EAAoB,EAAI,KAAI0B,gBACrCjC,EAAW,OAAS,KACnCA,SAAUA,EAAW,KAAO,MACxByB,GAEJG,EAAA,MAAA,CAAKG,MAAM,eACRG,EAAWxC,KAAKS,GAAI,SACnByB,EAAA,MAAA,CAAKG,MAAM,QACTH,EAAA,OAAA,CAAMO,KAAK,UAGfP,EAAA,MAAA,CAAKG,MAAM,cACTH,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeQ,QAAQ,MACrBR,EAAA,IAAA,KAAId,QAKVE,GAAWkB,EAAWxC,KAAKS,GAAI,aAC/ByB,EAAA,MAAA,CAAKG,MAAM,gBACTH,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeQ,QAAQ,QAAQpB","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-architechtural-black) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: none;\n}\n\n.card,\n.card.clickable {\n border: 1px solid var(--ic-architectural-300);\n border-radius: var(--ic-border-radius);\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-architechtural-black);\n transition: var(--ic-easing-transition-fast);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-action-default-bg-hover);\n border-color: var(--ic-action-default-hover);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: var(--ic-border-focus);\n outline: none;\n}\n\n.card.clickable:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-border-disabled);\n}\n\n.card.fullwidth {\n width: 100%;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable ::slotted(svg) {\n fill: var(--ic-action-default);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.card.clickable .card-title {\n color: var(--ic-hyperlink);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n}\n\n.card.clickable:hover .card-title {\n color: var(--ic-hyperlink-hover) !important;\n text-decoration: none;\n}\n\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n color: var(--ic-hyperlink-hover);\n}\n\n.card.clickable:active .card-title {\n color: var(--ic-hyperlink-hover);\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-decoration-color: var(--ic-color-tertiary-text);\n color: var(--ic-color-tertiary-text);\n}\n\n.card-message {\n margin-top: var(--ic-space-xxs);\n align-items: left;\n}\n\n.card.disabled .card-message {\n color: var(--ic-color-tertiary-text);\n}\n","import { Component, Element, Listen, Prop, State, h } from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be placed to the left of the card title.\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n @Element() el: HTMLIcCardElement;\n\n /**\n * Set the variant to static or clickable\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n /**\n * URL for clickable cards\n */\n @Prop() href?: string | undefined;\n /**\n * Human readable explanation of the URL\n */\n @Prop() hreflang?: string = \"\";\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * Title for the card\n */\n @Prop() heading!: string;\n /**\n * Main body message of the card\n */\n @Prop() message?: string = \"\";\n /**\n * Whether the card is disabled if it is clickable\n */\n @Prop() disabled?: boolean = false;\n /**\n * If true then fill width of container\n */\n @Prop() fullWidth: boolean = false;\n\n @State() parentIsAnchorTag: boolean = false;\n\n @State() isFocussed: boolean = false;\n\n @State() parentEl: HTMLElement | null = null;\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n }\n\n render() {\n const {\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n </div>\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n )}\n </Component>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as o,H as i,g as a}from"./p-f9370be6.js";import{a as r}from"./p-f228c232.js";import{I as n}from"./p-6f57b13c.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--indicator-initial-color:rgba(23 89 188 / 0%);--indicator-color:var(--ic-action-default);--focus-indicator:var(--ic-border-focus);--label-color:var(--ic-color-primary-text);--background-color-hover:var(--ic-action-default-bg-hover);--background-color-active:var(--ic-action-default-bg-active);display:flex;align-items:center;border-radius:0;color:var(--label-color);height:40px;padding:0 var(--ic-space-md);cursor:pointer;position:relative;border-bottom:var(--ic-space-xxs) solid var(--indicator-initial-color);gap:var(--ic-space-xs);transition:all var(--ic-easing-transition-fast)}:host(:focus){box-shadow:var(--focus-indicator);border-radius:var(--ic-border-radius)}:host(:focus-visible){outline:none}:host(:hover){background-color:var(--background-color-hover)}:host(:active){background-color:var(--background-color-active)}:host(.ic-tab-light){--indicator-initial-color:rgb(255 255 255 / 0%);--indicator-color:rgb(255 255 255 / 100%);--focus-indicator:var(--ic-border-focus);--label-color:white;--background-color-hover:var(--ic-action-dark-bg-hover);--background-color-active:var(--ic-action-dark-bg-active)}:host([selected]){border-bottom:var(--ic-space-xxs) solid var(--indicator-color)}:host([disabled]){pointer-events:none;color:var(--ic-architectural-300)}:host([selected].with-transition){transition:all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow)}.ic-tab-label{pointer-events:none}::slotted(svg){fill:var(--label-color)}';const c=class{constructor(o){t(this,o);this.tabClick=e(this,"tabClick",7);this.tabFocus=e(this,"tabFocus",7);this.isInitialRender=true;this.focusFromClick=false;this.handleClick=()=>{this.tabClick.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});if(this.focusFromClick){this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});this.focusFromClick=false}};this.handleFocus=()=>{if(!this.focusFromClick){this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition})}};this.handleMouseDown=()=>{this.focusFromClick=true};this.contextId="default";this.disabled=false;this.selected=false;this.tabId=undefined;this.tabPosition=undefined;this.appearance="dark"}componentDidUpdate(){this.isInitialRender=false}componentDidLoad(){r([{prop:this.tabPosition,propName:"tab-position"}],"Tab")}render(){const{disabled:t,selected:e,appearance:a}=this;return o(i,{class:{["with-transition"]:!this.isInitialRender,["ic-tab-light"]:a===n.Light},role:"tab","aria-selected":e?"true":"false",onClick:this.handleClick,onFocus:this.handleFocus,onMouseDown:this.handleMouseDown,"aria-disabled":t?"true":"false",tabindex:this.selected?0:-1},this.host.querySelector('[slot="icon"]')&&o("slot",{name:"icon"}),o("ic-typography",{class:"ic-tab-label",variant:"label"},o("span",null,o("slot",null))))}get host(){return a(this)}};c.style=s;export{c as ic_tab};
2
- //# sourceMappingURL=p-b875ec01.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"names":["icTabCss","Tab","this","isInitialRender","focusFromClick","handleClick","tabClick","emit","tabId","contextId","position","tabPosition","tabFocus","handleFocus","handleMouseDown","[object Object]","onComponentRequiredPropUndefined","prop","propName","disabled","selected","appearance","h","Host","class","IcThemeForegroundEnum","Light","role","aria-selected","onClick","onFocus","onMouseDown","aria-disabled","tabindex","host","querySelector","name","variant"],"mappings":"wIAAA,MAAMA,EAAW,ozHCyBJC,EAAG,qGAiCNC,KAAAC,gBAA2B,KAC3BD,KAAAE,eAA0B,MAE1BF,KAAAG,YAAc,KACpBH,KAAKI,SAASC,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjB,GAAIT,KAAKE,eAAgB,CACvBF,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjBT,KAAKE,eAAiB,QAIlBF,KAAAW,YAAc,KACpB,IAAKX,KAAKE,eAAgB,CACxBF,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,gBAKbT,KAAAY,gBAAkB,KAIxBZ,KAAKE,eAAiB,qBA9DsB,wBAKjB,oBAGiB,sEASI,OAgDlDW,qBACEb,KAAKC,gBAAkB,MAGzBY,mBACEC,EACE,CAAC,CAAEC,KAAMf,KAAKS,YAAaO,SAAU,iBACrC,OAIJH,SACE,MAAMI,SAAEA,EAAQC,SAAEA,EAAQC,WAAEA,GAAenB,KAC3C,OACEoB,EAACC,EAAI,CACHC,MAAO,CACLT,CAAC,oBAAqBb,KAAKC,gBAC3BY,CAAC,gBAAiBM,IAAeI,EAAsBC,OAEzDC,KAAK,MAAKC,gBACKR,EAAW,OAAS,QACnCS,QAAS3B,KAAKG,YACdyB,QAAS5B,KAAKW,YACdkB,YAAa7B,KAAKY,gBAAekB,gBAClBb,EAAW,OAAS,QACnCc,SAAU/B,KAAKkB,SAAW,GAAK,GAE9BlB,KAAKgC,KAAKC,cAAc,kBAAoBb,EAAA,OAAA,CAAMc,KAAK,SACxDd,EAAA,gBAAA,CAAeE,MAAM,eAAea,QAAQ,SAC1Cf,EAAA,OAAA,KACEA,EAAA,OAAA","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --indicator-color: var(--ic-action-default);\n --focus-indicator: var(--ic-border-focus);\n --label-color: var(--ic-color-primary-text);\n --background-color-hover: var(--ic-action-default-bg-hover);\n --background-color-active: var(--ic-action-default-bg-active);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--label-color);\n height: 40px;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: none;\n}\n\n:host(:hover) {\n background-color: var(--background-color-hover);\n}\n\n:host(:active) {\n background-color: var(--background-color-active);\n}\n\n:host(.ic-tab-light) {\n --indicator-initial-color: rgb(255 255 255 / 0%);\n --indicator-color: rgb(255 255 255 / 100%);\n --focus-indicator: var(--ic-border-focus);\n --label-color: white;\n --background-color-hover: var(--ic-action-dark-bg-hover);\n --background-color-active: var(--ic-action-dark-bg-active);\n}\n\n:host([selected]) {\n border-bottom: var(--ic-space-xxs) solid var(--indicator-color);\n}\n\n:host([disabled]) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n:host([selected].with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n}\n\n.ic-tab-label {\n pointer-events: none;\n}\n\n::slotted(svg) {\n fill: var(--label-color);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\n\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n @Element() host: HTMLIcTabElement;\n\n /** @internal Provide a unique context if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Disables the tab.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal Will display a selected indicator and set tabIndex. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition!: number;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * Called when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Called when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n private isInitialRender: boolean = true;\n private focusFromClick: boolean = false;\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a seperate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.tabPosition, propName: \"tab-position\" }],\n \"Tab\"\n );\n }\n\n render() {\n const { disabled, selected, appearance } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n role=\"tab\"\n aria-selected={selected ? \"true\" : \"false\"}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n aria-disabled={disabled ? \"true\" : \"false\"}\n tabindex={this.selected ? 0 : -1}\n >\n {this.host.querySelector('[slot=\"icon\"]') && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","src/components/ic-alert/ic-alert.tsx"],"names":["icAlertCss","icon","neutral","neutralIcon","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","Alert","this","dismissAction","dismiss","emit","[object Object]","visible","titleHeight","_a","el","shadowRoot","querySelector","clientHeight","alertTitleWrap","alertTitleShouldWrap","variant","heading","message","titleAbove","dismissible","announced","h","Host","role","class","IcThemeForegroundEnum","Dark","innerHTML","name","isSlotUsed","closeIcon","onClick","appearance","title"],"mappings":"6gCAAA,MAAMA,EAAa,mgJCqBnB,MAAMC,EAAO,CACXC,QAASC,EACTC,KAAMC,EACNC,QAASC,EACTC,MAAOC,EACPC,QAASC,SAYEC,EAAK,gEAyCRC,KAAAC,cAAgB,KACtBD,KAAKE,QAAQC,qBApCqB,uBAIT,0CAQI,uBAIC,qBAIF,kBAEF,yBAEO,MAGnCC,cACEJ,KAAKK,SAAWL,KAAKK,QAWfD,6BACN,MAAME,GACJC,EAAAP,KAAKQ,GAAGC,WAAWC,cAAc,mBAAe,MAAAH,SAAA,OAAA,EAAAA,EAAEI,aACpD,GAAIL,EAAc,GAAIN,KAAKY,eAAiB,KAG9CR,mBACEJ,KAAKa,uBAGPT,SACE,MAAMU,QACJA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,WACPA,EAAUC,YACVA,EAAWC,UACXA,EAASd,QACTA,GACEL,KAEJ,OACEK,GACEe,EAACC,EAAI,CACHC,KAAMH,GAAa,QACnBI,MAAO,CACLnB,CAACoB,EAAsBC,MAAO,OAGhCL,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,aAAc,KACfA,CAAC,aAAaU,KAAY,OAG5BM,EAAA,MAAA,CAAKG,MAAM,wBACTH,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,WAAY,KACbA,CAAC,WAAWU,KAAY,QAG5BM,EAAA,OAAA,CACEG,MAAO,CACLnB,CAAC,cAAe,KAChBA,CAAC,iBAAkB,KACnBA,CAAC,QAAQU,KAAY,MAEvBY,UAAWtC,EAAK0B,MAGpBM,EAAA,MAAA,CAAKG,MAAM,iBACTH,EAAA,MAAA,CACEG,MAAO,CACLnB,CAAC,iBAAkB,KACnBA,CAAC,6BACCa,GAAcjB,KAAKY,iBAGtBG,GACCK,EAAA,gBAAA,CACEG,MAAO,CACLnB,CAAC,eAAgB,KACjBA,CAAC,qBAAsBa,GAAcjB,KAAKY,gBAE5CE,QAAQ,kBAERM,EAAA,IAAA,KAAIL,IAGRK,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeN,QAAQ,QAAQE,KAGlCY,EAAW5B,KAAKQ,GAAI,WACnBY,EAAA,MAAA,CAAKG,MAAM,0BACTH,EAAA,OAAA,CAAMO,KAAK,aAIjBP,EAAA,MAAA,CAAKG,MAAM,0BACRL,GACCE,EAAA,YAAA,CACEG,MAAO,CACLnB,CAAC,iBAAkB,KACnBA,CAAC,gBAAiB,MAEpBsB,UAAWG,EACXC,QAAS9B,KAAKC,cACda,QAAQ,OACRiB,WAAYP,EAAsBC,KAClCO,MAAM","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 56px;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-architectural-40);\n}\n\n.container-info {\n background-color: var(--ic-status-info-background);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-background);\n}\n\n.container-error {\n background-color: var(--ic-status-error-background);\n}\n\n.container-success {\n background-color: var(--ic-status-success-background);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-mid);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 22px;\n margin-left: 18px;\n}\n\n.icon-neutral > svg {\n fill: var(--ic-architectural-500);\n}\n\n.icon-info > svg {\n fill: var(--ic-status-info);\n}\n\n.icon-warning > svg {\n fill: var(--ic-status-warning-mid);\n}\n\n.icon-error > svg {\n fill: var(--ic-status-error);\n}\n\n.icon-success > svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 10px;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n font-size: 0;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -6px;\n padding: 6px;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n font-size: 1px;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: 14px;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n} from \"@stencil/core\";\nimport neutralIcon from \"../../assets/neutral-icon.svg\";\nimport infoIcon from \"../../assets/info-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { IcAlertVariants } from \"./ic-alert.types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst icon = {\n neutral: neutralIcon,\n info: infoIcon,\n warning: warningIcon,\n error: errorIcon,\n success: successIcon,\n};\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the left of the message.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n @Element() el: HTMLIcAlertElement;\n\n /**\n * Set which variant of the alert will be rendered\n */\n @Prop() variant?: IcAlertVariants = \"neutral\";\n /**\n * Optional title to display at the start of the alert\n */\n @Prop() heading?: string = \"\";\n /**\n * Main body message of the alert\n */\n @Prop() message?: string;\n /**\n * Set whether the title and message appear inline or above and below\n */\n @Prop() titleAbove?: boolean = false;\n /**\n * Set whether the alert has a close icon at the end to dismiss it\n */\n @Prop() dismissible?: boolean = false;\n /**\n * Set whether the alert has the 'alert' aria role and will be announced to screen readers\n */\n @Prop() announced?: boolean = true;\n\n @State() visible: boolean = true;\n\n @State() alertTitleWrap: boolean = false;\n\n @Listen(\"dismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() dismiss: EventEmitter<void>;\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced && \"alert\"}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={icon[variant]}\n ></span>\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","src/components/ic-switch/ic-switch.tsx"],"names":["icSwitchCss","inputIds","Switch","this","inputId","handleChange","checkedState","icChange","emit","checked","value","onFocus","icFocus","onBlur","icBlur","handleFormReset","initiallyChecked","[object Object]","addFormResetListener","el","onComponentRequiredPropUndefined","prop","label","propName","removeFormResetListener","small","disabled","name","showState","hideLabel","helperText","renderHiddenInput","describedBy","getInputDescribedByText","h","Host","class","htmlFor","for","readonly","aria-label","aria-checked","aria-describedby","role","type","id","onChange","aria-hidden","focusable","viewBox","xmlns","x1","y1","x2","y2","fill","cx","cy","r","variant"],"mappings":"mJAAA,MAAMA,EAAc,q1LCmBpB,IAAIC,EAAW,QAUFC,EAAM,kIACTC,KAAAC,QAAU,mBAAmBH,MAiE7BE,KAAAE,aAAe,KACrBF,KAAKG,cAAgBH,KAAKG,aAC1BH,KAAKI,SAASC,KAAK,CACjBC,QAASN,KAAKG,aACdI,MAAOP,KAAKO,SAIRP,KAAAQ,QAAU,KAChBR,KAAKS,QAAQJ,QAGPL,KAAAU,OAAS,KACfV,KAAKW,OAAON,QAGNL,KAAAY,gBAAkB,KACxBZ,KAAKG,aAAeH,KAAKa,sDAtEG,sBAIA,gBAIF,iBAIF,oBAIG,gBAILb,KAAKC,uBAIC,iBASE,uBAiBC,4BACLD,KAAKM,QAsBjCQ,oBACEd,KAAKG,aAAeH,KAAKM,QACzBS,EAAqBf,KAAKgB,GAAIhB,KAAKY,iBAGrCE,mBACEG,EACE,CAAC,CAAEC,KAAMlB,KAAKmB,MAAOC,SAAU,UAC/B,UAIJN,uBACEO,EAAwBrB,KAAKgB,GAAIhB,KAAKY,iBAGxCE,SACE,MAAMK,MACJA,EAAKhB,aACLA,EAAYmB,MACZA,EAAKC,SACLA,EAAQC,KACRA,EAAIC,UACJA,EAASlB,MACTA,EAAKmB,UACLA,EAASC,WACTA,EAAU1B,QACVA,GACED,KAEJ4B,EAAkB,KAAM5B,KAAKgB,GAAIQ,EAAMrB,EAAeI,EAAQ,GAAIgB,GAElE,MAAMM,EAAcC,EAClB7B,EACA0B,IAAe,GACf,OAGF,OACEI,EAACC,EAAI,KACHD,EAAA,QAAA,CACEE,MAAO,CACLnB,CAAC,uBAAwB,KACzBA,CAAC,sBAAuBS,EACxBT,CAAC,mBAAoBQ,GAEvBY,QAASjC,IAEPyB,GACAK,EAAA,iBAAA,CACEI,IAAKlC,EACLkB,MAAOA,EACPQ,WAAYA,EACZS,SAAU,KACVb,SAAUA,EACVU,MAAO,CACLnB,CAAC,mBAAoB,KACrBA,CAAC,yBAA0BQ,MAI/BI,GAAaK,EAAA,OAAA,CAAME,MAAM,yBAC3BF,EAAA,QAAA,CACEzB,QAASH,EACToB,SAAUA,EAAQc,aACNlB,EAAKmB,eACHnC,EAAe,OAAS,QAAOoC,mBAC3BV,EAClBW,KAAK,SACLP,MAAM,kBACNQ,KAAK,WACLjB,KAAK,SACLkB,GAAIzC,EACJO,QAASR,KAAKQ,QACdE,OAAQV,KAAKU,OACbiC,SAAU3C,KAAKE,eAEjB6B,EAAA,OAAA,CAAME,MAAM,oBACVF,EAAA,MAAA,CACEE,MAAM,iBAAgBW,cACV,OACZC,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENhB,EAAA,OAAA,CACEE,MAAM,sBACNe,GAAG,IACHC,GAAI3B,EAAQ,IAAM,IAClB4B,GAAG,IACHC,GAAI7B,EAAQ,IAAM,OAGtBS,EAAA,MAAA,CACEE,MAAM,iBAAgBW,cACV,OACZC,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENhB,EAAA,SAAA,CACEE,MAAM,wBACNmB,KAAK,OACLC,GAAG,IACHC,GAAG,IACHC,EAAGjC,EAAQ,QAAU,YAI3BS,EAAA,OAAA,CAAMP,KAAK,oBACVC,GACCM,EAAA,gBAAA,CAAAa,cACc,OACZY,QAAQ,QACRvB,MAAM,4BAEL9B,EAAe,KAAO","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 10px;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 64px;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: 1px solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 21.33px;\n height: 21.33px;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 5.33px;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 10px;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 12px var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 12px var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 12px var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 12px var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: 0 0 0 1px var(--ic-architectural-white),\n 0 0 0 3px var(--ic-action-default),\n 0 0 0 8px var(--ic-action-default-active-alpha);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: 1px dashed var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-background);\n border: 1px dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 6px;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: true,\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * Applies an aria-label to the component, for when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If true, the component is checked.\n */\n @Prop() checked?: boolean = false;\n /**\n * If true, the component reduces in size to the small state.\n */\n @Prop() small?: boolean = false;\n /**\n * If true, the component is not interactive.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If true, the component will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as r,H as s,g as i}from"./p-f9370be6.js";import{c as a}from"./p-e28af65b.js";import{i as c}from"./p-f228c232.js";import"./p-6f57b13c.js";const t=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-hyperlink)}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:none;text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}';const o=class{constructor(s){e(this,s);this.renderDefaultBreadcrumb=(e,s,i,a)=>{const n=s!==null&&s!==undefined&&s!=="";if(e&&n){return r("span",{class:{"current-page-container":e}},c(this.el,"icon")&&r("slot",{name:"icon"}),s)}return r("ic-link",{href:a,class:"breadcrumb-link","aria-describedby":this.showBackIcon&&i&&i},this.showBackIcon&&r("div",{class:"back-icon",innerHTML:t}),c(this.el,"icon")&&r("slot",{name:"icon"}),s)};this.setSlottedCurrentPageClass=()=>{const e=this.el.querySelector("ic-link");if(e){e.classList.remove("current-page");if(this.current){const r=e.classList.contains("current-page");if(!r){e.classList.add("breadcrumb-link","current-page")}}}};this.pageTitle=undefined;this.href=undefined;this.current=false;this.showBackIcon=false}componentWillRender(){this.setSlottedCurrentPageClass()}render(){const{current:e,href:i,pageTitle:c}=this;const t=`${c&&c.toLowerCase().replace(" ","-")}-describedby`;const n=c!==null&&c!==undefined&&c!=="";const o=i!==null&&i!==undefined&&i!=="";return r(s,{class:{back:this.showBackIcon},"aria-current":e&&"page",role:"listitem"},r("div",{class:"breadcrumb"},r("span",{innerHTML:a,class:"chevron","aria-hidden":"true"}),this.showBackIcon&&t&&r("span",{id:t,class:"hide"},`Back to ${c}`),n&&o?this.renderDefaultBreadcrumb(e,c,t,i):r("slot",null)))}get el(){return i(this)}};o.style=n;export{o as ic_breadcrumb};
2
- //# sourceMappingURL=p-d4a1734e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":["icBreadcrumbCss","Breadcrumb","this","renderDefaultBreadcrumb","current","pageTitle","describedById","href","hasPageTitle","undefined","h","class","current-page-container","isSlotUsed","el","name","aria-describedby","showBackIcon","innerHTML","backIcon","setSlottedCurrentPageClass","icLink","querySelector","classList","remove","hasCurrentPageClass","contains","add","[object Object]","toLowerCase","replace","hasHref","Host","back","aria-current","role","chevronIcon","aria-hidden","id"],"mappings":"gXAAA,MAAMA,EAAkB,y3CCYXC,EAAU,+BAwBbC,KAAAC,wBAA0B,CAChCC,EACAC,EACAC,EACAC,KAEA,MAAMC,EACJH,IAAc,MAAQA,IAAcI,WAAaJ,IAAc,GAEjE,GAAID,GAAWI,EAAc,CAC3B,OACEE,EAAA,OAAA,CACEC,MAAO,CACLC,yBAA0BR,IAG3BS,EAAWX,KAAKY,GAAI,SAAWJ,EAAA,OAAA,CAAMK,KAAK,SAC1CV,GAKP,OACEK,EAAA,UAAA,CACEH,KAAMA,EACNI,MAAM,kBAAiBK,mBACLd,KAAKe,cAAgBX,GAAiBA,GAEvDJ,KAAKe,cACJP,EAAA,MAAA,CAAKC,MAAM,YAAYO,UAAWC,IAEnCN,EAAWX,KAAKY,GAAI,SAAWJ,EAAA,OAAA,CAAMK,KAAK,SAC1CV,IAKCH,KAAAkB,2BAA6B,KACnC,MAAMC,EAASnB,KAAKY,GAAGQ,cAAc,WACrC,GAAID,EAAQ,CACVA,EAAOE,UAAUC,OAAO,gBACxB,GAAItB,KAAKE,QAAS,CAChB,MAAMqB,EAAsBJ,EAAOE,UAAUG,SAAS,gBACtD,IAAKD,EAAqB,CACxBJ,EAAOE,UAAUI,IAAI,kBAAmB,8EAnDpB,wBAKqB,MAoDjDC,sBACE1B,KAAKkB,6BAGPQ,SACE,MAAMxB,QAAEA,EAAOG,KAAEA,EAAIF,UAAEA,GAAcH,KACrC,MAAMI,EAAgB,GACpBD,GAAaA,EAAUwB,cAAcC,QAAQ,IAAK,mBAGpD,MAAMtB,EACJH,IAAc,MAAQA,IAAcI,WAAaJ,IAAc,GACjE,MAAM0B,EAAUxB,IAAS,MAAQA,IAASE,WAAaF,IAAS,GAEhE,OACEG,EAACsB,EAAI,CACHrB,MAAO,CACLsB,KAAM/B,KAAKe,cACZiB,eACa9B,GAAW,OACzB+B,KAAK,YAELzB,EAAA,MAAA,CAAKC,MAAM,cACTD,EAAA,OAAA,CAAMQ,UAAWkB,EAAazB,MAAM,UAAS0B,cAAa,SACzDnC,KAAKe,cAAgBX,GACpBI,EAAA,OAAA,CACE4B,GAAIhC,EACJK,MAAM,QACN,WAAWN,KAEdG,GAAgBuB,EACf7B,KAAKC,wBACHC,EACAC,EACAC,EACAC,GAGFG,EAAA,OAAA","sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-hyperlink);\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: none;\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n","import { Component, Host, Prop, h, Element } from \"@stencil/core\";\nimport { IcBreadcrumbDefault } from \"./ic-breadcrumb.types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: true,\n})\nexport class Breadcrumb {\n /**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title\n */\n\n @Element() el: HTMLIcBreadcrumbElement;\n /**\n * Set breadcrumb title\n */\n @Prop() pageTitle!: string;\n /**\n * Set breadcrumb location\n */\n @Prop() href?: string;\n /**\n * If true, aria-current will be set on the breadcrumb\n */\n @Prop() current?: boolean = false;\n\n /**\n * @internal If true, display back icon\n */\n @Prop({ reflect: true }) showBackIcon: boolean = false;\n\n private renderDefaultBreadcrumb = (\n current: boolean,\n pageTitle: string,\n describedById: string,\n href: string\n ): IcBreadcrumbDefault => {\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n\n if (current && hasPageTitle) {\n return (\n <span\n class={{\n \"current-page-container\": current,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n );\n }\n\n return (\n <ic-link\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={this.showBackIcon && describedById && describedById}\n >\n {this.showBackIcon && (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n )}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n );\n };\n\n private setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n icLink.classList.remove(\"current-page\");\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(\"current-page\");\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", \"current-page\");\n }\n }\n }\n };\n\n componentWillRender(): void {\n this.setSlottedCurrentPageClass();\n }\n\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${\n pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")\n }-describedby`;\n\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n const hasHref = href !== null && href !== undefined && href !== \"\";\n\n return (\n <Host\n class={{\n back: this.showBackIcon,\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {this.showBackIcon && describedById && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {hasPageTitle && hasHref ? (\n this.renderDefaultBreadcrumb(\n current,\n pageTitle,\n describedById,\n href\n )\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as r,H as i}from"./p-f9370be6.js";import{A as e,B as o,j as c}from"./p-f228c232.js";import"./p-6f57b13c.js";const h=class{constructor(r){t(this,r);this.icThemeChange=s(this,"icThemeChange",7);this.setThemeColor=()=>{if(this.color!==null){let t=null;const s=this.color.slice(0,1);if(s==="#"){t=e(this.color)}else if(s.toLowerCase()==="r"){t=o(this.color)}this.setThemeRGB(t)}};this.setThemeRGB=t=>{if(t!==null){const s=document.documentElement;s.style.setProperty("--ic-theme-primary-r",t.r.toString());s.style.setProperty("--ic-theme-primary-g",t.g.toString());s.style.setProperty("--ic-theme-primary-b",t.b.toString());const r=c();this.icThemeChange.emit({mode:r,color:t})}};this.color=null}watchColorPropHandler(){this.setThemeColor()}componentWillLoad(){this.setThemeColor()}render(){return r(i,null)}static get watchers(){return{color:["watchColorPropHandler"]}}};export{h as ic_theme};
2
- //# sourceMappingURL=p-d61c2983.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-theme/ic-theme.tsx"],"names":["Theme","this","setThemeColor","color","colorRGB","firstChar","slice","hexToRgb","toLowerCase","rgbStrToObj","setThemeRGB","root","document","documentElement","style","setProperty","r","toString","g","b","foregroundColor","getThemeForegroundColor","icThemeChange","emit","mode","[object Object]","h","Host"],"mappings":"yIAqBaA,EAAK,4EAgBRC,KAAAC,cAAgB,KACtB,GAAID,KAAKE,QAAU,KAAM,CACvB,IAAIC,EAAW,KACf,MAAMC,EAAYJ,KAAKE,MAAMG,MAAM,EAAG,GACtC,GAAID,IAAc,IAAK,CACrBD,EAAWG,EAASN,KAAKE,YACpB,GAAIE,EAAUG,gBAAkB,IAAK,CAC1CJ,EAAWK,EAAYR,KAAKE,OAE9BF,KAAKS,YAAYN,KAIbH,KAAAS,YAAeN,IACrB,GAAIA,IAAa,KAAM,CACrB,MAAMO,EAAOC,SAASC,gBACtBF,EAAKG,MAAMC,YAAY,uBAAwBX,EAASY,EAAEC,YAC1DN,EAAKG,MAAMC,YAAY,uBAAwBX,EAASc,EAAED,YAC1DN,EAAKG,MAAMC,YAAY,uBAAwBX,EAASe,EAAEF,YAC1D,MAAMG,EAAkBC,IACxBpB,KAAKqB,cAAcC,KAAK,CAAEC,KAAMJ,EAAiBjB,MAAOC,iBAhCnC,KAGzBqB,wBACExB,KAAKC,gBAgCPuB,oBACExB,KAAKC,gBAGPuB,SACE,OAAOC,EAACC,EAAI","sourcesContent":["import {\n Component,\n Host,\n Event,\n EventEmitter,\n h,\n Watch,\n Prop,\n} from \"@stencil/core\";\n\nimport { IcColorRGB, IcTheme } from \"../../utils/types\";\nimport {\n getThemeForegroundColor,\n hexToRgb,\n rgbStrToObj,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-theme\",\n shadow: true,\n})\nexport class Theme {\n /**\n * The theme colour. Can be a hex value eg \"#ff0000\" or RGB eg \"rgb(255, 0, 0)\"\n */\n @Prop() color?: string = null;\n\n @Watch(\"color\")\n watchColorPropHandler(): void {\n this.setThemeColor();\n }\n\n /**\n * Emitted when the theme is changed.\n */\n @Event() icThemeChange: EventEmitter<IcTheme>;\n\n private setThemeColor = () => {\n if (this.color !== null) {\n let colorRGB = null;\n const firstChar = this.color.slice(0, 1);\n if (firstChar === \"#\") {\n colorRGB = hexToRgb(this.color);\n } else if (firstChar.toLowerCase() === \"r\") {\n colorRGB = rgbStrToObj(this.color);\n }\n this.setThemeRGB(colorRGB);\n }\n };\n\n private setThemeRGB = (colorRGB: IcColorRGB) => {\n if (colorRGB !== null) {\n const root = document.documentElement;\n root.style.setProperty(\"--ic-theme-primary-r\", colorRGB.r.toString());\n root.style.setProperty(\"--ic-theme-primary-g\", colorRGB.g.toString());\n root.style.setProperty(\"--ic-theme-primary-b\", colorRGB.b.toString());\n const foregroundColor = getThemeForegroundColor();\n this.icThemeChange.emit({ mode: foregroundColor, color: colorRGB });\n }\n };\n\n componentWillLoad(): void {\n this.setThemeColor();\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as a,g as o}from"./p-f9370be6.js";import{q as n,b as r,a as s,r as c}from"./p-f228c232.js";import"./p-6f57b13c.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;margin-bottom:var(--ic-space-sm);width:-moz-fit-content;width:fit-content}:host([small]){margin-bottom:10px}:host([additional-field-display="static"]) ::slotted(ic-textfield){margin-top:var(--ic-space-xs);margin-left:var(--ic-space-xl)}:host([disabled]){color:var(--ic-architectural-200)}.container input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus);outline:none}.container input:focus-visible{outline:none}.container{display:inline-flex;position:relative;cursor:pointer;align-items:center;gap:var(--ic-space-xs);margin-left:5px}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:20px;width:20px;background-color:transparent;border:1px solid #a7acb3;border-radius:50%;transition:var(--ic-easing-transition-fast)}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{background-color:var(--ic-action-default-bg-hover);box-shadow:0 0 0 4px var(--ic-action-default-bg-hover);border:1px solid var(--ic-action-default)}.container:active input~.checkmark{background-color:var(--ic-action-default-bg-active);border:1px solid var(--ic-action-default-active);box-shadow:0 0 0 4px var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark{background-color:var(--ic-action-default-bg-active);border:2px solid var(--ic-action-default-active);box-shadow:0 0 0 4px var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark::after{background-color:var(--ic-action-default-active)}.container input:checked~.checkmark{border:2px solid var(--ic-action-default);margin:-1px;margin-bottom:1px}.container input:checked:disabled~.checkmark{background-color:transparent;border:2px solid var(--ic-architectural-200)}.container input:disabled~.checkmark{border:1px dashed var(--ic-architectural-200)}.container input:disabled~.checkmark::after{background:var(--ic-architectural-200)}.container:hover input:disabled~.checkmark{background-color:transparent;box-shadow:none;border:2px solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-architectural-200)}.container .checkmark::after{content:"";position:absolute;display:none;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ic-action-default)}.radio-label{font-size:16px;font-weight:400;margin-left:var(--ic-space-sm)}.addition-field-wrapper{margin-left:44px}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 3px;border-bottom:2px solid var(--ic-action-default);border-left:2px solid var(--ic-action-default);margin-left:-1px}.dynamic-container{display:flex;position:relative;margin-left:var(--ic-space-md);margin-top:6px;gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-action-default);margin-top:5px;margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}';const l=class{constructor(e){t(this,e);this.icCheck=i(this,"icCheck",7);this.radioOptionSelect=i(this,"radioOptionSelect",7);this.defaultRadioValue="";this.skipFocus=false;this.handleClick=()=>{if(!this.disabled){if(this.skipFocus===false){this.radioElement.focus()}this.skipFocus=false;if(this.hasAdditionalField){const t=this.host.querySelector("ic-text-field");this.value=t.value!==""?t.value:this.defaultRadioValue}this.radioOptionSelect.emit({value:this.value})}};this.swallowClick=t=>{t.stopPropagation()};this.hasAdditionalField=false;this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected};this.selected=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.initiallySelected=this.selected}selectedChangeHandler(t){if(t){this.handleClick()}}componentWillLoad(){const t=n(this.host,"additional-field");if(t!==null){this.hasAdditionalField=true;const i=t[0];if(i.tagName==="IC-TEXT-FIELD"){const t=i;t.hiddenInput=false}}this.defaultRadioValue=this.value;r(this.host,this.handleFormReset)}textfieldValueHandler(t){const i=t.detail.value;if(this.selected){if(i!==""){this.value=t.detail.value;this.radioOptionSelect.emit({value:this.value})}else{this.value=this.defaultRadioValue;this.radioOptionSelect.emit({value:this.defaultRadioValue})}}}componentDidLoad(){s([{prop:this.value,propName:"value"}],"Radio Option")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const t=this.host.querySelector("ic-text-field");if(!this.selected){t&&t.setAttribute("disabled","")}else{t&&t.removeAttribute("disabled")}}}disconnectedCallback(){c(this.host,this.handleFormReset)}render(){const t=`ic-radio-option-${this.label!==undefined?this.label:this.value}-${this.groupLabel}`;return e(a,{onClick:this.handleClick},e("div",{class:{["container"]:true,["disabled"]:this.disabled}},e("input",{role:"radio",tabindex:this.selected?"0":"-1",type:"radio",name:this.name,id:t,value:this.value,disabled:this.disabled?true:null,checked:this.selected,ref:t=>this.radioElement=t}),e("span",{class:"checkmark"}),e("ic-typography",{class:"radio-label",variant:"body"},e("label",{htmlFor:t},this.label))),this.hasAdditionalField&&e("div",{onClick:this.swallowClick,class:{"dynamic-container":true,hidden:this.additionalFieldDisplay==="dynamic"&&!this.selected}},this.additionalFieldDisplay==="dynamic"&&e("div",{class:"branch-corner"}),e("div",null,this.additionalFieldDisplay==="dynamic"&&e("ic-typography",{variant:"caption"},e("p",{class:"dynamic-text"},this.dynamicText)),e("div",{class:{"addition-field-wrapper":this.additionalFieldDisplay==="static"}},e("slot",{name:"additional-field"})))))}get host(){return o(this)}static get watchers(){return{selected:["selectedChangeHandler"]}}};l.style=d;export{l as ic_radio_option};
2
- //# sourceMappingURL=p-dd36d23a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-radio-option/ic-radio-option.css?tag=ic-radio-option&encapsulation=shadow","src/components/ic-radio-option/ic-radio-option.tsx"],"names":["icRadioOptionCss","RadioOption","this","defaultRadioValue","skipFocus","handleClick","disabled","radioElement","focus","hasAdditionalField","textfield","host","querySelector","value","radioOptionSelect","emit","swallowClick","event","stopPropagation","handleFormReset","selected","initiallySelected","[object Object]","additonalFieldContent","getSlotContent","Element","tagName","textField","hiddenInput","addFormResetListener","textFieldValue","detail","onComponentRequiredPropUndefined","prop","propName","additionalFieldDisplay","setAttribute","removeAttribute","removeFormResetListener","id","label","undefined","groupLabel","h","Host","onClick","class","role","tabindex","type","name","checked","ref","el","variant","htmlFor","dynamic-container","hidden","dynamicText","addition-field-wrapper"],"mappings":"iJAAA,MAAMA,EAAmB,wkLCyBZC,EAAW,qHAyDdC,KAAAC,kBAA4B,GAC5BD,KAAAE,UAAY,MAEZF,KAAAG,YAAc,KACpB,IAAKH,KAAKI,SAAU,CAClB,GAAIJ,KAAKE,YAAc,MAAO,CAC5BF,KAAKK,aAAaC,QAEpBN,KAAKE,UAAY,MAEjB,GAAIF,KAAKO,mBAAoB,CAC3B,MAAMC,EAAYR,KAAKS,KAAKC,cAAc,iBAC1CV,KAAKW,MACHH,EAAUG,QAAU,GAAKH,EAAUG,MAAQX,KAAKC,kBAGpDD,KAAKY,kBAAkBC,KAAK,CAC1BF,MAAOX,KAAKW,UAKVX,KAAAc,aAAgBC,IACtBA,EAAMC,mBAGAhB,KAAAO,mBAA8B,MAkB9BP,KAAAiB,gBAAkB,KACxBjB,KAAKE,UAAY,KACjBF,KAAKkB,SAAWlB,KAAKmB,iCAlGsC,oBAIhC,+GAoBC,yEAK5B,gCAE2BnB,KAAKkB,SAelCE,sBAAsBF,GACpB,GAAIA,EAAU,CACZlB,KAAKG,eA+BTiB,oBACE,MAAMC,EAAwBC,EAAetB,KAAKS,KAAM,oBAExD,GAAIY,IAA0B,KAAM,CAClCrB,KAAKO,mBAAqB,KAC1B,MAAMgB,EAAUF,EAAsB,GACtC,GAAIE,EAAQC,UAAY,gBAAiB,CACvC,MAAMC,EAAYF,EAClBE,EAAUC,YAAc,OAI5B1B,KAAKC,kBAAoBD,KAAKW,MAE9BgB,EAAqB3B,KAAKS,KAAMT,KAAKiB,iBASvCG,sBAAsBL,GACpB,MAAMa,EAAiBb,EAAMc,OAAOlB,MAEpC,GAAIX,KAAKkB,SAAU,CACjB,GAAIU,IAAmB,GAAI,CACzB5B,KAAKW,MAAQI,EAAMc,OAAOlB,MAC1BX,KAAKY,kBAAkBC,KAAK,CAC1BF,MAAOX,KAAKW,YAET,CACLX,KAAKW,MAAQX,KAAKC,kBAClBD,KAAKY,kBAAkBC,KAAK,CAC1BF,MAAOX,KAAKC,sBAMpBmB,mBACEU,EACE,CAAC,CAAEC,KAAM/B,KAAKW,MAAOqB,SAAU,UAC/B,gBAIJZ,qBACE,GAAIpB,KAAKiC,yBAA2B,SAAU,CAC5C,MAAMzB,EAAYR,KAAKS,KAAKC,cAAc,iBAC1C,IAAKV,KAAKkB,SAAU,CAClBV,GAAaA,EAAU0B,aAAa,WAAY,QAC3C,CACL1B,GAAaA,EAAU2B,gBAAgB,cAK7Cf,uBACEgB,EAAwBpC,KAAKS,KAAMT,KAAKiB,iBAG1CG,SACE,MAAMiB,EAAK,mBACTrC,KAAKsC,QAAUC,UAAYvC,KAAKsC,MAAQtC,KAAKW,SAC3CX,KAAKwC,aAET,OACEC,EAACC,EAAI,CAACC,QAAS3C,KAAKG,aAClBsC,EAAA,MAAA,CAAKG,MAAO,CAAExB,CAAC,aAAc,KAAMA,CAAC,YAAapB,KAAKI,WACpDqC,EAAA,QAAA,CACEI,KAAK,QACLC,SAAU9C,KAAKkB,SAAW,IAAM,KAChC6B,KAAK,QACLC,KAAMhD,KAAKgD,KACXX,GAAIA,EACJ1B,MAAOX,KAAKW,MACZP,SAAUJ,KAAKI,SAAW,KAAO,KACjC6C,QAASjD,KAAKkB,SACdgC,IAAMC,GAAQnD,KAAKK,aAAe8C,IAEpCV,EAAA,OAAA,CAAMG,MAAM,cACZH,EAAA,gBAAA,CAAeG,MAAM,cAAcQ,QAAQ,QACzCX,EAAA,QAAA,CAAOY,QAAShB,GAAKrC,KAAKsC,SAI7BtC,KAAKO,oBACJkC,EAAA,MAAA,CACEE,QAAS3C,KAAKc,aACd8B,MAAO,CACLU,oBAAqB,KACrBC,OACEvD,KAAKiC,yBAA2B,YAAcjC,KAAKkB,WAGtDlB,KAAKiC,yBAA2B,WAC/BQ,EAAA,MAAA,CAAKG,MAAM,kBAEbH,EAAA,MAAA,KACGzC,KAAKiC,yBAA2B,WAC/BQ,EAAA,gBAAA,CAAeW,QAAQ,WACrBX,EAAA,IAAA,CAAGG,MAAM,gBAAgB5C,KAAKwD,cAGlCf,EAAA,MAAA,CACEG,MAAO,CACLa,yBACEzD,KAAKiC,yBAA2B,WAGpCQ,EAAA,OAAA,CAAMO,KAAK","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n margin-bottom: var(--ic-space-sm);\n width: fit-content;\n}\n\n:host([small]) {\n margin-bottom: 10px;\n}\n\n:host([additional-field-display=\"static\"]) ::slotted(ic-textfield) {\n margin-top: var(--ic-space-xs);\n margin-left: var(--ic-space-xl);\n}\n\n/* The label turns grey when disabled */\n:host([disabled]) {\n color: var(--ic-architectural-200);\n}\n\n/* Focus states */\n\n.container input:focus + span.checkmark,\n:host(:focus) .container input:checked + span.checkmark {\n box-shadow: var(--ic-border-focus);\n outline: none;\n}\n\n.container input:focus-visible {\n outline: none;\n}\n\n/* The container */\n.container {\n display: inline-flex;\n position: relative;\n cursor: pointer;\n align-items: center;\n gap: var(--ic-space-xs);\n margin-left: 5px;\n}\n\n.container.disabled,\n.container.disabled input:disabled {\n cursor: default;\n}\n\n/* Hide the browser's default radio button */\n.container input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: inline-block;\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n border-radius: 50%;\n border: none;\n}\n\n/* Create a custom radio button */\n.checkmark {\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: 20px;\n width: 20px;\n background-color: transparent;\n border: 1px solid #a7acb3;\n border-radius: 50%;\n transition: var(--ic-easing-transition-fast);\n}\n\n/* Show the indicator (dot/circle) when checked */\n.container input:checked ~ .checkmark::after {\n display: inline-block;\n}\n\n/* On mouse-over, add a light blue background color */\n.container:hover input ~ .checkmark {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: 0 0 0 4px var(--ic-action-default-bg-hover);\n border: 1px solid var(--ic-action-default);\n}\n\n/* When pressed, adds the active colours */\n.container:active input ~ .checkmark {\n background-color: var(--ic-action-default-bg-active);\n border: 1px solid var(--ic-action-default-active);\n box-shadow: 0 0 0 4px var(--ic-action-default-bg-active);\n}\n\n/* When pressed, adds the active colours */\n.container:active input:checked ~ .checkmark {\n background-color: var(--ic-action-default-bg-active);\n border: 2px solid var(--ic-action-default-active);\n box-shadow: 0 0 0 4px var(--ic-action-default-bg-active);\n}\n\n/* When pressed and selected, adds the active colours */\n.container:active input:checked ~ .checkmark::after {\n background-color: var(--ic-action-default-active);\n}\n\n/* When the radio button is checked */\n.container input:checked ~ .checkmark {\n border: 2px solid var(--ic-action-default);\n margin: -1px;\n margin-bottom: 1px;\n}\n\n/* When the radio button is checked and disabled */\n.container input:checked:disabled ~ .checkmark {\n background-color: transparent;\n border: 2px solid var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark {\n border: 1px dashed var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark::after {\n background: var(--ic-architectural-200);\n}\n\n/* On mouse-over inactive */\n.container:hover input:disabled ~ .checkmark {\n background-color: transparent;\n box-shadow: none;\n border: 2px solid none;\n}\n\n.container:active input:disabled ~ .checkmark::after {\n background-color: var(--ic-architectural-200);\n}\n\n/* Style the indicator (dot/circle) */\n.container .checkmark::after {\n content: \"\";\n position: absolute;\n display: none;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--ic-action-default);\n}\n\n.radio-label {\n font-size: 16px;\n font-weight: 400;\n margin-left: var(--ic-space-sm);\n}\n\n.addition-field-wrapper {\n margin-left: 44px;\n}\n\n/* The line */\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 3px;\n border-bottom: 2px solid var(--ic-action-default);\n border-left: 2px solid var(--ic-action-default);\n margin-left: -1px;\n}\n\n/* The dynamic container */\n.dynamic-container {\n display: flex;\n position: relative;\n margin-left: var(--ic-space-md);\n margin-top: 6px;\n gap: var(--ic-space-xs);\n}\n\n.dynamic-container.hidden {\n display: none;\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: 5px;\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","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n Watch,\n State,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n getSlotContent,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IcValueEventDetail } from \"../../interface\";\n@Component({\n tag: \"ic-radio-option\",\n styleUrl: \"ic-radio-option.css\",\n shadow: true,\n})\nexport class RadioOption {\n private radioElement: HTMLInputElement;\n /**\n * Determines whether the radio should be in selected state.\n */\n @Prop({ reflect: true, mutable: true }) selected?: boolean = false;\n /**\n * Determines whether the radio should be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * Provide a label for the input.\n */\n @Prop() label?: string;\n /**\n * Provide a value for the input.\n */\n @Prop({ mutable: true }) value!: string;\n /**\n * Provide a name for the input.\n */\n @Prop() name: string;\n /**\n * Provide a group label for the input.\n */\n @Prop() groupLabel: string;\n /**\n * Provide a text prop for the dynamic text.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /** Determines type of additional text field in relation to radio option */\n\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n @State() initiallySelected = this.selected;\n\n @Element() host: HTMLIcRadioOptionElement;\n\n /**\n * Emitted when radio is checked\n */\n @Event() icCheck!: EventEmitter<void>;\n\n /**\n * Emitted when a radio is selected.\n */\n @Event() radioOptionSelect: EventEmitter<IcValueEventDetail>;\n\n @Watch(\"selected\")\n selectedChangeHandler(selected: boolean): void {\n if (selected) {\n this.handleClick();\n }\n }\n\n private defaultRadioValue: string = \"\";\n private skipFocus = false;\n\n private handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n const textfield = this.host.querySelector(\"ic-text-field\");\n this.value =\n textfield.value !== \"\" ? textfield.value : this.defaultRadioValue;\n }\n\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n };\n\n private swallowClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private hasAdditionalField: boolean = false;\n componentWillLoad(): void {\n const additonalFieldContent = getSlotContent(this.host, \"additional-field\");\n\n if (additonalFieldContent !== null) {\n this.hasAdditionalField = true;\n const Element = additonalFieldContent[0] as HTMLElement;\n if (Element.tagName === \"IC-TEXT-FIELD\") {\n const textField = Element as HTMLIcTextFieldElement;\n textField.hiddenInput = false;\n }\n }\n\n this.defaultRadioValue = this.value;\n\n addFormResetListener(this.host, this.handleFormReset);\n }\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n @Listen(\"icChange\")\n textfieldValueHandler(event: CustomEvent<{ value: string }>): void {\n const textFieldValue = event.detail.value;\n\n if (this.selected) {\n if (textFieldValue !== \"\") {\n this.value = event.detail.value;\n this.radioOptionSelect.emit({\n value: this.value,\n });\n } else {\n this.value = this.defaultRadioValue;\n this.radioOptionSelect.emit({\n value: this.defaultRadioValue,\n });\n }\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.value, propName: \"value\" }],\n \"Radio Option\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(\"ic-text-field\");\n if (!this.selected) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n const id = `ic-radio-option-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n return (\n <Host onClick={this.handleClick}>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n <input\n role=\"radio\"\n tabindex={this.selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.selected}\n ref={(el) => (this.radioElement = el)}\n ></input>\n <span class=\"checkmark\"></span>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{this.label}</label>\n </ic-typography>\n </div>\n\n {this.hasAdditionalField && (\n <div\n onClick={this.swallowClick}\n class={{\n \"dynamic-container\": true,\n hidden:\n this.additionalFieldDisplay === \"dynamic\" && !this.selected,\n }}\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\">{this.dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"addition-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"]}