@ukic/canary-web-components 3.0.0-canary.13 → 3.0.0-canary.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/{date-helpers-c9551119.js → date-helpers-6f70dd03.js} +20 -66
  3. package/dist/cjs/date-helpers-6f70dd03.js.map +1 -0
  4. package/dist/cjs/{helpers-fc51fdcb.js → helpers-bec0dbd4.js} +2 -2
  5. package/dist/cjs/{helpers-fc51fdcb.js.map → helpers-bec0dbd4.js.map} +1 -1
  6. package/dist/cjs/{helpers-0e4c4fdd.js → helpers-d01564f7.js} +35 -17
  7. package/dist/cjs/helpers-d01564f7.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-button_3.cjs.entry.js +61 -3
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-horizontal.cjs.entry.js +16 -12
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-checkbox_3.cjs.entry.js} +158 -24
  25. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-table.cjs.entry.js +310 -276
  35. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-input.cjs.entry.js +175 -160
  37. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-date-picker.cjs.entry.js +92 -70
  39. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
  41. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -3
  54. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -17
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +38 -24
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-page-header.cjs.entry.js +12 -11
  62. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-pagination_4.cjs.entry.js +53 -32
  64. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js +7 -6
  66. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
  68. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-section-container.cjs.entry.js +3 -3
  73. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +10 -7
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-skip-link.cjs.entry.js +11 -10
  79. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -5
  81. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-step.cjs.entry.js +17 -16
  83. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-stepper.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  87. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
  91. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
  93. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  95. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toast.cjs.entry.js +6 -6
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  103. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-toggle-button.cjs.entry.js +5 -5
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -9
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tree-item.cjs.entry.js +56 -42
  109. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tree-view.cjs.entry.js +127 -22
  111. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  113. package/dist/cjs/{index-8a24b20c.js → index-d337cd8a.js} +6 -11
  114. package/dist/cjs/index-d337cd8a.js.map +1 -0
  115. package/dist/cjs/loader.cjs.js +2 -2
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +1 -1
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +27 -23
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  119. package/dist/collection/components/ic-data-table/ic-data-table.css +19 -2
  120. package/dist/collection/components/ic-data-table/ic-data-table.js +385 -330
  121. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +8 -9
  123. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  124. package/dist/collection/components/ic-data-table/story-data.js +13 -14
  125. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  126. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +9 -9
  127. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  128. package/dist/collection/components/ic-date-input/ic-date-input.js +240 -198
  129. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  130. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +19 -1
  131. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  132. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +6 -3
  133. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -1
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js +133 -91
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +9 -1
  137. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  138. package/dist/collection/components/ic-date-picker/ic-day-button.js +1 -1
  139. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -1
  140. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -1
  141. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -1
  142. package/dist/collection/components/ic-date-picker/story-data.js +16 -1
  143. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  144. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +41 -38
  145. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  146. package/dist/collection/components/ic-tree-item/ic-tree-item.js +86 -50
  147. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  148. package/dist/collection/components/ic-tree-view/ic-tree-view.js +165 -31
  149. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  150. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +384 -12
  151. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  152. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js +2 -0
  153. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js.map +1 -0
  154. package/dist/collection/utils/date-helpers.js +19 -61
  155. package/dist/collection/utils/date-helpers.js.map +1 -1
  156. package/dist/collection/utils/helpers.js +44 -61
  157. package/dist/collection/utils/helpers.js.map +1 -1
  158. package/dist/collection/utils/testa11y.helpers.js +2 -1
  159. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  160. package/dist/components/helpers.js +1 -1
  161. package/dist/components/helpers2.js +32 -16
  162. package/dist/components/helpers2.js.map +1 -1
  163. package/dist/components/ic-badge.js +1 -1
  164. package/dist/components/ic-badge.js.map +1 -1
  165. package/dist/components/ic-button2.js +59 -1
  166. package/dist/components/ic-button2.js.map +1 -1
  167. package/dist/components/ic-card-horizontal.js +14 -10
  168. package/dist/components/ic-card-horizontal.js.map +1 -1
  169. package/dist/components/ic-card-vertical.js +1 -1
  170. package/dist/components/ic-card-vertical.js.map +1 -1
  171. package/dist/components/ic-checkbox-group.js +5 -5
  172. package/dist/components/ic-checkbox-group.js.map +1 -1
  173. package/dist/components/ic-checkbox.js +1 -175
  174. package/dist/components/ic-checkbox.js.map +1 -1
  175. package/dist/{esm/ic-checkbox.entry.js → components/ic-checkbox2.js} +53 -11
  176. package/dist/components/ic-checkbox2.js.map +1 -0
  177. package/dist/components/ic-chip.js +1 -1
  178. package/dist/components/ic-chip.js.map +1 -1
  179. package/dist/components/ic-classification-banner.js +2 -2
  180. package/dist/components/ic-classification-banner.js.map +1 -1
  181. package/dist/components/ic-data-table-title-bar.js +5 -5
  182. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  183. package/dist/components/ic-data-table.js +319 -279
  184. package/dist/components/ic-data-table.js.map +1 -1
  185. package/dist/components/ic-date-input2.js +198 -225
  186. package/dist/components/ic-date-input2.js.map +1 -1
  187. package/dist/components/ic-date-picker.js +90 -67
  188. package/dist/components/ic-date-picker.js.map +1 -1
  189. package/dist/components/ic-dialog.js +38 -47
  190. package/dist/components/ic-dialog.js.map +1 -1
  191. package/dist/components/ic-input-component-container2.js +1 -1
  192. package/dist/components/ic-input-component-container2.js.map +1 -1
  193. package/dist/components/ic-menu-item2.js +1 -1
  194. package/dist/components/ic-menu-item2.js.map +1 -1
  195. package/dist/components/ic-navigation-group.js +22 -15
  196. package/dist/components/ic-navigation-group.js.map +1 -1
  197. package/dist/components/ic-navigation-menu2.js +37 -23
  198. package/dist/components/ic-navigation-menu2.js.map +1 -1
  199. package/dist/components/ic-page-header.js +10 -9
  200. package/dist/components/ic-page-header.js.map +1 -1
  201. package/dist/components/ic-pagination-bar2.js +22 -20
  202. package/dist/components/ic-pagination-bar2.js.map +1 -1
  203. package/dist/components/ic-pagination-item2.js +2 -2
  204. package/dist/components/ic-pagination-item2.js.map +1 -1
  205. package/dist/components/ic-pagination2.js +5 -5
  206. package/dist/components/ic-pagination2.js.map +1 -1
  207. package/dist/components/ic-popover-menu.js +5 -4
  208. package/dist/components/ic-popover-menu.js.map +1 -1
  209. package/dist/components/ic-radio-group.js +5 -5
  210. package/dist/components/ic-radio-group.js.map +1 -1
  211. package/dist/components/ic-search-bar.js +1 -1
  212. package/dist/components/ic-search-bar.js.map +1 -1
  213. package/dist/components/ic-section-container2.js +2 -2
  214. package/dist/components/ic-section-container2.js.map +1 -1
  215. package/dist/components/ic-select2.js +13 -10
  216. package/dist/components/ic-select2.js.map +1 -1
  217. package/dist/components/ic-side-navigation.js +8 -5
  218. package/dist/components/ic-side-navigation.js.map +1 -1
  219. package/dist/components/ic-skeleton.js +2 -2
  220. package/dist/components/ic-skeleton.js.map +1 -1
  221. package/dist/components/ic-skip-link.js +10 -9
  222. package/dist/components/ic-skip-link.js.map +1 -1
  223. package/dist/components/ic-status-tag.js +3 -3
  224. package/dist/components/ic-status-tag.js.map +1 -1
  225. package/dist/components/ic-step.js +15 -14
  226. package/dist/components/ic-step.js.map +1 -1
  227. package/dist/components/ic-stepper.js +2 -2
  228. package/dist/components/ic-stepper.js.map +1 -1
  229. package/dist/components/ic-switch.js +4 -4
  230. package/dist/components/ic-switch.js.map +1 -1
  231. package/dist/components/ic-tab-context.js +1 -1
  232. package/dist/components/ic-tab-context.js.map +1 -1
  233. package/dist/components/ic-tab-group.js +2 -2
  234. package/dist/components/ic-tab-group.js.map +1 -1
  235. package/dist/components/ic-tab-panel.js +2 -2
  236. package/dist/components/ic-tab-panel.js.map +1 -1
  237. package/dist/components/ic-tab.js +1 -1
  238. package/dist/components/ic-tab.js.map +1 -1
  239. package/dist/components/ic-text-field2.js +35 -13
  240. package/dist/components/ic-text-field2.js.map +1 -1
  241. package/dist/components/ic-theme.js +1 -1
  242. package/dist/components/ic-theme.js.map +1 -1
  243. package/dist/components/ic-toast-region.js +1 -1
  244. package/dist/components/ic-toast-region.js.map +1 -1
  245. package/dist/components/ic-toast.js +5 -5
  246. package/dist/components/ic-toast.js.map +1 -1
  247. package/dist/components/ic-toggle-button-group.js +2 -2
  248. package/dist/components/ic-toggle-button-group.js.map +1 -1
  249. package/dist/components/ic-toggle-button.js +3 -3
  250. package/dist/components/ic-toggle-button.js.map +1 -1
  251. package/dist/components/ic-top-navigation.js +4 -8
  252. package/dist/components/ic-top-navigation.js.map +1 -1
  253. package/dist/components/ic-tree-item.js +55 -40
  254. package/dist/components/ic-tree-item.js.map +1 -1
  255. package/dist/components/ic-tree-view.js +132 -23
  256. package/dist/components/ic-tree-view.js.map +1 -1
  257. package/dist/core/core.css +353 -245
  258. package/dist/core/core.esm.js +1 -1
  259. package/dist/core/core.esm.js.map +1 -1
  260. package/dist/core/{p-8d73a3cc.entry.js → p-0616dfbe.entry.js} +2 -2
  261. package/dist/core/p-0616dfbe.entry.js.map +1 -0
  262. package/dist/core/{p-b17e7059.entry.js → p-06bf2cea.entry.js} +2 -2
  263. package/dist/core/{p-b17e7059.entry.js.map → p-06bf2cea.entry.js.map} +1 -1
  264. package/dist/core/{p-f2f7299b.entry.js → p-071f4748.entry.js} +2 -2
  265. package/dist/core/{p-f2f7299b.entry.js.map → p-071f4748.entry.js.map} +1 -1
  266. package/dist/core/p-09e8b002.entry.js +2 -0
  267. package/dist/core/p-09e8b002.entry.js.map +1 -0
  268. package/dist/core/{p-b18a5861.entry.js → p-110486f0.entry.js} +2 -2
  269. package/dist/core/{p-b18a5861.entry.js.map → p-110486f0.entry.js.map} +1 -1
  270. package/dist/core/p-19ecd2a6.entry.js +2 -0
  271. package/dist/core/p-19ecd2a6.entry.js.map +1 -0
  272. package/dist/core/p-1a2b4803.entry.js +2 -0
  273. package/dist/core/p-1a2b4803.entry.js.map +1 -0
  274. package/dist/core/{p-32720276.entry.js → p-1bbae4b3.entry.js} +2 -2
  275. package/dist/core/{p-0fd762bf.entry.js → p-1f415138.entry.js} +2 -2
  276. package/dist/core/p-1f415138.entry.js.map +1 -0
  277. package/dist/core/{p-b8aa37f9.entry.js → p-20bd48cf.entry.js} +2 -2
  278. package/dist/core/{p-be5ad372.entry.js → p-21193099.entry.js} +2 -2
  279. package/dist/core/p-264335c5.entry.js +2 -0
  280. package/dist/core/p-264335c5.entry.js.map +1 -0
  281. package/dist/core/{p-a214a9f8.entry.js → p-30a5b319.entry.js} +2 -2
  282. package/dist/core/{p-a214a9f8.entry.js.map → p-30a5b319.entry.js.map} +1 -1
  283. package/dist/core/{p-9f4fa820.entry.js → p-3244a174.entry.js} +2 -2
  284. package/dist/core/{p-9f4fa820.entry.js.map → p-3244a174.entry.js.map} +1 -1
  285. package/dist/core/{p-5dc25d11.entry.js → p-37df68fe.entry.js} +2 -2
  286. package/dist/core/{p-5dc25d11.entry.js.map → p-37df68fe.entry.js.map} +1 -1
  287. package/dist/core/{p-3e9564b5.entry.js → p-39269b62.entry.js} +2 -2
  288. package/dist/core/p-3955fa94.entry.js +2 -0
  289. package/dist/core/p-3955fa94.entry.js.map +1 -0
  290. package/dist/core/p-3f185257.entry.js +2 -0
  291. package/dist/core/p-3f185257.entry.js.map +1 -0
  292. package/dist/core/p-401f0043.entry.js +2 -0
  293. package/dist/core/{p-144b1dee.entry.js.map → p-401f0043.entry.js.map} +1 -1
  294. package/dist/core/{p-da798f58.entry.js → p-44ac8f8a.entry.js} +2 -2
  295. package/dist/core/{p-afc4ce53.entry.js → p-4d39cab8.entry.js} +2 -2
  296. package/dist/core/{p-fd006a9b.entry.js → p-4e187a11.entry.js} +2 -2
  297. package/dist/core/{p-d154b26c.entry.js → p-50324682.entry.js} +2 -2
  298. package/dist/core/{p-cd9e1ffa.entry.js → p-50f4d151.entry.js} +2 -2
  299. package/dist/core/{p-cd9e1ffa.entry.js.map → p-50f4d151.entry.js.map} +1 -1
  300. package/dist/core/{p-22e0ed96.entry.js → p-5796b6cd.entry.js} +2 -2
  301. package/dist/core/{p-96551ddf.entry.js → p-57c80527.entry.js} +2 -2
  302. package/dist/core/p-59aed40c.entry.js +2 -0
  303. package/dist/core/p-59aed40c.entry.js.map +1 -0
  304. package/dist/core/{p-b6db0cc1.entry.js → p-60d15d35.entry.js} +2 -2
  305. package/dist/core/p-65d3a515.entry.js +2 -0
  306. package/dist/core/p-65d3a515.entry.js.map +1 -0
  307. package/dist/core/{p-272352cb.entry.js → p-6aa1e928.entry.js} +2 -2
  308. package/dist/core/p-6e0f93c5.entry.js +2 -0
  309. package/dist/core/p-6e0f93c5.entry.js.map +1 -0
  310. package/dist/core/p-6f6d793f.entry.js +2 -0
  311. package/dist/core/p-6f6d793f.entry.js.map +1 -0
  312. package/dist/core/{p-507ec499.entry.js → p-701696aa.entry.js} +2 -2
  313. package/dist/core/{p-507ec499.entry.js.map → p-701696aa.entry.js.map} +1 -1
  314. package/dist/core/{p-1334a78f.entry.js → p-73e41eac.entry.js} +2 -2
  315. package/dist/core/p-7bbd9fcb.entry.js +2 -0
  316. package/dist/core/p-7bbd9fcb.entry.js.map +1 -0
  317. package/dist/core/p-7d054704.js +2 -0
  318. package/dist/core/p-7d054704.js.map +1 -0
  319. package/dist/core/{p-08fd225f.entry.js → p-857c46c0.entry.js} +2 -2
  320. package/dist/core/p-858dd362.entry.js +2 -0
  321. package/dist/core/p-858dd362.entry.js.map +1 -0
  322. package/dist/core/{p-0e3cb8d0.entry.js → p-8856dff4.entry.js} +2 -2
  323. package/dist/core/p-8c5a23b4.entry.js +2 -0
  324. package/dist/core/p-8c5a23b4.entry.js.map +1 -0
  325. package/dist/core/{p-00135a74.js → p-8e4e97b4.js} +3 -3
  326. package/dist/core/p-8e4e97b4.js.map +1 -0
  327. package/dist/core/p-91dc6ad3.entry.js +2 -0
  328. package/dist/core/p-91dc6ad3.entry.js.map +1 -0
  329. package/dist/core/{p-0c3bd9e6.entry.js → p-94427b50.entry.js} +2 -2
  330. package/dist/core/{p-e13b43b1.entry.js → p-9cf7494c.entry.js} +2 -2
  331. package/dist/core/{p-0848efa2.entry.js → p-a2671eb0.entry.js} +2 -2
  332. package/dist/core/p-a2fcea60.entry.js +2 -0
  333. package/dist/core/p-a2fcea60.entry.js.map +1 -0
  334. package/dist/core/p-a5ee9c8d.entry.js +2 -0
  335. package/dist/core/p-a5ee9c8d.entry.js.map +1 -0
  336. package/dist/core/{p-a4582939.entry.js → p-a88369e1.entry.js} +2 -2
  337. package/dist/core/p-a88369e1.entry.js.map +1 -0
  338. package/dist/core/{p-a30d165d.entry.js → p-af405fc0.entry.js} +2 -2
  339. package/dist/core/p-af405fc0.entry.js.map +1 -0
  340. package/dist/core/p-b953b22f.entry.js +2 -0
  341. package/dist/core/p-b953b22f.entry.js.map +1 -0
  342. package/dist/core/p-bb9142fe.entry.js +2 -0
  343. package/dist/core/{p-67f3bf1a.entry.js.map → p-bb9142fe.entry.js.map} +1 -1
  344. package/dist/core/{p-60a0c711.entry.js → p-bfdefe7a.entry.js} +2 -2
  345. package/dist/core/{p-60a0c711.entry.js.map → p-bfdefe7a.entry.js.map} +1 -1
  346. package/dist/core/p-c4baa405.entry.js +2 -0
  347. package/dist/core/p-c4baa405.entry.js.map +1 -0
  348. package/dist/core/p-c86ca475.js +2 -0
  349. package/dist/core/p-c86ca475.js.map +1 -0
  350. package/dist/core/p-cda2a461.entry.js +2 -0
  351. package/dist/core/p-cda2a461.entry.js.map +1 -0
  352. package/dist/core/{p-f6013934.entry.js → p-ce83c802.entry.js} +2 -2
  353. package/dist/core/p-ce83c802.entry.js.map +1 -0
  354. package/dist/core/p-cea17764.entry.js +2 -0
  355. package/dist/core/{p-4e5934f3.entry.js.map → p-cea17764.entry.js.map} +1 -1
  356. package/dist/core/{p-f541034c.entry.js → p-d0768256.entry.js} +2 -2
  357. package/dist/core/p-d2d6f1eb.entry.js +2 -0
  358. package/dist/core/p-d2d6f1eb.entry.js.map +1 -0
  359. package/dist/core/{p-c6f1e205.entry.js → p-d4628704.entry.js} +2 -2
  360. package/dist/core/p-d4628704.entry.js.map +1 -0
  361. package/dist/core/{p-0f6b9686.js → p-e246d84b.js} +2 -2
  362. package/dist/core/p-e4fa4ee5.entry.js +2 -0
  363. package/dist/core/p-e4fa4ee5.entry.js.map +1 -0
  364. package/dist/core/{p-3d1ba098.entry.js → p-e6779171.entry.js} +2 -2
  365. package/dist/core/{p-fd42f129.entry.js → p-e8bb1522.entry.js} +2 -2
  366. package/dist/core/p-e8bb1522.entry.js.map +1 -0
  367. package/dist/core/{p-4da17eda.entry.js → p-f42ca69f.entry.js} +2 -2
  368. package/dist/core/{p-3dc4e128.entry.js → p-f5e9c8c8.entry.js} +2 -2
  369. package/dist/core/p-f5e9c8c8.entry.js.map +1 -0
  370. package/dist/core/{p-0e119312.entry.js → p-fa02a267.entry.js} +2 -2
  371. package/dist/core/{p-0e119312.entry.js.map → p-fa02a267.entry.js.map} +1 -1
  372. package/dist/esm/core.js +3 -3
  373. package/dist/esm/{date-helpers-0e5e32a7.js → date-helpers-3b8c39ab.js} +20 -66
  374. package/dist/esm/date-helpers-3b8c39ab.js.map +1 -0
  375. package/dist/esm/{helpers-bbab69a2.js → helpers-bf471ace.js} +3 -3
  376. package/dist/esm/{helpers-bbab69a2.js.map → helpers-bf471ace.js.map} +1 -1
  377. package/dist/esm/{helpers-4e38ba2b.js → helpers-ddc2008a.js} +34 -18
  378. package/dist/esm/helpers-ddc2008a.js.map +1 -0
  379. package/dist/esm/ic-accordion-group.entry.js +2 -2
  380. package/dist/esm/ic-accordion.entry.js +2 -2
  381. package/dist/esm/ic-alert.entry.js +2 -2
  382. package/dist/esm/ic-back-to-top.entry.js +2 -2
  383. package/dist/esm/ic-badge.entry.js +3 -3
  384. package/dist/esm/ic-badge.entry.js.map +1 -1
  385. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  386. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  387. package/dist/esm/ic-button_3.entry.js +61 -3
  388. package/dist/esm/ic-button_3.entry.js.map +1 -1
  389. package/dist/esm/ic-card-horizontal.entry.js +16 -12
  390. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  391. package/dist/esm/ic-card-vertical.entry.js +3 -3
  392. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  393. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  394. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  395. package/dist/esm/{ic-empty-state_2.entry.js → ic-checkbox_3.entry.js} +158 -25
  396. package/dist/esm/ic-checkbox_3.entry.js.map +1 -0
  397. package/dist/esm/ic-chip.entry.js +3 -3
  398. package/dist/esm/ic-chip.entry.js.map +1 -1
  399. package/dist/esm/ic-classification-banner.entry.js +3 -3
  400. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  401. package/dist/esm/ic-data-list.entry.js +1 -1
  402. package/dist/esm/ic-data-row.entry.js +2 -2
  403. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  404. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  405. package/dist/esm/ic-data-table.entry.js +310 -276
  406. package/dist/esm/ic-data-table.entry.js.map +1 -1
  407. package/dist/esm/ic-date-input.entry.js +175 -160
  408. package/dist/esm/ic-date-input.entry.js.map +1 -1
  409. package/dist/esm/ic-date-picker.entry.js +92 -70
  410. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  411. package/dist/esm/ic-dialog.entry.js +38 -47
  412. package/dist/esm/ic-dialog.entry.js.map +1 -1
  413. package/dist/esm/ic-divider.entry.js +2 -2
  414. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  415. package/dist/esm/ic-footer-link.entry.js +2 -2
  416. package/dist/esm/ic-footer.entry.js +2 -2
  417. package/dist/esm/ic-hero.entry.js +2 -2
  418. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  419. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  420. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  421. package/dist/esm/ic-input-label_2.entry.js +2 -2
  422. package/dist/esm/ic-link.entry.js +2 -2
  423. package/dist/esm/ic-menu-group.entry.js +2 -2
  424. package/dist/esm/ic-menu-item.entry.js +3 -3
  425. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  426. package/dist/esm/ic-navigation-button.entry.js +2 -2
  427. package/dist/esm/ic-navigation-group.entry.js +23 -17
  428. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  429. package/dist/esm/ic-navigation-item.entry.js +2 -2
  430. package/dist/esm/ic-navigation-menu.entry.js +38 -24
  431. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  432. package/dist/esm/ic-page-header.entry.js +12 -11
  433. package/dist/esm/ic-page-header.entry.js.map +1 -1
  434. package/dist/esm/ic-pagination_4.entry.js +53 -32
  435. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  436. package/dist/esm/ic-popover-menu.entry.js +7 -6
  437. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  438. package/dist/esm/ic-radio-group.entry.js +7 -7
  439. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  440. package/dist/esm/ic-radio-option.entry.js +2 -2
  441. package/dist/esm/ic-search-bar.entry.js +3 -3
  442. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  443. package/dist/esm/ic-section-container.entry.js +3 -3
  444. package/dist/esm/ic-section-container.entry.js.map +1 -1
  445. package/dist/esm/ic-side-navigation.entry.js +10 -7
  446. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  447. package/dist/esm/ic-skeleton.entry.js +3 -3
  448. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  449. package/dist/esm/ic-skip-link.entry.js +11 -10
  450. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  451. package/dist/esm/ic-status-tag.entry.js +5 -5
  452. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  453. package/dist/esm/ic-step.entry.js +17 -16
  454. package/dist/esm/ic-step.entry.js.map +1 -1
  455. package/dist/esm/ic-stepper.entry.js +4 -4
  456. package/dist/esm/ic-stepper.entry.js.map +1 -1
  457. package/dist/esm/ic-switch.entry.js +6 -6
  458. package/dist/esm/ic-switch.entry.js.map +1 -1
  459. package/dist/esm/ic-tab-context.entry.js +2 -2
  460. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  461. package/dist/esm/ic-tab-group.entry.js +4 -4
  462. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  463. package/dist/esm/ic-tab-panel.entry.js +3 -3
  464. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  465. package/dist/esm/ic-tab.entry.js +3 -3
  466. package/dist/esm/ic-tab.entry.js.map +1 -1
  467. package/dist/esm/ic-theme.entry.js +3 -3
  468. package/dist/esm/ic-theme.entry.js.map +1 -1
  469. package/dist/esm/ic-toast-region.entry.js +2 -2
  470. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  471. package/dist/esm/ic-toast.entry.js +6 -6
  472. package/dist/esm/ic-toast.entry.js.map +1 -1
  473. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  474. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  475. package/dist/esm/ic-toggle-button.entry.js +5 -5
  476. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  477. package/dist/esm/ic-top-navigation.entry.js +5 -9
  478. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  479. package/dist/esm/ic-tree-item.entry.js +56 -42
  480. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  481. package/dist/esm/ic-tree-view.entry.js +127 -22
  482. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  483. package/dist/esm/ic-typography.entry.js +2 -2
  484. package/dist/esm/{index-163fe708.js → index-a7a720e7.js} +6 -11
  485. package/dist/esm/index-a7a720e7.js.map +1 -0
  486. package/dist/esm/loader.js +3 -3
  487. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +3 -3
  488. package/dist/types/components/ic-data-table/ic-data-table.d.ts +30 -20
  489. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +3 -9
  490. package/dist/types/components/ic-data-table/story-data.d.ts +15 -4
  491. package/dist/types/components/ic-date-input/ic-date-input.d.ts +46 -29
  492. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +6 -0
  493. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +18 -12
  494. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +8 -0
  495. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +2 -2
  496. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +3 -3
  497. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +3 -3
  498. package/dist/types/components/ic-date-picker/story-data.d.ts +1 -0
  499. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +2 -2
  500. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +8 -2
  501. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +21 -4
  502. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +91 -13
  503. package/dist/types/components/ic-tree-view/ic-tree-view.types.d.ts +12 -0
  504. package/dist/types/components.d.ts +129 -73
  505. package/dist/types/utils/date-helpers.d.ts +4 -4
  506. package/dist/types/utils/helpers.d.ts +8 -17
  507. package/hydrate/index.js +1223 -955
  508. package/hydrate/index.mjs +1223 -955
  509. package/package.json +3 -3
  510. package/dist/cjs/date-helpers-c9551119.js.map +0 -1
  511. package/dist/cjs/helpers-0e4c4fdd.js.map +0 -1
  512. package/dist/cjs/ic-checkbox.cjs.entry.js +0 -141
  513. package/dist/cjs/ic-checkbox.cjs.entry.js.map +0 -1
  514. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
  515. package/dist/cjs/index-8a24b20c.js.map +0 -1
  516. package/dist/core/p-00135a74.js.map +0 -1
  517. package/dist/core/p-0efeab8a.entry.js +0 -2
  518. package/dist/core/p-0efeab8a.entry.js.map +0 -1
  519. package/dist/core/p-0fd762bf.entry.js.map +0 -1
  520. package/dist/core/p-144b1dee.entry.js +0 -2
  521. package/dist/core/p-1cf61bf2.entry.js +0 -2
  522. package/dist/core/p-1cf61bf2.entry.js.map +0 -1
  523. package/dist/core/p-33dd24eb.js +0 -2
  524. package/dist/core/p-33dd24eb.js.map +0 -1
  525. package/dist/core/p-3dc4e128.entry.js.map +0 -1
  526. package/dist/core/p-44ffa951.entry.js +0 -2
  527. package/dist/core/p-44ffa951.entry.js.map +0 -1
  528. package/dist/core/p-47962514.entry.js +0 -2
  529. package/dist/core/p-47962514.entry.js.map +0 -1
  530. package/dist/core/p-4e5934f3.entry.js +0 -2
  531. package/dist/core/p-5329e478.entry.js +0 -2
  532. package/dist/core/p-5329e478.entry.js.map +0 -1
  533. package/dist/core/p-5b2a7c1a.entry.js +0 -2
  534. package/dist/core/p-5b2a7c1a.entry.js.map +0 -1
  535. package/dist/core/p-67f3bf1a.entry.js +0 -2
  536. package/dist/core/p-6eaf585a.entry.js +0 -2
  537. package/dist/core/p-6eaf585a.entry.js.map +0 -1
  538. package/dist/core/p-8c4f212a.entry.js +0 -2
  539. package/dist/core/p-8c4f212a.entry.js.map +0 -1
  540. package/dist/core/p-8d73a3cc.entry.js.map +0 -1
  541. package/dist/core/p-9265efef.entry.js +0 -2
  542. package/dist/core/p-9265efef.entry.js.map +0 -1
  543. package/dist/core/p-95f2c59a.entry.js +0 -2
  544. package/dist/core/p-95f2c59a.entry.js.map +0 -1
  545. package/dist/core/p-a30d165d.entry.js.map +0 -1
  546. package/dist/core/p-a35cdfc3.entry.js +0 -2
  547. package/dist/core/p-a35cdfc3.entry.js.map +0 -1
  548. package/dist/core/p-a4582939.entry.js.map +0 -1
  549. package/dist/core/p-a7f95a61.entry.js +0 -2
  550. package/dist/core/p-a7f95a61.entry.js.map +0 -1
  551. package/dist/core/p-a81c9048.entry.js +0 -2
  552. package/dist/core/p-a81c9048.entry.js.map +0 -1
  553. package/dist/core/p-ac74cdac.entry.js +0 -2
  554. package/dist/core/p-ac74cdac.entry.js.map +0 -1
  555. package/dist/core/p-ad3e543e.entry.js +0 -2
  556. package/dist/core/p-ad3e543e.entry.js.map +0 -1
  557. package/dist/core/p-ae2bae87.entry.js +0 -2
  558. package/dist/core/p-ae2bae87.entry.js.map +0 -1
  559. package/dist/core/p-afde50b8.js +0 -2
  560. package/dist/core/p-afde50b8.js.map +0 -1
  561. package/dist/core/p-b84213d1.entry.js +0 -2
  562. package/dist/core/p-b84213d1.entry.js.map +0 -1
  563. package/dist/core/p-c2aef5cc.entry.js +0 -2
  564. package/dist/core/p-c2aef5cc.entry.js.map +0 -1
  565. package/dist/core/p-c6f1e205.entry.js.map +0 -1
  566. package/dist/core/p-cd59dc16.entry.js +0 -2
  567. package/dist/core/p-cd59dc16.entry.js.map +0 -1
  568. package/dist/core/p-e86c1c95.entry.js +0 -2
  569. package/dist/core/p-e86c1c95.entry.js.map +0 -1
  570. package/dist/core/p-f6013934.entry.js.map +0 -1
  571. package/dist/core/p-fba58c42.entry.js +0 -2
  572. package/dist/core/p-fba58c42.entry.js.map +0 -1
  573. package/dist/core/p-fd42f129.entry.js.map +0 -1
  574. package/dist/core/p-fde3bbb2.entry.js +0 -2
  575. package/dist/core/p-fde3bbb2.entry.js.map +0 -1
  576. package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
  577. package/dist/esm/helpers-4e38ba2b.js.map +0 -1
  578. package/dist/esm/ic-checkbox.entry.js.map +0 -1
  579. package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
  580. package/dist/esm/index-163fe708.js.map +0 -1
  581. /package/dist/core/{p-32720276.entry.js.map → p-1bbae4b3.entry.js.map} +0 -0
  582. /package/dist/core/{p-b8aa37f9.entry.js.map → p-20bd48cf.entry.js.map} +0 -0
  583. /package/dist/core/{p-be5ad372.entry.js.map → p-21193099.entry.js.map} +0 -0
  584. /package/dist/core/{p-3e9564b5.entry.js.map → p-39269b62.entry.js.map} +0 -0
  585. /package/dist/core/{p-da798f58.entry.js.map → p-44ac8f8a.entry.js.map} +0 -0
  586. /package/dist/core/{p-afc4ce53.entry.js.map → p-4d39cab8.entry.js.map} +0 -0
  587. /package/dist/core/{p-fd006a9b.entry.js.map → p-4e187a11.entry.js.map} +0 -0
  588. /package/dist/core/{p-d154b26c.entry.js.map → p-50324682.entry.js.map} +0 -0
  589. /package/dist/core/{p-22e0ed96.entry.js.map → p-5796b6cd.entry.js.map} +0 -0
  590. /package/dist/core/{p-96551ddf.entry.js.map → p-57c80527.entry.js.map} +0 -0
  591. /package/dist/core/{p-b6db0cc1.entry.js.map → p-60d15d35.entry.js.map} +0 -0
  592. /package/dist/core/{p-272352cb.entry.js.map → p-6aa1e928.entry.js.map} +0 -0
  593. /package/dist/core/{p-1334a78f.entry.js.map → p-73e41eac.entry.js.map} +0 -0
  594. /package/dist/core/{p-08fd225f.entry.js.map → p-857c46c0.entry.js.map} +0 -0
  595. /package/dist/core/{p-0e3cb8d0.entry.js.map → p-8856dff4.entry.js.map} +0 -0
  596. /package/dist/core/{p-0c3bd9e6.entry.js.map → p-94427b50.entry.js.map} +0 -0
  597. /package/dist/core/{p-e13b43b1.entry.js.map → p-9cf7494c.entry.js.map} +0 -0
  598. /package/dist/core/{p-0848efa2.entry.js.map → p-a2671eb0.entry.js.map} +0 -0
  599. /package/dist/core/{p-f541034c.entry.js.map → p-d0768256.entry.js.map} +0 -0
  600. /package/dist/core/{p-0f6b9686.js.map → p-e246d84b.js.map} +0 -0
  601. /package/dist/core/{p-3d1ba098.entry.js.map → p-e6779171.entry.js.map} +0 -0
  602. /package/dist/core/{p-4da17eda.entry.js.map → p-f42ca69f.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tree-view.stories.js","sourceRoot":"","sources":["../../../src/components/ic-tree-view/ic-tree-view.stories.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { html } from \"lit-html\";\nimport readme from \"./readme.md\";\nimport treeItemReadme from \"../ic-tree-item/readme.md\";\n\nexport default {\n title: \"Web Components/Tree view\",\n component: \"ic-tree-view\",\n parameters: {\n componentAPI: {\n data: readme + treeItemReadme,\n },\n },\n};\n\n/**\n * Use the tree view component to display hierarchical data in a tree structure. The tree view component is useful for displaying nested data, such as a file system or a category hierarchy.\n *\n * Click the 'Component API' tab to view all the available attributes, events and slots for tree view.\n *\n * To use the tree view component, import `@ukic/canary-web-components` into your application.\n */\nexport const Basic = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Basic\",\n};\n\nexport const Nested = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\">\n <ic-tree-item label=\"Americano\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Nested\",\n};\n\nexport const WithIcons = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"With icons\",\n};\n\n/**\n * Small and large styling will be passed down from tree view to tree items and nested tree items.\n */\nexport const Small = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" size=\"small\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Small\",\n};\n\nexport const Large = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" size=\"large\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Large\",\n};\n\n/**\n * Individual tree-items can be disabled using the `disabled` prop.\n */\nexport const DisabledTreeItems = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\" disabled=\"true\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\" disabled=\"true\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\" disabled=\"true\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Disabled tree items\",\n};\n\n/**\n * Custom links and router-items can be passed in using the `router-item` slot.\n */\nexport const RouterItem = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" truncate-tree-items=\"true\">\n <ic-tree-item>\n <a slot=\"router-item\" href=\"/\"\n >Hot chocolate with marshmallows and whipped cream</a\n >\n </ic-tree-item>\n <ic-tree-item>\n <a slot=\"router-item\" href=\"/tea\">Tea</a>\n </ic-tree-item>\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Router item\",\n};\n\n/**\n * Custom content can be passed to both the tree view (using the `heading` slot) and the tree-item (using the `label` slot).\n */\nexport const SlottedContent = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view>\n <ic-typography variant=\"subtitle-large\" slot=\"heading\">Menu</ic-typography>\n <ic-tree-item>\n <ic-typography slot=\"label\">Coffee<ic-typography>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Slotted content\",\n};\n\n/**\n * When the heading/label exceeds the width of the container, the text will wrap unless `truncate-tree-item` is set to `true`.\n */\nexport const MaxContent = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu with nested options\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte with extra milk and sugar\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate with marshmallows\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Max content\",\n};\n\n/**\n * When `truncate-tree-items` or `truncate-heading` are set to `true`, and the heading/label exceeds the width of the container, they will be truncated with an ellipsis.\n */\nexport const TruncationBehaviour = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view\n heading=\"Menu with nested options\"\n truncate-tree-items=\"true\"\n truncate-heading=\"true\"\n >\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\" expanded=\"true\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte with extra milk and sugar\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\" expanded=\"true\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item\n label=\"Earl Grey with truncation false\"\n truncate-tree-item=\"false\"\n ></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate with marshmallows\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Truncation behaviour\",\n};\n\n/**\n * Utilising the `selected` attribute on `ic-tree-item` will turn it into a controlled component, displaying the selected state when set to `true`.\n */\nexport const SelectedTreeItem = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\" selected=\"true\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Selected tree item\",\n};\n\n/**\n * When setting the `href` attribute, the tree-item will function as a link.\n */\nexport const Link = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\" href=\"#\"></ic-tree-item>\n <ic-tree-item label=\"Tea\" selected=\"true\" href=\"#\"></ic-tree-item>\n <ic-tree-item\n label=\"Hot chocolate\"\n disabled=\"true\"\n href=\"#\"\n ></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Link\",\n};\n\n/**\n * An example with the `expanded` prop set to `true` on a parent tree item.\n */\nexport const Expanded = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\" expanded=\"true\">\n <ic-tree-item label=\"Americano\" expanded=\"true\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Expanded\",\n};\n\n/**\n * An example with the tree item `focus-inset` prop set to `true`. This sets the focus indicator to appear inside the tree item, around the label.\n */\nexport const FocusInset = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" focus-inset=\"true\">\n <ic-tree-item label=\"Coffee\">\n <ic-tree-item label=\"Americano\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Focus inset\",\n};\n"]}
