@ukic/canary-web-components 3.0.0-canary.18 → 3.0.0-canary.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-6f33d131.js → helpers-a5405964.js} +12 -20
  3. package/dist/cjs/helpers-a5405964.js.map +1 -0
  4. package/dist/cjs/ic-accordion.cjs.entry.js +9 -7
  5. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +8 -8
  13. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox_3.cjs.entry.js +20 -37
  20. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-data-table.cjs.entry.js +311 -319
  27. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +6 -5
  35. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  37. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +22 -21
  39. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-input-label_2.cjs.entry.js +7 -7
  41. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-link.cjs.entry.js +11 -21
  43. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +115 -163
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +64 -61
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  53. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-pagination_4.cjs.entry.js +160 -231
  55. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  59. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  61. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-search-bar.cjs.entry.js +49 -31
  63. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +23 -4
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  75. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  87. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  89. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  91. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +53 -67
  93. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-toggle-button.cjs.entry.js +61 -63
  95. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-top-navigation.cjs.entry.js +64 -62
  97. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tree-item.cjs.entry.js +1 -1
  99. package/dist/cjs/ic-tree-view.cjs.entry.js +1 -1
  100. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  101. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/components/ic-data-table/ic-data-table.css +3 -5
  104. package/dist/collection/components/ic-data-table/ic-data-table.js +310 -318
  105. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  106. package/dist/collection/components/ic-data-table/story-data.js +1 -0
  107. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  108. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +30 -22
  109. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  110. package/dist/collection/utils/helpers.js +23 -51
  111. package/dist/collection/utils/helpers.js.map +1 -1
  112. package/dist/collection/utils/types.js.map +1 -1
  113. package/dist/components/helpers2.js +12 -20
  114. package/dist/components/helpers2.js.map +1 -1
  115. package/dist/components/ic-accordion.js +9 -7
  116. package/dist/components/ic-accordion.js.map +1 -1
  117. package/dist/components/ic-alert.js +1 -1
  118. package/dist/components/ic-alert.js.map +1 -1
  119. package/dist/components/ic-breadcrumb-group.js +2 -2
  120. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  121. package/dist/components/ic-breadcrumb2.js +2 -2
  122. package/dist/components/ic-breadcrumb2.js.map +1 -1
  123. package/dist/components/ic-button2.js +3 -3
  124. package/dist/components/ic-button2.js.map +1 -1
  125. package/dist/components/ic-card-vertical.js +1 -1
  126. package/dist/components/ic-card-vertical.js.map +1 -1
  127. package/dist/components/ic-checkbox-group.js +2 -2
  128. package/dist/components/ic-checkbox-group.js.map +1 -1
  129. package/dist/components/ic-checkbox2.js +7 -12
  130. package/dist/components/ic-checkbox2.js.map +1 -1
  131. package/dist/components/ic-data-list.js +2 -2
  132. package/dist/components/ic-data-list.js.map +1 -1
  133. package/dist/components/ic-data-row.js +2 -2
  134. package/dist/components/ic-data-row.js.map +1 -1
  135. package/dist/components/ic-data-table.js +311 -319
  136. package/dist/components/ic-data-table.js.map +1 -1
  137. package/dist/components/ic-dialog.js +1 -1
  138. package/dist/components/ic-dialog.js.map +1 -1
  139. package/dist/components/ic-empty-state2.js +2 -2
  140. package/dist/components/ic-empty-state2.js.map +1 -1
  141. package/dist/components/ic-footer-link.js +2 -2
  142. package/dist/components/ic-footer-link.js.map +1 -1
  143. package/dist/components/ic-hero.js +6 -5
  144. package/dist/components/ic-hero.js.map +1 -1
  145. package/dist/components/ic-horizontal-scroll2.js +5 -5
  146. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  147. package/dist/components/ic-input-component-container2.js +3 -3
  148. package/dist/components/ic-input-component-container2.js.map +1 -1
  149. package/dist/components/ic-input-container2.js +2 -2
  150. package/dist/components/ic-input-container2.js.map +1 -1
  151. package/dist/components/ic-input-label2.js +4 -4
  152. package/dist/components/ic-input-label2.js.map +1 -1
  153. package/dist/components/ic-input-validation2.js +3 -3
  154. package/dist/components/ic-input-validation2.js.map +1 -1
  155. package/dist/components/ic-link2.js +12 -24
  156. package/dist/components/ic-link2.js.map +1 -1
  157. package/dist/components/ic-loading-indicator2.js +3 -3
  158. package/dist/components/ic-loading-indicator2.js.map +1 -1
  159. package/dist/components/ic-menu-group.js +1 -1
  160. package/dist/components/ic-menu-group.js.map +1 -1
  161. package/dist/components/ic-menu2.js +17 -16
  162. package/dist/components/ic-menu2.js.map +1 -1
  163. package/dist/components/ic-navigation-group.js +115 -163
  164. package/dist/components/ic-navigation-group.js.map +1 -1
  165. package/dist/components/ic-navigation-item.js +67 -62
  166. package/dist/components/ic-navigation-item.js.map +1 -1
  167. package/dist/components/ic-navigation-menu2.js +4 -4
  168. package/dist/components/ic-navigation-menu2.js.map +1 -1
  169. package/dist/components/ic-page-header.js +6 -6
  170. package/dist/components/ic-page-header.js.map +1 -1
  171. package/dist/components/ic-pagination-bar2.js +12 -23
  172. package/dist/components/ic-pagination-bar2.js.map +1 -1
  173. package/dist/components/ic-pagination-item2.js +1 -1
  174. package/dist/components/ic-pagination-item2.js.map +1 -1
  175. package/dist/components/ic-pagination2.js +4 -4
  176. package/dist/components/ic-pagination2.js.map +1 -1
  177. package/dist/components/ic-popover-menu.js +5 -5
  178. package/dist/components/ic-popover-menu.js.map +1 -1
  179. package/dist/components/ic-radio-group.js +4 -4
  180. package/dist/components/ic-radio-group.js.map +1 -1
  181. package/dist/components/ic-radio-option.js +4 -4
  182. package/dist/components/ic-radio-option.js.map +1 -1
  183. package/dist/components/ic-search-bar.js +50 -31
  184. package/dist/components/ic-search-bar.js.map +1 -1
  185. package/dist/components/ic-section-container2.js +2 -2
  186. package/dist/components/ic-section-container2.js.map +1 -1
  187. package/dist/components/ic-select2.js +141 -217
  188. package/dist/components/ic-select2.js.map +1 -1
  189. package/dist/components/ic-side-navigation.js +24 -4
  190. package/dist/components/ic-side-navigation.js.map +1 -1
  191. package/dist/components/ic-skeleton.js +2 -2
  192. package/dist/components/ic-skeleton.js.map +1 -1
  193. package/dist/components/ic-skip-link.js +2 -2
  194. package/dist/components/ic-skip-link.js.map +1 -1
  195. package/dist/components/ic-status-tag.js +2 -2
  196. package/dist/components/ic-status-tag.js.map +1 -1
  197. package/dist/components/ic-step.js +13 -13
  198. package/dist/components/ic-step.js.map +1 -1
  199. package/dist/components/ic-stepper.js +2 -2
  200. package/dist/components/ic-stepper.js.map +1 -1
  201. package/dist/components/ic-switch.js +4 -4
  202. package/dist/components/ic-switch.js.map +1 -1
  203. package/dist/components/ic-tab-context.js +1 -1
  204. package/dist/components/ic-tab-context.js.map +1 -1
  205. package/dist/components/ic-tab-group.js +2 -2
  206. package/dist/components/ic-tab-group.js.map +1 -1
  207. package/dist/components/ic-tab-panel.js +2 -2
  208. package/dist/components/ic-tab-panel.js.map +1 -1
  209. package/dist/components/ic-text-field2.js +16 -10
  210. package/dist/components/ic-text-field2.js.map +1 -1
  211. package/dist/components/ic-theme.js +1 -1
  212. package/dist/components/ic-theme.js.map +1 -1
  213. package/dist/components/ic-toast-region.js +1 -1
  214. package/dist/components/ic-toast-region.js.map +1 -1
  215. package/dist/components/ic-toast.js +3 -3
  216. package/dist/components/ic-toast.js.map +1 -1
  217. package/dist/components/ic-toggle-button-group.js +53 -67
  218. package/dist/components/ic-toggle-button-group.js.map +1 -1
  219. package/dist/components/ic-toggle-button.js +61 -63
  220. package/dist/components/ic-toggle-button.js.map +1 -1
  221. package/dist/components/ic-tooltip2.js +2 -2
  222. package/dist/components/ic-tooltip2.js.map +1 -1
  223. package/dist/components/ic-top-navigation.js +65 -63
  224. package/dist/components/ic-top-navigation.js.map +1 -1
  225. package/dist/components/ic-tree-view.js +1 -1
  226. package/dist/components/ic-typography2.js +2 -2
  227. package/dist/components/ic-typography2.js.map +1 -1
  228. package/dist/core/core.esm.js +1 -1
  229. package/dist/core/core.esm.js.map +1 -1
  230. package/dist/core/{p-ef07630d.entry.js → p-0c9c6c31.entry.js} +2 -2
  231. package/dist/core/{p-ef07630d.entry.js.map → p-0c9c6c31.entry.js.map} +1 -1
  232. package/dist/core/p-0e0e0942.js +2 -0
  233. package/dist/core/p-0e0e0942.js.map +1 -0
  234. package/dist/core/{p-824cbf95.entry.js → p-1673d010.entry.js} +2 -2
  235. package/dist/core/{p-824cbf95.entry.js.map → p-1673d010.entry.js.map} +1 -1
  236. package/dist/core/{p-e9683f52.entry.js → p-16e78c1d.entry.js} +2 -2
  237. package/dist/core/p-16e78c1d.entry.js.map +1 -0
  238. package/dist/core/p-17926ee3.entry.js +2 -0
  239. package/dist/core/p-17926ee3.entry.js.map +1 -0
  240. package/dist/core/{p-fbcc2a11.entry.js → p-188ba287.entry.js} +2 -2
  241. package/dist/core/{p-fbcc2a11.entry.js.map → p-188ba287.entry.js.map} +1 -1
  242. package/dist/core/{p-bff6fef6.entry.js → p-1f18bbf6.entry.js} +2 -2
  243. package/dist/core/{p-bff6fef6.entry.js.map → p-1f18bbf6.entry.js.map} +1 -1
  244. package/dist/core/{p-0e3a62cc.entry.js → p-2667c808.entry.js} +2 -2
  245. package/dist/core/{p-3800cda8.entry.js → p-28611f52.entry.js} +2 -2
  246. package/dist/core/p-28611f52.entry.js.map +1 -0
  247. package/dist/core/{p-fb1fce87.entry.js → p-29a49ea2.entry.js} +2 -2
  248. package/dist/core/{p-fb1fce87.entry.js.map → p-29a49ea2.entry.js.map} +1 -1
  249. package/dist/core/{p-bc2ca778.entry.js → p-3cb4ecef.entry.js} +2 -2
  250. package/dist/core/{p-bc2ca778.entry.js.map → p-3cb4ecef.entry.js.map} +1 -1
  251. package/dist/core/p-4444e787.entry.js +2 -0
  252. package/dist/core/{p-cd770df5.entry.js.map → p-4444e787.entry.js.map} +1 -1
  253. package/dist/core/p-4aaf10a5.entry.js +2 -0
  254. package/dist/core/p-4aaf10a5.entry.js.map +1 -0
  255. package/dist/core/{p-e7c00131.entry.js → p-578a02ff.entry.js} +2 -2
  256. package/dist/core/{p-e7c00131.entry.js.map → p-578a02ff.entry.js.map} +1 -1
  257. package/dist/core/{p-a054bb1b.entry.js → p-582da938.entry.js} +2 -2
  258. package/dist/core/{p-a054bb1b.entry.js.map → p-582da938.entry.js.map} +1 -1
  259. package/dist/core/{p-d328f6fc.entry.js → p-5926c2b2.entry.js} +2 -2
  260. package/dist/core/{p-d328f6fc.entry.js.map → p-5926c2b2.entry.js.map} +1 -1
  261. package/dist/core/p-61e78ce0.entry.js +2 -0
  262. package/dist/core/p-61e78ce0.entry.js.map +1 -0
  263. package/dist/core/{p-5744b8b3.entry.js → p-6a63a73a.entry.js} +2 -2
  264. package/dist/core/{p-5744b8b3.entry.js.map → p-6a63a73a.entry.js.map} +1 -1
  265. package/dist/core/{p-266686d0.entry.js → p-6bfff7ba.entry.js} +2 -2
  266. package/dist/core/p-6bfff7ba.entry.js.map +1 -0
  267. package/dist/core/{p-f6141c29.entry.js → p-7c3cd0b8.entry.js} +2 -2
  268. package/dist/core/p-7e4f5717.entry.js +2 -0
  269. package/dist/core/p-7e4f5717.entry.js.map +1 -0
  270. package/dist/core/{p-eb88b348.entry.js → p-7eaa223b.entry.js} +2 -2
  271. package/dist/core/{p-eb88b348.entry.js.map → p-7eaa223b.entry.js.map} +1 -1
  272. package/dist/core/{p-09f54ca3.entry.js → p-8112444e.entry.js} +2 -2
  273. package/dist/core/{p-09f54ca3.entry.js.map → p-8112444e.entry.js.map} +1 -1
  274. package/dist/core/{p-af1d6e41.entry.js → p-85a17585.entry.js} +2 -2
  275. package/dist/core/{p-1aed572a.entry.js → p-864e337f.entry.js} +2 -2
  276. package/dist/core/{p-1aed572a.entry.js.map → p-864e337f.entry.js.map} +1 -1
  277. package/dist/core/{p-fb8d27fa.entry.js → p-887b1302.entry.js} +2 -2
  278. package/dist/core/{p-fb8d27fa.entry.js.map → p-887b1302.entry.js.map} +1 -1
  279. package/dist/core/p-8d2d9e11.entry.js +2 -0
  280. package/dist/core/p-8d2d9e11.entry.js.map +1 -0
  281. package/dist/core/p-920f6480.entry.js +2 -0
  282. package/dist/core/p-920f6480.entry.js.map +1 -0
  283. package/dist/core/{p-7c096c5e.entry.js → p-9687e929.entry.js} +2 -2
  284. package/dist/core/{p-7c096c5e.entry.js.map → p-9687e929.entry.js.map} +1 -1
  285. package/dist/core/{p-33f4abc9.entry.js → p-976f4280.entry.js} +2 -2
  286. package/dist/core/{p-33f4abc9.entry.js.map → p-976f4280.entry.js.map} +1 -1
  287. package/dist/core/p-9989ec00.entry.js +2 -0
  288. package/dist/core/p-9989ec00.entry.js.map +1 -0
  289. package/dist/core/{p-93e154e0.entry.js → p-9a78f449.entry.js} +2 -2
  290. package/dist/core/{p-93e154e0.entry.js.map → p-9a78f449.entry.js.map} +1 -1
  291. package/dist/core/{p-f9a16fa8.entry.js → p-9aecbfe9.entry.js} +2 -2
  292. package/dist/core/{p-f9a16fa8.entry.js.map → p-9aecbfe9.entry.js.map} +1 -1
  293. package/dist/core/{p-45f32fea.entry.js → p-a894ddb6.entry.js} +2 -2
  294. package/dist/core/p-a894ddb6.entry.js.map +1 -0
  295. package/dist/core/p-abcaf14d.entry.js +2 -0
  296. package/dist/core/p-abcaf14d.entry.js.map +1 -0
  297. package/dist/core/p-aeeff0e5.entry.js +2 -0
  298. package/dist/core/p-aeeff0e5.entry.js.map +1 -0
  299. package/dist/core/{p-e38b20bf.entry.js → p-b92727c0.entry.js} +2 -2
  300. package/dist/core/{p-e38b20bf.entry.js.map → p-b92727c0.entry.js.map} +1 -1
  301. package/dist/core/{p-d3d48548.entry.js → p-ba5e1b21.entry.js} +2 -2
  302. package/dist/core/{p-d3d48548.entry.js.map → p-ba5e1b21.entry.js.map} +1 -1
  303. package/dist/core/{p-b9459ba2.entry.js → p-bf3b853e.entry.js} +2 -2
  304. package/dist/core/{p-b9459ba2.entry.js.map → p-bf3b853e.entry.js.map} +1 -1
  305. package/dist/core/{p-9882c572.entry.js → p-c3be8a0f.entry.js} +2 -2
  306. package/dist/core/p-c3be8a0f.entry.js.map +1 -0
  307. package/dist/core/{p-72c117b6.entry.js → p-c5ffe2cf.entry.js} +2 -2
  308. package/dist/core/{p-72c117b6.entry.js.map → p-c5ffe2cf.entry.js.map} +1 -1
  309. package/dist/core/{p-aa83f828.entry.js → p-c8d207e1.entry.js} +2 -2
  310. package/dist/core/p-ca7e1219.entry.js +2 -0
  311. package/dist/core/p-ca7e1219.entry.js.map +1 -0
  312. package/dist/core/p-d0c38d58.entry.js +2 -0
  313. package/dist/core/p-d0c38d58.entry.js.map +1 -0
  314. package/dist/core/{p-df88ff5b.entry.js → p-d4903dcd.entry.js} +2 -2
  315. package/dist/core/{p-df88ff5b.entry.js.map → p-d4903dcd.entry.js.map} +1 -1
  316. package/dist/core/{p-9ca147f3.entry.js → p-de1e04ac.entry.js} +2 -2
  317. package/dist/core/{p-9ca147f3.entry.js.map → p-de1e04ac.entry.js.map} +1 -1
  318. package/dist/core/{p-8b5022bc.entry.js → p-dee21f6d.entry.js} +2 -2
  319. package/dist/core/{p-8b5022bc.entry.js.map → p-dee21f6d.entry.js.map} +1 -1
  320. package/dist/core/{p-ad390076.entry.js → p-e003ad46.entry.js} +2 -2
  321. package/dist/core/{p-ad390076.entry.js.map → p-e003ad46.entry.js.map} +1 -1
  322. package/dist/core/{p-1be17f22.entry.js → p-e2629bfe.entry.js} +2 -2
  323. package/dist/core/{p-1be17f22.entry.js.map → p-e2629bfe.entry.js.map} +1 -1
  324. package/dist/core/p-e38dd019.entry.js +2 -0
  325. package/dist/core/p-e38dd019.entry.js.map +1 -0
  326. package/dist/core/{p-84daed4d.entry.js → p-e546d477.entry.js} +2 -2
  327. package/dist/core/p-e546d477.entry.js.map +1 -0
  328. package/dist/core/{p-5c363e21.entry.js → p-f9e78341.entry.js} +2 -2
  329. package/dist/core/{p-0a0b25c5.entry.js → p-fedfd000.entry.js} +2 -2
  330. package/dist/esm/core.js +1 -1
  331. package/dist/esm/{helpers-0bb68835.js → helpers-ef2db990.js} +13 -21
  332. package/dist/esm/helpers-ef2db990.js.map +1 -0
  333. package/dist/esm/ic-accordion.entry.js +9 -7
  334. package/dist/esm/ic-accordion.entry.js.map +1 -1
  335. package/dist/esm/ic-alert.entry.js +1 -1
  336. package/dist/esm/ic-alert.entry.js.map +1 -1
  337. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  338. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  339. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  340. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  341. package/dist/esm/ic-button_3.entry.js +8 -8
  342. package/dist/esm/ic-button_3.entry.js.map +1 -1
  343. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  344. package/dist/esm/ic-card-vertical.entry.js +1 -1
  345. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  346. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  347. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  348. package/dist/esm/ic-checkbox_3.entry.js +20 -37
  349. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  350. package/dist/esm/ic-data-list.entry.js +2 -2
  351. package/dist/esm/ic-data-list.entry.js.map +1 -1
  352. package/dist/esm/ic-data-row.entry.js +2 -2
  353. package/dist/esm/ic-data-row.entry.js.map +1 -1
  354. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  355. package/dist/esm/ic-data-table.entry.js +311 -319
  356. package/dist/esm/ic-data-table.entry.js.map +1 -1
  357. package/dist/esm/ic-date-input.entry.js +1 -1
  358. package/dist/esm/ic-date-picker.entry.js +1 -1
  359. package/dist/esm/ic-dialog.entry.js +1 -1
  360. package/dist/esm/ic-dialog.entry.js.map +1 -1
  361. package/dist/esm/ic-footer-link.entry.js +2 -2
  362. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  363. package/dist/esm/ic-hero.entry.js +6 -5
  364. package/dist/esm/ic-hero.entry.js.map +1 -1
  365. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  366. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  367. package/dist/esm/ic-input-component-container_3.entry.js +22 -21
  368. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  369. package/dist/esm/ic-input-label_2.entry.js +7 -7
  370. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  371. package/dist/esm/ic-link.entry.js +11 -21
  372. package/dist/esm/ic-link.entry.js.map +1 -1
  373. package/dist/esm/ic-menu-group.entry.js +1 -1
  374. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  375. package/dist/esm/ic-navigation-group.entry.js +115 -163
  376. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  377. package/dist/esm/ic-navigation-item.entry.js +64 -61
  378. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  379. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  380. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  381. package/dist/esm/ic-page-header.entry.js +6 -6
  382. package/dist/esm/ic-page-header.entry.js.map +1 -1
  383. package/dist/esm/ic-pagination_4.entry.js +161 -232
  384. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  385. package/dist/esm/ic-popover-menu.entry.js +5 -5
  386. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  387. package/dist/esm/ic-radio-group.entry.js +4 -4
  388. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  389. package/dist/esm/ic-radio-option.entry.js +4 -4
  390. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  391. package/dist/esm/ic-search-bar.entry.js +49 -31
  392. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  393. package/dist/esm/ic-section-container.entry.js +2 -2
  394. package/dist/esm/ic-section-container.entry.js.map +1 -1
  395. package/dist/esm/ic-side-navigation.entry.js +23 -4
  396. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  397. package/dist/esm/ic-skeleton.entry.js +2 -2
  398. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  399. package/dist/esm/ic-skip-link.entry.js +2 -2
  400. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  401. package/dist/esm/ic-status-tag.entry.js +2 -2
  402. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  403. package/dist/esm/ic-step.entry.js +13 -13
  404. package/dist/esm/ic-step.entry.js.map +1 -1
  405. package/dist/esm/ic-stepper.entry.js +2 -2
  406. package/dist/esm/ic-stepper.entry.js.map +1 -1
  407. package/dist/esm/ic-switch.entry.js +4 -4
  408. package/dist/esm/ic-switch.entry.js.map +1 -1
  409. package/dist/esm/ic-tab-context.entry.js +1 -1
  410. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  411. package/dist/esm/ic-tab-group.entry.js +2 -2
  412. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  413. package/dist/esm/ic-tab-panel.entry.js +2 -2
  414. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  415. package/dist/esm/ic-theme.entry.js +1 -1
  416. package/dist/esm/ic-theme.entry.js.map +1 -1
  417. package/dist/esm/ic-toast-region.entry.js +1 -1
  418. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  419. package/dist/esm/ic-toast.entry.js +3 -3
  420. package/dist/esm/ic-toast.entry.js.map +1 -1
  421. package/dist/esm/ic-toggle-button-group.entry.js +53 -67
  422. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  423. package/dist/esm/ic-toggle-button.entry.js +61 -63
  424. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  425. package/dist/esm/ic-top-navigation.entry.js +65 -63
  426. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  427. package/dist/esm/ic-tree-item.entry.js +1 -1
  428. package/dist/esm/ic-tree-view.entry.js +1 -1
  429. package/dist/esm/ic-typography.entry.js +2 -2
  430. package/dist/esm/ic-typography.entry.js.map +1 -1
  431. package/dist/esm/loader.js +1 -1
  432. package/dist/types/components/ic-data-table/ic-data-table.d.ts +15 -4
  433. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +4 -1
  434. package/dist/types/components.d.ts +8 -0
  435. package/dist/types/utils/helpers.d.ts +3 -3
  436. package/dist/types/utils/types.d.ts +2 -0
  437. package/hydrate/index.js +1085 -1214
  438. package/hydrate/index.mjs +1085 -1214
  439. package/package.json +3 -3
  440. package/dist/cjs/helpers-6f33d131.js.map +0 -1
  441. package/dist/core/p-10703715.entry.js +0 -2
  442. package/dist/core/p-10703715.entry.js.map +0 -1
  443. package/dist/core/p-266686d0.entry.js.map +0 -1
  444. package/dist/core/p-3800cda8.entry.js.map +0 -1
  445. package/dist/core/p-45f32fea.entry.js.map +0 -1
  446. package/dist/core/p-59bc9fe7.entry.js +0 -2
  447. package/dist/core/p-59bc9fe7.entry.js.map +0 -1
  448. package/dist/core/p-6724039c.entry.js +0 -2
  449. package/dist/core/p-6724039c.entry.js.map +0 -1
  450. package/dist/core/p-84daed4d.entry.js.map +0 -1
  451. package/dist/core/p-92a969b3.entry.js +0 -2
  452. package/dist/core/p-92a969b3.entry.js.map +0 -1
  453. package/dist/core/p-954959d4.entry.js +0 -2
  454. package/dist/core/p-954959d4.entry.js.map +0 -1
  455. package/dist/core/p-95868542.entry.js +0 -2
  456. package/dist/core/p-95868542.entry.js.map +0 -1
  457. package/dist/core/p-9882c572.entry.js.map +0 -1
  458. package/dist/core/p-9918c411.entry.js +0 -2
  459. package/dist/core/p-9918c411.entry.js.map +0 -1
  460. package/dist/core/p-ad45f8f8.entry.js +0 -2
  461. package/dist/core/p-ad45f8f8.entry.js.map +0 -1
  462. package/dist/core/p-b947e4ff.entry.js +0 -2
  463. package/dist/core/p-b947e4ff.entry.js.map +0 -1
  464. package/dist/core/p-c472cb32.entry.js +0 -2
  465. package/dist/core/p-c472cb32.entry.js.map +0 -1
  466. package/dist/core/p-cd770df5.entry.js +0 -2
  467. package/dist/core/p-e9683f52.entry.js.map +0 -1
  468. package/dist/core/p-ed542433.js +0 -2
  469. package/dist/core/p-ed542433.js.map +0 -1
  470. package/dist/core/p-edeb3823.entry.js +0 -2
  471. package/dist/core/p-edeb3823.entry.js.map +0 -1
  472. package/dist/core/p-fb8214a9.entry.js +0 -2
  473. package/dist/core/p-fb8214a9.entry.js.map +0 -1
  474. package/dist/esm/helpers-0bb68835.js.map +0 -1
  475. /package/dist/core/{p-0e3a62cc.entry.js.map → p-2667c808.entry.js.map} +0 -0
  476. /package/dist/core/{p-f6141c29.entry.js.map → p-7c3cd0b8.entry.js.map} +0 -0
  477. /package/dist/core/{p-af1d6e41.entry.js.map → p-85a17585.entry.js.map} +0 -0
  478. /package/dist/core/{p-aa83f828.entry.js.map → p-c8d207e1.entry.js.map} +0 -0
  479. /package/dist/core/{p-5c363e21.entry.js.map → p-f9e78341.entry.js.map} +0 -0
  480. /package/dist/core/{p-0a0b25c5.entry.js.map → p-fedfd000.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icSideNavigationCss","IcSideNavigationStyle0","SideNavigation","constructor","hostRef","this","ANIMATION_DURATION","parseInt","getCssProperty","IC_NAVIGATION_ITEM","resizeObserver","COLLAPSED_ICON_LABELS_END","COLLAPSED_ICON_LABELS_START","deviceSize","getCurrentDeviceSize","deviceSizeAppTitle","DEVICE_SIZES","S","foregroundColor","getBrandForegroundAppearance","hasSecondaryNavigation","menuExpanded","menuOpen","closeOnNavItemClick","collapsedIconLabels","disableAutoParentStyling","disableTopBarBehaviour","expanded","href","inline","shortAppTitle","static","emitSideNavigationExpanded","objDetails","icSideNavExpanded","emit","sideNavExpanded","sideNavMobile","toggleMenu","setMobileMenuAriaAttributes","arrangeSlottedNavigationItem","setToggleMenuFlyoutMenuVisibility","_a","sideNav","el","shadowRoot","querySelector","sideNavInner","bottomWrapper","menuVisibilityVisible","classList","add","setTimeout","remove","menuButton","setAttribute","setAndRemoveNoWrapAfterMenuExpanded","appTitle","toggleMenuExpanded","_b","_c","_d","style","setProperty","addEventListener","e","propertyName","displayTooltipWithExpandedLongLabel","animateCollapsedIconLabels","setExpandedButtonHeight","navItems","querySelectorAll","forEach","navItem","isNamedSlot","isSlotUsed","isUnnamedSlot","children","getAttribute","navItemSlot","iconWrapper","document","createElement","icon","badge","label","textContent","trim","icTypography","position","height","append","styleSlottedCollapsedIconLabels","styleSlottedIconLabels","marginTop","whiteSpace","overflow","textOverflow","appStatusWrapper","offsetHeight","opacity","visibility","transition","transitionHandler","type","primaryNavigationWrapper","secondaryNavigationWrapper","classToRemove","classToAdd","transitionEndHandler","paddingIconWidth","navItemLink","navItemSVG","navStyles","gap","window","getComputedStyle","iconWidth","width","paddingLeft","Object","values","reduce","prev","curr","timer","sideNavWidth","clientWidth","navigationItems","Array","from","paddingIconDelta","length","navigationItem","icTypographyScrollWidth","scrollWidth","clearTimeout","setMenuExpanded","handleNavItemClicked","setParentPaddingTop","value","parentElement","setParentPaddingLeft","renderAppTitle","isAppNameSubtitleVariant","displayShortAppTitle","isEmptyString","h","variant","undefined","resizeObserverCallback","currSize","isSmallAndDisableTopBar","topBarHeight","scrollHeight","L","M","runResizeObserver","ResizeObserver","observe","body","box","setCollapsedIconLabels","styleSlottedCollapsedIconLabel","dynamicSlottedIcTypographyComps","contains","renderTopBar","isSDevice","hasTitle","isPropDefined","Component","attrs","class","id","size","theme","monochrome","onClick","ariaOwnsId","ref","slot","innerHTML","closeIcon","menuIcon","assign","name","watchExpandedHandler","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","disconnectedCallback","disconnect","removeEventListener","brandChangeHandler","detail","mode","render","status","version","isMdDevice","isLgDevice","displayExpandBtn","topBarProps","Host","key","IcBrandForegroundEnum","Dark","hasClassificationBanner","chevronIcon"],"sources":["../web-components/dist/collection/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","../web-components/dist/collection/components/ic-side-navigation/ic-side-navigation.js"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 4rem;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-collapsed) slot[name=\"app-title\"]:dir(rtl)::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]:dir(rtl)::slotted(a) {\n right: -9999px;\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: -moz-fit-content;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: none;\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography:dir(rtl) {\n right: -9999px;\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n --navigation-group-width: 20rem;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport { getCurrentDeviceSize, DEVICE_SIZES, checkResizeObserver, isSlotUsed, getBrandForegroundAppearance, getCssProperty, hasClassificationBanner, onComponentRequiredPropUndefined, isEmptyString, isPropDefined, } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\nexport class SideNavigation {\n constructor() {\n this.ANIMATION_DURATION = parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n this.IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n this.resizeObserver = null;\n this.COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n this.COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n this.deviceSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = DEVICE_SIZES.S;\n this.foregroundColor = getBrandForegroundAppearance();\n this.hasSecondaryNavigation = false;\n this.menuExpanded = false;\n this.menuOpen = false;\n /**\n * If `true`, the side navigation will close when a navigation item is clicked. This behaviour is only applicable on larger device sizes.\n */\n this.closeOnNavItemClick = false;\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n this.collapsedIconLabels = false;\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n this.disableAutoParentStyling = false;\n /**\n * If `true`, the side navigation will not display as a top bar on small devices.\n */\n this.disableTopBarBehaviour = false;\n /**\n * If `true`, the side navigation will display in an expanded state.\n */\n this.expanded = false;\n /**\n * The URL that the app title link points to.\n */\n this.href = \"/\";\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n this.inline = false;\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n this.shortAppTitle = \"\";\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n this.static = false;\n this.emitSideNavigationExpanded = (objDetails) => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: !!objDetails.sideNavMobile,\n });\n };\n this.toggleMenu = () => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n this.arrangeSlottedNavigationItem(this.menuOpen);\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n this.setToggleMenuFlyoutMenuVisibility = (menuOpen) => {\n var _a;\n const sideNav = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"#side-navigation\");\n const sideNavInner = sideNav.querySelector(\".side-navigation-inner\");\n const bottomWrapper = sideNav.querySelector(\".bottom-wrapper\");\n const menuVisibilityVisible = \"menu-visibility-visible\";\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n }\n else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n this.setMobileMenuAriaAttributes = (menuOpen) => {\n if (this.menuButton) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\"aria-label\", `${menuOpen ? \"Close\" : \"Open\"} navigation menu`);\n }\n };\n this.setAndRemoveNoWrapAfterMenuExpanded = () => {\n var _a;\n const appTitle = ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".title-link ic-typography\")) ||\n this.el.querySelector(\"[slot='app-title']\");\n appTitle === null || appTitle === void 0 ? void 0 : appTitle.classList.add(\"ic-typography-no-wrap\");\n setTimeout(() => {\n appTitle === null || appTitle === void 0 ? void 0 : appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n this.toggleMenuExpanded = (expanded) => {\n var _a, _b, _c, _d;\n if (this.deviceSize > DEVICE_SIZES.S) {\n this.menuExpanded = expanded;\n }\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".app-title-inner-wrapper\")) === null || _b === void 0 ? void 0 : _b.classList.add(\"app-title-show\");\n }\n else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n (_d = (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector(\".app-title-inner-wrapper\")) === null || _d === void 0 ? void 0 : _d.classList.remove(\"app-title-show\");\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n this.arrangeSlottedNavigationItem = (menuExpanded) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n var _a;\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot = navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n }\n else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot === null || navItemSlot === void 0 ? void 0 : navItemSlot.querySelector(\"svg\");\n const badge = navItemSlot === null || navItemSlot === void 0 ? void 0 : navItemSlot.querySelector(\"ic-badge\");\n const label = (_a = navItem.textContent) === null || _a === void 0 ? void 0 : _a.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\"ic-typography-label\", \"hydrated\", \"navigation-item-side-nav-slotted-text\");\n iconWrapper.style.position = \"relative\";\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n icon && iconWrapper.append(icon);\n badge && iconWrapper.append(badge);\n if (label) {\n icTypography.textContent = label;\n }\n if (navItemSlot) {\n navItemSlot.textContent = \"\";\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n }\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(!!menuExpanded, icTypography);\n }\n else {\n this.styleSlottedIconLabels(!!menuExpanded, icTypography);\n }\n }\n });\n };\n this.styleSlottedCollapsedIconLabels = (menuExpanded, icTypography) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n this.setExpandedButtonHeight = () => {\n var _a;\n const appStatusWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\");\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\"--sm-side-navigation-bottom-bar-height\", `${appStatusWrapper.offsetHeight}px`);\n }\n };\n this.styleSlottedIconLabels = (menuExpanded, icTypography) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n this.transitionHandler = (type) => {\n var _a, _b;\n const primaryNavigationWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".primary-navigation\");\n const secondaryNavigationWrapper = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(\".bottom-wrapper > .secondary-navigation\");\n const classToRemove = type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n const classToAdd = type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n this.transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n this.animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n this.paddingIconWidth = (navItems) => {\n const navItemLink = (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n if (navItemLink && navItemSVG) {\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n }\n return 0;\n };\n this.displayTooltipWithExpandedLongLabel = (menuExpanded) => {\n let timer;\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n navigationItems.forEach((navigationItem) => {\n var _a, _b;\n const icTypographyScrollWidth = ((_a = (navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\"ic-tooltip .link ic-typography.ic-typography-label\"))) === null || _a === void 0 ? void 0 : _a.scrollWidth) ||\n ((_b = navigationItem.querySelector(\"ic-typography.ic-typography-label\")) === null || _b === void 0 ? void 0 : _b.scrollWidth);\n if (icTypographyScrollWidth &&\n icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n });\n }, this.ANIMATION_DURATION);\n }\n else {\n clearTimeout(timer);\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n navigationItems.forEach((navigationItem) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n this.setMenuExpanded = (expanded) => {\n this.menuExpanded = expanded;\n };\n this.handleNavItemClicked = () => {\n if (!this.menuOpen &&\n this.deviceSize > DEVICE_SIZES.S &&\n this.menuExpanded) {\n setTimeout(() => {\n this.toggleMenuExpanded(false);\n }, 0);\n }\n };\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n this.setParentPaddingTop = (value) => {\n var _a;\n (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"padding-top\", value);\n };\n this.setParentPaddingLeft = (value) => {\n var _a;\n (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"padding-left\", value);\n };\n this.renderAppTitle = (isAppNameSubtitleVariant) => {\n const displayShortAppTitle = this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);\n return (h(\"ic-typography\", { variant: displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\", \"aria-label\": displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined }, h(\"h1\", null, displayShortAppTitle ? this.shortAppTitle : this.appTitle)));\n };\n this.resizeObserverCallback = (currSize) => {\n var _a, _b, _c, _d;\n this.deviceSize = currSize;\n const isSmallAndDisableTopBar = currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n if (!this.disableAutoParentStyling) {\n const topBarHeight = (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".top-bar\")) === null || _b === void 0 ? void 0 : _b.scrollHeight;\n this.setParentPaddingTop(isSmallAndDisableTopBar ? `${topBarHeight}px` : \"0\");\n if (isSmallAndDisableTopBar)\n this.setParentPaddingLeft(\"0\");\n if (isSmallAndDisableTopBar && this.inline) {\n (_c = this.el.parentElement) === null || _c === void 0 ? void 0 : _c.style.setProperty(\"height\", `calc(100% - ${topBarHeight}px)`);\n }\n else if (!isSmallAndDisableTopBar) {\n (_d = this.el.parentElement) === null || _d === void 0 ? void 0 : _d.style.setProperty(\"height\", \"100%\");\n }\n }\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"})`;\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n }\n else if ((currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.M &&\n this.static) {\n this.setParentPaddingLeft(paddingLeft);\n }\n else if ((currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.L) {\n this.setParentPaddingLeft(this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft);\n }\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n this.setCollapsedIconLabels = () => {\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n navigationItems.forEach((navigationItem) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n this.styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps = Array.from(this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\"));\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n var _a, _b;\n if ((_b = (_a = icTypography.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.classList.contains(\"navigation-item-side-nav-collapsed-with-label\")) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n this.renderTopBar = ({ isSDevice, foregroundColor, menuOpen, href, isAppNameSubtitleVariant, }) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n return (h(\"div\", { class: {\n \"top-bar\": true,\n [this.foregroundColor]: true,\n } }, isSDevice && (h(\"nav\", { \"aria-labelledby\": \"menu-navigation-toggle-button-landmark\", \"aria-hidden\": \"false\" }, h(\"ic-button\", { \"aria-label\": \"Open navigation menu\", class: \"menu-button\", id: \"menu-button\", variant: \"secondary\", size: \"small\", \"full-width\": \"true\", theme: foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\", monochrome: true, onClick: this.toggleMenu, ariaOwnsId: \"side-navigation\", \"aria-haspopup\": \"true\", \"aria-expanded\": \"false\", ref: (el) => (this.menuButton = el) }, h(\"span\", { class: \"mobile-top-bar-menu-icon\", slot: \"left-icon\", innerHTML: menuOpen ? closeIcon : menuIcon }), menuOpen ? \"Close\" : \"Menu\"), h(\"span\", { id: \"menu-navigation-toggle-button-landmark\", class: \"navigation-landmark-title\", \"aria-hidden\": \"true\" }, \"Navigation menu toggle button\"))), h(\"div\", { class: \"app-title-wrapper\" }, (hasTitle || isSlotUsed(this.el, \"app-title\")) && (h(Component, Object.assign({}, attrs, { class: \"title-link\" }), h(\"div\", { class: \"app-icon-container\", \"aria-hidden\": \"true\" }, h(\"slot\", { name: \"app-icon\" })), h(\"div\", { class: \"app-title-inner-wrapper\" }, isSlotUsed(this.el, \"app-title\") ? (h(\"slot\", { name: \"app-title\" })) : (this.renderAppTitle(isAppNameSubtitleVariant))))))));\n };\n }\n watchExpandedHandler() {\n this.toggleMenuExpanded(this.expanded);\n }\n componentWillLoad() {\n this.setMenuExpanded(this.expanded);\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n componentDidLoad() {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n this.setExpandedButtonHeight();\n if (this.closeOnNavItemClick) {\n this.el.addEventListener(\"navItemClicked\", this.handleNavItemClicked);\n }\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined([{ prop: this.appTitle, propName: \"app-title\" }], \"Side Navigation\");\n }\n disconnectedCallback() {\n var _a;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n (_a = this.el) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"transitionend\", this.transitionEndHandler);\n if (this.closeOnNavItemClick) {\n this.el.removeEventListener(\"navItemClicked\", this.handleNavItemClicked);\n }\n }\n brandChangeHandler({ detail }) {\n this.foregroundColor = detail.mode;\n }\n render() {\n const { appTitle, menuOpen, foregroundColor, menuExpanded, href, status, version, collapsedIconLabels, inline, } = this;\n const isSDevice = !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn = isMdDevice || this.disableTopBarBehaviour || (isLgDevice && !this.static);\n const topBarProps = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href: href,\n isAppNameSubtitleVariant,\n appTitle: appTitle || \"\",\n };\n return (h(Host, { key: '15fb26b6255c8577321c0d8f6229657e708743a2', class: {\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\": this.deviceSize > DEVICE_SIZES.S || !!this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]: !isSDevice && !menuExpanded && !!collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: !!inline,\n } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h(\"div\", { key: '7a61b9842b0178f2d278bba872b46f5e85f91ec6', class: \"side-navigation\", id: \"side-navigation\" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h(\"div\", { key: '17b4c931a5819104bc5d8895554e907775d17ede', class: \"side-navigation-inner\" }, isSlotUsed(this.el, \"primary-navigation\") && (h(\"nav\", { key: '02740005b1dbab60c1184d7c87365207fd23cfa4', class: \"primary-navigation\", \"aria-labelledby\": \"primary-navigation-landmark\" }, h(\"span\", { key: '5ab66ae81e990a476ea430149c45812d61054a25', \"aria-hidden\": \"true\", class: \"navigation-landmark-title\", id: \"primary-navigation-landmark\" }, \"Primary\"), h(\"ul\", { key: '4a0ce9df794e6a40d59b2445aaec4abc906b8534', class: \"navigation-list\" }, h(\"slot\", { key: 'a03aedf0f85e25ed693cfa07058e756f2e0e0445', name: \"primary-navigation\" }))))), h(\"div\", { key: 'bcf6f0da6c0f02bc284a786e5c667f9845bdbf8f', class: {\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n } }, isSlotUsed(this.el, \"secondary-navigation\") && (h(\"nav\", { key: 'dbef49a24d8e8d3001eea8d1c131a5a478a87c3d', class: \"secondary-navigation\", \"aria-labelledby\": \"secondary-navigation-landmark\" }, h(\"span\", { key: 'abab1109b3363bcc159364a392ab10930db86dbc', \"aria-hidden\": \"true\", class: \"navigation-landmark-title\", id: \"secondary-navigation-landmark\" }, \"Secondary\"), h(\"ul\", { key: 'b71571a5bad511452533ae01a6f875ad1ca70fa8', class: \"navigation-list\" }, h(\"slot\", { key: 'f889cc63a76aec21ab1897a426133907a2521153', name: \"secondary-navigation\" })))), h(\"div\", { key: '002dcfe1e4673ab9068ae841bdfb0ee95c2634db', class: \"bottom-side-nav\" }, this.hasSecondaryNavigation && h(\"ic-divider\", { key: 'bd87f4a2f9ddf55ed77b289eb82f3c0ceeed1ce7' }), displayExpandBtn && (h(\"button\", { key: '754ecc50a0ea7972e4f042e5316577b2e3e6b6f3', class: \"menu-expand-button\", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), \"aria-label\": `${menuExpanded ? \"Collapse\" : \"Expand\"} side navigation` })), h(\"div\", { key: '3c3060f672f549a905ff9ad13ea4ff1fdc23c97c', class: \"app-status-wrapper\" }, status !== \"\" && (h(\"div\", { key: '23cb48b7bf508a9d36b9185b9cb9af1576dfa048', class: {\n [\"app-status\"]: true,\n } }, h(\"ic-typography\", { key: '1128037e6b0438c727adac68a4ec50f8f3101ca9', \"aria-label\": \"app tag\", variant: \"label-uppercase\", class: \"app-status-text\" }, status))), version !== \"\" && (h(\"ic-typography\", { key: 'cc474438e8b625059dce3bf469010842ae2742ab', variant: \"label\", class: \"app-version\", \"aria-label\": \"app version\" }, version))))))));\n }\n static get is() { return \"ic-side-navigation\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-side-navigation.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-side-navigation.css\"]\n };\n }\n static get properties() {\n return {\n \"appTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The app title to be displayed. This is required, unless a slotted app title link is used.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"app-title\",\n \"reflect\": false\n },\n \"closeOnNavItemClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the side navigation will close when a navigation item is clicked. This behaviour is only applicable on larger device sizes.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"close-on-nav-item-click\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"collapsedIconLabels\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the icon and label will appear when side navigation is collapsed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"collapsed-icon-labels\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableAutoParentStyling\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, automatic parent wrapper styling will be disabled.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-auto-parent-styling\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableTopBarBehaviour\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the side navigation will not display as a top bar on small devices.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-top-bar-behaviour\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the side navigation will display in an expanded state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the app title link points to.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"/\\\"\"\n },\n \"inline\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, side navigation will be contained by its parent element.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"inline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"shortAppTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The short title of the app to be displayed at small screen sizes in place of the app title.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"short-app-title\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"static\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"static\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status of the app to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"status\",\n \"reflect\": false\n },\n \"version\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The version of the app to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"version\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"deviceSizeAppTitle\": {},\n \"foregroundColor\": {},\n \"hasSecondaryNavigation\": {},\n \"menuExpanded\": {},\n \"menuOpen\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icSideNavExpanded\",\n \"name\": \"icSideNavExpanded\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the side navigation is collapsed and expanded.\"\n },\n \"complexType\": {\n \"original\": \"IcExpandedDetail\",\n \"resolved\": \"IcExpandedDetail\",\n \"references\": {\n \"IcExpandedDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-side-navigation.types\",\n \"id\": \"src/components/ic-side-navigation/ic-side-navigation.types.ts::IcExpandedDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"watchExpandedHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-side-navigation.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,H as e,g as s}from"./p-8e4e97b4.js";import{T as o,m as r,f as a,I as l}from"./p-eca2fea1.js";const n=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const c=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.ic-horizontal-scroll-light){--splitter-color:var(--ic-color-keyline-lighten)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-color-keyline-darken)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.ic-horizontal-scroll-visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}:host(.ic-horizontal-scroll-dark) .disabled ic-button>svg,:host(.ic-horizontal-scroll-light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=h;const b=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.firstItemVisible=true;this.itemOverflow=false;this.lastItemVisible=false;this.appearance="default";this.monochrome=false;this.theme="inherit";this.focusTrigger="focus";this.focusHandler=t=>{this.itemFocusHandler(Array.from(this.items).indexOf(t.target))};this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,b)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,b)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,b)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,b)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false}}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener(this.focusTrigger,this.focusHandler)}}))}componentDidLoad(){var t;let i=0;this.itemOffsets=this.items.map((t=>{i+=t.offsetWidth;return i}));a(this.runResizeObserver);const e=Array.from(((t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("div"))||[]);["mouseup","mouseleave"].forEach((t=>{e.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){var t,i,e;if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const s=Array.from(((t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("div"))||[]);["mouseup","mouseleave"].forEach((t=>{s.forEach((i=>i.removeEventListener(t,this.arrowMouseUpHandler)))}));(i=this.items)===null||i===void 0?void 0:i.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));(e=this.itemsContainerEl)===null||e===void 0?void 0:e.removeEventListener("scroll",this.scrollHandler)}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}render(){const{firstItemVisible:t,lastItemVisible:s,itemOverflow:o}=this;return i(e,{key:"329d00bc4e7ebfab434cb41dd32e919820c5adb5",class:{["ic-horizontal-scroll-visible"]:o,["ic-horizontal-scroll-dark"]:this.appearance===l.Dark,["ic-horizontal-scroll-light"]:this.appearance===l.Light,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"ed231bf1fcd68399e29e790026b377bf8f96a14e","aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!o,["disabled"]:t},role:"tab"},i("ic-button",{key:"c34f45cb44e242939985f792a21e482a11078fba",class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll left",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:n,disabled:t,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{key:"c5b52e4cfa655f8dc499e69da531870f4e4fe216",class:"scroll-splitter-left"})),i("slot",{key:"8478dc63668ed2e842182c47e9a3b27b77ac642f"}),i("div",{key:"b9b0e21e69a40f7afda403db3db8b983257240c0","aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!o,["disabled"]:s},role:"tab"},i("span",{key:"909936dddf54502bb1bdc3fdfdf36d59b5582238",class:"scroll-splitter-right"}),i("ic-button",{key:"4e9093a9da1b3e387933dfc2495f1279bb7ad180",class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll right",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:c,disabled:s,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=d;export{p as ic_horizontal_scroll};
2
- //# sourceMappingURL=p-fb1fce87.entry.js.map
1
+ import{r as t,h as i,H as e,g as s}from"./p-8e4e97b4.js";import{T as o,m as r,f as a,I as l}from"./p-eca2fea1.js";const n=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const c=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.ic-horizontal-scroll-light){--splitter-color:var(--ic-color-keyline-lighten)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-color-keyline-darken)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.ic-horizontal-scroll-visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}:host(.ic-horizontal-scroll-dark) .disabled ic-button>svg,:host(.ic-horizontal-scroll-light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=h;const b=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.firstItemVisible=true;this.itemOverflow=false;this.lastItemVisible=false;this.appearance="default";this.monochrome=false;this.theme="inherit";this.focusTrigger="focus";this.focusHandler=t=>{this.itemFocusHandler(Array.from(this.items).indexOf(t.target))};this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,b)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,b)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,b)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,b)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false}}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener(this.focusTrigger,this.focusHandler)}}))}componentDidLoad(){var t;let i=0;this.itemOffsets=this.items.map((t=>{i+=t.offsetWidth;return i}));a(this.runResizeObserver);const e=Array.from(((t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("div"))||[]);["mouseup","mouseleave"].forEach((t=>{e.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){var t,i,e;if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const s=Array.from(((t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("div"))||[]);["mouseup","mouseleave"].forEach((t=>{s.forEach((i=>i.removeEventListener(t,this.arrowMouseUpHandler)))}));(i=this.items)===null||i===void 0?void 0:i.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));(e=this.itemsContainerEl)===null||e===void 0?void 0:e.removeEventListener("scroll",this.scrollHandler)}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}render(){const{firstItemVisible:t,lastItemVisible:s,itemOverflow:o}=this;return i(e,{key:"263be65dcc0cb0a113e7dd92a8b12c440b9867ea",class:{["ic-horizontal-scroll-visible"]:o,["ic-horizontal-scroll-dark"]:this.appearance===l.Dark,["ic-horizontal-scroll-light"]:this.appearance===l.Light,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"2250a0f96500b700454e012e2a918e2ace6a6f68","aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!o,["disabled"]:t},role:"tab"},i("ic-button",{key:"d55b6d37d7e9a9eea918def18aea64060db6c2ba",class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll left",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:n,disabled:t,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{key:"14d21b70c82e36f64cf383dc8371227b3e504312",class:"scroll-splitter-left"})),i("slot",{key:"a40cc561072ffcb5aacb27b10b815ec92f3f7ded"}),i("div",{key:"212d94aca6d135dfff9664e69ec9eab42ae7ca56","aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!o,["disabled"]:s},role:"tab"},i("span",{key:"bd5e6c2dc94e2cebe6e9459de52e615982048a27",class:"scroll-splitter-right"}),i("ic-button",{key:"be8f57d173b04cca06d0654054bb3451a6f40c70",class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll right",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:c,disabled:s,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=d;export{p as ic_horizontal_scroll};
2
+ //# sourceMappingURL=p-29a49ea2.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icHorizontalScrollCss","IcHorizontalScrollStyle0","SCROLL_DELAY_MS","HorizontalScroll","constructor","hostRef","this","buttonStateSet","firstItemVisible","itemOverflow","lastItemVisible","appearance","monochrome","theme","focusTrigger","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","elementOverflowsX","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","_a","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","_b","_c","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","h","Host","key","class","IcBrandForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import { h, Host, } from \"@stencil/core\";\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\nconst SCROLL_DELAY_MS = 200;\nexport class HorizontalScroll {\n constructor() {\n this.buttonStateSet = false;\n this.firstItemVisible = true;\n this.itemOverflow = false;\n this.lastItemVisible = false;\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n this.appearance = \"default\";\n /** @internal Determines whether black variant of the tabs should be displayed. */\n this.monochrome = false;\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n this.focusTrigger = \"focus\";\n this.focusHandler = (event) => {\n this.itemFocusHandler(Array.from(this.items).indexOf(event.target));\n };\n this.resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n }\n else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n this.scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n this.scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n this.longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.leftArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.rightArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n this.getCurrentLeftItem = () => {\n const index = this.itemOffsets.findIndex((el) => el > Math.round(this.itemsContainerEl.scrollLeft));\n return index < 0 ? 0 : index;\n };\n this.scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n this.scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n }\n componentWillLoad() {\n this.itemsContainerEl = this.el.children[0];\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl);\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n componentDidLoad() {\n var _a;\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"div\")) || []);\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.addEventListener(event, this.arrowMouseUpHandler));\n });\n }\n disconnectedCallback() {\n var _a, _b, _c;\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n const scrollArrows = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"div\")) || []);\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.removeEventListener(event, this.arrowMouseUpHandler));\n });\n (_b = this.items) === null || _b === void 0 ? void 0 : _b.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n (_c = this.itemsContainerEl) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"scroll\", this.scrollHandler);\n }\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n async scrollItemIntoView(itemPosition) {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos = itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n itemFocusHandler(itemPosition) {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n return (h(Host, { key: '329d00bc4e7ebfab434cb41dd32e919820c5adb5', class: {\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]: this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]: this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { key: 'ed231bf1fcd68399e29e790026b377bf8f96a14e', \"aria-hidden\": \"true\", class: {\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }, role: \"tab\" }, h(\"ic-button\", { key: 'c34f45cb44e242939985f792a21e482a11078fba', class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll left\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: \"-1\", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h(\"span\", { key: 'c5b52e4cfa655f8dc499e69da531870f4e4fe216', class: \"scroll-splitter-left\" })), h(\"slot\", { key: '8478dc63668ed2e842182c47e9a3b27b77ac642f' }), h(\"div\", { key: 'b9b0e21e69a40f7afda403db3db8b983257240c0', \"aria-hidden\": \"true\", class: {\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }, role: \"tab\" }, h(\"span\", { key: '909936dddf54502bb1bdc3fdfdf36d59b5582238', class: \"scroll-splitter-right\" }), h(\"ic-button\", { key: '4e9093a9da1b3e387933dfc2495f1279bb7ad180', class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll right\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: \"-1\", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));\n }\n static get is() { return \"ic-horizontal-scroll\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"./ic-horizontal-scroll.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-horizontal-scroll.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBrandForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcBrandForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrandForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the horizontal scroll, e.g. dark, light or the default.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Determines whether black variant of the tabs should be displayed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"focusTrigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The name of the event that triggers focus handler logic.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"focus-trigger\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"focus\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"firstItemVisible\": {},\n \"itemOverflow\": {},\n \"lastItemVisible\": {}\n };\n }\n static get methods() {\n return {\n \"scrollItemIntoView\": {\n \"complexType\": {\n \"signature\": \"(itemPosition: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemPosition\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"if side scrolling enabled, scrolls the specified item into view.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-horizontal-scroll.js.map\n"],"mappings":"giBAAA,MAAMA,EAAwB,y6HAC9B,MAAAC,EAAeD,ECKf,MAAME,EAAkB,I,MACXC,EAAgB,MACzB,WAAAC,CAAAC,G,UACIC,KAAKC,eAAiB,MACtBD,KAAKE,iBAAmB,KACxBF,KAAKG,aAAe,MACpBH,KAAKI,gBAAkB,MAIvBJ,KAAKK,WAAa,UAElBL,KAAKM,WAAa,MAIlBN,KAAKO,MAAQ,UAIbP,KAAKQ,aAAe,QACpBR,KAAKS,aAAgBC,IACjBV,KAAKW,iBAAiBC,MAAMC,KAAKb,KAAKc,OAAOC,QAAQL,EAAMM,QAAQ,EAEvEhB,KAAKiB,uBAAyB,KAC1B,GAAIjB,KAAKkB,GAAGC,aAAenB,KAAKoB,iBAAiBC,YAAa,CAC1DrB,KAAKG,aAAe,K,KAEnB,CACDH,KAAKG,aAAemB,EAAkBtB,KAAKoB,iB,CAE/C,GAAIpB,KAAKG,aAAc,CACnBH,KAAKI,gBACDJ,KAAKoB,iBAAiBG,YAAcvB,KAAKoB,iBAAiBI,YACtDxB,KAAKoB,iBAAiBC,W,GAGtCrB,KAAKyB,kBAAoB,KACrBzB,KAAK0B,eAAiB,IAAIC,gBAAe,KACrC3B,KAAKiB,wBAAwB,IAEjCjB,KAAK0B,eAAeE,QAAQ5B,KAAKoB,iBAAiB,EAEtDpB,KAAKwB,WAAa,KACdxB,KAAK6B,mBAAmB7B,KAAK8B,qBAAuB,EAAE,EAE1D9B,KAAK+B,YAAc,KACf/B,KAAK6B,mBAAmB7B,KAAK8B,qBAAuB,EAAE,EAE1D9B,KAAKgC,gBAAkB,KACnBhC,KAAK+B,cACL/B,KAAKiC,YAAcC,OAAOC,WAAWnC,KAAKgC,gBAAiBpC,EAAgB,EAE/EI,KAAKoC,eAAiB,KAClBpC,KAAKwB,aACLxB,KAAKiC,YAAcC,OAAOC,WAAWnC,KAAKoC,eAAgBxC,EAAgB,EAE9EI,KAAKqC,0BAA6BC,IAC9BA,EAAEC,iBACFvC,KAAKiC,YAAcC,OAAOC,WAAWnC,KAAKoC,eAAgBxC,EAAgB,EAE9EI,KAAKwC,2BAA8BF,IAC/BA,EAAEC,iBACFvC,KAAKiC,YAAcC,OAAOC,WAAWnC,KAAKgC,gBAAiBpC,EAAgB,EAE/EI,KAAKyC,oBAAsB,KACvBP,OAAOQ,aAAa1C,KAAKiC,YAAY,EAEzCjC,KAAK8B,mBAAqB,KACtB,MAAMa,EAAQ3C,KAAK4C,YAAYC,WAAW3B,GAAOA,EAAK4B,KAAKC,MAAM/C,KAAKoB,iBAAiBI,cACvF,OAAOmB,EAAQ,EAAI,EAAIA,CAAK,EAEhC3C,KAAKgD,cAAgB,KACjBd,OAAOQ,aAAa1C,KAAKiD,aAEzBjD,KAAKiD,YAAcf,OAAOC,WAAWnC,KAAKkD,cAAe,GAAG,EAEhElD,KAAKkD,cAAgB,KAGjB,MAAM1B,EAAasB,KAAKC,MAAM/C,KAAKoB,iBAAiBI,YACpD,GAAIxB,KAAKC,iBAAmB,MAAO,CAC/BD,KAAKE,iBAAmBsB,IAAe,EACvCxB,KAAKI,gBACDJ,KAAKoB,iBAAiBG,YAAcC,GAChCxB,KAAKoB,iBAAiBC,W,CAElCrB,KAAKC,eAAiB,KAAK,C,CAGnC,iBAAAkD,GACInD,KAAKoB,iBAAmBpB,KAAKkB,GAAGkC,SAAS,GACzCpD,KAAKoB,iBAAiBiC,iBAAiB,SAAUrD,KAAKgD,eACtDhD,KAAKc,MAAQwC,EAAgBtD,KAAKoB,kBAClCpB,KAAKc,MAAMyC,SAASC,IAChB,GAAIA,EAAKH,iBAAkB,CACvBG,EAAKH,iBAAiBrD,KAAKQ,aAAcR,KAAKS,a,KAI1D,gBAAAgD,GACI,IAAIC,EACJ,IAAIC,EAAe,EACnB3D,KAAK4C,YAAc5C,KAAKc,MAAM8C,KAAKJ,IAC/BG,GAAgBH,EAAKjC,YACrB,OAAOoC,CAAY,IAEvBE,EAAoB7D,KAAKyB,mBAIzB,MAAMqC,EAAelD,MAAMC,OAAO6C,EAAK1D,KAAKkB,GAAG6C,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGM,iBAAiB,SAAW,IAC/H,CAAC,UAAW,cAAcT,SAAS7C,IAC/BoD,EAAaP,SAASU,GAAUA,EAAMZ,iBAAiB3C,EAAOV,KAAKyC,sBAAqB,G,CAGhG,oBAAAyB,GACI,IAAIR,EAAIS,EAAIC,EACZ,GAAIpE,KAAK0B,iBAAmB2C,UAAW,CACnCrE,KAAK0B,eAAe4C,Y,CAExB,MAAMR,EAAelD,MAAMC,OAAO6C,EAAK1D,KAAKkB,GAAG6C,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGM,iBAAiB,SAAW,IAC/H,CAAC,UAAW,cAAcT,SAAS7C,IAC/BoD,EAAaP,SAASU,GAAUA,EAAMM,oBAAoB7D,EAAOV,KAAKyC,sBAAqB,KAE9F0B,EAAKnE,KAAKc,SAAW,MAAQqD,SAAY,OAAS,EAAIA,EAAGZ,SAASC,IAC/D,GAAIA,EAAKe,oBAAqB,CAC1Bf,EAAKe,oBAAoBvE,KAAKQ,aAAcR,KAAKS,a,MAGxD2D,EAAKpE,KAAKoB,oBAAsB,MAAQgD,SAAY,OAAS,EAAIA,EAAGG,oBAAoB,SAAUvE,KAAKgD,c,CAK5G,wBAAMnB,CAAmB2C,GACrBxE,KAAKE,iBAAmBsE,GAAgB,EACxC,MAAMC,EAAeD,GAAgB,EAAI,EAAIxE,KAAK4C,YAAY4B,EAAe,GAC7ExE,KAAKI,gBACDJ,KAAKoB,iBAAiBG,YAAckD,GAChCzE,KAAKoB,iBAAiBC,YAC9BrB,KAAKC,eAAiB,KACtBD,KAAKoB,iBAAiBI,WAAaiD,C,CAEvC,gBAAA9D,CAAiB6D,GACb,GAAIxE,KAAKG,aAAc,CACnBH,KAAK6B,mBAAmB2C,E,EAGhC,MAAAE,GACI,MAAMxE,iBAAEA,EAAgBE,gBAAEA,EAAeD,aAAEA,GAAiBH,KAC5D,OAAQ2E,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAO,CAClE,CAAC,gCAAiC3E,EAClC,CAAC,6BAA8BH,KAAKK,aAAe0E,EAAsBC,KACzE,CAAC,8BAA+BhF,KAAKK,aAAe0E,EAAsBE,MAC1E,CAAC,YAAYjF,KAAKO,SAAUP,KAAKO,QAAU,YAC1CoE,EAAE,MAAO,CAAEE,IAAK,2CAA4C,cAAe,OAAQC,MAAO,CAC3F,CAAC,yBAA0B,KAC3B,CAAC,WAAY3E,EACb,CAAC,YAAaD,GACfgF,KAAM,OAASP,EAAE,YAAa,CAAEE,IAAK,2CAA4CC,MAAO,eAAgBK,QAAS,gBAAiB,aAAc,cAAe5E,MAAOP,KAAKO,QAAU,SAAWP,KAAKO,QAAU,UAC5M,OACA,QAASD,WAAYN,KAAKM,WAAY8E,UAAWC,EAAWC,SAAUpF,EAAkBqF,SAAU,KAAMC,QAASxF,KAAKwB,WAAYiE,YAAazF,KAAKqC,4BAA8BsC,EAAE,OAAQ,CAAEE,IAAK,2CAA4CC,MAAO,0BAA4BH,EAAE,OAAQ,CAAEE,IAAK,6CAA+CF,EAAE,MAAO,CAAEE,IAAK,2CAA4C,cAAe,OAAQC,MAAO,CAC9a,CAAC,0BAA2B,KAC5B,CAAC,WAAY3E,EACb,CAAC,YAAaC,GACf8E,KAAM,OAASP,EAAE,OAAQ,CAAEE,IAAK,2CAA4CC,MAAO,0BAA4BH,EAAE,YAAa,CAAEE,IAAK,2CAA4CC,MAAO,eAAgBK,QAAS,gBAAiB,aAAc,eAAgB5E,MAAOP,KAAKO,QAAU,SAAWP,KAAKO,QAAU,UAC7S,OACA,QAASD,WAAYN,KAAKM,WAAY8E,UAAWM,EAAYJ,SAAUlF,EAAiBmF,SAAU,KAAMC,QAASxF,KAAK+B,YAAa0D,YAAazF,KAAKwC,8B","ignoreList":[]}
1
+ {"version":3,"names":["icHorizontalScrollCss","IcHorizontalScrollStyle0","SCROLL_DELAY_MS","HorizontalScroll","constructor","hostRef","this","buttonStateSet","firstItemVisible","itemOverflow","lastItemVisible","appearance","monochrome","theme","focusTrigger","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","elementOverflowsX","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","_a","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","_b","_c","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","h","Host","key","class","IcBrandForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import { h, Host, } from \"@stencil/core\";\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\nconst SCROLL_DELAY_MS = 200;\nexport class HorizontalScroll {\n constructor() {\n this.buttonStateSet = false;\n this.firstItemVisible = true;\n this.itemOverflow = false;\n this.lastItemVisible = false;\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n this.appearance = \"default\";\n /** @internal Determines whether black variant of the tabs should be displayed. */\n this.monochrome = false;\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n this.focusTrigger = \"focus\";\n this.focusHandler = (event) => {\n this.itemFocusHandler(Array.from(this.items).indexOf(event.target));\n };\n this.resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n }\n else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n this.scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n this.scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n this.longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.leftArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.rightArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n this.getCurrentLeftItem = () => {\n const index = this.itemOffsets.findIndex((el) => el > Math.round(this.itemsContainerEl.scrollLeft));\n return index < 0 ? 0 : index;\n };\n this.scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n this.scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n }\n componentWillLoad() {\n this.itemsContainerEl = this.el.children[0];\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl);\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n componentDidLoad() {\n var _a;\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"div\")) || []);\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.addEventListener(event, this.arrowMouseUpHandler));\n });\n }\n disconnectedCallback() {\n var _a, _b, _c;\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n const scrollArrows = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"div\")) || []);\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.removeEventListener(event, this.arrowMouseUpHandler));\n });\n (_b = this.items) === null || _b === void 0 ? void 0 : _b.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n (_c = this.itemsContainerEl) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"scroll\", this.scrollHandler);\n }\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n async scrollItemIntoView(itemPosition) {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos = itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n itemFocusHandler(itemPosition) {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n return (h(Host, { key: '263be65dcc0cb0a113e7dd92a8b12c440b9867ea', class: {\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]: this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]: this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { key: '2250a0f96500b700454e012e2a918e2ace6a6f68', \"aria-hidden\": \"true\", class: {\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }, role: \"tab\" }, h(\"ic-button\", { key: 'd55b6d37d7e9a9eea918def18aea64060db6c2ba', class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll left\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: \"-1\", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h(\"span\", { key: '14d21b70c82e36f64cf383dc8371227b3e504312', class: \"scroll-splitter-left\" })), h(\"slot\", { key: 'a40cc561072ffcb5aacb27b10b815ec92f3f7ded' }), h(\"div\", { key: '212d94aca6d135dfff9664e69ec9eab42ae7ca56', \"aria-hidden\": \"true\", class: {\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }, role: \"tab\" }, h(\"span\", { key: 'bd5e6c2dc94e2cebe6e9459de52e615982048a27', class: \"scroll-splitter-right\" }), h(\"ic-button\", { key: 'be8f57d173b04cca06d0654054bb3451a6f40c70', class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll right\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: \"-1\", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));\n }\n static get is() { return \"ic-horizontal-scroll\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"./ic-horizontal-scroll.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-horizontal-scroll.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBrandForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcBrandForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrandForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the horizontal scroll, e.g. dark, light or the default.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Determines whether black variant of the tabs should be displayed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"focusTrigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The name of the event that triggers focus handler logic.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"focus-trigger\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"focus\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"firstItemVisible\": {},\n \"itemOverflow\": {},\n \"lastItemVisible\": {}\n };\n }\n static get methods() {\n return {\n \"scrollItemIntoView\": {\n \"complexType\": {\n \"signature\": \"(itemPosition: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemPosition\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"if side scrolling enabled, scrolls the specified item into view.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-horizontal-scroll.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"62b7b3babe269d227c3225faedd4505935ccecb8"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
2
- //# sourceMappingURL=p-bc2ca778.entry.js.map
1
+ import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"308c198fe6530957868154b0e7edb1a977629bca"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
2
+ //# sourceMappingURL=p-3cb4ecef.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","activationType","contextId","monochrome","theme","linkTabs","tabs","forEach","tab","index","tabId","tabPanelId","setAttribute","tabPosition","tabPanels","tabGroup","getChildren","_a","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","active","disabled","_b","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n this.contextId = \"default\";\n /**\n * If `true`, the tabs will display as black in the light theme.\n */\n this.monochrome = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n if (this.contextId) {\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup &&\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n }\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup && (this.tabGroup.theme = this.theme);\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n var _a;\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(((_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-tab\")) || []);\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab || 0].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.active = index === this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n var _a, _b;\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: ((_b = (_a = this.el.querySelectorAll(\"ic-tab\")[newIndex]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) ||\n \"\",\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup && (this.tabGroup.monochrome = this.monochrome);\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup && (this.tabGroup.theme = this.theme);\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup &&\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n var _a, _b;\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: ((_b = (_a = this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || \"\",\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.selectedTab &&\n (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab]))\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.selectedTab &&\n this.tabs[this.selectedTab] &&\n this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus && this.selectedTab) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: '62b7b3babe269d227c3225faedd4505935ccecb8' });\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","activationType","contextId","monochrome","theme","linkTabs","tabs","forEach","tab","index","tabId","tabPanelId","setAttribute","tabPosition","tabPanels","tabGroup","getChildren","_a","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","active","disabled","_b","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n this.contextId = \"default\";\n /**\n * If `true`, the tabs will display as black in the light theme.\n */\n this.monochrome = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n if (this.contextId) {\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup &&\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n }\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup && (this.tabGroup.theme = this.theme);\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n var _a;\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(((_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-tab\")) || []);\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab || 0].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.active = index === this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n var _a, _b;\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: ((_b = (_a = this.el.querySelectorAll(\"ic-tab\")[newIndex]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) ||\n \"\",\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup && (this.tabGroup.monochrome = this.monochrome);\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup && (this.tabGroup.theme = this.theme);\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup &&\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n var _a, _b;\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: ((_b = (_a = this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || \"\",\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.selectedTab &&\n (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab]))\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.selectedTab &&\n this.tabs[this.selectedTab] &&\n this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus && this.selectedTab) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: '308c198fe6530957868154b0e7edb1a977629bca' });\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as t,H as r}from"./p-8e4e97b4.js";import{b as e}from"./p-eca2fea1.js";const a=":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}:host ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider)}:host(.ic-tab-group-monochrome) ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider-monochrome)}";const c=a;const i=class{constructor(t){o(this,t);this.inline=false;this.monochrome=false;this.theme="inherit"}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{inline:o,theme:e,label:a,monochrome:c}=this;return t(r,{key:"843cb9e2c3bf88635d7721ce01d0fbcac8c0f774",role:"tablist","aria-label":a,class:{["ic-tab-group-inline"]:!!o,[`ic-theme-${e}`]:e!=="inherit",["ic-tab-group-monochrome"]:!!c}},t("ic-horizontal-scroll",{key:"3e65658082dfa15c4249b942a4231402b9b20856",theme:e,"focus-trigger":"tabFocus",monochrome:c},t("div",{key:"579c86d070a566e752c102195b8d13de7bdd0ac9",class:"tabs-container"},t("slot",{key:"c5d14fa4615b470d8aa01b567667768427f20e50"}))))}static get delegatesFocus(){return true}};i.style=c;export{i as ic_tab_group};
2
+ //# sourceMappingURL=p-4444e787.entry.js.map