@carbon/ibmdotcom-web-components 1.26.0-rc.1 → 1.26.0-rc.3

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 (788) hide show
  1. package/es/component-mixins/cta/cta.d.ts.map +1 -1
  2. package/es/component-mixins/cta/cta.js +12 -12
  3. package/es/component-mixins/cta/cta.js.map +1 -1
  4. package/es/component-mixins/cta/video.d.ts.map +1 -1
  5. package/es/component-mixins/cta/video.js +5 -5
  6. package/es/component-mixins/cta/video.js.map +1 -1
  7. package/es/components/back-to-top/__stories__/data/content.d.ts.map +1 -1
  8. package/es/components/back-to-top/__stories__/data/content.js +1 -1
  9. package/es/components/back-to-top/__stories__/data/content.js.map +1 -1
  10. package/es/components/back-to-top/back-to-top.d.ts +1 -1
  11. package/es/components/back-to-top/back-to-top.d.ts.map +1 -1
  12. package/es/components/back-to-top/back-to-top.js +3 -3
  13. package/es/components/back-to-top/back-to-top.js.map +1 -1
  14. package/es/components/background-media/background-media.d.ts.map +1 -1
  15. package/es/components/background-media/background-media.js +2 -2
  16. package/es/components/background-media/background-media.js.map +1 -1
  17. package/es/components/button/button.d.ts +1 -4
  18. package/es/components/button/button.d.ts.map +1 -1
  19. package/es/components/button/button.js +3 -3
  20. package/es/components/button/button.js.map +1 -1
  21. package/es/components/button-group/button-group.d.ts.map +1 -1
  22. package/es/components/button-group/button-group.js +1 -1
  23. package/es/components/button-group/button-group.js.map +1 -1
  24. package/es/components/card/card.d.ts +1 -1
  25. package/es/components/card/card.d.ts.map +1 -1
  26. package/es/components/card/card.js +1 -1
  27. package/es/components/card/card.js.map +1 -1
  28. package/es/components/card-in-card/card-in-card.d.ts.map +1 -1
  29. package/es/components/card-in-card/card-in-card.js +1 -1
  30. package/es/components/card-in-card/card-in-card.js.map +1 -1
  31. package/es/components/carousel/carousel.d.ts +10 -1
  32. package/es/components/carousel/carousel.d.ts.map +1 -1
  33. package/es/components/carousel/carousel.js +6 -6
  34. package/es/components/carousel/carousel.js.map +1 -1
  35. package/es/components/content-item-horizontal/content-item-horizontal-media.d.ts +3 -9
  36. package/es/components/content-item-horizontal/content-item-horizontal-media.d.ts.map +1 -1
  37. package/es/components/content-item-horizontal/content-item-horizontal-media.js +2 -2
  38. package/es/components/content-item-horizontal/content-item-horizontal-media.js.map +1 -1
  39. package/es/components/cta/card-cta.d.ts.map +1 -1
  40. package/es/components/cta/card-cta.js +1 -1
  41. package/es/components/cta/card-cta.js.map +1 -1
  42. package/es/components/cta/feature-cta.d.ts +4 -1
  43. package/es/components/cta/feature-cta.d.ts.map +1 -1
  44. package/es/components/cta/feature-cta.js +1 -1
  45. package/es/components/cta/feature-cta.js.map +1 -1
  46. package/es/components/cta/video-cta-composite.d.ts +9 -6
  47. package/es/components/cta/video-cta-composite.d.ts.map +1 -1
  48. package/es/components/cta/video-cta-composite.js +3 -3
  49. package/es/components/cta/video-cta-composite.js.map +1 -1
  50. package/es/components/dotcom-shell/__stories__/data/content.d.ts.map +1 -1
  51. package/es/components/dotcom-shell/__stories__/data/content.js +1 -1
  52. package/es/components/dotcom-shell/__stories__/data/content.js.map +1 -1
  53. package/es/components/expressive-modal/expressive-modal-body.d.ts +1 -1
  54. package/es/components/expressive-modal/expressive-modal-body.d.ts.map +1 -1
  55. package/es/components/expressive-modal/expressive-modal-body.js +1 -1
  56. package/es/components/expressive-modal/expressive-modal-body.js.map +1 -1
  57. package/es/components/expressive-modal/expressive-modal-close-button.d.ts +1 -1
  58. package/es/components/expressive-modal/expressive-modal-close-button.d.ts.map +1 -1
  59. package/es/components/expressive-modal/expressive-modal-close-button.js +1 -1
  60. package/es/components/expressive-modal/expressive-modal-close-button.js.map +1 -1
  61. package/es/components/expressive-modal/expressive-modal-footer.d.ts +1 -1
  62. package/es/components/expressive-modal/expressive-modal-footer.d.ts.map +1 -1
  63. package/es/components/expressive-modal/expressive-modal-footer.js +1 -1
  64. package/es/components/expressive-modal/expressive-modal-footer.js.map +1 -1
  65. package/es/components/expressive-modal/expressive-modal-header.d.ts +1 -1
  66. package/es/components/expressive-modal/expressive-modal-header.d.ts.map +1 -1
  67. package/es/components/expressive-modal/expressive-modal-header.js +1 -1
  68. package/es/components/expressive-modal/expressive-modal-header.js.map +1 -1
  69. package/es/components/expressive-modal/expressive-modal-heading.d.ts +1 -1
  70. package/es/components/expressive-modal/expressive-modal-heading.d.ts.map +1 -1
  71. package/es/components/expressive-modal/expressive-modal-heading.js +1 -1
  72. package/es/components/expressive-modal/expressive-modal-heading.js.map +1 -1
  73. package/es/components/expressive-modal/expressive-modal.d.ts +5 -10
  74. package/es/components/expressive-modal/expressive-modal.d.ts.map +1 -1
  75. package/es/components/expressive-modal/expressive-modal.js +3 -3
  76. package/es/components/expressive-modal/expressive-modal.js.map +1 -1
  77. package/es/components/filter-panel/filter-group-item.d.ts +2 -4
  78. package/es/components/filter-panel/filter-group-item.d.ts.map +1 -1
  79. package/es/components/filter-panel/filter-group-item.js +1 -1
  80. package/es/components/filter-panel/filter-group-item.js.map +1 -1
  81. package/es/components/filter-panel/filter-group.d.ts +1 -1
  82. package/es/components/filter-panel/filter-group.d.ts.map +1 -1
  83. package/es/components/filter-panel/filter-group.js +1 -1
  84. package/es/components/filter-panel/filter-group.js.map +1 -1
  85. package/es/components/filter-panel/filter-modal-button.d.ts +1 -1
  86. package/es/components/filter-panel/filter-modal-button.d.ts.map +1 -1
  87. package/es/components/filter-panel/filter-modal-button.js +1 -1
  88. package/es/components/filter-panel/filter-modal-button.js.map +1 -1
  89. package/es/components/filter-panel/filter-modal-footer.d.ts +1 -1
  90. package/es/components/filter-panel/filter-modal-footer.d.ts.map +1 -1
  91. package/es/components/filter-panel/filter-modal-footer.js +1 -1
  92. package/es/components/filter-panel/filter-modal-footer.js.map +1 -1
  93. package/es/components/filter-panel/filter-modal-heading.d.ts +1 -1
  94. package/es/components/filter-panel/filter-modal-heading.d.ts.map +1 -1
  95. package/es/components/filter-panel/filter-modal-heading.js +1 -1
  96. package/es/components/filter-panel/filter-modal-heading.js.map +1 -1
  97. package/es/components/filter-panel/filter-panel-checkbox.d.ts +2 -2
  98. package/es/components/filter-panel/filter-panel-checkbox.d.ts.map +1 -1
  99. package/es/components/filter-panel/filter-panel-checkbox.js +3 -3
  100. package/es/components/filter-panel/filter-panel-checkbox.js.map +1 -1
  101. package/es/components/filter-panel/filter-panel-composite.d.ts +20 -12
  102. package/es/components/filter-panel/filter-panel-composite.d.ts.map +1 -1
  103. package/es/components/filter-panel/filter-panel-composite.js +4 -4
  104. package/es/components/filter-panel/filter-panel-composite.js.map +1 -1
  105. package/es/components/filter-panel/filter-panel-input-select-item.d.ts +0 -3
  106. package/es/components/filter-panel/filter-panel-input-select-item.d.ts.map +1 -1
  107. package/es/components/filter-panel/filter-panel-input-select-item.js +2 -2
  108. package/es/components/filter-panel/filter-panel-input-select-item.js.map +1 -1
  109. package/es/components/filter-panel/filter-panel-input-select.d.ts +5 -1
  110. package/es/components/filter-panel/filter-panel-input-select.d.ts.map +1 -1
  111. package/es/components/filter-panel/filter-panel-input-select.js +2 -2
  112. package/es/components/filter-panel/filter-panel-input-select.js.map +1 -1
  113. package/es/components/filter-panel/filter-panel-modal.d.ts +4 -6
  114. package/es/components/filter-panel/filter-panel-modal.d.ts.map +1 -1
  115. package/es/components/filter-panel/filter-panel-modal.js +3 -3
  116. package/es/components/filter-panel/filter-panel-modal.js.map +1 -1
  117. package/es/components/filter-panel/filter-panel.d.ts +4 -2
  118. package/es/components/filter-panel/filter-panel.d.ts.map +1 -1
  119. package/es/components/filter-panel/filter-panel.js +2 -2
  120. package/es/components/filter-panel/filter-panel.js.map +1 -1
  121. package/es/components/footer/combo-box.d.ts +1 -1
  122. package/es/components/footer/combo-box.d.ts.map +1 -1
  123. package/es/components/footer/combo-box.js +1 -1
  124. package/es/components/footer/combo-box.js.map +1 -1
  125. package/es/components/footer/defs.d.ts +1 -1
  126. package/es/components/footer/defs.d.ts.map +1 -1
  127. package/es/components/footer/defs.js +1 -1
  128. package/es/components/footer/defs.js.map +1 -1
  129. package/es/components/footer/dropdown.d.ts +1 -1
  130. package/es/components/footer/dropdown.d.ts.map +1 -1
  131. package/es/components/footer/dropdown.js +3 -3
  132. package/es/components/footer/dropdown.js.map +1 -1
  133. package/es/components/footer/footer-composite.d.ts +3 -8
  134. package/es/components/footer/footer-composite.d.ts.map +1 -1
  135. package/es/components/footer/footer-composite.js +5 -5
  136. package/es/components/footer/footer-composite.js.map +1 -1
  137. package/es/components/footer/footer-logo.d.ts.map +1 -1
  138. package/es/components/footer/footer-logo.js +2 -2
  139. package/es/components/footer/footer-logo.js.map +1 -1
  140. package/es/components/footer/footer-nav-group.d.ts.map +1 -1
  141. package/es/components/footer/footer-nav-group.js +1 -1
  142. package/es/components/footer/footer-nav-group.js.map +1 -1
  143. package/es/components/footer/footer-nav-item.d.ts +1 -1
  144. package/es/components/footer/footer-nav-item.d.ts.map +1 -1
  145. package/es/components/footer/footer-nav-item.js +1 -1
  146. package/es/components/footer/footer-nav-item.js.map +1 -1
  147. package/es/components/footer/language-selector-desktop.d.ts.map +1 -1
  148. package/es/components/footer/language-selector-desktop.js +2 -2
  149. package/es/components/footer/language-selector-desktop.js.map +1 -1
  150. package/es/components/footer/language-selector-mobile.d.ts.map +1 -1
  151. package/es/components/footer/language-selector-mobile.js +2 -2
  152. package/es/components/footer/language-selector-mobile.js.map +1 -1
  153. package/es/components/footer/locale-button.d.ts +3 -1
  154. package/es/components/footer/locale-button.d.ts.map +1 -1
  155. package/es/components/footer/locale-button.js +3 -3
  156. package/es/components/footer/locale-button.js.map +1 -1
  157. package/es/components/image/image.d.ts +5 -1
  158. package/es/components/image/image.d.ts.map +1 -1
  159. package/es/components/image/image.js +3 -3
  160. package/es/components/image/image.js.map +1 -1
  161. package/es/components/image-with-caption/image-with-caption.d.ts.map +1 -1
  162. package/es/components/image-with-caption/image-with-caption.js +3 -3
  163. package/es/components/image-with-caption/image-with-caption.js.map +1 -1
  164. package/es/components/leadspace/breadcrumb-item.d.ts +1 -1
  165. package/es/components/leadspace/breadcrumb-item.d.ts.map +1 -1
  166. package/es/components/leadspace/breadcrumb-item.js +1 -1
  167. package/es/components/leadspace/breadcrumb-item.js.map +1 -1
  168. package/es/components/leadspace/breadcrumb-link.d.ts +1 -1
  169. package/es/components/leadspace/breadcrumb-link.d.ts.map +1 -1
  170. package/es/components/leadspace/breadcrumb-link.js +1 -1
  171. package/es/components/leadspace/breadcrumb-link.js.map +1 -1
  172. package/es/components/leadspace/breadcrumb.d.ts +1 -1
  173. package/es/components/leadspace/breadcrumb.d.ts.map +1 -1
  174. package/es/components/leadspace/breadcrumb.js +1 -1
  175. package/es/components/leadspace/breadcrumb.js.map +1 -1
  176. package/es/components/leaving-ibm/leaving-ibm-composite.d.ts +8 -6
  177. package/es/components/leaving-ibm/leaving-ibm-composite.d.ts.map +1 -1
  178. package/es/components/leaving-ibm/leaving-ibm-composite.js +7 -7
  179. package/es/components/leaving-ibm/leaving-ibm-composite.js.map +1 -1
  180. package/es/components/leaving-ibm/leaving-ibm-modal-body.d.ts +2 -2
  181. package/es/components/leaving-ibm/leaving-ibm-modal-body.d.ts.map +1 -1
  182. package/es/components/leaving-ibm/leaving-ibm-modal-body.js +3 -3
  183. package/es/components/leaving-ibm/leaving-ibm-modal-body.js.map +1 -1
  184. package/es/components/leaving-ibm/leaving-ibm-modal-heading.d.ts +1 -1
  185. package/es/components/leaving-ibm/leaving-ibm-modal-heading.d.ts.map +1 -1
  186. package/es/components/leaving-ibm/leaving-ibm-modal-heading.js +1 -1
  187. package/es/components/leaving-ibm/leaving-ibm-modal-heading.js.map +1 -1
  188. package/es/components/leaving-ibm/leaving-ibm-modal.d.ts +1 -1
  189. package/es/components/leaving-ibm/leaving-ibm-modal.d.ts.map +1 -1
  190. package/es/components/leaving-ibm/leaving-ibm-modal.js +2 -2
  191. package/es/components/leaving-ibm/leaving-ibm-modal.js.map +1 -1
  192. package/es/components/lightbox-media-viewer/lightbox-image-viewer.d.ts.map +1 -1
  193. package/es/components/lightbox-media-viewer/lightbox-image-viewer.js +1 -1
  194. package/es/components/lightbox-media-viewer/lightbox-image-viewer.js.map +1 -1
  195. package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.d.ts +3 -1
  196. package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.d.ts.map +1 -1
  197. package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.js +1 -1
  198. package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.js.map +1 -1
  199. package/es/components/lightbox-media-viewer/lightbox-video-player-composite.d.ts +1 -3
  200. package/es/components/lightbox-media-viewer/lightbox-video-player-composite.d.ts.map +1 -1
  201. package/es/components/lightbox-media-viewer/lightbox-video-player-composite.js +2 -2
  202. package/es/components/lightbox-media-viewer/lightbox-video-player-composite.js.map +1 -1
  203. package/es/components/link-with-icon/link-with-icon.d.ts +1 -1
  204. package/es/components/link-with-icon/link-with-icon.d.ts.map +1 -1
  205. package/es/components/link-with-icon/link-with-icon.js +1 -1
  206. package/es/components/link-with-icon/link-with-icon.js.map +1 -1
  207. package/es/components/locale-modal/locale-item.d.ts +1 -1
  208. package/es/components/locale-modal/locale-item.d.ts.map +1 -1
  209. package/es/components/locale-modal/locale-item.js +1 -1
  210. package/es/components/locale-modal/locale-item.js.map +1 -1
  211. package/es/components/locale-modal/locale-modal-composite.d.ts.map +1 -1
  212. package/es/components/locale-modal/locale-modal-composite.js +1 -1
  213. package/es/components/locale-modal/locale-modal-composite.js.map +1 -1
  214. package/es/components/locale-modal/locale-modal.d.ts.map +1 -1
  215. package/es/components/locale-modal/locale-modal.js +5 -5
  216. package/es/components/locale-modal/locale-modal.js.map +1 -1
  217. package/es/components/locale-modal/locale-search.d.ts.map +1 -1
  218. package/es/components/locale-modal/locale-search.js +1 -1
  219. package/es/components/locale-modal/locale-search.js.map +1 -1
  220. package/es/components/locale-modal/region-item.d.ts +1 -1
  221. package/es/components/locale-modal/region-item.d.ts.map +1 -1
  222. package/es/components/locale-modal/region-item.js +3 -3
  223. package/es/components/locale-modal/region-item.js.map +1 -1
  224. package/es/components/locale-modal/regions.d.ts +1 -1
  225. package/es/components/locale-modal/regions.d.ts.map +1 -1
  226. package/es/components/locale-modal/regions.js +1 -1
  227. package/es/components/locale-modal/regions.js.map +1 -1
  228. package/es/components/markdown/markdown.d.ts +4 -4
  229. package/es/components/markdown/markdown.d.ts.map +1 -1
  230. package/es/components/markdown/markdown.js +4 -4
  231. package/es/components/markdown/markdown.js.map +1 -1
  232. package/es/components/masthead/cloud/cloud-left-nav-item.d.ts +1 -1
  233. package/es/components/masthead/cloud/cloud-left-nav-item.d.ts.map +1 -1
  234. package/es/components/masthead/cloud/cloud-left-nav-item.js +1 -1
  235. package/es/components/masthead/cloud/cloud-left-nav-item.js.map +1 -1
  236. package/es/components/masthead/cloud/cloud-masthead-composite.d.ts.map +1 -1
  237. package/es/components/masthead/cloud/cloud-masthead-composite.js +1 -1
  238. package/es/components/masthead/cloud/cloud-masthead-composite.js.map +1 -1
  239. package/es/components/masthead/cloud/cloud-masthead-profile.d.ts.map +1 -1
  240. package/es/components/masthead/cloud/cloud-masthead-profile.js +1 -1
  241. package/es/components/masthead/cloud/cloud-masthead-profile.js.map +1 -1
  242. package/es/components/masthead/cloud/cloud-megamenu-category-heading.d.ts.map +1 -1
  243. package/es/components/masthead/cloud/cloud-megamenu-category-heading.js +1 -1
  244. package/es/components/masthead/cloud/cloud-megamenu-category-heading.js.map +1 -1
  245. package/es/components/masthead/cloud/cloud-megamenu-category-link.d.ts +1 -1
  246. package/es/components/masthead/cloud/cloud-megamenu-category-link.d.ts.map +1 -1
  247. package/es/components/masthead/cloud/cloud-megamenu-category-link.js +1 -1
  248. package/es/components/masthead/cloud/cloud-megamenu-category-link.js.map +1 -1
  249. package/es/components/masthead/cloud/cloud-megamenu-tab.d.ts +1 -1
  250. package/es/components/masthead/cloud/cloud-megamenu-tab.d.ts.map +1 -1
  251. package/es/components/masthead/cloud/cloud-megamenu-tab.js +1 -1
  252. package/es/components/masthead/cloud/cloud-megamenu-tab.js.map +1 -1
  253. package/es/components/masthead/cloud/cloud-megamenu-tabs.d.ts +1 -1
  254. package/es/components/masthead/cloud/cloud-megamenu-tabs.d.ts.map +1 -1
  255. package/es/components/masthead/cloud/cloud-megamenu-tabs.js +1 -1
  256. package/es/components/masthead/cloud/cloud-megamenu-tabs.js.map +1 -1
  257. package/es/components/masthead/left-nav-item.d.ts +1 -1
  258. package/es/components/masthead/left-nav-item.d.ts.map +1 -1
  259. package/es/components/masthead/left-nav-item.js +1 -1
  260. package/es/components/masthead/left-nav-item.js.map +1 -1
  261. package/es/components/masthead/left-nav-menu-item.d.ts +1 -1
  262. package/es/components/masthead/left-nav-menu-item.d.ts.map +1 -1
  263. package/es/components/masthead/left-nav-menu-item.js +1 -1
  264. package/es/components/masthead/left-nav-menu-item.js.map +1 -1
  265. package/es/components/masthead/left-nav-menu-section.d.ts +11 -12
  266. package/es/components/masthead/left-nav-menu-section.d.ts.map +1 -1
  267. package/es/components/masthead/left-nav-menu-section.js +6 -6
  268. package/es/components/masthead/left-nav-menu-section.js.map +1 -1
  269. package/es/components/masthead/left-nav-menu.d.ts +3 -0
  270. package/es/components/masthead/left-nav-menu.d.ts.map +1 -1
  271. package/es/components/masthead/left-nav-menu.js +2 -2
  272. package/es/components/masthead/left-nav-menu.js.map +1 -1
  273. package/es/components/masthead/left-nav-name.d.ts +1 -1
  274. package/es/components/masthead/left-nav-name.d.ts.map +1 -1
  275. package/es/components/masthead/left-nav-name.js +2 -2
  276. package/es/components/masthead/left-nav-name.js.map +1 -1
  277. package/es/components/masthead/left-nav.d.ts +1 -1
  278. package/es/components/masthead/left-nav.d.ts.map +1 -1
  279. package/es/components/masthead/left-nav.js +3 -3
  280. package/es/components/masthead/left-nav.js.map +1 -1
  281. package/es/components/masthead/masthead-composite.d.ts.map +1 -1
  282. package/es/components/masthead/masthead-composite.js +2 -2
  283. package/es/components/masthead/masthead-composite.js.map +1 -1
  284. package/es/components/masthead/masthead-global-bar.d.ts +7 -4
  285. package/es/components/masthead/masthead-global-bar.d.ts.map +1 -1
  286. package/es/components/masthead/masthead-global-bar.js +3 -3
  287. package/es/components/masthead/masthead-global-bar.js.map +1 -1
  288. package/es/components/masthead/masthead-logo.d.ts +7 -12
  289. package/es/components/masthead/masthead-logo.d.ts.map +1 -1
  290. package/es/components/masthead/masthead-logo.js +4 -4
  291. package/es/components/masthead/masthead-logo.js.map +1 -1
  292. package/es/components/masthead/masthead-menu-button.d.ts +2 -2
  293. package/es/components/masthead/masthead-menu-button.d.ts.map +1 -1
  294. package/es/components/masthead/masthead-menu-button.js +3 -3
  295. package/es/components/masthead/masthead-menu-button.js.map +1 -1
  296. package/es/components/masthead/masthead-profile-item.d.ts +1 -1
  297. package/es/components/masthead/masthead-profile-item.d.ts.map +1 -1
  298. package/es/components/masthead/masthead-profile-item.js +1 -1
  299. package/es/components/masthead/masthead-profile-item.js.map +1 -1
  300. package/es/components/masthead/masthead-profile.d.ts +1 -1
  301. package/es/components/masthead/masthead-profile.d.ts.map +1 -1
  302. package/es/components/masthead/masthead-profile.js +5 -5
  303. package/es/components/masthead/masthead-profile.js.map +1 -1
  304. package/es/components/masthead/megamenu-category-group.d.ts.map +1 -1
  305. package/es/components/masthead/megamenu-category-group.js +2 -2
  306. package/es/components/masthead/megamenu-category-group.js.map +1 -1
  307. package/es/components/masthead/megamenu-category-link.d.ts +1 -1
  308. package/es/components/masthead/megamenu-category-link.d.ts.map +1 -1
  309. package/es/components/masthead/megamenu-category-link.js +1 -1
  310. package/es/components/masthead/megamenu-category-link.js.map +1 -1
  311. package/es/components/masthead/megamenu-link-with-icon.d.ts +1 -1
  312. package/es/components/masthead/megamenu-link-with-icon.d.ts.map +1 -1
  313. package/es/components/masthead/megamenu-link-with-icon.js +1 -1
  314. package/es/components/masthead/megamenu-link-with-icon.js.map +1 -1
  315. package/es/components/masthead/megamenu-right-navigation.d.ts.map +1 -1
  316. package/es/components/masthead/megamenu-right-navigation.js +1 -1
  317. package/es/components/masthead/megamenu-right-navigation.js.map +1 -1
  318. package/es/components/masthead/skip-to-content.d.ts +1 -1
  319. package/es/components/masthead/skip-to-content.d.ts.map +1 -1
  320. package/es/components/masthead/skip-to-content.js +1 -1
  321. package/es/components/masthead/skip-to-content.js.map +1 -1
  322. package/es/components/masthead/top-nav-item.d.ts +1 -1
  323. package/es/components/masthead/top-nav-item.d.ts.map +1 -1
  324. package/es/components/masthead/top-nav-item.js +1 -1
  325. package/es/components/masthead/top-nav-item.js.map +1 -1
  326. package/es/components/masthead/top-nav-menu-item.d.ts +1 -1
  327. package/es/components/masthead/top-nav-menu-item.d.ts.map +1 -1
  328. package/es/components/masthead/top-nav-menu-item.js +1 -1
  329. package/es/components/masthead/top-nav-menu-item.js.map +1 -1
  330. package/es/components/masthead/top-nav-menu.d.ts +1 -1
  331. package/es/components/masthead/top-nav-menu.d.ts.map +1 -1
  332. package/es/components/masthead/top-nav-menu.js +1 -1
  333. package/es/components/masthead/top-nav-menu.js.map +1 -1
  334. package/es/components/masthead/top-nav-name.d.ts.map +1 -1
  335. package/es/components/masthead/top-nav-name.js +1 -1
  336. package/es/components/masthead/top-nav-name.js.map +1 -1
  337. package/es/components/masthead/top-nav.d.ts +2 -11
  338. package/es/components/masthead/top-nav.d.ts.map +1 -1
  339. package/es/components/masthead/top-nav.js +6 -6
  340. package/es/components/masthead/top-nav.js.map +1 -1
  341. package/es/components/pricing-table/pricing-table-annotation-toggle.d.ts.map +1 -1
  342. package/es/components/pricing-table/pricing-table-annotation-toggle.js +2 -2
  343. package/es/components/pricing-table/pricing-table-annotation-toggle.js.map +1 -1
  344. package/es/components/pricing-table/pricing-table-cell.d.ts +1 -1
  345. package/es/components/pricing-table/pricing-table-cell.d.ts.map +1 -1
  346. package/es/components/pricing-table/pricing-table-cell.js +2 -2
  347. package/es/components/pricing-table/pricing-table-cell.js.map +1 -1
  348. package/es/components/pricing-table/pricing-table.d.ts +5 -8
  349. package/es/components/pricing-table/pricing-table.d.ts.map +1 -1
  350. package/es/components/pricing-table/pricing-table.js +2 -2
  351. package/es/components/pricing-table/pricing-table.js.map +1 -1
  352. package/es/components/search/search.d.ts +2 -2
  353. package/es/components/search/search.d.ts.map +1 -1
  354. package/es/components/search/search.js +2 -2
  355. package/es/components/search/search.js.map +1 -1
  356. package/es/components/search-with-typeahead/scoped-search-dropdown-mobile.d.ts.map +1 -1
  357. package/es/components/search-with-typeahead/scoped-search-dropdown-mobile.js +4 -4
  358. package/es/components/search-with-typeahead/scoped-search-dropdown-mobile.js.map +1 -1
  359. package/es/components/search-with-typeahead/search-with-typeahead.d.ts +10 -16
  360. package/es/components/search-with-typeahead/search-with-typeahead.d.ts.map +1 -1
  361. package/es/components/search-with-typeahead/search-with-typeahead.js +6 -6
  362. package/es/components/search-with-typeahead/search-with-typeahead.js.map +1 -1
  363. package/es/components/structured-list/index.d.ts +2 -2
  364. package/es/components/structured-list/index.d.ts.map +1 -1
  365. package/es/components/structured-list/index.js +2 -2
  366. package/es/components/structured-list/index.js.map +1 -1
  367. package/es/components/structured-list/structured-list-body.d.ts +1 -1
  368. package/es/components/structured-list/structured-list-body.d.ts.map +1 -1
  369. package/es/components/structured-list/structured-list-body.js +1 -1
  370. package/es/components/structured-list/structured-list-body.js.map +1 -1
  371. package/es/components/structured-list/structured-list-cell.d.ts +1 -1
  372. package/es/components/structured-list/structured-list-cell.d.ts.map +1 -1
  373. package/es/components/structured-list/structured-list-cell.js +4 -4
  374. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  375. package/es/components/structured-list/structured-list-head.d.ts +1 -1
  376. package/es/components/structured-list/structured-list-head.d.ts.map +1 -1
  377. package/es/components/structured-list/structured-list-head.js +1 -1
  378. package/es/components/structured-list/structured-list-head.js.map +1 -1
  379. package/es/components/structured-list/structured-list-header-cell.d.ts +1 -1
  380. package/es/components/structured-list/structured-list-header-cell.d.ts.map +1 -1
  381. package/es/components/structured-list/structured-list-header-cell.js +1 -1
  382. package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
  383. package/es/components/structured-list/structured-list-header-row.d.ts +1 -1
  384. package/es/components/structured-list/structured-list-header-row.d.ts.map +1 -1
  385. package/es/components/structured-list/structured-list-header-row.js +1 -1
  386. package/es/components/structured-list/structured-list-header-row.js.map +1 -1
  387. package/es/components/structured-list/structured-list-row.d.ts +1 -1
  388. package/es/components/structured-list/structured-list-row.d.ts.map +1 -1
  389. package/es/components/structured-list/structured-list-row.js +1 -1
  390. package/es/components/structured-list/structured-list-row.js.map +1 -1
  391. package/es/components/table-of-contents/table-of-contents.d.ts +24 -6
  392. package/es/components/table-of-contents/table-of-contents.d.ts.map +1 -1
  393. package/es/components/table-of-contents/table-of-contents.js +5 -5
  394. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  395. package/es/components/tabs-extended/tabs-extended.d.ts.map +1 -1
  396. package/es/components/tabs-extended/tabs-extended.js +1 -1
  397. package/es/components/tabs-extended/tabs-extended.js.map +1 -1
  398. package/es/components/tag-link/tag-link.d.ts.map +1 -1
  399. package/es/components/tag-link/tag-link.js +1 -1
  400. package/es/components/tag-link/tag-link.js.map +1 -1
  401. package/es/components/video-player/video-player-composite.d.ts +7 -2
  402. package/es/components/video-player/video-player-composite.d.ts.map +1 -1
  403. package/es/components/video-player/video-player-composite.js +3 -3
  404. package/es/components/video-player/video-player-composite.js.map +1 -1
  405. package/es/components/video-player/video-player.d.ts +6 -0
  406. package/es/components/video-player/video-player.d.ts.map +1 -1
  407. package/es/components/video-player/video-player.js +2 -2
  408. package/es/components/video-player/video-player.js.map +1 -1
  409. package/es/components-react/back-to-top/back-to-top.js +1 -1
  410. package/es/components-react/background-media/background-media.js +1 -1
  411. package/es/components-react/button/button.js +2 -2
  412. package/es/components-react/button-group/button-group-item.js +1 -1
  413. package/es/components-react/button-group/button-group.js +1 -1
  414. package/es/components-react/callout-quote/callout-link-with-icon.js +1 -1
  415. package/es/components-react/callout-quote/callout-quote.js +1 -1
  416. package/es/components-react/callout-with-media/callout-with-media-copy.js +1 -1
  417. package/es/components-react/callout-with-media/callout-with-media-image.js +1 -1
  418. package/es/components-react/callout-with-media/callout-with-media-video.js +1 -1
  419. package/es/components-react/callout-with-media/callout-with-media.js +1 -1
  420. package/es/components-react/card/card-eyebrow.js +1 -1
  421. package/es/components-react/card/card-footer.js +1 -1
  422. package/es/components-react/card/card-heading.js +1 -1
  423. package/es/components-react/card/card.js +3 -3
  424. package/es/components-react/card/image-logo.js +1 -1
  425. package/es/components-react/card-group/card-group-card-link-item.js +1 -1
  426. package/es/components-react/card-group/card-group-item.js +1 -1
  427. package/es/components-react/card-group/card-group.js +1 -1
  428. package/es/components-react/card-in-card/card-in-card-image.js +1 -1
  429. package/es/components-react/card-in-card/card-in-card.js +1 -1
  430. package/es/components-react/card-link/card-link-heading.js +1 -1
  431. package/es/components-react/card-link/card-link.js +1 -1
  432. package/es/components-react/card-section-carousel/card-section-carousel.js +1 -1
  433. package/es/components-react/card-section-offset/card-section-offset.js +1 -1
  434. package/es/components-react/card-section-simple/card-section-simple.js +1 -1
  435. package/es/components-react/carousel/carousel.js +1 -1
  436. package/es/components-react/content-block/content-block-complementary.js +1 -1
  437. package/es/components-react/content-block/content-block-copy.js +1 -1
  438. package/es/components-react/content-block/content-block-heading.js +1 -1
  439. package/es/components-react/content-block/content-block-paragraph.js +1 -1
  440. package/es/components-react/content-block/content-block.js +1 -1
  441. package/es/components-react/content-block-cards/content-block-cards.js +1 -1
  442. package/es/components-react/content-block-horizontal/content-block-horizontal.js +1 -1
  443. package/es/components-react/content-block-media/content-block-media-content.js +1 -1
  444. package/es/components-react/content-block-media/content-block-media.js +1 -1
  445. package/es/components-react/content-block-mixed/content-block-mixed.js +1 -1
  446. package/es/components-react/content-block-segmented/content-block-segmented-item.js +1 -1
  447. package/es/components-react/content-block-segmented/content-block-segmented.js +1 -1
  448. package/es/components-react/content-block-simple/content-block-simple.js +1 -1
  449. package/es/components-react/content-group/content-group-copy.js +1 -1
  450. package/es/components-react/content-group/content-group-heading.js +1 -1
  451. package/es/components-react/content-group/content-group-paragraph.js +1 -1
  452. package/es/components-react/content-group/content-group.js +1 -1
  453. package/es/components-react/content-group-banner/content-group-banner.js +1 -1
  454. package/es/components-react/content-group-cards/content-group-cards-item.js +1 -1
  455. package/es/components-react/content-group-cards/content-group-cards.js +1 -1
  456. package/es/components-react/content-group-pictograms/content-group-pictograms.js +1 -1
  457. package/es/components-react/content-group-simple/content-group-simple.js +1 -1
  458. package/es/components-react/content-item/content-item-copy.js +1 -1
  459. package/es/components-react/content-item/content-item-heading.js +1 -1
  460. package/es/components-react/content-item/content-item-paragraph.js +1 -1
  461. package/es/components-react/content-item/content-item.js +1 -1
  462. package/es/components-react/content-item-horizontal/content-item-horizontal-copy.js +1 -1
  463. package/es/components-react/content-item-horizontal/content-item-horizontal-eyebrow.js +1 -1
  464. package/es/components-react/content-item-horizontal/content-item-horizontal-media-copy.js +1 -1
  465. package/es/components-react/content-item-horizontal/content-item-horizontal-media-featured.js +1 -1
  466. package/es/components-react/content-item-horizontal/content-item-horizontal-media-video.js +1 -1
  467. package/es/components-react/content-item-horizontal/content-item-horizontal-media.js +1 -1
  468. package/es/components-react/content-item-horizontal/content-item-horizontal-thumbnail-copy.js +1 -1
  469. package/es/components-react/content-item-horizontal/content-item-horizontal.js +1 -1
  470. package/es/components-react/content-section/content-section-copy.js +1 -1
  471. package/es/components-react/content-section/content-section-heading.js +1 -1
  472. package/es/components-react/content-section/content-section.js +1 -1
  473. package/es/components-react/cta/button-cta.js +1 -1
  474. package/es/components-react/cta/card-cta-footer.js +1 -1
  475. package/es/components-react/cta/card-cta-image.js +1 -1
  476. package/es/components-react/cta/card-cta.js +1 -1
  477. package/es/components-react/cta/card-link-cta.js +1 -1
  478. package/es/components-react/cta/feature-cta-footer.js +1 -1
  479. package/es/components-react/cta/feature-cta.js +1 -1
  480. package/es/components-react/cta/link-list-item-card-cta.js +1 -1
  481. package/es/components-react/cta/link-list-item-cta.js +1 -1
  482. package/es/components-react/cta/text-cta.js +1 -1
  483. package/es/components-react/cta/video-cta-composite.js +1 -1
  484. package/es/components-react/cta/video-cta-container.js +1 -1
  485. package/es/components-react/cta-block/cta-block-item-row.js +1 -1
  486. package/es/components-react/cta-block/cta-block-item.js +1 -1
  487. package/es/components-react/cta-block/cta-block.js +1 -1
  488. package/es/components-react/cta-section/cta-section.js +1 -1
  489. package/es/components-react/dotcom-shell/dotcom-shell-composite.js +1 -1
  490. package/es/components-react/dotcom-shell/dotcom-shell-container.js +1 -1
  491. package/es/components-react/dotcom-shell/dotcom-shell.js +1 -1
  492. package/es/components-react/expressive-modal/expressive-modal-body.js +3 -3
  493. package/es/components-react/expressive-modal/expressive-modal-close-button.js +3 -3
  494. package/es/components-react/expressive-modal/expressive-modal-footer.js +3 -3
  495. package/es/components-react/expressive-modal/expressive-modal-header.js +3 -3
  496. package/es/components-react/expressive-modal/expressive-modal-heading.js +3 -3
  497. package/es/components-react/expressive-modal/expressive-modal.js +1 -1
  498. package/es/components-react/feature-card/feature-card-footer.js +1 -1
  499. package/es/components-react/feature-card/feature-card.js +1 -1
  500. package/es/components-react/feature-section/feature-section-card-link.js +1 -1
  501. package/es/components-react/feature-section/feature-section.js +1 -1
  502. package/es/components-react/filter-panel/filter-group-item.js +3 -3
  503. package/es/components-react/filter-panel/filter-group.js +3 -3
  504. package/es/components-react/filter-panel/filter-modal-button.js +3 -3
  505. package/es/components-react/filter-panel/filter-modal-footer.js +3 -3
  506. package/es/components-react/filter-panel/filter-modal-heading.js +3 -3
  507. package/es/components-react/filter-panel/filter-panel-checkbox.js +3 -3
  508. package/es/components-react/filter-panel/filter-panel-composite.js +1 -1
  509. package/es/components-react/filter-panel/filter-panel-heading.js +1 -1
  510. package/es/components-react/filter-panel/filter-panel-input-select-item.js +1 -1
  511. package/es/components-react/filter-panel/filter-panel-input-select.js +1 -1
  512. package/es/components-react/filter-panel/filter-panel-modal.js +3 -3
  513. package/es/components-react/filter-panel/filter-panel.js +1 -1
  514. package/es/components-react/footer/dropdown.js +3 -3
  515. package/es/components-react/footer/footer-composite.js +1 -1
  516. package/es/components-react/footer/footer-container.js +1 -1
  517. package/es/components-react/horizontal-rule/horizontal-rule.js +1 -1
  518. package/es/components-react/image/image-item.js +1 -1
  519. package/es/components-react/image/image.js +1 -1
  520. package/es/components-react/leadspace/breadcrumb-item.js +3 -3
  521. package/es/components-react/leadspace/breadcrumb-link.js +3 -3
  522. package/es/components-react/leadspace/breadcrumb.js +3 -3
  523. package/es/components-react/leadspace/leadspace-heading.js +1 -1
  524. package/es/components-react/leadspace/leadspace-image.js +1 -1
  525. package/es/components-react/leadspace/leadspace.js +1 -1
  526. package/es/components-react/leadspace-block/leadspace-block-content.js +1 -1
  527. package/es/components-react/leadspace-block/leadspace-block-cta.js +1 -1
  528. package/es/components-react/leadspace-block/leadspace-block-heading.js +1 -1
  529. package/es/components-react/leadspace-block/leadspace-block-media.js +1 -1
  530. package/es/components-react/leadspace-block/leadspace-block.js +1 -1
  531. package/es/components-react/leadspace-with-search/leadspace-with-search-content-copy.js +1 -1
  532. package/es/components-react/leadspace-with-search/leadspace-with-search-content-heading.js +1 -1
  533. package/es/components-react/leadspace-with-search/leadspace-with-search-content.js +1 -1
  534. package/es/components-react/leadspace-with-search/leadspace-with-search-heading.js +1 -1
  535. package/es/components-react/leadspace-with-search/leadspace-with-search.js +1 -1
  536. package/es/components-react/leaving-ibm/leaving-ibm-composite.js +1 -1
  537. package/es/components-react/leaving-ibm/leaving-ibm-container.js +1 -1
  538. package/es/components-react/leaving-ibm/leaving-ibm-modal-body.js +3 -3
  539. package/es/components-react/leaving-ibm/leaving-ibm-modal-heading.js +3 -3
  540. package/es/components-react/leaving-ibm/leaving-ibm-modal-supplemental.js +1 -1
  541. package/es/components-react/leaving-ibm/leaving-ibm-modal.js +3 -3
  542. package/es/components-react/lightbox-media-viewer/lightbox-image-viewer.js +1 -1
  543. package/es/components-react/lightbox-media-viewer/lightbox-media-viewer.js +1 -1
  544. package/es/components-react/lightbox-media-viewer/lightbox-video-player-composite.js +1 -1
  545. package/es/components-react/lightbox-media-viewer/lightbox-video-player-container.js +1 -1
  546. package/es/components-react/lightbox-media-viewer/lightbox-video-player.js +1 -1
  547. package/es/components-react/link-list/link-list-heading.js +1 -1
  548. package/es/components-react/link-list/link-list-item-card.js +1 -1
  549. package/es/components-react/link-list/link-list-item.js +1 -1
  550. package/es/components-react/link-list/link-list.js +1 -1
  551. package/es/components-react/link-list-section/link-list-section.js +1 -1
  552. package/es/components-react/link-with-icon/link-with-icon.js +3 -3
  553. package/es/components-react/locale-modal/locale-modal-composite.js +1 -1
  554. package/es/components-react/locale-modal/locale-modal-container.js +1 -1
  555. package/es/components-react/logo-grid/logo-grid-item.js +1 -1
  556. package/es/components-react/logo-grid/logo-grid-link.js +1 -1
  557. package/es/components-react/logo-grid/logo-grid.js +1 -1
  558. package/es/components-react/markdown/markdown.js +1 -1
  559. package/es/components-react/masthead/masthead-composite.js +1 -1
  560. package/es/components-react/masthead/masthead-container.js +1 -1
  561. package/es/components-react/masthead/masthead.js +1 -1
  562. package/es/components-react/pictogram-item/pictogram-item.js +1 -1
  563. package/es/components-react/quote/quote-link-with-icon.js +1 -1
  564. package/es/components-react/quote/quote-source-bottom-copy.js +1 -1
  565. package/es/components-react/quote/quote-source-copy.js +1 -1
  566. package/es/components-react/quote/quote-source-heading.js +1 -1
  567. package/es/components-react/quote/quote.js +1 -1
  568. package/es/components-react/search-with-typeahead/scoped-search-dropdown-mobile.js +3 -3
  569. package/es/components-react/search-with-typeahead/scoped-search-dropdown.js +1 -1
  570. package/es/components-react/search-with-typeahead/search-with-typeahead-item.js +1 -1
  571. package/es/components-react/search-with-typeahead/search-with-typeahead.js +3 -3
  572. package/es/components-react/structured-list/structured-list-body.js +3 -3
  573. package/es/components-react/structured-list/structured-list-cell.js +3 -3
  574. package/es/components-react/structured-list/structured-list-group.js +1 -1
  575. package/es/components-react/structured-list/structured-list-head.js +3 -3
  576. package/es/components-react/structured-list/structured-list-header-cell.js +3 -3
  577. package/es/components-react/structured-list/structured-list-header-row.js +3 -3
  578. package/es/components-react/structured-list/structured-list-row.js +3 -3
  579. package/es/components-react/structured-list/structured-list.js +1 -1
  580. package/es/components-react/table-of-contents/table-of-contents.js +1 -1
  581. package/es/components-react/tabs-extended/tab.js +1 -1
  582. package/es/components-react/tabs-extended/tabs-extended.js +1 -1
  583. package/es/components-react/tabs-extended-media/tabs-extended-media.js +1 -1
  584. package/es/components-react/tag-group/tag-group.js +1 -1
  585. package/es/components-react/tag-link/tag-link.js +1 -1
  586. package/es/components-react/universal-banner/universal-banner-copy.js +1 -1
  587. package/es/components-react/universal-banner/universal-banner-heading.js +1 -1
  588. package/es/components-react/universal-banner/universal-banner-image.js +1 -1
  589. package/es/components-react/universal-banner/universal-banner.js +1 -1
  590. package/es/components-react/video-player/video-player-composite.js +1 -1
  591. package/es/components-react/video-player/video-player-container.js +1 -1
  592. package/es/components-react/video-player/video-player.js +1 -1
  593. package/es/icons/IBM-8bar-logo--h23.js +1 -1
  594. package/es/icons/IBM-8bar-logo--h65-white.js +1 -1
  595. package/es/icons/play-video.js +1 -1
  596. package/lib/components-react-node/back-to-top/back-to-top.js +1 -1
  597. package/lib/components-react-node/background-media/background-media.js +1 -1
  598. package/lib/components-react-node/button/button.js +2 -2
  599. package/lib/components-react-node/button-group/button-group-item.js +1 -1
  600. package/lib/components-react-node/button-group/button-group.js +1 -1
  601. package/lib/components-react-node/callout-quote/callout-link-with-icon.js +1 -1
  602. package/lib/components-react-node/callout-quote/callout-quote.js +1 -1
  603. package/lib/components-react-node/callout-with-media/callout-with-media-copy.js +1 -1
  604. package/lib/components-react-node/callout-with-media/callout-with-media-image.js +1 -1
  605. package/lib/components-react-node/callout-with-media/callout-with-media-video.js +1 -1
  606. package/lib/components-react-node/callout-with-media/callout-with-media.js +1 -1
  607. package/lib/components-react-node/card/card-eyebrow.js +1 -1
  608. package/lib/components-react-node/card/card-footer.js +1 -1
  609. package/lib/components-react-node/card/card-heading.js +1 -1
  610. package/lib/components-react-node/card/card.js +2 -2
  611. package/lib/components-react-node/card/image-logo.js +1 -1
  612. package/lib/components-react-node/card-group/card-group-card-link-item.js +1 -1
  613. package/lib/components-react-node/card-group/card-group-item.js +1 -1
  614. package/lib/components-react-node/card-group/card-group.js +1 -1
  615. package/lib/components-react-node/card-in-card/card-in-card-image.js +1 -1
  616. package/lib/components-react-node/card-in-card/card-in-card.js +1 -1
  617. package/lib/components-react-node/card-link/card-link-heading.js +1 -1
  618. package/lib/components-react-node/card-link/card-link.js +1 -1
  619. package/lib/components-react-node/card-section-carousel/card-section-carousel.js +1 -1
  620. package/lib/components-react-node/card-section-offset/card-section-offset.js +1 -1
  621. package/lib/components-react-node/card-section-simple/card-section-simple.js +1 -1
  622. package/lib/components-react-node/carousel/carousel.js +1 -1
  623. package/lib/components-react-node/content-block/content-block-complementary.js +1 -1
  624. package/lib/components-react-node/content-block/content-block-copy.js +1 -1
  625. package/lib/components-react-node/content-block/content-block-heading.js +1 -1
  626. package/lib/components-react-node/content-block/content-block-paragraph.js +1 -1
  627. package/lib/components-react-node/content-block/content-block.js +1 -1
  628. package/lib/components-react-node/content-block-cards/content-block-cards.js +1 -1
  629. package/lib/components-react-node/content-block-horizontal/content-block-horizontal.js +1 -1
  630. package/lib/components-react-node/content-block-media/content-block-media-content.js +1 -1
  631. package/lib/components-react-node/content-block-media/content-block-media.js +1 -1
  632. package/lib/components-react-node/content-block-mixed/content-block-mixed.js +1 -1
  633. package/lib/components-react-node/content-block-segmented/content-block-segmented-item.js +1 -1
  634. package/lib/components-react-node/content-block-segmented/content-block-segmented.js +1 -1
  635. package/lib/components-react-node/content-block-simple/content-block-simple.js +1 -1
  636. package/lib/components-react-node/content-group/content-group-copy.js +1 -1
  637. package/lib/components-react-node/content-group/content-group-heading.js +1 -1
  638. package/lib/components-react-node/content-group/content-group-paragraph.js +1 -1
  639. package/lib/components-react-node/content-group/content-group.js +1 -1
  640. package/lib/components-react-node/content-group-banner/content-group-banner.js +1 -1
  641. package/lib/components-react-node/content-group-cards/content-group-cards-item.js +1 -1
  642. package/lib/components-react-node/content-group-cards/content-group-cards.js +1 -1
  643. package/lib/components-react-node/content-group-pictograms/content-group-pictograms.js +1 -1
  644. package/lib/components-react-node/content-group-simple/content-group-simple.js +1 -1
  645. package/lib/components-react-node/content-item/content-item-copy.js +1 -1
  646. package/lib/components-react-node/content-item/content-item-heading.js +1 -1
  647. package/lib/components-react-node/content-item/content-item-paragraph.js +1 -1
  648. package/lib/components-react-node/content-item/content-item.js +1 -1
  649. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-copy.js +1 -1
  650. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-eyebrow.js +1 -1
  651. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-media-copy.js +1 -1
  652. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-media-featured.js +1 -1
  653. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-media-video.js +1 -1
  654. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-media.js +1 -1
  655. package/lib/components-react-node/content-item-horizontal/content-item-horizontal-thumbnail-copy.js +1 -1
  656. package/lib/components-react-node/content-item-horizontal/content-item-horizontal.js +1 -1
  657. package/lib/components-react-node/content-section/content-section-copy.js +1 -1
  658. package/lib/components-react-node/content-section/content-section-heading.js +1 -1
  659. package/lib/components-react-node/content-section/content-section.js +1 -1
  660. package/lib/components-react-node/cta/button-cta.js +1 -1
  661. package/lib/components-react-node/cta/card-cta-footer.js +1 -1
  662. package/lib/components-react-node/cta/card-cta-image.js +1 -1
  663. package/lib/components-react-node/cta/card-cta.js +1 -1
  664. package/lib/components-react-node/cta/card-link-cta.js +1 -1
  665. package/lib/components-react-node/cta/feature-cta-footer.js +1 -1
  666. package/lib/components-react-node/cta/feature-cta.js +1 -1
  667. package/lib/components-react-node/cta/link-list-item-card-cta.js +1 -1
  668. package/lib/components-react-node/cta/link-list-item-cta.js +1 -1
  669. package/lib/components-react-node/cta/text-cta.js +1 -1
  670. package/lib/components-react-node/cta/video-cta-composite.js +1 -1
  671. package/lib/components-react-node/cta/video-cta-container.js +1 -1
  672. package/lib/components-react-node/cta-block/cta-block-item-row.js +1 -1
  673. package/lib/components-react-node/cta-block/cta-block-item.js +1 -1
  674. package/lib/components-react-node/cta-block/cta-block.js +1 -1
  675. package/lib/components-react-node/cta-section/cta-section.js +1 -1
  676. package/lib/components-react-node/dotcom-shell/dotcom-shell-composite.js +1 -1
  677. package/lib/components-react-node/dotcom-shell/dotcom-shell-container.js +1 -1
  678. package/lib/components-react-node/dotcom-shell/dotcom-shell.js +1 -1
  679. package/lib/components-react-node/expressive-modal/expressive-modal-body.js +2 -2
  680. package/lib/components-react-node/expressive-modal/expressive-modal-close-button.js +2 -2
  681. package/lib/components-react-node/expressive-modal/expressive-modal-footer.js +2 -2
  682. package/lib/components-react-node/expressive-modal/expressive-modal-header.js +2 -2
  683. package/lib/components-react-node/expressive-modal/expressive-modal-heading.js +2 -2
  684. package/lib/components-react-node/expressive-modal/expressive-modal.js +1 -1
  685. package/lib/components-react-node/feature-card/feature-card-footer.js +1 -1
  686. package/lib/components-react-node/feature-card/feature-card.js +1 -1
  687. package/lib/components-react-node/feature-section/feature-section-card-link.js +1 -1
  688. package/lib/components-react-node/feature-section/feature-section.js +1 -1
  689. package/lib/components-react-node/filter-panel/filter-group-item.js +2 -2
  690. package/lib/components-react-node/filter-panel/filter-group.js +2 -2
  691. package/lib/components-react-node/filter-panel/filter-modal-button.js +2 -2
  692. package/lib/components-react-node/filter-panel/filter-modal-footer.js +2 -2
  693. package/lib/components-react-node/filter-panel/filter-modal-heading.js +2 -2
  694. package/lib/components-react-node/filter-panel/filter-panel-checkbox.js +2 -2
  695. package/lib/components-react-node/filter-panel/filter-panel-composite.js +1 -1
  696. package/lib/components-react-node/filter-panel/filter-panel-heading.js +1 -1
  697. package/lib/components-react-node/filter-panel/filter-panel-input-select-item.js +1 -1
  698. package/lib/components-react-node/filter-panel/filter-panel-input-select.js +1 -1
  699. package/lib/components-react-node/filter-panel/filter-panel-modal.js +2 -2
  700. package/lib/components-react-node/filter-panel/filter-panel.js +1 -1
  701. package/lib/components-react-node/footer/dropdown.js +2 -2
  702. package/lib/components-react-node/footer/footer-composite.js +1 -1
  703. package/lib/components-react-node/footer/footer-container.js +1 -1
  704. package/lib/components-react-node/horizontal-rule/horizontal-rule.js +1 -1
  705. package/lib/components-react-node/image/image-item.js +1 -1
  706. package/lib/components-react-node/image/image.js +1 -1
  707. package/lib/components-react-node/leadspace/breadcrumb-item.js +2 -2
  708. package/lib/components-react-node/leadspace/breadcrumb-link.js +2 -2
  709. package/lib/components-react-node/leadspace/breadcrumb.js +2 -2
  710. package/lib/components-react-node/leadspace/leadspace-heading.js +1 -1
  711. package/lib/components-react-node/leadspace/leadspace-image.js +1 -1
  712. package/lib/components-react-node/leadspace/leadspace.js +1 -1
  713. package/lib/components-react-node/leadspace-block/leadspace-block-content.js +1 -1
  714. package/lib/components-react-node/leadspace-block/leadspace-block-cta.js +1 -1
  715. package/lib/components-react-node/leadspace-block/leadspace-block-heading.js +1 -1
  716. package/lib/components-react-node/leadspace-block/leadspace-block-media.js +1 -1
  717. package/lib/components-react-node/leadspace-block/leadspace-block.js +1 -1
  718. package/lib/components-react-node/leadspace-with-search/leadspace-with-search-content-copy.js +1 -1
  719. package/lib/components-react-node/leadspace-with-search/leadspace-with-search-content-heading.js +1 -1
  720. package/lib/components-react-node/leadspace-with-search/leadspace-with-search-content.js +1 -1
  721. package/lib/components-react-node/leadspace-with-search/leadspace-with-search-heading.js +1 -1
  722. package/lib/components-react-node/leadspace-with-search/leadspace-with-search.js +1 -1
  723. package/lib/components-react-node/leaving-ibm/leaving-ibm-composite.js +1 -1
  724. package/lib/components-react-node/leaving-ibm/leaving-ibm-container.js +1 -1
  725. package/lib/components-react-node/leaving-ibm/leaving-ibm-modal-body.js +2 -2
  726. package/lib/components-react-node/leaving-ibm/leaving-ibm-modal-heading.js +2 -2
  727. package/lib/components-react-node/leaving-ibm/leaving-ibm-modal-supplemental.js +1 -1
  728. package/lib/components-react-node/leaving-ibm/leaving-ibm-modal.js +2 -2
  729. package/lib/components-react-node/lightbox-media-viewer/lightbox-image-viewer.js +1 -1
  730. package/lib/components-react-node/lightbox-media-viewer/lightbox-media-viewer.js +1 -1
  731. package/lib/components-react-node/lightbox-media-viewer/lightbox-video-player-composite.js +1 -1
  732. package/lib/components-react-node/lightbox-media-viewer/lightbox-video-player-container.js +1 -1
  733. package/lib/components-react-node/lightbox-media-viewer/lightbox-video-player.js +1 -1
  734. package/lib/components-react-node/link-list/link-list-heading.js +1 -1
  735. package/lib/components-react-node/link-list/link-list-item-card.js +1 -1
  736. package/lib/components-react-node/link-list/link-list-item.js +1 -1
  737. package/lib/components-react-node/link-list/link-list.js +1 -1
  738. package/lib/components-react-node/link-list-section/link-list-section.js +1 -1
  739. package/lib/components-react-node/link-with-icon/link-with-icon.js +2 -2
  740. package/lib/components-react-node/locale-modal/locale-modal-composite.js +1 -1
  741. package/lib/components-react-node/locale-modal/locale-modal-container.js +1 -1
  742. package/lib/components-react-node/logo-grid/logo-grid-item.js +1 -1
  743. package/lib/components-react-node/logo-grid/logo-grid-link.js +1 -1
  744. package/lib/components-react-node/logo-grid/logo-grid.js +1 -1
  745. package/lib/components-react-node/markdown/markdown.js +1 -1
  746. package/lib/components-react-node/masthead/masthead-composite.js +1 -1
  747. package/lib/components-react-node/masthead/masthead-container.js +1 -1
  748. package/lib/components-react-node/masthead/masthead.js +1 -1
  749. package/lib/components-react-node/pictogram-item/pictogram-item.js +1 -1
  750. package/lib/components-react-node/quote/quote-link-with-icon.js +1 -1
  751. package/lib/components-react-node/quote/quote-source-bottom-copy.js +1 -1
  752. package/lib/components-react-node/quote/quote-source-copy.js +1 -1
  753. package/lib/components-react-node/quote/quote-source-heading.js +1 -1
  754. package/lib/components-react-node/quote/quote.js +1 -1
  755. package/lib/components-react-node/search-with-typeahead/scoped-search-dropdown-mobile.js +2 -2
  756. package/lib/components-react-node/search-with-typeahead/scoped-search-dropdown.js +1 -1
  757. package/lib/components-react-node/search-with-typeahead/search-with-typeahead-item.js +1 -1
  758. package/lib/components-react-node/search-with-typeahead/search-with-typeahead.js +2 -2
  759. package/lib/components-react-node/structured-list/structured-list-body.js +2 -2
  760. package/lib/components-react-node/structured-list/structured-list-cell.js +2 -2
  761. package/lib/components-react-node/structured-list/structured-list-group.js +1 -1
  762. package/lib/components-react-node/structured-list/structured-list-head.js +2 -2
  763. package/lib/components-react-node/structured-list/structured-list-header-cell.js +2 -2
  764. package/lib/components-react-node/structured-list/structured-list-header-row.js +2 -2
  765. package/lib/components-react-node/structured-list/structured-list-row.js +2 -2
  766. package/lib/components-react-node/structured-list/structured-list.js +1 -1
  767. package/lib/components-react-node/table-of-contents/table-of-contents.js +1 -1
  768. package/lib/components-react-node/tabs-extended/tab.js +1 -1
  769. package/lib/components-react-node/tabs-extended/tabs-extended.js +1 -1
  770. package/lib/components-react-node/tabs-extended-media/tabs-extended-media.js +1 -1
  771. package/lib/components-react-node/tag-group/tag-group.js +1 -1
  772. package/lib/components-react-node/tag-link/tag-link.js +1 -1
  773. package/lib/components-react-node/universal-banner/universal-banner-copy.js +1 -1
  774. package/lib/components-react-node/universal-banner/universal-banner-heading.js +1 -1
  775. package/lib/components-react-node/universal-banner/universal-banner-image.js +1 -1
  776. package/lib/components-react-node/universal-banner/universal-banner.js +1 -1
  777. package/lib/components-react-node/video-player/video-player-composite.js +1 -1
  778. package/lib/components-react-node/video-player/video-player-container.js +1 -1
  779. package/lib/components-react-node/video-player/video-player.js +1 -1
  780. package/package.json +4 -4
  781. package/scss/components/background-media/background-media.scss +1 -1
  782. package/scss/components/button/button.scss +1 -1
  783. package/scss/components/expressive-modal/expressive-modal.scss +1 -1
  784. package/scss/components/filter-panel/filter-panel.scss +1 -1
  785. package/scss/components/leadspace/leadspace.scss +1 -1
  786. package/scss/components/leaving-ibm/leaving-ibm.scss +1 -1
  787. package/scss/components/masthead/masthead.scss +3 -3
  788. package/scss/components/search/search.scss +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["components/search-with-typeahead/search-with-typeahead.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,UAEN,MAAM,kEAAkE,CAAC;AAC1E,OAAO,cAAc,MAAM,uEAAuE,CAAC;AASnG,OAAO,8BAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkCpC;;;WAGG;;;;;;;;;;;;;;;QAkCH;;WAEG;;QAFH;;WAEG;;QAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnEL;;;;;;;;;;;;;;GAcG;AACH,cACM,sBAAuB,SAAQ,2BAEpC;IAEO,UAAU,CAAC,WAAW,KAAA;IAQ5B;;;OAGG;IAEH,oBAAoB;;iBAAuC;IAG3D,eAAe,UAAS;IAGxB,kBAAkB,UAAS;IAG3B,oBAAoB,MAAC;IAGrB,aAAa,MAAC;IAGd,cAAc,MAAC;IAGf,eAAe,MAAC;IAGhB,gBAAgB,UAAS;IAGzB,KAAK,MAAC;IAGN,UAAU,MAAC;IAGX,UAAU,MAAC;IAEX;;OAEG;IAEH,OAAO,CAAC,iBAAiB,CAAqB;IAE9C;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAoB;IAE5C;;OAEG;IAEH,OAAO,CAAC,kBAAkB,CAAe;IAEzC;;;;OAIG;IAGH,OAAO,CAAC,YAAY,CAclB;IAEF;;OAEG;YACW,uBAAuB;IAOrC;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU;IAqB7C;;OAEG;YACW,wBAAwB;IAYtC;;;;;;OAMG;YACW,qCAAqC;IA4CnD;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAwDpC;;;;OAIG;IAGH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU;IAI3C;;;;OAIG;IAEH,SAAS,CAAC,oBAAoB,UAAW,WAAW,UAKlD;IAEF;;;;OAIG;IAEH,SAAS,CAAC,kBAAkB,UAAW,WAAW,UAiBhD;IAEF;;OAEG;IACH,OAAO,CAAC,YAAY;IAiEpB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA0BrB,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,cAAc;IAU9D;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAgCnD;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM;IAuCrC;;OAEG;IACH,SAAS,CAAC,qBAAqB;IAyB/B;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU;IAS5C;;OAEG;IACH,OAAO,CAAC,WAAW;IAuInB;;OAEG;IAEH,SAAS,CAAC,sBAAsB;IAIhC;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,8BAA8B,SAAW;IAEzC;;OAEG;IAEH,QAAQ,SAAW;IAEnB;;OAEG;IAEH,6BAA6B,SAA2B;IAExD;;OAEG;IAEH,gCAAgC,SAAuB;IAEvD;;OAEG;IAEH,iBAAiB,SAAuB;IAExC;;OAEG;IAEH,WAAW,SAA2C;IAEtD;;OAEG;IAEH,WAAW,SAAsB;IAEjC;;OAEG;IAEH,IAAI,SAAY;IAEhB;;OAEG;IAEH,gBAAgB,UAAS;IAEzB;;OAEG;IACH,IAAI,iBAAiB,WAEpB;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB,YAAY;IAaZ,OAAO,CAAC,iBAAiB,KAAA;IA+CzB,MAAM;IAmFN;;OAEG;IACH,MAAM,KAAK,uBAAuB,WAEjC;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;;OAGG;IACH,MAAM,KAAK,mBAAmB,WAE7B;IAED;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED;;OAEG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,kBAAkB,WAE5B;IAED;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED,MAAM,KAAK,cAAc,WAExB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAGD,eAAe,sBAAsB,CAAC","file":"search-with-typeahead.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ifNonNull from '@carbon/carbon-web-components/es/globals/directives/if-non-null.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { html, property, query, customElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings.js';\nimport Close20 from '@carbon/carbon-web-components/es/icons/close/20.js';\nimport Search20 from '@carbon/carbon-web-components/es/icons/search/20.js';\nimport BXDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n} from '@carbon/carbon-web-components/es/components/dropdown/dropdown.js';\nimport BXDropdownItem from '@carbon/carbon-web-components/es/components/dropdown/dropdown-item.js';\nimport HostListener from '@carbon/carbon-web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/carbon-web-components/es/globals/mixins/host-listener.js';\nimport { baseFontSize, breakpoints } from '@carbon/layout';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport SearchTypeaheadAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/SearchTypeahead/SearchTypeahead';\nimport { forEach, indexOf } from '../../globals/internal/collection-helpers';\nimport styles from './search-with-typeahead.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport './search-with-typeahead-item';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\nconst { prefix } = settings;\nconst gridBreakpoint = parseFloat(breakpoints.lg.width) * baseFontSize;\n\n/**\n * Search with Typeahead\n *\n * @element dds-search-with-typeahead\n * @csspart open-button The button to show the search box.\n * @csspart close-button The button to hide the search box.\n * @csspart search-input The input box for search.\n * @fires dds-search-with-typeahead-beingredirected\n * The custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n * @fires dds-search-with-typeahead-input\n * The name of the custom event fired after the search content is changed upon a user gesture.\n * @fires dds-search-with-typeahead-toggled\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n@customElement(`${ddsPrefix}-search-with-typeahead`)\nclass DDSSearchWithTypeahead extends HostListenerMixin(\n StableSelectorMixin(BXDropdown)\n) {\n // eslint-disable-next-line class-methods-use-this\n async getResults(searchQuery) {\n const response = await SearchTypeaheadAPI.getResults(\n searchQuery,\n this.appId\n );\n return response.map((res) => res[0]);\n }\n\n /**\n * The formatter for the placeholder text on the search box.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n placeholderFormatter = ({ appId }) => `Search in ${appId}`;\n\n @property({ attribute: 'leadspace-search', type: Boolean })\n leadspaceSearch = false;\n\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n @property()\n currentSearchResults;\n\n @property()\n searchResults;\n\n @property()\n groupedResults;\n\n @property({ attribute: 'scope-parameters' })\n scopeParameters;\n\n @property({ attribute: 'should-remain-open', type: Boolean })\n shouldRemainOpen = false;\n\n @property({ attribute: 'appid', reflect: true })\n appId;\n\n @property({ attribute: 'scope-label', reflect: true })\n scopeLabel;\n\n @property({ attribute: 'scope-value', reflect: true })\n scopeValue;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--search`)\n private _searchButtonNode!: HTMLButtonElement;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--close`)\n private _closeButtonNode!: HTMLButtonElement;\n\n /**\n * The `<input>` of the search box.\n */\n @query(`.${prefix}--header__search--input`)\n private _searchInputNode!: HTMLInputElement;\n\n /**\n * The `<ul>` containing the search suggestions.\n */\n @query(`.react-autosuggest__suggestions-list`)\n private _searchSuggestions!: HTMLElement;\n\n /**\n * Handles hiding search suggestions if focusing on other buttons.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:focusin')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocus = async ({ target }: FocusEvent) => {\n if (!this._searchSuggestions) return;\n\n if (target === this._searchInputNode) {\n this._searchSuggestions.removeAttribute('hidden');\n } else if (target === (this._searchButtonNode || this._closeButtonNode)) {\n this._searchSuggestions.setAttribute('hidden', '');\n }\n\n if (target === this._closeButtonNode) {\n this.setAttribute('unfocused', '');\n } else {\n this.removeAttribute('unfocused');\n }\n };\n\n /**\n * Handles `click` event on the close button.\n */\n private async _handleClickCloseButton() {\n if (this.leadspaceSearch) {\n this._closeButtonNode?.classList.add(`${prefix}--header__search--hide`);\n }\n this._handleUserInitiatedToggleActiveState(false);\n }\n\n /**\n * Handles `click` event on the top-level element in the shadow DOM.\n *\n * @param event The event.\n */\n protected _handleClickInner(event: MouseEvent) {\n if (\n (event.target as HTMLElement).closest('.bx--header__search--input') ===\n event.target\n ) {\n this._handleUserInitiatedToggle();\n if (this._searchInputNode.value && this.leadspaceSearch) {\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n } else {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item) && !item.hasAttribute('groupTitle')) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n }\n\n /**\n * Handles `click` event on the search button.\n */\n private async _handleClickSearchButton() {\n const { active } = this;\n\n if (active) {\n if (this._searchInputNode.value) {\n this._handleUserInitiatedRedirect();\n }\n } else {\n this._handleUserInitiatedToggleActiveState(true);\n }\n }\n\n /**\n * Handles user-initiated toggling of activated state of the search box.\n *\n * @param active `true` to activate the search box.\n * @param moveFocus\n * `true` to move focus upon toggling, to the input box when activated, to the trigger button when deactivated.\n */\n private async _handleUserInitiatedToggleActiveState(\n active,\n moveFocus = true\n ) {\n if (active === this.active) {\n return;\n }\n const { _searchInputNode: searchInputNode } = this;\n const { eventInput, eventToggle } = this\n .constructor as typeof DDSSearchWithTypeahead;\n if (!active && searchInputNode.value) {\n searchInputNode.value = '';\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: '',\n },\n })\n );\n }\n this.active = this.shouldRemainOpen ? true : !this.active;\n this.searchResults = [];\n this.groupedResults = [];\n\n this.dispatchEvent(\n new CustomEvent(eventToggle, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n })\n );\n await this.updateComplete;\n if (moveFocus) {\n // Does not reuse destructed `searchInputNode` given it's `null` before expanded\n (this.active ? this._searchInputNode : this._searchButtonNode).focus();\n }\n }\n\n /**\n * Prevents key types in the `<input>` causing other keyboard shortcuts in application UI.\n *\n * @param event The event.\n */\n private _handleKeyInput(event: KeyboardEvent) {\n if (\n (this.constructor as typeof DDSSearchWithTypeahead).getAction(\n event.key\n ) === DROPDOWN_KEYBOARD_ACTION.NONE\n ) {\n event.stopPropagation();\n }\n }\n\n /**\n * Handles user-initiated redirect to the search query page.\n *\n * @param [options] The options.\n * @param [options.targetQuery] The query string the search query page should be of.\n * @param [options.targetHref] The href string to be redirected to.\n */\n private _handleUserInitiatedRedirect({\n targetQuery,\n targetHref,\n }: { targetQuery?: string; targetHref?: string } = {}) {\n const { eventBeforeRedirect, eventInput } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { language, redirectUrl } = this;\n const [primary, country] = language.split('-');\n const tokens = redirectUrl.split('?');\n const base = tokens.shift();\n const searchParams = new URLSearchParams(tokens.join('?'));\n // Setting `this._searchInputNode?.value` as the default value of `targetQuery` seems to cause a Babel bug\n searchParams.append('q', targetQuery ?? this._searchInputNode?.value);\n searchParams.append('lang', primary);\n searchParams.append('cc', country);\n\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: targetQuery,\n },\n })\n );\n\n if (this.appId) {\n searchParams.append('scope-domain', 'scope');\n searchParams.append('scope-value', this.scopeValue);\n searchParams.append('scope-type', this.appId);\n\n if (this.scopeLabel) {\n searchParams.append('scope-label', this.scopeLabel ?? '');\n }\n }\n\n const redirectUrlWithSearch = targetHref\n ? `${targetHref}`\n : `${base}?${searchParams.toString()}`;\n if (\n this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: redirectUrlWithSearch,\n },\n })\n )\n ) {\n this._redirect(redirectUrlWithSearch);\n }\n }\n\n /**\n * Handles component reset if focusing outside.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n super._handleFocusOut(event);\n }\n\n /**\n * Handles search results when using a custom API.\n *\n * @param event The event.\n */\n @HostListener('document:eventCustomResults')\n protected _handleCustomResults = (event: CustomEvent) => {\n if (this.customTypeaheadAPI) {\n [this.searchResults] = event.detail;\n this.groupedResults = event.detail.slice(1);\n }\n };\n\n /**\n * Queries scoped search suggestions.\n *\n * @param event The event.\n */\n @HostListener('document:eventSelectScope')\n protected _handleScopeSelect = (event: CustomEvent) => {\n this.appId = event.detail.appId;\n let targetScope;\n this.scopeParameters.forEach((scope) => {\n if (scope.appId === this.appId) {\n targetScope = scope;\n }\n });\n\n this.scopeValue = Array.isArray(targetScope?.value)\n ? `[${targetScope.value\n .toString()\n .split(',')\n .map((word) => `\"${word.trim()}\"`)\n .join(',')}]`\n : targetScope.value;\n this.scopeLabel = targetScope.label ?? '';\n };\n\n /**\n * Handles `input` event in the search input.\n */\n private _handleInput(event: InputEvent) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.removeAttribute('unfocused');\n\n const items = this.shadowRoot!.querySelectorAll(\n (this.constructor as typeof BXDropdown).selectorItem\n );\n items.forEach((e) => {\n if (e.hasAttribute('highlighted')) {\n this.setAttribute('unfocused', '');\n }\n });\n\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof DDSSearchWithTypeahead).eventInput,\n {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n\n if (!this.customTypeaheadAPI) {\n this.getResults(value).then((res) => {\n this.searchResults = res;\n });\n }\n\n if (value) {\n this.open = true;\n if (this.leadspaceSearch)\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n\n // accomodate search results box's width with the scope dropdown\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (this._searchSuggestions?.parentElement as HTMLElement)?.removeAttribute(\n 'style'\n );\n }\n }\n\n /**\n * Prevents form submission if there is a highlighted item.\n * In such case, `._handleUserInitiatedRedirect()` should have navigated the user to the search result page.\n *\n * @param event The event.\n */\n private _handleSubmit(event: Event) {\n const { eventBeforeRedirect } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { selectorItemHighlighted } = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem || !this._searchInputNode.value) {\n event.preventDefault();\n }\n if (\n !this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: this.redirectUrl,\n },\n })\n )\n ) {\n event.preventDefault();\n }\n }\n\n protected _handleUserInitiatedSelectItem(item?: BXDropdownItem) {\n if (item) {\n this._searchInputNode.value = (item as unknown as any).text;\n this._handleUserInitiatedRedirect({\n targetQuery: (item as unknown as any).text,\n targetHref: (item as unknown as any).href,\n });\n }\n }\n\n /**\n * Handler for the `keypress` event on the top-level element in the shadow DOM.\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof BXDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n {\n const constructor = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n /**\n * Redirects the page to the given target.\n *\n * @param target The target URL.\n */\n private _redirect(target) {\n this.ownerDocument!.defaultView!.location.assign(target);\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n const constructor = this.constructor as typeof DDSSearchWithTypeahead;\n const items = this.shadowRoot!.querySelectorAll(constructor.selectorItem);\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n let nextIndex = highlightedIndex + direction;\n\n if (items[nextIndex] && items[nextIndex].hasAttribute('groupTitle')) {\n nextIndex += direction;\n }\n\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as BXDropdownItem).highlighted = i === nextIndex;\n });\n\n this.setAttribute('unfocused', '');\n\n const nextItem = items[nextIndex];\n // Using `{ block: 'nearest' }` to prevent scrolling unless scrolling is absolutely necessary.\n // `scrollIntoViewOptions` seems to work in latest Safari despite of MDN/caniuse table.\n // IE falls back to the old behavior.\n nextItem.scrollIntoView({ block: 'nearest' });\n\n // @ts-ignore: TS does not believe nextItem has a text object\n const nextItemText = nextItem.text;\n if (nextItemText) {\n this._assistiveStatusText = nextItemText;\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The main content of the trigger button.\n */\n protected _renderTriggerContent() {\n const {\n searchPlaceholder,\n searchLabel,\n _handleInput: handleInput,\n _handleKeyInput: handleKeyInput,\n } = this;\n return html`\n <input\n type=\"text\"\n part=\"search-input\"\n class=\"${prefix}--header__search--input\"\n name=\"q\"\n placeholder=\"${searchPlaceholder}\"\n autocomplete=\"off\"\n aria-controls=\"result-list\"\n aria-autocomplete=\"list\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @input=\"${handleInput}\"\n @keydown=\"${handleKeyInput}\"\n @keypress=\"${handleKeyInput}\"\n />\n `;\n }\n\n /**\n * Handles `click` event to redirect based on selected item.\n *\n * @param event The event.\n */\n protected _handleClickItem(event: MouseEvent) {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item)) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n\n /**\n * @returns The content of the search box.\n */\n private _renderForm() {\n const {\n active,\n language,\n open,\n redirectUrl,\n searchLabel,\n _assistiveStatusText: assistiveStatusText,\n _handleClickInner: handleClickInner,\n _handleKeydownInner: handleKeydownInner,\n _handleKeypressInner: handleKeypressInner,\n _handleSubmit: handleSubmit,\n } = this;\n if (!active) {\n return undefined;\n }\n const [primary, country] = language.split('-');\n const classes = classMap({\n 'react-autosuggest__container': true,\n 'react-autosuggest__suggestions-container--open': open,\n });\n return html`\n <form method=\"get\" action=\"${redirectUrl}\" @submit=\"${handleSubmit}\">\n <input type=\"hidden\" name=\"lang\" value=\"${primary}\" />\n <input type=\"hidden\" name=\"cc\" value=\"${country}\" />\n <input type=\"hidden\" name=\"lnk\" value=\"mhsrch\" />\n ${this.scopeParameters\n ? html`\n <input type=\"hidden\" name=\"scope-domain\" value=\"scope\" />\n <input type=\"hidden\" name=\"scope-type\" value=\"${this.appId}\" />\n <input\n type=\"hidden\"\n name=\"scope-value\"\n value=\"${this.scopeValue}\"\n />\n <input\n type=\"hidden\"\n name=\"scope-label\"\n value=\"${this.scopeLabel}\"\n />\n `\n : ''}\n\n <div\n role=\"combobox\"\n class=\"${classes}\"\n aria-haspopup=\"listbox\"\n aria-owns=\"result-list\"\n aria-expanded=\"${Boolean(this.active)}\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @click=${handleClickInner}\n @keydown=\"${handleKeydownInner}\"\n @keypress=\"${handleKeypressInner}\"\n >\n ${this.scopeParameters\n ? html`\n <dds-scoped-search-dropdown value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-dropdown-item value=\"${scope.appId}\"\n >${scope.name}</bx-dropdown-item\n >\n `\n )}\n </dds-scoped-search-dropdown>\n\n <dds-scoped-search-dropdown-mobile value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-select-item\n label=\"${scope.name}\"\n value=\"${scope.appId}\"\n >${scope.name}</bx-select-item\n >\n `\n )}\n </dds-scoped-search-dropdown-mobile>\n `\n : ``}\n ${this._renderTriggerContent()}\n ${!this.leadspaceSearch\n ? html`\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n ${this.groupedResults &&\n this.groupedResults.map(\n (group) =>\n html`\n <dds-search-with-typeahead-item\n groupTitle\n text=\"${group.title}\"\n ></dds-search-with-typeahead-item>\n ${group.items.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item.name}\"\n href=\"${item.href}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n `\n )}\n </ul>\n </div>\n `\n : ``}\n </div>\n </form>\n <div\n class=\"${prefix}--assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${assistiveStatusText}\n </div>\n `;\n }\n\n /**\n * @returns `true` if the selection of this dropdown should change if the given item is selected upon user interaction.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectionShouldChange() {\n return true;\n }\n\n /**\n * `true` if this the search box should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The assistive text for the button to close the search box.\n */\n @property({ attribute: 'close-search-button-assistive-text' })\n closeSearchButtonAssistiveText = 'Close';\n\n /**\n * The language embedded in the inner form.\n */\n @property()\n language = 'en-US';\n\n /**\n * The assistive text for the button to open the search box.\n */\n @property({ attribute: 'open-search-button-assistive-text' })\n openSearchButtonAssistiveText = 'Open IBM search field';\n\n /**\n * The assistive text for the button to perform search.\n */\n @property({ attribute: 'perform-search-button-assistive-text' })\n performSearchButtonAssistiveText = 'Search all of IBM';\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder = 'Search all of IBM';\n\n /**\n * The redirect URL when a user selects a search suggestion.\n */\n @property({ attribute: 'redirect-url' })\n redirectUrl = 'https://www.ibm.com/search?lnk=mhsrch';\n\n /**\n * The `aria-label` attribute for the search input.\n */\n @property({ attribute: 'search-label' })\n searchLabel = 'IBM search field';\n\n /**\n * The shadow slot this search UI should be in.\n */\n @property({ reflect: true })\n slot = 'search';\n\n /**\n * `true` to activate the search box on page load.\n */\n @property({ type: Boolean, attribute: 'search-open-on-load' })\n searchOpenOnload = false;\n\n /**\n * The input value.\n */\n get searchQueryString() {\n return this._searchInputNode?.value ?? '';\n }\n\n /**\n * Returns query param `q` for search input if exists. Only available when searchOpenOnload is `true`\n */\n private _setSearchParam() {\n const { _searchInputNode: searchInputNode } = this;\n const URLParams = new URLSearchParams(\n this.ownerDocument!.defaultView!.location.search\n );\n const searchParam: any = this.searchOpenOnload ? URLParams.get('q') : '';\n if (searchParam) {\n searchInputNode.value = searchParam;\n }\n }\n\n firstUpdated() {\n this._setSearchParam();\n if (this.leadspaceSearch) {\n this.setAttribute('should-remain-open', '');\n this.setAttribute('active', '');\n }\n\n if (!this.appId && this.scopeParameters) {\n this.appId = 'all';\n this.redirectUrl = 'https://www.ibm.com/search/scoped';\n }\n }\n\n updated(changedProperties) {\n if (changedProperties.has('searchResults')) {\n const titleElements = this.shadowRoot?.querySelectorAll(\n 'dds-search-with-typeahead-item[groupTitle]'\n );\n titleElements?.forEach((e) => {\n e.previousElementSibling?.setAttribute('lastBeforeGroup', '');\n });\n }\n\n if (changedProperties.has('appId')) {\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (\n this._searchSuggestions?.parentElement as HTMLElement\n )?.removeAttribute('style');\n }\n\n if (!this.customTypeaheadAPI) {\n this.getResults(this.value).then((res) => {\n this.searchResults = res;\n });\n }\n\n const newPlaceholder = this.placeholderFormatter({\n appId: this.scopeParameters.filter(\n (e) => e.value === `${this.appId}`\n )[0]?.name,\n });\n this.setAttribute('placeholder', newPlaceholder);\n this.performSearchButtonAssistiveText = newPlaceholder;\n }\n }\n\n render() {\n const {\n active,\n closeSearchButtonAssistiveText,\n openSearchButtonAssistiveText,\n performSearchButtonAssistiveText,\n _handleClickCloseButton: handleClickCloseButton,\n _handleClickSearchButton: handleClickSearchButton,\n _handleClickItem: handleClickItem,\n } = this;\n const searchButtonAssistiveText = !active\n ? openSearchButtonAssistiveText\n : performSearchButtonAssistiveText;\n return html`\n ${!this.leadspaceSearch\n ? html`\n ${this._renderForm()}\n <div class=\"${prefix}--header__search--actions\">\n <button\n type=\"button\"\n part=\"open-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--search\"\n aria-label=\"${searchButtonAssistiveText}\"\n @click=\"${handleClickSearchButton}\"\n >\n ${Search20()}\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n `\n : html`\n <div class=\"${prefix}--header__search--actions\">\n ${Search20({\n part: 'search-icon',\n class: `${prefix}--search-magnifier-icon`,\n role: 'img',\n })}\n ${this._renderForm()}\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close ${this\n .value.length === 0\n ? `${prefix}--header__search--hide`\n : ''}\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n @click=${handleClickItem}\n ></dds-search-with-typeahead-item>\n `\n )}\n </ul>\n </div>\n `}\n `;\n }\n\n /**\n * A selector that will return highlighted search result items.\n */\n static get selectorItemHighlighted() {\n return `${ddsPrefix}-search-with-typeahead-item[highlighted]`;\n }\n\n /**\n * A selector that will return search result items.\n */\n static get selectorItem() {\n return `${ddsPrefix}-search-with-typeahead-item`;\n }\n\n /**\n * The name of the custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n */\n static get eventBeforeRedirect() {\n return `${ddsPrefix}-search-with-typeahead-beingredirected`;\n }\n\n /**\n * The name of the custom event fired after the search content is changed upon a user gesture.\n */\n static get eventInput() {\n return `${ddsPrefix}-search-with-typeahead-input`;\n }\n\n /**\n * The name of the custom event captured to retrieve the new search scope.\n */\n static get eventSelectScope() {\n return `${prefix}-select-selected`;\n }\n\n /**\n * The name of the custom event captured to retrieve the custom typeahead API results.\n */\n static get eventCustomResults() {\n return `${ddsPrefix}-custom-typeahead-api-results`;\n }\n\n /**\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${ddsPrefix}-search-with-typeahead-toggled`;\n }\n\n static get stableSelector() {\n return `${ddsPrefix}--search-with-typeahead`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSSearchWithTypeahead;\n"]}
