@ukic/canary-web-components 3.0.0-canary.5 → 3.0.0-canary.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-c80f6ce4.js → helpers-02b23286.js} +41 -19
  4. package/dist/cjs/helpers-02b23286.js.map +1 -0
  5. package/dist/cjs/{helpers-55099147.js → helpers-4190b7f2.js} +56 -29
  6. package/dist/cjs/helpers-4190b7f2.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +3 -10
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +10 -7
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +18 -15
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +26 -24
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-data-table.cjs.entry.js +277 -100
  32. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-date-input.cjs.entry.js +7 -2
  34. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-date-picker.cjs.entry.js +6 -1
  36. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  39. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-empty-state_2.cjs.entry.js +24 -15
  41. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -5
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
  45. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer.cjs.entry.js +24 -14
  47. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-hero.cjs.entry.js +7 -15
  49. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +39 -24
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +9 -6
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-button.cjs.entry.js +6 -7
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-group.cjs.entry.js +5 -6
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-pagination_4.cjs.entry.js +85 -42
  69. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -1
  72. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  74. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-search-bar.cjs.entry.js +37 -29
  76. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  78. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-switch.cjs.entry.js +6 -2
  83. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  85. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  86. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  87. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  89. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  91. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +29 -10
  92. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-toggle-button.cjs.entry.js +57 -5
  94. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-top-navigation.cjs.entry.js +10 -6
  96. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tree-item.cjs.entry.js +14 -12
  98. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tree-view.cjs.entry.js +17 -12
  100. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +4 -1
  104. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +24 -18
  105. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  106. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +10 -0
  107. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -1
  108. package/dist/collection/components/ic-data-table/ic-data-table.css +92 -2
  109. package/dist/collection/components/ic-data-table/ic-data-table.js +312 -102
  110. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  111. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  112. package/dist/collection/components/ic-data-table/story-data.js +293 -2
  113. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  114. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +102 -1
  115. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  116. package/dist/collection/components/ic-date-input/ic-date-input.css +2 -1
  117. package/dist/collection/components/ic-date-input/ic-date-input.js +8 -1
  118. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  119. package/dist/collection/components/ic-date-picker/ic-date-picker.js +8 -1
  120. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  121. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +40 -1
  122. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  123. package/dist/collection/components/ic-tree-item/ic-tree-item.css +20 -3
  124. package/dist/collection/components/ic-tree-item/ic-tree-item.js +33 -12
  125. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  126. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +3 -0
  127. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -1
  128. package/dist/collection/components/ic-tree-view/ic-tree-view.css +16 -2
  129. package/dist/collection/components/ic-tree-view/ic-tree-view.js +54 -11
  130. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  131. package/dist/collection/utils/helpers.js +42 -25
  132. package/dist/collection/utils/helpers.js.map +1 -1
  133. package/dist/collection/utils/types.js +6 -6
  134. package/dist/collection/utils/types.js.map +1 -1
  135. package/dist/components/helpers.js +51 -26
  136. package/dist/components/helpers.js.map +1 -1
  137. package/dist/components/helpers2.js +37 -17
  138. package/dist/components/helpers2.js.map +1 -1
  139. package/dist/components/ic-accordion.js +9 -1
  140. package/dist/components/ic-accordion.js.map +1 -1
  141. package/dist/components/ic-alert.js +4 -11
  142. package/dist/components/ic-alert.js.map +1 -1
  143. package/dist/components/ic-badge.js +2 -2
  144. package/dist/components/ic-badge.js.map +1 -1
  145. package/dist/components/ic-button2.js +11 -8
  146. package/dist/components/ic-button2.js.map +1 -1
  147. package/dist/components/ic-card-horizontal.js +22 -17
  148. package/dist/components/ic-card-horizontal.js.map +1 -1
  149. package/dist/components/ic-card-vertical.js +30 -26
  150. package/dist/components/ic-card-vertical.js.map +1 -1
  151. package/dist/components/ic-checkbox-group.js +5 -0
  152. package/dist/components/ic-checkbox-group.js.map +1 -1
  153. package/dist/components/ic-checkbox.js +5 -0
  154. package/dist/components/ic-checkbox.js.map +1 -1
  155. package/dist/components/ic-chip.js +11 -4
  156. package/dist/components/ic-chip.js.map +1 -1
  157. package/dist/components/ic-data-table.js +278 -100
  158. package/dist/components/ic-data-table.js.map +1 -1
  159. package/dist/components/ic-date-input2.js +8 -2
  160. package/dist/components/ic-date-input2.js.map +1 -1
  161. package/dist/components/ic-date-picker.js +7 -1
  162. package/dist/components/ic-date-picker.js.map +1 -1
  163. package/dist/components/ic-divider2.js +4 -4
  164. package/dist/components/ic-divider2.js.map +1 -1
  165. package/dist/components/ic-empty-state2.js +3 -13
  166. package/dist/components/ic-empty-state2.js.map +1 -1
  167. package/dist/components/ic-footer-link-group.js +5 -6
  168. package/dist/components/ic-footer-link-group.js.map +1 -1
  169. package/dist/components/ic-footer-link.js +5 -6
  170. package/dist/components/ic-footer-link.js.map +1 -1
  171. package/dist/components/ic-footer.js +25 -15
  172. package/dist/components/ic-footer.js.map +1 -1
  173. package/dist/components/ic-hero.js +9 -17
  174. package/dist/components/ic-hero.js.map +1 -1
  175. package/dist/components/ic-horizontal-scroll2.js +3 -3
  176. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  177. package/dist/components/ic-input-component-container2.js +15 -11
  178. package/dist/components/ic-input-component-container2.js.map +1 -1
  179. package/dist/components/ic-link2.js +10 -7
  180. package/dist/components/ic-link2.js.map +1 -1
  181. package/dist/components/ic-menu-item2.js +9 -1
  182. package/dist/components/ic-menu-item2.js.map +1 -1
  183. package/dist/components/ic-menu2.js +28 -15
  184. package/dist/components/ic-menu2.js.map +1 -1
  185. package/dist/components/ic-navigation-button.js +7 -8
  186. package/dist/components/ic-navigation-button.js.map +1 -1
  187. package/dist/components/ic-navigation-group.js +6 -7
  188. package/dist/components/ic-navigation-group.js.map +1 -1
  189. package/dist/components/ic-navigation-item.js +5 -5
  190. package/dist/components/ic-navigation-item.js.map +1 -1
  191. package/dist/components/ic-navigation-menu2.js +1 -1
  192. package/dist/components/ic-pagination-bar2.js +25 -4
  193. package/dist/components/ic-pagination-bar2.js.map +1 -1
  194. package/dist/components/ic-pagination-item2.js +6 -1
  195. package/dist/components/ic-pagination-item2.js.map +1 -1
  196. package/dist/components/ic-pagination2.js +5 -0
  197. package/dist/components/ic-pagination2.js.map +1 -1
  198. package/dist/components/ic-popover-menu.js +1 -1
  199. package/dist/components/ic-radio-group.js +8 -0
  200. package/dist/components/ic-radio-group.js.map +1 -1
  201. package/dist/components/ic-radio-option.js +6 -1
  202. package/dist/components/ic-radio-option.js.map +1 -1
  203. package/dist/components/ic-search-bar.js +52 -54
  204. package/dist/components/ic-search-bar.js.map +1 -1
  205. package/dist/components/ic-select2.js +54 -35
  206. package/dist/components/ic-select2.js.map +1 -1
  207. package/dist/components/ic-side-navigation.js +6 -6
  208. package/dist/components/ic-side-navigation.js.map +1 -1
  209. package/dist/components/ic-stepper.js +1 -1
  210. package/dist/components/ic-switch.js +8 -3
  211. package/dist/components/ic-switch.js.map +1 -1
  212. package/dist/components/ic-tab.js +5 -2
  213. package/dist/components/ic-tab.js.map +1 -1
  214. package/dist/components/ic-text-field2.js +28 -10
  215. package/dist/components/ic-text-field2.js.map +1 -1
  216. package/dist/components/ic-theme.js +22 -22
  217. package/dist/components/ic-theme.js.map +1 -1
  218. package/dist/components/ic-toast.js +1 -1
  219. package/dist/components/ic-toggle-button-group.js +34 -11
  220. package/dist/components/ic-toggle-button-group.js.map +1 -1
  221. package/dist/components/ic-toggle-button.js +67 -13
  222. package/dist/components/ic-toggle-button.js.map +1 -1
  223. package/dist/components/ic-top-navigation.js +11 -7
  224. package/dist/components/ic-top-navigation.js.map +1 -1
  225. package/dist/components/ic-tree-item.js +17 -13
  226. package/dist/components/ic-tree-item.js.map +1 -1
  227. package/dist/components/ic-tree-view.js +22 -14
  228. package/dist/components/ic-tree-view.js.map +1 -1
  229. package/dist/core/core.css +78 -46
  230. package/dist/core/core.esm.js +1 -1
  231. package/dist/core/core.esm.js.map +1 -1
  232. package/dist/core/{p-9da6df82.entry.js → p-01034ef4.entry.js} +2 -2
  233. package/dist/core/p-033f3971.entry.js +2 -0
  234. package/dist/core/p-033f3971.entry.js.map +1 -0
  235. package/dist/core/{p-f5d1e747.entry.js → p-03d51c20.entry.js} +2 -2
  236. package/dist/core/{p-a67c358a.entry.js → p-05890d1e.entry.js} +2 -2
  237. package/dist/core/{p-dd3a9cb1.entry.js → p-07bcfaef.entry.js} +2 -2
  238. package/dist/core/{p-a0c3f221.entry.js → p-0d918e59.entry.js} +2 -2
  239. package/dist/core/p-0d918e59.entry.js.map +1 -0
  240. package/dist/core/p-10640219.entry.js +2 -0
  241. package/dist/core/p-10640219.entry.js.map +1 -0
  242. package/dist/core/p-15e382a4.entry.js +2 -0
  243. package/dist/core/p-15e382a4.entry.js.map +1 -0
  244. package/dist/core/p-16b64836.entry.js +2 -0
  245. package/dist/core/p-16b64836.entry.js.map +1 -0
  246. package/dist/core/p-186edbae.entry.js +2 -0
  247. package/dist/core/p-186edbae.entry.js.map +1 -0
  248. package/dist/core/p-1c94e08c.entry.js +2 -0
  249. package/dist/core/p-1c94e08c.entry.js.map +1 -0
  250. package/dist/core/p-1d3f7a04.entry.js +2 -0
  251. package/dist/core/p-1d3f7a04.entry.js.map +1 -0
  252. package/dist/core/{p-10afa533.entry.js → p-22708591.entry.js} +2 -2
  253. package/dist/core/p-23afb7d0.entry.js +2 -0
  254. package/dist/core/p-23afb7d0.entry.js.map +1 -0
  255. package/dist/core/p-289fff24.entry.js +2 -0
  256. package/dist/core/p-289fff24.entry.js.map +1 -0
  257. package/dist/core/{p-40f94113.entry.js → p-2fd78585.entry.js} +2 -2
  258. package/dist/core/{p-3d478ba9.entry.js → p-345a88a7.entry.js} +2 -2
  259. package/dist/core/{p-3d478ba9.entry.js.map → p-345a88a7.entry.js.map} +1 -1
  260. package/dist/core/p-361da840.entry.js +2 -0
  261. package/dist/core/p-361da840.entry.js.map +1 -0
  262. package/dist/core/p-3f182d5d.entry.js +2 -0
  263. package/dist/core/p-3f182d5d.entry.js.map +1 -0
  264. package/dist/core/{p-0687cc81.entry.js → p-49bf3a47.entry.js} +2 -2
  265. package/dist/core/p-49bf3a47.entry.js.map +1 -0
  266. package/dist/core/p-4abbdbbc.entry.js +2 -0
  267. package/dist/core/p-4abbdbbc.entry.js.map +1 -0
  268. package/dist/core/p-5193184c.entry.js +2 -0
  269. package/dist/core/p-5193184c.entry.js.map +1 -0
  270. package/dist/core/{p-c894bc8f.entry.js → p-51fd68b7.entry.js} +2 -2
  271. package/dist/core/p-51fd68b7.entry.js.map +1 -0
  272. package/dist/core/p-563392e4.entry.js +2 -0
  273. package/dist/core/p-563392e4.entry.js.map +1 -0
  274. package/dist/core/p-5a48839e.entry.js +2 -0
  275. package/dist/core/p-5a48839e.entry.js.map +1 -0
  276. package/dist/core/p-5cbf0885.entry.js +2 -0
  277. package/dist/core/p-5cbf0885.entry.js.map +1 -0
  278. package/dist/core/{p-6f92ee7a.entry.js → p-5dcee0aa.entry.js} +2 -2
  279. package/dist/core/{p-b4eb1c6d.entry.js → p-646f21ff.entry.js} +2 -2
  280. package/dist/core/{p-c4dc8fdf.entry.js → p-74b676a6.entry.js} +2 -2
  281. package/dist/core/{p-acb0eddb.entry.js → p-74e63f4d.entry.js} +2 -2
  282. package/dist/core/{p-df05b999.entry.js → p-77f26d29.entry.js} +2 -2
  283. package/dist/core/p-77f26d29.entry.js.map +1 -0
  284. package/dist/core/{p-e4b9221b.entry.js → p-792ec0a3.entry.js} +2 -2
  285. package/dist/core/p-792ec0a3.entry.js.map +1 -0
  286. package/dist/core/{p-bd5aada7.entry.js → p-79c8879c.entry.js} +2 -2
  287. package/dist/core/{p-3b3a8108.entry.js → p-7d5a0251.entry.js} +2 -2
  288. package/dist/core/{p-160de322.entry.js → p-7eef69d7.entry.js} +2 -2
  289. package/dist/core/p-8167f2e0.entry.js +2 -0
  290. package/dist/core/p-8167f2e0.entry.js.map +1 -0
  291. package/dist/core/p-8576281d.entry.js +2 -0
  292. package/dist/core/p-8576281d.entry.js.map +1 -0
  293. package/dist/core/{p-fca3589b.entry.js → p-87cd3985.entry.js} +2 -2
  294. package/dist/core/p-8d3e250a.entry.js +2 -0
  295. package/dist/core/p-8d3e250a.entry.js.map +1 -0
  296. package/dist/core/p-8eb30ebf.entry.js +2 -0
  297. package/dist/core/p-8eb30ebf.entry.js.map +1 -0
  298. package/dist/core/{p-ffe923ae.entry.js → p-901879b8.entry.js} +2 -2
  299. package/dist/core/p-92bb5fe9.entry.js +2 -0
  300. package/dist/core/p-92bb5fe9.entry.js.map +1 -0
  301. package/dist/core/p-94efa0d2.entry.js +2 -0
  302. package/dist/core/p-94efa0d2.entry.js.map +1 -0
  303. package/dist/core/p-9f5071bd.entry.js +2 -0
  304. package/dist/core/p-9f5071bd.entry.js.map +1 -0
  305. package/dist/core/p-a04712b9.js +2 -0
  306. package/dist/core/p-a04712b9.js.map +1 -0
  307. package/dist/core/{p-29623ad5.entry.js → p-a683fd94.entry.js} +2 -2
  308. package/dist/core/p-a683fd94.entry.js.map +1 -0
  309. package/dist/core/{p-70543f44.entry.js → p-b2a6f0dd.entry.js} +2 -2
  310. package/dist/core/p-be6d9ab9.entry.js +2 -0
  311. package/dist/core/p-be6d9ab9.entry.js.map +1 -0
  312. package/dist/core/{p-91cf88d6.entry.js → p-d0c7bc04.entry.js} +2 -2
  313. package/dist/core/p-d0c7bc04.entry.js.map +1 -0
  314. package/dist/core/{p-3106c4fd.entry.js → p-d1b8e306.entry.js} +2 -2
  315. package/dist/core/{p-bc7d33e1.entry.js → p-db924212.entry.js} +2 -2
  316. package/dist/core/p-db924212.entry.js.map +1 -0
  317. package/dist/core/p-dd5daf97.entry.js +2 -0
  318. package/dist/core/p-dd5daf97.entry.js.map +1 -0
  319. package/dist/core/{p-9235425c.entry.js → p-dedca102.entry.js} +2 -2
  320. package/dist/core/{p-f08723ca.entry.js → p-eb09d6af.entry.js} +2 -2
  321. package/dist/core/p-ee5388e6.entry.js +2 -0
  322. package/dist/core/p-ee5388e6.entry.js.map +1 -0
  323. package/dist/core/p-f1fcc442.entry.js +2 -0
  324. package/dist/core/p-f1fcc442.entry.js.map +1 -0
  325. package/dist/core/{p-3bbfefcc.entry.js → p-f3995b20.entry.js} +2 -2
  326. package/dist/core/p-f3995b20.entry.js.map +1 -0
  327. package/dist/core/p-fa002d21.js +2 -0
  328. package/dist/core/p-fa002d21.js.map +1 -0
  329. package/dist/core/{p-e532fa26.entry.js → p-faae4ac4.entry.js} +2 -2
  330. package/dist/core/p-faae4ac4.entry.js.map +1 -0
  331. package/dist/esm/core.js +1 -1
  332. package/dist/esm/{helpers-d399f9c8.js → helpers-0f42cb46.js} +38 -18
  333. package/dist/esm/helpers-0f42cb46.js.map +1 -0
  334. package/dist/esm/{helpers-d3091c8c.js → helpers-96838a0a.js} +52 -27
  335. package/dist/esm/helpers-96838a0a.js.map +1 -0
  336. package/dist/esm/ic-accordion-group.entry.js +1 -1
  337. package/dist/esm/ic-accordion.entry.js +8 -1
  338. package/dist/esm/ic-accordion.entry.js.map +1 -1
  339. package/dist/esm/ic-alert.entry.js +4 -11
  340. package/dist/esm/ic-alert.entry.js.map +1 -1
  341. package/dist/esm/ic-back-to-top.entry.js +1 -1
  342. package/dist/esm/ic-badge.entry.js +2 -2
  343. package/dist/esm/ic-badge.entry.js.map +1 -1
  344. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  345. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  346. package/dist/esm/ic-button_3.entry.js +10 -7
  347. package/dist/esm/ic-button_3.entry.js.map +1 -1
  348. package/dist/esm/ic-card-horizontal.entry.js +19 -16
  349. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  350. package/dist/esm/ic-card-vertical.entry.js +27 -25
  351. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  352. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  353. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  354. package/dist/esm/ic-checkbox.entry.js +5 -1
  355. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  356. package/dist/esm/ic-chip.entry.js +9 -4
  357. package/dist/esm/ic-chip.entry.js.map +1 -1
  358. package/dist/esm/ic-data-row.entry.js +1 -1
  359. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  360. package/dist/esm/ic-data-table.entry.js +277 -100
  361. package/dist/esm/ic-data-table.entry.js.map +1 -1
  362. package/dist/esm/ic-date-input.entry.js +7 -2
  363. package/dist/esm/ic-date-input.entry.js.map +1 -1
  364. package/dist/esm/ic-date-picker.entry.js +6 -1
  365. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  366. package/dist/esm/ic-dialog.entry.js +1 -1
  367. package/dist/esm/ic-divider.entry.js +3 -3
  368. package/dist/esm/ic-divider.entry.js.map +1 -1
  369. package/dist/esm/ic-empty-state_2.entry.js +25 -16
  370. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  371. package/dist/esm/ic-footer-link-group.entry.js +4 -5
  372. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  373. package/dist/esm/ic-footer-link.entry.js +4 -5
  374. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  375. package/dist/esm/ic-footer.entry.js +24 -14
  376. package/dist/esm/ic-footer.entry.js.map +1 -1
  377. package/dist/esm/ic-hero.entry.js +8 -16
  378. package/dist/esm/ic-hero.entry.js.map +1 -1
  379. package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
  380. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  381. package/dist/esm/ic-input-component-container_3.entry.js +40 -25
  382. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  383. package/dist/esm/ic-input-label_2.entry.js +1 -1
  384. package/dist/esm/ic-link.entry.js +9 -6
  385. package/dist/esm/ic-link.entry.js.map +1 -1
  386. package/dist/esm/ic-menu-group.entry.js +1 -1
  387. package/dist/esm/ic-menu-item.entry.js +7 -1
  388. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  389. package/dist/esm/ic-navigation-button.entry.js +6 -7
  390. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  391. package/dist/esm/ic-navigation-group.entry.js +5 -6
  392. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  393. package/dist/esm/ic-navigation-item.entry.js +4 -4
  394. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  395. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  396. package/dist/esm/ic-page-header.entry.js +1 -1
  397. package/dist/esm/ic-pagination_4.entry.js +85 -42
  398. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  399. package/dist/esm/ic-popover-menu.entry.js +1 -1
  400. package/dist/esm/ic-radio-group.entry.js +9 -1
  401. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  402. package/dist/esm/ic-radio-option.entry.js +5 -1
  403. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  404. package/dist/esm/ic-search-bar.entry.js +37 -29
  405. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  406. package/dist/esm/ic-side-navigation.entry.js +5 -5
  407. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  408. package/dist/esm/ic-status-tag.entry.js +1 -1
  409. package/dist/esm/ic-step.entry.js +1 -1
  410. package/dist/esm/ic-stepper.entry.js +1 -1
  411. package/dist/esm/ic-switch.entry.js +6 -2
  412. package/dist/esm/ic-switch.entry.js.map +1 -1
  413. package/dist/esm/ic-tab-group.entry.js +1 -1
  414. package/dist/esm/ic-tab-panel.entry.js +1 -1
  415. package/dist/esm/ic-tab.entry.js +5 -2
  416. package/dist/esm/ic-tab.entry.js.map +1 -1
  417. package/dist/esm/ic-theme.entry.js +20 -20
  418. package/dist/esm/ic-theme.entry.js.map +1 -1
  419. package/dist/esm/ic-toast.entry.js +1 -1
  420. package/dist/esm/ic-toggle-button-group.entry.js +29 -10
  421. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  422. package/dist/esm/ic-toggle-button.entry.js +57 -5
  423. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  424. package/dist/esm/ic-top-navigation.entry.js +10 -6
  425. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  426. package/dist/esm/ic-tree-item.entry.js +15 -13
  427. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  428. package/dist/esm/ic-tree-view.entry.js +18 -13
  429. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  430. package/dist/esm/ic-typography.entry.js +1 -1
  431. package/dist/esm/loader.js +1 -1
  432. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +4 -4
  433. package/dist/types/components/ic-data-table/ic-data-table.d.ts +25 -0
  434. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +11 -0
  435. package/dist/types/components/ic-data-table/story-data.d.ts +181 -0
  436. package/dist/types/components/ic-date-input/ic-date-input.d.ts +1 -0
  437. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +1 -0
  438. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +6 -0
  439. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +6 -1
  440. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +9 -1
  441. package/dist/types/components.d.ts +47 -0
  442. package/dist/types/utils/helpers.d.ts +13 -10
  443. package/dist/types/utils/types.d.ts +6 -5
  444. package/hydrate/index.js +897 -448
  445. package/package.json +3 -10
  446. package/dist/cjs/helpers-55099147.js.map +0 -1
  447. package/dist/cjs/helpers-c80f6ce4.js.map +0 -1
  448. package/dist/core/p-006afa83.entry.js +0 -2
  449. package/dist/core/p-006afa83.entry.js.map +0 -1
  450. package/dist/core/p-0687cc81.entry.js.map +0 -1
  451. package/dist/core/p-12b1db1b.entry.js +0 -2
  452. package/dist/core/p-12b1db1b.entry.js.map +0 -1
  453. package/dist/core/p-199ce579.entry.js +0 -2
  454. package/dist/core/p-199ce579.entry.js.map +0 -1
  455. package/dist/core/p-25597c03.js +0 -2
  456. package/dist/core/p-25597c03.js.map +0 -1
  457. package/dist/core/p-29623ad5.entry.js.map +0 -1
  458. package/dist/core/p-2d6fffa4.entry.js +0 -2
  459. package/dist/core/p-2d6fffa4.entry.js.map +0 -1
  460. package/dist/core/p-31082e64.entry.js +0 -2
  461. package/dist/core/p-31082e64.entry.js.map +0 -1
  462. package/dist/core/p-3bbfefcc.entry.js.map +0 -1
  463. package/dist/core/p-43891495.entry.js +0 -2
  464. package/dist/core/p-43891495.entry.js.map +0 -1
  465. package/dist/core/p-47ae7d10.entry.js +0 -2
  466. package/dist/core/p-47ae7d10.entry.js.map +0 -1
  467. package/dist/core/p-59d48811.entry.js +0 -2
  468. package/dist/core/p-59d48811.entry.js.map +0 -1
  469. package/dist/core/p-690d0bbd.entry.js +0 -2
  470. package/dist/core/p-690d0bbd.entry.js.map +0 -1
  471. package/dist/core/p-6f7cf143.entry.js +0 -2
  472. package/dist/core/p-6f7cf143.entry.js.map +0 -1
  473. package/dist/core/p-7a1f1e0d.entry.js +0 -2
  474. package/dist/core/p-7a1f1e0d.entry.js.map +0 -1
  475. package/dist/core/p-7c843bc8.entry.js +0 -2
  476. package/dist/core/p-7c843bc8.entry.js.map +0 -1
  477. package/dist/core/p-7e358f32.entry.js +0 -2
  478. package/dist/core/p-7e358f32.entry.js.map +0 -1
  479. package/dist/core/p-81da002e.entry.js +0 -2
  480. package/dist/core/p-81da002e.entry.js.map +0 -1
  481. package/dist/core/p-83c09d8d.entry.js +0 -2
  482. package/dist/core/p-83c09d8d.entry.js.map +0 -1
  483. package/dist/core/p-8d933976.entry.js +0 -2
  484. package/dist/core/p-8d933976.entry.js.map +0 -1
  485. package/dist/core/p-91cf88d6.entry.js.map +0 -1
  486. package/dist/core/p-92f443aa.entry.js +0 -2
  487. package/dist/core/p-92f443aa.entry.js.map +0 -1
  488. package/dist/core/p-982deb94.entry.js +0 -2
  489. package/dist/core/p-982deb94.entry.js.map +0 -1
  490. package/dist/core/p-99c76218.entry.js +0 -2
  491. package/dist/core/p-99c76218.entry.js.map +0 -1
  492. package/dist/core/p-9ae77f11.entry.js +0 -2
  493. package/dist/core/p-9ae77f11.entry.js.map +0 -1
  494. package/dist/core/p-a0c3f221.entry.js.map +0 -1
  495. package/dist/core/p-b2389339.js +0 -2
  496. package/dist/core/p-b2389339.js.map +0 -1
  497. package/dist/core/p-b4dd4835.entry.js +0 -2
  498. package/dist/core/p-b4dd4835.entry.js.map +0 -1
  499. package/dist/core/p-bc7d33e1.entry.js.map +0 -1
  500. package/dist/core/p-bdce46ca.entry.js +0 -2
  501. package/dist/core/p-bdce46ca.entry.js.map +0 -1
  502. package/dist/core/p-be7bc371.entry.js +0 -2
  503. package/dist/core/p-be7bc371.entry.js.map +0 -1
  504. package/dist/core/p-c12f3582.entry.js +0 -2
  505. package/dist/core/p-c12f3582.entry.js.map +0 -1
  506. package/dist/core/p-c5ea1e19.entry.js +0 -2
  507. package/dist/core/p-c5ea1e19.entry.js.map +0 -1
  508. package/dist/core/p-c894bc8f.entry.js.map +0 -1
  509. package/dist/core/p-df05b999.entry.js.map +0 -1
  510. package/dist/core/p-e4b9221b.entry.js.map +0 -1
  511. package/dist/core/p-e532fa26.entry.js.map +0 -1
  512. package/dist/core/p-e89e5ec8.entry.js +0 -2
  513. package/dist/core/p-e89e5ec8.entry.js.map +0 -1
  514. package/dist/core/p-f4414801.entry.js +0 -2
  515. package/dist/core/p-f4414801.entry.js.map +0 -1
  516. package/dist/esm/helpers-d3091c8c.js.map +0 -1
  517. package/dist/esm/helpers-d399f9c8.js.map +0 -1
  518. /package/dist/core/{p-9da6df82.entry.js.map → p-01034ef4.entry.js.map} +0 -0
  519. /package/dist/core/{p-f5d1e747.entry.js.map → p-03d51c20.entry.js.map} +0 -0
  520. /package/dist/core/{p-a67c358a.entry.js.map → p-05890d1e.entry.js.map} +0 -0
  521. /package/dist/core/{p-dd3a9cb1.entry.js.map → p-07bcfaef.entry.js.map} +0 -0
  522. /package/dist/core/{p-10afa533.entry.js.map → p-22708591.entry.js.map} +0 -0
  523. /package/dist/core/{p-40f94113.entry.js.map → p-2fd78585.entry.js.map} +0 -0
  524. /package/dist/core/{p-6f92ee7a.entry.js.map → p-5dcee0aa.entry.js.map} +0 -0
  525. /package/dist/core/{p-b4eb1c6d.entry.js.map → p-646f21ff.entry.js.map} +0 -0
  526. /package/dist/core/{p-c4dc8fdf.entry.js.map → p-74b676a6.entry.js.map} +0 -0
  527. /package/dist/core/{p-acb0eddb.entry.js.map → p-74e63f4d.entry.js.map} +0 -0
  528. /package/dist/core/{p-bd5aada7.entry.js.map → p-79c8879c.entry.js.map} +0 -0
  529. /package/dist/core/{p-3b3a8108.entry.js.map → p-7d5a0251.entry.js.map} +0 -0
  530. /package/dist/core/{p-160de322.entry.js.map → p-7eef69d7.entry.js.map} +0 -0
  531. /package/dist/core/{p-fca3589b.entry.js.map → p-87cd3985.entry.js.map} +0 -0
  532. /package/dist/core/{p-ffe923ae.entry.js.map → p-901879b8.entry.js.map} +0 -0
  533. /package/dist/core/{p-70543f44.entry.js.map → p-b2a6f0dd.entry.js.map} +0 -0
  534. /package/dist/core/{p-3106c4fd.entry.js.map → p-d1b8e306.entry.js.map} +0 -0
  535. /package/dist/core/{p-9235425c.entry.js.map → p-dedca102.entry.js.map} +0 -0
  536. /package/dist/core/{p-f08723ca.entry.js.map → p-eb09d6af.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icToggleButtonGroupCss","TOGGLE_GROUP","ToggleButtonGroup","constructor","hostRef","this","keyListener","ev","lastKeyPressed","key","shift","shiftKey","setSlottedAria","el","btn","shadowRoot","querySelector","aria","getAttribute","accessibleLabel","setAttribute","handleHostFocus","loading","disabled","target","relEl","relatedTarget","toggleButtons","Array","from","querySelectorAll","every","checked","selectType","tagName","focus","toggledButton","filter","handleKeyDown","event","toggleButtonOptions","getAllToggleButtons","focussedChild","indexOf","document","activeElement","selectMethod","proxySelectHandler","getNextItemToSelect","currentItem","movingDown","numToggles","length","nextItem","fullWidth","iconPlacement","undefined","monochrome","size","theme","variant","watchDisabledHandler","forEach","removeDisabledFalse","watchFullWidthHandler","watchLoadingHandler","watchMonochromeHandler","watchSizeHandler","watchThemeHandler","watchVariantHandler","selectHandler","tabTarget","allToggles","clickedToggle","id","icChange","emit","detail","selectedOption","toggledOptions","map","opt","toggleButton","componentWillLoad","addEventListener","componentDidLoad","i","toString","tabIndex","classList","add","disconnectedCallback","removeEventListener","toggle","customEv","CustomEvent","render","h","Host","role","tabindex","class","onFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css?tag=ic-toggle-button-group&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/* PARENT HOST */\n\n:root {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: -moz-fit-content;\n width: fit-content;\n min-width: -moz-min-content;\n min-width: min-content;\n border: var(--ic-border-width) solid var(--ic-toggle-button-unselected-border);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.ic-toggle-button-group-full-width) {\n width: 100%;\n max-width: 100%;\n}\n\n:host(.ic-toggle-button-group-loading) {\n min-width: -moz-max-content;\n min-width: max-content;\n}\n\n:host(:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n/* CHILDREN SLOTTED */\n\n::slotted(ic-toggle-button) {\n flex-grow: 1;\n width: -moz-min-content;\n width: min-content;\n\n --toggle-button-border: none !important;\n --toggle-button-border-hover: none !important;\n --toggle-button-border-active: none !important;\n}\n\n::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border);\n}\n\n/* DISABLED */\n:host(.ic-toggle-button-group-disabled) {\n border: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n pointer-events: none;\n}\n\n:host(.ic-toggle-button-group-disabled)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n}\n\n:host(.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) dashed\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { removeDisabledFalse } from \"../../utils/helpers\";\nconst TOGGLE_GROUP = \"IC-TOGGLE-BUTTON-GROUP\";\nexport class ToggleButtonGroup {\n constructor() {\n this.keyListener = (ev) => {\n this.lastKeyPressed = {\n key: ev.key,\n shift: ev.shiftKey,\n };\n };\n this.setSlottedAria = (el) => {\n const btn = el.shadowRoot\n .querySelector(\"ic-button\")\n .shadowRoot.querySelector(\"button\");\n let aria = btn.getAttribute(\"aria-label\");\n aria += \", \";\n aria += this.accessibleLabel;\n btn.setAttribute(\"aria-label\", aria);\n };\n this.handleHostFocus = (ev) => {\n if (this.loading || this.disabled) {\n return null;\n }\n const el = ev.target;\n const relEl = ev.relatedTarget;\n const toggleButtons = Array.from(el.querySelectorAll(\"ic-toggle-button\"));\n if (((toggleButtons.every((el) => !el.checked) ||\n this.selectType !== \"single\") &&\n this.lastKeyPressed.shift === false) ||\n (toggleButtons.every((el) => !el.checked) &&\n this.lastKeyPressed.shift === true &&\n relEl.tagName == TOGGLE_GROUP)) {\n toggleButtons[0].focus();\n }\n else if (this.lastKeyPressed.shift === false ||\n (this.lastKeyPressed.shift === true && relEl.tagName == TOGGLE_GROUP)) {\n // if checked is true and selectMethod is \"single\", focus that toggle\n const toggledButton = toggleButtons.filter((el) => el.checked);\n toggledButton[0].focus();\n }\n };\n this.handleKeyDown = (event) => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const focussedChild = toggleButtonOptions.indexOf(toggleButtonOptions.filter((el) => el === document.activeElement)[0]);\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)])\n : toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)].focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(toggleButtonOptions[this.getNextItemToSelect(focussedChild, false)])\n : toggleButtonOptions[this.getNextItemToSelect(focussedChild, false)].focus();\n break;\n case \"Tab\":\n break;\n }\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const numToggles = toggleButtonOptions.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = numToggles;\n }\n else if (nextItem > numToggles) {\n nextItem = 0;\n }\n if (toggleButtonOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n return nextItem;\n };\n this.lastKeyPressed = {\n key: null,\n shift: false,\n };\n this.accessibleLabel = \"Toggle button group\";\n this.disabled = false;\n this.fullWidth = false;\n this.iconPlacement = undefined;\n this.loading = false;\n this.monochrome = false;\n this.selectMethod = \"manual\";\n this.selectType = \"single\";\n this.size = \"medium\";\n this.theme = \"inherit\";\n this.variant = \"default\";\n }\n watchDisabledHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n watchFullWidthHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.fullWidth = this.fullWidth;\n });\n }\n watchLoadingHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.loading = this.loading;\n });\n }\n watchMonochromeHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.monochrome = this.monochrome;\n });\n }\n watchSizeHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.size = this.size;\n });\n }\n watchThemeHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.theme = this.theme;\n });\n }\n watchVariantHandler() {\n this.getAllToggleButtons().forEach((el) => {\n el.variant = this.variant;\n });\n }\n selectHandler(ev, tabTarget) {\n const allToggles = this.getAllToggleButtons();\n let clickedToggle = ev.target;\n // tabTarget used in proxySelectHandler\n tabTarget && tabTarget.focus();\n if (this.selectType === \"single\") {\n if (!clickedToggle) {\n clickedToggle = tabTarget;\n }\n allToggles.forEach((el) => {\n if (el.id !== clickedToggle.id && el.checked) {\n el.checked = false;\n }\n });\n this.icChange.emit({\n checked: ev.detail.checked,\n selectedOption: clickedToggle,\n });\n }\n else {\n const toggledOptions = this.getAllToggleButtons().filter((el) => el.checked && !el.disabled);\n this.icChange.emit({\n checked: toggledOptions.map((opt) => opt.checked),\n toggledOptions: toggledOptions.map((opt) => ({\n toggleButton: opt,\n })),\n selectedOption: clickedToggle,\n });\n }\n }\n componentWillLoad() {\n this.selectType === \"multi\" && (this.selectMethod = \"manual\");\n this.selectMethod === \"auto\" && this.selectType === \"single\";\n document.addEventListener(\"keydown\", this.keyListener);\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n this.getAllToggleButtons().forEach((el, i) => {\n this.setSlottedAria(el);\n el.id = i.toString();\n el.tabIndex = -1;\n el.addEventListener(\"keydown\", (ev) => {\n this.handleKeyDown(ev);\n });\n el.classList.add(\"expand-toggle-group-child\");\n });\n }\n disconnectedCallback() {\n document === null || document === void 0 ? void 0 : document.removeEventListener(\"keydown\", this.keyListener);\n }\n // trigger selectHandler when unable to add 'target'\n proxySelectHandler(toggle) {\n toggle.checked = true;\n const customEv = new CustomEvent(\"icToggleChecked\", {\n detail: {\n checked: toggle.checked,\n },\n });\n this.selectHandler(customEv, toggle);\n }\n getAllToggleButtons() {\n return Array.from(this.el.querySelectorAll(\"ic-toggle-button\"));\n }\n render() {\n return (h(Host, { role: \"group\", \"aria-label\": this.accessibleLabel, tabindex: 0, class: {\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-toggle-button-group-full-width\"]: this.fullWidth,\n [\"ic-toggle-button-group-loading\"]: this.loading,\n [\"ic-toggle-button-group-disabled\"]: this.disabled,\n [`ic-toggle-button-group-monochrome`]: this.monochrome,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }, onFocus: this.handleHostFocus }, h(\"slot\", null)));\n }\n static get is() { return \"ic-toggle-button-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button-group.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the toggle button group component to provide context for screen reader users.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Toggle button group\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will be set to the disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icons in relation to the toggle button labels.\"\n },\n \"attribute\": \"icon-placement\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will be in loading state.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will display as black in the light theme, and white in dark theme.\"\n },\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"selectMethod\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcSelectMethodTypes\",\n \"resolved\": \"\\\"auto\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcSelectMethodTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSelectMethodTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.\"\n },\n \"attribute\": \"select-method\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"selectType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSelectTypes\",\n \"resolved\": \"\\\"multi\\\" | \\\"single\\\"\",\n \"references\": {\n \"IcSelectTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSelectTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.\"\n },\n \"attribute\": \"select-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"single\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"lastKeyPressed\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a toggle button is selected.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-toggle-button-group.types\",\n \"id\": \"src/components/ic-toggle-button-group/ic-toggle-button-group.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"fullWidth\",\n \"methodName\": \"watchFullWidthHandler\"\n }, {\n \"propName\": \"loading\",\n \"methodName\": \"watchLoadingHandler\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"size\",\n \"methodName\": \"watchSizeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }, {\n \"propName\": \"variant\",\n \"methodName\": \"watchVariantHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icToggleChecked\",\n \"method\": \"selectHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button-group.js.map\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{f as n}from"./p-8455d1bb.js";const t={XS:576,S:768,M:992,L:1200,XL:99999};const e=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const s=["ic-alert"];const o={"ic-alert":["ic-link"]};var r;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(r||(r={}));var c;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(c||(c={}));var a;(function(n){n[n["January"]=0]="January";n[n["February"]=1]="February";n[n["March"]=2]="March";n[n["April"]=3]="April";n[n["May"]=4]="May";n[n["June"]=5]="June";n[n["July"]=6]="July";n[n["August"]=7]="August";n[n["September"]=8]="September";n[n["October"]=9]="October";n[n["November"]=10]="November";n[n["December"]=11]="December"})(a||(a={}));var i;(function(n){n[n["Sun"]=0]="Sun";n[n["Mon"]=1]="Mon";n[n["Tue"]=2]="Tue";n[n["Wed"]=3]="Wed";n[n["Thu"]=4]="Thu";n[n["Fri"]=5]="Fri";n[n["Sat"]=6]="Sat"})(i||(i={}));var u;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(u||(u={}));var d;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(d||(d={}));const l=n=>{const t=[];Object.values(n).forEach((n=>{if(isNaN(Number(n))){const e=n;t.push(e)}}));return t};const f=(n,t)=>{let e;return(...s)=>{const o=t();clearTimeout(e);e=setTimeout(n,o,...s)}};const p=(n,t,e,s,o)=>{if(e!==undefined&&(n||h(t))){const n=t.querySelectorAll("input.ic-input");const r=Array.from(n);const c=r.filter((n=>t===n.parentElement));let a=c[0];if(a===null||a===undefined){a=t.ownerDocument.createElement("input");a.type="hidden";a.classList.add("ic-input");t.appendChild(a)}a.disabled=o;a.name=e;if(s instanceof Date){a.value=s?s.toISOString():null}else{a.value=s||""}}};const y=(n,t=null)=>{var r;const a=n.parentElement||n.getRootNode().host.parentElement;const i=a.closest(e.join(","));if(i!==null){const e=i.tagName.toLowerCase();const a=n.tagName.toLowerCase();if((r=o[e])===null||r===void 0?void 0:r.includes(a)){return c.Default}else if(t!==null&&!s.includes(e)){return t}else if(i.classList.contains(c.Dark)){return c.Dark}return c.Light}return c.Default};const b=n=>n?n.trim().length===0:true;const m=n=>n!==undefined?n:null;const v=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const N=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const x=n=>{const t=n.firstElementChild;if(t!==null){const e=t.assignedElements?t.assignedElements():t.childNodes;return e.length?e:n.tagName?[n]:null}else{return n===null?null:[n]}};({XS:Number(N("--ic-breakpoint-xs").replace("px","")),S:Number(N("--ic-breakpoint-sm").replace("px","")),M:Number(N("--ic-breakpoint-md").replace("px","")),L:Number(N("--ic-breakpoint-lg").replace("px","")),XL:Number(N("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200});const S=(n,t)=>Array.from(n.children).some((n=>n.getAttribute("slot")===t));const h=n=>!!n.shadowRoot&&!!n.attachShadow;const w=n=>n+"-helper-text";const $=n=>n+"-validation-text";const g=(n,t,e)=>`${t?w(n):""} ${e?$(n):""}`.trim();const k=(n,t=16)=>`${1/t*parseInt(n)}rem`;const M=n=>/^-?\d+$/.test(n);const T=(n,t)=>{for(let e=0;e<n.length;e++){const{prop:s,propName:o}=n[e];if(s===null||s===undefined){console.error(`No ${o} specified for ${t} component - prop '${o}' (web components) / '${A(o)}' (react) required`)}}};const A=n=>{n=n.toLowerCase();const t=n.split("-");let e=t[0];for(let n=1;n<t.length;n++){e+=t[n].substring(0,1).toUpperCase()+t[n].substring(1)}return e};const F=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const j=n=>n.closest("FORM");const L=(n,t)=>{const e=j(n);if(e!==null){e.addEventListener("reset",t)}};const O=(n,t)=>{const e=j(n);if(e!==null){e.removeEventListener("reset",t)}};const D=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const X=n=>n.charAt(0).toUpperCase()+n.slice(1);const I=(n,t,e)=>{const s=n=>Array.from(n).some((n=>Array.isArray(e)?e.some((t=>n.slot===t)):n.slot===e));return s(n)||s(t)};const J=(n,t,e)=>{const s={};const o=t.map((n=>n.index));const r=Object.keys(n);const c=Object.values(n);const a=r.length+o.length;for(let n=0,i=0;n<a;n++){if(o.includes(n)){s[t[o.indexOf(n)].key]=e;continue}s[r[i]]=c[i];i++}return s};const W=(n,t)=>n.some((({type:n,addedNodes:e,removedNodes:s})=>n==="childList"?I(e,s,t):false));const q=(t,e,s)=>{if(W(t,e)){n(s)}};export{c as I,q as a,b,J as c,f as d,v as e,x as f,y as g,F as h,S as i,t as j,u as k,a as l,d as m,i as n,T as o,k as p,m as q,D as r,l as s,g as t,O as u,L as v,M as w,r as x,p as y,X as z};
