@ukic/web-components 3.6.0 → 3.8.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 (468) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
  4. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
  5. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
  6. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-button_3.cjs.entry.js +41 -86
  10. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-card-vertical.cjs.entry.js +4 -4
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-checkbox.cjs.entry.js +4 -4
  14. package/dist/cjs/ic-chip.cjs.entry.js +11 -3
  15. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  21. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-footer.cjs.entry.js +3 -3
  23. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  24. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  25. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +44 -52
  26. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -5
  28. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
  33. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  35. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  36. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-pagination.cjs.entry.js +4 -4
  38. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  39. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  40. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  41. package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
  42. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-select.cjs.entry.js +6 -6
  45. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  47. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  52. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  54. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-text-field.cjs.entry.js +6 -6
  59. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  62. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
  63. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
  65. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  67. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  68. package/dist/cjs/index-d337cd8a.js +4 -0
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/collection/collection-manifest.json +1 -0
  71. package/dist/collection/components/ic-action-chip/ic-action-chip.css +644 -0
  72. package/dist/collection/components/ic-action-chip/ic-action-chip.js +564 -0
  73. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -0
  74. package/dist/collection/components/ic-action-chip/ic-action-chip.stories.js +386 -0
  75. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -3
  76. package/dist/collection/components/ic-badge/ic-badge.js +2 -2
  77. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  78. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  79. package/dist/collection/components/ic-button/ic-button.css +3 -11
  80. package/dist/collection/components/ic-button/ic-button.js +2 -2
  81. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
  82. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
  83. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  84. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +5 -3
  85. package/dist/collection/components/ic-chip/ic-chip.js +12 -4
  86. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  87. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
  88. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  89. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  90. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  91. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +31 -4
  92. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  93. package/dist/collection/components/ic-footer/ic-footer.js +3 -3
  94. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  95. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  96. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  97. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  98. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  99. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  100. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  101. package/dist/collection/components/ic-link/ic-link.js +1 -1
  102. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -0
  103. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  104. package/dist/collection/components/ic-menu/ic-menu.js +108 -47
  105. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  106. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  107. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  108. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  109. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +3 -10
  110. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  111. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  112. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  113. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  114. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  115. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  116. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  117. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +5 -3
  118. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  119. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  120. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  121. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  122. package/dist/collection/components/ic-select/ic-select.js +6 -6
  123. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  124. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +7 -5
  125. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +7 -5
  126. package/dist/collection/components/ic-select/ic-select_(single).stories.js +7 -5
  127. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  128. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  129. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +31 -4
  130. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  131. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  132. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  133. package/dist/collection/components/ic-step/ic-step.js +13 -13
  134. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  135. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  136. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  137. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  138. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  139. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  140. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
  141. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +5 -10
  142. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  143. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  144. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  145. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +17 -0
  146. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +32 -3
  147. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  148. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +7 -0
  149. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +7 -0
  150. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +36 -3
  151. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  152. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +17 -0
  153. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -5
  154. package/dist/collection/components/ic-tooltip/ic-tooltip.js +32 -77
  155. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  156. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  157. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  158. package/dist/components/ic-action-chip.d.ts +11 -0
  159. package/dist/components/ic-action-chip.js +160 -0
  160. package/dist/components/ic-action-chip.js.map +1 -0
  161. package/dist/components/ic-back-to-top.js +3 -3
  162. package/dist/components/ic-badge.js +2 -2
  163. package/dist/components/ic-breadcrumb-group.js +2 -2
  164. package/dist/components/ic-breadcrumb2.js +2 -2
  165. package/dist/components/ic-button2.js +3 -3
  166. package/dist/components/ic-button2.js.map +1 -1
  167. package/dist/components/ic-card-vertical.js +4 -4
  168. package/dist/components/ic-checkbox-group.js +2 -2
  169. package/dist/components/ic-checkbox.js +4 -4
  170. package/dist/components/ic-chip.js +12 -4
  171. package/dist/components/ic-chip.js.map +1 -1
  172. package/dist/components/ic-classification-banner.js +2 -2
  173. package/dist/components/ic-data-list.js +2 -2
  174. package/dist/components/ic-data-row.js +2 -2
  175. package/dist/components/ic-dialog.js +1 -1
  176. package/dist/components/ic-empty-state.js +2 -2
  177. package/dist/components/ic-footer-link.js +2 -2
  178. package/dist/components/ic-footer.js +3 -3
  179. package/dist/components/ic-hero.js +4 -4
  180. package/dist/components/ic-horizontal-scroll2.js +5 -5
  181. package/dist/components/ic-input-component-container2.js +3 -3
  182. package/dist/components/ic-input-container2.js +2 -2
  183. package/dist/components/ic-input-label2.js +2 -2
  184. package/dist/components/ic-input-validation2.js +3 -3
  185. package/dist/components/ic-link2.js +1 -1
  186. package/dist/components/ic-loading-indicator2.js +6 -6
  187. package/dist/components/ic-loading-indicator2.js.map +1 -1
  188. package/dist/components/ic-menu-group.js +1 -1
  189. package/dist/components/ic-menu2.js +42 -47
  190. package/dist/components/ic-menu2.js.map +1 -1
  191. package/dist/components/ic-navigation-button.js +2 -2
  192. package/dist/components/ic-navigation-group.js +1 -1
  193. package/dist/components/ic-navigation-item.js +3 -10
  194. package/dist/components/ic-navigation-item.js.map +1 -1
  195. package/dist/components/ic-navigation-menu2.js +4 -4
  196. package/dist/components/ic-page-header.js +6 -6
  197. package/dist/components/ic-pagination-item2.js +1 -1
  198. package/dist/components/ic-pagination.js +4 -4
  199. package/dist/components/ic-popover-menu.js +4 -4
  200. package/dist/components/ic-radio-group.js +4 -4
  201. package/dist/components/ic-radio-group.js.map +1 -1
  202. package/dist/components/ic-radio-option.js +4 -4
  203. package/dist/components/ic-search-bar.js +9 -9
  204. package/dist/components/ic-search-bar.js.map +1 -1
  205. package/dist/components/ic-section-container2.js +2 -2
  206. package/dist/components/ic-select.js +6 -6
  207. package/dist/components/ic-select.js.map +1 -1
  208. package/dist/components/ic-side-navigation.js +4 -4
  209. package/dist/components/ic-side-navigation.js.map +1 -1
  210. package/dist/components/ic-skeleton.js +2 -2
  211. package/dist/components/ic-skip-link.js +2 -2
  212. package/dist/components/ic-status-tag.js +2 -2
  213. package/dist/components/ic-step.js +13 -13
  214. package/dist/components/ic-stepper.js +2 -2
  215. package/dist/components/ic-switch.js +4 -4
  216. package/dist/components/ic-tab-context.js +1 -1
  217. package/dist/components/ic-tab-group.js +2 -2
  218. package/dist/components/ic-tab-panel.js +2 -2
  219. package/dist/components/ic-tab-panel.js.map +1 -1
  220. package/dist/components/ic-tab.js +2 -2
  221. package/dist/components/ic-text-field.js +6 -6
  222. package/dist/components/ic-text-field.js.map +1 -1
  223. package/dist/components/ic-theme.js +1 -1
  224. package/dist/components/ic-toast-region.js +1 -1
  225. package/dist/components/ic-toast.js +3 -3
  226. package/dist/components/ic-toggle-button-group.js +17 -4
  227. package/dist/components/ic-toggle-button-group.js.map +1 -1
  228. package/dist/components/ic-toggle-button.js +14 -4
  229. package/dist/components/ic-toggle-button.js.map +1 -1
  230. package/dist/components/ic-tooltip2.js +33 -78
  231. package/dist/components/ic-tooltip2.js.map +1 -1
  232. package/dist/components/ic-top-navigation.js +4 -4
  233. package/dist/components/ic-typography2.js +2 -2
  234. package/dist/core/core.css +227 -7
  235. package/dist/core/core.esm.js +1 -1
  236. package/dist/core/core.esm.js.map +1 -1
  237. package/dist/core/{p-5fb58cc8.entry.js → p-03a2fa83.entry.js} +2 -2
  238. package/dist/core/{p-ba89fa16.entry.js → p-04c36b23.entry.js} +2 -2
  239. package/dist/core/{p-7b9e10a0.entry.js → p-0a8140ef.entry.js} +2 -2
  240. package/dist/core/p-0a8140ef.entry.js.map +1 -0
  241. package/dist/core/{p-f4ee5fbb.entry.js → p-0c095f5b.entry.js} +2 -2
  242. package/dist/core/{p-50d13439.entry.js → p-0eaa2904.entry.js} +2 -2
  243. package/dist/core/p-1829c1a9.entry.js +2 -0
  244. package/dist/core/p-1829c1a9.entry.js.map +1 -0
  245. package/dist/core/{p-b730963a.entry.js → p-19680887.entry.js} +2 -2
  246. package/dist/core/p-19680887.entry.js.map +1 -0
  247. package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
  248. package/dist/core/p-1f913ba3.entry.js +2 -0
  249. package/dist/core/{p-627f7172.entry.js.map → p-1f913ba3.entry.js.map} +1 -1
  250. package/dist/core/{p-0549305b.entry.js → p-2394346c.entry.js} +2 -2
  251. package/dist/core/p-280e7874.entry.js +2 -0
  252. package/dist/core/p-280e7874.entry.js.map +1 -0
  253. package/dist/core/{p-77750efc.entry.js → p-2c2c752d.entry.js} +2 -2
  254. package/dist/core/{p-9ed5f11d.entry.js → p-32c030b1.entry.js} +2 -2
  255. package/dist/core/{p-afde0edc.entry.js → p-3aa7f724.entry.js} +2 -2
  256. package/dist/core/{p-b83cca09.entry.js → p-3eef02dd.entry.js} +2 -2
  257. package/dist/core/p-3f9ff1cb.entry.js +2 -0
  258. package/dist/core/p-3f9ff1cb.entry.js.map +1 -0
  259. package/dist/core/p-4345907a.entry.js +2 -0
  260. package/dist/core/{p-ec1657fc.entry.js.map → p-4345907a.entry.js.map} +1 -1
  261. package/dist/core/p-46a0a40b.entry.js +2 -0
  262. package/dist/core/p-46a0a40b.entry.js.map +1 -0
  263. package/dist/core/{p-3448c713.entry.js → p-48db785a.entry.js} +2 -2
  264. package/dist/core/{p-29468171.entry.js → p-4c336217.entry.js} +2 -2
  265. package/dist/core/{p-98869fe7.entry.js → p-51bff253.entry.js} +2 -2
  266. package/dist/core/p-57644340.entry.js +2 -0
  267. package/dist/core/p-57644340.entry.js.map +1 -0
  268. package/dist/core/{p-2ec0d11c.entry.js → p-60ff225d.entry.js} +2 -2
  269. package/dist/core/{p-0179fbd3.entry.js → p-682a9365.entry.js} +2 -2
  270. package/dist/core/{p-43b98687.entry.js → p-68f55187.entry.js} +2 -2
  271. package/dist/core/{p-7cada631.entry.js → p-69aad690.entry.js} +2 -2
  272. package/dist/core/{p-08567369.entry.js → p-750d5536.entry.js} +2 -2
  273. package/dist/core/{p-97f67617.entry.js → p-7ac5a271.entry.js} +2 -2
  274. package/dist/core/p-7cd6487e.entry.js +2 -0
  275. package/dist/core/{p-ff47772c.entry.js.map → p-7cd6487e.entry.js.map} +1 -1
  276. package/dist/core/{p-056be0df.entry.js → p-8557fa1e.entry.js} +2 -2
  277. package/dist/core/{p-4b8bfb59.entry.js → p-874f7e8d.entry.js} +2 -2
  278. package/dist/core/{p-421b5f2d.entry.js → p-88b516d6.entry.js} +2 -2
  279. package/dist/core/{p-939adcae.entry.js → p-903f9c7f.entry.js} +2 -2
  280. package/dist/core/{p-bb21268f.entry.js → p-918af357.entry.js} +2 -2
  281. package/dist/core/{p-a2ae5d9e.entry.js → p-998dfae0.entry.js} +2 -2
  282. package/dist/core/{p-8a5b0fb0.entry.js → p-9d78ef89.entry.js} +2 -2
  283. package/dist/core/{p-ae2ea264.entry.js → p-9e177686.entry.js} +2 -2
  284. package/dist/core/{p-0f86ea09.entry.js → p-9f792a31.entry.js} +2 -2
  285. package/dist/core/{p-70abcb2b.js → p-9f8acb5f.js} +2 -2
  286. package/dist/core/{p-4935b899.entry.js → p-a082d978.entry.js} +2 -2
  287. package/dist/core/{p-4935b899.entry.js.map → p-a082d978.entry.js.map} +1 -1
  288. package/dist/core/{p-b1b27b7e.entry.js → p-b3ac38c5.entry.js} +2 -2
  289. package/dist/core/{p-e29ba8bd.entry.js → p-b3d3ee50.entry.js} +2 -2
  290. package/dist/core/p-b3d3ee50.entry.js.map +1 -0
  291. package/dist/core/p-b5c72b06.entry.js +2 -0
  292. package/dist/core/p-b5c72b06.entry.js.map +1 -0
  293. package/dist/core/p-b94d404b.entry.js +2 -0
  294. package/dist/core/{p-773ded36.entry.js.map → p-b94d404b.entry.js.map} +1 -1
  295. package/dist/core/{p-91f6884a.entry.js → p-bf5653c0.entry.js} +2 -2
  296. package/dist/core/{p-fb6e6ac4.entry.js → p-c63ae7d0.entry.js} +2 -2
  297. package/dist/core/{p-a591ef38.entry.js → p-c9c6d63b.entry.js} +2 -2
  298. package/dist/core/{p-ce916f35.entry.js → p-d1b7b839.entry.js} +2 -2
  299. package/dist/core/{p-4301e11e.entry.js → p-d2f1beb6.entry.js} +2 -2
  300. package/dist/core/{p-d281c3cf.entry.js → p-d47acbd4.entry.js} +2 -2
  301. package/dist/core/{p-fc5661ac.entry.js → p-de43d375.entry.js} +2 -2
  302. package/dist/core/p-e0485462.entry.js +2 -0
  303. package/dist/core/p-e9b6b600.entry.js +2 -0
  304. package/dist/core/{p-6dd73165.entry.js → p-ee6caf27.entry.js} +2 -2
  305. package/dist/core/{p-06e80441.entry.js → p-ef357622.entry.js} +2 -2
  306. package/dist/core/{p-9e051db4.entry.js → p-f34eee68.entry.js} +2 -2
  307. package/dist/core/{p-948086f4.entry.js → p-f46fd0e7.entry.js} +2 -2
  308. package/dist/core/{p-f9491692.entry.js → p-f643ae2b.entry.js} +2 -2
  309. package/dist/core/p-fbaf0301.entry.js +2 -0
  310. package/dist/core/{p-3194e46c.entry.js.map → p-fbaf0301.entry.js.map} +1 -1
  311. package/dist/core/{p-9d5e4b62.entry.js → p-fc933fc3.entry.js} +2 -2
  312. package/dist/core/p-fd421f11.entry.js +2 -0
  313. package/dist/core/{p-554c555f.entry.js.map → p-fd421f11.entry.js.map} +1 -1
  314. package/dist/core/{p-cd8dab55.entry.js → p-fee854f5.entry.js} +2 -2
  315. package/dist/esm/core.js +1 -1
  316. package/dist/esm/{helpers-f5ff3b42.js → helpers-2e75abf4.js} +2 -2
  317. package/dist/esm/{helpers-f5ff3b42.js.map → helpers-2e75abf4.js.map} +1 -1
  318. package/dist/esm/ic-accordion-group.entry.js +1 -1
  319. package/dist/esm/ic-accordion.entry.js +1 -1
  320. package/dist/esm/ic-action-chip.entry.js +112 -0
  321. package/dist/esm/ic-action-chip.entry.js.map +1 -0
  322. package/dist/esm/ic-alert.entry.js +1 -1
  323. package/dist/esm/ic-back-to-top.entry.js +4 -4
  324. package/dist/esm/ic-badge.entry.js +3 -3
  325. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  326. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  327. package/dist/esm/ic-button_3.entry.js +42 -87
  328. package/dist/esm/ic-button_3.entry.js.map +1 -1
  329. package/dist/esm/ic-card-vertical.entry.js +5 -5
  330. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  331. package/dist/esm/ic-checkbox.entry.js +5 -5
  332. package/dist/esm/ic-chip.entry.js +12 -4
  333. package/dist/esm/ic-chip.entry.js.map +1 -1
  334. package/dist/esm/ic-classification-banner.entry.js +2 -2
  335. package/dist/esm/ic-data-list.entry.js +2 -2
  336. package/dist/esm/ic-data-row.entry.js +3 -3
  337. package/dist/esm/ic-dialog.entry.js +2 -2
  338. package/dist/esm/ic-divider.entry.js +1 -1
  339. package/dist/esm/ic-empty-state.entry.js +3 -3
  340. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  341. package/dist/esm/ic-footer-link.entry.js +3 -3
  342. package/dist/esm/ic-footer.entry.js +4 -4
  343. package/dist/esm/ic-hero.entry.js +5 -5
  344. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  345. package/dist/esm/ic-input-component-container_3.entry.js +45 -53
  346. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  347. package/dist/esm/ic-input-label_2.entry.js +6 -6
  348. package/dist/esm/ic-link.entry.js +2 -2
  349. package/dist/esm/ic-menu-group.entry.js +2 -2
  350. package/dist/esm/ic-menu-item.entry.js +1 -1
  351. package/dist/esm/ic-navigation-button.entry.js +3 -3
  352. package/dist/esm/ic-navigation-group.entry.js +2 -2
  353. package/dist/esm/ic-navigation-item.entry.js +4 -11
  354. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  355. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  356. package/dist/esm/ic-page-header.entry.js +7 -7
  357. package/dist/esm/ic-pagination-item.entry.js +2 -2
  358. package/dist/esm/ic-pagination.entry.js +5 -5
  359. package/dist/esm/ic-popover-menu.entry.js +5 -5
  360. package/dist/esm/ic-radio-group.entry.js +5 -5
  361. package/dist/esm/ic-radio-option.entry.js +5 -5
  362. package/dist/esm/ic-search-bar.entry.js +10 -10
  363. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  364. package/dist/esm/ic-section-container.entry.js +2 -2
  365. package/dist/esm/ic-select.entry.js +7 -7
  366. package/dist/esm/ic-select.entry.js.map +1 -1
  367. package/dist/esm/ic-side-navigation.entry.js +5 -5
  368. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  369. package/dist/esm/ic-skeleton.entry.js +2 -2
  370. package/dist/esm/ic-skip-link.entry.js +2 -2
  371. package/dist/esm/ic-status-tag.entry.js +3 -3
  372. package/dist/esm/ic-step.entry.js +14 -14
  373. package/dist/esm/ic-stepper.entry.js +3 -3
  374. package/dist/esm/ic-switch.entry.js +5 -5
  375. package/dist/esm/ic-tab-context.entry.js +1 -1
  376. package/dist/esm/ic-tab-group.entry.js +3 -3
  377. package/dist/esm/ic-tab-panel.entry.js +2 -2
  378. package/dist/esm/ic-tab.entry.js +3 -3
  379. package/dist/esm/ic-text-field.entry.js +7 -7
  380. package/dist/esm/ic-theme.entry.js +2 -2
  381. package/dist/esm/ic-toast-region.entry.js +1 -1
  382. package/dist/esm/ic-toast.entry.js +4 -4
  383. package/dist/esm/ic-toggle-button-group.entry.js +16 -5
  384. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  385. package/dist/esm/ic-toggle-button.entry.js +14 -5
  386. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  387. package/dist/esm/ic-top-navigation.entry.js +5 -5
  388. package/dist/esm/ic-typography.entry.js +3 -3
  389. package/dist/esm/index-a7a720e7.js +4 -0
  390. package/dist/esm/loader.js +1 -1
  391. package/dist/types/components/ic-action-chip/ic-action-chip.d.ts +100 -0
  392. package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
  393. package/dist/types/components/ic-menu/ic-menu.d.ts +12 -4
  394. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +4 -0
  395. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +5 -0
  396. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -4
  397. package/dist/types/components.d.ts +198 -2
  398. package/hydrate/index.js +424 -311
  399. package/hydrate/index.mjs +424 -311
  400. package/package.json +2 -2
  401. package/vscode-data.json +164 -0
  402. package/dist/core/p-06b0d0f6.entry.js +0 -2
  403. package/dist/core/p-3194e46c.entry.js +0 -2
  404. package/dist/core/p-4cd83bfe.entry.js +0 -2
  405. package/dist/core/p-4cd83bfe.entry.js.map +0 -1
  406. package/dist/core/p-554c555f.entry.js +0 -2
  407. package/dist/core/p-57309502.entry.js +0 -2
  408. package/dist/core/p-57309502.entry.js.map +0 -1
  409. package/dist/core/p-627f7172.entry.js +0 -2
  410. package/dist/core/p-773ded36.entry.js +0 -2
  411. package/dist/core/p-7b9e10a0.entry.js.map +0 -1
  412. package/dist/core/p-9caa9e7b.entry.js +0 -2
  413. package/dist/core/p-9caa9e7b.entry.js.map +0 -1
  414. package/dist/core/p-b730963a.entry.js.map +0 -1
  415. package/dist/core/p-c100724d.entry.js +0 -2
  416. package/dist/core/p-cd42b7c0.entry.js +0 -2
  417. package/dist/core/p-cd42b7c0.entry.js.map +0 -1
  418. package/dist/core/p-d7c8f10d.entry.js +0 -2
  419. package/dist/core/p-d7c8f10d.entry.js.map +0 -1
  420. package/dist/core/p-e29ba8bd.entry.js.map +0 -1
  421. package/dist/core/p-ec1657fc.entry.js +0 -2
  422. package/dist/core/p-ff47772c.entry.js +0 -2
  423. /package/dist/core/{p-5fb58cc8.entry.js.map → p-03a2fa83.entry.js.map} +0 -0
  424. /package/dist/core/{p-ba89fa16.entry.js.map → p-04c36b23.entry.js.map} +0 -0
  425. /package/dist/core/{p-f4ee5fbb.entry.js.map → p-0c095f5b.entry.js.map} +0 -0
  426. /package/dist/core/{p-50d13439.entry.js.map → p-0eaa2904.entry.js.map} +0 -0
  427. /package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +0 -0
  428. /package/dist/core/{p-0549305b.entry.js.map → p-2394346c.entry.js.map} +0 -0
  429. /package/dist/core/{p-77750efc.entry.js.map → p-2c2c752d.entry.js.map} +0 -0
  430. /package/dist/core/{p-9ed5f11d.entry.js.map → p-32c030b1.entry.js.map} +0 -0
  431. /package/dist/core/{p-afde0edc.entry.js.map → p-3aa7f724.entry.js.map} +0 -0
  432. /package/dist/core/{p-b83cca09.entry.js.map → p-3eef02dd.entry.js.map} +0 -0
  433. /package/dist/core/{p-3448c713.entry.js.map → p-48db785a.entry.js.map} +0 -0
  434. /package/dist/core/{p-29468171.entry.js.map → p-4c336217.entry.js.map} +0 -0
  435. /package/dist/core/{p-98869fe7.entry.js.map → p-51bff253.entry.js.map} +0 -0
  436. /package/dist/core/{p-2ec0d11c.entry.js.map → p-60ff225d.entry.js.map} +0 -0
  437. /package/dist/core/{p-0179fbd3.entry.js.map → p-682a9365.entry.js.map} +0 -0
  438. /package/dist/core/{p-43b98687.entry.js.map → p-68f55187.entry.js.map} +0 -0
  439. /package/dist/core/{p-7cada631.entry.js.map → p-69aad690.entry.js.map} +0 -0
  440. /package/dist/core/{p-08567369.entry.js.map → p-750d5536.entry.js.map} +0 -0
  441. /package/dist/core/{p-97f67617.entry.js.map → p-7ac5a271.entry.js.map} +0 -0
  442. /package/dist/core/{p-056be0df.entry.js.map → p-8557fa1e.entry.js.map} +0 -0
  443. /package/dist/core/{p-4b8bfb59.entry.js.map → p-874f7e8d.entry.js.map} +0 -0
  444. /package/dist/core/{p-421b5f2d.entry.js.map → p-88b516d6.entry.js.map} +0 -0
  445. /package/dist/core/{p-939adcae.entry.js.map → p-903f9c7f.entry.js.map} +0 -0
  446. /package/dist/core/{p-bb21268f.entry.js.map → p-918af357.entry.js.map} +0 -0
  447. /package/dist/core/{p-a2ae5d9e.entry.js.map → p-998dfae0.entry.js.map} +0 -0
  448. /package/dist/core/{p-8a5b0fb0.entry.js.map → p-9d78ef89.entry.js.map} +0 -0
  449. /package/dist/core/{p-ae2ea264.entry.js.map → p-9e177686.entry.js.map} +0 -0
  450. /package/dist/core/{p-0f86ea09.entry.js.map → p-9f792a31.entry.js.map} +0 -0
  451. /package/dist/core/{p-70abcb2b.js.map → p-9f8acb5f.js.map} +0 -0
  452. /package/dist/core/{p-b1b27b7e.entry.js.map → p-b3ac38c5.entry.js.map} +0 -0
  453. /package/dist/core/{p-91f6884a.entry.js.map → p-bf5653c0.entry.js.map} +0 -0
  454. /package/dist/core/{p-fb6e6ac4.entry.js.map → p-c63ae7d0.entry.js.map} +0 -0
  455. /package/dist/core/{p-a591ef38.entry.js.map → p-c9c6d63b.entry.js.map} +0 -0
  456. /package/dist/core/{p-ce916f35.entry.js.map → p-d1b7b839.entry.js.map} +0 -0
  457. /package/dist/core/{p-4301e11e.entry.js.map → p-d2f1beb6.entry.js.map} +0 -0
  458. /package/dist/core/{p-d281c3cf.entry.js.map → p-d47acbd4.entry.js.map} +0 -0
  459. /package/dist/core/{p-fc5661ac.entry.js.map → p-de43d375.entry.js.map} +0 -0
  460. /package/dist/core/{p-c100724d.entry.js.map → p-e0485462.entry.js.map} +0 -0
  461. /package/dist/core/{p-06b0d0f6.entry.js.map → p-e9b6b600.entry.js.map} +0 -0
  462. /package/dist/core/{p-6dd73165.entry.js.map → p-ee6caf27.entry.js.map} +0 -0
  463. /package/dist/core/{p-06e80441.entry.js.map → p-ef357622.entry.js.map} +0 -0
  464. /package/dist/core/{p-9e051db4.entry.js.map → p-f34eee68.entry.js.map} +0 -0
  465. /package/dist/core/{p-948086f4.entry.js.map → p-f46fd0e7.entry.js.map} +0 -0
  466. /package/dist/core/{p-f9491692.entry.js.map → p-f643ae2b.entry.js.map} +0 -0
  467. /package/dist/core/{p-9d5e4b62.entry.js.map → p-fc933fc3.entry.js.map} +0 -0
  468. /package/dist/core/{p-cd8dab55.entry.js.map → p-fee854f5.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ic-loading-indicator2.js","mappings":"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","names":[],"sources":["src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","src/components/ic-loading-indicator/ic-loading-indicator.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator in px, rem or %\n */\n\n display: block;\n\n --linear-border-radius: 0.25rem;\n --inner-color: var(--ic-loading-indicator-inner-color);\n --outer-color: var(--ic-loading-indicator-outer-color);\n --label-color: var(--ic-loading-indicator-label-color);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n:host(.ic-loading-indicator-monochrome) {\n --inner-color: var(--ic-loading-indicator-inner-color-monochrome);\n --outer-color: var(--ic-loading-indicator-outer-color-monochrome);\n --label-color: var(--ic-loading-indicator-label-color-monochrome);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 2.5rem;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"medium\"]) {\n --circular-diameter: 5rem;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 7.5rem;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 1.25rem;\n}\n\n:host(.ic-loading-indicator-label) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n --ic-typography-color: var(--label-color);\n\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host(.ic-loading-indicator-full-width) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n.ic-loading-circular-svg {\n position: relative;\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n.ic-loading-circular-svg circle {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: var(--compact-step-outer-color, var(--outer-color));\n stroke-width: var(--circular-line-width);\n stroke-linecap: round;\n}\n\n/* --stroke-dash-array calculated via dashArray method */\n.ic-loading-circular-svg circle:nth-child(2) {\n --circular-indeterminate: calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );\n\n stroke-dasharray: var(--stroke-dasharray), var(--stroke-dasharray);\n stroke-dashoffset: var(--stroke-dashoffset, var(--circular-indeterminate));\n stroke: var(--compact-step-inner-color, var(--inner-color));\n}\n\n.inner-label {\n height: 100%;\n display: grid;\n}\n\n.inner-label .ic-loading-circular-svg,\n.inner-text {\n grid-column: 1;\n grid-row: 1;\n}\n\n/** ic-stepper **/\n:host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: var(--ic-architectural-300);\n}\n\n.inner-text {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ic-space-lg);\n height: inherit;\n overflow: hidden;\n margin: auto;\n\n --ic-typography-color: var(\n --ic-step-indicator-text-current,\n var(--ic-status-info-default)\n );\n}\n\n:host(.not-required.compact-step-progress-indicator) .inner-text {\n --ic-typography-color: var(--ic-step-indicator-text-disabled);\n}\n\n:host(.ic-loading-indicator-light.not-required.compact-step-progress-indicator)\n .inner-text {\n --ic-typography-color: var(--ic-architectural-400);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .indeterminate > .ic-loading-circular-inner {\n forced-color-adjust: none;\n }\n\n .ic-loading-linear-outer {\n border: var(--ic-border-hc);\n }\n\n .ic-loading-linear-inner {\n background-color: canvastext;\n }\n\n .ic-loading-circular-svg circle {\n stroke: Background;\n }\n\n .ic-loading-circular-svg circle:nth-child(2) {\n stroke: canvastext;\n }\n\n :host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: GrayText;\n }\n}\n","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 }}\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"],"version":3}