1
+ {"version":3,"sources":["components/search-with-typeahead/search-with-typeahead.ts"],"names":[],"mappings":"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","file":"search-with-typeahead.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ifNonNull from '@carbon/web-components/es/globals/directives/if-non-null.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { html, property, query, customElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings.js';\nimport Close20 from '@carbon/web-components/es/icons/close/20.js';\nimport Search20 from '@carbon/web-components/es/icons/search/20.js';\nimport BXDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n} from '@carbon/web-components/es/components/dropdown/dropdown.js';\nimport BXDropdownItem from '@carbon/web-components/es/components/dropdown/dropdown-item.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport { baseFontSize, breakpoints } from '@carbon/layout';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport SearchTypeaheadAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/SearchTypeahead/SearchTypeahead';\nimport { forEach, indexOf } from '../../globals/internal/collection-helpers';\nimport styles from './search-with-typeahead.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport './search-with-typeahead-item';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\nconst { prefix } = settings;\nconst gridBreakpoint = parseFloat(breakpoints.lg.width) * baseFontSize;\n\n/**\n * Search with Typeahead\n *\n * @element dds-search-with-typeahead\n * @csspart open-button The button to show the search box.\n * @csspart close-button The button to hide the search box.\n * @csspart search-input The input box for search.\n * @fires dds-search-with-typeahead-beingredirected\n * The custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n * @fires dds-search-with-typeahead-input\n * The name of the custom event fired after the search content is changed upon a user gesture.\n * @fires dds-search-with-typeahead-toggled\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n@customElement(`${ddsPrefix}-search-with-typeahead`)\nclass DDSSearchWithTypeahead extends HostListenerMixin(\n StableSelectorMixin(BXDropdown)\n) {\n // eslint-disable-next-line class-methods-use-this\n async getResults(searchQuery) {\n const response = await SearchTypeaheadAPI.getResults(\n searchQuery,\n this.appId\n );\n return response.map((res) => res[0]);\n }\n\n /**\n * The formatter for the placeholder text on the search box.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n placeholderFormatter = ({ appId }) => `Search in ${appId}`;\n\n @property({ attribute: 'leadspace-search', type: Boolean })\n leadspaceSearch = false;\n\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n @property()\n currentSearchResults;\n\n @property()\n searchResults;\n\n @property()\n groupedResults;\n\n @property({ attribute: 'scope-parameters' })\n scopeParameters;\n\n @property({ attribute: 'should-remain-open', type: Boolean })\n shouldRemainOpen = false;\n\n @property({ attribute: 'appid', reflect: true })\n appId;\n\n @property({ attribute: 'scope-label', reflect: true })\n scopeLabel;\n\n @property({ attribute: 'scope-value', reflect: true })\n scopeValue;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--search`)\n private _searchButtonNode!: HTMLButtonElement;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--close`)\n private _closeButtonNode!: HTMLButtonElement;\n\n /**\n * The `<input>` of the search box.\n */\n @query(`.${prefix}--header__search--input`)\n private _searchInputNode!: HTMLInputElement;\n\n /**\n * The `<ul>` containing the search suggestions.\n */\n @query(`.react-autosuggest__suggestions-list`)\n private _searchSuggestions!: HTMLElement;\n\n /**\n * Handles hiding search suggestions if focusing on other buttons.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:focusin')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocus = async ({ target }: FocusEvent) => {\n if (!this._searchSuggestions) return;\n\n if (target === this._searchInputNode) {\n this._searchSuggestions.removeAttribute('hidden');\n } else if (target === (this._searchButtonNode || this._closeButtonNode)) {\n this._searchSuggestions.setAttribute('hidden', '');\n }\n\n if (target === this._closeButtonNode) {\n this.setAttribute('unfocused', '');\n } else {\n this.removeAttribute('unfocused');\n }\n };\n\n /**\n * Handles `click` event on the close button.\n */\n private async _handleClickCloseButton() {\n if (this.leadspaceSearch) {\n this._closeButtonNode?.classList.add(`${prefix}--header__search--hide`);\n }\n this._handleUserInitiatedToggleActiveState(false);\n }\n\n /**\n * Handles `click` event on the top-level element in the shadow DOM.\n *\n * @param event The event.\n */\n protected _handleClickInner(event: MouseEvent) {\n if (\n (event.target as HTMLElement).closest('.bx--header__search--input') ===\n event.target\n ) {\n this._handleUserInitiatedToggle();\n if (this._searchInputNode.value && this.leadspaceSearch) {\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n } else {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item) && !item.hasAttribute('groupTitle')) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n }\n\n /**\n * Handles `click` event on the search button.\n */\n private async _handleClickSearchButton() {\n const { active } = this;\n\n if (active) {\n if (this._searchInputNode.value) {\n this._handleUserInitiatedRedirect();\n }\n } else {\n this._handleUserInitiatedToggleActiveState(true);\n }\n }\n\n /**\n * Handles user-initiated toggling of activated state of the search box.\n *\n * @param active `true` to activate the search box.\n * @param moveFocus\n * `true` to move focus upon toggling, to the input box when activated, to the trigger button when deactivated.\n */\n private async _handleUserInitiatedToggleActiveState(\n active,\n moveFocus = true\n ) {\n if (active === this.active) {\n return;\n }\n const { _searchInputNode: searchInputNode } = this;\n const { eventInput, eventToggle } = this\n .constructor as typeof DDSSearchWithTypeahead;\n if (!active && searchInputNode.value) {\n searchInputNode.value = '';\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: '',\n },\n })\n );\n }\n this.active = this.shouldRemainOpen ? true : !this.active;\n this.searchResults = [];\n this.groupedResults = [];\n\n this.dispatchEvent(\n new CustomEvent(eventToggle, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n })\n );\n await this.updateComplete;\n if (moveFocus) {\n // Does not reuse destructed `searchInputNode` given it's `null` before expanded\n (this.active ? this._searchInputNode : this._searchButtonNode).focus();\n }\n }\n\n /**\n * Prevents key types in the `<input>` causing other keyboard shortcuts in application UI.\n *\n * @param event The event.\n */\n private _handleKeyInput(event: KeyboardEvent) {\n if (\n (this.constructor as typeof DDSSearchWithTypeahead).getAction(\n event.key\n ) === DROPDOWN_KEYBOARD_ACTION.NONE\n ) {\n event.stopPropagation();\n }\n }\n\n /**\n * Handles user-initiated redirect to the search query page.\n *\n * @param [options] The options.\n * @param [options.targetQuery] The query string the search query page should be of.\n * @param [options.targetHref] The href string to be redirected to.\n */\n private _handleUserInitiatedRedirect({\n targetQuery,\n targetHref,\n }: { targetQuery?: string; targetHref?: string } = {}) {\n const { eventBeforeRedirect, eventInput } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { language, redirectUrl } = this;\n const [primary, country] = language.split('-');\n const tokens = redirectUrl.split('?');\n const base = tokens.shift();\n const searchParams = new URLSearchParams(tokens.join('?'));\n // Setting `this._searchInputNode?.value` as the default value of `targetQuery` seems to cause a Babel bug\n searchParams.append('q', targetQuery ?? this._searchInputNode?.value);\n searchParams.append('lang', primary);\n searchParams.append('cc', country);\n\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: targetQuery,\n },\n })\n );\n\n if (this.appId) {\n searchParams.append('scope-domain', 'scope');\n searchParams.append('scope-value', this.scopeValue);\n searchParams.append('scope-type', this.appId);\n\n if (this.scopeLabel) {\n searchParams.append('scope-label', this.scopeLabel ?? '');\n }\n }\n\n const redirectUrlWithSearch = targetHref\n ? `${targetHref}`\n : `${base}?${searchParams.toString()}`;\n if (\n this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: redirectUrlWithSearch,\n },\n })\n )\n ) {\n this._redirect(redirectUrlWithSearch);\n }\n }\n\n /**\n * Handles component reset if focusing outside.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n super._handleFocusOut(event);\n }\n\n /**\n * Handles search results when using a custom API.\n *\n * @param event The event.\n */\n @HostListener('document:eventCustomResults')\n protected _handleCustomResults = (event: CustomEvent) => {\n if (this.customTypeaheadAPI) {\n [this.searchResults] = event.detail;\n this.groupedResults = event.detail.slice(1);\n }\n };\n\n /**\n * Queries scoped search suggestions.\n *\n * @param event The event.\n */\n @HostListener('document:eventSelectScope')\n protected _handleScopeSelect = (event: CustomEvent) => {\n this.appId = event.detail.appId;\n let targetScope;\n this.scopeParameters.forEach((scope) => {\n if (scope.appId === this.appId) {\n targetScope = scope;\n }\n });\n\n this.scopeValue = Array.isArray(targetScope?.value)\n ? `[${targetScope.value\n .toString()\n .split(',')\n .map((word) => `\"${word.trim()}\"`)\n .join(',')}]`\n : targetScope.value;\n this.scopeLabel = targetScope.label ?? '';\n };\n\n /**\n * Handles `input` event in the search input.\n */\n private _handleInput(event: InputEvent) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.removeAttribute('unfocused');\n\n const items = this.shadowRoot!.querySelectorAll(\n (this.constructor as typeof BXDropdown).selectorItem\n );\n items.forEach((e) => {\n if (e.hasAttribute('highlighted')) {\n this.setAttribute('unfocused', '');\n }\n });\n\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof DDSSearchWithTypeahead).eventInput,\n {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n\n if (!this.customTypeaheadAPI) {\n this.getResults(value).then((res) => {\n this.searchResults = res;\n });\n }\n\n if (value) {\n this.open = true;\n if (this.leadspaceSearch)\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n\n // accomodate search results box's width with the scope dropdown\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (this._searchSuggestions?.parentElement as HTMLElement)?.removeAttribute(\n 'style'\n );\n }\n }\n\n /**\n * Prevents form submission if there is a highlighted item.\n * In such case, `._handleUserInitiatedRedirect()` should have navigated the user to the search result page.\n *\n * @param event The event.\n */\n private _handleSubmit(event: Event) {\n const { eventBeforeRedirect } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { selectorItemHighlighted } = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem || !this._searchInputNode.value) {\n event.preventDefault();\n }\n if (\n !this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: this.redirectUrl,\n },\n })\n )\n ) {\n event.preventDefault();\n }\n }\n\n protected _handleUserInitiatedSelectItem(item?: BXDropdownItem) {\n if (item) {\n this._searchInputNode.value = (item as unknown as any).text;\n this._handleUserInitiatedRedirect({\n targetQuery: (item as unknown as any).text,\n targetHref: (item as unknown as any).href,\n });\n }\n }\n\n /**\n * Handler for the `keypress` event on the top-level element in the shadow DOM.\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof BXDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n {\n const constructor = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n /**\n * Redirects the page to the given target.\n *\n * @param target The target URL.\n */\n private _redirect(target) {\n this.ownerDocument!.defaultView!.location.assign(target);\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n const constructor = this.constructor as typeof DDSSearchWithTypeahead;\n const items = this.shadowRoot!.querySelectorAll(constructor.selectorItem);\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n let nextIndex = highlightedIndex + direction;\n\n if (items[nextIndex] && items[nextIndex].hasAttribute('groupTitle')) {\n nextIndex += direction;\n }\n\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as BXDropdownItem).highlighted = i === nextIndex;\n });\n\n this.setAttribute('unfocused', '');\n\n const nextItem = items[nextIndex];\n // Using `{ block: 'nearest' }` to prevent scrolling unless scrolling is absolutely necessary.\n // `scrollIntoViewOptions` seems to work in latest Safari despite of MDN/caniuse table.\n // IE falls back to the old behavior.\n nextItem.scrollIntoView({ block: 'nearest' });\n\n // @ts-ignore: TS does not believe nextItem has a text object\n const nextItemText = nextItem.text;\n if (nextItemText) {\n this._assistiveStatusText = nextItemText;\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The main content of the trigger button.\n */\n protected _renderTriggerContent() {\n const {\n searchPlaceholder,\n searchLabel,\n _handleInput: handleInput,\n _handleKeyInput: handleKeyInput,\n } = this;\n return html`\n <input\n type=\"text\"\n part=\"search-input\"\n class=\"${prefix}--header__search--input\"\n name=\"q\"\n placeholder=\"${searchPlaceholder}\"\n autocomplete=\"off\"\n aria-controls=\"result-list\"\n aria-autocomplete=\"list\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @input=\"${handleInput}\"\n @keydown=\"${handleKeyInput}\"\n @keypress=\"${handleKeyInput}\"\n />\n `;\n }\n\n /**\n * Handles `click` event to redirect based on selected item.\n *\n * @param event The event.\n */\n protected _handleClickItem(event: MouseEvent) {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item)) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n\n /**\n * @returns The content of the search box.\n */\n private _renderForm() {\n const {\n active,\n language,\n open,\n redirectUrl,\n searchLabel,\n _assistiveStatusText: assistiveStatusText,\n _handleClickInner: handleClickInner,\n _handleKeydownInner: handleKeydownInner,\n _handleKeypressInner: handleKeypressInner,\n _handleSubmit: handleSubmit,\n } = this;\n if (!active) {\n return undefined;\n }\n const [primary, country] = language.split('-');\n const classes = classMap({\n 'react-autosuggest__container': true,\n 'react-autosuggest__suggestions-container--open': open,\n });\n return html`\n <form method=\"get\" action=\"${redirectUrl}\" @submit=\"${handleSubmit}\">\n <input type=\"hidden\" name=\"lang\" value=\"${primary}\" />\n <input type=\"hidden\" name=\"cc\" value=\"${country}\" />\n <input type=\"hidden\" name=\"lnk\" value=\"mhsrch\" />\n ${this.scopeParameters\n ? html`\n <input type=\"hidden\" name=\"scope-domain\" value=\"scope\" />\n <input type=\"hidden\" name=\"scope-type\" value=\"${this.appId}\" />\n <input\n type=\"hidden\"\n name=\"scope-value\"\n value=\"${this.scopeValue}\"\n />\n <input\n type=\"hidden\"\n name=\"scope-label\"\n value=\"${this.scopeLabel}\"\n />\n `\n : ''}\n\n <div\n role=\"combobox\"\n class=\"${classes}\"\n aria-haspopup=\"listbox\"\n aria-owns=\"result-list\"\n aria-expanded=\"${Boolean(this.active)}\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @click=${handleClickInner}\n @keydown=\"${handleKeydownInner}\"\n @keypress=\"${handleKeypressInner}\"\n >\n ${this.scopeParameters\n ? html`\n <dds-scoped-search-dropdown value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-dropdown-item value=\"${scope.appId}\"\n >${scope.name}</bx-dropdown-item\n >\n `\n )}\n </dds-scoped-search-dropdown>\n\n <dds-scoped-search-dropdown-mobile value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-select-item\n label=\"${scope.name}\"\n value=\"${scope.appId}\"\n >${scope.name}</bx-select-item\n >\n `\n )}\n </dds-scoped-search-dropdown-mobile>\n `\n : ``}\n ${this._renderTriggerContent()}\n ${!this.leadspaceSearch\n ? html`\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n ${this.groupedResults &&\n this.groupedResults.map(\n (group) =>\n html`\n <dds-search-with-typeahead-item\n groupTitle\n text=\"${group.title}\"\n ></dds-search-with-typeahead-item>\n ${group.items.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item.name}\"\n href=\"${item.href}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n `\n )}\n </ul>\n </div>\n `\n : ``}\n </div>\n </form>\n <div\n class=\"${prefix}--assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${assistiveStatusText}\n </div>\n `;\n }\n\n /**\n * @returns `true` if the selection of this dropdown should change if the given item is selected upon user interaction.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectionShouldChange() {\n return true;\n }\n\n /**\n * `true` if this the search box should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The assistive text for the button to close the search box.\n */\n @property({ attribute: 'close-search-button-assistive-text' })\n closeSearchButtonAssistiveText = 'Close';\n\n /**\n * The language embedded in the inner form.\n */\n @property()\n language = 'en-US';\n\n /**\n * The assistive text for the button to open the search box.\n */\n @property({ attribute: 'open-search-button-assistive-text' })\n openSearchButtonAssistiveText = 'Open IBM search field';\n\n /**\n * The assistive text for the button to perform search.\n */\n @property({ attribute: 'perform-search-button-assistive-text' })\n performSearchButtonAssistiveText = 'Search all of IBM';\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder = 'Search all of IBM';\n\n /**\n * The redirect URL when a user selects a search suggestion.\n */\n @property({ attribute: 'redirect-url' })\n redirectUrl = 'https://www.ibm.com/search?lnk=mhsrch';\n\n /**\n * The `aria-label` attribute for the search input.\n */\n @property({ attribute: 'search-label' })\n searchLabel = 'IBM search field';\n\n /**\n * The shadow slot this search UI should be in.\n */\n @property({ reflect: true })\n slot = 'search';\n\n /**\n * `true` to activate the search box on page load.\n */\n @property({ type: Boolean, attribute: 'search-open-on-load' })\n searchOpenOnload = false;\n\n /**\n * The input value.\n */\n get searchQueryString() {\n return this._searchInputNode?.value ?? '';\n }\n\n /**\n * Returns query param `q` for search input if exists. Only available when searchOpenOnload is `true`\n */\n private _setSearchParam() {\n const { _searchInputNode: searchInputNode } = this;\n const URLParams = new URLSearchParams(\n this.ownerDocument!.defaultView!.location.search\n );\n const searchParam: any = this.searchOpenOnload ? URLParams.get('q') : '';\n if (searchParam) {\n searchInputNode.value = searchParam;\n }\n }\n\n firstUpdated() {\n this._setSearchParam();\n if (this.leadspaceSearch) {\n this.setAttribute('should-remain-open', '');\n this.setAttribute('active', '');\n }\n\n if (!this.appId && this.scopeParameters) {\n this.appId = 'all';\n this.redirectUrl = 'https://www.ibm.com/search/scoped';\n }\n }\n\n updated(changedProperties) {\n if (changedProperties.has('searchResults')) {\n const titleElements = this.shadowRoot?.querySelectorAll(\n 'dds-search-with-typeahead-item[groupTitle]'\n );\n titleElements?.forEach((e) => {\n e.previousElementSibling?.setAttribute('lastBeforeGroup', '');\n });\n }\n\n if (changedProperties.has('appId')) {\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (\n this._searchSuggestions?.parentElement as HTMLElement\n )?.removeAttribute('style');\n }\n\n if (!this.customTypeaheadAPI) {\n this.getResults(this.value).then((res) => {\n this.searchResults = res;\n });\n }\n\n const newPlaceholder = this.placeholderFormatter({\n appId: this.scopeParameters.filter(\n (e) => e.value === `${this.appId}`\n )[0]?.name,\n });\n this.setAttribute('placeholder', newPlaceholder);\n this.performSearchButtonAssistiveText = newPlaceholder;\n }\n }\n\n render() {\n const {\n active,\n closeSearchButtonAssistiveText,\n openSearchButtonAssistiveText,\n performSearchButtonAssistiveText,\n _handleClickCloseButton: handleClickCloseButton,\n _handleClickSearchButton: handleClickSearchButton,\n _handleClickItem: handleClickItem,\n } = this;\n const searchButtonAssistiveText = !active\n ? openSearchButtonAssistiveText\n : performSearchButtonAssistiveText;\n return html`\n ${!this.leadspaceSearch\n ? html`\n ${this._renderForm()}\n <div class=\"${prefix}--header__search--actions\">\n <button\n type=\"button\"\n part=\"open-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--search\"\n aria-label=\"${searchButtonAssistiveText}\"\n @click=\"${handleClickSearchButton}\"\n >\n ${Search20()}\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n `\n : html`\n <div class=\"${prefix}--header__search--actions\">\n ${Search20({\n part: 'search-icon',\n class: `${prefix}--search-magnifier-icon`,\n role: 'img',\n })}\n ${this._renderForm()}\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close ${this\n .value.length === 0\n ? `${prefix}--header__search--hide`\n : ''}\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n @click=${handleClickItem}\n ></dds-search-with-typeahead-item>\n `\n )}\n </ul>\n </div>\n `}\n `;\n }\n\n /**\n * A selector that will return highlighted search result items.\n */\n static get selectorItemHighlighted() {\n return `${ddsPrefix}-search-with-typeahead-item[highlighted]`;\n }\n\n /**\n * A selector that will return search result items.\n */\n static get selectorItem() {\n return `${ddsPrefix}-search-with-typeahead-item`;\n }\n\n /**\n * The name of the custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n */\n static get eventBeforeRedirect() {\n return `${ddsPrefix}-search-with-typeahead-beingredirected`;\n }\n\n /**\n * The name of the custom event fired after the search content is changed upon a user gesture.\n */\n static get eventInput() {\n return `${ddsPrefix}-search-with-typeahead-input`;\n }\n\n /**\n * The name of the custom event captured to retrieve the new search scope.\n */\n static get eventSelectScope() {\n return `${prefix}-select-selected`;\n }\n\n /**\n * The name of the custom event captured to retrieve the custom typeahead API results.\n */\n static get eventCustomResults() {\n return `${ddsPrefix}-custom-typeahead-api-results`;\n }\n\n /**\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${ddsPrefix}-search-with-typeahead-toggled`;\n }\n\n static get stableSelector() {\n return `${ddsPrefix}--search-with-typeahead`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSSearchWithTypeahead;\n"]}
@@ -25,15 +25,15 @@ let _ = t => t,
25
25
  * LICENSE file in the root directory of this source tree.
