@ukic/web-components 3.0.0-alpha.1 → 3.0.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (632) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-f1cf5156.js → helpers-69219f14.js} +24 -1
  3. package/dist/cjs/helpers-69219f14.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +17 -16
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  22. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-chip.cjs.entry.js +21 -14
  24. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +447 -165
  42. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-input-label_2.cjs.entry.js +9 -7
  44. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-popover-menu.cjs.entry.js +27 -21
  64. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-radio-group.cjs.entry.js +20 -10
  66. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-option.cjs.entry.js +27 -22
  68. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -25
  70. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-select.cjs.entry.js +148 -38
  72. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  76. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  80. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  82. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  84. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-tab-context.cjs.entry.js +58 -122
  86. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab.cjs.entry.js +6 -7
  91. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-text-field.cjs.entry.js +3 -3
  93. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  96. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  98. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  100. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  102. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  103. package/dist/cjs/loader.cjs.js +1 -1
  104. package/dist/collection/components/ic-accordion/ic-accordion.css +3 -3
  105. package/dist/collection/components/ic-alert/ic-alert.css +19 -12
  106. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  107. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  108. package/dist/collection/components/ic-badge/ic-badge.css +2 -2
  109. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -1
  110. package/dist/collection/components/ic-button/ic-button.css +30 -33
  111. package/dist/collection/components/ic-button/ic-button.js +5 -6
  112. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  113. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +9 -9
  114. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -4
  115. package/dist/collection/components/ic-checkbox/ic-checkbox.js +1 -1
  116. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  117. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +2 -2
  118. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +1 -1
  119. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  120. package/dist/collection/components/ic-chip/ic-chip.css +64 -49
  121. package/dist/collection/components/ic-chip/ic-chip.js +41 -15
  122. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  123. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +16 -0
  124. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  125. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +25 -9
  126. package/dist/collection/components/ic-divider/ic-divider.css +2 -2
  127. package/dist/collection/components/ic-footer/ic-footer.css +3 -3
  128. package/dist/collection/components/ic-footer-link/ic-footer-link.css +4 -4
  129. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +4 -4
  130. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +3 -3
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -9
  132. package/dist/collection/components/ic-input-label/ic-input-label.css +6 -5
  133. package/dist/collection/components/ic-input-label/ic-input-label.js +45 -4
  134. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  135. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +35 -49
  136. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  137. package/dist/collection/components/ic-input-validation/ic-input-validation.css +3 -3
  138. package/dist/collection/components/ic-link/ic-link.css +1 -1
  139. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +15 -10
  140. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +50 -31
  141. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  142. package/dist/collection/components/ic-menu/ic-menu.css +79 -19
  143. package/dist/collection/components/ic-menu/ic-menu.js +485 -192
  144. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  145. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +381 -33
  146. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  147. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -2
  148. package/dist/collection/components/ic-menu-item/ic-menu-item.css +32 -28
  149. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +3 -3
  150. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +8 -8
  151. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  152. package/dist/collection/components/ic-page-header/ic-page-header.css +5 -2
  153. package/dist/collection/components/ic-page-header/ic-page-header.js +3 -3
  154. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  155. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +5 -5
  156. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +5 -5
  157. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +76 -19
  158. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  159. package/dist/collection/components/ic-radio-group/ic-radio-group.css +1 -1
  160. package/dist/collection/components/ic-radio-group/ic-radio-group.js +18 -8
  161. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  162. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +2 -2
  163. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  164. package/dist/collection/components/ic-radio-option/ic-radio-option.css +4 -3
  165. package/dist/collection/components/ic-radio-option/ic-radio-option.js +26 -21
  166. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  167. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -5
  168. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -23
  169. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  170. package/dist/collection/components/ic-select/ic-select.css +45 -25
  171. package/dist/collection/components/ic-select/ic-select.js +192 -44
  172. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  173. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +160 -1
  174. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  175. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +8 -8
  176. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  177. package/dist/collection/components/ic-skeleton/ic-skeleton.js +16 -10
  178. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  179. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -1
  180. package/dist/collection/components/ic-step/ic-step.css +65 -98
  181. package/dist/collection/components/ic-step/ic-step.js +29 -3
  182. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  183. package/dist/collection/components/ic-stepper/ic-stepper.js +37 -19
  184. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  185. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +4 -4
  186. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  187. package/dist/collection/components/ic-switch/ic-switch.css +28 -31
  188. package/dist/collection/components/ic-switch/ic-switch.js +29 -2
  189. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  190. package/dist/collection/components/ic-tab/ic-tab.js +5 -6
  191. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  192. package/dist/collection/components/ic-tab-context/ic-tab-context.js +58 -122
  193. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  194. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
  195. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  196. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +1 -1
  197. package/dist/collection/components/ic-text-field/ic-text-field.css +7 -6
  198. package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
  199. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  200. package/dist/collection/components/ic-toast/ic-toast.css +9 -4
  201. package/dist/collection/components/ic-toast/ic-toast.js +1 -1
  202. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  203. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +1 -1
  204. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  205. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +8 -8
  206. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  207. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +6 -6
  208. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  209. package/dist/collection/components/ic-typography/ic-typography.css +3 -3
  210. package/dist/collection/components/ic-typography/ic-typography.js +3 -1
  211. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  212. package/dist/collection/utils/helpers.js +20 -0
  213. package/dist/collection/utils/helpers.js.map +1 -1
  214. package/dist/collection/utils/types.js.map +1 -1
  215. package/dist/components/helpers.js +22 -1
  216. package/dist/components/helpers.js.map +1 -1
  217. package/dist/components/ic-accordion.js +1 -1
  218. package/dist/components/ic-accordion.js.map +1 -1
  219. package/dist/components/ic-alert.js +1 -1
  220. package/dist/components/ic-alert.js.map +1 -1
  221. package/dist/components/ic-badge.js +1 -1
  222. package/dist/components/ic-badge.js.map +1 -1
  223. package/dist/components/ic-breadcrumb2.js +1 -1
  224. package/dist/components/ic-breadcrumb2.js.map +1 -1
  225. package/dist/components/ic-button2.js +6 -7
  226. package/dist/components/ic-button2.js.map +1 -1
  227. package/dist/components/ic-card-vertical.js +1 -1
  228. package/dist/components/ic-card-vertical.js.map +1 -1
  229. package/dist/components/ic-checkbox-group.js +2 -2
  230. package/dist/components/ic-checkbox-group.js.map +1 -1
  231. package/dist/components/ic-checkbox.js +2 -2
  232. package/dist/components/ic-checkbox.js.map +1 -1
  233. package/dist/components/ic-chip.js +23 -14
  234. package/dist/components/ic-chip.js.map +1 -1
  235. package/dist/components/ic-classification-banner.js +1 -1
  236. package/dist/components/ic-classification-banner.js.map +1 -1
  237. package/dist/components/ic-divider2.js +1 -1
  238. package/dist/components/ic-divider2.js.map +1 -1
  239. package/dist/components/ic-footer-link-group.js +1 -1
  240. package/dist/components/ic-footer-link-group.js.map +1 -1
  241. package/dist/components/ic-footer-link.js +1 -1
  242. package/dist/components/ic-footer-link.js.map +1 -1
  243. package/dist/components/ic-footer.js +1 -1
  244. package/dist/components/ic-footer.js.map +1 -1
  245. package/dist/components/ic-horizontal-scroll2.js +1 -1
  246. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  247. package/dist/components/ic-input-component-container2.js +1 -1
  248. package/dist/components/ic-input-component-container2.js.map +1 -1
  249. package/dist/components/ic-input-label2.js +10 -6
  250. package/dist/components/ic-input-label2.js.map +1 -1
  251. package/dist/components/ic-input-validation2.js +1 -1
  252. package/dist/components/ic-input-validation2.js.map +1 -1
  253. package/dist/components/ic-link2.js +1 -1
  254. package/dist/components/ic-link2.js.map +1 -1
  255. package/dist/components/ic-loading-indicator2.js +11 -9
  256. package/dist/components/ic-loading-indicator2.js.map +1 -1
  257. package/dist/components/ic-menu-group.js +1 -1
  258. package/dist/components/ic-menu-group.js.map +1 -1
  259. package/dist/components/ic-menu-item2.js +1 -1
  260. package/dist/components/ic-menu-item2.js.map +1 -1
  261. package/dist/components/ic-menu2.js +450 -167
  262. package/dist/components/ic-menu2.js.map +1 -1
  263. package/dist/components/ic-navigation-group.js +2 -2
  264. package/dist/components/ic-navigation-group.js.map +1 -1
  265. package/dist/components/ic-navigation-item.js +2 -2
  266. package/dist/components/ic-navigation-item.js.map +1 -1
  267. package/dist/components/ic-navigation-menu2.js +2 -2
  268. package/dist/components/ic-navigation-menu2.js.map +1 -1
  269. package/dist/components/ic-page-header.js +4 -4
  270. package/dist/components/ic-page-header.js.map +1 -1
  271. package/dist/components/ic-pagination-item2.js +2 -2
  272. package/dist/components/ic-pagination-item2.js.map +1 -1
  273. package/dist/components/ic-popover-menu.js +29 -21
  274. package/dist/components/ic-popover-menu.js.map +1 -1
  275. package/dist/components/ic-radio-group.js +19 -9
  276. package/dist/components/ic-radio-group.js.map +1 -1
  277. package/dist/components/ic-radio-option.js +27 -22
  278. package/dist/components/ic-radio-option.js.map +1 -1
  279. package/dist/components/ic-search-bar.js +12 -25
  280. package/dist/components/ic-search-bar.js.map +1 -1
  281. package/dist/components/ic-select.js +149 -38
  282. package/dist/components/ic-select.js.map +1 -1
  283. package/dist/components/ic-side-navigation.js +2 -2
  284. package/dist/components/ic-side-navigation.js.map +1 -1
  285. package/dist/components/ic-skeleton.js +5 -5
  286. package/dist/components/ic-skeleton.js.map +1 -1
  287. package/dist/components/ic-status-tag.js +1 -1
  288. package/dist/components/ic-status-tag.js.map +1 -1
  289. package/dist/components/ic-step.js +4 -4
  290. package/dist/components/ic-step.js.map +1 -1
  291. package/dist/components/ic-stepper.js +14 -3
  292. package/dist/components/ic-stepper.js.map +1 -1
  293. package/dist/components/ic-switch.js +7 -3
  294. package/dist/components/ic-switch.js.map +1 -1
  295. package/dist/components/ic-tab-context.js +58 -122
  296. package/dist/components/ic-tab-context.js.map +1 -1
  297. package/dist/components/ic-tab-panel.js +1 -1
  298. package/dist/components/ic-tab-panel.js.map +1 -1
  299. package/dist/components/ic-tab.js +5 -6
  300. package/dist/components/ic-tab.js.map +1 -1
  301. package/dist/components/ic-text-field2.js +3 -3
  302. package/dist/components/ic-text-field2.js.map +1 -1
  303. package/dist/components/ic-theme.js +1 -1
  304. package/dist/components/ic-toast.js +3 -3
  305. package/dist/components/ic-toast.js.map +1 -1
  306. package/dist/components/ic-toggle-button.js +1 -1
  307. package/dist/components/ic-toggle-button.js.map +1 -1
  308. package/dist/components/ic-tooltip2.js +1 -1
  309. package/dist/components/ic-tooltip2.js.map +1 -1
  310. package/dist/components/ic-top-navigation.js +2 -2
  311. package/dist/components/ic-top-navigation.js.map +1 -1
  312. package/dist/components/ic-typography2.js +4 -2
  313. package/dist/components/ic-typography2.js.map +1 -1
  314. package/dist/core/core.css +661 -37
  315. package/dist/core/core.esm.js +1 -1
  316. package/dist/core/core.esm.js.map +1 -1
  317. package/dist/core/{p-d2f89cb5.entry.js → p-0395442c.entry.js} +2 -2
  318. package/dist/core/p-0d233b0c.entry.js +2 -0
  319. package/dist/core/p-0d233b0c.entry.js.map +1 -0
  320. package/dist/core/p-134def81.entry.js +2 -0
  321. package/dist/core/p-134def81.entry.js.map +1 -0
  322. package/dist/core/p-14dfd8db.entry.js +2 -0
  323. package/dist/core/p-14dfd8db.entry.js.map +1 -0
  324. package/dist/core/p-1b116dd1.entry.js +2 -0
  325. package/dist/core/p-1b116dd1.entry.js.map +1 -0
  326. package/dist/core/p-21cc87c0.entry.js +2 -0
  327. package/dist/core/p-21cc87c0.entry.js.map +1 -0
  328. package/dist/core/{p-54238d16.entry.js → p-27274ca8.entry.js} +2 -2
  329. package/dist/core/p-27274ca8.entry.js.map +1 -0
  330. package/dist/core/p-2eae9b27.entry.js +2 -0
  331. package/dist/core/p-2eae9b27.entry.js.map +1 -0
  332. package/dist/core/p-3618ac34.entry.js +2 -0
  333. package/dist/core/p-3618ac34.entry.js.map +1 -0
  334. package/dist/core/{p-355acffa.entry.js → p-37dea10d.entry.js} +2 -2
  335. package/dist/core/p-384d454d.entry.js +2 -0
  336. package/dist/core/p-384d454d.entry.js.map +1 -0
  337. package/dist/core/p-3d417eff.entry.js +2 -0
  338. package/dist/core/p-3d417eff.entry.js.map +1 -0
  339. package/dist/core/p-3d9726a3.entry.js +2 -0
  340. package/dist/core/p-3d9726a3.entry.js.map +1 -0
  341. package/dist/core/p-43256b7c.entry.js +2 -0
  342. package/dist/core/p-43256b7c.entry.js.map +1 -0
  343. package/dist/core/{p-46ee459b.entry.js → p-4a3b1f06.entry.js} +2 -2
  344. package/dist/core/{p-46ee459b.entry.js.map → p-4a3b1f06.entry.js.map} +1 -1
  345. package/dist/core/p-50ead56c.entry.js +2 -0
  346. package/dist/core/p-50ead56c.entry.js.map +1 -0
  347. package/dist/core/{p-5a2630fb.entry.js → p-5cd016e1.entry.js} +2 -2
  348. package/dist/core/{p-5a2630fb.entry.js.map → p-5cd016e1.entry.js.map} +1 -1
  349. package/dist/core/{p-78ce4920.entry.js → p-5ef8e106.entry.js} +2 -2
  350. package/dist/core/{p-78ce4920.entry.js.map → p-5ef8e106.entry.js.map} +1 -1
  351. package/dist/core/{p-c81109da.entry.js → p-690c5e80.entry.js} +2 -2
  352. package/dist/core/p-690c5e80.entry.js.map +1 -0
  353. package/dist/core/{p-43f9a711.entry.js → p-6d3e4bb1.entry.js} +2 -2
  354. package/dist/core/{p-1e802eeb.entry.js → p-726673ee.entry.js} +2 -2
  355. package/dist/core/p-726673ee.entry.js.map +1 -0
  356. package/dist/core/p-72d30c8a.entry.js +2 -0
  357. package/dist/core/p-72d30c8a.entry.js.map +1 -0
  358. package/dist/core/{p-f30f3a3e.entry.js → p-76263187.entry.js} +2 -2
  359. package/dist/core/p-7827b5cb.entry.js +2 -0
  360. package/dist/core/p-7827b5cb.entry.js.map +1 -0
  361. package/dist/core/p-79d0be03.entry.js +2 -0
  362. package/dist/core/p-79d0be03.entry.js.map +1 -0
  363. package/dist/core/{p-bf4c61cb.entry.js → p-7b35de65.entry.js} +2 -2
  364. package/dist/core/{p-bf4c61cb.entry.js.map → p-7b35de65.entry.js.map} +1 -1
  365. package/dist/core/p-7fbf2d3e.entry.js +2 -0
  366. package/dist/core/p-7fbf2d3e.entry.js.map +1 -0
  367. package/dist/core/p-91cf9b2b.entry.js +2 -0
  368. package/dist/core/p-91cf9b2b.entry.js.map +1 -0
  369. package/dist/core/p-922984cb.entry.js +2 -0
  370. package/dist/core/p-922984cb.entry.js.map +1 -0
  371. package/dist/core/{p-e861a2b3.entry.js → p-95f603dd.entry.js} +2 -2
  372. package/dist/core/p-95f603dd.entry.js.map +1 -0
  373. package/dist/core/{p-e4b276b5.entry.js → p-97fb2bdf.entry.js} +2 -2
  374. package/dist/core/p-ac4b7329.entry.js +2 -0
  375. package/dist/core/p-ac4b7329.entry.js.map +1 -0
  376. package/dist/core/p-acbd15ab.entry.js +2 -0
  377. package/dist/core/p-acbd15ab.entry.js.map +1 -0
  378. package/dist/core/{p-e597da0e.entry.js → p-b01ffa55.entry.js} +2 -2
  379. package/dist/core/p-b01ffa55.entry.js.map +1 -0
  380. package/dist/core/p-b17c94b7.entry.js +2 -0
  381. package/dist/core/p-b17c94b7.entry.js.map +1 -0
  382. package/dist/core/p-b78f8b8c.entry.js +2 -0
  383. package/dist/core/p-b78f8b8c.entry.js.map +1 -0
  384. package/dist/core/{p-312cacae.js → p-b7eb8ef9.js} +2 -2
  385. package/dist/core/p-b7eb8ef9.js.map +1 -0
  386. package/dist/core/{p-363d6e88.entry.js → p-b95a72a3.entry.js} +2 -2
  387. package/dist/core/{p-21e5dd29.entry.js → p-b997064c.entry.js} +2 -2
  388. package/dist/core/{p-56d1828c.entry.js → p-ba6ecc15.entry.js} +2 -2
  389. package/dist/core/{p-56d1828c.entry.js.map → p-ba6ecc15.entry.js.map} +1 -1
  390. package/dist/core/p-c0fc3d02.entry.js +2 -0
  391. package/dist/core/p-c0fc3d02.entry.js.map +1 -0
  392. package/dist/core/p-c396bd4d.entry.js +2 -0
  393. package/dist/core/p-c396bd4d.entry.js.map +1 -0
  394. package/dist/core/{p-a3b6a02d.entry.js → p-c9cf932c.entry.js} +2 -2
  395. package/dist/core/{p-a3b6a02d.entry.js.map → p-c9cf932c.entry.js.map} +1 -1
  396. package/dist/core/p-cf7db84a.entry.js +2 -0
  397. package/dist/core/p-cf7db84a.entry.js.map +1 -0
  398. package/dist/core/{p-a765ad17.entry.js → p-dd36bf1b.entry.js} +2 -2
  399. package/dist/core/p-dd36bf1b.entry.js.map +1 -0
  400. package/dist/core/p-e488de54.entry.js +2 -0
  401. package/dist/core/p-e488de54.entry.js.map +1 -0
  402. package/dist/core/p-e4d1839e.entry.js +2 -0
  403. package/dist/core/p-e4d1839e.entry.js.map +1 -0
  404. package/dist/core/p-eb3b4935.entry.js +2 -0
  405. package/dist/core/p-eb3b4935.entry.js.map +1 -0
  406. package/dist/core/{p-60efd7fa.entry.js → p-ebafab37.entry.js} +2 -2
  407. package/dist/core/{p-82375dca.entry.js → p-ee6dd94c.entry.js} +2 -2
  408. package/dist/core/p-f0fc1bf0.entry.js +2 -0
  409. package/dist/core/p-f0fc1bf0.entry.js.map +1 -0
  410. package/dist/core/p-f24984c5.entry.js +2 -0
  411. package/dist/core/p-f24984c5.entry.js.map +1 -0
  412. package/dist/core/{p-d8870804.entry.js → p-f5b2b26d.entry.js} +2 -2
  413. package/dist/core/p-f60dbd0e.entry.js +2 -0
  414. package/dist/core/p-f60dbd0e.entry.js.map +1 -0
  415. package/dist/core/{p-40e9e76a.entry.js → p-f71c00ce.entry.js} +2 -2
  416. package/dist/core/{p-69f3ce5a.entry.js → p-ff4298b1.entry.js} +2 -2
  417. package/dist/core/p-ff4298b1.entry.js.map +1 -0
  418. package/dist/esm/core.js +1 -1
  419. package/dist/esm/{helpers-1c9151ef.js → helpers-e8797e8d.js} +23 -2
  420. package/dist/esm/helpers-e8797e8d.js.map +1 -0
  421. package/dist/esm/ic-accordion-group.entry.js +1 -1
  422. package/dist/esm/ic-accordion.entry.js +2 -2
  423. package/dist/esm/ic-accordion.entry.js.map +1 -1
  424. package/dist/esm/ic-alert.entry.js +2 -2
  425. package/dist/esm/ic-alert.entry.js.map +1 -1
  426. package/dist/esm/ic-back-to-top.entry.js +1 -1
  427. package/dist/esm/ic-badge.entry.js +2 -2
  428. package/dist/esm/ic-badge.entry.js.map +1 -1
  429. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  430. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  431. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  432. package/dist/esm/ic-button_3.entry.js +17 -16
  433. package/dist/esm/ic-button_3.entry.js.map +1 -1
  434. package/dist/esm/ic-card-vertical.entry.js +2 -2
  435. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  436. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  437. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  438. package/dist/esm/ic-checkbox.entry.js +3 -3
  439. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  440. package/dist/esm/ic-chip.entry.js +22 -15
  441. package/dist/esm/ic-chip.entry.js.map +1 -1
  442. package/dist/esm/ic-classification-banner.entry.js +1 -1
  443. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  444. package/dist/esm/ic-data-row.entry.js +1 -1
  445. package/dist/esm/ic-dialog.entry.js +1 -1
  446. package/dist/esm/ic-divider.entry.js +2 -2
  447. package/dist/esm/ic-divider.entry.js.map +1 -1
  448. package/dist/esm/ic-empty-state.entry.js +1 -1
  449. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  450. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  451. package/dist/esm/ic-footer-link.entry.js +2 -2
  452. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  453. package/dist/esm/ic-footer.entry.js +2 -2
  454. package/dist/esm/ic-footer.entry.js.map +1 -1
  455. package/dist/esm/ic-hero.entry.js +1 -1
  456. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  457. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  458. package/dist/esm/ic-input-component-container_3.entry.js +447 -165
  459. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  460. package/dist/esm/ic-input-label_2.entry.js +9 -7
  461. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  462. package/dist/esm/ic-link.entry.js +2 -2
  463. package/dist/esm/ic-link.entry.js.map +1 -1
  464. package/dist/esm/ic-menu-group.entry.js +2 -2
  465. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  466. package/dist/esm/ic-menu-item.entry.js +2 -2
  467. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  468. package/dist/esm/ic-navigation-button.entry.js +1 -1
  469. package/dist/esm/ic-navigation-group.entry.js +2 -2
  470. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  471. package/dist/esm/ic-navigation-item.entry.js +2 -2
  472. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  473. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  474. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  475. package/dist/esm/ic-page-header.entry.js +5 -5
  476. package/dist/esm/ic-page-header.entry.js.map +1 -1
  477. package/dist/esm/ic-pagination-item.entry.js +2 -2
  478. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  479. package/dist/esm/ic-pagination.entry.js +1 -1
  480. package/dist/esm/ic-popover-menu.entry.js +27 -21
  481. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  482. package/dist/esm/ic-radio-group.entry.js +20 -10
  483. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  484. package/dist/esm/ic-radio-option.entry.js +27 -22
  485. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  486. package/dist/esm/ic-search-bar.entry.js +12 -25
  487. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  488. package/dist/esm/ic-select.entry.js +148 -38
  489. package/dist/esm/ic-select.entry.js.map +1 -1
  490. package/dist/esm/ic-side-navigation.entry.js +2 -2
  491. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  492. package/dist/esm/ic-skeleton.entry.js +4 -4
  493. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  494. package/dist/esm/ic-status-tag.entry.js +2 -2
  495. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  496. package/dist/esm/ic-step.entry.js +4 -5
  497. package/dist/esm/ic-step.entry.js.map +1 -1
  498. package/dist/esm/ic-stepper.entry.js +12 -2
  499. package/dist/esm/ic-stepper.entry.js.map +1 -1
  500. package/dist/esm/ic-switch.entry.js +7 -4
  501. package/dist/esm/ic-switch.entry.js.map +1 -1
  502. package/dist/esm/ic-tab-context.entry.js +58 -122
  503. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  504. package/dist/esm/ic-tab-group.entry.js +1 -1
  505. package/dist/esm/ic-tab-panel.entry.js +2 -2
  506. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  507. package/dist/esm/ic-tab.entry.js +6 -7
  508. package/dist/esm/ic-tab.entry.js.map +1 -1
  509. package/dist/esm/ic-text-field.entry.js +3 -3
  510. package/dist/esm/ic-text-field.entry.js.map +1 -1
  511. package/dist/esm/ic-theme.entry.js +1 -1
  512. package/dist/esm/ic-toast.entry.js +3 -3
  513. package/dist/esm/ic-toast.entry.js.map +1 -1
  514. package/dist/esm/ic-toggle-button.entry.js +2 -2
  515. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  516. package/dist/esm/ic-top-navigation.entry.js +2 -2
  517. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  518. package/dist/esm/ic-typography.entry.js +5 -3
  519. package/dist/esm/ic-typography.entry.js.map +1 -1
  520. package/dist/esm/loader.js +1 -1
  521. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  522. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -2
  523. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -0
  524. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +9 -5
  525. package/dist/types/components/ic-menu/ic-menu.d.ts +43 -15
  526. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +7 -2
  527. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +3 -2
  528. package/dist/types/components/ic-select/ic-select.d.ts +24 -10
  529. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  530. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  531. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  532. package/dist/types/components/ic-switch/ic-switch.d.ts +5 -1
  533. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -6
  534. package/dist/types/components.d.ts +113 -46
  535. package/dist/types/utils/helpers.d.ts +7 -0
  536. package/dist/types/utils/types.d.ts +1 -1
  537. package/hydrate/index.js +886 -494
  538. package/package.json +2 -2
  539. package/vscode-data.json +105 -35
  540. package/dist/cjs/helpers-f1cf5156.js.map +0 -1
  541. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  542. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  543. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  544. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  545. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  546. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  547. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  548. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  549. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  550. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  551. package/dist/core/p-09104e40.entry.js +0 -2
  552. package/dist/core/p-09104e40.entry.js.map +0 -1
  553. package/dist/core/p-0c0b1c74.entry.js +0 -2
  554. package/dist/core/p-0c0b1c74.entry.js.map +0 -1
  555. package/dist/core/p-0c3a0d85.entry.js +0 -2
  556. package/dist/core/p-0c3a0d85.entry.js.map +0 -1
  557. package/dist/core/p-1083a708.entry.js +0 -2
  558. package/dist/core/p-1083a708.entry.js.map +0 -1
  559. package/dist/core/p-130dd440.entry.js +0 -2
  560. package/dist/core/p-130dd440.entry.js.map +0 -1
  561. package/dist/core/p-1e802eeb.entry.js.map +0 -1
  562. package/dist/core/p-21312898.entry.js +0 -2
  563. package/dist/core/p-21312898.entry.js.map +0 -1
  564. package/dist/core/p-2ab86057.entry.js +0 -2
  565. package/dist/core/p-2ab86057.entry.js.map +0 -1
  566. package/dist/core/p-312cacae.js.map +0 -1
  567. package/dist/core/p-35b8b480.entry.js +0 -2
  568. package/dist/core/p-35b8b480.entry.js.map +0 -1
  569. package/dist/core/p-54238d16.entry.js.map +0 -1
  570. package/dist/core/p-550d7356.entry.js +0 -2
  571. package/dist/core/p-550d7356.entry.js.map +0 -1
  572. package/dist/core/p-5a52614c.entry.js +0 -2
  573. package/dist/core/p-5a52614c.entry.js.map +0 -1
  574. package/dist/core/p-69f3ce5a.entry.js.map +0 -1
  575. package/dist/core/p-79d2a33b.entry.js +0 -2
  576. package/dist/core/p-79d2a33b.entry.js.map +0 -1
  577. package/dist/core/p-80237a20.entry.js +0 -2
  578. package/dist/core/p-80237a20.entry.js.map +0 -1
  579. package/dist/core/p-804513ad.entry.js +0 -2
  580. package/dist/core/p-804513ad.entry.js.map +0 -1
  581. package/dist/core/p-8e1e25a7.entry.js +0 -2
  582. package/dist/core/p-8e1e25a7.entry.js.map +0 -1
  583. package/dist/core/p-a1a1000d.entry.js +0 -2
  584. package/dist/core/p-a1a1000d.entry.js.map +0 -1
  585. package/dist/core/p-a1b1a0ab.entry.js +0 -2
  586. package/dist/core/p-a1b1a0ab.entry.js.map +0 -1
  587. package/dist/core/p-a37bcdbe.entry.js +0 -2
  588. package/dist/core/p-a37bcdbe.entry.js.map +0 -1
  589. package/dist/core/p-a765ad17.entry.js.map +0 -1
  590. package/dist/core/p-aa2be24c.entry.js +0 -2
  591. package/dist/core/p-aa2be24c.entry.js.map +0 -1
  592. package/dist/core/p-b12a5283.entry.js +0 -2
  593. package/dist/core/p-b12a5283.entry.js.map +0 -1
  594. package/dist/core/p-b1b05979.entry.js +0 -2
  595. package/dist/core/p-b1b05979.entry.js.map +0 -1
  596. package/dist/core/p-c6795377.entry.js +0 -2
  597. package/dist/core/p-c6795377.entry.js.map +0 -1
  598. package/dist/core/p-c81109da.entry.js.map +0 -1
  599. package/dist/core/p-cb4d104e.entry.js +0 -2
  600. package/dist/core/p-cb4d104e.entry.js.map +0 -1
  601. package/dist/core/p-d43d1ec0.entry.js +0 -2
  602. package/dist/core/p-d43d1ec0.entry.js.map +0 -1
  603. package/dist/core/p-d5829a35.entry.js +0 -2
  604. package/dist/core/p-d5829a35.entry.js.map +0 -1
  605. package/dist/core/p-ddb8d280.entry.js +0 -2
  606. package/dist/core/p-ddb8d280.entry.js.map +0 -1
  607. package/dist/core/p-e0e34fa7.entry.js +0 -2
  608. package/dist/core/p-e0e34fa7.entry.js.map +0 -1
  609. package/dist/core/p-e597da0e.entry.js.map +0 -1
  610. package/dist/core/p-e861a2b3.entry.js.map +0 -1
  611. package/dist/core/p-ea277b05.entry.js +0 -2
  612. package/dist/core/p-ea277b05.entry.js.map +0 -1
  613. package/dist/core/p-ef871b8f.entry.js +0 -2
  614. package/dist/core/p-ef871b8f.entry.js.map +0 -1
  615. package/dist/core/p-f229d19e.entry.js +0 -2
  616. package/dist/core/p-f229d19e.entry.js.map +0 -1
  617. package/dist/core/p-fa587e6d.entry.js +0 -2
  618. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  619. package/dist/core/p-fb6ac08d.entry.js +0 -2
  620. package/dist/core/p-fb6ac08d.entry.js.map +0 -1
  621. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  622. /package/dist/core/{p-d2f89cb5.entry.js.map → p-0395442c.entry.js.map} +0 -0
  623. /package/dist/core/{p-355acffa.entry.js.map → p-37dea10d.entry.js.map} +0 -0
  624. /package/dist/core/{p-43f9a711.entry.js.map → p-6d3e4bb1.entry.js.map} +0 -0
  625. /package/dist/core/{p-f30f3a3e.entry.js.map → p-76263187.entry.js.map} +0 -0
  626. /package/dist/core/{p-e4b276b5.entry.js.map → p-97fb2bdf.entry.js.map} +0 -0
  627. /package/dist/core/{p-363d6e88.entry.js.map → p-b95a72a3.entry.js.map} +0 -0
  628. /package/dist/core/{p-21e5dd29.entry.js.map → p-b997064c.entry.js.map} +0 -0
  629. /package/dist/core/{p-60efd7fa.entry.js.map → p-ebafab37.entry.js.map} +0 -0
  630. /package/dist/core/{p-82375dca.entry.js.map → p-ee6dd94c.entry.js.map} +0 -0
  631. /package/dist/core/{p-d8870804.entry.js.map → p-f5b2b26d.entry.js.map} +0 -0
  632. /package/dist/core/{p-40e9e76a.entry.js.map → p-f71c00ce.entry.js.map} +0 -0