1
+ {"file":"ic-loading-indicator2.js","mappings":"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","names":[],"sources":["src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","src/components/ic-loading-indicator/ic-loading-indicator.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator in px, rem or %\n */\n\n display: block;\n\n --linear-border-radius: 0.25rem;\n --inner-color: var(--ic-loading-indicator-inner-color);\n --outer-color: var(--ic-loading-indicator-outer-color);\n --label-color: var(--ic-loading-indicator-label-color);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n:host(.ic-loading-indicator-monochrome) {\n --inner-color: var(--ic-loading-indicator-inner-color-monochrome);\n --outer-color: var(--ic-loading-indicator-outer-color-monochrome);\n --label-color: var(--ic-loading-indicator-label-color-monochrome);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 2.5rem;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"medium\"]) {\n --circular-diameter: 5rem;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 7.5rem;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 1.25rem;\n}\n\n:host(.ic-loading-indicator-label) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n --ic-typography-color: var(--label-color);\n\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-circular-outer[aria-valuenow=\"0\"] .ic-loading-circular-inner,\n.ic-loading-linear-outer[aria-valuenow=\"0\"] .ic-loading-linear-inner {\n --inner-color: var(--outer-color);\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host(.ic-loading-indicator-full-width) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n.ic-loading-circular-svg {\n position: relative;\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n.ic-loading-circular-svg circle {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: var(--compact-step-outer-color, var(--outer-color));\n stroke-width: var(--circular-line-width);\n stroke-linecap: round;\n}\n\n/* --stroke-dash-array calculated via dashArray method */\n.ic-loading-circular-svg circle:nth-child(2) {\n --circular-indeterminate: calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );\n\n stroke-dasharray: var(--stroke-dasharray), var(--stroke-dasharray);\n stroke-dashoffset: var(--stroke-dashoffset, var(--circular-indeterminate));\n stroke: var(--compact-step-inner-color, var(--inner-color));\n}\n\n.inner-label {\n height: 100%;\n display: grid;\n}\n\n.inner-label .ic-loading-circular-svg,\n.inner-text {\n grid-column: 1;\n grid-row: 1;\n}\n\n/** ic-stepper **/\n:host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: var(--ic-architectural-300);\n}\n\n.inner-text {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ic-space-lg);\n height: inherit;\n overflow: hidden;\n margin: auto;\n\n --ic-typography-color: var(\n --ic-step-indicator-text-current,\n var(--ic-status-info-default)\n );\n}\n\n:host(.not-required.compact-step-progress-indicator) .inner-text {\n --ic-typography-color: var(--ic-step-indicator-text-disabled);\n}\n\n:host(.ic-loading-indicator-light.not-required.compact-step-progress-indicator)\n .inner-text {\n --ic-typography-color: var(--ic-architectural-400);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .indeterminate > .ic-loading-circular-inner {\n forced-color-adjust: none;\n }\n\n .ic-loading-linear-outer {\n border: var(--ic-border-hc);\n }\n\n .ic-loading-linear-inner {\n background-color: canvastext;\n }\n\n .ic-loading-circular-svg circle {\n stroke: Background;\n }\n\n .ic-loading-circular-svg circle:nth-child(2) {\n stroke: canvastext;\n }\n\n :host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: GrayText;\n }\n}\n","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 }}\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"],"version":3}
@@ -13,7 +13,7 @@ const MenuGroup = /*@__PURE__*/ proxyCustomElement(class MenuGroup extends HTMLE
13
13
  }
