@ukic/web-components 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. package/README.md +173 -0
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-60fda93f.js → helpers-d0eeccf0.js} +18 -1
  4. package/dist/cjs/helpers-d0eeccf0.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 +1 -1
  8. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-checkbox.cjs.entry.js +12 -2
  14. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-page-header.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-radio-option.cjs.entry.js +16 -3
  36. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-select.cjs.entry.js +12 -1
  39. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-switch.cjs.entry.js +16 -6
  45. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-tab-context.cjs.entry.js +4 -3
  47. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
  49. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-tab-panel.cjs.entry.js +8 -5
  51. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-tab.cjs.entry.js +4 -4
  53. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-text-field.cjs.entry.js +9 -1
  55. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  58. package/dist/cjs/loader.cjs.js +1 -1
  59. package/dist/collection/components/ic-alert/ic-alert.css +1 -6
  60. package/dist/collection/components/ic-checkbox/ic-checkbox.css +6 -0
  61. package/dist/collection/components/ic-checkbox/ic-checkbox.js +17 -2
  62. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  63. package/dist/collection/components/ic-data-row/ic-data-row.css +8 -0
  64. package/dist/collection/components/ic-footer-link/ic-footer-link.css +1 -1
  65. package/dist/collection/components/ic-hero/ic-hero.css +17 -5
  66. package/dist/collection/components/ic-link/ic-link.js +3 -0
  67. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  68. package/dist/collection/components/ic-page-header/ic-page-header.css +9 -0
  69. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -0
  70. package/dist/collection/components/ic-radio-option/ic-radio-option.js +22 -4
  71. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  72. package/dist/collection/components/ic-select/ic-select.js +15 -3
  73. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  74. package/dist/collection/components/ic-switch/ic-switch.js +21 -10
  75. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  76. package/dist/collection/components/ic-tab/ic-tab.css +1 -1
  77. package/dist/collection/components/ic-tab/ic-tab.js +3 -3
  78. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  79. package/dist/collection/components/ic-tab-context/ic-tab-context.js +5 -4
  80. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  81. package/dist/collection/components/ic-tab-group/ic-tab-group.css +2 -2
  82. package/dist/collection/components/ic-tab-group/ic-tab-group.js +3 -3
  83. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  84. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
  85. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +32 -2
  86. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  87. package/dist/collection/components/ic-text-field/ic-text-field.js +11 -2
  88. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  89. package/dist/collection/utils/helpers.js +15 -0
  90. package/dist/collection/utils/helpers.js.map +1 -1
  91. package/dist/components/helpers.js +16 -1
  92. package/dist/components/helpers.js.map +1 -1
  93. package/dist/components/ic-alert.js +1 -1
  94. package/dist/components/ic-alert.js.map +1 -1
  95. package/dist/components/ic-button2.js +1 -1
  96. package/dist/components/ic-checkbox-group.js +1 -1
  97. package/dist/components/ic-checkbox.js +15 -4
  98. package/dist/components/ic-checkbox.js.map +1 -1
  99. package/dist/components/ic-data-row.js +1 -1
  100. package/dist/components/ic-data-row.js.map +1 -1
  101. package/dist/components/ic-divider2.js +1 -1
  102. package/dist/components/ic-footer-link-group.js +1 -1
  103. package/dist/components/ic-footer-link.js +2 -2
  104. package/dist/components/ic-footer-link.js.map +1 -1
  105. package/dist/components/ic-footer.js +1 -1
  106. package/dist/components/ic-hero.js +2 -2
  107. package/dist/components/ic-hero.js.map +1 -1
  108. package/dist/components/ic-input-label2.js +1 -1
  109. package/dist/components/ic-input-validation2.js +1 -1
  110. package/dist/components/ic-link2.js +1 -1
  111. package/dist/components/ic-link2.js.map +1 -1
  112. package/dist/components/ic-navigation-button.js +1 -1
  113. package/dist/components/ic-navigation-group.js +1 -1
  114. package/dist/components/ic-navigation-item.js +1 -1
  115. package/dist/components/ic-navigation-menu2.js +1 -1
  116. package/dist/components/ic-page-header.js +1 -1
  117. package/dist/components/ic-page-header.js.map +1 -1
  118. package/dist/components/ic-radio-group.js +1 -1
  119. package/dist/components/ic-radio-option.js +20 -6
  120. package/dist/components/ic-radio-option.js.map +1 -1
  121. package/dist/components/ic-search-bar.js +1 -1
  122. package/dist/components/ic-select.js +14 -2
  123. package/dist/components/ic-select.js.map +1 -1
  124. package/dist/components/ic-side-navigation.js +1 -1
  125. package/dist/components/ic-switch.js +18 -7
  126. package/dist/components/ic-switch.js.map +1 -1
  127. package/dist/components/ic-tab-context.js +4 -3
  128. package/dist/components/ic-tab-context.js.map +1 -1
  129. package/dist/components/ic-tab-group.js +4 -4
  130. package/dist/components/ic-tab-group.js.map +1 -1
  131. package/dist/components/ic-tab-panel.js +9 -4
  132. package/dist/components/ic-tab-panel.js.map +1 -1
  133. package/dist/components/ic-tab.js +3 -3
  134. package/dist/components/ic-tab.js.map +1 -1
  135. package/dist/components/ic-text-field2.js +10 -1
  136. package/dist/components/ic-text-field2.js.map +1 -1
  137. package/dist/components/ic-theme.js +1 -1
  138. package/dist/components/ic-top-navigation.js +1 -1
  139. package/dist/core/core.esm.js +1 -1
  140. package/dist/core/core.esm.js.map +1 -1
  141. package/dist/core/p-037273aa.entry.js +2 -0
  142. package/dist/core/{p-27528d04.entry.js.map → p-037273aa.entry.js.map} +1 -1
  143. package/dist/core/{p-da6f09cd.entry.js → p-0d63bfe4.entry.js} +2 -2
  144. package/dist/core/{p-da6f09cd.entry.js.map → p-0d63bfe4.entry.js.map} +0 -0
  145. package/dist/core/p-0e1ae2a3.entry.js +2 -0
  146. package/dist/core/{p-98e9eccc.entry.js.map → p-0e1ae2a3.entry.js.map} +1 -1
  147. package/dist/core/p-155114db.entry.js +2 -0
  148. package/dist/core/p-155114db.entry.js.map +1 -0
  149. package/dist/core/p-16ab85c2.entry.js +2 -0
  150. package/dist/core/{p-fca84a85.entry.js.map → p-16ab85c2.entry.js.map} +1 -1
  151. package/dist/core/{p-438e327e.entry.js → p-17d0d631.entry.js} +2 -2
  152. package/dist/core/p-17d0d631.entry.js.map +1 -0
  153. package/dist/core/p-1b619302.entry.js +2 -0
  154. package/dist/core/p-1b619302.entry.js.map +1 -0
  155. package/dist/core/p-2f29e74d.entry.js +2 -0
  156. package/dist/core/p-2f29e74d.entry.js.map +1 -0
  157. package/dist/core/{p-0522eb9a.entry.js → p-3c6defd7.entry.js} +2 -2
  158. package/dist/core/{p-0522eb9a.entry.js.map → p-3c6defd7.entry.js.map} +0 -0
  159. package/dist/core/{p-a301cf67.entry.js → p-48029498.entry.js} +2 -2
  160. package/dist/core/{p-a301cf67.entry.js.map → p-48029498.entry.js.map} +0 -0
  161. package/dist/core/{p-73d41c36.entry.js → p-4b6a55bb.entry.js} +2 -2
  162. package/dist/core/{p-73d41c36.entry.js.map → p-4b6a55bb.entry.js.map} +0 -0
  163. package/dist/core/{p-d8b6271d.entry.js → p-54b77947.entry.js} +2 -2
  164. package/dist/core/{p-d8b6271d.entry.js.map → p-54b77947.entry.js.map} +0 -0
  165. package/dist/core/{p-f37a732a.entry.js → p-59041cfc.entry.js} +2 -2
  166. package/dist/core/{p-f37a732a.entry.js.map → p-59041cfc.entry.js.map} +0 -0
  167. package/dist/core/{p-6ac7757f.entry.js → p-6009c5bc.entry.js} +2 -2
  168. package/dist/core/{p-6ac7757f.entry.js.map → p-6009c5bc.entry.js.map} +0 -0
  169. package/dist/core/p-7577c6a3.entry.js +2 -0
  170. package/dist/core/p-7577c6a3.entry.js.map +1 -0
  171. package/dist/core/p-7612cfb0.entry.js +2 -0
  172. package/dist/core/p-7612cfb0.entry.js.map +1 -0
  173. package/dist/core/{p-59a917d4.entry.js → p-7dbb637f.entry.js} +2 -2
  174. package/dist/core/{p-59a917d4.entry.js.map → p-7dbb637f.entry.js.map} +0 -0
  175. package/dist/core/{p-c96985bc.entry.js → p-89d46b9b.entry.js} +2 -2
  176. package/dist/core/{p-c96985bc.entry.js.map → p-89d46b9b.entry.js.map} +0 -0
  177. package/dist/core/{p-14153fa0.entry.js → p-972f4e69.entry.js} +2 -2
  178. package/dist/core/{p-14153fa0.entry.js.map → p-972f4e69.entry.js.map} +0 -0
  179. package/dist/core/{p-530b7fe0.entry.js → p-9a3d6bca.entry.js} +2 -2
  180. package/dist/core/{p-530b7fe0.entry.js.map → p-9a3d6bca.entry.js.map} +0 -0
  181. package/dist/core/p-9db8edb7.entry.js +2 -0
  182. package/dist/core/{p-3013158d.entry.js.map → p-9db8edb7.entry.js.map} +1 -1
  183. package/dist/core/{p-994111b7.entry.js → p-a183353c.entry.js} +2 -2
  184. package/dist/core/{p-994111b7.entry.js.map → p-a183353c.entry.js.map} +0 -0
  185. package/dist/core/{p-21025b10.entry.js → p-a23e9d8a.entry.js} +2 -2
  186. package/dist/core/{p-21025b10.entry.js.map → p-a23e9d8a.entry.js.map} +0 -0
  187. package/dist/core/p-aad5da60.entry.js +2 -0
  188. package/dist/core/p-aad5da60.entry.js.map +1 -0
  189. package/dist/core/{p-1bec5ccb.entry.js → p-aad76be7.entry.js} +2 -2
  190. package/dist/core/{p-1bec5ccb.entry.js.map → p-aad76be7.entry.js.map} +0 -0
  191. package/dist/core/{p-605e4270.entry.js → p-ac76594c.entry.js} +2 -2
  192. package/dist/core/{p-605e4270.entry.js.map → p-ac76594c.entry.js.map} +0 -0
  193. package/dist/core/{p-c817e46b.entry.js → p-b596f73d.entry.js} +2 -2
  194. package/dist/core/{p-c817e46b.entry.js.map → p-b596f73d.entry.js.map} +0 -0
  195. package/dist/core/{p-36b25af4.entry.js → p-b875ec01.entry.js} +2 -2
  196. package/dist/core/p-b875ec01.entry.js.map +1 -0
  197. package/dist/core/p-bf4ddf33.entry.js +2 -0
  198. package/dist/core/p-bf4ddf33.entry.js.map +1 -0
  199. package/dist/core/p-c023c49c.entry.js +2 -0
  200. package/dist/core/p-c023c49c.entry.js.map +1 -0
  201. package/dist/core/{p-4c1e1d04.entry.js → p-d4a1734e.entry.js} +2 -2
  202. package/dist/core/{p-4c1e1d04.entry.js.map → p-d4a1734e.entry.js.map} +0 -0
  203. package/dist/core/{p-aebc7562.entry.js → p-d61c2983.entry.js} +2 -2
  204. package/dist/core/{p-aebc7562.entry.js.map → p-d61c2983.entry.js.map} +0 -0
  205. package/dist/core/p-dd36d23a.entry.js +2 -0
  206. package/dist/core/p-dd36d23a.entry.js.map +1 -0
  207. package/dist/core/{p-4aa8c1e1.entry.js → p-eb0f09f4.entry.js} +2 -2
  208. package/dist/core/{p-4aa8c1e1.entry.js.map → p-eb0f09f4.entry.js.map} +0 -0
  209. package/dist/core/{p-400b34b9.entry.js → p-ee3a9fd0.entry.js} +2 -2
  210. package/dist/core/p-ee3a9fd0.entry.js.map +1 -0
  211. package/dist/core/{p-be583c9b.entry.js → p-eeff0f89.entry.js} +2 -2
  212. package/dist/core/{p-be583c9b.entry.js.map → p-eeff0f89.entry.js.map} +1 -1
  213. package/dist/core/{p-c15bb762.js → p-f228c232.js} +2 -2
  214. package/dist/core/p-f228c232.js.map +1 -0
  215. package/dist/core/{p-8bcadf55.entry.js → p-f7e7d4f5.entry.js} +2 -2
  216. package/dist/core/{p-8bcadf55.entry.js.map → p-f7e7d4f5.entry.js.map} +0 -0
  217. package/dist/core/p-ffc4cae2.entry.js +2 -0
  218. package/dist/core/p-ffc4cae2.entry.js.map +1 -0
  219. package/dist/esm/core.js +1 -1
  220. package/dist/esm/{helpers-8b43d0d4.js → helpers-e090fe7e.js} +17 -2
  221. package/dist/esm/helpers-e090fe7e.js.map +1 -0
  222. package/dist/esm/ic-alert.entry.js +2 -2
  223. package/dist/esm/ic-alert.entry.js.map +1 -1
  224. package/dist/esm/ic-back-to-top.entry.js +1 -1
  225. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  226. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  227. package/dist/esm/ic-button_3.entry.js +1 -1
  228. package/dist/esm/ic-card.entry.js +1 -1
  229. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  230. package/dist/esm/ic-checkbox.entry.js +12 -2
  231. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  232. package/dist/esm/ic-data-row.entry.js +2 -2
  233. package/dist/esm/ic-data-row.entry.js.map +1 -1
  234. package/dist/esm/ic-divider.entry.js +1 -1
  235. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  236. package/dist/esm/ic-footer-link.entry.js +2 -2
  237. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  238. package/dist/esm/ic-footer.entry.js +1 -1
  239. package/dist/esm/ic-hero.entry.js +2 -2
  240. package/dist/esm/ic-hero.entry.js.map +1 -1
  241. package/dist/esm/ic-input-component-container_3.entry.js +1 -1
  242. package/dist/esm/ic-input-label_2.entry.js +1 -1
  243. package/dist/esm/ic-link.entry.js +1 -1
  244. package/dist/esm/ic-link.entry.js.map +1 -1
  245. package/dist/esm/ic-navigation-button.entry.js +1 -1
  246. package/dist/esm/ic-navigation-group.entry.js +1 -1
  247. package/dist/esm/ic-navigation-item.entry.js +1 -1
  248. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  249. package/dist/esm/ic-page-header.entry.js +2 -2
  250. package/dist/esm/ic-page-header.entry.js.map +1 -1
  251. package/dist/esm/ic-radio-group.entry.js +1 -1
  252. package/dist/esm/ic-radio-option.entry.js +16 -3
  253. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  254. package/dist/esm/ic-search-bar.entry.js +1 -1
  255. package/dist/esm/ic-select.entry.js +12 -1
  256. package/dist/esm/ic-select.entry.js.map +1 -1
  257. package/dist/esm/ic-side-navigation.entry.js +1 -1
  258. package/dist/esm/ic-status-tag.entry.js +1 -1
  259. package/dist/esm/ic-step.entry.js +1 -1
  260. package/dist/esm/ic-stepper.entry.js +1 -1
  261. package/dist/esm/ic-switch.entry.js +16 -6
  262. package/dist/esm/ic-switch.entry.js.map +1 -1
  263. package/dist/esm/ic-tab-context.entry.js +4 -3
  264. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  265. package/dist/esm/ic-tab-group.entry.js +4 -4
  266. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  267. package/dist/esm/ic-tab-panel.entry.js +8 -5
  268. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  269. package/dist/esm/ic-tab.entry.js +4 -4
  270. package/dist/esm/ic-tab.entry.js.map +1 -1
  271. package/dist/esm/ic-text-field.entry.js +9 -1
  272. package/dist/esm/ic-text-field.entry.js.map +1 -1
  273. package/dist/esm/ic-theme.entry.js +1 -1
  274. package/dist/esm/ic-top-navigation.entry.js +1 -1
  275. package/dist/esm/loader.js +1 -1
  276. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +4 -0
  277. package/dist/types/components/ic-link/ic-link.d.ts +3 -0
  278. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +4 -0
  279. package/dist/types/components/ic-select/ic-select.d.ts +3 -0
  280. package/dist/types/components/ic-switch/ic-switch.d.ts +6 -2
  281. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +3 -0
  282. package/dist/types/components/ic-text-field/ic-text-field.d.ts +3 -0
  283. package/dist/types/components.d.ts +5 -4
  284. package/dist/types/utils/helpers.d.ts +3 -0
  285. package/hydrate/index.js +113 -33
  286. package/package.json +4 -4
  287. package/dist/cjs/helpers-60fda93f.js.map +0 -1
  288. package/dist/core/p-27528d04.entry.js +0 -2
  289. package/dist/core/p-3013158d.entry.js +0 -2
  290. package/dist/core/p-36b25af4.entry.js.map +0 -1
  291. package/dist/core/p-3d6902a3.entry.js +0 -2
  292. package/dist/core/p-3d6902a3.entry.js.map +0 -1
  293. package/dist/core/p-400b34b9.entry.js.map +0 -1
  294. package/dist/core/p-438e327e.entry.js.map +0 -1
  295. package/dist/core/p-4af4a9e7.entry.js +0 -2
  296. package/dist/core/p-4af4a9e7.entry.js.map +0 -1
  297. package/dist/core/p-4e498c03.entry.js +0 -2
  298. package/dist/core/p-4e498c03.entry.js.map +0 -1
  299. package/dist/core/p-682686a6.entry.js +0 -2
  300. package/dist/core/p-682686a6.entry.js.map +0 -1
  301. package/dist/core/p-71282f37.entry.js +0 -2
  302. package/dist/core/p-71282f37.entry.js.map +0 -1
  303. package/dist/core/p-98e9eccc.entry.js +0 -2
  304. package/dist/core/p-9bf3f413.entry.js +0 -2
  305. package/dist/core/p-9bf3f413.entry.js.map +0 -1
  306. package/dist/core/p-c15bb762.js.map +0 -1
  307. package/dist/core/p-c8772106.entry.js +0 -2
  308. package/dist/core/p-c8772106.entry.js.map +0 -1
  309. package/dist/core/p-d4c6f4fb.entry.js +0 -2
  310. package/dist/core/p-d4c6f4fb.entry.js.map +0 -1
  311. package/dist/core/p-d78bded9.entry.js +0 -2
  312. package/dist/core/p-d78bded9.entry.js.map +0 -1
  313. package/dist/core/p-d8973266.entry.js +0 -2
  314. package/dist/core/p-d8973266.entry.js.map +0 -1
  315. package/dist/core/p-fca84a85.entry.js +0 -2
  316. package/dist/esm/helpers-8b43d0d4.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "./dist/index.js",
