@ukic/canary-web-components 2.0.0-canary.9 → 3.0.0-canary.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (815) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-7a069459.js → helpers-33b42cd6.js} +95 -101
  3. package/dist/cjs/helpers-33b42cd6.js.map +1 -0
  4. package/dist/cjs/{helpers-f75cf7cf.js → helpers-6817cfbb.js} +116 -1
  5. package/dist/cjs/helpers-6817cfbb.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -9
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +28 -10
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +17 -8
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-badge.cjs.entry.js +67 -117
  15. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +37 -11
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-button_3.cjs.entry.js +115 -128
  21. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card-horizontal.cjs.entry.js +131 -0
  23. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +149 -0
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +27 -20
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +45 -40
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +40 -29
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +14 -5
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  36. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  39. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-data-table.cjs.entry.js +805 -65
  41. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-date-input.cjs.entry.js +70 -33
  43. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-date-picker.cjs.entry.js +81 -55
  45. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-dialog.cjs.entry.js +27 -101
  47. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-divider.cjs.entry.js +2 -3
  49. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-empty-state_2.cjs.entry.js +317 -0
  51. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  52. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
  53. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
  55. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-footer.cjs.entry.js +9 -10
  57. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-hero.cjs.entry.js +27 -12
  59. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -8
  61. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +38 -32
  63. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-link.cjs.entry.js +51 -24
  65. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  67. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-item.cjs.entry.js +6 -13
  69. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +186 -47
  71. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-menu.cjs.entry.js +16 -21
  73. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -8
  75. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -21
  77. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-navigation-item.cjs.entry.js +33 -38
  79. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
  81. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-page-header.cjs.entry.js +10 -12
  83. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-pagination_4.cjs.entry.js +226 -185
  85. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-popover-menu.cjs.entry.js +15 -21
  87. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-radio-group.cjs.entry.js +75 -51
  89. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-radio-option.cjs.entry.js +44 -53
  91. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-search-bar.cjs.entry.js +23 -30
  93. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-select-with-multi.cjs.entry.js +15 -51
  97. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-side-navigation.cjs.entry.js +8 -9
  99. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-skeleton.cjs.entry.js +17 -37
  101. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-status-tag.cjs.entry.js +7 -15
  103. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-step.cjs.entry.js +42 -43
  105. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-stepper.cjs.entry.js +45 -24
  107. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-switch.cjs.entry.js +7 -9
  109. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab-context.cjs.entry.js +35 -18
  111. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
  113. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tab-panel.cjs.entry.js +6 -13
  115. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  117. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-theme.cjs.entry.js +39 -25
  119. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -7
  121. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toast.cjs.entry.js +88 -35
  123. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
  125. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -14
  127. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  128. package/dist/cjs/ic-top-navigation.cjs.entry.js +62 -86
  129. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ic-tree-item.cjs.entry.js +241 -0
  131. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ic-tree-view.cjs.entry.js +203 -0
  133. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ic-typography.cjs.entry.js +55 -19
  135. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  136. package/dist/cjs/index-4cf27b16.js +26 -14
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/collection/assets/arrow-dropdown.svg +3 -0
  139. package/dist/collection/collection-manifest.json +7 -3
  140. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +661 -0
  141. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +373 -0
  142. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  143. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
  144. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
  145. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +130 -0
  146. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
  147. package/dist/collection/components/ic-data-table/ic-data-table.css +155 -10
  148. package/dist/collection/components/ic-data-table/ic-data-table.js +1174 -90
  149. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  150. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  151. package/dist/collection/components/ic-data-table/story-data.js +758 -40
  152. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  153. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +339 -3
  154. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  155. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +93 -0
  156. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  157. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  158. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  159. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  160. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  161. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  162. package/dist/collection/components/ic-date-input/ic-date-input.css +2 -2
  163. package/dist/collection/components/ic-date-input/ic-date-input.js +140 -33
  164. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  165. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +23 -21
  166. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -1
  167. package/dist/collection/components/ic-date-picker/ic-date-picker.css +31 -29
  168. package/dist/collection/components/ic-date-picker/ic-date-picker.js +123 -56
  169. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  170. package/dist/collection/components/ic-date-picker/story-data.js +6 -1
  171. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  172. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +73 -5
  173. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -1
  174. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +25 -14
  175. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +187 -69
  176. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  177. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +229 -52
  178. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  179. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +1 -1
  180. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +173 -158
  181. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  182. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +56 -11
  183. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  184. package/dist/collection/components/ic-select-with-multi/ic-select.css +14 -12
  185. package/dist/collection/components/ic-select-with-multi/ic-select.js +16 -145
  186. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  187. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +7 -7
  188. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  189. package/dist/collection/components/ic-tree-item/ic-tree-item.css +172 -0
  190. package/dist/collection/components/ic-tree-item/ic-tree-item.js +592 -0
  191. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
  192. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +114 -0
  193. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
  194. package/dist/collection/components/ic-tree-view/ic-tree-view.css +59 -0
  195. package/dist/collection/components/ic-tree-view/ic-tree-view.js +296 -0
  196. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
  197. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
  198. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
  199. package/dist/collection/utils/helpers.js +44 -1
  200. package/dist/collection/utils/helpers.js.map +1 -1
  201. package/dist/collection/utils/types.js.map +1 -1
  202. package/dist/components/helpers.js +84 -90
  203. package/dist/components/helpers.js.map +1 -1
  204. package/dist/components/helpers2.js +107 -1
  205. package/dist/components/helpers2.js.map +1 -1
  206. package/dist/components/ic-accordion-group.js +39 -13
  207. package/dist/components/ic-accordion-group.js.map +1 -1
  208. package/dist/components/ic-accordion.js +6 -6
  209. package/dist/components/ic-accordion.js.map +1 -1
  210. package/dist/components/ic-alert.js +132 -1
  211. package/dist/components/ic-alert.js.map +1 -1
  212. package/dist/components/ic-back-to-top.js +37 -8
  213. package/dist/components/ic-back-to-top.js.map +1 -1
  214. package/dist/components/ic-badge.js +75 -121
  215. package/dist/components/ic-badge.js.map +1 -1
  216. package/dist/components/ic-breadcrumb-group.js +42 -10
  217. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  218. package/dist/components/ic-breadcrumb2.js +10 -7
  219. package/dist/components/ic-breadcrumb2.js.map +1 -1
  220. package/dist/components/ic-button2.js +65 -101
  221. package/dist/components/ic-button2.js.map +1 -1
  222. package/dist/components/ic-card-horizontal.d.ts +11 -0
  223. package/dist/components/ic-card-horizontal.js +167 -0
  224. package/dist/components/ic-card-horizontal.js.map +1 -0
  225. package/dist/components/ic-card-vertical.js +194 -0
  226. package/dist/components/ic-card-vertical.js.map +1 -0
  227. package/dist/components/ic-checkbox-group.js +31 -21
  228. package/dist/components/ic-checkbox-group.js.map +1 -1
  229. package/dist/components/ic-checkbox.js +52 -47
  230. package/dist/components/ic-checkbox.js.map +1 -1
  231. package/dist/components/ic-chip.js +45 -31
  232. package/dist/components/ic-chip.js.map +1 -1
  233. package/dist/components/ic-classification-banner.js +14 -5
  234. package/dist/components/ic-classification-banner.js.map +1 -1
  235. package/dist/components/ic-data-list.js +56 -0
  236. package/dist/components/ic-data-list.js.map +1 -0
  237. package/dist/components/ic-data-row.js +14 -13
  238. package/dist/components/ic-data-row.js.map +1 -1
  239. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  240. package/dist/components/ic-data-table-title-bar.js +136 -0
  241. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  242. package/dist/components/ic-data-table.js +841 -72
  243. package/dist/components/ic-data-table.js.map +1 -1
  244. package/dist/components/ic-date-input2.js +79 -36
  245. package/dist/components/ic-date-input2.js.map +1 -1
  246. package/dist/components/ic-date-picker.js +87 -57
  247. package/dist/components/ic-date-picker.js.map +1 -1
  248. package/dist/components/ic-dialog.js +29 -115
  249. package/dist/components/ic-dialog.js.map +1 -1
  250. package/dist/components/ic-divider2.js +1 -2
  251. package/dist/components/ic-divider2.js.map +1 -1
  252. package/dist/components/ic-empty-state.js +1 -57
  253. package/dist/components/ic-empty-state.js.map +1 -1
  254. package/dist/components/ic-empty-state2.js +80 -0
  255. package/dist/components/ic-empty-state2.js.map +1 -0
  256. package/dist/components/ic-footer-link-group.js +10 -10
  257. package/dist/components/ic-footer-link-group.js.map +1 -1
  258. package/dist/components/ic-footer-link.js +13 -8
  259. package/dist/components/ic-footer-link.js.map +1 -1
  260. package/dist/components/ic-footer.js +9 -10
  261. package/dist/components/ic-footer.js.map +1 -1
  262. package/dist/components/ic-hero.js +28 -14
  263. package/dist/components/ic-hero.js.map +1 -1
  264. package/dist/components/ic-horizontal-scroll2.js +6 -8
  265. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  266. package/dist/components/ic-input-component-container2.js +25 -20
  267. package/dist/components/ic-input-component-container2.js.map +1 -1
  268. package/dist/components/ic-input-label2.js +9 -11
  269. package/dist/components/ic-input-label2.js.map +1 -1
  270. package/dist/components/ic-input-validation2.js +4 -5
  271. package/dist/components/ic-input-validation2.js.map +1 -1
  272. package/dist/components/ic-link2.js +54 -27
  273. package/dist/components/ic-link2.js.map +1 -1
  274. package/dist/components/ic-loading-indicator2.js +23 -19
  275. package/dist/components/ic-loading-indicator2.js.map +1 -1
  276. package/dist/components/ic-menu-group.js +2 -2
  277. package/dist/components/ic-menu-group.js.map +1 -1
  278. package/dist/components/ic-menu-item2.js +6 -12
  279. package/dist/components/ic-menu-item2.js.map +1 -1
  280. package/dist/components/ic-menu2.js +15 -20
  281. package/dist/components/ic-menu2.js.map +1 -1
  282. package/dist/components/ic-menu3.js +187 -49
  283. package/dist/components/ic-menu3.js.map +1 -1
  284. package/dist/components/ic-navigation-button.js +28 -8
  285. package/dist/components/ic-navigation-button.js.map +1 -1
  286. package/dist/components/ic-navigation-group.js +23 -20
  287. package/dist/components/ic-navigation-group.js.map +1 -1
  288. package/dist/components/ic-navigation-item.js +33 -37
  289. package/dist/components/ic-navigation-item.js.map +1 -1
  290. package/dist/components/ic-navigation-menu2.js +3 -3
  291. package/dist/components/ic-navigation-menu2.js.map +1 -1
  292. package/dist/components/ic-page-header.js +9 -11
  293. package/dist/components/ic-page-header.js.map +1 -1
  294. package/dist/components/ic-pagination-bar2.js +154 -143
  295. package/dist/components/ic-pagination-bar2.js.map +1 -1
  296. package/dist/components/ic-pagination-item2.js +22 -12
  297. package/dist/components/ic-pagination-item2.js.map +1 -1
  298. package/dist/components/ic-pagination2.js +50 -33
  299. package/dist/components/ic-pagination2.js.map +1 -1
  300. package/dist/components/ic-popover-menu.js +15 -20
  301. package/dist/components/ic-popover-menu.js.map +1 -1
  302. package/dist/components/ic-radio-group.js +76 -51
  303. package/dist/components/ic-radio-group.js.map +1 -1
  304. package/dist/components/ic-radio-option.js +47 -60
  305. package/dist/components/ic-radio-option.js.map +1 -1
  306. package/dist/components/ic-search-bar.js +21 -29
  307. package/dist/components/ic-search-bar.js.map +1 -1
  308. package/dist/components/ic-section-container2.js +1 -1
  309. package/dist/components/ic-section-container2.js.map +1 -1
  310. package/dist/components/ic-select-with-multi.js +15 -58
  311. package/dist/components/ic-select-with-multi.js.map +1 -1
  312. package/dist/components/ic-select2.js +59 -42
  313. package/dist/components/ic-select2.js.map +1 -1
  314. package/dist/components/ic-side-navigation.js +8 -9
  315. package/dist/components/ic-side-navigation.js.map +1 -1
  316. package/dist/components/ic-skeleton.js +18 -43
  317. package/dist/components/ic-skeleton.js.map +1 -1
  318. package/dist/components/ic-status-tag.js +7 -15
  319. package/dist/components/ic-status-tag.js.map +1 -1
  320. package/dist/components/ic-step.js +48 -48
  321. package/dist/components/ic-step.js.map +1 -1
  322. package/dist/components/ic-stepper.js +49 -23
  323. package/dist/components/ic-stepper.js.map +1 -1
  324. package/dist/components/ic-switch.js +7 -9
  325. package/dist/components/ic-switch.js.map +1 -1
  326. package/dist/components/ic-tab-context.js +40 -20
  327. package/dist/components/ic-tab-context.js.map +1 -1
  328. package/dist/components/ic-tab-group.js +27 -13
  329. package/dist/components/ic-tab-group.js.map +1 -1
  330. package/dist/components/ic-tab-panel.js +9 -16
  331. package/dist/components/ic-tab-panel.js.map +1 -1
  332. package/dist/components/ic-tab.js +12 -10
  333. package/dist/components/ic-tab.js.map +1 -1
  334. package/dist/components/ic-text-field2.js +104 -113
  335. package/dist/components/ic-text-field2.js.map +1 -1
  336. package/dist/components/ic-theme.js +45 -28
  337. package/dist/components/ic-theme.js.map +1 -1
  338. package/dist/components/ic-toast-region.js +7 -9
  339. package/dist/components/ic-toast-region.js.map +1 -1
  340. package/dist/components/ic-toast.js +93 -36
  341. package/dist/components/ic-toast.js.map +1 -1
  342. package/dist/components/ic-toggle-button-group.js +17 -17
  343. package/dist/components/ic-toggle-button-group.js.map +1 -1
  344. package/dist/components/ic-toggle-button.js +16 -14
  345. package/dist/components/ic-toggle-button.js.map +1 -1
  346. package/dist/components/ic-tooltip2.js +31 -9
  347. package/dist/components/ic-tooltip2.js.map +1 -1
  348. package/dist/components/ic-top-navigation.js +63 -87
  349. package/dist/components/ic-top-navigation.js.map +1 -1
  350. package/dist/components/ic-tree-item.d.ts +11 -0
  351. package/dist/components/ic-tree-item.js +286 -0
  352. package/dist/components/ic-tree-item.js.map +1 -0
  353. package/dist/components/ic-tree-view.d.ts +11 -0
  354. package/dist/components/ic-tree-view.js +237 -0
  355. package/dist/components/ic-tree-view.js.map +1 -0
  356. package/dist/components/ic-typography2.js +62 -21
  357. package/dist/components/ic-typography2.js.map +1 -1
  358. package/dist/core/core.css +38 -20
  359. package/dist/core/core.esm.js +1 -1
  360. package/dist/core/core.esm.js.map +1 -1
  361. package/dist/core/p-06eeb7f2.entry.js +2 -0
  362. package/dist/core/p-06eeb7f2.entry.js.map +1 -0
  363. package/dist/core/p-0922c552.entry.js +2 -0
  364. package/dist/core/p-0922c552.entry.js.map +1 -0
  365. package/dist/core/p-0bc0e852.entry.js +2 -0
  366. package/dist/core/p-0bc0e852.entry.js.map +1 -0
  367. package/dist/core/p-108a9029.entry.js +2 -0
  368. package/dist/core/p-108a9029.entry.js.map +1 -0
  369. package/dist/core/p-13100d3c.entry.js +2 -0
  370. package/dist/core/p-13100d3c.entry.js.map +1 -0
  371. package/dist/core/p-1769df1d.entry.js +2 -0
  372. package/dist/core/p-1769df1d.entry.js.map +1 -0
  373. package/dist/core/p-202bc922.entry.js +2 -0
  374. package/dist/core/p-202bc922.entry.js.map +1 -0
  375. package/dist/core/p-266341f5.entry.js +2 -0
  376. package/dist/core/p-266341f5.entry.js.map +1 -0
  377. package/dist/core/p-297e99cf.js +2 -0
  378. package/dist/core/p-297e99cf.js.map +1 -0
  379. package/dist/core/p-306def43.entry.js +2 -0
  380. package/dist/core/p-306def43.entry.js.map +1 -0
  381. package/dist/core/p-30b046b2.entry.js +2 -0
  382. package/dist/core/p-30b046b2.entry.js.map +1 -0
  383. package/dist/core/{p-f8cf2978.js → p-33dd24eb.js} +2 -2
  384. package/dist/core/p-3778cc5e.entry.js +2 -0
  385. package/dist/core/p-3778cc5e.entry.js.map +1 -0
  386. package/dist/core/p-383a5a76.entry.js +2 -0
  387. package/dist/core/p-383a5a76.entry.js.map +1 -0
  388. package/dist/core/p-3a0510e2.entry.js +2 -0
  389. package/dist/core/p-3a0510e2.entry.js.map +1 -0
  390. package/dist/core/p-3ace51f5.entry.js +2 -0
  391. package/dist/core/p-3ace51f5.entry.js.map +1 -0
  392. package/dist/core/p-3ef28704.entry.js +2 -0
  393. package/dist/core/p-3ef28704.entry.js.map +1 -0
  394. package/dist/core/p-3f0391c1.entry.js +2 -0
  395. package/dist/core/p-3f0391c1.entry.js.map +1 -0
  396. package/dist/core/p-41fecc61.entry.js +2 -0
  397. package/dist/core/p-41fecc61.entry.js.map +1 -0
  398. package/dist/core/p-46cb94a2.entry.js +2 -0
  399. package/dist/core/p-46cb94a2.entry.js.map +1 -0
  400. package/dist/core/p-4e67f127.entry.js +2 -0
  401. package/dist/core/p-4e67f127.entry.js.map +1 -0
  402. package/dist/core/p-505250cf.entry.js +2 -0
  403. package/dist/core/p-505250cf.entry.js.map +1 -0
  404. package/dist/core/p-50e48f4d.entry.js +2 -0
  405. package/dist/core/p-50e48f4d.entry.js.map +1 -0
  406. package/dist/core/p-56e7459a.entry.js +2 -0
  407. package/dist/core/p-56e7459a.entry.js.map +1 -0
  408. package/dist/core/p-59028160.entry.js +2 -0
  409. package/dist/core/p-59028160.entry.js.map +1 -0
  410. package/dist/core/p-5cfb5821.entry.js +2 -0
  411. package/dist/core/p-5cfb5821.entry.js.map +1 -0
  412. package/dist/core/p-5e6fd734.entry.js +2 -0
  413. package/dist/core/p-5e6fd734.entry.js.map +1 -0
  414. package/dist/core/p-5f313e1a.entry.js +2 -0
  415. package/dist/core/p-5f313e1a.entry.js.map +1 -0
  416. package/dist/core/{p-c2b5e7b1.entry.js → p-5f5403e2.entry.js} +2 -2
  417. package/dist/core/{p-c2b5e7b1.entry.js.map → p-5f5403e2.entry.js.map} +1 -1
  418. package/dist/core/p-710c6a42.entry.js +2 -0
  419. package/dist/core/p-710c6a42.entry.js.map +1 -0
  420. package/dist/core/p-73b40c79.entry.js +2 -0
  421. package/dist/core/p-73b40c79.entry.js.map +1 -0
  422. package/dist/core/p-77a32de5.entry.js +2 -0
  423. package/dist/core/p-77a32de5.entry.js.map +1 -0
  424. package/dist/core/p-7a9de008.entry.js +2 -0
  425. package/dist/core/p-7a9de008.entry.js.map +1 -0
  426. package/dist/core/p-801414e2.entry.js +2 -0
  427. package/dist/core/p-801414e2.entry.js.map +1 -0
  428. package/dist/core/p-82ba744d.entry.js +2 -0
  429. package/dist/core/p-82ba744d.entry.js.map +1 -0
  430. package/dist/core/p-897b8d16.entry.js +2 -0
  431. package/dist/core/p-897b8d16.entry.js.map +1 -0
  432. package/dist/core/p-9397b15b.js +2 -0
  433. package/dist/core/p-9397b15b.js.map +1 -0
  434. package/dist/core/p-9af6adb1.entry.js +2 -0
  435. package/dist/core/p-9af6adb1.entry.js.map +1 -0
  436. package/dist/core/p-9b54feca.entry.js +2 -0
  437. package/dist/core/p-9b54feca.entry.js.map +1 -0
  438. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  439. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  440. package/dist/core/p-a57cd616.entry.js +2 -0
  441. package/dist/core/p-a57cd616.entry.js.map +1 -0
  442. package/dist/core/p-a5eaed1a.entry.js +2 -0
  443. package/dist/core/p-a5eaed1a.entry.js.map +1 -0
  444. package/dist/core/p-a78cf2cb.entry.js +2 -0
  445. package/dist/core/p-a78cf2cb.entry.js.map +1 -0
  446. package/dist/core/p-a91340b4.entry.js +2 -0
  447. package/dist/core/p-a91340b4.entry.js.map +1 -0
  448. package/dist/core/p-aee8d45b.entry.js +2 -0
  449. package/dist/core/p-aee8d45b.entry.js.map +1 -0
  450. package/dist/core/{p-452985d9.entry.js → p-b40ecaef.entry.js} +2 -2
  451. package/dist/core/p-b40ecaef.entry.js.map +1 -0
  452. package/dist/core/p-badd4c8d.entry.js +2 -0
  453. package/dist/core/p-badd4c8d.entry.js.map +1 -0
  454. package/dist/core/p-bf670360.entry.js +2 -0
  455. package/dist/core/{p-b306cbc8.entry.js.map → p-bf670360.entry.js.map} +1 -1
  456. package/dist/core/p-c033e7d6.entry.js +2 -0
  457. package/dist/core/p-c033e7d6.entry.js.map +1 -0
  458. package/dist/core/p-c07af2d8.entry.js +2 -0
  459. package/dist/core/p-c07af2d8.entry.js.map +1 -0
  460. package/dist/core/p-c21d0db8.entry.js +2 -0
  461. package/dist/core/p-c21d0db8.entry.js.map +1 -0
  462. package/dist/core/p-c678f73d.entry.js +2 -0
  463. package/dist/core/p-c678f73d.entry.js.map +1 -0
  464. package/dist/core/p-c6ae9bad.entry.js +2 -0
  465. package/dist/core/p-c6ae9bad.entry.js.map +1 -0
  466. package/dist/core/p-c6c1e08e.entry.js +2 -0
  467. package/dist/core/p-c6c1e08e.entry.js.map +1 -0
  468. package/dist/core/p-cb6cebdd.entry.js +2 -0
  469. package/dist/core/p-cb6cebdd.entry.js.map +1 -0
  470. package/dist/core/p-d03374fc.entry.js +2 -0
  471. package/dist/core/p-d03374fc.entry.js.map +1 -0
  472. package/dist/core/p-d16f364a.entry.js +2 -0
  473. package/dist/core/p-d16f364a.entry.js.map +1 -0
  474. package/dist/core/p-d239c33b.entry.js +2 -0
  475. package/dist/core/p-d239c33b.entry.js.map +1 -0
  476. package/dist/core/p-d8563643.entry.js +2 -0
  477. package/dist/core/p-d8563643.entry.js.map +1 -0
  478. package/dist/core/p-da40757f.entry.js +2 -0
  479. package/dist/core/p-da40757f.entry.js.map +1 -0
  480. package/dist/core/p-de052137.entry.js +2 -0
  481. package/dist/core/p-de052137.entry.js.map +1 -0
  482. package/dist/core/p-e5d99316.entry.js +2 -0
  483. package/dist/core/p-e5d99316.entry.js.map +1 -0
  484. package/dist/core/p-e89bb650.entry.js +2 -0
  485. package/dist/core/p-e89bb650.entry.js.map +1 -0
  486. package/dist/core/{p-baf81f30.entry.js → p-f1072c28.entry.js} +2 -2
  487. package/dist/core/{p-452985d9.entry.js.map → p-f1072c28.entry.js.map} +1 -1
  488. package/dist/core/p-f37df214.entry.js +2 -0
  489. package/dist/core/{p-d3856ed3.entry.js.map → p-f37df214.entry.js.map} +1 -1
  490. package/dist/core/p-f743b0eb.entry.js +2 -0
  491. package/dist/core/p-f743b0eb.entry.js.map +1 -0
  492. package/dist/core/p-f98b1afc.entry.js +2 -0
  493. package/dist/core/p-f98b1afc.entry.js.map +1 -0
  494. package/dist/core/p-fe13f1ba.entry.js +2 -0
  495. package/dist/core/p-fe13f1ba.entry.js.map +1 -0
  496. package/dist/esm/core.js +1 -1
  497. package/dist/esm/{date-helpers-4f432e92.js → date-helpers-0e5e32a7.js} +2 -2
  498. package/dist/esm/{date-helpers-4f432e92.js.map → date-helpers-0e5e32a7.js.map} +1 -1
  499. package/dist/esm/{helpers-f328a7b6.js → helpers-5bd2012a.js} +108 -2
  500. package/dist/esm/helpers-5bd2012a.js.map +1 -0
  501. package/dist/esm/{helpers-7aa21b0a.js → helpers-dab8ddfe.js} +85 -91
  502. package/dist/esm/helpers-dab8ddfe.js.map +1 -0
  503. package/dist/esm/ic-accordion-group.entry.js +31 -9
  504. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  505. package/dist/esm/ic-accordion.entry.js +7 -8
  506. package/dist/esm/ic-accordion.entry.js.map +1 -1
  507. package/dist/esm/ic-alert.entry.js +27 -9
  508. package/dist/esm/ic-alert.entry.js.map +1 -1
  509. package/dist/esm/ic-back-to-top.entry.js +17 -8
  510. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  511. package/dist/esm/ic-badge.entry.js +67 -117
  512. package/dist/esm/ic-badge.entry.js.map +1 -1
  513. package/dist/esm/ic-breadcrumb-group.entry.js +37 -11
  514. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  515. package/dist/esm/ic-breadcrumb.entry.js +8 -7
  516. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  517. package/dist/esm/ic-button_3.entry.js +112 -125
  518. package/dist/esm/ic-button_3.entry.js.map +1 -1
  519. package/dist/esm/ic-card-horizontal.entry.js +127 -0
  520. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  521. package/dist/esm/ic-card-vertical.entry.js +145 -0
  522. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  523. package/dist/esm/ic-checkbox-group.entry.js +27 -20
  524. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  525. package/dist/esm/ic-checkbox.entry.js +45 -40
  526. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  527. package/dist/esm/ic-chip.entry.js +40 -29
  528. package/dist/esm/ic-chip.entry.js.map +1 -1
  529. package/dist/esm/ic-classification-banner.entry.js +14 -5
  530. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  531. package/dist/esm/ic-data-list.entry.js +28 -0
  532. package/dist/esm/ic-data-list.entry.js.map +1 -0
  533. package/dist/esm/ic-data-row.entry.js +12 -12
  534. package/dist/esm/ic-data-row.entry.js.map +1 -1
  535. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  536. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  537. package/dist/esm/ic-data-table.entry.js +806 -66
  538. package/dist/esm/ic-data-table.entry.js.map +1 -1
  539. package/dist/esm/ic-date-input.entry.js +71 -34
  540. package/dist/esm/ic-date-input.entry.js.map +1 -1
  541. package/dist/esm/ic-date-picker.entry.js +82 -56
  542. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  543. package/dist/esm/ic-dialog.entry.js +27 -101
  544. package/dist/esm/ic-dialog.entry.js.map +1 -1
  545. package/dist/esm/ic-divider.entry.js +1 -2
  546. package/dist/esm/ic-divider.entry.js.map +1 -1
  547. package/dist/esm/ic-empty-state_2.entry.js +312 -0
  548. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  549. package/dist/esm/ic-footer-link-group.entry.js +9 -10
  550. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  551. package/dist/esm/ic-footer-link.entry.js +6 -8
  552. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  553. package/dist/esm/ic-footer.entry.js +9 -10
  554. package/dist/esm/ic-footer.entry.js.map +1 -1
  555. package/dist/esm/ic-hero.entry.js +28 -13
  556. package/dist/esm/ic-hero.entry.js.map +1 -1
  557. package/dist/esm/ic-horizontal-scroll.entry.js +6 -8
  558. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  559. package/dist/esm/ic-input-component-container_4.entry.js +35 -29
  560. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  561. package/dist/esm/ic-link.entry.js +52 -25
  562. package/dist/esm/ic-link.entry.js.map +1 -1
  563. package/dist/esm/ic-menu-group.entry.js +2 -3
  564. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  565. package/dist/esm/ic-menu-item.entry.js +6 -13
  566. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  567. package/dist/esm/ic-menu-with-multi.entry.js +186 -47
  568. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  569. package/dist/esm/ic-menu.entry.js +16 -21
  570. package/dist/esm/ic-menu.entry.js.map +1 -1
  571. package/dist/esm/ic-navigation-button.entry.js +28 -8
  572. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  573. package/dist/esm/ic-navigation-group.entry.js +23 -21
  574. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  575. package/dist/esm/ic-navigation-item.entry.js +33 -38
  576. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  577. package/dist/esm/ic-navigation-menu.entry.js +3 -4
  578. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  579. package/dist/esm/ic-page-header.entry.js +10 -12
  580. package/dist/esm/ic-page-header.entry.js.map +1 -1
  581. package/dist/esm/ic-pagination_4.entry.js +219 -178
  582. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  583. package/dist/esm/ic-popover-menu.entry.js +15 -21
  584. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  585. package/dist/esm/ic-radio-group.entry.js +75 -51
  586. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  587. package/dist/esm/ic-radio-option.entry.js +44 -53
  588. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  589. package/dist/esm/ic-search-bar.entry.js +19 -26
  590. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  591. package/dist/esm/ic-section-container.entry.js +1 -1
  592. package/dist/esm/ic-section-container.entry.js.map +1 -1
  593. package/dist/esm/ic-select-with-multi.entry.js +14 -50
  594. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  595. package/dist/esm/ic-side-navigation.entry.js +8 -9
  596. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  597. package/dist/esm/ic-skeleton.entry.js +17 -37
  598. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  599. package/dist/esm/ic-status-tag.entry.js +7 -15
  600. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  601. package/dist/esm/ic-step.entry.js +42 -43
  602. package/dist/esm/ic-step.entry.js.map +1 -1
  603. package/dist/esm/ic-stepper.entry.js +45 -24
  604. package/dist/esm/ic-stepper.entry.js.map +1 -1
  605. package/dist/esm/ic-switch.entry.js +7 -9
  606. package/dist/esm/ic-switch.entry.js.map +1 -1
  607. package/dist/esm/ic-tab-context.entry.js +35 -18
  608. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  609. package/dist/esm/ic-tab-group.entry.js +25 -11
  610. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  611. package/dist/esm/ic-tab-panel.entry.js +6 -13
  612. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  613. package/dist/esm/ic-tab.entry.js +10 -9
  614. package/dist/esm/ic-tab.entry.js.map +1 -1
  615. package/dist/esm/ic-theme.entry.js +39 -25
  616. package/dist/esm/ic-theme.entry.js.map +1 -1
  617. package/dist/esm/ic-toast-region.entry.js +6 -7
  618. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  619. package/dist/esm/ic-toast.entry.js +88 -35
  620. package/dist/esm/ic-toast.entry.js.map +1 -1
  621. package/dist/esm/ic-toggle-button-group.entry.js +17 -17
  622. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  623. package/dist/esm/ic-toggle-button.entry.js +15 -14
  624. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  625. package/dist/esm/ic-top-navigation.entry.js +62 -86
  626. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  627. package/dist/esm/ic-tree-item.entry.js +237 -0
  628. package/dist/esm/ic-tree-item.entry.js.map +1 -0
  629. package/dist/esm/ic-tree-view.entry.js +199 -0
  630. package/dist/esm/ic-tree-view.entry.js.map +1 -0
  631. package/dist/esm/ic-typography.entry.js +56 -20
  632. package/dist/esm/ic-typography.entry.js.map +1 -1
  633. package/dist/esm/index-93509377.js +26 -14
  634. package/dist/esm/loader.js +1 -1
  635. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
  636. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
  637. package/dist/types/components/ic-data-table/ic-data-table.d.ts +176 -19
  638. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +30 -0
  639. package/dist/types/components/ic-data-table/story-data.d.ts +236 -3
  640. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  641. package/dist/types/components/ic-date-input/ic-date-input.d.ts +17 -0
  642. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -25
  643. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +10 -4
  644. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +37 -18
  645. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +1 -31
  646. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +95 -0
  647. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +40 -0
  648. package/dist/types/components.d.ts +543 -114
  649. package/dist/types/interface.d.ts +1 -0
  650. package/dist/types/utils/helpers.d.ts +9 -0
  651. package/dist/types/utils/types.d.ts +24 -8
  652. package/hydrate/index.js +4264 -2362
  653. package/package.json +6 -6
  654. package/dist/cjs/helpers-7a069459.js.map +0 -1
  655. package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
  656. package/dist/cjs/ic-card.cjs.entry.js +0 -126
  657. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  658. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  659. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  660. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  661. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  662. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
  663. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  664. package/dist/cjs/types-17dba796.js +0 -16
  665. package/dist/cjs/types-17dba796.js.map +0 -1
  666. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  667. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  668. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js +0 -146
  669. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js.map +0 -1
  670. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +0 -2040
  671. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +0 -1
  672. package/dist/components/ic-alert2.js +0 -117
  673. package/dist/components/ic-alert2.js.map +0 -1
  674. package/dist/components/ic-card.js +0 -171
  675. package/dist/components/ic-card.js.map +0 -1
  676. package/dist/components/ic-data-entity.js +0 -53
  677. package/dist/components/ic-data-entity.js.map +0 -1
  678. package/dist/components/types.js +0 -16
  679. package/dist/components/types.js.map +0 -1
  680. package/dist/core/p-06ae5bec.entry.js +0 -2
  681. package/dist/core/p-06ae5bec.entry.js.map +0 -1
  682. package/dist/core/p-0939ce92.entry.js +0 -2
  683. package/dist/core/p-0939ce92.entry.js.map +0 -1
  684. package/dist/core/p-16f67397.entry.js +0 -2
  685. package/dist/core/p-16f67397.entry.js.map +0 -1
  686. package/dist/core/p-1832f4b5.entry.js +0 -2
  687. package/dist/core/p-1832f4b5.entry.js.map +0 -1
  688. package/dist/core/p-1b7d426b.entry.js +0 -2
  689. package/dist/core/p-1b7d426b.entry.js.map +0 -1
  690. package/dist/core/p-1ce75941.entry.js +0 -2
  691. package/dist/core/p-1ce75941.entry.js.map +0 -1
  692. package/dist/core/p-2e2e0099.entry.js +0 -2
  693. package/dist/core/p-2e2e0099.entry.js.map +0 -1
  694. package/dist/core/p-33679c06.entry.js +0 -2
  695. package/dist/core/p-33679c06.entry.js.map +0 -1
  696. package/dist/core/p-36508aad.entry.js +0 -2
  697. package/dist/core/p-36508aad.entry.js.map +0 -1
  698. package/dist/core/p-3745da83.entry.js +0 -2
  699. package/dist/core/p-3745da83.entry.js.map +0 -1
  700. package/dist/core/p-3f2e77c3.entry.js +0 -2
  701. package/dist/core/p-3f2e77c3.entry.js.map +0 -1
  702. package/dist/core/p-47ac6838.entry.js +0 -2
  703. package/dist/core/p-47ac6838.entry.js.map +0 -1
  704. package/dist/core/p-4f1ffa39.entry.js +0 -2
  705. package/dist/core/p-4f1ffa39.entry.js.map +0 -1
  706. package/dist/core/p-5759d771.entry.js +0 -2
  707. package/dist/core/p-5759d771.entry.js.map +0 -1
  708. package/dist/core/p-5e2e6c3b.entry.js +0 -2
  709. package/dist/core/p-5e2e6c3b.entry.js.map +0 -1
  710. package/dist/core/p-5fe96107.entry.js +0 -2
  711. package/dist/core/p-5fe96107.entry.js.map +0 -1
  712. package/dist/core/p-62e22508.entry.js +0 -2
  713. package/dist/core/p-62e22508.entry.js.map +0 -1
  714. package/dist/core/p-6690bc04.entry.js +0 -2
  715. package/dist/core/p-6690bc04.entry.js.map +0 -1
  716. package/dist/core/p-6c0e2ceb.entry.js +0 -2
  717. package/dist/core/p-6c0e2ceb.entry.js.map +0 -1
  718. package/dist/core/p-76915584.entry.js +0 -2
  719. package/dist/core/p-76915584.entry.js.map +0 -1
  720. package/dist/core/p-76d26018.entry.js +0 -2
  721. package/dist/core/p-76d26018.entry.js.map +0 -1
  722. package/dist/core/p-776671cf.entry.js +0 -2
  723. package/dist/core/p-776671cf.entry.js.map +0 -1
  724. package/dist/core/p-7cecf5d5.entry.js +0 -2
  725. package/dist/core/p-7cecf5d5.entry.js.map +0 -1
  726. package/dist/core/p-85609bdd.entry.js +0 -2
  727. package/dist/core/p-85609bdd.entry.js.map +0 -1
  728. package/dist/core/p-86012178.entry.js +0 -2
  729. package/dist/core/p-86012178.entry.js.map +0 -1
  730. package/dist/core/p-8a7e7d23.entry.js +0 -2
  731. package/dist/core/p-8a7e7d23.entry.js.map +0 -1
  732. package/dist/core/p-8c90110a.entry.js +0 -2
  733. package/dist/core/p-8c90110a.entry.js.map +0 -1
  734. package/dist/core/p-8ea47d42.entry.js +0 -2
  735. package/dist/core/p-8ea47d42.entry.js.map +0 -1
  736. package/dist/core/p-9777ebb1.entry.js +0 -2
  737. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  738. package/dist/core/p-982a6e88.entry.js +0 -2
  739. package/dist/core/p-982a6e88.entry.js.map +0 -1
  740. package/dist/core/p-98448bdb.entry.js +0 -2
  741. package/dist/core/p-98448bdb.entry.js.map +0 -1
  742. package/dist/core/p-9d01a7ad.entry.js +0 -2
  743. package/dist/core/p-9d01a7ad.entry.js.map +0 -1
  744. package/dist/core/p-9d540656.entry.js +0 -2
  745. package/dist/core/p-9d540656.entry.js.map +0 -1
  746. package/dist/core/p-9e3178e8.entry.js +0 -2
  747. package/dist/core/p-9e3178e8.entry.js.map +0 -1
  748. package/dist/core/p-a0f9b259.entry.js +0 -2
  749. package/dist/core/p-a0f9b259.entry.js.map +0 -1
  750. package/dist/core/p-a42c2f37.entry.js +0 -2
  751. package/dist/core/p-a42c2f37.entry.js.map +0 -1
  752. package/dist/core/p-a6447b13.entry.js +0 -2
  753. package/dist/core/p-a6447b13.entry.js.map +0 -1
  754. package/dist/core/p-aabab75f.entry.js +0 -2
  755. package/dist/core/p-aabab75f.entry.js.map +0 -1
  756. package/dist/core/p-ae422058.entry.js +0 -2
  757. package/dist/core/p-ae422058.entry.js.map +0 -1
  758. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  759. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  760. package/dist/core/p-b306cbc8.entry.js +0 -2
  761. package/dist/core/p-baf81f30.entry.js.map +0 -1
  762. package/dist/core/p-c7590421.entry.js +0 -2
  763. package/dist/core/p-c7590421.entry.js.map +0 -1
  764. package/dist/core/p-c7820c23.entry.js +0 -2
  765. package/dist/core/p-c7820c23.entry.js.map +0 -1
  766. package/dist/core/p-ca8cbd6a.entry.js +0 -2
  767. package/dist/core/p-ca8cbd6a.entry.js.map +0 -1
  768. package/dist/core/p-caf857de.entry.js +0 -2
  769. package/dist/core/p-caf857de.entry.js.map +0 -1
  770. package/dist/core/p-cc7bc438.entry.js +0 -2
  771. package/dist/core/p-cc7bc438.entry.js.map +0 -1
  772. package/dist/core/p-cd799087.js +0 -2
  773. package/dist/core/p-cd799087.js.map +0 -1
  774. package/dist/core/p-d32692e2.entry.js +0 -2
  775. package/dist/core/p-d32692e2.entry.js.map +0 -1
  776. package/dist/core/p-d35c7c18.js +0 -2
  777. package/dist/core/p-d35c7c18.js.map +0 -1
  778. package/dist/core/p-d3856ed3.entry.js +0 -2
  779. package/dist/core/p-d4fdd8c1.entry.js +0 -2
  780. package/dist/core/p-d4fdd8c1.entry.js.map +0 -1
  781. package/dist/core/p-d5c99ec3.entry.js +0 -2
  782. package/dist/core/p-d5c99ec3.entry.js.map +0 -1
  783. package/dist/core/p-e189f1d0.entry.js +0 -2
  784. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  785. package/dist/core/p-e473bbf8.entry.js +0 -2
  786. package/dist/core/p-e473bbf8.entry.js.map +0 -1
  787. package/dist/core/p-e74f1d09.entry.js +0 -2
  788. package/dist/core/p-e74f1d09.entry.js.map +0 -1
  789. package/dist/core/p-e79e0292.entry.js +0 -2
  790. package/dist/core/p-e79e0292.entry.js.map +0 -1
  791. package/dist/core/p-e84b0310.entry.js +0 -2
  792. package/dist/core/p-e84b0310.entry.js.map +0 -1
  793. package/dist/core/p-f55ad6ae.entry.js +0 -2
  794. package/dist/core/p-f55ad6ae.entry.js.map +0 -1
  795. package/dist/core/p-f91527a0.entry.js +0 -2
  796. package/dist/core/p-f91527a0.entry.js.map +0 -1
  797. package/dist/core/p-fbf4e9b7.entry.js +0 -2
  798. package/dist/core/p-fbf4e9b7.entry.js.map +0 -1
  799. package/dist/core/p-fd186591.js +0 -2
  800. package/dist/core/p-fd186591.js.map +0 -1
  801. package/dist/esm/helpers-7aa21b0a.js.map +0 -1
  802. package/dist/esm/helpers-f328a7b6.js.map +0 -1
  803. package/dist/esm/ic-card.entry.js +0 -122
  804. package/dist/esm/ic-card.entry.js.map +0 -1
  805. package/dist/esm/ic-data-entity.entry.js +0 -25
  806. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  807. package/dist/esm/ic-empty-state.entry.js +0 -34
  808. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  809. package/dist/esm/ic-pagination-bar.entry.js +0 -265
  810. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  811. package/dist/esm/types-f605c21c.js +0 -16
  812. package/dist/esm/types-f605c21c.js.map +0 -1
  813. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  814. /package/dist/core/{p-f8cf2978.js.map → p-33dd24eb.js.map} +0 -0
  815. /package/dist/types/components/{ic-select-with-multi/test/a11y/ic-select.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -0,0 +1,241 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-4cf27b16.js');
6
+ const helpers = require('./helpers-6817cfbb.js');
7
+
8
+ const arrowDropdown = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
9
+ <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>
10
+ </svg>`;
11
+
12
+ const icTreeItemCss = ":host{display:block;border:none;position:relative}:host .tree-item-content{display:flex;align-items:center;height:calc(var(--ic-space-xl) + var(--ic-space-xs));padding:0 var(--ic-space-xs);text-decoration:none;color:var(--ic-primary-text);--ic-typography-color:var(--ic-primary-text)}::slotted([slot=\"router-item\"]){display:flex;align-items:center;height:calc(var(--ic-space-xl) + var(--ic-space-xs));text-decoration:none;font-family:var(--ic-font-body-family);color:var(--ic-primary-text);padding:0 var(--ic-space-xs) !important}::slotted([slot=\"router-item\"].ic-tree-item-single){padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs)) !important}:host .tree-item-content:focus,::slotted([slot=\"router-item\"]:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}:host .tree-item-content:hover,::slotted([slot=\"router-item\"]:hover){background-color:var(--ic-action-dark-bg-hover) !important;cursor:pointer}:host .tree-item-content:active,::slotted([slot=\"router-item\"]:active){background-color:var(--ic-action-dark-bg-active) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]){background-color:var(--ic-action-default-bg-hover) !important}:host(.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-small) ::slotted([slot=\"router-item\"]){height:var(--ic-space-xl)}:host(.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-large) ::slotted([slot=\"router-item\"]){height:var(--ic-space-xxl)}:host(.ic-tree-item-disabled){pointer-events:none}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]){color:var(--ic-architectural-200) !important;--ic-typography-color:var(--ic-architectural-200) !important;fill:var(--ic-architectural-200);pointer-events:none}:host(.ic-tree-item-light) .tree-item-content,:host(.ic-tree-item-light) .arrow-dropdown,:host(.ic-tree-item-light) ::slotted([slot=\"icon\"]),:host(.ic-tree-item-light) ::slotted([slot=\"router-item\"]){color:var(--ic-architectural-white);--ic-typography-color:var(--ic-architectural-white);fill:var(--ic-architectural-white)}:host .arrow-dropdown{color:var(--ic-action-default);margin-right:var(--ic-space-xs)}:host(.ic-tree-item-small) .arrow-dropdown{margin-right:var(--ic-space-xxs)}:host .tree-item-expanded{transform:rotate(180deg);margin-top:calc(-1 * var(--ic-space-xxs))}:host .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-small) .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xxs))}.icon-container{width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-item-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}@media (forced-colors: active){::slotted([slot=\"icon\"]){fill:currentcolor}:host .tree-item-content:hover,::slotted([slot=\"router-item\"]:hover),:host .tree-item-content:active,::slotted([slot=\"router-item\"]:active),:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]){background-color:none !important}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]){color:GrayText !important;--ic-typography-color:GrayText !important;fill:GrayText !important}:host .tree-item-content:focus,::slotted([slot=\"router-item\"]:focus){border:var(--ic-hc-border) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]){color:Highlight !important;--ic-typography-color:Highlight !important}}";
13
+
14
+ let treeItemIds = 0;
15
+ const TreeItem = class {
16
+ constructor(hostRef) {
17
+ index.registerInstance(this, hostRef);
18
+ this.icTreeItemSelected = index.createEvent(this, "icTreeItemSelected", 7);
19
+ this.treeItemId = `ic-tree-item-${treeItemIds++}`;
20
+ this.treeItemTag = "IC-TREE-ITEM";
21
+ this.hostMutationObserver = null;
22
+ this.TOOLTIP = "ic-tooltip";
23
+ this.handleTreeItemClicked = () => {
24
+ if (this.isParent) {
25
+ this.expanded = !this.expanded;
26
+ this.hasParentExpanded = true;
27
+ }
28
+ this.updateAriaLabel();
29
+ this.selected = true;
30
+ this.watchSelectedHandler();
31
+ };
32
+ this.setTreeItemPadding = () => {
33
+ let level = 1;
34
+ let parentElement = this.el.parentElement;
35
+ const treeItemContent = this.el.shadowRoot.querySelector(".tree-item-content");
36
+ const isSiblingOfParent = Array.from(parentElement.children)
37
+ .map((sibling) => {
38
+ if (sibling !== this.el &&
39
+ !sibling.querySelector('[slot="router-item"]') &&
40
+ !sibling.querySelector('[slot="label"]')) {
41
+ return sibling.children.length > 0;
42
+ }
43
+ else {
44
+ return false;
45
+ }
46
+ })
47
+ .includes(true);
48
+ const isChild = parentElement.tagName === this.treeItemTag;
49
+ const isRouterItem = this.hasRouterSlot();
50
+ if ((isSiblingOfParent && !this.el.isParent) ||
51
+ (isChild && !this.el.isParent)) {
52
+ if (isRouterItem) {
53
+ this.routerSlot.classList.add("ic-tree-item-single");
54
+ }
55
+ else {
56
+ treeItemContent.classList.add("ic-tree-item-single");
57
+ }
58
+ }
59
+ while (parentElement) {
60
+ if (parentElement.tagName === this.treeItemTag) {
61
+ level++;
62
+ if (!this.el.isParent && isSiblingOfParent) {
63
+ treeItemContent.style.paddingLeft = `calc(var(--ic-space-xl) + ${level * 16}px)`;
64
+ }
65
+ else if (!this.el.isParent) {
66
+ treeItemContent.style.paddingLeft = `calc(var(--ic-space-xs) + ${level * 24}px`;
67
+ }
68
+ else {
69
+ treeItemContent.style.paddingLeft = `${level * 16}px`;
70
+ }
71
+ }
72
+ parentElement = parentElement.parentElement;
73
+ }
74
+ };
75
+ this.truncateTreeItemLabel = (treeItem) => {
76
+ const typographyEl = treeItem.shadowRoot.querySelector(".tree-item-label");
77
+ const tooltip = typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.closest(this.TOOLTIP);
78
+ const treeContent = treeItem.shadowRoot.querySelector(".tree-item-content");
79
+ if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (treeContent === null || treeContent === void 0 ? void 0 : treeContent.clientHeight)) {
80
+ typographyEl.classList.add("ic-text-overflow");
81
+ if (!tooltip) {
82
+ const tooltipEl = document.createElement("ic-tooltip");
83
+ tooltipEl.setAttribute("target", this.el.id);
84
+ tooltipEl.setAttribute("label", typographyEl.textContent);
85
+ tooltipEl.classList.add("ic-tooltip-overflow");
86
+ tooltipEl.setAttribute("placement", "right");
87
+ treeContent.appendChild(tooltipEl);
88
+ tooltipEl.appendChild(typographyEl);
89
+ }
90
+ }
91
+ };
92
+ this.hostMutationCallback = (mutationList) => {
93
+ if (mutationList.some(({ type, addedNodes, removedNodes }) => type === "childList"
94
+ ? helpers.checkSlotInChildMutations(addedNodes, removedNodes, "icon")
95
+ : false)) {
96
+ index.forceUpdate(this);
97
+ }
98
+ };
99
+ this.handleDisplayTooltip = (display) => {
100
+ const typographyEl = this.el.shadowRoot.querySelector(".tree-item-label");
101
+ const tooltip = typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.closest(this.TOOLTIP);
102
+ tooltip === null || tooltip === void 0 ? void 0 : tooltip.displayTooltip(display);
103
+ };
104
+ this.childTreeItems = undefined;
105
+ this.appearance = "dark";
106
+ this.disabled = false;
107
+ this.expanded = false;
108
+ this.hasParentExpanded = false;
109
+ this.href = undefined;
110
+ this.hreflang = "";
111
+ this.isParent = false;
112
+ this.label = "";
113
+ this.referrerpolicy = undefined;
114
+ this.rel = undefined;
115
+ this.selected = false;
116
+ this.size = "medium";
117
+ this.target = undefined;
118
+ }
119
+ watchSelectedHandler() {
120
+ if (this.selected) {
121
+ this.icTreeItemSelected.emit({ id: this.el.id });
122
+ }
123
+ this.updateAriaLabel();
124
+ }
125
+ disconnectedCallback() {
126
+ var _a;
127
+ (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
128
+ }
129
+ componentDidLoad() {
130
+ this.childTreeItems = Array.from(this.el.children).filter((child) => child.tagName === this.treeItemTag);
131
+ if (this.childTreeItems.length > 0) {
132
+ this.isParent = true;
133
+ }
134
+ this.setTreeItemPadding();
135
+ this.updateAriaLabel();
136
+ this.truncateTreeItemLabel(this.el);
137
+ !helpers.isSlotUsed(this.el, "label") &&
138
+ helpers.onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Tree item");
139
+ this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
140
+ this.hostMutationObserver.observe(this.el, {
141
+ childList: true,
142
+ });
143
+ }
144
+ componentDidUpdate() {
145
+ if (this.hasParentExpanded) {
146
+ this.childTreeItems.forEach((child) => {
147
+ this.truncateTreeItemLabel(child);
148
+ });
149
+ this.hasParentExpanded = false;
150
+ }
151
+ }
152
+ handleKeyDown(ev) {
153
+ if (ev.key === "Enter" || ev.key === " ") {
154
+ ev.stopImmediatePropagation();
155
+ this.handleTreeItemClicked();
156
+ }
157
+ }
158
+ /**
159
+ * Sets focus on the native `input`.
160
+ */
161
+ async setFocus() {
162
+ var _a, _b;
163
+ if (this.hasRouterSlot()) {
164
+ (_a = this.routerSlot) === null || _a === void 0 ? void 0 : _a.focus();
165
+ }
166
+ else {
167
+ (_b = this.treeItemElement) === null || _b === void 0 ? void 0 : _b.focus();
168
+ }
169
+ }
170
+ /**
171
+ * @internal Updates the aria-label of the tree item.
172
+ */
173
+ async updateAriaLabel() {
174
+ let ariaLabel;
175
+ if (this.hasRouterSlot()) {
176
+ ariaLabel = this.routerSlot.textContent;
177
+ }
178
+ else if (helpers.isSlotUsed(this.el, "label")) {
179
+ ariaLabel = this.el.querySelector('[slot="label"]').textContent;
180
+ }
181
+ else {
182
+ ariaLabel = this.label;
183
+ }
184
+ if (this.isParent) {
185
+ ariaLabel = `${ariaLabel}, triggers submenu, ${this.expanded ? "expanded" : "collapsed"}`;
186
+ }
187
+ if (this.el.parentElement) {
188
+ const treeItems = Array.from(this.el.parentElement.children).filter((child) => child.tagName === this.treeItemTag);
189
+ const index = treeItems.indexOf(this.el) + 1;
190
+ const parentChildren = treeItems.length;
191
+ ariaLabel = `${ariaLabel}, ${index} of ${parentChildren}`;
192
+ }
193
+ if (this.selected) {
194
+ ariaLabel = `${ariaLabel}, active`;
195
+ }
196
+ if (this.disabled) {
197
+ ariaLabel = `${ariaLabel}, dimmed`;
198
+ }
199
+ if (this.hasRouterSlot()) {
200
+ this.routerSlot.ariaLabel = ariaLabel;
201
+ }
202
+ else {
203
+ this.treeItemElement.ariaLabel = ariaLabel;
204
+ }
205
+ }
206
+ hasRouterSlot() {
207
+ this.routerSlot = this.el.querySelector('[slot="router-item"]');
208
+ return !!this.routerSlot;
209
+ }
210
+ render() {
211
+ const { appearance, disabled, label, selected, size, expanded } = this;
212
+ const Component = this.href && !this.disabled ? "a" : "div";
213
+ const attrs = Component == "a" && {
214
+ href: this.href,
215
+ hrefLang: this.hreflang,
216
+ referrerPolicy: this.referrerpolicy,
217
+ rel: this.rel,
218
+ target: this.target,
219
+ };
220
+ return (index.h(index.Host, { class: {
221
+ [`ic-tree-item-${appearance}`]: true,
222
+ "ic-tree-item-disabled": disabled,
223
+ "ic-tree-item-selected": !disabled && selected,
224
+ [`ic-tree-item-${size}`]: size !== "medium",
225
+ }, id: this.treeItemId }, this.hasRouterSlot() ? (index.h("slot", { name: "router-item" })) : (index.h(Component, Object.assign({ class: {
226
+ "tree-item-content": true,
227
+ }, tabIndex: disabled ? -1 : 0, onClick: this.handleTreeItemClicked, ref: (el) => (this.treeItemElement = el), "aria-disabled": disabled ? "true" : "false", "aria-live": "polite" }, attrs, { onFocus: () => this.handleDisplayTooltip(true), onBlur: () => this.handleDisplayTooltip(false) }), this.isParent && (index.h("span", { class: {
228
+ ["arrow-dropdown"]: true,
229
+ ["tree-item-expanded"]: expanded,
230
+ }, "aria-hidden": "true", innerHTML: arrowDropdown })), helpers.isSlotUsed(this.el, "icon") && (index.h("div", { class: "icon-container" }, index.h("slot", { name: "icon" }))), index.h("ic-typography", { class: "tree-item-label" }, helpers.isSlotUsed(this.el, "label") ? index.h("slot", { name: "label" }) : label))), expanded && (index.h("div", { "aria-hidden": `${!expanded}` }, index.h("slot", null)))));
231
+ }
232
+ get el() { return index.getElement(this); }
233
+ static get watchers() { return {
234
+ "selected": ["watchSelectedHandler"]
235
+ }; }
236
+ };
237
+ TreeItem.style = icTreeItemCss;
238
+
239
+ exports.ic_tree_item = TreeItem;
240
+
241
+ //# sourceMappingURL=ic-tree-item.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-tree-item.entry.cjs.js","mappings":"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","names":["checkSlotInChildMutations","forceUpdate","isSlotUsed","onComponentRequiredPropUndefined","h","Host"],"sources":["src/components/ic-tree-item/ic-tree-item.css?tag=ic-tree-item&encapsulation=shadow","src/components/ic-tree-item/ic-tree-item.tsx"],"sourcesContent":[":host {\n display: block;\n border: none;\n position: relative;\n}\n\n:host .tree-item-content {\n display: flex;\n align-items: center;\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n padding: 0 var(--ic-space-xs);\n text-decoration: none;\n color: var(--ic-primary-text);\n\n --ic-typography-color: var(--ic-primary-text);\n}\n\n::slotted([slot=\"router-item\"]) {\n display: flex;\n align-items: center;\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n text-decoration: none;\n font-family: var(--ic-font-body-family);\n color: var(--ic-primary-text);\n padding: 0 var(--ic-space-xs) !important;\n}\n\n::slotted([slot=\"router-item\"].ic-tree-item-single) {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs)) !important;\n}\n\n:host .tree-item-content:focus,\n::slotted([slot=\"router-item\"]:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n:host .tree-item-content:hover,\n::slotted([slot=\"router-item\"]:hover) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n cursor: pointer;\n}\n\n:host .tree-item-content:active,\n::slotted([slot=\"router-item\"]:active) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.ic-tree-item-selected) .tree-item-content,\n:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: var(--ic-action-default-bg-hover) !important;\n}\n\n:host(.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-small) ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-xl);\n}\n\n:host(.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-large) ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-xxl);\n}\n\n:host(.ic-tree-item-disabled) {\n pointer-events: none;\n}\n\n:host(.ic-tree-item-disabled) .tree-item-content,\n:host(.ic-tree-item-disabled) .arrow-dropdown,\n:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-architectural-200) !important;\n\n --ic-typography-color: var(--ic-architectural-200) !important;\n\n fill: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n:host(.ic-tree-item-light) .tree-item-content,\n:host(.ic-tree-item-light) .arrow-dropdown,\n:host(.ic-tree-item-light) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-light) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-architectural-white);\n\n --ic-typography-color: var(--ic-architectural-white);\n\n fill: var(--ic-architectural-white);\n}\n\n:host .arrow-dropdown {\n color: var(--ic-action-default);\n margin-right: var(--ic-space-xs);\n}\n\n:host(.ic-tree-item-small) .arrow-dropdown {\n margin-right: var(--ic-space-xxs);\n}\n\n:host .tree-item-expanded {\n transform: rotate(180deg);\n margin-top: calc(-1 * var(--ic-space-xxs));\n}\n\n:host .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-small) .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-item-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n\n :host .tree-item-content:hover,\n ::slotted([slot=\"router-item\"]:hover),\n :host .tree-item-content:active,\n ::slotted([slot=\"router-item\"]:active),\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: none !important;\n }\n\n :host(.ic-tree-item-disabled) .tree-item-content,\n :host(.ic-tree-item-disabled) .arrow-dropdown,\n :host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n :host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: GrayText !important;\n\n --ic-typography-color: GrayText !important;\n\n fill: GrayText !important;\n }\n\n :host .tree-item-content:focus,\n ::slotted([slot=\"router-item\"]:focus) {\n border: var(--ic-hc-border) !important;\n }\n\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n color: Highlight !important;\n\n --ic-typography-color: Highlight !important;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Host,\n Watch,\n State,\n Listen,\n forceUpdate,\n Method,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeForegroundNoDefault } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet treeItemIds = 0;\n\n/**\n * @slot label - Content is set as the tree item label.\n * @slot icon - Content is placed to the left of the label.\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n@Component({\n tag: \"ic-tree-item\",\n styleUrl: \"ic-tree-item.css\",\n shadow: true,\n})\nexport class TreeItem {\n private treeItemId = `ic-tree-item-${treeItemIds++}`;\n private treeItemElement: HTMLElement;\n private treeItemTag = \"IC-TREE-ITEM\";\n private routerSlot: HTMLElement;\n private hostMutationObserver: MutationObserver = null;\n private TOOLTIP = \"ic-tooltip\";\n\n @Element() el: HTMLIcTreeItemElement;\n\n @State() childTreeItems: HTMLIcTreeItemElement[];\n\n /**\n * @internal Determines whether the light or dark variant of the tree item should be displayed.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * If `true`, the tree item appears in the disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * @internal If `true`, the tree item appears in the expanded state.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * @internal Determines if the parent tree item has been expanded.\n */\n @Prop({ mutable: true }) hasParentExpanded: boolean = false;\n\n /**\n * The URL that the tree item link points to. If set, the tree item will render as an \"a\" tag, otherwise it will render as a div.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * @internal If `true`, the tree item is a parent of other tree items.\n */\n @Prop({ mutable: true }) isParent: boolean = false;\n\n /**\n * The label of the tree item.\n */\n @Prop() label: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * If `true`, the tree item appears in the selected state.\n */\n @Prop({ mutable: true }) selected: boolean = false;\n @Watch(\"selected\")\n watchSelectedHandler() {\n if (this.selected) {\n this.icTreeItemSelected.emit({ id: this.el.id });\n }\n this.updateAriaLabel();\n }\n\n /**\n * @internal Determines the size of the tree item.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Emitted when tree item is selected.\n */\n @Event() icTreeItemSelected: EventEmitter<{ id: string }>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.childTreeItems = Array.from((this.el as HTMLElement).children).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n if (this.childTreeItems.length > 0) {\n this.isParent = true;\n }\n\n this.setTreeItemPadding();\n\n this.updateAriaLabel();\n\n this.truncateTreeItemLabel(this.el);\n\n !isSlotUsed(this.el, \"label\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tree item\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n componentDidUpdate(): void {\n if (this.hasParentExpanded) {\n this.childTreeItems.forEach((child) => {\n this.truncateTreeItemLabel(child);\n });\n this.hasParentExpanded = false;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.stopImmediatePropagation();\n this.handleTreeItemClicked();\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.hasRouterSlot()) {\n this.routerSlot?.focus();\n } else {\n this.treeItemElement?.focus();\n }\n }\n\n private handleTreeItemClicked = (): void => {\n if (this.isParent) {\n this.expanded = !this.expanded;\n this.hasParentExpanded = true;\n }\n\n this.updateAriaLabel();\n this.selected = true;\n this.watchSelectedHandler();\n };\n\n /**\n * @internal Updates the aria-label of the tree item.\n */\n @Method()\n async updateAriaLabel(): Promise<void> {\n let ariaLabel;\n\n if (this.hasRouterSlot()) {\n ariaLabel = this.routerSlot.textContent;\n } else if (isSlotUsed(this.el, \"label\")) {\n ariaLabel = this.el.querySelector('[slot=\"label\"]').textContent;\n } else {\n ariaLabel = this.label;\n }\n\n if (this.isParent) {\n ariaLabel = `${ariaLabel}, triggers submenu, ${\n this.expanded ? \"expanded\" : \"collapsed\"\n }`;\n }\n\n if (this.el.parentElement) {\n const treeItems = Array.from(\n (this.el.parentElement as HTMLElement).children\n ).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n const index = treeItems.indexOf(this.el) + 1;\n const parentChildren = treeItems.length;\n\n ariaLabel = `${ariaLabel}, ${index} of ${parentChildren}`;\n }\n\n if (this.selected) {\n ariaLabel = `${ariaLabel}, active`;\n }\n\n if (this.disabled) {\n ariaLabel = `${ariaLabel}, dimmed`;\n }\n\n if (this.hasRouterSlot()) {\n this.routerSlot.ariaLabel = ariaLabel;\n } else {\n this.treeItemElement.ariaLabel = ariaLabel;\n }\n }\n\n private setTreeItemPadding = () => {\n let level = 1;\n let parentElement = this.el.parentElement;\n const treeItemContent = this.el.shadowRoot.querySelector(\n \".tree-item-content\"\n ) as HTMLElement;\n\n const isSiblingOfParent = Array.from(parentElement.children)\n .map((sibling) => {\n if (\n sibling !== this.el &&\n !sibling.querySelector('[slot=\"router-item\"]') &&\n !sibling.querySelector('[slot=\"label\"]')\n ) {\n return sibling.children.length > 0;\n } else {\n return false;\n }\n })\n .includes(true);\n\n const isChild = parentElement.tagName === this.treeItemTag;\n\n const isRouterItem = this.hasRouterSlot();\n\n if (\n (isSiblingOfParent && !this.el.isParent) ||\n (isChild && !this.el.isParent)\n ) {\n if (isRouterItem) {\n this.routerSlot.classList.add(\"ic-tree-item-single\");\n } else {\n treeItemContent.classList.add(\"ic-tree-item-single\");\n }\n }\n\n while (parentElement) {\n if (parentElement.tagName === this.treeItemTag) {\n level++;\n if (!this.el.isParent && isSiblingOfParent) {\n treeItemContent.style.paddingLeft = `calc(var(--ic-space-xl) + ${\n level * 16\n }px)`;\n } else if (!this.el.isParent) {\n treeItemContent.style.paddingLeft = `calc(var(--ic-space-xs) + ${\n level * 24\n }px`;\n } else {\n treeItemContent.style.paddingLeft = `${level * 16}px`;\n }\n }\n parentElement = parentElement.parentElement;\n }\n };\n\n private truncateTreeItemLabel = (treeItem: HTMLIcTreeItemElement) => {\n const typographyEl: HTMLIcTypographyElement =\n treeItem.shadowRoot.querySelector(\".tree-item-label\");\n const tooltip = typographyEl?.closest(this.TOOLTIP);\n const treeContent: HTMLElement =\n treeItem.shadowRoot.querySelector(\".tree-item-content\");\n\n if (typographyEl?.scrollHeight > treeContent?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n treeContent.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n return !!this.routerSlot;\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"icon\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n private handleDisplayTooltip = (display: boolean) => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-item-label\");\n const tooltip: HTMLIcTooltipElement = typographyEl?.closest(this.TOOLTIP);\n\n tooltip?.displayTooltip(display);\n };\n\n render() {\n const { appearance, disabled, label, selected, size, expanded } = this;\n\n const Component = this.href && !this.disabled ? \"a\" : \"div\";\n\n const attrs = Component == \"a\" && {\n href: this.href,\n hrefLang: this.hreflang,\n referrerPolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n };\n\n return (\n <Host\n class={{\n [`ic-tree-item-${appearance}`]: true,\n \"ic-tree-item-disabled\": disabled,\n \"ic-tree-item-selected\": !disabled && selected,\n [`ic-tree-item-${size}`]: size !== \"medium\",\n }}\n id={this.treeItemId}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\" />\n ) : (\n <Component\n class={{\n \"tree-item-content\": true,\n }}\n tabIndex={disabled ? -1 : 0}\n onClick={this.handleTreeItemClicked}\n ref={(el) => (this.treeItemElement = el)}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-live=\"polite\"\n {...attrs}\n onFocus={() => this.handleDisplayTooltip(true)}\n onBlur={() => this.handleDisplayTooltip(false)}\n >\n {this.isParent && (\n <span\n class={{\n [\"arrow-dropdown\"]: true,\n [\"tree-item-expanded\"]: expanded,\n }}\n aria-hidden=\"true\"\n innerHTML={arrowDropdown}\n />\n )}\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography class=\"tree-item-label\">\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </ic-typography>\n </Component>\n )}\n {expanded && (\n <div aria-hidden={`${!expanded}`}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,203 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-4cf27b16.js');
6
+ const helpers = require('./helpers-6817cfbb.js');
7
+
8
+ const icTreeViewCss = ":host{display:block;width:var(--tree-view-width, 100%)}:host .heading-area-container{border-bottom:var(--ic-border-default);display:flex;align-items:center;height:calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));padding:0 var(--ic-space-xs)}:host(.ic-tree-view-small) .heading-area-container{height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-large) .heading-area-container{height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-light) .heading-area-container{color:var(--ic-architectural-white);--ic-typography-color:var(--ic-architectural-white);fill:var(--ic-architectural-white)}.icon-container{width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-view-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}@media (forced-colors: active){::slotted([slot=\"icon\"]){fill:currentcolor}}";
9
+
10
+ let treeViewIds = 0;
11
+ const TreeView = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.treeViewId = `ic-tree-view-${treeViewIds++}`;
15
+ this.treeItemTag = "IC-TREE-ITEM";
16
+ this.hostMutationObserver = null;
17
+ this.handleKeyDown = (event) => {
18
+ var _a;
19
+ const focussedChild = this.treeItems.indexOf(this.treeItems.filter((el) => el === document.activeElement)[0]);
20
+ const expanded = (_a = this.treeItems[focussedChild]) === null || _a === void 0 ? void 0 : _a.expanded;
21
+ switch (event.key) {
22
+ case "ArrowDown":
23
+ this.treeItems[this.getNextItemToSelect(focussedChild, true)].setFocus();
24
+ if (focussedChild !== this.treeItems.length - 1) {
25
+ event.preventDefault();
26
+ }
27
+ break;
28
+ case "ArrowUp":
29
+ this.treeItems[this.getNextItemToSelect(focussedChild, false)].setFocus();
30
+ if (focussedChild !== 0) {
31
+ event.preventDefault();
32
+ }
33
+ break;
34
+ case "ArrowRight":
35
+ if (this.treeItems[focussedChild].isParent && !expanded) {
36
+ this.treeItems[focussedChild].expanded = true;
37
+ this.treeItems[focussedChild].hasParentExpanded = true;
38
+ this.treeItems[focussedChild].updateAriaLabel();
39
+ }
40
+ else if (this.treeItems[focussedChild].isParent && expanded) {
41
+ this.treeItems[focussedChild].children[0].setFocus();
42
+ }
43
+ event.preventDefault();
44
+ break;
45
+ case "ArrowLeft":
46
+ if (this.treeItems[focussedChild].isParent && expanded) {
47
+ this.treeItems[focussedChild].expanded = false;
48
+ this.treeItems[focussedChild].hasParentExpanded = false;
49
+ this.treeItems[focussedChild].updateAriaLabel();
50
+ }
51
+ else if (this.treeItems[focussedChild].parentElement.tagName ===
52
+ this.treeItemTag) {
53
+ this.treeItems[focussedChild].parentElement.setFocus();
54
+ }
55
+ event.preventDefault();
56
+ break;
57
+ }
58
+ };
59
+ this.getNextItemToSelect = (currentItem, movingDown) => {
60
+ const numItems = this.treeItems.length - 1;
61
+ if (currentItem < 1) {
62
+ currentItem = 0;
63
+ }
64
+ let nextItem = movingDown ? currentItem + 1 : currentItem - 1;
65
+ if (nextItem < 0) {
66
+ nextItem = 0;
67
+ }
68
+ else if (nextItem > numItems) {
69
+ nextItem = numItems;
70
+ }
71
+ const maxAttempts = numItems + 1;
72
+ let attempts = 0;
73
+ while (attempts < maxAttempts) {
74
+ if (nextItem < 0 || nextItem > numItems) {
75
+ return currentItem;
76
+ }
77
+ if (!this.treeItems[nextItem].disabled &&
78
+ (this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||
79
+ this.treeItems[nextItem].parentElement
80
+ .expanded)) {
81
+ return nextItem;
82
+ }
83
+ if (nextItem === numItems && this.treeItems[nextItem].disabled) {
84
+ return currentItem;
85
+ }
86
+ nextItem = movingDown ? nextItem + 1 : nextItem - 1;
87
+ attempts++;
88
+ }
89
+ return currentItem;
90
+ };
91
+ this.linkTreeItems = () => {
92
+ this.treeItems.forEach((treeItem) => {
93
+ treeItem.setAttribute("context-id", this.treeViewId);
94
+ });
95
+ };
96
+ this.setTreeItems = () => {
97
+ this.treeItems = this.getAllTreeItems(this.el);
98
+ this.linkTreeItems();
99
+ };
100
+ this.addSlotChangeListener = () => {
101
+ this.el.addEventListener("slotchange", this.setTreeItems);
102
+ };
103
+ this.truncateTreeViewHeading = () => {
104
+ const typographyEl = this.el.shadowRoot.querySelector(".tree-view-header");
105
+ const tooltip = typographyEl.closest("ic-tooltip");
106
+ const headingContainer = this.el.shadowRoot.querySelector(".heading-area-container");
107
+ if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (headingContainer === null || headingContainer === void 0 ? void 0 : headingContainer.clientHeight)) {
108
+ typographyEl.classList.add("ic-text-overflow");
109
+ if (!tooltip) {
110
+ const tooltipEl = document.createElement("ic-tooltip");
111
+ tooltipEl.setAttribute("target", this.el.id);
112
+ tooltipEl.setAttribute("label", typographyEl.textContent);
113
+ tooltipEl.classList.add("ic-tooltip-overflow");
114
+ tooltipEl.setAttribute("placement", "right");
115
+ headingContainer.appendChild(tooltipEl);
116
+ tooltipEl.appendChild(typographyEl);
117
+ }
118
+ }
119
+ };
120
+ this.hostMutationCallback = (mutationList) => {
121
+ if (mutationList.some(({ type, addedNodes, removedNodes }) => type === "childList"
122
+ ? helpers.checkSlotInChildMutations(addedNodes, removedNodes, "icon")
123
+ : false)) {
124
+ index.forceUpdate(this);
125
+ }
126
+ };
127
+ this.isHeadingDefined = () => helpers.isPropDefined(this.heading) && this.heading !== null;
128
+ this.hasHeadingAreaContent = () => {
129
+ return (helpers.isSlotUsed(this.el, "heading") ||
130
+ this.isHeadingDefined() ||
131
+ helpers.isSlotUsed(this.el, "icon"));
132
+ };
133
+ this.treeItems = undefined;
134
+ this.appearance = "dark";
135
+ this.heading = "";
136
+ this.size = "medium";
137
+ }
138
+ watchAppearanceHandler() {
139
+ this.treeItems.forEach((treeItem) => {
140
+ treeItem.appearance = this.appearance;
141
+ });
142
+ }
143
+ watchSizeHandler() {
144
+ this.treeItems.forEach((treeItem) => {
145
+ treeItem.size = this.size;
146
+ });
147
+ }
148
+ disconnectedCallback() {
149
+ var _a, _b;
150
+ (_a = this.el) === null || _a === void 0 ? void 0 : _a.removeEventListener("slotchange", this.setTreeItems);
151
+ (_b = this.hostMutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
152
+ }
153
+ componentDidLoad() {
154
+ this.setTreeItems();
155
+ this.watchAppearanceHandler();
156
+ this.watchSizeHandler();
157
+ setTimeout(() => {
158
+ this.truncateTreeViewHeading();
159
+ }, 100);
160
+ this.addSlotChangeListener();
161
+ this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
162
+ this.hostMutationObserver.observe(this.el, {
163
+ childList: true,
164
+ });
165
+ }
166
+ handleTreeItemSelected(event) {
167
+ this.treeItems.forEach((treeItem) => {
168
+ if (treeItem.selected && treeItem.id !== event.detail.id) {
169
+ treeItem.selected = false;
170
+ }
171
+ });
172
+ }
173
+ getAllTreeItems(element) {
174
+ const treeItems = [];
175
+ const collectTreeItems = (el) => {
176
+ Array.from(el.children).forEach((child) => {
177
+ if (child.tagName === this.treeItemTag) {
178
+ treeItems.push(child);
179
+ }
180
+ collectTreeItems(child);
181
+ });
182
+ };
183
+ collectTreeItems(element);
184
+ return treeItems;
185
+ }
186
+ render() {
187
+ const { appearance, heading, size } = this;
188
+ return (index.h(index.Host, { "context-id": this.treeViewId, class: {
189
+ [`ic-tree-view-${appearance}`]: true,
190
+ [`ic-tree-view-${size}`]: size !== "medium",
191
+ }, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (index.h("div", { class: "heading-area-container" }, helpers.isSlotUsed(this.el, "icon") && (index.h("div", { class: "icon-container" }, index.h("slot", { name: "icon" }))), index.h("ic-typography", { variant: "subtitle-large", class: "tree-view-header" }, helpers.isSlotUsed(this.el, "heading") ? (index.h("slot", { name: "heading" })) : (heading)))), index.h("slot", null)));
192
+ }
193
+ get el() { return index.getElement(this); }
194
+ static get watchers() { return {
195
+ "appearance": ["watchAppearanceHandler"],
196
+ "size": ["watchSizeHandler"]
197
+ }; }
198
+ };
199
+ TreeView.style = icTreeViewCss;
200
+
201
+ exports.ic_tree_view = TreeView;
202
+
203
+ //# sourceMappingURL=ic-tree-view.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-tree-view.entry.cjs.js","mappings":"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","names":["checkSlotInChildMutations","forceUpdate","isPropDefined","isSlotUsed","h","Host"],"sources":["src/components/ic-tree-view/ic-tree-view.css?tag=ic-tree-view&encapsulation=shadow","src/components/ic-tree-view/ic-tree-view.tsx"],"sourcesContent":["/**\n* @prop --tree-view-width: Width of the tree view\n*/\n\n:host {\n display: block;\n width: var(--tree-view-width, 100%);\n}\n\n:host .heading-area-container {\n border-bottom: var(--ic-border-default);\n display: flex;\n align-items: center;\n height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));\n padding: 0 var(--ic-space-xs);\n}\n\n:host(.ic-tree-view-small) .heading-area-container {\n height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-large) .heading-area-container {\n height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-light) .heading-area-container {\n color: var(--ic-architectural-white);\n\n --ic-typography-color: var(--ic-architectural-white);\n\n fill: var(--ic-architectural-white);\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-view-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n forceUpdate,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeForegroundNoDefault } from \"../../utils/types\";\nimport {\n isPropDefined,\n isSlotUsed,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * The appearance of the tree view, e.g. dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n @Watch(\"appearance\")\n watchAppearanceHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.appearance = this.appearance;\n });\n }\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\n\n disconnectedCallback(): void {\n this.el?.removeEventListener(\"slotchange\", this.setTreeItems);\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.setTreeItems();\n\n this.watchAppearanceHandler();\n this.watchSizeHandler();\n setTimeout(() => {\n this.truncateTreeViewHeading();\n }, 100);\n\n this.addSlotChangeListener();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n !this.treeItems[nextItem].disabled &&\n (this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||\n (this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItems = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItems(child as HTMLElement);\n });\n };\n\n collectTreeItems(element);\n return treeItems;\n }\n\n private addSlotChangeListener = () => {\n this.el.addEventListener(\"slotchange\", this.setTreeItems);\n };\n\n private truncateTreeViewHeading = () => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-view-header\");\n const tooltip = typographyEl.closest(\"ic-tooltip\");\n const headingContainer: HTMLElement = this.el.shadowRoot.querySelector(\n \".heading-area-container\"\n );\n\n if (typographyEl?.scrollHeight > headingContainer?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"icon\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { appearance, heading, size } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${appearance}`]: true,\n [`ic-tree-view-${size}`]: size !== \"medium\",\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography variant=\"subtitle-large\" class=\"tree-view-header\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}