26
26
  */
27
27
 
28
- import ifNonNull from '@carbon/carbon-web-components/es/globals/directives/if-non-null.js';
28
+ import ifNonNull from '@carbon/web-components/es/globals/directives/if-non-null.js';
29
29
  import { classMap } from 'lit-html/directives/class-map.js';
30
30
  import { html, property, query, customElement } from 'lit-element';
31
31
  import settings from 'carbon-components/es/globals/js/settings.js';
32
- import Close20 from '@carbon/carbon-web-components/es/icons/close/20.js';
33
- import Search20 from '@carbon/carbon-web-components/es/icons/search/20.js';
34
- import BXDropdown, { DROPDOWN_KEYBOARD_ACTION } from '@carbon/carbon-web-components/es/components/dropdown/dropdown.js';
35
- import HostListener from '@carbon/carbon-web-components/es/globals/decorators/host-listener.js';
36
- import HostListenerMixin from '@carbon/carbon-web-components/es/globals/mixins/host-listener.js';
32
+ import Close20 from '@carbon/web-components/es/icons/close/20.js';
33
+ import Search20 from '@carbon/web-components/es/icons/search/20.js';
34
+ import BXDropdown, { DROPDOWN_KEYBOARD_ACTION } from '@carbon/web-components/es/components/dropdown/dropdown.js';
35
+ import HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';
36
+ import HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';
37
37
  import { baseFontSize, breakpoints } from '@carbon/layout';