2
+ //# sourceMappingURL=p-a04712b9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","IcInformationStatus","IcBrandForegroundEnum","IcDateInputMonths","IcShortDayNames","IcDayNames","IcWeekDays","stringEnumToArray","theEnum","arr","Object","values","forEach","val","isNaN","Number","str","push","dynamicDebounce","func","getDelay","timer","args","delay","clearTimeout","setTimeout","renderHiddenInput","always","container","name","value","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","getBrandFromContext","brandFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","Default","contains","Dark","Light","isEmptyString","trim","length","isPropDefined","prop","deviceSizeMatches","size","window","matchMedia","matches","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","getSlotElements","slot","slotContent","firstElementChild","elements","assignedElements","childNodes","replace","UNDEFINED","isSlotUsed","element","slotName","children","some","child","getAttribute","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","pxToRem","px","base","parseInt","isNumeric","test","onComponentRequiredPropUndefined","props","component","i","propName","console","error","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","getForm","addFormResetListener","form","addEventListener","removeFormResetListener","removeEventListener","removeDisabledFalse","removeAttribute","capitalize","text","charAt","slice","checkSlotInChildMutations","addedNodes","removedNodes","hasSlot","nodeList","node","isArray","addDataToPosition","dataObject","newKeys","newValue","newData","newIndexes","map","key","index","keys","numberOfKeys","j","indexOf","hasDynamicChildSlots","mutationList","slotNames","renderDynamicChildSlots","ref","forceUpdate"],"sources":["src/utils/constants.ts","src/utils/types.ts","src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\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-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport interface IcPaginationBarOptions {\n itemsPerPageOptions?: { label: string; value: string }[];\n rangeLabelType?: IcPaginationLabelTypes;\n type?: IcPaginationTypes;\n showItemsPerPageControl?: boolean;\n showGoToPageControl?: boolean;\n alignment?: IcPaginationAlignmentOptions;\n itemLabel?: string;\n pageLabel?: string;\n hideRangeLabel?: boolean;\n hideAllFromItemsPerPage?: boolean;\n theme?: IcThemeMode;\n monochrome?: boolean;\n setToFirstPageOnPaginationChange?: boolean;\n}\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport interface IcValueEventDetail {\n value: string | string[];\n keyPressed?: string;\n}\n","/**\n * To investigate:\n * IcColorRGBA works via @ukic/web-components but IcBrandForeground does not even though they are exported\n * from @ukic/web-components in the same file. Why?\n */\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"@ukic/web-components\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package\nimport {\n IcMenuOption,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"./types\"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package\nimport { EventEmitter, forceUpdate } from \"@stencil/core\";\nimport { IcDataTableDataType } from \"../interface\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\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]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\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\nexport const dynamicDebounce = (\n func: (...args: unknown[]) => void,\n getDelay: () => number\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n const delay = getDelay();\n clearTimeout(timer);\n timer = setTimeout(func, delay, ...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 | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\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 IcBrandForeground depending on the context\n */\nexport const getBrandFromContext = (\n el: Element,\n brandFromEvent: IcBrandForeground = null\n): IcBrandForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcBrandForegroundEnum.Default;\n } else if (\n brandFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return brandFromEvent;\n } else if (\n blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)\n ) {\n return IcBrandForegroundEnum.Dark;\n }\n\n return IcBrandForegroundEnum.Light;\n }\n\n return IcBrandForegroundEnum.Default;\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 ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\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 getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the brand colour, calculated by using the brand RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-brand-text-color\"\n * @returns number representing the brightness of the brand colour\n */\nexport const getBrandColorBrightness = (): number => {\n const r = getCssProperty(\"--ic-brand-color-primary-r\");\n const g = getCssProperty(\"--ic-brand-color-primary-g\");\n const b = getCssProperty(\"--ic-brand-color-primary-b\");\n return (parseInt(r) * 299 + parseInt(g) * 587 + parseInt(b) * 114) / 1000;\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getBrandForegroundAppearance = (): IcBrandForeground =>\n getBrandColorBrightness() > DARK_MODE_THRESHOLD\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\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\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | 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 : slot.tagName ? [slot] : 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 isSlotUsed = (element: HTMLElement, slotName: string): boolean =>\n Array.from(element.children).some(\n (child) => child.getAttribute(\"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 hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator ? navigator.maxTouchPoints > 0 : false;\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 valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\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 const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\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 labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean =>\n 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 !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const isNumeric = (value: string): boolean => {\n return /^-?\\d+$/.test(value);\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\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\nexport const getForm = (el: HTMLElement): HTMLFormElement => el.closest(\"FORM\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean => {\n return window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n};\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const capitalize = (text: string): string => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const addDataToPosition = (\n dataObject: IcDataTableDataType,\n newKeys: { key: string; index: number }[],\n newValue: unknown\n): IcDataTableDataType => {\n const newData: IcDataTableDataType = {};\n const newIndexes = newKeys.map((key) => key.index);\n\n const keys = Object.keys(dataObject);\n const values = Object.values(dataObject);\n const numberOfKeys = keys.length + newIndexes.length;\n\n for (let i = 0, j = 0; i < numberOfKeys; i++) {\n if (newIndexes.includes(i)) {\n newData[newKeys[newIndexes.indexOf(i)].key] = newValue;\n continue;\n }\n newData[keys[j]] = values[j];\n j++;\n }\n return newData;\n};\n\n/*\n * Checks if the component is slotted in its relevant 'group' component\n * @param component - the component to check\n */\nexport const isSlottedInGroup = (component: any): boolean => {\n const parent = component?.tagName + \"-GROUP\";\n return component?.parentElement?.tagName === parent;\n};\n\nexport const hasDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[]\n) =>\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, slotNames)\n : false\n );\n\nexport const renderDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[],\n ref: any\n): void => {\n if (hasDynamicChildSlots(mutationList, slotNames)) {\n forceUpdate(ref);\n }\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as i,h as c,H as t,g as a}from"./p-8455d1bb.js";import{r as o,j as r,a as n,k as s,d,l,m as h,i as b}from"./p-b2389339.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=this.nativeIndeterminateBehaviour?false:this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.groupLabel=undefined;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.label=undefined;this.name=undefined;this.nativeIndeterminateBehaviour=false;this.size=undefined;this.theme="inherit";this.value=undefined;this.hideLabel=false}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){o(this.disabled,this.el);r(this.el,this.handleFormReset);const e=this.el.parentElement;if(e){if(!this.name)this.name=e.name;this.groupLabel=e.label}}componentDidLoad(){n([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector("ic-text-field");if(!this.checked){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){s(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.el.shadowRoot.querySelector(".checkbox"))===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:a,dynamicText:o,el:r,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:u,theme:v}=this;const g=`ic-checkbox-${d(p)||u}-${m}`.replace(/ /g,"-");const f=r.parentElement.size;i?l(true,r,k,i&&u,a):h(r);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${v}`]:v!=="inherit"}},c("div",{class:"container"},s&&c("div",{class:"indeterminate-symbol"}),!s&&i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("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"})),c("input",{role:"checkbox",class:{checkbox:true,checked:i,indeterminate:s},type:"checkbox",name:k,id:g,value:u,disabled:a?true:null,checked:i,indeterminate:s,onClick:this.handleClick,form:n,"aria-label":this.hideLabel?this.label:undefined}),!this.hideLabel&&c("ic-typography",{class:"checkbox-label",variant:"body"},c("label",{htmlFor:g},p))),b(r,"additional-field")&&c("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},e==="dynamic"&&c("div",{class:"branch-corner"}),c("div",null,e==="dynamic"&&c("ic-typography",{variant:"caption"},c("p",{class:"dynamic-text","aria-live":"polite"},o)),c("div",{class:{"additional-field-wrapper":e==="static"}},c("slot",{name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
- //# sourceMappingURL=p-29623ad5.entry.js.map
1
+ import{r as e,c as i,h as c,H as t,g as a}from"./p-8455d1bb.js";import{r as o,j as r,b as n,k as s,d,l,m as h,i as b}from"./p-fa002d21.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=this.nativeIndeterminateBehaviour?false:this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.groupLabel=undefined;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.label=undefined;this.name=undefined;this.nativeIndeterminateBehaviour=false;this.size=undefined;this.theme="inherit";this.value=undefined;this.hideLabel=false}watchDisabledHandler(){o(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){o(this.disabled,this.el);r(this.el,this.handleFormReset);const e=this.el.parentElement;if(e){if(!this.name)this.name=e.name;this.groupLabel=e.label}}componentDidLoad(){n([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector("ic-text-field");if(!this.checked){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){s(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.el.shadowRoot.querySelector(".checkbox"))===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:a,dynamicText:o,el:r,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:u,theme:v}=this;const g=`ic-checkbox-${d(p)||u}-${m}`.replace(/ /g,"-");const f=r.parentElement.size;i?l(true,r,k,i&&u,a):h(r);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${v}`]:v!=="inherit"}},c("div",{class:"container"},s&&c("div",{class:"indeterminate-symbol"}),!s&&i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("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"})),c("input",{role:"checkbox",class:{checkbox:true,checked:i,indeterminate:s},type:"checkbox",name:k,id:g,value:u,disabled:a?true:null,checked:i,indeterminate:s,onClick:this.handleClick,form:n,"aria-label":this.hideLabel?this.label:undefined}),!this.hideLabel&&c("ic-typography",{class:"checkbox-label",variant:"body"},c("label",{htmlFor:g},p))),b(r,"additional-field")&&c("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},e==="dynamic"&&c("div",{class:"branch-corner"}),c("div",null,e==="dynamic"&&c("ic-typography",{variant:"caption"},c("p",{class:"dynamic-text","aria-live":"polite"},o)),c("div",{class:{"additional-field-wrapper":e==="static"}},c("slot",{name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
+ //# sourceMappingURL=p-a683fd94.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icCheckboxCss","Checkbox","constructor","hostRef","this","handleClick","checked","displayIndeterminate","nativeIndeterminateBehaviour","indeterminate","icCheck","emit","handleFormReset","initiallyChecked","additionalFieldDisplay","disabled","dynamicText","form","undefined","groupLabel","label","name","size","theme","value","hideLabel","watchDisabledHandler","removeDisabledFalse","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","checkboxGroup","parentElement","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","textfield","querySelector","setAttribute","removeAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","shadowRoot","focus","render","id","isPropDefined","replace","parentElementSize","renderHiddenInput","removeHiddenInput","h","Host","class","viewBox","xmlns","d","role","checkbox","type","onClick","variant","htmlFor","isSlotUsed","ref","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","../web-components/dist/collection/components/ic-checkbox/ic-checkbox.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: -moz-fit-content;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n color: var(--ic-checkbox-text);\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\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: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n -webkit-appearance: revert;\n -moz-appearance: revert;\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderHiddenInput, removeHiddenInput, addFormResetListener, removeFormResetListener, removeDisabledFalse, isPropDefined, } from \"../../utils/helpers\";\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n constructor() {\n this.handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? false\n : this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n this.handleFormReset = () => {\n this.checked = this.initiallyChecked;\n };\n this.additionalFieldDisplay = \"static\";\n this.checked = false;\n this.initiallyChecked = this.checked;\n this.disabled = false;\n this.dynamicText = \"This selection requires additional answers\";\n this.form = undefined;\n this.groupLabel = undefined;\n this.indeterminate = false;\n this.displayIndeterminate = this.indeterminate;\n this.label = undefined;\n this.name = undefined;\n this.nativeIndeterminateBehaviour = false;\n this.size = undefined;\n this.theme = \"inherit\";\n this.value = undefined;\n this.hideLabel = false;\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n watchIndeterminateHandler() {\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? this.indeterminate\n : this.indeterminate && this.checked;\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n addFormResetListener(this.el, this.handleFormReset);\n const checkboxGroup = this.el.parentElement;\n if (checkboxGroup) {\n if (!this.name)\n this.name = checkboxGroup.name;\n this.groupLabel = checkboxGroup.label;\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ], \"Checkbox\");\n }\n componentDidRender() {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield === null || textfield === void 0 ? void 0 : textfield.setAttribute(\"disabled\", \"\");\n }\n else {\n textfield === null || textfield === void 0 ? void 0 : textfield.removeAttribute(\"disabled\");\n }\n }\n else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n disconnectedCallback() {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n /**\n * Sets focus on the checkbox.\n */\n async setFocus() {\n var _a;\n (_a = this.el.shadowRoot.querySelector(\".checkbox\")) === null || _a === void 0 ? void 0 : _a.focus();\n }\n render() {\n const { additionalFieldDisplay, checked, disabled, dynamicText, el, form, displayIndeterminate, groupLabel, label, name, size, value, theme, } = this;\n const id = `ic-checkbox-${isPropDefined(label) || value}-${groupLabel}`.replace(/ /g, \"-\");\n const parentElementSize = el.parentElement\n .size;\n checked\n ? renderHiddenInput(true, el, name, checked && value, disabled)\n : removeHiddenInput(el);\n return (h(Host, { class: {\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size || parentElementSize}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, h(\"div\", { class: \"container\" }, displayIndeterminate && h(\"div\", { class: \"indeterminate-symbol\" }), !displayIndeterminate && checked && (h(\"svg\", { class: \"checkmark\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\" }, h(\"title\", null, \"checkmark icon\"), h(\"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\" }))), h(\"input\", { role: \"checkbox\", class: {\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }, type: \"checkbox\", name: name, id: id, value: value, disabled: disabled ? true : null, checked: checked, indeterminate: displayIndeterminate, onClick: this.handleClick, form: form, \"aria-label\": this.hideLabel ? this.label : undefined }), !this.hideLabel && (h(\"ic-typography\", { class: \"checkbox-label\", variant: \"body\" }, h(\"label\", { htmlFor: id }, label)))), isSlotUsed(el, \"additional-field\") && (h(\"div\", { class: \"dynamic-container\", ref: (el) => (this.additionalFieldContainer = el) }, additionalFieldDisplay === \"dynamic\" && (h(\"div\", { class: \"branch-corner\" })), h(\"div\", null, additionalFieldDisplay === \"dynamic\" && (h(\"ic-typography\", { variant: \"caption\" }, h(\"p\", { class: \"dynamic-text\", \"aria-live\": \"polite\" }, dynamicText))), h(\"div\", { class: {\n \"additional-field-wrapper\": additionalFieldDisplay === \"static\",\n } }, h(\"slot\", { name: \"additional-field\" })))))));\n }\n static get is() { return \"ic-checkbox\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-checkbox.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-checkbox.css\"]\n };\n }\n static get properties() {\n return {\n \"additionalFieldDisplay\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAdditionalFieldTypes\",\n \"resolved\": \"\\\"dynamic\\\" | \\\"static\\\"\",\n \"references\": {\n \"IcAdditionalFieldTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAdditionalFieldTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The style of additionalField that will be displayed if used.\"\n },\n \"attribute\": \"additional-field-display\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"static\\\"\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\"\n },\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox will be set to the disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dynamicText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to be displayed when dynamic.\"\n },\n \"attribute\": \"dynamic-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"This selection requires additional answers\\\"\"\n },\n \"form\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The <form> element to associate the checkbox with.\"\n },\n \"attribute\": \"form\",\n \"reflect\": false\n },\n \"groupLabel\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The group label for the checkbox.\"\n },\n \"attribute\": \"group-label\",\n \"reflect\": false\n },\n \"indeterminate\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the indeterminate state will be displayed when checked.\"\n },\n \"attribute\": \"indeterminate\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the checkbox.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"nativeIndeterminateBehaviour\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\"\n },\n \"attribute\": \"native-indeterminate-behaviour\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value for the checkbox.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"initiallyChecked\": {},\n \"displayIndeterminate\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icCheck\",\n \"name\": \"icCheck\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a checkbox has been checked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the checkbox.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"indeterminate\",\n \"methodName\": \"watchIndeterminateHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-checkbox.js.map\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as a,c as t,h as i,g as e}from"./p-8455d1bb.js";import{i as s}from"./p-25597c03.js";const r='.title-bar-wrapper,.header-container,.description-actions,.action-area,.custom-actions-wrapper{display:flex}.title-bar-wrapper,.action-area,.custom-actions-wrapper{gap:var(--ic-space-xs)}.title-bar-wrapper{flex-direction:column;padding:var(--ic-space-sm) var(--ic-space-xs);border-bottom:var(--ic-space-1px) solid\n var(--ic-data-table-title-bar-keyline);background-color:var(--ic-data-table-title-bar-background)}.full-width{padding:var(--ic-space-sm) 0;border-bottom:none}ic-typography.heading h3{margin:0}ic-typography.ic-typography-subtitle-small{--ic-typography-color:var(--ic-data-table-title-bar-information)}ic-typography.ic-typography-h3,::slotted([slot="header"]){max-width:50rem;color:var(--ic-data-table-title-bar-title);--ic-typography-color:var(--ic-data-table-title-bar-title)}ic-typography.ic-typography-body,::slotted([slot="description"]){color:var(--ic-data-table-title-bar-description);--ic-typography-color:var(--ic-data-table-title-bar-description)}ic-typography.ic-typography-body,ic-typography.ic-typography-subtitle-small,::slotted([slot="description"]){max-width:40rem}.density-input{--input-width:7.625rem}@media screen and (max-width: 1200px){.header-container{flex-direction:column}}@media screen and (min-width: 1201px){.header-container{gap:var(--ic-space-xs);align-items:baseline}}@media screen and (min-width: 769px){.description-actions{justify-content:space-between}}@media screen and (max-width: 768px){.description-actions{flex-direction:column;align-items:flex-start;gap:var(--ic-space-xs)}}@media screen and (min-width: 577px){.action-area{align-items:center}}@media screen and (max-width: 576px){.action-area{flex-direction:column}}';const c="Title Bar";const n=class{constructor(i){a(this,i);this.icTableDensityUpdate=t(this,"icTableDensityUpdate",7);this.initialDensitySelectOption="default";this.isEmbedded=false;this.changeDensity=a=>{this.icTableDensityUpdate.emit({value:a.detail.value})};this.description=undefined;this.heading=c;this.hideDensitySelect=false;this.metadata=undefined}componentWillLoad(){const a=this.el.parentElement;if(a.tagName==="IC-DATA-TABLE"){const{caption:t,density:i,embedded:e}=a;this.initialDensitySelectOption=i;this.isEmbedded=e;if(this.heading===c){this.heading=t}}}render(){const{changeDensity:a,description:t,el:e,heading:r,hideDensitySelect:c,initialDensitySelectOption:n,isEmbedded:o,metadata:l}=this;const d=s(e,"primary-action")||s(e,"custom-actions")||!c;const p=s(e,"description")||t;return i("div",{class:{"title-bar-wrapper":true,"full-width":o}},i("div",{class:"header-container"},i("slot",{name:"heading"},i("ic-typography",{variant:"h3",class:"heading"},i("h3",null,r))),l&&i("ic-typography",{variant:"subtitle-small"},l)),(d||p)&&i("div",{class:"description-actions"},i("slot",{name:"description"},t&&i("ic-typography",{variant:"body"},t)),d&&i("div",{class:"action-area"},s(e,"custom-actions")&&i("div",{class:"custom-actions-wrapper"},i("slot",{name:"custom-actions"})),!c&&i("ic-select",{size:"small",label:"Change density",class:"density-input",hideLabel:true,options:[{label:"Default",value:"default"},{label:"Dense",value:"dense"},{label:"Spacious",value:"spacious"}],value:n,onIcChange:a}),s(e,"primary-action")&&i("slot",{name:"primary-action"}))))}get el(){return e(this)}};n.style=r;export{n as ic_data_table_title_bar};
2
- //# sourceMappingURL=p-70543f44.entry.js.map
1
+ import{r as a,c as t,h as i,g as e}from"./p-8455d1bb.js";import{i as s}from"./p-a04712b9.js";const r='.title-bar-wrapper,.header-container,.description-actions,.action-area,.custom-actions-wrapper{display:flex}.title-bar-wrapper,.action-area,.custom-actions-wrapper{gap:var(--ic-space-xs)}.title-bar-wrapper{flex-direction:column;padding:var(--ic-space-sm) var(--ic-space-xs);border-bottom:var(--ic-space-1px) solid\n var(--ic-data-table-title-bar-keyline);background-color:var(--ic-data-table-title-bar-background)}.full-width{padding:var(--ic-space-sm) 0;border-bottom:none}ic-typography.heading h3{margin:0}ic-typography.ic-typography-subtitle-small{--ic-typography-color:var(--ic-data-table-title-bar-information)}ic-typography.ic-typography-h3,::slotted([slot="header"]){max-width:50rem;color:var(--ic-data-table-title-bar-title);--ic-typography-color:var(--ic-data-table-title-bar-title)}ic-typography.ic-typography-body,::slotted([slot="description"]){color:var(--ic-data-table-title-bar-description);--ic-typography-color:var(--ic-data-table-title-bar-description)}ic-typography.ic-typography-body,ic-typography.ic-typography-subtitle-small,::slotted([slot="description"]){max-width:40rem}.density-input{--input-width:7.625rem}@media screen and (max-width: 1200px){.header-container{flex-direction:column}}@media screen and (min-width: 1201px){.header-container{gap:var(--ic-space-xs);align-items:baseline}}@media screen and (min-width: 769px){.description-actions{justify-content:space-between}}@media screen and (max-width: 768px){.description-actions{flex-direction:column;align-items:flex-start;gap:var(--ic-space-xs)}}@media screen and (min-width: 577px){.action-area{align-items:center}}@media screen and (max-width: 576px){.action-area{flex-direction:column}}';const c="Title Bar";const n=class{constructor(i){a(this,i);this.icTableDensityUpdate=t(this,"icTableDensityUpdate",7);this.initialDensitySelectOption="default";this.isEmbedded=false;this.changeDensity=a=>{this.icTableDensityUpdate.emit({value:a.detail.value})};this.description=undefined;this.heading=c;this.hideDensitySelect=false;this.metadata=undefined}componentWillLoad(){const a=this.el.parentElement;if(a.tagName==="IC-DATA-TABLE"){const{caption:t,density:i,embedded:e}=a;this.initialDensitySelectOption=i;this.isEmbedded=e;if(this.heading===c){this.heading=t}}}render(){const{changeDensity:a,description:t,el:e,heading:r,hideDensitySelect:c,initialDensitySelectOption:n,isEmbedded:o,metadata:l}=this;const d=s(e,"primary-action")||s(e,"custom-actions")||!c;const p=s(e,"description")||t;return i("div",{class:{"title-bar-wrapper":true,"full-width":o}},i("div",{class:"header-container"},i("slot",{name:"heading"},i("ic-typography",{variant:"h3",class:"heading"},i("h3",null,r))),l&&i("ic-typography",{variant:"subtitle-small"},l)),(d||p)&&i("div",{class:"description-actions"},i("slot",{name:"description"},t&&i("ic-typography",{variant:"body"},t)),d&&i("div",{class:"action-area"},s(e,"custom-actions")&&i("div",{class:"custom-actions-wrapper"},i("slot",{name:"custom-actions"})),!c&&i("ic-select",{size:"small",label:"Change density",class:"density-input",hideLabel:true,options:[{label:"Default",value:"default"},{label:"Dense",value:"dense"},{label:"Spacious",value:"spacious"}],value:n,onIcChange:a}),s(e,"primary-action")&&i("slot",{name:"primary-action"}))))}get el(){return e(this)}};n.style=r;export{n as ic_data_table_title_bar};
2
+ //# sourceMappingURL=p-b2a6f0dd.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as i,h as e,H as t,g as s}from"./p-8455d1bb.js";import{q as a,i as c,a as r}from"./p-a04712b9.js";const h=':host{display:block;width:var(--tree-view-width, 100%);background-color:var(--ic-tree-view-background)}:host .heading-area-container{border-bottom:var(--ic-space-1px) solid var(--ic-tree-view-divider);display:flex;align-items:center;min-height:calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );padding:0 var(--ic-space-xs);--ic-typography-color:var(--ic-tree-view-text)}:host(.ic-tree-view-small) .heading-area-container{min-height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-large) .heading-area-container{min-height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate) .heading-area-container{height:calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container{height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container{height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}.icon-container{width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-view-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}}';let n=0;const o=class{constructor(e){i(this,e);this.treeViewId=`ic-tree-view-${n++}`;this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.handleKeyDown=i=>{var e;const t=this.treeItems.indexOf(this.treeItems.filter((i=>i===document.activeElement))[0]);const s=(e=this.treeItems[t])===null||e===void 0?void 0:e.expanded;switch(i.key){case"ArrowDown":this.treeItems[this.getNextItemToSelect(t,true)].setFocus();if(t!==this.treeItems.length-1){i.preventDefault()}break;case"ArrowUp":this.treeItems[this.getNextItemToSelect(t,false)].setFocus();if(t!==0){i.preventDefault()}break;case"ArrowRight":if(this.treeItems[t].isParent&&!s){this.treeItems[t].expanded=true;this.treeItems[t].hasParentExpanded=true;this.treeItems[t].updateAriaLabel()}else if(this.treeItems[t].isParent&&s){this.treeItems[t].children[0].setFocus()}i.preventDefault();break;case"ArrowLeft":if(this.treeItems[t].isParent&&s){this.treeItems[t].expanded=false;this.treeItems[t].hasParentExpanded=false;this.treeItems[t].updateAriaLabel()}else if(this.treeItems[t].parentElement.tagName===this.treeItemTag){this.treeItems[t].parentElement.setFocus()}i.preventDefault();break}};this.getNextItemToSelect=(i,e)=>{const t=this.treeItems.length-1;if(i<1){i=0}let s=e?i+1:i-1;if(s<0){s=0}else if(s>t){s=t}const a=t+1;let c=0;while(c<a){if(s<0||s>t){return i}if(!this.treeItems[s].disabled&&(this.treeItems[s].parentElement.tagName!==this.treeItemTag||this.treeItems[s].parentElement.expanded)){return s}if(s===t&&this.treeItems[s].disabled){return i}s=e?s+1:s-1;c++}return i};this.linkTreeItems=()=>{this.treeItems.forEach((i=>{i.setAttribute("context-id",this.treeViewId)}))};this.setTreeItems=()=>{this.treeItems=this.getAllTreeItems(this.el);this.linkTreeItems()};this.addSlotChangeListener=()=>{this.el.addEventListener("slotchange",this.setTreeItems)};this.truncateTreeViewHeading=()=>{const i=this.el.shadowRoot.querySelector(".tree-view-header");const e=i===null||i===void 0?void 0:i.closest("ic-tooltip");const t=this.el.shadowRoot.querySelector(".heading-area-container");if((i===null||i===void 0?void 0:i.scrollHeight)>(t===null||t===void 0?void 0:t.clientHeight)){i.classList.add("ic-text-overflow");if(!e){const e=document.createElement("ic-tooltip");e.setAttribute("target",this.el.id);e.setAttribute("label",i.textContent);e.classList.add("ic-tooltip-overflow");e.setAttribute("placement","right");t.appendChild(e);e.appendChild(i)}}};this.isHeadingDefined=()=>a(this.heading)&&this.heading!==null;this.hasHeadingAreaContent=()=>c(this.el,"heading")||this.isHeadingDefined()||c(this.el,"icon");this.treeItems=undefined;this.focusInset=false;this.heading="";this.size="medium";this.theme="inherit";this.truncateHeading=false;this.truncateTreeItems=false}watchFocusInsetHandler(){this.treeItems.forEach((i=>{i.focusInset=this.focusInset}))}watchSizeHandler(){this.treeItems.forEach((i=>{i.size=this.size}))}watchThemeHandler(){this.treeItems.forEach((i=>{i.theme=this.theme}))}watchTruncateTreeItemsHandler(){this.treeItems.forEach((i=>{if(i.truncateTreeItem===undefined){i.truncateTreeItem=this.truncateTreeItems}}))}disconnectedCallback(){var i,e;(i=this.el)===null||i===void 0?void 0:i.removeEventListener("slotchange",this.setTreeItems);(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentDidLoad(){this.setTreeItems();this.watchSizeHandler();this.watchFocusInsetHandler();this.watchThemeHandler();this.watchTruncateTreeItemsHandler();setTimeout((()=>{this.truncateHeading&&this.truncateTreeViewHeading()}),100);this.addSlotChangeListener();this.hostMutationObserver=new MutationObserver((i=>r(i,"icon",this)));this.hostMutationObserver.observe(this.el,{childList:true})}handleTreeItemSelected(i){this.treeItems.forEach((e=>{if(e.selected&&e.id!==i.detail.id){e.selected=false}}))}getAllTreeItems(i){const e=[];const t=i=>{Array.from(i.children).forEach((i=>{if(i.tagName===this.treeItemTag){e.push(i)}t(i)}))};t(i);return e}render(){const{heading:i,size:s,theme:a}=this;return e(t,{"context-id":this.treeViewId,class:{[`ic-tree-view-${s}`]:s!=="medium",[`ic-theme-${a}`]:a!=="inherit","ic-tree-view-truncate":this.truncateHeading},onKeyDown:this.handleKeyDown,"aria-label":this.isHeadingDefined()?i:null},this.hasHeadingAreaContent()&&e("div",{class:"heading-area-container"},c(this.el,"icon")&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),e("ic-typography",{variant:"subtitle-large",class:"tree-view-header"},c(this.el,"heading")?e("slot",{name:"heading"}):i)),e("slot",null))}get el(){return s(this)}static get watchers(){return{focusInset:["watchFocusInsetHandler"],size:["watchSizeHandler"],theme:["watchThemeHandler"],truncateTreeItems:["watchTruncateTreeItemsHandler"]}}};o.style=h;export{o as ic_tree_view};
2
+ //# sourceMappingURL=p-be6d9ab9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icTreeViewCss","treeViewIds","TreeView","this","treeViewId","treeItemTag","hostMutationObserver","handleKeyDown","event","focussedChild","treeItems","indexOf","filter","el","document","activeElement","expanded","_a","key","getNextItemToSelect","setFocus","length","preventDefault","isParent","hasParentExpanded","updateAriaLabel","children","parentElement","tagName","currentItem","movingDown","numItems","nextItem","maxAttempts","attempts","disabled","linkTreeItems","forEach","treeItem","setAttribute","setTreeItems","getAllTreeItems","addSlotChangeListener","addEventListener","truncateTreeViewHeading","typographyEl","shadowRoot","querySelector","tooltip","closest","headingContainer","scrollHeight","clientHeight","classList","add","tooltipEl","createElement","id","textContent","appendChild","isHeadingDefined","isPropDefined","heading","hasHeadingAreaContent","isSlotUsed","watchFocusInsetHandler","focusInset","watchSizeHandler","size","watchThemeHandler","theme","watchTruncateTreeItemsHandler","truncateTreeItem","undefined","truncateTreeItems","disconnectedCallback","removeEventListener","_b","disconnect","componentDidLoad","setTimeout","truncateHeading","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","handleTreeItemSelected","selected","detail","element","collectTreeItems","Array","from","child","push","render","h","Host","class","onKeyDown","name","variant"],"sources":["src/components/ic-tree-view/ic-tree-view.css?tag=ic-tree-view&encapsulation=shadow","src/components/ic-tree-view/ic-tree-view.tsx"],"sourcesContent":["/**\n* @prop --tree-view-width: Width of the tree view\n*/\n\n:host {\n display: block;\n width: var(--tree-view-width, 100%);\n background-color: var(--ic-tree-view-background);\n}\n\n:host .heading-area-container {\n border-bottom: var(--ic-space-1px) solid var(--ic-tree-view-divider);\n display: flex;\n align-items: center;\n min-height: calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );\n padding: 0 var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-tree-view-text);\n}\n\n:host(.ic-tree-view-small) .heading-area-container {\n min-height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-large) .heading-area-container {\n min-height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate) .heading-area-container {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container {\n height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container {\n height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-view-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tree-view-icon);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport {\n isPropDefined,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * If `true`, tree items will have inset focus.\n */\n @Prop() focusInset?: boolean = false;\n @Watch(\"focusInset\")\n watchFocusInsetHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.focusInset = this.focusInset;\n });\n }\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.theme = this.theme;\n });\n }\n\n /**\n * If `true`, the tree view heading will be truncated instead of text wrapping.\n */\n @Prop() truncateHeading?: boolean = false;\n\n /**\n * If `true`, tree items will be truncated, unless they are individually overridden.\n */\n @Prop() truncateTreeItems?: boolean = false;\n @Watch(\"truncateTreeItems\")\n watchTruncateTreeItemsHandler() {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.truncateTreeItem === undefined) {\n treeItem.truncateTreeItem = this.truncateTreeItems;\n }\n });\n }\n\n disconnectedCallback(): void {\n this.el?.removeEventListener(\"slotchange\", this.setTreeItems);\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.setTreeItems();\n\n this.watchSizeHandler();\n this.watchFocusInsetHandler();\n this.watchThemeHandler();\n this.watchTruncateTreeItemsHandler();\n\n setTimeout(() => {\n this.truncateHeading && this.truncateTreeViewHeading();\n }, 100);\n\n this.addSlotChangeListener();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"icon\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n !this.treeItems[nextItem].disabled &&\n (this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||\n (this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItems = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItems(child as HTMLElement);\n });\n };\n\n collectTreeItems(element);\n return treeItems;\n }\n\n private addSlotChangeListener = () => {\n this.el.addEventListener(\"slotchange\", this.setTreeItems);\n };\n\n private truncateTreeViewHeading = () => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-view-header\");\n const tooltip = typographyEl?.closest(\"ic-tooltip\");\n const headingContainer: HTMLElement = this.el.shadowRoot.querySelector(\n \".heading-area-container\"\n );\n\n if (typographyEl?.scrollHeight > headingContainer?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { heading, size, theme } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${size}`]: size !== \"medium\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tree-view-truncate\": this.truncateHeading,\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography variant=\"subtitle-large\" class=\"tree-view-header\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as i,c as e,h as t,H as o,g as a}from"./p-8455d1bb.js";import{b as r,r as s,q as c,a as n,i as l}from"./p-b2389339.js";const d=`<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M10 0C4.47 0 0 4.47 0 10C0 15.53 4.47 20 10 20C15.53 20 20 15.53 20 10C20 4.47 15.53 0 10 0ZM15 13.59L13.59 15L10 11.41L6.41 15L5 13.59L8.59 10L5 6.41L6.41 5L10 8.59L13.59 5L15 6.41L11.41 10L15 13.59Z" fill="currentColor"/>\n</svg>\n`;const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;max-width:100%;vertical-align:middle}.chip{--chip-bg-color:transparent;--chip-hover-bg:var(--ic-chip-action-hover);--chip-pressed-bg:var(--ic-chip-action-pressed);display:flex;padding:var(--ic-space-xxs);font-size:0.875rem;border-radius:var(--ic-space-md);text-align:left;text-decoration:none;position:relative;background-color:var(--chip-bg-color);border:var(--ic-border-width) solid transparent;justify-content:space-between}@media (prefers-reduced-motion: no-preference){.chip{transition:var(--ic-easing-transition-fast)}}.chip.small{padding:var(--ic-space-xxxs);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.chip.large{padding:var(--ic-space-xs);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.label{padding:0 var(--ic-space-xs)}.chip:focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);z-index:1}ic-tooltip:focus-within{z-index:1}.filled{--chip-bg-color:var(\n --chip-custom-color,\n var(--ic-chip-background-filled-default)\n );--ic-typography-color:var(\n --chip-custom-foreground-color,\n var(--ic-chip-label)\n );color:var(--chip-custom-foreground-color, var(--ic-chip-label))}.filled.disabled{--chip-bg-color:var(--ic-chip-background-filled-inactive)}:host(.ic-chip-dark-text){--chip-custom-foreground-color:var(--ic-architectural-black)}:host(.ic-chip-light-text){--chip-custom-foreground-color:var(--ic-architectural-white)}:host(.ic-chip-dark-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-dark-bg-hover)}:host(.ic-chip-dark-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-dark-bg-pressed)}:host(.ic-chip-light-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-light-bg-hover)}:host(.ic-chip-light-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-light-bg-pressed)}.outlined{color:var(--ic-chip-label);border-color:var(--chip-custom-color, var(--ic-chip-outline));padding:calc(var(--ic-space-xxs));--ic-typography-color:var(--ic-chip-label)}.outlined.disabled{border:var(--ic-border-disabled);border-color:var(--ic-chip-outline-inactive)}.chip.disabled ic-typography{--ic-typography-color:var(--ic-chip-label-inactive)}.dismiss-icon{border:none;border-radius:50%;padding:0;color:currentcolor;background:none;cursor:pointer;margin:var(--ic-space-xxxs);height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs))}.dismiss-icon:focus{outline:var(--ic-hc-focus-outline)}.dismiss-icon[disabled]{pointer-events:none;color:var(--ic-chip-icon-inactive)}.icon{padding:var(--ic-space-xxxs);box-sizing:border-box}.icon,ic-tooltip{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chip.disabled path,.chip.disabled ::slotted(svg){fill:var(--ic-chip-icon-inactive)}.outlined.non-transparent{background-color:var(--ic-chip-outline-background)}:host .chip.hovered:not(:focus-within){background-image:linear-gradient(var(--chip-hover-bg) 0 0)}:host .chip:focus-within{background-image:linear-gradient(var(--chip-pressed-bg) 0 0)}@media (forced-colors: active){.chip{border:var(--ic-border-hc)}.chip.disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.chip.disabled ic-typography{--ic-typography-color:GrayText}.chip.disabled path,.chip.disabled ::slotted(svg){fill:GrayText}.chip:focus-within{outline:none;border-color:Highlight}}';const h=class{constructor(t){i(this,t);this.icDismiss=e(this,"icDismiss",7);this.inAGGrid=false;this.dismissAction=()=>{this.icDismiss.emit()};this.mouseEnterHandler=()=>{this.hovered=true};this.mouseLeaveHandler=()=>{this.hovered=false};this.setChipColour=()=>{const i=r(this.customColor);if(i){const{r:e,g:t,b:o,a}=i;this.customColorClass=(e*299+t*587+o*114)/1e3>133.3505?"ic-chip-dark-text":"ic-chip-light-text";this.el.setAttribute("style",`--chip-custom-color: rgba(${e}, ${t}, ${o}, ${a});`)}else{this.customColorClass=""}};this.customColorClass="";this.hovered=false;this.visible=true;this.customColor=null;this.disabled=false;this.dismissible=false;this.label=undefined;this.size="medium";this.theme="inherit";this.transparentBackground=true;this.variant="filled"}customColorHandler(){this.setChipColour()}componentWillLoad(){s(this.disabled,this.el);this.customColorHandler()}componentWillRender(){if(c(this.el)){this.inAGGrid=true}}componentDidLoad(){n([{prop:this.label,propName:"label"}],"Chip")}handleClick(){this.visible=!this.visible}async setFocus(){var i;(i=this.el.shadowRoot.querySelector("button"))===null||i===void 0?void 0:i.focus()}render(){const{label:i,variant:e,size:a,dismissible:r,visible:s,disabled:c,hovered:n,theme:p,customColorClass:h}=this;return t(o,{class:{[`ic-theme-${p}`]:p!=="inherit",[`${h}`]:e==="filled"&&h!==""}},s&&t("div",{class:{chip:true,[`${e}`]:true,[`${a}`]:true,disabled:c,dismissible:r,hovered:n,"non-transparent":this.variant==="outlined"&&!this.transparentBackground}},l(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("ic-typography",{variant:"label","apply-vertical-margins":false,class:{label:true,"in-ag-grid":this.inAGGrid}},t("span",null,i)),r&&t("ic-tooltip",{label:"Dismiss",target:"dismiss-icon",class:{"tooltip-disabled":c}},t("button",{id:"dismiss-icon",class:"dismiss-icon","aria-label":`Dismiss ${i} chip`,disabled:c,tabindex:c?-1:0,onClick:this.dismissAction,onMouseEnter:this.mouseEnterHandler,onMouseLeave:this.mouseLeaveHandler,innerHTML:d})),l(this.el,"badge")&&t("slot",{name:"badge"})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{customColor:["customColorHandler"]}}};h.style=p;export{h as ic_chip};
2
- //# sourceMappingURL=p-91cf88d6.entry.js.map
1
+ import{r as i,c as e,h as t,H as o,g as a}from"./p-8455d1bb.js";import{c as r,r as s,q as c,b as n,i as l}from"./p-fa002d21.js";const d=`<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M10 0C4.47 0 0 4.47 0 10C0 15.53 4.47 20 10 20C15.53 20 20 15.53 20 10C20 4.47 15.53 0 10 0ZM15 13.59L13.59 15L10 11.41L6.41 15L5 13.59L8.59 10L5 6.41L6.41 5L10 8.59L13.59 5L15 6.41L11.41 10L15 13.59Z" fill="currentColor"/>\n</svg>\n`;const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;max-width:100%;vertical-align:middle}.chip{--chip-bg-color:transparent;--chip-hover-bg:var(--ic-chip-action-hover);--chip-pressed-bg:var(--ic-chip-action-pressed);display:flex;padding:var(--ic-space-xxs);font-size:0.875rem;border-radius:var(--ic-space-md);text-align:left;text-decoration:none;position:relative;background-color:var(--chip-bg-color);border:var(--ic-border-width) solid transparent;justify-content:space-between}@media (prefers-reduced-motion: no-preference){.chip{transition:var(--ic-easing-transition-fast)}}.chip.small{padding:var(--ic-space-xxxs);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.chip.large{padding:var(--ic-space-xs);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.label{padding:0 var(--ic-space-xs)}.chip:focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);z-index:1}ic-tooltip:focus-within{z-index:1}.filled{--chip-bg-color:var(\n --chip-custom-color,\n var(--ic-chip-background-filled-default)\n );--ic-typography-color:var(\n --chip-custom-foreground-color,\n var(--ic-chip-label)\n );color:var(--chip-custom-foreground-color, var(--ic-chip-label))}.filled.disabled{--chip-bg-color:var(--ic-chip-background-filled-inactive)}:host(.ic-chip-dark-text){--chip-custom-foreground-color:var(--ic-architectural-black)}:host(.ic-chip-light-text){--chip-custom-foreground-color:var(--ic-architectural-white)}:host(.ic-chip-dark-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-dark-bg-hover)}:host(.ic-chip-dark-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-dark-bg-pressed)}:host(.ic-chip-light-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-light-bg-hover)}:host(.ic-chip-light-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-light-bg-pressed)}.outlined{color:var(--ic-chip-label);border-color:var(--chip-custom-color, var(--ic-chip-outline));padding:calc(var(--ic-space-xxs));--ic-typography-color:var(--ic-chip-label)}.outlined.disabled{border:var(--ic-border-disabled);border-color:var(--ic-chip-outline-inactive)}.chip.disabled ic-typography{--ic-typography-color:var(--ic-chip-label-inactive)}.dismiss-icon{border:none;border-radius:50%;padding:0;color:currentcolor;background:none;cursor:pointer;margin:var(--ic-space-xxxs);height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs))}.dismiss-icon:focus{outline:var(--ic-hc-focus-outline)}.dismiss-icon[disabled]{pointer-events:none;color:var(--ic-chip-icon-inactive)}.icon{padding:var(--ic-space-xxxs);box-sizing:border-box}.icon,ic-tooltip{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chip.disabled path,.chip.disabled ::slotted(svg){fill:var(--ic-chip-icon-inactive)}.outlined.non-transparent{background-color:var(--ic-chip-outline-background)}:host .chip.hovered:not(:focus-within){background-image:linear-gradient(var(--chip-hover-bg) 0 0)}:host .chip:focus-within{background-image:linear-gradient(var(--chip-pressed-bg) 0 0)}@media (forced-colors: active){.chip{border:var(--ic-border-hc)}.chip.disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.chip.disabled ic-typography{--ic-typography-color:GrayText}.chip.disabled path,.chip.disabled ::slotted(svg){fill:GrayText}.chip:focus-within{outline:none;border-color:Highlight}}';const p=class{constructor(t){i(this,t);this.icDismiss=e(this,"icDismiss",7);this.inAGGrid=false;this.dismissAction=()=>{this.icDismiss.emit()};this.mouseEnterHandler=()=>{this.hovered=true};this.mouseLeaveHandler=()=>{this.hovered=false};this.setChipColour=()=>{const i=r(this.customColor);if(i){const{r:e,g:t,b:o,a}=i;this.customColorClass=(e*299+t*587+o*114)/1e3>133.3505?"ic-chip-dark-text":"ic-chip-light-text";this.el.setAttribute("style",`--chip-custom-color: rgba(${e}, ${t}, ${o}, ${a});`)}else{this.customColorClass=""}};this.customColorClass="";this.hovered=false;this.visible=true;this.customColor=null;this.disabled=false;this.dismissible=false;this.label=undefined;this.size="medium";this.theme="inherit";this.transparentBackground=true;this.variant="filled";this.dismissLabel="Dismiss"}customColorHandler(){this.setChipColour()}watchDisabledHandler(){s(this.disabled,this.el)}componentWillLoad(){s(this.disabled,this.el);this.customColorHandler()}componentWillRender(){if(c(this.el)){this.inAGGrid=true}}componentDidLoad(){n([{prop:this.label,propName:"label"}],"Chip")}handleClick(){this.visible=!this.visible}async setFocus(){var i;(i=this.el.shadowRoot.querySelector("button"))===null||i===void 0?void 0:i.focus()}render(){const{label:i,variant:e,size:a,dismissible:r,visible:s,disabled:c,hovered:n,theme:h,customColorClass:p,dismissLabel:b}=this;return t(o,{class:{[`ic-theme-${h}`]:h!=="inherit",[`${p}`]:e==="filled"&&p!==""}},s&&t("div",{class:{chip:true,[`${e}`]:true,[`${a}`]:true,disabled:c,dismissible:r,hovered:n,"non-transparent":this.variant==="outlined"&&!this.transparentBackground}},l(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("ic-typography",{variant:"label","apply-vertical-margins":false,class:{label:true,"in-ag-grid":this.inAGGrid}},t("span",null,i)),r&&t("ic-tooltip",{label:b,target:"dismiss-icon",class:{"tooltip-disabled":c}},t("button",{id:"dismiss-icon",class:"dismiss-icon","aria-label":`${b} ${i} chip`,disabled:c,tabindex:c?-1:0,onClick:this.dismissAction,onMouseEnter:this.mouseEnterHandler,onMouseLeave:this.mouseLeaveHandler,innerHTML:d})),l(this.el,"badge")&&t("slot",{name:"badge"})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{customColor:["customColorHandler"],disabled:["watchDisabledHandler"]}}};p.style=h;export{p as ic_chip};
2
+ //# sourceMappingURL=p-d0c7bc04.entry.js.map