@@ -9,7 +9,7 @@
9
9
  "types": "dist/types/interface.d.ts",
10
10
  "collection": "dist/collection/collection-manifest.json",
11
11
  "collection:main": "dist/collection/index.js",
12
- "unpkg": "dist/icds/icds.esm.js",
12
+ "unpkg": "dist/core/core.esm.js",
13
13
  "files": [
14
14
  "dist/",
15
15
  "loader/",
@@ -40,7 +40,7 @@
40
40
  "dependencies": {
41
41
  "@popperjs/core": "^2.11.2",
42
42
  "@stencil/core": "^2.16.1",
43
- "@ukic/fonts": "^2.0.0"
43
+ "@ukic/fonts": "^2.0.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@babel/core": "^7.16.0",
@@ -71,5 +71,5 @@
71
71
  "ts-jest": "^26.5.6"
72
72
  },
73
73
  "license": "MIT",
74
- "gitHead": "edffd1f86e37f1e3654b286ad5dabfedb1a9cd41"
74
+ "gitHead": "54da08aac4c570eecef01679f9dd1381c2ca3f7b"
75
75
  }
@@ -1 +0,0 @@
1
- {"file":"helpers-60fda93f.js","mappings":"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","names":["IcThemeForegroundEnum"],"sources":["./src/utils/constants.ts","./src/utils/helpers.ts"],"sourcesContent":["// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcColorRGB,\n IcSearchMatchPositions,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 128;\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n): void => {\n if (always || hasShadowDom(container)) {\n let input = container.querySelector(\n \"input.ic-input\"\n ) as HTMLInputElement | null;\n if (input === null) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const input = container.querySelector(\n \"input.ic-input\"\n ) as HTMLInputElement | null;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\n\nexport const getInputHelperTextID = (id: string): string => {\n return id + \"-helper-text\";\n};\n\nexport const getInputValidationTextID = (id: string): string => {\n return id + \"-validation-text\";\n};\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string => {\n return `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const blockColorParent = el.parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\nexport const isMobileOrTablet = (): boolean => {\n let isMobileOrTablet = false;\n if (\"maxTouchPoints\" in navigator) {\n isMobileOrTablet = navigator.maxTouchPoints > 0;\n }\n return isMobileOrTablet;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value.trim().length === 0;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[]\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n return ungroupedOptions.find((option) => option.value === value)?.label;\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions\n): IcMenuOption[] => {\n let rawFilteredOptions;\n\n if (position === \"anywhere\") {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().includes(searchString.toLowerCase()) ||\n option.description?.toLowerCase().includes(searchString.toLowerCase())\n );\n } else {\n return option.label.toLowerCase().includes(searchString.toLowerCase());\n }\n });\n } else {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().startsWith(searchString.toLowerCase()) ||\n option.description\n ?.toLowerCase()\n .startsWith(searchString.toLowerCase())\n );\n } else {\n return option.label\n .toLowerCase()\n .startsWith(searchString.toLowerCase());\n }\n });\n }\n\n return rawFilteredOptions;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string => {\n return getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n};\n\nexport const getThemeForegroundColor = (): IcThemeForeground => {\n /*\n Returns if dark or light font colors should be used for color contrast reasons, calculated by using the theme RGB CSS values by:\n - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n - Adding them together and dividing by 1000\n - If the result is greater than 128 return \"dark\" color, else return \"light\" color\n This is a similar calculation to it's CSS counterpart: \"--ic-theme-text\"\n */\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n const fontColor = Math.round(\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n\n return fontColor > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nconst getSlotElements = (slot: Element) => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return !!element.querySelector(`[slot=\"${slotName}\"]`);\n};\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgb = (hex: string): IcColorRGB => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n };\n }\n};\n\nexport const rgbStrToObj = (rgbStr: string): IcColorRGB => {\n const colorRGB: IcColorRGB = { r: null, g: null, b: null };\n const rgb = rgbStr\n .substring(4, rgbStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGB.r = Number(rgb[0]);\n colorRGB.g = Number(rgb[1]);\n colorRGB.b = Number(rgb[2]);\n\n return colorRGB;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean => {\n return element.scrollWidth > element.clientWidth;\n};\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean => {\n if (document.querySelector(\"ic-classification-banner:not([inline='true'])\")) {\n return true;\n } else {\n return false;\n }\n};\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as s,g as o}from"./p-f9370be6.js";import{a as n,r,h as a}from"./p-c15bb762.js";import"./p-6f57b13c.js";const l='/*! 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}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}';const h=class{constructor(i){t(this,i);this.icChange=e(this,"icChange",7);this.handleKeyDown=t=>{switch(t.key){case"ArrowDown":case"ArrowRight":this.radioOptions[this.getNextItemToSelect(this.selectedChild,true)].selected=true;t.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.radioOptions[this.getNextItemToSelect(this.selectedChild,false)].selected=true;t.preventDefault()}};this.getNextItemToSelect=(t,e)=>{const i=this.radioOptions.length-1;if(t<1){t=0}let s=e?t+1:t-1;if(s<0){s=i}else if(s>i){s=0}if(this.radioOptions[s].disabled){s=this.getNextItemToSelect(s,e)}return s};this.label=undefined;this.name=undefined;this.required=false;this.hideLabel=false;this.disabled=false;this.helperText=undefined;this.small=false;this.validationStatus="";this.validationText="";this.checkedValue="";this.selectedChild=-1}selectHandler(t){this.checkedValue=t.detail.value;this.icChange.emit({value:this.checkedValue});if(this.radioOptions!==undefined){this.radioOptions.forEach(((t,e)=>{t.selected=this.checkedValue===t.value;if(t.selected){this.selectedChild=e}}));this.radioOptions[0].shadowRoot.querySelector("input").tabIndex=this.selectedChild>0?-1:0}}componentDidLoad(){this.radioOptions=Array.from(this.host.querySelectorAll("ic-radio-option"));this.radioOptions.forEach(((t,e)=>{if(!t.selected){t.selected=this.checkedValue===t.value}t.name=this.name;t.groupLabel=this.label;if(t.selected){this.selectedChild=e;this.checkedValue=t.value}}));this.radioOptions[0].shadowRoot.querySelector("input").tabIndex=this.selectedChild>0?-1:0;n([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Radio Group")}render(){const t=a(this.validationStatus,this.disabled);r(true,this.host,this.name,this.checkedValue,this.disabled);return i(s,{onKeyDown:this.handleKeyDown},i("div",{role:"radiogroup","aria-label":`${this.label}${this.required?", required":""}`},!this.hideLabel&&i("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled}),i("slot",null)),i("ic-input-validation",{ariaLiveMode:"polite",status:t?this.validationStatus:"",message:t?this.validationText:""}))}get host(){return o(this)}};h.style=l;export{h as ic_radio_group};
2
- //# sourceMappingURL=p-27528d04.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as a,H as s,g as e}from"./p-f9370be6.js";import{n,A as o,i as r}from"./p-c15bb762.js";import"./p-6f57b13c.js";const l=":host{display:block}.popout-modal{position:absolute;top:0;right:0;bottom:0;left:0}.popout-menu{position:fixed;top:0;right:0;width:256px;bottom:0;background-color:var(--ic-architectural-20);color:var(--ic-color-primary-text);box-shadow:var(--ic-elevation-overlay);overflow-y:auto;overflow-x:hidden;z-index:calc(var(--ic-z-index-overlay) / 2)}:host(.inline) .popout-menu{position:absolute}.menu-close-button-container{position:relative;left:190px;padding:var(--ic-space-md) 0}.nav-group-first{padding-bottom:0}.menu-buttons-container{padding:var(--ic-space-sm) 0;border-bottom:1px solid var(--ic-architectural-200)}.menu-buttons-container-nav-item-above{margin-top:var(--ic-space-md);border-top:1px solid var(--ic-architectural-200)}.menu-status-version-container{display:inline-flex;margin:var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl)}.menu-status{background-color:var(--ic-architectural-500);color:var(--ic-color-white-text);border-radius:80px;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) var(--ic-space-sm);margin-right:var(--ic-space-xs)}.menu-version{border-radius:16px;background-color:var(--ic-architectural-100);padding:var(--ic-space-xxs) var(--ic-space-sm)}.menu-status-text,.menu-version-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.navigation-landmark-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden}";const c=class{constructor(a){t(this,a);this.icNavigationMenuClose=i(this,"icNavigationMenuClose",7);this.hasButtons=false;this.hasNavigation=false;this.navItemAboveButtons=false;this.navGroupFirst=false;this.lastTabStop=null;this.closeButton=null;this.closeMenu=()=>{this.icNavigationMenuClose.emit()};this.focusCloseButton=()=>{if(this.closeButton.setFocus){this.closeButton.setFocus()}};this.focusLastTabStop=()=>{let t;if(this.lastTabStop!==null){switch(this.lastTabStop.tagName){case"IC-NAVIGATION-BUTTON":t=this.lastTabStop;t.setFocus();break;case"IC-NAVIGATION-ITEM":t=this.lastTabStop;t.setFocus();break;case"IC-NAVIGATION-GROUP":t=this.lastTabStop;t.setFocus();break;case"A":this.lastTabStop.focus();break}}};this.version="";this.status=""}navItemClickHandler(){this.closeMenu()}handleKeyDown(t){if(t.key==="Tab"){if(t.shiftKey){if(document.activeElement===this.navBarEl){t.preventDefault();this.focusLastTabStop()}}else if(document.activeElement===this.lastTabStop||this.lastTabStop===null){t.preventDefault();this.focusCloseButton()}}else if(t.key==="Escape"){this.closeMenu()}}componentWillLoad(){this.navBarEl=document.querySelector("ic-top-navigation");const t=n(this.el,"navigation");if(t){this.hasNavigation=true;const i=t[t.length-1];if(i.tagName==="IC-NAVIGATION-ITEM"){this.navItemAboveButtons=true}const a=t[0];if(a.tagName==="IC-NAVIGATION-GROUP"){this.navGroupFirst=true}}const i=n(this.el,"buttons");if(i!==null){this.hasButtons=true;this.lastTabStop=i[i.length-1]}else{if(this.hasNavigation){const i=t[t.length-1];const a=o(i,"navigation-item");if(a!==null){this.lastTabStop=a}else{this.lastTabStop=i}}}}componentDidLoad(){this.focusCloseButton()}componentWillRender(){this.hasNavigation=r(this.el,"navigation");this.hasButtons=r(this.el,"buttons")}render(){return a(s,null,a("div",{class:"popout-modal",onClick:this.closeMenu}),a("div",{class:"popout-menu",role:"dialog","aria-modal":"true","aria-label":`${this.hasNavigation?"Navigation":"App"} menu`},a("span",{"aria-hidden":"true",id:"navigation-landmark-text",class:"navigation-landmark-text"},"Main navigation"),a("nav",{"aria-labelledby":"navigation-landmark-text","aria-hidden":this.hasNavigation?"false":"true"},a("div",{class:{["menu-close-button-container"]:true,["nav-group-first"]:this.navGroupFirst}},a("ic-button",{ref:t=>this.closeButton=t,id:"menu-close-button",class:"menu-close-button",variant:"icon",size:"large","aria-label":`Close ${this.hasNavigation?"navigation":"app"} menu`,onClick:this.closeMenu},a("svg",{slot:"icon",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a("path",{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#1759BC"})))),this.hasNavigation&&a("slot",{name:"navigation"})),this.hasButtons&&a("div",{class:{["menu-buttons-container"]:true,["menu-buttons-container-nav-item-above"]:this.navItemAboveButtons}},a("slot",{name:"buttons"})),(this.status!==""||this.version!=="")&&a("div",{class:"menu-status-version-container"},this.status!==""&&a("div",{class:"menu-status"},a("ic-typography",{variant:"label-uppercase","aria-label":"app tag",class:"menu-status-text"},this.status)),this.version!==""&&a("div",{class:"menu-version"},a("ic-typography",{variant:"label",class:"menu-version-text","aria-label":"app version"},this.version)))))}get el(){return e(this)}};c.style=l;export{c as ic_navigation_menu};
2
- //# sourceMappingURL=p-3013158d.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","Dark","role","aria-selected","onClick","onFocus","onMouseDown","aria-disabled","tabindex","host","querySelector","name","variant"],"mappings":"wIAAA,MAAMA,EAAW,mzHCyBJC,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,QAgDlDW,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,eAAgBM,IAAeI,EAAsBC,MAExDC,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-dark) {\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 = \"light\";\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-dark\"]: appearance === IcThemeForegroundEnum.Dark,\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,2 +0,0 @@
1
- import{r as t,h as e,H as s,g as n}from"./p-f9370be6.js";import{a as i}from"./p-c15bb762.js";import"./p-6f57b13c.js";const o=":host{display:block}";const a=class{constructor(e){t(this,e);this.contextId="default";this.tabPosition=undefined;this.panelId=undefined;this.selectedTab=undefined}componentDidLoad(){i([{prop:this.tabPosition,propName:"tab-position"}],"Tab Panel")}render(){const{panelId:t,selectedTab:n}=this;return e(s,{role:"tabpanel",hidden:t!==undefined&&n!==undefined?!(t===n):true},e("div",null,e("slot",null)))}get host(){return n(this)}};a.style=o;export{a as ic_tab_panel};
2
- //# sourceMappingURL=p-3d6902a3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"names":["icTabPanelCss","TabPanel","[object Object]","onComponentRequiredPropUndefined","prop","this","tabPosition","propName","panelId","selectedTab","h","Host","role","hidden","undefined"],"mappings":"qHAAA,MAAMA,EAAgB,6BCQTC,EAAQ,8CAM2B,uFAW9CC,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,YAAaC,SAAU,iBACrC,aAIJL,SACE,MAAMM,QAAEA,EAAOC,YAAEA,GAAgBJ,KACjC,OACEK,EAACC,EAAI,CACHC,KAAK,WACLC,OACEL,IAAYM,WAAaL,IAAgBK,YACnCN,IAAYC,GACd,MAGNC,EAAA,MAAA,KACEA,EAAA,OAAA","sourcesContent":[":host {\n display: block;\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() host: HTMLIcTabPanelElement;\n\n /**\n * Provide a unique context if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /** @internal The position of the tab panel inside the tabs array in context. */\n @Prop({ reflect: true }) tabPosition!: number;\n\n /** @internal The shared ID that links the panel and tab. */\n @Prop({ reflect: true }) panelId?: string;\n\n /** @internal The shared ID of the currently selected tab. */\n @Prop() selectedTab?: string;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.tabPosition, propName: \"tab-position\" }],\n \"Tab Panel\"\n );\n }\n\n render() {\n const { panelId, selectedTab } = this;\n return (\n <Host\n role=\"tabpanel\"\n hidden={\n panelId !== undefined && selectedTab !== undefined\n ? !(panelId === selectedTab)\n : true\n }\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-page-header/ic-page-header.css?tag=ic-page-header&encapsulation=shadow","src/components/ic-page-header/ic-page-header.tsx"],"names":["icPageHeaderCss","PageHeader","this","resizeObserver","resizeObserverCallback","reverseOrder","applyReverseOrder","runResizeObserver","ResizeObserver","observe","el","currSize","getCurrentDeviceSize","deviceSize","actionArea","shadowRoot","querySelector","actionHeights","i","actionContent","length","action","actionHeight","offsetHeight","undefined","push","max","Math","actionAreaHeight","DEVICE_SIZES","S","areButtonsReversed","reverse","forEach","btn","append","XL","[object Object]","Array","from","querySelectorAll","checkResizeObserver","disconnect","small","border","heading","subheading","aligned","sticky","stickyDesktopOnly","h","Host","class","isSlotUsed","fullHeight","name","variant","aria-label"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n:host(.sticky) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n}\n\nheader {\n background-color: var(--ic-architectural-40);\n}\n\nheader.border-bottom {\n border-bottom: 1px solid var(--ic-architectural-300);\n}\n\nheader.tabs {\n padding-top: var(--ic-space-md);\n}\n\n.breadcrumb-area {\n margin-bottom: var(--ic-space-md);\n}\n\n.main-content {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-areas:\n \"title-area action-area\"\n \"input-area action-area\";\n column-gap: var(--ic-space-md);\n justify-content: space-between;\n width: 100%;\n}\n\n.title-area {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 304px;\n grid-area: title-area;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n width: 100%;\n flex-wrap: wrap;\n row-gap: var(--ic-space-xs);\n column-gap: var(--ic-space-md);\n}\n\n.heading {\n display: inline-block;\n overflow-wrap: break-word;\n hyphens: auto;\n}\n\n.subheading.small {\n margin-top: var(--ic-space-xs);\n}\n\n.action-area {\n display: flex;\n gap: var(--ic-space-md);\n flex-flow: row wrap;\n justify-self: end;\n justify-content: flex-end;\n height: fit-content;\n grid-area: action-area;\n}\n\n.input-area,\n.navigation-area {\n margin-top: var(--ic-space-md);\n width: 100%;\n}\n\n.tabs-slot {\n display: flex;\n overflow-x: auto;\n padding: 8px;\n margin: -8px;\n}\n\n.input-area {\n grid-area: input-area;\n}\n\n@media screen and (max-width: 576px) {\n .main-content {\n grid-template-areas:\n \"title-area\"\n \"action-area\"\n \"input-area\";\n justify-content: flex-start;\n }\n\n .action-area {\n min-width: 100%;\n margin-top: var(--ic-space-md);\n justify-content: start;\n }\n}\n\n@media screen and (min-width: 992px) {\n :host(.sticky-desktop) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\n\nimport { IcAlignment } from \"../../utils/types\";\n\nimport {\n isSlotUsed,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n checkResizeObserver,\n} from \"../../utils/helpers\";\n\n/**\n * @slot breadcrumbs - Content will be rendered in the breadcrumb area, above the title and action areas.\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot heading-adornment - Content will be rendered in the title area, adjacent to the heading.\n * @slot actions - Content will be rendered in the action area, adjacent to the title area.\n * @slot input - Content will be rendered in the input area, below the title area and adjacent to the action area.\n * @slot stepper - Content will be rendered in the navigation area, below the title and action areas. Note: stepper slot cannot be used when the tabs slot is being used.\n * @slot tabs - Content will be rendered in the navigation area, below the title and action areas. Note: the stepper slot cannot be used when the tabs slot is being used.\n */\n\n@Component({\n tag: \"ic-page-header\",\n styleUrl: \"ic-page-header.css\",\n shadow: true,\n})\nexport class PageHeader {\n @Element() el: HTMLIcPageHeaderElement;\n /**\n * The title to render on the component.\n */\n @Prop() heading?: string;\n /**\n * The subtitle to render on the component.\n */\n @Prop() subheading?: string;\n /**\n * How the component should be aligned.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n /**\n * Whether the component uses small styling.\n */\n @Prop() small?: boolean = false;\n /**\n * Set whether the bottom border is used\n */\n @Prop() border?: boolean = true;\n /**\n * Set whether the header is sticky at all breakpoints\n */\n @Prop() sticky?: boolean = false;\n /** Set whether the header is only sticky for viewport widths of 992px and above\n */\n @Prop() stickyDesktopOnly?: boolean = false;\n /** Set whether the reading pattern and tab order change in the action area for viewport widths of above 576px and when actions have not wrapped\n */\n @Prop() reverseOrder?: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n @State() areButtonsReversed: boolean = false;\n\n @State() actionContent: Node[];\n\n private resizeObserver: ResizeObserver = null;\n\n private resizeObserverCallback = () => {\n if (this.reverseOrder) {\n this.applyReverseOrder();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n private applyReverseOrder = (): void => {\n const currSize = getCurrentDeviceSize();\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n\n const actionArea = this.el.shadowRoot.querySelector(\n \"div.action-area\"\n ) as HTMLElement;\n const actionHeights: number[] = [];\n\n /* For each button in the actions slot, check the height of the button and push this number into the actionHeights array and then find the greatest number in this array (i.e. find the height of the tallest button) */\n for (let i = 0; i < this.actionContent.length; i++) {\n const action = this.actionContent[i] as HTMLElement;\n let actionHeight = action.offsetHeight;\n if (actionHeight === undefined) {\n actionHeight = 0;\n }\n actionHeights.push(actionHeight);\n }\n\n const max = Math.max(...actionHeights);\n\n /* The smallest breakpoint displays buttons in the same order the user has slotted them in. When the device size is larger than the small breakpoiint then the order of the button reverses due to best practice for reading patterns. If the device size is larger than the small breakpoint and the buttons have started to wrap then they follow the order the user has slotted them in. This logic is programmed based on the height of the action-area div that wraps the actions slot. If the height of the action-area div is taller than the height of the tallest button, then it is assumed that the taller height is caused by the buttons wrapping */\n let actionAreaHeight = actionArea.offsetHeight;\n\n if (actionAreaHeight === undefined) {\n actionAreaHeight = 0;\n }\n\n if (\n this.deviceSize > DEVICE_SIZES.S &&\n actionAreaHeight <= max &&\n !this.areButtonsReversed\n ) {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n } else if (\n ((this.deviceSize > DEVICE_SIZES.S && actionAreaHeight > max) ||\n this.deviceSize <= DEVICE_SIZES.S) &&\n this.areButtonsReversed\n ) {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n }\n };\n\n componentWillLoad(): void {\n this.actionContent = Array.from(\n this.el.querySelectorAll(`[slot=\"actions\"]`)\n );\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const {\n small,\n border,\n heading,\n subheading,\n aligned,\n sticky,\n stickyDesktopOnly,\n } = this;\n\n return (\n <Host\n class={{\n [\"sticky\"]: sticky,\n [\"sticky-desktop\"]: !sticky && stickyDesktopOnly,\n }}\n >\n <header\n class={{\n [\"border-bottom\"]: border,\n [\"tabs\"]: isSlotUsed(this.el, \"tabs\"),\n }}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight={isSlotUsed(this.el, \"tabs\")}\n >\n {isSlotUsed(this.el, \"breadcrumbs\") && (\n <div class=\"breadcrumb-area\">\n <slot name=\"breadcrumbs\" />\n </div>\n )}\n <div class=\"main-content\">\n <div class=\"title-area\">\n <div class=\"header-content\">\n <slot name=\"heading\">\n <ic-typography\n variant={small ? \"h4\" : \"h2\"}\n class=\"heading\"\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n <slot name=\"heading-adornment\" />\n </div>\n <div>\n <slot name=\"subheading\">\n {subheading && (\n <ic-typography\n variant=\"body\"\n class={{ [\"subheading\"]: true, [\"small\"]: small }}\n >\n {subheading}\n </ic-typography>\n )}\n </slot>\n </div>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n {isSlotUsed(this.el, \"input\") && (\n <div class=\"input-area\">\n <slot name=\"input\" />\n </div>\n )}\n </div>\n\n {(isSlotUsed(this.el, \"stepper\") ||\n isSlotUsed(this.el, \"tabs\")) && (\n <div class=\"navigation-area\">\n {isSlotUsed(this.el, \"stepper\") &&\n !isSlotUsed(this.el, \"tabs\") && <slot name=\"stepper\" />}\n {isSlotUsed(this.el, \"tabs\") && (\n <nav\n class=\"tabs-slot\"\n aria-label=\"navigation-landmark-page-header\"\n >\n <slot name=\"tabs\" />\n </nav>\n )}\n </div>\n )}\n </ic-section-container>\n </header>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-data-row/ic-data-row.css?tag=ic-data-row&encapsulation=shadow","src/components/ic-data-row/ic-data-row.tsx"],"names":["icDataRowCss","DataRow","this","resizeObserver","hasEndComponent","runResizeObserver","ResizeObserver","checkLabelAbove","observe","el","DEVICE_SIZES","XL","[object Object]","rowSize","_a","shadowRoot","querySelector","clientWidth","S","entitySize","M","component","querySelectorAll","forEach","child","setAttribute","label","deviceSize","getCurrentDeviceSize","slotHasContent","checkResizeObserver","labelEndComponent","disconnect","value","small","h","Host","class","role","name","variant"],"mappings":"0IAAA,MAAMA,EAAe,6/FCkBRC,EAAO,+BAsBVC,KAAAC,eAAiC,KAEjCD,KAAAE,gBAA2B,MAE3BF,KAAAG,kBAAoB,KAC1BH,KAAKC,eAAiB,IAAIG,gBAAe,KACvCJ,KAAKK,qBAGPL,KAAKC,eAAeK,QAAQN,KAAKO,0DAfV,sBAEKC,EAAaC,6BAgBnCC,wBACN,MAAMC,GAAUC,EAAAZ,KAAKO,GAAGM,WAAWC,cAAc,YAAQ,MAAAF,SAAA,OAAA,EAAAA,EAAEG,YAC3D,GAAIJ,EAAU,GAAKH,EAAaQ,EAAG,CACjChB,KAAKiB,WAAa,UACb,GAAIN,EAAU,GAAKH,EAAaU,EAAG,CACxClB,KAAKiB,WAAa,QACb,CACLjB,KAAKiB,WAAa,MAIdP,oBACN,MAAMS,EAAYnB,KAAKO,GAAGM,WAAWO,iBACnC,4BAGFD,EAAUE,SAASC,GACjBA,EAAMC,aAAa,aAAc,OAASvB,KAAKwB,MAAQ,UAI3Dd,oBACEV,KAAKyB,WAAaC,IAClB1B,KAAKE,gBAAkByB,EAAe3B,KAAKO,GAAI,iBAGjDG,mBACEkB,EAAoB5B,KAAKG,mBACzBH,KAAKK,kBACL,GAAIL,KAAKE,gBAAiB,CACxBF,KAAK6B,qBAITnB,uBACE,GAAIV,KAAKC,iBAAmB,KAAM,CAChCD,KAAKC,eAAe6B,cAIxBpB,SACE,MAAMc,MAAEA,EAAKO,MAAEA,EAAKC,MAAEA,GAAUhC,KAEhC,OACEiC,EAACC,EAAI,CACHC,MAAO,CACLzB,CAAC,SAAUsB,EACXtB,CAAC,qBAAsBV,KAAKiB,aAAe,IAC3CP,CAAC,iBAAkBV,KAAKiB,aAAe,MAEzCmB,KAAK,YAELH,EAAA,MAAA,CAAKE,MAAM,QACTF,EAAA,MAAA,CAAKE,MAAM,cACTF,EAAA,MAAA,CAAKE,MAAM,SACTF,EAAA,OAAA,CAAMI,KAAK,SACTJ,EAAA,gBAAA,CACEK,QACEtC,KAAKiB,aAAe,KAAO,QAAU,kBAGtCO,KAIPS,EAAA,MAAA,CAAKE,MAAM,SACTF,EAAA,OAAA,CAAMI,KAAK,SACTJ,EAAA,gBAAA,CAAeK,QAAQ,QAAQP,MAIpC/B,KAAKE,iBACJ+B,EAAA,MAAA,CAAKE,MAAM,iBACTF,EAAA,MAAA,CAAKG,KAAK,QACRH,EAAA,OAAA,CAAMI,KAAK,qBAKnBJ,EAAA,MAAA,CAAKE,MAAM","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n position: relative;\n display: block;\n}\n\n.data {\n display: flex;\n align-items: center;\n}\n\n.text-cells {\n display: flex;\n flex-grow: 1;\n min-width: 0;\n}\n\n.label {\n width: 200px;\n min-width: 200px;\n margin-right: var(--ic-space-md);\n color: var(--ic-color-tertiary-text);\n}\n\n.value {\n flex-grow: 1;\n}\n\n.end-component {\n width: fit-content;\n margin-left: 56px;\n}\n\n.divider {\n margin-top: var(--ic-space-md);\n height: 1px;\n background-color: var(--ic-architectural-300);\n}\n\n:host(.small) .divider {\n margin-top: var(--ic-space-xs);\n}\n\n:host(.breakpoint-medium) .label {\n width: 160px;\n min-width: 160px;\n}\n\n:host(.breakpoint-xs) .text-cells {\n flex-direction: column;\n}\n\n:host(.breakpoint-xs) .label {\n width: 128px;\n margin-bottom: var(--ic-space-xs);\n}\n","import { Component, Element, Host, Prop, h, State } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n slotHasContent,\n} from \"../../utils/helpers\";\n\n/**\n * @slot label - Content will be rendered in the leftmost cell.\n * @slot value - Content will be rendered to the right of the label.\n * @slot end-component - Content will be displayed in the rightmost cell.\n */\n@Component({\n tag: \"ic-data-row\",\n styleUrl: \"ic-data-row.css\",\n shadow: true,\n})\nexport class DataRow {\n @Element() el: HTMLIcDataRowElement;\n\n /**\n * Set the label in the leftmost cell of the row\n */\n @Prop() label: string;\n\n /**\n * Set the value of the middle (right if no addition supplied) cell of the row\n */\n @Prop() value: string;\n\n /**\n * Set the row to small styling, this is automatically applied if small is set on the parent data heading\n */\n @Prop() small: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n @State() entitySize: \"xl\" | \"m\" | \"xs\";\n\n private resizeObserver: ResizeObserver = null;\n\n private hasEndComponent: boolean = false;\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkLabelAbove();\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n private checkLabelAbove() {\n const rowSize = this.el.shadowRoot.querySelector(\".data\")?.clientWidth;\n if (rowSize + 46 < DEVICE_SIZES.S) {\n this.entitySize = \"xs\";\n } else if (rowSize + 46 < DEVICE_SIZES.M) {\n this.entitySize = \"m\";\n } else {\n this.entitySize = \"xl\";\n }\n }\n\n private labelEndComponent(): void {\n const component = this.el.shadowRoot.querySelectorAll(\n \"slot[name=end-component]\"\n );\n\n component.forEach((child: HTMLElement) =>\n child.setAttribute(\"aria-label\", \"for \" + this.label + \" row\")\n );\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n this.hasEndComponent = slotHasContent(this.el, \"end-component\");\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n this.checkLabelAbove();\n if (this.hasEndComponent) {\n this.labelEndComponent();\n }\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const { label, value, small } = this;\n\n return (\n <Host\n class={{\n [\"small\"]: small,\n [\"breakpoint-medium\"]: this.entitySize === \"m\",\n [\"breakpoint-xs\"]: this.entitySize === \"xs\",\n }}\n role=\"listitem\"\n >\n <div class=\"data\">\n <div class=\"text-cells\">\n <div class=\"label\">\n <slot name=\"label\">\n <ic-typography\n variant={\n this.entitySize === \"xs\" ? \"label\" : \"subtitle-large\"\n }\n >\n {label}\n </ic-typography>\n </slot>\n </div>\n <div class=\"value\">\n <slot name=\"value\">\n <ic-typography variant=\"body\">{value}</ic-typography>\n </slot>\n </div>\n </div>\n {this.hasEndComponent && (\n <div class=\"end-component\">\n <div role=\"cell\">\n <slot name=\"end-component\"></slot>\n </div>\n </div>\n )}\n </div>\n <div class=\"divider\" />\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as s,g as r}from"./p-f9370be6.js";import{x as l,c as a,a as o}from"./p-c15bb762.js";import{I as e}from"./p-6f57b13c.js";const c=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.0876 1.175L5.9126 0L0.912598 5L5.9126 10L7.0876 8.825L3.27093 5L7.0876 1.175Z"/>\n</svg>`;const n=`<svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.0876 0L0.912598 1.175L4.72926 5L0.912598 8.825L2.0876 10L7.0876 5L2.0876 0Z"/>\n</svg>\n`;const h=":host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);--tab-scroll-focus:var(--ic-border-focus);--tab-scroll-fill:var(--ic-action-default);--tab-scroll-disabled-fill:var(--ic-architectural-300);--tab-scroll-hover:var(--ic-action-default-bg-hover);--tab-scroll-active:var(--ic-action-default-bg-active);display:block;margin-bottom:var(--ic-space-md);margin-left:calc(-1 * var(--ic-space-xs))}:host(.dark){--splitter-color:var(--ic-architectural-white);--tab-scroll-focus:var(--ic-border-focus-dark);--tab-scroll-fill:var(--ic-action-light);--tab-scroll-disabled-fill:var(--ic-architectural-500);--tab-scroll-hover:var(--ic-action-dark-bg-hover);--tab-scroll-active:var(--ic-action-dark-bg-active)}:host([inline]){margin-bottom:0}.tabs-container{display:flex;flex-direction:row;overflow-y:hidden;overflow-x:scroll;height:100%;align-items:center;padding:var(--ic-space-xs);scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;margin:calc(-1 * var(--ic-space-xs)) 0}.tabs-container::-webkit-scrollbar{display:none}.ic-tab-group-container{display:flex;align-items:center}:host(.dark.ic-tab-group-not-inline){--border-bottom-color:var(--ic-architectural-white)}.scroll-container{display:flex}.scroll-container.hidden{display:none}.scroll-container:first-child{margin-left:var(--ic-space-xs)}.scroll-arrow{display:flex;width:36px;height:36px;margin:var(--ic-space-xxs) var(--ic-space-xxxs);align-items:center;justify-content:center;fill:var(--tab-scroll-fill);cursor:pointer}.scroll-arrow:focus{outline:none}.scroll-arrow:hover{background-color:var(--tab-scroll-hover)}.scroll-arrow:active{background-color:var(--tab-scroll-active)}.scroll-container.disabled .scroll-arrow{fill:var(--tab-scroll-disabled-fill);cursor:default}.scroll-container.disabled .scroll-arrow:hover,.scroll-container.disabled .scroll-arrow:active,.scroll-container.disabled .scroll-arrow:focus{background-color:unset;box-shadow:none}.scroll-container.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:1px;margin-top:10px;background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:var(--ic-space-xxxs)}.scroll-splitter-right{margin-right:var(--ic-space-xxxs)}.scroll-container.disabled .scroll-splitter-left,.scroll-container.disabled .scroll-splitter-right{display:none}.ic-tab-splitter{display:block;background-color:var(--border-bottom-color);height:1px;right:0;left:0;margin-left:var(--ic-space-xs)}.ic-tab-splitter.hidden{height:0}";const d=200;const b=class{constructor(i){t(this,i);this.buttonStateSet=false;this.resizeObserverCallback=()=>{if(this.tabGroupEl===null||this.tabGroupEl===undefined){this.tabGroupEl=this.host.shadowRoot.querySelector(".tabs-container")}this.tabOverflow=l(this.tabGroupEl);if(this.tabOverflow){this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.splitterEl)};this.scrollLeft=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()-1)};this.scrollRight=()=>{this.scrollTabIntoView(this.getCurrentLeftTab()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=()=>{this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftTab=()=>{const t=this.tabOffsets.findIndex((t=>t>this.tabGroupEl.scrollLeft));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{if(this.buttonStateSet===false){this.firstTabVisible=this.tabGroupEl.scrollLeft===0;this.lastTabVisible=this.tabGroupEl.offsetWidth+this.tabGroupEl.scrollLeft>=this.tabGroupEl.scrollWidth}this.buttonStateSet=false};this.contextId="default";this.inline=false;this.label=undefined;this.appearance="light";this.firstTabVisible=true;this.lastTabVisible=false;this.tabOverflow=false}async scrollTabIntoView(t){this.firstTabVisible=t<=0;const i=t<=0?0:this.tabOffsets[t-1];this.lastTabVisible=this.tabGroupEl.offsetWidth+i>=this.tabGroupEl.scrollWidth;this.buttonStateSet=true;this.tabGroupEl.scrollLeft=i}tabFocusHandler(t){if(this.tabOverflow){this.scrollTabIntoView(t.detail.position)}}componentDidLoad(){this.tabs=Array.from(this.host.querySelectorAll("ic-tab"));let t=0;this.tabOffsets=this.tabs.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);o([{prop:this.label,propName:"label"}],"Tab List")}disconnectedCallback(){this.resizeObserver.disconnect()}render(){const{inline:t,appearance:r,label:l,firstTabVisible:a,lastTabVisible:o,tabOverflow:h}=this;return i(s,{role:"tablist","aria-label":l,class:{["dark"]:r===e.Dark,["ic-tab-group-not-inline"]:!t}},i("div",{class:"ic-tab-group-container"},this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-left",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:a}},i("ic-tooltip",{placement:"bottom-start",label:"Scroll left",target:"left-arrow"},i("span",{id:"left-arrow",class:"scroll-arrow",innerHTML:c,onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})),i("span",{class:"scroll-splitter-left"})),i("div",{class:"tabs-container",ref:t=>this.tabGroupEl=t,onScroll:this.scrollHandler},i("slot",null)),this.tabOverflow&&i("div",{"aria-hidden":"true",id:"scroll-container-right",class:{["scroll-container"]:true,["hidden"]:!h,["disabled"]:o}},i("span",{class:"scroll-splitter-right"}),i("ic-tooltip",{placement:"bottom-start",label:"Scroll right",target:"right-arrow"},i("span",{id:"right-arrow",class:"scroll-arrow",innerHTML:n,onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler,onMouseUp:this.arrowMouseUpHandler})))),i("div",{"aria-hidden":"true",class:{["ic-tab-splitter"]:true,["hidden"]:t},ref:t=>this.splitterEl=t}))}get host(){return r(this)}};b.style=h;export{b as ic_tab_group};
2
- //# sourceMappingURL=p-4af4a9e7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-tab-group/ic-tab-group.css?tag=ic-tab-group&encapsulation=shadow","src/components/ic-tab-group/ic-tab-group.tsx"],"names":["icTabGroupCss","SCROLL_DELAY_MS","TabGroup","this","buttonStateSet","resizeObserverCallback","tabGroupEl","undefined","host","shadowRoot","querySelector","tabOverflow","elementOverflowsX","lastTabVisible","offsetWidth","scrollLeft","scrollWidth","runResizeObserver","resizeObserver","ResizeObserver","observe","splitterEl","scrollTabIntoView","getCurrentLeftTab","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","tabOffsets","findIndex","el","scrollHandler","isScrolling","scrollStopped","firstTabVisible","[object Object]","tabNumber","newScrollPos","event","detail","position","tabs","Array","from","querySelectorAll","runningTotal","map","tab","checkResizeObserver","onComponentRequiredPropUndefined","prop","label","propName","disconnect","inline","appearance","h","Host","role","aria-label","class","IcThemeForegroundEnum","Dark","aria-hidden","id","placement","target","innerHTML","LeftArrow","onClick","onMouseDown","onMouseUp","ref","onScroll","RightArrow"],"mappings":"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","sourcesContent":[":host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n --tab-scroll-focus: var(--ic-border-focus);\n --tab-scroll-fill: var(--ic-action-default);\n --tab-scroll-disabled-fill: var(--ic-architectural-300);\n --tab-scroll-hover: var(--ic-action-default-bg-hover);\n --tab-scroll-active: var(--ic-action-default-bg-active);\n\n display: block;\n margin-bottom: var(--ic-space-md);\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.dark) {\n --splitter-color: var(--ic-architectural-white);\n --tab-scroll-focus: var(--ic-border-focus-dark);\n --tab-scroll-fill: var(--ic-action-light);\n --tab-scroll-disabled-fill: var(--ic-architectural-500);\n --tab-scroll-hover: var(--ic-action-dark-bg-hover);\n --tab-scroll-active: var(--ic-action-dark-bg-active);\n}\n\n:host([inline]) {\n margin-bottom: 0;\n}\n\n.tabs-container {\n display: flex;\n flex-direction: row;\n overflow-y: hidden;\n overflow-x: scroll;\n height: 100%;\n align-items: center;\n padding: var(--ic-space-xs);\n scroll-behavior: smooth;\n -ms-overflow-style: none;\n scrollbar-width: none;\n margin: calc(-1 * var(--ic-space-xs)) 0;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.ic-tab-group-container {\n display: flex;\n align-items: center;\n}\n\n:host(.dark.ic-tab-group-not-inline) {\n --border-bottom-color: var(--ic-architectural-white);\n}\n\n.scroll-container {\n display: flex;\n}\n\n.scroll-container.hidden {\n display: none;\n}\n\n.scroll-container:first-child {\n margin-left: var(--ic-space-xs);\n}\n\n.scroll-arrow {\n display: flex;\n width: 36px;\n height: 36px;\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n align-items: center;\n justify-content: center;\n fill: var(--tab-scroll-fill);\n cursor: pointer;\n}\n\n.scroll-arrow:focus {\n outline: none;\n}\n\n.scroll-arrow:hover {\n background-color: var(--tab-scroll-hover);\n}\n\n.scroll-arrow:active {\n background-color: var(--tab-scroll-active);\n}\n\n.scroll-container.disabled .scroll-arrow {\n fill: var(--tab-scroll-disabled-fill);\n cursor: default;\n}\n\n.scroll-container.disabled .scroll-arrow:hover,\n.scroll-container.disabled .scroll-arrow:active,\n.scroll-container.disabled .scroll-arrow:focus {\n background-color: unset;\n box-shadow: none;\n}\n\n.scroll-container.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: 1px;\n margin-top: 10px;\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: var(--ic-space-xxxs);\n}\n\n.scroll-splitter-right {\n margin-right: var(--ic-space-xxxs);\n}\n\n.scroll-container.disabled .scroll-splitter-left,\n.scroll-container.disabled .scroll-splitter-right {\n display: none;\n}\n\n.ic-tab-splitter {\n display: block;\n background-color: var(--border-bottom-color);\n height: 1px;\n right: 0;\n left: 0;\n margin-left: var(--ic-space-xs);\n}\n\n.ic-tab-splitter.hidden {\n height: 0;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Method,\n Listen,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\n\nimport {\n checkResizeObserver,\n elementOverflowsX,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"../ic-tab/ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: true,\n})\nexport class TabGroup {\n @Element() host: HTMLIcTabGroupElement;\n\n /**\n * Provide a unique context if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Use when tabs and tab panels are to be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * Provide a label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"light\";\n\n @State() firstTabVisible: boolean = true;\n @State() lastTabVisible: boolean = false;\n @State() tabOverflow: boolean = false;\n\n private tabs: HTMLIcTabElement[];\n private tabOffsets: number[];\n private tabGroupEl: HTMLElement;\n private splitterEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private isScrolling: number;\n private scrollDelay: number;\n private buttonStateSet: boolean = false;\n\n /**\n * @internal if tab side scrolling enabled, scrolls the specified tab into view\n */\n @Method()\n async scrollTabIntoView(tabNumber: number): Promise<void> {\n this.firstTabVisible = tabNumber <= 0;\n const newScrollPos = tabNumber <= 0 ? 0 : this.tabOffsets[tabNumber - 1];\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + newScrollPos >= this.tabGroupEl.scrollWidth;\n this.buttonStateSet = true;\n this.tabGroupEl.scrollLeft = newScrollPos;\n }\n\n @Listen(\"tabFocus\")\n tabFocusHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (this.tabOverflow) {\n this.scrollTabIntoView(event.detail.position);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.tabGroupEl === null || this.tabGroupEl === undefined) {\n this.tabGroupEl = this.host.shadowRoot.querySelector(\".tabs-container\");\n }\n this.tabOverflow = elementOverflowsX(this.tabGroupEl);\n if (this.tabOverflow) {\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.splitterEl);\n };\n\n private scrollLeft = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() - 1);\n };\n\n private scrollRight = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftTab = (): number => {\n const index = this.tabOffsets.findIndex(\n (el) => el > this.tabGroupEl.scrollLeft\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // if scrollTabIntoView has been called, the button states will already be set\n // can't just handle it here as it causes strange jumping behaviour in positioning\n if (this.buttonStateSet === false) {\n this.firstTabVisible = this.tabGroupEl.scrollLeft === 0;\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n componentDidLoad(): void {\n this.tabs = Array.from(this.host.querySelectorAll(\"ic-tab\"));\n let runningTotal = 0;\n this.tabOffsets = this.tabs.map((tab) => {\n runningTotal += tab.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab List\"\n );\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n render() {\n const {\n inline,\n appearance,\n label,\n firstTabVisible,\n lastTabVisible,\n tabOverflow,\n } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"dark\"]: appearance === IcThemeForegroundEnum.Dark,\n [\"ic-tab-group-not-inline\"]: !inline,\n }}\n >\n <div class=\"ic-tab-group-container\">\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-left\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: firstTabVisible,\n }}\n >\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll left\"\n target=\"left-arrow\"\n >\n <span\n id=\"left-arrow\"\n class=\"scroll-arrow\"\n innerHTML={LeftArrow}\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n )}\n <div\n class=\"tabs-container\"\n ref={(el) => (this.tabGroupEl = el)}\n onScroll={this.scrollHandler}\n >\n <slot></slot>\n </div>\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-right\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: lastTabVisible,\n }}\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll right\"\n target=\"right-arrow\"\n >\n <span\n id=\"right-arrow\"\n class=\"scroll-arrow\"\n innerHTML={RightArrow}\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n </div>\n )}\n </div>\n\n <div\n aria-hidden=\"true\"\n class={{\n [\"ic-tab-splitter\"]: true,\n [\"hidden\"]: inline,\n }}\n ref={(el) => (this.splitterEl = el)}\n ></div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as a,g as o}from"./p-f9370be6.js";import{n,a as r}from"./p-c15bb762.js";import"./p-6f57b13c.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{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%}';const c=class{constructor(i){t(this,i);this.icCheck=e(this,"icCheck",7);this.radioOptionSelect=e(this,"radioOptionSelect",7);this.defaultRadioValue="";this.handleClick=()=>{if(!this.disabled){this.radioElement.focus();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.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"}selectedChangeHandler(t){if(t){this.handleClick()}}componentWillLoad(){const t=n(this.host,"additional-field");if(t!==null){this.hasAdditionalField=true;const e=t[0];if(e.tagName==="IC-TEXT-FIELD"){const t=e;t.hiddenInput=false}}this.defaultRadioValue=this.value}textfieldValueHandler(t){const e=t.detail.value;if(this.selected){if(e!==""){this.value=t.detail.value;this.radioOptionSelect.emit({value:this.value})}else{this.value=this.defaultRadioValue;this.radioOptionSelect.emit({value:this.defaultRadioValue})}}}componentDidLoad(){r([{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")}}}render(){const t=`ic-radio-option-${this.label!==undefined?this.label:this.value}-${this.groupLabel}`;return i(a,{onClick:this.handleClick},i("div",{class:{["container"]:true,["disabled"]:this.disabled}},i("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}),i("span",{class:"checkmark"}),i("ic-typography",{class:"radio-label",variant:"body"},i("label",{htmlFor:t},this.label))),this.hasAdditionalField&&i("div",{onClick:this.swallowClick,class:{"dynamic-container":true,hidden:this.additionalFieldDisplay==="dynamic"&&!this.selected}},this.additionalFieldDisplay==="dynamic"&&i("div",{class:"branch-corner"}),i("div",null,this.additionalFieldDisplay==="dynamic"&&i("ic-typography",{variant:"caption"},i("p",{class:"dynamic-text"},this.dynamicText)),i("div",{class:{"addition-field-wrapper":this.additionalFieldDisplay==="static"}},i("slot",{name:"additional-field"})))))}get host(){return o(this)}static get watchers(){return{selected:["selectedChangeHandler"]}}};c.style=s;export{c as ic_radio_option};
2
- //# sourceMappingURL=p-4e498c03.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","handleClick","disabled","radioElement","focus","hasAdditionalField","textfield","host","querySelector","value","radioOptionSelect","emit","swallowClick","event","stopPropagation","[object Object]","selected","additonalFieldContent","getSlotContent","Element","tagName","textField","hiddenInput","textFieldValue","detail","onComponentRequiredPropUndefined","prop","propName","additionalFieldDisplay","setAttribute","removeAttribute","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":"8HAAA,MAAMA,EAAmB,igLCsBZC,EAAW,qHAuDdC,KAAAC,kBAA4B,GAE5BD,KAAAE,YAAc,KACpB,IAAKF,KAAKG,SAAU,CAClBH,KAAKI,aAAaC,QAElB,GAAIL,KAAKM,mBAAoB,CAC3B,MAAMC,EAAYP,KAAKQ,KAAKC,cAAc,iBAC1CT,KAAKU,MACHH,EAAUG,QAAU,GAAKH,EAAUG,MAAQV,KAAKC,kBAGpDD,KAAKW,kBAAkBC,KAAK,CAC1BF,MAAOV,KAAKU,UAKVV,KAAAa,aAAgBC,IACtBA,EAAMC,mBAGAf,KAAAM,mBAA8B,oBAxEQ,oBAIjB,+GAoBC,yEAK5B,SAeFU,sBAAsBC,GACpB,GAAIA,EAAU,CACZjB,KAAKE,eA2BTc,oBACE,MAAME,EAAwBC,EAAenB,KAAKQ,KAAM,oBAExD,GAAIU,IAA0B,KAAM,CAClClB,KAAKM,mBAAqB,KAC1B,MAAMc,EAAUF,EAAsB,GACtC,GAAIE,EAAQC,UAAY,gBAAiB,CACvC,MAAMC,EAAYF,EAClBE,EAAUC,YAAc,OAI5BvB,KAAKC,kBAAoBD,KAAKU,MAIhCM,sBAAsBF,GACpB,MAAMU,EAAiBV,EAAMW,OAAOf,MAEpC,GAAIV,KAAKiB,SAAU,CACjB,GAAIO,IAAmB,GAAI,CACzBxB,KAAKU,MAAQI,EAAMW,OAAOf,MAC1BV,KAAKW,kBAAkBC,KAAK,CAC1BF,MAAOV,KAAKU,YAET,CACLV,KAAKU,MAAQV,KAAKC,kBAClBD,KAAKW,kBAAkBC,KAAK,CAC1BF,MAAOV,KAAKC,sBAMpBe,mBACEU,EACE,CAAC,CAAEC,KAAM3B,KAAKU,MAAOkB,SAAU,UAC/B,gBAIJZ,qBACE,GAAIhB,KAAK6B,yBAA2B,SAAU,CAC5C,MAAMtB,EAAYP,KAAKQ,KAAKC,cAAc,iBAC1C,IAAKT,KAAKiB,SAAU,CAClBV,GAAaA,EAAUuB,aAAa,WAAY,QAC3C,CACLvB,GAAaA,EAAUwB,gBAAgB,cAK7Cf,SACE,MAAMgB,EAAK,mBACThC,KAAKiC,QAAUC,UAAYlC,KAAKiC,MAAQjC,KAAKU,SAC3CV,KAAKmC,aAET,OACEC,EAACC,EAAI,CAACC,QAAStC,KAAKE,aAClBkC,EAAA,MAAA,CAAKG,MAAO,CAAEvB,CAAC,aAAc,KAAMA,CAAC,YAAahB,KAAKG,WACpDiC,EAAA,QAAA,CACEI,KAAK,QACLC,SAAUzC,KAAKiB,SAAW,IAAM,KAChCyB,KAAK,QACLC,KAAM3C,KAAK2C,KACXX,GAAIA,EACJtB,MAAOV,KAAKU,MACZP,SAAUH,KAAKG,SAAW,KAAO,KACjCyC,QAAS5C,KAAKiB,SACd4B,IAAMC,GAAQ9C,KAAKI,aAAe0C,IAEpCV,EAAA,OAAA,CAAMG,MAAM,cACZH,EAAA,gBAAA,CAAeG,MAAM,cAAcQ,QAAQ,QACzCX,EAAA,QAAA,CAAOY,QAAShB,GAAKhC,KAAKiC,SAI7BjC,KAAKM,oBACJ8B,EAAA,MAAA,CACEE,QAAStC,KAAKa,aACd0B,MAAO,CACLU,oBAAqB,KACrBC,OACElD,KAAK6B,yBAA2B,YAAc7B,KAAKiB,WAGtDjB,KAAK6B,yBAA2B,WAC/BO,EAAA,MAAA,CAAKG,MAAM,kBAEbH,EAAA,MAAA,KACGpC,KAAK6B,yBAA2B,WAC/BO,EAAA,gBAAA,CAAeW,QAAQ,WACrBX,EAAA,IAAA,CAAGG,MAAM,gBAAgBvC,KAAKmD,cAGlCf,EAAA,MAAA,CACEG,MAAO,CACLa,yBACEpD,KAAK6B,yBAA2B,WAGpCO,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","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n getSlotContent,\n onComponentRequiredPropUndefined,\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 }) 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() 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 @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\n private handleClick = () => {\n if (!this.disabled) {\n this.radioElement.focus();\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\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 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"]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as n,g as i}from"./p-f9370be6.js";import{I as o}from"./p-6f57b13c.js";import{e as a,s,a as r}from"./p-c15bb762.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-theme-tertiary);color:var(--ic-theme-text);--hero-heading-bottom-margin:var(--ic-space-md)}:host(.dark){background-color:var(--ic-theme-secondary)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -100px;background-size:auto calc(100% + 100px);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -100px !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{flex-basis:50%;padding:var(--ic-space-xl) 0}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg)}.secondary-container{display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--ic-theme-text)}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}.left-container-full-width{flex-basis:100% !important;max-width:66.6%}@media (min-width: 1044px){:host,.section-container{min-height:208px}:host([small]),:host([small]) .section-container{min-height:173px}.left-container{flex-basis:66.6%;min-height:144px}.right-container{flex-basis:33.3%;margin-left:50px}.secondary-container{min-height:144px}.secondary-heading,.secondary-subheading{margin-left:63px}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:256px}:host([small]),:host([small]) .section-container{min-height:240px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:224px}.left-container{min-height:160px}.secondary-container{min-height:160px}.secondary-heading,.secondary-subheading{margin-left:94.75px}.right-container{margin-left:50px}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:256px}:host([small]),:host([small]) .section-container{min-height:240px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:224px}.left-container{min-height:160px}.secondary-container{min-height:160px}.secondary-heading,.secondary-subheading{margin-left:34px}.right-container{margin-left:50px}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:208px}:host([small]),:host([small]) .section-container{min-height:173px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:280px}:host([secondary-heading]) .section-container,:host([small]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:40px}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:192px}:host([small]),:host([small]) .section-container{min-height:173px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:264px}:host([secondary-heading]) .section-container,:host([small]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const h=class{constructor(t){e(this,t);this.heading=undefined;this.subheading=undefined;this.secondaryHeading=undefined;this.secondarySubheading=undefined;this.backgroundImage=undefined;this.disableBackgroundParallax=false;this.aligned="left";this.contentAligned="left";this.small=false;this.rightContent=false;this.scrollFactor="right -100px";this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.foregroundColor=a()}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}doScroll(){if(this.disableBackgroundParallax){return}const e=document.scrollingElement.scrollTop;const t=.4;const n=-100+e*t;this.scrollFactor="right "+n+"px"}componentWillLoad(){this.rightContent=s(this.el,"secondary")}componentDidLoad(){r([{prop:this.heading,propName:"heading"}],"Hero")}componentWillRender(){this.rightContent=s(this.el,"secondary")}render(){const{aligned:e,small:i,heading:a,subheading:s,secondaryHeading:r,secondarySubheading:c,foregroundColor:h,backgroundImage:d,scrollFactor:l}=this;let m={};if(d!==undefined){m={"background-image":"url("+d+")","background-position":l}}return t(n,{class:{[o.Dark]:h===o.Dark,["has-background-image"]:d!==undefined},style:m},t("ic-section-container",{aligned:e,fullHeight:true,class:"section-container"},t("div",{class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{class:"heading"},t("slot",{name:"heading"},t("ic-typography",{variant:i?"h2":"h1",class:{["heading-bottom-spacing"]:!i}},a))),t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"body"},s))),t("div",{class:"interaction-container"},t("slot",{name:"interaction"}))),(r!==undefined||this.rightContent)&&t("div",{class:"right-container"},t("slot",{name:"secondary"},r&&t("div",{class:"secondary-container"},t("div",{class:"secondary-heading"},t("ic-typography",{variant:"h4"},r)),t("div",{class:"secondary-subheading"},t("ic-typography",{variant:"subtitle-small"},c)))))))}get el(){return i(this)}};h.style=c;export{h as ic_hero};
2
- //# sourceMappingURL=p-682686a6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-hero/ic-hero.css?tag=ic-hero&encapsulation=shadow","src/components/ic-hero/ic-hero.tsx"],"names":["icHeroCss","Hero","this","rightContent","secondaryHeading","undefined","getThemeForegroundColor","[object Object]","ev","theme","detail","foregroundColor","mode","disableBackgroundParallax","scrolltotop","document","scrollingElement","scrollTop","factor","y","scrollFactor","slotHasContent","el","onComponentRequiredPropUndefined","prop","heading","propName","aligned","small","subheading","secondarySubheading","backgroundImage","style","background-image","background-position","h","Host","class","IcThemeForegroundEnum","Dark","fullHeight","leftContentFullWidth","name","variant"],"mappings":"0IAAA,MAAMA,EAAY,2lMCkCLC,EAAI,iNA+B+B,mBAKf,2BAKmB,kBAKzB,wBAEQ,wBAED,0CAG7BC,KAAKC,cAAgBD,KAAKE,mBAAqBC,+BAEJC,IAG9CC,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BR,KAAKS,gBAAkBF,EAAMG,KAI/BL,WACE,GAAIL,KAAKW,0BAA2B,CAClC,OAGF,MAAMC,EAAcC,SAASC,iBAAiBC,UAC9C,MAAMC,EAAS,GACf,MAAMC,GAAK,IAAML,EAAcI,EAC/BhB,KAAKkB,aAAe,SAAWD,EAAI,KAGrCZ,oBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,aAG9Cf,mBACEgB,EACE,CAAC,CAAEC,KAAMtB,KAAKuB,QAASC,SAAU,YACjC,QAIJnB,sBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,aAG9Cf,SACE,MAAMoB,QACJA,EAAOC,MACPA,EAAKH,QACLA,EAAOI,WACPA,EAAUzB,iBACVA,EAAgB0B,oBAChBA,EAAmBnB,gBACnBA,EAAeoB,gBACfA,EAAeX,aACfA,GACElB,KAEJ,IAAI8B,EAAQ,GAEZ,GAAID,IAAoB1B,UAAW,CACjC2B,EAAQ,CACNC,mBAAoB,OAASF,EAAkB,IAC/CG,sBAAuBd,GAI3B,OACEe,EAACC,EAAI,CACHC,MAAO,CACL9B,CAAC+B,EAAsBC,MACrB5B,IAAoB2B,EAAsBC,KAC5ChC,CAAC,wBAAyBwB,IAAoB1B,WAEhD2B,MAAOA,GAEPG,EAAA,uBAAA,CACER,QAASA,EACTa,WAAU,KACVH,MAAM,qBAENF,EAAA,MAAA,CACEE,MAAO,CACL9B,CAAC,kBAAmB,KACpBA,CAAC,6BAA8BL,KAAKuC,uBAGtCN,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CACEQ,QAASf,EAAQ,KAAO,KACxBS,MAAO,CAAE9B,CAAC,2BAA4BqB,IAErCH,KAIPU,EAAA,MAAA,CAAKE,MAAM,cACTF,EAAA,OAAA,CAAMO,KAAK,cACTP,EAAA,gBAAA,CAAeQ,QAAQ,QAAQd,KAGnCM,EAAA,MAAA,CAAKE,MAAM,yBACTF,EAAA,OAAA,CAAMO,KAAK,mBAGbtC,IAAqBC,WAAaH,KAAKC,eACvCgC,EAAA,MAAA,CAAKE,MAAM,mBACTF,EAAA,OAAA,CAAMO,KAAK,aACRtC,GACC+B,EAAA,MAAA,CAAKE,MAAM,uBACTF,EAAA,MAAA,CAAKE,MAAM,qBACTF,EAAA,gBAAA,CAAeQ,QAAQ,MACpBvC,IAGL+B,EAAA,MAAA,CAAKE,MAAM,wBACTF,EAAA,gBAAA,CAAeQ,QAAQ,kBACpBb","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n background-color: var(--ic-theme-tertiary);\n color: var(--ic-theme-text);\n --hero-heading-bottom-margin: var(--ic-space-md);\n}\n\n:host(.dark) {\n background-color: var(--ic-theme-secondary);\n}\n\n:host(.has-background-image) {\n background-repeat: no-repeat;\n background-position: right -100px;\n background-size: auto calc(100% + 100px);\n box-shadow: var(--ic-elevation-inset);\n}\n\n@media (prefers-reduced-motion) {\n :host(.has-background-image) {\n background-position: right -100px !important;\n }\n}\n\nic-typography.heading-bottom-spacing {\n margin-bottom: var(--hero-heading-bottom-margin);\n}\n\n.section-container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.left-container {\n flex-basis: 50%;\n padding: var(--ic-space-xl) 0;\n}\n\n.right-container {\n flex-basis: 50%;\n}\n\n.interaction-container {\n display: flex;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-lg);\n}\n\n.secondary-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-left: var(--ic-space-xxxs) solid var(--ic-theme-text);\n}\n\n.secondary-subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n:host([content-aligned=\"left\"]) .left-container,\n:host([content-aligned=\"left\"]) .interaction-container {\n justify-content: flex-start;\n text-align: left;\n}\n\n:host([content-aligned=\"center\"]) .left-container,\n:host([content-aligned=\"center\"]) .interaction-container {\n justify-content: center;\n text-align: center;\n}\n\n.left-container-full-width {\n flex-basis: 100% !important;\n max-width: 66.6%;\n}\n\n@media (min-width: 1044px) {\n :host,\n .section-container {\n min-height: 208px;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 173px;\n }\n\n .left-container {\n flex-basis: 66.6%;\n min-height: 144px;\n }\n\n .right-container {\n flex-basis: 33.3%;\n margin-left: 50px;\n }\n\n .secondary-container {\n min-height: 144px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 63px;\n }\n}\n\n@media (min-width: 801px) and (max-width: 1043px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 256px;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 240px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 224px;\n }\n\n .left-container {\n min-height: 160px;\n }\n\n .secondary-container {\n min-height: 160px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 94.75px;\n }\n\n .right-container {\n margin-left: 50px;\n }\n}\n\n@media (min-width: 641px) and (max-width: 800px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 256px;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 240px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 224px;\n }\n\n .left-container {\n min-height: 160px;\n }\n\n .secondary-container {\n min-height: 160px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 34px;\n }\n\n .right-container {\n margin-left: 50px;\n }\n}\n\n@media (min-width: 481px) and (max-width: 640px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 208px;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 173px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 280px;\n }\n\n :host([secondary-heading]) .section-container,\n :host([small]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n\n .right-container {\n margin-bottom: 40px;\n }\n}\n\n@media (max-width: 480px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 192px;\n }\n\n :host([small]),\n :host([small]) .section-container {\n min-height: 173px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 264px;\n }\n\n :host([secondary-heading]) .section-container,\n :host([small]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcAlignment,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport {\n slotHasContent,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcHeroContentAlignments } from \"./ic-hero.types\";\n\n/**\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot interaction - Content will be rendered in the interaction area, adjacent to the title area.\n * @slot secondary - Content will be rendered in the secondary content area.\n */\n\n@Component({\n tag: \"ic-hero\",\n styleUrl: \"ic-hero.css\",\n shadow: true,\n})\nexport class Hero {\n @Element() el: HTMLIcHeroElement;\n\n /**\n * The heading of the hero\n */\n @Prop() heading!: string;\n\n /**\n * Description for the hero\n */\n @Prop() subheading?: string;\n\n /**\n * Optional secondary heading, replaced by slotted right content\n */\n @Prop() secondaryHeading?: string;\n\n /**\n * Optional secondary subheading, replaced by slotted right content\n */\n @Prop() secondarySubheading?: string;\n\n /**\n * Optional background image\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Whether the background image (if set) scrolls using a parallax effect.\n */\n @Prop() disableBackgroundParallax?: boolean = false;\n\n /**\n * The alignment of the hero content\n */\n @Prop() aligned: IcAlignment = \"left\";\n\n /**\n * The alignment of the hero content\n */\n @Prop() contentAligned: IcHeroContentAlignments = \"left\";\n\n /**\n * Alter styling for use with small content/pages\n */\n @Prop() small: boolean = false;\n\n @State() rightContent: boolean = false;\n\n @State() scrollFactor: string = \"right -100px\";\n\n @State() leftContentFullWidth: boolean =\n !this.rightContent && this.secondaryHeading === undefined;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n @Listen(\"scroll\", { target: \"document\" })\n doScroll(): void {\n if (this.disableBackgroundParallax) {\n return;\n }\n\n const scrolltotop = document.scrollingElement.scrollTop;\n const factor = 0.4;\n const y = -100 + scrolltotop * factor;\n this.scrollFactor = \"right \" + y + \"px\";\n }\n\n componentWillLoad(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Hero\"\n );\n }\n\n componentWillRender(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n render() {\n const {\n aligned,\n small,\n heading,\n subheading,\n secondaryHeading,\n secondarySubheading,\n foregroundColor,\n backgroundImage,\n scrollFactor,\n } = this;\n\n let style = {};\n\n if (backgroundImage !== undefined) {\n style = {\n \"background-image\": \"url(\" + backgroundImage + \")\",\n \"background-position\": scrollFactor,\n };\n }\n\n return (\n <Host\n class={{\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"has-background-image\"]: backgroundImage !== undefined,\n }}\n style={style}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight\n class=\"section-container\"\n >\n <div\n class={{\n [\"left-container\"]: true,\n [\"left-container-full-width\"]: this.leftContentFullWidth,\n }}\n >\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography\n variant={small ? \"h2\" : \"h1\"}\n class={{ [\"heading-bottom-spacing\"]: !small }}\n >\n {heading}\n </ic-typography>\n </slot>\n </div>\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n <div class=\"interaction-container\">\n <slot name=\"interaction\"></slot>\n </div>\n </div>\n {(secondaryHeading !== undefined || this.rightContent) && (\n <div class=\"right-container\">\n <slot name=\"secondary\">\n {secondaryHeading && (\n <div class=\"secondary-container\">\n <div class=\"secondary-heading\">\n <ic-typography variant=\"h4\">\n {secondaryHeading}\n </ic-typography>\n </div>\n <div class=\"secondary-subheading\">\n <ic-typography variant=\"subtitle-small\">\n {secondarySubheading}\n </ic-typography>\n </div>\n </div>\n )}\n </slot>\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as o,g as a}from"./p-f9370be6.js";import{a as r,r as n,b as c,i as s}from"./p-c15bb762.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([disabled]){color:var(--ic-architectural-200);pointer-events:none}:host([small]) .container{margin-bottom:10px}.container{display:flex;width:-moz-fit-content;width:fit-content;margin-bottom:var(--ic-space-sm);margin-left:var(--ic-space-xxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:transparent;border:1px solid var(--ic-architectural-300);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast)}.checkbox:checked{background-color:var(--ic-action-default);border:1px solid var(--ic-action-default);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-architectural-200)}.checkbox.indeterminate:checked{background-color:transparent;border:2px solid var(--ic-action-default)}.checkbox:checked:hover{background-color:var(--ic-action-default-hover)}.checkbox.indeterminate:checked:hover{background-color:var(--ic-action-default-bg-hover);border:2px solid var(--ic-action-default-hover)}.checkbox:checked:active{background-color:var(--ic-action-default-active)}.checkbox.indeterminate:checked:active{background-color:var(--ic-action-default-bg-active);border:2px solid var(--ic-action-default-active)}.checkbox:hover{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-hover)}.checkbox:active{background-color:var(--ic-action-default-bg-active);box-shadow:0 0 0 4px var(--ic-action-default-bg-active);border:1px solid var(--ic-action-default-active)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:1px dashed var(--ic-architectural-200)}.checkbox-label{padding-left:var(--ic-space-sm)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:white;z-index:1;background-color:transparent;pointer-events:none}.indeterminate-symbol{position:relative;width:14px;height:var(--ic-space-xxxs);top:11px;right:-19px;margin-left:-14px;z-index:1;background-color:var(--ic-action-default);pointer-events:none}.container:hover .indeterminate-symbol{background-color:var(--ic-action-default-hover)}.container:active .indeterminate-symbol{background-color:var(--ic-action-default-active)}.additional-field-wrapper{margin-left:44px;margin-top:var(--ic-space-xs)}.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)}.dynamic-container{display:flex;position:relative;margin-left:15px;margin-top:-6px;margin-bottom:var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-action-default);margin-top:7px;margin-bottom:var(--ic-space-xs);border-radius:2%}';const l=class{constructor(i){e(this,i);this.checkboxChecked=t(this,"checkboxChecked",7);this.handleClick=()=>{this.checked=!this.checked;this.checkboxChecked.emit()};this.checked=false;this.disabled=false;this.label=undefined;this.value=undefined;this.name=undefined;this.groupLabel=undefined;this.dynamicText="This selection requires additional answers";this.additionalFieldDisplay="static";this.indeterminate=false}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.host.querySelector("ic-text-field");if(!this.checked){e&&e.setAttribute("disabled","")}else{e&&e.removeAttribute("disabled")}}else{if(!this.checked){this.additionalFieldContainer.style.display="none"}else{this.additionalFieldContainer.style.display="flex"}}}componentDidLoad(){r([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}render(){const e=`ic-checkbox-${this.label!==undefined?this.label:this.value}-${this.groupLabel}`;this.checked?n(true,this.host,this.name,this.checked&&this.value,this.disabled):c(this.host);return i(o,null,i("div",{class:{["container"]:true,["disabled"]:this.disabled}},this.checked&&!this.indeterminate&&i("svg",{class:"checkmark",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},i("title",null,"checkmark icon"),i("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),this.checked&&this.indeterminate&&i("div",{class:"indeterminate-symbol"}),i("input",{role:"checkbox",class:{["checkbox"]:true,["checked"]:this.checked,["indeterminate"]:this.indeterminate},type:"checkbox",name:this.name,id:e,value:this.value,disabled:this.disabled?true:null,checked:this.checked,onClick:this.handleClick}),i("ic-typography",{variant:"body"},i("label",{class:"checkbox-label",htmlFor:e},this.label))),s(this.host,"additional-field")&&i("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},this.additionalFieldDisplay==="dynamic"&&i("div",{class:"branch-corner"}),i("div",null,this.additionalFieldDisplay==="dynamic"&&i("ic-typography",{variant:"caption"},i("p",{class:"dynamic-text","aria-live":"polite"},this.dynamicText)),i("div",{class:{"additional-field-wrapper":this.additionalFieldDisplay==="static"}},i("slot",{name:"additional-field"})))))}get host(){return a(this)}};l.style=d;export{l as ic_checkbox};
2
- //# sourceMappingURL=p-71282f37.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"names":["icCheckboxCss","Checkbox","this","handleClick","checked","checkboxChecked","emit","[object Object]","additionalFieldDisplay","textfield","host","querySelector","setAttribute","removeAttribute","additionalFieldContainer","style","display","onComponentRequiredPropUndefined","prop","label","propName","value","id","undefined","groupLabel","renderHiddenInput","name","disabled","removeHiddenInput","h","Host","class","indeterminate","width","height","xmlns","fill-rule","clip-rule","d","role","type","onClick","variant","htmlFor","isSlotUsed","ref","el","aria-live","dynamicText","additional-field-wrapper"],"mappings":"iJAAA,MAAMA,EAAgB,kvKCsBTC,EAAQ,gFAgDXC,KAAAC,YAAc,KACpBD,KAAKE,SAAWF,KAAKE,QACrBF,KAAKG,gBAAgBC,qBA9CsB,oBAIhB,+GAoBC,yEAK5B,4BAI+B,MAgBjCC,qBACE,GAAIL,KAAKM,yBAA2B,SAAU,CAC5C,MAAMC,EAAYP,KAAKQ,KAAKC,cAAc,iBAC1C,IAAKT,KAAKE,QAAS,CACjBK,GAAaA,EAAUG,aAAa,WAAY,QAC3C,CACLH,GAAaA,EAAUI,gBAAgB,iBAEpC,CACL,IAAKX,KAAKE,QAAS,CACjBF,KAAKY,yBAAyBC,MAAMC,QAAU,WACzC,CACLd,KAAKY,yBAAyBC,MAAMC,QAAU,SAKpDT,mBACEU,EACE,CACE,CAAEC,KAAMhB,KAAKiB,MAAOC,SAAU,SAC9B,CAAEF,KAAMhB,KAAKmB,MAAOD,SAAU,UAEhC,YAIJb,SACE,MAAMe,EAAK,eACTpB,KAAKiB,QAAUI,UAAYrB,KAAKiB,MAAQjB,KAAKmB,SAC3CnB,KAAKsB,aAETtB,KAAKE,QACDqB,EACE,KACAvB,KAAKQ,KACLR,KAAKwB,KACLxB,KAAKE,SAAWF,KAAKmB,MACrBnB,KAAKyB,UAEPC,EAAkB1B,KAAKQ,MAE3B,OACEmB,EAACC,EAAI,KACHD,EAAA,MAAA,CAAKE,MAAO,CAAExB,CAAC,aAAc,KAAMA,CAAC,YAAaL,KAAKyB,WACnDzB,KAAKE,UAAYF,KAAK8B,eACrBH,EAAA,MAAA,CACEE,MAAM,YACNE,MAAM,KACNC,OAAO,KACPC,MAAM,6BAA4BC,YACxB,UAASC,YACT,WAEVR,EAAA,QAAA,KAAA,kBACAA,EAAA,OAAA,CAAMS,EAAE,yFAGXpC,KAAKE,SAAWF,KAAK8B,eACpBH,EAAA,MAAA,CAAKE,MAAM,yBAEbF,EAAA,QAAA,CACEU,KAAK,WACLR,MAAO,CACLxB,CAAC,YAAa,KACdA,CAAC,WAAYL,KAAKE,QAClBG,CAAC,iBAAkBL,KAAK8B,eAE1BQ,KAAK,WACLd,KAAMxB,KAAKwB,KACXJ,GAAIA,EACJD,MAAOnB,KAAKmB,MACZM,SAAUzB,KAAKyB,SAAW,KAAO,KACjCvB,QAASF,KAAKE,QACdqC,QAASvC,KAAKC,cAEhB0B,EAAA,gBAAA,CAAea,QAAQ,QACrBb,EAAA,QAAA,CAAOE,MAAM,iBAAiBY,QAASrB,GACpCpB,KAAKiB,SAIXyB,EAAW1C,KAAKQ,KAAM,qBACrBmB,EAAA,MAAA,CACEE,MAAM,oBACNc,IAAMC,GAAQ5C,KAAKY,yBAA2BgC,GAE7C5C,KAAKM,yBAA2B,WAC/BqB,EAAA,MAAA,CAAKE,MAAM,kBAEbF,EAAA,MAAA,KACG3B,KAAKM,yBAA2B,WAC/BqB,EAAA,gBAAA,CAAea,QAAQ,WACrBb,EAAA,IAAA,CAAGE,MAAM,eAAcgB,YAAW,UAC/B7C,KAAK8C,cAIZnB,EAAA,MAAA,CACEE,MAAO,CACLkB,2BACE/C,KAAKM,yBAA2B,WAGpCqB,EAAA,OAAA,CAAMH,KAAK","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host([disabled]) {\n color: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n:host([small]) .container {\n margin-bottom: 10px;\n}\n\n.container {\n display: flex;\n width: fit-content;\n margin-bottom: var(--ic-space-sm);\n margin-left: var(--ic-space-xxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: transparent;\n border: 1px solid var(--ic-architectural-300);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n}\n\n.checkbox:checked {\n background-color: var(--ic-action-default);\n border: 1px solid var(--ic-action-default);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-architectural-200);\n}\n\n.checkbox.indeterminate:checked {\n background-color: transparent;\n border: 2px solid var(--ic-action-default);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-action-default-hover);\n}\n\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: 2px solid var(--ic-action-default-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-action-default-active);\n}\n\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-action-default-bg-active);\n border: 2px solid var(--ic-action-default-active);\n}\n\n.checkbox:hover {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: 0 0 0 4px var(--ic-action-default-bg-hover);\n border: 1px solid var(--ic-action-default-hover);\n}\n\n.checkbox:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: 0 0 0 4px var(--ic-action-default-bg-active);\n border: 1px solid var(--ic-action-default-active);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: 1px dashed var(--ic-architectural-200);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: white;\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 14px;\n height: var(--ic-space-xxxs);\n top: 11px;\n right: -19px;\n margin-left: -14px;\n z-index: 1;\n background-color: var(--ic-action-default);\n pointer-events: none;\n}\n\n.container:hover .indeterminate-symbol {\n background-color: var(--ic-action-default-hover);\n}\n\n.container:active .indeterminate-symbol {\n background-color: var(--ic-action-default-active);\n}\n\n.additional-field-wrapper {\n margin-left: 44px;\n margin-top: var(--ic-space-xs);\n}\n\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 3px;\n border-bottom: 2px solid var(--ic-action-default);\n border-left: 2px solid var(--ic-action-default);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin-left: 15px;\n margin-top: -6px;\n margin-bottom: var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: 7px;\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: true,\n})\nexport class Checkbox {\n /**\n * Set the checkbox to the checked state\n */\n @Prop({ reflect: true }) checked?: boolean = false;\n /**\n * Set the checkbox to the 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() 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 * Set which style of additionalField will be displayed if used\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n /**\n * Display the indeterminate state when checked\n */\n @Prop() indeterminate: boolean = false;\n\n @Element() host: HTMLIcCheckboxElement;\n\n /**\n * Emitted when a checkbox has been checked\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n private additionalFieldContainer: HTMLDivElement;\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.checkboxChecked.emit();\n };\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n render() {\n const id = `ic-checkbox-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n this.checked\n ? renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.host);\n\n return (\n <Host>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"24\"\n height=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n onClick={this.handleClick}\n ></input>\n <ic-typography variant=\"body\">\n <label class=\"checkbox-label\" htmlFor={id}>\n {this.label}\n </label>\n </ic-typography>\n </div>\n {isSlotUsed(this.host, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as i,H as t,g as n}from"./p-f9370be6.js";import{C as o,j as r,k as l}from"./p-c15bb762.js";import{I as a}from"./p-6f57b13c.js";const s=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg>`;const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.link) .ic-link,:host(.link) ::slotted(a){color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}:host(.link.dark) .ic-link.dark,:host(.link.dark) ::slotted(a){color:var(--ic-color-primary-text)}:host(.link.light) .ic-link.light,:host(.link.light) ::slotted(a){color:var(--ic-color-white-text)}:host(.link) .ic-link:visited,:host(.link) ::slotted(a:visited){color:var(--ic-hyperlink-visited)}:host(.link) .ic-link:hover,:host(.link) .ic-link:focus,:host(.link) ::slotted(a:hover),:host(.link) ::slotted(a:focus){outline:none;text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}:host(.link) .ic-link:active,:host(.link) .ic-link:focus:active,:host(.link) .ic-link:visited:active,:host(.link) ::slotted(a:active),:host(.link) ::slotted(a:focus:active),:host(.link) ::slotted(a:visited:active){text-decoration:none}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink)}.ic-link.dark>.ic-link-open-in-new-icon{fill:var(--ic-color-primary-text)}.ic-link.light>.ic-link-open-in-new-icon{fill:var(--ic-color-white-text)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:none;text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-primary-text)}';const d=class{constructor(i){e(this,i);this.inheritedAttributes={};this.download=false;this.href=null;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined;this.showIcon=undefined;this.appearance="default"}themeChangeHandler(e){const i=e.detail;this.updateTheme(i.mode)}updateTheme(e=null){const i=o(this.el,e||null);switch(i){case a.Light:this.appearance=a.Light;break;case a.Dark:this.appearance=a.Dark;break}}componentWillLoad(){this.inheritedAttributes=r(this.el,[...l,"aria-expanded"])}componentDidLoad(){this.updateTheme()}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');if(this.routerSlot){this.routerSlot.ariaLabel=this.routerSlot.textContent}return!!this.routerSlot}render(){const{download:e,href:n,hreflang:o,referrerpolicy:r,rel:l,target:a,showIcon:c,appearance:d}=this;return i(t,{class:{["link"]:true,[`${d}`]:true}},this.hasRouterSlot()?i("slot",{name:"router-item"}):i("a",Object.assign({class:{["ic-link"]:n!==null,[`${d}`]:n!==null},download:e!==false?e:null,href:n,hrefLang:o,referrerPolicy:r,rel:l,target:a,tabindex:n!==null?"0":"-1"},this.inheritedAttributes),i("slot",null),c&&i("span",{class:"ic-link-open-in-new-icon",innerHTML:s})))}get el(){return n(this)}};d.style=c;export{d as ic_link};
2
- //# sourceMappingURL=p-98e9eccc.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-f9370be6.js";import{u as n,q as o,j as l,a as r,r as h,d as c,h as d,v as u,k as p}from"./p-c15bb762.js";import{I as b,a as f}from"./p-6f57b13c.js";const v=`<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const m=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const g='/*! 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}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 6px center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center}.select-input{width:100%;height:100%;padding:0 6px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:none}:host(:not([disabled])) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}:host([disabled]) .select-input{pointer-events:none}:host([searchable]) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--expand-icon-hover, var(--ic-architectural-400))}:host([disabled]) .expand-icon,:host([disabled]) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host([searchable]) .expand-icon{padding-left:var(--ic-space-xxs);height:36px}:host([searchable]) .expand-icon>svg{height:36px;padding:0 6px}:host([searchable]:not([disabled])) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host([searchable]) .expand-icon-open{transform:rotateX(180deg)}:host([disabled]) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:38px}:host([small]) .clear-button-container{padding-left:30px}.divider{width:1px;background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:1px;height:var(--ic-space-lg)}:host([small]) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:44px;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 2px var(--ic-focus-glow);border-radius:4px}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}';let x=0;const w=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.icBlur=i(this,"icBlur",7);this.inputId=`ic-select-input-${x++}`;this.menuId=`${this.inputId}-menu`;this.inheritedAttributes={};this.isMenuEnabled=()=>(this.searchableSelectInputValue===null||this.searchableSelectInputValue==="")&&this.charactersUntilSuggestions===0||this.searchableSelectInputValue&&this.searchableSelectInputValue.length>=this.charactersUntilSuggestions;this.setOptionsValuesFromLabels=()=>{if(this.options.length>0){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>n(t,this.options);this.getValueFromLabel=t=>{var i;const e=(i=this.options.find((i=>i.label===t)))===null||i===void 0?void 0:i.value;return e};this.getFilteredChildMenuOptions=t=>{let i=t.children;i=o(t.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition);const e=Object.assign({},t);e.children=i;return e};this.handleNativeSelectChange=()=>{this.icChange.emit({value:this.nativeSelectElement.value});this.setTextColor()};this.handleCustomSelectChange=t=>{if(this.searchable&&t.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(t.detail.value)}this.ariaActiveDescendant=t.detail.optionId;this.icChange.emit({value:t.detail.value})};this.handleMenuChange=t=>{this.open=t.detail.open;this.searchable&&this.handleFocusIndicatorDisplay()};this.handleFocusIndicatorDisplay=()=>{const t=this.host.shadowRoot.querySelector(".focus-indicator");if(this.open){t.classList.add("focus-indicator-enabled")}else{t.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.handleClick=t=>{this.noOptions=null;this.menu.options=this.options;if(t.detail!==0&&this.isMenuEnabled()){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{if(!this.disabled){t.preventDefault();this.searchableSelectElement.focus();this.handleClick(t)}};this.handleClear=t=>{t.stopPropagation();this.noOptions=null;this.icChange.emit({value:null});if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.menu.options=this.options;this.searchableSelectElement.focus();if(!this.isMenuEnabled()){this.setMenuChange(false)}}else{this.customSelectElement.focus()}};this.handleKeyDown=t=>{t.cancelBubble=true;if(!this.open){this.noOptions=null;this.menu.options=this.options}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!((t.key==="ArrowDown"||t.key==="ArrowUp")&&this.noOptions!==null)&&this.isMenuEnabled()){this.menu.handleKeyboardOpen(t)}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=()=>{this.clearButtonFocused=false};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;if(this.getValueFromLabel(this.searchableSelectInputValue)===undefined){this.icChange.emit({value:null})}if(this.isMenuEnabled()){this.setMenuChange(true)}else{this.setMenuChange(false)}const i=[...this.options];let e=false;let s=[];i.map((t=>{if(t.children)e=true}));const a=o(i,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition);if(!e){s=a}else{i.map((t=>{if(this.includeGroupTitlesInSearch){if(a.indexOf(t)!==-1){s.push(t)}else{s.push(this.getFilteredChildMenuOptions(t))}}else{s.push(this.getFilteredChildMenuOptions(t))}}))}let n=false;if(e){n=true;s.map((t=>{if(t.children.length>0){n=false}}))}const l=[{label:this.emptyOptionListText,value:""}];if(s.length>0&&!n){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=l;this.filteredOptions=this.noOptions}this.debounceAriaLiveUpdate()};this.updateSearchableSelectResultAriaLive=()=>{const t=this.host.shadowRoot.querySelector(".searchable-select-results-status");if(this.noOptions!==null){t.innerText=this.emptyOptionListText}else{t.innerText=""}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=t=>{if(this.searchable&&t.relatedTarget!==this.menu&&!(this.clearButton&&t.relatedTarget===this.clearButton)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.icBlur.emit()};this.label=undefined;this.options=[];this.required=false;this.hideLabel=false;this.disabled=false;this.readonly=false;this.placeholder="Select an option";this.helperText="";this.small=false;this.fullWidth=false;this.validationStatus="";this.validationText="";this.value=undefined;this.name=this.inputId;this.showClearButton=false;this.searchable=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.searchMatchPosition="anywhere";this.charactersUntilSuggestions=0;this.emptyOptionListText="No results found";this.open=false;this.clearButtonFocused=false;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.ariaActiveDescendant=undefined;this.noOptions=null}watchOptionsHandler(){this.setOptionsValuesFromLabels();this.filteredOptions=this.options}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}debounceAriaLiveUpdate(){clearTimeout(this.debounce);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}componentWillLoad(){this.inheritedAttributes=l(this.host,[...p,"tabindex","title"]);this.setOptionsValuesFromLabels()}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Select")}render(){const{small:t,disabled:i,fullWidth:a,helperText:n,hideLabel:o,label:l,menuId:r,name:p,options:g,placeholder:x,readonly:w,required:y,searchable:k,showClearButton:z,validationStatus:L,validationText:M,value:C}=this;h(true,this.host,p,C,i);const B=L===f.Error?"true":"false";const H=c(this.inputId,n!=="",d(this.validationStatus,this.disabled)).trim();return e(s,null,e("ic-input-container",{readonly:w},!o&&e("ic-input-label",{for:this.inputId,label:l,helperText:n,required:y,disabled:i,readonly:w}),e("ic-input-component-container",{ref:t=>this.anchorEl=t,class:{"menu-open":this.open},small:t,fullWidth:a,disabled:i,readonly:w,validationStatus:L},w?e("ic-typography",null,e("p",null,this.getLabelFromValue(C))):u()?e("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:i,onChange:this.handleNativeSelectChange,required:y,id:this.inputId,"aria-label":l,"aria-describedby":H,"aria-invalid":B,onBlur:this.onBlur,onFocus:this.onFocus},this.inheritedAttributes),e("option",{value:"",selected:true,disabled:!z},x),g.map((t=>{if(t.children){return e("optgroup",{label:t.label},t.children.map((t=>e("option",{value:t.value,disabled:t.disabled,selected:t.value===C},t.label))))}else{return e("option",{value:t.value,disabled:t.disabled,selected:t.value===C},t.label)}}))):k?e("div",{class:"searchable-select-container"},e("input",{class:"select-input",role:"combobox","aria-label":l,"aria-describedby":H,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":B,"aria-required":y?"true":"false","aria-controls":r,ref:t=>this.searchableSelectElement=t,id:this.inputId,value:this.searchableSelectInputValue,placeholder:x,disabled:i,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur}),this.searchableSelectInputValue&&(z||k)&&e("div",{class:"clear-button-container"},e("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":this.searchableSelectInputValue&&C===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:m,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t?"small":"default",variant:"icon",appearance:this.clearButtonFocused?b.Light:b.Dark}),e("div",{class:"divider"})),e("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(C==null||C===""),"expand-icon-disabled":!this.isMenuEnabled()},innerHTML:v,"aria-hidden":"true"}),e("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):e("div",{class:"select-container"},e("button",{class:"select-input",ref:t=>this.customSelectElement=t,id:this.inputId,"aria-label":`${l}, ${this.getLabelFromValue(C)||x}${y?", required":""}`,"aria-describedby":H,"aria-invalid":B,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":r,"aria-controls":r,disabled:i,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},e("ic-typography",{variant:"body",class:{"value-text":true,placeholder:this.getLabelFromValue(C)===undefined}},e("p",null,this.getLabelFromValue(C)||x)),e("div",{class:"select-input-end"},C&&z&&e("div",{class:"divider"}),e("span",{class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(C==null||C==="")},innerHTML:v,"aria-hidden":"true"}))),C&&z&&e("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:m,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t?"small":"default",variant:"icon",appearance:this.clearButtonFocused?b.Light:b.Dark}))),!u()&&e("ic-menu",{class:{"no-results":this.noOptions!==null},ref:t=>this.menu=t,inputEl:k?this.searchableSelectElement:this.customSelectElement,inputLabel:l,anchorEl:this.anchorEl,small:t,menuId:r,open:this.open,options:k?this.filteredOptions:g,value:C,fullWidth:a,onMenuChange:this.handleMenuChange,onOptionSelect:this.handleCustomSelectChange,parentEl:this.host}),e("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:d(this.validationStatus,this.disabled)===false?"":L,message:d(this.validationStatus,this.disabled)?M:"",for:this.inputId})))}get host(){return a(this)}static get watchers(){return{options:["watchOptionsHandler"]}}};w.style=g;export{w as ic_select};
2
- //# sourceMappingURL=p-9bf3f413.entry.js.map