38
38
  import ddsSettings from "../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js";
39
39
  import SearchTypeaheadAPI from "../../internal/vendor/@carbon/ibmdotcom-services/services/SearchTypeahead/SearchTypeahead.js";
@@ -1 +1 @@
1
- {"version":3,"file":"search-with-typeahead.js","names":["ifNonNull","classMap","html","property","query","customElement","settings","Close20","Search20","BXDropdown","DROPDOWN_KEYBOARD_ACTION","HostListener","HostListenerMixin","baseFontSize","breakpoints","ddsSettings","SearchTypeaheadAPI","forEach","indexOf","styles","StableSelectorMixin","stablePrefix","ddsPrefix","prefix","gridBreakpoint","parseFloat","lg","width","DDSSearchWithTypeahead","searchQuery","response","getResults","appId","map","res","attribute","type","Boolean","reflect","target","_searchSuggestions","_searchInputNode","removeAttribute","_searchButtonNode","_closeButtonNode","setAttribute","leadspaceSearch","classList","add","_handleUserInitiatedToggleActiveState","event","closest","_handleUserInitiatedToggle","value","remove","item","constructor","selectorItem","shadowRoot","contains","hasAttribute","_handleUserInitiatedSelectItem","active","_handleUserInitiatedRedirect","moveFocus","searchInputNode","eventInput","eventToggle","dispatchEvent","CustomEvent","bubbles","composed","cancelable","detail","shouldRemainOpen","searchResults","groupedResults","updateComplete","focus","getAction","key","NONE","stopPropagation","targetQuery","targetHref","eventBeforeRedirect","language","redirectUrl","primary","country","split","tokens","base","shift","searchParams","URLSearchParams","join","append","scopeValue","scopeLabel","redirectUrlWithSearch","toString","_redirect","customTypeaheadAPI","slice","targetScope","scopeParameters","scope","Array","isArray","word","trim","label","items","querySelectorAll","e","then","open","document","body","clientWidth","scopeBarWidth","querySelector","offsetWidth","parentElement","selectorItemHighlighted","highlightedItem","preventDefault","text","href","action","TRIGGERING","ownerDocument","defaultView","location","assign","direction","highlightedIndex","nextIndex","length","i","highlighted","nextItem","scrollIntoView","block","nextItemText","_assistiveStatusText","requestUpdate","searchPlaceholder","searchLabel","_handleInput","handleInput","_handleKeyInput","handleKeyInput","assistiveStatusText","_handleClickInner","handleClickInner","_handleKeydownInner","handleKeydownInner","_handleKeypressInner","handleKeypressInner","_handleSubmit","handleSubmit","undefined","classes","name","_renderTriggerContent","group","title","URLParams","search","searchParam","searchOpenOnload","get","_setSearchParam","changedProperties","has","titleElements","previousElementSibling","newPlaceholder","placeholderFormatter","filter","performSearchButtonAssistiveText","closeSearchButtonAssistiveText","openSearchButtonAssistiveText","_handleClickCloseButton","handleClickCloseButton","_handleClickSearchButton","handleClickSearchButton","_handleClickItem","handleClickItem","searchButtonAssistiveText","_renderForm","part","class","role"],"sources":["components/search-with-typeahead/search-with-typeahead.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ifNonNull from '@carbon/carbon-web-components/es/globals/directives/if-non-null.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { html, property, query, customElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings.js';\nimport Close20 from '@carbon/carbon-web-components/es/icons/close/20.js';\nimport Search20 from '@carbon/carbon-web-components/es/icons/search/20.js';\nimport BXDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n} from '@carbon/carbon-web-components/es/components/dropdown/dropdown.js';\nimport BXDropdownItem from '@carbon/carbon-web-components/es/components/dropdown/dropdown-item.js';\nimport HostListener from '@carbon/carbon-web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/carbon-web-components/es/globals/mixins/host-listener.js';\nimport { baseFontSize, breakpoints } from '@carbon/layout';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport SearchTypeaheadAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/SearchTypeahead/SearchTypeahead';\nimport { forEach, indexOf } from '../../globals/internal/collection-helpers';\nimport styles from './search-with-typeahead.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport './search-with-typeahead-item';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\nconst { prefix } = settings;\nconst gridBreakpoint = parseFloat(breakpoints.lg.width) * baseFontSize;\n\n/**\n * Search with Typeahead\n *\n * @element dds-search-with-typeahead\n * @csspart open-button The button to show the search box.\n * @csspart close-button The button to hide the search box.\n * @csspart search-input The input box for search.\n * @fires dds-search-with-typeahead-beingredirected\n * The custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n * @fires dds-search-with-typeahead-input\n * The name of the custom event fired after the search content is changed upon a user gesture.\n * @fires dds-search-with-typeahead-toggled\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n@customElement(`${ddsPrefix}-search-with-typeahead`)\nclass DDSSearchWithTypeahead extends HostListenerMixin(\n StableSelectorMixin(BXDropdown)\n) {\n // eslint-disable-next-line class-methods-use-this\n async getResults(searchQuery) {\n const response = await SearchTypeaheadAPI.getResults(\n searchQuery,\n this.appId\n );\n return response.map((res) => res[0]);\n }\n\n /**\n * The formatter for the placeholder text on the search box.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n placeholderFormatter = ({ appId }) => `Search in ${appId}`;\n\n @property({ attribute: 'leadspace-search', type: Boolean })\n leadspaceSearch = false;\n\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n @property()\n currentSearchResults;\n\n @property()\n searchResults;\n\n @property()\n groupedResults;\n\n @property({ attribute: 'scope-parameters' })\n scopeParameters;\n\n @property({ attribute: 'should-remain-open', type: Boolean })\n shouldRemainOpen = false;\n\n @property({ attribute: 'appid', reflect: true })\n appId;\n\n @property({ attribute: 'scope-label', reflect: true })\n scopeLabel;\n\n @property({ attribute: 'scope-value', reflect: true })\n scopeValue;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--search`)\n private _searchButtonNode!: HTMLButtonElement;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--close`)\n private _closeButtonNode!: HTMLButtonElement;\n\n /**\n * The `<input>` of the search box.\n */\n @query(`.${prefix}--header__search--input`)\n private _searchInputNode!: HTMLInputElement;\n\n /**\n * The `<ul>` containing the search suggestions.\n */\n @query(`.react-autosuggest__suggestions-list`)\n private _searchSuggestions!: HTMLElement;\n\n /**\n * Handles hiding search suggestions if focusing on other buttons.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:focusin')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocus = async ({ target }: FocusEvent) => {\n if (!this._searchSuggestions) return;\n\n if (target === this._searchInputNode) {\n this._searchSuggestions.removeAttribute('hidden');\n } else if (target === (this._searchButtonNode || this._closeButtonNode)) {\n this._searchSuggestions.setAttribute('hidden', '');\n }\n\n if (target === this._closeButtonNode) {\n this.setAttribute('unfocused', '');\n } else {\n this.removeAttribute('unfocused');\n }\n };\n\n /**\n * Handles `click` event on the close button.\n */\n private async _handleClickCloseButton() {\n if (this.leadspaceSearch) {\n this._closeButtonNode?.classList.add(`${prefix}--header__search--hide`);\n }\n this._handleUserInitiatedToggleActiveState(false);\n }\n\n /**\n * Handles `click` event on the top-level element in the shadow DOM.\n *\n * @param event The event.\n */\n protected _handleClickInner(event: MouseEvent) {\n if (\n (event.target as HTMLElement).closest('.bx--header__search--input') ===\n event.target\n ) {\n this._handleUserInitiatedToggle();\n if (this._searchInputNode.value && this.leadspaceSearch) {\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n } else {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item) && !item.hasAttribute('groupTitle')) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n }\n\n /**\n * Handles `click` event on the search button.\n */\n private async _handleClickSearchButton() {\n const { active } = this;\n\n if (active) {\n if (this._searchInputNode.value) {\n this._handleUserInitiatedRedirect();\n }\n } else {\n this._handleUserInitiatedToggleActiveState(true);\n }\n }\n\n /**\n * Handles user-initiated toggling of activated state of the search box.\n *\n * @param active `true` to activate the search box.\n * @param moveFocus\n * `true` to move focus upon toggling, to the input box when activated, to the trigger button when deactivated.\n */\n private async _handleUserInitiatedToggleActiveState(\n active,\n moveFocus = true\n ) {\n if (active === this.active) {\n return;\n }\n const { _searchInputNode: searchInputNode } = this;\n const { eventInput, eventToggle } = this\n .constructor as typeof DDSSearchWithTypeahead;\n if (!active && searchInputNode.value) {\n searchInputNode.value = '';\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: '',\n },\n })\n );\n }\n this.active = this.shouldRemainOpen ? true : !this.active;\n this.searchResults = [];\n this.groupedResults = [];\n\n this.dispatchEvent(\n new CustomEvent(eventToggle, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n })\n );\n await this.updateComplete;\n if (moveFocus) {\n // Does not reuse destructed `searchInputNode` given it's `null` before expanded\n (this.active ? this._searchInputNode : this._searchButtonNode).focus();\n }\n }\n\n /**\n * Prevents key types in the `<input>` causing other keyboard shortcuts in application UI.\n *\n * @param event The event.\n */\n private _handleKeyInput(event: KeyboardEvent) {\n if (\n (this.constructor as typeof DDSSearchWithTypeahead).getAction(\n event.key\n ) === DROPDOWN_KEYBOARD_ACTION.NONE\n ) {\n event.stopPropagation();\n }\n }\n\n /**\n * Handles user-initiated redirect to the search query page.\n *\n * @param [options] The options.\n * @param [options.targetQuery] The query string the search query page should be of.\n * @param [options.targetHref] The href string to be redirected to.\n */\n private _handleUserInitiatedRedirect({\n targetQuery,\n targetHref,\n }: { targetQuery?: string; targetHref?: string } = {}) {\n const { eventBeforeRedirect, eventInput } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { language, redirectUrl } = this;\n const [primary, country] = language.split('-');\n const tokens = redirectUrl.split('?');\n const base = tokens.shift();\n const searchParams = new URLSearchParams(tokens.join('?'));\n // Setting `this._searchInputNode?.value` as the default value of `targetQuery` seems to cause a Babel bug\n searchParams.append('q', targetQuery ?? this._searchInputNode?.value);\n searchParams.append('lang', primary);\n searchParams.append('cc', country);\n\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: targetQuery,\n },\n })\n );\n\n if (this.appId) {\n searchParams.append('scope-domain', 'scope');\n searchParams.append('scope-value', this.scopeValue);\n searchParams.append('scope-type', this.appId);\n\n if (this.scopeLabel) {\n searchParams.append('scope-label', this.scopeLabel ?? '');\n }\n }\n\n const redirectUrlWithSearch = targetHref\n ? `${targetHref}`\n : `${base}?${searchParams.toString()}`;\n if (\n this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: redirectUrlWithSearch,\n },\n })\n )\n ) {\n this._redirect(redirectUrlWithSearch);\n }\n }\n\n /**\n * Handles component reset if focusing outside.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n super._handleFocusOut(event);\n }\n\n /**\n * Handles search results when using a custom API.\n *\n * @param event The event.\n */\n @HostListener('document:eventCustomResults')\n protected _handleCustomResults = (event: CustomEvent) => {\n if (this.customTypeaheadAPI) {\n [this.searchResults] = event.detail;\n this.groupedResults = event.detail.slice(1);\n }\n };\n\n /**\n * Queries scoped search suggestions.\n *\n * @param event The event.\n */\n @HostListener('document:eventSelectScope')\n protected _handleScopeSelect = (event: CustomEvent) => {\n this.appId = event.detail.appId;\n let targetScope;\n this.scopeParameters.forEach((scope) => {\n if (scope.appId === this.appId) {\n targetScope = scope;\n }\n });\n\n this.scopeValue = Array.isArray(targetScope?.value)\n ? `[${targetScope.value\n .toString()\n .split(',')\n .map((word) => `\"${word.trim()}\"`)\n .join(',')}]`\n : targetScope.value;\n this.scopeLabel = targetScope.label ?? '';\n };\n\n /**\n * Handles `input` event in the search input.\n */\n private _handleInput(event: InputEvent) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.removeAttribute('unfocused');\n\n const items = this.shadowRoot!.querySelectorAll(\n (this.constructor as typeof BXDropdown).selectorItem\n );\n items.forEach((e) => {\n if (e.hasAttribute('highlighted')) {\n this.setAttribute('unfocused', '');\n }\n });\n\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof DDSSearchWithTypeahead).eventInput,\n {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n\n if (!this.customTypeaheadAPI) {\n this.getResults(value).then((res) => {\n this.searchResults = res;\n });\n }\n\n if (value) {\n this.open = true;\n if (this.leadspaceSearch)\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n\n // accomodate search results box's width with the scope dropdown\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (this._searchSuggestions?.parentElement as HTMLElement)?.removeAttribute(\n 'style'\n );\n }\n }\n\n /**\n * Prevents form submission if there is a highlighted item.\n * In such case, `._handleUserInitiatedRedirect()` should have navigated the user to the search result page.\n *\n * @param event The event.\n */\n private _handleSubmit(event: Event) {\n const { eventBeforeRedirect } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { selectorItemHighlighted } = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem || !this._searchInputNode.value) {\n event.preventDefault();\n }\n if (\n !this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: this.redirectUrl,\n },\n })\n )\n ) {\n event.preventDefault();\n }\n }\n\n protected _handleUserInitiatedSelectItem(item?: BXDropdownItem) {\n if (item) {\n this._searchInputNode.value = (item as unknown as any).text;\n this._handleUserInitiatedRedirect({\n targetQuery: (item as unknown as any).text,\n targetHref: (item as unknown as any).href,\n });\n }\n }\n\n /**\n * Handler for the `keypress` event on the top-level element in the shadow DOM.\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof BXDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n {\n const constructor = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n /**\n * Redirects the page to the given target.\n *\n * @param target The target URL.\n */\n private _redirect(target) {\n this.ownerDocument!.defaultView!.location.assign(target);\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n const constructor = this.constructor as typeof DDSSearchWithTypeahead;\n const items = this.shadowRoot!.querySelectorAll(constructor.selectorItem);\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n let nextIndex = highlightedIndex + direction;\n\n if (items[nextIndex] && items[nextIndex].hasAttribute('groupTitle')) {\n nextIndex += direction;\n }\n\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as BXDropdownItem).highlighted = i === nextIndex;\n });\n\n this.setAttribute('unfocused', '');\n\n const nextItem = items[nextIndex];\n // Using `{ block: 'nearest' }` to prevent scrolling unless scrolling is absolutely necessary.\n // `scrollIntoViewOptions` seems to work in latest Safari despite of MDN/caniuse table.\n // IE falls back to the old behavior.\n nextItem.scrollIntoView({ block: 'nearest' });\n\n // @ts-ignore: TS does not believe nextItem has a text object\n const nextItemText = nextItem.text;\n if (nextItemText) {\n this._assistiveStatusText = nextItemText;\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The main content of the trigger button.\n */\n protected _renderTriggerContent() {\n const {\n searchPlaceholder,\n searchLabel,\n _handleInput: handleInput,\n _handleKeyInput: handleKeyInput,\n } = this;\n return html`\n <input\n type=\"text\"\n part=\"search-input\"\n class=\"${prefix}--header__search--input\"\n name=\"q\"\n placeholder=\"${searchPlaceholder}\"\n autocomplete=\"off\"\n aria-controls=\"result-list\"\n aria-autocomplete=\"list\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @input=\"${handleInput}\"\n @keydown=\"${handleKeyInput}\"\n @keypress=\"${handleKeyInput}\"\n />\n `;\n }\n\n /**\n * Handles `click` event to redirect based on selected item.\n *\n * @param event The event.\n */\n protected _handleClickItem(event: MouseEvent) {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item)) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n\n /**\n * @returns The content of the search box.\n */\n private _renderForm() {\n const {\n active,\n language,\n open,\n redirectUrl,\n searchLabel,\n _assistiveStatusText: assistiveStatusText,\n _handleClickInner: handleClickInner,\n _handleKeydownInner: handleKeydownInner,\n _handleKeypressInner: handleKeypressInner,\n _handleSubmit: handleSubmit,\n } = this;\n if (!active) {\n return undefined;\n }\n const [primary, country] = language.split('-');\n const classes = classMap({\n 'react-autosuggest__container': true,\n 'react-autosuggest__suggestions-container--open': open,\n });\n return html`\n <form method=\"get\" action=\"${redirectUrl}\" @submit=\"${handleSubmit}\">\n <input type=\"hidden\" name=\"lang\" value=\"${primary}\" />\n <input type=\"hidden\" name=\"cc\" value=\"${country}\" />\n <input type=\"hidden\" name=\"lnk\" value=\"mhsrch\" />\n ${this.scopeParameters\n ? html`\n <input type=\"hidden\" name=\"scope-domain\" value=\"scope\" />\n <input type=\"hidden\" name=\"scope-type\" value=\"${this.appId}\" />\n <input\n type=\"hidden\"\n name=\"scope-value\"\n value=\"${this.scopeValue}\"\n />\n <input\n type=\"hidden\"\n name=\"scope-label\"\n value=\"${this.scopeLabel}\"\n />\n `\n : ''}\n\n <div\n role=\"combobox\"\n class=\"${classes}\"\n aria-haspopup=\"listbox\"\n aria-owns=\"result-list\"\n aria-expanded=\"${Boolean(this.active)}\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @click=${handleClickInner}\n @keydown=\"${handleKeydownInner}\"\n @keypress=\"${handleKeypressInner}\"\n >\n ${this.scopeParameters\n ? html`\n <dds-scoped-search-dropdown value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-dropdown-item value=\"${scope.appId}\"\n >${scope.name}</bx-dropdown-item\n >\n `\n )}\n </dds-scoped-search-dropdown>\n\n <dds-scoped-search-dropdown-mobile value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-select-item\n label=\"${scope.name}\"\n value=\"${scope.appId}\"\n >${scope.name}</bx-select-item\n >\n `\n )}\n </dds-scoped-search-dropdown-mobile>\n `\n : ``}\n ${this._renderTriggerContent()}\n ${!this.leadspaceSearch\n ? html`\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n ${this.groupedResults &&\n this.groupedResults.map(\n (group) =>\n html`\n <dds-search-with-typeahead-item\n groupTitle\n text=\"${group.title}\"\n ></dds-search-with-typeahead-item>\n ${group.items.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item.name}\"\n href=\"${item.href}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n `\n )}\n </ul>\n </div>\n `\n : ``}\n </div>\n </form>\n <div\n class=\"${prefix}--assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${assistiveStatusText}\n </div>\n `;\n }\n\n /**\n * @returns `true` if the selection of this dropdown should change if the given item is selected upon user interaction.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectionShouldChange() {\n return true;\n }\n\n /**\n * `true` if this the search box should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The assistive text for the button to close the search box.\n */\n @property({ attribute: 'close-search-button-assistive-text' })\n closeSearchButtonAssistiveText = 'Close';\n\n /**\n * The language embedded in the inner form.\n */\n @property()\n language = 'en-US';\n\n /**\n * The assistive text for the button to open the search box.\n */\n @property({ attribute: 'open-search-button-assistive-text' })\n openSearchButtonAssistiveText = 'Open IBM search field';\n\n /**\n * The assistive text for the button to perform search.\n */\n @property({ attribute: 'perform-search-button-assistive-text' })\n performSearchButtonAssistiveText = 'Search all of IBM';\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder = 'Search all of IBM';\n\n /**\n * The redirect URL when a user selects a search suggestion.\n */\n @property({ attribute: 'redirect-url' })\n redirectUrl = 'https://www.ibm.com/search?lnk=mhsrch';\n\n /**\n * The `aria-label` attribute for the search input.\n */\n @property({ attribute: 'search-label' })\n searchLabel = 'IBM search field';\n\n /**\n * The shadow slot this search UI should be in.\n */\n @property({ reflect: true })\n slot = 'search';\n\n /**\n * `true` to activate the search box on page load.\n */\n @property({ type: Boolean, attribute: 'search-open-on-load' })\n searchOpenOnload = false;\n\n /**\n * The input value.\n */\n get searchQueryString() {\n return this._searchInputNode?.value ?? '';\n }\n\n /**\n * Returns query param `q` for search input if exists. Only available when searchOpenOnload is `true`\n */\n private _setSearchParam() {\n const { _searchInputNode: searchInputNode } = this;\n const URLParams = new URLSearchParams(\n this.ownerDocument!.defaultView!.location.search\n );\n const searchParam: any = this.searchOpenOnload ? URLParams.get('q') : '';\n if (searchParam) {\n searchInputNode.value = searchParam;\n }\n }\n\n firstUpdated() {\n this._setSearchParam();\n if (this.leadspaceSearch) {\n this.setAttribute('should-remain-open', '');\n this.setAttribute('active', '');\n }\n\n if (!this.appId && this.scopeParameters) {\n this.appId = 'all';\n this.redirectUrl = 'https://www.ibm.com/search/scoped';\n }\n }\n\n updated(changedProperties) {\n if (changedProperties.has('searchResults')) {\n const titleElements = this.shadowRoot?.querySelectorAll(\n 'dds-search-with-typeahead-item[groupTitle]'\n );\n titleElements?.forEach((e) => {\n e.previousElementSibling?.setAttribute('lastBeforeGroup', '');\n });\n }\n\n if (changedProperties.has('appId')) {\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (\n this._searchSuggestions?.parentElement as HTMLElement\n )?.removeAttribute('style');\n }\n\n if (!this.customTypeaheadAPI) {\n this.getResults(this.value).then((res) => {\n this.searchResults = res;\n });\n }\n\n const newPlaceholder = this.placeholderFormatter({\n appId: this.scopeParameters.filter(\n (e) => e.value === `${this.appId}`\n )[0]?.name,\n });\n this.setAttribute('placeholder', newPlaceholder);\n this.performSearchButtonAssistiveText = newPlaceholder;\n }\n }\n\n render() {\n const {\n active,\n closeSearchButtonAssistiveText,\n openSearchButtonAssistiveText,\n performSearchButtonAssistiveText,\n _handleClickCloseButton: handleClickCloseButton,\n _handleClickSearchButton: handleClickSearchButton,\n _handleClickItem: handleClickItem,\n } = this;\n const searchButtonAssistiveText = !active\n ? openSearchButtonAssistiveText\n : performSearchButtonAssistiveText;\n return html`\n ${!this.leadspaceSearch\n ? html`\n ${this._renderForm()}\n <div class=\"${prefix}--header__search--actions\">\n <button\n type=\"button\"\n part=\"open-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--search\"\n aria-label=\"${searchButtonAssistiveText}\"\n @click=\"${handleClickSearchButton}\"\n >\n ${Search20()}\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n `\n : html`\n <div class=\"${prefix}--header__search--actions\">\n ${Search20({\n part: 'search-icon',\n class: `${prefix}--search-magnifier-icon`,\n role: 'img',\n })}\n ${this._renderForm()}\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close ${this\n .value.length === 0\n ? `${prefix}--header__search--hide`\n : ''}\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n @click=${handleClickItem}\n ></dds-search-with-typeahead-item>\n `\n )}\n </ul>\n </div>\n `}\n `;\n }\n\n /**\n * A selector that will return highlighted search result items.\n */\n static get selectorItemHighlighted() {\n return `${ddsPrefix}-search-with-typeahead-item[highlighted]`;\n }\n\n /**\n * A selector that will return search result items.\n */\n static get selectorItem() {\n return `${ddsPrefix}-search-with-typeahead-item`;\n }\n\n /**\n * The name of the custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n */\n static get eventBeforeRedirect() {\n return `${ddsPrefix}-search-with-typeahead-beingredirected`;\n }\n\n /**\n * The name of the custom event fired after the search content is changed upon a user gesture.\n */\n static get eventInput() {\n return `${ddsPrefix}-search-with-typeahead-input`;\n }\n\n /**\n * The name of the custom event captured to retrieve the new search scope.\n */\n static get eventSelectScope() {\n return `${prefix}-select-selected`;\n }\n\n /**\n * The name of the custom event captured to retrieve the custom typeahead API results.\n */\n static get eventCustomResults() {\n return `${ddsPrefix}-custom-typeahead-api-results`;\n }\n\n /**\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${ddsPrefix}-search-with-typeahead-toggled`;\n }\n\n static get stableSelector() {\n return `${ddsPrefix}--search-with-typeahead`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSSearchWithTypeahead;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,SAAS,MAAM,oEAAoE;AAC1F,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,aAAa,QAAQ,aAAa;AAClE,OAAOC,QAAQ,MAAM,6CAA6C;AAClE,OAAOC,OAAO,MAAM,oDAAoD;AACxE,OAAOC,QAAQ,MAAM,qDAAqD;AAC1E,OAAOC,UAAU,IACfC,wBAAwB,QACnB,kEAAkE;AAEzE,OAAOC,YAAY,MAAM,sEAAsE;AAC/F,OAAOC,iBAAiB,MAAM,kEAAkE;AAChG,SAASC,YAAY,EAAEC,WAAW,QAAQ,gBAAgB;AAC1D,OAAOC,WAAW,MAAM,kFAA+E;AACvG,OAAOC,kBAAkB,MAAM,8FAA2F;AAC1H,SAASC,OAAO,EAAEC,OAAO,QAAQ,8CAA2C;AAC5E,OAAOC,MAAM,MAAM,kCAA8B;AACjD,OAAOC,mBAAmB,MAAM,yCAAsC;AACtE,OAAO,iCAA8B;AAErC,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGP,WAAW;AAC/C,MAAM;EAAEQ;AAAO,CAAC,GAAGjB,QAAQ;AAC3B,MAAMkB,cAAc,GAAGC,UAAU,CAACX,WAAW,CAACY,EAAE,CAACC,KAAK,CAAC,GAAGd,YAAY;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,IAgBMe,sBAAsB,cAD3BvB,aAAa,CAAE,GAAEiB,SAAU,wBAAuB,CAAC;EAApD,MACMM,sBAAsB,4BAE1B;IAAA;MAAA;MAAA;IAAA;EA49BF;EAAC;IAAA,GA99BKA,sBAAsB;IAAA;MAAA;MAAA;MAAA;MAG1B;MACA,0BAAiBC,WAAW,EAAE;QAC5B,MAAMC,QAAQ,GAAG,MAAMd,kBAAkB,CAACe,UAAU,CAClDF,WAAW,EACX,IAAI,CAACG,KAAK,CACX;QACD,OAAOF,QAAQ,CAACG,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAAC,CAAC,CAAC,CAAC;MACtC;;MAEA;AACF;AACA;AACA;IAHE;MAAA;MAAA,aAIC/B,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA;MAAA;QAAA,OACR,CAAC;UAAEH;QAAM,CAAC,KAAM,aAAYA,KAAM,EAAC;MAAA;IAAA;MAAA;MAAA,aAEzD7B,QAAQ,CAAC;QAAEgC,SAAS,EAAE,kBAAkB;QAAEC,IAAI,EAAEC;MAAQ,CAAC,CAAC;MAAA;MAAA;QAAA,OACzC,KAAK;MAAA;IAAA;MAAA;MAAA,aAEtBlC,QAAQ,CAAC;QAAEgC,SAAS,EAAE,sBAAsB;QAAEC,IAAI,EAAEC;MAAQ,CAAC,CAAC;MAAA;MAAA;QAAA,OAC1C,KAAK;MAAA;IAAA;MAAA;MAAA,aAEzBlC,QAAQ,EAAE;MAAA;MAAA;IAAA;MAAA;MAAA,aAGVA,QAAQ,EAAE;MAAA;MAAA;IAAA;MAAA;MAAA,aAGVA,QAAQ,EAAE;MAAA;MAAA;IAAA;MAAA;MAAA,aAGVA,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAmB,CAAC,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAG3ChC,QAAQ,CAAC;QAAEgC,SAAS,EAAE,oBAAoB;QAAEC,IAAI,EAAEC;MAAQ,CAAC,CAAC;MAAA;MAAA;QAAA,OAC1C,KAAK;MAAA;IAAA;MAAA;MAAA,aAEvBlC,QAAQ,CAAC;QAAEgC,SAAS,EAAE,OAAO;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAG/CnC,QAAQ,CAAC;QAAEgC,SAAS,EAAE,aAAa;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAGrDnC,QAAQ,CAAC;QAAEgC,SAAS,EAAE,aAAa;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAMrDlC,KAAK,CAAE,IAAGmB,MAAO,0BAAyB,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAM3CnB,KAAK,CAAE,IAAGmB,MAAO,yBAAwB,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAM1CnB,KAAK,CAAE,IAAGmB,MAAO,yBAAwB,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAM1CnB,KAAK,CAAE,sCAAqC,CAAC;MAAA;MAAA;IAAA;MAAA;MAAA,aAQ7CO,YAAY,CAAC,oBAAoB,CAAC;MAAA;MAAA;QAAA,OAEZ,OAAO;UAAE4B;QAAmB,CAAC,KAAK;UACvD,IAAI,CAAC,IAAI,CAACC,kBAAkB,EAAE;UAE9B,IAAID,MAAM,KAAK,IAAI,CAACE,gBAAgB,EAAE;YACpC,IAAI,CAACD,kBAAkB,CAACE,eAAe,CAAC,QAAQ,CAAC;UACnD,CAAC,MAAM,IAAIH,MAAM,MAAM,IAAI,CAACI,iBAAiB,IAAI,IAAI,CAACC,gBAAgB,CAAC,EAAE;YACvE,IAAI,CAACJ,kBAAkB,CAACK,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;UACpD;UAEA,IAAIN,MAAM,KAAK,IAAI,CAACK,gBAAgB,EAAE;YACpC,IAAI,CAACC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;UACpC,CAAC,MAAM;YACL,IAAI,CAACH,eAAe,CAAC,WAAW,CAAC;UACnC;QACF,CAAC;MAAA;IAAA;MAAA;MAAA;MAAA;MA7CD;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;AACA;AACA;MAmBE;AACF;AACA;MACE,yCAAwC;QACtC,IAAI,IAAI,CAACI,eAAe,EAAE;UAAA;UACxB,6BAAI,CAACF,gBAAgB,0DAArB,sBAAuBG,SAAS,CAACC,GAAG,CAAE,GAAEzB,MAAO,wBAAuB,CAAC;QACzE;QACA,IAAI,CAAC0B,qCAAqC,CAAC,KAAK,CAAC;MACnD;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA;MAAA,OAKA,2BAA4BC,KAAiB,EAAE;QAC7C,IACGA,KAAK,CAACX,MAAM,CAAiBY,OAAO,CAAC,4BAA4B,CAAC,KACnED,KAAK,CAACX,MAAM,EACZ;UACA,IAAI,CAACa,0BAA0B,EAAE;UACjC,IAAI,IAAI,CAACX,gBAAgB,CAACY,KAAK,IAAI,IAAI,CAACP,eAAe,EAAE;YAAA;YACvD,8BAAI,CAACF,gBAAgB,2DAArB,uBAAuBG,SAAS,CAACO,MAAM,CACpC,GAAE/B,MAAO,wBAAuB,CAClC;UACH;QACF,CAAC,MAAM;UACL,MAAMgC,IAAI,GAAIL,KAAK,CAACX,MAAM,CAAaY,OAAO,CAC3C,IAAI,CAACK,WAAW,CAAuBC,YAAY,CACnC;UACnB,IAAI,IAAI,CAACC,UAAU,CAAEC,QAAQ,CAACJ,IAAI,CAAC,IAAI,CAACA,IAAI,CAACK,YAAY,CAAC,YAAY,CAAC,EAAE;YACvE,IAAI,CAACC,8BAA8B,CAACN,IAAI,CAAC;UAC3C;QACF;MACF;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA,OAGA,0CAAyC;QACvC,MAAM;UAAEO;QAAO,CAAC,GAAG,IAAI;QAEvB,IAAIA,MAAM,EAAE;UACV,IAAI,IAAI,CAACrB,gBAAgB,CAACY,KAAK,EAAE;YAC/B,IAAI,CAACU,4BAA4B,EAAE;UACrC;QACF,CAAC,MAAM;UACL,IAAI,CAACd,qCAAqC,CAAC,IAAI,CAAC;QAClD;MACF;;MAEA;AACF;AACA;AACA;AACA;AACA;AACA;IANE;MAAA;MAAA;MAAA,OAOA,qDACEa,MAAM,EACNE,SAAS,GAAG,IAAI,EAChB;QACA,IAAIF,MAAM,KAAK,IAAI,CAACA,MAAM,EAAE;UAC1B;QACF;QACA,MAAM;UAAErB,gBAAgB,EAAEwB;QAAgB,CAAC,GAAG,IAAI;QAClD,MAAM;UAAEC,UAAU;UAAEC;QAAY,CAAC,GAAG,IAAI,CACrCX,WAA4C;QAC/C,IAAI,CAACM,MAAM,IAAIG,eAAe,CAACZ,KAAK,EAAE;UACpCY,eAAe,CAACZ,KAAK,GAAG,EAAE;UAC1B,IAAI,CAACe,aAAa,CAChB,IAAIC,WAAW,CAACH,UAAU,EAAE;YAC1BI,OAAO,EAAE,IAAI;YACbC,QAAQ,EAAE,IAAI;YACdC,UAAU,EAAE,KAAK;YACjBC,MAAM,EAAE;cACNpB,KAAK,EAAE;YACT;UACF,CAAC,CAAC,CACH;QACH;QACA,IAAI,CAACS,MAAM,GAAG,IAAI,CAACY,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAACZ,MAAM;QACzD,IAAI,CAACa,aAAa,GAAG,EAAE;QACvB,IAAI,CAACC,cAAc,GAAG,EAAE;QAExB,IAAI,CAACR,aAAa,CAChB,IAAIC,WAAW,CAACF,WAAW,EAAE;UAC3BG,OAAO,EAAE,IAAI;UACbE,UAAU,EAAE,IAAI;UAChBD,QAAQ,EAAE,IAAI;UACdE,MAAM,EAAE;YACNX;UACF;QACF,CAAC,CAAC,CACH;QACD,MAAM,IAAI,CAACe,cAAc;QACzB,IAAIb,SAAS,EAAE;UACb;UACA,CAAC,IAAI,CAACF,MAAM,GAAG,IAAI,CAACrB,gBAAgB,GAAG,IAAI,CAACE,iBAAiB,EAAEmC,KAAK,EAAE;QACxE;MACF;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA;MAAA,OAKA,yBAAwB5B,KAAoB,EAAE;QAC5C,IACG,IAAI,CAACM,WAAW,CAAmCuB,SAAS,CAC3D7B,KAAK,CAAC8B,GAAG,CACV,KAAKtE,wBAAwB,CAACuE,IAAI,EACnC;UACA/B,KAAK,CAACgC,eAAe,EAAE;QACzB;MACF;;MAEA;AACF;AACA;AACA;AACA;AACA;AACA;IANE;MAAA;MAAA;MAAA,OAOA,sCAAqC;QACnCC,WAAW;QACXC;MAC6C,CAAC,GAAG,CAAC,CAAC,EAAE;QAAA;QACrD,MAAM;UAAEC,mBAAmB;UAAEnB;QAAW,CAAC,GAAG,IAAI,CAC7CV,WAA4C;QAC/C,MAAM;UAAE8B,QAAQ;UAAEC;QAAY,CAAC,GAAG,IAAI;QACtC,MAAM,CAACC,OAAO,EAAEC,OAAO,CAAC,GAAGH,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC;QAC9C,MAAMC,MAAM,GAAGJ,WAAW,CAACG,KAAK,CAAC,GAAG,CAAC;QACrC,MAAME,IAAI,GAAGD,MAAM,CAACE,KAAK,EAAE;QAC3B,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAACJ,MAAM,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D;QACAF,YAAY,CAACG,MAAM,CAAC,GAAG,EAAEd,WAAW,aAAXA,WAAW,cAAXA,WAAW,4BAAI,IAAI,CAAC1C,gBAAgB,0DAArB,sBAAuBY,KAAK,CAAC;QACrEyC,YAAY,CAACG,MAAM,CAAC,MAAM,EAAET,OAAO,CAAC;QACpCM,YAAY,CAACG,MAAM,CAAC,IAAI,EAAER,OAAO,CAAC;QAElC,IAAI,CAACrB,aAAa,CAChB,IAAIC,WAAW,CAACH,UAAU,EAAE;UAC1BI,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdC,UAAU,EAAE,KAAK;UACjBC,MAAM,EAAE;YACNpB,KAAK,EAAE8B;UACT;QACF,CAAC,CAAC,CACH;QAED,IAAI,IAAI,CAACnD,KAAK,EAAE;UACd8D,YAAY,CAACG,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;UAC5CH,YAAY,CAACG,MAAM,CAAC,aAAa,EAAE,IAAI,CAACC,UAAU,CAAC;UACnDJ,YAAY,CAACG,MAAM,CAAC,YAAY,EAAE,IAAI,CAACjE,KAAK,CAAC;UAE7C,IAAI,IAAI,CAACmE,UAAU,EAAE;YAAA;YACnBL,YAAY,CAACG,MAAM,CAAC,aAAa,sBAAE,IAAI,CAACE,UAAU,+DAAI,EAAE,CAAC;UAC3D;QACF;QAEA,MAAMC,qBAAqB,GAAGhB,UAAU,GACnC,GAAEA,UAAW,EAAC,GACd,GAAEQ,IAAK,IAAGE,YAAY,CAACO,QAAQ,EAAG,EAAC;QACxC,IACE,IAAI,CAACjC,aAAa,CAChB,IAAIC,WAAW,CAACgB,mBAAmB,EAAE;UACnCf,OAAO,EAAE,IAAI;UACbE,UAAU,EAAE,IAAI;UAChBD,QAAQ,EAAE,IAAI;UACdE,MAAM,EAAE;YACNc,WAAW,EAAEa;UACf;QACF,CAAC,CAAC,CACH,EACD;UACA,IAAI,CAACE,SAAS,CAACF,qBAAqB,CAAC;QACvC;MACF;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA,aAKCzF,YAAY,CAAC,UAAU,CAAC;MAAA;MAAA,OAAzB,yBAE0BuC,KAAiB,EAAE;QAC3C,qBA5REtB,sBAAsB,iDA4RFsB,KAAK;MAC7B;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA,aAKCvC,YAAY,CAAC,6BAA6B,CAAC;MAAA;MAAA;QAAA,OACVuC,KAAkB,IAAK;UACvD,IAAI,IAAI,CAACqD,kBAAkB,EAAE;YAC3B,CAAC,IAAI,CAAC5B,aAAa,CAAC,GAAGzB,KAAK,CAACuB,MAAM;YACnC,IAAI,CAACG,cAAc,GAAG1B,KAAK,CAACuB,MAAM,CAAC+B,KAAK,CAAC,CAAC,CAAC;UAC7C;QACF,CAAC;MAAA;IAAA;MAAA;MAAA,aAOA7F,YAAY,CAAC,2BAA2B,CAAC;MAAA;MAAA;QAAA,OACVuC,KAAkB,IAAK;UAAA;UACrD,IAAI,CAAClB,KAAK,GAAGkB,KAAK,CAACuB,MAAM,CAACzC,KAAK;UAC/B,IAAIyE,WAAW;UACf,IAAI,CAACC,eAAe,CAACzF,OAAO,CAAE0F,KAAK,IAAK;YACtC,IAAIA,KAAK,CAAC3E,KAAK,KAAK,IAAI,CAACA,KAAK,EAAE;cAC9ByE,WAAW,GAAGE,KAAK;YACrB;UACF,CAAC,CAAC;UAEF,IAAI,CAACT,UAAU,GAAGU,KAAK,CAACC,OAAO,iBAACJ,WAAW,iDAAX,aAAapD,KAAK,CAAC,GAC9C,IAAGoD,WAAW,CAACpD,KAAK,CAClBgD,QAAQ,EAAE,CACVX,KAAK,CAAC,GAAG,CAAC,CACVzD,GAAG,CAAE6E,IAAI,IAAM,IAAGA,IAAI,CAACC,IAAI,EAAG,GAAE,CAAC,CACjCf,IAAI,CAAC,GAAG,CAAE,GAAE,GACfS,WAAW,CAACpD,KAAK;UACrB,IAAI,CAAC8C,UAAU,yBAAGM,WAAW,CAACO,KAAK,mEAAI,EAAE;QAC3C,CAAC;MAAA;IAAA;MAAA;MAAA;MAAA;MAvBD;AACF;AACA;AACA;AACA;MAqBE;AACF;AACA;MACE,sBAAqB9D,KAAiB,EAAE;QACtC,MAAM;UAAEX;QAAO,CAAC,GAAGW,KAAK;QACxB,MAAM;UAAEG;QAAM,CAAC,GAAGd,MAA0B;QAC5C,IAAI,CAACG,eAAe,CAAC,WAAW,CAAC;QAEjC,MAAMuE,KAAK,GAAG,IAAI,CAACvD,UAAU,CAAEwD,gBAAgB,CAC5C,IAAI,CAAC1D,WAAW,CAAuBC,YAAY,CACrD;QACDwD,KAAK,CAAChG,OAAO,CAAEkG,CAAC,IAAK;UACnB,IAAIA,CAAC,CAACvD,YAAY,CAAC,aAAa,CAAC,EAAE;YACjC,IAAI,CAACf,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;UACpC;QACF,CAAC,CAAC;QAEF,IAAI,CAACuB,aAAa,CAChB,IAAIC,WAAW,CACZ,IAAI,CAACb,WAAW,CAAmCU,UAAU,EAC9D;UACEI,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdC,UAAU,EAAE,KAAK;UACjBC,MAAM,EAAE;YACNpB;UACF;QACF,CAAC,CACF,CACF;QACD,IAAI,CAACA,KAAK,GAAGA,KAAK;QAElB,IAAI,CAAC,IAAI,CAACkD,kBAAkB,EAAE;UAC5B,IAAI,CAACxE,UAAU,CAACsB,KAAK,CAAC,CAAC+D,IAAI,CAAElF,GAAG,IAAK;YACnC,IAAI,CAACyC,aAAa,GAAGzC,GAAG;UAC1B,CAAC,CAAC;QACJ;QAEA,IAAImB,KAAK,EAAE;UAAA;UACT,IAAI,CAACgE,IAAI,GAAG,IAAI;UAChB,IAAI,IAAI,CAACvE,eAAe,EACtB,8BAAI,CAACF,gBAAgB,2DAArB,uBAAuBG,SAAS,CAACO,MAAM,CACpC,GAAE/B,MAAO,wBAAuB,CAClC;QACL;;QAEA;QACA,IACEC,cAAc,GAAG8F,QAAQ,CAACC,IAAI,CAACC,WAAW,IAC1C,IAAI,CAAChF,kBAAkB,IACvB,IAAI,CAACkE,eAAe,EACpB;UAAA;UACA,MAAMe,aAAa,GAAG,qBACpB,IAAI,CAAC/D,UAAU,qDAAf,iBAAiBgE,aAAa,CAC5B,4BAA4B,CAC7B,EACDC,WAAW;UACb,yBAAC,IAAI,CAACnF,kBAAkB,oFAAvB,sBAAyBoF,aAAa,2DAAvC,uBAAyD/E,YAAY,CACnE,OAAO,EACN,SAAQ4E,aAAc,0BAAyBA,aAAc,MAAK,CACpE;QACH,CAAC,MAAM;UAAA;UACL,0BAAC,IAAI,CAACjF,kBAAkB,qFAAvB,uBAAyBoF,aAAa,2DAAvC,uBAAyDlF,eAAe,CACtE,OAAO,CACR;QACH;MACF;;MAEA;AACF;AACA;AACA;AACA;AACA;IALE;MAAA;MAAA;MAAA,OAMA,uBAAsBQ,KAAY,EAAE;QAClC,MAAM;UAAEmC;QAAoB,CAAC,GAAG,IAAI,CACjC7B,WAA4C;QAC/C,MAAM;UAAEqE;QAAwB,CAAC,GAAG,IAAI,CAACrE,WAAgC;QACzE,MAAMsE,eAAe,GAAG,IAAI,CAACpE,UAAU,CAAEgE,aAAa,CACpDG,uBAAuB,CACN;QACnB,IAAIC,eAAe,IAAI,CAAC,IAAI,CAACrF,gBAAgB,CAACY,KAAK,EAAE;UACnDH,KAAK,CAAC6E,cAAc,EAAE;QACxB;QACA,IACE,CAAC,IAAI,CAAC3D,aAAa,CACjB,IAAIC,WAAW,CAACgB,mBAAmB,EAAE;UACnCf,OAAO,EAAE,IAAI;UACbE,UAAU,EAAE,IAAI;UAChBD,QAAQ,EAAE,IAAI;UACdE,MAAM,EAAE;YACNc,WAAW,EAAE,IAAI,CAACA;UACpB;QACF,CAAC,CAAC,CACH,EACD;UACArC,KAAK,CAAC6E,cAAc,EAAE;QACxB;MACF;IAAC;MAAA;MAAA;MAAA,OAED,wCAAyCxE,IAAqB,EAAE;QAC9D,IAAIA,IAAI,EAAE;UACR,IAAI,CAACd,gBAAgB,CAACY,KAAK,GAAIE,IAAI,CAAoByE,IAAI;UAC3D,IAAI,CAACjE,4BAA4B,CAAC;YAChCoB,WAAW,EAAG5B,IAAI,CAAoByE,IAAI;YAC1C5C,UAAU,EAAG7B,IAAI,CAAoB0E;UACvC,CAAC,CAAC;QACJ;MACF;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA,OAGA,8BAA+B/E,KAAoB,EAAE;QACnD,MAAM;UAAE8B;QAAI,CAAC,GAAG9B,KAAK;QACrB,MAAMgF,MAAM,GAAI,IAAI,CAAC1E,WAAW,CAAuBuB,SAAS,CAACC,GAAG,CAAC;QACrE,IAAI,CAAC,IAAI,CAACqC,IAAI,EAAE;UACd,QAAQa,MAAM;YACZ,KAAKxH,wBAAwB,CAACyH,UAAU;cACtC,IAAI,CAAC/E,0BAA0B,CAAC,IAAI,CAAC;cACrC;YACF;cACE;UAAM;QAEZ,CAAC,MAAM;UACL,QAAQ8E,MAAM;YACZ,KAAKxH,wBAAwB,CAACyH,UAAU;cACtC;gBACE,MAAM3E,WAAW,GAAG,IAAI,CAACA,WAAgC;gBACzD,MAAMsE,eAAe,GAAG,IAAI,CAACpE,UAAU,CAAEgE,aAAa,CACpDlE,WAAW,CAACqE,uBAAuB,CAClB;gBACnB,IAAIC,eAAe,EAAE;kBACnB,IAAI,CAACjE,8BAA8B,CAACiE,eAAe,CAAC;gBACtD,CAAC,MAAM;kBACL,IAAI,CAAC1E,0BAA0B,CAAC,KAAK,CAAC;gBACxC;cACF;cACA;YACF;cACE;UAAM;QAEZ;MACF;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA;MAAA,OAKA,mBAAkBb,MAAM,EAAE;QACxB,IAAI,CAAC6F,aAAa,CAAEC,WAAW,CAAEC,QAAQ,CAACC,MAAM,CAAChG,MAAM,CAAC;MAC1D;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA;MAAA,OAKA,mBAAoBiG,SAAiB,EAAE;QACrC,MAAMhF,WAAW,GAAG,IAAI,CAACA,WAA4C;QACrE,MAAMyD,KAAK,GAAG,IAAI,CAACvD,UAAU,CAAEwD,gBAAgB,CAAC1D,WAAW,CAACC,YAAY,CAAC;QACzE,MAAMqE,eAAe,GAAG,IAAI,CAACpE,UAAU,CAAEgE,aAAa,CACpDlE,WAAW,CAACqE,uBAAuB,CACpC;QACD,MAAMY,gBAAgB,GAAGvH,OAAO,CAAC+F,KAAK,EAAEa,eAAe,CAAE;QACzD,IAAIY,SAAS,GAAGD,gBAAgB,GAAGD,SAAS;QAE5C,IAAIvB,KAAK,CAACyB,SAAS,CAAC,IAAIzB,KAAK,CAACyB,SAAS,CAAC,CAAC9E,YAAY,CAAC,YAAY,CAAC,EAAE;UACnE8E,SAAS,IAAIF,SAAS;QACxB;QAEA,IAAIE,SAAS,GAAG,CAAC,EAAE;UACjBA,SAAS,GAAGzB,KAAK,CAAC0B,MAAM,GAAG,CAAC;QAC9B;QACA,IAAID,SAAS,IAAIzB,KAAK,CAAC0B,MAAM,EAAE;UAC7BD,SAAS,GAAG,CAAC;QACf;QACAzH,OAAO,CAACgG,KAAK,EAAE,CAAC1D,IAAI,EAAEqF,CAAC,KAAK;UACzBrF,IAAI,CAAoBsF,WAAW,GAAGD,CAAC,KAAKF,SAAS;QACxD,CAAC,CAAC;QAEF,IAAI,CAAC7F,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QAElC,MAAMiG,QAAQ,GAAG7B,KAAK,CAACyB,SAAS,CAAC;QACjC;QACA;QACA;QACAI,QAAQ,CAACC,cAAc,CAAC;UAAEC,KAAK,EAAE;QAAU,CAAC,CAAC;;QAE7C;QACA,MAAMC,YAAY,GAAGH,QAAQ,CAACd,IAAI;QAClC,IAAIiB,YAAY,EAAE;UAChB,IAAI,CAACC,oBAAoB,GAAGD,YAAY;QAC1C;QACA,IAAI,CAACE,aAAa,EAAE;MACtB;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA,OAGA,iCAAkC;QAChC,MAAM;UACJC,iBAAiB;UACjBC,WAAW;UACXC,YAAY,EAAEC,WAAW;UACzBC,eAAe,EAAEC;QACnB,CAAC,GAAG,IAAI;QACR,OAAOvJ,IAAI,cAAC;AAChB;AACA;AACA;AACA,iBAAe,CAAS;AACxB;AACA,uBAAqB,CAAoB;AACzC;AACA;AACA;AACA,sBAAoB,CAAyB;AAC7C,kBAAgB,CAAc;AAC9B,oBAAkB,CAAiB;AACnC,qBAAmB,CAAiB;AACpC;AACA,KAAI,GAXaqB,MAAM,EAEA6H,iBAAiB,EAIlBpJ,SAAS,CAACqJ,WAAW,CAAC,EAC1BE,WAAW,EACTE,cAAc,EACbA,cAAc;MAGjC;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAA;MAAA;MAAA,OAKA,0BAA2BvG,KAAiB,EAAE;QAC5C,MAAMK,IAAI,GAAIL,KAAK,CAACX,MAAM,CAAaY,OAAO,CAC3C,IAAI,CAACK,WAAW,CAAuBC,YAAY,CACnC;QACnB,IAAI,IAAI,CAACC,UAAU,CAAEC,QAAQ,CAACJ,IAAI,CAAC,EAAE;UACnC,IAAI,CAACM,8BAA8B,CAACN,IAAI,CAAC;QAC3C;MACF;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA,OAGA,uBAAsB;QACpB,MAAM;UACJO,MAAM;UACNwB,QAAQ;UACR+B,IAAI;UACJ9B,WAAW;UACX8D,WAAW;UACXH,oBAAoB,EAAEQ,mBAAmB;UACzCC,iBAAiB,EAAEC,gBAAgB;UACnCC,mBAAmB,EAAEC,kBAAkB;UACvCC,oBAAoB,EAAEC,mBAAmB;UACzCC,aAAa,EAAEC;QACjB,CAAC,GAAG,IAAI;QACR,IAAI,CAACpG,MAAM,EAAE;UACX,OAAOqG,SAAS;QAClB;QACA,MAAM,CAAC3E,OAAO,EAAEC,OAAO,CAAC,GAAGH,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC;QAC9C,MAAM0E,OAAO,GAAGnK,QAAQ,CAAC;UACvB,8BAA8B,EAAE,IAAI;UACpC,gDAAgD,EAAEoH;QACpD,CAAC,CAAC;QACF,OAAOnH,IAAI,gBAAC;AAChB,mCAAiC,CAAc,cAAW,CAAe;AACzE,kDAAgD,CAAU;AAC1D,gDAA8C,CAAU;AACxD;AACA,UAAQ,CAeO;AACf;AACA;AACA;AACA,mBAAiB,CAAU;AAC3B;AACA;AACA,2BAAyB,CAAuB;AAChD,wBAAsB,CAAyB;AAC/C,mBAAiB,CAAmB;AACpC,sBAAoB,CAAqB;AACzC,uBAAqB,CAAsB;AAC3C;AACA,YAAU,CAwBO;AACjB,YAAU,CAA+B;AACzC,YAAU,CAyCO;AACjB;AACA;AACA;AACA,iBAAe,CAAS;AACxB;AACA;AACA;AACA;AACA,UAAQ,CAAsB;AAC9B;AACA,KAAI,GA9G+BqF,WAAW,EAAc2E,YAAY,EACtB1E,OAAO,EACTC,OAAO,EAE7C,IAAI,CAACiB,eAAe,GAClBxG,IAAI,gBAAC;AACjB;AACA,8DAA4D,CAAa;AACzE;AACA;AACA;AACA,yBAAuB,CAAkB;AACzC;AACA;AACA;AACA;AACA,yBAAuB,CAAkB;AACzC;AACA,aAAY,GAXkD,IAAI,CAAC8B,KAAK,EAI/C,IAAI,CAACkE,UAAU,EAKf,IAAI,CAACC,UAAU,IAG5B,EAAE,EAIKiE,OAAO,EAGC/H,OAAO,CAAC,IAAI,CAACyB,MAAM,CAAC,EACvB9D,SAAS,CAACqJ,WAAW,CAAC,EAC3BO,gBAAgB,EACbE,kBAAkB,EACjBE,mBAAmB,EAE9B,IAAI,CAACtD,eAAe,GAClBxG,IAAI,gBAAC;AACnB,qDAAmD,CAAa;AAChE,oBAAkB,CAME;AACpB;AACA;AACA,4DAA0D,CAAa;AACvE,oBAAkB,CAQE;AACpB;AACA,eAAc,GArBuC,IAAI,CAAC8B,KAAK,EAC3C,IAAI,CAAC0E,eAAe,CAACzE,GAAG,CACvB0E,KAAK,IAAKzG,IAAI,gBAAC;AACpC,iDAA+C,CAAc;AAC7D,2BAAyB,CAAa;AACtC;AACA,qBAAoB,GAH6ByG,KAAK,CAAC3E,KAAK,EACjC2E,KAAK,CAAC0D,IAAI,CAEhB,CACF,EAGyC,IAAI,CAACrI,KAAK,EAClD,IAAI,CAAC0E,eAAe,CAACzE,GAAG,CACvB0E,KAAK,IAAKzG,IAAI,gBAAC;AACpC;AACA,iCAA+B,CAAa;AAC5C,iCAA+B,CAAc;AAC7C,2BAAyB,CAAa;AACtC;AACA,qBAAoB,GAJayG,KAAK,CAAC0D,IAAI,EACV1D,KAAK,CAAC3E,KAAK,EACjB2E,KAAK,CAAC0D,IAAI,CAEhB,CACF,IAGJ,EAAC,EACJ,IAAI,CAACC,qBAAqB,EAAE,EAC5B,CAAC,IAAI,CAACxH,eAAe,GACnB5C,IAAI,gBAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA2B,CAAY;AACvC;AACA,sBAAoB,CAQE;AACtB,sBAAoB,CAkBE;AACtB;AACA;AACA,eAAc,GAhCeoB,SAAS,EAEhB,IAAI,CAACqD,aAAa,IACpB,IAAI,CAACA,aAAa,CAAC1C,GAAG,CACnBsB,IAAI,IACHrD,IAAI,gBAAC;AAC7B;AACA,oCAAkC,CAAO;AACzC;AACA,yBAAwB,GAFYqD,IAAI,CAEf,CACJ,EACC,IAAI,CAACqB,cAAc,IACrB,IAAI,CAACA,cAAc,CAAC3C,GAAG,CACpBsI,KAAK,IACJrK,IAAI,gBAAC;AAC7B;AACA;AACA,oCAAkC,CAAc;AAChD;AACA,4BAA0B,CAQE;AAC5B,yBAAwB,GAXYqK,KAAK,CAACC,KAAK,EAEnBD,KAAK,CAACtD,KAAK,CAAChF,GAAG,CACdsB,IAAI,IACHrD,IAAI,kBAAC;AACnC;AACA,0CAAwC,CAAY;AACpD,0CAAwC,CAAY;AACpD;AACA,+BAA8B,GAHYqD,IAAI,CAAC8G,IAAI,EACT9G,IAAI,CAAC0E,IAAI,CAEpB,CACJ,CACF,CACJ,IAIN,EAAC,EAIC1G,MAAM,EAKbmI,mBAAmB;MAG3B;;MAEA;AACF;AACA;MACE;IAAA;MAAA;MAAA;MAAA,OACA,kCAAmC;QACjC,OAAO,IAAI;MACb;;MAEA;AACF;AACA;IAFE;MAAA;MAAA,aAGCvJ,QAAQ,CAAC;QAAEiC,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA;MAAA;QAAA,OAClC,KAAK;MAAA;IAAA;MAAA;MAAA,aAKbnC,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAqC,CAAC,CAAC;MAAA;MAAA;QAAA,OAC7B,OAAO;MAAA;IAAA;MAAA;MAAA,aAKvChC,QAAQ,EAAE;MAAA;MAAA;QAAA,OACA,OAAO;MAAA;IAAA;MAAA;MAAA,aAKjBA,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAoC,CAAC,CAAC;MAAA;MAAA;QAAA,OAC7B,uBAAuB;MAAA;IAAA;MAAA;MAAA,aAKtDhC,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAuC,CAAC,CAAC;MAAA;MAAA;QAAA,OAC7B,mBAAmB;MAAA;IAAA;MAAA;MAAA,aAKrDhC,QAAQ,EAAE;MAAA;MAAA;QAAA,OACS,mBAAmB;MAAA;IAAA;MAAA;MAAA,aAKtCA,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAe,CAAC,CAAC;MAAA;MAAA;QAAA,OAC1B,uCAAuC;MAAA;IAAA;MAAA;MAAA,aAKpDhC,QAAQ,CAAC;QAAEgC,SAAS,EAAE;MAAe,CAAC,CAAC;MAAA;MAAA;QAAA,OAC1B,kBAAkB;MAAA;IAAA;MAAA;MAAA,aAK/BhC,QAAQ,CAAC;QAAEmC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA;MAAA;QAAA,OACrB,QAAQ;MAAA;IAAA;MAAA;MAAA,aAKdnC,QAAQ,CAAC;QAAEiC,IAAI,EAAEC,OAAO;QAAEF,SAAS,EAAE;MAAsB,CAAC,CAAC;MAAA;MAAA;QAAA,OAC3C,KAAK;MAAA;IAAA;MAAA;MAAA;MAAA;MApDxB;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MACE,6BAAwB;QAAA;QACtB,2DAAO,IAAI,CAACM,gBAAgB,2DAArB,uBAAuBY,KAAK,2EAAI,EAAE;MAC3C;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA,OAGA,2BAA0B;QACxB,MAAM;UAAEZ,gBAAgB,EAAEwB;QAAgB,CAAC,GAAG,IAAI;QAClD,MAAMwG,SAAS,GAAG,IAAI1E,eAAe,CACnC,IAAI,CAACqC,aAAa,CAAEC,WAAW,CAAEC,QAAQ,CAACoC,MAAM,CACjD;QACD,MAAMC,WAAgB,GAAG,IAAI,CAACC,gBAAgB,GAAGH,SAAS,CAACI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;QACxE,IAAIF,WAAW,EAAE;UACf1G,eAAe,CAACZ,KAAK,GAAGsH,WAAW;QACrC;MACF;IAAC;MAAA;MAAA;MAAA,OAED,wBAAe;QACb,IAAI,CAACG,eAAe,EAAE;QACtB,IAAI,IAAI,CAAChI,eAAe,EAAE;UACxB,IAAI,CAACD,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC;UAC3C,IAAI,CAACA,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjC;QAEA,IAAI,CAAC,IAAI,CAACb,KAAK,IAAI,IAAI,CAAC0E,eAAe,EAAE;UACvC,IAAI,CAAC1E,KAAK,GAAG,KAAK;UAClB,IAAI,CAACuD,WAAW,GAAG,mCAAmC;QACxD;MACF;IAAC;MAAA;MAAA;MAAA,OAED,iBAAQwF,iBAAiB,EAAE;QACzB,IAAIA,iBAAiB,CAACC,GAAG,CAAC,eAAe,CAAC,EAAE;UAAA;UAC1C,MAAMC,aAAa,wBAAG,IAAI,CAACvH,UAAU,sDAAf,kBAAiBwD,gBAAgB,CACrD,4CAA4C,CAC7C;UACD+D,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEhK,OAAO,CAAEkG,CAAC,IAAK;YAAA;YAC5B,yBAAAA,CAAC,CAAC+D,sBAAsB,0DAAxB,sBAA0BrI,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC;UAC/D,CAAC,CAAC;QACJ;QAEA,IAAIkI,iBAAiB,CAACC,GAAG,CAAC,OAAO,CAAC,EAAE;UAAA;UAClC,IACExJ,cAAc,GAAG8F,QAAQ,CAACC,IAAI,CAACC,WAAW,IAC1C,IAAI,CAAChF,kBAAkB,IACvB,IAAI,CAACkE,eAAe,EACpB;YAAA;YACA,MAAMe,aAAa,GAAG,sBACpB,IAAI,CAAC/D,UAAU,sDAAf,kBAAiBgE,aAAa,CAC5B,4BAA4B,CAC7B,EACDC,WAAW;YACb,0BAAC,IAAI,CAACnF,kBAAkB,qFAAvB,uBAAyBoF,aAAa,2DAAvC,uBAAyD/E,YAAY,CACnE,OAAO,EACN,SAAQ4E,aAAc,0BAAyBA,aAAc,MAAK,CACpE;UACH,CAAC,MAAM;YAAA;YACL,0BACE,IAAI,CAACjF,kBAAkB,qFAAvB,uBAAyBoF,aAAa,2DADxC,uBAEGlF,eAAe,CAAC,OAAO,CAAC;UAC7B;UAEA,IAAI,CAAC,IAAI,CAAC6D,kBAAkB,EAAE;YAC5B,IAAI,CAACxE,UAAU,CAAC,IAAI,CAACsB,KAAK,CAAC,CAAC+D,IAAI,CAAElF,GAAG,IAAK;cACxC,IAAI,CAACyC,aAAa,GAAGzC,GAAG;YAC1B,CAAC,CAAC;UACJ;UAEA,MAAMiJ,cAAc,GAAG,IAAI,CAACC,oBAAoB,CAAC;YAC/CpJ,KAAK,2BAAE,IAAI,CAAC0E,eAAe,CAAC2E,MAAM,CAC/BlE,CAAC,IAAKA,CAAC,CAAC9D,KAAK,KAAM,GAAE,IAAI,CAACrB,KAAM,EAAC,CACnC,CAAC,CAAC,CAAC,0DAFG,sBAEDqI;UACR,CAAC,CAAC;UACF,IAAI,CAACxH,YAAY,CAAC,aAAa,EAAEsI,cAAc,CAAC;UAChD,IAAI,CAACG,gCAAgC,GAAGH,cAAc;QACxD;MACF;IAAC;MAAA;MAAA;MAAA,OAED,kBAAS;QACP,MAAM;UACJrH,MAAM;UACNyH,8BAA8B;UAC9BC,6BAA6B;UAC7BF,gCAAgC;UAChCG,uBAAuB,EAAEC,sBAAsB;UAC/CC,wBAAwB,EAAEC,uBAAuB;UACjDC,gBAAgB,EAAEC;QACpB,CAAC,GAAG,IAAI;QACR,MAAMC,yBAAyB,GAAG,CAACjI,MAAM,GACrC0H,6BAA6B,GAC7BF,gCAAgC;QACpC,OAAOpL,IAAI,kBAAC;AAChB,QAAM,CAiEM;AACZ,KAAI,GAlEI,CAAC,IAAI,CAAC4C,eAAe,GACnB5C,IAAI,kBAAC;AACf,cAAY,CAAqB;AACjC,0BAAwB,CAAS;AACjC;AACA;AACA;AACA,yBAAuB,CAAS,oBAAiB,CAAS;AAC1D,8BAA4B,CAA4B;AACxD,0BAAwB,CAA0B;AAClD;AACA,kBAAgB,CAAa;AAC7B;AACA;AACA;AACA;AACA,yBAAuB,CAAS,oBAAiB,CAAS;AAC1D,8BAA4B,CAAiC;AAC7D,0BAAwB,CAAyB;AACjD;AACA,kBAAgB,CAAY;AAC5B;AACA;AACA,WAAU,GArBI,IAAI,CAAC8L,WAAW,EAAE,EACNzK,MAAM,EAIPA,MAAM,EAAoBA,MAAM,EAC3BwK,yBAAyB,EAC7BH,uBAAuB,EAE/BpL,QAAQ,EAAE,EAKHe,MAAM,EAAoBA,MAAM,EAC3BgK,8BAA8B,EAClCG,sBAAsB,EAE9BnL,OAAO,EAAE,IAIjBL,IAAI,kBAAC;AACf,0BAAwB,CAAS;AACjC,gBAAc,CAIG;AACjB,gBAAc,CAAqB;AACnC;AACA;AACA;AACA,yBAAuB,CAAS,oBAAiB,CAAS,2BAAwB,CAG3D;AACvB,8BAA4B,CAAiC;AAC7D,0BAAwB,CAAyB;AACjD;AACA,kBAAgB,CAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAuB,CAAY;AACnC;AACA,kBAAgB,CASE;AAClB;AACA;AACA,WAAU,GAxCgBqB,MAAM,EAChBf,QAAQ,CAAC;UACTyL,IAAI,EAAE,aAAa;UACnBC,KAAK,EAAG,GAAE3K,MAAO,yBAAwB;UACzC4K,IAAI,EAAE;QACR,CAAC,CAAC,EACA,IAAI,CAACH,WAAW,EAAE,EAITzK,MAAM,EAAoBA,MAAM,EAA2B,IAAI,CACrE8B,KAAK,CAACsF,MAAM,KAAK,CAAC,GAChB,GAAEpH,MAAO,wBAAuB,GACjC,EAAE,EACQgK,8BAA8B,EAClCG,sBAAsB,EAE9BnL,OAAO,EAAE,EASFe,SAAS,EAEhB,IAAI,CAACqD,aAAa,IACpB,IAAI,CAACA,aAAa,CAAC1C,GAAG,CACnBsB,IAAI,IACHrD,IAAI,kBAAC;AACzB;AACA,gCAA8B,CAAO;AACrC,iCAA+B,CAAkB;AACjD;AACA,qBAAoB,GAHYqD,IAAI,EACHuI,eAAe,CAE3B,CACJ,CAGN;MAET;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,mCAAqC;QACnC,OAAQ,GAAExK,SAAU,0CAAyC;MAC/D;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,wBAA0B;QACxB,OAAQ,GAAEA,SAAU,6BAA4B;MAClD;;MAEA;AACF;AACA;AACA;IAHE;MAAA;MAAA;MAAA;MAAA,OAIA,+BAAiC;QAC/B,OAAQ,GAAEA,SAAU,wCAAuC;MAC7D;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,sBAAwB;QACtB,OAAQ,GAAEA,SAAU,8BAA6B;MACnD;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,4BAA8B;QAC5B,OAAQ,GAAEC,MAAO,kBAAiB;MACpC;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,8BAAgC;QAC9B,OAAQ,GAAED,SAAU,+BAA8B;MACpD;;MAEA;AACF;AACA;IAFE;MAAA;MAAA;MAAA;MAAA,OAGA,uBAAyB;QACvB,OAAQ,GAAEA,SAAU,gCAA+B;MACrD;IAAC;MAAA;MAAA;MAAA;MAAA,OAED,0BAA4B;QAC1B,OAAQ,GAAEA,SAAU,yBAAwB;MAC9C;IAAC;MAAA;MAAA;MAAA;MAAA;QAAA,OAEeH,MAAM;MAAA;IAAA;EAAA;AAAA,GA79BaP,iBAAiB,CACpDQ,mBAAmB,CAACX,UAAU,CAAC,CAChC,GA89BD;AACA,eAAemB,sBAAsB"}
1
+ {"version":3,"file":"search-with-typeahead.js","names":["ifNonNull","classMap","html","property","query","customElement","settings","Close20","Search20","BXDropdown","DROPDOWN_KEYBOARD_ACTION","HostListener","HostListenerMixin","baseFontSize","breakpoints","ddsSettings","SearchTypeaheadAPI","forEach","indexOf","styles","StableSelectorMixin","stablePrefix","ddsPrefix","prefix","gridBreakpoint","parseFloat","lg","width","DDSSearchWithTypeahead","searchQuery","response","getResults","appId","map","res","attribute","type","Boolean","reflect","target","_searchSuggestions","_searchInputNode","removeAttribute","_searchButtonNode","_closeButtonNode","setAttribute","leadspaceSearch","classList","add","_handleUserInitiatedToggleActiveState","event","closest","_handleUserInitiatedToggle","value","remove","item","constructor","selectorItem","shadowRoot","contains","hasAttribute","_handleUserInitiatedSelectItem","active","_handleUserInitiatedRedirect","moveFocus","searchInputNode","eventInput","eventToggle","dispatchEvent","CustomEvent","bubbles","composed","cancelable","detail","shouldRemainOpen","searchResults","groupedResults","updateComplete","focus","getAction","key","NONE","stopPropagation","targetQuery","targetHref","eventBeforeRedirect","language","redirectUrl","primary","country","split","tokens","base","shift","searchParams","URLSearchParams","join","append","scopeValue","scopeLabel","redirectUrlWithSearch","toString","_redirect","customTypeaheadAPI","slice","targetScope","scopeParameters","scope","Array","isArray","word","trim","label","items","querySelectorAll","e","then","open","document","body","clientWidth","scopeBarWidth","querySelector","offsetWidth","parentElement","selectorItemHighlighted","highlightedItem","preventDefault","text","href","action","TRIGGERING","ownerDocument","defaultView","location","assign","direction","highlightedIndex","nextIndex","length","i","highlighted","nextItem","scrollIntoView","block","nextItemText","_assistiveStatusText","requestUpdate","searchPlaceholder","searchLabel","_handleInput","handleInput","_handleKeyInput","handleKeyInput","assistiveStatusText","_handleClickInner","handleClickInner","_handleKeydownInner","handleKeydownInner","_handleKeypressInner","handleKeypressInner","_handleSubmit","handleSubmit","undefined","classes","name","_renderTriggerContent","group","title","URLParams","search","searchParam","searchOpenOnload","get","_setSearchParam","changedProperties","has","titleElements","previousElementSibling","newPlaceholder","placeholderFormatter","filter","performSearchButtonAssistiveText","closeSearchButtonAssistiveText","openSearchButtonAssistiveText","_handleClickCloseButton","handleClickCloseButton","_handleClickSearchButton","handleClickSearchButton","_handleClickItem","handleClickItem","searchButtonAssistiveText","_renderForm","part","class","role"],"sources":["components/search-with-typeahead/search-with-typeahead.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ifNonNull from '@carbon/web-components/es/globals/directives/if-non-null.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { html, property, query, customElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings.js';\nimport Close20 from '@carbon/web-components/es/icons/close/20.js';\nimport Search20 from '@carbon/web-components/es/icons/search/20.js';\nimport BXDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n} from '@carbon/web-components/es/components/dropdown/dropdown.js';\nimport BXDropdownItem from '@carbon/web-components/es/components/dropdown/dropdown-item.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport { baseFontSize, breakpoints } from '@carbon/layout';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport SearchTypeaheadAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/SearchTypeahead/SearchTypeahead';\nimport { forEach, indexOf } from '../../globals/internal/collection-helpers';\nimport styles from './search-with-typeahead.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport './search-with-typeahead-item';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\nconst { prefix } = settings;\nconst gridBreakpoint = parseFloat(breakpoints.lg.width) * baseFontSize;\n\n/**\n * Search with Typeahead\n *\n * @element dds-search-with-typeahead\n * @csspart open-button The button to show the search box.\n * @csspart close-button The button to hide the search box.\n * @csspart search-input The input box for search.\n * @fires dds-search-with-typeahead-beingredirected\n * The custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n * @fires dds-search-with-typeahead-input\n * The name of the custom event fired after the search content is changed upon a user gesture.\n * @fires dds-search-with-typeahead-toggled\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n@customElement(`${ddsPrefix}-search-with-typeahead`)\nclass DDSSearchWithTypeahead extends HostListenerMixin(\n StableSelectorMixin(BXDropdown)\n) {\n // eslint-disable-next-line class-methods-use-this\n async getResults(searchQuery) {\n const response = await SearchTypeaheadAPI.getResults(\n searchQuery,\n this.appId\n );\n return response.map((res) => res[0]);\n }\n\n /**\n * The formatter for the placeholder text on the search box.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n placeholderFormatter = ({ appId }) => `Search in ${appId}`;\n\n @property({ attribute: 'leadspace-search', type: Boolean })\n leadspaceSearch = false;\n\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n @property()\n currentSearchResults;\n\n @property()\n searchResults;\n\n @property()\n groupedResults;\n\n @property({ attribute: 'scope-parameters' })\n scopeParameters;\n\n @property({ attribute: 'should-remain-open', type: Boolean })\n shouldRemainOpen = false;\n\n @property({ attribute: 'appid', reflect: true })\n appId;\n\n @property({ attribute: 'scope-label', reflect: true })\n scopeLabel;\n\n @property({ attribute: 'scope-value', reflect: true })\n scopeValue;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--search`)\n private _searchButtonNode!: HTMLButtonElement;\n\n /**\n * The `<button>` to open the search box.\n */\n @query(`.${prefix}--header__search--close`)\n private _closeButtonNode!: HTMLButtonElement;\n\n /**\n * The `<input>` of the search box.\n */\n @query(`.${prefix}--header__search--input`)\n private _searchInputNode!: HTMLInputElement;\n\n /**\n * The `<ul>` containing the search suggestions.\n */\n @query(`.react-autosuggest__suggestions-list`)\n private _searchSuggestions!: HTMLElement;\n\n /**\n * Handles hiding search suggestions if focusing on other buttons.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:focusin')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocus = async ({ target }: FocusEvent) => {\n if (!this._searchSuggestions) return;\n\n if (target === this._searchInputNode) {\n this._searchSuggestions.removeAttribute('hidden');\n } else if (target === (this._searchButtonNode || this._closeButtonNode)) {\n this._searchSuggestions.setAttribute('hidden', '');\n }\n\n if (target === this._closeButtonNode) {\n this.setAttribute('unfocused', '');\n } else {\n this.removeAttribute('unfocused');\n }\n };\n\n /**\n * Handles `click` event on the close button.\n */\n private async _handleClickCloseButton() {\n if (this.leadspaceSearch) {\n this._closeButtonNode?.classList.add(`${prefix}--header__search--hide`);\n }\n this._handleUserInitiatedToggleActiveState(false);\n }\n\n /**\n * Handles `click` event on the top-level element in the shadow DOM.\n *\n * @param event The event.\n */\n protected _handleClickInner(event: MouseEvent) {\n if (\n (event.target as HTMLElement).closest('.bx--header__search--input') ===\n event.target\n ) {\n this._handleUserInitiatedToggle();\n if (this._searchInputNode.value && this.leadspaceSearch) {\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n } else {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item) && !item.hasAttribute('groupTitle')) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n }\n\n /**\n * Handles `click` event on the search button.\n */\n private async _handleClickSearchButton() {\n const { active } = this;\n\n if (active) {\n if (this._searchInputNode.value) {\n this._handleUserInitiatedRedirect();\n }\n } else {\n this._handleUserInitiatedToggleActiveState(true);\n }\n }\n\n /**\n * Handles user-initiated toggling of activated state of the search box.\n *\n * @param active `true` to activate the search box.\n * @param moveFocus\n * `true` to move focus upon toggling, to the input box when activated, to the trigger button when deactivated.\n */\n private async _handleUserInitiatedToggleActiveState(\n active,\n moveFocus = true\n ) {\n if (active === this.active) {\n return;\n }\n const { _searchInputNode: searchInputNode } = this;\n const { eventInput, eventToggle } = this\n .constructor as typeof DDSSearchWithTypeahead;\n if (!active && searchInputNode.value) {\n searchInputNode.value = '';\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: '',\n },\n })\n );\n }\n this.active = this.shouldRemainOpen ? true : !this.active;\n this.searchResults = [];\n this.groupedResults = [];\n\n this.dispatchEvent(\n new CustomEvent(eventToggle, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n })\n );\n await this.updateComplete;\n if (moveFocus) {\n // Does not reuse destructed `searchInputNode` given it's `null` before expanded\n (this.active ? this._searchInputNode : this._searchButtonNode).focus();\n }\n }\n\n /**\n * Prevents key types in the `<input>` causing other keyboard shortcuts in application UI.\n *\n * @param event The event.\n */\n private _handleKeyInput(event: KeyboardEvent) {\n if (\n (this.constructor as typeof DDSSearchWithTypeahead).getAction(\n event.key\n ) === DROPDOWN_KEYBOARD_ACTION.NONE\n ) {\n event.stopPropagation();\n }\n }\n\n /**\n * Handles user-initiated redirect to the search query page.\n *\n * @param [options] The options.\n * @param [options.targetQuery] The query string the search query page should be of.\n * @param [options.targetHref] The href string to be redirected to.\n */\n private _handleUserInitiatedRedirect({\n targetQuery,\n targetHref,\n }: { targetQuery?: string; targetHref?: string } = {}) {\n const { eventBeforeRedirect, eventInput } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { language, redirectUrl } = this;\n const [primary, country] = language.split('-');\n const tokens = redirectUrl.split('?');\n const base = tokens.shift();\n const searchParams = new URLSearchParams(tokens.join('?'));\n // Setting `this._searchInputNode?.value` as the default value of `targetQuery` seems to cause a Babel bug\n searchParams.append('q', targetQuery ?? this._searchInputNode?.value);\n searchParams.append('lang', primary);\n searchParams.append('cc', country);\n\n this.dispatchEvent(\n new CustomEvent(eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: targetQuery,\n },\n })\n );\n\n if (this.appId) {\n searchParams.append('scope-domain', 'scope');\n searchParams.append('scope-value', this.scopeValue);\n searchParams.append('scope-type', this.appId);\n\n if (this.scopeLabel) {\n searchParams.append('scope-label', this.scopeLabel ?? '');\n }\n }\n\n const redirectUrlWithSearch = targetHref\n ? `${targetHref}`\n : `${base}?${searchParams.toString()}`;\n if (\n this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: redirectUrlWithSearch,\n },\n })\n )\n ) {\n this._redirect(redirectUrlWithSearch);\n }\n }\n\n /**\n * Handles component reset if focusing outside.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n super._handleFocusOut(event);\n }\n\n /**\n * Handles search results when using a custom API.\n *\n * @param event The event.\n */\n @HostListener('document:eventCustomResults')\n protected _handleCustomResults = (event: CustomEvent) => {\n if (this.customTypeaheadAPI) {\n [this.searchResults] = event.detail;\n this.groupedResults = event.detail.slice(1);\n }\n };\n\n /**\n * Queries scoped search suggestions.\n *\n * @param event The event.\n */\n @HostListener('document:eventSelectScope')\n protected _handleScopeSelect = (event: CustomEvent) => {\n this.appId = event.detail.appId;\n let targetScope;\n this.scopeParameters.forEach((scope) => {\n if (scope.appId === this.appId) {\n targetScope = scope;\n }\n });\n\n this.scopeValue = Array.isArray(targetScope?.value)\n ? `[${targetScope.value\n .toString()\n .split(',')\n .map((word) => `\"${word.trim()}\"`)\n .join(',')}]`\n : targetScope.value;\n this.scopeLabel = targetScope.label ?? '';\n };\n\n /**\n * Handles `input` event in the search input.\n */\n private _handleInput(event: InputEvent) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.removeAttribute('unfocused');\n\n const items = this.shadowRoot!.querySelectorAll(\n (this.constructor as typeof BXDropdown).selectorItem\n );\n items.forEach((e) => {\n if (e.hasAttribute('highlighted')) {\n this.setAttribute('unfocused', '');\n }\n });\n\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof DDSSearchWithTypeahead).eventInput,\n {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n\n if (!this.customTypeaheadAPI) {\n this.getResults(value).then((res) => {\n this.searchResults = res;\n });\n }\n\n if (value) {\n this.open = true;\n if (this.leadspaceSearch)\n this._closeButtonNode?.classList.remove(\n `${prefix}--header__search--hide`\n );\n }\n\n // accomodate search results box's width with the scope dropdown\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (this._searchSuggestions?.parentElement as HTMLElement)?.removeAttribute(\n 'style'\n );\n }\n }\n\n /**\n * Prevents form submission if there is a highlighted item.\n * In such case, `._handleUserInitiatedRedirect()` should have navigated the user to the search result page.\n *\n * @param event The event.\n */\n private _handleSubmit(event: Event) {\n const { eventBeforeRedirect } = this\n .constructor as typeof DDSSearchWithTypeahead;\n const { selectorItemHighlighted } = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem || !this._searchInputNode.value) {\n event.preventDefault();\n }\n if (\n !this.dispatchEvent(\n new CustomEvent(eventBeforeRedirect, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n redirectUrl: this.redirectUrl,\n },\n })\n )\n ) {\n event.preventDefault();\n }\n }\n\n protected _handleUserInitiatedSelectItem(item?: BXDropdownItem) {\n if (item) {\n this._searchInputNode.value = (item as unknown as any).text;\n this._handleUserInitiatedRedirect({\n targetQuery: (item as unknown as any).text,\n targetHref: (item as unknown as any).href,\n });\n }\n }\n\n /**\n * Handler for the `keypress` event on the top-level element in the shadow DOM.\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof BXDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n {\n const constructor = this.constructor as typeof BXDropdown;\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n ) as BXDropdownItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n /**\n * Redirects the page to the given target.\n *\n * @param target The target URL.\n */\n private _redirect(target) {\n this.ownerDocument!.defaultView!.location.assign(target);\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n const constructor = this.constructor as typeof DDSSearchWithTypeahead;\n const items = this.shadowRoot!.querySelectorAll(constructor.selectorItem);\n const highlightedItem = this.shadowRoot!.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n let nextIndex = highlightedIndex + direction;\n\n if (items[nextIndex] && items[nextIndex].hasAttribute('groupTitle')) {\n nextIndex += direction;\n }\n\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as BXDropdownItem).highlighted = i === nextIndex;\n });\n\n this.setAttribute('unfocused', '');\n\n const nextItem = items[nextIndex];\n // Using `{ block: 'nearest' }` to prevent scrolling unless scrolling is absolutely necessary.\n // `scrollIntoViewOptions` seems to work in latest Safari despite of MDN/caniuse table.\n // IE falls back to the old behavior.\n nextItem.scrollIntoView({ block: 'nearest' });\n\n // @ts-ignore: TS does not believe nextItem has a text object\n const nextItemText = nextItem.text;\n if (nextItemText) {\n this._assistiveStatusText = nextItemText;\n }\n this.requestUpdate();\n }\n\n /**\n * @returns The main content of the trigger button.\n */\n protected _renderTriggerContent() {\n const {\n searchPlaceholder,\n searchLabel,\n _handleInput: handleInput,\n _handleKeyInput: handleKeyInput,\n } = this;\n return html`\n <input\n type=\"text\"\n part=\"search-input\"\n class=\"${prefix}--header__search--input\"\n name=\"q\"\n placeholder=\"${searchPlaceholder}\"\n autocomplete=\"off\"\n aria-controls=\"result-list\"\n aria-autocomplete=\"list\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @input=\"${handleInput}\"\n @keydown=\"${handleKeyInput}\"\n @keypress=\"${handleKeyInput}\"\n />\n `;\n }\n\n /**\n * Handles `click` event to redirect based on selected item.\n *\n * @param event The event.\n */\n protected _handleClickItem(event: MouseEvent) {\n const item = (event.target as Element).closest(\n (this.constructor as typeof BXDropdown).selectorItem\n ) as BXDropdownItem;\n if (this.shadowRoot!.contains(item)) {\n this._handleUserInitiatedSelectItem(item);\n }\n }\n\n /**\n * @returns The content of the search box.\n */\n private _renderForm() {\n const {\n active,\n language,\n open,\n redirectUrl,\n searchLabel,\n _assistiveStatusText: assistiveStatusText,\n _handleClickInner: handleClickInner,\n _handleKeydownInner: handleKeydownInner,\n _handleKeypressInner: handleKeypressInner,\n _handleSubmit: handleSubmit,\n } = this;\n if (!active) {\n return undefined;\n }\n const [primary, country] = language.split('-');\n const classes = classMap({\n 'react-autosuggest__container': true,\n 'react-autosuggest__suggestions-container--open': open,\n });\n return html`\n <form method=\"get\" action=\"${redirectUrl}\" @submit=\"${handleSubmit}\">\n <input type=\"hidden\" name=\"lang\" value=\"${primary}\" />\n <input type=\"hidden\" name=\"cc\" value=\"${country}\" />\n <input type=\"hidden\" name=\"lnk\" value=\"mhsrch\" />\n ${this.scopeParameters\n ? html`\n <input type=\"hidden\" name=\"scope-domain\" value=\"scope\" />\n <input type=\"hidden\" name=\"scope-type\" value=\"${this.appId}\" />\n <input\n type=\"hidden\"\n name=\"scope-value\"\n value=\"${this.scopeValue}\"\n />\n <input\n type=\"hidden\"\n name=\"scope-label\"\n value=\"${this.scopeLabel}\"\n />\n `\n : ''}\n\n <div\n role=\"combobox\"\n class=\"${classes}\"\n aria-haspopup=\"listbox\"\n aria-owns=\"result-list\"\n aria-expanded=\"${Boolean(this.active)}\"\n aria-label=\"${ifNonNull(searchLabel)}\"\n @click=${handleClickInner}\n @keydown=\"${handleKeydownInner}\"\n @keypress=\"${handleKeypressInner}\"\n >\n ${this.scopeParameters\n ? html`\n <dds-scoped-search-dropdown value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-dropdown-item value=\"${scope.appId}\"\n >${scope.name}</bx-dropdown-item\n >\n `\n )}\n </dds-scoped-search-dropdown>\n\n <dds-scoped-search-dropdown-mobile value=\"${this.appId}\">\n ${this.scopeParameters.map(\n (scope) => html`\n <bx-select-item\n label=\"${scope.name}\"\n value=\"${scope.appId}\"\n >${scope.name}</bx-select-item\n >\n `\n )}\n </dds-scoped-search-dropdown-mobile>\n `\n : ``}\n ${this._renderTriggerContent()}\n ${!this.leadspaceSearch\n ? html`\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n ${this.groupedResults &&\n this.groupedResults.map(\n (group) =>\n html`\n <dds-search-with-typeahead-item\n groupTitle\n text=\"${group.title}\"\n ></dds-search-with-typeahead-item>\n ${group.items.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item.name}\"\n href=\"${item.href}\"\n ></dds-search-with-typeahead-item>\n `\n )}\n `\n )}\n </ul>\n </div>\n `\n : ``}\n </div>\n </form>\n <div\n class=\"${prefix}--assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${assistiveStatusText}\n </div>\n `;\n }\n\n /**\n * @returns `true` if the selection of this dropdown should change if the given item is selected upon user interaction.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectionShouldChange() {\n return true;\n }\n\n /**\n * `true` if this the search box should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The assistive text for the button to close the search box.\n */\n @property({ attribute: 'close-search-button-assistive-text' })\n closeSearchButtonAssistiveText = 'Close';\n\n /**\n * The language embedded in the inner form.\n */\n @property()\n language = 'en-US';\n\n /**\n * The assistive text for the button to open the search box.\n */\n @property({ attribute: 'open-search-button-assistive-text' })\n openSearchButtonAssistiveText = 'Open IBM search field';\n\n /**\n * The assistive text for the button to perform search.\n */\n @property({ attribute: 'perform-search-button-assistive-text' })\n performSearchButtonAssistiveText = 'Search all of IBM';\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder = 'Search all of IBM';\n\n /**\n * The redirect URL when a user selects a search suggestion.\n */\n @property({ attribute: 'redirect-url' })\n redirectUrl = 'https://www.ibm.com/search?lnk=mhsrch';\n\n /**\n * The `aria-label` attribute for the search input.\n */\n @property({ attribute: 'search-label' })\n searchLabel = 'IBM search field';\n\n /**\n * The shadow slot this search UI should be in.\n */\n @property({ reflect: true })\n slot = 'search';\n\n /**\n * `true` to activate the search box on page load.\n */\n @property({ type: Boolean, attribute: 'search-open-on-load' })\n searchOpenOnload = false;\n\n /**\n * The input value.\n */\n get searchQueryString() {\n return this._searchInputNode?.value ?? '';\n }\n\n /**\n * Returns query param `q` for search input if exists. Only available when searchOpenOnload is `true`\n */\n private _setSearchParam() {\n const { _searchInputNode: searchInputNode } = this;\n const URLParams = new URLSearchParams(\n this.ownerDocument!.defaultView!.location.search\n );\n const searchParam: any = this.searchOpenOnload ? URLParams.get('q') : '';\n if (searchParam) {\n searchInputNode.value = searchParam;\n }\n }\n\n firstUpdated() {\n this._setSearchParam();\n if (this.leadspaceSearch) {\n this.setAttribute('should-remain-open', '');\n this.setAttribute('active', '');\n }\n\n if (!this.appId && this.scopeParameters) {\n this.appId = 'all';\n this.redirectUrl = 'https://www.ibm.com/search/scoped';\n }\n }\n\n updated(changedProperties) {\n if (changedProperties.has('searchResults')) {\n const titleElements = this.shadowRoot?.querySelectorAll(\n 'dds-search-with-typeahead-item[groupTitle]'\n );\n titleElements?.forEach((e) => {\n e.previousElementSibling?.setAttribute('lastBeforeGroup', '');\n });\n }\n\n if (changedProperties.has('appId')) {\n if (\n gridBreakpoint < document.body.clientWidth &&\n this._searchSuggestions &&\n this.scopeParameters\n ) {\n const scopeBarWidth = (\n this.shadowRoot?.querySelector(\n 'dds-scoped-search-dropdown'\n ) as HTMLElement\n ).offsetWidth;\n (this._searchSuggestions?.parentElement as HTMLElement)?.setAttribute(\n 'style',\n `left: ${scopeBarWidth}px; width: calc(100% - ${scopeBarWidth}px);`\n );\n } else {\n (\n this._searchSuggestions?.parentElement as HTMLElement\n )?.removeAttribute('style');\n }\n\n if (!this.customTypeaheadAPI) {\n this.getResults(this.value).then((res) => {\n this.searchResults = res;\n });\n }\n\n const newPlaceholder = this.placeholderFormatter({\n appId: this.scopeParameters.filter(\n (e) => e.value === `${this.appId}`\n )[0]?.name,\n });\n this.setAttribute('placeholder', newPlaceholder);\n this.performSearchButtonAssistiveText = newPlaceholder;\n }\n }\n\n render() {\n const {\n active,\n closeSearchButtonAssistiveText,\n openSearchButtonAssistiveText,\n performSearchButtonAssistiveText,\n _handleClickCloseButton: handleClickCloseButton,\n _handleClickSearchButton: handleClickSearchButton,\n _handleClickItem: handleClickItem,\n } = this;\n const searchButtonAssistiveText = !active\n ? openSearchButtonAssistiveText\n : performSearchButtonAssistiveText;\n return html`\n ${!this.leadspaceSearch\n ? html`\n ${this._renderForm()}\n <div class=\"${prefix}--header__search--actions\">\n <button\n type=\"button\"\n part=\"open-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--search\"\n aria-label=\"${searchButtonAssistiveText}\"\n @click=\"${handleClickSearchButton}\"\n >\n ${Search20()}\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n `\n : html`\n <div class=\"${prefix}--header__search--actions\">\n ${Search20({\n part: 'search-icon',\n class: `${prefix}--search-magnifier-icon`,\n role: 'img',\n })}\n ${this._renderForm()}\n <button\n type=\"button\"\n part=\"close-button\"\n class=\"${prefix}--header__action ${prefix}--header__search--close ${this\n .value.length === 0\n ? `${prefix}--header__search--hide`\n : ''}\"\n aria-label=\"${closeSearchButtonAssistiveText}\"\n @click=\"${handleClickCloseButton}\"\n >\n ${Close20()}\n </button>\n </div>\n <div\n id=\"result-list\"\n class=\"react-autosuggest__suggestions-container\"\n >\n <ul\n role=\"listbox\"\n class=\"${ddsPrefix}-ce__search__list react-autosuggest__suggestions-list\"\n >\n ${this.searchResults &&\n this.searchResults.map(\n (item) =>\n html`\n <dds-search-with-typeahead-item\n text=\"${item}\"\n @click=${handleClickItem}\n ></dds-search-with-typeahead-item>\n `\n )}\n </ul>\n </div>\n `}\n `;\n }\n\n /**\n * A selector that will return highlighted search result items.\n */\n static get selectorItemHighlighted() {\n return `${ddsPrefix}-search-with-typeahead-item[highlighted]`;\n }\n\n /**\n * A selector that will return search result items.\n */\n static get selectorItem() {\n return `${ddsPrefix}-search-with-typeahead-item`;\n }\n\n /**\n * The name of the custom event fired before the page is being redirected to the search result page.\n * Cancellation of this event stops the user-initiated action of redirection.\n */\n static get eventBeforeRedirect() {\n return `${ddsPrefix}-search-with-typeahead-beingredirected`;\n }\n\n /**\n * The name of the custom event fired after the search content is changed upon a user gesture.\n */\n static get eventInput() {\n return `${ddsPrefix}-search-with-typeahead-input`;\n }\n\n /**\n * The name of the custom event captured to retrieve the new search scope.\n */\n static get eventSelectScope() {\n return `${prefix}-select-selected`;\n }\n\n /**\n * The name of the custom event captured to retrieve the custom typeahead API results.\n */\n static get eventCustomResults() {\n return `${ddsPrefix}-custom-typeahead-api-results`;\n }\n\n /**\n * The name of the custom event fired after this search box is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${ddsPrefix}-search-with-typeahead-toggled`;\n }\n\n static get stableSelector() {\n return `${ddsPrefix}--search-with-typeahead`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSSearchWithTypeahead;\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ import './structured-list-body';
14
14
  import './structured-list-group';
15
15
  import './structured-list-row';
16
16
  import './structured-list-cell';
17
- import '@carbon/carbon-web-components/es/components/tooltip/index.js';
18
- import '@carbon/carbon-web-components/es/components/tag/index.js';
17
+ import '@carbon/web-components/es/components/tooltip/index.js';
18
+ import '@carbon/web-components/es/components/tag/index.js';
19
19
 
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/structured-list/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,CAAC;AAChC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,8DAA8D,CAAC;AACtE,OAAO,0DAA0D,CAAC","file":"index.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport './structured-list';\nimport './structured-list-head';\nimport './structured-list-header-row';\nimport './structured-list-header-cell';\nimport './structured-list-body';\nimport './structured-list-group';\nimport './structured-list-row';\nimport './structured-list-cell';\nimport '@carbon/carbon-web-components/es/components/tooltip/index.js';\nimport '@carbon/carbon-web-components/es/components/tag/index.js';\n"]}
1
+ {"version":3,"sources":["components/structured-list/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,CAAC;AAChC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,uDAAuD,CAAC;AAC/D,OAAO,mDAAmD,CAAC","file":"index.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport './structured-list';\nimport './structured-list-head';\nimport './structured-list-header-row';\nimport './structured-list-header-cell';\nimport './structured-list-body';\nimport './structured-list-group';\nimport './structured-list-row';\nimport './structured-list-cell';\nimport '@carbon/web-components/es/components/tooltip/index.js';\nimport '@carbon/web-components/es/components/tag/index.js';\n"]}
@@ -22,6 +22,6 @@ import "./structured-list-body.js";
22
22
  import "./structured-list-group.js";
23
23
  import "./structured-list-row.js";
24
24
  import "./structured-list-cell.js";
25
- import '@carbon/carbon-web-components/es/components/tooltip/index.js';
26
- import '@carbon/carbon-web-components/es/components/tag/index.js';
25
+ import '@carbon/web-components/es/components/tooltip/index.js';
26
+ import '@carbon/web-components/es/components/tag/index.js';
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["components/structured-list/index.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport './structured-list';\nimport './structured-list-head';\nimport './structured-list-header-row';\nimport './structured-list-header-cell';\nimport './structured-list-body';\nimport './structured-list-group';\nimport './structured-list-row';\nimport './structured-list-cell';\nimport '@carbon/carbon-web-components/es/components/tooltip/index.js';\nimport '@carbon/carbon-web-components/es/components/tag/index.js';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,sBAAmB;AAC1B,OAAO,2BAAwB;AAC/B,OAAO,iCAA8B;AACrC,OAAO,kCAA+B;AACtC,OAAO,2BAAwB;AAC/B,OAAO,4BAAyB;AAChC,OAAO,0BAAuB;AAC9B,OAAO,2BAAwB;AAC/B,OAAO,8DAA8D;AACrE,OAAO,0DAA0D"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["components/structured-list/index.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport './structured-list';\nimport './structured-list-head';\nimport './structured-list-header-row';\nimport './structured-list-header-cell';\nimport './structured-list-body';\nimport './structured-list-group';\nimport './structured-list-row';\nimport './structured-list-cell';\nimport '@carbon/web-components/es/components/tooltip/index.js';\nimport '@carbon/web-components/es/components/tag/index.js';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,sBAAmB;AAC1B,OAAO,2BAAwB;AAC/B,OAAO,iCAA8B;AACrC,OAAO,kCAA+B;AACtC,OAAO,2BAAwB;AAC/B,OAAO,4BAAyB;AAChC,OAAO,0BAAuB;AAC9B,OAAO,2BAAwB;AAC/B,OAAO,uDAAuD;AAC9D,OAAO,mDAAmD"}
@@ -6,7 +6,7 @@
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import BXStructuredListBody from '@carbon/carbon-web-components/es/components/structured-list/structured-list-body.js';
9
+ import BXStructuredListBody from '@carbon/web-components/es/components/structured-list/structured-list-body.js';
10
10
  /**
11
11
  * StructuredListBody
12
12
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["components/structured-list/structured-list-body.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,oBAAoB,MAAM,qFAAqF,CAAC;AAOvH;;;;GAIG;AACH,cACM,qBAAsB,SAAQ,oBAAoB;IACtD,iBAAiB;IAIjB,MAAM,CAAC,MAAM,MAAU;CACxB;AAGD,eAAe,qBAAqB,CAAC","file":"structured-list-body.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport BXStructuredListBody from '@carbon/carbon-web-components/es/components/structured-list/structured-list-body.js';\nimport { customElement } from 'lit-element';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport styles from './structured-list.scss';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * StructuredListBody\n *\n * @element dds-structured-list-body\n */\n@customElement(`${ddsPrefix}-structured-list-body`)\nclass DDSStructuredListBody extends BXStructuredListBody {\n connectedCallback() {\n super.connectedCallback();\n }\n\n static styles = styles;\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSStructuredListBody;\n"]}
1
+ {"version":3,"sources":["components/structured-list/structured-list-body.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,oBAAoB,MAAM,8EAA8E,CAAC;AAOhH;;;;GAIG;AACH,cACM,qBAAsB,SAAQ,oBAAoB;IACtD,iBAAiB;IAIjB,MAAM,CAAC,MAAM,MAAU;CACxB;AAGD,eAAe,qBAAqB,CAAC","file":"structured-list-body.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport BXStructuredListBody from '@carbon/web-components/es/components/structured-list/structured-list-body.js';\nimport { customElement } from 'lit-element';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport styles from './structured-list.scss';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * StructuredListBody\n *\n * @element dds-structured-list-body\n */\n@customElement(`${ddsPrefix}-structured-list-body`)\nclass DDSStructuredListBody extends BXStructuredListBody {\n connectedCallback() {\n super.connectedCallback();\n }\n\n static styles = styles;\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSStructuredListBody;\n"]}
@@ -10,7 +10,7 @@ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
12
 
13
- import BXStructuredListBody from '@carbon/carbon-web-components/es/components/structured-list/structured-list-body.js';
13
+ import BXStructuredListBody from '@carbon/web-components/es/components/structured-list/structured-list-body.js';
14
14
  import { customElement } from 'lit-element';
15
15
  import ddsSettings from "../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js";
16
16
  import styles from "././structured-list.css.js";
@@ -1 +1 @@
1
- {"version":3,"file":"structured-list-body.js","names":["BXStructuredListBody","customElement","ddsSettings","styles","stablePrefix","ddsPrefix","DDSStructuredListBody"],"sources":["components/structured-list/structured-list-body.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport BXStructuredListBody from '@carbon/carbon-web-components/es/components/structured-list/structured-list-body.js';\nimport { customElement } from 'lit-element';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport styles from './structured-list.scss';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * StructuredListBody\n *\n * @element dds-structured-list-body\n */\n@customElement(`${ddsPrefix}-structured-list-body`)\nclass DDSStructuredListBody extends BXStructuredListBody {\n connectedCallback() {\n super.connectedCallback();\n }\n\n static styles = styles;\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSStructuredListBody;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,oBAAoB,MAAM,qFAAqF;AACtH,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,WAAW,MAAM,kFAA+E;AACvG,OAAOC,MAAM,MAAM,4BAAwB;AAE3C,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGH,WAAW;;AAE/C;AACA;AACA;AACA;AACA;AAJA,IAMMI,qBAAqB,cAD1BL,aAAa,CAAE,GAAEI,SAAU,uBAAsB,CAAC;EAAnD,MACMC,qBAAqB,+BAA8B;IAAA;MAAA;MAAA;IAAA;EAMzD;EAAC;IAAA,GANKA,qBAAqB;IAAA;MAAA;MAAA;MAAA,OACzB,6BAAoB;QAClB,qBAFEA,qBAAqB;MAGzB;IAAC;MAAA;MAAA;MAAA;MAAA;QAAA,OAEeH,MAAM;MAAA;IAAA;EAAA;AAAA,GALYH,oBAAoB,GAQxD;AACA,eAAeM,qBAAqB"}
1
+ {"version":3,"file":"structured-list-body.js","names":["BXStructuredListBody","customElement","ddsSettings","styles","stablePrefix","ddsPrefix","DDSStructuredListBody"],"sources":["components/structured-list/structured-list-body.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport BXStructuredListBody from '@carbon/web-components/es/components/structured-list/structured-list-body.js';\nimport { customElement } from 'lit-element';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport styles from './structured-list.scss';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * StructuredListBody\n *\n * @element dds-structured-list-body\n */\n@customElement(`${ddsPrefix}-structured-list-body`)\nclass DDSStructuredListBody extends BXStructuredListBody {\n connectedCallback() {\n super.connectedCallback();\n }\n\n static styles = styles;\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSStructuredListBody;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,oBAAoB,MAAM,8EAA8E;AAC/G,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,WAAW,MAAM,kFAA+E;AACvG,OAAOC,MAAM,MAAM,4BAAwB;AAE3C,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGH,WAAW;;AAE/C;AACA;AACA;AACA;AACA;AAJA,IAMMI,qBAAqB,cAD1BL,aAAa,CAAE,GAAEI,SAAU,uBAAsB,CAAC;EAAnD,MACMC,qBAAqB,+BAA8B;IAAA;MAAA;MAAA;IAAA;EAMzD;EAAC;IAAA,GANKA,qBAAqB;IAAA;MAAA;MAAA;MAAA,OACzB,6BAAoB;QAClB,qBAFEA,qBAAqB;MAGzB;IAAC;MAAA;MAAA;MAAA;MAAA;QAAA,OAEeH,MAAM;MAAA;IAAA;EAAA;AAAA,GALYH,oBAAoB,GAQxD;AACA,eAAeM,qBAAqB"}