@ukic/web-components 3.17.0 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-alert.cjs.entry.js +6 -2
  3. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-button_3.cjs.entry.js +28 -16
  5. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -2
  7. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-chip.cjs.entry.js +12 -5
  9. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-data-list.cjs.entry.js +4 -3
  11. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  18. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  19. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
  20. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -6
  22. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  29. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  30. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-pagination.cjs.entry.js +29 -4
  32. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  35. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  36. package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
  37. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-select.cjs.entry.js +6 -6
  39. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  40. package/dist/cjs/ic-skeleton.cjs.entry.js +20 -5
  41. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-step.cjs.entry.js +16 -14
  45. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-stepper.cjs.entry.js +24 -4
  47. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  49. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  53. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -2
  60. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  61. package/dist/cjs/loader.cjs.js +1 -1
  62. package/dist/collection/components/ic-alert/ic-alert.js +26 -2
  63. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  64. package/dist/collection/components/ic-alert/ic-alert.stories.js +15 -0
  65. package/dist/collection/components/ic-button/ic-button.css +12 -0
  66. package/dist/collection/components/ic-button/ic-button.js +3 -3
  67. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  68. package/dist/collection/components/ic-button/ic-button.stories.js +251 -0
  69. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +25 -2
  70. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  71. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +17 -9
  72. package/dist/collection/components/ic-chip/ic-chip.css +12 -0
  73. package/dist/collection/components/ic-chip/ic-chip.js +31 -4
  74. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  75. package/dist/collection/components/ic-chip/ic-chip.stories.js +15 -0
  76. package/dist/collection/components/ic-data-list/ic-data-list.css +4 -0
  77. package/dist/collection/components/ic-data-list/ic-data-list.js +3 -2
  78. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  79. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +6 -0
  80. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  81. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  82. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  83. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  84. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  85. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  86. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  87. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  88. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  89. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  90. package/dist/collection/components/ic-input-validation/ic-input-validation.js +8 -8
  91. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  92. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  93. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  94. package/dist/collection/components/ic-link/ic-link.js +1 -1
  95. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +29 -14
  96. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  97. package/dist/collection/components/ic-menu/ic-menu.css +1 -1
  98. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  99. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  100. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  101. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  102. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  103. package/dist/collection/components/ic-pagination/ic-pagination.js +35 -4
  104. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  105. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  106. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  107. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  108. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  109. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  110. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  111. package/dist/collection/components/ic-select/ic-select.js +6 -6
  112. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +2 -2
  113. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +1 -1
  114. package/dist/collection/components/ic-select/ic-select_(single).stories.js +3 -3
  115. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  116. package/dist/collection/components/ic-skeleton/ic-skeleton.js +58 -5
  117. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  118. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +4 -3
  119. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  120. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  121. package/dist/collection/components/ic-step/ic-step.css +16 -7
  122. package/dist/collection/components/ic-step/ic-step.js +19 -14
  123. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  124. package/dist/collection/components/ic-stepper/ic-stepper.js +24 -4
  125. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  126. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +12 -0
  127. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  128. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  129. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  130. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  131. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -5
  132. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  133. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  134. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  135. package/dist/collection/components/ic-toast/ic-toast.js +5 -5
  136. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  137. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  138. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  139. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +5 -2
  140. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  141. package/dist/components/ic-alert.js +7 -2
  142. package/dist/components/ic-alert.js.map +1 -1
  143. package/dist/components/ic-button2.js +4 -4
  144. package/dist/components/ic-button2.js.map +1 -1
  145. package/dist/components/ic-checkbox-group.js +24 -2
  146. package/dist/components/ic-checkbox-group.js.map +1 -1
  147. package/dist/components/ic-chip.js +13 -5
  148. package/dist/components/ic-chip.js.map +1 -1
  149. package/dist/components/ic-data-list.js +4 -3
  150. package/dist/components/ic-data-list.js.map +1 -1
  151. package/dist/components/ic-data-row.js +3 -3
  152. package/dist/components/ic-data-row.js.map +1 -1
  153. package/dist/components/ic-dialog.js +1 -1
  154. package/dist/components/ic-empty-state.js +2 -2
  155. package/dist/components/ic-footer-link.js +2 -2
  156. package/dist/components/ic-hero.js +4 -4
  157. package/dist/components/ic-horizontal-scroll2.js +5 -5
  158. package/dist/components/ic-input-component-container2.js +3 -3
  159. package/dist/components/ic-input-container2.js +2 -2
  160. package/dist/components/ic-input-label2.js +2 -2
  161. package/dist/components/ic-input-validation2.js +4 -5
  162. package/dist/components/ic-input-validation2.js.map +1 -1
  163. package/dist/components/ic-layout-grid-item.js +2 -2
  164. package/dist/components/ic-layout-grid.js +2 -2
  165. package/dist/components/ic-link2.js +1 -1
  166. package/dist/components/ic-loading-indicator2.js +27 -13
  167. package/dist/components/ic-loading-indicator2.js.map +1 -1
  168. package/dist/components/ic-menu-group.js +1 -1
  169. package/dist/components/ic-menu2.js +4 -4
  170. package/dist/components/ic-menu2.js.map +1 -1
  171. package/dist/components/ic-navigation-group.js +1 -1
  172. package/dist/components/ic-navigation-menu2.js +4 -4
  173. package/dist/components/ic-page-header.js +6 -6
  174. package/dist/components/ic-page-header.js.map +1 -1
  175. package/dist/components/ic-pagination-item2.js +1 -1
  176. package/dist/components/ic-pagination.js +30 -5
  177. package/dist/components/ic-pagination.js.map +1 -1
  178. package/dist/components/ic-popover-menu.js +4 -4
  179. package/dist/components/ic-popover-menu.js.map +1 -1
  180. package/dist/components/ic-radio-group.js +4 -4
  181. package/dist/components/ic-radio-group.js.map +1 -1
  182. package/dist/components/ic-radio-option.js +4 -4
  183. package/dist/components/ic-search-bar.js +9 -9
  184. package/dist/components/ic-section-container2.js +2 -2
  185. package/dist/components/ic-select.js +6 -6
  186. package/dist/components/ic-side-navigation.js +4 -4
  187. package/dist/components/ic-side-navigation.js.map +1 -1
  188. package/dist/components/ic-skeleton.js +23 -6
  189. package/dist/components/ic-skeleton.js.map +1 -1
  190. package/dist/components/ic-skip-link.js +2 -2
  191. package/dist/components/ic-status-tag.js +2 -2
  192. package/dist/components/ic-step.js +17 -15
  193. package/dist/components/ic-step.js.map +1 -1
  194. package/dist/components/ic-stepper.js +24 -4
  195. package/dist/components/ic-stepper.js.map +1 -1
  196. package/dist/components/ic-switch.js +4 -4
  197. package/dist/components/ic-tab-context.js +1 -1
  198. package/dist/components/ic-tab-group.js +2 -2
  199. package/dist/components/ic-tab-panel.js +2 -2
  200. package/dist/components/ic-text-field.js +5 -5
  201. package/dist/components/ic-text-field.js.map +1 -1
  202. package/dist/components/ic-theme.js +1 -1
  203. package/dist/components/ic-toast-region.js +1 -1
  204. package/dist/components/ic-toast.js +5 -5
  205. package/dist/components/ic-toggle-button-group.js +2 -2
  206. package/dist/components/ic-toggle-button.js +2 -2
  207. package/dist/components/ic-top-navigation.js +5 -2
  208. package/dist/components/ic-top-navigation.js.map +1 -1
  209. package/dist/core/core.css +1 -1
  210. package/dist/core/core.esm.js +1 -1
  211. package/dist/core/core.esm.js.map +1 -1
  212. package/dist/core/{p-b83a736d.entry.js → p-012e058a.entry.js} +3 -3
  213. package/dist/core/p-012e058a.entry.js.map +1 -0
  214. package/dist/core/{p-6329ddcb.entry.js → p-0257d59e.entry.js} +2 -2
  215. package/dist/core/{p-d3223b89.entry.js → p-06b3ae40.entry.js} +2 -2
  216. package/dist/core/{p-f6bb691a.entry.js → p-091a7fbf.entry.js} +2 -2
  217. package/dist/core/{p-b4a2f6fa.entry.js → p-0eafbaa1.entry.js} +2 -2
  218. package/dist/core/p-0eafbaa1.entry.js.map +1 -0
  219. package/dist/core/{p-1ca4a5ed.entry.js → p-128e2cbb.entry.js} +2 -2
  220. package/dist/core/{p-afbba548.entry.js → p-21efc36e.entry.js} +2 -2
  221. package/dist/core/{p-04cb17d7.entry.js → p-287e5c17.entry.js} +2 -2
  222. package/dist/core/{p-4d3b219c.entry.js → p-28c9a6e4.entry.js} +2 -2
  223. package/dist/core/{p-f57729b8.entry.js → p-296a41ce.entry.js} +2 -2
  224. package/dist/core/p-34cc376c.entry.js +2 -0
  225. package/dist/core/p-34cc376c.entry.js.map +1 -0
  226. package/dist/core/{p-eca43f7d.entry.js → p-3b13d191.entry.js} +2 -2
  227. package/dist/core/{p-adde6c66.entry.js → p-43356493.entry.js} +2 -2
  228. package/dist/core/{p-3636be4f.entry.js → p-44aaf454.entry.js} +2 -2
  229. package/dist/core/{p-f4e3bb5b.entry.js → p-44fbe8c2.entry.js} +2 -2
  230. package/dist/core/{p-a7583faf.entry.js → p-4637c326.entry.js} +2 -2
  231. package/dist/core/{p-30312243.entry.js → p-49444c33.entry.js} +2 -2
  232. package/dist/core/p-49444c33.entry.js.map +1 -0
  233. package/dist/core/p-4fa7fbc4.entry.js +2 -0
  234. package/dist/core/p-4fa7fbc4.entry.js.map +1 -0
  235. package/dist/core/{p-2026f4fa.entry.js → p-52fa3eec.entry.js} +2 -2
  236. package/dist/core/{p-2026f4fa.entry.js.map → p-52fa3eec.entry.js.map} +1 -1
  237. package/dist/core/{p-9c52ee48.entry.js → p-539b975f.entry.js} +2 -2
  238. package/dist/core/{p-319e3d5b.entry.js → p-5cf704e3.entry.js} +2 -2
  239. package/dist/core/p-5e1a77aa.entry.js +2 -0
  240. package/dist/core/p-5e1a77aa.entry.js.map +1 -0
  241. package/dist/core/{p-601d4e3f.entry.js → p-614953c5.entry.js} +2 -2
  242. package/dist/core/{p-3d23ce54.entry.js → p-6b6c1491.entry.js} +2 -2
  243. package/dist/core/{p-5254a078.entry.js → p-6e8ef73c.entry.js} +2 -2
  244. package/dist/core/{p-ae11583f.entry.js → p-6fb29846.entry.js} +2 -2
  245. package/dist/core/p-70e1dd4d.entry.js +2 -0
  246. package/dist/core/p-70e1dd4d.entry.js.map +1 -0
  247. package/dist/core/{p-52c66bfe.entry.js → p-72ac8bb9.entry.js} +2 -2
  248. package/dist/core/{p-ffd0d9d1.entry.js → p-7552c8a1.entry.js} +2 -2
  249. package/dist/core/{p-a8e4258f.entry.js → p-8798cc6b.entry.js} +2 -2
  250. package/dist/core/p-8798cc6b.entry.js.map +1 -0
  251. package/dist/core/{p-ca82850f.entry.js → p-9452b9ac.entry.js} +2 -2
  252. package/dist/core/p-9452b9ac.entry.js.map +1 -0
  253. package/dist/core/p-a5295f66.entry.js +2 -0
  254. package/dist/core/p-a5295f66.entry.js.map +1 -0
  255. package/dist/core/p-a7645717.entry.js +2 -0
  256. package/dist/core/p-a7645717.entry.js.map +1 -0
  257. package/dist/core/p-a86785dd.entry.js +2 -0
  258. package/dist/core/p-a86785dd.entry.js.map +1 -0
  259. package/dist/core/{p-703f3de1.entry.js → p-a8dc3162.entry.js} +2 -2
  260. package/dist/core/{p-f7105cf9.entry.js → p-ad6632a9.entry.js} +2 -2
  261. package/dist/core/p-ae861bb8.entry.js +2 -0
  262. package/dist/core/{p-7d0d85c4.entry.js → p-af02add9.entry.js} +2 -2
  263. package/dist/core/{p-9674b63f.entry.js → p-b00efb15.entry.js} +2 -2
  264. package/dist/core/{p-3238389a.entry.js → p-bb3a5130.entry.js} +2 -2
  265. package/dist/core/{p-53740194.entry.js → p-bfd03fb4.entry.js} +2 -2
  266. package/dist/core/p-bfd03fb4.entry.js.map +1 -0
  267. package/dist/core/{p-67c3985d.entry.js → p-d8200098.entry.js} +2 -2
  268. package/dist/core/{p-6ed48c46.entry.js → p-dfc2a0b1.entry.js} +2 -2
  269. package/dist/core/{p-12c30491.entry.js → p-f4e2e41f.entry.js} +2 -2
  270. package/dist/core/{p-9ca147f3.entry.js → p-fb43abd6.entry.js} +2 -2
  271. package/dist/esm/core.js +1 -1
  272. package/dist/esm/ic-alert.entry.js +6 -2
  273. package/dist/esm/ic-alert.entry.js.map +1 -1
  274. package/dist/esm/ic-button_3.entry.js +28 -16
  275. package/dist/esm/ic-button_3.entry.js.map +1 -1
  276. package/dist/esm/ic-checkbox-group.entry.js +23 -2
  277. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  278. package/dist/esm/ic-chip.entry.js +12 -5
  279. package/dist/esm/ic-chip.entry.js.map +1 -1
  280. package/dist/esm/ic-data-list.entry.js +4 -3
  281. package/dist/esm/ic-data-list.entry.js.map +1 -1
  282. package/dist/esm/ic-data-row.entry.js +3 -3
  283. package/dist/esm/ic-data-row.entry.js.map +1 -1
  284. package/dist/esm/ic-dialog.entry.js +1 -1
  285. package/dist/esm/ic-empty-state.entry.js +2 -2
  286. package/dist/esm/ic-footer-link.entry.js +2 -2
  287. package/dist/esm/ic-hero.entry.js +4 -4
  288. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  289. package/dist/esm/ic-input-component-container_3.entry.js +9 -9
  290. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  291. package/dist/esm/ic-input-label_2.entry.js +6 -7
  292. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  293. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  294. package/dist/esm/ic-layout-grid.entry.js +2 -2
  295. package/dist/esm/ic-link.entry.js +1 -1
  296. package/dist/esm/ic-menu-group.entry.js +1 -1
  297. package/dist/esm/ic-navigation-group.entry.js +1 -1
  298. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  299. package/dist/esm/ic-page-header.entry.js +6 -6
  300. package/dist/esm/ic-pagination-item.entry.js +1 -1
  301. package/dist/esm/ic-pagination.entry.js +29 -4
  302. package/dist/esm/ic-pagination.entry.js.map +1 -1
  303. package/dist/esm/ic-popover-menu.entry.js +4 -4
  304. package/dist/esm/ic-radio-group.entry.js +4 -4
  305. package/dist/esm/ic-radio-option.entry.js +4 -4
  306. package/dist/esm/ic-search-bar.entry.js +9 -9
  307. package/dist/esm/ic-section-container.entry.js +2 -2
  308. package/dist/esm/ic-select.entry.js +6 -6
  309. package/dist/esm/ic-side-navigation.entry.js +4 -4
  310. package/dist/esm/ic-skeleton.entry.js +20 -5
  311. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  312. package/dist/esm/ic-skip-link.entry.js +2 -2
  313. package/dist/esm/ic-status-tag.entry.js +2 -2
  314. package/dist/esm/ic-step.entry.js +17 -15
  315. package/dist/esm/ic-step.entry.js.map +1 -1
  316. package/dist/esm/ic-stepper.entry.js +24 -4
  317. package/dist/esm/ic-stepper.entry.js.map +1 -1
  318. package/dist/esm/ic-switch.entry.js +4 -4
  319. package/dist/esm/ic-tab-context.entry.js +1 -1
  320. package/dist/esm/ic-tab-group.entry.js +2 -2
  321. package/dist/esm/ic-tab-panel.entry.js +2 -2
  322. package/dist/esm/ic-text-field.entry.js +5 -5
  323. package/dist/esm/ic-text-field.entry.js.map +1 -1
  324. package/dist/esm/ic-theme.entry.js +1 -1
  325. package/dist/esm/ic-toast-region.entry.js +1 -1
  326. package/dist/esm/ic-toast.entry.js +5 -5
  327. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  328. package/dist/esm/ic-toggle-button.entry.js +2 -2
  329. package/dist/esm/ic-top-navigation.entry.js +5 -2
  330. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  331. package/dist/esm/loader.js +1 -1
  332. package/dist/types/components/ic-alert/ic-alert.d.ts +4 -0
  333. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  334. package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
  335. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +2 -1
  336. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +4 -1
  337. package/dist/types/components/ic-pagination/ic-pagination.d.ts +7 -0
  338. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -0
  339. package/dist/types/components/ic-step/ic-step.d.ts +3 -0
  340. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -0
  341. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
  342. package/dist/types/components.d.ts +36 -4
  343. package/hydrate/index.js +291 -172
  344. package/hydrate/index.mjs +291 -172
  345. package/package.json +17 -23
  346. package/vscode-data.json +17 -1
  347. package/dist/core/p-199c5ff6.entry.js +0 -2
  348. package/dist/core/p-199c5ff6.entry.js.map +0 -1
  349. package/dist/core/p-1f41818b.entry.js +0 -2
  350. package/dist/core/p-1f41818b.entry.js.map +0 -1
  351. package/dist/core/p-30312243.entry.js.map +0 -1
  352. package/dist/core/p-33e35173.entry.js +0 -2
  353. package/dist/core/p-33e35173.entry.js.map +0 -1
  354. package/dist/core/p-34407b13.entry.js +0 -2
  355. package/dist/core/p-34407b13.entry.js.map +0 -1
  356. package/dist/core/p-42d35fc4.entry.js +0 -2
  357. package/dist/core/p-42d35fc4.entry.js.map +0 -1
  358. package/dist/core/p-53740194.entry.js.map +0 -1
  359. package/dist/core/p-a8e4258f.entry.js.map +0 -1
  360. package/dist/core/p-b4a2f6fa.entry.js.map +0 -1
  361. package/dist/core/p-b59504f1.entry.js +0 -2
  362. package/dist/core/p-b59504f1.entry.js.map +0 -1
  363. package/dist/core/p-b83a736d.entry.js.map +0 -1
  364. package/dist/core/p-ca82850f.entry.js.map +0 -1
  365. package/dist/core/p-cce398e1.entry.js +0 -2
  366. package/dist/core/p-cce398e1.entry.js.map +0 -1
  367. package/dist/core/p-f51c609d.entry.js +0 -2
  368. /package/dist/core/{p-6329ddcb.entry.js.map → p-0257d59e.entry.js.map} +0 -0
  369. /package/dist/core/{p-d3223b89.entry.js.map → p-06b3ae40.entry.js.map} +0 -0
  370. /package/dist/core/{p-f6bb691a.entry.js.map → p-091a7fbf.entry.js.map} +0 -0
  371. /package/dist/core/{p-1ca4a5ed.entry.js.map → p-128e2cbb.entry.js.map} +0 -0
  372. /package/dist/core/{p-afbba548.entry.js.map → p-21efc36e.entry.js.map} +0 -0
  373. /package/dist/core/{p-04cb17d7.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  374. /package/dist/core/{p-4d3b219c.entry.js.map → p-28c9a6e4.entry.js.map} +0 -0
  375. /package/dist/core/{p-f57729b8.entry.js.map → p-296a41ce.entry.js.map} +0 -0
  376. /package/dist/core/{p-eca43f7d.entry.js.map → p-3b13d191.entry.js.map} +0 -0
  377. /package/dist/core/{p-adde6c66.entry.js.map → p-43356493.entry.js.map} +0 -0
  378. /package/dist/core/{p-3636be4f.entry.js.map → p-44aaf454.entry.js.map} +0 -0
  379. /package/dist/core/{p-f4e3bb5b.entry.js.map → p-44fbe8c2.entry.js.map} +0 -0
  380. /package/dist/core/{p-a7583faf.entry.js.map → p-4637c326.entry.js.map} +0 -0
  381. /package/dist/core/{p-9c52ee48.entry.js.map → p-539b975f.entry.js.map} +0 -0
  382. /package/dist/core/{p-319e3d5b.entry.js.map → p-5cf704e3.entry.js.map} +0 -0
  383. /package/dist/core/{p-601d4e3f.entry.js.map → p-614953c5.entry.js.map} +0 -0
  384. /package/dist/core/{p-3d23ce54.entry.js.map → p-6b6c1491.entry.js.map} +0 -0
  385. /package/dist/core/{p-5254a078.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  386. /package/dist/core/{p-ae11583f.entry.js.map → p-6fb29846.entry.js.map} +0 -0
  387. /package/dist/core/{p-52c66bfe.entry.js.map → p-72ac8bb9.entry.js.map} +0 -0
  388. /package/dist/core/{p-ffd0d9d1.entry.js.map → p-7552c8a1.entry.js.map} +0 -0
  389. /package/dist/core/{p-703f3de1.entry.js.map → p-a8dc3162.entry.js.map} +0 -0
  390. /package/dist/core/{p-f7105cf9.entry.js.map → p-ad6632a9.entry.js.map} +0 -0
  391. /package/dist/core/{p-f51c609d.entry.js.map → p-ae861bb8.entry.js.map} +0 -0
  392. /package/dist/core/{p-7d0d85c4.entry.js.map → p-af02add9.entry.js.map} +0 -0
  393. /package/dist/core/{p-9674b63f.entry.js.map → p-b00efb15.entry.js.map} +0 -0
  394. /package/dist/core/{p-3238389a.entry.js.map → p-bb3a5130.entry.js.map} +0 -0
  395. /package/dist/core/{p-67c3985d.entry.js.map → p-d8200098.entry.js.map} +0 -0
  396. /package/dist/core/{p-6ed48c46.entry.js.map → p-dfc2a0b1.entry.js.map} +0 -0
  397. /package/dist/core/{p-12c30491.entry.js.map → p-f4e2e41f.entry.js.map} +0 -0
  398. /package/dist/core/{p-9ca147f3.entry.js.map → p-fb43abd6.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-input-validation.js","sourceRoot":"","sources":["../../../src/components/ic-input-validation/ic-input-validation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAEL,mBAAmB,GAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,IAAI,GAAG;IACX,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,WAAW;IAC1C,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS;IACtC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,WAAW;CAC3C,CAAC;AACF,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC;;GAEG;AAKH,MAAM,OAAO,eAAe;IAJ5B;QASE;;WAEG;QACK,iBAAY,GAAgB,QAAQ,CAAC;QAO7C;;WAEG;QACK,cAAS,GAAa,KAAK,CAAC;QAgBpC;;WAEG;QACK,WAAM,GAAgC,EAAE,CAAC;KA6ClD;IAzDC,mBAAmB,CAAC,QAAgB;QAClC,+BAA+B;QAC/B,2FAA2F;QAC3F,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC;QAC5C,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,oDAAoD;IAC/D,CAAC;IAOD,gBAAgB;QACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAC7C,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,uBAAuB,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,EAAE;gBAChD,gCAAgC,EAAE,CAAC,CAAC,SAAS;gBAC7C,iCAAiC,EAAE,MAAM,KAAK,EAAE;aACjD;YAEA,WAAW,KAAK,EAAE,IAAI,CACrB,6DACE,KAAK,EAAE;oBACL,aAAa,EAAE,IAAI;oBACnB,CAAC,QAAQ,MAAM,EAAE,CAAC,EAAE,IAAI;iBACzB,EACD,SAAS,EAAE,WAAW,GACtB,CACH;YACD,sEAAe,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,YAAY;gBACjD,6DAAM,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,IACrD,OAAO,CACH;gBAEP,6DACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAqB,CAAC,EACrD,KAAK,EAAC,SAAS,eACJ,YAAY,GACjB,CACM;YAChB,6DAAM,IAAI,EAAC,8BAA8B,GAAQ,CAC5C,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Element, Component, Host, Prop, h, Watch } from \"@stencil/core\";\n\nimport {\n IcAriaLive,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport {\n getInputValidationTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst ICON = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\nconst INVISIBLE_CHAR = \"\\u200B\";\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n private messageEl!: HTMLSpanElement;\n\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode?: IcAriaLive = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for?: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message!: string;\n @Watch(\"message\")\n watchMessageHandler(newValue: string) {\n // Force detectable DOM changes\n // Invisible character used as screen readers can ignore whitespace changes e.g. \"\" and \" \"\n this.messageEl.textContent = INVISIBLE_CHAR;\n setTimeout(() => {\n this.messageEl.textContent = newValue;\n }, 200); // Delay to help ensure screen readers detect change\n }\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status?: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n this.messageEl.textContent = INVISIBLE_CHAR;\n }\n\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? ICON[status!] : \"\";\n return (\n <Host\n class={{\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n \"ic-input-validation-with-status\": status !== \"\",\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span id={this.for && getInputValidationTextID(this.for)}>\n {message}\n </span>\n {/* Separate aria-live region to avoid flashing due to textContent delay */}\n <span\n ref={(el) => (this.messageEl = el as HTMLSpanElement)}\n class=\"sr-only\"\n aria-live={ariaLiveMode}\n ></span>\n </ic-typography>\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-input-validation.js","sourceRoot":"","sources":["../../../src/components/ic-input-validation/ic-input-validation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAEL,mBAAmB,GAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3E,MAAM,IAAI,GAAG;IACX,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,WAAW;IAC1C,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS;IACtC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,WAAW;CAC3C,CAAC;AACF,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC;;;GAGG;AAKH,MAAM,OAAO,eAAe;IAJ5B;QASE;;WAEG;QACK,iBAAY,GAAgB,QAAQ,CAAC;QAO7C;;WAEG;QACK,cAAS,GAAa,KAAK,CAAC;QAgBpC;;WAEG;QACK,WAAM,GAAgC,EAAE,CAAC;KA6ClD;IAzDC,mBAAmB,CAAC,QAAgB;QAClC,+BAA+B;QAC/B,2FAA2F;QAC3F,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC;QAC5C,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,oDAAoD;IAC/D,CAAC;IAOD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,uBAAuB,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,EAAE;gBAChD,gCAAgC,EAAE,CAAC,CAAC,SAAS;gBAC7C,iCAAiC,EAAE,MAAM,KAAK,EAAE;aACjD;YAEA,WAAW,KAAK,EAAE,IAAI,CACrB,6DACE,KAAK,EAAE;oBACL,aAAa,EAAE,IAAI;oBACnB,CAAC,QAAQ,MAAM,EAAE,CAAC,EAAE,IAAI;iBACzB,EACD,SAAS,EAAE,WAAW,GACtB,CACH;YACD,sEAAe,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,YAAY;gBACjD,6DAAM,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,IACrD,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAC3C,YAAM,IAAI,EAAC,oBAAoB,GAAG,CACnC,CAAC,CAAC,CAAC,CACF,OAAO,CACR,CACI;gBAEP,6DACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAqB,CAAC,EACrD,KAAK,EAAC,SAAS,eACJ,YAAY,GACjB,CACM;YAChB,6DAAM,IAAI,EAAC,8BAA8B,GAAQ,CAC5C,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Element, Component, Host, Prop, h, Watch } from \"@stencil/core\";\n\nimport {\n IcAriaLive,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport { getInputValidationTextID, isSlotUsed } from \"../../utils/helpers\";\n\nconst ICON = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\nconst INVISIBLE_CHAR = \"\\u200B\";\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n * @slot validation-message - Content will be placed as the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n private messageEl!: HTMLSpanElement;\n\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode?: IcAriaLive = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for?: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message?: string;\n @Watch(\"message\")\n watchMessageHandler(newValue: string) {\n // Force detectable DOM changes\n // Invisible character used as screen readers can ignore whitespace changes e.g. \"\" and \" \"\n this.messageEl.textContent = INVISIBLE_CHAR;\n setTimeout(() => {\n this.messageEl.textContent = newValue;\n }, 200); // Delay to help ensure screen readers detect change\n }\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status?: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n this.messageEl.textContent = INVISIBLE_CHAR;\n }\n\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? ICON[status!] : \"\";\n return (\n <Host\n class={{\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n \"ic-input-validation-with-status\": status !== \"\",\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span id={this.for && getInputValidationTextID(this.for)}>\n {isSlotUsed(this.el, \"validation-message\") ? (\n <slot name=\"validation-message\" />\n ) : (\n message\n )}\n </span>\n {/* Separate aria-live region to avoid flashing due to textContent delay */}\n <span\n ref={(el) => (this.messageEl = el as HTMLSpanElement)}\n class=\"sr-only\"\n aria-live={ariaLiveMode}\n ></span>\n </ic-typography>\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"]}
@@ -124,10 +124,10 @@ export class LayoutGrid {
124
124
  }
125
125
  render() {
126
126
  const { aligned, fullHeight } = this;
127
- return (h(Host, { key: 'fa862e7110426cb032982c8743b7ad3024f06f9a', class: {
127
+ return (h(Host, { key: '47ece5b026e7e3c97ed38bfe3bab840c1f19ab7c', class: {
128
128
  [`ic-layout-grid-aligned-${aligned}`]: true,
129
129
  ["ic-layout-grid-no-vertical-padding"]: !!fullHeight,
130
- } }, h("slot", { key: '716c4137c338797b4ce17c9dd946f8902064606f' })));
130
+ } }, h("slot", { key: 'f60fbe3bcc6218cf7340513a1699c13b0db377a0' })));
131
131
  }
132
132
  static get is() { return "ic-layout-grid"; }
133
133
  static get encapsulation() { return "shadow"; }
@@ -42,9 +42,9 @@ export class LayoutGridItem {
42
42
  }
43
43
  render() {
44
44
  const { hideInMobileMode } = this;
45
- return (h(Host, { key: '9e96a528f70c414a5728a7fd0773d0adb4063020', class: {
45
+ return (h(Host, { key: 'bf040e1b3ddbd7f275a026008bf6f011fa440b1d', class: {
46
46
  "ic-layout-grid-hide-in-mobile": !!hideInMobileMode,
47
- } }, h("slot", { key: '43b2b4891f8b1241fad2fb707016cd927632bdfd' })));
47
+ } }, h("slot", { key: '0833ce81285ee10fdfb943fe7d54d0e7db210313' })));
48
48
  }
49
49
  static get is() { return "ic-layout-grid-item"; }
50
50
  static get encapsulation() { return "shadow"; }
@@ -91,7 +91,7 @@ export class Link {
91
91
  }
92
92
  render() {
93
93
  const { download, href, hreflang, referrerpolicy, rel, target, monochrome, theme, } = this;
94
- return (h(Host, { key: '1d3ba1effcfab3255ea567c475e2252bd17de507', class: {
94
+ return (h(Host, { key: 'ca6343037bc5985cf5062b7797e71e0dd0184fb3', class: {
95
95
  ["ic-link"]: true,
96
96
  [`ic-theme-${theme}`]: theme !== "inherit",
97
97
  ["ic-link-monochrome"]: !!monochrome,
@@ -16,6 +16,7 @@ export class LoadingIndicator {
16
16
  r: 0,
17
17
  };
18
18
  this.clipInnerElement = false;
19
+ this.internalType = "circular";
19
20
  /**
20
21
  * The description that will be set as the aria-label of the loading indicator when not using a visible label.
21
22
  */
@@ -51,7 +52,7 @@ export class LoadingIndicator {
51
52
  */
52
53
  this.theme = "inherit";
53
54
  /**
54
- * The type of indicator, either linear or circular.
55
+ * The type of indicator, either linear or circular. When size is set to 'icon' the type will be set to circular.
55
56
  */
56
57
  this.type = "circular";
57
58
  this.getLabel = (labelIndex) => new Promise(() => {
@@ -66,7 +67,7 @@ export class LoadingIndicator {
66
67
  }, this.labelDuration);
67
68
  });
68
69
  this.getLabelVariant = () => {
69
- const width = this.type === "circular" ? this.calculateWidth() : 0;
70
+ const width = this.internalType === "circular" ? this.calculateWidth() : 0;
70
71
  if (this.size === "small" || (width && width < 60)) {
71
72
  return "label";
72
73
  }
@@ -110,6 +111,12 @@ export class LoadingIndicator {
110
111
  }
111
112
  this.innerElement.style.setProperty("--linear-width", `${proportion * 100}%`);
112
113
  };
114
+ this.setInternalType = () => {
115
+ this.internalType = this.type;
116
+ if (this.type == "linear") {
117
+ this.internalType = this.size == "icon" ? "circular" : "linear";
118
+ }
119
+ };
113
120
  this.updateLabel = () => {
114
121
  if (!this.label)
115
122
  return;
@@ -145,15 +152,19 @@ export class LoadingIndicator {
145
152
  this.updateLabel();
146
153
  }
147
154
  handleProgressChange() {
148
- if (this.type === "linear") {
155
+ if (this.internalType === "linear") {
149
156
  this.setLinearDeterminateWidth();
150
157
  }
151
158
  else {
152
159
  this.setCircleDimensions();
153
160
  }
154
161
  }
162
+ handleIconSize() {
163
+ this.setIndicatorDimensions();
164
+ }
155
165
  setIndicatorDimensions() {
156
- if (this.type === "circular") {
166
+ this.setInternalType();
167
+ if (this.internalType === "circular") {
157
168
  // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property
158
169
  const diameter = this.calculateWidth();
159
170
  if (this.outerElement && diameter !== this.circularDiameter) {
@@ -178,25 +189,25 @@ export class LoadingIndicator {
178
189
  this.setIndicatorDimensions();
179
190
  }
180
191
  render() {
181
- const { circularDiameter, circularDimensions: { x, y, r, dashArray, dashOffset }, description, fullWidth, indicatorLabel, innerLabel, label, max, min, monochrome, progress, size, theme, type, } = this;
182
- return (h(Host, { key: '8f3a698fc177a9ff0c42efa2cb0d6fde7d09f2cb', class: {
192
+ const { circularDiameter, circularDimensions: { x, y, r, dashArray, dashOffset }, description, fullWidth, indicatorLabel, innerLabel, internalType, label, max, min, monochrome, progress, size, theme, } = this;
193
+ return (h(Host, { key: '1ffb79fd15c3e0593690a4804bb7fc71650b3c8b', class: {
183
194
  [`ic-theme-${theme}`]: theme !== "inherit",
184
195
  "ic-loading-indicator-full-width": fullWidth,
185
196
  "ic-loading-indicator-label": !!label,
186
197
  "ic-loading-indicator-monochrome": monochrome,
187
198
  [`ic-loading-indicator-size-${size}`]: true,
188
- } }, h("div", { key: '947ed45a2a33bb3efc98be184d144c7022a99341', class: "ic-loading-container", part: "ic-loading-container" }, h("div", { key: '07cfd1daad6714aa3f0a9aa6639c62f07cd51319', ref: (el) => (this.outerElement = el), class: {
189
- [`ic-loading-${type}-outer`]: true,
199
+ } }, h("div", { key: '2a8feaec441a5f127316a735ab5de75574a6f153', class: "ic-loading-container", part: "ic-loading-container" }, h("div", { key: '1daa3ca4eff5bd9258a8ecd6a38bb65aa54f3b77', ref: (el) => (this.outerElement = el), class: {
200
+ [`ic-loading-${internalType}-outer`]: true,
190
201
  [progress === undefined ? "indeterminate" : "determinate"]: true,
191
- }, role: "progressbar", "aria-labelledby": label && size !== "icon" && "ic-loading-label", "aria-label": description, "aria-valuenow": progress, "aria-valuemin": min, "aria-valuemax": max }, h("div", { key: '784dc31419e98ce922fc71941f22a063c26ab249', ref: (el) => (this.innerElement = el), class: {
192
- [`ic-loading-${type}-inner`]: true,
202
+ }, role: "progressbar", "aria-labelledby": label && size !== "icon" && "ic-loading-label", "aria-label": description, "aria-valuenow": progress, "aria-valuemin": min, "aria-valuemax": max }, h("div", { key: '904bdab934ef67e6d7a9e767022e663e3d0277e9', ref: (el) => (this.innerElement = el), class: {
203
+ [`ic-loading-${internalType}-inner`]: true,
193
204
  "inner-label": !!innerLabel,
194
- } }, innerLabel && size === "small" && (h("ic-typography", { key: '8f55830d3c41595cecfdfdb3630af8ad2b93fc1e', variant: "subtitle-small", class: "inner-text" }, innerLabel)), type === "circular" && (h("svg", { key: '5505faa38e257e69a988217685c9a466f622489b', class: "ic-loading-circular-svg", viewBox: `0 0 ${circularDiameter} ${circularDiameter}` }, h("circle", { key: 'c2f46bcb23d2af900f8b6dbfabb317172b3fdb22', cx: x, cy: y, r: r }), h("circle", { key: 'f0d9f105bda3e40c78cba1a3a2986b31ccc0327a', style: {
205
+ } }, innerLabel && size === "small" && (h("ic-typography", { key: '15447231a4e4f64e1fba0de4cf85a6c6daadeb6e', variant: "subtitle-small", class: "inner-text" }, innerLabel)), internalType === "circular" && (h("svg", { key: '1bf8ea4a7caf8abc6589bbc474151872d3e14360', class: "ic-loading-circular-svg", viewBox: `0 0 ${circularDiameter} ${circularDiameter}` }, h("circle", { key: 'c75483f7699d92c66ff743c0d2afd99625d14c23', cx: x, cy: y, r: r }), h("circle", { key: '9ace7b29af77992871d511417210923920f04549', style: {
195
206
  "--circular-steps-max": progress ? `${max}` : undefined,
196
207
  "--progress-value": progress !== undefined ? `${progress}` : undefined,
197
208
  "--stroke-dasharray": dashArray,
198
209
  "--stroke-dashoffset": dashOffset,
199
- }, cx: x, cy: y, r: r }))))), label && size !== "icon" && (h("ic-typography", { key: '15d34b2712a2961d2e1b8a63ab6f65a82fa68d67', id: "ic-loading-label", class: "ic-loading-label", role: "alert", variant: this.getLabelVariant() }, h("p", { key: '25130595c4008fdd8acd8c47a6729d3aef5cf70c' }, indicatorLabel))))));
210
+ }, cx: x, cy: y, r: r }))))), label && size !== "icon" && (h("ic-typography", { key: '7b3d223169a32fab46d3000d6d75ec09ad053518', id: "ic-loading-label", class: "ic-loading-label", role: "alert", variant: this.getLabelVariant() }, h("p", { key: '447314a91e8979587dd40c4a6635512af86f7fe8' }, indicatorLabel))))));
200
211
  }
201
212
  static get is() { return "ic-loading-indicator"; }
202
213
  static get encapsulation() { return "shadow"; }
@@ -462,7 +473,7 @@ export class LoadingIndicator {
462
473
  "optional": false,
463
474
  "docs": {
464
475
  "tags": [],
465
- "text": "The type of indicator, either linear or circular."
476
+ "text": "The type of indicator, either linear or circular. When size is set to 'icon' the type will be set to circular."
466
477
  },
467
478
  "getter": false,
468
479
  "setter": false,
@@ -478,7 +489,8 @@ export class LoadingIndicator {
478
489
  "circularLineWidth": {},
479
490
  "circularDimensions": {},
480
491
  "indicatorLabel": {},
481
- "clipInnerElement": {}
492
+ "clipInnerElement": {},
493
+ "internalType": {}
482
494
  };
483
495
  }
484
496
  static get elementRef() { return "el"; }
@@ -495,6 +507,9 @@ export class LoadingIndicator {
495
507
  }, {
496
508
  "propName": "progress",
497
509
  "methodName": "handleProgressChange"
510
+ }, {
511
+ "propName": "size",
512
+ "methodName": "handleIconSize"
498
513
  }, {
499
514
  "propName": "type",
500
515
  "methodName": "setIndicatorDimensions"
@@ -1 +1 @@
1
- {"version":3,"file":"ic-loading-indicator.js","sourceRoot":"","sources":["../../../src/components/ic-loading-indicator/ic-loading-indicator.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport {\n IcLoadingCircleXYR,\n IcLoadingSizes,\n IcLoadingTypes,\n} from \"./ic-loading-indicator.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst LOADING_INDICATOR_WIDTHS = {\n large: 120,\n medium: 80,\n small: 40,\n icon: 20,\n};\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n private innerElement?: HTMLDivElement;\n private interval: ReturnType<typeof setInterval>;\n private labelList: string[] = [];\n private outerElement?: HTMLDivElement;\n\n @Element() el: HTMLIcLoadingIndicatorElement;\n\n @State() circularDiameter = 0;\n @State() circularLineWidth = 0;\n @State() circularDimensions: IcLoadingCircleXYR = {\n x: 0,\n y: 0,\n r: 0,\n };\n @State() indicatorLabel?: string;\n @State() clipInnerElement = false;\n\n /**\n * The description that will be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description = \"Loading\";\n\n /**\n * If `true`, when linear, the full-width variant (i.e. without a border radius) will be displayed.\n */\n @Prop({ reflect: true }) fullWidth = false;\n\n /**\n * @internal The step number of a compact step, managed by ic-step.\n */\n @Prop() innerLabel?: number;\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by supplying an array of messages.\n */\n @Prop() label?: string | string[];\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration = 8000;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max = 100;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min = 0;\n\n /**\n * If `true`, the element will display as black and white.\n */\n @Prop() monochrome = false;\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n @Watch(\"max\")\n @Watch(\"min\")\n @Watch(\"progress\")\n handleProgressChange(): void {\n if (this.type === \"linear\") {\n this.setLinearDeterminateWidth();\n } else {\n this.setCircleDimensions();\n }\n }\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size: IcLoadingSizes = \"medium\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The type of indicator, either linear or circular.\n */\n @Prop({ reflect: true }) type: IcLoadingTypes = \"circular\";\n @Watch(\"type\")\n setIndicatorDimensions(): void {\n if (this.type === \"circular\") {\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n const diameter = this.calculateWidth();\n if (this.outerElement && diameter !== this.circularDiameter) {\n this.circularLineWidth = diameter * 0.1;\n this.circularDiameter = diameter;\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${this.circularLineWidth}px`\n );\n }\n this.setCircleDimensions();\n } else {\n this.setLinearDeterminateWidth();\n }\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.updateLabel();\n this.el.setAttribute(\"exportparts\", \"ic-loading-container\");\n }\n\n componentDidLoad(): void {\n this.setIndicatorDimensions();\n }\n\n private getLabel = (labelIndex: number) =>\n new Promise(() => {\n this.interval = setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n this.indicatorLabel = this.labelList[labelIndex];\n }, this.labelDuration);\n });\n\n private getLabelVariant = () => {\n const width = this.type === \"circular\" ? this.calculateWidth() : 0;\n\n if (this.size === \"small\" || (width && width < 60)) {\n return \"label\";\n } else if (this.size === \"large\" || width >= 120) {\n return \"h2\";\n }\n return \"h4\";\n };\n\n private calculateWidth = () => {\n if (this.outerElement?.offsetWidth) return this.outerElement.offsetWidth;\n\n if (this.outerElement) {\n const { width } = window.getComputedStyle(this.outerElement);\n\n if (width) {\n // Regex to check the units of the css string\n if (width.match(/\\D+$/)?.[0] !== \"%\") return parseFloat(width);\n\n const parentWidth = this.outerElement.parentElement?.offsetWidth;\n if (parentWidth) return parentWidth * (parseFloat(width) / 100);\n }\n }\n\n return LOADING_INDICATOR_WIDTHS[this.size];\n };\n\n private calculateProportion = (progress: number) => {\n const minProgress = Math.min(this.max, Math.max(this.min, progress));\n return (minProgress - this.min) / (this.max - this.min);\n };\n\n private setLinearDeterminateWidth = () => {\n // Ensure progress cannot be out of bounds\n if (!this.innerElement || !this.progress) return;\n\n const proportion = this.calculateProportion(this.progress);\n this.clipInnerElement = proportion > 0.5;\n if (this.clipInnerElement) {\n this.innerElement.classList.remove(\"clip\");\n } else {\n this.innerElement.classList.add(\"clip\");\n }\n this.innerElement.style.setProperty(\n \"--linear-width\",\n `${proportion * 100}%`\n );\n };\n\n private updateLabel = () => {\n if (!this.label) return;\n\n if (typeof this.label === \"string\") {\n this.indicatorLabel = this.label;\n } else {\n this.labelList = this.label;\n this.indicatorLabel = this.labelList[0];\n if (this.labelList.length > 1) {\n this.getLabel(0);\n }\n }\n };\n\n private setCircleDimensions = () => {\n if (this.circularDiameter <= 0) return;\n\n const r = this.circularDiameter / 2;\n const nextRadius = r - this.circularLineWidth / 2;\n const dashArray = 2 * Math.PI * nextRadius;\n\n this.circularDimensions = {\n x: r,\n y: r,\n r: nextRadius,\n dashArray: `${dashArray}px`,\n dashOffset: this.progress\n ? `${(-1 - this.calculateProportion(this.progress)) * dashArray}px`\n : undefined,\n };\n };\n\n render() {\n const {\n circularDiameter,\n circularDimensions: { x, y, r, dashArray, dashOffset },\n description,\n fullWidth,\n indicatorLabel,\n innerLabel,\n label,\n max,\n min,\n monochrome,\n progress,\n size,\n theme,\n type,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-loading-indicator-full-width\": fullWidth,\n \"ic-loading-indicator-label\": !!label,\n \"ic-loading-indicator-monochrome\": monochrome,\n [`ic-loading-indicator-size-${size}`]: true,\n }}\n >\n <div class=\"ic-loading-container\" part=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el)}\n class={{\n [`ic-loading-${type}-outer`]: true,\n [progress === undefined ? \"indeterminate\" : \"determinate\"]: true,\n }}\n role=\"progressbar\"\n aria-labelledby={label && size !== \"icon\" && \"ic-loading-label\"}\n aria-label={description}\n aria-valuenow={progress}\n aria-valuemin={min}\n aria-valuemax={max}\n >\n <div\n ref={(el) => (this.innerElement = el)}\n class={{\n [`ic-loading-${type}-inner`]: true,\n \"inner-label\": !!innerLabel,\n }}\n >\n {innerLabel && size === \"small\" && (\n <ic-typography variant=\"subtitle-small\" class=\"inner-text\">\n {innerLabel}\n </ic-typography>\n )}\n {type === \"circular\" && (\n <svg\n class=\"ic-loading-circular-svg\"\n viewBox={`0 0 ${circularDiameter} ${circularDiameter}`}\n >\n <circle cx={x} cy={y} r={r}></circle>\n <circle\n style={{\n \"--circular-steps-max\": progress ? `${max}` : undefined,\n \"--progress-value\":\n progress !== undefined ? `${progress}` : undefined,\n \"--stroke-dasharray\": dashArray,\n \"--stroke-dashoffset\": dashOffset,\n }}\n cx={x}\n cy={y}\n r={r}\n ></circle>\n </svg>\n )}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"alert\"\n variant={this.getLabelVariant()}\n >\n <p>{indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-loading-indicator.js","sourceRoot":"","sources":["../../../src/components/ic-loading-indicator/ic-loading-indicator.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport {\n IcLoadingCircleXYR,\n IcLoadingSizes,\n IcLoadingTypes,\n} from \"./ic-loading-indicator.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst LOADING_INDICATOR_WIDTHS = {\n large: 120,\n medium: 80,\n small: 40,\n icon: 20,\n};\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n private innerElement?: HTMLDivElement;\n private interval: ReturnType<typeof setInterval>;\n private labelList: string[] = [];\n private outerElement?: HTMLDivElement;\n\n @Element() el: HTMLIcLoadingIndicatorElement;\n\n @State() circularDiameter = 0;\n @State() circularLineWidth = 0;\n @State() circularDimensions: IcLoadingCircleXYR = {\n x: 0,\n y: 0,\n r: 0,\n };\n @State() indicatorLabel?: string;\n @State() clipInnerElement = false;\n @State() internalType: IcLoadingTypes = \"circular\";\n\n /**\n * The description that will be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description = \"Loading\";\n\n /**\n * If `true`, when linear, the full-width variant (i.e. without a border radius) will be displayed.\n */\n @Prop({ reflect: true }) fullWidth = false;\n\n /**\n * @internal The step number of a compact step, managed by ic-step.\n */\n @Prop() innerLabel?: number;\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by supplying an array of messages.\n */\n @Prop() label?: string | string[];\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration = 8000;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max = 100;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min = 0;\n\n /**\n * If `true`, the element will display as black and white.\n */\n @Prop() monochrome = false;\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n @Watch(\"max\")\n @Watch(\"min\")\n @Watch(\"progress\")\n handleProgressChange(): void {\n if (this.internalType === \"linear\") {\n this.setLinearDeterminateWidth();\n } else {\n this.setCircleDimensions();\n }\n }\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size: IcLoadingSizes = \"medium\";\n @Watch(\"size\")\n handleIconSize(): void {\n this.setIndicatorDimensions();\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The type of indicator, either linear or circular. When size is set to 'icon' the type will be set to circular.\n */\n @Prop({ reflect: true }) type: IcLoadingTypes = \"circular\";\n @Watch(\"type\")\n setIndicatorDimensions(): void {\n this.setInternalType();\n if (this.internalType === \"circular\") {\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n const diameter = this.calculateWidth();\n if (this.outerElement && diameter !== this.circularDiameter) {\n this.circularLineWidth = diameter * 0.1;\n this.circularDiameter = diameter;\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${this.circularLineWidth}px`\n );\n }\n this.setCircleDimensions();\n } else {\n this.setLinearDeterminateWidth();\n }\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.updateLabel();\n this.el.setAttribute(\"exportparts\", \"ic-loading-container\");\n }\n\n componentDidLoad(): void {\n this.setIndicatorDimensions();\n }\n\n private getLabel = (labelIndex: number) =>\n new Promise(() => {\n this.interval = setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n this.indicatorLabel = this.labelList[labelIndex];\n }, this.labelDuration);\n });\n\n private getLabelVariant = () => {\n const width = this.internalType === \"circular\" ? this.calculateWidth() : 0;\n\n if (this.size === \"small\" || (width && width < 60)) {\n return \"label\";\n } else if (this.size === \"large\" || width >= 120) {\n return \"h2\";\n }\n return \"h4\";\n };\n\n private calculateWidth = () => {\n if (this.outerElement?.offsetWidth) return this.outerElement.offsetWidth;\n\n if (this.outerElement) {\n const { width } = window.getComputedStyle(this.outerElement);\n\n if (width) {\n // Regex to check the units of the css string\n if (width.match(/\\D+$/)?.[0] !== \"%\") return parseFloat(width);\n\n const parentWidth = this.outerElement.parentElement?.offsetWidth;\n if (parentWidth) return parentWidth * (parseFloat(width) / 100);\n }\n }\n\n return LOADING_INDICATOR_WIDTHS[this.size];\n };\n\n private calculateProportion = (progress: number) => {\n const minProgress = Math.min(this.max, Math.max(this.min, progress));\n return (minProgress - this.min) / (this.max - this.min);\n };\n\n private setLinearDeterminateWidth = () => {\n // Ensure progress cannot be out of bounds\n if (!this.innerElement || !this.progress) return;\n\n const proportion = this.calculateProportion(this.progress);\n this.clipInnerElement = proportion > 0.5;\n if (this.clipInnerElement) {\n this.innerElement.classList.remove(\"clip\");\n } else {\n this.innerElement.classList.add(\"clip\");\n }\n this.innerElement.style.setProperty(\n \"--linear-width\",\n `${proportion * 100}%`\n );\n };\n\n private setInternalType = () => {\n this.internalType = this.type;\n if (this.type == \"linear\") {\n this.internalType = this.size == \"icon\" ? \"circular\" : \"linear\";\n }\n };\n\n private updateLabel = () => {\n if (!this.label) return;\n\n if (typeof this.label === \"string\") {\n this.indicatorLabel = this.label;\n } else {\n this.labelList = this.label;\n this.indicatorLabel = this.labelList[0];\n if (this.labelList.length > 1) {\n this.getLabel(0);\n }\n }\n };\n\n private setCircleDimensions = () => {\n if (this.circularDiameter <= 0) return;\n\n const r = this.circularDiameter / 2;\n const nextRadius = r - this.circularLineWidth / 2;\n const dashArray = 2 * Math.PI * nextRadius;\n\n this.circularDimensions = {\n x: r,\n y: r,\n r: nextRadius,\n dashArray: `${dashArray}px`,\n dashOffset: this.progress\n ? `${(-1 - this.calculateProportion(this.progress)) * dashArray}px`\n : undefined,\n };\n };\n\n render() {\n const {\n circularDiameter,\n circularDimensions: { x, y, r, dashArray, dashOffset },\n description,\n fullWidth,\n indicatorLabel,\n innerLabel,\n internalType,\n label,\n max,\n min,\n monochrome,\n progress,\n size,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-loading-indicator-full-width\": fullWidth,\n \"ic-loading-indicator-label\": !!label,\n \"ic-loading-indicator-monochrome\": monochrome,\n [`ic-loading-indicator-size-${size}`]: true,\n }}\n >\n <div class=\"ic-loading-container\" part=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el)}\n class={{\n [`ic-loading-${internalType}-outer`]: true,\n [progress === undefined ? \"indeterminate\" : \"determinate\"]: true,\n }}\n role=\"progressbar\"\n aria-labelledby={label && size !== \"icon\" && \"ic-loading-label\"}\n aria-label={description}\n aria-valuenow={progress}\n aria-valuemin={min}\n aria-valuemax={max}\n >\n <div\n ref={(el) => (this.innerElement = el)}\n class={{\n [`ic-loading-${internalType}-inner`]: true,\n \"inner-label\": !!innerLabel,\n }}\n >\n {innerLabel && size === \"small\" && (\n <ic-typography variant=\"subtitle-small\" class=\"inner-text\">\n {innerLabel}\n </ic-typography>\n )}\n {internalType === \"circular\" && (\n <svg\n class=\"ic-loading-circular-svg\"\n viewBox={`0 0 ${circularDiameter} ${circularDiameter}`}\n >\n <circle cx={x} cy={y} r={r}></circle>\n <circle\n style={{\n \"--circular-steps-max\": progress ? `${max}` : undefined,\n \"--progress-value\":\n progress !== undefined ? `${progress}` : undefined,\n \"--stroke-dasharray\": dashArray,\n \"--stroke-dashoffset\": dashOffset,\n }}\n cx={x}\n cy={y}\n r={r}\n ></circle>\n </svg>\n )}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"alert\"\n variant={this.getLabelVariant()}\n >\n <p>{indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -614,7 +614,7 @@ video {
614
614
  height: var(--ic-space-md);
615
615
  width: var(--ic-space-md);
616
616
  margin-top: var(--ic-space-xxs);
617
- margin-right: var(--ic-space-xxxs);
617
+ margin-right: var(--ic-space-xxs);
618
618
  }
619
619
 
620
620
  .option-text-container {
@@ -916,7 +916,7 @@ export class Menu {
916
916
  const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;
917
917
  const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
918
918
  const hasNoResults = this.host.classList.contains("no-results");
919
- return (h(Host, { key: '8dad972db607187821f9063a35f75768df5adcc1', class: {
919
+ return (h(Host, { key: '1e4da9c2108dc9df947dcf92f558fcbc14c3f686', class: {
920
920
  "ic-menu-full-width": !!fullWidth,
921
921
  "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
922
922
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
@@ -925,7 +925,7 @@ export class Menu {
925
925
  [`ic-menu-${size}`]: true,
926
926
  "ic-menu-open": open && options.length !== 0,
927
927
  "ic-menu-multiple": multiSelect,
928
- } }, options.length !== 0 && (h("ul", { key: 'bbdb630e801155ddb22240206eac4f919807ec2d', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
928
+ } }, options.length !== 0 && (h("ul", { key: '0861edb24bdb21aecd3b70ec4d7f11112d4ad3eb', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
929
929
  !keyboardNav &&
930
930
  ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
931
931
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
@@ -953,7 +953,7 @@ export class Menu {
953
953
  multiSelect &&
954
954
  !isLoading &&
955
955
  !hasTimedOut &&
956
- !hasNoResults && (h("div", { key: '2806fdd383f3450d651e681a0156c47cd98689c5', class: "option-bar" }, h("ic-typography", { key: 'dd2e0b74622eb359e4e53cc5c7b0f031ef577ca2' }, h("p", { key: 'f6132822d0bf66e869b4c2bceba7dfcf93e697be' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: 'e233f3ac017ce08d46d1973406a4bb99bcfa2cf6', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
956
+ !hasNoResults && (h("div", { key: 'aa5a9084985ac02f145acbc5d45ff726ae5d575e', class: "option-bar" }, h("ic-typography", { key: 'c9854cfb8d9ddf6b54a4b66445020f1e437dece7' }, h("p", { key: '47b9491c4332bc7d547df9a6edbd97290cdb9535' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: 'a07f28d90a7fd4efa5d3a0574f161a111a46c048', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
957
957
  }
958
958
  static get is() { return "ic-menu"; }
959
959
  static get encapsulation() { return "scoped"; }
@@ -3,7 +3,7 @@ import { isPropDefined } from "../../utils/helpers";
3
3
  export class MenuGroup {
4
4
  render() {
5
5
  const parentMenu = this.el.closest("ic-popover-menu");
6
- return (h(Host, { key: '384be493b4b4148e4a09f0395bb1db6b651bfc2f', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: '46982951ac8573a5ee8c5733043e109f268859f8', variant: "subtitle-small" }, this.label)), h("span", { key: 'd5a5fe976b9f88e61df589c1ddc105c31b8639e2', class: "menu-items-wrapper" }, h("slot", { key: '3b6cab53fde94c5a9cbc0a6a323c0aff28975a1c' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: '60412dd9914569ad72a6160787b48d8b3239cebb' }))));
6
+ return (h(Host, { key: '979b8fb6d5820b0bedb7b5fd0695ae1d45f28ce7', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: '9ec6ec6fa6bb1eeeea72f74505bab6310e6d2e1f', variant: "subtitle-small" }, this.label)), h("span", { key: '720be07138e658bbaa4ed5131c5ec0ebea15c110', class: "menu-items-wrapper" }, h("slot", { key: 'd9740690e6caf5aaa3c54f96e6be45f38b6f1eea' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: '44bb82e43b7de2acf8f955d77666455de0ef67fa' }))));
7
7
  }
8
8
  static get is() { return "ic-menu-group"; }
9
9
  static get encapsulation() { return "shadow"; }
@@ -261,7 +261,7 @@ export class NavigationGroup {
261
261
  const isTopNav = this.navigationType === "top";
262
262
  const isTopNavDesktop = !inTopNavSideMenu && isTopNav;
263
263
  const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);
264
- return (h(Host, { key: '4d9f64e96f0e60b2e120ef1ff3ead8fc9eeba8ff', class: {
264
+ return (h(Host, { key: '15cdbd2b2ce19129b1ff6a845922036813e7ae99', class: {
265
265
  "in-side-menu": inTopNavSideMenu,
266
266
  "ic-navigation-group-expandable": expandable,
267
267
  "ic-navigation-group-side-nav": isSideNav,
@@ -123,16 +123,16 @@ export class NavigationMenu {
123
123
  }
124
124
  }
125
125
  render() {
126
- return (h(Host, { key: '3e06550714484b8a9d157e0391697e303fbf8259', class: { [`ic-theme-${this.theme}`]: this.theme !== "inherit" } }, h("div", { key: 'b56300f2817a5a42401570a56f5b29c90e37e336', class: "popout-modal", onClick: this.closeMenu }), h("div", { key: '081658f80afaa6d7f39971cc0f566068166b6688', class: "popout-menu", role: "dialog", "aria-modal": "true", "aria-label": `${this.hasNavigation ? "Navigation" : "App"} menu` }, h("span", { key: '67841c0d0cfb29fba7e3c722436c7e87bca1842d', "aria-hidden": "true", id: "navigation-landmark-text", class: "navigation-landmark-text" }, "Main navigation"), h("nav", { key: 'cb5aa473a04868d6af4dcd2ebc2b61ef5d785904', "aria-labelledby": "navigation-landmark-text", "aria-hidden": this.hasNavigation ? "false" : "true" }, h("div", { key: '2551b868b4c932b5fcff041bdae690e748d40430', class: {
126
+ return (h(Host, { key: '5040ecf445a2131ca777cf9795f4fc25f9ee9d3f', class: { [`ic-theme-${this.theme}`]: this.theme !== "inherit" } }, h("div", { key: '85b31d01281c8ea08c7fa09d37063fa6274ade9d', class: "popout-modal", onClick: this.closeMenu }), h("div", { key: '336cf9892c7698a887a6a8fa6f287c40b441c2ab', class: "popout-menu", role: "dialog", "aria-modal": "true", "aria-label": `${this.hasNavigation ? "Navigation" : "App"} menu` }, h("span", { key: 'd2367e40e87f65ef92225fb0240f049723de8eea', "aria-hidden": "true", id: "navigation-landmark-text", class: "navigation-landmark-text" }, "Main navigation"), h("nav", { key: '665c9f21f3c81961edff4e959fa77a2c7479f475', "aria-labelledby": "navigation-landmark-text", "aria-hidden": this.hasNavigation ? "false" : "true" }, h("div", { key: '3e9debb08e2efe3bc8b4a5266d1df14ee7ee3b8a', class: {
127
127
  ["menu-close-button-container"]: true,
128
128
  ["nav-group-first"]: this.navGroupFirst,
129
- } }, h("ic-button", { key: '6f2a95a7824e18fa2f83a297984a7677110e887f', ref: (el) => (this.closeButton = el), id: "menu-close-button", class: "menu-close-button", variant: "icon-tertiary", size: "large", "aria-label": `Close ${this.hasNavigation ? "navigation" : "app"} menu`, onClick: this.closeMenu }, h("svg", { key: '2d4918dc6b797eb6f245dd531387cbb0370eb687', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '51a063a29957f6992294ed31dae13570dc0ecd8c', d: "M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" })))), this.hasNavigation && h("slot", { key: '70ef3173a42a47e1bb13042dc41c53313ee42697', name: "navigation" })), this.hasButtons && (h("div", { key: '95384803c8ab3a87492552b613cb53f95adacd52', class: {
129
+ } }, h("ic-button", { key: '8fa44a70222a765adbe21298f81d2a8d9507b5ec', ref: (el) => (this.closeButton = el), id: "menu-close-button", class: "menu-close-button", variant: "icon-tertiary", size: "large", "aria-label": `Close ${this.hasNavigation ? "navigation" : "app"} menu`, onClick: this.closeMenu }, h("svg", { key: '9b5dc10d973f156783708c56f30e618db47a6de1', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '9fa87211d3c594f36b6a7b0bd1d5298f8d04d4f4', d: "M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" })))), this.hasNavigation && h("slot", { key: 'f4ba3ba39a6c152d32fcfe4d67492effed09eae7', name: "navigation" })), this.hasButtons && (h("div", { key: 'ac05566d1578abbf6377417130e3eb17b177e67d', class: {
130
130
  ["menu-buttons-container"]: true,
131
131
  ["menu-buttons-container-nav-item-above"]: this.navItemAboveButtons,
132
- } }, h("slot", { key: '9bdde63f875fe678742dff04018e562ec37eb500', name: "buttons" }))), (this.status !== "" || this.version !== "") && (h("div", { key: '502dd0df2ce93217d9a642e4a6b36dcd72229e70', class: {
132
+ } }, h("slot", { key: 'b41b238a5b9539d20fee6d1ef5d48e8318282e7b', name: "buttons" }))), (this.status !== "" || this.version !== "") && (h("div", { key: 'f7e7f7ac77288dde96a92160e25cbe04e4762fc2', class: {
133
133
  ["menu-status-version-container"]: true,
134
134
  ["status-version-no-buttons"]: !this.hasButtons,
135
- } }, this.status !== "" && (h("div", { key: 'a0b154b7307de42c92c9e26f9cd552dcc556b21d', class: "menu-status" }, h("ic-typography", { key: 'af91a5c0c556c8ac0faa29998e126de1ab86c0bc', variant: "label-uppercase", "aria-label": "app tag", class: "menu-status-text" }, this.status))), this.version !== "" && (h("div", { key: 'b16dec612bce0fe83c888b0a3e74d8f205710633', class: "menu-version" }, h("ic-typography", { key: '74d7e31b0126f240fa7bbc410a8b71268ca027a1', variant: "label", class: "menu-version-text", "aria-label": "app version" }, this.version))))))));
135
+ } }, this.status !== "" && (h("div", { key: '7cff7f64f8040feb7605890db0131df0d854688a', class: "menu-status" }, h("ic-typography", { key: 'cc5124ab4a9c02e5f412755012c60e42c9e8bc55', variant: "label-uppercase", "aria-label": "app tag", class: "menu-status-text" }, this.status))), this.version !== "" && (h("div", { key: '3a72f8253064a565c543a504aef7bd6efe7cb2cb', class: "menu-version" }, h("ic-typography", { key: 'e2060017d43524668f0da2e7b3385bb19ab3438e', variant: "label", class: "menu-version-text", "aria-label": "app version" }, this.version))))))));
136
136
  }
137
137
  static get is() { return "ic-navigation-menu"; }
138
138
  static get encapsulation() { return "shadow"; }
@@ -111,19 +111,19 @@ export class PageHeader {
111
111
  const navAriaLabel = `${isSlotUsed(this.el, "heading")
112
112
  ? (_b = (_a = this.el.querySelector('[slot="heading"]')) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : ""
113
113
  : heading !== null && heading !== void 0 ? heading : ""} page sections`;
114
- return (h(Host, { key: '17bc798fc01d1a70de9fed3da746d8e39a88e96c', class: {
114
+ return (h(Host, { key: '6839f2d164672f2aa33e05134c3426e5374d1f06', class: {
115
115
  ["ic-page-header-sticky"]: !!sticky,
116
116
  ["ic-page-header-sticky-desktop"]: !sticky && !!stickyDesktopOnly,
117
117
  [`ic-theme-${theme}`]: theme !== "inherit",
118
- }, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: '1dadcdce3f21efe0f196171330cb5774be34075e', class: {
118
+ }, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: '7d5137cb542941699de9cc5721ae28a17861dbf0', class: {
119
119
  ["border-bottom"]: !!border,
120
120
  ["tabs"]: isSlotUsed(this.el, "tabs"),
121
- }, role: "presentation" }, h("ic-section-container", { key: '9f0855c0310d29f5381c12665aad41ee1656ccdb', aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { key: '3b1fe9729e1d62e72a432fd039db40c1c5da22da', class: "breadcrumb-area" }, h("slot", { key: 'e5055a9f7def4018e2046dae4687ae1945235bf7', name: "breadcrumbs" }))), h("div", { key: '70acf27823b39d41d9c2f3dbe3e89d71096e7daf', class: "main-content" }, h("div", { key: 'b924bba3df8954b9f314c1eff6ffe4443d0e53f1', class: "title-area" }, h("div", { key: '5a60bb74557d37b33be8312d177e75ce77210998', class: "header-content" }, h("slot", { key: 'e4c7c70b13eac0944bba1a1f2ddd320f3e1c2659', name: "heading" }, h("ic-typography", { key: 'eb98510ca2b55a81c1b91bbabc4bfe7d5e28bdde', variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", { key: '9bc94aa414b9514f0e349faa521804682f22f85b' }, heading))), h("slot", { key: '47b147656f0fe7436d233bb669c4462faab353db', name: "heading-adornment" })), h("div", { key: '1456f12fba38ec4cd05706ccb92d72adf12ae623', class: {
121
+ }, role: "presentation" }, h("ic-section-container", { key: '454a9621964544cff3503b6553e7a17c60da3832', aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { key: '58cd2a99c294c0e74d7236dfadaed9df5a2e468a', class: "breadcrumb-area" }, h("slot", { key: '02a27ba25893819a676272f7b5c99ba111cec39a', name: "breadcrumbs" }))), h("div", { key: '252904de3b7c608bca4e42325880560ee7bdc431', class: "main-content" }, h("div", { key: 'f9256d53398c537fe19e6b27ed777542650de68b', class: "title-area" }, h("div", { key: 'a1d40860aa4a7191974e44f400b3b8d486e09bf4', class: "header-content" }, h("slot", { key: '81f3ac92b61b9943166ae930c7ada3662e494a60', name: "heading" }, h("ic-typography", { key: '78f00c7412b22c74b25db7ce1136edaa173c557b', variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", { key: '6e9608ec80c3f05482ac3a8e60ee27d2e6f683ad' }, heading))), h("slot", { key: '59600cab7fe6df1e7fbb9786060c1338c1d24109', name: "heading-adornment" })), h("div", { key: '8008f53d6ee65c3ac3bb849e136e417a85fb185a', class: {
122
122
  ["subheading-content"]: !!subheading || isSlotUsed(this.el, "subheading"),
123
123
  ["small"]: size === "small",
124
- } }, h("slot", { key: 'a82707ce4abf37e4e8a965a39a5cc6e50d634647', name: "subheading" }, h("ic-typography", { key: '9f77da962becb04b244f3df0dceb7dad9dc122d8', variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { key: '792df65e46b45a50514a1967866dd72f6f72e683', class: "action-area" }, h("slot", { key: '0cd5fd825254df4815fe2d3e788946de88cbaae1', name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { key: 'e030cb3067c544b3d3496146e25d511a30ca97b2', class: "input-area" }, h("slot", { key: '8c9f722a205eded36526a4bc926e7a92c43626af', name: "input" })))), (isSlotUsed(this.el, "stepper") ||
125
- isSlotUsed(this.el, "tabs")) && (h("div", { key: 'deeb8c5520db91c494215d1adf90bebcc96fbbb5', class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
126
- !isSlotUsed(this.el, "tabs") && h("slot", { key: 'd9201c158069b054c3903ea4c0647d96de9d0930', name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { key: 'a0cdbb20f507dd783536b0a60ae7fa2d391be85f', "aria-label": navAriaLabel }, h("ic-horizontal-scroll", { key: 'f3c15e0d61db5990108d86c5540d4f69b9477a9e' }, h("ul", { key: '6e7aded64c14703b5b4f141fa11f0f9eac247bce', class: "tabs-slot" }, h("slot", { key: 'eee6cfc3a09856108574b715163cc645f9eae627', name: "tabs" })))))))))));
124
+ } }, h("slot", { key: '2f7f52d845ac9ae2d4a7122c17dda2cd9439301d', name: "subheading" }, h("ic-typography", { key: 'c0aea12079ad430c8fc80de47dbc36998c7dafde', variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { key: '522be093d57e17bd669e6a00de00b5d762371464', class: "action-area" }, h("slot", { key: '5044800dd45ad23bded19fb947103fc33fb224f9', name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { key: 'c2ed3ac5f6683e17dff5e30bb4b0836c6882a62a', class: "input-area" }, h("slot", { key: '7fa5429dde9cafd6cf7a91e6c018c137c4596cb8', name: "input" })))), (isSlotUsed(this.el, "stepper") ||
125
+ isSlotUsed(this.el, "tabs")) && (h("div", { key: '7adb7f57bb469ddb2f88303784c5bb4f47af3e7a', class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
126
+ !isSlotUsed(this.el, "tabs") && h("slot", { key: '523c906aff9a5dcf0911b99e58a49bae70f6dc1a', name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { key: '3d387ad3a2ca763d7837ad7604d7efbe46b3b2c9', "aria-label": navAriaLabel }, h("ic-horizontal-scroll", { key: 'dee59ffc315702860977ca50ca8bdf90459a6a63' }, h("ul", { key: 'ce68af19740fd60be9a08fa955643854eb5ac0c7', class: "tabs-slot" }, h("slot", { key: 'd2297a18b03a95711ae20beaef363b39462c3866', name: "tabs" })))))))))));
127
127
  }
128
128
  static get is() { return "ic-page-header"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -224,6 +224,31 @@ export class Pagination {
224
224
  componentDidLoad() {
225
225
  onComponentRequiredPropUndefined([{ prop: this.pages, propName: "pages" }], "Pagination");
226
226
  }
227
+ /**
228
+ * Prevents focus lingering on a disabled element. If the currently
229
+ * focused element is one of the back buttons (and we reach the first page),
230
+ * move focus to "next" button, and vice versa.
231
+ * @param ev
232
+ */
233
+ icPageChangeHandler(ev) {
234
+ var _a, _b, _c;
235
+ const shadow = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot;
236
+ const activeEl = shadow ? shadow.activeElement : document.activeElement;
237
+ if (!shadow || !activeEl) {
238
+ return;
239
+ }
240
+ if (ev.detail.value === 1 &&
241
+ ["first-page-button", "previous-page-button"].some((id) => id === (activeEl === null || activeEl === void 0 ? void 0 : activeEl.id))) {
242
+ const btn = (_b = shadow.querySelector("#next-page-button").shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("button");
243
+ // When navigating from firstPage->lastPage or vice versa, the to-be-selected element will be disabled. wait a tick so that it can receive focus.
244
+ setTimeout(() => btn === null || btn === void 0 ? void 0 : btn.focus(), 10);
245
+ }
246
+ else if (ev.detail.value === this.pages &&
247
+ ["last-page-button", "next-page-button"].some((id) => id === (activeEl === null || activeEl === void 0 ? void 0 : activeEl.id))) {
248
+ const btn = (_c = shadow.querySelector("#previous-page-button").shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector("button");
249
+ setTimeout(() => btn === null || btn === void 0 ? void 0 : btn.focus(), 10);
250
+ }
251
+ }
227
252
  paginationItemClickHandler(ev) {
228
253
  const page = ev.detail.page;
229
254
  this.currentPage = page;
@@ -243,14 +268,14 @@ export class Pagination {
243
268
  }
244
269
  render() {
245
270
  const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;
246
- return (h(Host, { key: '206014fa2aa2c61bb9535e4de4fa5bf756bd318c', class: {
271
+ return (h(Host, { key: '841c501b441241eae4281c4c2aea7f51d4e5b1e8', class: {
247
272
  [`ic-theme-${theme}`]: theme !== "inherit",
248
273
  ["ic-pagination-monochrome"]: !!monochrome,
249
- } }, type === "simple" && (h("nav", { key: '8544b88d593c806867e0bd49cb0624a684dec271', class: {
274
+ } }, type === "simple" && (h("nav", { key: '888a15822151817834e8f92a8a50f4d5fd37c715', class: {
250
275
  ["disabled"]: !!disabled,
251
- }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '5331aca30709281171cf19f17c2f05a0d0cdf168', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: '6b7acef9da08b590b941a7ce142ce448dbf79ff2', class: {
276
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: 'f89f2dc683fa0c48dda8a9b8b0ae9fb041a93624', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: 'edddd73145108a1ebd09ed068dee9c301a168365', class: {
252
277
  ["disabled"]: !!disabled,
253
- }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'e60f3fb36b78e7970f14836295efbd3a1f481885', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
278
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'a0dca70d2eb4840d1316ae4a4600fe03aeb0f710', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
254
279
  }
255
280
  static get is() { return "ic-pagination"; }
256
281
  static get encapsulation() { return "shadow"; }
@@ -624,6 +649,12 @@ export class Pagination {
624
649
  }
625
650
  static get listeners() {
626
651
  return [{
652
+ "name": "icPageChange",
653
+ "method": "icPageChangeHandler",
654
+ "target": undefined,
655
+ "capture": false,
656
+ "passive": false
657
+ }, {
627
658
  "name": "paginationItemClick",
628
659
  "method": "paginationItemClickHandler",
629
660
  "target": undefined,