14
14
  render() {
15
15
  const parentMenu = this.el.closest("ic-popover-menu");
16
- return (h(Host, { key: 'ec777b0d41cd1bb5d7751e61e702a45341f3080a', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: '31d4b7ba6d46a89c8c843654a2ded8ca993b1803', variant: "subtitle-small" }, this.label)), h("span", { key: '3f1472c581431ea8c80dfc79a98b34d6ad2418f2', class: "menu-items-wrapper" }, h("slot", { key: '68c43747e9948fdec7dff7c5e0d2a69d2bc73b62' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: 'b6540d15632b2d798ec6ead8d55fde5bca1e49f6' }))));
16
+ return (h(Host, { key: '4136f4cf036cf396b34c3c2000242aca5ca2eeff', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: 'a0de968e792cfedeee7ddad9f4b43885241abce5', variant: "subtitle-small" }, this.label)), h("span", { key: 'e9720932e7fc8ec62b7de24fef73a58bdc4af7c1', class: "menu-items-wrapper" }, h("slot", { key: 'c5ba1104bbd9a8749aec9b78641a05159fb56b4b' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: 'f8daab6f88da899054ace20e75e67f636d24c346' }))));
17
17
  }
18
18
  get el() { return this; }
19
19
  static get style() { return IcMenuGroupStyle0; }
