@ukic/web-components 3.9.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/dist/cjs/constants-8354f6e6.js +189 -0
  2. package/dist/cjs/constants-8354f6e6.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{helpers-a0e78e2e.js → helpers-ffe1c2d9.js} +6 -187
  5. package/dist/cjs/helpers-ffe1c2d9.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -1
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +2 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -1
  11. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +2 -1
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -1
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -1
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +27 -20
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -1
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -3
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +2 -1
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-row.cjs.entry.js +4 -3
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +7 -4
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +2 -1
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +4 -3
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -1
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +10 -9
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +6 -5
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +8 -7
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +12 -11
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +26 -12
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-link.cjs.entry.js +5 -4
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -2
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -2
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -5
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +8 -7
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -2
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +6 -5
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -5
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -5
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +6 -5
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -10
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-select.cjs.entry.js +13 -11
  87. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -5
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  91. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
  93. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-step.cjs.entry.js +15 -14
  95. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-stepper.cjs.entry.js +4 -3
  97. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-switch.cjs.entry.js +6 -5
  99. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
  101. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -3
  103. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  105. package/dist/cjs/ic-tab.cjs.entry.js +2 -1
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +32 -23
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +5 -4
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  112. package/dist/cjs/ic-toast.cjs.entry.js +7 -6
  113. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -3
  115. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -3
  117. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -1
  119. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-typography.cjs.entry.js +4 -3
  121. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  122. package/dist/cjs/index.cjs.js +15 -0
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +1 -1
  125. package/dist/collection/assets/ai-icon.svg +1 -1
  126. package/dist/collection/assets/error-icon.svg +4 -4
  127. package/dist/collection/assets/info-icon.svg +4 -4
  128. package/dist/collection/assets/neutral-icon.svg +4 -4
  129. package/dist/collection/assets/success-icon.svg +4 -4
  130. package/dist/collection/assets/warning-icon.svg +4 -4
  131. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +179 -0
  134. package/dist/collection/components/ic-button/ic-button.js +14 -8
  135. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  136. package/dist/collection/components/ic-button/ic-button.stories.js +191 -0
  137. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +10 -10
  138. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  139. package/dist/collection/components/ic-checkbox/ic-checkbox.js +2 -2
  140. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  141. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  142. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +11 -28
  143. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  144. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +30 -6
  145. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  146. package/dist/collection/components/ic-dialog/ic-dialog.js +5 -3
  147. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  148. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +40 -1
  149. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  150. package/dist/collection/components/ic-footer/ic-footer.stories.js +72 -0
  151. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  152. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  153. package/dist/collection/components/ic-hero/ic-hero.stories.js +72 -0
  154. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +8 -0
  155. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  156. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  157. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  158. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  159. package/dist/collection/components/ic-input-validation/ic-input-validation.css +5 -0
  160. package/dist/collection/components/ic-input-validation/ic-input-validation.js +22 -6
  161. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  162. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +1 -1
  163. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  164. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  165. package/dist/collection/components/ic-link/ic-link.js +1 -1
  166. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  167. package/dist/collection/components/ic-menu/ic-menu.css +2 -2
  168. package/dist/collection/components/ic-menu/ic-menu.js +4 -4
  169. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  170. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  171. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  172. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  173. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  174. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  175. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  176. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  177. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  178. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  179. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  180. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +14 -15
  181. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  182. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  183. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  184. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  185. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  186. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +39 -0
  187. package/dist/collection/components/ic-select/ic-select.js +10 -9
  188. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  189. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +8 -6
  190. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +6 -3
  191. package/dist/collection/components/ic-select/ic-select_(single).stories.js +8 -6
  192. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +60 -0
  193. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  194. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  195. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  196. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  197. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  198. package/dist/collection/components/ic-step/ic-step.js +13 -13
  199. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  200. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  201. package/dist/collection/components/ic-tab-context/ic-tab-context.js +27 -2
  202. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  203. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  204. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  205. package/dist/collection/components/ic-text-field/ic-text-field.css +4 -0
  206. package/dist/collection/components/ic-text-field/ic-text-field.js +53 -19
  207. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  208. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +102 -4
  209. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  210. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  211. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  212. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  213. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  214. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  215. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +236 -0
  216. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  217. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -4
  218. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  219. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  220. package/dist/collection/index.js +1 -1
  221. package/dist/collection/index.js.map +1 -1
  222. package/dist/collection/utils/types.js.map +1 -1
  223. package/dist/components/constants.js +176 -0
  224. package/dist/components/constants.js.map +1 -0
  225. package/dist/components/helpers.js +2 -174
  226. package/dist/components/helpers.js.map +1 -1
  227. package/dist/components/ic-action-chip.js +1 -1
  228. package/dist/components/ic-alert.js +3 -2
  229. package/dist/components/ic-alert.js.map +1 -1
  230. package/dist/components/ic-back-to-top.js +1 -1
  231. package/dist/components/ic-back-to-top.js.map +1 -1
  232. package/dist/components/ic-badge.js +1 -1
  233. package/dist/components/ic-breadcrumb-group.js +1 -1
  234. package/dist/components/ic-breadcrumb2.js +1 -1
  235. package/dist/components/ic-button2.js +17 -11
  236. package/dist/components/ic-button2.js.map +1 -1
  237. package/dist/components/ic-card-vertical.js +1 -1
  238. package/dist/components/ic-checkbox-group.js +3 -3
  239. package/dist/components/ic-checkbox.js +4 -4
  240. package/dist/components/ic-checkbox.js.map +1 -1
  241. package/dist/components/ic-chip.js +1 -1
  242. package/dist/components/ic-data-list.js +2 -2
  243. package/dist/components/ic-data-row.js +3 -3
  244. package/dist/components/ic-dialog.js +6 -4
  245. package/dist/components/ic-dialog.js.map +1 -1
  246. package/dist/components/ic-divider2.js +1 -1
  247. package/dist/components/ic-empty-state.js +3 -3
  248. package/dist/components/ic-footer-link-group.js +1 -1
  249. package/dist/components/ic-footer-link.js +3 -3
  250. package/dist/components/ic-footer.js +2 -1
  251. package/dist/components/ic-footer.js.map +1 -1
  252. package/dist/components/ic-hero.js +5 -5
  253. package/dist/components/ic-horizontal-scroll2.js +7 -7
  254. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  255. package/dist/components/ic-input-component-container2.js +5 -4
  256. package/dist/components/ic-input-component-container2.js.map +1 -1
  257. package/dist/components/ic-input-container2.js +2 -2
  258. package/dist/components/ic-input-label2.js +3 -3
  259. package/dist/components/ic-input-validation2.js +23 -7
  260. package/dist/components/ic-input-validation2.js.map +1 -1
  261. package/dist/components/ic-layout-grid-item.js +2 -2
  262. package/dist/components/ic-layout-grid.js +2 -2
  263. package/dist/components/ic-link2.js +3 -2
  264. package/dist/components/ic-link2.js.map +1 -1
  265. package/dist/components/ic-loading-indicator2.js +5 -5
  266. package/dist/components/ic-menu-group.js +2 -2
  267. package/dist/components/ic-menu-item2.js +1 -1
  268. package/dist/components/ic-menu2.js +6 -6
  269. package/dist/components/ic-menu2.js.map +1 -1
  270. package/dist/components/ic-navigation-button.js +2 -1
  271. package/dist/components/ic-navigation-button.js.map +1 -1
  272. package/dist/components/ic-navigation-group.js +2 -2
  273. package/dist/components/ic-navigation-item.js +1 -1
  274. package/dist/components/ic-navigation-menu2.js +5 -5
  275. package/dist/components/ic-navigation-menu2.js.map +1 -1
  276. package/dist/components/ic-page-header.js +7 -7
  277. package/dist/components/ic-pagination-item2.js +2 -2
  278. package/dist/components/ic-pagination.js +4 -4
  279. package/dist/components/ic-pagination.js.map +1 -1
  280. package/dist/components/ic-popover-menu.js +5 -5
  281. package/dist/components/ic-popover-menu.js.map +1 -1
  282. package/dist/components/ic-radio-group.js +5 -5
  283. package/dist/components/ic-radio-group.js.map +1 -1
  284. package/dist/components/ic-radio-option.js +5 -5
  285. package/dist/components/ic-radio-option.js.map +1 -1
  286. package/dist/components/ic-search-bar.js +10 -10
  287. package/dist/components/ic-search-bar.js.map +1 -1
  288. package/dist/components/ic-section-container2.js +2 -2
  289. package/dist/components/ic-select.js +12 -10
  290. package/dist/components/ic-select.js.map +1 -1
  291. package/dist/components/ic-side-navigation.js +5 -5
  292. package/dist/components/ic-side-navigation.js.map +1 -1
  293. package/dist/components/ic-skeleton.js +2 -2
  294. package/dist/components/ic-skip-link.js +2 -2
  295. package/dist/components/ic-status-tag.js +2 -2
  296. package/dist/components/ic-status-tag.js.map +1 -1
  297. package/dist/components/ic-step.js +14 -14
  298. package/dist/components/ic-stepper.js +2 -2
  299. package/dist/components/ic-switch.js +5 -5
  300. package/dist/components/ic-tab-context.js +11 -2
  301. package/dist/components/ic-tab-context.js.map +1 -1
  302. package/dist/components/ic-tab-group.js +2 -2
  303. package/dist/components/ic-tab-panel.js +2 -2
  304. package/dist/components/ic-tab-panel.js.map +1 -1
  305. package/dist/components/ic-text-field.js +31 -21
  306. package/dist/components/ic-text-field.js.map +1 -1
  307. package/dist/components/ic-theme.js +3 -2
  308. package/dist/components/ic-theme.js.map +1 -1
  309. package/dist/components/ic-toast-region.js +1 -1
  310. package/dist/components/ic-toast.js +5 -4
  311. package/dist/components/ic-toast.js.map +1 -1
  312. package/dist/components/ic-toggle-button-group.js +2 -2
  313. package/dist/components/ic-toggle-button.js +3 -3
  314. package/dist/components/ic-toggle-button.js.map +1 -1
  315. package/dist/components/ic-tooltip2.js +6 -4
  316. package/dist/components/ic-tooltip2.js.map +1 -1
  317. package/dist/components/ic-top-navigation.js +1 -1
  318. package/dist/components/ic-typography2.js +2 -2
  319. package/dist/components/index.js +1 -0
  320. package/dist/components/index.js.map +1 -1
  321. package/dist/core/core.css +32 -4
  322. package/dist/core/core.esm.js +1 -1
  323. package/dist/core/core.esm.js.map +1 -1
  324. package/dist/core/index.esm.js +1 -1
  325. package/dist/core/p-01aeffca.entry.js +2 -0
  326. package/dist/core/{p-b52000d9.entry.js.map → p-01aeffca.entry.js.map} +1 -1
  327. package/dist/core/p-0201abbf.entry.js +2 -0
  328. package/dist/core/{p-ea778379.entry.js.map → p-0201abbf.entry.js.map} +1 -1
  329. package/dist/core/p-02c2c31f.entry.js +2 -0
  330. package/dist/core/{p-6a576a8b.entry.js.map → p-02c2c31f.entry.js.map} +1 -1
  331. package/dist/core/p-0809aff4.entry.js +2 -0
  332. package/dist/core/{p-1e2f40b0.entry.js.map → p-0809aff4.entry.js.map} +1 -1
  333. package/dist/core/p-19366be6.entry.js +2 -0
  334. package/dist/core/{p-19cf2327.entry.js.map → p-19366be6.entry.js.map} +1 -1
  335. package/dist/core/p-1ab63899.entry.js +2 -0
  336. package/dist/core/{p-ef4b5469.entry.js.map → p-1ab63899.entry.js.map} +1 -1
  337. package/dist/core/p-1d4dfef1.entry.js +2 -0
  338. package/dist/core/{p-661ae402.entry.js.map → p-1d4dfef1.entry.js.map} +1 -1
  339. package/dist/core/p-1dab47b1.entry.js +2 -0
  340. package/dist/core/{p-72a9909c.entry.js.map → p-1dab47b1.entry.js.map} +1 -1
  341. package/dist/core/p-23b223bf.entry.js +2 -0
  342. package/dist/core/{p-f309d3af.entry.js.map → p-23b223bf.entry.js.map} +1 -1
  343. package/dist/core/p-35ee7c53.entry.js +2 -0
  344. package/dist/core/{p-9eeb5e85.entry.js.map → p-35ee7c53.entry.js.map} +1 -1
  345. package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
  346. package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
  347. package/dist/core/p-3a78bf6e.entry.js +2 -0
  348. package/dist/core/{p-2f4f392f.entry.js.map → p-3a78bf6e.entry.js.map} +1 -1
  349. package/dist/core/p-3f55bb5b.entry.js +2 -0
  350. package/dist/core/p-3f55bb5b.entry.js.map +1 -0
  351. package/dist/core/p-402813c9.entry.js +2 -0
  352. package/dist/core/{p-9323c234.entry.js.map → p-402813c9.entry.js.map} +1 -1
  353. package/dist/core/p-402c2455.entry.js +2 -0
  354. package/dist/core/{p-5daa7915.entry.js.map → p-402c2455.entry.js.map} +1 -1
  355. package/dist/core/p-46423f42.entry.js +2 -0
  356. package/dist/core/{p-b0d488d0.entry.js.map → p-46423f42.entry.js.map} +1 -1
  357. package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
  358. package/dist/core/p-4747c39f.entry.js.map +1 -0
  359. package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
  360. package/dist/core/p-4a2c02b2.entry.js +2 -0
  361. package/dist/core/{p-711bfeed.entry.js.map → p-4a2c02b2.entry.js.map} +1 -1
  362. package/dist/core/p-4dd8add9.entry.js +2 -0
  363. package/dist/core/{p-6ed0ac48.entry.js.map → p-4dd8add9.entry.js.map} +1 -1
  364. package/dist/core/p-515ded3f.entry.js +2 -0
  365. package/dist/core/{p-41f92698.entry.js.map → p-515ded3f.entry.js.map} +1 -1
  366. package/dist/core/p-52a2f800.entry.js +2 -0
  367. package/dist/core/p-52a2f800.entry.js.map +1 -0
  368. package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
  369. package/dist/core/p-57803949.entry.js +2 -0
  370. package/dist/core/{p-f6a02202.entry.js.map → p-57803949.entry.js.map} +1 -1
  371. package/dist/core/p-58b8d154.entry.js +2 -0
  372. package/dist/core/{p-cbe0d1bb.entry.js.map → p-58b8d154.entry.js.map} +1 -1
  373. package/dist/core/p-5c6efed3.entry.js +2 -0
  374. package/dist/core/{p-3dc54847.entry.js.map → p-5c6efed3.entry.js.map} +1 -1
  375. package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
  376. package/dist/core/p-641c26c4.js +2 -0
  377. package/dist/core/p-641c26c4.js.map +1 -0
  378. package/dist/core/p-65a3c216.entry.js +2 -0
  379. package/dist/core/{p-15dbccc2.entry.js.map → p-65a3c216.entry.js.map} +1 -1
  380. package/dist/core/p-69412f61.entry.js +2 -0
  381. package/dist/core/{p-21cf2beb.entry.js.map → p-69412f61.entry.js.map} +1 -1
  382. package/dist/core/p-69cc0f7d.entry.js +2 -0
  383. package/dist/core/{p-6014ab64.entry.js.map → p-69cc0f7d.entry.js.map} +1 -1
  384. package/dist/core/p-6ceedfa8.js +2 -0
  385. package/dist/core/p-6ceedfa8.js.map +1 -0
  386. package/dist/core/p-75a9b2e4.entry.js +2 -0
  387. package/dist/core/p-75a9b2e4.entry.js.map +1 -0
  388. package/dist/core/p-75e0278a.entry.js +2 -0
  389. package/dist/core/{p-4ca782eb.entry.js.map → p-75e0278a.entry.js.map} +1 -1
  390. package/dist/core/p-8326db29.entry.js +2 -0
  391. package/dist/core/{p-3e5d7a3d.entry.js.map → p-8326db29.entry.js.map} +1 -1
  392. package/dist/core/p-8af9413c.entry.js +2 -0
  393. package/dist/core/p-8af9413c.entry.js.map +1 -0
  394. package/dist/core/p-8d1fbbeb.entry.js +2 -0
  395. package/dist/core/{p-7cd4f6a6.entry.js.map → p-8d1fbbeb.entry.js.map} +1 -1
  396. package/dist/core/p-8d29c0fa.entry.js +2 -0
  397. package/dist/core/{p-52748d5c.entry.js.map → p-8d29c0fa.entry.js.map} +1 -1
  398. package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
  399. package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
  400. package/dist/core/p-a468df37.entry.js +2 -0
  401. package/dist/core/{p-fc3b1155.entry.js.map → p-a468df37.entry.js.map} +1 -1
  402. package/dist/core/p-a48b581a.entry.js +2 -0
  403. package/dist/core/{p-9f36791b.entry.js.map → p-a48b581a.entry.js.map} +1 -1
  404. package/dist/core/p-a4e67ab8.entry.js +2 -0
  405. package/dist/core/{p-4d1a3036.entry.js.map → p-a4e67ab8.entry.js.map} +1 -1
  406. package/dist/core/p-aab838e5.entry.js +2 -0
  407. package/dist/core/{p-9c013333.entry.js.map → p-aab838e5.entry.js.map} +1 -1
  408. package/dist/core/p-abb9dccb.entry.js +2 -0
  409. package/dist/core/{p-af9c391d.entry.js.map → p-abb9dccb.entry.js.map} +1 -1
  410. package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
  411. package/dist/core/p-b80d408f.entry.js +2 -0
  412. package/dist/core/p-b80d408f.entry.js.map +1 -0
  413. package/dist/core/p-b9018261.entry.js +2 -0
  414. package/dist/core/{p-0d680d19.entry.js.map → p-b9018261.entry.js.map} +1 -1
  415. package/dist/core/p-c81ffadd.entry.js +2 -0
  416. package/dist/core/{p-595a4d06.entry.js.map → p-c81ffadd.entry.js.map} +1 -1
  417. package/dist/core/p-cd63bcf2.entry.js +2 -0
  418. package/dist/core/p-cd63bcf2.entry.js.map +1 -0
  419. package/dist/core/p-cdd04ec2.entry.js +2 -0
  420. package/dist/core/{p-41ef74a7.entry.js.map → p-cdd04ec2.entry.js.map} +1 -1
  421. package/dist/core/p-d27e46ac.entry.js +2 -0
  422. package/dist/core/{p-cf631191.entry.js.map → p-d27e46ac.entry.js.map} +1 -1
  423. package/dist/core/p-d35f8bd4.entry.js +2 -0
  424. package/dist/core/{p-493eaabb.entry.js.map → p-d35f8bd4.entry.js.map} +1 -1
  425. package/dist/core/p-d6b3e02f.entry.js +2 -0
  426. package/dist/core/p-d6b3e02f.entry.js.map +1 -0
  427. package/dist/core/p-d7bd5aa0.entry.js +2 -0
  428. package/dist/core/p-d7bd5aa0.entry.js.map +1 -0
  429. package/dist/core/p-ed69f110.entry.js +2 -0
  430. package/dist/core/p-ed69f110.entry.js.map +1 -0
  431. package/dist/core/p-eddc5517.entry.js +2 -0
  432. package/dist/core/{p-313a8a2f.entry.js.map → p-eddc5517.entry.js.map} +1 -1
  433. package/dist/core/p-f045f59d.entry.js +2 -0
  434. package/dist/core/{p-317e005f.entry.js.map → p-f045f59d.entry.js.map} +1 -1
  435. package/dist/core/p-f086d6df.entry.js +2 -0
  436. package/dist/core/{p-43324339.entry.js.map → p-f086d6df.entry.js.map} +1 -1
  437. package/dist/core/p-f17e1525.entry.js +2 -0
  438. package/dist/core/{p-a77364f5.entry.js.map → p-f17e1525.entry.js.map} +1 -1
  439. package/dist/core/p-f78f34ce.entry.js +2 -0
  440. package/dist/core/{p-1d37ac1c.entry.js.map → p-f78f34ce.entry.js.map} +1 -1
  441. package/dist/core/p-fd488ed7.entry.js +2 -0
  442. package/dist/core/{p-a602a8e1.entry.js.map → p-fd488ed7.entry.js.map} +1 -1
  443. package/dist/core/p-ffc608a1.entry.js +2 -0
  444. package/dist/core/{p-8a4b12e4.entry.js.map → p-ffc608a1.entry.js.map} +1 -1
  445. package/dist/esm/constants-48759bda.js +176 -0
  446. package/dist/esm/constants-48759bda.js.map +1 -0
  447. package/dist/esm/core.js +1 -1
  448. package/dist/esm/{helpers-56631aa0.js → helpers-d8189e9d.js} +3 -175
  449. package/dist/esm/helpers-d8189e9d.js.map +1 -0
  450. package/dist/esm/ic-accordion-group.entry.js +2 -1
  451. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  452. package/dist/esm/ic-accordion.entry.js +2 -1
  453. package/dist/esm/ic-accordion.entry.js.map +1 -1
  454. package/dist/esm/ic-action-chip.entry.js +2 -1
  455. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  456. package/dist/esm/ic-alert.entry.js +3 -2
  457. package/dist/esm/ic-alert.entry.js.map +1 -1
  458. package/dist/esm/ic-back-to-top.entry.js +2 -1
  459. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  460. package/dist/esm/ic-badge.entry.js +2 -1
  461. package/dist/esm/ic-badge.entry.js.map +1 -1
  462. package/dist/esm/ic-breadcrumb-group.entry.js +2 -1
  463. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  464. package/dist/esm/ic-breadcrumb.entry.js +2 -1
  465. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  466. package/dist/esm/ic-button_3.entry.js +25 -18
  467. package/dist/esm/ic-button_3.entry.js.map +1 -1
  468. package/dist/esm/ic-card-vertical.entry.js +2 -1
  469. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  470. package/dist/esm/ic-checkbox-group.entry.js +4 -3
  471. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  472. package/dist/esm/ic-checkbox.entry.js +5 -4
  473. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  474. package/dist/esm/ic-chip.entry.js +2 -1
  475. package/dist/esm/ic-chip.entry.js.map +1 -1
  476. package/dist/esm/ic-data-list.entry.js +2 -2
  477. package/dist/esm/ic-data-row.entry.js +4 -3
  478. package/dist/esm/ic-data-row.entry.js.map +1 -1
  479. package/dist/esm/ic-dialog.entry.js +7 -4
  480. package/dist/esm/ic-dialog.entry.js.map +1 -1
  481. package/dist/esm/ic-divider.entry.js +2 -1
  482. package/dist/esm/ic-divider.entry.js.map +1 -1
  483. package/dist/esm/ic-empty-state.entry.js +4 -3
  484. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  485. package/dist/esm/ic-footer-link-group.entry.js +2 -1
  486. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  487. package/dist/esm/ic-footer-link.entry.js +4 -3
  488. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  489. package/dist/esm/ic-footer.entry.js +2 -1
  490. package/dist/esm/ic-footer.entry.js.map +1 -1
  491. package/dist/esm/ic-hero.entry.js +6 -5
  492. package/dist/esm/ic-hero.entry.js.map +1 -1
  493. package/dist/esm/ic-horizontal-scroll.entry.js +8 -7
  494. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  495. package/dist/esm/ic-input-component-container_3.entry.js +12 -11
  496. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  497. package/dist/esm/ic-input-label_2.entry.js +23 -9
  498. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  499. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  500. package/dist/esm/ic-layout-grid.entry.js +2 -2
  501. package/dist/esm/ic-link.entry.js +3 -2
  502. package/dist/esm/ic-link.entry.js.map +1 -1
  503. package/dist/esm/ic-menu-group.entry.js +3 -2
  504. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  505. package/dist/esm/ic-menu-item.entry.js +2 -1
  506. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  507. package/dist/esm/ic-navigation-button.entry.js +2 -1
  508. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  509. package/dist/esm/ic-navigation-group.entry.js +3 -2
  510. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  511. package/dist/esm/ic-navigation-item.entry.js +2 -1
  512. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  513. package/dist/esm/ic-navigation-menu.entry.js +6 -5
  514. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  515. package/dist/esm/ic-page-header.entry.js +8 -7
  516. package/dist/esm/ic-page-header.entry.js.map +1 -1
  517. package/dist/esm/ic-pagination-item.entry.js +3 -2
  518. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  519. package/dist/esm/ic-pagination.entry.js +6 -5
  520. package/dist/esm/ic-pagination.entry.js.map +1 -1
  521. package/dist/esm/ic-popover-menu.entry.js +6 -5
  522. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  523. package/dist/esm/ic-radio-group.entry.js +6 -5
  524. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  525. package/dist/esm/ic-radio-option.entry.js +6 -5
  526. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  527. package/dist/esm/ic-search-bar.entry.js +11 -10
  528. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  529. package/dist/esm/ic-section-container.entry.js +2 -2
  530. package/dist/esm/ic-select.entry.js +12 -10
  531. package/dist/esm/ic-select.entry.js.map +1 -1
  532. package/dist/esm/ic-side-navigation.entry.js +6 -5
  533. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  534. package/dist/esm/ic-skeleton.entry.js +2 -2
  535. package/dist/esm/ic-skip-link.entry.js +2 -2
  536. package/dist/esm/ic-status-tag.entry.js +4 -3
  537. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  538. package/dist/esm/ic-step.entry.js +15 -14
  539. package/dist/esm/ic-step.entry.js.map +1 -1
  540. package/dist/esm/ic-stepper.entry.js +4 -3
  541. package/dist/esm/ic-stepper.entry.js.map +1 -1
  542. package/dist/esm/ic-switch.entry.js +6 -5
  543. package/dist/esm/ic-switch.entry.js.map +1 -1
  544. package/dist/esm/ic-tab-context.entry.js +10 -2
  545. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  546. package/dist/esm/ic-tab-group.entry.js +4 -3
  547. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  548. package/dist/esm/ic-tab-panel.entry.js +2 -2
  549. package/dist/esm/ic-tab.entry.js +2 -1
  550. package/dist/esm/ic-tab.entry.js.map +1 -1
  551. package/dist/esm/ic-text-field.entry.js +30 -21
  552. package/dist/esm/ic-text-field.entry.js.map +1 -1
  553. package/dist/esm/ic-theme.entry.js +3 -2
  554. package/dist/esm/ic-theme.entry.js.map +1 -1
  555. package/dist/esm/ic-toast-region.entry.js +1 -1
  556. package/dist/esm/ic-toast.entry.js +5 -4
  557. package/dist/esm/ic-toast.entry.js.map +1 -1
  558. package/dist/esm/ic-toggle-button-group.entry.js +4 -3
  559. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  560. package/dist/esm/ic-toggle-button.entry.js +4 -3
  561. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  562. package/dist/esm/ic-top-navigation.entry.js +2 -1
  563. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  564. package/dist/esm/ic-typography.entry.js +4 -3
  565. package/dist/esm/ic-typography.entry.js.map +1 -1
  566. package/dist/esm/index.js +1 -1
  567. package/dist/esm/loader.js +1 -1
  568. package/dist/types/components/ic-button/ic-button.d.ts +1 -0
  569. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
  570. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +2 -0
  571. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
  572. package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +1 -0
  573. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -0
  574. package/dist/types/components/ic-text-field/ic-text-field.d.ts +6 -1
  575. package/dist/types/components.d.ts +14 -2
  576. package/dist/types/index.d.ts +1 -0
  577. package/dist/types/utils/types.d.ts +1 -0
  578. package/hydrate/index.js +244 -204
  579. package/hydrate/index.mjs +244 -204
  580. package/package.json +3 -3
  581. package/vscode-data.json +21 -0
  582. package/dist/cjs/helpers-a0e78e2e.js.map +0 -1
  583. package/dist/core/p-0d680d19.entry.js +0 -2
  584. package/dist/core/p-15dbccc2.entry.js +0 -2
  585. package/dist/core/p-19cf2327.entry.js +0 -2
  586. package/dist/core/p-1d37ac1c.entry.js +0 -2
  587. package/dist/core/p-1e2f40b0.entry.js +0 -2
  588. package/dist/core/p-21cf2beb.entry.js +0 -2
  589. package/dist/core/p-25007ec9.js +0 -2
  590. package/dist/core/p-25007ec9.js.map +0 -1
  591. package/dist/core/p-28efe829.entry.js +0 -2
  592. package/dist/core/p-28efe829.entry.js.map +0 -1
  593. package/dist/core/p-2f4f392f.entry.js +0 -2
  594. package/dist/core/p-313a8a2f.entry.js +0 -2
  595. package/dist/core/p-317e005f.entry.js +0 -2
  596. package/dist/core/p-3dc54847.entry.js +0 -2
  597. package/dist/core/p-3e5d7a3d.entry.js +0 -2
  598. package/dist/core/p-41ef74a7.entry.js +0 -2
  599. package/dist/core/p-41f92698.entry.js +0 -2
  600. package/dist/core/p-43324339.entry.js +0 -2
  601. package/dist/core/p-45dd12ee.entry.js.map +0 -1
  602. package/dist/core/p-493eaabb.entry.js +0 -2
  603. package/dist/core/p-4ca782eb.entry.js +0 -2
  604. package/dist/core/p-4d1a3036.entry.js +0 -2
  605. package/dist/core/p-52748d5c.entry.js +0 -2
  606. package/dist/core/p-595a4d06.entry.js +0 -2
  607. package/dist/core/p-5daa7915.entry.js +0 -2
  608. package/dist/core/p-5f68f62b.entry.js +0 -2
  609. package/dist/core/p-5f68f62b.entry.js.map +0 -1
  610. package/dist/core/p-6014ab64.entry.js +0 -2
  611. package/dist/core/p-661ae402.entry.js +0 -2
  612. package/dist/core/p-6a576a8b.entry.js +0 -2
  613. package/dist/core/p-6ed0ac48.entry.js +0 -2
  614. package/dist/core/p-711bfeed.entry.js +0 -2
  615. package/dist/core/p-72a9909c.entry.js +0 -2
  616. package/dist/core/p-742a9181.entry.js +0 -2
  617. package/dist/core/p-742a9181.entry.js.map +0 -1
  618. package/dist/core/p-7cd4f6a6.entry.js +0 -2
  619. package/dist/core/p-8a4b12e4.entry.js +0 -2
  620. package/dist/core/p-9323c234.entry.js +0 -2
  621. package/dist/core/p-948f89a0.entry.js +0 -2
  622. package/dist/core/p-948f89a0.entry.js.map +0 -1
  623. package/dist/core/p-97b93ddf.entry.js +0 -2
  624. package/dist/core/p-97b93ddf.entry.js.map +0 -1
  625. package/dist/core/p-9c013333.entry.js +0 -2
  626. package/dist/core/p-9eeb5e85.entry.js +0 -2
  627. package/dist/core/p-9f36791b.entry.js +0 -2
  628. package/dist/core/p-a602a8e1.entry.js +0 -2
  629. package/dist/core/p-a77364f5.entry.js +0 -2
  630. package/dist/core/p-af9c391d.entry.js +0 -2
  631. package/dist/core/p-b0d488d0.entry.js +0 -2
  632. package/dist/core/p-b25d33d8.entry.js +0 -2
  633. package/dist/core/p-b25d33d8.entry.js.map +0 -1
  634. package/dist/core/p-b52000d9.entry.js +0 -2
  635. package/dist/core/p-cbe0d1bb.entry.js +0 -2
  636. package/dist/core/p-ceea1712.entry.js +0 -2
  637. package/dist/core/p-ceea1712.entry.js.map +0 -1
  638. package/dist/core/p-cf631191.entry.js +0 -2
  639. package/dist/core/p-e652ab09.entry.js +0 -2
  640. package/dist/core/p-e652ab09.entry.js.map +0 -1
  641. package/dist/core/p-e876e47c.entry.js +0 -2
  642. package/dist/core/p-e876e47c.entry.js.map +0 -1
  643. package/dist/core/p-ea778379.entry.js +0 -2
  644. package/dist/core/p-ef4b5469.entry.js +0 -2
  645. package/dist/core/p-f309d3af.entry.js +0 -2
  646. package/dist/core/p-f6a02202.entry.js +0 -2
  647. package/dist/core/p-fc3b1155.entry.js +0 -2
  648. package/dist/esm/helpers-56631aa0.js.map +0 -1
  649. /package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +0 -0
  650. /package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +0 -0
  651. /package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +0 -0
  652. /package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +0 -0
  653. /package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +0 -0
  654. /package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +0 -0
  655. /package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +0 -0
  656. /package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["icToggleButtonCss","IcToggleButtonStyle0","TRACKED_ATTRIBUTES","ToggleButton","constructor","hostRef","this","checked","disabled","fullWidth","iconPlacement","loading","monochrome","outline","size","theme","tooltipPlacement","variant","handleFocus","ev","stopImmediatePropagation","handleClick","icToggleChecked","emit","watchDisabledHandler","removeDisabledFalse","el","componentWillLoad","isSlottedInGroup","parentAttributes","_a","parentElement","attributes","i","length","attribute","getNamedItem","name","value","componentDidLoad","onComponentRequiredPropUndefined","prop","accessibleLabel","label","propName","handleHostClick","e","render","iconVariant","h","Host","key","class","onFocus","onClick","title","isSlotUsed","slot"],"sources":["src/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","src/components/ic-toggle-button/ic-toggle-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(:not(.expand-toggle-group-child)) {\n display: inline-block;\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-full-width:not(.expand-toggle-group-child)) {\n width: 100%;\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n}\n\n:host(.expand-toggle-group-child:not(.ic-toggle-button-loading))\n ::part(button) {\n min-height: inherit;\n height: auto;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: none;\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n color: var(--toggle-button-text-colour-hover);\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n color: var(--toggle-button-text-colour-active);\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host ::part(button):focus {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host ::part(button):hover:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host ::part(button):active:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n color: var(--toggle-button-text-colour);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:hover) {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:active) {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(:not(.expand-toggle-group-child).ic-toggle-button-disabled) {\n border: var(--ic-border-width) dashed var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome)\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-hide-outline) {\n --toggle-button-border: transparent !important;\n --toggle-button-border-hover: transparent !important;\n --toggle-button-border-active: transparent !important;\n}\n\n:host(.ic-toggle-button-hide-outline) ::part(button):focus {\n border: none;\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline)\n ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Event,\n EventEmitter,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isSlottedInGroup,\n} from \"../../utils/helpers\";\nimport {\n IcSizes,\n IcThemeMode,\n IcIconPlacementOptions,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\n\nconst TRACKED_ATTRIBUTES = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n \"outline\",\n];\n\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\n\n@Component({\n tag: \"ic-toggle-button\",\n styleUrl: \"ic-toggle-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ToggleButton {\n @Element() el: HTMLIcToggleButtonElement;\n\n /**\n * The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\n */\n @Prop() accessibleLabel?: string;\n\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n @Prop({ mutable: true }) disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n @Prop({ mutable: true }) fullWidth = false;\n\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n @Prop() iconPlacement: IcIconPlacementOptions = \"left\";\n\n /**\n * The label to display in the toggle button. This is required for the default variant of toggle buttons.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the toggle button will be in loading state.\n */\n @Prop({ mutable: true }) loading = false;\n\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n @Prop({ mutable: true }) monochrome = false;\n\n /**\n * If `true`, the toggle button will display with an outline.\n */\n @Prop({ mutable: true }) outline = true;\n\n /**\n * The size of the toggle button to be displayed.\n */\n @Prop({ mutable: true }) size: IcSizes = \"medium\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true, mutable: true }) variant: \"default\" | \"icon\" =\n \"default\";\n\n /**\n * Emitted when the user clicks a toggle button.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (!isSlottedInGroup(this.el)) return;\n\n const parentAttributes = this.el.parentElement?.attributes;\n if (!parentAttributes) return;\n\n for (let i = 0; i < TRACKED_ATTRIBUTES.length; i++) {\n const attribute = parentAttributes.getNamedItem(TRACKED_ATTRIBUTES[i]);\n if (!attribute) continue;\n\n switch (attribute.name) {\n case TRACKED_ATTRIBUTES[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[1]:\n this.disabled = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[3]:\n this.iconPlacement = attribute.value as IcIconPlacementOptions;\n break;\n case TRACKED_ATTRIBUTES[4]:\n this.variant = attribute.value as \"default\" | \"icon\";\n break;\n case TRACKED_ATTRIBUTES[5]:\n this.size = attribute.value as IcSizes;\n break;\n case TRACKED_ATTRIBUTES[6]:\n this.theme = attribute.value as IcThemeMode;\n break;\n case TRACKED_ATTRIBUTES[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[8]:\n this.outline = attribute.value !== \"false\";\n break;\n }\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ],\n \"Toggle button\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n } else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n\n private handleFocus = (ev: FocusEvent) => {\n ev.stopImmediatePropagation();\n };\n\n private handleClick = () => {\n if (!this.loading && !this.disabled) {\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n };\n\n render() {\n const {\n accessibleLabel,\n checked,\n disabled,\n fullWidth,\n iconPlacement,\n monochrome,\n label,\n loading,\n outline,\n size,\n theme,\n tooltipPlacement,\n variant,\n } = this;\n\n const iconVariant = variant === \"icon\";\n\n return (\n <Host\n class={{\n \"ic-toggle-button-checked\": checked,\n \"ic-toggle-button-disabled\": disabled,\n \"ic-toggle-button-icon\": iconVariant,\n \"ic-toggle-button-loading\": loading,\n \"ic-toggle-button-monochrome\": monochrome,\n \"ic-toggle-button-full-width\": fullWidth,\n \"ic-toggle-button-hide-outline\": !outline,\n [`ic-toggle-button-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onFocus={this.handleFocus}\n >\n <ic-button\n aria-pressed={`${checked}`}\n variant={iconVariant ? \"icon\" : \"secondary\"}\n onClick={this.handleClick}\n title={accessibleLabel}\n aria-label={`${accessibleLabel ? accessibleLabel : label}, ${\n checked ? \"ticked\" : \"unticked\"\n }`}\n disabled={disabled}\n size={size}\n fullWidth={fullWidth}\n loading={loading}\n tooltipPlacement={tooltipPlacement}\n >\n {!iconVariant && label}\n <slot />\n {isSlotUsed(this.el, \"icon\") && (\n <slot name=\"icon\" slot={`${iconPlacement}-icon`}></slot>\n )}\n {isSlotUsed(this.el, \"badge\") && (\n <slot name=\"badge\" slot=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["icToggleButtonCss","IcToggleButtonStyle0","TRACKED_ATTRIBUTES","ToggleButton","constructor","hostRef","this","checked","disabled","fullWidth","iconPlacement","loading","monochrome","outline","size","theme","tooltipPlacement","variant","handleFocus","ev","stopImmediatePropagation","handleClick","icToggleChecked","emit","watchDisabledHandler","removeDisabledFalse","el","componentWillLoad","isSlottedInGroup","parentAttributes","_a","parentElement","attributes","i","length","attribute","getNamedItem","name","value","componentDidLoad","onComponentRequiredPropUndefined","prop","accessibleLabel","label","propName","handleHostClick","e","render","iconVariant","h","Host","key","class","onFocus","onClick","title","isSlotUsed","slot"],"sources":["src/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","src/components/ic-toggle-button/ic-toggle-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(:not(.expand-toggle-group-child)) {\n display: inline-block;\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-full-width:not(.expand-toggle-group-child)) {\n width: 100%;\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n}\n\n:host(.expand-toggle-group-child:not(.ic-toggle-button-loading))\n ::part(button) {\n min-height: inherit;\n height: auto;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: none;\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n color: var(--toggle-button-text-colour-hover);\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n color: var(--toggle-button-text-colour-active);\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host ::part(button):focus {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host ::part(button):hover:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host ::part(button):active:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n color: var(--toggle-button-text-colour);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:hover) {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:active) {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(:not(.expand-toggle-group-child).ic-toggle-button-disabled) {\n border: var(--ic-border-width) dashed var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome)\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-hide-outline) {\n --toggle-button-border: transparent !important;\n --toggle-button-border-hover: transparent !important;\n --toggle-button-border-active: transparent !important;\n}\n\n:host(.ic-toggle-button-hide-outline) ::part(button):focus {\n border: none;\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline)\n ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Event,\n EventEmitter,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isSlottedInGroup,\n} from \"../../utils/helpers\";\nimport {\n IcSizes,\n IcThemeMode,\n IcIconPlacementOptions,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\n\nconst TRACKED_ATTRIBUTES = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n \"outline\",\n];\n\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\n\n@Component({\n tag: \"ic-toggle-button\",\n styleUrl: \"ic-toggle-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ToggleButton {\n @Element() el: HTMLIcToggleButtonElement;\n\n /**\n * The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\n */\n @Prop() accessibleLabel?: string;\n\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n @Prop({ mutable: true }) disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n @Prop({ mutable: true }) fullWidth = false;\n\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n @Prop() iconPlacement: IcIconPlacementOptions = \"left\";\n\n /**\n * The label to display in the toggle button. This is required for the default variant of toggle buttons.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the toggle button will be in loading state.\n */\n @Prop({ mutable: true }) loading = false;\n\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n @Prop({ mutable: true }) monochrome = false;\n\n /**\n * If `true`, the toggle button will display with an outline.\n */\n @Prop({ mutable: true }) outline = true;\n\n /**\n * The size of the toggle button to be displayed.\n */\n @Prop({ mutable: true }) size: IcSizes = \"medium\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true, mutable: true }) variant: \"default\" | \"icon\" =\n \"default\";\n\n /**\n * Emitted when the user clicks a toggle button.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (!isSlottedInGroup(this.el)) return;\n\n const parentAttributes = this.el.parentElement?.attributes;\n if (!parentAttributes) return;\n\n for (let i = 0; i < TRACKED_ATTRIBUTES.length; i++) {\n const attribute = parentAttributes.getNamedItem(TRACKED_ATTRIBUTES[i]);\n if (!attribute) continue;\n\n switch (attribute.name) {\n case TRACKED_ATTRIBUTES[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[1]:\n this.disabled = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[3]:\n this.iconPlacement = attribute.value as IcIconPlacementOptions;\n break;\n case TRACKED_ATTRIBUTES[4]:\n this.variant = attribute.value as \"default\" | \"icon\";\n break;\n case TRACKED_ATTRIBUTES[5]:\n this.size = attribute.value as IcSizes;\n break;\n case TRACKED_ATTRIBUTES[6]:\n this.theme = attribute.value as IcThemeMode;\n break;\n case TRACKED_ATTRIBUTES[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[8]:\n this.outline = attribute.value !== \"false\";\n break;\n }\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ],\n \"Toggle button\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n } else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n\n private handleFocus = (ev: FocusEvent) => {\n ev.stopImmediatePropagation();\n };\n\n private handleClick = () => {\n if (!this.loading && !this.disabled) {\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n };\n\n render() {\n const {\n accessibleLabel,\n checked,\n disabled,\n fullWidth,\n iconPlacement,\n monochrome,\n label,\n loading,\n outline,\n size,\n theme,\n tooltipPlacement,\n variant,\n } = this;\n\n const iconVariant = variant === \"icon\";\n\n return (\n <Host\n class={{\n \"ic-toggle-button-checked\": checked,\n \"ic-toggle-button-disabled\": disabled,\n \"ic-toggle-button-icon\": iconVariant,\n \"ic-toggle-button-loading\": loading,\n \"ic-toggle-button-monochrome\": monochrome,\n \"ic-toggle-button-full-width\": fullWidth,\n \"ic-toggle-button-hide-outline\": !outline,\n [`ic-toggle-button-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onFocus={this.handleFocus}\n >\n <ic-button\n aria-pressed={`${checked}`}\n variant={iconVariant ? \"icon-tertiary\" : \"secondary\"}\n onClick={this.handleClick}\n title={accessibleLabel}\n aria-label={`${accessibleLabel ? accessibleLabel : label}, ${\n checked ? \"ticked\" : \"unticked\"\n }`}\n disabled={disabled}\n size={size}\n fullWidth={fullWidth}\n loading={loading}\n tooltipPlacement={tooltipPlacement}\n >\n {!iconVariant && label}\n <slot />\n {isSlotUsed(this.el, \"icon\") && (\n <slot name=\"icon\" slot={`${iconPlacement}-icon`}></slot>\n )}\n {isSlotUsed(this.el, \"badge\") && (\n <slot name=\"badge\" slot=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as a,g as i}from"./p-8e4e97b4.js";import{i as s,o as c,a as o}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const d=':host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.ic-empty-state-right),:host(.ic-empty-state-right) .action-area{align-items:flex-end;text-align:right}:host(.ic-empty-state-center),:host(.ic-empty-state-center) .action-area{align-items:center;text-align:center}:host(.image-medium) ::slotted(svg),:host(.image-medium) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}::slotted([slot="heading"]),.empty-state-heading{--ic-typography-color:var(--ic-empty-state-title)}::slotted([slot="subheading"]),.empty-state-subheading{--ic-typography-color:var(--ic-empty-state-subtitle)}::slotted([slot="body"]),.empty-state-body{--ic-typography-color:var(--ic-empty-state-body)}';const r=d;const l=class{constructor(e){t(this,e);this.hostMutationObserver=null;this.aligned="left";this.imageSize="medium";this.theme="inherit"}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){!s(this.el,"heading")&&c([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver((t=>o(t,["image","actions"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:t,body:i,maxLines:c,heading:o,imageSize:d,subheading:r,theme:l}=this;return e(a,{key:"d1f0ef089d59f00d57b70a44c22f248ce12314fa",class:{[`ic-empty-state-${t}`]:true,[`image-${d}`]:s(this.el,"image"),[`ic-theme-${l}`]:l!=="inherit"}},s(this.el,"image")&&e("slot",{key:"07406cfb8a629a854fe3e0b500f5a21db373e9a7",name:"image"}),e("div",{key:"cce8db2f16fd451a69c713792f42d4ca4a1d9e5e"},e("slot",{key:"6bb39d26bb009d445bce71434e5db8cf71829b2a",name:"heading"},e("ic-typography",{key:"46ffaf055facc3884b3b53041e89c5309db36869",variant:"h4",class:"empty-state-heading"},o)),e("slot",{key:"2d45d9838c8a13d2e4e916519a388c1a234eecb8",name:"subheading"},e("ic-typography",{key:"c3f0bac962303ac98f451821eb76d9ee731f9e19",variant:"subtitle-small",class:"empty-state-subheading"},r)),e("slot",{key:"a155c2825af5c81b8a19da1aa3b0878dc7abb478",name:"body"},e("ic-typography",{key:"2336a276e810acfa4bde850e78f9332acf4551ce",maxLines:c,class:"empty-state-body"},i))),s(this.el,"actions")&&e("div",{key:"75a4a0fce3f0a4206c35647de547e5caa76a015e",class:"action-area"},e("slot",{key:"2a0b08b6c6ade82137a5ea9337549092953a1a46",name:"actions"})))}get el(){return i(this)}};l.style=r;export{l as ic_empty_state};
2
+ //# sourceMappingURL=p-02c2c31f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icEmptyStateCss","IcEmptyStateStyle0","EmptyState","constructor","hostRef","this","hostMutationObserver","aligned","imageSize","theme","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","heading","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","body","maxLines","subheading","h","Host","key","class","name","variant"],"sources":["src/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","src/components/ic-empty-state/ic-empty-state.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n\n::slotted([slot=\"heading\"]),\n.empty-state-heading {\n --ic-typography-color: var(--ic-empty-state-title);\n}\n\n::slotted([slot=\"subheading\"]),\n.empty-state-subheading {\n --ic-typography-color: var(--ic-empty-state-subtitle);\n}\n\n::slotted([slot=\"body\"]),\n.empty-state-body {\n --ic-typography-color: var(--ic-empty-state-body);\n}\n","import { h, Component, Host, Prop, Element } from \"@stencil/core\";\n\nimport { IcEmptyStateAlignment } from \"./ic-empty-state.types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\n@Component({\n tag: \"ic-empty-state\",\n styleUrl: \"ic-empty-state.css\",\n shadow: true,\n})\nexport class EmptyState {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcEmptyStateElement;\n\n /**\n * The alignment of the empty state container.\n */\n @Prop() aligned?: IcEmptyStateAlignment = \"left\";\n\n /**\n * The body text rendered in the empty state container.\n */\n @Prop() body?: string;\n\n /**\n * The number of lines of body text to display before truncating.\n */\n @Prop() maxLines?: number;\n\n /**\n * The title rendered in the empty state container.\n */\n @Prop() heading?: string;\n\n /**\n * The size of the image or icon used in the image slot.\n */\n @Prop() imageSize?: IcSizes = \"medium\";\n\n /**\n * The subtitle rendered in the empty state container.\n */\n @Prop() subheading?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Empty State\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading, theme } =\n this;\n return (\n <Host\n class={{\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {isSlotUsed(this.el, \"image\") && <slot name=\"image\"></slot>}\n <div>\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" class=\"empty-state-heading\">\n {heading}\n </ic-typography>\n </slot>\n <slot name=\"subheading\">\n <ic-typography\n variant=\"subtitle-small\"\n class=\"empty-state-subheading\"\n >\n {subheading}\n </ic-typography>\n </slot>\n <slot name=\"body\">\n <ic-typography maxLines={maxLines} class=\"empty-state-body\">\n {body}\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAkB,gsCACxB,MAAAC,EAAeD,E,MCqBFE,EAAU,MALvB,WAAAC,CAAAC,G,UAMUC,KAAAC,qBAAgD,KAOhDD,KAAAE,QAAkC,OAoBlCF,KAAAG,UAAsB,SAUtBH,KAAAI,MAAsB,S,CAE9B,oBAAAC,G,OACEC,EAAAN,KAAKC,wBAAoB,MAAAK,SAAA,SAAAA,EAAEC,Y,CAG7B,gBAAAC,IACGC,EAAWT,KAAKU,GAAI,YACnBC,EACE,CAAC,CAAEC,KAAMZ,KAAKa,QAASC,SAAU,YACjC,eAGJd,KAAKC,qBAAuB,IAAIc,kBAAkBC,GAChDC,EAAwBD,EAAc,CAAC,QAAS,WAAYhB,QAE9DA,KAAKC,qBAAqBiB,QAAQlB,KAAKU,GAAI,CACzCS,UAAW,M,CAIf,MAAAC,GACE,MAAMlB,QAAEA,EAAOmB,KAAEA,EAAIC,SAAEA,EAAQT,QAAEA,EAAOV,UAAEA,EAASoB,WAAEA,EAAUnB,MAAEA,GAC/DJ,KACF,OACEwB,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,kBAAkBzB,KAAY,KAC/B,CAAC,SAASC,KAAcM,EAAWT,KAAKU,GAAI,SAC5C,CAAC,YAAYN,KAAUA,IAAU,YAGlCK,EAAWT,KAAKU,GAAI,UAAYc,EAAA,QAAAE,IAAA,2CAAME,KAAK,UAC5CJ,EAAA,OAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,2CAAME,KAAK,WACTJ,EAAA,iBAAAE,IAAA,2CAAeG,QAAQ,KAAKF,MAAM,uBAC/Bd,IAGLW,EAAA,QAAAE,IAAA,2CAAME,KAAK,cACTJ,EAAA,iBAAAE,IAAA,2CACEG,QAAQ,iBACRF,MAAM,0BAELJ,IAGLC,EAAA,QAAAE,IAAA,2CAAME,KAAK,QACTJ,EAAA,iBAAAE,IAAA,2CAAeJ,SAAUA,EAAUK,MAAM,oBACtCN,KAINZ,EAAWT,KAAKU,GAAI,YACnBc,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,a","ignoreList":[]}
1
+ {"version":3,"names":["icEmptyStateCss","IcEmptyStateStyle0","EmptyState","constructor","hostRef","this","hostMutationObserver","aligned","imageSize","theme","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","heading","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","body","maxLines","subheading","h","Host","key","class","name","variant"],"sources":["src/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","src/components/ic-empty-state/ic-empty-state.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n\n::slotted([slot=\"heading\"]),\n.empty-state-heading {\n --ic-typography-color: var(--ic-empty-state-title);\n}\n\n::slotted([slot=\"subheading\"]),\n.empty-state-subheading {\n --ic-typography-color: var(--ic-empty-state-subtitle);\n}\n\n::slotted([slot=\"body\"]),\n.empty-state-body {\n --ic-typography-color: var(--ic-empty-state-body);\n}\n","import { h, Component, Host, Prop, Element } from \"@stencil/core\";\n\nimport { IcEmptyStateAlignment } from \"./ic-empty-state.types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\n@Component({\n tag: \"ic-empty-state\",\n styleUrl: \"ic-empty-state.css\",\n shadow: true,\n})\nexport class EmptyState {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcEmptyStateElement;\n\n /**\n * The alignment of the empty state container.\n */\n @Prop() aligned?: IcEmptyStateAlignment = \"left\";\n\n /**\n * The body text rendered in the empty state container.\n */\n @Prop() body?: string;\n\n /**\n * The number of lines of body text to display before truncating.\n */\n @Prop() maxLines?: number;\n\n /**\n * The title rendered in the empty state container.\n */\n @Prop() heading?: string;\n\n /**\n * The size of the image or icon used in the image slot.\n */\n @Prop() imageSize?: IcSizes = \"medium\";\n\n /**\n * The subtitle rendered in the empty state container.\n */\n @Prop() subheading?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Empty State\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading, theme } =\n this;\n return (\n <Host\n class={{\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {isSlotUsed(this.el, \"image\") && <slot name=\"image\"></slot>}\n <div>\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" class=\"empty-state-heading\">\n {heading}\n </ic-typography>\n </slot>\n <slot name=\"subheading\">\n <ic-typography\n variant=\"subtitle-small\"\n class=\"empty-state-subheading\"\n >\n {subheading}\n </ic-typography>\n </slot>\n <slot name=\"body\">\n <ic-typography maxLines={maxLines} class=\"empty-state-body\">\n {body}\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAkB,gsCACxB,MAAAC,EAAeD,E,MCqBFE,EAAU,MALvB,WAAAC,CAAAC,G,UAMUC,KAAAC,qBAAgD,KAOhDD,KAAAE,QAAkC,OAoBlCF,KAAAG,UAAsB,SAUtBH,KAAAI,MAAsB,S,CAE9B,oBAAAC,G,OACEC,EAAAN,KAAKC,wBAAoB,MAAAK,SAAA,SAAAA,EAAEC,Y,CAG7B,gBAAAC,IACGC,EAAWT,KAAKU,GAAI,YACnBC,EACE,CAAC,CAAEC,KAAMZ,KAAKa,QAASC,SAAU,YACjC,eAGJd,KAAKC,qBAAuB,IAAIc,kBAAkBC,GAChDC,EAAwBD,EAAc,CAAC,QAAS,WAAYhB,QAE9DA,KAAKC,qBAAqBiB,QAAQlB,KAAKU,GAAI,CACzCS,UAAW,M,CAIf,MAAAC,GACE,MAAMlB,QAAEA,EAAOmB,KAAEA,EAAIC,SAAEA,EAAQT,QAAEA,EAAOV,UAAEA,EAASoB,WAAEA,EAAUnB,MAAEA,GAC/DJ,KACF,OACEwB,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,kBAAkBzB,KAAY,KAC/B,CAAC,SAASC,KAAcM,EAAWT,KAAKU,GAAI,SAC5C,CAAC,YAAYN,KAAUA,IAAU,YAGlCK,EAAWT,KAAKU,GAAI,UAAYc,EAAA,QAAAE,IAAA,2CAAME,KAAK,UAC5CJ,EAAA,OAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,2CAAME,KAAK,WACTJ,EAAA,iBAAAE,IAAA,2CAAeG,QAAQ,KAAKF,MAAM,uBAC/Bd,IAGLW,EAAA,QAAAE,IAAA,2CAAME,KAAK,cACTJ,EAAA,iBAAAE,IAAA,2CACEG,QAAQ,iBACRF,MAAM,0BAELJ,IAGLC,EAAA,QAAAE,IAAA,2CAAME,KAAK,QACTJ,EAAA,iBAAAE,IAAA,2CAAeJ,SAAUA,EAAUK,MAAM,oBACtCN,KAINZ,EAAWT,KAAKU,GAAI,YACnBc,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{A as r,B as h,C as o,r as n,E as l,o as c,q as d,m as u}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const b=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const p=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const f='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-search-bar-search){display:block;--divider-height:1.5rem;--ic-input-label-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-search-bar-outline);--input-bg-color:var(--ic-search-bar-background);--border-color-disabled:var(--ic-search-bar-outline-disabled);--menu-item-text-color:var(--ic-search-bar-dropdown-option-text);--menu-item-desc-text-color:var(--ic-search-bar-dropdown-option-description);--menu-bg-color:var(--ic-search-bar-dropdown-background);--menu-border-color:var(--ic-search-bar-dropdown-outline)}:host(.ic-search-bar-disabled){--ic-input-label-text-color:var(--ic-search-bar-label-disabled);--ic-input-label-helper-text-color:var(--ic-search-bar-subtitle-disabled)}:host(.ic-search-bar-search:hover){--border-color:var(--ic-search-bar-outline-hover)}:host(.ic-search-bar-search:active){--border-color:var(--ic-search-bar-outline-pressed)}:host(.ic-search-bar-search.ic-search-bar-small){--divider-height:1rem}:host(.ic-search-bar-full-width){width:100%}::-moz-placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}::placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}input{border:0;border-radius:var(--ic-border-radius);color:var(--ic-search-bar-filled-text);background-color:var(--input-bg-color);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(--ic-search-bar-filled-text-cursor)}input:focus{border:0;outline:0}input:disabled::-moz-placeholder{color:var(--ic-search-bar-disabled-text)}input:disabled,input:disabled::placeholder{color:var(--ic-search-bar-disabled-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-left-pad{padding-left:0}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.clear-button-container{align-items:center;margin-right:var(--ic-space-1px);display:none;visibility:hidden}.clear-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button-unfocused *{fill:var(--ic-search-bar-clear-button)}.clear-button:focus,.clear-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-unfocused *{fill:var(--ic-search-bar-filled-icon)}.search-submit-button-disabled *{fill:var(--ic-search-bar-icon-disabled)}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus,.search-submit-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:var(--ic-space-xxs)}.search-submit-button:focus,.search-submit-button:active *{fill:white}.divider{width:var(--ic-border-width);background-color:var(--ic-search-bar-dropdown-divider);height:var(--divider-height)}.menu-container{width:var(--input-width, 20rem);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);margin-bottom:calc(-1 * var(--ic-space-1px));margin-right:calc(-1 * var(--ic-space-1px));overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}@media (forced-colors: active){.search-submit-button-unfocused *{fill:canvastext}.search-submit-button-disabled *{fill:GrayText}}';const m=f;let v=0;const g=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icInput=i(this,"icInput",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.icKeydown=i(this,"icKeydown",7);this.hasTimedOut=false;this.inputId=`ic-search-bar-input-${v++}`;this.menuCloseFromMenuChangeEvent=false;this.menuId=`${this.inputId}-menu`;this.preLoad=true;this.preventSubmit=false;this.prevNoOption=false;this.retryButtonClick=false;this.retryViaKeyPress=false;this.truncateValue=false;this.clearButtonFocused=false;this.open=false;this.searchSubmitFocused=false;this.showClearButton=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.charactersUntilSuggestion=2;this.disabled=false;this.disableAutoFiltering=false;this.debounce=0;this.emptyOptionListText="No results found";this.focusOnLoad=false;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.assistiveHintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.labelField="label";this.loading=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.name=this.inputId;this.placeholder="Search";this.preventFormSubmitOnSearch=false;this.readonly=false;this.required=false;this.searchMode="navigation";this.size="medium";this.spellcheck=false;this.theme="inherit";this.valueField="value";this.filteredOptions=[];this.options=[];this.value="";this.handleClear=t=>{var i;const e=t;const s=t;if(s.type==="click"||e.code==="Enter"||e.code==="Space"){this.value="";(i=this.inputEl)===null||i===void 0?void 0:i.setAttribute("value","");this.loading=false;clearTimeout(this.timeoutTimer);this.filteredOptions=this.options;this.showMenuWithNoInput()&&this.setMenuChange(true);this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.onInput=({target:t})=>{this.value=t.value;this.icInput.emit({value:this.value});if(this.options.length>0){this.setMenuChange(true);this.preLoad=false;if(this.disableAutoFiltering===false){const t=r(this.options,false,this.value,"anywhere",this.labelField);this.filteredOptions=t.length>0?t:[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}}if(!this.showClearButton)this.showClearButton=true;this.debounceAriaLiveUpdate()};this.onInputBlur=({target:t,relatedTarget:i})=>{this.icSearchBarBlur.emit({value:t.value,relatedTarget:i})};this.onInputFocus=({target:t})=>{this.icSearchBarFocus.emit({value:t.value});this.showClearButton=true};this.handleClearBlur=({relatedTarget:t})=>{this.icClearBlur.emit({relatedTarget:t});this.clearButtonFocused=false};this.handleSubmitSearchBlur=({relatedTarget:t})=>{this.icSubmitSearchBlur.emit({relatedTarget:t});this.searchSubmitFocused=false};this.setInputValue=t=>{if(this.inputEl){const i=h(t,this.options,this.valueField,this.labelField);if(i)this.inputEl.value=i;else if(this.inputEl.value!==t){this.inputEl.value=t}}};this.handleMouseDown=t=>{t.preventDefault()};this.handleSubmitSearchFocus=()=>{this.searchSubmitFocused=true};this.handleSubmitSearch=()=>{if(this.highlightedValue)this.value=this.highlightedValue;this.highlightedValue=undefined;this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){o(t,this.searchSubmitButton)}};this.handleSubmitSearchKeyDown=t=>{if(t.key===" "){t.preventDefault();this.handleSubmitSearch()}};this.handleRetry=t=>{this.retryViaKeyPress=t.detail.keyPressed==="Enter";this.icRetryLoad.emit({value:t.detail.value});this.triggerLoading();this.retryButtonClick=true};this.triggerLoading=()=>{const t=[{[this.labelField]:this.loadingLabel,[this.valueField]:"",loading:true}];if(this.filteredOptions!==t)this.filteredOptions=t;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.filteredOptions=[{[this.labelField]:this.loadingErrorLabel,[this.valueField]:"",timedOut:true}]}),this.timeout)}};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuOptionHighlight=t=>{const{optionId:i}=t.detail;if(i)this.highlightedValue=i.replace(`${this.menuId}-`,"");this.ariaActiveDescendant=i||""};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open);if(!t.detail.open){this.menuCloseFromMenuChangeEvent=true}};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&(this.value||this.showMenuWithNoInput())&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.truncateValue=false;this.showMenuWithNoInput()&&this.debounceAriaLiveUpdate();this.icSearchBarFocus.emit()};this.handleHostBlur=({relatedTarget:t})=>{var i;if(this.open&&this.options&&t!==this.menu&&!this.retryViaKeyPress&&!this.retryButtonClick){this.setMenuChange(false)}if(this.retryButtonClick||this.retryViaKeyPress){(i=this.inputEl)===null||i===void 0?void 0:i.focus()}this.showClearButton=false;this.menuCloseFromMenuChangeEvent=false;this.truncateValue=true;this.icSearchBarBlur.emit({relatedTarget:t,value:this.value});this.retryViaKeyPress=false;this.retryButtonClick=false;this.showMenuWithNoInput()&&this.updateSearchResultAriaLive()};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.renderAssistiveHintEl=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#${this.inputId}`);if(e&&Object.keys(e).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.assistiveHintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";(i=e.after)===null||i===void 0?void 0:i.call(e,this.assistiveHintEl)}};this.updateSearchResultAriaLive=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".search-results-status");if(i){if(!this.open||this.value===""&&!this.showMenuWithNoInput()||this.value.length<this.charactersUntilSuggestion){i.innerText=""}else if(this.hasOptionsOrFilterDisabled()&&this.filteredOptions.length>0&&this.open&&!this.filteredOptions[0].loading){i.innerText=this.hadNoOptions()?this.emptyOptionListText:`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableAutoFiltering;this.hadNoOptions=()=>this.filteredOptions.length===1&&this.filteredOptions[0][this.labelField]===this.emptyOptionListText&&this.searchMode==="navigation";this.isSubmitDisabled=()=>!this.value||this.value.length<this.charactersUntilSuggestion||this.disabled||this.hadNoOptions()||this.hasTimedOut||this.loading;this.showMenuWithNoInput=()=>this.charactersUntilSuggestion===0;this.updateSearchButtonType=()=>{this.searchButtonType=!!this.el.closest("FORM")&&!this.preventFormSubmitOnSearch?"submit":"button"}}watchCharactersUntilSuggestionHandler(){if(this.showMenuWithNoInput()){this.filteredOptions=this.options}}watchDisabledHandler(){n(this.disabled,this.el)}debounceChanged(){this.icChange=l(this.icChange,this.debounce)}loadingHandler(t){if(t&&!this.hasTimedOut){this.preLoad=false;this.triggerLoading()}}preventFormSubmitOnSearchHandler(){this.updateSearchButtonType()}filteredOptionsHandler(t){this.hasTimedOut=t.some((t=>t.timedOut))}watchOptionsHandler(t){if(this.disableAutoFiltering){if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(t.length>0){this.filteredOptions=t}else{if(this.hadNoOptions()){return}this.setMenuChange(true);if(!this.preLoad){this.filteredOptions=[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}this.preLoad=true}}}else if(this.showMenuWithNoInput()){this.filteredOptions=t}this.debounceAriaLiveUpdate()}watchValueHandler(t){this.setInputValue(t);this.icChange.emit({value:t})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var t;(t=this.assistiveHintEl)===null||t===void 0?void 0:t.remove()}componentWillLoad(){this.setInputValue(this.value);n(this.disabled,this.el);this.updateSearchButtonType()}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableAutoFiltering||this.showMenuWithNoInput()){this.filteredOptions=this.options}}c([{prop:this.label,propName:"label"}],"Search Bar")}componentWillRender(){if(this.prevNoOption&&this.menu&&!this.hasTimedOut){this.menu.handleSetFirstOption();this.prevNoOption=false}if(this.filteredOptions.find((t=>t[this.labelField]===this.emptyOptionListText||t[this.labelField]===this.loadingErrorLabel||t[this.labelField]===this.loadingLabel))){this.prevNoOption=true}}handleKeyDown(t){this.icKeydown.emit({event:t});if(this.menu&&this.open){this.menu.handleKeyboardOpen(t)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit||this.isSubmitDisabled()){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}async setFocus(){var t;this.retryViaKeyPress=false;this.retryButtonClick=false;(t=this.inputEl)===null||t===void 0?void 0:t.focus()}debounceAriaLiveUpdate(){clearTimeout(this.debounceAriaLive);this.debounceAriaLive=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}render(){const{inputId:t,name:i,label:a,required:r,size:o,placeholder:n,helperText:l,disabled:c,value:f,readonly:m,spellcheck:v,fullWidth:g,options:w,open:y,hideLabel:x,menuId:k,ariaActiveDescendant:L,truncateValue:z,autofocus:C,autocapitalize:S,autocomplete:T,filteredOptions:B,theme:F,charactersUntilSuggestion:H,labelField:O,valueField:M,loadingLabel:$,loadingErrorLabel:E,searchMode:D,showClearButton:I,searchSubmitFocused:j,clearButtonFocused:q,searchButtonType:U}=this;const W=m||c;const K=d(this.el,t,l!=="",false).trim();let R=undefined;if(K!==""&&this.hasOptionsOrFilterDisabled()){R=`${K} ${t}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){R=`${t}-assistive-hint`}else if(K!==""){R=K}const V=(!!f||this.showMenuWithNoInput())&&this.hasOptionsOrFilterDisabled();const A=V&&y&&B.length>0;const Z=A&&f.length>=H;const N=h(f,w,M,O);u(this.el,f,i,W);return e(s,{key:"71d9a6e7a555373e98a3ee7ea114fc1f69f06570",class:{"ic-search-bar-search":true,"ic-search-bar-full-width":g,"ic-search-bar-disabled":c,"ic-search-bar-small":o==="small",[`ic-theme-${F}`]:F!=="inherit"},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},e("ic-input-container",{key:"23dfe2a04d5c039174366f85fa42df074fd30c98",readonly:m,disabled:W},!x&&e("ic-input-label",{key:"1c222b2269cbab7436dc225b75e09568d323a1f0",for:t,label:a,helperText:l,required:r,disabled:W&&!m,readonly:m},e("slot",{key:"e38a00e300ddc76daaf3c52332adab4ac16038c4",name:"helper-text",slot:"helper-text"})),e("ic-input-component-container",{key:"17dff32cab5a5b34673c1255f0a1d696b9df84b4",ref:t=>this.anchorEl=t,size:o,disabled:W,readonly:m,fullWidth:g},e("input",{key:"e5d666c8a1609a1683b735940afd707e67b7eaa6",id:t,name:i,ref:t=>this.inputEl=t,value:w&&!!N?N:f,class:{"no-left-pad":m,readonly:m,"truncate-value":z},placeholder:n,required:r,disabled:W,readonly:m,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":x?a:undefined,"aria-activedescendant":L,"aria-expanded":w.length>0&&Z?`${A}`:undefined,"aria-owns":Z?k:undefined,"aria-describedby":R,"aria-controls":Z?k:undefined,"aria-haspopup":w.length>0?"listbox":undefined,"aria-autocomplete":V?"list":undefined,role:w.length>0&&Z?"combobox":undefined,autocomplete:T,autocapitalize:S,autoFocus:C,spellcheck:v,inputmode:"search"}),e("div",{key:"98887c2626a05e3ddc15c7ddad3a756262c197e8",class:{"clear-button-container":true,"clear-button-visible":!!f&&!W&&I}},e("ic-button",{key:"119b7ae17e8c7cbd8a56e6bd8136340c269958e3",id:"clear-button",class:{"clear-button":true,"clear-button-unfocused":!q},"aria-label":"Clear",innerHTML:b,onClick:this.handleClear,onMouseDown:this.handleMouseDown,size:o,onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"button",variant:"icon-tertiary",theme:q?"light":"dark"}),e("div",{key:"bf3e848c1e275217c686f3aab3b10a09396d6b4e",class:"divider"})),e("div",{key:"4075cd96e0274043b8da4e25d32a5cee5d4bb0e5",class:{"search-submit-button-container":true,"search-submit-button-disabled":this.isSubmitDisabled()}},e("ic-button",{key:"77e1e8bfef4ce5304dbf877b5ecfc440d37d864c",id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{"search-submit-button":true,"search-submit-button-small":o==="small","search-submit-button-unfocused":!j,"search-submit-button-disabled":this.isSubmitDisabled()},disabled:this.isSubmitDisabled(),innerHTML:p,size:o,onClick:this.handleSubmitSearch,onMouseDown:this.handleMouseDown,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,onKeyDown:this.handleSubmitSearchKeyDown,type:U,variant:"icon-tertiary",theme:j?"light":"dark"}))),e("div",{key:"20e98815de9ec0c35fa247026de3d9e273161ea6",class:{"menu-container":true,fullwidth:g}},Z&&this.anchorEl&&this.inputEl&&e("ic-menu",{key:"b2f7d74335c27d93e9f5dc5b63bab80daeb3eeae",class:{"no-results":this.hadNoOptions()||B.length===1&&(B[0][O]===$||B[0][O]===E)},activationType:"manual",anchorEl:this.anchorEl,autofocusOnSelected:false,searchMode:D,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,fullWidth:g,menuId:k,open:true,options:B,onMenuOptionSelect:this.handleOptionSelect,onMenuStateChange:this.handleMenuChange,onMenuOptionId:this.handleMenuOptionHighlight,onRetryButtonClicked:this.handleRetry,parentEl:this.el,value:f,labelField:O,valueField:M,searchBar:true}))),e("div",{key:"f76306ff99a2c103fdea197759f6036d479dc51f","aria-live":"polite",role:"status",class:"search-results-status"}))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{charactersUntilSuggestion:["watchCharactersUntilSuggestionHandler"],disabled:["watchDisabledHandler"],debounce:["debounceChanged"],loading:["loadingHandler"],preventFormSubmitOnSearch:["preventFormSubmitOnSearchHandler"],filteredOptions:["filteredOptionsHandler"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};g.style=m;export{g as ic_search_bar};
2
+ //# sourceMappingURL=p-0809aff4.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icSearchBarCss","IcSearchBarStyle0","inputIds","SearchBar","constructor","hostRef","this","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","retryViaKeyPress","truncateValue","clearButtonFocused","open","searchSubmitFocused","showClearButton","autocapitalize","autocomplete","autocorrect","autofocus","charactersUntilSuggestion","disabled","disableAutoFiltering","debounce","emptyOptionListText","focusOnLoad","fullWidth","helperText","hideLabel","assistiveHintText","labelField","loading","loadingErrorLabel","loadingLabel","name","placeholder","preventFormSubmitOnSearch","readonly","required","searchMode","size","spellcheck","theme","valueField","filteredOptions","options","value","handleClear","ev","keyboardEvent","mouseEvent","type","code","_a","inputEl","setAttribute","clearTimeout","timeoutTimer","showMenuWithNoInput","setMenuChange","el","setFocus","icClear","emit","preventDefault","onInput","target","icInput","length","rawFilteredOptions","getFilteredMenuOptions","debounceAriaLiveUpdate","onInputBlur","relatedTarget","icSearchBarBlur","onInputFocus","icSearchBarFocus","handleClearBlur","icClearBlur","handleSubmitSearchBlur","icSubmitSearchBlur","setInputValue","newValue","label","getLabelFromValue","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","timeout","window","setTimeout","timedOut","handleOptionSelect","icOptionSelect","handleMenuOptionHighlight","optionId","replace","ariaActiveDescendant","handleMenuChange","icMenuChange","handleHostFocus","handleHostBlur","menu","focus","updateSearchResultAriaLive","handleFocusClearButton","renderAssistiveHintEl","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","assistiveHintEl","document","createElement","innerText","id","style","display","_b","after","call","searchResultsStatusEl","hadNoOptions","isSubmitDisabled","updateSearchButtonType","searchButtonType","watchCharactersUntilSuggestionHandler","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","loadingHandler","preventFormSubmitOnSearchHandler","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","connectedCallback","disconnectedCallback","remove","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","handleSetFirstOption","find","filteredOption","handleKeyDown","event","icKeydown","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","hasSuggestedSearch","menuOpen","menuRendered","labelValue","renderHiddenInput","h","Host","class","onFocus","onBlur","for","slot","ref","anchorEl","role","autoFocus","inputmode","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","searchIcon","fullwidth","activationType","autofocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","searchBar"],"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(.ic-search-bar-search) {\n display: block;\n\n --divider-height: 1.5rem;\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-search-bar-outline);\n --input-bg-color: var(--ic-search-bar-background);\n --border-color-disabled: var(--ic-search-bar-outline-disabled);\n --menu-item-text-color: var(--ic-search-bar-dropdown-option-text);\n --menu-item-desc-text-color: var(--ic-search-bar-dropdown-option-description);\n --menu-bg-color: var(--ic-search-bar-dropdown-background);\n --menu-border-color: var(--ic-search-bar-dropdown-outline);\n}\n\n:host(.ic-search-bar-disabled) {\n --ic-input-label-text-color: var(--ic-search-bar-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-search-bar-subtitle-disabled);\n}\n\n:host(.ic-search-bar-search:hover) {\n --border-color: var(--ic-search-bar-outline-hover);\n}\n\n:host(.ic-search-bar-search:active) {\n --border-color: var(--ic-search-bar-outline-pressed);\n}\n\n:host(.ic-search-bar-search.ic-search-bar-small) {\n --divider-height: 1rem;\n}\n\n:host(.ic-search-bar-full-width) {\n width: 100%;\n}\n\n/* Custom Input */\n\n::placeholder {\n color: var(--ic-search-bar-placeholder-text);\n opacity: 1;\n}\n\ninput {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--ic-search-bar-filled-text);\n background-color: var(--input-bg-color);\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 caret-color: var(--ic-search-bar-filled-text-cursor);\n}\n\ninput:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ninput:disabled::placeholder {\n color: var(--ic-search-bar-disabled-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.no-left-pad {\n padding-left: 0;\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/* 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-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button-unfocused * {\n fill: var(--ic-search-bar-clear-button);\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\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-unfocused * {\n fill: var(--ic-search-bar-filled-icon);\n}\n\n.search-submit-button-disabled * {\n fill: var(--ic-search-bar-icon-disabled);\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-color-focus-inner) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer) !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-border-width);\n background-color: var(--ic-search-bar-dropdown-divider);\n height: var(--divider-height);\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\n@media (forced-colors: active) {\n .search-submit-button-unfocused * {\n fill: canvastext;\n }\n\n .search-submit-button-disabled * {\n fill: GrayText;\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\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcMenuOption,\n IcMultiValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n getFilteredMenuOptions,\n removeDisabledFalse,\n debounceEvent,\n} from \"../../utils/helpers\";\nimport {\n IcSearchBarBlurEventDetail,\n IcSearchBarSearchModes,\n} from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../utils/types\";\nimport {\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nimport { IcButtonTypes } from \"../ic-button/ic-button.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot helper-text - Content is set as the helper text for the search bar.\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 private anchorEl?: HTMLElement;\n private assistiveHintEl?: HTMLSpanElement;\n private debounceAriaLive?: number;\n private hasTimedOut = false;\n private inputEl?: HTMLInputElement;\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent = false;\n private menuId = `${this.inputId}-menu`;\n private preLoad = true;\n private preventSubmit = false;\n private prevNoOption = false;\n private retryButtonClick = false;\n private retryViaKeyPress = false;\n private timeoutTimer?: number;\n private truncateValue = false;\n private searchSubmitButton?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSearchBarElement;\n\n @State() ariaActiveDescendant?: string;\n @State() clearButtonFocused = false;\n @State() highlightedValue?: string;\n @State() open = false;\n @State() searchSubmitFocused = false;\n @State() showClearButton = 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 number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\n */\n @Prop() charactersUntilSuggestion = 2;\n @Watch(\"charactersUntilSuggestion\")\n watchCharactersUntilSuggestionHandler(): void {\n if (this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\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() disableAutoFiltering = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\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 * If `true`, the search bar will be focused when component loaded.\n */\n @Prop() focusOnLoad = false;\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 = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\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 = false;\n\n /**\n * The hint text for the hidden assistive description element.\n */\n @Prop() assistiveHintText =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * The label for the search bar.\n */\n @Prop() label!: string;\n\n /**\n * The custom name for the label field to correspond with the IcMenuOption type.\n */\n @Prop() labelField = \"label\";\n\n /**\n * Trigger loading state when fetching options asynchronously\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n\n /**\n * Change the message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to display.\n */\n @Prop() placeholder = \"Search\";\n\n /**\n * If `true` the parent form will not submit when the icSubmitSearch event fires.\n */\n @Prop() preventFormSubmitOnSearch = false;\n @State() searchButtonType: IcButtonTypes;\n @Watch(\"preventFormSubmitOnSearch\")\n preventFormSubmitOnSearchHandler(): void {\n this.updateSearchButtonType();\n }\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the search bar will require a value.\n */\n @Prop() required = false;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * The size of the search bar component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The custom name for the value field to correspond with the IcMenuOption type.\n */\n @Prop() valueField = \"value\";\n\n @State() filteredOptions: IcMenuOption[] = [];\n @Watch(\"filteredOptions\")\n filteredOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n\n /**\n * The suggested search options.\n */\n @Prop() options: IcMenuOption[] = [];\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableAutoFiltering) {\n if (!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 if (!this.preLoad) {\n this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n this.preLoad = true;\n }\n }\n } else if (this.showMenuWithNoInput()) {\n this.filteredOptions = newOptions;\n }\n this.debounceAriaLiveUpdate();\n }\n\n /**\n * The value of the search input.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n this.setInputValue(newValue);\n this.icChange.emit({ value: newValue });\n }\n\n // The icChange event is defined here so that it appears as an event for search bar\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?.setAttribute(\"value\", \"\");\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.showMenuWithNoInput() && this.setMenuChange(true);\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n // The icInput event is defined here so that it appears as an event for search bar\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = ({ target }: Event) => {\n this.value = (target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n this.preLoad = false;\n\n if (this.disableAutoFiltering === false) {\n const rawFilteredOptions = getFilteredMenuOptions(\n this.options,\n false,\n this.value,\n \"anywhere\",\n this.labelField\n );\n\n this.filteredOptions =\n rawFilteredOptions.length > 0\n ? rawFilteredOptions\n : [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n }\n\n if (!this.showClearButton) this.showClearButton = true;\n\n this.debounceAriaLiveUpdate();\n };\n\n private onInputBlur = ({ target, relatedTarget }: FocusEvent) => {\n this.icSearchBarBlur.emit({\n value: (target as HTMLInputElement).value,\n relatedTarget,\n });\n };\n\n private onInputFocus = ({ target }: Event) => {\n this.icSearchBarFocus.emit({ value: (target as HTMLInputElement).value });\n\n this.showClearButton = true;\n };\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 /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = ({ relatedTarget }: FocusEvent) => {\n this.icClearBlur.emit({ relatedTarget });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * Emitted when the 'retry loading' button is clicked\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = ({ relatedTarget }: FocusEvent) => {\n this.icSubmitSearchBlur.emit({ relatedTarget });\n\n this.searchSubmitFocused = false;\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<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n this.assistiveHintEl?.remove();\n }\n\n componentWillLoad(): void {\n this.setInputValue(this.value);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n\n this.updateSearchButtonType();\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.disableAutoFiltering || this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n }\n\n componentWillRender(): void {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n if (\n this.filteredOptions.find(\n (filteredOption) =>\n filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel\n )\n ) {\n this.prevNoOption = true;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(event: KeyboardEvent): void {\n this.icKeydown.emit({ event });\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(event);\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 /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n this.inputEl?.focus();\n }\n\n private setInputValue = (newValue: string) => {\n if (this.inputEl) {\n const label = getLabelFromValue(\n newValue,\n this.options,\n this.valueField,\n this.labelField\n );\n if (label) this.inputEl.value = label;\n else if (this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n };\n\n private handleMouseDown = (ev: Event) => {\n ev.preventDefault();\n };\n\n private handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n\n private handleSubmitSearch = () => {\n if (this.highlightedValue) this.value = this.highlightedValue;\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n\n const form = this.el.closest<HTMLFormElement>(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\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<IcMultiValueEventDetail>) => {\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 {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\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 = (\n ev: CustomEvent<IcMenuOptionIdEventDetail>\n ) => {\n const { optionId } = ev.detail;\n if (optionId)\n this.highlightedValue = optionId.replace(`${this.menuId}-`, \"\");\n this.ariaActiveDescendant = optionId || \"\";\n };\n\n private handleMenuChange = (ev: CustomEvent<IcMenuChangeEventDetail>) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.menuCloseFromMenuChangeEvent = true;\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 (\n this.options &&\n (this.value || this.showMenuWithNoInput()) &&\n !this.menuCloseFromMenuChangeEvent\n ) {\n this.setMenuChange(true);\n }\n this.truncateValue = false;\n this.showMenuWithNoInput() && this.debounceAriaLiveUpdate();\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = ({ relatedTarget }: FocusEvent) => {\n if (\n this.open &&\n this.options &&\n relatedTarget !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick\n ) {\n this.setMenuChange(false);\n }\n\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl?.focus();\n }\n\n this.showClearButton = false;\n this.menuCloseFromMenuChangeEvent = false;\n this.truncateValue = true;\n this.icSearchBarBlur.emit({\n relatedTarget,\n value: this.value,\n });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n this.showMenuWithNoInput() && this.updateSearchResultAriaLive();\n };\n\n private handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n\n private renderAssistiveHintEl = () => {\n const input = this.el.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.assistiveHintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n input.after?.(this.assistiveHintEl);\n }\n };\n\n private updateSearchResultAriaLive = () => {\n const searchResultsStatusEl =\n this.el.shadowRoot?.querySelector<HTMLParagraphElement>(\n \".search-results-status\"\n );\n\n if (searchResultsStatusEl) {\n if (\n !this.open ||\n (this.value === \"\" && !this.showMenuWithNoInput()) ||\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 !this.filteredOptions[0].loading\n ) {\n searchResultsStatusEl.innerText = this.hadNoOptions()\n ? this.emptyOptionListText\n : `${this.filteredOptions.length} result${\n this.filteredOptions.length > 1 ? \"s\" : \"\"\n } available`;\n }\n }\n };\n\n private hasOptionsOrFilterDisabled = () =>\n this.options.length > 0 || this.disableAutoFiltering;\n\n private hadNoOptions = () =>\n this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n\n private isSubmitDisabled = () =>\n !this.value ||\n this.value.length < this.charactersUntilSuggestion ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading;\n\n private showMenuWithNoInput = () => this.charactersUntilSuggestion === 0;\n private updateSearchButtonType = () => {\n this.searchButtonType =\n !!this.el.closest<HTMLFormElement>(\"FORM\") &&\n !this.preventFormSubmitOnSearch\n ? \"submit\"\n : \"button\";\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\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 theme,\n charactersUntilSuggestion,\n labelField,\n valueField,\n loadingLabel,\n loadingErrorLabel,\n searchMode,\n showClearButton,\n searchSubmitFocused,\n clearButtonFocused,\n searchButtonType,\n } = this;\n\n const disabledMode = readonly || disabled;\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById = undefined;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n\n const hasSuggestedSearch =\n (!!value || this.showMenuWithNoInput()) &&\n this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= charactersUntilSuggestion;\n\n const labelValue = getLabelFromValue(\n value,\n options,\n valueField,\n labelField\n );\n\n renderHiddenInput(this.el as HTMLElement, value, name, disabledMode);\n\n return (\n <Host\n class={{\n \"ic-search-bar-search\": true,\n \"ic-search-bar-full-width\": fullWidth,\n \"ic-search-bar-disabled\": disabled,\n \"ic-search-bar-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledMode && !readonly}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n size={size}\n disabled={disabledMode}\n readonly={readonly}\n fullWidth={fullWidth}\n >\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el)}\n value={options && !!labelValue ? labelValue : value}\n class={{\n \"no-left-pad\": readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : undefined}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded={\n options.length > 0 && menuRendered ? `${menuOpen}` : undefined\n }\n aria-owns={menuRendered ? menuId : undefined}\n aria-describedby={describedById}\n aria-controls={menuRendered ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={options.length > 0 && menuRendered ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n ></input>\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n !!value && !disabledMode && showClearButton,\n }}\n >\n <ic-button\n id=\"clear-button\"\n class={{\n \"clear-button\": true,\n \"clear-button-unfocused\": !clearButtonFocused,\n }}\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n onMouseDown={this.handleMouseDown}\n size={size}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type={\"button\"}\n variant=\"icon\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\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 >\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\": size === \"small\",\n \"search-submit-button-unfocused\": !searchSubmitFocused,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }}\n disabled={this.isSubmitDisabled()}\n innerHTML={searchIcon}\n size={size}\n onClick={this.handleSubmitSearch}\n onMouseDown={this.handleMouseDown}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n onKeyDown={this.handleSubmitSearchKeyDown}\n type={searchButtonType}\n variant=\"icon\"\n theme={searchSubmitFocused ? \"light\" : \"dark\"}\n ></ic-button>\n </div>\n </ic-input-component-container>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n >\n {menuRendered && this.anchorEl && this.inputEl && (\n <ic-menu\n class={{\n \"no-results\":\n this.hadNoOptions() ||\n (filteredOptions.length === 1 &&\n (filteredOptions[0][labelField] === loadingLabel ||\n filteredOptions[0][labelField] === loadingErrorLabel)),\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autofocusOnSelected={false}\n searchMode={searchMode}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\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 as HTMLElement}\n value={value}\n labelField={labelField}\n valueField={valueField}\n searchBar={true}\n ></ic-menu>\n )}\n </div>\n </ic-input-container>\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"search-results-status\"\n ></div>\n </Host>\n );\n }\n}\n"],"mappings":"6tCAAA,MAAMA,EAAiB,stMACvB,MAAAC,EAAeD,EC8Cf,IAAIE,EAAW,E,MAaFC,EAAS,MARtB,WAAAC,CAAAC,G,0gBAYUC,KAAAC,YAAc,MAEdD,KAAAE,QAAU,uBAAuBN,MAEjCI,KAAAG,6BAA+B,MAC/BH,KAAAI,OAAS,GAAGJ,KAAKE,eACjBF,KAAAK,QAAU,KACVL,KAAAM,cAAgB,MAChBN,KAAAO,aAAe,MACfP,KAAAQ,iBAAmB,MACnBR,KAAAS,iBAAmB,MAEnBT,KAAAU,cAAgB,MAMfV,KAAAW,mBAAqB,MAErBX,KAAAY,KAAO,MACPZ,KAAAa,oBAAsB,MACtBb,KAAAc,gBAAkB,MAMnBd,KAAAe,eAAiB,MAKjBf,KAAAgB,aAAoC,MAKpChB,KAAAiB,YAAmC,MAKnCjB,KAAAkB,UAAY,MAKZlB,KAAAmB,0BAA4B,EAW5BnB,KAAAoB,SAAW,MAUXpB,KAAAqB,qBAAuB,MAKvBrB,KAAAsB,SAAW,EASXtB,KAAAuB,oBAAsB,mBAKtBvB,KAAAwB,YAAc,MAMdxB,KAAAyB,UAAY,MAKZzB,KAAA0B,WAAa,GAKb1B,KAAA2B,UAAY,MAKZ3B,KAAA4B,kBACN,yGAUM5B,KAAA6B,WAAa,QAKI7B,KAAA8B,QAAU,MAY3B9B,KAAA+B,kBAAoB,gBAKpB/B,KAAAgC,aAAe,aAKfhC,KAAAiC,KAAOjC,KAAKE,QAKZF,KAAAkC,YAAc,SAKdlC,KAAAmC,0BAA4B,MAU5BnC,KAAAoC,SAAW,MAKXpC,KAAAqC,SAAW,MAKXrC,KAAAsC,WAAqC,aAKrCtC,KAAAuC,KAAuB,SAKvBvC,KAAAwC,WAAa,MAKbxC,KAAAyC,MAAqB,UAUrBzC,KAAA0C,WAAa,QAEZ1C,KAAA2C,gBAAkC,GASnC3C,KAAA4C,QAA0B,GAkCM5C,KAAA6C,MAAQ,GAiBxC7C,KAAA8C,YAAeC,I,MACrB,MAAMC,EAAgBD,EACtB,MAAME,EAAaF,EAEnB,GACEE,EAAWC,OAAS,SACpBF,EAAcG,OAAS,SACvBH,EAAcG,OAAS,QACvB,CACAnD,KAAK6C,MAAQ,IACbO,EAAApD,KAAKqD,WAAO,MAAAD,SAAA,SAAAA,EAAEE,aAAa,QAAS,IACpCtD,KAAK8B,QAAU,MACfyB,aAAavD,KAAKwD,cAClBxD,KAAK2C,gBAAkB3C,KAAK4C,QAC5B5C,KAAKyD,uBAAyBzD,KAAK0D,cAAc,MACjD1D,KAAK2D,GAAGC,WAER5D,KAAK6D,QAAQC,OACbf,EAAGgB,iBAEH/D,KAAKM,cAAgB,I,GASjBN,KAAAgE,QAAU,EAAGC,aACnBjE,KAAK6C,MAASoB,EAA4BpB,MAC1C7C,KAAKkE,QAAQJ,KAAK,CAAEjB,MAAO7C,KAAK6C,QAEhC,GAAI7C,KAAK4C,QAAQuB,OAAS,EAAG,CAC3BnE,KAAK0D,cAAc,MAEnB1D,KAAKK,QAAU,MAEf,GAAIL,KAAKqB,uBAAyB,MAAO,CACvC,MAAM+C,EAAqBC,EACzBrE,KAAK4C,QACL,MACA5C,KAAK6C,MACL,WACA7C,KAAK6B,YAGP7B,KAAK2C,gBACHyB,EAAmBD,OAAS,EACxBC,EACA,CACE,CACE,CAACpE,KAAK6B,YAAa7B,KAAKuB,oBACxB,CAACvB,KAAK0C,YAAa,I,EAMjC,IAAK1C,KAAKc,gBAAiBd,KAAKc,gBAAkB,KAElDd,KAAKsE,wBAAwB,EAGvBtE,KAAAuE,YAAc,EAAGN,SAAQO,oBAC/BxE,KAAKyE,gBAAgBX,KAAK,CACxBjB,MAAQoB,EAA4BpB,MACpC2B,iBACA,EAGIxE,KAAA0E,aAAe,EAAGT,aACxBjE,KAAK2E,iBAAiBb,KAAK,CAAEjB,MAAQoB,EAA4BpB,QAEjE7C,KAAKc,gBAAkB,IAAI,EAiBrBd,KAAA4E,gBAAkB,EAAGJ,oBAC3BxE,KAAK6E,YAAYf,KAAK,CAAEU,kBAExBxE,KAAKW,mBAAqB,KAAK,EAiBzBX,KAAA8E,uBAAyB,EAAGN,oBAClCxE,KAAK+E,mBAAmBjB,KAAK,CAAEU,kBAE/BxE,KAAKa,oBAAsB,KAAK,EA2G1Bb,KAAAgF,cAAiBC,IACvB,GAAIjF,KAAKqD,QAAS,CAChB,MAAM6B,EAAQC,EACZF,EACAjF,KAAK4C,QACL5C,KAAK0C,WACL1C,KAAK6B,YAEP,GAAIqD,EAAOlF,KAAKqD,QAAQR,MAAQqC,OAC3B,GAAIlF,KAAKqD,QAAQR,QAAUoC,EAAU,CACxCjF,KAAKqD,QAAQR,MAAQoC,C,IAKnBjF,KAAAoF,gBAAmBrC,IACzBA,EAAGgB,gBAAgB,EAGb/D,KAAAqF,wBAA0B,KAChCrF,KAAKa,oBAAsB,IAAI,EAGzBb,KAAAsF,mBAAqB,KAC3B,GAAItF,KAAKuF,iBAAkBvF,KAAK6C,MAAQ7C,KAAKuF,iBAC7CvF,KAAKuF,iBAAmBC,UACxBxF,KAAKyF,eAAe3B,KAAK,CAAEjB,MAAO7C,KAAK6C,QAEvC,MAAM6C,EAAO1F,KAAK2D,GAAGgC,QAAyB,QAE9C,GAAI3F,KAAK4F,sBAAwBF,IAAS1F,KAAKM,cAAe,CAC5DuF,EAA4BH,EAAM1F,KAAK4F,mB,GAYnC5F,KAAA8F,0BAA6B/C,IACnC,GAAIA,EAAGgD,MAAQ,IAAK,CAClBhD,EAAGgB,iBACH/D,KAAKsF,oB,GAIDtF,KAAAgG,YAAejD,IACrB/C,KAAKS,iBAAmBsC,EAAGkD,OAAOC,aAAe,QACjDlG,KAAKmG,YAAYrC,KAAK,CAAEjB,MAAOE,EAAGkD,OAAOpD,QACzC7C,KAAKoG,iBACLpG,KAAKQ,iBAAmB,IAAI,EAGtBR,KAAAoG,eAAiB,KACvB,MAAMC,EAAgC,CACpC,CACE,CAACrG,KAAK6B,YAAa7B,KAAKgC,aACxB,CAAChC,KAAK0C,YAAa,GACnBZ,QAAS,OAGb,GAAI9B,KAAK2C,kBAAoB0D,EAC3BrG,KAAK2C,gBAAkB0D,EACzB,GAAIrG,KAAKsG,QAAS,CAChBtG,KAAKwD,aAAe+C,OAAOC,YAAW,KACpCxG,KAAK2C,gBAAkB,CACrB,CACE,CAAC3C,KAAK6B,YAAa7B,KAAK+B,kBACxB,CAAC/B,KAAK0C,YAAa,GACnB+D,SAAU,MAEb,GACAzG,KAAKsG,Q,GAIJtG,KAAA0G,mBAAsB3D,IAC5B,GAAIA,EAAGkD,OAAOf,QAAUlF,KAAKuB,oBAAqB,CAChDvB,KAAK2D,GAAGC,WACR,M,CAGF5D,KAAK6C,MAAQE,EAAGkD,OAAOpD,MACvB7C,KAAK2G,eAAe7C,KAAK,CAAEjB,MAAO7C,KAAK6C,OAAQ,EAGzC7C,KAAA4G,0BACN7D,IAEA,MAAM8D,SAAEA,GAAa9D,EAAGkD,OACxB,GAAIY,EACF7G,KAAKuF,iBAAmBsB,EAASC,QAAQ,GAAG9G,KAAKI,UAAW,IAC9DJ,KAAK+G,qBAAuBF,GAAY,EAAE,EAGpC7G,KAAAgH,iBAAoBjE,IAC1B/C,KAAK0D,cAAcX,EAAGkD,OAAOrF,MAC7B,IAAKmC,EAAGkD,OAAOrF,KAAM,CACnBZ,KAAKG,6BAA+B,I,GAIhCH,KAAA0D,cAAiB9C,IACvB,GAAIZ,KAAKY,OAASA,EAAM,CACtBZ,KAAKY,KAAOA,EACZZ,KAAKiH,aAAanD,KAAK,CAAElD,Q,GAIrBZ,KAAAkH,gBAAkB,KACxB,GACElH,KAAK4C,UACJ5C,KAAK6C,OAAS7C,KAAKyD,yBACnBzD,KAAKG,6BACN,CACAH,KAAK0D,cAAc,K,CAErB1D,KAAKU,cAAgB,MACrBV,KAAKyD,uBAAyBzD,KAAKsE,yBAEnCtE,KAAK2E,iBAAiBb,MAAM,EAGtB9D,KAAAmH,eAAiB,EAAG3C,oB,MAC1B,GACExE,KAAKY,MACLZ,KAAK4C,SACL4B,IAAkBxE,KAAKoH,OACtBpH,KAAKS,mBACLT,KAAKQ,iBACN,CACAR,KAAK0D,cAAc,M,CAGrB,GAAI1D,KAAKQ,kBAAoBR,KAAKS,iBAAkB,EAClD2C,EAAApD,KAAKqD,WAAO,MAAAD,SAAA,SAAAA,EAAEiE,O,CAGhBrH,KAAKc,gBAAkB,MACvBd,KAAKG,6BAA+B,MACpCH,KAAKU,cAAgB,KACrBV,KAAKyE,gBAAgBX,KAAK,CACxBU,gBACA3B,MAAO7C,KAAK6C,QAEd7C,KAAKS,iBAAmB,MACxBT,KAAKQ,iBAAmB,MACxBR,KAAKyD,uBAAyBzD,KAAKsH,4BAA4B,EAGzDtH,KAAAuH,uBAAyB,KAC/BvH,KAAKW,mBAAqB,IAAI,EAGxBX,KAAAwH,sBAAwB,K,QAC9B,MAAMC,GAAQrE,EAAApD,KAAK2D,GAAG+D,cAAU,MAAAtE,SAAA,SAAAA,EAAEuE,cAAc,IAAI3H,KAAKE,WAEzD,GACEuH,GACAG,OAAOC,KAAKJ,GAAOtD,OAAS,GAC5BnE,KAAK8H,6BACL,CACA9H,KAAK+H,gBAAkBC,SAASC,cAAc,QAC9CjI,KAAK+H,gBAAgBG,UAAYlI,KAAK4B,kBACtC5B,KAAK+H,gBAAgBI,GAAK,GAAGnI,KAAKE,yBAClCF,KAAK+H,gBAAgBK,MAAMC,QAAU,QACrCC,EAAAb,EAAMc,SAAK,MAAAD,SAAA,SAAAA,EAAAE,KAAAf,EAAGzH,KAAK+H,gB,GAIf/H,KAAAsH,2BAA6B,K,MACnC,MAAMmB,GACJrF,EAAApD,KAAK2D,GAAG+D,cAAU,MAAAtE,SAAA,SAAAA,EAAEuE,cAClB,0BAGJ,GAAIc,EAAuB,CACzB,IACGzI,KAAKY,MACLZ,KAAK6C,QAAU,KAAO7C,KAAKyD,uBAC5BzD,KAAK6C,MAAMsB,OAASnE,KAAKmB,0BACzB,CACAsH,EAAsBP,UAAY,E,MAC7B,GACLlI,KAAK8H,8BACL9H,KAAK2C,gBAAgBwB,OAAS,GAC9BnE,KAAKY,OACJZ,KAAK2C,gBAAgB,GAAGb,QACzB,CACA2G,EAAsBP,UAAYlI,KAAK0I,eACnC1I,KAAKuB,oBACL,GAAGvB,KAAK2C,gBAAgBwB,gBACtBnE,KAAK2C,gBAAgBwB,OAAS,EAAI,IAAM,c,IAM5CnE,KAAA8H,2BAA6B,IACnC9H,KAAK4C,QAAQuB,OAAS,GAAKnE,KAAKqB,qBAE1BrB,KAAA0I,aAAe,IACrB1I,KAAK2C,gBAAgBwB,SAAW,GAChCnE,KAAK2C,gBAAgB,GAAG3C,KAAK6B,cAAgB7B,KAAKuB,qBAClDvB,KAAKsC,aAAe,aAEdtC,KAAA2I,iBAAmB,KACxB3I,KAAK6C,OACN7C,KAAK6C,MAAMsB,OAASnE,KAAKmB,2BACzBnB,KAAKoB,UACLpB,KAAK0I,gBACL1I,KAAKC,aACLD,KAAK8B,QAEC9B,KAAAyD,oBAAsB,IAAMzD,KAAKmB,4BAA8B,EAC/DnB,KAAA4I,uBAAyB,KAC/B5I,KAAK6I,mBACD7I,KAAK2D,GAAGgC,QAAyB,UAClC3F,KAAKmC,0BACF,SACA,QAAQ,C,CAnpBhB,qCAAA2G,GACE,GAAI9I,KAAKyD,sBAAuB,CAC9BzD,KAAK2C,gBAAkB3C,KAAK4C,O,EAShC,oBAAAmG,GACEC,EAAoBhJ,KAAKoB,SAAUpB,KAAK2D,G,CAclC,eAAAsF,GACNjJ,KAAKkJ,SAAWC,EAAcnJ,KAAKkJ,SAAUlJ,KAAKsB,S,CAkDpD,cAAA8H,CAAenE,GACb,GAAIA,IAAajF,KAAKC,YAAa,CACjCD,KAAKK,QAAU,MACfL,KAAKoG,gB,EA8BT,gCAAAiD,GACErJ,KAAK4I,wB,CA6CP,sBAAAU,CAAuBC,GACrBvJ,KAAKC,YAAcsJ,EAAWC,MAAMC,GAAQA,EAAIhD,U,CAQlD,mBAAAiD,CAAoBH,GAClB,GAAIvJ,KAAKqB,qBAAsB,CAC7B,IAAKrB,KAAKC,YAAa,CACrBD,KAAK8B,QAAU,MACfyB,aAAavD,KAAKwD,cAClB,GAAI+F,EAAWpF,OAAS,EAAG,CACzBnE,KAAK2C,gBAAkB4G,C,KAClB,CACL,GAAIvJ,KAAK0I,eAAgB,CACvB,M,CAEF1I,KAAK0D,cAAc,MACnB,IAAK1D,KAAKK,QAAS,CACjBL,KAAK2C,gBAAkB,CACrB,CACE,CAAC3C,KAAK6B,YAAa7B,KAAKuB,oBACxB,CAACvB,KAAK0C,YAAa,I,CAIzB1C,KAAKK,QAAU,I,QAGd,GAAIL,KAAKyD,sBAAuB,CACrCzD,KAAK2C,gBAAkB4G,C,CAEzBvJ,KAAKsE,wB,CAQP,iBAAAqF,CAAkB1E,GAChBjF,KAAKgF,cAAcC,GACnBjF,KAAKkJ,SAASpF,KAAK,CAAEjB,MAAOoC,G,CAiJ9B,iBAAA2E,GACE5J,KAAKiJ,iB,CAGP,oBAAAY,G,OACEzG,EAAApD,KAAK+H,mBAAe,MAAA3E,SAAA,SAAAA,EAAE0G,Q,CAGxB,iBAAAC,GACE/J,KAAKgF,cAAchF,KAAK6C,OAExBmG,EAAoBhJ,KAAKoB,SAAUpB,KAAK2D,IAExC3D,KAAK4I,wB,CAGP,gBAAAoB,GACE,GAAIhK,KAAKwB,YAAa,CACpBxB,KAAK2D,GAAGC,U,CAGV,GAAI5D,KAAK8H,6BAA8B,CACrC9H,KAAKwH,wBACL,GAAIxH,KAAKqB,sBAAwBrB,KAAKyD,sBAAuB,CAC3DzD,KAAK2C,gBAAkB3C,KAAK4C,O,EAIhCqH,EACE,CAAC,CAAEC,KAAMlK,KAAKkF,MAAOiF,SAAU,UAC/B,a,CAIJ,mBAAAC,GACE,GAAIpK,KAAKO,cAAgBP,KAAKoH,OAASpH,KAAKC,YAAa,CACvDD,KAAKoH,KAAKiD,uBACVrK,KAAKO,aAAe,K,CAEtB,GACEP,KAAK2C,gBAAgB2H,MAClBC,GACCA,EAAevK,KAAK6B,cAAgB7B,KAAKuB,qBACzCgJ,EAAevK,KAAK6B,cAAgB7B,KAAK+B,mBACzCwI,EAAevK,KAAK6B,cAAgB7B,KAAKgC,eAE7C,CACAhC,KAAKO,aAAe,I,EAKxB,aAAAiK,CAAcC,GACZzK,KAAK0K,UAAU5G,KAAK,CAAE2G,UACtB,GAAIzK,KAAKoH,MAAQpH,KAAKY,KAAM,CAC1BZ,KAAKoH,KAAKuD,mBAAmBF,E,EAKjC,WAAAG,CAAY7H,GACV,GAAIA,EAAGgD,MAAQ,QAAS,CACtB,GAAI/F,KAAKM,eAAiBN,KAAK2I,mBAAoB,CACjD,M,CAGF3I,KAAKsF,qBACLtF,KAAK0D,cAAc,M,CAGrB,GAAIX,EAAGgD,MAAQ,SAAU,CACvB/F,KAAK0D,cAAc,M,CAGrB,GAAI1D,KAAKM,cAAe,CACtBN,KAAKM,cAAgB,K,EAQzB,cAAMsD,G,MACJ5D,KAAKS,iBAAmB,MACxBT,KAAKQ,iBAAmB,OACxB4C,EAAApD,KAAKqD,WAAO,MAAAD,SAAA,SAAAA,EAAEiE,O,CAsCR,sBAAA/C,GACNf,aAAavD,KAAK6K,kBAElB7K,KAAK6K,iBAAmBtE,OAAOC,YAAW,KACxCxG,KAAKsH,4BAA4B,GAChC,I,CA2LL,MAAAwD,GACE,MAAM5K,QACJA,EAAO+B,KACPA,EAAIiD,MACJA,EAAK7C,SACLA,EAAQE,KACRA,EAAIL,YACJA,EAAWR,WACXA,EAAUN,SACVA,EAAQyB,MACRA,EAAKT,SACLA,EAAQI,WACRA,EAAUf,UACVA,EAASmB,QACTA,EAAOhC,KACPA,EAAIe,UACJA,EAASvB,OACTA,EAAM2G,qBACNA,EAAoBrG,cACpBA,EAAaQ,UACbA,EAASH,eACTA,EAAcC,aACdA,EAAY2B,gBACZA,EAAeF,MACfA,EAAKtB,0BACLA,EAAyBU,WACzBA,EAAUa,WACVA,EAAUV,aACVA,EAAYD,kBACZA,EAAiBO,WACjBA,EAAUxB,gBACVA,EAAeD,oBACfA,EAAmBF,mBACnBA,EAAkBkI,iBAClBA,GACE7I,KAEJ,MAAM+K,EAAe3I,GAAYhB,EAEjC,MAAM4J,EAAcC,EAClBjL,KAAK2D,GACLzD,EACAwB,IAAe,GACf,OACAwJ,OAEF,IAAIC,EAAgB3F,UAEpB,GAAIwF,IAAgB,IAAMhL,KAAK8H,6BAA8B,CAC3DqD,EAAgB,GAAGH,KAAe9K,kB,MAC7B,GAAIF,KAAK8H,6BAA8B,CAC5CqD,EAAgB,GAAGjL,kB,MACd,GAAI8K,IAAgB,GAAI,CAC7BG,EAAgBH,C,CAGlB,MAAMI,KACDvI,GAAS7C,KAAKyD,wBACjBzD,KAAK8H,6BACP,MAAMuD,EAAWD,GAAsBxK,GAAQ+B,EAAgBwB,OAAS,EACxE,MAAMmH,EAAeD,GAAYxI,EAAMsB,QAAUhD,EAEjD,MAAMoK,EAAapG,EACjBtC,EACAD,EACAF,EACAb,GAGF2J,EAAkBxL,KAAK2D,GAAmBd,EAAOZ,EAAM8I,GAEvD,OACEU,EAACC,EAAI,CAAA3F,IAAA,2CACH4F,MAAO,CACL,uBAAwB,KACxB,2BAA4BlK,EAC5B,yBAA0BL,EAC1B,sBAAuBmB,IAAS,QAChC,CAAC,YAAYE,KAAUA,IAAU,WAEnCmJ,QAAS5L,KAAKkH,gBACd2E,OAAQ7L,KAAKmH,gBAEbsE,EAAA,sBAAA1F,IAAA,2CAAoB3D,SAAUA,EAAUhB,SAAU2J,IAC9CpJ,GACA8J,EAAA,kBAAA1F,IAAA,2CACE+F,IAAK5L,EACLgF,MAAOA,EACPxD,WAAYA,EACZW,SAAUA,EACVjB,SAAU2J,IAAiB3I,EAC3BA,SAAUA,GAEVqJ,EAAA,QAAA1F,IAAA,2CAAM9D,KAAK,cAAc8J,KAAK,iBAGlCN,EAAA,gCAAA1F,IAAA,2CACEiG,IAAMrI,GAAQ3D,KAAKiM,SAAWtI,EAC9BpB,KAAMA,EACNnB,SAAU2J,EACV3I,SAAUA,EACVX,UAAWA,GAEXgK,EAAA,SAAA1F,IAAA,2CACEoC,GAAIjI,EACJ+B,KAAMA,EACN+J,IAAMrI,GAAQ3D,KAAKqD,QAAUM,EAC7Bd,MAAOD,KAAa2I,EAAaA,EAAa1I,EAC9C8I,MAAO,CACL,cAAevJ,EACfA,WACA,iBAAkB1B,GAEpBwB,YAAaA,EACbG,SAAUA,EACVjB,SAAU2J,EACV3I,SAAUA,EACV4B,QAAShE,KAAKgE,QACd6H,OAAQ7L,KAAKuE,YACbqH,QAAS5L,KAAK0E,aAAY,aACd/C,EAAYuD,EAAQM,UAAS,wBAClBuB,EAAoB,gBAEzCnE,EAAQuB,OAAS,GAAKmH,EAAe,GAAGD,IAAa7F,UAAS,YAErD8F,EAAelL,EAASoF,UAAS,mBAC1B2F,EAAa,gBAChBG,EAAelL,EAASoF,UAAS,gBACjC5C,EAAQuB,OAAS,EAAI,UAAYqB,UAAS,oBACtC4F,EAAqB,OAAS5F,UACjD0G,KAAMtJ,EAAQuB,OAAS,GAAKmH,EAAe,WAAa9F,UACxDxE,aAAcA,EACdD,eAAgBA,EAChBoL,UAAWjL,EACXsB,WAAYA,EACZ4J,UAAU,WAEZX,EAAA,OAAA1F,IAAA,2CACE4F,MAAO,CACL,yBAA0B,KAC1B,yBACI9I,IAAUkI,GAAgBjK,IAGhC2K,EAAA,aAAA1F,IAAA,2CACEoC,GAAG,eACHwD,MAAO,CACL,eAAgB,KAChB,0BAA2BhL,GAC5B,aACU,QACX0L,UAAWC,EACXC,QAASvM,KAAK8C,YACd0J,YAAaxM,KAAKoF,gBAClB7C,KAAMA,EACNqJ,QAAS5L,KAAKuH,uBACdsE,OAAQ7L,KAAK4E,gBACb6H,UAAWzM,KAAK8C,YAChBI,KAAM,SACNwJ,QAAQ,OACRjK,MAAO9B,EAAqB,QAAU,SAExC8K,EAAA,OAAA1F,IAAA,2CAAK4F,MAAM,aAEbF,EAAA,OAAA1F,IAAA,2CACE4F,MAAO,CACL,iCAAkC,KAClC,gCAAiC3L,KAAK2I,qBAGxC8C,EAAA,aAAA1F,IAAA,2CACEoC,GAAG,uBAAsB,aACd,SACX6D,IAAMrI,GAAQ3D,KAAK4F,mBAAqBjC,EACxCgI,MAAO,CACL,uBAAwB,KACxB,6BAA8BpJ,IAAS,QACvC,kCAAmC1B,EACnC,gCAAiCb,KAAK2I,oBAExCvH,SAAUpB,KAAK2I,mBACf0D,UAAWM,EACXpK,KAAMA,EACNgK,QAASvM,KAAKsF,mBACdkH,YAAaxM,KAAKoF,gBAClByG,OAAQ7L,KAAK8E,uBACb8G,QAAS5L,KAAKqF,wBACdoH,UAAWzM,KAAK8F,0BAChB5C,KAAM2F,EACN6D,QAAQ,OACRjK,MAAO5B,EAAsB,QAAU,WAI7C4K,EAAA,OAAA1F,IAAA,2CACE4F,MAAO,CACL,iBAAkB,KAClBiB,UAAWnL,IAGZ6J,GAAgBtL,KAAKiM,UAAYjM,KAAKqD,SACrCoI,EAAA,WAAA1F,IAAA,2CACE4F,MAAO,CACL,aACE3L,KAAK0I,gBACJ/F,EAAgBwB,SAAW,IACzBxB,EAAgB,GAAGd,KAAgBG,GAClCW,EAAgB,GAAGd,KAAgBE,IAE3C8K,eAAe,SACfZ,SAAUjM,KAAKiM,SACfa,oBAAqB,MACrBxK,WAAYA,EACZe,QAASrD,KAAKqD,QACd0J,WAAY7H,EACZ8G,IAAMrI,GAAQ3D,KAAKoH,KAAOzD,EAC1BlC,UAAWA,EACXrB,OAAQA,EACRQ,KAAM,KACNgC,QAASD,EACTqK,mBAAoBhN,KAAK0G,mBACzBuG,kBAAmBjN,KAAKgH,iBACxBkG,eAAgBlN,KAAK4G,0BACrBuG,qBAAsBnN,KAAKgG,YAC3BoH,SAAUpN,KAAK2D,GACfd,MAAOA,EACPhB,WAAYA,EACZa,WAAYA,EACZ2K,UAAW,SAKnB5B,EAAA,OAAA1F,IAAA,uDACY,SACVmG,KAAK,SACLP,MAAM,0B","ignoreList":[]}
1
+ {"version":3,"names":["icSearchBarCss","IcSearchBarStyle0","inputIds","SearchBar","constructor","hostRef","this","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","retryViaKeyPress","truncateValue","clearButtonFocused","open","searchSubmitFocused","showClearButton","autocapitalize","autocomplete","autocorrect","autofocus","charactersUntilSuggestion","disabled","disableAutoFiltering","debounce","emptyOptionListText","focusOnLoad","fullWidth","helperText","hideLabel","assistiveHintText","labelField","loading","loadingErrorLabel","loadingLabel","name","placeholder","preventFormSubmitOnSearch","readonly","required","searchMode","size","spellcheck","theme","valueField","filteredOptions","options","value","handleClear","ev","keyboardEvent","mouseEvent","type","code","_a","inputEl","setAttribute","clearTimeout","timeoutTimer","showMenuWithNoInput","setMenuChange","el","setFocus","icClear","emit","preventDefault","onInput","target","icInput","length","rawFilteredOptions","getFilteredMenuOptions","debounceAriaLiveUpdate","onInputBlur","relatedTarget","icSearchBarBlur","onInputFocus","icSearchBarFocus","handleClearBlur","icClearBlur","handleSubmitSearchBlur","icSubmitSearchBlur","setInputValue","newValue","label","getLabelFromValue","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","timeout","window","setTimeout","timedOut","handleOptionSelect","icOptionSelect","handleMenuOptionHighlight","optionId","replace","ariaActiveDescendant","handleMenuChange","icMenuChange","handleHostFocus","handleHostBlur","menu","focus","updateSearchResultAriaLive","handleFocusClearButton","renderAssistiveHintEl","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","assistiveHintEl","document","createElement","innerText","id","style","display","_b","after","call","searchResultsStatusEl","hadNoOptions","isSubmitDisabled","updateSearchButtonType","searchButtonType","watchCharactersUntilSuggestionHandler","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","loadingHandler","preventFormSubmitOnSearchHandler","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","connectedCallback","disconnectedCallback","remove","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","handleSetFirstOption","find","filteredOption","handleKeyDown","event","icKeydown","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","hasSuggestedSearch","menuOpen","menuRendered","labelValue","renderHiddenInput","h","Host","class","onFocus","onBlur","for","slot","ref","anchorEl","role","autoFocus","inputmode","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","searchIcon","fullwidth","activationType","autofocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","searchBar"],"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(.ic-search-bar-search) {\n display: block;\n\n --divider-height: 1.5rem;\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-search-bar-outline);\n --input-bg-color: var(--ic-search-bar-background);\n --border-color-disabled: var(--ic-search-bar-outline-disabled);\n --menu-item-text-color: var(--ic-search-bar-dropdown-option-text);\n --menu-item-desc-text-color: var(--ic-search-bar-dropdown-option-description);\n --menu-bg-color: var(--ic-search-bar-dropdown-background);\n --menu-border-color: var(--ic-search-bar-dropdown-outline);\n}\n\n:host(.ic-search-bar-disabled) {\n --ic-input-label-text-color: var(--ic-search-bar-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-search-bar-subtitle-disabled);\n}\n\n:host(.ic-search-bar-search:hover) {\n --border-color: var(--ic-search-bar-outline-hover);\n}\n\n:host(.ic-search-bar-search:active) {\n --border-color: var(--ic-search-bar-outline-pressed);\n}\n\n:host(.ic-search-bar-search.ic-search-bar-small) {\n --divider-height: 1rem;\n}\n\n:host(.ic-search-bar-full-width) {\n width: 100%;\n}\n\n/* Custom Input */\n\n::placeholder {\n color: var(--ic-search-bar-placeholder-text);\n opacity: 1;\n}\n\ninput {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--ic-search-bar-filled-text);\n background-color: var(--input-bg-color);\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 caret-color: var(--ic-search-bar-filled-text-cursor);\n}\n\ninput:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ninput:disabled::placeholder {\n color: var(--ic-search-bar-disabled-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.no-left-pad {\n padding-left: 0;\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/* 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-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button-unfocused * {\n fill: var(--ic-search-bar-clear-button);\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\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-unfocused * {\n fill: var(--ic-search-bar-filled-icon);\n}\n\n.search-submit-button-disabled * {\n fill: var(--ic-search-bar-icon-disabled);\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-color-focus-inner) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer) !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-border-width);\n background-color: var(--ic-search-bar-dropdown-divider);\n height: var(--divider-height);\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\n@media (forced-colors: active) {\n .search-submit-button-unfocused * {\n fill: canvastext;\n }\n\n .search-submit-button-disabled * {\n fill: GrayText;\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\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcMenuOption,\n IcMultiValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n getFilteredMenuOptions,\n removeDisabledFalse,\n debounceEvent,\n} from \"../../utils/helpers\";\nimport {\n IcSearchBarBlurEventDetail,\n IcSearchBarSearchModes,\n} from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../utils/types\";\nimport {\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nimport { IcButtonTypes } from \"../ic-button/ic-button.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot helper-text - Content is set as the helper text for the search bar.\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 private anchorEl?: HTMLElement;\n private assistiveHintEl?: HTMLSpanElement;\n private debounceAriaLive?: number;\n private hasTimedOut = false;\n private inputEl?: HTMLInputElement;\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent = false;\n private menuId = `${this.inputId}-menu`;\n private preLoad = true;\n private preventSubmit = false;\n private prevNoOption = false;\n private retryButtonClick = false;\n private retryViaKeyPress = false;\n private timeoutTimer?: number;\n private truncateValue = false;\n private searchSubmitButton?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSearchBarElement;\n\n @State() ariaActiveDescendant?: string;\n @State() clearButtonFocused = false;\n @State() highlightedValue?: string;\n @State() open = false;\n @State() searchSubmitFocused = false;\n @State() showClearButton = 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 number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\n */\n @Prop() charactersUntilSuggestion = 2;\n @Watch(\"charactersUntilSuggestion\")\n watchCharactersUntilSuggestionHandler(): void {\n if (this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\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() disableAutoFiltering = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\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 * If `true`, the search bar will be focused when component loaded.\n */\n @Prop() focusOnLoad = false;\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 = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\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 = false;\n\n /**\n * The hint text for the hidden assistive description element.\n */\n @Prop() assistiveHintText =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * The label for the search bar.\n */\n @Prop() label!: string;\n\n /**\n * The custom name for the label field to correspond with the IcMenuOption type.\n */\n @Prop() labelField = \"label\";\n\n /**\n * Trigger loading state when fetching options asynchronously\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n\n /**\n * Change the message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to display.\n */\n @Prop() placeholder = \"Search\";\n\n /**\n * If `true` the parent form will not submit when the icSubmitSearch event fires.\n */\n @Prop() preventFormSubmitOnSearch = false;\n @State() searchButtonType: IcButtonTypes;\n @Watch(\"preventFormSubmitOnSearch\")\n preventFormSubmitOnSearchHandler(): void {\n this.updateSearchButtonType();\n }\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the search bar will require a value.\n */\n @Prop() required = false;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * The size of the search bar component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The custom name for the value field to correspond with the IcMenuOption type.\n */\n @Prop() valueField = \"value\";\n\n @State() filteredOptions: IcMenuOption[] = [];\n @Watch(\"filteredOptions\")\n filteredOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n\n /**\n * The suggested search options.\n */\n @Prop() options: IcMenuOption[] = [];\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableAutoFiltering) {\n if (!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 if (!this.preLoad) {\n this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n this.preLoad = true;\n }\n }\n } else if (this.showMenuWithNoInput()) {\n this.filteredOptions = newOptions;\n }\n this.debounceAriaLiveUpdate();\n }\n\n /**\n * The value of the search input.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n this.setInputValue(newValue);\n this.icChange.emit({ value: newValue });\n }\n\n // The icChange event is defined here so that it appears as an event for search bar\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?.setAttribute(\"value\", \"\");\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.showMenuWithNoInput() && this.setMenuChange(true);\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n // The icInput event is defined here so that it appears as an event for search bar\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = ({ target }: Event) => {\n this.value = (target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n this.preLoad = false;\n\n if (this.disableAutoFiltering === false) {\n const rawFilteredOptions = getFilteredMenuOptions(\n this.options,\n false,\n this.value,\n \"anywhere\",\n this.labelField\n );\n\n this.filteredOptions =\n rawFilteredOptions.length > 0\n ? rawFilteredOptions\n : [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n }\n\n if (!this.showClearButton) this.showClearButton = true;\n\n this.debounceAriaLiveUpdate();\n };\n\n private onInputBlur = ({ target, relatedTarget }: FocusEvent) => {\n this.icSearchBarBlur.emit({\n value: (target as HTMLInputElement).value,\n relatedTarget,\n });\n };\n\n private onInputFocus = ({ target }: Event) => {\n this.icSearchBarFocus.emit({ value: (target as HTMLInputElement).value });\n\n this.showClearButton = true;\n };\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 /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = ({ relatedTarget }: FocusEvent) => {\n this.icClearBlur.emit({ relatedTarget });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * Emitted when the 'retry loading' button is clicked\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = ({ relatedTarget }: FocusEvent) => {\n this.icSubmitSearchBlur.emit({ relatedTarget });\n\n this.searchSubmitFocused = false;\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<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n this.assistiveHintEl?.remove();\n }\n\n componentWillLoad(): void {\n this.setInputValue(this.value);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n\n this.updateSearchButtonType();\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.disableAutoFiltering || this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n }\n\n componentWillRender(): void {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n if (\n this.filteredOptions.find(\n (filteredOption) =>\n filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel\n )\n ) {\n this.prevNoOption = true;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(event: KeyboardEvent): void {\n this.icKeydown.emit({ event });\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(event);\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 /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n this.inputEl?.focus();\n }\n\n private setInputValue = (newValue: string) => {\n if (this.inputEl) {\n const label = getLabelFromValue(\n newValue,\n this.options,\n this.valueField,\n this.labelField\n );\n if (label) this.inputEl.value = label;\n else if (this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n };\n\n private handleMouseDown = (ev: Event) => {\n ev.preventDefault();\n };\n\n private handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n\n private handleSubmitSearch = () => {\n if (this.highlightedValue) this.value = this.highlightedValue;\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n\n const form = this.el.closest<HTMLFormElement>(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\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<IcMultiValueEventDetail>) => {\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 {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\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 = (\n ev: CustomEvent<IcMenuOptionIdEventDetail>\n ) => {\n const { optionId } = ev.detail;\n if (optionId)\n this.highlightedValue = optionId.replace(`${this.menuId}-`, \"\");\n this.ariaActiveDescendant = optionId || \"\";\n };\n\n private handleMenuChange = (ev: CustomEvent<IcMenuChangeEventDetail>) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.menuCloseFromMenuChangeEvent = true;\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 (\n this.options &&\n (this.value || this.showMenuWithNoInput()) &&\n !this.menuCloseFromMenuChangeEvent\n ) {\n this.setMenuChange(true);\n }\n this.truncateValue = false;\n this.showMenuWithNoInput() && this.debounceAriaLiveUpdate();\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = ({ relatedTarget }: FocusEvent) => {\n if (\n this.open &&\n this.options &&\n relatedTarget !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick\n ) {\n this.setMenuChange(false);\n }\n\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl?.focus();\n }\n\n this.showClearButton = false;\n this.menuCloseFromMenuChangeEvent = false;\n this.truncateValue = true;\n this.icSearchBarBlur.emit({\n relatedTarget,\n value: this.value,\n });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n this.showMenuWithNoInput() && this.updateSearchResultAriaLive();\n };\n\n private handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n\n private renderAssistiveHintEl = () => {\n const input = this.el.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.assistiveHintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n input.after?.(this.assistiveHintEl);\n }\n };\n\n private updateSearchResultAriaLive = () => {\n const searchResultsStatusEl =\n this.el.shadowRoot?.querySelector<HTMLParagraphElement>(\n \".search-results-status\"\n );\n\n if (searchResultsStatusEl) {\n if (\n !this.open ||\n (this.value === \"\" && !this.showMenuWithNoInput()) ||\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 !this.filteredOptions[0].loading\n ) {\n searchResultsStatusEl.innerText = this.hadNoOptions()\n ? this.emptyOptionListText\n : `${this.filteredOptions.length} result${\n this.filteredOptions.length > 1 ? \"s\" : \"\"\n } available`;\n }\n }\n };\n\n private hasOptionsOrFilterDisabled = () =>\n this.options.length > 0 || this.disableAutoFiltering;\n\n private hadNoOptions = () =>\n this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n\n private isSubmitDisabled = () =>\n !this.value ||\n this.value.length < this.charactersUntilSuggestion ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading;\n\n private showMenuWithNoInput = () => this.charactersUntilSuggestion === 0;\n private updateSearchButtonType = () => {\n this.searchButtonType =\n !!this.el.closest<HTMLFormElement>(\"FORM\") &&\n !this.preventFormSubmitOnSearch\n ? \"submit\"\n : \"button\";\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\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 theme,\n charactersUntilSuggestion,\n labelField,\n valueField,\n loadingLabel,\n loadingErrorLabel,\n searchMode,\n showClearButton,\n searchSubmitFocused,\n clearButtonFocused,\n searchButtonType,\n } = this;\n\n const disabledMode = readonly || disabled;\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById = undefined;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n\n const hasSuggestedSearch =\n (!!value || this.showMenuWithNoInput()) &&\n this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= charactersUntilSuggestion;\n\n const labelValue = getLabelFromValue(\n value,\n options,\n valueField,\n labelField\n );\n\n renderHiddenInput(this.el as HTMLElement, value, name, disabledMode);\n\n return (\n <Host\n class={{\n \"ic-search-bar-search\": true,\n \"ic-search-bar-full-width\": fullWidth,\n \"ic-search-bar-disabled\": disabled,\n \"ic-search-bar-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledMode && !readonly}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n size={size}\n disabled={disabledMode}\n readonly={readonly}\n fullWidth={fullWidth}\n >\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el)}\n value={options && !!labelValue ? labelValue : value}\n class={{\n \"no-left-pad\": readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : undefined}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded={\n options.length > 0 && menuRendered ? `${menuOpen}` : undefined\n }\n aria-owns={menuRendered ? menuId : undefined}\n aria-describedby={describedById}\n aria-controls={menuRendered ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={options.length > 0 && menuRendered ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n ></input>\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n !!value && !disabledMode && showClearButton,\n }}\n >\n <ic-button\n id=\"clear-button\"\n class={{\n \"clear-button\": true,\n \"clear-button-unfocused\": !clearButtonFocused,\n }}\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n onMouseDown={this.handleMouseDown}\n size={size}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type={\"button\"}\n variant=\"icon-tertiary\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\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 >\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\": size === \"small\",\n \"search-submit-button-unfocused\": !searchSubmitFocused,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }}\n disabled={this.isSubmitDisabled()}\n innerHTML={searchIcon}\n size={size}\n onClick={this.handleSubmitSearch}\n onMouseDown={this.handleMouseDown}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n onKeyDown={this.handleSubmitSearchKeyDown}\n type={searchButtonType}\n variant=\"icon-tertiary\"\n theme={searchSubmitFocused ? \"light\" : \"dark\"}\n ></ic-button>\n </div>\n </ic-input-component-container>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n >\n {menuRendered && this.anchorEl && this.inputEl && (\n <ic-menu\n class={{\n \"no-results\":\n this.hadNoOptions() ||\n (filteredOptions.length === 1 &&\n (filteredOptions[0][labelField] === loadingLabel ||\n filteredOptions[0][labelField] === loadingErrorLabel)),\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autofocusOnSelected={false}\n searchMode={searchMode}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\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 as HTMLElement}\n value={value}\n labelField={labelField}\n valueField={valueField}\n searchBar={true}\n ></ic-menu>\n )}\n </div>\n </ic-input-container>\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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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as o,H as t,g as i}from"./p-8e4e97b4.js";import{D as r,g as n}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const a='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.footer-link-ungrouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:2.5rem;--footer-link-margin-bottom:0}:host(.footer-link-ungrouped-small){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-small){--footer-link-margin-left:var(--ic-space-md);--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link){margin-left:var(--footer-link-margin-left);margin-right:var(--footer-link-margin-right);margin-bottom:var(--footer-link-margin-bottom)}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-default)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-text-primary)}:host(.footer-link-light) ::part(link),:host(.footer-link-dark) ::part(link){color:var(--ic-footer-link)}:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:var(--ic-footer-logo)}:host(.footer-logo-link){transition:var(--ic-easing-transition-fast)}:host(.footer-logo-link:hover){background-color:var(--ic-footer-hover)}:host(.footer-logo-link:active){background-color:var(--ic-footer-pressed)}:host(.footer-logo-link:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}@media (forced-colors: active){:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:currentcolor}}';const l=a;const s=class{constructor(o){e(this,o);this.deviceSize=r.XL;this.footerConfig={small:false,grouped:false};this.foregroundColor=n();this.download=false}componentWillLoad(){this.footerConfig=this.inferConfig(this.el)}footerResizeHandler(){this.footerConfig=this.inferConfig(this.el)}footerBrandChangeHandler(e){this.foregroundColor=e.detail.mode}inferConfig(e){if(e.parentElement!==null){if(e.parentElement.classList.contains("ic-footer")){return{small:e.parentElement.classList.contains("ic-footer-small"),grouped:e.parentElement.classList.contains("ic-footer-grouped")}}else{return this.inferConfig(e.parentElement)}}else{return{small:false,grouped:false}}}render(){const{footerConfig:e,href:i,hreflang:r,referrerpolicy:n,rel:a,target:l,download:s}=this;const{small:c,grouped:d}=e;const f=!!this.el.closest("div[slot='logo']");return o(t,{key:"da89e5595b7e1b6308d72243462bd0a2f989b501",class:{"footer-link":true,[`footer-link-${d?"grouped":"ungrouped"}-${c?"small":"sparse"}`]:true,[`footer-link-${this.foregroundColor}`]:true,"footer-logo-link":f},role:"listitem"},o("ic-link",{key:"70cc7b6f5a7710921915f0697a2cf5b55e872d3d",class:"footer-link",href:i,hreflang:r,referrerpolicy:n,rel:a,download:s!==false?s:undefined,target:l},o("slot",{key:"d21bfcaf85a37aebd6138770d80c54e779df714c"})))}static get delegatesFocus(){return true}get el(){return i(this)}};s.style=l;export{s as ic_footer_link};
2
+ //# sourceMappingURL=p-19366be6.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icFooterLinkCss","IcFooterLinkStyle0","FooterLink","constructor","hostRef","this","deviceSize","DEVICE_SIZES","XL","footerConfig","small","grouped","foregroundColor","getBrandForegroundAppearance","download","componentWillLoad","inferConfig","el","footerResizeHandler","footerBrandChangeHandler","ev","detail","mode","e","parentElement","classList","contains","render","href","hreflang","referrerpolicy","rel","target","isLogoLink","closest","h","Host","key","class","role","undefined"],"sources":["src/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","src/components/ic-footer-link/ic-footer-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-default);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-text-primary);\n}\n\n:host(.footer-link-light) ::part(link),\n:host(.footer-link-dark) ::part(link) {\n color: var(--ic-footer-link);\n}\n\n:host(.footer-link-light) ::slotted(svg),\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-footer-logo);\n}\n\n:host(.footer-logo-link) {\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.footer-logo-link:hover) {\n background-color: var(--ic-footer-hover);\n}\n\n:host(.footer-logo-link:active) {\n background-color: var(--ic-footer-pressed);\n}\n\n:host(.footer-logo-link:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { IcBrand, IcBrandForeground } from \"../../utils/types\";\n\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\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 /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\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 componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n footerBrandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private inferConfig(e: HTMLElement): FooterConfig {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return {\n small: e.parentElement.classList.contains(\"ic-footer-small\"),\n grouped: e.parentElement.classList.contains(\"ic-footer-grouped\"),\n };\n } else {\n return this.inferConfig(e.parentElement);\n }\n } else {\n return { small: false, grouped: false };\n }\n }\n\n render() {\n const {\n footerConfig,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n download,\n } = this;\n const { small, grouped } = footerConfig;\n\n const isLogoLink = !!this.el.closest(\"div[slot='logo']\");\n\n return (\n <Host\n class={{\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${\n small ? \"small\" : \"sparse\"\n }`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n \"footer-logo-link\": isLogoLink,\n }}\n role=\"listitem\"\n >\n <ic-link\n class=\"footer-link\"\n href={href}\n hreflang={hreflang}\n referrerpolicy={referrerpolicy}\n rel={rel}\n download={download !== false ? download : undefined}\n target={target}\n >\n <slot />\n </ic-link>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAkB,g0JACxB,MAAAC,EAAeD,E,MCuBFE,EAAU,MAPvB,WAAAC,CAAAC,G,UAUWC,KAAAC,WAAqBC,EAAaC,GAClCH,KAAAI,aAA6B,CAAEC,MAAO,MAAOC,QAAS,OACtDN,KAAAO,gBAAqCC,IAKtCR,KAAAS,SAA8B,K,CA2BtC,iBAAAC,GACEV,KAAKI,aAAeJ,KAAKW,YAAYX,KAAKY,G,CAI5C,mBAAAC,GACEb,KAAKI,aAAeJ,KAAKW,YAAYX,KAAKY,G,CAI5C,wBAAAE,CAAyBC,GACvBf,KAAKO,gBAAkBQ,EAAGC,OAAOC,I,CAG3B,WAAAN,CAAYO,GAClB,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,aAAc,CACnD,MAAO,CACLhB,MAAOa,EAAEC,cAAcC,UAAUC,SAAS,mBAC1Cf,QAASY,EAAEC,cAAcC,UAAUC,SAAS,qB,KAEzC,CACL,OAAOrB,KAAKW,YAAYO,EAAEC,c,MAEvB,CACL,MAAO,CAAEd,MAAO,MAAOC,QAAS,M,EAIpC,MAAAgB,GACE,MAAMlB,aACJA,EAAYmB,KACZA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMlB,SACNA,GACET,KACJ,MAAMK,MAAEA,EAAKC,QAAEA,GAAYF,EAE3B,MAAMwB,IAAe5B,KAAKY,GAAGiB,QAAQ,oBAErC,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,cAAe,KACf,CAAC,eAAe3B,EAAU,UAAY,eACpCD,EAAQ,QAAU,YACf,KACL,CAAC,eAAeL,KAAKO,mBAAoB,KACzC,mBAAoBqB,GAEtBM,KAAK,YAELJ,EAAA,WAAAE,IAAA,2CACEC,MAAM,cACNV,KAAMA,EACNC,SAAUA,EACVC,eAAgBA,EAChBC,IAAKA,EACLjB,SAAUA,IAAa,MAAQA,EAAW0B,UAC1CR,OAAQA,GAERG,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
1
+ {"version":3,"names":["icFooterLinkCss","IcFooterLinkStyle0","FooterLink","constructor","hostRef","this","deviceSize","DEVICE_SIZES","XL","footerConfig","small","grouped","foregroundColor","getBrandForegroundAppearance","download","componentWillLoad","inferConfig","el","footerResizeHandler","footerBrandChangeHandler","ev","detail","mode","e","parentElement","classList","contains","render","href","hreflang","referrerpolicy","rel","target","isLogoLink","closest","h","Host","key","class","role","undefined"],"sources":["src/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","src/components/ic-footer-link/ic-footer-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-default);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-text-primary);\n}\n\n:host(.footer-link-light) ::part(link),\n:host(.footer-link-dark) ::part(link) {\n color: var(--ic-footer-link);\n}\n\n:host(.footer-link-light) ::slotted(svg),\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-footer-logo);\n}\n\n:host(.footer-logo-link) {\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.footer-logo-link:hover) {\n background-color: var(--ic-footer-hover);\n}\n\n:host(.footer-logo-link:active) {\n background-color: var(--ic-footer-pressed);\n}\n\n:host(.footer-logo-link:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { IcBrand, IcBrandForeground } from \"../../utils/types\";\n\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\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 /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\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 componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n footerBrandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private inferConfig(e: HTMLElement): FooterConfig {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return {\n small: e.parentElement.classList.contains(\"ic-footer-small\"),\n grouped: e.parentElement.classList.contains(\"ic-footer-grouped\"),\n };\n } else {\n return this.inferConfig(e.parentElement);\n }\n } else {\n return { small: false, grouped: false };\n }\n }\n\n render() {\n const {\n footerConfig,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n download,\n } = this;\n const { small, grouped } = footerConfig;\n\n const isLogoLink = !!this.el.closest(\"div[slot='logo']\");\n\n return (\n <Host\n class={{\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${\n small ? \"small\" : \"sparse\"\n }`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n \"footer-logo-link\": isLogoLink,\n }}\n role=\"listitem\"\n >\n <ic-link\n class=\"footer-link\"\n href={href}\n hreflang={hreflang}\n referrerpolicy={referrerpolicy}\n rel={rel}\n download={download !== false ? download : undefined}\n target={target}\n >\n <slot />\n </ic-link>\n </Host>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAkB,g0JACxB,MAAAC,EAAeD,E,MCuBFE,EAAU,MAPvB,WAAAC,CAAAC,G,UAUWC,KAAAC,WAAqBC,EAAaC,GAClCH,KAAAI,aAA6B,CAAEC,MAAO,MAAOC,QAAS,OACtDN,KAAAO,gBAAqCC,IAKtCR,KAAAS,SAA8B,K,CA2BtC,iBAAAC,GACEV,KAAKI,aAAeJ,KAAKW,YAAYX,KAAKY,G,CAI5C,mBAAAC,GACEb,KAAKI,aAAeJ,KAAKW,YAAYX,KAAKY,G,CAI5C,wBAAAE,CAAyBC,GACvBf,KAAKO,gBAAkBQ,EAAGC,OAAOC,I,CAG3B,WAAAN,CAAYO,GAClB,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,aAAc,CACnD,MAAO,CACLhB,MAAOa,EAAEC,cAAcC,UAAUC,SAAS,mBAC1Cf,QAASY,EAAEC,cAAcC,UAAUC,SAAS,qB,KAEzC,CACL,OAAOrB,KAAKW,YAAYO,EAAEC,c,MAEvB,CACL,MAAO,CAAEd,MAAO,MAAOC,QAAS,M,EAIpC,MAAAgB,GACE,MAAMlB,aACJA,EAAYmB,KACZA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMlB,SACNA,GACET,KACJ,MAAMK,MAAEA,EAAKC,QAAEA,GAAYF,EAE3B,MAAMwB,IAAe5B,KAAKY,GAAGiB,QAAQ,oBAErC,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,cAAe,KACf,CAAC,eAAe3B,EAAU,UAAY,eACpCD,EAAQ,QAAU,YACf,KACL,CAAC,eAAeL,KAAKO,mBAAoB,KACzC,mBAAoBqB,GAEtBM,KAAK,YAELJ,EAAA,WAAAE,IAAA,2CACEC,MAAM,cACNV,KAAMA,EACNC,SAAUA,EACVC,eAAgBA,EAChBC,IAAKA,EACLjB,SAAUA,IAAa,MAAQA,EAAW0B,UAC1CR,OAAQA,GAERG,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,H as e,g as o}from"./p-8e4e97b4.js";import{c as n,o as s}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">\n <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>\n</svg>\n`;const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex;flex:row;height:0.1px}:host(.ic-back-to-top-right){justify-content:flex-end}:host(.ic-back-to-top-right) ic-button{margin-right:var(--margin-right, 1rem)}:host(.ic-back-to-top-right) .ic-back-to-top-icon{padding-top:var(--ic-space-xxs);padding-right:var(--ic-space-xs)}:host(.ic-back-to-top-left){justify-content:flex-start}:host(.ic-back-to-top-left) ic-button{margin-left:var(--margin-left, 1rem)}:host(.ic-back-to-top-left) .ic-back-to-top-icon{padding-top:var(--ic-space-xxs);padding-right:var(--ic-space-xs)}:host(.ic-back-to-top-center){justify-content:center}:host(.ic-back-to-top-center) .ic-back-to-top-icon{padding-top:var(--ic-space-xxs);padding-right:var(--ic-space-xs)}ic-button{height:2.5rem;align-items:center;background-color:var(--ic-color-background-primary);border-radius:5rem;box-shadow:var(--ic-elevation-overlay);visibility:hidden;position:fixed;bottom:var(--ic-space-md);opacity:0;transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);z-index:var(--ic-z-index-back-to-top)}:host([variant="icon"]) ic-button::part(button){margin:0}ic-button::part(button){border-radius:5rem}ic-button.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}ic-button.offset-banner:not(.by-footer){margin-bottom:var(--footer-offset, var(--ic-space-lg))}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md)}.icon-only{width:2.5rem}.icon-only .ic-back-to-top-icon>svg{padding-left:calc(var(--ic-space-xs) - var(--ic-space-1px))}ic-button.by-footer{position:relative;bottom:var(--footer-offset, 3.5rem)}@media (forced-colors: active){.icon-only .ic-back-to-top-icon>svg{padding-left:calc(var(--ic-space-xs) - var(--ic-space-xxxs))}}';const c=r;const l="Back to top";const d=class{constructor(i){t(this,i);this.topObserver=null;this.bannerOffset=false;this.footerVisible=false;this.targetElVisible=true;this.position="right";this.theme="inherit";this.variant="default";this.getObservedEl=()=>document.querySelector("#ic-back-to-top-target");this.setTargetElVisible=t=>{this.targetElVisible=t};this.setFooterVisible=t=>{this.checkForClassificationBanner();this.footerVisible=typeof window!=="undefined"&&window.scrollY===0?false:t};this.targetElObserverCallback=t=>{this.setTargetElVisible(t[0].isIntersecting)};this.footerObserverCallback=t=>{this.setFooterVisible(t[0].isIntersecting)};this.findTargetEl=t=>{let i=null;if(t===null||t===undefined){console.log("Error: No target ID specified for back to top component - defaulting to top of page")}else{i=document.querySelector(`${t.startsWith("#")?"":"#"}${t}`);if(i===null){console.log(`Error: Back to top target element '${t}' not found - defaulting to top of page`)}}return i};this.createTopObserver=t=>{this.targetEl=this.findTargetEl(t);let i;if(this.topObserver!==null){const t=this.getObservedEl();if(t!==null){this.topObserver.unobserve(t);t.remove()}}if(this.targetEl===null){i=document.body;this.targetEl=i.firstElementChild;this.isTargetElNull=true}else{i=this.targetEl.parentNode;this.isTargetElNull=false}const e=document.createElement("div");e.setAttribute("id","ic-back-to-top-target");e.setAttribute("tabindex","-1");i.insertBefore(e,this.targetEl);const o=this.targetEl?getComputedStyle(this.targetEl).marginTop:0;this.topObserver=new IntersectionObserver(this.targetElObserverCallback,{threshold:[0],rootMargin:`${o} 0px 0px 0px`});this.topObserver.observe(e)};this.handleClick=()=>{var t;if(this.isTargetElNull){window.scrollTo(0,0)}else{(t=this.targetEl)===null||t===void 0?void 0:t.scrollIntoView()}this.getObservedEl().focus()};this.checkForClassificationBanner=()=>{const t=document.querySelectorAll("ic-classification-banner:not([inline='true'])");this.bannerOffset=t.length>0}}watchPropHandler(t,i){n(i,t,(()=>{this.createTopObserver(t)}))}componentWillLoad(){this.createTopObserver(this.target);this.checkForClassificationBanner();let t=document.querySelectorAll("ic-footer");if(t.length===0){t=document.querySelectorAll("footer")}if(t.length){const i=t[t.length-1];const e=this.bannerOffset?.15:0;const o=new IntersectionObserver(this.footerObserverCallback,{threshold:[e]});o.observe(i)}}componentDidLoad(){s([{prop:this.target,propName:"target"}],"Back to Top")}render(){const{variant:t,bannerOffset:o,targetElVisible:n,footerVisible:s}=this;const r=t==="icon"?"icon-secondary":"secondary";const c=t==="icon"?"large":"medium";const d=t==="icon"?"":l;return i(e,{key:"11f790112cc8047ab6b35459de506f6dc6a85c5f",class:{[`ic-theme-${this.theme}`]:this.theme!=="inherit",[`ic-back-to-top-${this.position}`]:true}},i("ic-button",{key:"670015cd630e897033a440ff4846d475c113a453","aria-label":l,variant:r,size:c,onClick:this.handleClick,class:{["offset-banner"]:o,["show"]:!n,["by-footer"]:s,["icon-only"]:t==="icon"},theme:this.theme},i("span",{key:"e56c7a48a8226d1f471fc9a953851d27f4a6504c",class:"ic-back-to-top-icon",innerHTML:a}),d))}static get delegatesFocus(){return true}get el(){return o(this)}static get watchers(){return{target:["watchPropHandler"]}}};d.style=c;export{d as ic_back_to_top};
2
+ //# sourceMappingURL=p-1ab63899.entry.js.map