@ukic/web-components 2.1.0-beta.16 → 2.1.0-beta.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1029) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/helpers-eb53c416.js.map +1 -1
  3. package/dist/cjs/ic-alert.cjs.entry.js +8 -8
  4. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +25 -19
  8. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -5
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-button_3.cjs.entry.js +71 -70
  12. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-card.cjs.entry.js +40 -40
  14. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-checkbox-group.cjs.entry.js +17 -17
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +32 -29
  18. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-chip.cjs.entry.js +15 -15
  20. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-data-row.cjs.entry.js +20 -20
  22. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-dialog.cjs.entry.js +54 -55
  24. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-footer-link-group.cjs.entry.js +16 -16
  26. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-footer-link.cjs.entry.js +14 -14
  28. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-footer.cjs.entry.js +17 -17
  30. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-hero.cjs.entry.js +18 -18
  32. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +33 -20
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +86 -86
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js +7 -7
  38. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-link.cjs.entry.js +17 -17
  40. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-menu-item.cjs.entry.js +12 -12
  42. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js +15 -15
  44. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js +36 -36
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js +42 -42
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js +26 -26
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-page-header.cjs.entry.js +12 -12
  52. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-pagination-item.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-pagination.cjs.entry.js +30 -30
  56. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js +61 -61
  58. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-radio-group.cjs.entry.js +35 -28
  60. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-radio-option.cjs.entry.js +36 -29
  62. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-search-bar.cjs.entry.js +121 -121
  64. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-select.cjs.entry.js +66 -65
  66. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js +31 -35
  68. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
  70. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  72. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-step.cjs.entry.js +7 -7
  74. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-stepper.cjs.entry.js +13 -13
  76. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-switch.cjs.entry.js +16 -16
  78. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-tab-context.cjs.entry.js +26 -32
  80. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  84. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-tab.cjs.entry.js +16 -16
  86. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-text-field.cjs.entry.js +53 -53
  88. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-toast-region.cjs.entry.js +12 -12
  91. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-toast.cjs.entry.js +57 -57
  93. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-top-navigation.cjs.entry.js +38 -38
  95. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-typography.cjs.entry.js +11 -11
  97. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  98. package/dist/cjs/loader.cjs.js +1 -1
  99. package/dist/collection/collection-manifest.json +4 -4
  100. package/dist/collection/components/ic-alert/ic-alert.js +49 -49
  101. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  102. package/dist/collection/components/ic-alert/{ic-alert.test.a11y.js → test/a11y/ic-alert.test.a11y.js} +1 -1
  103. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -0
  104. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -0
  105. package/dist/collection/components/ic-alert/{ic-alert.spec.js → test/basic/ic-alert.spec.js} +1 -1
  106. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -0
  107. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +4 -4
  108. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  109. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -0
  110. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -0
  111. package/dist/collection/components/ic-back-to-top/{ic-back-to-top.spec.js → test/basic/ic-back-to-top.spec.js} +3 -3
  112. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -0
  113. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +24 -24
  114. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  115. package/dist/collection/components/ic-breadcrumb/{ic-breadcrumb.spec.js → test/basic/ic-breadcrumb.spec.js} +1 -1
  116. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -0
  117. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +25 -19
  118. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  119. package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.js → test/a11y/ic-breadcrumb-group.test.a11y.js} +1 -1
  120. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -0
  121. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +1 -0
  122. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -0
  123. package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.spec.js → test/basic/ic-breadcrumb-group.spec.js} +5 -5
  124. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -0
  125. package/dist/collection/components/ic-button/ic-button.css +4 -0
  126. package/dist/collection/components/ic-button/ic-button.js +191 -190
  127. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  128. package/dist/collection/components/ic-button/{ic-button.test.a11y.js → test/a11y/ic-button.test.a11y.js} +1 -1
  129. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -0
  130. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -0
  131. package/dist/collection/components/ic-button/{ic-button.spec.js → test/basic/ic-button.spec.js} +2 -2
  132. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -0
  133. package/dist/collection/components/ic-card/ic-card.js +120 -120
  134. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  135. package/dist/collection/components/ic-card/{ic-card.test.a11y.js → test/a11y/ic-card.test.a11y.js} +1 -1
  136. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -0
  137. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -0
  138. package/dist/collection/components/ic-card/{ic-card.spec.js → test/basic/ic-card.spec.js} +1 -1
  139. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -0
  140. package/dist/collection/components/ic-checkbox/ic-checkbox.js +94 -91
  141. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  142. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +58 -58
  143. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  144. package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.js → test/a11y/ic-checkbox-group.test.a11y.js} +1 -1
  145. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -0
  146. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -0
  147. package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.spec.js → test/basic/ic-checkbox-group.spec.js} +3 -3
  148. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -0
  149. package/dist/collection/components/ic-chip/ic-chip.js +54 -54
  150. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  151. package/dist/collection/components/ic-chip/{ic-chip.test.a11y.js → test/a11y/ic-chip.test.a11y.js} +1 -1
  152. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -0
  153. package/dist/collection/components/ic-chip/{ic-chip.spec.js → test/basic/ic-chip.spec.js} +1 -1
  154. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -0
  155. package/dist/collection/components/ic-classification-banner/{ic-classification-banner.test.a11y.js → test/a11y/ic-classification-banner.test.a11y.js} +1 -1
  156. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -0
  157. package/dist/collection/components/ic-classification-banner/{ic-classification-banner.spec.js → test/basic/ic-classification-banner.spec.js} +1 -1
  158. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -0
  159. package/dist/collection/components/ic-data-entity/{ic-data-entity.test.a11y.js → test/a11y/ic-data-entity.test.a11y.js} +1 -1
  160. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -0
  161. package/dist/collection/components/ic-data-entity/{ic-data-entity.spec.js → test/basic/ic-data-entity.spec.js} +1 -1
  162. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -0
  163. package/dist/collection/components/ic-data-row/ic-data-row.js +35 -35
  164. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  165. package/dist/collection/components/ic-data-row/{ic-data-row.test.a11y.js → test/a11y/ic-data-row.test.a11y.js} +1 -1
  166. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -0
  167. package/dist/collection/components/ic-data-row/{ic-data-row.spec.js → test/basic/ic-data-row.spec.js} +1 -1
  168. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -0
  169. package/dist/collection/components/ic-dialog/ic-dialog.css +1 -4
  170. package/dist/collection/components/ic-dialog/ic-dialog.js +122 -123
  171. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  172. package/dist/collection/components/ic-dialog/{ic-dialog.test.a11y.js → test/a11y/ic-dialog.test.a11y.js} +1 -1
  173. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -0
  174. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -0
  175. package/dist/collection/components/ic-dialog/{ic-dialog.spec.js → test/basic/ic-dialog.spec.js} +4 -4
  176. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -0
  177. package/dist/collection/components/ic-divider/{ic-divider.spec.js → test/basic/ic-divider.spec.js} +1 -1
  178. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -0
  179. package/dist/collection/components/ic-footer/ic-footer.js +47 -47
  180. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  181. package/dist/collection/components/ic-footer/{ic-footer.test.a11y.js → test/a11y/ic-footer.test.a11y.js} +1 -1
  182. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -0
  183. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -0
  184. package/dist/collection/components/ic-footer/{ic-footer.spec.js → test/basic/ic-footer.spec.js} +3 -3
  185. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -0
  186. package/dist/collection/components/ic-footer-link/ic-footer-link.js +33 -33
  187. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  188. package/dist/collection/components/ic-footer-link/{ic-footer-link.test.a11y.js → test/a11y/ic-footer-link.test.a11y.js} +1 -1
  189. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -0
  190. package/dist/collection/components/ic-footer-link/{ic-footer-link.spec.js → test/basic/ic-footer-link.spec.js} +1 -1
  191. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -0
  192. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +18 -18
  193. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  194. package/dist/collection/components/ic-footer-link-group/{ic-footer-link-group.test.a11y.js → test/a11y/ic-footer-link-group.test.a11y.js} +1 -1
  195. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -0
  196. package/dist/collection/components/ic-footer-link-group/{ic-footer-link-group.spec.js → test/basic/ic-footer-link-group.spec.js} +3 -3
  197. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -0
  198. package/dist/collection/components/ic-hero/ic-hero.js +95 -95
  199. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  200. package/dist/collection/components/ic-hero/{ic-hero.test.a11y.js → test/a11y/ic-hero.test.a11y.js} +1 -1
  201. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -0
  202. package/dist/collection/components/ic-hero/{ic-hero.spec.js → test/basic/ic-hero.spec.js} +1 -1
  203. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -0
  204. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +35 -22
  205. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  206. package/dist/collection/components/ic-horizontal-scroll/{ic-horizontal-scroll.test.a11y.js → test/a11y/ic-horizontal-scroll.test.a11y.js} +1 -1
  207. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -0
  208. package/dist/collection/components/ic-horizontal-scroll/{ic-horizontal-scroll.spec.js → test/basic/ic-horizontal-scroll.spec.js} +2 -2
  209. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -0
  210. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +45 -45
  211. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  212. package/dist/collection/components/ic-input-component-container/{ic-input-component-container.spec.js → test/basic/ic-input-component-container.spec.js} +1 -1
  213. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -0
  214. package/dist/collection/components/ic-input-container/{ic-input-container.spec.js → test/basic/ic-input-container.spec.js} +1 -1
  215. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -0
  216. package/dist/collection/components/ic-input-label/ic-input-label.js +51 -51
  217. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  218. package/dist/collection/components/ic-input-label/{ic-input-label.spec.js → test/basic/ic-input-label.spec.js} +1 -1
  219. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -0
  220. package/dist/collection/components/ic-input-validation/ic-input-validation.js +41 -41
  221. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  222. package/dist/collection/components/ic-input-validation/{ic-input-validation.spec.js → test/basic/ic-input-validation.spec.js} +1 -1
  223. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -0
  224. package/dist/collection/components/ic-link/ic-link.js +48 -48
  225. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  226. package/dist/collection/components/ic-link/{ic-link.test.a11y.js → test/a11y/ic-link.test.a11y.js} +1 -1
  227. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -0
  228. package/dist/collection/components/ic-link/{ic-link.spec.js → test/basic/ic-link.spec.js} +2 -2
  229. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -0
  230. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +89 -89
  231. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  232. package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.js → test/a11y/ic-loading-indicator.test.a11y.js} +1 -1
  233. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -0
  234. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -0
  235. package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.spec.js → test/basic/ic-loading-indicator.spec.js} +3 -3
  236. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -0
  237. package/dist/collection/components/ic-menu/ic-menu.js +238 -238
  238. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  239. package/dist/collection/components/ic-menu/{ic-menu.spec.js → test/basic/ic-menu.spec.js} +3 -3
  240. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -0
  241. package/dist/collection/components/ic-menu-group/{ic-menu-group.spec.js → test/basic/ic-menu-group.spec.js} +2 -2
  242. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -0
  243. package/dist/collection/components/ic-menu-item/ic-menu-item.js +75 -75
  244. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  245. package/dist/collection/components/ic-menu-item/{ic-menu-item.spec.js → test/basic/ic-menu-item.spec.js} +2 -2
  246. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -0
  247. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +56 -56
  248. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  249. package/dist/collection/components/ic-navigation-button/{ic-navigation-button.spec.js → test/basic/ic-navigation-button.spec.js} +2 -2
  250. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -0
  251. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +55 -55
  252. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  253. package/dist/collection/components/ic-navigation-group/{ic-navigation-group.test.a11y.js → test/a11y/ic-navigation-group.test.a11y.js} +1 -1
  254. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -0
  255. package/dist/collection/components/ic-navigation-group/{ic-navigation-group.spec.js → test/basic/ic-navigation-group.spec.js} +8 -8
  256. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -0
  257. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +5 -4
  258. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +135 -135
  259. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  260. package/dist/collection/components/ic-navigation-item/{ic-navigation-item.test.a11y.js → test/a11y/ic-navigation-item.test.a11y.js} +1 -1
  261. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -0
  262. package/dist/collection/components/ic-navigation-item/{ic-navigation-item.spec.js → test/basic/ic-navigation-item.spec.js} +5 -5
  263. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -0
  264. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +1 -4
  265. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +31 -31
  266. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  267. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -0
  268. package/dist/collection/components/ic-navigation-menu/{ic-navigation-menu.spec.js → test/basic/ic-navigation-menu.spec.js} +6 -6
  269. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -0
  270. package/dist/collection/components/ic-page-header/ic-page-header.js +56 -56
  271. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  272. package/dist/collection/components/ic-page-header/{ic-page-header.test.a11y.js → test/a11y/ic-page-header.test.a11y.js} +1 -1
  273. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -0
  274. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -0
  275. package/dist/collection/components/ic-page-header/{ic-page-header.spec.js → test/basic/ic-page-header.spec.js} +7 -7
  276. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -0
  277. package/dist/collection/components/ic-pagination/ic-pagination.js +97 -97
  278. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  279. package/dist/collection/components/ic-pagination/{ic-pagination.test.a11y.js → test/a11y/ic-pagination.test.a11y.js} +1 -1
  280. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -0
  281. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -0
  282. package/dist/collection/components/ic-pagination/{ic-pagination.spec.js → test/basic/ic-pagination.spec.js} +3 -3
  283. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -0
  284. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +65 -65
  285. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  286. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +96 -96
  287. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  288. package/dist/collection/components/ic-popover-menu/{ic-popover-menu.test.a11y.js → test/a11y/ic-popover-menu.test.a11y.js} +1 -1
  289. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -0
  290. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -0
  291. package/dist/collection/components/ic-popover-menu/{ic-popover-menu.spec.js → test/basic/ic-popover-menu.spec.js} +4 -4
  292. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -0
  293. package/dist/collection/components/ic-radio-group/ic-radio-group.js +94 -81
  294. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  295. package/dist/collection/components/ic-radio-group/{ic-radio-group.test.a11y.js → test/a11y/ic-radio-group.test.a11y.js} +1 -1
  296. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -0
  297. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -0
  298. package/dist/collection/components/ic-radio-group/{ic-radio-group.spec.js → test/basic/ic-radio-group.spec.js} +3 -3
  299. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -0
  300. package/dist/collection/components/ic-radio-option/ic-radio-option.js +112 -88
  301. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  302. package/dist/collection/components/ic-search-bar/ic-search-bar.js +384 -384
  303. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  304. package/dist/collection/components/ic-search-bar/{ic-search-bar.test.a11y.js → test/a11y/ic-search-bar.test.a11y.js} +1 -1
  305. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -0
  306. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -0
  307. package/dist/collection/components/ic-search-bar/{ic-search-bar.spec.js → test/basic/ic-search-bar.spec.js} +7 -7
  308. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -0
  309. package/dist/collection/components/ic-section-container/{ic-section-container.spec.js → test/basic/ic-section-container.spec.js} +1 -1
  310. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -0
  311. package/dist/collection/components/ic-select/ic-select.js +266 -265
  312. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  313. package/dist/collection/components/ic-select/{ic-select.test.a11y.js → test/a11y/ic-select.test.a11y.js} +1 -1
  314. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  315. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -0
  316. package/dist/collection/components/ic-select/{ic-select.spec.js → test/basic/ic-select.spec.js} +6 -6
  317. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -0
  318. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -4
  319. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +75 -79
  320. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  321. package/dist/collection/components/ic-side-navigation/{ic-side-navigation.test.a11y.js → test/a11y/ic-side-navigation.test.a11y.js} +1 -1
  322. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -0
  323. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +1 -0
  324. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -0
  325. package/dist/collection/components/ic-side-navigation/{ic-side-navigation.spec.js → test/basic/ic-side-navigation.spec.js} +5 -5
  326. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -0
  327. package/dist/collection/components/ic-skeleton/ic-skeleton.js +22 -22
  328. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  329. package/dist/collection/components/ic-skeleton/{ic-skeleton.test.a11y.js → test/a11y/ic-skeleton.test.a11y.js} +1 -1
  330. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -0
  331. package/dist/collection/components/ic-skeleton/{ic-skeleton.spec.js → test/basic/ic-skeleton.spec.js} +1 -1
  332. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -0
  333. package/dist/collection/components/ic-status-tag/ic-status-tag.js +40 -40
  334. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  335. package/dist/collection/components/ic-status-tag/{ic-status-tag.test.a11y.js → test/a11y/ic-status-tag.test.a11y.js} +1 -1
  336. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -0
  337. package/dist/collection/components/ic-status-tag/{ic-status-tag.spec.js → test/basic/ic-status-tag.spec.js} +1 -1
  338. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -0
  339. package/dist/collection/components/ic-step/ic-step.js +126 -126
  340. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  341. package/dist/collection/components/ic-step/{ic-step.spec.js → test/basic/ic-step.spec.js} +3 -3
  342. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -0
  343. package/dist/collection/components/ic-stepper/ic-stepper.js +41 -41
  344. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  345. package/dist/collection/components/ic-stepper/{ic-stepper.test.a11y.js → test/a11y/ic-stepper.test.a11y.js} +1 -1
  346. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -0
  347. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -0
  348. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -0
  349. package/dist/collection/components/ic-stepper/{ic-stepper.spec.js → test/basic/ic-stepper.spec.js} +3 -3
  350. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -0
  351. package/dist/collection/components/ic-switch/ic-switch.js +72 -72
  352. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  353. package/dist/collection/components/ic-switch/{ic-switch.test.a11y.js → test/a11y/ic-switch.test.a11y.js} +1 -1
  354. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -0
  355. package/dist/collection/components/ic-switch/{ic-switch.spec.js → test/basic/ic-switch.spec.js} +1 -1
  356. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -0
  357. package/dist/collection/components/ic-tab/ic-tab.js +56 -56
  358. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  359. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -0
  360. package/dist/collection/components/ic-tab/{ic-tab.spec.js → test/basic/ic-tab.spec.js} +3 -3
  361. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -0
  362. package/dist/collection/components/ic-tab-context/ic-tab-context.js +71 -77
  363. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  364. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -0
  365. package/dist/collection/components/ic-tab-context/{ic-tab-context.e2e.js → test/basic/ic-tab-context.e2e.js} +1 -1
  366. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -0
  367. package/dist/collection/components/ic-tab-context/{ic-tab-context.spec.js → test/basic/ic-tab-context.spec.js} +4 -4
  368. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -0
  369. package/dist/collection/components/ic-tab-group/ic-tab-group.js +27 -27
  370. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  371. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +33 -33
  372. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  373. package/dist/collection/components/ic-tab-panel/{ic-tab-panel.spec.js → test/basic/ic-tab-panel.spec.js} +1 -1
  374. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  375. package/dist/collection/components/ic-text-field/ic-text-field.js +371 -371
  376. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  377. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -0
  378. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -0
  379. package/dist/collection/components/ic-text-field/{ic-text-field.input.spec.js → test/basic/ic-text-field.input.spec.js} +2 -2
  380. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -0
  381. package/dist/collection/components/ic-text-field/{ic-text-field.textarea.spec.js → test/basic/ic-text-field.textarea.spec.js} +1 -1
  382. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -0
  383. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  384. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -0
  385. package/dist/collection/components/ic-theme/{ic-theme.spec.js → test/basic/ic-theme.spec.js} +3 -3
  386. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -0
  387. package/dist/collection/components/ic-toast/ic-toast.js +111 -111
  388. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  389. package/dist/collection/components/ic-toast/{ic-toast.test.a11y.js → test/a11y/ic-toast.test.a11y.js} +1 -1
  390. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -0
  391. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -0
  392. package/dist/collection/components/ic-toast/{ic-toast.spec.js → test/basic/ic-toast.spec.js} +4 -4
  393. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -0
  394. package/dist/collection/components/ic-toast-region/ic-toast-region.js +12 -12
  395. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  396. package/dist/collection/components/ic-toast-region/{ic-toast-region.spec.js → test/basic/ic-toast-region.spec.js} +3 -3
  397. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -0
  398. package/dist/collection/components/ic-tooltip/ic-tooltip.js +47 -47
  399. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  400. package/dist/collection/components/ic-tooltip/{ic-tooltip.test.a11y.js → test/a11y/ic-tooltip.test.a11y.js} +1 -1
  401. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -0
  402. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -0
  403. package/dist/collection/components/ic-tooltip/{ic-tooltip.spec.js → test/basic/ic-tooltip.spec.js} +2 -2
  404. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -0
  405. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +82 -82
  406. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  407. package/dist/collection/components/ic-top-navigation/{ic-top-navigation.test.a11y.js → test/a11y/ic-top-navigation.test.a11y.js} +1 -1
  408. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -0
  409. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -0
  410. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -0
  411. package/dist/collection/components/ic-top-navigation/{ic-top-navigation.spec.js → test/basic/ic-top-navigation.spec.js} +8 -8
  412. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -0
  413. package/dist/collection/components/ic-typography/ic-typography.js +36 -36
  414. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  415. package/dist/collection/components/ic-typography/{ic-typography.test.a11y.js → test/a11y/ic-typography.test.a11y.js} +1 -1
  416. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -0
  417. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -0
  418. package/dist/collection/components/ic-typography/{ic-typography.spec.js → test/basic/ic-typography.spec.js} +1 -1
  419. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -0
  420. package/dist/collection/testspec.setup.js.map +1 -1
  421. package/dist/collection/utils/helpers.js.map +1 -1
  422. package/dist/components/helpers.js +1 -1
  423. package/dist/components/helpers.js.map +1 -1
  424. package/dist/components/ic-alert2.js +13 -13
  425. package/dist/components/ic-alert2.js.map +1 -1
  426. package/dist/components/ic-back-to-top.js +4 -4
  427. package/dist/components/ic-back-to-top.js.map +1 -1
  428. package/dist/components/ic-breadcrumb-group.js +25 -19
  429. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  430. package/dist/components/ic-breadcrumb2.js +7 -7
  431. package/dist/components/ic-breadcrumb2.js.map +1 -1
  432. package/dist/components/ic-button2.js +47 -46
  433. package/dist/components/ic-button2.js.map +1 -1
  434. package/dist/components/ic-card.js +50 -50
  435. package/dist/components/ic-card.js.map +1 -1
  436. package/dist/components/ic-checkbox-group.js +20 -20
  437. package/dist/components/ic-checkbox-group.js.map +1 -1
  438. package/dist/components/ic-checkbox.js +37 -34
  439. package/dist/components/ic-checkbox.js.map +1 -1
  440. package/dist/components/ic-chip.js +19 -19
  441. package/dist/components/ic-chip.js.map +1 -1
  442. package/dist/components/ic-data-row.js +21 -21
  443. package/dist/components/ic-data-row.js.map +1 -1
  444. package/dist/components/ic-dialog.js +60 -61
  445. package/dist/components/ic-dialog.js.map +1 -1
  446. package/dist/components/ic-footer-link-group.js +19 -19
  447. package/dist/components/ic-footer-link-group.js.map +1 -1
  448. package/dist/components/ic-footer-link.js +16 -16
  449. package/dist/components/ic-footer-link.js.map +1 -1
  450. package/dist/components/ic-footer.js +19 -19
  451. package/dist/components/ic-footer.js.map +1 -1
  452. package/dist/components/ic-hero.js +25 -25
  453. package/dist/components/ic-hero.js.map +1 -1
  454. package/dist/components/ic-horizontal-scroll2.js +34 -21
  455. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  456. package/dist/components/ic-input-component-container2.js +8 -8
  457. package/dist/components/ic-input-component-container2.js.map +1 -1
  458. package/dist/components/ic-input-label2.js +8 -8
  459. package/dist/components/ic-input-label2.js.map +1 -1
  460. package/dist/components/ic-input-validation2.js +6 -6
  461. package/dist/components/ic-input-validation2.js.map +1 -1
  462. package/dist/components/ic-link2.js +20 -20
  463. package/dist/components/ic-link2.js.map +1 -1
  464. package/dist/components/ic-loading-indicator2.js +24 -24
  465. package/dist/components/ic-loading-indicator2.js.map +1 -1
  466. package/dist/components/ic-menu-item2.js +17 -17
  467. package/dist/components/ic-menu-item2.js.map +1 -1
  468. package/dist/components/ic-menu2.js +93 -93
  469. package/dist/components/ic-menu2.js.map +1 -1
  470. package/dist/components/ic-navigation-button.js +20 -20
  471. package/dist/components/ic-navigation-button.js.map +1 -1
  472. package/dist/components/ic-navigation-group.js +40 -40
  473. package/dist/components/ic-navigation-group.js.map +1 -1
  474. package/dist/components/ic-navigation-item.js +52 -52
  475. package/dist/components/ic-navigation-item.js.map +1 -1
  476. package/dist/components/ic-navigation-menu2.js +28 -28
  477. package/dist/components/ic-navigation-menu2.js.map +1 -1
  478. package/dist/components/ic-page-header.js +18 -18
  479. package/dist/components/ic-page-header.js.map +1 -1
  480. package/dist/components/ic-pagination-item2.js +11 -11
  481. package/dist/components/ic-pagination-item2.js.map +1 -1
  482. package/dist/components/ic-pagination.js +39 -39
  483. package/dist/components/ic-pagination.js.map +1 -1
  484. package/dist/components/ic-popover-menu.js +64 -64
  485. package/dist/components/ic-popover-menu.js.map +1 -1
  486. package/dist/components/ic-radio-group.js +40 -33
  487. package/dist/components/ic-radio-group.js.map +1 -1
  488. package/dist/components/ic-radio-option.js +42 -35
  489. package/dist/components/ic-radio-option.js.map +1 -1
  490. package/dist/components/ic-search-bar.js +145 -145
  491. package/dist/components/ic-search-bar.js.map +1 -1
  492. package/dist/components/ic-select.js +95 -94
  493. package/dist/components/ic-select.js.map +1 -1
  494. package/dist/components/ic-side-navigation.js +40 -44
  495. package/dist/components/ic-side-navigation.js.map +1 -1
  496. package/dist/components/ic-skeleton.js +5 -5
  497. package/dist/components/ic-skeleton.js.map +1 -1
  498. package/dist/components/ic-status-tag.js +6 -6
  499. package/dist/components/ic-status-tag.js.map +1 -1
  500. package/dist/components/ic-step.js +15 -15
  501. package/dist/components/ic-step.js.map +1 -1
  502. package/dist/components/ic-stepper.js +19 -19
  503. package/dist/components/ic-stepper.js.map +1 -1
  504. package/dist/components/ic-switch.js +21 -21
  505. package/dist/components/ic-switch.js.map +1 -1
  506. package/dist/components/ic-tab-context.js +28 -34
  507. package/dist/components/ic-tab-context.js.map +1 -1
  508. package/dist/components/ic-tab-group.js +3 -3
  509. package/dist/components/ic-tab-group.js.map +1 -1
  510. package/dist/components/ic-tab-panel.js +4 -4
  511. package/dist/components/ic-tab-panel.js.map +1 -1
  512. package/dist/components/ic-tab.js +17 -17
  513. package/dist/components/ic-tab.js.map +1 -1
  514. package/dist/components/ic-text-field2.js +83 -83
  515. package/dist/components/ic-text-field2.js.map +1 -1
  516. package/dist/components/ic-theme.js.map +1 -1
  517. package/dist/components/ic-toast-region.js +12 -12
  518. package/dist/components/ic-toast-region.js.map +1 -1
  519. package/dist/components/ic-toast.js +62 -62
  520. package/dist/components/ic-toast.js.map +1 -1
  521. package/dist/components/ic-tooltip2.js +26 -26
  522. package/dist/components/ic-tooltip2.js.map +1 -1
  523. package/dist/components/ic-top-navigation.js +47 -47
  524. package/dist/components/ic-top-navigation.js.map +1 -1
  525. package/dist/components/ic-typography2.js +14 -14
  526. package/dist/components/ic-typography2.js.map +1 -1
  527. package/dist/core/core.esm.js +1 -1
  528. package/dist/core/core.esm.js.map +1 -1
  529. package/dist/core/{p-3ce0aa02.entry.js → p-00b0c1b5.entry.js} +2 -2
  530. package/dist/core/p-00b0c1b5.entry.js.map +1 -0
  531. package/dist/core/{p-ca6820dc.entry.js → p-0471f0a2.entry.js} +2 -2
  532. package/dist/core/p-0471f0a2.entry.js.map +1 -0
  533. package/dist/core/{p-bad10f6c.entry.js → p-053b387f.entry.js} +2 -2
  534. package/dist/core/p-053b387f.entry.js.map +1 -0
  535. package/dist/core/{p-31e80ccb.entry.js → p-071bd3f5.entry.js} +2 -2
  536. package/dist/core/p-071bd3f5.entry.js.map +1 -0
  537. package/dist/core/p-0738d6e3.entry.js +2 -0
  538. package/dist/core/p-0738d6e3.entry.js.map +1 -0
  539. package/dist/core/{p-b03bd9c6.entry.js → p-0ccdb432.entry.js} +2 -2
  540. package/dist/core/p-0ccdb432.entry.js.map +1 -0
  541. package/dist/core/{p-aeef3c9d.entry.js → p-0d4507ef.entry.js} +2 -2
  542. package/dist/core/p-0d4507ef.entry.js.map +1 -0
  543. package/dist/core/{p-97286148.entry.js → p-11e0f917.entry.js} +2 -2
  544. package/dist/core/p-11e0f917.entry.js.map +1 -0
  545. package/dist/core/{p-97fd0cc1.entry.js → p-12287f17.entry.js} +2 -2
  546. package/dist/core/p-12287f17.entry.js.map +1 -0
  547. package/dist/core/{p-a9de9aba.entry.js → p-18f86ab2.entry.js} +2 -2
  548. package/dist/core/{p-a9de9aba.entry.js.map → p-18f86ab2.entry.js.map} +1 -1
  549. package/dist/core/{p-ef91c17e.entry.js → p-1a7d6eca.entry.js} +2 -2
  550. package/dist/core/p-1a7d6eca.entry.js.map +1 -0
  551. package/dist/core/p-1c30ece9.entry.js +2 -0
  552. package/dist/core/p-1c30ece9.entry.js.map +1 -0
  553. package/dist/core/{p-b0685167.entry.js → p-206a402a.entry.js} +2 -2
  554. package/dist/core/p-206a402a.entry.js.map +1 -0
  555. package/dist/core/{p-a74b8476.entry.js → p-221c905b.entry.js} +2 -2
  556. package/dist/core/p-221c905b.entry.js.map +1 -0
  557. package/dist/core/p-2b80ce4c.entry.js +2 -0
  558. package/dist/core/p-2b80ce4c.entry.js.map +1 -0
  559. package/dist/core/{p-323bce82.entry.js → p-3294961a.entry.js} +2 -2
  560. package/dist/core/p-3294961a.entry.js.map +1 -0
  561. package/dist/core/p-36115f6a.entry.js +2 -0
  562. package/dist/core/p-36115f6a.entry.js.map +1 -0
  563. package/dist/core/{p-311c38b3.entry.js → p-38450979.entry.js} +2 -2
  564. package/dist/core/p-38450979.entry.js.map +1 -0
  565. package/dist/core/{p-b35a9909.entry.js → p-39ec4fc2.entry.js} +2 -2
  566. package/dist/core/p-39ec4fc2.entry.js.map +1 -0
  567. package/dist/core/p-4a47cc51.entry.js +2 -0
  568. package/dist/core/p-4a47cc51.entry.js.map +1 -0
  569. package/dist/core/{p-ecdcae46.entry.js → p-4a814585.entry.js} +2 -2
  570. package/dist/core/p-4a814585.entry.js.map +1 -0
  571. package/dist/core/{p-820e4c17.entry.js → p-51d4c05c.entry.js} +2 -2
  572. package/dist/core/{p-820e4c17.entry.js.map → p-51d4c05c.entry.js.map} +1 -1
  573. package/dist/core/{p-2e051e1e.entry.js → p-54a5e971.entry.js} +2 -2
  574. package/dist/core/p-54a5e971.entry.js.map +1 -0
  575. package/dist/core/{p-0d325b4c.entry.js → p-57ba3442.entry.js} +2 -2
  576. package/dist/core/p-57ba3442.entry.js.map +1 -0
  577. package/dist/core/{p-68308ecd.entry.js → p-594e88fe.entry.js} +2 -2
  578. package/dist/core/p-594e88fe.entry.js.map +1 -0
  579. package/dist/core/{p-79914e0c.entry.js → p-5d245683.entry.js} +2 -2
  580. package/dist/core/{p-79914e0c.entry.js.map → p-5d245683.entry.js.map} +1 -1
  581. package/dist/core/{p-29d9fea1.entry.js → p-64584eb6.entry.js} +2 -2
  582. package/dist/core/p-64584eb6.entry.js.map +1 -0
  583. package/dist/core/{p-ad6c4c02.entry.js → p-67e99ad8.entry.js} +2 -2
  584. package/dist/core/p-67e99ad8.entry.js.map +1 -0
  585. package/dist/core/{p-f0714432.entry.js → p-6921177c.entry.js} +2 -2
  586. package/dist/core/p-6921177c.entry.js.map +1 -0
  587. package/dist/core/{p-84c8c4c7.entry.js → p-6ac8df90.entry.js} +2 -2
  588. package/dist/core/{p-84c8c4c7.entry.js.map → p-6ac8df90.entry.js.map} +1 -1
  589. package/dist/core/{p-dbe06c3b.entry.js → p-6aee5f18.entry.js} +2 -2
  590. package/dist/core/p-6aee5f18.entry.js.map +1 -0
  591. package/dist/core/{p-da4c1409.entry.js → p-7350d63d.entry.js} +2 -2
  592. package/dist/core/p-7350d63d.entry.js.map +1 -0
  593. package/dist/core/p-75e23d08.entry.js +2 -0
  594. package/dist/core/p-75e23d08.entry.js.map +1 -0
  595. package/dist/core/p-7ae1d7bc.entry.js +2 -0
  596. package/dist/core/p-7ae1d7bc.entry.js.map +1 -0
  597. package/dist/core/{p-6c76c6ba.entry.js → p-7fafc87a.entry.js} +2 -2
  598. package/dist/core/p-7fafc87a.entry.js.map +1 -0
  599. package/dist/core/{p-2ec49a7e.entry.js → p-9779c179.entry.js} +2 -2
  600. package/dist/core/{p-2ec49a7e.entry.js.map → p-9779c179.entry.js.map} +1 -1
  601. package/dist/core/{p-617950f8.entry.js → p-9e7b1167.entry.js} +2 -2
  602. package/dist/core/p-9e7b1167.entry.js.map +1 -0
  603. package/dist/core/{p-bda4414e.entry.js → p-ac10763e.entry.js} +2 -2
  604. package/dist/core/p-ac10763e.entry.js.map +1 -0
  605. package/dist/core/{p-31ccdd50.entry.js → p-acdc2931.entry.js} +2 -2
  606. package/dist/core/p-acdc2931.entry.js.map +1 -0
  607. package/dist/core/{p-f381e93f.entry.js → p-bc02816a.entry.js} +2 -2
  608. package/dist/core/p-bc02816a.entry.js.map +1 -0
  609. package/dist/core/{p-551986d1.entry.js → p-bde0fcab.entry.js} +2 -2
  610. package/dist/core/p-bde0fcab.entry.js.map +1 -0
  611. package/dist/core/{p-8911656b.entry.js → p-be6ee8a9.entry.js} +2 -2
  612. package/dist/core/{p-8911656b.entry.js.map → p-be6ee8a9.entry.js.map} +1 -1
  613. package/dist/core/{p-4a385752.js → p-bf5669a2.js} +2 -2
  614. package/dist/core/{p-4a385752.js.map → p-bf5669a2.js.map} +1 -1
  615. package/dist/core/{p-c0333310.entry.js → p-c4dcc6b9.entry.js} +2 -2
  616. package/dist/core/p-c4dcc6b9.entry.js.map +1 -0
  617. package/dist/core/{p-dfd31e28.entry.js → p-ca0e8569.entry.js} +2 -2
  618. package/dist/core/p-ca0e8569.entry.js.map +1 -0
  619. package/dist/core/p-ddb60a4b.entry.js +2 -0
  620. package/dist/core/p-ddb60a4b.entry.js.map +1 -0
  621. package/dist/core/{p-e3e6308b.entry.js → p-e0bbf81e.entry.js} +2 -2
  622. package/dist/core/{p-5fcd965f.entry.js → p-e6d3b5f8.entry.js} +2 -2
  623. package/dist/core/p-e6d3b5f8.entry.js.map +1 -0
  624. package/dist/core/p-e8be020c.entry.js +2 -0
  625. package/dist/core/p-e8be020c.entry.js.map +1 -0
  626. package/dist/core/{p-249af8ab.entry.js → p-fa40a71b.entry.js} +2 -2
  627. package/dist/core/{p-249af8ab.entry.js.map → p-fa40a71b.entry.js.map} +1 -1
  628. package/dist/esm/core.js +1 -1
  629. package/dist/esm/{helpers-8e57082b.js → helpers-c4e378c4.js} +2 -2
  630. package/dist/esm/{helpers-8e57082b.js.map → helpers-c4e378c4.js.map} +1 -1
  631. package/dist/esm/ic-alert.entry.js +9 -9
  632. package/dist/esm/ic-alert.entry.js.map +1 -1
  633. package/dist/esm/ic-back-to-top.entry.js +3 -3
  634. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  635. package/dist/esm/ic-breadcrumb-group.entry.js +26 -20
  636. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  637. package/dist/esm/ic-breadcrumb.entry.js +6 -6
  638. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  639. package/dist/esm/ic-button_3.entry.js +72 -71
  640. package/dist/esm/ic-button_3.entry.js.map +1 -1
  641. package/dist/esm/ic-card.entry.js +41 -41
  642. package/dist/esm/ic-card.entry.js.map +1 -1
  643. package/dist/esm/ic-checkbox-group.entry.js +18 -18
  644. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  645. package/dist/esm/ic-checkbox.entry.js +33 -30
  646. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  647. package/dist/esm/ic-chip.entry.js +16 -16
  648. package/dist/esm/ic-chip.entry.js.map +1 -1
  649. package/dist/esm/ic-data-row.entry.js +21 -21
  650. package/dist/esm/ic-data-row.entry.js.map +1 -1
  651. package/dist/esm/ic-dialog.entry.js +55 -56
  652. package/dist/esm/ic-dialog.entry.js.map +1 -1
  653. package/dist/esm/ic-divider.entry.js +1 -1
  654. package/dist/esm/ic-footer-link-group.entry.js +17 -17
  655. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  656. package/dist/esm/ic-footer-link.entry.js +15 -15
  657. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  658. package/dist/esm/ic-footer.entry.js +18 -18
  659. package/dist/esm/ic-footer.entry.js.map +1 -1
  660. package/dist/esm/ic-hero.entry.js +19 -19
  661. package/dist/esm/ic-hero.entry.js.map +1 -1
  662. package/dist/esm/ic-horizontal-scroll.entry.js +34 -21
  663. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  664. package/dist/esm/ic-input-component-container_3.entry.js +87 -87
  665. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  666. package/dist/esm/ic-input-label_2.entry.js +8 -8
  667. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  668. package/dist/esm/ic-link.entry.js +18 -18
  669. package/dist/esm/ic-link.entry.js.map +1 -1
  670. package/dist/esm/ic-menu-item.entry.js +13 -13
  671. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  672. package/dist/esm/ic-navigation-button.entry.js +16 -16
  673. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  674. package/dist/esm/ic-navigation-group.entry.js +37 -37
  675. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  676. package/dist/esm/ic-navigation-item.entry.js +43 -43
  677. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  678. package/dist/esm/ic-navigation-menu.entry.js +27 -27
  679. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  680. package/dist/esm/ic-page-header.entry.js +13 -13
  681. package/dist/esm/ic-page-header.entry.js.map +1 -1
  682. package/dist/esm/ic-pagination-item.entry.js +6 -6
  683. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  684. package/dist/esm/ic-pagination.entry.js +31 -31
  685. package/dist/esm/ic-pagination.entry.js.map +1 -1
  686. package/dist/esm/ic-popover-menu.entry.js +62 -62
  687. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  688. package/dist/esm/ic-radio-group.entry.js +36 -29
  689. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  690. package/dist/esm/ic-radio-option.entry.js +37 -30
  691. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  692. package/dist/esm/ic-search-bar.entry.js +122 -122
  693. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  694. package/dist/esm/ic-select.entry.js +67 -66
  695. package/dist/esm/ic-select.entry.js.map +1 -1
  696. package/dist/esm/ic-side-navigation.entry.js +32 -36
  697. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  698. package/dist/esm/ic-skeleton.entry.js +3 -3
  699. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  700. package/dist/esm/ic-status-tag.entry.js +4 -4
  701. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  702. package/dist/esm/ic-step.entry.js +7 -7
  703. package/dist/esm/ic-step.entry.js.map +1 -1
  704. package/dist/esm/ic-stepper.entry.js +14 -14
  705. package/dist/esm/ic-stepper.entry.js.map +1 -1
  706. package/dist/esm/ic-switch.entry.js +17 -17
  707. package/dist/esm/ic-switch.entry.js.map +1 -1
  708. package/dist/esm/ic-tab-context.entry.js +26 -32
  709. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  710. package/dist/esm/ic-tab-group.entry.js +2 -2
  711. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  712. package/dist/esm/ic-tab-panel.entry.js +2 -2
  713. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  714. package/dist/esm/ic-tab.entry.js +17 -17
  715. package/dist/esm/ic-tab.entry.js.map +1 -1
  716. package/dist/esm/ic-text-field.entry.js +54 -54
  717. package/dist/esm/ic-text-field.entry.js.map +1 -1
  718. package/dist/esm/ic-theme.entry.js +1 -1
  719. package/dist/esm/ic-theme.entry.js.map +1 -1
  720. package/dist/esm/ic-toast-region.entry.js +12 -12
  721. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  722. package/dist/esm/ic-toast.entry.js +58 -58
  723. package/dist/esm/ic-toast.entry.js.map +1 -1
  724. package/dist/esm/ic-top-navigation.entry.js +39 -39
  725. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  726. package/dist/esm/ic-typography.entry.js +12 -12
  727. package/dist/esm/ic-typography.entry.js.map +1 -1
  728. package/dist/esm/loader.js +1 -1
  729. package/dist/types/components/ic-alert/ic-alert.d.ts +12 -12
  730. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +8 -8
  731. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +6 -6
  732. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +15 -11
  733. package/dist/types/components/ic-button/ic-button.d.ts +52 -52
  734. package/dist/types/components/ic-card/ic-card.d.ts +32 -32
  735. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +27 -26
  736. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +13 -13
  737. package/dist/types/components/ic-chip/ic-chip.d.ts +16 -16
  738. package/dist/types/components/ic-data-row/ic-data-row.d.ts +11 -11
  739. package/dist/types/components/ic-dialog/ic-dialog.d.ts +47 -47
  740. package/dist/types/components/ic-footer/ic-footer.d.ts +20 -20
  741. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +9 -9
  742. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +8 -8
  743. package/dist/types/components/ic-hero/ic-hero.d.ts +24 -24
  744. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +15 -14
  745. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +15 -15
  746. package/dist/types/components/ic-input-label/ic-input-label.d.ts +14 -14
  747. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +8 -8
  748. package/dist/types/components/ic-link/ic-link.d.ts +8 -8
  749. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +38 -38
  750. package/dist/types/components/ic-menu/ic-menu.d.ts +63 -63
  751. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +23 -23
  752. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +21 -21
  753. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +20 -20
  754. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +39 -39
  755. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +14 -14
  756. package/dist/types/components/ic-page-header/ic-page-header.d.ts +19 -19
  757. package/dist/types/components/ic-pagination/ic-pagination.d.ts +26 -26
  758. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +15 -15
  759. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +22 -22
  760. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +19 -21
  761. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +31 -26
  762. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +105 -105
  763. package/dist/types/components/ic-select/ic-select.d.ts +86 -86
  764. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +27 -24
  765. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -8
  766. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -8
  767. package/dist/types/components/ic-step/ic-step.d.ts +24 -24
  768. package/dist/types/components/ic-stepper/ic-stepper.d.ts +17 -17
  769. package/dist/types/components/ic-switch/ic-switch.d.ts +23 -23
  770. package/dist/types/components/ic-tab/ic-tab.d.ts +16 -16
  771. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +20 -19
  772. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +4 -4
  773. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +6 -6
  774. package/dist/types/components/ic-text-field/ic-text-field.d.ts +102 -102
  775. package/dist/types/components/ic-theme/ic-theme.d.ts +1 -1
  776. package/dist/types/components/ic-toast/ic-toast.d.ts +26 -27
  777. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +3 -3
  778. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +17 -17
  779. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +32 -32
  780. package/dist/types/components/ic-typography/ic-typography.d.ts +16 -16
  781. package/dist/types/components.d.ts +5 -1
  782. package/dist/types/testspec.setup.d.ts +7 -5
  783. package/hydrate/index.js +1637 -1610
  784. package/package.json +3 -3
  785. package/dist/collection/components/ic-alert/ic-alert.e2e.js.map +0 -1
  786. package/dist/collection/components/ic-alert/ic-alert.spec.js.map +0 -1
  787. package/dist/collection/components/ic-alert/ic-alert.test.a11y.js.map +0 -1
  788. package/dist/collection/components/ic-back-to-top/ic-back-to-top.e2e.js.map +0 -1
  789. package/dist/collection/components/ic-back-to-top/ic-back-to-top.spec.js.map +0 -1
  790. package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js.map +0 -1
  791. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.spec.js.map +0 -1
  792. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +0 -1
  793. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.e2e.js.map +0 -1
  794. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.spec.js.map +0 -1
  795. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +0 -1
  796. package/dist/collection/components/ic-button/ic-button.e2e.js.map +0 -1
  797. package/dist/collection/components/ic-button/ic-button.spec.js.map +0 -1
  798. package/dist/collection/components/ic-button/ic-button.test.a11y.js.map +0 -1
  799. package/dist/collection/components/ic-card/ic-card.e2e.js.map +0 -1
  800. package/dist/collection/components/ic-card/ic-card.spec.js.map +0 -1
  801. package/dist/collection/components/ic-card/ic-card.test.a11y.js.map +0 -1
  802. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.e2e.js.map +0 -1
  803. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.spec.js.map +0 -1
  804. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +0 -1
  805. package/dist/collection/components/ic-chip/ic-chip.spec.js.map +0 -1
  806. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +0 -1
  807. package/dist/collection/components/ic-classification-banner/ic-classification-banner.spec.js.map +0 -1
  808. package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js.map +0 -1
  809. package/dist/collection/components/ic-data-entity/ic-data-entity.spec.js.map +0 -1
  810. package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js.map +0 -1
  811. package/dist/collection/components/ic-data-row/ic-data-row.spec.js.map +0 -1
  812. package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js.map +0 -1
  813. package/dist/collection/components/ic-dialog/ic-dialog.e2e.js.map +0 -1
  814. package/dist/collection/components/ic-dialog/ic-dialog.spec.js.map +0 -1
  815. package/dist/collection/components/ic-dialog/ic-dialog.test.a11y.js.map +0 -1
  816. package/dist/collection/components/ic-divider/ic-divider.spec.js.map +0 -1
  817. package/dist/collection/components/ic-footer/ic-footer.e2e.js.map +0 -1
  818. package/dist/collection/components/ic-footer/ic-footer.spec.js.map +0 -1
  819. package/dist/collection/components/ic-footer/ic-footer.test.a11y.js.map +0 -1
  820. package/dist/collection/components/ic-footer-link/ic-footer-link.spec.js.map +0 -1
  821. package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js.map +0 -1
  822. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.spec.js.map +0 -1
  823. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +0 -1
  824. package/dist/collection/components/ic-hero/ic-hero.spec.js.map +0 -1
  825. package/dist/collection/components/ic-hero/ic-hero.test.a11y.js.map +0 -1
  826. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.spec.js.map +0 -1
  827. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +0 -1
  828. package/dist/collection/components/ic-input-component-container/ic-input-component-container.spec.js.map +0 -1
  829. package/dist/collection/components/ic-input-container/ic-input-container.spec.js.map +0 -1
  830. package/dist/collection/components/ic-input-label/ic-input-label.spec.js.map +0 -1
  831. package/dist/collection/components/ic-input-validation/ic-input-validation.spec.js.map +0 -1
  832. package/dist/collection/components/ic-link/ic-link.spec.js.map +0 -1
  833. package/dist/collection/components/ic-link/ic-link.test.a11y.js.map +0 -1
  834. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.e2e.js.map +0 -1
  835. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.spec.js.map +0 -1
  836. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js.map +0 -1
  837. package/dist/collection/components/ic-menu/ic-menu.spec.js.map +0 -1
  838. package/dist/collection/components/ic-menu-group/ic-menu-group.spec.js.map +0 -1
  839. package/dist/collection/components/ic-menu-item/ic-menu-item.spec.js.map +0 -1
  840. package/dist/collection/components/ic-navigation-button/ic-navigation-button.spec.js.map +0 -1
  841. package/dist/collection/components/ic-navigation-group/ic-navigation-group.spec.js.map +0 -1
  842. package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js.map +0 -1
  843. package/dist/collection/components/ic-navigation-item/ic-navigation-item.spec.js.map +0 -1
  844. package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js.map +0 -1
  845. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.e2e.js.map +0 -1
  846. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.spec.js.map +0 -1
  847. package/dist/collection/components/ic-page-header/ic-page-header.e2e.js.map +0 -1
  848. package/dist/collection/components/ic-page-header/ic-page-header.spec.js.map +0 -1
  849. package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js.map +0 -1
  850. package/dist/collection/components/ic-pagination/ic-pagination.e2e.js.map +0 -1
  851. package/dist/collection/components/ic-pagination/ic-pagination.spec.js.map +0 -1
  852. package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js.map +0 -1
  853. package/dist/collection/components/ic-popover-menu/ic-popover-menu.e2e.js.map +0 -1
  854. package/dist/collection/components/ic-popover-menu/ic-popover-menu.spec.js.map +0 -1
  855. package/dist/collection/components/ic-popover-menu/ic-popover-menu.test.a11y.js.map +0 -1
  856. package/dist/collection/components/ic-radio-group/ic-radio-group.e2e.js.map +0 -1
  857. package/dist/collection/components/ic-radio-group/ic-radio-group.spec.js.map +0 -1
  858. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +0 -1
  859. package/dist/collection/components/ic-search-bar/ic-search-bar.e2e.js.map +0 -1
  860. package/dist/collection/components/ic-search-bar/ic-search-bar.spec.js.map +0 -1
  861. package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js.map +0 -1
  862. package/dist/collection/components/ic-section-container/ic-section-container.spec.js.map +0 -1
  863. package/dist/collection/components/ic-select/ic-select.e2e.js.map +0 -1
  864. package/dist/collection/components/ic-select/ic-select.spec.js.map +0 -1
  865. package/dist/collection/components/ic-select/ic-select.test.a11y.js.map +0 -1
  866. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +0 -1
  867. package/dist/collection/components/ic-side-navigation/ic-side-navigation.e2e.js.map +0 -1
  868. package/dist/collection/components/ic-side-navigation/ic-side-navigation.spec.js.map +0 -1
  869. package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js.map +0 -1
  870. package/dist/collection/components/ic-skeleton/ic-skeleton.spec.js.map +0 -1
  871. package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js.map +0 -1
  872. package/dist/collection/components/ic-status-tag/ic-status-tag.spec.js.map +0 -1
  873. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +0 -1
  874. package/dist/collection/components/ic-step/ic-step.spec.js.map +0 -1
  875. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +0 -1
  876. package/dist/collection/components/ic-stepper/ic-stepper.e2e.js.map +0 -1
  877. package/dist/collection/components/ic-stepper/ic-stepper.spec.js.map +0 -1
  878. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +0 -1
  879. package/dist/collection/components/ic-switch/ic-switch.spec.js.map +0 -1
  880. package/dist/collection/components/ic-switch/ic-switch.test.a11y.js.map +0 -1
  881. package/dist/collection/components/ic-tab/ic-tab.e2e.js.map +0 -1
  882. package/dist/collection/components/ic-tab/ic-tab.spec.js.map +0 -1
  883. package/dist/collection/components/ic-tab-context/ic-tab-context.e2e.js.map +0 -1
  884. package/dist/collection/components/ic-tab-context/ic-tab-context.spec.js.map +0 -1
  885. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +0 -1
  886. package/dist/collection/components/ic-tab-panel/ic-tab-panel.spec.js.map +0 -1
  887. package/dist/collection/components/ic-text-field/ic-text-field.e2e.js.map +0 -1
  888. package/dist/collection/components/ic-text-field/ic-text-field.input.spec.js.map +0 -1
  889. package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js.map +0 -1
  890. package/dist/collection/components/ic-text-field/ic-text-field.textarea.spec.js.map +0 -1
  891. package/dist/collection/components/ic-theme/ic-theme.e2e.js.map +0 -1
  892. package/dist/collection/components/ic-theme/ic-theme.spec.js.map +0 -1
  893. package/dist/collection/components/ic-toast/ic-toast.e2e.js.map +0 -1
  894. package/dist/collection/components/ic-toast/ic-toast.spec.js.map +0 -1
  895. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +0 -1
  896. package/dist/collection/components/ic-toast-region/ic-toast-region.spec.js.map +0 -1
  897. package/dist/collection/components/ic-tooltip/ic-tooltip.e2e.js.map +0 -1
  898. package/dist/collection/components/ic-tooltip/ic-tooltip.spec.js.map +0 -1
  899. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +0 -1
  900. package/dist/collection/components/ic-top-navigation/ic-top-navigation.e2e.js.map +0 -1
  901. package/dist/collection/components/ic-top-navigation/ic-top-navigation.mobile.e2e.js.map +0 -1
  902. package/dist/collection/components/ic-top-navigation/ic-top-navigation.spec.js.map +0 -1
  903. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +0 -1
  904. package/dist/collection/components/ic-typography/ic-typography.e2e.js.map +0 -1
  905. package/dist/collection/components/ic-typography/ic-typography.spec.js.map +0 -1
  906. package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +0 -1
  907. package/dist/core/p-0d325b4c.entry.js.map +0 -1
  908. package/dist/core/p-29d9fea1.entry.js.map +0 -1
  909. package/dist/core/p-2e051e1e.entry.js.map +0 -1
  910. package/dist/core/p-3114a4b3.entry.js +0 -2
  911. package/dist/core/p-3114a4b3.entry.js.map +0 -1
  912. package/dist/core/p-311c38b3.entry.js.map +0 -1
  913. package/dist/core/p-31ccdd50.entry.js.map +0 -1
  914. package/dist/core/p-31e80ccb.entry.js.map +0 -1
  915. package/dist/core/p-323bce82.entry.js.map +0 -1
  916. package/dist/core/p-3918c27a.entry.js +0 -2
  917. package/dist/core/p-3918c27a.entry.js.map +0 -1
  918. package/dist/core/p-3ce0aa02.entry.js.map +0 -1
  919. package/dist/core/p-524557bc.entry.js +0 -2
  920. package/dist/core/p-524557bc.entry.js.map +0 -1
  921. package/dist/core/p-551986d1.entry.js.map +0 -1
  922. package/dist/core/p-57460fa3.entry.js +0 -2
  923. package/dist/core/p-57460fa3.entry.js.map +0 -1
  924. package/dist/core/p-5fcd965f.entry.js.map +0 -1
  925. package/dist/core/p-617950f8.entry.js.map +0 -1
  926. package/dist/core/p-68308ecd.entry.js.map +0 -1
  927. package/dist/core/p-6c76c6ba.entry.js.map +0 -1
  928. package/dist/core/p-97286148.entry.js.map +0 -1
  929. package/dist/core/p-97fd0cc1.entry.js.map +0 -1
  930. package/dist/core/p-a74b8476.entry.js.map +0 -1
  931. package/dist/core/p-ad6c4c02.entry.js.map +0 -1
  932. package/dist/core/p-aeef3c9d.entry.js.map +0 -1
  933. package/dist/core/p-b03bd9c6.entry.js.map +0 -1
  934. package/dist/core/p-b0685167.entry.js.map +0 -1
  935. package/dist/core/p-b35a9909.entry.js.map +0 -1
  936. package/dist/core/p-bad10f6c.entry.js.map +0 -1
  937. package/dist/core/p-bda4414e.entry.js.map +0 -1
  938. package/dist/core/p-c0333310.entry.js.map +0 -1
  939. package/dist/core/p-c3f9fb1d.entry.js +0 -2
  940. package/dist/core/p-c3f9fb1d.entry.js.map +0 -1
  941. package/dist/core/p-ca6820dc.entry.js.map +0 -1
  942. package/dist/core/p-d6694b41.entry.js +0 -2
  943. package/dist/core/p-d6694b41.entry.js.map +0 -1
  944. package/dist/core/p-da4c1409.entry.js.map +0 -1
  945. package/dist/core/p-dbe06c3b.entry.js.map +0 -1
  946. package/dist/core/p-dfd31e28.entry.js.map +0 -1
  947. package/dist/core/p-ea233813.entry.js +0 -2
  948. package/dist/core/p-ea233813.entry.js.map +0 -1
  949. package/dist/core/p-ecdcae46.entry.js.map +0 -1
  950. package/dist/core/p-ef91c17e.entry.js.map +0 -1
  951. package/dist/core/p-f0714432.entry.js.map +0 -1
  952. package/dist/core/p-f381e93f.entry.js.map +0 -1
  953. package/dist/core/p-fd482bd7.entry.js +0 -2
  954. package/dist/core/p-fd482bd7.entry.js.map +0 -1
  955. package/dist/core/p-fe2c4009.entry.js +0 -2
  956. package/dist/core/p-fe2c4009.entry.js.map +0 -1
  957. /package/dist/collection/components/ic-alert/{ic-alert.e2e.js → test/basic/ic-alert.e2e.js} +0 -0
  958. /package/dist/collection/components/ic-back-to-top/{ic-back-to-top.test.a11y.js → test/a11y/ic-back-to-top.test.a11y.js} +0 -0
  959. /package/dist/collection/components/ic-back-to-top/{ic-back-to-top.e2e.js → test/basic/ic-back-to-top.e2e.js} +0 -0
  960. /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.js → test/basic/ic-breadcrumb-group-test-examples.js} +0 -0
  961. /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.e2e.js → test/basic/ic-breadcrumb-group.e2e.js} +0 -0
  962. /package/dist/collection/components/ic-button/{ic-button.e2e.js → test/basic/ic-button.e2e.js} +0 -0
  963. /package/dist/collection/components/ic-card/{ic-card.e2e.js → test/basic/ic-card.e2e.js} +0 -0
  964. /package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.e2e.js → test/basic/ic-checkbox-group.e2e.js} +0 -0
  965. /package/dist/collection/components/ic-dialog/{ic-dialog.e2e.js → test/basic/ic-dialog.e2e.js} +0 -0
  966. /package/dist/collection/components/ic-footer/{ic-footer.e2e.js → test/basic/ic-footer.e2e.js} +0 -0
  967. /package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.e2e.js → test/basic/ic-loading-indicator.e2e.js} +0 -0
  968. /package/dist/collection/components/ic-navigation-menu/{ic-navigation-menu.e2e.js → test/basic/ic-navigation-menu.e2e.js} +0 -0
  969. /package/dist/collection/components/ic-page-header/{ic-page-header.e2e.js → test/basic/ic-page-header.e2e.js} +0 -0
  970. /package/dist/collection/components/ic-pagination/{ic-pagination.e2e.js → test/basic/ic-pagination.e2e.js} +0 -0
  971. /package/dist/collection/components/ic-popover-menu/{ic-popover-menu.e2e.js → test/basic/ic-popover-menu.e2e.js} +0 -0
  972. /package/dist/collection/components/ic-radio-group/{ic-radio-group.e2e.js → test/basic/ic-radio-group.e2e.js} +0 -0
  973. /package/dist/collection/components/ic-search-bar/{ic-search-bar.e2e.js → test/basic/ic-search-bar.e2e.js} +0 -0
  974. /package/dist/collection/components/ic-select/{ic-select.e2e.js → test/basic/ic-select.e2e.js} +0 -0
  975. /package/dist/collection/components/ic-side-navigation/{ic-side-navigation-test-examples.js → test/basic/ic-side-navigation-test-examples.js} +0 -0
  976. /package/dist/collection/components/ic-side-navigation/{ic-side-navigation.e2e.js → test/basic/ic-side-navigation.e2e.js} +0 -0
  977. /package/dist/collection/components/ic-stepper/{ic-stepper-test-examples.js → test/basic/ic-stepper-test-examples.js} +0 -0
  978. /package/dist/collection/components/ic-stepper/{ic-stepper.e2e.js → test/basic/ic-stepper.e2e.js} +0 -0
  979. /package/dist/collection/components/ic-tab/{ic-tab.e2e.js → test/basic/ic-tab.e2e.js} +0 -0
  980. /package/dist/collection/components/ic-tab-context/{ic-tab-context.test.a11y.js → test/a11y/ic-tab-context.test.a11y.js} +0 -0
  981. /package/dist/collection/components/ic-text-field/{ic-text-field.test.a11y.js → test/a11y/ic-text-field.test.a11y.js} +0 -0
  982. /package/dist/collection/components/ic-text-field/{ic-text-field.e2e.js → test/basic/ic-text-field.e2e.js} +0 -0
  983. /package/dist/collection/components/ic-theme/{ic-theme.e2e.js → test/basic/ic-theme.e2e.js} +0 -0
  984. /package/dist/collection/components/ic-toast/{ic-toast.e2e.js → test/basic/ic-toast.e2e.js} +0 -0
  985. /package/dist/collection/components/ic-tooltip/{ic-tooltip.e2e.js → test/basic/ic-tooltip.e2e.js} +0 -0
  986. /package/dist/collection/components/ic-top-navigation/{ic-top-navigation.e2e.js → test/basic/ic-top-navigation.e2e.js} +0 -0
  987. /package/dist/collection/components/ic-top-navigation/{ic-top-navigation.mobile.e2e.js → test/basic/ic-top-navigation.mobile.e2e.js} +0 -0
  988. /package/dist/collection/components/ic-typography/{ic-typography.e2e.js → test/basic/ic-typography.e2e.js} +0 -0
  989. /package/dist/core/{p-e3e6308b.entry.js.map → p-e0bbf81e.entry.js.map} +0 -0
  990. /package/dist/types/components/ic-alert/{ic-alert.test.a11y.d.ts → test/a11y/ic-alert.test.a11y.d.ts} +0 -0
  991. /package/dist/types/components/ic-back-to-top/{ic-back-to-top.test.a11y.d.ts → test/a11y/ic-back-to-top.test.a11y.d.ts} +0 -0
  992. /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.d.ts → test/a11y/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
  993. /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.d.ts → test/basic/ic-breadcrumb-group-test-examples.d.ts} +0 -0
  994. /package/dist/types/components/ic-button/{ic-button.test.a11y.d.ts → test/a11y/ic-button.test.a11y.d.ts} +0 -0
  995. /package/dist/types/components/ic-card/{ic-card.test.a11y.d.ts → test/a11y/ic-card.test.a11y.d.ts} +0 -0
  996. /package/dist/types/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.d.ts → test/a11y/ic-checkbox-group.test.a11y.d.ts} +0 -0
  997. /package/dist/types/components/ic-chip/{ic-chip.test.a11y.d.ts → test/a11y/ic-chip.test.a11y.d.ts} +0 -0
  998. /package/dist/types/components/ic-classification-banner/{ic-classification-banner.test.a11y.d.ts → test/a11y/ic-classification-banner.test.a11y.d.ts} +0 -0
  999. /package/dist/types/components/ic-data-entity/{ic-data-entity.test.a11y.d.ts → test/a11y/ic-data-entity.test.a11y.d.ts} +0 -0
  1000. /package/dist/types/components/ic-data-row/{ic-data-row.test.a11y.d.ts → test/a11y/ic-data-row.test.a11y.d.ts} +0 -0
  1001. /package/dist/types/components/ic-dialog/{ic-dialog.test.a11y.d.ts → test/a11y/ic-dialog.test.a11y.d.ts} +0 -0
  1002. /package/dist/types/components/ic-footer/{ic-footer.test.a11y.d.ts → test/a11y/ic-footer.test.a11y.d.ts} +0 -0
  1003. /package/dist/types/components/ic-footer-link/{ic-footer-link.test.a11y.d.ts → test/a11y/ic-footer-link.test.a11y.d.ts} +0 -0
  1004. /package/dist/types/components/ic-footer-link-group/{ic-footer-link-group.test.a11y.d.ts → test/a11y/ic-footer-link-group.test.a11y.d.ts} +0 -0
  1005. /package/dist/types/components/ic-hero/{ic-hero.test.a11y.d.ts → test/a11y/ic-hero.test.a11y.d.ts} +0 -0
  1006. /package/dist/types/components/ic-horizontal-scroll/{ic-horizontal-scroll.test.a11y.d.ts → test/a11y/ic-horizontal-scroll.test.a11y.d.ts} +0 -0
  1007. /package/dist/types/components/ic-link/{ic-link.test.a11y.d.ts → test/a11y/ic-link.test.a11y.d.ts} +0 -0
  1008. /package/dist/types/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.d.ts → test/a11y/ic-loading-indicator.test.a11y.d.ts} +0 -0
  1009. /package/dist/types/components/ic-navigation-group/{ic-navigation-group.test.a11y.d.ts → test/a11y/ic-navigation-group.test.a11y.d.ts} +0 -0
  1010. /package/dist/types/components/ic-navigation-item/{ic-navigation-item.test.a11y.d.ts → test/a11y/ic-navigation-item.test.a11y.d.ts} +0 -0
  1011. /package/dist/types/components/ic-page-header/{ic-page-header.test.a11y.d.ts → test/a11y/ic-page-header.test.a11y.d.ts} +0 -0
  1012. /package/dist/types/components/ic-pagination/{ic-pagination.test.a11y.d.ts → test/a11y/ic-pagination.test.a11y.d.ts} +0 -0
  1013. /package/dist/types/components/ic-popover-menu/{ic-popover-menu.test.a11y.d.ts → test/a11y/ic-popover-menu.test.a11y.d.ts} +0 -0
  1014. /package/dist/types/components/ic-radio-group/{ic-radio-group.test.a11y.d.ts → test/a11y/ic-radio-group.test.a11y.d.ts} +0 -0
  1015. /package/dist/types/components/ic-search-bar/{ic-search-bar.test.a11y.d.ts → test/a11y/ic-search-bar.test.a11y.d.ts} +0 -0
  1016. /package/dist/types/components/ic-select/{ic-select.test.a11y.d.ts → test/a11y/ic-select.test.a11y.d.ts} +0 -0
  1017. /package/dist/types/components/ic-side-navigation/{ic-side-navigation.test.a11y.d.ts → test/a11y/ic-side-navigation.test.a11y.d.ts} +0 -0
  1018. /package/dist/types/components/ic-side-navigation/{ic-side-navigation-test-examples.d.ts → test/basic/ic-side-navigation-test-examples.d.ts} +0 -0
  1019. /package/dist/types/components/ic-skeleton/{ic-skeleton.test.a11y.d.ts → test/a11y/ic-skeleton.test.a11y.d.ts} +0 -0
  1020. /package/dist/types/components/ic-status-tag/{ic-status-tag.test.a11y.d.ts → test/a11y/ic-status-tag.test.a11y.d.ts} +0 -0
  1021. /package/dist/types/components/ic-stepper/{ic-stepper.test.a11y.d.ts → test/a11y/ic-stepper.test.a11y.d.ts} +0 -0
  1022. /package/dist/types/components/ic-stepper/{ic-stepper-test-examples.d.ts → test/basic/ic-stepper-test-examples.d.ts} +0 -0
  1023. /package/dist/types/components/ic-switch/{ic-switch.test.a11y.d.ts → test/a11y/ic-switch.test.a11y.d.ts} +0 -0
  1024. /package/dist/types/components/ic-tab-context/{ic-tab-context.test.a11y.d.ts → test/a11y/ic-tab-context.test.a11y.d.ts} +0 -0
  1025. /package/dist/types/components/ic-text-field/{ic-text-field.test.a11y.d.ts → test/a11y/ic-text-field.test.a11y.d.ts} +0 -0
  1026. /package/dist/types/components/ic-toast/{ic-toast.test.a11y.d.ts → test/a11y/ic-toast.test.a11y.d.ts} +0 -0
  1027. /package/dist/types/components/ic-tooltip/{ic-tooltip.test.a11y.d.ts → test/a11y/ic-tooltip.test.a11y.d.ts} +0 -0
  1028. /package/dist/types/components/ic-top-navigation/{ic-top-navigation.test.a11y.d.ts → test/a11y/ic-top-navigation.test.a11y.d.ts} +0 -0
  1029. /package/dist/types/components/ic-typography/{ic-typography.test.a11y.d.ts → test/a11y/ic-typography.test.a11y.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSwitchCss","inputIds","Switch","this","inputId","handleChange","checkedState","icChange","emit","checked","value","onFocus","icFocus","onBlur","icBlur","handleFormReset","initiallyChecked","async","el","shadowRoot","querySelector","focus","componentWillLoad","addFormResetListener","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","disconnectedCallback","removeFormResetListener","render","small","name","showState","hideLabel","helperText","renderHiddenInput","describedBy","getInputDescribedByText","h","Host","class","htmlFor","for","readonly","role","type","id","onChange","focusable","viewBox","xmlns","x1","y1","x2","y2","fill","cx","cy","r","variant"],"sources":["./src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","./src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: var(--ic-space-1px) solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: 0 0 0 var(--ic-space-1px) var(--ic-architectural-white),\n 0 0 0 0.188rem var(--ic-action-default),\n 0 0 0 0.5rem var(--ic-action-default-active-alpha);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: var(--ic-border-disabled);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-background);\n border: var(--ic-space-1px) dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-hc-border);\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n /**\n * If `true`, the small styling will be applied to the switch.\n */\n @Prop() small?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"mappings":"+JAAA,MAAMA,EAAc,qgNCqBpB,IAAIC,EAAW,E,MAYFC,EAAM,M,4HACTC,KAAAC,QAAU,mBAAmBH,MAiE7BE,KAAAE,aAAe,KACrBF,KAAKG,cAAgBH,KAAKG,aAC1BH,KAAKI,SAASC,KAAK,CACjBC,QAASN,KAAKG,aACdI,MAAOP,KAAKO,OACZ,EAGIP,KAAAQ,QAAU,KAChBR,KAAKS,QAAQJ,MAAM,EAGbL,KAAAU,OAAS,KACfV,KAAKW,OAAON,MAAM,EAGZL,KAAAY,gBAAkB,KACxBZ,KAAKG,aAAeH,KAAKa,gBAAgB,E,oCAtEb,M,gBAIA,G,aAIF,M,WAIF,M,cAIG,M,UAILb,KAAKC,Q,eAIC,M,WASE,K,kBAiBC,M,sBACLD,KAAKM,O,CA0BjCQ,iBACE,GAAId,KAAKe,GAAGC,WAAWC,cAAc,SAAU,CAC7CjB,KAAKe,GAAGC,WAAWC,cAAc,SAASC,O,EAI9CC,oBACEnB,KAAKG,aAAeH,KAAKM,QACzBc,EAAqBpB,KAAKe,GAAIf,KAAKY,iBAEnCS,EAAoBrB,KAAKsB,SAAUtB,KAAKe,G,CAG1CQ,mBACEC,EACE,CAAC,CAAEC,KAAMzB,KAAK0B,MAAOC,SAAU,UAC/B,S,CAIJC,uBACEC,EAAwB7B,KAAKe,GAAIf,KAAKY,gB,CAGxCkB,SACE,MAAMJ,MACJA,EAAKvB,aACLA,EAAY4B,MACZA,EAAKT,SACLA,EAAQU,KACRA,EAAIC,UACJA,EAAS1B,MACTA,EAAK2B,UACLA,EAASC,WACTA,EAAUlC,QACVA,GACED,KAEJoC,EAAkB,KAAMpC,KAAKe,GAAIiB,EAAM7B,EAAeI,EAAQ,GAAIe,GAElE,MAAMe,EAAcC,EAClBrC,EACAkC,IAAe,GACf,OAGF,OACEI,EAACC,EAAI,KACHD,EAAA,SACEE,MAAO,CACL,CAAC,uBAAwB,KACzB,CAAC,sBAAuBnB,EACxB,CAAC,mBAAoBS,GAEvBW,QAASzC,IAEPiC,GACAK,EAAA,kBACEI,IAAK1C,EACLyB,MAAOA,EACPS,WAAYA,EACZS,SAAU,KACVtB,SAAUA,EACVmB,MAAO,CACL,CAAC,mBAAoB,KACrB,CAAC,yBAA0BV,MAI/BG,GAAaK,EAAA,QAAME,MAAM,yBAC3BF,EAAA,SACEjC,QAASH,EACTmB,SAAUA,EAAQ,aACNI,EAAK,eACHvB,EAAe,OAAS,QAAO,mBAC3BkC,EAClBQ,KAAK,SACLJ,MAAM,kBACNK,KAAK,WACLd,KAAK,SACLe,GAAI9C,EACJO,QAASR,KAAKQ,QACdE,OAAQV,KAAKU,OACbsC,SAAUhD,KAAKE,eAEjBqC,EAAA,QAAME,MAAM,oBACVF,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,QACEE,MAAM,sBACNW,GAAG,IACHC,GAAItB,EAAQ,IAAM,IAClBuB,GAAG,IACHC,GAAIxB,EAAQ,IAAM,OAGtBQ,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,UACEE,MAAM,wBACNe,KAAK,OACLC,GAAG,IACHC,GAAG,IACHC,EAAG5B,EAAQ,QAAU,YAI3BQ,EAAA,QAAMP,KAAK,oBACVC,GACCM,EAAA,+BACc,OACZqB,QAAQ,QACRnB,MAAM,4BAELtC,EAAe,KAAO,Q"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icChipCss","Chip","this","dismissAction","dismiss","emit","icDismiss","mouseEnterHandler","isHovered","mouseLeaveHandler","handleClick","visible","async","el","shadowRoot","querySelector","focus","componentWillLoad","removeDisabledFalse","disabled","componentDidLoad","dismissible","_a","setAttribute","onComponentRequiredPropUndefined","prop","label","propName","render","appearance","size","h","class","isSlotUsed","name","variant","target","id","tabindex","onClick","onMouseEnter","onMouseLeave","innerHTML","dismissIcon"],"sources":["./src/components/ic-chip/ic-chip.css?tag=ic-chip&encapsulation=shadow","./src/components/ic-chip/ic-chip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n display: flex;\n padding: var(--ic-space-xxs);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n text-align: left;\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n.chip.small {\n padding: var(--ic-space-xxxs);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.chip.large {\n padding: var(--ic-space-xs);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.label {\n padding: 0 var(--ic-space-xs);\n}\n\n.chip.hovered:not(:focus-within) {\n background-color: var(--ic-architectural-300);\n}\n\n.chip:focus-within {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n.chip.outline.hovered:not(:focus-within) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\nic-tooltip:focus-within {\n z-index: 1;\n}\n\n.filled {\n background-color: var(--ic-architectural-200);\n color: black;\n border: none;\n}\n\n.filled.disabled {\n background-color: var(--ic-architectural-100);\n}\n\n.outline {\n color: var(--ic-architectural-900);\n border: var(--ic-space-1px) solid var(--ic-architectural-900);\n padding: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.outline.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n}\n\n.outline.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.outline.disabled {\n border: var(--ic-border-disabled);\n background: none;\n}\n\n.chip.disabled ic-typography {\n color: var(--ic-architectural-200);\n}\n\n.dismiss-icon {\n border: none;\n border-radius: 50%;\n padding: 0;\n background: none;\n cursor: pointer;\n margin: var(--ic-space-xxxs);\n height: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n width: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n}\n\n.dismiss-icon:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.dismiss-icon[disabled] {\n pointer-events: none;\n color: var(--ic-architectural-200);\n}\n\n.icon {\n padding: var(--ic-space-xxxs);\n box-sizing: border-box;\n}\n\n.icon,\nic-tooltip {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chip.disabled path,\n.chip.disabled ::slotted(svg) {\n fill: var(--ic-architectural-200);\n}\n\n@media (forced-colors: active) {\n .chip {\n border: var(--ic-hc-border);\n }\n\n .filled.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n }\n\n .filled {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n }\n\n .filled.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n }\n\n .chip.disabled {\n appearance: none;\n border-color: GrayText;\n }\n\n .chip.disabled ic-typography {\n color: GrayText;\n }\n\n .chip.disabled path,\n .chip.disabled ::slotted(svg) {\n fill: GrayText;\n }\n\n .chip:focus-within {\n outline: none;\n border-color: Highlight;\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcChipAppearance, IcChipSizes } from \"./ic-chip.types\";\nimport dismissIcon from \"../../assets/dismiss-icon.svg\";\n\n/**\n * @slot icon - Content will be rendered at the start of the chip.\n */\n@Component({\n tag: \"ic-chip\",\n styleUrl: \"ic-chip.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Chip {\n @Element() el: HTMLIcChipElement;\n\n /**\n * The text rendered within the chip.\n */\n @Prop() label!: string;\n /**\n * The emphasis of the chip.\n */\n @Prop() appearance?: IcChipAppearance = \"filled\";\n /**\n * The size of the chip.\n */\n @Prop() size?: IcChipSizes = \"default\";\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled?: boolean = false;\n\n @State() visible: boolean = true;\n\n @State() isHovered: boolean = false;\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = (): void => {\n this.isHovered = true;\n };\n\n private mouseLeaveHandler = (): void => {\n this.isHovered = false;\n };\n\n /**\n * Sets focus on the chip.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.dismissible &&\n this.el.shadowRoot\n .querySelector(\"span.ic-tooltip-label\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n }\n\n render() {\n const {\n label,\n appearance,\n size,\n dismissible,\n visible,\n disabled,\n isHovered,\n } = this;\n\n return (\n visible && (\n <div\n class={{\n [\"chip\"]: true,\n [`${appearance}`]: true,\n [`${size}`]: true,\n [\"disabled\"]: disabled,\n [\"dismissible\"]: dismissible,\n [\"hovered\"]: isHovered,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"label\"\n apply-vertical-margins={false}\n class=\"label\"\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label=\"Dismiss\"\n target=\"dismiss-icon\"\n class={{ [\"tooltip-disabled\"]: disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class={{\n [\"dismiss-icon\"]: true,\n }}\n aria-label={`Dismiss ${label} chip`}\n disabled={disabled}\n tabindex={disabled ? -1 : 0}\n onClick={this.dismissAction}\n onMouseEnter={this.mouseEnterHandler}\n onMouseLeave={this.mouseLeaveHandler}\n innerHTML={dismissIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )\n );\n }\n}\n"],"mappings":"0cAAA,MAAMA,EAAY,8tJ,MC6BLC,EAAI,M,+FA2CPC,KAAAC,cAAgB,KACtBD,KAAKE,QAAQC,OACbH,KAAKI,UAAUD,MAAM,EAGfH,KAAAK,kBAAoB,KAC1BL,KAAKM,UAAY,IAAI,EAGfN,KAAAO,kBAAoB,KAC1BP,KAAKM,UAAY,KAAK,E,qCA3CgB,S,UAIX,U,iBAIG,M,cAIH,M,aAED,K,eAEE,K,CAG9BE,cACER,KAAKS,SAAWT,KAAKS,O,CA8BvBC,iBACE,GAAIV,KAAKW,GAAGC,WAAWC,cAAc,UAAW,CAC9Cb,KAAKW,GAAGC,WAAWC,cAAc,UAAUC,O,EAI/CC,oBACEC,EAAoBhB,KAAKiB,SAAUjB,KAAKW,G,CAG1CO,mB,MACElB,KAAKmB,eACHC,EAAApB,KAAKW,GAAGC,WACLC,cAAc,4BAAwB,MAAAO,SAAA,SAAAA,EACrCC,aAAa,cAAe,SAClCC,EACE,CAAC,CAAEC,KAAMvB,KAAKwB,MAAOC,SAAU,UAC/B,O,CAIJC,SACE,MAAMF,MACJA,EAAKG,WACLA,EAAUC,KACVA,EAAIT,YACJA,EAAWV,QACXA,EAAOQ,SACPA,EAAQX,UACRA,GACEN,KAEJ,OACES,GACEoB,EAAA,OACEC,MAAO,CACL,CAAC,QAAS,KACV,CAAC,GAAGH,KAAe,KACnB,CAAC,GAAGC,KAAS,KACb,CAAC,YAAaX,EACd,CAAC,eAAgBE,EACjB,CAAC,WAAYb,IAGdyB,EAAW/B,KAAKW,GAAI,SACnBkB,EAAA,OAAKC,MAAM,QACTD,EAAA,QAAMG,KAAK,UAGfH,EAAA,iBACEI,QAAQ,QAAO,yBACS,MACxBH,MAAM,SAEND,EAAA,YAAOL,IAERL,GACCU,EAAA,cACEL,MAAM,UACNU,OAAO,eACPJ,MAAO,CAAE,CAAC,oBAAqBb,IAE/BY,EAAA,UACEM,GAAG,eACHL,MAAO,CACL,CAAC,gBAAiB,MACnB,aACW,WAAWN,SACvBP,SAAUA,EACVmB,SAAUnB,GAAY,EAAI,EAC1BoB,QAASrC,KAAKC,cACdqC,aAActC,KAAKK,kBACnBkC,aAAcvC,KAAKO,kBACnBiC,UAAWC,K"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationButtonCss","NavigationButton","this","inheritedAttributes","getThemeForegroundColor","navBarMenuOpenHandler","mode","navBarMenuCloseHandler","themeChangeHandler","ev","theme","detail","initialAppearance","async","buttonEl","focus","componentWillLoad","inheritAttributes","el","IC_INHERITED_ARIA","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","render","href","target","rel","download","referrerpolicy","className","variant","appearance","size","fullWidth","IcThemeForegroundEnum","Default","buttonProps","h","Host","class","Object","assign","ref","slot","name"],"sources":["./src/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","./src/components/ic-navigation-button/ic-navigation-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n} from \"@stencil/core\";\n\nimport {\n getThemeForegroundColor,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n @Element() el: HTMLIcNavigationButtonElement;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n @State() initialAppearance = getThemeForegroundColor();\n\n private buttonEl: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n ]);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n }\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcThemeForeground | IcThemeForegroundEnum.Default =\n this.initialAppearance;\n let size: \"default\" | \"large\" = \"large\";\n let fullWidth = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"default\";\n fullWidth = true;\n className = \"popout-menu-button\";\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n };\n\n return (\n <Host class={{ [\"in-side-menu\"]: this.mode === \"menu\" }}>\n <ic-button\n class={className}\n aria-label={this.label}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n >\n {label}\n <slot slot=\"icon\" name=\"icon\"></slot>\n </ic-button>\n </Host>\n );\n }\n}\n"],"mappings":"iJAAA,MAAMA,EAAwB,4+E,MCmCjBC,EAAgB,M,yBAwCnBC,KAAAC,oBAAgD,G,gGAlBlB,M,gEAaJ,S,uBAELC,G,CAM7BC,wBACEH,KAAKI,KAAO,M,CAIdC,yBACEL,KAAKI,KAAO,Q,CAIdE,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BT,KAAKU,kBAAoBF,EAAMJ,I,CAOjCO,iBACE,GAAIX,KAAKY,SAAU,CACjBZ,KAAKY,SAASC,O,EAIlBC,oBACEd,KAAKC,oBAAsBc,EAAkBf,KAAKgB,GAAI,IACjDC,EACH,S,CAIJC,mBACEC,EACE,CAAC,CAAEC,KAAMpB,KAAKqB,MAAOC,SAAU,UAC/B,oB,CAIJC,SACE,MAAMC,KAAEA,EAAIC,OAAEA,EAAMC,IAAEA,EAAGC,SAAEA,EAAQC,eAAEA,GAAmB5B,KAExD,IAAIqB,EAAQ,GACZ,IAAIQ,EAAY,GAChB,IAAIC,EAA+B,OACnC,IAAIC,EACF/B,KAAKU,kBACP,IAAIsB,EAA4B,QAChC,IAAIC,EAAY,MAEhB,GAAIjC,KAAKI,OAAS,OAAQ,CACxBiB,EAAQrB,KAAKqB,MACbS,EAAU,WACVC,EAAaG,EAAsBC,QACnCH,EAAO,UACPC,EAAY,KACZJ,EAAY,oB,CAGd,MAAMO,EAAc,CAClBN,UACAC,aACAC,OACAR,OACAC,SACAC,MACAC,WACAC,iBACAK,aAGF,OACEI,EAACC,EAAI,CAACC,MAAO,CAAE,CAAC,gBAAiBvC,KAAKI,OAAS,SAC7CiC,EAAA,YAAAG,OAAAC,OAAA,CACEF,MAAOV,EAAS,aACJ7B,KAAKqB,MACjBqB,IAAM1B,GAAQhB,KAAKY,SAAWI,GAC1BoB,EACApC,KAAKC,qBAERoB,EACDgB,EAAA,QAAMM,KAAK,OAAOC,KAAK,U"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterLinkGroupCss","FooterLinkGroup","this","handleKeydown","event","key","toggleExpanded","expanded","getThemeForegroundColor","DEVICE_SIZES","XL","isSmall","e","parentElement","classList","contains","footerResizeHandler","small","el","footerThemeChangeHandler","ev","theme","detail","dropdownIconStyle","mode","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","groupTitle","propName","render","h","Host","class","variant","tabIndex","onClick","onKeydown","fullHeight","xmlns","role","width","height","preserveAspectRatio","viewBox","fill","d","transform"],"sources":["./src/components/ic-footer-link-group/ic-footer-link-group.css?tag=ic-footer-link-group&encapsulation=shadow","./src/components/ic-footer-link-group/ic-footer-link-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-group-sparse) {\n --footer-link-group-margin-right: 5.938rem;\n --footer-link-group-border-bottom: 0 solid transparent;\n --footer-link-group-title-margin-top: 0;\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-small) {\n --footer-link-group-margin-right: 0;\n --footer-link-group-title-margin-top: var(--ic-space-md);\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n --footer-link-group-links-padding-left: var(--ic-space-md);\n --footer-link-group-links-padding-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-light.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-lighten);\n}\n\n:host(.footer-link-group-dark.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-darken);\n}\n\n:host(.footer-link-group) {\n margin-right: var(--footer-link-group-margin-right);\n border-bottom: var(--footer-link-group-border-bottom);\n}\n\n:host(.footer-link-group-small.footer-link-group-light:hover) {\n background-color: var(--ic-action-light-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:hover) {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-sparse:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small.footer-link-group-light:active) {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:active) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.footer-link-group-title {\n margin-top: var(--footer-link-group-title-margin-top);\n margin-bottom: var(--footer-link-group-title-margin-bottom);\n flex-grow: 1;\n}\n\n.footer-link-group-toggle {\n fill: white !important;\n}\n\n.footer-link-group-links {\n display: flex;\n flex-direction: column;\n}\n\n.footer-link-group-header {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n Host,\n Element,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTheme } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-footer-link-group\",\n styleUrl: \"ic-footer-link-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLinkGroup {\n @Element() el: HTMLIcFooterLinkGroupElement;\n\n /**\n * The title of the link group to be displayed.\n */\n @Prop() groupTitle!: string;\n\n @State() small: boolean = false;\n\n @State() expanded: boolean = false;\n\n @State() dropdownIconStyle = getThemeForegroundColor();\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n private isSmall(e: HTMLElement): boolean {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"footer\")) {\n return e.parentElement.classList.contains(\"footer-small\");\n } else {\n return this.isSmall(e.parentElement);\n }\n } else {\n return false;\n }\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === \" \" || event.key === \"Enter\") {\n this.toggleExpanded();\n }\n };\n\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.small = this.isSmall(this.el);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.dropdownIconStyle = theme.mode;\n }\n\n componentWillLoad(): void {\n this.small = this.isSmall(this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.groupTitle, propName: \"group-title\" }],\n \"Footer Link Group\"\n );\n }\n\n render() {\n const { small, groupTitle } = this;\n\n return !small ? (\n <Host\n class={{\n [\"footer-link-group footer-link-group-sparse\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n >\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"subtitle-small\">{groupTitle}</ic-typography>\n </div>\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n </Host>\n ) : (\n <Host\n class={{\n [\"footer-link-group footer-link-group-small\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n tabIndex=\"1\"\n onClick={this.toggleExpanded}\n onKeydown={this.handleKeydown}\n aria-haspopup=\"true\"\n aria-expanded={this.expanded}\n >\n <ic-section-container fullHeight={true}>\n <div class=\"footer-link-group-header\">\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"label\">{groupTitle}</ic-typography>\n </div>\n {this.expanded ? (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </svg>\n ) : (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <g transform=\"translate(0 1200) scale(1 -1)\">\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </g>\n </svg>\n )}\n </div>\n {this.expanded && (\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAuB,+zI,MCuBhBC,EAAe,M,yBA4BlBC,KAAAC,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC9CH,KAAKI,gB,GAIDJ,KAAAI,eAAiB,KACvBJ,KAAKK,UAAYL,KAAKK,QAAQ,E,qCA3BN,M,cAEG,M,uBAEAC,I,gBAECC,EAAaC,E,CAEnCC,QAAQC,GACd,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,OAAOH,EAAEC,cAAcC,UAAUC,SAAS,e,KACrC,CACL,OAAOb,KAAKS,QAAQC,EAAEC,c,MAEnB,CACL,OAAO,K,EAeXG,sBACEd,KAAKe,MAAQf,KAAKS,QAAQT,KAAKgB,G,CAIjCC,yBAAyBC,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BpB,KAAKqB,kBAAoBF,EAAMG,I,CAGjCC,oBACEvB,KAAKe,MAAQf,KAAKS,QAAQT,KAAKgB,G,CAGjCQ,mBACEC,EACE,CAAC,CAAEC,KAAM1B,KAAK2B,WAAYC,SAAU,gBACpC,oB,CAIJC,SACE,MAAMd,MAAEA,EAAKY,WAAEA,GAAe3B,KAE9B,OAAQe,EACNe,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,8CAA+C,KAChD,CAAC,qBAAqBhC,KAAKqB,qBAAsB,OAGnDS,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,kBAAkBN,IAE3CG,EAAA,OAAKE,MAAM,2BACTF,EAAA,eAIJA,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,6CAA8C,KAC/C,CAAC,qBAAqBhC,KAAKqB,qBAAsB,MAEnDa,SAAS,IACTC,QAASnC,KAAKI,eACdgC,UAAWpC,KAAKC,cAAa,gBACf,OAAM,gBACLD,KAAKK,UAEpByB,EAAA,wBAAsBO,WAAY,MAChCP,EAAA,OAAKE,MAAM,4BACTF,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,SAASN,IAEjC3B,KAAKK,SACJyB,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,QACEc,KAAK,eACLC,EAAE,8IAINf,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,KAAGgB,UAAU,iCACXhB,EAAA,QACEc,KAAK,eACLC,EAAE,gJAMX7C,KAAKK,UACJyB,EAAA,OAAKE,MAAM,2BACTF,EAAA,e"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPageHeaderCss","PageHeader","this","resizeObserver","resizeObserverCallback","reverseOrder","isSlotUsed","el","applyReverseOrder","runResizeObserver","ResizeObserver","observe","currSize","getCurrentDeviceSize","deviceSize","actionArea","shadowRoot","querySelector","actionHeights","i","actionContent","length","action","actionHeight","offsetHeight","undefined","push","max","Math","actionAreaHeight","appendActionContent","reverse","forEach","btn","append","areButtonsReversed","DEVICE_SIZES","S","XL","componentWillLoad","Array","from","querySelectorAll","componentDidLoad","checkResizeObserver","disconnectedCallback","disconnect","render","small","border","heading","subheading","aligned","sticky","stickyDesktopOnly","h","Host","class","fullHeight","name","variant"],"sources":["./src/components/ic-page-header/ic-page-header.css?tag=ic-page-header&encapsulation=shadow","./src/components/ic-page-header/ic-page-header.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-page-header: z-index of page-header\n */\n\n:host {\n display: block;\n z-index: var(--ic-z-index-page-header);\n}\n\n:host(.sticky) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n}\n\nheader {\n background-color: var(--ic-architectural-40);\n}\n\nheader.border-bottom {\n border-bottom: var(--ic-border-default);\n}\n\nheader.tabs {\n padding-top: var(--ic-space-md);\n}\n\n.breadcrumb-area {\n margin-bottom: var(--ic-space-md);\n}\n\n.main-content {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-areas:\n \"title-area action-area\"\n \"input-area action-area\";\n column-gap: var(--ic-space-md);\n justify-content: space-between;\n width: 100%;\n}\n\n.title-area {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 19rem;\n grid-area: title-area;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n width: 100%;\n flex-wrap: wrap;\n row-gap: var(--ic-space-xs);\n column-gap: var(--ic-space-md);\n}\n\n.heading {\n display: inline-block;\n overflow-wrap: break-word;\n hyphens: auto;\n}\n\n.subheading.small {\n margin-top: var(--ic-space-xs);\n}\n\n.action-area {\n display: flex;\n gap: var(--ic-space-md);\n flex-flow: row wrap;\n justify-self: end;\n justify-content: flex-end;\n height: fit-content;\n grid-area: action-area;\n}\n\n.input-area,\n.navigation-area {\n margin-top: var(--ic-space-md);\n width: 100%;\n}\n\n.tabs-slot {\n display: flex;\n overflow-x: auto;\n padding: 0.5rem;\n margin: -0.5rem;\n}\n\n.tabs-slot::-webkit-scrollbar {\n display: none;\n}\n\n.input-area {\n grid-area: input-area;\n}\n\n@media screen and (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n\n max-width: 20rem;\n }\n\n .main-content {\n grid-template-areas:\n \"title-area\"\n \"action-area\"\n \"input-area\";\n justify-content: flex-start;\n }\n\n .title-area {\n min-width: 0;\n }\n\n .action-area {\n min-width: 100%;\n margin-top: var(--ic-space-md);\n justify-content: start;\n }\n}\n\n@media screen and (min-width: 992px) {\n :host(.sticky-desktop) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\n\nimport { IcAlignment } from \"../../utils/types\";\n\nimport {\n isSlotUsed,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n checkResizeObserver,\n} from \"../../utils/helpers\";\n\n/**\n * @slot breadcrumbs - Content will be rendered in the breadcrumb area, above the title and action areas.\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot heading-adornment - Content will be rendered in the title area, adjacent to the heading.\n * @slot actions - Content will be rendered in the action area, adjacent to the title area.\n * @slot input - Content will be rendered in the input area, below the title area and adjacent to the action area.\n * @slot stepper - Content will be rendered in the navigation area, below the title and action areas. Note: stepper slot cannot be used when the tabs slot is being used.\n * @slot tabs - Content will be rendered in the navigation area, below the title and action areas. Note: the stepper slot cannot be used when the tabs slot is being used.\n */\n\n@Component({\n tag: \"ic-page-header\",\n styleUrl: \"ic-page-header.css\",\n shadow: true,\n})\nexport class PageHeader {\n @Element() el: HTMLIcPageHeaderElement;\n /**\n * The title to render on the page header.\n */\n @Prop() heading?: string;\n /**\n * The subtitle to render on the page header.\n */\n @Prop() subheading?: string;\n /**\n * The alignment of the page header.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n /**\n * If `true`, the small styling will be applied to the page header.\n */\n @Prop() small?: boolean = false;\n /**\n * If `true`, a border will be displayed along the bottom of the page header.\n */\n @Prop() border?: boolean = true;\n /**\n * If `true`, the page header will be sticky at all breakpoints.\n */\n @Prop() sticky?: boolean = false;\n /**\n * If `true`, the page header will only be sticky for viewport widths of 992px and above.\n */\n @Prop() stickyDesktopOnly?: boolean = false;\n /**\n * If `true`, the reading pattern and tab order will change in the action area for viewport widths of above 576px and when actions have not wrapped.\n */\n @Prop() reverseOrder?: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n @State() areButtonsReversed: boolean = false;\n\n @State() actionContent: Node[];\n\n private resizeObserver: ResizeObserver = null;\n\n private resizeObserverCallback = () => {\n if (this.reverseOrder && isSlotUsed(this.el, \"actions\")) {\n this.applyReverseOrder();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n private applyReverseOrder = (): void => {\n const currSize = getCurrentDeviceSize();\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n\n const actionArea = this.el.shadowRoot.querySelector(\n \"div.action-area\"\n ) as HTMLElement;\n const actionHeights: number[] = [];\n\n /* For each button in the actions slot, check the height of the button and push this number into the actionHeights array and then find the greatest number in this array (i.e. find the height of the tallest button) */\n for (let i = 0; i < this.actionContent.length; i++) {\n const action = this.actionContent[i] as HTMLElement;\n let actionHeight = action.offsetHeight;\n if (actionHeight === undefined) {\n actionHeight = 0;\n }\n actionHeights.push(actionHeight);\n }\n\n const max = Math.max(...actionHeights);\n\n /* The smallest breakpoint displays buttons in the same order the user has slotted them in. When the device size is larger than the small breakpoiint then the order of the button reverses due to best practice for reading patterns. If the device size is larger than the small breakpoint and the buttons have started to wrap then they follow the order the user has slotted them in. This logic is programmed based on the height of the action-area div that wraps the actions slot. If the height of the action-area div is taller than the height of the tallest button, then it is assumed that the taller height is caused by the buttons wrapping */\n let actionAreaHeight = actionArea.offsetHeight;\n\n if (actionAreaHeight === undefined) {\n actionAreaHeight = 0;\n }\n\n const appendActionContent = () => {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n };\n\n if (\n (this.deviceSize > DEVICE_SIZES.S &&\n actionAreaHeight <= max &&\n !this.areButtonsReversed) ||\n (((this.deviceSize > DEVICE_SIZES.S && actionAreaHeight > max) ||\n this.deviceSize <= DEVICE_SIZES.S) &&\n this.areButtonsReversed)\n ) {\n appendActionContent();\n }\n };\n\n componentWillLoad(): void {\n this.actionContent = Array.from(\n this.el.querySelectorAll(`[slot=\"actions\"]`)\n );\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const {\n small,\n border,\n heading,\n subheading,\n aligned,\n sticky,\n stickyDesktopOnly,\n } = this;\n\n return (\n <Host\n class={{\n [\"sticky\"]: sticky,\n [\"sticky-desktop\"]: !sticky && stickyDesktopOnly,\n }}\n >\n <header\n class={{\n [\"border-bottom\"]: border,\n [\"tabs\"]: isSlotUsed(this.el, \"tabs\"),\n }}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight={isSlotUsed(this.el, \"tabs\")}\n >\n {isSlotUsed(this.el, \"breadcrumbs\") && (\n <div class=\"breadcrumb-area\">\n <slot name=\"breadcrumbs\" />\n </div>\n )}\n <div class=\"main-content\">\n <div class=\"title-area\">\n <div class=\"header-content\">\n <slot name=\"heading\">\n <ic-typography\n variant={small ? \"h4\" : \"h2\"}\n class=\"heading\"\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n <slot name=\"heading-adornment\" />\n </div>\n <div>\n <slot name=\"subheading\">\n {subheading && (\n <ic-typography\n variant=\"body\"\n class={{ [\"subheading\"]: true, [\"small\"]: small }}\n >\n {subheading}\n </ic-typography>\n )}\n </slot>\n </div>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n {isSlotUsed(this.el, \"input\") && (\n <div class=\"input-area\">\n <slot name=\"input\" />\n </div>\n )}\n </div>\n\n {(isSlotUsed(this.el, \"stepper\") ||\n isSlotUsed(this.el, \"tabs\")) && (\n <div class=\"navigation-area\">\n {isSlotUsed(this.el, \"stepper\") &&\n !isSlotUsed(this.el, \"tabs\") && <slot name=\"stepper\" />}\n {isSlotUsed(this.el, \"tabs\") && (\n <nav aria-label=\"navigation-landmark-page-header\">\n <ic-horizontal-scroll>\n <ul class=\"tabs-slot\">\n <slot name=\"tabs\" />\n </ul>\n </ic-horizontal-scroll>\n </nav>\n )}\n </div>\n )}\n </ic-section-container>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPopoverMenuCss","PopoverMenu","this","setButtonFocus","_a","popoverMenuEls","currentFocus","focus","ARIA_LABEL","findAnchorEl","anchor","anchorElement","undefined","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","target","id","tagName","closeMenu","open","anchorEl","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","host","getAttribute","submenuLevel","parentLabel","handleBackButtonClick","parentPopover","openFromChild","handleMenuItemClick","detail","hasSubMenu","label","handleSubmenuChange","childEl","submenuTriggerFor","openFromParent","watchOpenHandler","some","menuItem","unshift","backButton","setTimeout","handleClick","preventDefault","async","openingFromChild","openingFromParent","handleKeyDown","key","blur","componentDidRender","createPopper","placement","modifiers","name","options","offset","componentWillRender","componentDidLoad","slotWrapper","popoverMenuElements","render","h","Host","class","menu","tabindex","ref","onClick","slot","viewBox","fill","xmlns","d","variant","role"],"sources":["./src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","./src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n height: 0;\n}\n\n.button {\n text-decoration: none;\n list-style-type: none;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n color: var(--ic-color-tertiary-text);\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n} from \"@stencil/core\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { createPopper } from \"@popperjs/core\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n @Element() host: HTMLIcPopoverMenuElement;\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 * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n @State() openingFromChild: boolean = false;\n\n @State() openingFromParent: boolean = false;\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(ev: CustomEvent): 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.host;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.host.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 @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 = this.submenuId !== undefined ? 1 : 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n }\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private anchorEl: HTMLElement;\n private currentFocus: number;\n private backButton: HTMLIcMenuItemElement;\n private ARIA_LABEL: string = \"aria-label\";\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (anchor === null || anchor === undefined) {\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 @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n ev.preventDefault();\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 /**\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 isNotPopoverMenuEl = (ev: Event) => {\n const target = ev.target as HTMLElement;\n return (\n target.id !== this.anchor &&\n target.tagName !== \"IC-MENU-ITEM\" &&\n target.tagName !== \"IC-MENU-GROUP\" &&\n target.tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n private closeMenu = () => {\n this.open = false;\n this.anchorEl?.focus();\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 // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, true);\n this.setButtonFocus();\n break;\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, false);\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n if (this.open) {\n this.closeMenu();\n this.host.blur();\n }\n break;\n }\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.host.getAttribute(this.ARIA_LABEL);\n\n if (this.submenuId !== undefined) {\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 componentDidRender(): void {\n if (this.open) {\n createPopper(this.anchorEl, this.host, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n ],\n });\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.host.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.host.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 render() {\n return (\n <Host class={{ open: this.open }}>\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {this.submenuId !== undefined && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul\n class=\"button\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n aria-owns={\n this.submenuId !== undefined\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n aria-controls={\n this.submenuId !== undefined\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n >\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSkeletonCss","Skeleton","componentWillLoad","this","el","style","height","width","default","heightOnly","widthOnly","render","variant","light","hasChild","firstElementChild","defaultSkeletonStyle","heightSetStyle","widthSetStyle","h","Host","class"],"sources":["./src/components/ic-skeleton/ic-skeleton.css?tag=ic-skeleton&encapsulation=shadow","./src/components/ic-skeleton/ic-skeleton.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n@keyframes loading {\n 0% {\n background-color: var(--ic-architectural-100);\n }\n\n 50% {\n background-color: var(--ic-architectural-200);\n }\n\n 100% {\n background-color: var(--ic-architectural-100);\n }\n}\n\n@keyframes loading-light {\n 0% {\n background-color: var(--ic-architectural-600);\n }\n\n 50% {\n background-color: var(--ic-architectural-400);\n }\n\n 100% {\n background-color: var(--ic-architectural-600);\n }\n}\n\n:host {\n display: inline-block;\n}\n\n:host(.skeleton) {\n background-color: var(--ic-architectural-100);\n border-radius: var(--ic-border-radius);\n animation: loading 1200ms infinite;\n display: inline-block;\n}\n\n:host(.skeleton) > * {\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.circle) {\n border-radius: 50%;\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-600);\n animation: loading-light 1200ms infinite;\n}\n\n@media (forced-colors: active) {\n :host(.skeleton) {\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n background: currentcolor;\n }\n}\n","import { Component, Element, Host, Prop, h, State } from \"@stencil/core\";\nimport { IcSkeletonVariants } from \"./ic-skeleton.types\";\n\n@Component({\n tag: \"ic-skeleton\",\n styleUrl: \"ic-skeleton.css\",\n shadow: true,\n})\nexport class Skeleton {\n @Element() el: HTMLIcSkeletonElement;\n /**\n * The variant of the skeleton that will be displayed.\n */\n @Prop() variant?: IcSkeletonVariants = \"rectangle\";\n /**\n * If `true`, the skeleton will be set to the light variant.\n */\n @Prop() light?: boolean = false;\n\n @State() hasChild: boolean;\n\n @State() default: boolean;\n\n @State() heightOnly: boolean;\n\n @State() widthOnly: boolean;\n\n componentWillLoad(): void {\n if (this.el.style.height === \"\" && this.el.style.width === \"\") {\n this.default = true;\n } else if (!(this.el.style.height === \"\") && this.el.style.width === \"\") {\n this.heightOnly = true;\n } else if (!(this.el.style.width === \"\") && this.el.style.height === \"\") {\n this.widthOnly = true;\n }\n }\n\n render() {\n const { variant, light } = this;\n\n this.hasChild = !!this.el.firstElementChild;\n\n const defaultSkeletonStyle = {\n height: variant == \"text\" ? \"1em\" : variant == \"circle\" ? \"25px\" : \"93px\",\n width: variant == \"circle\" ? \"25px\" : \"260px\",\n };\n\n const heightSetStyle = {\n height: this.el.style.height,\n width: variant == \"circle\" ? \"25px\" : \"260px\",\n };\n\n const widthSetStyle = {\n height: variant == \"text\" ? \"1em\" : variant == \"circle\" ? \"25px\" : \"93px\",\n width: this.el.style.width,\n };\n\n return (\n <Host\n class={{\n [\"skeleton\"]: true,\n [\"circle\"]: variant == \"circle\",\n [\"light\"]: light,\n }}\n style={\n (!this.hasChild && this.default && defaultSkeletonStyle) ||\n (this.heightOnly && heightSetStyle) ||\n (this.widthOnly && widthSetStyle)\n }\n aria-disabled=\"true\"\n >\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,iqG,MCQTC,EAAQ,M,sCAKoB,Y,WAIb,M,kGAU1BC,oBACE,GAAIC,KAAKC,GAAGC,MAAMC,SAAW,IAAMH,KAAKC,GAAGC,MAAME,QAAU,GAAI,CAC7DJ,KAAKK,QAAU,I,MACV,KAAML,KAAKC,GAAGC,MAAMC,SAAW,KAAOH,KAAKC,GAAGC,MAAME,QAAU,GAAI,CACvEJ,KAAKM,WAAa,I,MACb,KAAMN,KAAKC,GAAGC,MAAME,QAAU,KAAOJ,KAAKC,GAAGC,MAAMC,SAAW,GAAI,CACvEH,KAAKO,UAAY,I,EAIrBC,SACE,MAAMC,QAAEA,EAAOC,MAAEA,GAAUV,KAE3BA,KAAKW,WAAaX,KAAKC,GAAGW,kBAE1B,MAAMC,EAAuB,CAC3BV,OAAQM,GAAW,OAAS,MAAQA,GAAW,SAAW,OAAS,OACnEL,MAAOK,GAAW,SAAW,OAAS,SAGxC,MAAMK,EAAiB,CACrBX,OAAQH,KAAKC,GAAGC,MAAMC,OACtBC,MAAOK,GAAW,SAAW,OAAS,SAGxC,MAAMM,EAAgB,CACpBZ,OAAQM,GAAW,OAAS,MAAQA,GAAW,SAAW,OAAS,OACnEL,MAAOJ,KAAKC,GAAGC,MAAME,OAGvB,OACEY,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAa,KACd,CAAC,UAAWT,GAAW,SACvB,CAAC,SAAUC,GAEbR,OACIF,KAAKW,UAAYX,KAAKK,SAAWQ,GAClCb,KAAKM,YAAcQ,GACnBd,KAAKO,WAAaQ,EAAc,gBAErB,QAEdC,EAAA,a"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTextFieldCss","inputIds","TextField","this","inheritedAttributes","showLeftIcon","hasLeftIconSlot","onInput","ev","value","target","icInput","emit","onBlur","icBlur","onFocus","icFocus","isTextArea","rows","getInlineValidationText","getValidationText","validationText","hasStatus","status","disabled","showStatusText","IcInformationStatus","Success","validationInline","validationInlineInternal","handleFormReset","initialValue","undefined","inputId","debounceChanged","icChange","debounceEvent","debounce","watchValueHandler","newValue","inputEl","numChars","length","type","Number","min","minValueUnattained","max","maxValueExceeded","maxLength","maxLengthExceeded","async","focus","handleKeyDown","icKeydown","event","iconEl","el","querySelector","connectedCallback","componentWillLoad","inheritAttributes","IC_INHERITED_ARIA","readonly","addFormResetListener","removeDisabledFalse","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","disconnectedCallback","removeFormResetListener","render","name","required","small","placeholder","helperText","resize","validationStatus","spellcheck","inputmode","fullWidth","truncateValue","hiddenInput","disabledMode","placeholderText","currentStatus","Error","currentValidationText","maxNumChars","messageAriaLive","multiline","hiddenCharCountDescId","describedBy","getInputDescribedByText","trim","invalid","disabledText","renderHiddenInput","h","Host","class","hideLabel","for","multiLine","slot","Object","assign","id","ref","ariaActiveDescendant","ariaExpanded","ariaOwns","autocomplete","autocapitalize","autoFocus","role","isSlotUsed","isEmptyString","message","ariaLiveMode","variant","hidden"],"sources":["./src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","./src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n::placeholder {\n color: var(--ic-color-tertiary-text);\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(--ic-architectural-200);\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-color-primary-text);\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.maxlengthtext {\n color: var(--ic-color-secondary-text);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-primary-text);\n}\n\n.charcount {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n @Element() el: HTMLIcTextFieldElement;\n\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the text field.\n */\n @Prop({ reflect: true }) small: boolean = false;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min: string | number = undefined;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max: string | number = undefined;\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal: boolean = false;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n this.numChars = newValue.length;\n\n if (this.type === \"number\") {\n if (newValue && Number(newValue) < Number(this.min)) {\n this.minValueUnattained = true;\n } else {\n this.minValueUnattained = false;\n }\n if (Number(newValue) > Number(this.max)) {\n this.maxValueExceeded = true;\n } else {\n this.maxValueExceeded = false;\n }\n }\n\n if (this.maxLength > 0) {\n if (newValue.length > this.maxLength) {\n this.maxLengthExceeded = true;\n } else {\n this.maxLengthExceeded = false;\n }\n }\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n }\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n private getInlineValidationText = () => {\n this.getValidationText.emit({ value: this.validationText });\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n return (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline) &&\n !this.validationInlineInternal\n );\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n \"aria-autocomplete\",\n \"aria-haspopup\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getInlineValidationText();\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus =\n maxLengthExceeded || maxValueExceeded || minValueUnattained\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n maxValueExceeded ||\n minValueUnattained ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon && !readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n small={small}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"error\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxGroupCss","CheckboxGroup","selectHandler","ev","checkedOptions","Array","from","this","host","querySelectorAll","filter","checkbox","checked","disabled","icChange","emit","value","map","opt","textFieldValue","_a","querySelector","selectedOption","target","componentWillLoad","removeDisabledFalse","componentDidLoad","forEach","name","groupLabel","label","onComponentRequiredPropUndefined","prop","propName","render","describedBy","getInputDescribedByText","helperText","validationStatus","hadValidationStatus","hasValidationStatus","h","Host","class","small","required","hideLabel","id","trim","for","ariaLiveMode","status","message","validationText"],"sources":["./src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","./src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcInformationStatusOrEmpty } from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n @Element() host: HTMLIcCheckboxGroupElement;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the checkbox group.\n */\n @Prop() small: boolean = false;\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icCheck\")\n selectHandler(ev: CustomEvent): void {\n const checkedOptions = Array.from(\n this.host.querySelectorAll(\"ic-checkbox\")\n ).filter((checkbox) => checkbox.checked && !checkbox.disabled);\n this.icChange.emit({\n value: checkedOptions.map((opt) => opt.value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: ev.target as HTMLIcCheckboxElement,\n });\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.host);\n }\n\n componentDidLoad(): void {\n Array.from(this.host.querySelectorAll(\"ic-checkbox\")).forEach(\n (checkbox) => {\n if (!checkbox.name) checkbox.name = this.name;\n checkbox.groupLabel = this.label;\n }\n );\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n render() {\n const describedBy = getInputDescribedByText(\n this.name,\n this.helperText !== \"\",\n this.validationStatus !== \"\"\n );\n const hadValidationStatus = hasValidationStatus(\n this.validationStatus,\n this.disabled\n );\n\n return (\n <Host class={{ [\"small\"]: this.small }}>\n {(this.validationStatus === \"error\" ||\n this.required ||\n this.hideLabel) && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {this.label}{\" \"}\n {this.validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {this.required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={this.name}\n aria-labelledby={`${\n this.validationStatus === \"error\" || this.required || this.hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"\n } ${describedBy}`.trim()}\n disabled={this.disabled}\n >\n {!this.hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n for={this.name}\n ></ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {hadValidationStatus && (\n <ic-input-validation\n for={this.name}\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"iJAAA,MAAMA,EAAqB,47F,MCyBdC,EAAa,M,mHAgBI,M,eAKC,M,cAKD,M,gBAKC,G,WAKJ,M,sBAI8B,G,oBAItB,E,CAQjCC,cAAcC,GACZ,MAAMC,EAAiBC,MAAMC,KAC3BC,KAAKC,KAAKC,iBAAiB,gBAC3BC,QAAQC,GAAaA,EAASC,UAAYD,EAASE,WACrDN,KAAKO,SAASC,KAAK,CACjBC,MAAOZ,EAAea,KAAKC,GAAQA,EAAIF,QACvCZ,eAAgBA,EAAea,KAAKC,I,MAAQ,OAC1CP,SAAUO,EACVC,gBAAgBC,EAAAF,EAAIG,cAAc,oBAAgB,MAAAD,SAAA,SAAAA,EAAEJ,MACrD,IACDM,eAAgBnB,EAAGoB,Q,CAIvBC,oBACEC,EAAoBlB,KAAKM,SAAUN,KAAKC,K,CAG1CkB,mBACErB,MAAMC,KAAKC,KAAKC,KAAKC,iBAAiB,gBAAgBkB,SACnDhB,IACC,IAAKA,EAASiB,KAAMjB,EAASiB,KAAOrB,KAAKqB,KACzCjB,EAASkB,WAAatB,KAAKuB,KAAK,IAIpCC,EACE,CACE,CAAEC,KAAMzB,KAAKuB,MAAOG,SAAU,SAC9B,CAAED,KAAMzB,KAAKqB,KAAMK,SAAU,SAE/B,iB,CAIJC,SACE,MAAMC,EAAcC,EAClB7B,KAAKqB,KACLrB,KAAK8B,aAAe,GACpB9B,KAAK+B,mBAAqB,IAE5B,MAAMC,EAAsBC,EAC1BjC,KAAK+B,iBACL/B,KAAKM,UAGP,OACE4B,EAACC,EAAI,CAACC,MAAO,CAAE,CAAC,SAAUpC,KAAKqC,SAC3BrC,KAAK+B,mBAAqB,SAC1B/B,KAAKsC,UACLtC,KAAKuC,YACLL,EAAA,QACEM,GAAG,uBACHJ,MAAM,0BAAyB,cACnB,QAEXpC,KAAKuB,MAAO,IACZvB,KAAK+B,mBAAqB,QAAU,gBAAkB,KAAM,IAC5D/B,KAAKsC,SAAW,WAAa,MAGlCJ,EAAA,YACEM,GAAIxC,KAAKqB,KAAI,kBACI,GACfrB,KAAK+B,mBAAqB,SAAW/B,KAAKsC,UAAYtC,KAAKuC,UACvD,uBACA,MACFX,IAAca,OAClBnC,SAAUN,KAAKM,WAEbN,KAAKuC,WACLL,EAAA,cACEA,EAAA,kBACEE,MAAO,CAAE,CAAC,GAAGpC,KAAK+B,oBAAqB,MACvCR,MAAOvB,KAAKuB,MACZO,WAAY9B,KAAK8B,WACjBQ,SAAUtC,KAAKsC,SACfhC,SAAUN,KAAKM,SACfoC,IAAK1C,KAAKqB,QAIhBa,EAAA,OAAKE,MAAM,wBACTF,EAAA,eAGHF,GACCE,EAAA,uBACEQ,IAAK1C,KAAKqB,KACVsB,aAAa,SACbC,OAAQ5C,KAAK+B,iBACbc,QAAS7C,KAAK8C,iB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icToastCss","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","this","interactiveElements","dismissAction","icDismiss","emit","handleProgressChange","timerProgress","autoDismissTimeout","async","visible","isManual","dismissTimeout","window","setTimeout","timerRefreshInterval","setInterval","setFocus","document","activeElement","handleDismiss","clearInterval","handleKeyboard","ev","key","preventDefault","findNextInteractiveElement","shiftKey","repeat","stopImmediatePropagation","handleTimer","type","clearTimeout","handleLongText","headingTooLong","messageTooLong","console","error","isBackwards","first","last","length","source","target","isActive","currentIndex","found","some","el","index","targetEl","shadowRoot","componentWillLoad","heading","_a","message","isSlotUsed","dismissMode","variant","neutralVariantLabel","_b","neutralIconAriaLabel","VARIANT_ICONS","ariaLabel","setAttribute","undefined","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","actionContent","getSlot","dismissButton","querySelector","push","disconnectedCallback","render","dismissButtonAriaLabel","h","Host","class","role","name","innerHTML","icon","appearance","size","progress","id","closeIcon","onClick","IcThemeForegroundEnum","Light"],"sources":["./src/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","./src/components/ic-toast/ic-toast.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.hidden) {\n display: none;\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-architectural-800);\n color: var(--ic-color-white-text);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info-contrast);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-contrast);\n}\n\n.divider-error {\n background-color: var(--ic-status-error-contrast);\n}\n\n.divider-success {\n background-color: var(--ic-status-success-contrast);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-architectural-500);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-status-info-contrast);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-status-warning-contrast);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-status-error-contrast);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-status-success-contrast);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-message {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\nic-button,\n.toast-dismiss-timer {\n padding: var(--ic-space-xs);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcActivationTypes,\n IcStatusVariants,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n @Element() el: HTMLIcToastElement;\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n @State() visible = false;\n @State() timerProgress = 100;\n\n dismissTimeout: number;\n timerRefreshInterval: number;\n isManual: boolean;\n interactiveElements: ActionAreaElementTypes[] = [];\n neutralVariantLabel: string;\n\n /**\n * Used to display the individual toast\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible() {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n break;\n }\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const first = this.interactiveElements[0];\n const last = this.interactiveElements[this.interactiveElements.length - 1];\n\n const source = isBackwards ? first : last;\n const target = isBackwards ? last : first;\n if (this.isActive(source)) return target;\n\n let currentIndex: number;\n const found = this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n });\n\n if (!found) return first;\n return this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)];\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n if (targetEl === this.el) return !!this.el.shadowRoot.activeElement;\n return document.activeElement === targetEl;\n }\n\n componentWillLoad() {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant\n ? `${this.heading}${\n this.message !== undefined ? `. ${this.message}` : \"\"\n }`\n : this.message\n );\n }\n }\n\n componentDidLoad() {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n const actionContent = getSlot(this.el, \"action\") as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n }\n\n disconnectedCallback() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"hidden\"]: !visible }}\n role={isManual ? \"dialog\" : \"status\"}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-message\">\n <ic-typography variant=\"subtitle-large\">\n {visible && <h5>{heading}</h5>}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n appearance=\"light\"\n size=\"icon\"\n progress={this.timerProgress}\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Light}\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icRadioGroupCss","RadioGroup","this","handleKeyDown","event","key","radioOptions","getNextItemToSelect","selectedChild","click","preventDefault","currentItem","movingDown","numRadios","length","nextItem","disabled","selectHandler","checkedValue","detail","value","selectedOption","target","icChange","emit","radio","textFieldValue","_a","querySelector","undefined","forEach","radioOption","index","selected","shadowRoot","tabIndex","componentWillLoad","removeDisabledFalse","host","componentDidLoad","Array","from","querySelectorAll","name","groupLabel","label","orientation","isSlotUsed","onComponentRequiredPropUndefined","prop","propName","render","renderHiddenInput","h","Host","onKeyDown","class","small","role","required","hideLabel","validationStatus","helperText","hasValidationStatus","ariaLiveMode","status","message","validationText"],"sources":["./src/components/ic-radio-group/ic-radio-group.css?tag=ic-radio-group&encapsulation=shadow","./src/components/ic-radio-group/ic-radio-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n.radio-buttons-container {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xxs);\n}\n\n:host(.small) .radio-buttons-container {\n gap: var(--ic-space-xxxs);\n}\n\n:host([orientation=\"horizontal\"]) .radio-buttons-container {\n display: flex;\n flex-direction: row;\n gap: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.small[orientation=\"horizontal\"]) .radio-buttons-container {\n gap: var(--ic-space-xl);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Listen,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n hasValidationStatus,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcOrientation,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-radio-group.types\";\n\n@Component({\n tag: \"ic-radio-group\",\n styleUrl: \"ic-radio-group.css\",\n shadow: true,\n})\nexport class RadioGroup {\n private radioOptions: HTMLIcRadioOptionElement[];\n\n @Element() host: HTMLIcRadioGroupElement;\n\n /**\n * The label for the radio group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the radio group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * If `true`, the radio group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\n */\n @Prop({ reflect: true, mutable: true }) orientation: IcOrientation =\n \"vertical\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string;\n\n /**\n * If `true`, the small styling will be applied to the radio group.\n */\n @Prop() small: boolean = false;\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n /**\n * The checked state.\n */\n @State() checkedValue: string = \"\";\n @State() selectedChild: number = -1;\n\n /**\n * Emitted when a user selects a radio.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icCheck\")\n selectHandler(event: CustomEvent<IcValueEventDetail>): void {\n this.checkedValue = event.detail.value;\n const selectedOption = event.target as HTMLIcRadioOptionElement;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: selectedOption?.querySelector(\"ic-text-field\")?.value,\n },\n });\n\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = this.checkedValue === radioOption.value;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.radioOptions[0].shadowRoot.querySelector(\"input\").tabIndex =\n this.selectedChild > 0 ? -1 : 0;\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, true)\n ].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, false)\n ].click();\n event.preventDefault();\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numRadios = this.radioOptions.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 = numRadios;\n } else if (nextItem > numRadios) {\n nextItem = 0;\n }\n\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.host);\n }\n\n componentDidLoad(): void {\n this.radioOptions = Array.from(\n this.host.querySelectorAll(\"ic-radio-option\")\n );\n\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n });\n this.radioOptions[0].shadowRoot.querySelector(\"input\").tabIndex =\n this.selectedChild > 0 ? -1 : 0;\n\n if (\n this.orientation === \"horizontal\" &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], \"additional-field\") ||\n isSlotUsed(this.radioOptions[1], \"additional-field\"))))\n ) {\n this.orientation = \"vertical\";\n }\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Radio Group\"\n );\n }\n\n render() {\n renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checkedValue,\n this.disabled\n );\n\n return (\n <Host onKeyDown={this.handleKeyDown} class={{ small: this.small }}>\n <div\n role=\"radiogroup\"\n aria-label={`${this.label}${this.required ? \", required\" : \"\"}`}\n >\n {!this.hideLabel && (\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n ></ic-input-label>\n )}\n <div class=\"radio-buttons-container\">\n <slot></slot>\n </div>\n </div>\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSearchBarCss","inputIds","SearchBar","this","inputId","menuId","menuCloseFromMenuChangeEvent","truncateValue","assistiveHintEl","preventSubmit","prevNoOption","hasTimedOut","preLoad","retryButtonClick","handleSubmitSearch","highlightedValue","value","undefined","icSubmitSearch","emit","form","el","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","ev","key","preventDefault","handleRetry","retryViaKeyPress","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","label","loadingLabel","loading","filteredOptions","timeout","timeoutTimer","window","setTimeout","loadingErrorLabel","timedOut","onInput","target","noOptions","emptyOptionListText","options","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClear","keyboardEvent","mouseEvent","type","code","inputEl","clearTimeout","setFocus","icClear","handleMouseDown","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleSubmitSearchFocus","handleOptionSelect","icOptionSelect","handleMenuOptionHighlight","optionValue","_a","optionId","replace","ariaActiveDescendant","handleMenuChange","open","handleMenuCloseFromMenuChange","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","input","_b","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","isSubmitDisabled","valueNotSet","valueLengthLess","disabled","highlightFirstOptionAfterNoResults","handleSetFirstOption","prevNoOptionsList","find","filteredOption","loadingHandler","newValue","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","getLabelFromValue","async","handleKeyDown","keyEv","event","handleKeyboardOpen","handleKeyUp","debounceAriaLive","componentWillRender","componentWillLoad","removeDisabledFalse","componentDidLoad","focusOnLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","disconnectedCallback","remove","render","name","required","small","placeholder","helperText","readonly","spellcheck","fullWidth","hideLabel","autofocus","autocapitalize","autocomplete","disabledMode","describedBy","getInputDescribedByText","trim","describedById","disabledText","hasSuggestedSearch","menuOpen","isOrHasLoaded","expanded","renderHiddenInput","h","Host","class","onFocus","onBlur","ref","ariaExpanded","role","autoFocus","inputmode","debounce","slot","innerHTML","clearIcon","onClick","onMouseDown","size","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","searchIcon","Default","fullwidth","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl"],"sources":["./src/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","./src/components/ic-search-bar/ic-search-bar.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.search) {\n --divider-height: 1.5rem;\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcThemeForegroundEnum,\n IcMenuOption,\n} from \"../../utils/types\";\nimport {\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n getFilteredMenuOptions,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../utils/types\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-search-bar\",\n styleUrl: \"ic-search-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n @Element() el: HTMLIcSearchBarElement;\n\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private inputEl: HTMLIcTextFieldElement;\n\n private menuId = `${this.inputId}-menu`;\n private searchSubmitButton: HTMLIcButtonElement;\n private menu: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent: boolean = false;\n\n private anchorEl: HTMLElement;\n private truncateValue = false;\n\n private assistiveHintEl: HTMLSpanElement = null;\n private preventSubmit: boolean = false;\n private debounceAriaLive: number;\n\n private timeoutTimer: number;\n private prevNoOption: boolean = false;\n private hasTimedOut = false;\n private preLoad = true;\n private retryViaKeyPress: boolean;\n private retryButtonClick: boolean = false;\n\n /**\n * The label for the search bar.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the search bar will require a value.\n */\n @Prop() required?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The placeholder value to display.\n */\n @Prop() placeholder?: string = \"Search\";\n\n /**\n * Specify whether the search bar fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\n * If `true`, all options provided will be displayed.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the search bar.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The value of the search input.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n /**\n * The suggested search options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * Change the message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * Trigger loading state when fetching options asyncronously\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n\n @Watch(\"filteredOptions\")\n filteredOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableFilter && !this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n } else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n !this.preLoad &&\n (this.filteredOptions = [\n { label: this.emptyOptionListText, value: \"\" },\n ]);\n this.preLoad = true;\n }\n }\n this.debounceAriaLiveUpdate();\n }\n\n /**\n * If `true`, the search bar will be focused when component loaded.\n */\n @Prop() focusOnLoad?: boolean = false;\n\n /**\n * The hint text for the hidden assistive description element.\n */\n @Prop() hintText?: string =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The number of characters until suggestions appear.\n */\n @Prop() charactersUntilSuggestion: number = 2;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (\n this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options)\n ) {\n this.inputEl.value = getLabelFromValue(newValue, this.options);\n } else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n\n @Listen(\"icKeydown\", {})\n handleKeyDown(ev: CustomEvent): void {\n const keyEv: KeyboardEvent = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n\n @Listen(\"keyup\", {})\n handleKeyUp(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n\n private handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n\n const form: HTMLFormElement = this.el.closest(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n private handleSubmitSearchKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n\n private triggerLoading = () => {\n const loadingOption: IcMenuOption[] = [\n { label: this.loadingLabel, value: \"\", loading: true },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n }, this.timeout);\n }\n };\n\n // The icInput event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(\n this.options,\n false,\n this.value,\n \"anywhere\"\n );\n\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n\n this.debounceAriaLiveUpdate();\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarBlur instead.\n */\n @Event() icInputBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n private onInputBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarFocus instead.\n */\n @Event() icInputFocus: EventEmitter<IcValueEventDetail>;\n private onInputFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icInputFocus.emit({ value: value });\n\n this.handleShowClearButton(true);\n };\n\n // The icChange event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when value is cleared with clear button\n */\n @Event() icClear: EventEmitter<void>;\n private handleClear = (ev: Event) => {\n const keyboardEvent = ev as KeyboardEvent;\n const mouseEvent = ev as MouseEvent;\n\n if (\n mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\"\n ) {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n private handleMouseDown = (ev: Event) => {\n ev.preventDefault();\n };\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when option is highlighted within the menu\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the state of the menu changes (i.e. open or close)\n */\n @Event() icMenuChange: EventEmitter<IcMenuChangeEventDetail>;\n /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n\n this.searchSubmitFocused = false;\n };\n\n private handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n\n /**\n * Emitted when blur is invoked from ic-search-bar\n */\n @Event() icSearchBarBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n\n /**\n * Emitted when focus is invoked from ic-search-bar\n */\n @Event() icSearchBarFocus: EventEmitter<void>;\n\n /**\n * Emitted when the 'retry loading' button is clicked\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n @State() open: boolean = false;\n @State() filteredOptions: IcMenuOption[] = [];\n @State() ariaActiveDescendant: string;\n @State() showClearButton: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() searchSubmitFocused: boolean = false;\n @State() highlightedValue: string;\n\n private handleOptionSelect = (ev: CustomEvent) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n\n private handleMenuOptionHighlight = (ev: CustomEvent) => {\n const optionValue = ev.detail.optionId?.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n } else {\n this.ariaActiveDescendant = undefined;\n }\n };\n\n private handleMenuChange = (ev: CustomEvent) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n\n private handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n if (\n this.open &&\n this.options &&\n nextFocus !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick\n ) {\n this.setMenuChange(false);\n }\n\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl.setFocus();\n }\n\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n };\n\n private handleShowClearButton = (visible: boolean): void => {\n this.showClearButton = visible;\n };\n\n private handleFocusClearButton = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleMenuCloseFromMenuChange = (fromEvent: boolean): void => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n\n private handleTruncateValue = (truncate: boolean): void => {\n this.truncateValue = truncate;\n };\n\n private renderAssistiveHintEl = (): void => {\n const input = this.el.shadowRoot\n .querySelector(\"ic-text-field\")\n ?.shadowRoot?.querySelector(`#${this.inputId}`);\n\n if (\n input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()\n ) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n\n private updateSearchResultAriaLive = (): void => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n\n if (\n !this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion\n ) {\n searchResultsStatusEl.innerText = \"\";\n } else if (\n this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n searchResultsStatusEl &&\n !this.filteredOptions[0].loading\n ) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchResultsStatusEl.innerText = `${\n this.filteredOptions.length\n } result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n };\n\n private hasOptionsOrFilterDisabled = (): boolean =>\n this.options.length > 0 || this.disableFilter;\n\n private hadNoOptions = (): boolean =>\n this.filteredOptions.length === 1 &&\n this.filteredOptions[0].label === this.emptyOptionListText;\n\n private isSubmitDisabled = (): boolean => {\n const valueNotSet =\n this.value === undefined || this.value === null || this.value === \"\";\n const valueLengthLess = this.value.length < this.charactersUntilSuggestion;\n return (\n valueNotSet ||\n valueLengthLess ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading\n );\n };\n\n private highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find(\n (filteredOption) =>\n filteredOption.label === this.emptyOptionListText ||\n filteredOption.label === this.loadingErrorLabel ||\n filteredOption.label === this.loadingLabel\n );\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n\n componentWillRender(): void {\n this.highlightFirstOptionAfterNoResults();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n\n if (this.inputEl !== undefined) {\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\n \"ic-input-component-container\"\n );\n }\n }\n\n disconnectedCallback(): void {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n disabled,\n value,\n readonly,\n spellcheck,\n fullWidth,\n options,\n open,\n hideLabel,\n menuId,\n ariaActiveDescendant,\n truncateValue,\n autofocus,\n autocapitalize,\n autocomplete,\n filteredOptions,\n } = this;\n\n const disabledMode = readonly || disabled ? true : false;\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n } else {\n describedById = undefined;\n }\n\n const disabledText = disabledMode && !readonly;\n const hasSuggestedSearch = value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const isOrHasLoaded =\n this.filteredOptions.length === 1 &&\n (this.filteredOptions[0].label === this.loadingLabel ||\n filteredOptions[0].label === this.loadingErrorLabel);\n\n let expanded;\n\n if (options.length > 0) {\n if (menuOpen) {\n expanded = \"true\";\n } else {\n expanded = \"false\";\n }\n } else {\n expanded = undefined;\n }\n\n renderHiddenInput(true, this.el, name, value, disabledMode);\n\n return (\n <Host\n class={{\n [\"search\"]: true,\n [\"fullwidth\"]: fullWidth,\n [\"disabled\"]: disabled,\n [\"small\"]: small,\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-text-field\n ref={(el) => (this.inputEl = el)}\n inputId={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n small={small}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n name={name}\n truncateValue={truncateValue}\n value={\n options && !!getLabelFromValue(value, options)\n ? getLabelFromValue(value, options)\n : value\n }\n placeholder={placeholder}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : \"\"}\n aria-describedby={describedById}\n aria-owns={hasSuggestedSearch ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n ariaExpanded={expanded}\n ariaActiveDescendant={ariaActiveDescendant}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={hasSuggestedSearch ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n debounce={this.debounce}\n >\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n value && !disabledMode && this.showClearButton,\n }}\n slot=\"clear-button\"\n >\n <ic-button\n id=\"clear-button\"\n class=\"clear-button\"\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n onMouseDown={this.handleMouseDown}\n size={small ? \"small\" : \"default\"}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n <div\n class={{\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }}\n slot=\"search-submit-button\"\n >\n <ic-button\n id=\"search-submit-button\"\n aria-label=\"Search\"\n ref={(el) => (this.searchSubmitButton = el)}\n class={{\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }}\n disabled={this.isSubmitDisabled()}\n innerHTML={searchIcon}\n size={small ? \"small\" : \"default\"}\n onClick={this.handleSubmitSearch}\n onMouseDown={this.handleMouseDown}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n onKeyDown={this.handleSubmitSearchKeyDown}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n slot=\"menu\"\n >\n {menuOpen && value.length >= this.charactersUntilSuggestion && (\n <ic-menu\n class={{\n \"no-results\": this.hadNoOptions() || isOrHasLoaded,\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autoFocusOnSelected={false}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\n small={small}\n fullWidth={fullWidth}\n menuId={menuId}\n open={true}\n options={filteredOptions}\n onMenuOptionSelect={this.handleOptionSelect}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionId={this.handleMenuOptionHighlight}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n value={value}\n ></ic-menu>\n )}\n </div>\n </ic-text-field>\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"search-results-status\"\n ></div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationGroupCss","NavigationGroup","this","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","IC_NAVIGATION_ITEM","nodeName","mouseGate","sideNavExpandHandler","setTimeout","setInitialGroupedLinksWrapperHeight","topNavResizedHandler","ev","newSize","detail","size","deviceSize","inTopNavSideMenu","DEVICE_SIZES","L","setGroupedNavItemTabIndex","tabIndexValue","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","toggleGroupedLinkWrapperHeight","wrapper","expanded","getNavigationChildItemsHeight","toggleExpanded","linkWrapper","handleClick","navigationType","toggleDropdown","handleBlur","target","relatedTarget","contains","hideDropdown","handleTopNavKeydown","key","handleKeydown","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","dropdownOpen","handleMouseEnter","addEventListener","showDropdown","renderDropdownGroupedLinks","h","class","onMouseLeave","ref","renderGroupedLinks","navigationItemLength","length","parseInt","getComputedStyle","height","renderNavigationItems","expandable","XL","getThemeForegroundColor","childBlurHandler","navItemClickHandler","themeChangeHandler","theme","focusStyle","mode","async","groupEl","focus","removeEventListener","componentWillLoad","getCurrentDeviceSize","navParentDetails","getNavItemParentDetails","navType","parentEl","parent","componentDidLoad","disconnectedCallback","render","label","NavigationGroupElement","Host","collapsed","role","onMouseEnter","tabindex","onBlur","onClick","onKeyDown","variant","innerHTML","chevronIcon"],"sources":["./src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","./src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-space-1px) solid var(--ic-architectural-200);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n}\n\n:host(.in-side-menu) .navigation-group {\n height: 2.5rem;\n width: 100%;\n text-align: left;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 11.875rem;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) 0 var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding-left: var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n height: 0.45em;\n left: 0.75em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-primary-text);\n outline: none;\n cursor: pointer;\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:hover,\n:host(.in-side-menu) .navigation-group-side-menu:active,\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n background-color: var(--ic-architectural-20);\n color: var(--ic-action-default);\n cursor: auto;\n box-shadow: none;\n outline: none;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n color: var(--ic-action-default);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-default);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n color: var(--ic-action-default);\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-architectural-20);\n border-bottom: var(--ic-border-default);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto);\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.collapsed) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, 0);\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .navigation-group {\n height: var(--navigation-group-height);\n width: var(--navigation-group-width);\n justify-content: var(--navigation-group-justify-content);\n padding-right: var(--navigation-group-expand-toggle-padding);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:hover,\n:host(.navigation-group-side-nav) .navigation-group:active,\n:host(.navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n white-space: nowrap;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n}\n\n.menu-visibility-hidden {\n visibility: hidden;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n @Element() el: HTMLIcNavigationGroupElement;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n @State() dropdownOpen: boolean = false;\n\n @State() inTopNavSideMenu: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n @State() focusStyle = getThemeForegroundColor();\n\n @State() navigationType: IcNavType | \"\";\n\n @State() parentEl: HTMLElement;\n\n @State() expanded: boolean = true;\n\n private groupEl: HTMLElement;\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 50;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private nodeName = \"IC-NAVIGATION-GROUP\";\n private mouseGate: boolean = false;\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (): void => {\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n };\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (wrapper) {\n if (expanded) {\n wrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.setAttribute(\"style\", `--navigation-child-items-height: 0`);\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n const navigationItemLength =\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).length || 0;\n const navigationItem =\n this.el.querySelector(this.IC_NAVIGATION_ITEM) || null;\n\n if (\n this.navigationType === \"side\" &&\n !!navigationItemLength &&\n navigationItem\n ) {\n return `${\n parseInt(getComputedStyle(navigationItem).height) * navigationItemLength\n }px`;\n }\n\n return \"auto\";\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n\n if (linkWrapper && this.expanded) {\n linkWrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentDidLoad(): void {\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n const NavigationGroupElement =\n !inTopNavSideMenu || expandable ? \"button\" : \"div\";\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <NavigationGroupElement\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={dropdownOpen || this.expanded ? \"true\" : \"false\"}\n aria-haspopup={\n !inTopNavSideMenu && this.navigationType === \"top\"\n ? \"true\"\n : \"false\"\n }\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </NavigationGroupElement>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"mappings":"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"}