@@ -29,9 +29,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
29
29
  this.hasPreviouslyBlurred = false;
30
30
  this.hasTimedOut = false;
31
31
  this.isLoading = false;
32
- this.isMultiSelect = false;
33
- this.isSearchBar = false;
34
- this.isSearchableSelect = false;
35
32
  this.lastOptionSelected = null; // Index of last option selected
36
33
  this.lastOptionFocused = null; // Index of last option focused
37
34
  this.multiOptionClicked = null;
@@ -64,6 +61,18 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
64
61
  * The custom name for the label field for IcMenuOption.
65
62
  */
66
63
  this.labelField = "label";
64
+ /**
65
+ * @internal - flag to specify if menu is in a ic-select multiple.
66
+ */
67
+ this.multiSelect = false;
68
+ /**
69
+ * @internal - flag to specify if menu is in a searchable ic-select.
70
+ */
71
+ this.searchableSelect = false;
72
+ /**
73
+ * @internal - flag to specify if menu is in a ic-search-bar.
74
+ */
75
+ this.searchBar = false;
67
76
  /**
68
77
  * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.
69
78
  */
@@ -96,7 +105,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
96
105
  this.preventClickOpen = false;
97
106
  }
98
107
  // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed
99
- if (this.isMultiSelect) {
108
+ if (this.multiSelect) {
100
109
  this.optionHighlighted = undefined;
101
110
  this.multiOptionClicked = null;
102
111
  }
@@ -130,27 +139,12 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
130
139
  });