1
+ {"version":3,"file":"ic-tree-view.stories.js","sourceRoot":"","sources":["../../../src/components/ic-tree-view/ic-tree-view.stories.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { html } from \"lit-html\";\nimport readme from \"./readme.md\";\nimport treeItemReadme from \"../ic-tree-item/readme.md\";\n\nexport default {\n title: \"Web Components/Tree view\",\n component: \"ic-tree-view\",\n parameters: {\n componentAPI: {\n data: readme + treeItemReadme,\n },\n },\n};\n\n/**\n * Use the tree view component to display hierarchical data in a tree structure. The tree view component is useful for displaying nested data, such as a file system or a category hierarchy.\n *\n * Click the 'Component API' tab to view all the available attributes, events and slots for tree view.\n *\n * To use the tree view component, import `@ukic/canary-web-components` into your application.\n */\nexport const Basic = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"basic-tree-view\" heading=\"Menu\"> </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#basic-tree-view\").treeItemData = [\n { label: \"Coffee\" },\n { label: \"Tea\" },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Basic\",\n};\n\nexport const BasicSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Basic - slotted\",\n};\n\nexport const Nested = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"nested-tree-view\" heading=\"Menu\"> </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#nested-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n children: [\n { label: \"Americano\", children: [{ label: \"With milk\" }] },\n { label: \"Latte\" },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Nested\",\n};\n\nexport const NestedSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\">\n <ic-tree-item label=\"Americano\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Nested - slotted\",\n};\n\nexport const WithIcons = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"icon-tree-view\" heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#icon-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n {\n label: \"Latte\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"With icons\",\n};\n\nexport const WithIconsSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"With icons - slotted\",\n};\n\n/**\n * Small and large styling will be passed down from tree view to tree items and nested tree items.\n */\nexport const Small = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"small-tree-view\" heading=\"Menu\" size=\"small\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#small-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n {\n label: \"Latte\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Small\",\n};\n\nexport const SmallSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" size=\"small\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Small - slotted\",\n};\n\nexport const Large = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"large-tree-view\" heading=\"Menu\" size=\"large\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#large-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n {\n label: \"Latte\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Large\",\n};\n\nexport const LargeSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" size=\"large\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Large - slotted\",\n};\n\n/**\n * Individual tree-items can be disabled using the `disabled` prop.\n */\nexport const DisabledTreeItems = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"disabled-tree-view\" heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#disabled-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n {\n label: \"Latte\",\n disabled: true,\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\", disabled: true }],\n },\n { label: \"Hot chocolate\", disabled: true },\n ];\n </script>\n `,\n name: \"Disabled tree items\",\n};\n\nexport const DisabledTreeItemsSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte\" disabled=\"true\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n </ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\" disabled=\"true\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\" disabled=\"true\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Disabled tree items - slotted\",\n};\n\n/**\n * Custom links and router-items can be passed in using the `router-item` slot.\n */\nexport const RouterItem = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" truncate-tree-items=\"true\">\n <ic-tree-item>\n <a slot=\"router-item\" href=\"/\"\n >Hot chocolate with marshmallows and whipped cream</a\n >\n </ic-tree-item>\n <ic-tree-item>\n <a slot=\"router-item\" href=\"/tea\">Tea</a>\n </ic-tree-item>\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Router item\",\n};\n\n/**\n * Custom content can be passed to both the tree view (using the `heading` slot) and the tree-item (using the `label` slot).\n */\nexport const SlottedContent = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view>\n <ic-typography variant=\"subtitle-large\" slot=\"heading\">Menu</ic-typography>\n <ic-tree-item>\n <ic-typography slot=\"label\">Coffee<ic-typography>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Slotted content\",\n};\n\n/**\n * When the heading/label exceeds the width of the container, the text will wrap unless `truncate-tree-item` is set to `true`.\n */\nexport const MaxContent = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view\n id=\"max-content-tree-view\"\n heading=\"Menu with nested options\"\n >\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#max-content-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n { label: \"Latte with extra milk and sugar\" },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate with marshmallows\" },\n ];\n </script>\n `,\n name: \"Max content\",\n};\n\nexport const MaxContentSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu with nested options\">\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte with extra milk and sugar\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate with marshmallows\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Max content - slotted\",\n};\n\n/**\n * When `truncate-tree-items` or `truncate-heading` are set to `true`, and the heading/label exceeds the width of the container, they will be truncated with an ellipsis.\n */\nexport const TruncationBehaviour = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view\n id=\"truncated-tree-view\"\n heading=\"Menu with nested options\"\n truncate-tree-items=\"true\"\n truncate-heading=\"true\"\n >\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#truncated-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" /></svg>',\n children: [\n { label: \"Americano\" },\n { label: \"Latte with extra milk and sugar\" },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [\n { label: \"Earl grey\" },\n {\n label: \"Earl Grey with truncation false\",\n truncateTreeItem: false,\n },\n { label: \"Chai\" },\n ],\n },\n { label: \"Hot chocolate with marshmallows\" },\n ];\n </script>\n `,\n name: \"Truncation behaviour\",\n};\n\nexport const TruncationBehaviourSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view\n heading=\"Menu with nested options\"\n truncate-tree-items=\"true\"\n truncate-heading=\"true\"\n >\n <svg slot=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"\n />\n </svg>\n <ic-tree-item label=\"Coffee\" expanded=\"true\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"\n />\n </svg>\n <ic-tree-item label=\"Americano\"></ic-tree-item>\n <ic-tree-item label=\"Latte with extra milk and sugar\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\" expanded=\"true\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item\n label=\"Earl Grey with truncation false\"\n truncate-tree-item=\"false\"\n ></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate with marshmallows\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Truncation behaviour - slotted\",\n};\n\n/**\n * Utilising the `selected` attribute on `ic-tree-item` will turn it into a controlled component, displaying the selected state when set to `true`.\n */\nexport const SelectedTreeItem = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"selected-tree-view\" heading=\"Menu\"> </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#selected-tree-view\").treeItemData = [\n { label: \"Coffee\" },\n { label: \"Tea\" },\n { label: \"Hot chocolate\", selected: true },\n ];\n </script>\n `,\n name: \"Selected tree item\",\n};\n\nexport const SelectedTreeItemSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\"></ic-tree-item>\n <ic-tree-item label=\"Tea\"></ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\" selected=\"true\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Selected tree item - slotted\",\n};\n\n/**\n * When setting the `href` attribute, the tree-item will function as a link.\n */\nexport const Link = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"link-tree-view\" heading=\"Menu\"> </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#link-tree-view\").treeItemData = [\n { label: \"Coffee\", href: \"#\" },\n { label: \"Tea\", href: \"#\", selected: true },\n { label: \"Hot chocolate\", disabled: true, href: \"#\" },\n ];\n </script>\n `,\n name: \"Link\",\n};\n\nexport const LinkSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\" href=\"#\"></ic-tree-item>\n <ic-tree-item label=\"Tea\" selected=\"true\" href=\"#\"></ic-tree-item>\n <ic-tree-item\n label=\"Hot chocolate\"\n disabled=\"true\"\n href=\"#\"\n ></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Link - slotted\",\n};\n\n/**\n * An example with the `expanded` prop set to `true` on a parent tree item.\n */\nexport const Expanded = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view id=\"expanded-tree-view\" heading=\"Menu\"> </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#expanded-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n expanded: true,\n children: [\n {\n label: \"Americano\",\n expanded: true,\n children: [{ label: \"With milk\" }],\n },\n { label: \"Latte\" },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Expanded\",\n};\n\nexport const ExpandedSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\" expanded=\"true\">\n <ic-tree-item label=\"Americano\" expanded=\"true\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Expanded - slotted\",\n};\n\n/**\n * An example with the tree item `focus-inset` prop set to `true`. This sets the focus indicator to appear inside the tree item, around the label.\n */\nexport const FocusInset = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view\n id=\"focus-inset-tree-view\"\n heading=\"Menu\"\n focus-inset=\"true\"\n >\n </ic-tree-view>\n </div>\n <script>\n document.querySelector(\"#focus-inset-tree-view\").treeItemData = [\n {\n label: \"Coffee\",\n children: [\n { label: \"Americano\", children: [{ label: \"With milk\" }] },\n { label: \"Latte\" },\n { label: \"Espresso\" },\n ],\n },\n {\n label: \"Tea\",\n children: [{ label: \"Earl grey\" }, { label: \"Chai\" }],\n },\n { label: \"Hot chocolate\" },\n ];\n </script>\n `,\n name: \"Focus inset\",\n};\n\nexport const FocusInsetSlotted = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-tree-view heading=\"Menu\" focus-inset=\"true\">\n <ic-tree-item label=\"Coffee\">\n <ic-tree-item label=\"Americano\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Focus inset - slotted\",\n};\n\nexport const WithNestedSkipLink = {\n render: () => html`\n <div style=\"width:250px\">\n <ic-skip-link target=\"next-content\" inline=\"true\"></ic-skip-link>\n <ic-tree-view heading=\"Menu\">\n <ic-tree-item label=\"Coffee\">\n <ic-tree-item label=\"Americano\">\n <ic-tree-item label=\"With milk\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Latte\"></ic-tree-item>\n <ic-tree-item label=\"Espresso\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Tea\">\n <ic-tree-item label=\"Earl Grey\"></ic-tree-item>\n <ic-tree-item label=\"Chai\"></ic-tree-item>\n </ic-tree-item>\n <ic-tree-item label=\"Hot chocolate\"></ic-tree-item>\n </ic-tree-view>\n </div>\n `,\n name: \"Nested skip link\",\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ic-tree-view.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-tree-view.types.js","sourceRoot":"","sources":["../../../src/components/ic-tree-view/ic-tree-view.types.tsx"],"names":[],"mappings":"","sourcesContent":["import { IcThemeMode } from \"../../components\";\n\nexport type IcTreeItemOptions = {\n label: string;\n icon?: string;\n children?: IcTreeItemOptions[];\n disabled?: boolean;\n expanded?: boolean;\n href?: string;\n selected?: boolean;\n theme?: IcThemeMode;\n truncateTreeItem?: boolean;\n};\n"]}
@@ -7,7 +7,7 @@ export const isDayFirstFormat = (dateString) => {
7
7
  return dayFirstFormat.test(dateString);
8
8
  };
9
9
  export const createDate = (date, dateFormat) => {
10
- let newDate;
10
+ let newDate = new Date();
11
11
  if (isDateOrEpoch(date)) {
12
12
  newDate = typeof date === "string" ? new Date(date) : date;
13
13
  }
@@ -20,57 +20,30 @@ export const createDate = (date, dateFormat) => {
20
20
  }
21
21
  return newDate;
22
22
  };
23
- export const isDateOrEpoch = (date) => {
24
- return date instanceof Date || !isNaN(+new Date(+date));
25
- };
23
+ export const isDateOrEpoch = (date) => date instanceof Date || !isNaN(+new Date(+date));
26
24
  export const extractDateFromZuluDateTime = (zuluDateTime) => zuluDateTime.slice(0, zuluDateTime.indexOf("T"));
27
25
  export const splitStringDate = (date, dateFormat) => {
28
26
  // returns an array where item 1 is year, item 2 is month, item 3 is day
29
- if (date.includes("T") && date.includes("Z")) {
30
- const nextDate = extractDateFromZuluDateTime(date);
31
- return nextDate.split("-");
32
- }
27
+ if (date.includes("T") && date.includes("Z"))
28
+ return extractDateFromZuluDateTime(date).split("-");
33
29
  let newDate = [];
34
- const dateWithSlashes = date.replace(/-/g, "/");
35
- if (dateWithSlashes.split("/").length > 1) {
36
- const dateParts = dateWithSlashes.split("/");
37
- // pad any values to 2 characters
38
- dateParts.forEach((d, i) => {
39
- if (d.length === 1) {
40
- dateParts[i] = convertToDoubleDigits(d);
41
- }
42
- });
30
+ const splitDateWithSlashes = date.replace(/-/g, "/").split("/");
31
+ if (splitDateWithSlashes.length > 1) {
32
+ const dateParts = splitDateWithSlashes.map((part) => part.length === 1 ? convertToDoubleDigits(part) : part); // pad any values to 2 characters
43
33
  if (dateParts[0].length === 4) {
44
34
  newDate = [dateParts[0], dateParts[1], dateParts[2]];
45
35
  }
46
36
  else {
47
- const newDateStr = dateParts.join("/");
48
- const validDayFirst = isDayFirstFormat(newDateStr);
49
- const validMonthFirst = isMonthFirstFormat(newDateStr);
50
- if (validDayFirst && validMonthFirst) {
51
- if (dateFormat.charAt(0) === "M") {
52
- newDate = [dateParts[2], dateParts[0], dateParts[1]];
53
- }
54
- else {
55
- newDate = [dateParts[2], dateParts[1], dateParts[0]];
56
- }
57
- }
58
- else if (validMonthFirst) {
37
+ newDate = [dateParts[2], dateParts[1], dateParts[0]];
38
+ if (isMonthFirstFormat(dateParts.join("/")) &&
39
+ dateFormat.charAt(0) === "M") {
59
40
  newDate = [dateParts[2], dateParts[0], dateParts[1]];
60
41
  }
61
- else {
62
- newDate = [dateParts[2], dateParts[1], dateParts[0]];
63
- }
64
42
  }
65
43
  }
66
44
  return newDate;
67
45
  };
68
- export const convertToDoubleDigits = (value) => {
69
- if (+value < 10) {
70
- return `0${value}`;
71
- }
72
- return value.toString();
73
- };
46
+ export const convertToDoubleDigits = (value) => +value < 10 ? `0${value}` : value.toString();
74
47
  export const getWeekStart = (date, startDay) => {
75
48
  const tmpDate = new Date(date);
76
49
  const day = tmpDate.getDay();
@@ -94,14 +67,11 @@ export const getMonthEnd = (date) => {
94
67
  /**
95
68
  * Compare if two dates are equal exactly equal
96
69
  */
97
- export const dateMatches = (a, b) => {
98
- if (a === null || b === null) {
99
- return false;
100
- }
101
- return (a.getFullYear() === b.getFullYear() &&
102
- a.getMonth() === b.getMonth() &&
103
- a.getDate() === b.getDate());
104
- };
70
+ export const dateMatches = (a, b) => a !== null &&
71
+ b !== null &&
72
+ a.getFullYear() === b.getFullYear() &&
73
+ a.getMonth() === b.getMonth() &&
74
+ a.getDate() === b.getDate();
105
75
  export const clampDate = (date, min, max) => {
106
76
  const time = date.getTime();
107
77
  if (min !== null && time < min.getTime()) {
@@ -115,19 +85,7 @@ export const clampDate = (date, min, max) => {
115
85
  /**
116
86
  * Compare if date is within specified range
117
87
  */
118
- export const dateInRange = (date, min, max) => {
119
- return clampDate(date, min, max) === date;
120
- };
121
- export const yearInRange = (year, min, max) => {
122
- let allowed = true;
123
- if (year !== null) {
124
- if (min !== null && year < min.getFullYear()) {
125
- allowed = false;
126
- }
127
- if (allowed && max !== null && year > max.getFullYear()) {
128
- allowed = false;
129
- }
130
- }
131
- return allowed;
132
- };
88
+ export const dateInRange = (date, min, max) => clampDate(date, min, max) === date;
89
+ export const yearInRange = (year, min, max) => !year ||
90
+ (!(min && year < min.getFullYear()) && !(max && year > max.getFullYear()));
133
91
  //# sourceMappingURL=date-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-helpers.js","sourceRoot":"","sources":["../../src/utils/date-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { IcDateFormat, IcWeekDays } from \"../utils/types\";\n\nexport const isMonthFirstFormat = (dateString: string) => {\n const monthFirstFormat =\n /^(0[1-9]|1[0-2])(\\/|-)(0[1-9]|[12][0-9]|3[01])(\\/|-)\\d{4}$/;\n return monthFirstFormat.test(dateString);\n};\n\nexport const isDayFirstFormat = (dateString: string) => {\n const dayFirstFormat =\n /^(0[1-9]|[12][0-9]|3[01])(\\/|-)(0[1-9]|1[0-2])(\\/|-)\\d{4}$/;\n return dayFirstFormat.test(dateString);\n};\n\nexport const createDate = (date: string | Date, dateFormat: IcDateFormat) => {\n let newDate;\n if (isDateOrEpoch(date)) {\n newDate = typeof date === \"string\" ? new Date(date) : date;\n } else if (typeof date === \"string\") {\n const dateArray = splitStringDate(date, dateFormat);\n const year = Number(dateArray[0]);\n const month = Number(dateArray[1]) - 1;\n const day = Number(dateArray[2]);\n newDate = new Date(year, month, day);\n }\n return newDate;\n};\n\nexport const isDateOrEpoch = (date: Date | string) => {\n return date instanceof Date || !isNaN(+new Date(+date));\n};\n\nexport const extractDateFromZuluDateTime = (zuluDateTime: string) =>\n zuluDateTime.slice(0, zuluDateTime.indexOf(\"T\"));\n\nexport const splitStringDate = (\n date: string,\n dateFormat: IcDateFormat\n): string[] => {\n // returns an array where item 1 is year, item 2 is month, item 3 is day\n if (date.includes(\"T\") && date.includes(\"Z\")) {\n const nextDate = extractDateFromZuluDateTime(date);\n return nextDate.split(\"-\");\n }\n\n let newDate: string[] = [];\n\n const dateWithSlashes = date.replace(/-/g, \"/\");\n if (dateWithSlashes.split(\"/\").length > 1) {\n const dateParts = dateWithSlashes.split(\"/\");\n\n // pad any values to 2 characters\n dateParts.forEach((d, i) => {\n if (d.length === 1) {\n dateParts[i] = convertToDoubleDigits(d);\n }\n });\n if (dateParts[0].length === 4) {\n newDate = [dateParts[0], dateParts[1], dateParts[2]];\n } else {\n const newDateStr = dateParts.join(\"/\");\n const validDayFirst = isDayFirstFormat(newDateStr);\n const validMonthFirst = isMonthFirstFormat(newDateStr);\n if (validDayFirst && validMonthFirst) {\n if (dateFormat.charAt(0) === \"M\") {\n newDate = [dateParts[2], dateParts[0], dateParts[1]];\n } else {\n newDate = [dateParts[2], dateParts[1], dateParts[0]];\n }\n } else if (validMonthFirst) {\n newDate = [dateParts[2], dateParts[0], dateParts[1]];\n } else {\n newDate = [dateParts[2], dateParts[1], dateParts[0]];\n }\n }\n }\n\n return newDate;\n};\n\nexport const convertToDoubleDigits = (value: string | number): string => {\n if (+value < 10) {\n return `0${value}`;\n }\n return value.toString();\n};\n\nexport const getWeekStart = (date: Date, startDay: IcWeekDays): Date => {\n const tmpDate = new Date(date);\n const day = tmpDate.getDay();\n const diff = (day < startDay ? 7 : 0) + day - startDay;\n\n tmpDate.setDate(tmpDate.getDate() - diff);\n return tmpDate;\n};\n\nexport const getWeekEnd = (date: Date, startDay: IcWeekDays): Date => {\n const d = new Date(date);\n const day = d.getDay();\n const diff = (day < startDay ? -7 : 0) + 6 - (day - startDay);\n\n d.setDate(d.getDate() + diff);\n return d;\n};\n\nexport const getMonthStart = (date: Date): Date => {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n};\n\nexport const getMonthEnd = (date: Date): Date => {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n};\n\n/**\n * Compare if two dates are equal exactly equal\n */\nexport const dateMatches = (a: Date, b: Date): boolean => {\n if (a === null || b === null) {\n return false;\n }\n\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n};\n\nexport const clampDate = (date: Date, min: Date, max: Date): Date => {\n const time = date.getTime();\n if (min !== null && time < min.getTime()) {\n return min;\n }\n if (max !== null && time > max.getTime()) {\n return max;\n }\n return date;\n};\n\n/**\n * Compare if date is within specified range\n */\nexport const dateInRange = (date: Date, min: Date, max: Date): boolean => {\n return clampDate(date, min, max) === date;\n};\n\nexport const yearInRange = (year: number, min: Date, max: Date): boolean => {\n let allowed = true;\n if (year !== null) {\n if (min !== null && year < min.getFullYear()) {\n allowed = false;\n }\n if (allowed && max !== null && year > max.getFullYear()) {\n allowed = false;\n }\n }\n return allowed;\n};\n"]}
1
+ {"version":3,"file":"date-helpers.js","sourceRoot":"","sources":["../../src/utils/date-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { IcDateFormat, IcWeekDays } from \"../utils/types\";\n\nexport const isMonthFirstFormat = (dateString: string): boolean => {\n const monthFirstFormat =\n /^(0[1-9]|1[0-2])(\\/|-)(0[1-9]|[12][0-9]|3[01])(\\/|-)\\d{4}$/;\n return monthFirstFormat.test(dateString);\n};\n\nexport const isDayFirstFormat = (dateString: string): boolean => {\n const dayFirstFormat =\n /^(0[1-9]|[12][0-9]|3[01])(\\/|-)(0[1-9]|1[0-2])(\\/|-)\\d{4}$/;\n return dayFirstFormat.test(dateString);\n};\n\nexport const createDate = (\n date: string | Date,\n dateFormat: IcDateFormat\n): Date => {\n let newDate = new Date();\n if (isDateOrEpoch(date)) {\n newDate = typeof date === \"string\" ? new Date(date) : date;\n } else if (typeof date === \"string\") {\n const dateArray = splitStringDate(date, dateFormat);\n const year = Number(dateArray[0]);\n const month = Number(dateArray[1]) - 1;\n const day = Number(dateArray[2]);\n newDate = new Date(year, month, day);\n }\n return newDate;\n};\n\nexport const isDateOrEpoch = (date: Date | string): boolean =>\n date instanceof Date || !isNaN(+new Date(+date));\n\nexport const extractDateFromZuluDateTime = (zuluDateTime: string): string =>\n zuluDateTime.slice(0, zuluDateTime.indexOf(\"T\"));\n\nexport const splitStringDate = (\n date: string,\n dateFormat: IcDateFormat\n): string[] => {\n // returns an array where item 1 is year, item 2 is month, item 3 is day\n if (date.includes(\"T\") && date.includes(\"Z\"))\n return extractDateFromZuluDateTime(date).split(\"-\");\n\n let newDate: string[] = [];\n\n const splitDateWithSlashes = date.replace(/-/g, \"/\").split(\"/\");\n if (splitDateWithSlashes.length > 1) {\n const dateParts = splitDateWithSlashes.map((part) =>\n part.length === 1 ? convertToDoubleDigits(part) : part\n ); // pad any values to 2 characters\n\n if (dateParts[0].length === 4) {\n newDate = [dateParts[0], dateParts[1], dateParts[2]];\n } else {\n newDate = [dateParts[2], dateParts[1], dateParts[0]];\n\n if (\n isMonthFirstFormat(dateParts.join(\"/\")) &&\n dateFormat.charAt(0) === \"M\"\n ) {\n newDate = [dateParts[2], dateParts[0], dateParts[1]];\n }\n }\n }\n\n return newDate;\n};\n\nexport const convertToDoubleDigits = (value: string | number): string =>\n +value < 10 ? `0${value}` : value.toString();\n\nexport const getWeekStart = (date: Date, startDay: IcWeekDays): Date => {\n const tmpDate = new Date(date);\n const day = tmpDate.getDay();\n const diff = (day < startDay ? 7 : 0) + day - startDay;\n\n tmpDate.setDate(tmpDate.getDate() - diff);\n return tmpDate;\n};\n\nexport const getWeekEnd = (date: Date, startDay: IcWeekDays): Date => {\n const d = new Date(date);\n const day = d.getDay();\n const diff = (day < startDay ? -7 : 0) + 6 - (day - startDay);\n\n d.setDate(d.getDate() + diff);\n return d;\n};\n\nexport const getMonthStart = (date: Date): Date => {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n};\n\nexport const getMonthEnd = (date: Date): Date => {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n};\n\n/**\n * Compare if two dates are equal exactly equal\n */\nexport const dateMatches = (a: Date | null, b: Date | null): boolean =>\n a !== null &&\n b !== null &&\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n\nexport const clampDate = (\n date: Date,\n min: Date | null,\n max: Date | null\n): Date => {\n const time = date.getTime();\n if (min !== null && time < min.getTime()) {\n return min;\n }\n if (max !== null && time > max.getTime()) {\n return max;\n }\n return date;\n};\n\n/**\n * Compare if date is within specified range\n */\nexport const dateInRange = (\n date: Date,\n min: Date | null,\n max: Date | null\n): boolean => clampDate(date, min, max) === date;\n\nexport const yearInRange = (\n year: number | null,\n min: Date | null,\n max: Date | null\n): boolean =>\n !year ||\n (!(min && year < min.getFullYear()) && !(max && year > max.getFullYear()));\n"]}
@@ -1,6 +1,11 @@
1
- import { IC_BLOCK_COLOR_COMPONENTS, IC_BLOCK_COLOR_EXCEPTIONS, IC_FIXED_COLOR_COMPONENTS, } from "./constants"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package
2
- import { IcBrandForegroundEnum, } from "./types"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package
1
+ /**
2
+ * To investigate:
3
+ * IcColorRGBA works via @ukic/web-components but IcBrandForegroundEnum does not even though they are exported
4
+ * from @ukic/web-components in the same file. Why?
5
+ */
3
6
  import { forceUpdate } from "@stencil/core";
7
+ import { IC_BLOCK_COLOR_COMPONENTS, IC_BLOCK_COLOR_EXCEPTIONS, IC_FIXED_COLOR_COMPONENTS, } from "./constants"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package
8
+ import { IcBrandForegroundEnum } from "./types"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package
4
9
  const DARK_MODE_THRESHOLD = 133.3505;
5
10
  /**
6
11
  * converts an enum of strings into an array of strings
@@ -85,7 +90,7 @@ export const renderHiddenInput = (always, container, name, value, disabled) => {
85
90
  input.disabled = disabled;
86
91
  input.name = name;
87
92
  if (value instanceof Date) {
88
- input.value = value ? value.toISOString() : null;
93
+ input.value = value ? value.toISOString() : "";
89
94
  }
90
95
  else {
91
96
  input.value = value || "";
@@ -114,10 +119,10 @@ export const removeHiddenInput = (container) => {
114
119
  export const getBrandFromContext = (el, brandFromEvent = null) => {
115
120
  var _a;
116
121
  const parentElement = el.parentElement || el.getRootNode().host.parentElement;
117
- const blockColorParent = parentElement.closest(IC_BLOCK_COLOR_COMPONENTS.join(","));
122
+ const blockColorParent = parentElement === null || parentElement === void 0 ? void 0 : parentElement.closest(IC_BLOCK_COLOR_COMPONENTS.join(","));
118
123
  // If within a block color component
119
- if (blockColorParent !== null) {
120
- const parentTag = blockColorParent.tagName.toLowerCase();
124
+ if (blockColorParent) {
125
+ const parentTag = blockColorParent === null || blockColorParent === void 0 ? void 0 : blockColorParent.tagName.toLowerCase();
121
126
  const currentTag = el.tagName.toLowerCase();
122
127
  if ((_a = IC_BLOCK_COLOR_EXCEPTIONS[parentTag]) === null || _a === void 0 ? void 0 : _a.includes(currentTag)) {
123
128
  return IcBrandForegroundEnum.Default;
@@ -142,7 +147,7 @@ export const getBrandFromContext = (el, brandFromEvent = null) => {
142
147
  */
143
148
  export const handleHiddenFormButtonClick = (form, button) => {
144
149
  const hiddenFormButton = document.createElement("button");
145
- hiddenFormButton.setAttribute("type", button.type);
150
+ button.type && hiddenFormButton.setAttribute("type", button.type);
146
151
  hiddenFormButton.style.display = "none";
147
152
  form.appendChild(hiddenFormButton);
148
153
  hiddenFormButton.click();
@@ -216,21 +221,23 @@ export const getSlotElements = (slot) => {
216
221
  return slot === null ? null : [slot];
217
222
  }
218
223
  };
219
- export const getNavItemParentDetails = (el) => {
224
+ export const getNavItemParentDetails = ({ parentElement, }) => {
220
225
  let navType = { navType: "", parent: null };
221
- switch (getParentElementType(el)) {
222
- case "IC-NAVIGATION-GROUP":
223
- navType = getNavItemParentDetails(el.parentElement);
224
- break;
225
- case "IC-TOP-NAVIGATION":
226
- navType = { navType: "top", parent: getParentElement(el) };
227
- break;
228
- case "IC-SIDE-NAVIGATION":
229
- navType = { navType: "side", parent: getParentElement(el) };
230
- break;
231
- case "IC-PAGE-HEADER":
232
- navType = { navType: "page-header", parent: null };
233
- break;
226
+ if (parentElement) {
227
+ switch (parentElement.tagName) {
228
+ case "IC-NAVIGATION-GROUP":
229
+ navType = getNavItemParentDetails(parentElement);
230
+ break;
231
+ case "IC-TOP-NAVIGATION":
232
+ navType = { navType: "top", parent: parentElement };
233
+ break;
234
+ case "IC-SIDE-NAVIGATION":
235
+ navType = { navType: "side", parent: parentElement };
236
+ break;
237
+ case "IC-PAGE-HEADER":
238
+ navType = { navType: "page-header", parent: null };
239
+ break;
240
+ }
234
241
  }
235
242
  return navType;
236
243
  };
@@ -345,39 +352,20 @@ export const hexToRgba = (hex) => {
345
352
  }
346
353
  };
347
354
  export const rgbaStrToObj = (rgbaStr) => {
348
- const fourthChar = rgbaStr.slice(3, 4);
349
- let colorRGBA;
350
- if (fourthChar.toLowerCase() === "a") {
351
- colorRGBA = { r: null, g: null, b: null, a: null };
352
- const rgba = rgbaStr
353
- .substring(5, rgbaStr.length - 1)
354
- .replace(/ /g, "")
355
- .split(",");
356
- colorRGBA.r = Number(rgba[0]);
357
- colorRGBA.g = Number(rgba[1]);
358
- colorRGBA.b = Number(rgba[2]);
359
- colorRGBA.a = Number(rgba[3]);
360
- }
361
- else {
362
- colorRGBA = { r: null, g: null, b: null, a: 1 };
363
- const rgb = rgbaStr
364
- .substring(4, rgbaStr.length - 1)
365
- .replace(/ /g, "")
366
- .split(",");
367
- colorRGBA.r = Number(rgb[0]);
368
- colorRGBA.g = Number(rgb[1]);
369
- colorRGBA.b = Number(rgb[2]);
370
- }
371
- return colorRGBA;
355
+ const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === "a";
356
+ const rgbValues = rgbaStr
357
+ .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)
358
+ .replace(/ /g, "")
359
+ .split(",")
360
+ .map(Number);
361
+ return {
362
+ r: rgbValues[0],
363
+ g: rgbValues[1],
364
+ b: rgbValues[2],
365
+ a: isRGBA ? rgbValues[3] : 1,
366
+ };
372
367
  };
373
368
  export const elementOverflowsX = (element) => element.scrollWidth > element.clientWidth;
374
- /**
375
- *
376
- * @param child - The child element
377
- * @returns string
378
- */
379
- export const getParentElementType = (child) => child.parentElement.tagName;
380
- export const getParentElement = (child) => child.parentElement;
381
369
  export const hasClassificationBanner = () => !!document.querySelector("ic-classification-banner:not([inline='true'])");
382
370
  export const pxToRem = (px, base = 16) => `${(1 / base) * parseInt(px)}rem`;
383
371
  export const isNumeric = (value) => {
@@ -411,18 +399,13 @@ export const checkResizeObserver = (callbackFn) => {
411
399
  callbackFn();
412
400
  }
413
401
  };
414
- export const getForm = (el) => el.closest("FORM");
415
402
  export const addFormResetListener = (el, callbackFn) => {
416
- const form = getForm(el);
417
- if (form !== null) {
418
- form.addEventListener("reset", callbackFn);
419
- }
403
+ var _a;
404
+ (_a = el.closest("FORM")) === null || _a === void 0 ? void 0 : _a.addEventListener("reset", callbackFn);
420
405
  };
421
406
  export const removeFormResetListener = (el, callbackFn) => {
422
- const form = getForm(el);
423
- if (form !== null) {
424
- form.removeEventListener("reset", callbackFn);
425
- }
407
+ var _a;
408
+ (_a = el.closest("FORM")) === null || _a === void 0 ? void 0 : _a.removeEventListener("reset", callbackFn);
426
409
  };
427
410
  export const removeDisabledFalse = (disabled, element) => {
428
411
  if (!disabled) {