@brandsync/wc 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/REFERENCE.md +313 -0
  3. package/custom-elements.json +4760 -1555
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/p-044ac86c.entry.js +1 -0
  6. package/dist/brandsync-wc/p-065c7e7c.entry.js +1 -0
  7. package/dist/brandsync-wc/p-07673a48.entry.js +1 -0
  8. package/dist/brandsync-wc/{p-54f9529f.entry.js → p-08e96f13.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-f3cc961b.entry.js → p-0bbaef51.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-11d80e17.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-c85fe37b.entry.js → p-1bd99669.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-f4d1d56e.entry.js → p-225148be.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-6df48031.entry.js → p-2bd30709.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-e294f698.entry.js → p-32297416.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-d165a742.entry.js → p-35f76ea7.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-4ca40386.entry.js → p-3bad5e1b.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-ed71eb02.entry.js → p-3bdeeb9d.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-1bf8fbbb.entry.js → p-3c6ec5d0.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-abfa43f5.entry.js → p-3cb79512.entry.js} +1 -1
  20. package/dist/brandsync-wc/p-3d2c62a6.entry.js +1 -0
  21. package/dist/brandsync-wc/{p-23379d7c.entry.js → p-3d7b0708.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-2e285364.entry.js → p-43d5f708.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-d81c4f58.entry.js → p-4b460eda.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-b6081bba.entry.js → p-4eaa9ed4.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-c25553bc.entry.js → p-4f4c0c68.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-a56bc608.entry.js → p-5057e4fe.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-54d91ac9.entry.js +1 -0
  28. package/dist/brandsync-wc/{p-65fa1b21.entry.js → p-57ff14ca.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-538d5b58.entry.js → p-5b933ff4.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-b67a0c8f.entry.js → p-5c61eb06.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-86774165.entry.js → p-5eb5795f.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-b663ee67.entry.js → p-61deb48c.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-ac9472ec.entry.js → p-67f125e8.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-3488c4fc.entry.js → p-6ea02b98.entry.js} +1 -1
  35. package/dist/brandsync-wc/p-70c650b2.entry.js +1 -0
  36. package/dist/brandsync-wc/p-79fc849c.entry.js +1 -0
  37. package/dist/brandsync-wc/{p-5a45ef51.entry.js → p-7ed071fb.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-3c21d0bf.entry.js → p-8134f97c.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-4ed00786.entry.js → p-844205d9.entry.js} +1 -1
  40. package/dist/brandsync-wc/p-84d6d6eb.entry.js +1 -0
  41. package/dist/brandsync-wc/{p-401b3d3d.entry.js → p-857987f9.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-b9c9bcba.entry.js → p-8c4dfccb.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-38ac9aad.entry.js → p-90ba3032.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-1ca8b01e.entry.js → p-9396c67e.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-e9b6b30f.entry.js → p-9d740928.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-baa3d37a.entry.js → p-a7fa839a.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-f271e1d2.entry.js → p-a7fb0b59.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-89ea6366.entry.js → p-ab14a07d.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-912629c6.entry.js → p-aec2dfeb.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-8390a155.entry.js → p-b02bf1ca.entry.js} +1 -1
  51. package/dist/brandsync-wc/{p-9beeb30c.entry.js → p-b142d8c9.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-7a072e64.entry.js → p-b4511ad3.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-5ed1f45e.entry.js → p-b5710db6.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-34b0c048.entry.js → p-baa39c08.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-87d44938.entry.js → p-be7aac52.entry.js} +1 -1
  56. package/dist/brandsync-wc/p-c835afb7.entry.js +1 -0
  57. package/dist/brandsync-wc/{p-45986ad4.entry.js → p-d25adab2.entry.js} +1 -1
  58. package/dist/brandsync-wc/p-d2a15599.entry.js +1 -0
  59. package/dist/brandsync-wc/{p-b9c0b481.entry.js → p-d7956c51.entry.js} +1 -1
  60. package/dist/brandsync-wc/p-d9184940.entry.js +1 -0
  61. package/dist/brandsync-wc/{p-0f97fe35.entry.js → p-dcbeb143.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-cf287ff1.entry.js → p-debc83cc.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-dcacee29.entry.js → p-e0a9f2d1.entry.js} +1 -1
  64. package/dist/brandsync-wc/p-e123b391.entry.js +1 -0
  65. package/dist/brandsync-wc/p-e8ae626d.entry.js +1 -0
  66. package/dist/brandsync-wc/p-e8e22238.entry.js +1 -0
  67. package/dist/brandsync-wc/{p-6cb21302.entry.js → p-eb0dc5bf.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-1b4c0971.entry.js → p-f43a7f16.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-7b3518b8.entry.js → p-f82a9f0d.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-f0be9125.entry.js → p-f98dfa85.entry.js} +1 -1
  71. package/dist/brandsync-wc/{p-36fe783a.entry.js → p-fdc168ec.entry.js} +1 -1
  72. package/dist/brandsync-wc/{p-bc97ece8.entry.js → p-ffccc1ee.entry.js} +1 -1
  73. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  74. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  76. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  77. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  78. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  79. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  80. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  81. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  82. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  83. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  84. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  85. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  86. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  87. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  88. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  89. package/dist/cjs/bs-command-palette.cjs.entry.js +374 -0
  90. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  91. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  92. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  93. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  94. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  95. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-empty-state.cjs.entry.js +47 -0
  97. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-global-search.cjs.entry.js +326 -0
  101. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  102. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  104. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  106. package/dist/cjs/bs-key-caps.cjs.entry.js +39 -0
  107. package/dist/cjs/bs-key.cjs.entry.js +28 -0
  108. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +112 -0
  109. package/dist/cjs/bs-list-item.cjs.entry.js +66 -0
  110. package/dist/cjs/bs-list.cjs.entry.js +103 -0
  111. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  115. package/dist/cjs/bs-navigation-header.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-popover.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  119. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  120. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  121. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  122. package/dist/cjs/bs-search-item.cjs.entry.js +47 -0
  123. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-shortcut-row.cjs.entry.js +27 -0
  125. package/dist/cjs/bs-skeleton.cjs.entry.js +1 -1
  126. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  129. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  132. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  133. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  134. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  135. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  136. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  137. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  138. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  139. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  140. package/dist/cjs/bs-tree-item.cjs.entry.js +94 -0
  141. package/dist/cjs/bs-tree.cjs.entry.js +197 -0
  142. package/dist/cjs/loader.cjs.js +1 -1
  143. package/dist/collection/collection-manifest.json +13 -1
  144. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  145. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  146. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  147. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  148. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  149. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  150. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  151. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  152. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  153. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  154. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  155. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  156. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  157. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  158. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  159. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  160. package/dist/collection/components/bs-command-palette/bs-command-palette.cmp.test.js +207 -0
  161. package/dist/collection/components/bs-command-palette/bs-command-palette.css +214 -0
  162. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1114 -0
  163. package/dist/collection/components/bs-command-palette/bs-command-palette.stories.js +194 -0
  164. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  165. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  166. package/dist/collection/components/bs-container/bs-container.js +1 -1
  167. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  168. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  169. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  170. package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +102 -0
  171. package/dist/collection/components/bs-empty-state/bs-empty-state.css +45 -0
  172. package/dist/collection/components/bs-empty-state/bs-empty-state.js +175 -0
  173. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +52 -0
  174. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  175. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  176. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  177. package/dist/collection/components/bs-global-search/bs-global-search.cmp.test.js +491 -0
  178. package/dist/collection/components/bs-global-search/bs-global-search.css +115 -0
  179. package/dist/collection/components/bs-global-search/bs-global-search.js +1024 -0
  180. package/dist/collection/components/bs-global-search/bs-global-search.stories.js +146 -0
  181. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  182. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  183. package/dist/collection/components/bs-input/bs-input.js +2 -2
  184. package/dist/collection/components/bs-key/bs-key.cmp.test.js +59 -0
  185. package/dist/collection/components/bs-key/bs-key.css +58 -0
  186. package/dist/collection/components/bs-key/bs-key.js +84 -0
  187. package/dist/collection/components/bs-key/bs-key.stories.js +19 -0
  188. package/dist/collection/components/bs-key-caps/bs-key-caps.cmp.test.js +60 -0
  189. package/dist/collection/components/bs-key-caps/bs-key-caps.css +28 -0
  190. package/dist/collection/components/bs-key-caps/bs-key-caps.js +120 -0
  191. package/dist/collection/components/bs-key-caps/bs-key-caps.stories.js +29 -0
  192. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.js +194 -0
  193. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.css +138 -0
  194. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +485 -0
  195. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.js +111 -0
  196. package/dist/collection/components/bs-list/bs-list.cmp.test.js +99 -0
  197. package/dist/collection/components/bs-list/bs-list.css +15 -0
  198. package/dist/collection/components/bs-list/bs-list.js +241 -0
  199. package/dist/collection/components/bs-list/bs-list.stories.js +43 -0
  200. package/dist/collection/components/bs-list-item/bs-list-item.cmp.test.js +137 -0
  201. package/dist/collection/components/bs-list-item/bs-list-item.css +139 -0
  202. package/dist/collection/components/bs-list-item/bs-list-item.js +343 -0
  203. package/dist/collection/components/bs-list-item/bs-list-item.stories.js +86 -0
  204. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  205. package/dist/collection/components/bs-menu-item/bs-menu-item.cmp.test.js +6 -0
  206. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  207. package/dist/collection/components/bs-message/bs-message.js +1 -1
  208. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  209. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  210. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  211. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  212. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  213. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  214. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  215. package/dist/collection/components/bs-search-item/bs-search-item.cmp.test.js +147 -0
  216. package/dist/collection/components/bs-search-item/bs-search-item.css +112 -0
  217. package/dist/collection/components/bs-search-item/bs-search-item.js +222 -0
  218. package/dist/collection/components/bs-search-item/bs-search-item.stories.js +31 -0
  219. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  220. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.cmp.test.js +60 -0
  221. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.css +42 -0
  222. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +154 -0
  223. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +24 -0
  224. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  225. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  226. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  227. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  228. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  229. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  230. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  231. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  232. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  233. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  234. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  235. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  236. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  237. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  238. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  239. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  240. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  241. package/dist/collection/components/bs-tree/bs-tree.cmp.test.js +166 -0
  242. package/dist/collection/components/bs-tree/bs-tree.css +8 -0
  243. package/dist/collection/components/bs-tree/bs-tree.js +354 -0
  244. package/dist/collection/components/bs-tree/bs-tree.stories.js +34 -0
  245. package/dist/collection/components/bs-tree-item/bs-tree-item.cmp.test.js +187 -0
  246. package/dist/collection/components/bs-tree-item/bs-tree-item.css +161 -0
  247. package/dist/collection/components/bs-tree-item/bs-tree-item.js +305 -0
  248. package/dist/collection/components/bs-tree-item/bs-tree-item.stories.js +54 -0
  249. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  250. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  251. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  252. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  253. package/dist/components/bs-accordion-group.js +1 -1
  254. package/dist/components/bs-ai-disclaimer.js +1 -1
  255. package/dist/components/bs-ai-greeting.js +1 -1
  256. package/dist/components/bs-ai-thinking.js +1 -1
  257. package/dist/components/bs-app-shell.js +1 -1
  258. package/dist/components/bs-attachment-list.js +1 -1
  259. package/dist/components/bs-attachment.js +1 -1
  260. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  261. package/dist/components/bs-breadcrumbs.js +1 -1
  262. package/dist/components/bs-button-skeleton.js +1 -1
  263. package/dist/components/bs-carousel.js +1 -1
  264. package/dist/components/bs-chatbot-feedback.js +1 -1
  265. package/dist/components/bs-chatbot-header.js +1 -1
  266. package/dist/components/bs-chatbot-response-action.js +1 -1
  267. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  268. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  269. package/dist/components/bs-checkbox-skeleton.js +1 -1
  270. package/dist/components/bs-citation-preview.js +1 -1
  271. package/dist/components/bs-command-palette.d.ts +11 -0
  272. package/dist/components/bs-command-palette.js +1 -0
  273. package/dist/components/bs-composer-status-banner.js +1 -1
  274. package/dist/components/bs-composer.js +1 -1
  275. package/dist/components/bs-container.js +1 -1
  276. package/dist/components/bs-cookie-consent.js +1 -1
  277. package/dist/components/bs-data-table.js +1 -1
  278. package/dist/components/bs-datepicker.js +1 -1
  279. package/dist/components/bs-dialog.js +1 -1
  280. package/dist/components/bs-divider.js +1 -1
  281. package/dist/components/bs-empty-state.d.ts +11 -0
  282. package/dist/components/bs-empty-state.js +1 -0
  283. package/dist/components/bs-error-page.js +1 -1
  284. package/dist/components/bs-file-upload-item.js +1 -1
  285. package/dist/components/bs-file-upload.js +1 -1
  286. package/dist/components/bs-global-search.d.ts +11 -0
  287. package/dist/components/bs-global-search.js +1 -0
  288. package/dist/components/bs-grid.js +1 -1
  289. package/dist/components/bs-icon-button.js +1 -1
  290. package/dist/components/bs-icon-tile.js +1 -1
  291. package/dist/components/bs-inline-tab.js +1 -1
  292. package/dist/components/bs-input.js +1 -1
  293. package/dist/components/bs-key-caps.d.ts +11 -0
  294. package/dist/components/bs-key-caps.js +1 -0
  295. package/dist/components/bs-key.d.ts +11 -0
  296. package/dist/components/bs-key.js +1 -0
  297. package/dist/components/bs-keyboard-shortcuts.d.ts +11 -0
  298. package/dist/components/bs-keyboard-shortcuts.js +1 -0
  299. package/dist/components/bs-list-item.d.ts +11 -0
  300. package/dist/components/bs-list-item.js +1 -0
  301. package/dist/components/bs-list.d.ts +11 -0
  302. package/dist/components/bs-list.js +1 -0
  303. package/dist/components/bs-menu-item.js +1 -1
  304. package/dist/components/bs-menu.js +1 -1
  305. package/dist/components/bs-message-list.js +1 -1
  306. package/dist/components/bs-message.js +1 -1
  307. package/dist/components/bs-navigation-drawer-item.js +1 -1
  308. package/dist/components/bs-navigation-drawer.js +1 -1
  309. package/dist/components/bs-navigation-header.js +1 -1
  310. package/dist/components/bs-onboarding-checklist.js +1 -1
  311. package/dist/components/bs-pagination.js +1 -1
  312. package/dist/components/bs-popover.js +1 -1
  313. package/dist/components/bs-product-tour.js +1 -1
  314. package/dist/components/bs-progress-linear.js +1 -1
  315. package/dist/components/bs-progress.js +1 -1
  316. package/dist/components/bs-qr-code.js +1 -1
  317. package/dist/components/bs-radio.js +1 -1
  318. package/dist/components/bs-search-item.d.ts +11 -0
  319. package/dist/components/bs-search-item.js +1 -0
  320. package/dist/components/bs-session-timeout.js +1 -1
  321. package/dist/components/bs-shortcut-row.d.ts +11 -0
  322. package/dist/components/bs-shortcut-row.js +1 -0
  323. package/dist/components/bs-side-panel.js +1 -1
  324. package/dist/components/bs-skeleton.js +1 -1
  325. package/dist/components/bs-slider.js +1 -1
  326. package/dist/components/bs-snackbar.js +1 -1
  327. package/dist/components/bs-source-link.js +1 -1
  328. package/dist/components/bs-spinner.js +1 -1
  329. package/dist/components/bs-split-pane.js +1 -1
  330. package/dist/components/bs-stack.js +1 -1
  331. package/dist/components/bs-stepper-step.js +1 -1
  332. package/dist/components/bs-stepper.js +1 -1
  333. package/dist/components/bs-switch.js +1 -1
  334. package/dist/components/bs-tab.js +1 -1
  335. package/dist/components/bs-tabs.js +1 -1
  336. package/dist/components/bs-timepicker.js +1 -1
  337. package/dist/components/bs-toast.js +1 -1
  338. package/dist/components/bs-tooltip-trigger.js +1 -1
  339. package/dist/components/bs-tooltip.js +1 -1
  340. package/dist/components/bs-tree-item.d.ts +11 -0
  341. package/dist/components/bs-tree-item.js +1 -0
  342. package/dist/components/bs-tree.d.ts +11 -0
  343. package/dist/components/bs-tree.js +1 -0
  344. package/dist/components/bs-whats-new-entry.js +1 -1
  345. package/dist/components/bs-whats-new.js +1 -1
  346. package/dist/components/{p-GTDI4Ibw.js → p-B32Kl4IB.js} +1 -1
  347. package/dist/components/{p-B128GX8H.js → p-BDnZvjlq.js} +1 -1
  348. package/dist/components/{p-Bqe4waKJ.js → p-BUpnOUIM.js} +1 -1
  349. package/dist/components/p-BcYNrEOB.js +1 -0
  350. package/dist/components/{p-B80vOwH6.js → p-BcbaiZLh.js} +1 -1
  351. package/dist/components/p-Bp3DIxjT.js +1 -0
  352. package/dist/components/p-CH5atin4.js +1 -0
  353. package/dist/components/{p-kDJsWjTN.js → p-CRM1wIX9.js} +1 -1
  354. package/dist/components/{p-Mf1jorXP.js → p-CYzBTzzf.js} +1 -1
  355. package/dist/components/p-CervX0wH.js +1 -0
  356. package/dist/components/{p-ElcsxZSh.js → p-Cpe2k7ZC.js} +1 -1
  357. package/dist/components/{p-BvYkZcOU.js → p-D7AXo5NT.js} +1 -1
  358. package/dist/components/{p-B3l4WpgS.js → p-D8bvv9QQ.js} +1 -1
  359. package/dist/components/{p-ByKcHsj0.js → p-DG9eT5yi.js} +1 -1
  360. package/dist/components/{p-D0KM1R2i.js → p-DMLfXpva.js} +1 -1
  361. package/dist/components/{p-CQjSDdH7.js → p-DYDk73TF.js} +1 -1
  362. package/dist/components/{p-C7RZ6qZC.js → p-DcjgRtSQ.js} +1 -1
  363. package/dist/components/p-Dt4JNhHT.js +1 -0
  364. package/dist/components/{p-CK7fiES5.js → p-DtYTs9Kh.js} +1 -1
  365. package/dist/components/{p-BsbtyRJV.js → p-TAY9S9yG.js} +1 -1
  366. package/dist/components/{p-ByLUtXxO.js → p-w-DkdA4O.js} +1 -1
  367. package/dist/esm/brandsync-wc.js +1 -1
  368. package/dist/esm/bs-accordion-group.entry.js +1 -1
  369. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  370. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  371. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  372. package/dist/esm/bs-app-shell.entry.js +1 -1
  373. package/dist/esm/bs-attachment-list.entry.js +1 -1
  374. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  375. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  376. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  377. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  378. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  379. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  380. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  381. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  382. package/dist/esm/bs-citation-preview.entry.js +1 -1
  383. package/dist/esm/bs-command-palette.entry.js +372 -0
  384. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  385. package/dist/esm/bs-composer.entry.js +1 -1
  386. package/dist/esm/bs-container.entry.js +1 -1
  387. package/dist/esm/bs-data-table.entry.js +2 -2
  388. package/dist/esm/bs-datepicker.entry.js +1 -1
  389. package/dist/esm/bs-divider.entry.js +1 -1
  390. package/dist/esm/bs-empty-state.entry.js +45 -0
  391. package/dist/esm/bs-error-page.entry.js +1 -1
  392. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  393. package/dist/esm/bs-file-upload.entry.js +1 -1
  394. package/dist/esm/bs-global-search.entry.js +324 -0
  395. package/dist/esm/bs-grid.entry.js +2 -2
  396. package/dist/esm/bs-icon-button.entry.js +1 -1
  397. package/dist/esm/bs-icon-tile.entry.js +2 -2
  398. package/dist/esm/bs-inline-tab.entry.js +1 -1
  399. package/dist/esm/bs-input_3.entry.js +4 -4
  400. package/dist/esm/bs-key-caps.entry.js +37 -0
  401. package/dist/esm/bs-key.entry.js +26 -0
  402. package/dist/esm/bs-keyboard-shortcuts.entry.js +110 -0
  403. package/dist/esm/bs-list-item.entry.js +64 -0
  404. package/dist/esm/bs-list.entry.js +101 -0
  405. package/dist/esm/bs-message-list.entry.js +1 -1
  406. package/dist/esm/bs-message.entry.js +1 -1
  407. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  408. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  409. package/dist/esm/bs-navigation-header.entry.js +1 -1
  410. package/dist/esm/bs-pagination.entry.js +1 -1
  411. package/dist/esm/bs-popover.entry.js +1 -1
  412. package/dist/esm/bs-progress-linear.entry.js +2 -2
  413. package/dist/esm/bs-progress.entry.js +2 -2
  414. package/dist/esm/bs-qr-code.entry.js +1 -1
  415. package/dist/esm/bs-radio.entry.js +1 -1
  416. package/dist/esm/bs-search-item.entry.js +45 -0
  417. package/dist/esm/bs-session-timeout.entry.js +1 -1
  418. package/dist/esm/bs-shortcut-row.entry.js +25 -0
  419. package/dist/esm/bs-skeleton.entry.js +1 -1
  420. package/dist/esm/bs-slider.entry.js +1 -1
  421. package/dist/esm/bs-snackbar.entry.js +1 -1
  422. package/dist/esm/bs-source-link.entry.js +2 -2
  423. package/dist/esm/bs-spinner.entry.js +1 -1
  424. package/dist/esm/bs-split-pane.entry.js +1 -1
  425. package/dist/esm/bs-stack.entry.js +1 -1
  426. package/dist/esm/bs-stepper-step.entry.js +1 -1
  427. package/dist/esm/bs-stepper.entry.js +1 -1
  428. package/dist/esm/bs-switch.entry.js +1 -1
  429. package/dist/esm/bs-tab_3.entry.js +3 -3
  430. package/dist/esm/bs-timepicker.entry.js +2 -2
  431. package/dist/esm/bs-toast.entry.js +1 -1
  432. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  433. package/dist/esm/bs-tooltip.entry.js +1 -1
  434. package/dist/esm/bs-tree-item.entry.js +92 -0
  435. package/dist/esm/bs-tree.entry.js +195 -0
  436. package/dist/esm/loader.js +1 -1
  437. package/dist/types/components/bs-command-palette/bs-command-palette.cmp.test.d.ts +1 -0
  438. package/dist/types/components/bs-command-palette/bs-command-palette.d.ts +172 -0
  439. package/dist/types/components/bs-command-palette/bs-command-palette.stories.d.ts +56 -0
  440. package/dist/types/components/bs-empty-state/bs-empty-state.cmp.test.d.ts +1 -0
  441. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +50 -0
  442. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +13 -0
  443. package/dist/types/components/bs-global-search/bs-global-search.cmp.test.d.ts +1 -0
  444. package/dist/types/components/bs-global-search/bs-global-search.d.ts +166 -0
  445. package/dist/types/components/bs-global-search/bs-global-search.stories.d.ts +61 -0
  446. package/dist/types/components/bs-key/bs-key.cmp.test.d.ts +1 -0
  447. package/dist/types/components/bs-key/bs-key.d.ts +36 -0
  448. package/dist/types/components/bs-key/bs-key.stories.d.ts +11 -0
  449. package/dist/types/components/bs-key-caps/bs-key-caps.cmp.test.d.ts +1 -0
  450. package/dist/types/components/bs-key-caps/bs-key-caps.d.ts +31 -0
  451. package/dist/types/components/bs-key-caps/bs-key-caps.stories.d.ts +15 -0
  452. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.d.ts +1 -0
  453. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.d.ts +95 -0
  454. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.d.ts +43 -0
  455. package/dist/types/components/bs-list/bs-list.cmp.test.d.ts +1 -0
  456. package/dist/types/components/bs-list/bs-list.d.ts +42 -0
  457. package/dist/types/components/bs-list/bs-list.stories.d.ts +13 -0
  458. package/dist/types/components/bs-list-item/bs-list-item.cmp.test.d.ts +1 -0
  459. package/dist/types/components/bs-list-item/bs-list-item.d.ts +85 -0
  460. package/dist/types/components/bs-list-item/bs-list-item.stories.d.ts +22 -0
  461. package/dist/types/components/bs-search-item/bs-search-item.cmp.test.d.ts +1 -0
  462. package/dist/types/components/bs-search-item/bs-search-item.d.ts +61 -0
  463. package/dist/types/components/bs-search-item/bs-search-item.stories.d.ts +13 -0
  464. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.cmp.test.d.ts +1 -0
  465. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.d.ts +38 -0
  466. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.stories.d.ts +13 -0
  467. package/dist/types/components/bs-tree/bs-tree.cmp.test.d.ts +1 -0
  468. package/dist/types/components/bs-tree/bs-tree.d.ts +53 -0
  469. package/dist/types/components/bs-tree/bs-tree.stories.d.ts +11 -0
  470. package/dist/types/components/bs-tree-item/bs-tree-item.cmp.test.d.ts +1 -0
  471. package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +60 -0
  472. package/dist/types/components/bs-tree-item/bs-tree-item.stories.d.ts +19 -0
  473. package/dist/types/components.d.ts +2700 -199
  474. package/package.json +1 -1
  475. package/reference.d.ts +36 -0
  476. package/reference.json +1076 -47
  477. package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
  478. package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
  479. package/dist/brandsync-wc/p-e72dd05e.entry.js +0 -1
@@ -0,0 +1,1024 @@
1
+ import { h } from "@stencil/core";
2
+ /** Sections shown per status, in display (and keyboard) order. */
3
+ const SECTIONS = {
4
+ default: ['recent', 'jump-to'],
5
+ results: ['top-matches', 'search-in'],
6
+ empty: [],
7
+ error: [],
8
+ };
9
+ const ALL_SECTIONS = ['recent', 'jump-to', 'top-matches', 'search-in'];
10
+ let uid = 0;
11
+ const svgProps = {
12
+ viewBox: '0 0 24 24',
13
+ fill: 'none',
14
+ stroke: 'currentColor',
15
+ 'stroke-width': '1.8',
16
+ 'stroke-linecap': 'round',
17
+ 'stroke-linejoin': 'round',
18
+ 'aria-hidden': 'true',
19
+ };
20
+ /**
21
+ * A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
22
+ * or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
23
+ * are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
24
+ *
25
+ * Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
26
+ * `bs-button` and `bs-key` (the footer keycaps).
27
+ *
28
+ * ## When to use
29
+ * - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
30
+ *
31
+ * ## When not to use
32
+ * - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
33
+ * - A list of commands or actions -- use `bs-menu`.
34
+ * - The complete result set -- link to a full search results page ("See all results").
35
+ *
36
+ * Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
37
+ * `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
38
+ * content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
39
+ *
40
+ * Known limit: the items are in your light DOM and the combobox in this shadow root, so
41
+ * `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
42
+ * highlighted option also gets `aria-selected="true"`.
43
+ *
44
+ * @slot recent - `bs-search-item`s for the "Recent searches" section (status `default`).
45
+ * @slot jump-to - `bs-search-item`s for the "Jump to" section (status `default`).
46
+ * @slot top-matches - `bs-search-item`s for the "Top matches" section (status `results`).
47
+ * @slot search-in - `bs-search-item`s for the "Search in" section (status `results`).
48
+ * @slot empty - Replaces the whole empty-state block (status `empty`).
49
+ * @slot error - Replaces the whole error-state block (status `error`).
50
+ * @part field - The combobox wrapper around the search field.
51
+ * @part panel - The dropdown panel.
52
+ * @part section - One section (header and items).
53
+ * @part section-header - A section header.
54
+ * @part empty - The built-in empty or error state (`bs-empty-state`).
55
+ * @part footer - The footer row.
56
+ * @part hint - One keyboard hint (keycaps and text).
57
+ * @part clear-recent - The "Clear recent" button wrapper.
58
+ * @part see-all - The "See all results" button wrapper.
59
+ * @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
60
+ * @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
61
+ * @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
62
+ * @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
63
+ * @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
64
+ * @prop --bs-global-search-shadow - Panel shadow: Figma elevation level 3 (`0 4px 8px` in `--bs-elevation-high`, 10% black in light mode and 30% in dark mode).
65
+ * @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
66
+ * @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
67
+ * @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
68
+ * @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
69
+ * @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
70
+ */
71
+ export class BsGlobalSearch {
72
+ el;
73
+ id = `bs-gs-${++uid}`;
74
+ itemSeq = 0;
75
+ observer;
76
+ inputEl;
77
+ /** The query. Two-way with the field. */
78
+ value = '';
79
+ /** Placeholder of the field (also its accessible name unless `label` is set). */
80
+ placeholder = 'Search customers, orders, products…';
81
+ /** Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper. */
82
+ label;
83
+ /** Disables the field; the panel cannot open. */
84
+ disabled = false;
85
+ /** Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection. */
86
+ open = false;
87
+ /** Which view the panel shows. You choose it; nothing is inferred from `value`. */
88
+ status = 'default';
89
+ /** Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers. */
90
+ totalResults;
91
+ /** Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views. */
92
+ showFooter = true;
93
+ /** Accessible name of the suggestions listbox. */
94
+ listLabel = 'Search suggestions';
95
+ /** Header of the `recent` section. */
96
+ recentLabel = 'Recent searches';
97
+ /** Header of the `jump-to` section. */
98
+ jumpToLabel = 'Jump to';
99
+ /** Header of the `top-matches` section. */
100
+ topMatchesLabel = 'Top matches';
101
+ /** Header of the `search-in` section. */
102
+ searchInLabel = 'Search in';
103
+ /** Footer hint text after the arrow keys. */
104
+ navigateLabel = 'Navigate';
105
+ /** Footer hint text after the Enter key (default view). */
106
+ searchLabel = 'Search';
107
+ /** Footer hint text after the Esc key. */
108
+ closeLabel = 'Close';
109
+ /** Footer hint text after the Enter key (results view). */
110
+ fullResultsLabel = 'Full results';
111
+ /** Text of the footer button that clears recent searches. */
112
+ clearRecentLabel = 'Clear recent';
113
+ /** Text of the footer button of the results view, when `totalResults` is not set. */
114
+ seeAllLabel = 'See all results';
115
+ /** Heading of the built-in empty state. */
116
+ emptyHeading = 'No results';
117
+ /** Description of the built-in empty state. */
118
+ emptyDescription = 'Try a different search.';
119
+ /** Text of the empty state's action. */
120
+ clearSearchLabel = 'Clear search';
121
+ /** Heading of the built-in error state. */
122
+ errorHeading = 'Search isn’t available right now';
123
+ /** Description of the built-in error state. */
124
+ errorDescription = 'We couldn’t reach the server. Your query is kept — try again in a moment.';
125
+ /** Text of the error state's action. */
126
+ retryLabel = 'Try again';
127
+ /** Which sections currently have content in their slot. */
128
+ filled = { recent: false, 'jump-to': false, 'top-matches': false, 'search-in': false };
129
+ /** Id of the highlighted item. */
130
+ activeId = null;
131
+ /** Fires on every keystroke with the query. The component filters nothing itself. */
132
+ bsInput;
133
+ /** Fires on Enter with no highlighted item, with the query. */
134
+ bsSearch;
135
+ /** Fires when an item is chosen (click or Enter), with its `value` and section (slot name). */
136
+ bsSelect;
137
+ /** Fires when the panel opens or closes through user interaction, with the new state. */
138
+ bsOpenChange;
139
+ /** Fires when "Clear recent" is pressed. */
140
+ bsClearRecent;
141
+ /** Fires when the empty state's "Clear search" is pressed; the value is also cleared. */
142
+ bsClearSearch;
143
+ /** Fires when "See all results" is pressed. */
144
+ bsSeeAll;
145
+ /** Fires when the error state's "Try again" is pressed. */
146
+ bsRetry;
147
+ resetActive() {
148
+ this.activeId = null;
149
+ }
150
+ componentWillLoad() {
151
+ this.readFilled();
152
+ this.prepareItems();
153
+ }
154
+ connectedCallback() {
155
+ document.addEventListener('pointerdown', this.onDocPointerDown, true);
156
+ this.observer = new MutationObserver(() => {
157
+ this.readFilled();
158
+ this.prepareItems();
159
+ this.paintActive();
160
+ });
161
+ this.observer.observe(this.el, { childList: true });
162
+ }
163
+ disconnectedCallback() {
164
+ document.removeEventListener('pointerdown', this.onDocPointerDown, true);
165
+ this.observer?.disconnect();
166
+ }
167
+ componentDidRender() {
168
+ this.prepareItems();
169
+ this.paintActive();
170
+ }
171
+ allItems() {
172
+ return Array.from(this.el.children).filter(c => c.tagName === 'BS-SEARCH-ITEM' && ALL_SECTIONS.includes(c.getAttribute('slot')));
173
+ }
174
+ /** Visible items, section by section (display order), then DOM order within a section. */
175
+ visibleItems() {
176
+ if (!this.open)
177
+ return [];
178
+ const items = this.allItems();
179
+ return (SECTIONS[this.status] ?? []).flatMap(s => items.filter(i => i.getAttribute('slot') === s));
180
+ }
181
+ enabledItems() {
182
+ return this.visibleItems().filter(i => !i.disabled);
183
+ }
184
+ readFilled() {
185
+ const next = { ...this.filled };
186
+ let changed = false;
187
+ for (const s of ALL_SECTIONS) {
188
+ const has = Array.from(this.el.children).some(c => c.getAttribute('slot') === s);
189
+ if (next[s] !== has) {
190
+ next[s] = has;
191
+ changed = true;
192
+ }
193
+ }
194
+ if (changed)
195
+ this.filled = next;
196
+ }
197
+ /** Gives every item the option role and a stable id, like `bs-list` does for its rows. */
198
+ prepareItems() {
199
+ for (const item of this.allItems()) {
200
+ if (item.selectionRole !== 'option')
201
+ item.selectionRole = 'option';
202
+ if (!item.id)
203
+ item.id = `${this.id}-opt-${++this.itemSeq}`;
204
+ }
205
+ }
206
+ paintActive() {
207
+ for (const item of this.allItems()) {
208
+ const on = !!this.activeId && item.id === this.activeId;
209
+ if (item.active !== on)
210
+ item.active = on;
211
+ }
212
+ }
213
+ setOpen(next) {
214
+ if (next && this.disabled)
215
+ return;
216
+ if (this.open === next)
217
+ return;
218
+ this.open = next;
219
+ this.bsOpenChange.emit(next);
220
+ }
221
+ setActive(item) {
222
+ this.activeId = item ? item.id : null;
223
+ this.paintActive();
224
+ item?.scrollIntoView?.({ block: 'nearest' });
225
+ }
226
+ onDocPointerDown = (ev) => {
227
+ if (!this.open)
228
+ return;
229
+ if (!ev.composedPath().includes(this.el))
230
+ this.setOpen(false);
231
+ };
232
+ onInput = (ev) => {
233
+ // The inner bs-input's own bsInput would bubble out of this host too; ours replaces it.
234
+ ev.stopPropagation();
235
+ this.value = ev.detail;
236
+ this.activeId = null;
237
+ this.bsInput.emit(ev.detail);
238
+ this.setOpen(true);
239
+ };
240
+ onKeyDown = (ev) => {
241
+ switch (ev.key) {
242
+ case 'ArrowDown':
243
+ case 'ArrowUp': {
244
+ ev.preventDefault();
245
+ if (!this.open) {
246
+ this.setOpen(true);
247
+ return;
248
+ }
249
+ const items = this.enabledItems();
250
+ if (!items.length)
251
+ return;
252
+ const idx = items.findIndex(i => i.id === this.activeId);
253
+ const down = ev.key === 'ArrowDown';
254
+ const next = down ? (idx + 1) % items.length : idx <= 0 ? items.length - 1 : idx - 1;
255
+ this.setActive(items[next]);
256
+ return;
257
+ }
258
+ case 'Enter': {
259
+ const active = this.open ? this.enabledItems().find(i => i.id === this.activeId) : undefined;
260
+ if (active) {
261
+ ev.preventDefault();
262
+ active.click();
263
+ }
264
+ else {
265
+ this.bsSearch.emit(this.value);
266
+ this.setOpen(false);
267
+ }
268
+ return;
269
+ }
270
+ case 'Escape':
271
+ if (this.open) {
272
+ // Native search fields clear themselves on Escape; the first Escape only closes.
273
+ ev.preventDefault();
274
+ ev.stopPropagation();
275
+ this.setOpen(false);
276
+ }
277
+ return;
278
+ }
279
+ };
280
+ onItemSelect(ev) {
281
+ const item = ev.target;
282
+ if (!item || item.tagName !== 'BS-SEARCH-ITEM')
283
+ return;
284
+ ev.stopPropagation();
285
+ this.bsSelect.emit({ value: ev.detail, section: item.getAttribute('slot') ?? '' });
286
+ this.setOpen(false);
287
+ }
288
+ onPanelMouseOver = (ev) => {
289
+ const item = ev.composedPath().find(n => n.tagName === 'BS-SEARCH-ITEM');
290
+ if (item && !item.disabled && item.id !== this.activeId)
291
+ this.setActive(item);
292
+ };
293
+ clearSearch = () => {
294
+ this.value = '';
295
+ this.bsClearSearch.emit();
296
+ this.inputEl?.focus();
297
+ };
298
+ sectionLabel(s) {
299
+ return { recent: this.recentLabel, 'jump-to': this.jumpToLabel, 'top-matches': this.topMatchesLabel, 'search-in': this.searchInLabel }[s];
300
+ }
301
+ renderHint(keys, label) {
302
+ return (h("span", { part: "hint", class: "bs-global-search__hint" }, keys, h("span", { class: "bs-global-search__hint-text" }, label)));
303
+ }
304
+ renderFooter() {
305
+ const hasTotal = typeof this.totalResults === 'number';
306
+ const enter = (h("bs-key", null, h("svg", { slot: "icon", ...svgProps }, h("path", { d: "M9 14 4 9l5-5" }), h("path", { d: "M4 9h10.5a5.5 5.5 0 0 1 0 11H11" }))));
307
+ if (this.status === 'results') {
308
+ return (h("div", { part: "footer", class: "bs-global-search__footer" }, h("div", { part: "see-all", class: "bs-global-search__action", onClick: this.onActionWrapperClick(() => this.seeAll()) }, h("bs-button", { class: "bs-global-search__text-button", variant: "subtle", size: "sm", onClick: () => this.seeAll() }, hasTotal ? `See all ${this.totalResults} results` : this.seeAllLabel)), h("span", { class: "bs-global-search__spacer" }), this.renderHint([enter], this.fullResultsLabel)));
309
+ }
310
+ return (h("div", { part: "footer", class: "bs-global-search__footer" }, this.renderHint([
311
+ h("bs-key", null, h("svg", { slot: "icon", ...svgProps }, h("path", { d: "M12 19V5M5 12l7-7 7 7" }))),
312
+ h("bs-key", null, h("svg", { slot: "icon", ...svgProps }, h("path", { d: "M12 5v14M5 12l7 7 7-7" }))),
313
+ ], this.navigateLabel), this.renderHint([enter], this.searchLabel), this.renderHint([h("bs-key", { label: "Esc" })], this.closeLabel), h("span", { class: "bs-global-search__spacer" }), this.filled.recent && (h("div", { part: "clear-recent", class: "bs-global-search__action", onClick: this.onActionWrapperClick(() => this.bsClearRecent.emit()) }, h("bs-button", { class: "bs-global-search__text-button", variant: "subtle", size: "sm", onClick: () => this.bsClearRecent.emit() }, this.clearRecentLabel)))));
314
+ }
315
+ seeAll() {
316
+ this.bsSeeAll.emit();
317
+ this.setOpen(false);
318
+ }
319
+ /** Makes the whole 44px wrapper clickable while the button itself is 32px high. */
320
+ onActionWrapperClick = (fn) => (ev) => {
321
+ if (ev.target === ev.currentTarget)
322
+ fn();
323
+ };
324
+ renderStateBlock(kind) {
325
+ const isEmpty = kind === 'empty';
326
+ return (h("slot", { name: kind }, h("bs-empty-state", { part: "empty", intent: isEmpty ? 'default' : 'error', heading: isEmpty ? this.emptyHeading : this.errorHeading, description: isEmpty ? this.emptyDescription : this.errorDescription }, isEmpty ? (h("svg", { slot: "icon", ...svgProps }, h("circle", { cx: "11", cy: "11", r: "7" }), h("path", { d: "m20 20-3.5-3.5" }))) : (h("svg", { slot: "icon", ...svgProps }, h("circle", { cx: "12", cy: "12", r: "9" }), h("path", { d: "M12 7.5v5M12 16.2v.1" }))), h("bs-button", { slot: "action", variant: "outlined", onClick: () => (isEmpty ? this.clearSearch() : this.bsRetry.emit()) }, isEmpty ? this.clearSearchLabel : this.retryLabel))));
327
+ }
328
+ announcement() {
329
+ if (!this.open)
330
+ return '';
331
+ if (this.status === 'results')
332
+ return typeof this.totalResults === 'number' ? `${this.totalResults} results` : '';
333
+ if (this.status === 'empty')
334
+ return this.emptyHeading;
335
+ if (this.status === 'error')
336
+ return this.errorHeading;
337
+ return '';
338
+ }
339
+ render() {
340
+ const sections = (SECTIONS[this.status] ?? []).filter(s => this.filled[s]);
341
+ const showList = sections.length > 0;
342
+ const listId = `${this.id}-listbox`;
343
+ const isList = this.status === 'default' || this.status === 'results';
344
+ const showFooter = this.showFooter && isList;
345
+ return (h("div", { key: 'dd4477e08b51d52d5309150c4e95f0e560411a05', class: "bs-global-search" }, h("div", { key: 'a37363a1076c4fab1676d4801a0f9751528b42d0', part: "field", class: "bs-global-search__field", role: "combobox", "aria-label": this.label || this.placeholder, "aria-expanded": String(this.open && showList), "aria-haspopup": "listbox", "aria-controls": this.open && showList ? listId : undefined, "aria-activedescendant": this.open && this.activeId ? this.activeId : undefined, onKeyDown: this.onKeyDown, onFocusin: () => this.setOpen(true), onClick: () => this.setOpen(true) }, h("bs-input", { key: 'c0a4d130a36937c90c95659b439eef20655a6c99', ref: el => (this.inputEl = el), type: "search", value: this.value, placeholder: this.placeholder, disabled: this.disabled, onBsInput: this.onInput })), this.open && (h("div", { key: 'f85e3f63bf82a5de2648e8fa60f4fd4df288ec3b', part: "panel", class: "bs-global-search__panel", onMouseDown: (ev) => ev.preventDefault(), onMouseOver: this.onPanelMouseOver }, isList && showList && (h("div", { key: 'cc926315b2b1d2ad62026531a4174cb84df713a8', id: listId, class: "bs-global-search__list", role: "listbox", "aria-label": this.listLabel }, sections.map(s => {
346
+ const hid = `${this.id}-h-${s}`;
347
+ return (h("div", { part: "section", class: "bs-global-search__section", role: "group", "aria-labelledby": hid }, h("div", { part: "section-header", id: hid, class: "bs-global-search__section-header" }, this.sectionLabel(s)), h("slot", { name: s })));
348
+ }))), this.status === 'empty' && this.renderStateBlock('empty'), this.status === 'error' && this.renderStateBlock('error'), showFooter && this.renderFooter())), h("span", { key: '4bf9f7fc2a00853aee7b48328819ef0a9181d668', class: "bs-global-search__live", "aria-live": "polite" }, this.announcement())));
349
+ }
350
+ static get is() { return "bs-global-search"; }
351
+ static get encapsulation() { return "shadow"; }
352
+ static get originalStyleUrls() {
353
+ return {
354
+ "$": ["bs-global-search.css"]
355
+ };
356
+ }
357
+ static get styleUrls() {
358
+ return {
359
+ "$": ["bs-global-search.css"]
360
+ };
361
+ }
362
+ static get properties() {
363
+ return {
364
+ "value": {
365
+ "type": "string",
366
+ "mutable": true,
367
+ "complexType": {
368
+ "original": "string",
369
+ "resolved": "string",
370
+ "references": {}
371
+ },
372
+ "required": false,
373
+ "optional": false,
374
+ "docs": {
375
+ "tags": [],
376
+ "text": "The query. Two-way with the field."
377
+ },
378
+ "getter": false,
379
+ "setter": false,
380
+ "reflect": false,
381
+ "attribute": "value",
382
+ "defaultValue": "''"
383
+ },
384
+ "placeholder": {
385
+ "type": "string",
386
+ "mutable": false,
387
+ "complexType": {
388
+ "original": "string",
389
+ "resolved": "string",
390
+ "references": {}
391
+ },
392
+ "required": false,
393
+ "optional": false,
394
+ "docs": {
395
+ "tags": [],
396
+ "text": "Placeholder of the field (also its accessible name unless `label` is set)."
397
+ },
398
+ "getter": false,
399
+ "setter": false,
400
+ "reflect": false,
401
+ "attribute": "placeholder",
402
+ "defaultValue": "'Search customers, orders, products\u2026'"
403
+ },
404
+ "label": {
405
+ "type": "string",
406
+ "mutable": false,
407
+ "complexType": {
408
+ "original": "string",
409
+ "resolved": "string",
410
+ "references": {}
411
+ },
412
+ "required": false,
413
+ "optional": true,
414
+ "docs": {
415
+ "tags": [],
416
+ "text": "Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper."
417
+ },
418
+ "getter": false,
419
+ "setter": false,
420
+ "reflect": false,
421
+ "attribute": "label"
422
+ },
423
+ "disabled": {
424
+ "type": "boolean",
425
+ "mutable": false,
426
+ "complexType": {
427
+ "original": "boolean",
428
+ "resolved": "boolean",
429
+ "references": {}
430
+ },
431
+ "required": false,
432
+ "optional": false,
433
+ "docs": {
434
+ "tags": [],
435
+ "text": "Disables the field; the panel cannot open."
436
+ },
437
+ "getter": false,
438
+ "setter": false,
439
+ "reflect": true,
440
+ "attribute": "disabled",
441
+ "defaultValue": "false"
442
+ },
443
+ "open": {
444
+ "type": "boolean",
445
+ "mutable": true,
446
+ "complexType": {
447
+ "original": "boolean",
448
+ "resolved": "boolean",
449
+ "references": {}
450
+ },
451
+ "required": false,
452
+ "optional": false,
453
+ "docs": {
454
+ "tags": [],
455
+ "text": "Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection."
456
+ },
457
+ "getter": false,
458
+ "setter": false,
459
+ "reflect": true,
460
+ "attribute": "open",
461
+ "defaultValue": "false"
462
+ },
463
+ "status": {
464
+ "type": "string",
465
+ "mutable": false,
466
+ "complexType": {
467
+ "original": "BsGlobalSearchStatus",
468
+ "resolved": "\"default\" | \"empty\" | \"error\" | \"results\"",
469
+ "references": {
470
+ "BsGlobalSearchStatus": {
471
+ "location": "local",
472
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-global-search/bs-global-search.tsx",
473
+ "id": "src/components/bs-global-search/bs-global-search.tsx::BsGlobalSearchStatus"
474
+ }
475
+ }
476
+ },
477
+ "required": false,
478
+ "optional": false,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": "Which view the panel shows. You choose it; nothing is inferred from `value`."
482
+ },
483
+ "getter": false,
484
+ "setter": false,
485
+ "reflect": true,
486
+ "attribute": "status",
487
+ "defaultValue": "'default'"
488
+ },
489
+ "totalResults": {
490
+ "type": "number",
491
+ "mutable": false,
492
+ "complexType": {
493
+ "original": "number",
494
+ "resolved": "number",
495
+ "references": {}
496
+ },
497
+ "required": false,
498
+ "optional": true,
499
+ "docs": {
500
+ "tags": [],
501
+ "text": "Total number of results (status `results`): shown as \"See all {n} results\" and announced to screen readers."
502
+ },
503
+ "getter": false,
504
+ "setter": false,
505
+ "reflect": false,
506
+ "attribute": "total-results"
507
+ },
508
+ "showFooter": {
509
+ "type": "boolean",
510
+ "mutable": false,
511
+ "complexType": {
512
+ "original": "boolean",
513
+ "resolved": "boolean",
514
+ "references": {}
515
+ },
516
+ "required": false,
517
+ "optional": false,
518
+ "docs": {
519
+ "tags": [],
520
+ "text": "Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views."
521
+ },
522
+ "getter": false,
523
+ "setter": false,
524
+ "reflect": false,
525
+ "attribute": "show-footer",
526
+ "defaultValue": "true"
527
+ },
528
+ "listLabel": {
529
+ "type": "string",
530
+ "mutable": false,
531
+ "complexType": {
532
+ "original": "string",
533
+ "resolved": "string",
534
+ "references": {}
535
+ },
536
+ "required": false,
537
+ "optional": false,
538
+ "docs": {
539
+ "tags": [],
540
+ "text": "Accessible name of the suggestions listbox."
541
+ },
542
+ "getter": false,
543
+ "setter": false,
544
+ "reflect": false,
545
+ "attribute": "list-label",
546
+ "defaultValue": "'Search suggestions'"
547
+ },
548
+ "recentLabel": {
549
+ "type": "string",
550
+ "mutable": false,
551
+ "complexType": {
552
+ "original": "string",
553
+ "resolved": "string",
554
+ "references": {}
555
+ },
556
+ "required": false,
557
+ "optional": false,
558
+ "docs": {
559
+ "tags": [],
560
+ "text": "Header of the `recent` section."
561
+ },
562
+ "getter": false,
563
+ "setter": false,
564
+ "reflect": false,
565
+ "attribute": "recent-label",
566
+ "defaultValue": "'Recent searches'"
567
+ },
568
+ "jumpToLabel": {
569
+ "type": "string",
570
+ "mutable": false,
571
+ "complexType": {
572
+ "original": "string",
573
+ "resolved": "string",
574
+ "references": {}
575
+ },
576
+ "required": false,
577
+ "optional": false,
578
+ "docs": {
579
+ "tags": [],
580
+ "text": "Header of the `jump-to` section."
581
+ },
582
+ "getter": false,
583
+ "setter": false,
584
+ "reflect": false,
585
+ "attribute": "jump-to-label",
586
+ "defaultValue": "'Jump to'"
587
+ },
588
+ "topMatchesLabel": {
589
+ "type": "string",
590
+ "mutable": false,
591
+ "complexType": {
592
+ "original": "string",
593
+ "resolved": "string",
594
+ "references": {}
595
+ },
596
+ "required": false,
597
+ "optional": false,
598
+ "docs": {
599
+ "tags": [],
600
+ "text": "Header of the `top-matches` section."
601
+ },
602
+ "getter": false,
603
+ "setter": false,
604
+ "reflect": false,
605
+ "attribute": "top-matches-label",
606
+ "defaultValue": "'Top matches'"
607
+ },
608
+ "searchInLabel": {
609
+ "type": "string",
610
+ "mutable": false,
611
+ "complexType": {
612
+ "original": "string",
613
+ "resolved": "string",
614
+ "references": {}
615
+ },
616
+ "required": false,
617
+ "optional": false,
618
+ "docs": {
619
+ "tags": [],
620
+ "text": "Header of the `search-in` section."
621
+ },
622
+ "getter": false,
623
+ "setter": false,
624
+ "reflect": false,
625
+ "attribute": "search-in-label",
626
+ "defaultValue": "'Search in'"
627
+ },
628
+ "navigateLabel": {
629
+ "type": "string",
630
+ "mutable": false,
631
+ "complexType": {
632
+ "original": "string",
633
+ "resolved": "string",
634
+ "references": {}
635
+ },
636
+ "required": false,
637
+ "optional": false,
638
+ "docs": {
639
+ "tags": [],
640
+ "text": "Footer hint text after the arrow keys."
641
+ },
642
+ "getter": false,
643
+ "setter": false,
644
+ "reflect": false,
645
+ "attribute": "navigate-label",
646
+ "defaultValue": "'Navigate'"
647
+ },
648
+ "searchLabel": {
649
+ "type": "string",
650
+ "mutable": false,
651
+ "complexType": {
652
+ "original": "string",
653
+ "resolved": "string",
654
+ "references": {}
655
+ },
656
+ "required": false,
657
+ "optional": false,
658
+ "docs": {
659
+ "tags": [],
660
+ "text": "Footer hint text after the Enter key (default view)."
661
+ },
662
+ "getter": false,
663
+ "setter": false,
664
+ "reflect": false,
665
+ "attribute": "search-label",
666
+ "defaultValue": "'Search'"
667
+ },
668
+ "closeLabel": {
669
+ "type": "string",
670
+ "mutable": false,
671
+ "complexType": {
672
+ "original": "string",
673
+ "resolved": "string",
674
+ "references": {}
675
+ },
676
+ "required": false,
677
+ "optional": false,
678
+ "docs": {
679
+ "tags": [],
680
+ "text": "Footer hint text after the Esc key."
681
+ },
682
+ "getter": false,
683
+ "setter": false,
684
+ "reflect": false,
685
+ "attribute": "close-label",
686
+ "defaultValue": "'Close'"
687
+ },
688
+ "fullResultsLabel": {
689
+ "type": "string",
690
+ "mutable": false,
691
+ "complexType": {
692
+ "original": "string",
693
+ "resolved": "string",
694
+ "references": {}
695
+ },
696
+ "required": false,
697
+ "optional": false,
698
+ "docs": {
699
+ "tags": [],
700
+ "text": "Footer hint text after the Enter key (results view)."
701
+ },
702
+ "getter": false,
703
+ "setter": false,
704
+ "reflect": false,
705
+ "attribute": "full-results-label",
706
+ "defaultValue": "'Full results'"
707
+ },
708
+ "clearRecentLabel": {
709
+ "type": "string",
710
+ "mutable": false,
711
+ "complexType": {
712
+ "original": "string",
713
+ "resolved": "string",
714
+ "references": {}
715
+ },
716
+ "required": false,
717
+ "optional": false,
718
+ "docs": {
719
+ "tags": [],
720
+ "text": "Text of the footer button that clears recent searches."
721
+ },
722
+ "getter": false,
723
+ "setter": false,
724
+ "reflect": false,
725
+ "attribute": "clear-recent-label",
726
+ "defaultValue": "'Clear recent'"
727
+ },
728
+ "seeAllLabel": {
729
+ "type": "string",
730
+ "mutable": false,
731
+ "complexType": {
732
+ "original": "string",
733
+ "resolved": "string",
734
+ "references": {}
735
+ },
736
+ "required": false,
737
+ "optional": false,
738
+ "docs": {
739
+ "tags": [],
740
+ "text": "Text of the footer button of the results view, when `totalResults` is not set."
741
+ },
742
+ "getter": false,
743
+ "setter": false,
744
+ "reflect": false,
745
+ "attribute": "see-all-label",
746
+ "defaultValue": "'See all results'"
747
+ },
748
+ "emptyHeading": {
749
+ "type": "string",
750
+ "mutable": false,
751
+ "complexType": {
752
+ "original": "string",
753
+ "resolved": "string",
754
+ "references": {}
755
+ },
756
+ "required": false,
757
+ "optional": false,
758
+ "docs": {
759
+ "tags": [],
760
+ "text": "Heading of the built-in empty state."
761
+ },
762
+ "getter": false,
763
+ "setter": false,
764
+ "reflect": false,
765
+ "attribute": "empty-heading",
766
+ "defaultValue": "'No results'"
767
+ },
768
+ "emptyDescription": {
769
+ "type": "string",
770
+ "mutable": false,
771
+ "complexType": {
772
+ "original": "string",
773
+ "resolved": "string",
774
+ "references": {}
775
+ },
776
+ "required": false,
777
+ "optional": false,
778
+ "docs": {
779
+ "tags": [],
780
+ "text": "Description of the built-in empty state."
781
+ },
782
+ "getter": false,
783
+ "setter": false,
784
+ "reflect": false,
785
+ "attribute": "empty-description",
786
+ "defaultValue": "'Try a different search.'"
787
+ },
788
+ "clearSearchLabel": {
789
+ "type": "string",
790
+ "mutable": false,
791
+ "complexType": {
792
+ "original": "string",
793
+ "resolved": "string",
794
+ "references": {}
795
+ },
796
+ "required": false,
797
+ "optional": false,
798
+ "docs": {
799
+ "tags": [],
800
+ "text": "Text of the empty state's action."
801
+ },
802
+ "getter": false,
803
+ "setter": false,
804
+ "reflect": false,
805
+ "attribute": "clear-search-label",
806
+ "defaultValue": "'Clear search'"
807
+ },
808
+ "errorHeading": {
809
+ "type": "string",
810
+ "mutable": false,
811
+ "complexType": {
812
+ "original": "string",
813
+ "resolved": "string",
814
+ "references": {}
815
+ },
816
+ "required": false,
817
+ "optional": false,
818
+ "docs": {
819
+ "tags": [],
820
+ "text": "Heading of the built-in error state."
821
+ },
822
+ "getter": false,
823
+ "setter": false,
824
+ "reflect": false,
825
+ "attribute": "error-heading",
826
+ "defaultValue": "'Search isn\u2019t available right now'"
827
+ },
828
+ "errorDescription": {
829
+ "type": "string",
830
+ "mutable": false,
831
+ "complexType": {
832
+ "original": "string",
833
+ "resolved": "string",
834
+ "references": {}
835
+ },
836
+ "required": false,
837
+ "optional": false,
838
+ "docs": {
839
+ "tags": [],
840
+ "text": "Description of the built-in error state."
841
+ },
842
+ "getter": false,
843
+ "setter": false,
844
+ "reflect": false,
845
+ "attribute": "error-description",
846
+ "defaultValue": "'We couldn\u2019t reach the server. Your query is kept \u2014 try again in a moment.'"
847
+ },
848
+ "retryLabel": {
849
+ "type": "string",
850
+ "mutable": false,
851
+ "complexType": {
852
+ "original": "string",
853
+ "resolved": "string",
854
+ "references": {}
855
+ },
856
+ "required": false,
857
+ "optional": false,
858
+ "docs": {
859
+ "tags": [],
860
+ "text": "Text of the error state's action."
861
+ },
862
+ "getter": false,
863
+ "setter": false,
864
+ "reflect": false,
865
+ "attribute": "retry-label",
866
+ "defaultValue": "'Try again'"
867
+ }
868
+ };
869
+ }
870
+ static get states() {
871
+ return {
872
+ "filled": {},
873
+ "activeId": {}
874
+ };
875
+ }
876
+ static get events() {
877
+ return [{
878
+ "method": "bsInput",
879
+ "name": "bsInput",
880
+ "bubbles": true,
881
+ "cancelable": true,
882
+ "composed": true,
883
+ "docs": {
884
+ "tags": [],
885
+ "text": "Fires on every keystroke with the query. The component filters nothing itself."
886
+ },
887
+ "complexType": {
888
+ "original": "string",
889
+ "resolved": "string",
890
+ "references": {}
891
+ }
892
+ }, {
893
+ "method": "bsSearch",
894
+ "name": "bsSearch",
895
+ "bubbles": true,
896
+ "cancelable": true,
897
+ "composed": true,
898
+ "docs": {
899
+ "tags": [],
900
+ "text": "Fires on Enter with no highlighted item, with the query."
901
+ },
902
+ "complexType": {
903
+ "original": "string",
904
+ "resolved": "string",
905
+ "references": {}
906
+ }
907
+ }, {
908
+ "method": "bsSelect",
909
+ "name": "bsSelect",
910
+ "bubbles": true,
911
+ "cancelable": true,
912
+ "composed": true,
913
+ "docs": {
914
+ "tags": [],
915
+ "text": "Fires when an item is chosen (click or Enter), with its `value` and section (slot name)."
916
+ },
917
+ "complexType": {
918
+ "original": "BsGlobalSearchSelectDetail",
919
+ "resolved": "BsGlobalSearchSelectDetail",
920
+ "references": {
921
+ "BsGlobalSearchSelectDetail": {
922
+ "location": "local",
923
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-global-search/bs-global-search.tsx",
924
+ "id": "src/components/bs-global-search/bs-global-search.tsx::BsGlobalSearchSelectDetail"
925
+ }
926
+ }
927
+ }
928
+ }, {
929
+ "method": "bsOpenChange",
930
+ "name": "bsOpenChange",
931
+ "bubbles": true,
932
+ "cancelable": true,
933
+ "composed": true,
934
+ "docs": {
935
+ "tags": [],
936
+ "text": "Fires when the panel opens or closes through user interaction, with the new state."
937
+ },
938
+ "complexType": {
939
+ "original": "boolean",
940
+ "resolved": "boolean",
941
+ "references": {}
942
+ }
943
+ }, {
944
+ "method": "bsClearRecent",
945
+ "name": "bsClearRecent",
946
+ "bubbles": true,
947
+ "cancelable": true,
948
+ "composed": true,
949
+ "docs": {
950
+ "tags": [],
951
+ "text": "Fires when \"Clear recent\" is pressed."
952
+ },
953
+ "complexType": {
954
+ "original": "void",
955
+ "resolved": "void",
956
+ "references": {}
957
+ }
958
+ }, {
959
+ "method": "bsClearSearch",
960
+ "name": "bsClearSearch",
961
+ "bubbles": true,
962
+ "cancelable": true,
963
+ "composed": true,
964
+ "docs": {
965
+ "tags": [],
966
+ "text": "Fires when the empty state's \"Clear search\" is pressed; the value is also cleared."
967
+ },
968
+ "complexType": {
969
+ "original": "void",
970
+ "resolved": "void",
971
+ "references": {}
972
+ }
973
+ }, {
974
+ "method": "bsSeeAll",
975
+ "name": "bsSeeAll",
976
+ "bubbles": true,
977
+ "cancelable": true,
978
+ "composed": true,
979
+ "docs": {
980
+ "tags": [],
981
+ "text": "Fires when \"See all results\" is pressed."
982
+ },
983
+ "complexType": {
984
+ "original": "void",
985
+ "resolved": "void",
986
+ "references": {}
987
+ }
988
+ }, {
989
+ "method": "bsRetry",
990
+ "name": "bsRetry",
991
+ "bubbles": true,
992
+ "cancelable": true,
993
+ "composed": true,
994
+ "docs": {
995
+ "tags": [],
996
+ "text": "Fires when the error state's \"Try again\" is pressed."
997
+ },
998
+ "complexType": {
999
+ "original": "void",
1000
+ "resolved": "void",
1001
+ "references": {}
1002
+ }
1003
+ }];
1004
+ }
1005
+ static get elementRef() { return "el"; }
1006
+ static get watchers() {
1007
+ return [{
1008
+ "propName": "status",
1009
+ "methodName": "resetActive"
1010
+ }, {
1011
+ "propName": "open",
1012
+ "methodName": "resetActive"
1013
+ }];
1014
+ }
1015
+ static get listeners() {
1016
+ return [{
1017
+ "name": "bsItemSelect",
1018
+ "method": "onItemSelect",
1019
+ "target": undefined,
1020
+ "capture": false,
1021
+ "passive": false
1022
+ }];
1023
+ }
1024
+ }