131
140
  }
132
141
  };
133
- this.getParentEl = (parent) => {
134
- if (parent.tagName === this.SEARCH_BAR_TAG) {
135
- this.isSearchBar = true;
136
- }
137
- else if (parent.tagName === "IC-SELECT") {
138
- if (parent.getAttribute("searchable") !== null &&
139
- parent.getAttribute("searchable") !== undefined) {
140
- this.isSearchableSelect = true;
141
- }
142
- else if (parent.getAttribute("multiple") !== null &&
143
- parent.getAttribute("multiple") !== undefined) {
144
- this.isMultiSelect = true;
145
- }
146
- }
147
- };
148
142
  // Open menu when up or down arrow keys are pressed
149
143
  this.arrowBehaviour = (event) => {
150
144
  event.preventDefault();
151
145
  this.handleMenuChange(true);
152
146
  };
153
- this.getMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
147
+ this.getMenuOptions = () => this.searchBar ? this.options : this.ungroupedOptions;
154
148
  // Set option that is focused and so should show focus state
155
149
  this.setHighlightedOption = (highlightedIndex) => {
156
150
  const menuOptions = this.getMenuOptions();
@@ -188,11 +182,11 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
188
182
  if (!this.isLoading && !this.hasTimedOut) {
189
183
  this.keyboardNav = true;
190
184
  }
191
- const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
185
+ const isOpen = this.searchBar || this.searchableSelect || this.open;
192
186
  if (isOpen) {
193
187
  if (highlightedOptionIndex >= 0) {
194
188
  if (options[highlightedOptionIndex] !== undefined) {
195
- if (this.isSearchBar &&
189
+ if (this.searchBar &&
196
190
  options[highlightedOptionIndex].disabled === true) {
197
191
  this.disabledOptionSelected = true;
198
192
  }
@@ -237,7 +231,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
237
231
  const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);
238
232
  const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
239
233
  // Space press should be equivalent to Enter when multi-select
240
- if (event.key === " " && this.isMultiSelect) {
234
+ if (event.key === " " && this.multiSelect) {
241
235
  this.handleOptionSelect(event, highlightedOptionIndex);
242
236
  }
243
237
  else {
@@ -268,7 +262,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
268
262
  this.handleSingleShiftSelect(event, 0, menuOptions);
269
263
  }
270
264
  // Deselect currently selected options if arrow was pressed for first time after shift is held
271
- if (this.isMultiSelect && this.shiftPressed) {
265
+ if (this.multiSelect && this.shiftPressed) {
272
266
  this.deselectSelectedOptions([
273
267
  highlightedOptionIndex,
274
268
  this.getOptionHighlightedIndex(),
@@ -307,7 +301,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
307
301
  this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);
308
302
  }
309
303
  // Deselect currently selected options if arrow was pressed for first time after shift is held
310
- if (this.isMultiSelect && this.shiftPressed) {
304
+ if (this.multiSelect && this.shiftPressed) {
311
305
  this.deselectSelectedOptions([
312
306
  highlightedOptionIndex,
313
307
  this.getOptionHighlightedIndex(),
@@ -355,7 +349,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
355
349
  if (!isKeyboardCombination) {
356
350
  this.keyboardNav = false;
357
351
  }
358
- if (this.isSearchBar || this.isSearchableSelect) {
352
+ if (this.searchBar || this.searchableSelect) {
359
353
  break;
360
354
  }
361
355
  else {
@@ -393,10 +387,10 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
393
387
  if (event.key === "Shift") {
394
388
  this.shiftPressed = true;
395
389
  }
396
- if (this.isSearchBar) {
390
+ if (this.searchBar) {
397
391
  this.keyboardNav = true;
398
392
  }
399
- if (this.isMultiSelect) {
393
+ if (this.multiSelect) {
400
394
  if (this.open && !event.shiftKey && this.selectAllButton) {
401
395
  event.preventDefault();
402
396
  this.selectAllButton.focus(); // Move focus to select all button instead of focused option
@@ -439,7 +433,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
439
433
  };
440
434
  this.handleOptionClick = (event) => {
441
435
  const { value, label } = event.target.dataset;
442
- if (this.isMultiSelect) {
436
+ if (this.multiSelect) {
443
437
  const menuOptions = this.getMenuOptions();
444
438
  const selectedOptionIndex = menuOptions.findIndex((option) => option.value === value);
445
439
  this.handleOptionSelect(event, selectedOptionIndex, true);
@@ -481,7 +475,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
481
475
  this.lastOptionFocused = null;
482
476
  this.lastOptionSelected = null;
483
477
  }
484
- if (!this.isSearchBar)
478
+ if (!this.searchBar)
485
479
  this.hasPreviouslyBlurred = !!event.relatedTarget;
486
480
  };
487
481
  this.handleMouseDown = (event) => {
@@ -491,7 +485,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
491
485
  if (this.activationType === "automatic") {
492
486
  this.autoSetValueOnMenuKeyDown(event);
493
487
  }
494
- else if (this.activationType === "manual" && !this.isSearchBar) {
488
+ else if (this.activationType === "manual" && !this.searchBar) {
495
489
  this.manualSetInputValueKeyboardOpen(event);
496
490
  }
497
491
  };
@@ -534,7 +528,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
534
528
  // When shift key is being used to select contiguous options one by one on a multi-select
535
529
  // I.e. holding shift and pressing up and down arrow keys
536
530
  this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {
537
- if (this.isMultiSelect &&
531
+ if (this.multiSelect &&
538
532
  event.shiftKey &&
539
533
  !this.isOptionSelected(optionToSelectIndex)) {
540
534
  this.selectHighlightedOption(options, optionToSelectIndex);
@@ -784,9 +778,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
784
778
  this.loadUngroupedOptions();
785
779
  }
786
780
  connectedCallback() {
787
- if (this.parentEl)
788
- this.getParentEl(this.parentEl);
789
- if (this.isSearchBar) {
781
+ if (this.searchBar) {
790
782
  if (this.searchMode === "navigation")
791
783
  this.setHighlightedOption(0);
792
784
  this.initialOptionsListRender = true;
@@ -807,7 +799,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
807
799
  this.isLoading = (_d = this.options) === null || _d === void 0 ? void 0 : _d.some((opt) => opt.loading);
808
800
  }
809
801
  componentDidLoad() {
810
- if (this.isSearchBar &&
802
+ if (this.searchBar &&
811
803
  this.parentEl.disableAutoFiltering) {
812
804
  this.focusFromSearchKeypress = true;
813
805
  }
@@ -829,7 +821,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
829
821
  this.keyboardNav &&
830
822
  inputValueInOptions &&
831
823
  this.autofocusOnSelected &&
832
- !this.isSearchableSelect) {
824
+ !this.searchableSelect) {
833
825
  this.scrollToSelected(this.menu);
834
826
  }
835
827
  else if (this.selectOnEnter) {
@@ -923,21 +915,21 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
923
915
  focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex) {
924
916
  if (!menuOptions[highlightedOptionIndex])
925
917
  return;
926
- if (this.isSearchBar) {
918
+ if (this.searchBar) {
927
919
  this.parentEl.setFocus();
928
920
  if (this.searchMode === "navigation")
929
921
  this.setHighlightedOption(0);
930
922
  }
931
- if (this.isSearchableSelect) {
923
+ if (this.searchableSelect) {
932
924
  this.parentEl.setFocus();
933
925
  }
934
926
  this.focusFromSearchKeypress = true;
935
927
  }
936
928
  render() {
937
- const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, } = this;
929
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;
938
930
  const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
939
931
  const hasNoResults = this.host.classList.contains("no-results");
940
- return (h(Host, { key: '6c3e0c39d138c8622c3748c16294f0e21e202909', class: {
932
+ return (h(Host, { key: '637bd569f0d987aae612c73390344c46127170ad', class: {
941
933
  "ic-menu-full-width": !!fullWidth,
942
934
  "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
943
935
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
@@ -945,8 +937,8 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
945
937
  isLoading,
946
938
  [`ic-menu-${size}`]: true,
947
939
  "ic-menu-open": open && options.length !== 0,
948
- "ic-menu-multiple": this.isMultiSelect,
949
- } }, options.length !== 0 && (h("ul", { key: '69ea4424544b03896b65f0b30221872e131a04f6', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": this.isMultiSelect ? "true" : "false", tabindex: open &&
940
+ "ic-menu-multiple": multiSelect,
941
+ } }, options.length !== 0 && (h("ul", { key: '3840de0e59bd4f2d87330cf23a6afe402870c848', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
950
942
  !keyboardNav &&
951
943
  ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
952
944
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
@@ -955,7 +947,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
955
947
  if (option.children) {
956
948
  if (option.children.length > 0) {
957
949
  return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => childOption.label &&
958
- this.displayOption(childOption, this.isMultiSelect
950
+ this.displayOption(childOption, multiSelect
959
951
  ? value === null || value === void 0 ? void 0 : value.includes(childOption[this.valueField])
960
952
  : childOption[this.valueField] === value, index, option))));
961
953
  }
@@ -966,15 +958,15 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
966
958
  else {
967
959
  // Display option only if it has a label (rather than displaying an empty space)
968
960
  return (option.label &&
969
- this.displayOption(option, this.isMultiSelect
961
+ this.displayOption(option, multiSelect
970
962
  ? value === null || value === void 0 ? void 0 : value.includes(option[this.valueField])
971
963
  : option[this.valueField] === value, index));
972
964
  }
973
965
  }))), options.length !== 0 &&
974
- this.isMultiSelect &&
966
+ multiSelect &&
975
967
  !isLoading &&
976
968
  !hasTimedOut &&
977
- !hasNoResults && (h("div", { key: '17553f6e5ecd81b892894244b3a3a143b998c23c', class: "option-bar" }, h("ic-typography", { key: '7f4ce460524beb936e4d4ef2bbbcedd03cacec5c' }, h("p", { key: 'aae0e564a9caf83b09d4ee8daa3d9409b7d69501' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: '692b840395eafd8c4c5dd0f21bab2082debb44bf', 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)))));
969
+ !hasNoResults && (h("div", { key: '7c21b91f707319eac7433c9bf84b2e07117d4a5e', class: "option-bar" }, h("ic-typography", { key: 'ebf470f1196440dbb9b7d827833866604df1273c' }, h("p", { key: '796f1746246ee7867d6244c9ab824e5e483be7d0' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: 'ab28ce082f7fd653fb10c7692161ad0c00653792', 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)))));
978
970
  }
979
971
  get host() { return this; }
980
972
  static get watchers() { return {
@@ -992,8 +984,11 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
992
984
  "inputLabel": [1, "input-label"],
993
985
  "labelField": [1, "label-field"],
994
986
  "menuId": [1, "menu-id"],
987
+ "multiSelect": [4, "multi-select"],
995
988
  "open": [516],
996
989
  "parentEl": [16],
990
+ "searchableSelect": [4, "searchable-select"],
991
+ "searchBar": [4, "search-bar"],
997
992
  "searchMode": [1, "search-mode"],
998
993
  "selectOnEnter": [4, "select-on-enter"],
999
994
  "size": [1],