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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (722) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-69219f14.js → helpers-529aaa3a.js} +5 -4
  3. package/dist/cjs/helpers-529aaa3a.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +10 -10
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +5 -5
  7. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +7 -5
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-button_3.cjs.entry.js +11 -13
  19. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js +25 -26
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +16 -5
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -3
  25. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-dialog.cjs.entry.js +4 -2
  31. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-divider.cjs.entry.js +71 -7
  33. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-footer-link-group.cjs.entry.js +3 -3
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +15 -7
  44. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +14 -25
  46. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-input-label_2.cjs.entry.js +21 -25
  48. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-link.cjs.entry.js +3 -8
  50. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-menu-item.cjs.entry.js +18 -17
  54. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js +7 -3
  56. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -4
  58. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-item.cjs.entry.js +57 -5
  60. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  62. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-page-header.cjs.entry.js +5 -3
  64. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-pagination-item.cjs.entry.js +8 -11
  66. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-pagination.cjs.entry.js +19 -15
  68. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-popover-menu.cjs.entry.js +9 -9
  70. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-radio-group.cjs.entry.js +14 -5
  72. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-radio-option.cjs.entry.js +8 -4
  74. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -9
  76. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-select.cjs.entry.js +10 -12
  78. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-side-navigation.cjs.entry.js +13 -8
  80. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  82. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  85. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -1
  88. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  90. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-text-field.cjs.entry.js +18 -15
  94. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  96. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  97. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +29 -5
  99. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toggle-button.cjs.entry.js +9 -6
  101. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-top-navigation.cjs.entry.js +6 -4
  103. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  105. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  106. package/dist/cjs/loader.cjs.js +1 -1
  107. package/dist/collection/ag-theme-icds.css +217 -0
  108. package/dist/collection/collection-manifest.json +1 -1
  109. package/dist/collection/components/ic-accordion/ic-accordion.css +21 -19
  110. package/dist/collection/components/ic-accordion/ic-accordion.js +27 -30
  111. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  112. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -3
  113. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  114. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -12
  115. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +18 -18
  116. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  117. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -3
  118. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  119. package/dist/collection/components/ic-alert/ic-alert.css +29 -18
  120. package/dist/collection/components/ic-alert/ic-alert.js +48 -22
  121. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  122. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
  123. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  124. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +5 -2
  125. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +31 -4
  126. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  127. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +14 -0
  128. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  129. package/dist/collection/components/ic-badge/ic-badge.css +3 -3
  130. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +4 -7
  131. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
  132. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  133. package/dist/collection/components/ic-button/ic-button.css +658 -421
  134. package/dist/collection/components/ic-button/ic-button.js +51 -35
  135. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  136. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +3 -3
  137. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  138. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +99 -115
  139. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +50 -27
  140. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  141. package/dist/collection/components/ic-checkbox/ic-checkbox.css +42 -39
  142. package/dist/collection/components/ic-checkbox/ic-checkbox.js +28 -2
  143. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  144. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +15 -2
  145. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +39 -2
  146. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  147. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +13 -25
  148. package/dist/collection/components/ic-dialog/ic-dialog.css +16 -3
  149. package/dist/collection/components/ic-dialog/ic-dialog.js +26 -0
  150. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  151. package/dist/collection/components/ic-divider/ic-divider.css +341 -4
  152. package/dist/collection/components/ic-divider/ic-divider.js +235 -8
  153. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  154. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  155. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  156. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +89 -4
  157. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  158. package/dist/collection/components/ic-footer/ic-footer.css +20 -19
  159. package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -2
  160. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +11 -19
  161. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +1 -1
  162. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  163. package/dist/collection/components/ic-hero/ic-hero.css +23 -8
  164. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +0 -4
  165. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +62 -6
  166. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  167. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  168. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  169. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +40 -17
  170. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -38
  171. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  172. package/dist/collection/components/ic-input-label/ic-input-label.css +18 -20
  173. package/dist/collection/components/ic-input-label/ic-input-label.js +11 -33
  174. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  175. package/dist/collection/components/ic-input-validation/ic-input-validation.css +12 -3
  176. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  177. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  178. package/dist/collection/components/ic-link/ic-link.css +0 -24
  179. package/dist/collection/components/ic-link/ic-link.js +3 -8
  180. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  181. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +2 -2
  182. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  183. package/dist/collection/components/ic-menu/ic-menu.css +35 -19
  184. package/dist/collection/components/ic-menu/ic-menu.js +3 -2
  185. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  186. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  187. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  188. package/dist/collection/components/ic-menu-item/ic-menu-item.js +58 -25
  189. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  190. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +2 -2
  191. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  192. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +14 -0
  193. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +29 -1
  194. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  195. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +1 -1
  196. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  197. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +13 -8
  198. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +29 -2
  199. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  200. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +20 -18
  201. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +83 -6
  202. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  203. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +12 -0
  204. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  205. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +9 -6
  206. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  207. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  208. package/dist/collection/components/ic-page-header/ic-page-header.css +2 -1
  209. package/dist/collection/components/ic-page-header/ic-page-header.js +27 -1
  210. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  211. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  212. package/dist/collection/components/ic-pagination/ic-pagination.js +59 -37
  213. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  214. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +1 -1
  215. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  216. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +26 -6
  217. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -33
  218. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  219. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +25 -12
  220. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  221. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  222. package/dist/collection/components/ic-radio-group/ic-radio-group.js +37 -2
  223. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  224. package/dist/collection/components/ic-radio-option/ic-radio-option.css +34 -25
  225. package/dist/collection/components/ic-radio-option/ic-radio-option.js +30 -2
  226. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  227. package/dist/collection/components/ic-search-bar/ic-search-bar.css +42 -5
  228. package/dist/collection/components/ic-search-bar/ic-search-bar.js +34 -8
  229. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  230. package/dist/collection/components/ic-select/ic-select.css +50 -36
  231. package/dist/collection/components/ic-select/ic-select.js +34 -12
  232. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  233. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +48 -32
  234. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +11 -6
  235. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  236. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +3 -3
  237. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  238. package/dist/collection/components/ic-status-tag/ic-status-tag.css +5 -5
  239. package/dist/collection/components/ic-status-tag/ic-status-tag.js +21 -2
  240. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  241. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  242. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  243. package/dist/collection/components/ic-switch/ic-switch.css +3 -0
  244. package/dist/collection/components/ic-tab-context/ic-tab-context.js +2 -1
  245. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  246. package/dist/collection/components/ic-tab-group/ic-tab-group.css +8 -0
  247. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -17
  248. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  249. package/dist/collection/components/ic-text-field/ic-text-field.css +61 -8
  250. package/dist/collection/components/ic-text-field/ic-text-field.js +40 -13
  251. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  252. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +2 -2
  253. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  254. package/dist/collection/components/ic-toast/ic-toast.css +25 -16
  255. package/dist/collection/components/ic-toast/ic-toast.js +1 -2
  256. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  257. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +12 -12
  258. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  259. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +189 -54
  260. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +53 -32
  261. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  262. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  263. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +77 -28
  264. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  265. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +18 -0
  266. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  267. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +41 -17
  268. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +28 -2
  269. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  270. package/dist/collection/components/ic-typography/ic-typography.css +4 -6
  271. package/dist/collection/utils/helpers.js +4 -3
  272. package/dist/collection/utils/helpers.js.map +1 -1
  273. package/dist/components/helpers.js +5 -4
  274. package/dist/components/helpers.js.map +1 -1
  275. package/dist/components/ic-accordion-group.js +11 -11
  276. package/dist/components/ic-accordion-group.js.map +1 -1
  277. package/dist/components/ic-accordion.js +5 -5
  278. package/dist/components/ic-accordion.js.map +1 -1
  279. package/dist/components/ic-alert.js +8 -5
  280. package/dist/components/ic-alert.js.map +1 -1
  281. package/dist/components/ic-back-to-top.js +9 -5
  282. package/dist/components/ic-back-to-top.js.map +1 -1
  283. package/dist/components/ic-badge.js +1 -1
  284. package/dist/components/ic-badge.js.map +1 -1
  285. package/dist/components/ic-breadcrumb-group.js +43 -19
  286. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  287. package/dist/components/ic-breadcrumb2.js +1 -1
  288. package/dist/components/ic-breadcrumb2.js.map +1 -1
  289. package/dist/components/ic-button2.js +12 -13
  290. package/dist/components/ic-button2.js.map +1 -1
  291. package/dist/components/ic-card-vertical.js +27 -27
  292. package/dist/components/ic-card-vertical.js.map +1 -1
  293. package/dist/components/ic-checkbox-group.js +18 -5
  294. package/dist/components/ic-checkbox-group.js.map +1 -1
  295. package/dist/components/ic-checkbox.js +5 -2
  296. package/dist/components/ic-checkbox.js.map +1 -1
  297. package/dist/components/ic-classification-banner.js +1 -1
  298. package/dist/components/ic-classification-banner.js.map +1 -1
  299. package/dist/components/ic-dialog.js +4 -1
  300. package/dist/components/ic-dialog.js.map +1 -1
  301. package/dist/components/ic-divider2.js +86 -9
  302. package/dist/components/ic-divider2.js.map +1 -1
  303. package/dist/components/ic-footer-link-group.js +2 -2
  304. package/dist/components/ic-footer-link-group.js.map +1 -1
  305. package/dist/components/ic-footer-link.js +1 -1
  306. package/dist/components/ic-footer-link.js.map +1 -1
  307. package/dist/components/ic-footer.js +1 -1
  308. package/dist/components/ic-footer.js.map +1 -1
  309. package/dist/components/ic-hero.js +1 -1
  310. package/dist/components/ic-hero.js.map +1 -1
  311. package/dist/components/ic-horizontal-scroll2.js +16 -6
  312. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  313. package/dist/components/ic-input-component-container2.js +9 -22
  314. package/dist/components/ic-input-component-container2.js.map +1 -1
  315. package/dist/components/ic-input-label2.js +12 -17
  316. package/dist/components/ic-input-label2.js.map +1 -1
  317. package/dist/components/ic-input-validation2.js +8 -8
  318. package/dist/components/ic-input-validation2.js.map +1 -1
  319. package/dist/components/ic-link2.js +4 -9
  320. package/dist/components/ic-link2.js.map +1 -1
  321. package/dist/components/ic-menu-group.js +1 -1
  322. package/dist/components/ic-menu-group.js.map +1 -1
  323. package/dist/components/ic-menu-item2.js +20 -19
  324. package/dist/components/ic-menu-item2.js.map +1 -1
  325. package/dist/components/ic-menu2.js +4 -3
  326. package/dist/components/ic-menu2.js.map +1 -1
  327. package/dist/components/ic-navigation-button.js +7 -2
  328. package/dist/components/ic-navigation-button.js.map +1 -1
  329. package/dist/components/ic-navigation-group.js +7 -3
  330. package/dist/components/ic-navigation-group.js.map +1 -1
  331. package/dist/components/ic-navigation-item.js +60 -6
  332. package/dist/components/ic-navigation-item.js.map +1 -1
  333. package/dist/components/ic-navigation-menu2.js +6 -4
  334. package/dist/components/ic-navigation-menu2.js.map +1 -1
  335. package/dist/components/ic-page-header.js +5 -2
  336. package/dist/components/ic-page-header.js.map +1 -1
  337. package/dist/components/ic-pagination-item2.js +10 -12
  338. package/dist/components/ic-pagination-item2.js.map +1 -1
  339. package/dist/components/ic-pagination.js +20 -15
  340. package/dist/components/ic-pagination.js.map +1 -1
  341. package/dist/components/ic-popover-menu.js +8 -8
  342. package/dist/components/ic-popover-menu.js.map +1 -1
  343. package/dist/components/ic-radio-group.js +16 -5
  344. package/dist/components/ic-radio-group.js.map +1 -1
  345. package/dist/components/ic-radio-option.js +8 -3
  346. package/dist/components/ic-radio-option.js.map +1 -1
  347. package/dist/components/ic-search-bar.js +13 -9
  348. package/dist/components/ic-search-bar.js.map +1 -1
  349. package/dist/components/ic-select.js +11 -12
  350. package/dist/components/ic-select.js.map +1 -1
  351. package/dist/components/ic-side-navigation.js +13 -8
  352. package/dist/components/ic-side-navigation.js.map +1 -1
  353. package/dist/components/ic-status-tag.js +5 -3
  354. package/dist/components/ic-status-tag.js.map +1 -1
  355. package/dist/components/ic-switch.js +1 -1
  356. package/dist/components/ic-switch.js.map +1 -1
  357. package/dist/components/ic-tab-context.js +2 -1
  358. package/dist/components/ic-tab-context.js.map +1 -1
  359. package/dist/components/ic-tab-group.js +2 -18
  360. package/dist/components/ic-tab-group.js.map +1 -1
  361. package/dist/components/ic-text-field2.js +19 -15
  362. package/dist/components/ic-text-field2.js.map +1 -1
  363. package/dist/components/ic-toast.js +3 -3
  364. package/dist/components/ic-toast.js.map +1 -1
  365. package/dist/components/ic-toggle-button-group.js +36 -7
  366. package/dist/components/ic-toggle-button-group.js.map +1 -1
  367. package/dist/components/ic-toggle-button.js +11 -7
  368. package/dist/components/ic-toggle-button.js.map +1 -1
  369. package/dist/components/ic-top-navigation.js +7 -4
  370. package/dist/components/ic-top-navigation.js.map +1 -1
  371. package/dist/components/ic-typography2.js +1 -1
  372. package/dist/components/ic-typography2.js.map +1 -1
  373. package/dist/core/ag-theme-icds.css +217 -0
  374. package/dist/core/core.css +934 -66
  375. package/dist/core/core.esm.js +1 -1
  376. package/dist/core/core.esm.js.map +1 -1
  377. package/dist/core/p-03dc6b93.entry.js +2 -0
  378. package/dist/core/p-03dc6b93.entry.js.map +1 -0
  379. package/dist/core/p-04339c98.entry.js +2 -0
  380. package/dist/core/p-04339c98.entry.js.map +1 -0
  381. package/dist/core/p-0aec7fab.entry.js +2 -0
  382. package/dist/core/p-0aec7fab.entry.js.map +1 -0
  383. package/dist/core/{p-37dea10d.entry.js → p-0cef50b7.entry.js} +2 -2
  384. package/dist/core/{p-4a3b1f06.entry.js → p-12f72d83.entry.js} +2 -2
  385. package/dist/core/p-12f72d83.entry.js.map +1 -0
  386. package/dist/core/{p-f5b2b26d.entry.js → p-15fd6539.entry.js} +2 -2
  387. package/dist/core/p-175baf98.entry.js +2 -0
  388. package/dist/core/p-175baf98.entry.js.map +1 -0
  389. package/dist/core/{p-726673ee.entry.js → p-2223c7ee.entry.js} +2 -2
  390. package/dist/core/p-2223c7ee.entry.js.map +1 -0
  391. package/dist/core/p-274b1ed7.entry.js +2 -0
  392. package/dist/core/p-274b1ed7.entry.js.map +1 -0
  393. package/dist/core/p-2a300ec7.entry.js +2 -0
  394. package/dist/core/p-2a300ec7.entry.js.map +1 -0
  395. package/dist/core/p-303307bb.entry.js +2 -0
  396. package/dist/core/p-303307bb.entry.js.map +1 -0
  397. package/dist/core/p-3317f083.entry.js +2 -0
  398. package/dist/core/p-3317f083.entry.js.map +1 -0
  399. package/dist/core/p-35bd9d76.entry.js +2 -0
  400. package/dist/core/p-35bd9d76.entry.js.map +1 -0
  401. package/dist/core/p-36f4e0bd.entry.js +2 -0
  402. package/dist/core/p-36f4e0bd.entry.js.map +1 -0
  403. package/dist/core/p-3a4000d8.entry.js +2 -0
  404. package/dist/core/p-3a4000d8.entry.js.map +1 -0
  405. package/dist/core/{p-5cd016e1.entry.js → p-48463a79.entry.js} +2 -2
  406. package/dist/core/p-48463a79.entry.js.map +1 -0
  407. package/dist/core/{p-dd36bf1b.entry.js → p-4fea4610.entry.js} +2 -2
  408. package/dist/core/p-4fea4610.entry.js.map +1 -0
  409. package/dist/core/p-60d458e5.entry.js +2 -0
  410. package/dist/core/p-60d458e5.entry.js.map +1 -0
  411. package/dist/core/{p-690c5e80.entry.js → p-685d6aa9.entry.js} +2 -2
  412. package/dist/core/p-6bb3ef22.entry.js +2 -0
  413. package/dist/core/p-6bb3ef22.entry.js.map +1 -0
  414. package/dist/core/p-6cb1f1da.entry.js +2 -0
  415. package/dist/core/p-6cb1f1da.entry.js.map +1 -0
  416. package/dist/core/{p-c9cf932c.entry.js → p-78f46cf8.entry.js} +2 -2
  417. package/dist/core/p-78f46cf8.entry.js.map +1 -0
  418. package/dist/core/p-79c132e3.entry.js +2 -0
  419. package/dist/core/p-79c132e3.entry.js.map +1 -0
  420. package/dist/core/p-7cba80ac.entry.js +2 -0
  421. package/dist/core/p-7cba80ac.entry.js.map +1 -0
  422. package/dist/core/p-81f80487.entry.js +2 -0
  423. package/dist/core/p-81f80487.entry.js.map +1 -0
  424. package/dist/core/p-85be0268.entry.js +2 -0
  425. package/dist/core/p-85be0268.entry.js.map +1 -0
  426. package/dist/core/p-85d33e38.entry.js +2 -0
  427. package/dist/core/p-85d33e38.entry.js.map +1 -0
  428. package/dist/core/{p-b78f8b8c.entry.js → p-88810080.entry.js} +2 -2
  429. package/dist/core/p-88810080.entry.js.map +1 -0
  430. package/dist/core/{p-b01ffa55.entry.js → p-96b4ca6e.entry.js} +2 -2
  431. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  432. package/dist/core/p-97e8246c.entry.js +2 -0
  433. package/dist/core/p-97e8246c.entry.js.map +1 -0
  434. package/dist/core/p-98816f52.entry.js +2 -0
  435. package/dist/core/p-98816f52.entry.js.map +1 -0
  436. package/dist/core/p-a01841e2.entry.js +2 -0
  437. package/dist/core/p-a01841e2.entry.js.map +1 -0
  438. package/dist/core/p-a6be333f.entry.js +2 -0
  439. package/dist/core/p-a6be333f.entry.js.map +1 -0
  440. package/dist/core/p-a91b0212.entry.js +2 -0
  441. package/dist/core/p-a91b0212.entry.js.map +1 -0
  442. package/dist/core/p-ae42affc.entry.js +2 -0
  443. package/dist/core/p-ae42affc.entry.js.map +1 -0
  444. package/dist/core/p-b06939fa.entry.js +2 -0
  445. package/dist/core/p-b06939fa.entry.js.map +1 -0
  446. package/dist/core/{p-95f603dd.entry.js → p-ba37e169.entry.js} +2 -2
  447. package/dist/core/p-ba55afea.entry.js +2 -0
  448. package/dist/core/p-ba55afea.entry.js.map +1 -0
  449. package/dist/core/p-bbd2febe.entry.js +2 -0
  450. package/dist/core/p-bbd2febe.entry.js.map +1 -0
  451. package/dist/core/p-c0d5043e.entry.js +2 -0
  452. package/dist/core/p-c0d5043e.entry.js.map +1 -0
  453. package/dist/core/p-c43d676b.entry.js +2 -0
  454. package/dist/core/p-c43d676b.entry.js.map +1 -0
  455. package/dist/core/p-c4f32f77.entry.js +2 -0
  456. package/dist/core/p-c4f32f77.entry.js.map +1 -0
  457. package/dist/core/p-c563d479.entry.js +2 -0
  458. package/dist/core/p-c563d479.entry.js.map +1 -0
  459. package/dist/core/{p-922984cb.entry.js → p-c5d3c71e.entry.js} +2 -2
  460. package/dist/core/p-c7e01fcd.entry.js +2 -0
  461. package/dist/core/p-c7e01fcd.entry.js.map +1 -0
  462. package/dist/core/p-c82240b7.entry.js +2 -0
  463. package/dist/core/p-c82240b7.entry.js.map +1 -0
  464. package/dist/core/{p-7b35de65.entry.js → p-cdbc3414.entry.js} +2 -2
  465. package/dist/core/p-d3263ed9.entry.js +2 -0
  466. package/dist/core/p-d3263ed9.entry.js.map +1 -0
  467. package/dist/core/p-d43e0f4b.entry.js +2 -0
  468. package/dist/core/p-d43e0f4b.entry.js.map +1 -0
  469. package/dist/core/p-d987bdc0.entry.js +2 -0
  470. package/dist/core/p-d987bdc0.entry.js.map +1 -0
  471. package/dist/core/{p-50ead56c.entry.js → p-df957570.entry.js} +2 -2
  472. package/dist/core/p-df957570.entry.js.map +1 -0
  473. package/dist/core/p-e107f362.entry.js +2 -0
  474. package/dist/core/p-e107f362.entry.js.map +1 -0
  475. package/dist/core/{p-ee6dd94c.entry.js → p-ec097c1f.entry.js} +2 -2
  476. package/dist/core/{p-14dfd8db.entry.js → p-f069f50e.entry.js} +2 -2
  477. package/dist/core/p-f069f50e.entry.js.map +1 -0
  478. package/dist/core/{p-acbd15ab.entry.js → p-f580f0ce.entry.js} +2 -2
  479. package/dist/core/{p-b7eb8ef9.js → p-f99576e0.js} +2 -2
  480. package/dist/core/p-f99576e0.js.map +1 -0
  481. package/dist/esm/core.js +1 -1
  482. package/dist/esm/{helpers-e8797e8d.js → helpers-7bf8c67f.js} +6 -5
  483. package/dist/esm/helpers-7bf8c67f.js.map +1 -0
  484. package/dist/esm/ic-accordion-group.entry.js +10 -10
  485. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  486. package/dist/esm/ic-accordion.entry.js +5 -5
  487. package/dist/esm/ic-accordion.entry.js.map +1 -1
  488. package/dist/esm/ic-alert.entry.js +7 -5
  489. package/dist/esm/ic-alert.entry.js.map +1 -1
  490. package/dist/esm/ic-back-to-top.entry.js +9 -6
  491. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  492. package/dist/esm/ic-badge.entry.js +2 -2
  493. package/dist/esm/ic-badge.entry.js.map +1 -1
  494. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  495. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  496. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  497. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  498. package/dist/esm/ic-button_3.entry.js +11 -13
  499. package/dist/esm/ic-button_3.entry.js.map +1 -1
  500. package/dist/esm/ic-card-vertical.entry.js +26 -27
  501. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  502. package/dist/esm/ic-checkbox-group.entry.js +16 -5
  503. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  504. package/dist/esm/ic-checkbox.entry.js +5 -3
  505. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  506. package/dist/esm/ic-chip.entry.js +1 -1
  507. package/dist/esm/ic-classification-banner.entry.js +1 -1
  508. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  509. package/dist/esm/ic-data-row.entry.js +1 -1
  510. package/dist/esm/ic-dialog.entry.js +4 -2
  511. package/dist/esm/ic-dialog.entry.js.map +1 -1
  512. package/dist/esm/ic-divider.entry.js +72 -8
  513. package/dist/esm/ic-divider.entry.js.map +1 -1
  514. package/dist/esm/ic-empty-state.entry.js +1 -1
  515. package/dist/esm/ic-footer-link-group.entry.js +3 -3
  516. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  517. package/dist/esm/ic-footer-link.entry.js +2 -2
  518. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  519. package/dist/esm/ic-footer.entry.js +2 -2
  520. package/dist/esm/ic-footer.entry.js.map +1 -1
  521. package/dist/esm/ic-hero.entry.js +2 -2
  522. package/dist/esm/ic-hero.entry.js.map +1 -1
  523. package/dist/esm/ic-horizontal-scroll.entry.js +15 -7
  524. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  525. package/dist/esm/ic-input-component-container_3.entry.js +14 -25
  526. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  527. package/dist/esm/ic-input-label_2.entry.js +21 -25
  528. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  529. package/dist/esm/ic-link.entry.js +3 -8
  530. package/dist/esm/ic-link.entry.js.map +1 -1
  531. package/dist/esm/ic-menu-group.entry.js +2 -2
  532. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  533. package/dist/esm/ic-menu-item.entry.js +18 -17
  534. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  535. package/dist/esm/ic-navigation-button.entry.js +7 -3
  536. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  537. package/dist/esm/ic-navigation-group.entry.js +7 -4
  538. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  539. package/dist/esm/ic-navigation-item.entry.js +58 -6
  540. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  541. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  542. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  543. package/dist/esm/ic-page-header.entry.js +5 -3
  544. package/dist/esm/ic-page-header.entry.js.map +1 -1
  545. package/dist/esm/ic-pagination-item.entry.js +8 -11
  546. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  547. package/dist/esm/ic-pagination.entry.js +19 -15
  548. package/dist/esm/ic-pagination.entry.js.map +1 -1
  549. package/dist/esm/ic-popover-menu.entry.js +9 -9
  550. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  551. package/dist/esm/ic-radio-group.entry.js +14 -5
  552. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  553. package/dist/esm/ic-radio-option.entry.js +8 -4
  554. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  555. package/dist/esm/ic-search-bar.entry.js +12 -9
  556. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  557. package/dist/esm/ic-select.entry.js +10 -12
  558. package/dist/esm/ic-select.entry.js.map +1 -1
  559. package/dist/esm/ic-side-navigation.entry.js +13 -8
  560. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  561. package/dist/esm/ic-status-tag.entry.js +5 -4
  562. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  563. package/dist/esm/ic-step.entry.js +1 -1
  564. package/dist/esm/ic-stepper.entry.js +1 -1
  565. package/dist/esm/ic-switch.entry.js +2 -2
  566. package/dist/esm/ic-switch.entry.js.map +1 -1
  567. package/dist/esm/ic-tab-context.entry.js +2 -1
  568. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  569. package/dist/esm/ic-tab-group.entry.js +3 -19
  570. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  571. package/dist/esm/ic-tab-panel.entry.js +1 -1
  572. package/dist/esm/ic-tab.entry.js +1 -1
  573. package/dist/esm/ic-text-field.entry.js +18 -15
  574. package/dist/esm/ic-text-field.entry.js.map +1 -1
  575. package/dist/esm/ic-theme.entry.js +1 -1
  576. package/dist/esm/ic-toast.entry.js +3 -3
  577. package/dist/esm/ic-toast.entry.js.map +1 -1
  578. package/dist/esm/ic-toggle-button-group.entry.js +29 -5
  579. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  580. package/dist/esm/ic-toggle-button.entry.js +9 -6
  581. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  582. package/dist/esm/ic-top-navigation.entry.js +6 -4
  583. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  584. package/dist/esm/ic-typography.entry.js +2 -2
  585. package/dist/esm/ic-typography.entry.js.map +1 -1
  586. package/dist/esm/loader.js +1 -1
  587. package/dist/types/components/ic-accordion/ic-accordion.d.ts +5 -5
  588. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +4 -4
  589. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -5
  590. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -0
  591. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
  592. package/dist/types/components/ic-button/ic-button.d.ts +9 -5
  593. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +8 -4
  594. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +6 -2
  595. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +7 -1
  596. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -0
  597. package/dist/types/components/ic-divider/ic-divider.d.ts +31 -1
  598. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  599. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +2 -1
  600. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +7 -1
  601. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -4
  602. package/dist/types/components/ic-input-label/ic-input-label.d.ts +0 -4
  603. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +11 -5
  604. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +6 -2
  605. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +6 -2
  606. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +13 -2
  607. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  608. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  609. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -5
  610. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +9 -5
  611. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -6
  612. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -1
  613. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +5 -1
  614. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +5 -1
  615. package/dist/types/components/ic-select/ic-select.d.ts +6 -2
  616. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +4 -0
  617. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -4
  618. package/dist/types/components/ic-text-field/ic-text-field.d.ts +5 -1
  619. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +9 -5
  620. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +12 -5
  621. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +5 -1
  622. package/dist/types/components.d.ts +328 -79
  623. package/dist/types/utils/helpers.d.ts +2 -2
  624. package/hydrate/index.js +550 -330
  625. package/package.json +2 -2
  626. package/vscode-data.json +482 -118
  627. package/dist/cjs/helpers-69219f14.js.map +0 -1
  628. package/dist/core/p-0395442c.entry.js +0 -2
  629. package/dist/core/p-0395442c.entry.js.map +0 -1
  630. package/dist/core/p-0d233b0c.entry.js +0 -2
  631. package/dist/core/p-0d233b0c.entry.js.map +0 -1
  632. package/dist/core/p-134def81.entry.js +0 -2
  633. package/dist/core/p-134def81.entry.js.map +0 -1
  634. package/dist/core/p-14dfd8db.entry.js.map +0 -1
  635. package/dist/core/p-1b116dd1.entry.js +0 -2
  636. package/dist/core/p-1b116dd1.entry.js.map +0 -1
  637. package/dist/core/p-21cc87c0.entry.js +0 -2
  638. package/dist/core/p-21cc87c0.entry.js.map +0 -1
  639. package/dist/core/p-2eae9b27.entry.js +0 -2
  640. package/dist/core/p-2eae9b27.entry.js.map +0 -1
  641. package/dist/core/p-31fc8756.entry.js +0 -2
  642. package/dist/core/p-31fc8756.entry.js.map +0 -1
  643. package/dist/core/p-3618ac34.entry.js +0 -2
  644. package/dist/core/p-3618ac34.entry.js.map +0 -1
  645. package/dist/core/p-384d454d.entry.js +0 -2
  646. package/dist/core/p-384d454d.entry.js.map +0 -1
  647. package/dist/core/p-3d417eff.entry.js +0 -2
  648. package/dist/core/p-3d417eff.entry.js.map +0 -1
  649. package/dist/core/p-3d9726a3.entry.js +0 -2
  650. package/dist/core/p-3d9726a3.entry.js.map +0 -1
  651. package/dist/core/p-43256b7c.entry.js +0 -2
  652. package/dist/core/p-43256b7c.entry.js.map +0 -1
  653. package/dist/core/p-4a3b1f06.entry.js.map +0 -1
  654. package/dist/core/p-50ead56c.entry.js.map +0 -1
  655. package/dist/core/p-5cd016e1.entry.js.map +0 -1
  656. package/dist/core/p-5ef8e106.entry.js +0 -2
  657. package/dist/core/p-5ef8e106.entry.js.map +0 -1
  658. package/dist/core/p-6d3e4bb1.entry.js +0 -2
  659. package/dist/core/p-6d3e4bb1.entry.js.map +0 -1
  660. package/dist/core/p-726673ee.entry.js.map +0 -1
  661. package/dist/core/p-72d30c8a.entry.js +0 -2
  662. package/dist/core/p-72d30c8a.entry.js.map +0 -1
  663. package/dist/core/p-76263187.entry.js +0 -2
  664. package/dist/core/p-76263187.entry.js.map +0 -1
  665. package/dist/core/p-7827b5cb.entry.js +0 -2
  666. package/dist/core/p-7827b5cb.entry.js.map +0 -1
  667. package/dist/core/p-79d0be03.entry.js +0 -2
  668. package/dist/core/p-79d0be03.entry.js.map +0 -1
  669. package/dist/core/p-7fbf2d3e.entry.js +0 -2
  670. package/dist/core/p-7fbf2d3e.entry.js.map +0 -1
  671. package/dist/core/p-91cf9b2b.entry.js +0 -2
  672. package/dist/core/p-91cf9b2b.entry.js.map +0 -1
  673. package/dist/core/p-97fb2bdf.entry.js +0 -2
  674. package/dist/core/p-97fb2bdf.entry.js.map +0 -1
  675. package/dist/core/p-ac4b7329.entry.js +0 -2
  676. package/dist/core/p-ac4b7329.entry.js.map +0 -1
  677. package/dist/core/p-b01ffa55.entry.js.map +0 -1
  678. package/dist/core/p-b17c94b7.entry.js +0 -2
  679. package/dist/core/p-b17c94b7.entry.js.map +0 -1
  680. package/dist/core/p-b78f8b8c.entry.js.map +0 -1
  681. package/dist/core/p-b7eb8ef9.js.map +0 -1
  682. package/dist/core/p-b95a72a3.entry.js +0 -2
  683. package/dist/core/p-b95a72a3.entry.js.map +0 -1
  684. package/dist/core/p-b997064c.entry.js +0 -2
  685. package/dist/core/p-b997064c.entry.js.map +0 -1
  686. package/dist/core/p-ba6ecc15.entry.js +0 -2
  687. package/dist/core/p-ba6ecc15.entry.js.map +0 -1
  688. package/dist/core/p-c0fc3d02.entry.js +0 -2
  689. package/dist/core/p-c0fc3d02.entry.js.map +0 -1
  690. package/dist/core/p-c396bd4d.entry.js +0 -2
  691. package/dist/core/p-c396bd4d.entry.js.map +0 -1
  692. package/dist/core/p-c9cf932c.entry.js.map +0 -1
  693. package/dist/core/p-cf7db84a.entry.js +0 -2
  694. package/dist/core/p-cf7db84a.entry.js.map +0 -1
  695. package/dist/core/p-dd36bf1b.entry.js.map +0 -1
  696. package/dist/core/p-e488de54.entry.js +0 -2
  697. package/dist/core/p-e488de54.entry.js.map +0 -1
  698. package/dist/core/p-e4d1839e.entry.js +0 -2
  699. package/dist/core/p-e4d1839e.entry.js.map +0 -1
  700. package/dist/core/p-eb3b4935.entry.js +0 -2
  701. package/dist/core/p-eb3b4935.entry.js.map +0 -1
  702. package/dist/core/p-ebafab37.entry.js +0 -2
  703. package/dist/core/p-ebafab37.entry.js.map +0 -1
  704. package/dist/core/p-f0fc1bf0.entry.js +0 -2
  705. package/dist/core/p-f0fc1bf0.entry.js.map +0 -1
  706. package/dist/core/p-f24984c5.entry.js +0 -2
  707. package/dist/core/p-f24984c5.entry.js.map +0 -1
  708. package/dist/core/p-f60dbd0e.entry.js +0 -2
  709. package/dist/core/p-f60dbd0e.entry.js.map +0 -1
  710. package/dist/core/p-f71c00ce.entry.js +0 -2
  711. package/dist/core/p-f71c00ce.entry.js.map +0 -1
  712. package/dist/core/p-ff4298b1.entry.js +0 -2
  713. package/dist/core/p-ff4298b1.entry.js.map +0 -1
  714. package/dist/esm/helpers-e8797e8d.js.map +0 -1
  715. /package/dist/core/{p-37dea10d.entry.js.map → p-0cef50b7.entry.js.map} +0 -0
  716. /package/dist/core/{p-f5b2b26d.entry.js.map → p-15fd6539.entry.js.map} +0 -0
  717. /package/dist/core/{p-690c5e80.entry.js.map → p-685d6aa9.entry.js.map} +0 -0
  718. /package/dist/core/{p-95f603dd.entry.js.map → p-ba37e169.entry.js.map} +0 -0
  719. /package/dist/core/{p-922984cb.entry.js.map → p-c5d3c71e.entry.js.map} +0 -0
  720. /package/dist/core/{p-7b35de65.entry.js.map → p-cdbc3414.entry.js.map} +0 -0
  721. /package/dist/core/{p-ee6dd94c.entry.js.map → p-ec097c1f.entry.js.map} +0 -0
  722. /package/dist/core/{p-acbd15ab.entry.js.map → p-f580f0ce.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination/test/basic/ic-pagination.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pagination } from \"../../ic-pagination\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { AnyHTMLElement } from \"@stencil/core/internal\";\nimport { PaginationItem } from \"../../../ic-pagination-item/ic-pagination-item\";\n\ndescribe(\"ic-pagination simple appearance component\", () => {\n it(\"should render with 10 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=10></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with ten pages\");\n });\n it(\"should render on the last page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=\"15\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render on the last page\");\n });\n\n it(\"should render with the default page selected\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=4></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render at the default page\");\n });\n\n it(\"should render with first and last buttons disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-first-page-button=true hide-last-page-button=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no first or last page button\");\n });\n it(\"should render without current page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-current-page=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no current page\");\n });\n it(\"should render all pages when total pages less than min width based on boundary-page-count and adjacent-page-count\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=\"11\"\n type=\"complex\"\n adjacent-page-count=\"2\"\n boundary-page-count=\"2\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"pages less than adjacent-page-count + boundary-page-count\"\n );\n });\n it(\"should render with interactions disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" loading=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"loading\");\n });\n it(\"should click the next page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(2);\n });\n\n it(\"should click the last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(15);\n });\n it(\"should click the previous page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(4);\n });\n it(\"should click the first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n});\ndescribe(\"ic-pagination complex type\", () => {\n it(\"should render as complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex'></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\"render complex pagination\");\n });\n\n it(\"should render as complex type without first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-first-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no first page button\"\n );\n });\n\n it(\"should render as complex type without last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-last-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no last page button\"\n );\n });\n\n it(\"should render as complex type with 20 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination type=\"complex\" pages=20></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with 20 pages\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=15\n type=\"complex\"\n adjacent-page-count=0\n ></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 7\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=0 default-page=7></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 7\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 15\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=0 default-page=15></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 15\"\n );\n });\n\n it(\"should render in complex type with 1 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=1 boundary-page-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 1 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=1 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should click the next page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=15 type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the previous page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the last page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the first page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await pageEl.click();\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the pagination-item in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n\n const icPagItem = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n const btn = (await icPagItem.shadowRoot.querySelector(\n \".item-container.default.page\"\n )) as AnyHTMLElement;\n\n await btn.click();\n await icPagItem.click();\n await page.waitForChanges();\n\n expect(icPagItem.page).toBe(1);\n });\n\n it(\"should emit an event\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n await page.rootInstance.paginationItemClickHandler({ detail: { page: 1 } });\n await page.waitForChanges();\n\n expect(page.root.currentPage).toBe(1);\n });\n\n it(\"should not allow boundaryPageCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" boundary-page-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.boundaryPageCount).toEqual(2);\n });\n\n it(\"should not allow boundaryPageCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.boundaryPageCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.boundaryPageCount).toEqual(2);\n });\n\n it(\"should not allow adjacentPageCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.adjacentPageCount).toEqual(2);\n });\n\n it(\"should not allow adjacentPageCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.adjacentPageCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.adjacentPageCount).toEqual(2);\n });\n\n it(\"should test switching to complex pagination type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n page.root.type = \"complex\";\n await page.waitForChanges();\n\n expect(page.rootInstance.startItems).toEqual([1]);\n expect(page.rootInstance.endItems).toEqual([15]);\n expect(page.rootInstance.midItems).toEqual([2, 3, 4, 5]);\n });\n});\ndescribe(\"ic-pagination appearance tests\", () => {\n it(\"should render as simple type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark simple pagination\");\n });\n it(\"should render as simple type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light simple pagination\");\n });\n it(\"should render as complex type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark complex pagination\");\n });\n it(\"should render as complex type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light complex pagination\");\n });\n\n it(\"should change page when current page set with public method\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\"></ic-pagination>\n `,\n });\n expect(page.rootInstance.currentPage).toBe(1);\n\n await page.root.setCurrentPage(3);\n await page.waitForChanges();\n\n expect(page.rootInstance.currentPage).toBe(3);\n });\n\n it(\"should update number of pages dynamically if the prop is updated\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n\n page.rootInstance.pages = 7;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.pages).toEqual(7);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-pagination.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination/test/basic/ic-pagination.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pagination } from \"../../ic-pagination\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { AnyHTMLElement } from \"@stencil/core/internal\";\nimport { PaginationItem } from \"../../../ic-pagination-item/ic-pagination-item\";\n\ndescribe(\"ic-pagination simple appearance component\", () => {\n it(\"should render with 10 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=10></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with ten pages\");\n });\n it(\"should render on the last page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=\"15\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render on the last page\");\n });\n\n it(\"should render with the default page selected\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=4></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render at the default page\");\n });\n\n it(\"should render with first and last buttons disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-first-page-button=true hide-last-page-button=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no first or last page button\");\n });\n it(\"should render without current page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-current-page=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no current page\");\n });\n it(\"should render all pages when total pages less than min width based on boundary-page-count and adjacent-page-count\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=\"11\"\n type=\"complex\"\n adjacent-page-count=\"2\"\n boundary-page-count=\"2\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"pages less than adjacent-page-count + boundary-page-count\"\n );\n });\n it(\"should render with interactions disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" loading=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"loading\");\n });\n it(\"should click the next page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(2);\n });\n\n it(\"should click the last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(15);\n });\n it(\"should click the previous page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(4);\n });\n it(\"should click the first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n});\ndescribe(\"ic-pagination complex type\", () => {\n it(\"should render as complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex'></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\"render complex pagination\");\n });\n\n it(\"should render as complex type without first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-first-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no first page button\"\n );\n });\n\n it(\"should render as complex type without last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-last-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no last page button\"\n );\n });\n\n it(\"should render as complex type with 20 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination type=\"complex\" pages=20></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with 20 pages\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=15\n type=\"complex\"\n adjacent-page-count=0\n ></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 7\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=0 default-page=7></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 7\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 15\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=0 default-page=15></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 15\"\n );\n });\n\n it(\"should render in complex type with 1 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=1 boundary-page-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=0 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 1 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=1 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=2 boundary-page-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should click the next page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=15 type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the previous page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the last page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the first page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await pageEl.click();\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the pagination-item in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n\n const icPagItem = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n const btn = (await icPagItem.shadowRoot.querySelector(\n \".item-container.page\"\n )) as AnyHTMLElement;\n\n await btn.click();\n await icPagItem.click();\n await page.waitForChanges();\n\n expect(icPagItem.page).toBe(1);\n });\n\n it(\"should emit an event\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n await page.rootInstance.paginationItemClickHandler({ detail: { page: 1 } });\n await page.waitForChanges();\n\n expect(page.root.currentPage).toBe(1);\n });\n\n it(\"should not allow boundaryPageCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" boundary-page-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.boundaryPageCount).toEqual(2);\n });\n\n it(\"should not allow boundaryPageCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.boundaryPageCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.boundaryPageCount).toEqual(2);\n });\n\n it(\"should not allow adjacentPageCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-page-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.adjacentPageCount).toEqual(2);\n });\n\n it(\"should not allow adjacentPageCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.adjacentPageCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.adjacentPageCount).toEqual(2);\n });\n\n it(\"should test switching to complex pagination type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n page.root.type = \"complex\";\n await page.waitForChanges();\n\n expect(page.rootInstance.startItems).toEqual([1]);\n expect(page.rootInstance.endItems).toEqual([15]);\n expect(page.rootInstance.midItems).toEqual([2, 3, 4, 5]);\n });\n});\ndescribe(\"ic-pagination appearance tests\", () => {\n it(\"should render as simple type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark simple pagination\");\n });\n it(\"should render as simple type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light simple pagination\");\n });\n it(\"should render as complex type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark complex pagination\");\n });\n it(\"should render as complex type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light complex pagination\");\n });\n\n it(\"should change page when current page set with public method\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\"></ic-pagination>\n `,\n });\n expect(page.rootInstance.currentPage).toBe(1);\n\n await page.root.setCurrentPage(3);\n await page.waitForChanges();\n\n expect(page.rootInstance.currentPage).toBe(3);\n });\n\n it(\"should update number of pages dynamically if the prop is updated\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n\n page.rootInstance.pages = 7;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.pages).toEqual(7);\n });\n});\n"]}
