@ukic/canary-web-components 3.0.0-canary.1 → 3.0.0-canary.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (522) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-button_3.cjs.entry.js +16 -15
  11. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-chip.cjs.entry.js +20 -13
  21. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-table.cjs.entry.js +8 -6
  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-input.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-empty-state_2.cjs.entry.js +15 -9
  35. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +3 -3
  45. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination_4.cjs.entry.js +6 -6
  63. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-popover-menu.cjs.entry.js +19 -13
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-group.cjs.entry.js +18 -8
  67. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -24
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-select-with-multi.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +3 -4
  81. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-stepper.cjs.entry.js +11 -1
  83. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +58 -122
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  89. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab.cjs.entry.js +5 -6
  91. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  93. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  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-item.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-typography.cjs.entry.js +4 -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-card-horizontal/ic-card-horizontal.css +8 -8
  104. package/dist/collection/components/ic-data-table/ic-data-table.css +20 -4
  105. package/dist/collection/components/ic-data-table/ic-data-table.js +11 -9
  106. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  107. package/dist/collection/components/ic-data-table/story-data.js +46 -5
  108. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  109. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +3 -3
  110. package/dist/collection/components/ic-date-input/ic-date-input.css +3 -3
  111. package/dist/collection/components/ic-date-picker/ic-date-picker.css +6 -6
  112. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +9 -9
  113. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +46 -14
  114. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  115. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  116. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  117. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +20 -2
  118. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  119. package/dist/collection/components/ic-select-with-multi/ic-select.css +7 -7
  120. package/dist/collection/components/ic-tree-item/ic-tree-item.css +2 -2
  121. package/dist/components/ic-accordion.js +1 -1
  122. package/dist/components/ic-accordion.js.map +1 -1
  123. package/dist/components/ic-alert.js +1 -1
  124. package/dist/components/ic-alert.js.map +1 -1
  125. package/dist/components/ic-badge.js +1 -1
  126. package/dist/components/ic-badge.js.map +1 -1
  127. package/dist/components/ic-breadcrumb2.js +1 -1
  128. package/dist/components/ic-breadcrumb2.js.map +1 -1
  129. package/dist/components/ic-button2.js +6 -7
  130. package/dist/components/ic-button2.js.map +1 -1
  131. package/dist/components/ic-card-horizontal.js +1 -1
  132. package/dist/components/ic-card-horizontal.js.map +1 -1
  133. package/dist/components/ic-card-vertical.js +1 -1
  134. package/dist/components/ic-card-vertical.js.map +1 -1
  135. package/dist/components/ic-checkbox-group.js +1 -1
  136. package/dist/components/ic-checkbox-group.js.map +1 -1
  137. package/dist/components/ic-checkbox.js +1 -1
  138. package/dist/components/ic-checkbox.js.map +1 -1
  139. package/dist/components/ic-chip.js +23 -14
  140. package/dist/components/ic-chip.js.map +1 -1
  141. package/dist/components/ic-classification-banner.js +1 -1
  142. package/dist/components/ic-classification-banner.js.map +1 -1
  143. package/dist/components/ic-data-table-title-bar.js +1 -1
  144. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  145. package/dist/components/ic-data-table.js +8 -6
  146. package/dist/components/ic-data-table.js.map +1 -1
  147. package/dist/components/ic-date-input2.js +1 -1
  148. package/dist/components/ic-date-input2.js.map +1 -1
  149. package/dist/components/ic-date-picker.js +1 -1
  150. package/dist/components/ic-date-picker.js.map +1 -1
  151. package/dist/components/ic-divider2.js +1 -1
  152. package/dist/components/ic-divider2.js.map +1 -1
  153. package/dist/components/ic-footer-link-group.js +1 -1
  154. package/dist/components/ic-footer-link-group.js.map +1 -1
  155. package/dist/components/ic-footer-link.js +1 -1
  156. package/dist/components/ic-footer-link.js.map +1 -1
  157. package/dist/components/ic-footer.js +1 -1
  158. package/dist/components/ic-footer.js.map +1 -1
  159. package/dist/components/ic-horizontal-scroll2.js +1 -1
  160. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  161. package/dist/components/ic-input-component-container2.js +1 -1
  162. package/dist/components/ic-input-component-container2.js.map +1 -1
  163. package/dist/components/ic-input-label2.js +1 -1
  164. package/dist/components/ic-input-label2.js.map +1 -1
  165. package/dist/components/ic-input-validation2.js +1 -1
  166. package/dist/components/ic-input-validation2.js.map +1 -1
  167. package/dist/components/ic-link2.js +1 -1
  168. package/dist/components/ic-link2.js.map +1 -1
  169. package/dist/components/ic-loading-indicator2.js +11 -9
  170. package/dist/components/ic-loading-indicator2.js.map +1 -1
  171. package/dist/components/ic-menu-group.js +1 -1
  172. package/dist/components/ic-menu-group.js.map +1 -1
  173. package/dist/components/ic-menu-item2.js +1 -1
  174. package/dist/components/ic-menu-item2.js.map +1 -1
  175. package/dist/components/ic-menu2.js +1 -1
  176. package/dist/components/ic-menu2.js.map +1 -1
  177. package/dist/components/ic-menu3.js +1 -1
  178. package/dist/components/ic-menu3.js.map +1 -1
  179. package/dist/components/ic-navigation-group.js +1 -1
  180. package/dist/components/ic-navigation-group.js.map +1 -1
  181. package/dist/components/ic-navigation-item.js +1 -1
  182. package/dist/components/ic-navigation-item.js.map +1 -1
  183. package/dist/components/ic-navigation-menu2.js +1 -1
  184. package/dist/components/ic-navigation-menu2.js.map +1 -1
  185. package/dist/components/ic-pagination-bar2.js +18 -10
  186. package/dist/components/ic-pagination-bar2.js.map +1 -1
  187. package/dist/components/ic-pagination-item2.js +1 -1
  188. package/dist/components/ic-pagination-item2.js.map +1 -1
  189. package/dist/components/ic-popover-menu.js +21 -14
  190. package/dist/components/ic-popover-menu.js.map +1 -1
  191. package/dist/components/ic-radio-group.js +18 -8
  192. package/dist/components/ic-radio-group.js.map +1 -1
  193. package/dist/components/ic-radio-option.js +1 -1
  194. package/dist/components/ic-radio-option.js.map +1 -1
  195. package/dist/components/ic-search-bar.js +11 -24
  196. package/dist/components/ic-search-bar.js.map +1 -1
  197. package/dist/components/ic-select-with-multi.js +1 -1
  198. package/dist/components/ic-select-with-multi.js.map +1 -1
  199. package/dist/components/ic-select2.js +3 -3
  200. package/dist/components/ic-select2.js.map +1 -1
  201. package/dist/components/ic-side-navigation.js +1 -1
  202. package/dist/components/ic-side-navigation.js.map +1 -1
  203. package/dist/components/ic-skeleton.js +5 -5
  204. package/dist/components/ic-skeleton.js.map +1 -1
  205. package/dist/components/ic-status-tag.js +1 -1
  206. package/dist/components/ic-status-tag.js.map +1 -1
  207. package/dist/components/ic-step.js +4 -4
  208. package/dist/components/ic-step.js.map +1 -1
  209. package/dist/components/ic-stepper.js +13 -2
  210. package/dist/components/ic-stepper.js.map +1 -1
  211. package/dist/components/ic-switch.js +1 -1
  212. package/dist/components/ic-switch.js.map +1 -1
  213. package/dist/components/ic-tab-context.js +58 -122
  214. package/dist/components/ic-tab-context.js.map +1 -1
  215. package/dist/components/ic-tab-panel.js +1 -1
  216. package/dist/components/ic-tab-panel.js.map +1 -1
  217. package/dist/components/ic-tab.js +5 -6
  218. package/dist/components/ic-tab.js.map +1 -1
  219. package/dist/components/ic-text-field2.js +2 -2
  220. package/dist/components/ic-text-field2.js.map +1 -1
  221. package/dist/components/ic-toast.js +2 -2
  222. package/dist/components/ic-toast.js.map +1 -1
  223. package/dist/components/ic-toggle-button.js +1 -1
  224. package/dist/components/ic-toggle-button.js.map +1 -1
  225. package/dist/components/ic-tooltip2.js +1 -1
  226. package/dist/components/ic-tooltip2.js.map +1 -1
  227. package/dist/components/ic-top-navigation.js +1 -1
  228. package/dist/components/ic-top-navigation.js.map +1 -1
  229. package/dist/components/ic-tree-item.js +1 -1
  230. package/dist/components/ic-tree-item.js.map +1 -1
  231. package/dist/components/ic-typography2.js +4 -2
  232. package/dist/components/ic-typography2.js.map +1 -1
  233. package/dist/core/core.css +91 -37
  234. package/dist/core/core.esm.js +1 -1
  235. package/dist/core/core.esm.js.map +1 -1
  236. package/dist/core/p-0894cab1.entry.js +2 -0
  237. package/dist/core/p-0894cab1.entry.js.map +1 -0
  238. package/dist/core/{p-266341f5.entry.js → p-0ab10600.entry.js} +2 -2
  239. package/dist/core/{p-266341f5.entry.js.map → p-0ab10600.entry.js.map} +1 -1
  240. package/dist/core/{p-108a9029.entry.js → p-1109636a.entry.js} +2 -2
  241. package/dist/core/p-1109636a.entry.js.map +1 -0
  242. package/dist/core/p-130a05cf.entry.js +2 -0
  243. package/dist/core/p-130a05cf.entry.js.map +1 -0
  244. package/dist/core/{p-a91340b4.entry.js → p-1e2aa8a6.entry.js} +2 -2
  245. package/dist/core/p-1e2aa8a6.entry.js.map +1 -0
  246. package/dist/core/{p-306def43.entry.js → p-1fe35de1.entry.js} +2 -2
  247. package/dist/core/p-1fe35de1.entry.js.map +1 -0
  248. package/dist/core/p-28323849.entry.js +2 -0
  249. package/dist/core/p-28323849.entry.js.map +1 -0
  250. package/dist/core/p-2e49fb22.entry.js +2 -0
  251. package/dist/core/p-2e49fb22.entry.js.map +1 -0
  252. package/dist/core/p-2ff4e283.entry.js +2 -0
  253. package/dist/core/p-2ff4e283.entry.js.map +1 -0
  254. package/dist/core/p-3db785f0.entry.js +2 -0
  255. package/dist/core/p-3db785f0.entry.js.map +1 -0
  256. package/dist/core/p-42883e4c.entry.js +2 -0
  257. package/dist/core/p-42883e4c.entry.js.map +1 -0
  258. package/dist/core/p-42e0f3bd.entry.js +2 -0
  259. package/dist/core/p-42e0f3bd.entry.js.map +1 -0
  260. package/dist/core/p-44ee5375.entry.js +2 -0
  261. package/dist/core/p-44ee5375.entry.js.map +1 -0
  262. package/dist/core/{p-c21d0db8.entry.js → p-486d8d43.entry.js} +2 -2
  263. package/dist/core/p-486d8d43.entry.js.map +1 -0
  264. package/dist/core/{p-f743b0eb.entry.js → p-4dcc37e7.entry.js} +2 -2
  265. package/dist/core/{p-f743b0eb.entry.js.map → p-4dcc37e7.entry.js.map} +1 -1
  266. package/dist/core/{p-bf670360.entry.js → p-4e28ef60.entry.js} +2 -2
  267. package/dist/core/{p-bf670360.entry.js.map → p-4e28ef60.entry.js.map} +1 -1
  268. package/dist/core/{p-d8563643.entry.js → p-50019ede.entry.js} +2 -2
  269. package/dist/core/p-50019ede.entry.js.map +1 -0
  270. package/dist/core/p-53e00a8a.entry.js +2 -0
  271. package/dist/core/p-53e00a8a.entry.js.map +1 -0
  272. package/dist/core/p-5accf0bb.entry.js +2 -0
  273. package/dist/core/p-5accf0bb.entry.js.map +1 -0
  274. package/dist/core/p-5b7dfe57.entry.js +2 -0
  275. package/dist/core/p-5b7dfe57.entry.js.map +1 -0
  276. package/dist/core/p-603fea14.entry.js +2 -0
  277. package/dist/core/p-603fea14.entry.js.map +1 -0
  278. package/dist/core/p-64933069.entry.js +2 -0
  279. package/dist/core/p-64933069.entry.js.map +1 -0
  280. package/dist/core/{p-f98b1afc.entry.js → p-6beffd0e.entry.js} +2 -2
  281. package/dist/core/{p-f98b1afc.entry.js.map → p-6beffd0e.entry.js.map} +1 -1
  282. package/dist/core/p-7c268030.entry.js +2 -0
  283. package/dist/core/p-7c268030.entry.js.map +1 -0
  284. package/dist/core/p-7c78f6c6.entry.js +2 -0
  285. package/dist/core/p-7c78f6c6.entry.js.map +1 -0
  286. package/dist/core/p-7c80d79c.entry.js +2 -0
  287. package/dist/core/{p-aee8d45b.entry.js.map → p-7c80d79c.entry.js.map} +1 -1
  288. package/dist/core/{p-5f5403e2.entry.js → p-7e1603cc.entry.js} +2 -2
  289. package/dist/core/p-7e1603cc.entry.js.map +1 -0
  290. package/dist/core/p-8ca2e329.entry.js +2 -0
  291. package/dist/core/p-8ca2e329.entry.js.map +1 -0
  292. package/dist/core/p-8df49808.entry.js +2 -0
  293. package/dist/core/p-8df49808.entry.js.map +1 -0
  294. package/dist/core/p-8f12659d.entry.js +2 -0
  295. package/dist/core/p-8f12659d.entry.js.map +1 -0
  296. package/dist/core/p-903ee57e.entry.js +2 -0
  297. package/dist/core/p-903ee57e.entry.js.map +1 -0
  298. package/dist/core/p-92e3ccb9.entry.js +2 -0
  299. package/dist/core/p-92e3ccb9.entry.js.map +1 -0
  300. package/dist/core/p-a9151d0b.entry.js +2 -0
  301. package/dist/core/p-a9151d0b.entry.js.map +1 -0
  302. package/dist/core/p-acc76b80.entry.js +2 -0
  303. package/dist/core/p-acc76b80.entry.js.map +1 -0
  304. package/dist/core/p-aeb6016c.entry.js +2 -0
  305. package/dist/core/p-aeb6016c.entry.js.map +1 -0
  306. package/dist/core/p-b0751bd9.entry.js +2 -0
  307. package/dist/core/p-b0751bd9.entry.js.map +1 -0
  308. package/dist/core/{p-5f313e1a.entry.js → p-bb1252fa.entry.js} +2 -2
  309. package/dist/core/{p-5f313e1a.entry.js.map → p-bb1252fa.entry.js.map} +1 -1
  310. package/dist/core/p-c1698936.entry.js +2 -0
  311. package/dist/core/p-c1698936.entry.js.map +1 -0
  312. package/dist/core/p-c1e90c85.entry.js +2 -0
  313. package/dist/core/p-c1e90c85.entry.js.map +1 -0
  314. package/dist/core/p-cb63e656.entry.js +2 -0
  315. package/dist/core/p-cb63e656.entry.js.map +1 -0
  316. package/dist/core/{p-cb6cebdd.entry.js → p-d2e7a256.entry.js} +2 -2
  317. package/dist/core/{p-cb6cebdd.entry.js.map → p-d2e7a256.entry.js.map} +1 -1
  318. package/dist/core/p-d3c0bffb.entry.js +2 -0
  319. package/dist/core/p-d3c0bffb.entry.js.map +1 -0
  320. package/dist/core/p-d5ca3bcb.entry.js +2 -0
  321. package/dist/core/p-d5ca3bcb.entry.js.map +1 -0
  322. package/dist/core/p-da3e8c54.entry.js +2 -0
  323. package/dist/core/p-da3e8c54.entry.js.map +1 -0
  324. package/dist/core/{p-73b40c79.entry.js → p-eb65e556.entry.js} +2 -2
  325. package/dist/core/{p-73b40c79.entry.js.map → p-eb65e556.entry.js.map} +1 -1
  326. package/dist/core/p-ec53b435.entry.js +2 -0
  327. package/dist/core/p-ec53b435.entry.js.map +1 -0
  328. package/dist/core/p-ed4cde5a.entry.js +2 -0
  329. package/dist/core/p-ed4cde5a.entry.js.map +1 -0
  330. package/dist/core/{p-f1072c28.entry.js → p-f64abdff.entry.js} +2 -2
  331. package/dist/core/p-f64abdff.entry.js.map +1 -0
  332. package/dist/core/p-f9810621.entry.js +2 -0
  333. package/dist/core/p-f9810621.entry.js.map +1 -0
  334. package/dist/core/p-fb7b99dd.entry.js +2 -0
  335. package/dist/core/p-fb7b99dd.entry.js.map +1 -0
  336. package/dist/esm/core.js +1 -1
  337. package/dist/esm/ic-accordion.entry.js +1 -1
  338. package/dist/esm/ic-accordion.entry.js.map +1 -1
  339. package/dist/esm/ic-alert.entry.js +1 -1
  340. package/dist/esm/ic-alert.entry.js.map +1 -1
  341. package/dist/esm/ic-badge.entry.js +1 -1
  342. package/dist/esm/ic-badge.entry.js.map +1 -1
  343. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  344. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  345. package/dist/esm/ic-button_3.entry.js +16 -15
  346. package/dist/esm/ic-button_3.entry.js.map +1 -1
  347. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  348. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  349. package/dist/esm/ic-card-vertical.entry.js +1 -1
  350. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  351. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  352. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  353. package/dist/esm/ic-checkbox.entry.js +1 -1
  354. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  355. package/dist/esm/ic-chip.entry.js +21 -14
  356. package/dist/esm/ic-chip.entry.js.map +1 -1
  357. package/dist/esm/ic-classification-banner.entry.js +1 -1
  358. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  359. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  360. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  361. package/dist/esm/ic-data-table.entry.js +8 -6
  362. package/dist/esm/ic-data-table.entry.js.map +1 -1
  363. package/dist/esm/ic-date-input.entry.js +1 -1
  364. package/dist/esm/ic-date-input.entry.js.map +1 -1
  365. package/dist/esm/ic-date-picker.entry.js +1 -1
  366. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  367. package/dist/esm/ic-divider.entry.js +1 -1
  368. package/dist/esm/ic-divider.entry.js.map +1 -1
  369. package/dist/esm/ic-empty-state_2.entry.js +15 -9
  370. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  371. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  372. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  373. package/dist/esm/ic-footer-link.entry.js +1 -1
  374. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  375. package/dist/esm/ic-footer.entry.js +1 -1
  376. package/dist/esm/ic-footer.entry.js.map +1 -1
  377. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  378. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  379. package/dist/esm/ic-input-component-container_4.entry.js +3 -3
  380. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  381. package/dist/esm/ic-link.entry.js +1 -1
  382. package/dist/esm/ic-link.entry.js.map +1 -1
  383. package/dist/esm/ic-menu-group.entry.js +1 -1
  384. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  385. package/dist/esm/ic-menu-item.entry.js +1 -1
  386. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  387. package/dist/esm/ic-menu-with-multi.entry.js +1 -1
  388. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  389. package/dist/esm/ic-menu.entry.js +1 -1
  390. package/dist/esm/ic-menu.entry.js.map +1 -1
  391. package/dist/esm/ic-navigation-group.entry.js +1 -1
  392. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  393. package/dist/esm/ic-navigation-item.entry.js +1 -1
  394. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  395. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  396. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  397. package/dist/esm/ic-pagination_4.entry.js +6 -6
  398. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  399. package/dist/esm/ic-popover-menu.entry.js +19 -13
  400. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  401. package/dist/esm/ic-radio-group.entry.js +18 -8
  402. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  403. package/dist/esm/ic-radio-option.entry.js +1 -1
  404. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  405. package/dist/esm/ic-search-bar.entry.js +11 -24
  406. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  407. package/dist/esm/ic-select-with-multi.entry.js +1 -1
  408. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  409. package/dist/esm/ic-side-navigation.entry.js +1 -1
  410. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  411. package/dist/esm/ic-skeleton.entry.js +4 -4
  412. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  413. package/dist/esm/ic-status-tag.entry.js +1 -1
  414. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  415. package/dist/esm/ic-step.entry.js +3 -4
  416. package/dist/esm/ic-step.entry.js.map +1 -1
  417. package/dist/esm/ic-stepper.entry.js +11 -1
  418. package/dist/esm/ic-stepper.entry.js.map +1 -1
  419. package/dist/esm/ic-switch.entry.js +1 -1
  420. package/dist/esm/ic-switch.entry.js.map +1 -1
  421. package/dist/esm/ic-tab-context.entry.js +58 -122
  422. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  423. package/dist/esm/ic-tab-panel.entry.js +1 -1
  424. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  425. package/dist/esm/ic-tab.entry.js +5 -6
  426. package/dist/esm/ic-tab.entry.js.map +1 -1
  427. package/dist/esm/ic-toast.entry.js +2 -2
  428. package/dist/esm/ic-toast.entry.js.map +1 -1
  429. package/dist/esm/ic-toggle-button.entry.js +1 -1
  430. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  431. package/dist/esm/ic-top-navigation.entry.js +1 -1
  432. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  433. package/dist/esm/ic-tree-item.entry.js +1 -1
  434. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  435. package/dist/esm/ic-typography.entry.js +4 -2
  436. package/dist/esm/ic-typography.entry.js.map +1 -1
  437. package/dist/esm/loader.js +1 -1
  438. package/dist/types/components/ic-data-table/ic-data-table.d.ts +2 -0
  439. package/dist/types/components/ic-data-table/story-data.d.ts +15 -0
  440. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -4
  441. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  442. package/dist/types/components.d.ts +17 -3
  443. package/hydrate/index.js +248 -277
  444. package/package.json +3 -3
  445. package/dist/core/p-06eeb7f2.entry.js +0 -2
  446. package/dist/core/p-06eeb7f2.entry.js.map +0 -1
  447. package/dist/core/p-0922c552.entry.js +0 -2
  448. package/dist/core/p-0922c552.entry.js.map +0 -1
  449. package/dist/core/p-0bc0e852.entry.js +0 -2
  450. package/dist/core/p-0bc0e852.entry.js.map +0 -1
  451. package/dist/core/p-108a9029.entry.js.map +0 -1
  452. package/dist/core/p-13100d3c.entry.js +0 -2
  453. package/dist/core/p-13100d3c.entry.js.map +0 -1
  454. package/dist/core/p-1769df1d.entry.js +0 -2
  455. package/dist/core/p-1769df1d.entry.js.map +0 -1
  456. package/dist/core/p-306def43.entry.js.map +0 -1
  457. package/dist/core/p-3778cc5e.entry.js +0 -2
  458. package/dist/core/p-3778cc5e.entry.js.map +0 -1
  459. package/dist/core/p-383a5a76.entry.js +0 -2
  460. package/dist/core/p-383a5a76.entry.js.map +0 -1
  461. package/dist/core/p-3a0510e2.entry.js +0 -2
  462. package/dist/core/p-3a0510e2.entry.js.map +0 -1
  463. package/dist/core/p-3ace51f5.entry.js +0 -2
  464. package/dist/core/p-3ace51f5.entry.js.map +0 -1
  465. package/dist/core/p-3f0391c1.entry.js +0 -2
  466. package/dist/core/p-3f0391c1.entry.js.map +0 -1
  467. package/dist/core/p-41fecc61.entry.js +0 -2
  468. package/dist/core/p-41fecc61.entry.js.map +0 -1
  469. package/dist/core/p-46cb94a2.entry.js +0 -2
  470. package/dist/core/p-46cb94a2.entry.js.map +0 -1
  471. package/dist/core/p-4e67f127.entry.js +0 -2
  472. package/dist/core/p-4e67f127.entry.js.map +0 -1
  473. package/dist/core/p-50e48f4d.entry.js +0 -2
  474. package/dist/core/p-50e48f4d.entry.js.map +0 -1
  475. package/dist/core/p-56e7459a.entry.js +0 -2
  476. package/dist/core/p-56e7459a.entry.js.map +0 -1
  477. package/dist/core/p-5e6fd734.entry.js +0 -2
  478. package/dist/core/p-5e6fd734.entry.js.map +0 -1
  479. package/dist/core/p-5f5403e2.entry.js.map +0 -1
  480. package/dist/core/p-710c6a42.entry.js +0 -2
  481. package/dist/core/p-710c6a42.entry.js.map +0 -1
  482. package/dist/core/p-7a9de008.entry.js +0 -2
  483. package/dist/core/p-7a9de008.entry.js.map +0 -1
  484. package/dist/core/p-801414e2.entry.js +0 -2
  485. package/dist/core/p-801414e2.entry.js.map +0 -1
  486. package/dist/core/p-82ba744d.entry.js +0 -2
  487. package/dist/core/p-82ba744d.entry.js.map +0 -1
  488. package/dist/core/p-9af6adb1.entry.js +0 -2
  489. package/dist/core/p-9af6adb1.entry.js.map +0 -1
  490. package/dist/core/p-a57cd616.entry.js +0 -2
  491. package/dist/core/p-a57cd616.entry.js.map +0 -1
  492. package/dist/core/p-a5eaed1a.entry.js +0 -2
  493. package/dist/core/p-a5eaed1a.entry.js.map +0 -1
  494. package/dist/core/p-a91340b4.entry.js.map +0 -1
  495. package/dist/core/p-aee8d45b.entry.js +0 -2
  496. package/dist/core/p-badd4c8d.entry.js +0 -2
  497. package/dist/core/p-badd4c8d.entry.js.map +0 -1
  498. package/dist/core/p-c07af2d8.entry.js +0 -2
  499. package/dist/core/p-c07af2d8.entry.js.map +0 -1
  500. package/dist/core/p-c21d0db8.entry.js.map +0 -1
  501. package/dist/core/p-c678f73d.entry.js +0 -2
  502. package/dist/core/p-c678f73d.entry.js.map +0 -1
  503. package/dist/core/p-c6ae9bad.entry.js +0 -2
  504. package/dist/core/p-c6ae9bad.entry.js.map +0 -1
  505. package/dist/core/p-c6c1e08e.entry.js +0 -2
  506. package/dist/core/p-c6c1e08e.entry.js.map +0 -1
  507. package/dist/core/p-d16f364a.entry.js +0 -2
  508. package/dist/core/p-d16f364a.entry.js.map +0 -1
  509. package/dist/core/p-d239c33b.entry.js +0 -2
  510. package/dist/core/p-d239c33b.entry.js.map +0 -1
  511. package/dist/core/p-d8563643.entry.js.map +0 -1
  512. package/dist/core/p-da40757f.entry.js +0 -2
  513. package/dist/core/p-da40757f.entry.js.map +0 -1
  514. package/dist/core/p-de052137.entry.js +0 -2
  515. package/dist/core/p-de052137.entry.js.map +0 -1
  516. package/dist/core/p-e89bb650.entry.js +0 -2
  517. package/dist/core/p-e89bb650.entry.js.map +0 -1
  518. package/dist/core/p-f1072c28.entry.js.map +0 -1
  519. package/dist/core/p-f37df214.entry.js +0 -2
  520. package/dist/core/p-f37df214.entry.js.map +0 -1
  521. package/dist/core/p-fe13f1ba.entry.js +0 -2
  522. package/dist/core/p-fe13f1ba.entry.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/canary-web-components",