@@ -464,7 +464,7 @@ video {
464
464
  display: flex;
465
465
  align-items: center;
466
466
  justify-content: center;
467
- padding: 0 var(--ic-space-md);
467
+ padding: 0 var(--ic-space-md) var(--ic-space-xxs);
468
468
  transition: var(--ic-easing-transition-slow);
469
469
  position: relative;
470
470
  background: none;
@@ -523,7 +523,7 @@ video {
523
523
  :host .navigation-group:active,
524
524
  :host .selected {
525
525
  background-color: var(--ic-architectural-20);
526
- color: var(--ic-color-primary-text-light);
526
+ color: var(--ic-color-text-primary-light);
527
527
  outline: none;
528
528
  cursor: pointer;
529
529
  }
@@ -559,7 +559,7 @@ video {
559
559
 
560
560
  :host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),
561
561
  :host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {
562
- background-color: var(--ic-action-dark-bg-active);
562
+ background-color: var(--ic-action-dark-bg-pressed);
563
563
  color: var(--ic-action-default);
564
564
  }
565
565
 
@@ -586,9 +586,9 @@ svg {
586
586
  height: auto;
587
587
  width: 100%;
588
588
  box-sizing: border-box;
589
- color: var(--ic-color-primary-text-light);
589
+ color: var(--ic-color-text-primary-light);
590
590
 
591
- --ic-typography-color: var(--ic-color-primary-text-light);
591
+ --ic-typography-color: var(--ic-color-text-primary-light);
592
592
 
593
593
  display: flex;
594
594
  align-items: center;
@@ -645,7 +645,7 @@ svg {
645
645
  width: -moz-fit-content;
646
646
  width: fit-content;
647
647
  min-width: 9.063rem;
648
- color: var(--ic-color-primary-text);
648
+ color: var(--ic-color-text-primary);
649
649
  display: flex;
650
650
  align-items: center;
651
651
  justify-content: flex-start;
@@ -684,18 +684,18 @@ svg {
684
684
  }
685
685
 
686
686
  :host(.navigation-item-side-menu) .link:active:not(:focus) {
687
- background-color: var(--ic-action-dark-bg-active);
687
+ background-color: var(--ic-action-dark-bg-pressed);
688
688
  }
689
689
 
690
690
  :host(.navigation-item-top-nav-child) .link:active:not(:focus),
691
691
  :host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {
692
692
  outline: var(--ic-hc-focus-outline);
693
- background-color: var(--ic-action-dark-bg-active);
693
+ background-color: var(--ic-action-dark-bg-pressed);
694
694
  }
695
695
 
696
696
  :host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),
697
697
  :host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {
698
- background-color: var(--ic-action-dark-bg-active) !important;
698
+ background-color: var(--ic-action-dark-bg-pressed) !important;
699
699
  }
700
700
 
701
701
  :host(.navigation-item-side-menu-selected) *,
@@ -986,7 +986,7 @@ svg {
986
986
  :host(.navigation-item-page-header) a,
987
987
  :host(.navigation-item-page-header) ::slotted(a) {
988
988
  height: 2.5rem !important;
989
- color: var(--ic-color-primary-text) !important;
989
+ color: var(--ic-color-text-primary) !important;
990
990
  transition: all var(--ic-easing-transition-fast) !important;
991
991
  box-shadow: rgba(23 89 188 / 0%) !important;
992
992
  }
@@ -1070,7 +1070,7 @@ svg {
1070
1070
  :host(.navigation-item-page-header) .open-in-new-icon svg,
1071
1071
  :host(.navigation-item-top-nav-child) .open-in-new-icon svg,
1072
1072
  :host(.navigation-item-side-menu) .open-in-new-icon svg {
1073
- fill: var(--ic-color-primary-text);
1073
+ fill: var(--ic-color-text-primary);
1074
1074
  }
1075
1075
 
1076
1076
  @media (forced-colors: active) {
@@ -25,9 +25,9 @@
25
25
  width: 16rem;
26
26
  bottom: 0;
27
27
  background-color: var(--ic-architectural-20);
28
- color: var(--ic-color-primary-text-light);
28
+ color: var(--ic-color-text-primary-light);
29
29
 
30
- --ic-typography-color: var(--ic-color-primary-text-light);
30
+ --ic-typography-color: var(--ic-color-text-primary-light);
31
31
 
32
32
  box-shadow: var(--ic-elevation-overlay);
33
33
  overflow-y: auto;
@@ -498,7 +498,6 @@ header.tabs {
498
498
  align-items: center;
499
499
  width: 100%;
500
500
  flex-wrap: wrap;
501
- margin-bottom: var(--ic-space-xs);
502
501
  -moz-column-gap: var(--ic-space-md);
503
502
  column-gap: var(--ic-space-md);
504
503
  }
@@ -510,10 +509,14 @@ header.tabs {
510
509
  hyphens: auto;
511
510
  }
512
511
 
513
- .subheading.small {
512
+ .subheading-content {
514
513
  margin-top: var(--ic-space-xs);
515
514
  }
516
515
 
516
+ .subheading-content.small {
517
+ margin-top: var(--ic-space-md);
518
+ }
519
+
517
520
  .action-area {
518
521
  display: flex;
519
522
  gap: var(--ic-space-md);
@@ -96,10 +96,10 @@ export class PageHeader {
96
96
  }, "aria-label": this.el.ariaLabel || "page header" }, h("header", { class: {
97
97
  ["border-bottom"]: border,
98
98
  ["tabs"]: isSlotUsed(this.el, "tabs"),
99
- }, role: "presentation" }, h("ic-section-container", { aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { class: "breadcrumb-area" }, h("slot", { name: "breadcrumbs" }))), h("div", { class: "main-content" }, h("div", { class: "title-area" }, h("div", { class: "header-content" }, h("slot", { name: "heading" }, h("ic-typography", { variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", null, heading))), h("slot", { name: "heading-adornment" })), h("div", null, h("slot", { name: "subheading" }, subheading && (h("ic-typography", { variant: "body", class: {
100
- ["subheading"]: true,
99
+ }, role: "presentation" }, h("ic-section-container", { aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { class: "breadcrumb-area" }, h("slot", { name: "breadcrumbs" }))), h("div", { class: "main-content" }, h("div", { class: "title-area" }, h("div", { class: "header-content" }, h("slot", { name: "heading" }, h("ic-typography", { variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", null, heading))), h("slot", { name: "heading-adornment" })), h("div", { class: {
100
+ ["subheading-content"]: !!subheading || isSlotUsed(this.el, "subheading"),
101
101
  ["small"]: size === "small",
102
- } }, subheading))))), isSlotUsed(this.el, "actions") && (h("div", { class: "action-area" }, h("slot", { name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { class: "input-area" }, h("slot", { name: "input" })))), (isSlotUsed(this.el, "stepper") ||
102
+ } }, h("slot", { name: "subheading" }, h("ic-typography", { variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { class: "action-area" }, h("slot", { name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { class: "input-area" }, h("slot", { name: "input" })))), (isSlotUsed(this.el, "stepper") ||
103
103
  isSlotUsed(this.el, "tabs")) && (h("div", { class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
104
104
  !isSlotUsed(this.el, "tabs") && h("slot", { name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { "aria-label": navAriaLabel }, h("ic-horizontal-scroll", null, h("ul", { class: "tabs-slot" }, h("slot", { name: "tabs" })))))))))));
105
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-page-header.js","sourceRoot":"","sources":["../../../src/components/ic-page-header/ic-page-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\n\nimport { IcAlignment, IcSizesNoLarge } from \"../../utils/types\";\n\nimport {\n isSlotUsed,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n checkResizeObserver,\n} from \"../../utils/helpers\";\n\n/**\n * @slot breadcrumbs - Content will be rendered in the breadcrumb area, above the title and action areas.\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot heading-adornment - Content will be rendered in the title area, adjacent to the heading.\n * @slot actions - Content will be rendered in the action area, adjacent to the title area.\n * @slot input - Content will be rendered in the input area, below the title area and adjacent to the action area.\n * @slot stepper - Content will be rendered in the navigation area, below the title and action areas. Note: stepper slot cannot be used when the tabs slot is being used.\n * @slot tabs - Content will be rendered in the navigation area, below the title and action areas. Note: the stepper slot cannot be used when the tabs slot is being used.\n */\n\n@Component({\n tag: \"ic-page-header\",\n styleUrl: \"ic-page-header.css\",\n shadow: true,\n})\nexport class PageHeader {\n private resizeObserver: ResizeObserver = null;\n\n @Element() el: HTMLIcPageHeaderElement;\n\n @State() actionContent: Node[];\n @State() areButtonsReversed: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n /**\n * The alignment of the page header.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * If `true`, a border will be displayed along the bottom of the page header.\n */\n @Prop() border?: boolean = true;\n\n /**\n * The title to render on the page header.\n */\n @Prop() heading?: string;\n\n /**\n * If `true`, the reading pattern and tab order will change in the action area for viewport widths of above 576px and when actions have not wrapped.\n */\n @Prop() reverseOrder?: boolean = false;\n\n /**\n * The size of the page header component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the page header will be sticky at all breakpoints.\n */\n @Prop() sticky?: boolean = false;\n\n /**\n * If `true`, the page header will only be sticky for viewport widths of 992px and above.\n */\n @Prop() stickyDesktopOnly?: boolean = false;\n\n /**\n * The subtitle to render on the page header.\n */\n @Prop() subheading?: string;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.actionContent = Array.from(\n this.el.querySelectorAll(`[slot=\"actions\"]`)\n );\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n private resizeObserverCallback = () => {\n if (this.reverseOrder && isSlotUsed(this.el, \"actions\")) {\n this.applyReverseOrder();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n private applyReverseOrder = (): void => {\n const currSize = getCurrentDeviceSize();\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n\n const actionArea = this.el.shadowRoot.querySelector(\n \"div.action-area\"\n ) as HTMLElement;\n const actionHeights: number[] = [];\n\n /* For each button in the actions slot, check the height of the button and push this number into the actionHeights array and then find the greatest number in this array (i.e. find the height of the tallest button) */\n for (let i = 0; i < this.actionContent.length; i++) {\n const action = this.actionContent[i] as HTMLElement;\n let actionHeight = action.offsetHeight;\n if (actionHeight === undefined) {\n actionHeight = 0;\n }\n actionHeights.push(actionHeight);\n }\n\n const max = Math.max(...actionHeights);\n\n /* The smallest breakpoint displays buttons in the same order the user has slotted them in. When the device size is larger than the small breakpoint then the order of the button reverses due to best practice for reading patterns. If the device size is larger than the small breakpoint and the buttons have started to wrap then they follow the order the user has slotted them in. This logic is programmed based on the height of the action-area div that wraps the actions slot. If the height of the action-area div is taller than the height of the tallest button, then it is assumed that the taller height is caused by the buttons wrapping */\n let actionAreaHeight = actionArea.offsetHeight;\n\n if (actionAreaHeight === undefined) {\n actionAreaHeight = 0;\n }\n\n const appendActionContent = () => {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n };\n\n if (\n (this.deviceSize > DEVICE_SIZES.S &&\n actionAreaHeight <= max &&\n !this.areButtonsReversed) ||\n (((this.deviceSize > DEVICE_SIZES.S && actionAreaHeight > max) ||\n this.deviceSize <= DEVICE_SIZES.S) &&\n this.areButtonsReversed)\n ) {\n appendActionContent();\n }\n };\n\n render() {\n const {\n size,\n border,\n heading,\n subheading,\n aligned,\n sticky,\n stickyDesktopOnly,\n } = this;\n\n const navAriaLabel = heading\n ? `${heading} page sections`\n : \"navigation-landmark-page-header\";\n\n return (\n <Host\n class={{\n [\"ic-page-header-sticky\"]: sticky,\n [\"ic-page-header-sticky-desktop\"]: !sticky && stickyDesktopOnly,\n }}\n aria-label={this.el.ariaLabel || \"page header\"}\n >\n <header\n class={{\n [\"border-bottom\"]: border,\n [\"tabs\"]: isSlotUsed(this.el, \"tabs\"),\n }}\n role=\"presentation\"\n >\n <ic-section-container\n aligned={aligned}\n fullHeight={isSlotUsed(this.el, \"tabs\")}\n >\n {isSlotUsed(this.el, \"breadcrumbs\") && (\n <div class=\"breadcrumb-area\">\n <slot name=\"breadcrumbs\" />\n </div>\n )}\n <div class=\"main-content\">\n <div class=\"title-area\">\n <div class=\"header-content\">\n <slot name=\"heading\">\n <ic-typography\n variant={size === \"small\" ? \"h4\" : \"h2\"}\n class=\"heading\"\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n <slot name=\"heading-adornment\" />\n </div>\n <div>\n <slot name=\"subheading\">\n {subheading && (\n <ic-typography\n variant=\"body\"\n class={{\n [\"subheading\"]: true,\n [\"small\"]: size === \"small\",\n }}\n >\n {subheading}\n </ic-typography>\n )}\n </slot>\n </div>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n {isSlotUsed(this.el, \"input\") && (\n <div class=\"input-area\">\n <slot name=\"input\" />\n </div>\n )}\n </div>\n\n {(isSlotUsed(this.el, \"stepper\") ||\n isSlotUsed(this.el, \"tabs\")) && (\n <div class=\"navigation-area\">\n {isSlotUsed(this.el, \"stepper\") &&\n !isSlotUsed(this.el, \"tabs\") && <slot name=\"stepper\" />}\n {isSlotUsed(this.el, \"tabs\") && (\n <nav aria-label={navAriaLabel}>\n <ic-horizontal-scroll>\n <ul class=\"tabs-slot\">\n <slot name=\"tabs\" />\n </ul>\n </ic-horizontal-scroll>\n </nav>\n )}\n </div>\n )}\n </ic-section-container>\n </header>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-page-header.js","sourceRoot":"","sources":["../../../src/components/ic-page-header/ic-page-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\n\nimport { IcAlignment, IcSizesNoLarge } from \"../../utils/types\";\n\nimport {\n isSlotUsed,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n checkResizeObserver,\n} from \"../../utils/helpers\";\n\n/**\n * @slot breadcrumbs - Content will be rendered in the breadcrumb area, above the title and action areas.\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot heading-adornment - Content will be rendered in the title area, adjacent to the heading.\n * @slot actions - Content will be rendered in the action area, adjacent to the title area.\n * @slot input - Content will be rendered in the input area, below the title area and adjacent to the action area.\n * @slot stepper - Content will be rendered in the navigation area, below the title and action areas. Note: stepper slot cannot be used when the tabs slot is being used.\n * @slot tabs - Content will be rendered in the navigation area, below the title and action areas. Note: the stepper slot cannot be used when the tabs slot is being used.\n */\n\n@Component({\n tag: \"ic-page-header\",\n styleUrl: \"ic-page-header.css\",\n shadow: true,\n})\nexport class PageHeader {\n private resizeObserver: ResizeObserver = null;\n\n @Element() el: HTMLIcPageHeaderElement;\n\n @State() actionContent: Node[];\n @State() areButtonsReversed: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n /**\n * The alignment of the page header.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * If `true`, a border will be displayed along the bottom of the page header.\n */\n @Prop() border?: boolean = true;\n\n /**\n * The title to render on the page header.\n */\n @Prop() heading?: string;\n\n /**\n * If `true`, the reading pattern and tab order will change in the action area for viewport widths of above 576px and when actions have not wrapped.\n */\n @Prop() reverseOrder?: boolean = false;\n\n /**\n * The size of the page header component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the page header will be sticky at all breakpoints.\n */\n @Prop() sticky?: boolean = false;\n\n /**\n * If `true`, the page header will only be sticky for viewport widths of 992px and above.\n */\n @Prop() stickyDesktopOnly?: boolean = false;\n\n /**\n * The subtitle to render on the page header.\n */\n @Prop() subheading?: string;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.actionContent = Array.from(\n this.el.querySelectorAll(`[slot=\"actions\"]`)\n );\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n private resizeObserverCallback = () => {\n if (this.reverseOrder && isSlotUsed(this.el, \"actions\")) {\n this.applyReverseOrder();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n private applyReverseOrder = (): void => {\n const currSize = getCurrentDeviceSize();\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n\n const actionArea = this.el.shadowRoot.querySelector(\n \"div.action-area\"\n ) as HTMLElement;\n const actionHeights: number[] = [];\n\n /* For each button in the actions slot, check the height of the button and push this number into the actionHeights array and then find the greatest number in this array (i.e. find the height of the tallest button) */\n for (let i = 0; i < this.actionContent.length; i++) {\n const action = this.actionContent[i] as HTMLElement;\n let actionHeight = action.offsetHeight;\n if (actionHeight === undefined) {\n actionHeight = 0;\n }\n actionHeights.push(actionHeight);\n }\n\n const max = Math.max(...actionHeights);\n\n /* The smallest breakpoint displays buttons in the same order the user has slotted them in. When the device size is larger than the small breakpoint then the order of the button reverses due to best practice for reading patterns. If the device size is larger than the small breakpoint and the buttons have started to wrap then they follow the order the user has slotted them in. This logic is programmed based on the height of the action-area div that wraps the actions slot. If the height of the action-area div is taller than the height of the tallest button, then it is assumed that the taller height is caused by the buttons wrapping */\n let actionAreaHeight = actionArea.offsetHeight;\n\n if (actionAreaHeight === undefined) {\n actionAreaHeight = 0;\n }\n\n const appendActionContent = () => {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n };\n\n if (\n (this.deviceSize > DEVICE_SIZES.S &&\n actionAreaHeight <= max &&\n !this.areButtonsReversed) ||\n (((this.deviceSize > DEVICE_SIZES.S && actionAreaHeight > max) ||\n this.deviceSize <= DEVICE_SIZES.S) &&\n this.areButtonsReversed)\n ) {\n appendActionContent();\n }\n };\n\n render() {\n const {\n size,\n border,\n heading,\n subheading,\n aligned,\n sticky,\n stickyDesktopOnly,\n } = this;\n\n const navAriaLabel = heading\n ? `${heading} page sections`\n : \"navigation-landmark-page-header\";\n\n return (\n <Host\n class={{\n [\"ic-page-header-sticky\"]: sticky,\n [\"ic-page-header-sticky-desktop\"]: !sticky && stickyDesktopOnly,\n }}\n aria-label={this.el.ariaLabel || \"page header\"}\n >\n <header\n class={{\n [\"border-bottom\"]: border,\n [\"tabs\"]: isSlotUsed(this.el, \"tabs\"),\n }}\n role=\"presentation\"\n >\n <ic-section-container\n aligned={aligned}\n fullHeight={isSlotUsed(this.el, \"tabs\")}\n >\n {isSlotUsed(this.el, \"breadcrumbs\") && (\n <div class=\"breadcrumb-area\">\n <slot name=\"breadcrumbs\" />\n </div>\n )}\n <div class=\"main-content\">\n <div class=\"title-area\">\n <div class=\"header-content\">\n <slot name=\"heading\">\n <ic-typography\n variant={size === \"small\" ? \"h4\" : \"h2\"}\n class=\"heading\"\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n <slot name=\"heading-adornment\" />\n </div>\n <div\n class={{\n [\"subheading-content\"]:\n !!subheading || isSlotUsed(this.el, \"subheading\"),\n [\"small\"]: size === \"small\",\n }}\n >\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n {isSlotUsed(this.el, \"input\") && (\n <div class=\"input-area\">\n <slot name=\"input\" />\n </div>\n )}\n </div>\n\n {(isSlotUsed(this.el, \"stepper\") ||\n isSlotUsed(this.el, \"tabs\")) && (\n <div class=\"navigation-area\">\n {isSlotUsed(this.el, \"stepper\") &&\n !isSlotUsed(this.el, \"tabs\") && <slot name=\"stepper\" />}\n {isSlotUsed(this.el, \"tabs\") && (\n <nav aria-label={navAriaLabel}>\n <ic-horizontal-scroll>\n <ul class=\"tabs-slot\">\n <slot name=\"tabs\" />\n </ul>\n </ic-horizontal-scroll>\n </nav>\n )}\n </div>\n )}\n </ic-section-container>\n </header>\n </Host>\n );\n }\n}\n"]}
@@ -466,7 +466,7 @@ button {
466
466
  .ellipsis {
467
467
  pointer-events: none;
468
468
 
469
- --ic-typography-color: var(--ic-color-secondary-text);
469
+ --ic-typography-color: var(--ic-color-text-secondary);
470
470
  }
471
471
 
472
472
  .item-container:focus {
@@ -511,7 +511,7 @@ button {
511
511
  }
512
512
 
513
513
  .page-selected {
514
- --ic-typography-color: var(--ic-color-primary-text);
514
+ --ic-typography-color: var(--ic-color-text-primary);
515
515
  }
516
516
 
517
517
  /** LIGHT STATES **/
@@ -520,7 +520,7 @@ button {
520
520
  }
521
521
 
522
522
  .item-container.page.light:active:not(.selected):not(:focus) {
523
- background-color: var(--ic-action-light-bg-active);
523
+ background-color: var(--ic-action-light-bg-pressed);
524
524
  }
525
525
 
526
526
  ic-typography.light,
@@ -543,11 +543,11 @@ ic-typography.page-selected.light {
543
543
  }
544
544
 
545
545
  .item-container.page.dark:active:not(.selected):not(:focus) {
546
- background-color: var(--ic-action-dark-bg-active);
546
+ background-color: var(--ic-action-dark-bg-pressed);
547
547
  }
548
548
 
549
549
  ic-typography.dark {
550
- --ic-typography-color: var(--ic-color-primary-text);
550
+ --ic-typography-color: var(--ic-color-text-primary);
551
551
  }
552
552
 
553
553
  .selected.dark::after {
@@ -459,11 +459,10 @@ video {
459
459
 
460
460
  :host {
461
461
  border-radius: var(--ic-border-radius);
462
- color: var(--ic-color-primary-text);
462
+ color: var(--ic-popover-nav-text);
463
463
 
464
- --ic-typography-color: var(--ic-color-primary-text);
464
+ --ic-typography-color: var(--ic-popover-nav-text);
465
465
 
466
- background-color: var(--ic-architectural-white);
467
466
  position: relative;
468
467
  z-index: var(--ic-z-index-popover);
469
468
  box-sizing: border-box;
@@ -485,8 +484,9 @@ video {
485
484
 
486
485
  .menu {
487
486
  border: var(--ic-border-default);
487
+ border-color: var(--ic-popover-border);
488
488
  border-radius: var(--ic-border-radius);
489
- background-color: var(--ic-architectural-white);
489
+ background-color: var(--ic-popover-background);
490
490
  visibility: hidden;
491
491
  height: 0;
492
492
  }
@@ -522,7 +522,7 @@ video {
522
522
  }
523
523
 
524
524
  .parent-label {
525
- --ic-typography-color: var(--ic-color-tertiary-text);
525
+ --ic-typography-color: var(--ic-popover-parent-label);
526
526
 
527
527
  margin: var(--ic-space-xs) var(--ic-space-xs) 0;
528
528
  }
@@ -31,18 +31,6 @@ export class PopoverMenu {
31
31
  tagName !== "IC-MENU-GROUP" &&
32
32
  tagName !== "IC-POPOVER-MENU");
33
33
  };
34
- /**
35
- * Close the popover menu, emit isPopoverClosed event
36
- * @param setFocusToAnchor when true return focus to anchor element when menu is closed
37
- */
38
- this.closeMenu = (setFocusToAnchor = false) => {
39
- var _a;
40
- this.open = false;
41
- if (setFocusToAnchor) {
42
- (_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();
43
- }
44
- this.icPopoverClosed.emit();
45
- };
46
34
  this.getNextItemToSelect = (currentItem, movingDown) => {
47
35
  const numButtons = this.popoverMenuEls.length - 1;
48
36
  if (currentItem < 1) {
@@ -111,6 +99,7 @@ export class PopoverMenu {
111
99
  this.parentPopover = undefined;
112
100
  this.submenuId = undefined;
113
101
  this.submenuLevel = 1;
102
+ this.theme = "inherit";
114
103
  this.open = undefined;
115
104
  }
116
105
  watchOpenHandler() {
@@ -119,7 +108,7 @@ export class PopoverMenu {
119
108
  !this.popoverMenuEls.some((menuItem) => menuItem.id)) {
120
109
  this.popoverMenuEls.unshift(this.backButton);
121
110
  }
122
- this.currentFocus = isPropDefined(this.submenuId) ? 1 : 0;
111
+ this.currentFocus = 0;
123
112
  // Needed so that anchorEl isn't always focused
124
113
  setTimeout(this.setButtonFocus, 50);
125
114
  }
@@ -201,6 +190,7 @@ export class PopoverMenu {
201
190
  break;
202
191
  case "Escape":
203
192
  case "Tab":
193
+ ev.preventDefault();
204
194
  if (this.open) {
205
195
  this.closeMenu(true);
206
196
  this.el.blur();
@@ -224,19 +214,35 @@ export class PopoverMenu {
224
214
  this.openingFromParent = true;
225
215
  setTimeout(() => (this.openingFromParent = false), 1000);
226
216
  }
217
+ /**
218
+ * @internal Close the menu, emit icPopoverClosed of the root popover
219
+ * @param setFocusToAnchor when true return focus to anchor element when menu is closed
220
+ */
221
+ async closeMenu(setFocusToAnchor = false) {
222
+ var _a;
223
+ this.open = false;
224
+ if (this.parentPopover) {
225
+ this.parentPopover.closeMenu(setFocusToAnchor);
226
+ }
227
+ else {
228
+ if (setFocusToAnchor) {
229
+ (_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();
230
+ }
231
+ this.icPopoverClosed.emit();
232
+ }
233
+ }
227
234
  render() {
228
- return (h(Host, { class: { "ic-popover-menu-open": this.open } }, h("div", { id: this.parentPopover === undefined
235
+ return (h(Host, { class: {
236
+ ["ic-popover-menu-open"]: this.open,
237
+ [`ic-theme-${this.theme}`]: this.theme !== "inherit",
238
+ } }, h("div", { id: this.parentPopover === undefined
229
239
  ? `ic-popover-submenu-${this.submenuId}`
230
240
  : "", class: {
231
241
  menu: true,
232
242
  }, tabindex: open ? "0" : "-1" }, h("div", { class: {
233
243
  "opening-from-parent": this.openingFromParent,
234
244
  "opening-from-child": this.openingFromChild,
235
- } }, isPropDefined(this.submenuId) && (h("div", null, h("ic-menu-item", { class: "ic-popover-submenu-back-button", ref: (el) => (this.backButton = el), label: "Back", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h("svg", { slot: "icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "submenu-back-icon" }, h("path", { d: "M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z", fill: "currentColor" }))), h("ic-typography", { variant: "subtitle-small", class: "parent-label" }, this.parentLabel))), h("ul", { class: "button", "aria-label": this.getMenuAriaLabel(), role: "menu", "aria-owns": isPropDefined(this.submenuId)
236
- ? `ic-popover-submenu-back-button-${this.submenuLevel}`
237
- : false, "aria-controls": isPropDefined(this.submenuId)
238
- ? `ic-popover-submenu-back-button-${this.submenuLevel}`
239
- : false }, h("slot", null))))));
245
+ } }, isPropDefined(this.submenuId) && (h("div", null, h("ic-menu-item", { class: "ic-popover-submenu-back-button", ref: (el) => (this.backButton = el), label: "Back", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h("svg", { slot: "icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "submenu-back-icon" }, h("path", { d: "M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z", fill: "currentColor" }))), h("ic-typography", { variant: "subtitle-small", class: "parent-label" }, this.parentLabel))), h("ul", { class: "button", "aria-label": this.getMenuAriaLabel(), role: "menu" }, h("slot", null))))));
240
246
  }
241
247
  static get is() { return "ic-popover-menu"; }
242
248
  static get encapsulation() { return "shadow"; }
@@ -351,6 +357,30 @@ export class PopoverMenu {
351
357
  "reflect": false,
352
358
  "defaultValue": "1"
353
359
  },
360
+ "theme": {
361
+ "type": "string",
362
+ "mutable": false,
363
+ "complexType": {
364
+ "original": "IcThemeMode",
365
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
366
+ "references": {
367
+ "IcThemeMode": {
368
+ "location": "import",
369
+ "path": "../../utils/types",
370
+ "id": "src/utils/types.ts::IcThemeMode"
371
+ }
372
+ }
373
+ },
374
+ "required": false,
375
+ "optional": true,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
379
+ },
380
+ "attribute": "theme",
381
+ "reflect": false,
382
+ "defaultValue": "\"inherit\""
383
+ },
354
384
  "open": {
355
385
  "type": "boolean",
356
386
  "mutable": true,
@@ -436,6 +466,33 @@ export class PopoverMenu {
436
466
  "text": "Opens the menu from the parent menu."
437
467
  }]
438
468
  }
469
+ },
470
+ "closeMenu": {
471
+ "complexType": {
472
+ "signature": "(setFocusToAnchor?: boolean) => Promise<void>",
473
+ "parameters": [{
474
+ "name": "setFocusToAnchor",
475
+ "type": "boolean",
476
+ "docs": "when true return focus to anchor element when menu is closed"
477
+ }],
478
+ "references": {
479
+ "Promise": {
480
+ "location": "global",
481
+ "id": "global::Promise"
482
+ }
483
+ },
484
+ "return": "Promise<void>"
485
+ },
486
+ "docs": {
487
+ "text": "",
488
+ "tags": [{
489
+ "name": "internal",
490
+ "text": "Close the menu, emit icPopoverClosed of the root popover"
491
+ }, {
492
+ "name": "param",
493
+ "text": "setFocusToAnchor when true return focus to anchor element when menu is closed"
494
+ }]
495
+ }
439
496
  }
440
497
  };
441
498
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-popover-menu.js","sourceRoot":"","sources":["../../../src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = isPropDefined(this.submenuId) ? 1 : 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot.querySelector(\"ul.button\");\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(\n ev: CustomEvent<{\n label: string;\n hasSubMenu: boolean;\n }>\n ): void {\n if (!ev.detail.hasSubMenu && ev.detail.label !== \"Back\") {\n this.closeMenu();\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * Close the popover menu, emit isPopoverClosed event\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n private closeMenu = (setFocusToAnchor = false) => {\n this.open = false;\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit();\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot.querySelector(\"ul\");\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n\n this.addMenuItems(menuGroupElements);\n }\n }\n };\n\n private getMenuAriaLabel = (): string => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n };\n\n render() {\n return (\n <Host class={{ \"ic-popover-menu-open\": this.open }}>\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul\n class=\"button\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n aria-owns={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n aria-controls={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n >\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-popover-menu.js","sourceRoot":"","sources":["../../../src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\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 * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot.querySelector(\"ul.button\");\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(\n ev: CustomEvent<{\n label: string;\n hasSubMenu: boolean;\n }>\n ): void {\n if (!ev.detail.hasSubMenu && ev.detail.label !== \"Back\") {\n this.closeMenu();\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n @Method()\n async closeMenu(setFocusToAnchor = false): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit();\n }\n }\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot.querySelector(\"ul\");\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n\n this.addMenuItems(menuGroupElements);\n }\n }\n };\n\n private getMenuAriaLabel = (): string => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n };\n\n render() {\n return (\n <Host\n class={{\n [\"ic-popover-menu-open\"]: this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul class=\"button\" aria-label={this.getMenuAriaLabel()} role=\"menu\">\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -446,7 +446,7 @@ video {
446
446
  }
447
447
 
448
448
  ic-input-label.error {
449
- --ic-typography-color: var(--ic-status-error);
449
+ --ic-typography-color: var(--ic-status-error-default);
450
450
  }
451
451
 
452
452
  ic-input-validation {
@@ -134,7 +134,7 @@ export class RadioGroup {
134
134
  });
135
135
  if (this.radioOptions !== undefined) {
136
136
  this.radioOptions.forEach((radioOption, index) => {
137
- radioOption.selected = this.checkedValue === radioOption.value;
137
+ radioOption.selected = selectedOption === radioOption;
138
138
  if (radioOption.selected) {
139
139
  this.selectedChild = index;
140
140
  }
@@ -150,6 +150,7 @@ export class RadioGroup {
150
150
  }
151
151
  }
152
152
  checkOrientation() {
153
+ var _a, _b;
153
154
  if (this.initialOrientation === this.RADIO_HORIZONTAL) {
154
155
  let totalWidth = 0;
155
156
  if (Array.isArray(this.radioOptions) && this.radioOptions.length > 0) {
@@ -162,13 +163,22 @@ export class RadioGroup {
162
163
  else {
163
164
  totalWidth = 0;
164
165
  }
165
- if (this.currentOrientation === this.RADIO_HORIZONTAL &&
166
- totalWidth > this.radioContainer.clientWidth) {
167
- this.currentOrientation = this.RADIO_VERTICAL;
168
- }
169
- else if (this.currentOrientation === this.RADIO_VERTICAL &&
170
- totalWidth < this.radioContainer.clientWidth) {
171
- this.currentOrientation = this.RADIO_HORIZONTAL;
166
+ if (this.initialOrientation == this.RADIO_HORIZONTAL) {
167
+ if (this.radioOptions !== undefined &&
168
+ (this.radioOptions.length > 2 ||
169
+ (this.radioOptions.length === 2 &&
170
+ (slotHasContent(this.radioOptions[0], this.ADDITIONAL_FIELD) ||
171
+ slotHasContent(this.radioOptions[1], this.ADDITIONAL_FIELD))))) {
172
+ this.currentOrientation = this.RADIO_VERTICAL;
173
+ }
174
+ else {
175
+ if (totalWidth >= ((_a = this.radioContainer) === null || _a === void 0 ? void 0 : _a.clientWidth)) {
176
+ this.currentOrientation = this.RADIO_VERTICAL;
177
+ }
178
+ else if (totalWidth < ((_b = this.radioContainer) === null || _b === void 0 ? void 0 : _b.clientWidth)) {
179
+ this.currentOrientation = this.RADIO_HORIZONTAL;
180
+ }
181
+ }
172
182
  }
173
183
  }
174
184
  }