@@ -466,7 +466,11 @@ button {
466
466
  .ellipsis {
467
467
  pointer-events: none;
468
468
 
469
- --ic-typography-color: var(--ic-color-text-secondary);
469
+ --ic-typography-color: var(--ic-pagination-ellipsis);
470
+ }
471
+
472
+ .monochrome .ellipsis {
473
+ --ic-typography-color: var(--ic-pagination-ellipsis-monochrome);
470
474
  }
471
475
 
472
476
  .item-container:focus {
@@ -477,7 +481,11 @@ button {
477
481
  }
478
482
 
479
483
  .page {
480
- --ic-typography-color: var(--ic-action-default);
484
+ --ic-typography-color: var(--ic-pagination-page-number);
485
+ }
486
+
487
+ .monochrome .page {
488
+ --ic-typography-color: var(--ic-pagination-page-number-monochrome);
481
489
  }
482
490
 
483
491
  .simple-current {
@@ -489,11 +497,19 @@ button {
489
497
  /** DEFAULT STATES **/
490
498
  .item-container.page:hover:not(.selected):not(:focus) {
491
499
  border-radius: var(--ic-border-radius);
492
- background-color: var(--ic-action-default-bg-hover);
500
+ background-color: var(--ic-pagination-hover);
493
501
  }
494
502
 
495
503
  .item-container.page:active:not(.selected):not(:focus) {
496
- background-color: var(--ic-action-default-bg-active);
504
+ background-color: var(--ic-pagination-pressed);
505
+ }
506
+
507
+ .monochrome .item-container.page:hover:not(.selected):not(:focus) {
508
+ background-color: var(--ic-pagination-hover-monochrome);
509
+ }
510
+
511
+ .monochrome .item-container.page:active:not(.selected):not(:focus) {
512
+ background-color: var(--ic-pagination-pressed-monochrome);
497
513
  }
498
514
 
499
515
  .selected {
@@ -507,11 +523,15 @@ button {
507
523
  width: 100%;
508
524
  position: absolute;
509
525
  bottom: 0;
510
- background-color: var(--ic-action-default);
526
+ background-color: var(--ic-pagination-selected-banner);
527
+ }
528
+
529
+ .monochrome .selected::after {
530
+ background-color: var(--ic-pagination-selected-banner-monochrome);
511
531
  }
512
532
 
513
533
  .page-selected {
514
- --ic-typography-color: var(--ic-color-text-primary);
534
+ --ic-typography-color: var(--ic-pagination-text);
515
535
  }
516
536
 
517
537
  /** LIGHT STATES **/
@@ -6,11 +6,12 @@ export class PaginationItem {
6
6
  this.paginationItemClick.emit({ page: this.page });
7
7
  };
8
8
  this.capitalizedLabel = undefined;
9
- this.appearance = "default";
10
9
  this.disabled = false;
11
10
  this.label = "Page";
11
+ this.monochrome = false;
12
12
  this.page = undefined;
13
13
  this.selected = false;
14
+ this.theme = "inherit";
14
15
  this.type = undefined;
15
16
  }
16
17
  watchLabelHandler() {
@@ -21,25 +22,21 @@ export class PaginationItem {
21
22
  removeDisabledFalse(this.disabled, this.el);
22
23
  }
23
24
  render() {
24
- const { page, selected, type, disabled, appearance, label, capitalizedLabel, } = this;
25
- return (h("a", null, type === "ellipsis" ? (h("div", { class: {
25
+ const { page, selected, type, disabled, label, capitalizedLabel, monochrome, } = this;
26
+ return (h("a", { class: { ["monochrome"]: monochrome } }, type === "ellipsis" ? (h("div", { class: {
26
27
  ["item-container"]: true,
27
28
  ["ellipsis"]: true,
28
29
  ["disabled"]: disabled,
29
- } }, h("ic-typography", { class: {
30
- [`${appearance}`]: true,
31
- }, variant: "label" }, "..."))) : type === "page" ? (h("button", { disabled: disabled, onClick: this.handleClick, tabindex: selected ? "-1" : "0", role: "button", "aria-current": selected && "page", "aria-label": selected ? `${label}: ${page}` : `Go to ${label} ${page}`, class: {
30
+ } }, h("ic-typography", { variant: "label" }, "..."))) : type === "page" ? (h("button", { disabled: disabled, onClick: this.handleClick, tabindex: selected ? "-1" : "0", role: "button", "aria-current": selected && "page", "aria-label": selected ? `${label}: ${page}` : `Go to ${label} ${page}`, class: {
32
31
  ["selected"]: !disabled && selected,
33
32
  ["disabled"]: disabled,
34
33
  ["item-container"]: true,
35
- [`${appearance}`]: true,
36
34
  ["page"]: type === "page",
37
35
  } }, h("ic-typography", { variant: "label", class: {
38
36
  ["page-selected"]: selected,
39
37
  ["disabled"]: disabled,
40
- [`${appearance}`]: true,
41
38
  } }, page))) : (h("ic-typography", { "aria-live": "polite", class: {
42
- [`simple-current ${appearance}`]: true,
39
+ [`simple-current`]: true,
43
40
  ["disabled"]: disabled,
44
41
  }, variant: "label" }, capitalizedLabel, " ", page))));
45
42
  }
@@ -57,30 +54,6 @@ export class PaginationItem {
57
54
  }
58
55
  static get properties() {
59
56
  return {
60
- "appearance": {
61
- "type": "string",
62
- "mutable": false,
63
- "complexType": {
64
- "original": "IcThemeForeground",
65
- "resolved": "\"dark\" | \"default\" | \"light\"",
66
- "references": {
67
- "IcThemeForeground": {
68
- "location": "import",
69
- "path": "../../utils/types",
70
- "id": "src/utils/types.ts::IcThemeForeground"
71
- }
72
- }
73
- },
74
- "required": false,
75
- "optional": false,
76
- "docs": {
77
- "tags": [],
78
- "text": "The appearance of the pagination, e.g. dark, light or the default."
79
- },
80
- "attribute": "appearance",
81
- "reflect": false,
82
- "defaultValue": "\"default\""
83
- },
84
57
  "disabled": {
85
58
  "type": "boolean",
86
59
  "mutable": false,
@@ -117,6 +90,24 @@ export class PaginationItem {
117
90
  "reflect": false,
118
91
  "defaultValue": "\"Page\""
119
92
  },
93
+ "monochrome": {
94
+ "type": "boolean",
95
+ "mutable": false,
96
+ "complexType": {
97
+ "original": "boolean",
98
+ "resolved": "boolean",
99
+ "references": {}
100
+ },
101
+ "required": false,
102
+ "optional": true,
103
+ "docs": {
104
+ "tags": [],
105
+ "text": "If `true`, the pagination item will display as black in the light theme, and white in dark theme."
106
+ },
107
+ "attribute": "monochrome",
108
+ "reflect": false,
109
+ "defaultValue": "false"
110
+ },
120
111
  "page": {
121
112
  "type": "number",
122
113
  "mutable": false,
@@ -152,6 +143,30 @@ export class PaginationItem {
152
143
  "reflect": false,
153
144
  "defaultValue": "false"
154
145
  },
146
+ "theme": {
147
+ "type": "string",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "IcThemeMode",
151
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
152
+ "references": {
153
+ "IcThemeMode": {
154
+ "location": "import",
155
+ "path": "../../utils/types",
156
+ "id": "src/utils/types.ts::IcThemeMode"
157
+ }
158
+ }
159
+ },
160
+ "required": false,
161
+ "optional": true,
162
+ "docs": {
163
+ "tags": [],
164
+ "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."
165
+ },
166
+ "attribute": "theme",
167
+ "reflect": false,
168
+ "defaultValue": "\"inherit\""
169
+ },
155
170
  "type": {
156
171
  "type": "string",
157
172
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination-item.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeForeground } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * The appearance of the pagination, e.g. dark, light or the default.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label);\n }\n\n /**\n * The current page number.\n */\n @Prop() page: number | null;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\n\n /**\n * The type of pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n appearance,\n label,\n capitalizedLabel,\n } = this;\n\n return (\n <a>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: disabled,\n }}\n >\n <ic-typography\n class={{\n [`${appearance}`]: true,\n }}\n variant=\"label\"\n >\n ...\n </ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: disabled,\n [\"item-container\"]: true,\n [`${appearance}`]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: disabled,\n [`${appearance}`]: true,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current ${appearance}`]: true,\n [\"disabled\"]: disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-pagination-item.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,KAAK,EACL,OAAO,EACP,CAAC,EACD,KAAK,EAEL,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOtE,MAAM,OAAO,cAAc;;QAuDjB,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;;wBAjD0B,KAAK;qBAKT,MAAM;0BAUC,KAAK;;wBAUR,KAAK;qBAKH,SAAS;;;IAtBvC,iBAAiB;QACf,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAgCD,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAMD,MAAM;QACJ,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,UAAU,GACX,GAAG,IAAI,CAAC;QAET,OAAO,CACL,SAAG,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IACrC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrB,WACE,KAAK,EAAE;gBACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;gBACxB,CAAC,UAAU,CAAC,EAAE,IAAI;gBAClB,CAAC,UAAU,CAAC,EAAE,QAAQ;aACvB;YAED,qBAAe,OAAO,EAAC,OAAO,UAAoB,CAC9C,CACP,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACpB,cACE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAC/B,IAAI,EAAC,QAAQ,kBACC,QAAQ,IAAI,MAAM,gBAE9B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,EAAE,EAE3D,KAAK,EAAE;gBACL,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ;gBACnC,CAAC,UAAU,CAAC,EAAE,QAAQ;gBACtB,CAAC,gBAAgB,CAAC,EAAE,IAAI;gBACxB,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,MAAM;aAC1B;YAED,qBACE,OAAO,EAAC,OAAO,EACf,KAAK,EAAE;oBACL,CAAC,eAAe,CAAC,EAAE,QAAQ;oBAC3B,CAAC,UAAU,CAAC,EAAE,QAAQ;iBACvB,IAEA,IAAI,CACS,CACT,CACV,CAAC,CAAC,CAAC,CACF,kCACY,QAAQ,EAClB,KAAK,EAAE;gBACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;gBACxB,CAAC,UAAU,CAAC,EAAE,QAAQ;aACvB,EACD,OAAO,EAAC,OAAO;YAEd,gBAAgB;;YAAG,IAAI,CACV,CACjB,CACC,CACL,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label);\n }\n\n /**\n * If `true`, the pagination item will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The current page number.\n */\n @Prop() page: number | null;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n label,\n capitalizedLabel,\n monochrome,\n } = this;\n\n return (\n <a class={{ [\"monochrome\"]: monochrome }}>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: disabled,\n }}\n >\n <ic-typography variant=\"label\">...</ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: disabled,\n [\"item-container\"]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: disabled,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current`]: true,\n [\"disabled\"]: disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"]}
@@ -53,7 +53,7 @@ export class PopoverMenu {
53
53
  this.popoverMenuEls.push(el);
54
54
  }
55
55
  else if (el.tagName === "IC-MENU-GROUP") {
56
- const groupSlotWrapper = el.shadowRoot.querySelector("ul");
56
+ const groupSlotWrapper = el.shadowRoot.querySelector(".menu-items-wrapper");
57
57
  const menuGroupElements = getSlotElements(groupSlotWrapper);
58
58
  this.addMenuItems(menuGroupElements);
59
59
  }
@@ -143,8 +143,8 @@ export class PopoverMenu {
143
143
  }
144
144
  }
145
145
  handleMenuItemClick(ev) {
146
- if (!ev.detail.hasSubMenu && ev.detail.label !== "Back") {
147
- this.closeMenu();
146
+ if (!ev.detail.submenuTriggerFor && ev.detail.label !== "Back") {
147
+ this.closeMenu(false, ev.detail);
148
148
  }
149
149
  }
150
150
  // This is listening for the event emitted when a menu item is acting as a trigger button
@@ -218,17 +218,17 @@ export class PopoverMenu {
218
218
  * @internal Close the menu, emit icPopoverClosed of the root popover
219
219
  * @param setFocusToAnchor when true return focus to anchor element when menu is closed
220
220
  */
221
- async closeMenu(setFocusToAnchor = false) {
221
+ async closeMenu(setFocusToAnchor = false, menuElement) {
222
222
  var _a;
223
223
  this.open = false;
224
224
  if (this.parentPopover) {
225
- this.parentPopover.closeMenu(setFocusToAnchor);
225
+ this.parentPopover.closeMenu(setFocusToAnchor, menuElement);
226
226
  }
227
227
  else {
228
228
  if (setFocusToAnchor) {
229
229
  (_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();
230
230
  }
231
- this.icPopoverClosed.emit();
231
+ this.icPopoverClosed.emit(menuElement);
232
232
  }
233
233
  }
234
234
  render() {
@@ -239,10 +239,10 @@ export class PopoverMenu {
239
239
  ? `ic-popover-submenu-${this.submenuId}`
240
240
  : "", class: {
241
241
  menu: true,
242
- }, tabindex: open ? "0" : "-1" }, h("div", { class: {
242
+ }, tabindex: open ? "0" : "-1" }, h("span", { class: {
243
243
  "opening-from-parent": this.openingFromParent,
244
244
  "opening-from-child": this.openingFromChild,
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))))));
245
+ } }, isPropDefined(this.submenuId) && (h("span", null, h("span", { role: "menu" }, 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))))));
246
246
  }
247
247
  static get is() { return "ic-popover-menu"; }
248
248
  static get encapsulation() { return "shadow"; }
@@ -419,9 +419,14 @@ export class PopoverMenu {
419
419
  "text": "Emitted when the popover menu is closed."
420
420
  },
421
421
  "complexType": {
422
- "original": "void",
423
- "resolved": "void",
424
- "references": {}
422
+ "original": "HTMLIcMenuItemElement",
423
+ "resolved": "HTMLIcMenuItemElement",
424
+ "references": {
425
+ "HTMLIcMenuItemElement": {
426
+ "location": "global",
427
+ "id": "global::HTMLIcMenuItemElement"
428
+ }
429
+ }
425
430
  }
426
431
  }];
427
432
  }
@@ -469,16 +474,24 @@ export class PopoverMenu {
469
474
  },
470
475
  "closeMenu": {
471
476
  "complexType": {
472
- "signature": "(setFocusToAnchor?: boolean) => Promise<void>",
477
+ "signature": "(setFocusToAnchor?: boolean, menuElement?: HTMLIcMenuItemElement) => Promise<void>",
473
478
  "parameters": [{
474
479
  "name": "setFocusToAnchor",
475
480
  "type": "boolean",
476
481
  "docs": "when true return focus to anchor element when menu is closed"
482
+ }, {
483
+ "name": "menuElement",
484
+ "type": "HTMLIcMenuItemElement",
485
+ "docs": ""
477
486
  }],
478
487
  "references": {
479
488
  "Promise": {
480
489
  "location": "global",
481
490
  "id": "global::Promise"
491
+ },
492
+ "HTMLIcMenuItemElement": {
493
+ "location": "global",
494
+ "id": "global::HTMLIcMenuItemElement"
482
495
  }
483
496
  },
484
497
  "return": "Promise<void>"
@@ -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\";\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"]}
1
+ {"version":3,"file":"ic-popover-menu.js","sourceRoot":"","sources":["../../../src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,GAEN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAA8B,MAAM,gBAAgB,CAAC;AAU1E,MAAM,OAAO,WAAW;;QAEd,eAAU,GAAW,YAAY,CAAC;QAGlC,mBAAc,GAA4B,EAAE,CAAC;QAkM7C,mBAAc,GAAG,GAAG,EAAE;;YAC5B,MAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,KAAK,EAAE,CAAC;QAClD,CAAC,CAAC;QAEF,6CAA6C;QACrC,iBAAY,GAAG,CAAC,MAAc,EAAe,EAAE;YACrD,IAAI,aAAa,GAAgB,IAAI,CAAC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC1B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,QAAQ,CAAC,aAAa,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAClD,CAAC;gBACF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,aAAa,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,EAAS,EAAE,EAAE;YACzC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAqB,CAAC;YACjD,OAAO,CACL,EAAE,KAAK,IAAI,CAAC,MAAM;gBAClB,OAAO,KAAK,cAAc;gBAC1B,OAAO,KAAK,eAAe;gBAC3B,OAAO,KAAK,iBAAiB,CAC9B,CAAC;QACJ,CAAC,CAAC;QAsBM,wBAAmB,GAAG,CAC5B,WAAmB,EACnB,UAAmB,EACX,EAAE;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAElD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YAE9D,iCAAiC;YACjC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,QAAQ,GAAG,UAAU,CAAC;YACxB,CAAC;iBAAM,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;gBACjC,QAAQ,GAAG,CAAC,CAAC;YACf,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,QAA2C,EAAE,EAAE;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAA0B,CAAC;gBAChD,IAAI,EAAE,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;oBAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,EAAE,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;oBAC1C,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAClD,qBAAqB,CACtB,CAAC;oBACF,MAAM,iBAAiB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBAE5D,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAW,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAExD,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,OAAO,GAAG,SAAS,yBAAyB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,WAAW,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEM,0BAAqB,GAAG,GAAS,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;gBACzD,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE;4BACP,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;yBACf;qBACF;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,kBAAkB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC;4BAC1D,YAAY,EAAE,UAAU;yBACzB;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC;gCAxTmC,KAAK;iCACJ,KAAK;;;;;4BAyBZ,CAAC;qBAKF,SAAS;oBAKiB,SAAS;;IAGjE,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IACE,IAAI,CAAC,aAAa,KAAK,SAAS;gBAChC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EACpD,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,+CAA+C;YAC/C,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAOD,oBAAoB;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IACE,IAAI,CAAC,SAAS,KAAK,SAAS;YAC5B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAC9C,CAAC;YACD,OAAO,CAAC,KAAK,CACX,0EAA0E,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAGD,mBAAmB,CAAC,EAAsC;QACxD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,yFAAyF;IAEzF,mBAAmB,CAAC,EAAS;QAC3B,yDAAyD;QACzD,MAAM,MAAM,GAAG,EAAE,CAAC,MAA+B,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,+FAA+F;QAC/F,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CACpC,8BAA8B,MAAM,CAAC,iBAAiB,GAAG,CAC9B,CAAC;QAC9B,kEAAkE;QAClE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC7C,2FAA2F;QAC3F,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IACrC,CAAC;IAGD,WAAW,CAAC,EAAS;QACnB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7C,4FAA4F;YAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,sDAAsD;IAEtD,aAAa,CAAC,EAAiB;QAC7B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS;gBACZ,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAC1C,IAAI,CAAC,YAAY,EACjB,EAAE,CAAC,GAAG,KAAK,WAAW,CACvB,CAAC;gBACF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,MAAM;gBACT,kDAAkD;gBAClD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,KAAK;gBACR,gCAAgC;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAiCD;;;OAGG;IAEH,KAAK,CAAC,SAAS,CACb,gBAAgB,GAAG,KAAK,EACxB,WAAmC;;QAEnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IA4ED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,IAAI;gBACnC,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;aACrD;YAED,WACE,EAAE,EACA,IAAI,CAAC,aAAa,KAAK,SAAS;oBAC9B,CAAC,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE;oBACxC,CAAC,CAAC,EAAE,EAER,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;iBACX,EACD,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAE3B,YACE,KAAK,EAAE;wBACL,qBAAqB,EAAE,IAAI,CAAC,iBAAiB;wBAC7C,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;qBAC5C;oBAEA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAChC;wBACE,YAAM,IAAI,EAAC,MAAM;4BACf,oBACE,KAAK,EAAC,gCAAgC,EACtC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EACnC,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,EAAE,EAAE,kCAAkC,IAAI,CAAC,YAAY,EAAE;gCAEzD,WACE,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,mBAAmB;oCAEzB,YACE,CAAC,EAAC,mEAAmE,EACrE,IAAI,EAAC,cAAc,GACnB,CACE,CACO,CACV;wBACP,qBAAe,OAAO,EAAC,gBAAgB,EAAC,KAAK,EAAC,cAAc,IACzD,IAAI,CAAC,WAAW,CACH,CACX,CACR;oBACD,UAAI,KAAK,EAAC,QAAQ,gBAAa,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAC,MAAM;wBACjE,eAAa,CACV,CACA,CACH,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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<HTMLIcMenuItemElement>;\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(ev: CustomEvent<HTMLIcMenuItemElement>): void {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\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(\n setFocusToAnchor = false,\n menuElement?: HTMLIcMenuItemElement\n ): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit(menuElement);\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(\n \".menu-items-wrapper\"\n );\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 <span\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <span>\n <span role=\"menu\">\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 </span>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </span>\n )}\n <ul class=\"button\" aria-label={this.getMenuAriaLabel()} role=\"menu\">\n <slot></slot>\n </ul>\n </span>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -443,10 +443,26 @@ video {
443
443
 
444
444
  :host {
445
445
  display: block;
446
+
447
+ --ic-input-label-text-color: var(--ic-radio-button-input-field-label);
448
+ --ic-input-label-helper-text-color: var(
449
+ --ic-radio-button-input-field-subtitle
450
+ );
451
+ --ic-input-validation-status-text-color: var(--ic-radio-button-state-text);
452
+ --ic-input-validation-error: var(--ic-radio-button-state-icon-error);
446
453
  }
447
454
 
448
455
  ic-input-label.error {
449
- --ic-typography-color: var(--ic-status-error-default);
456
+ --ic-input-label-text-color: var(--ic-radio-button-input-field-label-error);
457
+ }
458
+
459
+ ic-input-label.disabled {
460
+ --ic-input-label-text-color: var(
461
+ --ic-radio-button-input-field-label-disabled
462
+ );
463
+ --ic-input-label-helper-text-color: var(
464
+ --ic-radio-button-input-field-subtitle-disabled
465
+ );
450
466
  }
451
467
 
452
468
  ic-input-validation {