3
- "version": "3.0.0-canary.1",
3
+ "version": "3.0.0-canary.2",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  "dependencies": {
44
44
  "@popperjs/core": "^2.11.2",
45
45
  "@stencil/core": "^4.9.0",
46
- "@ukic/web-components": "^3.0.0-alpha.1"
46
+ "@ukic/web-components": "^3.0.0-alpha.2"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@ukic/fonts": "^2.3.0"
@@ -89,5 +89,5 @@
89
89
  "webpack": "^5.76.0"
90
90
  },
91
91
  "license": "MIT",
92
- "gitHead": "1c5671823f89c50f5e16d4f40e1bc15ae2310518"
92
+ "gitHead": "59d0e036de6def6644421e17bf1c5591eac0e34a"
93
93
  }
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as e,g as s}from"./p-8455d1bb.js";import{P as o,y as r,f as a,I as l}from"./p-9397b15b.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-keyline-lighten-rgb)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-keyline-darken-rgb)}::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}.disabled ic-button>svg{color:var(--ic-keyline-darken-rgb)}: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=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;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,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};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};this.firstItemVisible=true;this.itemOverflow=false;this.lastItemVisible=false;this.appearance="default";this.focusTrigger="focus"}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(){let t=0;this.itemOffsets=this.items.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const t=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((i=>{t.forEach((t=>t.removeEventListener(i,this.arrowMouseUpHandler)))}));this.items.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));this.itemsContainerEl.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{appearance:t,firstItemVisible:s,lastItemVisible:o,itemOverflow:r}=this;return i(e,{class:{["ic-horizontal-scroll-visible"]:r,["ic-horizontal-scroll-dark"]:this.appearance===l.Dark,["ic-horizontal-scroll-light"]:this.appearance===l.Light}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!r,["disabled"]:s},role:"tab"},i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll left",appearance:t,innerHTML:n,disabled:s,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{class:"scroll-splitter-left"})),i("slot",null),i("div",{"aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!r,["disabled"]:o},role:"tab"},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll right",appearance:t,innerHTML:c,disabled:o,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=h;export{p as ic_horizontal_scroll};
2
- //# sourceMappingURL=p-06eeb7f2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","constructor","hostRef","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","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","firstItemVisible","appearance","focusTrigger","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","h","Host","class","IcThemeForegroundEnum","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-keyline-lighten-rgb);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-keyline-darken-rgb);\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.disabled ic-button > svg {\n color: var(--ic-keyline-darken-rgb);\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 { IcThemeForegroundEnum } from \"../../utils/types\";\nconst SCROLL_DELAY_MS = 200;\nexport class HorizontalScroll {\n constructor() {\n this.buttonStateSet = false;\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 this.firstItemVisible = true;\n this.itemOverflow = false;\n this.lastItemVisible = false;\n this.appearance = \"default\";\n this.focusTrigger = \"focus\";\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 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(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.addEventListener(event, this.arrowMouseUpHandler));\n });\n }\n disconnectedCallback() {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n const scrollArrows = Array.from(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.removeEventListener(event, this.arrowMouseUpHandler));\n });\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n this.itemsContainerEl.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 { appearance, firstItemVisible, lastItemVisible, itemOverflow } = this;\n return (h(Host, { class: {\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]: this.appearance === IcThemeForegroundEnum.Light,\n } }, h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }, role: \"tab\" }, h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon\", \"aria-label\": \"Scroll left\", appearance: appearance, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: \"-1\", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h(\"span\", { class: \"scroll-splitter-left\" })), h(\"slot\", null), h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }, role: \"tab\" }, h(\"span\", { class: \"scroll-splitter-right\" }), h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon\", \"aria-label\": \"Scroll right\", appearance: appearance, 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\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\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 \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"focusTrigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The name of the event that triggers focus handler logic.\"\n }],\n \"text\": \"\"\n },\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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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as e,H as i,g as c}from"./p-8455d1bb.js";import{r as n,a,i as r}from"./p-9397b15b.js";const g='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n )}:host(.ic-toggle-button-dark){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n )}:host(.ic-toggle-button-light){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n )}:host(.ic-toggle-button-disabled){--button-border:var(--toggle-button-border, var(--ic-border-disabled))}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host ic-button{--icon-width:var(--ic-space-lg);--icon-height:var(--ic-space-lg)}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--button-border)}:host(.ic-toggle-button-checked) ::part(button){background-color:var(--ic-action-default);color:var(--ic-architectural-white);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white)}:host(.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host(.ic-toggle-button-checked) ::part(button):hover{background-color:var(--button-default-hover)}:host(.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active{background-color:var(--ic-action-default-active)}:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button){background-color:var(--ic-action-dark)}:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button):hover{background-color:var(--ic-action-dark-hover)}:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button):active{background-color:var(--ic-action-dark-active)}:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button){background-color:var(--ic-action-light);color:var(--ic-color-primary-text);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black)}:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):hover{background-color:var(--ic-action-light-hover)}:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):active{background-color:var(--ic-action-light-active)}:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus)}:host(.ic-toggle-button-disabled) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled) ::part(button){border:var(--button-border)}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button){background-color:transparent}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button)::before{background-image:radial-gradient(var(--ic-architectural-400) 95%, white 20%);background-repeat:no-repeat}:host(.ic-toggle-button-icon) ::part(button){border:var(--button-border);height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-toggle-button-icon) ::part(button):active{background-color:var(--ic-action-default-bg-active)}:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active{background-color:var(--ic-action-dark-bg-active)}:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active{background-color:var(--ic-action-light-bg-active)}:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button){background-color:var(--button-default-active)}:host(.ic-toggle-button-loading) ::part(ic-loading-container){--inner-color:var(--ic-architectural-white)}:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-light) ::part(button){background-color:var(--ic-action-light-active)}:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-dark) ::part(button){background-color:var(--ic-action-dark-active)}@media (forced-colors: active){:host(.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-checked) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button){background-color:GrayText}}';const l=class{constructor(e){t(this,e);this.icToggleChecked=o(this,"icToggleChecked",7);this.handleFocus=t=>{t.stopImmediatePropagation()};this.handleClick=()=>{!this.loading&&!this.disabled&&this.icToggleChecked.emit({checked:this.checked})};this.accessibleLabel=undefined;this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.label=undefined;this.loading=false;this.size="medium";this.checked=false;this.variant="default"}componentWillLoad(){n(this.disabled,this.el);const t=this.el.parentElement.iconPlacement;this.iconPosition=this.iconPlacement||t||"left"}componentDidLoad(){a([{prop:this.variant==="icon"?this.accessibleLabel:this.label,propName:this.variant==="icon"?"accessible-label":"label"}],"Toggle button")}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}else if(!this.loading){this.checked=!this.checked}}render(){return e(i,{class:{["ic-toggle-button-disabled"]:this.disabled,["ic-toggle-button-checked"]:this.checked,[`ic-toggle-button-${this.appearance}`]:true,["ic-toggle-button-icon"]:this.variant==="icon",[`ic-toggle-button-${this.size}`]:true,["ic-toggle-button-loading"]:this.loading},onFocus:this.handleFocus},e("ic-button",{"aria-pressed":this.checked.toString(),variant:this.variant==="icon"?"icon":"secondary",onClick:this.handleClick,title:this.accessibleLabel,"aria-label":`${this.accessibleLabel?this.accessibleLabel:this.label}, ${this.checked?"ticked":"unticked"}`,disabled:this.disabled,appearance:this.appearance,size:this.size,fullWidth:this.fullWidth,loading:this.loading,"aria-disabled":`${this.disabled}`},this.variant!=="icon"&&this.label,e("slot",null),r(this.el,"icon")&&e("slot",{name:"icon",slot:`${this.iconPosition}-icon`}),r(this.el,"badge")&&e("slot",{name:"badge",slot:"badge"})))}static get delegatesFocus(){return true}get el(){return c(this)}};l.style=g;export{l as ic_toggle_button};
2
- //# sourceMappingURL=p-0922c552.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icToggleButtonCss","ToggleButton","constructor","hostRef","this","handleFocus","ev","stopImmediatePropagation","handleClick","loading","disabled","icToggleChecked","emit","checked","accessibleLabel","undefined","appearance","fullWidth","iconPlacement","label","size","variant","componentWillLoad","removeDisabledFalse","el","parentIconPlacement","parentElement","iconPosition","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","e","render","h","Host","class","onFocus","toString","onClick","title","isSlotUsed","name","slot","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.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/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n );\n}\n\n:host(.ic-toggle-button-dark) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n );\n}\n\n:host(.ic-toggle-button-light) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --button-border: var(--toggle-button-border, var(--ic-border-disabled));\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n min-height: inherit;\n white-space: inherit;\n height: inherit;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n white-space: normal;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: var(--button-border);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-action-default);\n color: var(--ic-architectural-white);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--button-default-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-action-default-active);\n}\n\n:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-action-dark);\n}\n\n:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-action-dark-hover);\n}\n\n:host(.ic-toggle-button-dark.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-dark.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(--ic-action-dark-active);\n}\n\n:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-action-light);\n color: var(--ic-color-primary-text);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black);\n}\n\n:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-action-light-hover);\n}\n\n:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-light.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.ic-toggle-button-light.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled) ::part(button) {\n border: var(--button-border);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(var(--ic-architectural-400) 95%, white 20%);\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n border: var(--button-border);\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-active);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n background-color: var(--button-default-active);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-architectural-white);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-light)\n ::part(button) {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-dark)\n ::part(button) {\n background-color: var(--ic-action-dark-active);\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, removeDisabledFalse, } from \"../../utils/helpers\";\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\nexport class ToggleButton {\n constructor() {\n this.handleFocus = (ev) => {\n ev.stopImmediatePropagation();\n };\n this.handleClick = () => {\n !this.loading &&\n !this.disabled &&\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n };\n this.accessibleLabel = undefined;\n this.appearance = \"default\";\n this.disabled = false;\n this.fullWidth = false;\n this.iconPlacement = undefined;\n this.label = undefined;\n this.loading = false;\n this.size = \"medium\";\n this.checked = false;\n this.variant = \"default\";\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n const parentIconPlacement = this.el.parentElement.iconPlacement;\n this.iconPosition = this.iconPlacement || parentIconPlacement || \"left\";\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ], \"Toggle button\");\n }\n handleHostClick(e) {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n render() {\n return (h(Host, { class: {\n [\"ic-toggle-button-disabled\"]: this.disabled,\n [\"ic-toggle-button-checked\"]: this.checked,\n [`ic-toggle-button-${this.appearance}`]: true,\n [\"ic-toggle-button-icon\"]: this.variant === \"icon\",\n [`ic-toggle-button-${this.size}`]: true,\n [\"ic-toggle-button-loading\"]: this.loading,\n }, onFocus: this.handleFocus }, h(\"ic-button\", { \"aria-pressed\": this.checked.toString(), variant: this.variant === \"icon\" ? \"icon\" : \"secondary\", onClick: this.handleClick, title: this.accessibleLabel, \"aria-label\": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.checked ? \"ticked\" : \"unticked\"}`, disabled: this.disabled, appearance: this.appearance, size: this.size, fullWidth: this.fullWidth, loading: this.loading, \"aria-disabled\": `${this.disabled}` }, this.variant !== \"icon\" && this.label, h(\"slot\", null), isSlotUsed(this.el, \"icon\") && (h(\"slot\", { name: \"icon\", slot: `${this.iconPosition}-icon` })), isSlotUsed(this.el, \"badge\") && (h(\"slot\", { name: \"badge\", slot: \"badge\" })))));\n }\n static get is() { return \"ic-toggle-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the toggle button.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icon in relation to the toggle button label.\"\n },\n \"attribute\": \"icon-placement\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display in the toggle button. This is required for the default variant of toggle buttons.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in loading state.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle button to be displayed.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in a checked state.\"\n },\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icToggleChecked\",\n \"name\": \"icToggleChecked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user clicks a toggle button.\"\n },\n \"complexType\": {\n \"original\": \"{\\n checked: boolean;\\n }\",\n \"resolved\": \"{ checked: boolean; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button.js.map\n"],"mappings":"6GAAA,MAAMA,EAAoB,67P,MCMbC,EAAY,MACrB,WAAAC,CAAAC,G,2DACIC,KAAKC,YAAeC,IAChBA,EAAGC,0BAA0B,EAEjCH,KAAKI,YAAc,MACdJ,KAAKK,UACDL,KAAKM,UACNN,KAAKO,gBAAgBC,KAAK,CACtBC,QAAST,KAAKS,SAChB,EAEVT,KAAKU,gBAAkBC,UACvBX,KAAKY,WAAa,UAClBZ,KAAKM,SAAW,MAChBN,KAAKa,UAAY,MACjBb,KAAKc,cAAgBH,UACrBX,KAAKe,MAAQJ,UACbX,KAAKK,QAAU,MACfL,KAAKgB,KAAO,SACZhB,KAAKS,QAAU,MACfT,KAAKiB,QAAU,S,CAEnB,iBAAAC,GACIC,EAAoBnB,KAAKM,SAAUN,KAAKoB,IACxC,MAAMC,EAAsBrB,KAAKoB,GAAGE,cAAcR,cAClDd,KAAKuB,aAAevB,KAAKc,eAAiBO,GAAuB,M,CAErE,gBAAAG,GACIC,EAAiC,CAC7B,CACIC,KAAM1B,KAAKiB,UAAY,OAASjB,KAAKU,gBAAkBV,KAAKe,MAC5DY,SAAU3B,KAAKiB,UAAY,OAAS,mBAAqB,UAE9D,gB,CAEP,eAAAW,CAAgBC,GACZ,GAAI7B,KAAKM,SAAU,CACfuB,EAAE1B,0B,MAED,IAAKH,KAAKK,QAAS,CACpBL,KAAKS,SAAWT,KAAKS,O,EAG7B,MAAAqB,GACI,OAAQC,EAAEC,EAAM,CAAEC,MAAO,CACjB,CAAC,6BAA8BjC,KAAKM,SACpC,CAAC,4BAA6BN,KAAKS,QACnC,CAAC,oBAAoBT,KAAKY,cAAe,KACzC,CAAC,yBAA0BZ,KAAKiB,UAAY,OAC5C,CAAC,oBAAoBjB,KAAKgB,QAAS,KACnC,CAAC,4BAA6BhB,KAAKK,SACpC6B,QAASlC,KAAKC,aAAe8B,EAAE,YAAa,CAAE,eAAgB/B,KAAKS,QAAQ0B,WAAYlB,QAASjB,KAAKiB,UAAY,OAAS,OAAS,YAAamB,QAASpC,KAAKI,YAAaiC,MAAOrC,KAAKU,gBAAiB,aAAc,GAAGV,KAAKU,gBAAkBV,KAAKU,gBAAkBV,KAAKe,UAAUf,KAAKS,QAAU,SAAW,aAAcH,SAAUN,KAAKM,SAAUM,WAAYZ,KAAKY,WAAYI,KAAMhB,KAAKgB,KAAMH,UAAWb,KAAKa,UAAWR,QAASL,KAAKK,QAAS,gBAAiB,GAAGL,KAAKM,YAAcN,KAAKiB,UAAY,QAAUjB,KAAKe,MAAOgB,EAAE,OAAQ,MAAOO,EAAWtC,KAAKoB,GAAI,SAAYW,EAAE,OAAQ,CAAEQ,KAAM,OAAQC,KAAM,GAAGxC,KAAKuB,sBAAyBe,EAAWtC,KAAKoB,GAAI,UAAaW,EAAE,OAAQ,CAAEQ,KAAM,QAASC,KAAM,W,CAIpsB,yBAAWC,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +0,0 @@
1
- import{r as t,f as i,h as e,H as a,g as s,c as n}from"./p-8455d1bb.js";import{c as l,i as h,a as o}from"./p-9397b15b.js";import{C as r,D as c}from"./p-297e99cf.js";const p=":host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.ic-empty-state-right),:host(.ic-empty-state-right) .action-area{align-items:flex-end;text-align:right}:host(.ic-empty-state-center),:host(.ic-empty-state-center) .action-area{align-items:center;text-align:center}:host(.image-medium) ::slotted(svg),:host(.image-medium) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}";const g=class{constructor(e){t(this,e);this.hostMutationObserver=null;this.hostMutationCallback=t=>{if(t.some((({type:t,addedNodes:i,removedNodes:e})=>t==="childList"?l(i,e,["image","actions"]):false))){i(this)}};this.aligned="left";this.body=undefined;this.maxLines=undefined;this.heading=undefined;this.imageSize="medium";this.subheading=undefined}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){!h(this.el,"heading")&&o([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:t,body:i,maxLines:s,heading:n,imageSize:l,subheading:o}=this;return e(a,{class:{[`ic-empty-state-${t}`]:true,[`image-${l}`]:h(this.el,"image")}},h(this.el,"image")&&e("slot",{name:"image"}),e("div",null,e("slot",{name:"heading"},e("ic-typography",{variant:"h4"},n)),e("slot",{name:"subheading"},e("ic-typography",{variant:"subtitle-small"},o)),e("slot",{name:"body"},e("ic-typography",{maxLines:s},i))),h(this.el,"actions")&&e("div",{class:"action-area"},e("slot",{name:"actions"})))}get el(){return s(this)}};g.style=p;const d=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.pagination-text-default,.pagination-text-dark,.pagination-text-light{white-space:nowrap}.pagination-text-light{--ic-typography-color:var(--ic-color-white-text)}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const m=class{constructor(i){t(this,i);this.icPageChange=n(this,"icPageChange",7);this.icItemsPerPageChange=n(this,"icItemsPerPageChange",7);this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.resizeObserver=null;this.changeItemsPerPage=()=>{this.setItemsPerPage(Number(this.pageDropdownEl.value))};this.changePage=t=>{this.currentPage=t;this.lowerBound=t!==1?(t-1)*this.itemsPerPage+1:t;this.setUpperBound()};this.focusElFromLabel=t=>{var i;(i=this.paginationBarEl.querySelector(t))===null||i===void 0?void 0:i.setFocus()};this.goToPage=()=>{const t=this.pageInputEl;const i=Number(t.value);if(i<=this.totalPages&&i>0){this.changePage(i);this.paginationEl.setCurrentPage(i);this.currentPage=i;t.value="";this.icPageChange.emit({value:i});this.pageInputTooltipEl.displayTooltip(false,false);t.validationStatus=""}else{this.setInputError(t,this.INVALID_PAGE_ERROR)}};this.goToPageLabelClickHandler=()=>{this.focusElFromLabel("ic-text-field")};this.handleBlur=()=>{const t=this.pageInputEl;if(Number(t.value)<=this.totalPages&&Number(t.value)>0||t.value===""){t.validationStatus=""}this.pageInputTooltipEl.displayTooltip(false,false)};this.handleFocus=()=>{if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleInputChange=()=>{const t=parseInt(this.pageInputEl.value);if(t>this.totalPages||t<=0){this.setInputError(this.pageInputEl,this.INVALID_PAGE_ERROR);this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleKeydown=t=>{if(t.key==="Enter"){if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}else{this.goToPage()}}else{this.pageInputTooltipEl.displayTooltip(false,false);this.pageInputEl.validationStatus=""}};this.handleKeyUp=t=>{if(Number.isNaN(parseInt(this.pageInputEl.value))&&t.key!=="Backspace"&&t.key!=="Enter"&&t.key!=="Tab"&&t.key!=="Shift"){this.setInputError(this.pageInputEl,"Please enter a number",false);this.pageInputTooltipEl.displayTooltip(true,false)}};this.itemsPerPageLabelClickHandler=()=>{this.focusElFromLabel("ic-select")};this.paginationShouldWrap=()=>{if(this.type==="simple"){this.paginationWrapped=this.paginationEl.clientHeight>63}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const{clientWidth:t}=this.paginationBarEl;if(t-this.paginationWidth>50||t-this.paginationWidth<-50){this.paginationWidth=t;this.paginationShouldWrap()}}));this.resizeObserver.observe(this.paginationBarEl)};this.setInputError=(t,i,e=true)=>{this.inputError=i;t.validationStatus="error";if(e)t.setFocus()};this.setItemsPerPage=t=>{if(this.itemsPerPage!==t){this.itemsPerPage=t;this.itemsPerPageString=t.toString();this.icItemsPerPageChange.emit({value:this.itemsPerPage})}this.totalPages=this.totalItems>this.itemsPerPage?Math.ceil(this.totalItems/this.itemsPerPage):1;this.setUpperBound();if(this.currentPage>this.totalPages){this.paginationEl.setCurrentPage(this.totalPages);this.currentPage=this.totalPages}this.icPageChange.emit({value:this.currentPage})};this.setPaginationBarContent=()=>{var t;const i=((t=this.itemsPerPageOptions)===null||t===void 0?void 0:t.slice(0,3))||(this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"}]);i.push({label:"All",value:String(this.totalItems)});this.displayedItemsPerPageOptions=i.filter((({value:t})=>this.totalItems>=Number(t)));let e=0;const a=this.displayedItemsPerPageOptions.some((({value:t})=>{e=Number(t);return this.itemsPerPage<=e}));this.setItemsPerPage(a||!a&&this.itemsPerPage>e?e:this.itemsPerPage)};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+this.itemsPerPage-1,this.totalItems)};this.capitalizedItemLabel=undefined;this.capitalizedPageLabel=undefined;this.currentPage=1;this.displayedItemsPerPageOptions=undefined;this.inputError="Please enter a valid page";this.itemsPerPage=0;this.itemsPerPageString="0";this.lowerBound=1;this.lowerCaseItemLabel=undefined;this.lowerCasePageLabel=undefined;this.paginationWidth=undefined;this.paginationWrapped=false;this.totalPages=undefined;this.upperBound=undefined;this.alignment="right";this.appearance="default";this.itemLabel="Item";this.itemsPerPageOptions=undefined;this.type="simple";this.rangeLabelType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.hideRangeLabel=false;this.showItemsPerPageControl=false;this.totalItems=undefined}watchItemLabelHandler(){this.capitalizedItemLabel=r(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(t,i){if(JSON.stringify(t)===JSON.stringify(i))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=r(this.pageLabel);this.lowerCasePageLabel=this.pageLabel.toLowerCase()}watchTotalItemsHandler(){this.setPaginationBarContent()}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.watchPageLabelHandler();this.watchItemLabelHandler();this.setPaginationBarContent()}componentDidLoad(){var t,i;this.paginationWidth=this.paginationBarEl.clientWidth;c(this.runResizeObserver);const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(e){const t=(i=e===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input");if(t){t.style.textAlign="center";t.style.padding="0"}}this.paginationShouldWrap()}pageChangeHandler(t){const i=t.detail.value;this.changePage(i)}render(){const{appearance:t,alignment:i,displayedItemsPerPageOptions:a,PAGE_INPUT_FIELD_ID:s,type:n,rangeLabelType:l,hideRangeLabel:h,showItemsPerPageControl:o,showGoToPageControl:r,pageLabel:c,capitalizedPageLabel:p,lowerCasePageLabel:g,capitalizedItemLabel:d,lowerCaseItemLabel:m,totalPages:u,currentPage:f,itemsPerPageString:b}=this;return e("div",{class:{["pagination-bar"]:true,[`pagination-bar-${i}`]:true},ref:t=>this.paginationBarEl=t},(!h||o)&&e("div",{class:"item-controls"},o&&e("div",{class:"items-per-page-holder"},e("ic-typography",{class:{[`pagination-text-${t}`]:true,["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},d,"s per ",g),e("ic-select",{size:"small",label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:a,value:b,onIcChange:this.changeItemsPerPage,ref:t=>this.pageDropdownEl=t})),!h&&(l==="data"?e("ic-typography",{class:{[`pagination-text-${t}`]:true,["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.upperBound===0&&`0 ${m}s`,this.upperBound>0&&`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${m}${this.totalItems>1?"s":""}`):e("ic-typography",{class:{[`pagination-text-${t}`]:true,["page-pagination-label"]:true},variant:"label","aria-live":"polite"},p," ",f," of ",u))),e("div",{class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},e("div",{class:"pagination-holder"},e("ic-pagination",{appearance:t,type:n,pages:u,label:c,ref:t=>this.paginationEl=t})),r&&e("div",{class:"go-to-page-holder"},e("ic-typography",{class:{[`pagination-text-${t}`]:true},variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",g),e("ic-tooltip",{label:this.inputError,target:`#${s}`,disableHover:true,disableClick:true,ref:t=>this.pageInputTooltipEl=t},e("ic-text-field",{type:"number",size:"small",label:s,class:s,id:s,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:u,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:t=>this.pageInputEl=t})),e("ic-button",{appearance:t,variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go"))))}get el(){return s(this)}static get watchers(){return{itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"]}}};m.style=d;export{g as ic_empty_state,m as ic_pagination_bar};
2
- //# sourceMappingURL=p-0bc0e852.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","hostMutationObserver","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","aligned","body","undefined","maxLines","heading","imageSize","subheading","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","childList","render","h","Host","class","name","variant","icPaginationBarCss","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","changeItemsPerPage","setItemsPerPage","Number","pageDropdownEl","value","changePage","page","currentPage","lowerBound","itemsPerPage","setUpperBound","focusElFromLabel","paginationBarEl","querySelector","setFocus","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","emit","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","key","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","paginationWrapped","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","error","focus","inputError","newValue","itemsPerPageString","toString","icItemsPerPageChange","totalItems","Math","ceil","setPaginationBarContent","displayedItemsPerPageOptions","itemsPerPageOptions","slice","label","push","String","filter","lastOptionValue","updated","upperBound","min","watchItemLabelHandler","capitalizedItemLabel","capitalize","itemLabel","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","JSON","stringify","watchPageLabelHandler","capitalizedPageLabel","pageLabel","lowerCasePageLabel","watchTotalItemsHandler","componentWillLoad","checkResizeObserver","shadowRoot","_b","style","textAlign","padding","pageChangeHandler","detail","appearance","alignment","rangeLabelType","hideRangeLabel","showItemsPerPageControl","showGoToPageControl","ref","onClick","size","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n","import { h, Host, forceUpdate } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, checkSlotInChildMutations, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n this.hostMutationCallback = (mutationList) => {\n if (mutationList.some(({ type, addedNodes, removedNodes }) => type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"image\",\n \"actions\",\n ])\n : false)) {\n forceUpdate(this);\n }\n };\n this.aligned = \"left\";\n this.body = undefined;\n this.maxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"medium\";\n this.subheading = undefined;\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { name: \"image\" }), h(\"div\", null, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, heading)), h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)), h(\"slot\", { name: \"body\" }, h(\"ic-typography\", { maxLines: maxLines }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { class: \"action-area\" }, h(\"slot\", { name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\"\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"maxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the image or icon used in the image slot.\"\n },\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.pagination-text-default,\n.pagination-text-dark,\n.pagination-text-light {\n white-space: nowrap;\n}\n\n.pagination-text-light {\n --ic-typography-color: var(--ic-color-white-text);\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() currentPage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 0;\n\n @State() itemsPerPageString: string = \"0\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel);\n this.lowerCaseItemLabel = this.itemLabel.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel);\n this.lowerCasePageLabel = this.pageLabel.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.currentPage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl.setCurrentPage(page);\n this.currentPage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.currentPage > this.totalPages) {\n this.paginationEl.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private setPaginationBarContent = (): void => {\n const displayedItemsPerPageOptions =\n this.itemsPerPageOptions?.slice(0, 3) ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n render() {\n const {\n appearance,\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n currentPage,\n itemsPerPageString,\n } = this;\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) => (this.pageDropdownEl = el)}\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {currentPage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) => (this.pageInputEl = el)}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterLinkCss","FooterLink","constructor","hostRef","this","deviceSize","DEVICE_SIZES","XL","footerConfig","small","grouped","foregroundColor","getThemeForegroundColor","download","href","hreflang","undefined","referrerpolicy","rel","target","componentWillLoad","inferConfig","el","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","mode","e","parentElement","classList","contains","render","h","Host","class","role","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","../web-components/dist/collection/components/ic-footer-link/ic-footer-link.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(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-primary-text);\n}\n\n:host(.footer-link-light) ::part(link),\n:host(.footer-link-dark) ::part(link) {\n color: var(--ic-theme-text);\n}\n\n:host(.footer-link-light) ::slotted(svg),\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-theme-text);\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getThemeForegroundColor } from \"../../utils/helpers\";\nexport class FooterLink {\n constructor() {\n this.deviceSize = DEVICE_SIZES.XL;\n this.footerConfig = { small: false, grouped: false };\n this.foregroundColor = getThemeForegroundColor();\n this.download = false;\n this.href = null;\n this.hreflang = undefined;\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.target = undefined;\n }\n componentWillLoad() {\n this.footerConfig = this.inferConfig(this.el);\n }\n footerResizeHandler() {\n this.footerConfig = this.inferConfig(this.el);\n }\n footerThemeChangeHandler(ev) {\n const theme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n inferConfig(e) {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return {\n small: e.parentElement.classList.contains(\"ic-footer-small\"),\n grouped: e.parentElement.classList.contains(\"ic-footer-grouped\"),\n };\n }\n else {\n return this.inferConfig(e.parentElement);\n }\n }\n else {\n return { small: false, grouped: false };\n }\n }\n render() {\n const { footerConfig, href, hreflang, referrerpolicy, rel, target, download, } = this;\n const { small, grouped } = footerConfig;\n return (h(Host, { class: {\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${small ? \"small\" : \"sparse\"}`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n }, role: \"listitem\" }, h(\"ic-link\", { href: href, hreflang: hreflang, referrerpolicy: referrerpolicy, rel: rel, download: download !== false ? download : null, target: target }, h(\"slot\", null))));\n }\n static get is() { return \"ic-footer-link\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-footer-link.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-footer-link.css\"]\n };\n }\n static get properties() {\n return {\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the link points to.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"footerConfig\": {},\n \"foregroundColor\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"footerResized\",\n \"method\": \"footerResizeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"footerThemeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-footer-link.js.map\n"],"mappings":"oGAAA,MAAMA,EAAkB,o8I,MCEXC,EAAU,MACnB,WAAAC,CAAAC,G,UACIC,KAAKC,WAAaC,EAAaC,GAC/BH,KAAKI,aAAe,CAAEC,MAAO,MAAOC,QAAS,OAC7CN,KAAKO,gBAAkBC,IACvBR,KAAKS,SAAW,MAChBT,KAAKU,KAAO,KACZV,KAAKW,SAAWC,UAChBZ,KAAKa,eAAiBD,UACtBZ,KAAKc,IAAMF,UACXZ,KAAKe,OAASH,S,CAElB,iBAAAI,GACIhB,KAAKI,aAAeJ,KAAKiB,YAAYjB,KAAKkB,G,CAE9C,mBAAAC,GACInB,KAAKI,aAAeJ,KAAKiB,YAAYjB,KAAKkB,G,CAE9C,wBAAAE,CAAyBC,GACrB,MAAMC,EAAQD,EAAGE,OACjBvB,KAAKO,gBAAkBe,EAAME,I,CAEjC,WAAAP,CAAYQ,GACR,GAAIA,EAAEC,gBAAkB,KAAM,CAC1B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,aAAc,CACjD,MAAO,CACHvB,MAAOoB,EAAEC,cAAcC,UAAUC,SAAS,mBAC1CtB,QAASmB,EAAEC,cAAcC,UAAUC,SAAS,qB,KAG/C,CACD,OAAO5B,KAAKiB,YAAYQ,EAAEC,c,MAG7B,CACD,MAAO,CAAErB,MAAO,MAAOC,QAAS,M,EAGxC,MAAAuB,GACI,MAAMzB,aAAEA,EAAYM,KAAEA,EAAIC,SAAEA,EAAQE,eAAEA,EAAcC,IAAEA,EAAGC,OAAEA,EAAMN,SAAEA,GAAcT,KACjF,MAAMK,MAAEA,EAAKC,QAAEA,GAAYF,EAC3B,OAAQ0B,EAAEC,EAAM,CAAEC,MAAO,CACjB,cAAe,KACf,CAAC,eAAe1B,EAAU,UAAY,eAAeD,EAAQ,QAAU,YAAa,KACpF,CAAC,eAAeL,KAAKO,mBAAoB,MAC1C0B,KAAM,YAAcH,EAAE,UAAW,CAAEpB,KAAMA,EAAMC,SAAUA,EAAUE,eAAgBA,EAAgBC,IAAKA,EAAKL,SAAUA,IAAa,MAAQA,EAAW,KAAMM,OAAQA,GAAUe,EAAE,OAAQ,O,CAIpM,yBAAWI,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,f as i,h as s,H as o,g as r}from"./p-8455d1bb.js";import{c,i as a,o as l}from"./p-297e99cf.js";const n=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>\n</svg>`;const h=':host{display:block;border:none;position:relative}:host .tree-item-content{display:flex;align-items:center;height:calc(var(--ic-space-xl) + var(--ic-space-xs));padding:0 var(--ic-space-xs);text-decoration:none;color:var(--ic-primary-text);--ic-typography-color:var(--ic-primary-text)}::slotted([slot="router-item"]){display:flex;align-items:center;height:calc(var(--ic-space-xl) + var(--ic-space-xs));text-decoration:none;font-family:var(--ic-font-body-family);color:var(--ic-primary-text);padding:0 var(--ic-space-xs) !important}::slotted([slot="router-item"].ic-tree-item-single){padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs)) !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover){background-color:var(--ic-action-dark-bg-hover) !important;cursor:pointer}:host .tree-item-content:active,::slotted([slot="router-item"]:active){background-color:var(--ic-action-dark-bg-active) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:var(--ic-action-default-bg-hover) !important}:host(.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-small) ::slotted([slot="router-item"]){height:var(--ic-space-xl)}:host(.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-large) ::slotted([slot="router-item"]){height:var(--ic-space-xxl)}:host(.ic-tree-item-disabled){pointer-events:none}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:var(--ic-architectural-200) !important;--ic-typography-color:var(--ic-architectural-200) !important;fill:var(--ic-architectural-200);pointer-events:none}:host(.ic-tree-item-light) .tree-item-content,:host(.ic-tree-item-light) .arrow-dropdown,:host(.ic-tree-item-light) ::slotted([slot="icon"]),:host(.ic-tree-item-light) ::slotted([slot="router-item"]){color:var(--ic-architectural-white);--ic-typography-color:var(--ic-architectural-white);fill:var(--ic-architectural-white)}:host .arrow-dropdown{color:var(--ic-action-default);margin-right:var(--ic-space-xs)}:host(.ic-tree-item-small) .arrow-dropdown{margin-right:var(--ic-space-xxs)}:host .tree-item-expanded{transform:rotate(180deg);margin-top:calc(-1 * var(--ic-space-xxs))}:host .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-small) .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xxs))}.icon-container{width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-item-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover),:host .tree-item-content:active,::slotted([slot="router-item"]:active),:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:none !important}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:GrayText !important;--ic-typography-color:GrayText !important;fill:GrayText !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){border:var(--ic-hc-border) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){color:Highlight !important;--ic-typography-color:Highlight !important}}';let d=0;const m=class{constructor(s){t(this,s);this.icTreeItemSelected=e(this,"icTreeItemSelected",7);this.treeItemId=`ic-tree-item-${d++}`;this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.TOOLTIP="ic-tooltip";this.handleTreeItemClicked=()=>{if(this.isParent){this.expanded=!this.expanded;this.hasParentExpanded=true}this.updateAriaLabel();this.selected=true;this.watchSelectedHandler()};this.setTreeItemPadding=()=>{let t=1;let e=this.el.parentElement;const i=this.el.shadowRoot.querySelector(".tree-item-content");const s=Array.from(e.children).map((t=>{if(t!==this.el&&!t.querySelector('[slot="router-item"]')&&!t.querySelector('[slot="label"]')){return t.children.length>0}else{return false}})).includes(true);const o=e.tagName===this.treeItemTag;const r=this.hasRouterSlot();if(s&&!this.el.isParent||o&&!this.el.isParent){if(r){this.routerSlot.classList.add("ic-tree-item-single")}else{i.classList.add("ic-tree-item-single")}}while(e){if(e.tagName===this.treeItemTag){t++;if(!this.el.isParent&&s){i.style.paddingLeft=`calc(var(--ic-space-xl) + ${t*16}px)`}else if(!this.el.isParent){i.style.paddingLeft=`calc(var(--ic-space-xs) + ${t*24}px`}else{i.style.paddingLeft=`${t*16}px`}}e=e.parentElement}};this.truncateTreeItemLabel=t=>{const e=t.shadowRoot.querySelector(".tree-item-label");const i=e===null||e===void 0?void 0:e.closest(this.TOOLTIP);const s=t.shadowRoot.querySelector(".tree-item-content");if((e===null||e===void 0?void 0:e.scrollHeight)>(s===null||s===void 0?void 0:s.clientHeight)){e.classList.add("ic-text-overflow");if(!i){const t=document.createElement("ic-tooltip");t.setAttribute("target",this.el.id);t.setAttribute("label",e.textContent);t.classList.add("ic-tooltip-overflow");t.setAttribute("placement","right");s.appendChild(t);t.appendChild(e)}}};this.hostMutationCallback=t=>{if(t.some((({type:t,addedNodes:e,removedNodes:i})=>t==="childList"?c(e,i,"icon"):false))){i(this)}};this.handleDisplayTooltip=t=>{const e=this.el.shadowRoot.querySelector(".tree-item-label");const i=e===null||e===void 0?void 0:e.closest(this.TOOLTIP);i===null||i===void 0?void 0:i.displayTooltip(t)};this.childTreeItems=undefined;this.appearance="dark";this.disabled=false;this.expanded=false;this.hasParentExpanded=false;this.href=undefined;this.hreflang="";this.isParent=false;this.label="";this.referrerpolicy=undefined;this.rel=undefined;this.selected=false;this.size="medium";this.target=undefined}watchSelectedHandler(){if(this.selected){this.icTreeItemSelected.emit({id:this.el.id})}this.updateAriaLabel()}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){this.childTreeItems=Array.from(this.el.children).filter((t=>t.tagName===this.treeItemTag));if(this.childTreeItems.length>0){this.isParent=true}this.setTreeItemPadding();this.updateAriaLabel();this.truncateTreeItemLabel(this.el);!a(this.el,"label")&&l([{prop:this.label,propName:"label"}],"Tree item");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}componentDidUpdate(){if(this.hasParentExpanded){this.childTreeItems.forEach((t=>{this.truncateTreeItemLabel(t)}));this.hasParentExpanded=false}}handleKeyDown(t){if(t.key==="Enter"||t.key===" "){t.stopImmediatePropagation();this.handleTreeItemClicked()}}async setFocus(){var t,e;if(this.hasRouterSlot()){(t=this.routerSlot)===null||t===void 0?void 0:t.focus()}else{(e=this.treeItemElement)===null||e===void 0?void 0:e.focus()}}async updateAriaLabel(){let t;if(this.hasRouterSlot()){t=this.routerSlot.textContent}else if(a(this.el,"label")){t=this.el.querySelector('[slot="label"]').textContent}else{t=this.label}if(this.isParent){t=`${t}, triggers submenu, ${this.expanded?"expanded":"collapsed"}`}if(this.el.parentElement){const e=Array.from(this.el.parentElement.children).filter((t=>t.tagName===this.treeItemTag));const i=e.indexOf(this.el)+1;const s=e.length;t=`${t}, ${i} of ${s}`}if(this.selected){t=`${t}, active`}if(this.disabled){t=`${t}, dimmed`}if(this.hasRouterSlot()){this.routerSlot.ariaLabel=t}else{this.treeItemElement.ariaLabel=t}}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');return!!this.routerSlot}render(){const{appearance:t,disabled:e,label:i,selected:r,size:c,expanded:l}=this;const h=this.href&&!this.disabled?"a":"div";const d=h=="a"&&{href:this.href,hrefLang:this.hreflang,referrerPolicy:this.referrerpolicy,rel:this.rel,target:this.target};return s(o,{class:{[`ic-tree-item-${t}`]:true,"ic-tree-item-disabled":e,"ic-tree-item-selected":!e&&r,[`ic-tree-item-${c}`]:c!=="medium"},id:this.treeItemId},this.hasRouterSlot()?s("slot",{name:"router-item"}):s(h,Object.assign({class:{"tree-item-content":true},tabIndex:e?-1:0,onClick:this.handleTreeItemClicked,ref:t=>this.treeItemElement=t,"aria-disabled":e?"true":"false","aria-live":"polite"},d,{onFocus:()=>this.handleDisplayTooltip(true),onBlur:()=>this.handleDisplayTooltip(false)}),this.isParent&&s("span",{class:{["arrow-dropdown"]:true,["tree-item-expanded"]:l},"aria-hidden":"true",innerHTML:n}),a(this.el,"icon")&&s("div",{class:"icon-container"},s("slot",{name:"icon"})),s("ic-typography",{class:"tree-item-label"},a(this.el,"label")?s("slot",{name:"label"}):i)),l&&s("div",{"aria-hidden":`${!l}`},s("slot",null)))}get el(){return r(this)}static get watchers(){return{selected:["watchSelectedHandler"]}}};m.style=h;export{m as ic_tree_item};
2
- //# sourceMappingURL=p-13100d3c.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTreeItemCss","treeItemIds","TreeItem","this","treeItemId","treeItemTag","hostMutationObserver","TOOLTIP","handleTreeItemClicked","isParent","expanded","hasParentExpanded","updateAriaLabel","selected","watchSelectedHandler","setTreeItemPadding","level","parentElement","el","treeItemContent","shadowRoot","querySelector","isSiblingOfParent","Array","from","children","map","sibling","length","includes","isChild","tagName","isRouterItem","hasRouterSlot","routerSlot","classList","add","style","paddingLeft","truncateTreeItemLabel","treeItem","typographyEl","tooltip","closest","treeContent","scrollHeight","clientHeight","tooltipEl","document","createElement","setAttribute","id","textContent","appendChild","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","handleDisplayTooltip","display","displayTooltip","icTreeItemSelected","emit","disconnectedCallback","_a","disconnect","componentDidLoad","childTreeItems","filter","child","isSlotUsed","onComponentRequiredPropUndefined","prop","label","propName","MutationObserver","observe","childList","componentDidUpdate","forEach","handleKeyDown","ev","key","stopImmediatePropagation","setFocus","focus","_b","treeItemElement","ariaLabel","treeItems","index","indexOf","parentChildren","disabled","render","appearance","size","Component","href","attrs","hrefLang","hreflang","referrerPolicy","referrerpolicy","rel","target","h","Host","class","name","Object","assign","tabIndex","onClick","ref","onFocus","onBlur","innerHTML","arrowDropdown"],"sources":["src/components/ic-tree-item/ic-tree-item.css?tag=ic-tree-item&encapsulation=shadow","src/components/ic-tree-item/ic-tree-item.tsx"],"sourcesContent":[":host {\n display: block;\n border: none;\n position: relative;\n}\n\n:host .tree-item-content {\n display: flex;\n align-items: center;\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n padding: 0 var(--ic-space-xs);\n text-decoration: none;\n color: var(--ic-primary-text);\n\n --ic-typography-color: var(--ic-primary-text);\n}\n\n::slotted([slot=\"router-item\"]) {\n display: flex;\n align-items: center;\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n text-decoration: none;\n font-family: var(--ic-font-body-family);\n color: var(--ic-primary-text);\n padding: 0 var(--ic-space-xs) !important;\n}\n\n::slotted([slot=\"router-item\"].ic-tree-item-single) {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs)) !important;\n}\n\n:host .tree-item-content:focus,\n::slotted([slot=\"router-item\"]:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n:host .tree-item-content:hover,\n::slotted([slot=\"router-item\"]:hover) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n cursor: pointer;\n}\n\n:host .tree-item-content:active,\n::slotted([slot=\"router-item\"]:active) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.ic-tree-item-selected) .tree-item-content,\n:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: var(--ic-action-default-bg-hover) !important;\n}\n\n:host(.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-small) ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-xl);\n}\n\n:host(.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-large) ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-xxl);\n}\n\n:host(.ic-tree-item-disabled) {\n pointer-events: none;\n}\n\n:host(.ic-tree-item-disabled) .tree-item-content,\n:host(.ic-tree-item-disabled) .arrow-dropdown,\n:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-architectural-200) !important;\n\n --ic-typography-color: var(--ic-architectural-200) !important;\n\n fill: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n:host(.ic-tree-item-light) .tree-item-content,\n:host(.ic-tree-item-light) .arrow-dropdown,\n:host(.ic-tree-item-light) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-light) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-architectural-white);\n\n --ic-typography-color: var(--ic-architectural-white);\n\n fill: var(--ic-architectural-white);\n}\n\n:host .arrow-dropdown {\n color: var(--ic-action-default);\n margin-right: var(--ic-space-xs);\n}\n\n:host(.ic-tree-item-small) .arrow-dropdown {\n margin-right: var(--ic-space-xxs);\n}\n\n:host .tree-item-expanded {\n transform: rotate(180deg);\n margin-top: calc(-1 * var(--ic-space-xxs));\n}\n\n:host .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-small) .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-item-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n\n :host .tree-item-content:hover,\n ::slotted([slot=\"router-item\"]:hover),\n :host .tree-item-content:active,\n ::slotted([slot=\"router-item\"]:active),\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: none !important;\n }\n\n :host(.ic-tree-item-disabled) .tree-item-content,\n :host(.ic-tree-item-disabled) .arrow-dropdown,\n :host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n :host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: GrayText !important;\n\n --ic-typography-color: GrayText !important;\n\n fill: GrayText !important;\n }\n\n :host .tree-item-content:focus,\n ::slotted([slot=\"router-item\"]:focus) {\n border: var(--ic-hc-border) !important;\n }\n\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n color: Highlight !important;\n\n --ic-typography-color: Highlight !important;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Host,\n Watch,\n State,\n Listen,\n forceUpdate,\n Method,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeForegroundNoDefault } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet treeItemIds = 0;\n\n/**\n * @slot label - Content is set as the tree item label.\n * @slot icon - Content is placed to the left of the label.\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n@Component({\n tag: \"ic-tree-item\",\n styleUrl: \"ic-tree-item.css\",\n shadow: true,\n})\nexport class TreeItem {\n private treeItemId = `ic-tree-item-${treeItemIds++}`;\n private treeItemElement: HTMLElement;\n private treeItemTag = \"IC-TREE-ITEM\";\n private routerSlot: HTMLElement;\n private hostMutationObserver: MutationObserver = null;\n private TOOLTIP = \"ic-tooltip\";\n\n @Element() el: HTMLIcTreeItemElement;\n\n @State() childTreeItems: HTMLIcTreeItemElement[];\n\n /**\n * @internal Determines whether the light or dark variant of the tree item should be displayed.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * If `true`, the tree item appears in the disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * @internal If `true`, the tree item appears in the expanded state.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * @internal Determines if the parent tree item has been expanded.\n */\n @Prop({ mutable: true }) hasParentExpanded: boolean = false;\n\n /**\n * The URL that the tree item link points to. If set, the tree item will render as an \"a\" tag, otherwise it will render as a div.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * @internal If `true`, the tree item is a parent of other tree items.\n */\n @Prop({ mutable: true }) isParent: boolean = false;\n\n /**\n * The label of the tree item.\n */\n @Prop() label: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * If `true`, the tree item appears in the selected state.\n */\n @Prop({ mutable: true }) selected: boolean = false;\n @Watch(\"selected\")\n watchSelectedHandler() {\n if (this.selected) {\n this.icTreeItemSelected.emit({ id: this.el.id });\n }\n this.updateAriaLabel();\n }\n\n /**\n * @internal Determines the size of the tree item.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Emitted when tree item is selected.\n */\n @Event() icTreeItemSelected: EventEmitter<{ id: string }>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.childTreeItems = Array.from((this.el as HTMLElement).children).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n if (this.childTreeItems.length > 0) {\n this.isParent = true;\n }\n\n this.setTreeItemPadding();\n\n this.updateAriaLabel();\n\n this.truncateTreeItemLabel(this.el);\n\n !isSlotUsed(this.el, \"label\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tree item\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n componentDidUpdate(): void {\n if (this.hasParentExpanded) {\n this.childTreeItems.forEach((child) => {\n this.truncateTreeItemLabel(child);\n });\n this.hasParentExpanded = false;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.stopImmediatePropagation();\n this.handleTreeItemClicked();\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.hasRouterSlot()) {\n this.routerSlot?.focus();\n } else {\n this.treeItemElement?.focus();\n }\n }\n\n private handleTreeItemClicked = (): void => {\n if (this.isParent) {\n this.expanded = !this.expanded;\n this.hasParentExpanded = true;\n }\n\n this.updateAriaLabel();\n this.selected = true;\n this.watchSelectedHandler();\n };\n\n /**\n * @internal Updates the aria-label of the tree item.\n */\n @Method()\n async updateAriaLabel(): Promise<void> {\n let ariaLabel;\n\n if (this.hasRouterSlot()) {\n ariaLabel = this.routerSlot.textContent;\n } else if (isSlotUsed(this.el, \"label\")) {\n ariaLabel = this.el.querySelector('[slot=\"label\"]').textContent;\n } else {\n ariaLabel = this.label;\n }\n\n if (this.isParent) {\n ariaLabel = `${ariaLabel}, triggers submenu, ${\n this.expanded ? \"expanded\" : \"collapsed\"\n }`;\n }\n\n if (this.el.parentElement) {\n const treeItems = Array.from(\n (this.el.parentElement as HTMLElement).children\n ).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n const index = treeItems.indexOf(this.el) + 1;\n const parentChildren = treeItems.length;\n\n ariaLabel = `${ariaLabel}, ${index} of ${parentChildren}`;\n }\n\n if (this.selected) {\n ariaLabel = `${ariaLabel}, active`;\n }\n\n if (this.disabled) {\n ariaLabel = `${ariaLabel}, dimmed`;\n }\n\n if (this.hasRouterSlot()) {\n this.routerSlot.ariaLabel = ariaLabel;\n } else {\n this.treeItemElement.ariaLabel = ariaLabel;\n }\n }\n\n private setTreeItemPadding = () => {\n let level = 1;\n let parentElement = this.el.parentElement;\n const treeItemContent = this.el.shadowRoot.querySelector(\n \".tree-item-content\"\n ) as HTMLElement;\n\n const isSiblingOfParent = Array.from(parentElement.children)\n .map((sibling) => {\n if (\n sibling !== this.el &&\n !sibling.querySelector('[slot=\"router-item\"]') &&\n !sibling.querySelector('[slot=\"label\"]')\n ) {\n return sibling.children.length > 0;\n } else {\n return false;\n }\n })\n .includes(true);\n\n const isChild = parentElement.tagName === this.treeItemTag;\n\n const isRouterItem = this.hasRouterSlot();\n\n if (\n (isSiblingOfParent && !this.el.isParent) ||\n (isChild && !this.el.isParent)\n ) {\n if (isRouterItem) {\n this.routerSlot.classList.add(\"ic-tree-item-single\");\n } else {\n treeItemContent.classList.add(\"ic-tree-item-single\");\n }\n }\n\n while (parentElement) {\n if (parentElement.tagName === this.treeItemTag) {\n level++;\n if (!this.el.isParent && isSiblingOfParent) {\n treeItemContent.style.paddingLeft = `calc(var(--ic-space-xl) + ${\n level * 16\n }px)`;\n } else if (!this.el.isParent) {\n treeItemContent.style.paddingLeft = `calc(var(--ic-space-xs) + ${\n level * 24\n }px`;\n } else {\n treeItemContent.style.paddingLeft = `${level * 16}px`;\n }\n }\n parentElement = parentElement.parentElement;\n }\n };\n\n private truncateTreeItemLabel = (treeItem: HTMLIcTreeItemElement) => {\n const typographyEl: HTMLIcTypographyElement =\n treeItem.shadowRoot.querySelector(\".tree-item-label\");\n const tooltip = typographyEl?.closest(this.TOOLTIP);\n const treeContent: HTMLElement =\n treeItem.shadowRoot.querySelector(\".tree-item-content\");\n\n if (typographyEl?.scrollHeight > treeContent?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n treeContent.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n return !!this.routerSlot;\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"icon\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n private handleDisplayTooltip = (display: boolean) => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-item-label\");\n const tooltip: HTMLIcTooltipElement = typographyEl?.closest(this.TOOLTIP);\n\n tooltip?.displayTooltip(display);\n };\n\n render() {\n const { appearance, disabled, label, selected, size, expanded } = this;\n\n const Component = this.href && !this.disabled ? \"a\" : \"div\";\n\n const attrs = Component == \"a\" && {\n href: this.href,\n hrefLang: this.hreflang,\n referrerPolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n };\n\n return (\n <Host\n class={{\n [`ic-tree-item-${appearance}`]: true,\n \"ic-tree-item-disabled\": disabled,\n \"ic-tree-item-selected\": !disabled && selected,\n [`ic-tree-item-${size}`]: size !== \"medium\",\n }}\n id={this.treeItemId}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\" />\n ) : (\n <Component\n class={{\n \"tree-item-content\": true,\n }}\n tabIndex={disabled ? -1 : 0}\n onClick={this.handleTreeItemClicked}\n ref={(el) => (this.treeItemElement = el)}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-live=\"polite\"\n {...attrs}\n onFocus={() => this.handleDisplayTooltip(true)}\n onBlur={() => this.handleDisplayTooltip(false)}\n >\n {this.isParent && (\n <span\n class={{\n [\"arrow-dropdown\"]: true,\n [\"tree-item-expanded\"]: expanded,\n }}\n aria-hidden=\"true\"\n innerHTML={arrowDropdown}\n />\n )}\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography class=\"tree-item-label\">\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </ic-typography>\n </Component>\n )}\n {expanded && (\n <div aria-hidden={`${!expanded}`}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}