@ukic/canary-web-components 2.0.0-canary.23 → 2.0.0-canary.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (674) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-85c5ca15.js → helpers-6817cfbb.js} +20 -31
  3. package/dist/cjs/helpers-6817cfbb.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +7 -7
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +3 -3
  7. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +11 -4
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +14 -11
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +26 -14
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-button_3.cjs.entry.js +21 -18
  19. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  21. package/dist/cjs/{ic-card-vertical.cjs.entry.js → ic-card.cjs.entry.js} +5 -5
  22. package/dist/cjs/ic-card.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -5
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +14 -5
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +9 -2
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-entity.cjs.entry.js +29 -0
  32. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ic-data-row.cjs.entry.js +9 -8
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-data-table.cjs.entry.js +205 -51
  38. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-date-input.cjs.entry.js +3 -2
  40. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-date-picker.cjs.entry.js +5 -3
  42. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-dialog.cjs.entry.js +96 -11
  44. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-empty-state_2.cjs.entry.js +7 -7
  46. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  48. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -5
  50. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-footer.cjs.entry.js +7 -7
  52. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-hero.cjs.entry.js +8 -7
  54. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -4
  56. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +24 -20
  58. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-link.cjs.entry.js +6 -5
  60. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +11 -9
  64. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-menu.cjs.entry.js +9 -7
  66. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js +8 -8
  68. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  70. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-page-header.cjs.entry.js +7 -6
  74. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination_4.cjs.entry.js +99 -92
  76. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +25 -14
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +17 -4
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +23 -17
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-select-with-multi.cjs.entry.js +21 -13
  86. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-skeleton.cjs.entry.js +5 -4
  90. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-status-tag.cjs.entry.js +10 -1
  92. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-step.cjs.entry.js +42 -39
  94. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-stepper.cjs.entry.js +15 -15
  96. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-switch.cjs.entry.js +5 -4
  98. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-context.cjs.entry.js +11 -0
  100. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -3
  102. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-panel.cjs.entry.js +7 -0
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-toast-region.cjs.entry.js +7 -0
  108. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-toast.cjs.entry.js +34 -82
  110. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +16 -16
  112. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toggle-button.cjs.entry.js +12 -12
  114. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-top-navigation.cjs.entry.js +3 -3
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-tree-item.cjs.entry.js +1 -1
  118. package/dist/cjs/ic-tree-view.cjs.entry.js +1 -1
  119. package/dist/cjs/ic-typography.cjs.entry.js +5 -5
  120. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  121. package/dist/cjs/index-4cf27b16.js +10 -10
  122. package/dist/cjs/loader.cjs.js +1 -1
  123. package/dist/collection/collection-manifest.json +2 -2
  124. package/dist/collection/components/ic-data-table/ic-data-table.css +31 -7
  125. package/dist/collection/components/ic-data-table/ic-data-table.js +323 -56
  126. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  127. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  128. package/dist/collection/components/ic-data-table/story-data.js +149 -54
  129. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  130. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +15 -0
  131. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  132. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +1 -1
  133. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  134. package/dist/collection/components/ic-date-input/ic-date-input.js +20 -1
  135. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  136. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +9 -0
  137. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -1
  138. package/dist/collection/components/ic-date-picker/ic-date-picker.css +24 -24
  139. package/dist/collection/components/ic-date-picker/ic-date-picker.js +21 -1
  140. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  141. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +10 -0
  142. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -1
  143. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +11 -11
  144. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +30 -7
  145. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  146. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +1 -1
  147. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  148. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
  149. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  150. package/dist/collection/components/ic-select-with-multi/ic-select.css +12 -14
  151. package/dist/collection/components/ic-select-with-multi/ic-select.js +142 -13
  152. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  153. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +1 -1
  154. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +1 -1
  155. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +6 -6
  156. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  157. package/dist/collection/utils/helpers.js +22 -0
  158. package/dist/collection/utils/helpers.js.map +1 -1
  159. package/dist/collection/utils/types.js.map +1 -1
  160. package/dist/components/helpers2.js +18 -29
  161. package/dist/components/helpers2.js.map +1 -1
  162. package/dist/components/ic-accordion-group.js +8 -8
  163. package/dist/components/ic-accordion-group.js.map +1 -1
  164. package/dist/components/ic-accordion.js +3 -3
  165. package/dist/components/ic-accordion.js.map +1 -1
  166. package/dist/components/ic-alert.js +1 -127
  167. package/dist/components/ic-alert.js.map +1 -1
  168. package/dist/components/ic-alert2.js +139 -0
  169. package/dist/components/ic-alert2.js.map +1 -0
  170. package/dist/components/ic-back-to-top.js +15 -24
  171. package/dist/components/ic-back-to-top.js.map +1 -1
  172. package/dist/components/ic-badge.js +30 -16
  173. package/dist/components/ic-badge.js.map +1 -1
  174. package/dist/components/ic-breadcrumb-group.js +3 -3
  175. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  176. package/dist/components/ic-breadcrumb2.js +2 -2
  177. package/dist/components/ic-breadcrumb2.js.map +1 -1
  178. package/dist/components/ic-button2.js +14 -11
  179. package/dist/components/ic-button2.js.map +1 -1
  180. package/dist/components/{ic-card-vertical.js → ic-card.js} +10 -10
  181. package/dist/components/ic-card.js.map +1 -0
  182. package/dist/components/ic-checkbox-group.js +5 -5
  183. package/dist/components/ic-checkbox-group.js.map +1 -1
  184. package/dist/components/ic-checkbox.js +20 -5
  185. package/dist/components/ic-checkbox.js.map +1 -1
  186. package/dist/components/ic-chip.js +10 -2
  187. package/dist/components/ic-chip.js.map +1 -1
  188. package/dist/components/ic-classification-banner.js +2 -2
  189. package/dist/components/ic-classification-banner.js.map +1 -1
  190. package/dist/components/ic-data-entity.js +53 -0
  191. package/dist/components/ic-data-entity.js.map +1 -0
  192. package/dist/components/ic-data-row.js +11 -9
  193. package/dist/components/ic-data-row.js.map +1 -1
  194. package/dist/components/ic-data-table-title-bar.js +1 -1
  195. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  196. package/dist/components/ic-data-table.js +212 -52
  197. package/dist/components/ic-data-table.js.map +1 -1
  198. package/dist/components/ic-date-input2.js +3 -1
  199. package/dist/components/ic-date-input2.js.map +1 -1
  200. package/dist/components/ic-date-picker.js +5 -2
  201. package/dist/components/ic-date-picker.js.map +1 -1
  202. package/dist/components/ic-dialog.js +112 -14
  203. package/dist/components/ic-dialog.js.map +1 -1
  204. package/dist/components/ic-empty-state2.js +6 -6
  205. package/dist/components/ic-empty-state2.js.map +1 -1
  206. package/dist/components/ic-footer-link-group.js +9 -9
  207. package/dist/components/ic-footer-link-group.js.map +1 -1
  208. package/dist/components/ic-footer-link.js +7 -12
  209. package/dist/components/ic-footer-link.js.map +1 -1
  210. package/dist/components/ic-footer.js +7 -7
  211. package/dist/components/ic-footer.js.map +1 -1
  212. package/dist/components/ic-hero.js +9 -7
  213. package/dist/components/ic-hero.js.map +1 -1
  214. package/dist/components/ic-horizontal-scroll2.js +4 -4
  215. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  216. package/dist/components/ic-input-component-container2.js +15 -10
  217. package/dist/components/ic-input-component-container2.js.map +1 -1
  218. package/dist/components/ic-input-label2.js +11 -9
  219. package/dist/components/ic-input-label2.js.map +1 -1
  220. package/dist/components/ic-input-validation2.js +3 -3
  221. package/dist/components/ic-input-validation2.js.map +1 -1
  222. package/dist/components/ic-link2.js +7 -5
  223. package/dist/components/ic-link2.js.map +1 -1
  224. package/dist/components/ic-loading-indicator2.js +8 -8
  225. package/dist/components/ic-loading-indicator2.js.map +1 -1
  226. package/dist/components/ic-menu-item2.js +2 -2
  227. package/dist/components/ic-menu-item2.js.map +1 -1
  228. package/dist/components/ic-menu2.js +10 -7
  229. package/dist/components/ic-menu2.js.map +1 -1
  230. package/dist/components/ic-menu3.js +11 -8
  231. package/dist/components/ic-menu3.js.map +1 -1
  232. package/dist/components/ic-navigation-group.js +8 -8
  233. package/dist/components/ic-navigation-group.js.map +1 -1
  234. package/dist/components/ic-navigation-item.js +4 -4
  235. package/dist/components/ic-navigation-item.js.map +1 -1
  236. package/dist/components/ic-navigation-menu2.js +1 -1
  237. package/dist/components/ic-navigation-menu2.js.map +1 -1
  238. package/dist/components/ic-page-header.js +8 -6
  239. package/dist/components/ic-page-header.js.map +1 -1
  240. package/dist/components/ic-pagination-bar2.js +1 -1
  241. package/dist/components/ic-pagination-bar2.js.map +1 -1
  242. package/dist/components/ic-pagination2.js +34 -36
  243. package/dist/components/ic-pagination2.js.map +1 -1
  244. package/dist/components/ic-popover-menu.js +2 -2
  245. package/dist/components/ic-popover-menu.js.map +1 -1
  246. package/dist/components/ic-radio-group.js +27 -15
  247. package/dist/components/ic-radio-group.js.map +1 -1
  248. package/dist/components/ic-radio-option.js +25 -6
  249. package/dist/components/ic-radio-option.js.map +1 -1
  250. package/dist/components/ic-search-bar.js +26 -19
  251. package/dist/components/ic-search-bar.js.map +1 -1
  252. package/dist/components/ic-select-with-multi.js +28 -13
  253. package/dist/components/ic-select-with-multi.js.map +1 -1
  254. package/dist/components/ic-select2.js +28 -13
  255. package/dist/components/ic-select2.js.map +1 -1
  256. package/dist/components/ic-side-navigation.js +6 -6
  257. package/dist/components/ic-side-navigation.js.map +1 -1
  258. package/dist/components/ic-skeleton.js +6 -4
  259. package/dist/components/ic-skeleton.js.map +1 -1
  260. package/dist/components/ic-status-tag.js +12 -1
  261. package/dist/components/ic-status-tag.js.map +1 -1
  262. package/dist/components/ic-step.js +48 -45
  263. package/dist/components/ic-step.js.map +1 -1
  264. package/dist/components/ic-stepper.js +15 -15
  265. package/dist/components/ic-stepper.js.map +1 -1
  266. package/dist/components/ic-switch.js +6 -4
  267. package/dist/components/ic-switch.js.map +1 -1
  268. package/dist/components/ic-tab-context.js +11 -0
  269. package/dist/components/ic-tab-context.js.map +1 -1
  270. package/dist/components/ic-tab-group.js +5 -3
  271. package/dist/components/ic-tab-group.js.map +1 -1
  272. package/dist/components/ic-tab-panel.js +8 -0
  273. package/dist/components/ic-tab-panel.js.map +1 -1
  274. package/dist/components/ic-tab.js +3 -3
  275. package/dist/components/ic-tab.js.map +1 -1
  276. package/dist/components/ic-text-field2.js +54 -50
  277. package/dist/components/ic-text-field2.js.map +1 -1
  278. package/dist/components/ic-toast-region.js +9 -1
  279. package/dist/components/ic-toast-region.js.map +1 -1
  280. package/dist/components/ic-toast.js +35 -85
  281. package/dist/components/ic-toast.js.map +1 -1
  282. package/dist/components/ic-toggle-button-group.js +16 -16
  283. package/dist/components/ic-toggle-button-group.js.map +1 -1
  284. package/dist/components/ic-toggle-button.js +13 -13
  285. package/dist/components/ic-toggle-button.js.map +1 -1
  286. package/dist/components/ic-top-navigation.js +3 -3
  287. package/dist/components/ic-top-navigation.js.map +1 -1
  288. package/dist/components/ic-typography2.js +5 -5
  289. package/dist/components/ic-typography2.js.map +1 -1
  290. package/dist/core/core.css +1 -1
  291. package/dist/core/core.esm.js +1 -1
  292. package/dist/core/core.esm.js.map +1 -1
  293. package/dist/core/{p-0896531a.entry.js → p-0180e00a.entry.js} +2 -2
  294. package/dist/core/p-0180e00a.entry.js.map +1 -0
  295. package/dist/core/p-046f4de6.entry.js +2 -0
  296. package/dist/core/p-046f4de6.entry.js.map +1 -0
  297. package/dist/core/{p-00b29b5c.entry.js → p-0ec04c16.entry.js} +2 -2
  298. package/dist/core/p-0ec04c16.entry.js.map +1 -0
  299. package/dist/core/p-13993bf3.entry.js +2 -0
  300. package/dist/core/p-13993bf3.entry.js.map +1 -0
  301. package/dist/core/p-16a48a63.entry.js +2 -0
  302. package/dist/core/p-16a48a63.entry.js.map +1 -0
  303. package/dist/core/{p-401d0c66.entry.js → p-20997691.entry.js} +2 -2
  304. package/dist/core/{p-64b1e4a8.entry.js → p-216fbd5e.entry.js} +2 -2
  305. package/dist/core/p-216fbd5e.entry.js.map +1 -0
  306. package/dist/core/p-297e99cf.js +2 -0
  307. package/dist/core/p-297e99cf.js.map +1 -0
  308. package/dist/core/p-2d063032.entry.js +2 -0
  309. package/dist/core/p-2d063032.entry.js.map +1 -0
  310. package/dist/core/p-2ee5d3fb.entry.js +2 -0
  311. package/dist/core/p-2ee5d3fb.entry.js.map +1 -0
  312. package/dist/core/p-2f7e6e38.entry.js +2 -0
  313. package/dist/core/p-2f7e6e38.entry.js.map +1 -0
  314. package/dist/core/p-3a59391f.entry.js +2 -0
  315. package/dist/core/p-3a59391f.entry.js.map +1 -0
  316. package/dist/core/p-3ba4335c.entry.js +2 -0
  317. package/dist/core/p-3ba4335c.entry.js.map +1 -0
  318. package/dist/core/p-40e5fa80.entry.js +2 -0
  319. package/dist/core/p-40e5fa80.entry.js.map +1 -0
  320. package/dist/core/p-418a84d4.entry.js +2 -0
  321. package/dist/core/p-418a84d4.entry.js.map +1 -0
  322. package/dist/core/p-41916ef7.entry.js +2 -0
  323. package/dist/core/p-41916ef7.entry.js.map +1 -0
  324. package/dist/core/{p-4188b38a.entry.js → p-452985d9.entry.js} +2 -2
  325. package/dist/core/{p-f1072c28.entry.js.map → p-452985d9.entry.js.map} +1 -1
  326. package/dist/core/p-486a6957.entry.js +2 -0
  327. package/dist/core/p-486a6957.entry.js.map +1 -0
  328. package/dist/core/{p-21ecca00.entry.js → p-5348af01.entry.js} +2 -2
  329. package/dist/core/p-5348af01.entry.js.map +1 -0
  330. package/dist/core/{p-54306250.entry.js → p-5fea8f1c.entry.js} +2 -2
  331. package/dist/core/{p-54306250.entry.js.map → p-5fea8f1c.entry.js.map} +1 -1
  332. package/dist/core/p-6358925c.entry.js +2 -0
  333. package/dist/core/p-6358925c.entry.js.map +1 -0
  334. package/dist/core/p-6398a726.entry.js +2 -0
  335. package/dist/core/p-6398a726.entry.js.map +1 -0
  336. package/dist/core/{p-3f2ae26e.entry.js → p-648fb902.entry.js} +2 -2
  337. package/dist/core/p-648fb902.entry.js.map +1 -0
  338. package/dist/core/p-673a4a62.entry.js +2 -0
  339. package/dist/core/p-673a4a62.entry.js.map +1 -0
  340. package/dist/core/{p-88ba5a88.entry.js → p-67ae9d37.entry.js} +2 -2
  341. package/dist/core/p-6af080d3.entry.js +2 -0
  342. package/dist/core/p-6af080d3.entry.js.map +1 -0
  343. package/dist/core/{p-bcf04b18.entry.js → p-6b01e096.entry.js} +2 -2
  344. package/dist/core/p-6b01e096.entry.js.map +1 -0
  345. package/dist/core/{p-cbd730aa.entry.js → p-6b1fcf87.entry.js} +2 -2
  346. package/dist/core/p-6b1fcf87.entry.js.map +1 -0
  347. package/dist/core/{p-22260ed4.entry.js → p-6fb3d61e.entry.js} +2 -2
  348. package/dist/core/p-74abc3bb.entry.js +2 -0
  349. package/dist/core/p-74abc3bb.entry.js.map +1 -0
  350. package/dist/core/{p-f1072c28.entry.js → p-787ffd96.entry.js} +2 -2
  351. package/dist/core/p-787ffd96.entry.js.map +1 -0
  352. package/dist/core/p-789ae7f5.entry.js +2 -0
  353. package/dist/core/p-789ae7f5.entry.js.map +1 -0
  354. package/dist/core/{p-4309460f.entry.js → p-80d6a6b5.entry.js} +2 -2
  355. package/dist/core/{p-2fb52051.js → p-8128572e.js} +2 -2
  356. package/dist/core/p-89c7ea3e.entry.js +2 -0
  357. package/dist/core/p-89c7ea3e.entry.js.map +1 -0
  358. package/dist/core/p-8d276e8f.entry.js +2 -0
  359. package/dist/core/p-8d276e8f.entry.js.map +1 -0
  360. package/dist/core/{p-30d385c6.entry.js → p-92f701e7.entry.js} +2 -2
  361. package/dist/core/p-92f701e7.entry.js.map +1 -0
  362. package/dist/core/p-969cadfa.entry.js +2 -0
  363. package/dist/core/p-969cadfa.entry.js.map +1 -0
  364. package/dist/core/p-9777ebb1.entry.js +2 -0
  365. package/dist/core/p-9777ebb1.entry.js.map +1 -0
  366. package/dist/core/{p-41a53070.entry.js → p-97f141a6.entry.js} +2 -2
  367. package/dist/core/p-97f141a6.entry.js.map +1 -0
  368. package/dist/core/p-989310a8.entry.js +2 -0
  369. package/dist/core/p-989310a8.entry.js.map +1 -0
  370. package/dist/core/p-99185fd5.entry.js +2 -0
  371. package/dist/core/p-99185fd5.entry.js.map +1 -0
  372. package/dist/core/p-99f96c33.entry.js +2 -0
  373. package/dist/core/p-99f96c33.entry.js.map +1 -0
  374. package/dist/core/{p-ede631c5.entry.js → p-9b34989b.entry.js} +2 -2
  375. package/dist/core/{p-b6e208e3.entry.js → p-a72af8db.entry.js} +2 -2
  376. package/dist/core/p-aa72f551.entry.js +2 -0
  377. package/dist/core/p-aa72f551.entry.js.map +1 -0
  378. package/dist/core/p-aaaa9261.entry.js +2 -0
  379. package/dist/core/p-aaaa9261.entry.js.map +1 -0
  380. package/dist/core/p-b2c433e2.entry.js +2 -0
  381. package/dist/core/p-b2c433e2.entry.js.map +1 -0
  382. package/dist/core/p-bd1f8741.entry.js +2 -0
  383. package/dist/core/p-bd1f8741.entry.js.map +1 -0
  384. package/dist/core/p-bee3fdb0.entry.js +2 -0
  385. package/dist/core/p-bee3fdb0.entry.js.map +1 -0
  386. package/dist/core/{p-2533d147.entry.js → p-bfc5f3f4.entry.js} +2 -2
  387. package/dist/core/p-bfc5f3f4.entry.js.map +1 -0
  388. package/dist/core/p-c6bdbe69.entry.js +2 -0
  389. package/dist/core/p-c6bdbe69.entry.js.map +1 -0
  390. package/dist/core/p-c98ce508.entry.js +2 -0
  391. package/dist/core/p-c98ce508.entry.js.map +1 -0
  392. package/dist/core/p-cb3afdbf.entry.js +2 -0
  393. package/dist/core/p-cb3afdbf.entry.js.map +1 -0
  394. package/dist/core/p-ccf72538.entry.js +2 -0
  395. package/dist/core/p-ccf72538.entry.js.map +1 -0
  396. package/dist/core/p-ce0999f1.entry.js +2 -0
  397. package/dist/core/p-ce0999f1.entry.js.map +1 -0
  398. package/dist/core/p-d02a4d1b.entry.js +2 -0
  399. package/dist/core/p-d02a4d1b.entry.js.map +1 -0
  400. package/dist/core/p-d362992d.entry.js +2 -0
  401. package/dist/core/p-d362992d.entry.js.map +1 -0
  402. package/dist/core/p-d8322108.entry.js +2 -0
  403. package/dist/core/p-d8322108.entry.js.map +1 -0
  404. package/dist/core/{p-125bc120.entry.js → p-d86cdbc8.entry.js} +2 -2
  405. package/dist/core/{p-a4d0f166.entry.js → p-da8255b8.entry.js} +2 -2
  406. package/dist/core/p-da8255b8.entry.js.map +1 -0
  407. package/dist/core/p-ee8a3de6.entry.js +2 -0
  408. package/dist/core/p-ee8a3de6.entry.js.map +1 -0
  409. package/dist/core/{p-be70c278.entry.js → p-f09b2041.entry.js} +2 -2
  410. package/dist/core/{p-be70c278.entry.js.map → p-f09b2041.entry.js.map} +1 -1
  411. package/dist/core/p-f1044e4d.entry.js +2 -0
  412. package/dist/core/p-f1044e4d.entry.js.map +1 -0
  413. package/dist/core/p-f10f7f37.entry.js +2 -0
  414. package/dist/core/p-f10f7f37.entry.js.map +1 -0
  415. package/dist/core/p-fa77211d.entry.js +2 -0
  416. package/dist/core/p-fa77211d.entry.js.map +1 -0
  417. package/dist/esm/core.js +1 -1
  418. package/dist/esm/{helpers-f543bc77.js → helpers-5bd2012a.js} +19 -30
  419. package/dist/esm/helpers-5bd2012a.js.map +1 -0
  420. package/dist/esm/{helpers-0f5fe29b.js → helpers-886489d5.js} +2 -2
  421. package/dist/esm/{helpers-0f5fe29b.js.map → helpers-886489d5.js.map} +1 -1
  422. package/dist/esm/ic-accordion-group.entry.js +8 -8
  423. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  424. package/dist/esm/ic-accordion.entry.js +4 -4
  425. package/dist/esm/ic-accordion.entry.js.map +1 -1
  426. package/dist/esm/ic-alert.entry.js +12 -5
  427. package/dist/esm/ic-alert.entry.js.map +1 -1
  428. package/dist/esm/ic-back-to-top.entry.js +15 -12
  429. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  430. package/dist/esm/ic-badge.entry.js +27 -15
  431. package/dist/esm/ic-badge.entry.js.map +1 -1
  432. package/dist/esm/ic-breadcrumb-group.entry.js +4 -4
  433. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  434. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  435. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  436. package/dist/esm/ic-button_3.entry.js +22 -19
  437. package/dist/esm/ic-button_3.entry.js.map +1 -1
  438. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  439. package/dist/esm/{ic-card-vertical.entry.js → ic-card.entry.js} +6 -6
  440. package/dist/esm/ic-card.entry.js.map +1 -0
  441. package/dist/esm/ic-checkbox-group.entry.js +5 -6
  442. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  443. package/dist/esm/ic-checkbox.entry.js +15 -6
  444. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  445. package/dist/esm/ic-chip.entry.js +10 -3
  446. package/dist/esm/ic-chip.entry.js.map +1 -1
  447. package/dist/esm/ic-classification-banner.entry.js +2 -2
  448. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  449. package/dist/esm/ic-data-entity.entry.js +25 -0
  450. package/dist/esm/ic-data-entity.entry.js.map +1 -0
  451. package/dist/esm/ic-data-row.entry.js +10 -9
  452. package/dist/esm/ic-data-row.entry.js.map +1 -1
  453. package/dist/esm/ic-data-table-title-bar.entry.js +2 -2
  454. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  455. package/dist/esm/ic-data-table.entry.js +206 -52
  456. package/dist/esm/ic-data-table.entry.js.map +1 -1
  457. package/dist/esm/ic-date-input.entry.js +3 -2
  458. package/dist/esm/ic-date-input.entry.js.map +1 -1
  459. package/dist/esm/ic-date-picker.entry.js +5 -3
  460. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  461. package/dist/esm/ic-dialog.entry.js +97 -12
  462. package/dist/esm/ic-dialog.entry.js.map +1 -1
  463. package/dist/esm/ic-divider.entry.js +1 -1
  464. package/dist/esm/ic-empty-state_2.entry.js +8 -8
  465. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  466. package/dist/esm/ic-footer-link-group.entry.js +9 -9
  467. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  468. package/dist/esm/ic-footer-link.entry.js +7 -6
  469. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  470. package/dist/esm/ic-footer.entry.js +8 -8
  471. package/dist/esm/ic-footer.entry.js.map +1 -1
  472. package/dist/esm/ic-hero.entry.js +9 -8
  473. package/dist/esm/ic-hero.entry.js.map +1 -1
  474. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  475. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  476. package/dist/esm/ic-input-component-container_4.entry.js +25 -21
  477. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  478. package/dist/esm/ic-link.entry.js +7 -6
  479. package/dist/esm/ic-link.entry.js.map +1 -1
  480. package/dist/esm/ic-menu-group.entry.js +1 -1
  481. package/dist/esm/ic-menu-item.entry.js +3 -3
  482. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  483. package/dist/esm/ic-menu-with-multi.entry.js +11 -9
  484. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  485. package/dist/esm/ic-menu.entry.js +10 -8
  486. package/dist/esm/ic-menu.entry.js.map +1 -1
  487. package/dist/esm/ic-navigation-button.entry.js +1 -1
  488. package/dist/esm/ic-navigation-group.entry.js +9 -9
  489. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  490. package/dist/esm/ic-navigation-item.entry.js +5 -5
  491. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  492. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  493. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  494. package/dist/esm/ic-page-header.entry.js +8 -7
  495. package/dist/esm/ic-page-header.entry.js.map +1 -1
  496. package/dist/esm/ic-pagination_4.entry.js +100 -93
  497. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  498. package/dist/esm/ic-popover-menu.entry.js +3 -3
  499. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  500. package/dist/esm/ic-radio-group.entry.js +26 -15
  501. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  502. package/dist/esm/ic-radio-option.entry.js +18 -5
  503. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  504. package/dist/esm/ic-search-bar.entry.js +24 -18
  505. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  506. package/dist/esm/ic-select-with-multi.entry.js +21 -13
  507. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  508. package/dist/esm/ic-side-navigation.entry.js +7 -7
  509. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  510. package/dist/esm/ic-skeleton.entry.js +5 -4
  511. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  512. package/dist/esm/ic-status-tag.entry.js +11 -2
  513. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  514. package/dist/esm/ic-step.entry.js +43 -40
  515. package/dist/esm/ic-step.entry.js.map +1 -1
  516. package/dist/esm/ic-stepper.entry.js +16 -16
  517. package/dist/esm/ic-stepper.entry.js.map +1 -1
  518. package/dist/esm/ic-switch.entry.js +6 -5
  519. package/dist/esm/ic-switch.entry.js.map +1 -1
  520. package/dist/esm/ic-tab-context.entry.js +11 -0
  521. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  522. package/dist/esm/ic-tab-group.entry.js +5 -4
  523. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  524. package/dist/esm/ic-tab-panel.entry.js +8 -1
  525. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  526. package/dist/esm/ic-tab.entry.js +4 -4
  527. package/dist/esm/ic-tab.entry.js.map +1 -1
  528. package/dist/esm/ic-theme.entry.js +1 -1
  529. package/dist/esm/ic-toast-region.entry.js +7 -0
  530. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  531. package/dist/esm/ic-toast.entry.js +35 -83
  532. package/dist/esm/ic-toast.entry.js.map +1 -1
  533. package/dist/esm/ic-toggle-button-group.entry.js +16 -16
  534. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  535. package/dist/esm/ic-toggle-button.entry.js +13 -13
  536. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  537. package/dist/esm/ic-top-navigation.entry.js +4 -4
  538. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  539. package/dist/esm/ic-tree-item.entry.js +1 -1
  540. package/dist/esm/ic-tree-view.entry.js +1 -1
  541. package/dist/esm/ic-typography.entry.js +6 -6
  542. package/dist/esm/ic-typography.entry.js.map +1 -1
  543. package/dist/esm/index-93509377.js +10 -10
  544. package/dist/esm/loader.js +1 -1
  545. package/dist/types/components/ic-data-table/ic-data-table.d.ts +36 -9
  546. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +16 -4
  547. package/dist/types/components/ic-data-table/story-data.d.ts +69 -8
  548. package/dist/types/components/ic-date-input/ic-date-input.d.ts +4 -0
  549. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  550. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +4 -0
  551. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +31 -1
  552. package/dist/types/components.d.ts +133 -8
  553. package/dist/types/interface.d.ts +1 -0
  554. package/dist/types/utils/helpers.d.ts +6 -0
  555. package/dist/types/utils/types.d.ts +1 -1
  556. package/hydrate/index.js +1231 -843
  557. package/package.json +3 -3
  558. package/dist/cjs/helpers-85c5ca15.js.map +0 -1
  559. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +0 -1
  560. package/dist/cjs/ic-data-list.cjs.entry.js +0 -28
  561. package/dist/cjs/ic-data-list.cjs.entry.js.map +0 -1
  562. package/dist/components/ic-card-vertical.js.map +0 -1
  563. package/dist/components/ic-data-list.js +0 -51
  564. package/dist/components/ic-data-list.js.map +0 -1
  565. package/dist/core/p-00b29b5c.entry.js.map +0 -1
  566. package/dist/core/p-01937eb0.entry.js +0 -2
  567. package/dist/core/p-01937eb0.entry.js.map +0 -1
  568. package/dist/core/p-06db67a5.entry.js +0 -2
  569. package/dist/core/p-06db67a5.entry.js.map +0 -1
  570. package/dist/core/p-0896531a.entry.js.map +0 -1
  571. package/dist/core/p-155054f4.entry.js +0 -2
  572. package/dist/core/p-155054f4.entry.js.map +0 -1
  573. package/dist/core/p-19be677b.entry.js +0 -2
  574. package/dist/core/p-19be677b.entry.js.map +0 -1
  575. package/dist/core/p-20aae323.entry.js +0 -2
  576. package/dist/core/p-20aae323.entry.js.map +0 -1
  577. package/dist/core/p-21ecca00.entry.js.map +0 -1
  578. package/dist/core/p-2533d147.entry.js.map +0 -1
  579. package/dist/core/p-2ec4ced3.entry.js +0 -2
  580. package/dist/core/p-2ec4ced3.entry.js.map +0 -1
  581. package/dist/core/p-30d385c6.entry.js.map +0 -1
  582. package/dist/core/p-3bd8a4fa.entry.js +0 -2
  583. package/dist/core/p-3bd8a4fa.entry.js.map +0 -1
  584. package/dist/core/p-3f2ae26e.entry.js.map +0 -1
  585. package/dist/core/p-4188b38a.entry.js.map +0 -1
  586. package/dist/core/p-41a53070.entry.js.map +0 -1
  587. package/dist/core/p-436d179b.entry.js +0 -2
  588. package/dist/core/p-436d179b.entry.js.map +0 -1
  589. package/dist/core/p-439d1a97.entry.js +0 -2
  590. package/dist/core/p-439d1a97.entry.js.map +0 -1
  591. package/dist/core/p-4974da93.entry.js +0 -2
  592. package/dist/core/p-4974da93.entry.js.map +0 -1
  593. package/dist/core/p-4d316a43.entry.js +0 -2
  594. package/dist/core/p-4d316a43.entry.js.map +0 -1
  595. package/dist/core/p-57527684.entry.js +0 -2
  596. package/dist/core/p-57527684.entry.js.map +0 -1
  597. package/dist/core/p-5a95dd44.entry.js +0 -2
  598. package/dist/core/p-5a95dd44.entry.js.map +0 -1
  599. package/dist/core/p-5cecbd1f.entry.js +0 -2
  600. package/dist/core/p-5cecbd1f.entry.js.map +0 -1
  601. package/dist/core/p-5e41f96d.entry.js +0 -2
  602. package/dist/core/p-5e41f96d.entry.js.map +0 -1
  603. package/dist/core/p-64826d54.entry.js +0 -2
  604. package/dist/core/p-64826d54.entry.js.map +0 -1
  605. package/dist/core/p-64b1e4a8.entry.js.map +0 -1
  606. package/dist/core/p-65cf6a11.entry.js +0 -2
  607. package/dist/core/p-65cf6a11.entry.js.map +0 -1
  608. package/dist/core/p-6a5ffe7d.entry.js +0 -2
  609. package/dist/core/p-6a5ffe7d.entry.js.map +0 -1
  610. package/dist/core/p-6c6c71ba.entry.js +0 -2
  611. package/dist/core/p-6c6c71ba.entry.js.map +0 -1
  612. package/dist/core/p-6f0e9434.entry.js +0 -2
  613. package/dist/core/p-6f0e9434.entry.js.map +0 -1
  614. package/dist/core/p-84eaa486.entry.js +0 -2
  615. package/dist/core/p-84eaa486.entry.js.map +0 -1
  616. package/dist/core/p-85cb6bb7.entry.js +0 -2
  617. package/dist/core/p-85cb6bb7.entry.js.map +0 -1
  618. package/dist/core/p-8c5b63c6.entry.js +0 -2
  619. package/dist/core/p-8c5b63c6.entry.js.map +0 -1
  620. package/dist/core/p-8da08c05.entry.js +0 -2
  621. package/dist/core/p-8da08c05.entry.js.map +0 -1
  622. package/dist/core/p-91cf89c8.entry.js +0 -2
  623. package/dist/core/p-91cf89c8.entry.js.map +0 -1
  624. package/dist/core/p-98981fa7.entry.js +0 -2
  625. package/dist/core/p-98981fa7.entry.js.map +0 -1
  626. package/dist/core/p-9d3e0e60.entry.js +0 -2
  627. package/dist/core/p-9d3e0e60.entry.js.map +0 -1
  628. package/dist/core/p-a2194364.entry.js +0 -2
  629. package/dist/core/p-a2194364.entry.js.map +0 -1
  630. package/dist/core/p-a4d0f166.entry.js.map +0 -1
  631. package/dist/core/p-aaa6f849.entry.js +0 -2
  632. package/dist/core/p-aaa6f849.entry.js.map +0 -1
  633. package/dist/core/p-adbe0d89.js +0 -2
  634. package/dist/core/p-adbe0d89.js.map +0 -1
  635. package/dist/core/p-b4ab627a.entry.js +0 -2
  636. package/dist/core/p-b4ab627a.entry.js.map +0 -1
  637. package/dist/core/p-b7abaec8.entry.js +0 -2
  638. package/dist/core/p-b7abaec8.entry.js.map +0 -1
  639. package/dist/core/p-bc4aec3a.entry.js +0 -2
  640. package/dist/core/p-bc4aec3a.entry.js.map +0 -1
  641. package/dist/core/p-bcf04b18.entry.js.map +0 -1
  642. package/dist/core/p-bf009b9a.entry.js +0 -2
  643. package/dist/core/p-bf009b9a.entry.js.map +0 -1
  644. package/dist/core/p-cbd730aa.entry.js.map +0 -1
  645. package/dist/core/p-d76e24e4.entry.js +0 -2
  646. package/dist/core/p-d76e24e4.entry.js.map +0 -1
  647. package/dist/core/p-d7bf1057.entry.js +0 -2
  648. package/dist/core/p-d7bf1057.entry.js.map +0 -1
  649. package/dist/core/p-d9254b14.entry.js +0 -2
  650. package/dist/core/p-d9254b14.entry.js.map +0 -1
  651. package/dist/core/p-e20f8772.entry.js +0 -2
  652. package/dist/core/p-e20f8772.entry.js.map +0 -1
  653. package/dist/core/p-e26769b0.entry.js +0 -2
  654. package/dist/core/p-e26769b0.entry.js.map +0 -1
  655. package/dist/core/p-e2dba05a.entry.js +0 -2
  656. package/dist/core/p-e2dba05a.entry.js.map +0 -1
  657. package/dist/core/p-ec862c7e.entry.js +0 -2
  658. package/dist/core/p-ec862c7e.entry.js.map +0 -1
  659. package/dist/core/p-ef9175d8.entry.js +0 -2
  660. package/dist/core/p-ef9175d8.entry.js.map +0 -1
  661. package/dist/core/p-f4db39eb.entry.js +0 -2
  662. package/dist/core/p-f4db39eb.entry.js.map +0 -1
  663. package/dist/esm/helpers-f543bc77.js.map +0 -1
  664. package/dist/esm/ic-card-vertical.entry.js.map +0 -1
  665. package/dist/esm/ic-data-list.entry.js +0 -24
  666. package/dist/esm/ic-data-list.entry.js.map +0 -1
  667. /package/dist/core/{p-401d0c66.entry.js.map → p-20997691.entry.js.map} +0 -0
  668. /package/dist/core/{p-88ba5a88.entry.js.map → p-67ae9d37.entry.js.map} +0 -0
  669. /package/dist/core/{p-22260ed4.entry.js.map → p-6fb3d61e.entry.js.map} +0 -0
  670. /package/dist/core/{p-4309460f.entry.js.map → p-80d6a6b5.entry.js.map} +0 -0
  671. /package/dist/core/{p-2fb52051.js.map → p-8128572e.js.map} +0 -0
  672. /package/dist/core/{p-ede631c5.entry.js.map → p-9b34989b.entry.js.map} +0 -0
  673. /package/dist/core/{p-b6e208e3.entry.js.map → p-a72af8db.entry.js.map} +0 -0
  674. /package/dist/core/{p-125bc120.entry.js.map → p-d86cdbc8.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icSelectCss","inputIds","Select","this","hasSetDefaultValue","inheritedAttributes","initialOptionsEmpty","inputId","menuId","searchableMenuItemSelected","ungroupedOptions","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","value","hiddenInputValue","emitIcChange","searchable","multiple","Array","isArray","handleMultipleSelectChange","clearTimeout","debounceIcChange","window","setTimeout","valueToEmit","icChange","currDebounce","emitImmediateIcChange","deduplicateOptions","options","uniqueValues","dedupedOptions","dedupedChildren","forEach","option","children","child","includes","console","warn","label","push","modifiedParent","Object","assign","setOptionsValuesFromLabels","length","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","uniqueOptions","getMultipleOptionsString","selectedValues","selectedLabels","join","getFilteredChildMenuOptions","getFilteredMenuOptions","includeDescriptionsInSearch","searchableSelectInputValue","searchMatchPosition","pressedCharacters","newOption","getValueSortedByOptions","valueArray","valuesFromAllOptions","sort","a","b","indexOf","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","emptyOptionListText","currValue","inputValueToFilter","getValueFromLabel","icOptionDeselect","ariaActiveDescendant","optionId","slice","valueIndex","splice","handleSelectAllChange","selectAllOptions","select","allEnabledOptions","filter","disabled","allValues","newValue","unselectedValues","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","el","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableFilter","handleClick","menu","filteredOptions","hasTimedOut","loading","noOptions","handleClickOpen","handleExpandIconMouseDown","handleClear","stopPropagation","timeoutTimer","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","noChildOptionsWhenFiltered","triggerLoading","loadingLabel","timeout","loadingErrorLabel","timedOut","find","handleSearchableSelectInput","target","icInput","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","updateMultiSelectedCountAriaLive","multiSelectSelectedCountEl","selectedCount","getOptionsWithoutGroupTitlesCount","getDefaultValue","setDefaultValue","initialValue","onFocus","icFocus","onBlur","tagName","isSearchableAndNoFocusedInternalElements","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","debounce","loadingHandler","watchOptionsHandler","debounceChangedHandler","updateOnChangeDebounce","valueChangedHandler","disconnectedCallback","removeFormResetListener","componentWillLoad","inheritAttributes","IC_INHERITED_ARIA","removeDisabledFalse","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","setFocus","debounceAria","render","size","small","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","optionsSelectedCount","h","Host","class","for","ref","anchorEl","isMobileOrTablet","onChange","id","onKeyDown","form","selected","role","autocomplete","onInput","onClick","formaction","formenctype","formmethod","formnovalidate","formtarget","innerHTML","Clear","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","Expand","inputEl","inputLabel","selectOnEnter","onMenuStateChange","onMenuOptionSelect","onMenuOptionSelectAll","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","closeOnSelect","ariaLiveMode","status","message"],"sources":["src/components/ic-select-with-multi/ic-select.css?tag=ic-select-with-multi&encapsulation=shadow","src/components/ic-select-with-multi/ic-select.tsx"],"sourcesContent":["@import \"../../../dist/core/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --menu-max-height: 100px;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not(.disabled)) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.value-text p {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-action-dark);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.disabled) .expand-icon,\n:host(.disabled) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host(.searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host(.searchable:not(.disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host(.searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.disabled) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { IcOptionSelectEventDetail } from \"@ukic/web-components/dist/types/components\";\nimport { IcMenuOption } from \"@ukic/web-components/dist/types/utils/types\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n getOptionsWithoutGroupTitlesCount,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSearchMatchPositions,\n IcThemeForegroundEnum,\n IcValueEventDetail,\n IcSizes,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select-with-multi\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Select {\n private anchorEl: HTMLElement;\n private blurredBecauseButtonPressed: boolean;\n private characterKeyPressTimer: number;\n private clearButton: HTMLIcButtonElement;\n private customSelectElement: HTMLButtonElement;\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private hasTimedOut: boolean;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu: HTMLIcMenuWithMultiElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement: HTMLSelectElement;\n private retryButtonClick: boolean;\n private searchableMenuItemSelected: boolean = false;\n private searchableSelectElement: HTMLInputElement;\n private timeoutTimer: number;\n private ungroupedOptions: IcMenuOption[] = [];\n\n @Element() el!: HTMLIcSelectWithMultiElement;\n\n @State() ariaActiveDescendant: string;\n @State() clearButtonFocused: boolean = false;\n @State() debounceIcChange: number;\n @State() hiddenInputValue: string;\n @State() noOptions: IcMenuOption[] = null;\n @State() open: boolean = false;\n @State() pressedCharacters: string = \"\";\n @State() searchableSelectInputValue: string = null;\n\n /**\n * **[DEPRECATED]** This prop should not be used anymore.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the select. It overrides the action attribute of the select's form owner. Does nothing if there is no form owner.\n * This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the select's form owner.\n * This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\n */\n @Prop() selectOnEnter?: boolean = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * The size of the select.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * **[DEPRECATED]** This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options;\n @State() uniqueOptions: IcMenuOption[] = this.options;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n // When searchable select\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) this.options = this.noOptions;\n }\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n @State() currDebounce = this.debounce;\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n this.updateOnChangeDebounce(newValue);\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value?: string | string[];\n @State() initialValue = this.value;\n @State() inputValueToFilter = this.value as string;\n @State() currValue = this.value;\n\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getValueSortedByOptions(this.value as string[]);\n this.updateMultiSelectedCountAriaLive();\n } else {\n this.currValue = this.value;\n }\n }\n\n if (this.searchable) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.currValue as string) ||\n (this.currValue as string);\n }\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the clear button is clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n\n this.hiddenInputValue = this.searchable && (this.currValue as string);\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({ value: this.hiddenInputValue });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string | string[] | null) => {\n if (!this.searchable) {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n this.handleMultipleSelectChange(value as string);\n } else {\n this.value = value;\n }\n }\n\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n const valueToEmit = this.multiple ? this.value : value;\n this.icChange.emit({ value: valueToEmit });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n this.value = value;\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value });\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n let dedupedChildren: IcMenuOption[];\n\n options.forEach((option: IcMenuOption) => {\n if (option.children) {\n //If an option has children, we will loop through them\n dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n const modifiedParent: IcMenuOption = {\n ...option,\n children: dedupedChildren,\n };\n dedupedOptions.push(modifiedParent);\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = (): void => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.uniqueOptions);\n };\n\n private getMultipleOptionsString = (selectedValues: string[]) => {\n const selectedLabels = selectedValues?.map((value) =>\n this.getLabelFromValue(value)\n );\n return selectedLabels?.join(\", \");\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n private getValueSortedByOptions = (value: string[]) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map(\n (option) => option.value\n );\n\n valueArray.sort(\n (a, b) =>\n valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b)\n );\n\n return valueArray;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n private handleCustomSelectChange = (event: CustomEvent): void => {\n const value = event.detail.value;\n\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = value;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue = this.getLabelFromValue(\n this.value as string\n );\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue = this.getValueFromLabel(\n this.searchableSelectInputValue\n );\n }\n\n if (this.multiple && this.value?.includes(value)) {\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.emitIcChange(value);\n };\n\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n private handleMultipleSelectChange = (value: string) => {\n if (this.value) {\n let valueArray = (this.value as string[]).slice();\n\n if (this.value.includes(value)) {\n const valueIndex = valueArray.indexOf(value);\n valueArray.splice(valueIndex, 1);\n } else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n\n this.value = valueArray.length === 0 ? null : valueArray;\n } else {\n const valueArray = [];\n valueArray.push(value);\n this.value = valueArray;\n }\n };\n\n private handleSelectAllChange = (event: CustomEvent) => {\n const selectAllOptions = event.detail.select;\n const allEnabledOptions = this.ungroupedOptions.filter(\n (option) => !option.disabled\n );\n const allValues = allEnabledOptions.map((option) => option.value);\n let newValue: string[];\n\n if (selectAllOptions) {\n let unselectedValues;\n\n // Only emit icOptionSelect for all values that are newly selected\n if (this.value) {\n unselectedValues = allValues.filter(\n (value) => this.value && !(this.value as string[]).includes(value)\n );\n } else {\n unselectedValues = allValues;\n }\n\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n newValue = allValues;\n } else {\n // Only emit icOptionDeselect for values that were selected\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n newValue = null;\n }\n\n this.emitIcChange(newValue);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator = this.el.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable && this.disableFilter;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.open) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n this.hiddenInputValue = null;\n this.searchableSelectElement.focus();\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (!(key === \" \" && !this.pressedCharacters)) {\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitImmediateIcChange(this.filteredOptions[0].value);\n }\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null)) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.inputValueToFilter,\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n return this.uniqueOptions.find((option) => option.label === label)?.value;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n this.emitIcChange(this.searchableSelectInputValue);\n\n this.hiddenInputValue = this.searchableSelectInputValue;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableFilter) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private updateMultiSelectedCountAriaLive = (): void => {\n const multiSelectSelectedCountEl = this.el.shadowRoot.querySelector(\n \".multi-select-selected-count\"\n ) as HTMLDivElement;\n\n const selectedCount = `${\n this.currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n if (\n multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount\n ) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || value || null;\n\n private setDefaultValue = (): void => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue =\n this.searchable && this.getDefaultValue(this.currValue as string);\n\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n const target = event.relatedTarget as HTMLElement;\n if (\n target !== null &&\n target.tagName === \"UL\" &&\n target.className.includes(\"menu\")\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n event.relatedTarget as Element\n ) &&\n !(this.clearButton && event.relatedTarget === this.clearButton) &&\n !(retryButton && event.relatedTarget === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(\n this.value as string\n );\n this.hiddenInputValue = this.value as string;\n }\n };\n\n render() {\n const {\n size,\n small,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n multiple,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n } = this;\n\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(\n true,\n this.el,\n name,\n this.searchable ? this.hiddenInputValue : (currValue as string),\n disabled\n );\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n const optionsSelectedCount = `${\n currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n return (\n <Host\n class={{\n disabled: disabled,\n searchable: searchable,\n small: small,\n [size]: size !== \"default\",\n \"full-width\": fullWidth,\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el: HTMLElement) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n small={small}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>\n {multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string)}\n </p>\n </ic-typography>\n ) : isMobileOrTablet() && !multiple ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={this.form}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"select-input\": true,\n \"with-clear-button\": !!this.searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n form={this.form}\n formaction={this.formaction}\n formenctype={this.formenctype}\n formmethod={this.formmethod}\n formnovalidate={this.formnovalidate}\n formtarget={this.formtarget}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el: HTMLIcButtonElement) =>\n (this.clearButton = el)\n }\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n (multiple && currValue\n ? `${optionsSelectedCount}, ${this.getMultipleOptionsString(\n currValue as string[]\n )}`\n : this.getLabelFromValue(currValue as string)) ||\n placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": currValue && showClearButton,\n placeholder:\n !this.value || (multiple && this.value.length < 1),\n }}\n >\n <p>\n {(multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string)) ||\n placeholder}\n </p>\n </ic-typography>\n <div class=\"select-input-end\">\n {currValue && showClearButton && (\n <div class=\"divider\"></div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {currValue && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {(!isMobileOrTablet() || multiple) && (\n <ic-menu-with-multi\n class={{\n \"no-results\":\n this.loading ||\n this.hasTimedOut ||\n (this.noOptions !== null &&\n this.noOptions[0] &&\n this.noOptions[0].label === this.emptyOptionListText),\n }}\n ref={(el: HTMLIcMenuWithMultiElement) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n small={small}\n size={size}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : this.uniqueOptions}\n value={multiple ? (currValue as string[]) : (currValue as string)}\n fullWidth={fullWidth}\n selectOnEnter={this.selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n this.searchable || multiple || this.selectOnEnter\n ? \"manual\"\n : \"automatic\"\n }\n closeOnSelect={!multiple}\n ></ic-menu-with-multi>\n )}\n {this.multiple && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"multi-select-selected-count\"\n ></div>\n )}\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
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{j as l,i as h,a as o}from"./p-8128572e.js";import{C as r,D as c}from"./p-297e99cf.js";import"./p-fd186591.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(.right),:host(.right) .action-area{align-items:flex-end;text-align:right}:host(.center),:host(.center) .action-area{align-items:center;text-align:center}:host(.image-default) ::slotted(svg),:host(.image-default) ::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.bodyMaxLines=undefined;this.heading=undefined;this.imageSize="default";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,bodyMaxLines:s,heading:n,imageSize:l,subheading:o}=this;return e(a,{class:{[`${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{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:v}=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",{small:true,label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:a,value:v,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-c98ce508.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","hostMutationObserver","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","aligned","body","undefined","bodyMaxLines","heading","imageSize","subheading","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","childList","render","h","Host","class","name","variant","maxLines","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","small","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","size","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(.right),\n:host(.right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.center),\n:host(.center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-default) ::slotted(svg),\n:host(.image-default) ::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.bodyMaxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"default\";\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, bodyMaxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`${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: bodyMaxLines }, 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 \"bodyMaxLines\": {\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\": \"body-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\": \"\\\"default\\\" | \\\"large\\\" | \\\"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\": \"\\\"default\\\"\"\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 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 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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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as a,g as n}from"./p-8455d1bb.js";import{I as o}from"./p-fd186591.js";import{i as s,K as r,e as l,D as c,b as h,o as d,f as p,a as m,F as u,d as b}from"./p-8128572e.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{display:block;color:var(--ic-theme-text);width:100%;position:relative}:host .top-navigation{background-color:var(--ic-theme-primary);height:-moz-max-content;height:max-content}:host(.fullwidth-searchbar) slot[name="search"]::slotted(form){width:100%}:host .title-link{display:inline-flex;align-items:center;text-decoration:none;padding:var(--ic-space-xxs);transition:var(--ic-easing-transition-fast)}:host .title-link,:host .title-link:visited,:host .title-link:active,:host .title-link ::slotted(a),:host .title-link:visited ::slotted(a),:host .title-link:active ::slotted(a){color:var(--ic-theme-text);text-decoration:none;outline:none}:host .title-link:hover:not(:focus){background-color:var(--ic-theme-hover)}:host .title-link:active:not(:focus){background-color:var(--ic-theme-active)}:host .title-link:hover{border-radius:var(--ic-border-radius)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}:host .title-link ic-typography{font-weight:600}:host .nav-panel-container{border-top:var(--ic-keyline-lighten);padding:0 var(--ic-space-lg);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin));display:flex}:host(.dark) .nav-panel-container{border-top:var(--ic-keyline-darken)}.top-panel-container{display:flex;padding-top:0.5rem;padding-bottom:0.5rem}.navigation-tabs{margin-top:calc(-1 * var(--ic-space-1px))}.app-details-container{display:flex;align-items:center;flex:1 1 auto;margin-right:var(--ic-space-md)}.app-icon-container{display:flex;padding-right:var(--ic-space-xs)}.icon-buttons-container{display:flex;margin-left:var(--ic-space-md)}.icon-buttons-container ::slotted(nav){display:flex}.title-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:host .app-status{border-radius:var(--ic-space-md);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);padding:var(--ic-space-xxs) var(--ic-space-lg);margin-left:var(--ic-space-md);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}:host(.dark) .app-status{background-color:var(--ic-theme-text);color:var(--ic-color-white-text)}:host .app-version{border-radius:var(--ic-space-md);background-color:var(--ic-theme-active);padding:var(--ic-space-xxs) var(--ic-space-sm);margin-left:var(--ic-space-xs);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}slot[name="app-icon"]::slotted(*){fill:var(--ic-theme-text);width:2em;height:2em}slot[name="toggle-icon"] svg{fill:var(--ic-theme-text)}.search-menu-container{justify-content:right;display:flex;align-items:center}.menu-button-container{margin-left:var(--ic-space-md)}.menu-button-container .navigation-landmark-button-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.search-actions-container{display:flex}.menu-buttons-slot{display:flex;flex-direction:column}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}.navigation-item-list{display:flex;list-style:none;height:2.75rem}.navigation-item-list::-webkit-scrollbar{display:none}:host ic-section-container{padding-bottom:0 !important;padding-top:0 !important}@media screen and (min-width: 993px){.app-details-container{margin-right:var(--ic-space-lg)}}@media screen and (max-width: 1200px){:host .nav-panel-container{padding:0 var(--ic-space-md)}}:host(.mobile-mode) .app-status,:host(.mobile-mode) .app-version{display:none}:host(.mobile-mode) .title-link{margin-right:var(--ic-space-xs)}:host(.mobile-mode) .search-menu-container{max-width:10rem}:host(.mobile-mode) .search-bar-container{display:flex;justify-content:center;align-items:center;border-top:var(--ic-keyline-darken);height:4rem;padding-left:var(--ic-space-md);padding-right:var(--ic-space-md);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin))}@media screen and (max-width: 576px){:host .title-link{margin-right:var(--ic-space-xxxs);word-break:break-word;-webkit-hyphens:none;hyphens:none}.top-panel-container{min-height:2.5rem}.search-bar-container{margin-top:0;height:3.5rem;padding-left:var(--ic-space-xs);padding-right:var(--ic-space-xs)}.menu-button-container{margin-left:var(--ic-space-sm)}slot[name="app-icon"]::slotted(*){width:1.5em;height:1.5em}slot[name="toggle-icon"] svg{width:1.5em;height:1.5em}}@media (forced-colors: active){:host .top-navigation{border-bottom:var(--ic-hc-border)}.app-status,.app-version{border:var(--ic-hc-border)}slot[name="app-icon"]::slotted(*){fill:currentcolor}}';const v=class{constructor(e){t(this,e);this.icNavigationMenuClosed=i(this,"icNavigationMenuClosed",7);this.icNavigationMenuOpened=i(this,"icNavigationMenuOpened",7);this.topNavResized=i(this,"topNavResized",7);this.hasAppIcon=false;this.hasIconButtons=false;this.hasNavigation=false;this.hasSearchSlotContent=false;this.resizeObserver=null;this.searchBar=null;this.checkSlots=()=>{this.hasAppIcon=s(this.el,"app-icon");this.hasNavigation=s(this.el,"navigation");this.hasIconButtons=s(this.el,"buttons");this.hasSearchSlotContent=s(this.el,"search")};this.initialiseSearchBar=()=>{if(this.hasSearchSlotContent){const t=r(this.el,"search");if((t===null||t===void 0?void 0:t.tagName)==="IC-SEARCH-BAR"){this.searchBar=t}else if((t===null||t===void 0?void 0:t.tagName)==="FORM"){this.searchBar=t.querySelector("ic-search-bar")}if(this.searchBar!==null){this.searchBar.hideLabel=true}}};this.menuButtonClick=()=>{this.showNavMenu(true)};this.searchButtonMouseDownHandler=()=>{this.searchButtonClick=true};this.searchButtonClickHandler=()=>{this.toggleSearchBar();this.searchButtonClick=false};this.resizeObserverCallback=t=>{if(t!==this.deviceSize){this.deviceSize=t;if(t>this.customMobileBreakpoint){this.showNavMenu(false);if(this.mobileSearchBarVisible){this.toggleSearchBar()}}this.topNavResized.emit({size:t});if(this.searchBar&&document.activeElement===this.searchBar){this.searchBar.setAttribute("hidden","true");this.searchBar.removeAttribute("hidden");setTimeout((()=>{this.searchBar.focus()}),100)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(l())}));this.resizeObserver.observe(this.el)};this.deviceSize=c.XL;this.foregroundColor=h();this.hasFullWidthSearchBar=false;this.mobileSearchBarVisible=false;this.mobileSearchHiddenOnBlur=false;this.navMenuVisible=false;this.searchButtonClick=false;this.searchValue="";this.contentAligned="full-width";this.customMobileBreakpoint=c.L;this.href="/";this.inline=false;this.shortAppTitle="";this.status="";this.version="";this.appTitle=undefined}watchPropHandler(t,i){d(i,t,this.initialiseSearchBar)}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.checkSlots();this.deviceSize=l();this.initialiseSearchBar()}componentDidLoad(){p(this.runResizeObserver);!s(this.el,"app-title")&&m([{prop:this.appTitle,propName:"app-title"}],"Top Navigation")}componentWillRender(){this.checkSlots()}navBarMenuCloseHandler(){this.showNavMenu(false);this.el.shadowRoot.querySelector("#menu-button").focus()}searchInputBlurHandler({detail:t}){if(t!==null){if(this.mobileSearchBarVisible&&!this.searchButtonClick){this.toggleSearchBar()}this.searchValue=t.value}}searchValueChangeHandler({detail:t}){this.searchValue=t.value}themeChangeHandler({detail:t}){this.foregroundColor=t.mode}toggleSearchBar(){this.mobileSearchBarVisible=!this.mobileSearchBarVisible;if(this.searchBar!==null){this.mobileSearchButtonEl.setAttribute("aria-label",`${this.mobileSearchBarVisible?"Hide":"Show"} search`);this.hasFullWidthSearchBar=this.mobileSearchBarVisible;this.searchBar.fullWidth=this.mobileSearchBarVisible;if(this.mobileSearchBarVisible){setTimeout((()=>{this.searchBar.focus()}),100)}}}showNavMenu(t){this.navMenuVisible=t;(t?this.icNavigationMenuOpened:this.icNavigationMenuClosed).emit();document.body.style.height=t?"100%":"auto";document.body.style.overflow=t?"hidden":"auto"}render(){const{appTitle:t,contentAligned:i,customMobileBreakpoint:n,deviceSize:r,el:l,foregroundColor:h,hasAppIcon:d,hasFullWidthSearchBar:p,hasIconButtons:m,hasNavigation:g,hasSearchSlotContent:v,href:f,inline:x,menuButtonClick:w,mobileSearchBarVisible:k,navMenuVisible:y,searchButtonClickHandler:z,searchButtonMouseDownHandler:H,shortAppTitle:M,status:C,version:B}=this;const S=C!=="";const j=B!=="";const T=g||m||S||j;const N=r<=c.S?"default":"large";const I=t!==""&&b(t);const R=r<=n;const V=R?r<=c.S?"subtitle-small":"h4":"h3";const $=`${k?"Hide":"Show"} search`;const A=r<=c.S?"small":"default";const O=s(l,"short-app-title");const D=s(l,"app-title");const L=D?"div":"a";const F=L=="a"&&{href:f};return e(a,{class:{"fullwidth-searchbar":p,"mobile-mode":R,[o.Dark]:h===o.Dark}},e("div",{class:"top-navigation"},e("ic-section-container",{aligned:i,"full-height":true},e("header",{role:"banner"},e("div",{class:"top-panel-container"},e("div",{class:"app-details-container"},(I||D)&&e(L,Object.assign({class:"title-link"},F),d&&e("div",{class:"app-icon-container"},e("slot",{name:"app-icon"})),r<=c.S&&(!u(M)||O)?e("ic-typography",{variant:"subtitle-small","aria-label":(!D||!O)&&`${t} (${M})`},e("h1",null,O?e("slot",{name:"short-app-title"}):M)):e("ic-typography",{variant:V},e("h1",{class:"title-wrap"},D?e("slot",{name:"app-title"}):t))),S&&e("div",{class:"app-status"},e("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},C)),j&&e("div",{class:"app-version"},e("ic-typography",{variant:"label",class:"app-version-text","aria-label":"app version"},B))),(v||T)&&e("div",{class:"search-menu-container"},e("div",{class:"search-actions-container"},!R&&e("slot",{name:"search"}),v&&R&&e("ic-button",{id:"search-toggle-button",ref:t=>this.mobileSearchButtonEl=t,onMouseDown:H,variant:"icon",size:N,"aria-label":$,appearance:h,onClick:z},e("slot",{name:"toggle-icon"},e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#ffffff"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})))),m&&!R&&e("div",{class:"icon-buttons-container"},e("slot",{name:"buttons"})),T&&R&&e("div",{class:"menu-button-container"},e("span",{id:"navigation-landmark-button-text",class:"navigation-landmark-button-text","aria-hidden":"true"},"Main navigation button"),e("nav",{"aria-labelledby":"navigation-landmark-button-text","aria-hidden":`${y}`},e("ic-button",{id:"menu-button",appearance:h,variant:"secondary","aria-expanded":"false","aria-haspopup":"true","aria-label":`Open ${g?"navigation":"app"} menu`,size:A,onClick:w},"Menu",e("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#ffffff",slot:"icon"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})))))))),k&&e("div",{class:"search-bar-container"},e("slot",{name:"search"})),g&&!R&&e("div",{class:"navigation-tabs"},e("span",{id:"navigation-landmark-text",class:"navigation-landmark-text","aria-hidden":"true"},"Main pages"),e("nav",{"aria-labelledby":"navigation-landmark-text",class:"nav-panel-container"},e("ic-horizontal-scroll",{appearance:h},e("ul",{class:"navigation-item-list",tabindex:"-1"},e("slot",{name:"navigation"})))))))),y&&e("ic-navigation-menu",{version:B,status:C,class:{["inline"]:x}},m&&e("div",{class:"menu-buttons-slot",slot:"buttons"},e("slot",{name:"buttons"})),e("ul",{slot:"navigation"},e("slot",{name:"navigation"}))))}get el(){return n(this)}static get watchers(){return{appTitle:["watchPropHandler"]}}};v.style=g;export{v as ic_top_navigation};
2
+ //# sourceMappingURL=p-cb3afdbf.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icTopNavigationCss","TopNavigation","constructor","hostRef","this","hasAppIcon","hasIconButtons","hasNavigation","hasSearchSlotContent","resizeObserver","searchBar","checkSlots","isSlotUsed","el","initialiseSearchBar","slot","getSlot","tagName","querySelector","hideLabel","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClick","searchButtonClickHandler","toggleSearchBar","resizeObserverCallback","currSize","deviceSize","customMobileBreakpoint","mobileSearchBarVisible","topNavResized","emit","size","document","activeElement","setAttribute","removeAttribute","setTimeout","focus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","DEVICE_SIZES","XL","foregroundColor","getThemeForegroundColor","hasFullWidthSearchBar","mobileSearchHiddenOnBlur","navMenuVisible","searchValue","contentAligned","L","href","inline","shortAppTitle","status","version","appTitle","undefined","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","disconnectedCallback","_a","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","componentWillRender","navBarMenuCloseHandler","shadowRoot","searchInputBlurHandler","detail","value","searchValueChangeHandler","themeChangeHandler","mode","mobileSearchButtonEl","fullWidth","show","icNavigationMenuOpened","icNavigationMenuClosed","body","style","height","overflow","render","hasStatus","hasVersion","hasMenuContent","searchButtonSize","S","hasTitle","isPropDefined","overMobileBreakpoint","appTitleVariant","mobileSearchButtonTitle","menuSize","shortAppTitleSlot","hasAppTitleSlot","Component","attrs","h","Host","class","IcThemeForegroundEnum","Dark","aligned","role","Object","assign","name","isEmptyString","variant","id","ref","onMouseDown","appearance","onClick","xmlns","viewBox","fill","d","width","tabindex"],"sources":["../web-components/dist/collection/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","../web-components/dist/collection/components/ic-top-navigation/ic-top-navigation.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 display: block;\n color: var(--ic-theme-text);\n width: 100%;\n position: relative;\n}\n\n:host .top-navigation {\n background-color: var(--ic-theme-primary);\n height: -moz-max-content;\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active,\n:host .title-link ::slotted(a),\n:host .title-link:visited ::slotted(a),\n:host .title-link:active ::slotted(a) {\n color: var(--ic-theme-text);\n text-decoration: none;\n outline: none;\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-keyline-lighten);\n padding: 0 var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navigation-tabs {\n margin-top: calc(-1 * var(--ic-space-1px));\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.title-wrap {\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n -webkit-hyphens: auto;\n hyphens: auto;\n}\n\n:host .app-status {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n flex: 1 1 0;\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n\n:host(.dark) .app-status {\n background-color: var(--ic-theme-text);\n color: var(--ic-color-white-text);\n}\n\n:host .app-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-theme-active);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n flex: 1 1 0;\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n\nslot[name=\"app-icon\"]::slotted(*) {\n fill: var(--ic-theme-text);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-theme-text);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.menu-button-container .navigation-landmark-button-text {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 2.75rem;\n}\n\n.navigation-item-list::-webkit-scrollbar {\n display: none;\n}\n\n:host ic-section-container {\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding: 0 var(--ic-space-md);\n }\n}\n\n/** Mobile styling **/\n:host(.mobile-mode) .app-status,\n:host(.mobile-mode) .app-version {\n display: none;\n}\n\n:host(.mobile-mode) .title-link {\n margin-right: var(--ic-space-xs);\n}\n\n:host(.mobile-mode) .search-menu-container {\n max-width: 10rem;\n}\n\n:host(.mobile-mode) .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-keyline-darken);\n height: 4rem;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n}\n\n/* x small */\n@media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n -webkit-hyphens: none;\n hyphens: none;\n }\n\n .top-panel-container {\n min-height: 2.5rem;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 3.5rem;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n}\n\n@media (forced-colors: active) {\n :host .top-navigation {\n border-bottom: var(--ic-hc-border);\n }\n\n .app-status,\n .app-version {\n border: var(--ic-hc-border);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n fill: currentcolor;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getSlot, onComponentPropUndefinedChange, onComponentRequiredPropUndefined, isSlotUsed, isEmptyString, isPropDefined, } from \"../../utils/helpers\";\n/**\n * @slot app-icon - Content will be rendered to left of app title. Anything that is slotted here will be hidden from screen readers.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\nexport class TopNavigation {\n constructor() {\n this.hasAppIcon = false;\n this.hasIconButtons = false;\n this.hasNavigation = false;\n this.hasSearchSlotContent = false;\n this.resizeObserver = null;\n this.searchBar = null;\n this.checkSlots = () => {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n };\n this.initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if ((slot === null || slot === void 0 ? void 0 : slot.tagName) === \"IC-SEARCH-BAR\") {\n this.searchBar = slot;\n }\n else if ((slot === null || slot === void 0 ? void 0 : slot.tagName) === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n this.menuButtonClick = () => {\n this.showNavMenu(true);\n };\n this.searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n this.searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n this.resizeObserverCallback = (currSize) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > this.customMobileBreakpoint) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.topNavResized.emit({\n size: currSize,\n });\n if (this.searchBar && document.activeElement === this.searchBar) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback(getCurrentDeviceSize());\n });\n this.resizeObserver.observe(this.el);\n };\n this.deviceSize = DEVICE_SIZES.XL;\n this.foregroundColor = getThemeForegroundColor();\n this.hasFullWidthSearchBar = false;\n this.mobileSearchBarVisible = false;\n this.mobileSearchHiddenOnBlur = false;\n this.navMenuVisible = false;\n this.searchButtonClick = false;\n this.searchValue = \"\";\n this.contentAligned = \"full-width\";\n this.customMobileBreakpoint = DEVICE_SIZES.L;\n this.href = \"/\";\n this.inline = false;\n this.shortAppTitle = \"\";\n this.status = \"\";\n this.version = \"\";\n this.appTitle = undefined;\n }\n watchPropHandler(newValue, oldValue) {\n //added for Gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once Gatsby hydration issue is resolved\n onComponentPropUndefinedChange(oldValue, newValue, this.initialiseSearchBar);\n }\n disconnectedCallback() {\n var _a;\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentWillLoad() {\n this.checkSlots();\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n componentDidLoad() {\n checkResizeObserver(this.runResizeObserver);\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined([{ prop: this.appTitle, propName: \"app-title\" }], \"Top Navigation\");\n }\n componentWillRender() {\n this.checkSlots();\n }\n navBarMenuCloseHandler() {\n this.showNavMenu(false);\n this.el.shadowRoot.querySelector(\"#menu-button\").focus();\n }\n searchInputBlurHandler({ detail, }) {\n if (detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = detail.value;\n }\n }\n searchValueChangeHandler({ detail }) {\n this.searchValue = detail.value;\n }\n themeChangeHandler({ detail }) {\n this.foregroundColor = detail.mode;\n }\n toggleSearchBar() {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n if (this.searchBar !== null) {\n this.mobileSearchButtonEl.setAttribute(\"aria-label\", `${this.mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`);\n this.hasFullWidthSearchBar = this.mobileSearchBarVisible;\n this.searchBar.fullWidth = this.mobileSearchBarVisible;\n if (this.mobileSearchBarVisible) {\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n }\n showNavMenu(show) {\n this.navMenuVisible = show;\n (show ? this.icNavigationMenuOpened : this.icNavigationMenuClosed).emit();\n document.body.style.height = show ? \"100%\" : \"auto\";\n document.body.style.overflow = show ? \"hidden\" : \"auto\";\n }\n render() {\n const { appTitle, contentAligned, customMobileBreakpoint, deviceSize, el, foregroundColor, hasAppIcon, hasFullWidthSearchBar, hasIconButtons, hasNavigation, hasSearchSlotContent, href, inline, menuButtonClick, mobileSearchBarVisible, navMenuVisible, searchButtonClickHandler, searchButtonMouseDownHandler, shortAppTitle, status, version, } = this;\n const hasStatus = status !== \"\";\n const hasVersion = version !== \"\";\n const hasMenuContent = hasNavigation || hasIconButtons || hasStatus || hasVersion;\n const searchButtonSize = deviceSize <= DEVICE_SIZES.S ? \"default\" : \"large\";\n const hasTitle = appTitle !== \"\" && isPropDefined(appTitle);\n const overMobileBreakpoint = deviceSize <= customMobileBreakpoint;\n const appTitleVariant = overMobileBreakpoint\n ? deviceSize <= DEVICE_SIZES.S\n ? \"subtitle-small\"\n : \"h4\"\n : \"h3\";\n const mobileSearchButtonTitle = `${mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`;\n const menuSize = deviceSize <= DEVICE_SIZES.S ? \"small\" : \"default\";\n const shortAppTitleSlot = isSlotUsed(el, \"short-app-title\");\n const hasAppTitleSlot = isSlotUsed(el, \"app-title\");\n const Component = hasAppTitleSlot ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n return (h(Host, { class: {\n \"fullwidth-searchbar\": hasFullWidthSearchBar,\n \"mobile-mode\": overMobileBreakpoint,\n [IcThemeForegroundEnum.Dark]: foregroundColor === IcThemeForegroundEnum.Dark,\n } }, h(\"div\", { class: \"top-navigation\" }, h(\"ic-section-container\", { aligned: contentAligned, \"full-height\": true }, h(\"header\", { role: \"banner\" }, h(\"div\", { class: \"top-panel-container\" }, h(\"div\", { class: \"app-details-container\" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ class: \"title-link\" }, attrs), hasAppIcon && (h(\"div\", { class: \"app-icon-container\" }, h(\"slot\", { name: \"app-icon\" }))), deviceSize <= DEVICE_SIZES.S &&\n (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (h(\"ic-typography\", { variant: \"subtitle-small\", \"aria-label\": (!hasAppTitleSlot || !shortAppTitleSlot) &&\n `${appTitle} (${shortAppTitle})` }, h(\"h1\", null, shortAppTitleSlot ? (h(\"slot\", { name: \"short-app-title\" })) : (shortAppTitle)))) : (h(\"ic-typography\", { variant: appTitleVariant }, h(\"h1\", { class: \"title-wrap\" }, hasAppTitleSlot ? (h(\"slot\", { name: \"app-title\" })) : (appTitle)))))), hasStatus && (h(\"div\", { class: \"app-status\" }, h(\"ic-typography\", { \"aria-label\": \"app tag\", variant: \"label-uppercase\", class: \"app-status-text\" }, status))), hasVersion && (h(\"div\", { class: \"app-version\" }, h(\"ic-typography\", { variant: \"label\", class: \"app-version-text\", \"aria-label\": \"app version\" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h(\"div\", { class: \"search-menu-container\" }, h(\"div\", { class: \"search-actions-container\" }, !overMobileBreakpoint && h(\"slot\", { name: \"search\" }), hasSearchSlotContent && overMobileBreakpoint && (h(\"ic-button\", { id: \"search-toggle-button\", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: \"icon\", size: searchButtonSize, \"aria-label\": mobileSearchButtonTitle, appearance: foregroundColor, onClick: searchButtonClickHandler }, h(\"slot\", { name: \"toggle-icon\" }, h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 24 24\", fill: \"#ffffff\" }, h(\"path\", { d: \"M0 0h24v24H0V0z\", fill: \"none\" }), h(\"path\", { d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" }))))), hasIconButtons && !overMobileBreakpoint && (h(\"div\", { class: \"icon-buttons-container\" }, h(\"slot\", { name: \"buttons\" }))), hasMenuContent && overMobileBreakpoint && (h(\"div\", { class: \"menu-button-container\" }, h(\"span\", { id: \"navigation-landmark-button-text\", class: \"navigation-landmark-button-text\", \"aria-hidden\": \"true\" }, \"Main navigation button\"), h(\"nav\", { \"aria-labelledby\": \"navigation-landmark-button-text\", \"aria-hidden\": `${navMenuVisible}` }, h(\"ic-button\", { id: \"menu-button\", appearance: foregroundColor, variant: \"secondary\", \"aria-expanded\": \"false\", \"aria-haspopup\": \"true\", \"aria-label\": `Open ${hasNavigation ? \"navigation\" : \"app\"} menu`, size: menuSize, onClick: menuButtonClick }, \"Menu\", h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", height: \"24px\", viewBox: \"0 0 24 24\", width: \"24px\", fill: \"#ffffff\", slot: \"icon\" }, h(\"path\", { d: \"M0 0h24v24H0V0z\", fill: \"none\" }), h(\"path\", { d: \"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" })))))))))), mobileSearchBarVisible && (h(\"div\", { class: \"search-bar-container\" }, h(\"slot\", { name: \"search\" }))), hasNavigation && !overMobileBreakpoint && (h(\"div\", { class: \"navigation-tabs\" }, h(\"span\", { id: \"navigation-landmark-text\", class: \"navigation-landmark-text\", \"aria-hidden\": \"true\" }, \"Main pages\"), h(\"nav\", { \"aria-labelledby\": \"navigation-landmark-text\", class: \"nav-panel-container\" }, h(\"ic-horizontal-scroll\", { appearance: foregroundColor }, h(\"ul\", { class: \"navigation-item-list\", tabindex: \"-1\" }, h(\"slot\", { name: \"navigation\" }))))))))), navMenuVisible && (h(\"ic-navigation-menu\", { version: version, status: status, class: {\n [\"inline\"]: inline,\n } }, hasIconButtons && (h(\"div\", { class: \"menu-buttons-slot\", slot: \"buttons\" }, h(\"slot\", { name: \"buttons\" }))), h(\"ul\", { slot: \"navigation\" }, h(\"slot\", { name: \"navigation\" }))))));\n }\n static get is() { return \"ic-top-navigation\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-top-navigation.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-top-navigation.css\"]\n };\n }\n static get properties() {\n return {\n \"contentAligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"full-width\\\" | \\\"left\\\"\",\n \"references\": {\n \"IcAlignment\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the top navigation content.\"\n },\n \"attribute\": \"content-aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"full-width\\\"\"\n },\n \"customMobileBreakpoint\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcDeviceSizes\",\n \"resolved\": \"0 | 1200 | 576 | 768 | 992\",\n \"references\": {\n \"IcDeviceSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcDeviceSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Can set a custom breakpoint for the top navigation to switch to mobile mode.\\nMust be one of our specified breakpoints in px: `0`, `576`, `768`, `992`, `1200`.\"\n },\n \"attribute\": \"custom-mobile-breakpoint\",\n \"reflect\": false,\n \"defaultValue\": \"DEVICE_SIZES.L\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL to navigate to when the app title is clicked.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"/\\\"\"\n },\n \"inline\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the flyout navigation menu on small devices will be contained by the parent element.\"\n },\n \"attribute\": \"inline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"shortAppTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The short title of the app to be displayed at small screen sizes in place of the app title.\"\n },\n \"attribute\": \"short-app-title\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status info to be displayed.\"\n },\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"version\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The version info to be displayed.\"\n },\n \"attribute\": \"version\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"appTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The app title to be displayed. This is required, unless a slotted app title link is used.\"\n },\n \"attribute\": \"app-title\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"foregroundColor\": {},\n \"hasFullWidthSearchBar\": {},\n \"mobileSearchBarVisible\": {},\n \"mobileSearchHiddenOnBlur\": {},\n \"navMenuVisible\": {},\n \"searchButtonClick\": {},\n \"searchValue\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icNavigationMenuClosed\",\n \"name\": \"icNavigationMenuClosed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is closed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icNavigationMenuOpened\",\n \"name\": \"icNavigationMenuOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is opened.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"topNavResized\",\n \"name\": \"topNavResized\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the top navigation is resized.\"\n },\n \"complexType\": {\n \"original\": \"{ size: number }\",\n \"resolved\": \"{ size: number; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"appTitle\",\n \"methodName\": \"watchPropHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuClose\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icSearchBarBlur\",\n \"method\": \"searchInputBlurHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icChange\",\n \"method\": \"searchValueChangeHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-top-navigation.js.map\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,g as e}from"./p-8455d1bb.js";import{o,a as n}from"./p-8128572e.js";import"./p-fd186591.js";const a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">\n <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>\n</svg>\n`;const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:absolute;right:0}.positioning{position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);z-index:var(--ic-z-index-back-to-top)}.icon-only{width:2.5rem;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs)\n var(--ic-space-xs)}.icon-only .ic-back-to-top-icon{padding-left:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}button{height:2.5rem;align-items:center;padding:var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);margin:0;gap:var(--ic-space-xs);display:flex;background-color:var(--ic-architectural-white);border:var(--ic-border-width) solid var(--ic-action-default);outline-width:inherit;box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:5rem;text-decoration:none;visibility:hidden;opacity:0;cursor:pointer}button:hover{text-decoration:none;background-color:var(--ic-action-default-bg-hover-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-hover)}button:active{text-decoration:none;background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active)}button:focus{box-shadow:var(--ic-border-focus)}.ic-back-to-top-link.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}.ic-back-to-top-link.by-footer{position:relative;right:var(--ic-space-md);bottom:3.5rem}.ic-back-to-top-link.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{fill:var(--ic-action-default);padding-left:var(--ic-space-xxs);padding-top:var(--ic-space-xxxs)}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md);display:inline-block}.ic-back-to-top-link span{color:var(--ic-action-default)}.ic-back-to-top-link:hover .ic-back-to-top-icon{fill:var(--ic-action-default-hover)}.ic-back-to-top-link:hover span{color:var(--ic-action-default-hover)}@media (forced-colors: active){.ic-back-to-top-icon{fill:currentcolor}}';const r="Back to top";const c=class{constructor(e){t(this,e);this.topObserver=null;this.getObservedEl=()=>document.querySelector("#ic-back-to-top-target");this.setTargetElVisible=t=>{this.targetElVisible=t};this.setFooterVisible=t=>{this.checkForClassificationBanner();this.footerVisible=typeof window!=="undefined"&&window.scrollY===0?false:t};this.targetElObserverCallback=t=>{this.setTargetElVisible(t[0].isIntersecting)};this.footerObserverCallback=t=>{this.setFooterVisible(t[0].isIntersecting)};this.findTargetEl=t=>{let i=null;if(t===null||t===undefined){console.log("Error: No target ID specified for back to top component - defaulting to top of page")}else{i=document.querySelector(`${t.startsWith("#")?"":"#"}${t}`);if(i===null){console.log(`Error: Back to top target element '${t}' not found - defaulting to top of page`)}}return i};this.createTopObserver=t=>{this.targetEl=this.findTargetEl(t);let i;if(this.topObserver!==null){const t=this.getObservedEl();if(t!==null){this.topObserver.unobserve(t);t.remove()}}if(this.targetEl===null){i=document.body;this.targetEl=i.firstElementChild;this.isTargetElNull=true}else{i=this.targetEl.parentNode;this.isTargetElNull=false}const e=document.createElement("div");e.setAttribute("id","ic-back-to-top-target");e.setAttribute("tabindex","-1");i.insertBefore(e,this.targetEl);const o=getComputedStyle(this.targetEl).marginTop;this.topObserver=new IntersectionObserver(this.targetElObserverCallback,{threshold:[0],rootMargin:`${o} 0px 0px 0px`});this.topObserver.observe(e)};this.handleClick=()=>{if(this.isTargetElNull){window.scrollTo(0,0)}else{this.targetEl.scrollIntoView()}this.getObservedEl().focus()};this.checkForClassificationBanner=()=>{const t=document.querySelectorAll("ic-classification-banner:not([inline='true'])");this.bannerOffset=t.length>0};this.buildButton=()=>{const{bannerOffset:t,targetElVisible:e,footerVisible:o,variant:n}=this;return i("button",{class:{["ic-back-to-top-link"]:true,["offset-banner"]:t,["show"]:!e,["by-footer"]:o,["positioning"]:n!=="icon",["icon-only"]:n==="icon"},"aria-label":r,onClick:this.handleClick},i("span",{class:"ic-back-to-top-icon",innerHTML:a}),this.variant!=="icon"&&i("ic-typography",{variant:"subtitle-small"},i("span",null,r)))};this.bannerOffset=false;this.footerVisible=false;this.targetElVisible=true;this.target=undefined;this.variant="default"}watchPropHandler(t,i){o(i,t,(()=>{this.createTopObserver(t)}))}componentWillLoad(){this.createTopObserver(this.target);this.checkForClassificationBanner();let t=document.querySelectorAll("ic-footer");if(t.length===0){t=document.querySelectorAll("footer")}if(t.length){const i=t[t.length-1];const e=this.bannerOffset?.15:0;const o=new IntersectionObserver(this.footerObserverCallback,{threshold:[e]});o.observe(i)}}componentDidLoad(){n([{prop:this.target,propName:"target"}],"Back to Top")}render(){const{variant:t,buildButton:e}=this;return t==="icon"?i("ic-tooltip",{label:r,placement:"top",class:"positioning"},e()):e()}static get delegatesFocus(){return true}get el(){return e(this)}static get watchers(){return{target:["watchPropHandler"]}}};c.style=s;export{c as ic_back_to_top};
2
+ //# sourceMappingURL=p-ccf72538.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icBackToTopCss","backToTopLabel","BackToTop","constructor","hostRef","this","topObserver","getObservedEl","document","querySelector","setTargetElVisible","visible","targetElVisible","setFooterVisible","checkForClassificationBanner","footerVisible","window","scrollY","targetElObserverCallback","entries","isIntersecting","footerObserverCallback","findTargetEl","target","targetElement","undefined","console","log","startsWith","createTopObserver","targetEl","objParent","observedEl","unobserve","remove","body","firstElementChild","isTargetElNull","parentNode","objBackToTopTargetEl","createElement","setAttribute","insertBefore","marginTop","getComputedStyle","IntersectionObserver","threshold","rootMargin","observe","handleClick","scrollTo","scrollIntoView","focus","banners","querySelectorAll","bannerOffset","length","buildButton","variant","h","class","onClick","innerHTML","ArrowUpward","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","componentWillLoad","footers","footerEl","footerObserver","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","render","label","placement","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","../web-components/dist/collection/components/ic-back-to-top/ic-back-to-top.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/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n */\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\n.positioning {\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\n.icon-only {\n width: 2.5rem;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs)\n var(--ic-space-xs);\n}\n\n.icon-only .ic-back-to-top-icon {\n padding-left: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\nbutton {\n height: 2.5rem;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);\n margin: 0;\n gap: var(--ic-space-xs);\n display: flex;\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-width) solid var(--ic-action-default);\n outline-width: inherit;\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: 5rem;\n text-decoration: none;\n visibility: hidden;\n opacity: 0;\n cursor: pointer;\n}\n\nbutton:hover {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-hover);\n}\n\nbutton:active {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-back-to-top-link.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\n.ic-back-to-top-link.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\n.ic-back-to-top-link.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n fill: var(--ic-action-default);\n padding-left: var(--ic-space-xxs);\n padding-top: var(--ic-space-xxxs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n display: inline-block;\n}\n\n.ic-back-to-top-link span {\n color: var(--ic-action-default);\n}\n\n.ic-back-to-top-link:hover .ic-back-to-top-icon {\n fill: var(--ic-action-default-hover);\n}\n\n.ic-back-to-top-link:hover span {\n color: var(--ic-action-default-hover);\n}\n\n@media (forced-colors: active) {\n .ic-back-to-top-icon {\n fill: currentcolor;\n }\n}\n","import { h } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport { onComponentPropUndefinedChange, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nconst backToTopLabel = \"Back to top\";\nexport class BackToTop {\n constructor() {\n this.topObserver = null;\n this.getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n this.setTargetElVisible = (visible) => {\n this.targetElVisible = visible;\n };\n this.setFooterVisible = (visible) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n this.targetElObserverCallback = (entries) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n this.footerObserverCallback = (entries) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n this.findTargetEl = (target) => {\n let targetElement = null;\n if (target === null || target === undefined) {\n console.log(\"Error: No target ID specified for back to top component - defaulting to top of page\");\n }\n else {\n targetElement = document.querySelector(`${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`);\n if (targetElement === null) {\n console.log(`Error: Back to top target element '${target}' not found - defaulting to top of page`);\n }\n }\n return targetElement;\n };\n this.createTopObserver = (target) => {\n this.targetEl = this.findTargetEl(target);\n let objParent;\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n }\n else {\n objParent = this.targetEl.parentNode;\n this.isTargetElNull = false;\n }\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n this.handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n }\n else {\n this.targetEl.scrollIntoView();\n }\n // Get virtual cursor to move\n this.getObservedEl().focus();\n };\n this.checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\"ic-classification-banner:not([inline='true'])\");\n this.bannerOffset = banners.length > 0;\n };\n this.buildButton = () => {\n const { bannerOffset, targetElVisible, footerVisible, variant } = this;\n return (h(\"button\", { class: {\n [\"ic-back-to-top-link\"]: true,\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"positioning\"]: variant !== \"icon\",\n [\"icon-only\"]: variant === \"icon\",\n }, \"aria-label\": backToTopLabel, onClick: this.handleClick }, h(\"span\", { class: \"ic-back-to-top-icon\", innerHTML: ArrowUpward }), this.variant !== \"icon\" && (h(\"ic-typography\", { variant: \"subtitle-small\" }, h(\"span\", null, backToTopLabel)))));\n };\n this.bannerOffset = false;\n this.footerVisible = false;\n this.targetElVisible = true;\n this.target = undefined;\n this.variant = \"default\";\n }\n watchPropHandler(newValue, oldValue) {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n componentWillLoad() {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\"ic-footer\");\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(this.footerObserverCallback, { threshold: [threshold] });\n footerObserver.observe(footerEl);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.target, propName: \"target\" }], \"Back to Top\");\n }\n render() {\n const { variant, buildButton } = this;\n return variant === \"icon\" ? (h(\"ic-tooltip\", { label: backToTopLabel, placement: \"top\", class: \"positioning\" }, buildButton())) : (buildButton());\n }\n static get is() { return \"ic-back-to-top\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-back-to-top.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-back-to-top.css\"]\n };\n }\n static get properties() {\n return {\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ID of the element to jump back to when the link is clicked.\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBackToTopVariants\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {\n \"IcBackToTopVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-back-to-top.types\",\n \"id\": \"src/components/ic-back-to-top/ic-back-to-top.types.ts::IcBackToTopVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the button to render\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"bannerOffset\": {},\n \"footerVisible\": {},\n \"targetElVisible\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"target\",\n \"methodName\": \"watchPropHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-back-to-top.js.map\n"],"mappings":"8RAAA,MAAMA,EAAiB,s8ICGvB,MAAMC,EAAiB,c,MACVC,EAAS,MAClB,WAAAC,CAAAC,G,UACIC,KAAKC,YAAc,KACnBD,KAAKE,cAAgB,IACVC,SAASC,cAAc,0BAElCJ,KAAKK,mBAAsBC,IACvBN,KAAKO,gBAAkBD,CAAO,EAElCN,KAAKQ,iBAAoBF,IACrBN,KAAKS,+BACLT,KAAKU,qBACMC,SAAW,aAAeA,OAAOC,UAAY,EAAI,MAAQN,CAAO,EAE/EN,KAAKa,yBAA4BC,IAC7Bd,KAAKK,mBAAmBS,EAAQ,GAAGC,eAAe,EAEtDf,KAAKgB,uBAA0BF,IAC3Bd,KAAKQ,iBAAiBM,EAAQ,GAAGC,eAAe,EAEpDf,KAAKiB,aAAgBC,IACjB,IAAIC,EAAgB,KACpB,GAAID,IAAW,MAAQA,IAAWE,UAAW,CACzCC,QAAQC,IAAI,sF,KAEX,CACDH,EAAgBhB,SAASC,cAAc,GAAGc,EAAOK,WAAW,KAAO,GAAK,MAAML,KAC9E,GAAIC,IAAkB,KAAM,CACxBE,QAAQC,IAAI,sCAAsCJ,2C,EAG1D,OAAOC,CAAa,EAExBnB,KAAKwB,kBAAqBN,IACtBlB,KAAKyB,SAAWzB,KAAKiB,aAAaC,GAClC,IAAIQ,EAEJ,GAAI1B,KAAKC,cAAgB,KAAM,CAC3B,MAAM0B,EAAa3B,KAAKE,gBACxB,GAAIyB,IAAe,KAAM,CACrB3B,KAAKC,YAAY2B,UAAUD,GAC3BA,EAAWE,Q,EAGnB,GAAI7B,KAAKyB,WAAa,KAAM,CACxBC,EAAYvB,SAAS2B,KACrB9B,KAAKyB,SAAWC,EAAUK,kBAC1B/B,KAAKgC,eAAiB,I,KAErB,CACDN,EAAY1B,KAAKyB,SAASQ,WAC1BjC,KAAKgC,eAAiB,K,CAG1B,MAAME,EAAuB/B,SAASgC,cAAc,OACpDD,EAAqBE,aAAa,KAAM,yBACxCF,EAAqBE,aAAa,WAAY,MAC9CV,EAAUW,aAAaH,EAAsBlC,KAAKyB,UAElD,MAAMa,EAAYC,iBAAiBvC,KAAKyB,UAAUa,UAClDtC,KAAKC,YAAc,IAAIuC,qBAAqBxC,KAAKa,yBAA0B,CACvE4B,UAAW,CAAC,GACZC,WAAY,GAAGJ,kBAEnBtC,KAAKC,YAAY0C,QAAQT,EAAqB,EAElDlC,KAAK4C,YAAc,KACf,GAAI5C,KAAKgC,eAAgB,CACrBrB,OAAOkC,SAAS,EAAG,E,KAElB,CACD7C,KAAKyB,SAASqB,gB,CAGlB9C,KAAKE,gBAAgB6C,OAAO,EAEhC/C,KAAKS,6BAA+B,KAEhC,MAAMuC,EAAU7C,SAAS8C,iBAAiB,iDAC1CjD,KAAKkD,aAAeF,EAAQG,OAAS,CAAC,EAE1CnD,KAAKoD,YAAc,KACf,MAAMF,aAAEA,EAAY3C,gBAAEA,EAAeG,cAAEA,EAAa2C,QAAEA,GAAYrD,KAClE,OAAQsD,EAAE,SAAU,CAAEC,MAAO,CACrB,CAAC,uBAAwB,KACzB,CAAC,iBAAkBL,EACnB,CAAC,SAAU3C,EACX,CAAC,aAAcG,EACf,CAAC,eAAgB2C,IAAY,OAC7B,CAAC,aAAcA,IAAY,QAC5B,aAAczD,EAAgB4D,QAASxD,KAAK4C,aAAeU,EAAE,OAAQ,CAAEC,MAAO,sBAAuBE,UAAWC,IAAgB1D,KAAKqD,UAAY,QAAWC,EAAE,gBAAiB,CAAED,QAAS,kBAAoBC,EAAE,OAAQ,KAAM1D,IAAkB,EAE3PI,KAAKkD,aAAe,MACpBlD,KAAKU,cAAgB,MACrBV,KAAKO,gBAAkB,KACvBP,KAAKkB,OAASE,UACdpB,KAAKqD,QAAU,S,CAEnB,gBAAAM,CAAiBC,EAAUC,GAEvBC,EAA+BD,EAAUD,GAAU,KAC/C5D,KAAKwB,kBAAkBoC,EAAS,G,CAGxC,iBAAAG,GACI/D,KAAKwB,kBAAkBxB,KAAKkB,QAC5BlB,KAAKS,+BAEL,IAAIuD,EAAU7D,SAAS8C,iBAAiB,aACxC,GAAIe,EAAQb,SAAW,EAAG,CACtBa,EAAU7D,SAAS8C,iBAAiB,S,CAExC,GAAIe,EAAQb,OAAQ,CAChB,MAAMc,EAAWD,EAAQA,EAAQb,OAAS,GAC1C,MAAMV,EAAYzC,KAAKkD,aAAe,IAAO,EAC7C,MAAMgB,EAAiB,IAAI1B,qBAAqBxC,KAAKgB,uBAAwB,CAAEyB,UAAW,CAACA,KAC3FyB,EAAevB,QAAQsB,E,EAG/B,gBAAAE,GACIC,EAAiC,CAAC,CAAEC,KAAMrE,KAAKkB,OAAQoD,SAAU,WAAa,c,CAElF,MAAAC,GACI,MAAMlB,QAAEA,EAAOD,YAAEA,GAAgBpD,KACjC,OAAOqD,IAAY,OAAUC,EAAE,aAAc,CAAEkB,MAAO5E,EAAgB6E,UAAW,MAAOlB,MAAO,eAAiBH,KAAmBA,G,CAIvI,yBAAWsB,GAAmB,OAAO,IAAK,C"}