@brandsync/wc 1.16.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 (451) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/REFERENCE.md +231 -0
  3. package/custom-elements.json +3902 -1547
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-0228a584.entry.js → p-044ac86c.entry.js} +1 -1
  6. package/dist/brandsync-wc/p-065c7e7c.entry.js +1 -0
  7. package/dist/brandsync-wc/{p-e9afb553.entry.js → p-07673a48.entry.js} +1 -1
  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-15f4c343.entry.js → p-2bd30709.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-76748795.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-67629178.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-cc4c8c1d.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-949a4270.entry.js → p-79fc849c.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-5a45ef51.entry.js → p-7ed071fb.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-298158da.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-a12691d8.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-0159f0da.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-521d0fc2.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-7dc59e0b.entry.js → p-e8ae626d.entry.js} +1 -1
  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-38fe9d07.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-42b79d95.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 +1 -1
  110. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  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 +2 -2
  141. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  142. package/dist/cjs/loader.cjs.js +1 -1
  143. package/dist/collection/collection-manifest.json +9 -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.js +1 -1
  197. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  198. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  199. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  200. package/dist/collection/components/bs-message/bs-message.js +1 -1
  201. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  202. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  203. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  204. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  205. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  206. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  207. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  208. package/dist/collection/components/bs-search-item/bs-search-item.cmp.test.js +147 -0
  209. package/dist/collection/components/bs-search-item/bs-search-item.css +112 -0
  210. package/dist/collection/components/bs-search-item/bs-search-item.js +222 -0
  211. package/dist/collection/components/bs-search-item/bs-search-item.stories.js +31 -0
  212. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  213. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.cmp.test.js +60 -0
  214. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.css +42 -0
  215. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +154 -0
  216. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +24 -0
  217. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  218. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  219. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  220. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  221. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  222. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  223. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  224. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  225. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  226. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  227. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  228. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  229. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  230. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  231. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  232. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  233. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  234. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  235. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  236. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  237. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  238. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  239. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  240. package/dist/components/bs-accordion-group.js +1 -1
  241. package/dist/components/bs-ai-disclaimer.js +1 -1
  242. package/dist/components/bs-ai-greeting.js +1 -1
  243. package/dist/components/bs-ai-thinking.js +1 -1
  244. package/dist/components/bs-app-shell.js +1 -1
  245. package/dist/components/bs-attachment-list.js +1 -1
  246. package/dist/components/bs-attachment.js +1 -1
  247. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  248. package/dist/components/bs-breadcrumbs.js +1 -1
  249. package/dist/components/bs-button-skeleton.js +1 -1
  250. package/dist/components/bs-carousel.js +1 -1
  251. package/dist/components/bs-chatbot-feedback.js +1 -1
  252. package/dist/components/bs-chatbot-header.js +1 -1
  253. package/dist/components/bs-chatbot-response-action.js +1 -1
  254. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  255. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  256. package/dist/components/bs-checkbox-skeleton.js +1 -1
  257. package/dist/components/bs-citation-preview.js +1 -1
  258. package/dist/components/bs-command-palette.d.ts +11 -0
  259. package/dist/components/bs-command-palette.js +1 -0
  260. package/dist/components/bs-composer-status-banner.js +1 -1
  261. package/dist/components/bs-composer.js +1 -1
  262. package/dist/components/bs-container.js +1 -1
  263. package/dist/components/bs-cookie-consent.js +1 -1
  264. package/dist/components/bs-data-table.js +1 -1
  265. package/dist/components/bs-datepicker.js +1 -1
  266. package/dist/components/bs-dialog.js +1 -1
  267. package/dist/components/bs-divider.js +1 -1
  268. package/dist/components/bs-empty-state.d.ts +11 -0
  269. package/dist/components/bs-empty-state.js +1 -0
  270. package/dist/components/bs-error-page.js +1 -1
  271. package/dist/components/bs-file-upload-item.js +1 -1
  272. package/dist/components/bs-file-upload.js +1 -1
  273. package/dist/components/bs-global-search.d.ts +11 -0
  274. package/dist/components/bs-global-search.js +1 -0
  275. package/dist/components/bs-grid.js +1 -1
  276. package/dist/components/bs-icon-button.js +1 -1
  277. package/dist/components/bs-icon-tile.js +1 -1
  278. package/dist/components/bs-inline-tab.js +1 -1
  279. package/dist/components/bs-input.js +1 -1
  280. package/dist/components/bs-key-caps.d.ts +11 -0
  281. package/dist/components/bs-key-caps.js +1 -0
  282. package/dist/components/bs-key.d.ts +11 -0
  283. package/dist/components/bs-key.js +1 -0
  284. package/dist/components/bs-keyboard-shortcuts.d.ts +11 -0
  285. package/dist/components/bs-keyboard-shortcuts.js +1 -0
  286. package/dist/components/bs-list-item.js +1 -1
  287. package/dist/components/bs-list.js +1 -1
  288. package/dist/components/bs-menu-item.js +1 -1
  289. package/dist/components/bs-menu.js +1 -1
  290. package/dist/components/bs-message-list.js +1 -1
  291. package/dist/components/bs-message.js +1 -1
  292. package/dist/components/bs-navigation-drawer-item.js +1 -1
  293. package/dist/components/bs-navigation-drawer.js +1 -1
  294. package/dist/components/bs-navigation-header.js +1 -1
  295. package/dist/components/bs-onboarding-checklist.js +1 -1
  296. package/dist/components/bs-pagination.js +1 -1
  297. package/dist/components/bs-popover.js +1 -1
  298. package/dist/components/bs-product-tour.js +1 -1
  299. package/dist/components/bs-progress-linear.js +1 -1
  300. package/dist/components/bs-progress.js +1 -1
  301. package/dist/components/bs-qr-code.js +1 -1
  302. package/dist/components/bs-radio.js +1 -1
  303. package/dist/components/bs-search-item.d.ts +11 -0
  304. package/dist/components/bs-search-item.js +1 -0
  305. package/dist/components/bs-session-timeout.js +1 -1
  306. package/dist/components/bs-shortcut-row.d.ts +11 -0
  307. package/dist/components/bs-shortcut-row.js +1 -0
  308. package/dist/components/bs-side-panel.js +1 -1
  309. package/dist/components/bs-skeleton.js +1 -1
  310. package/dist/components/bs-slider.js +1 -1
  311. package/dist/components/bs-snackbar.js +1 -1
  312. package/dist/components/bs-source-link.js +1 -1
  313. package/dist/components/bs-spinner.js +1 -1
  314. package/dist/components/bs-split-pane.js +1 -1
  315. package/dist/components/bs-stack.js +1 -1
  316. package/dist/components/bs-stepper-step.js +1 -1
  317. package/dist/components/bs-stepper.js +1 -1
  318. package/dist/components/bs-switch.js +1 -1
  319. package/dist/components/bs-tab.js +1 -1
  320. package/dist/components/bs-tabs.js +1 -1
  321. package/dist/components/bs-timepicker.js +1 -1
  322. package/dist/components/bs-toast.js +1 -1
  323. package/dist/components/bs-tooltip-trigger.js +1 -1
  324. package/dist/components/bs-tooltip.js +1 -1
  325. package/dist/components/bs-tree-item.js +1 -1
  326. package/dist/components/bs-tree.js +1 -1
  327. package/dist/components/bs-whats-new-entry.js +1 -1
  328. package/dist/components/bs-whats-new.js +1 -1
  329. package/dist/components/{p-GTDI4Ibw.js → p-B32Kl4IB.js} +1 -1
  330. package/dist/components/{p-B128GX8H.js → p-BDnZvjlq.js} +1 -1
  331. package/dist/components/{p-BdkE4auv.js → p-BUpnOUIM.js} +1 -1
  332. package/dist/components/p-BcYNrEOB.js +1 -0
  333. package/dist/components/{p-B80vOwH6.js → p-BcbaiZLh.js} +1 -1
  334. package/dist/components/p-Bp3DIxjT.js +1 -0
  335. package/dist/components/p-CH5atin4.js +1 -0
  336. package/dist/components/{p-kDJsWjTN.js → p-CRM1wIX9.js} +1 -1
  337. package/dist/components/p-CYzBTzzf.js +1 -0
  338. package/dist/components/p-CervX0wH.js +1 -0
  339. package/dist/components/{p-C93ymWm7.js → p-Cpe2k7ZC.js} +1 -1
  340. package/dist/components/{p-Bb1-2M8K.js → p-D7AXo5NT.js} +1 -1
  341. package/dist/components/{p-J9cxcDhY.js → p-D8bvv9QQ.js} +1 -1
  342. package/dist/components/{p-DFKc3lLA.js → p-DG9eT5yi.js} +1 -1
  343. package/dist/components/{p-D0KM1R2i.js → p-DMLfXpva.js} +1 -1
  344. package/dist/components/{p-CQjSDdH7.js → p-DYDk73TF.js} +1 -1
  345. package/dist/components/{p-C7RZ6qZC.js → p-DcjgRtSQ.js} +1 -1
  346. package/dist/components/p-Dt4JNhHT.js +1 -0
  347. package/dist/components/{p-CK7fiES5.js → p-DtYTs9Kh.js} +1 -1
  348. package/dist/components/{p-BsbtyRJV.js → p-TAY9S9yG.js} +1 -1
  349. package/dist/components/{p-ByLUtXxO.js → p-w-DkdA4O.js} +1 -1
  350. package/dist/esm/brandsync-wc.js +1 -1
  351. package/dist/esm/bs-accordion-group.entry.js +1 -1
  352. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  353. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  354. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  355. package/dist/esm/bs-app-shell.entry.js +1 -1
  356. package/dist/esm/bs-attachment-list.entry.js +1 -1
  357. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  358. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  359. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  360. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  361. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  362. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  363. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  364. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  365. package/dist/esm/bs-citation-preview.entry.js +1 -1
  366. package/dist/esm/bs-command-palette.entry.js +372 -0
  367. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  368. package/dist/esm/bs-composer.entry.js +1 -1
  369. package/dist/esm/bs-container.entry.js +1 -1
  370. package/dist/esm/bs-data-table.entry.js +2 -2
  371. package/dist/esm/bs-datepicker.entry.js +1 -1
  372. package/dist/esm/bs-divider.entry.js +1 -1
  373. package/dist/esm/bs-empty-state.entry.js +45 -0
  374. package/dist/esm/bs-error-page.entry.js +1 -1
  375. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  376. package/dist/esm/bs-file-upload.entry.js +1 -1
  377. package/dist/esm/bs-global-search.entry.js +324 -0
  378. package/dist/esm/bs-grid.entry.js +2 -2
  379. package/dist/esm/bs-icon-button.entry.js +1 -1
  380. package/dist/esm/bs-icon-tile.entry.js +2 -2
  381. package/dist/esm/bs-inline-tab.entry.js +1 -1
  382. package/dist/esm/bs-input_3.entry.js +4 -4
  383. package/dist/esm/bs-key-caps.entry.js +37 -0
  384. package/dist/esm/bs-key.entry.js +26 -0
  385. package/dist/esm/bs-keyboard-shortcuts.entry.js +110 -0
  386. package/dist/esm/bs-list-item.entry.js +1 -1
  387. package/dist/esm/bs-list.entry.js +1 -1
  388. package/dist/esm/bs-message-list.entry.js +1 -1
  389. package/dist/esm/bs-message.entry.js +1 -1
  390. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  391. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  392. package/dist/esm/bs-navigation-header.entry.js +1 -1
  393. package/dist/esm/bs-pagination.entry.js +1 -1
  394. package/dist/esm/bs-popover.entry.js +1 -1
  395. package/dist/esm/bs-progress-linear.entry.js +2 -2
  396. package/dist/esm/bs-progress.entry.js +2 -2
  397. package/dist/esm/bs-qr-code.entry.js +1 -1
  398. package/dist/esm/bs-radio.entry.js +1 -1
  399. package/dist/esm/bs-search-item.entry.js +45 -0
  400. package/dist/esm/bs-session-timeout.entry.js +1 -1
  401. package/dist/esm/bs-shortcut-row.entry.js +25 -0
  402. package/dist/esm/bs-skeleton.entry.js +1 -1
  403. package/dist/esm/bs-slider.entry.js +1 -1
  404. package/dist/esm/bs-snackbar.entry.js +1 -1
  405. package/dist/esm/bs-source-link.entry.js +2 -2
  406. package/dist/esm/bs-spinner.entry.js +1 -1
  407. package/dist/esm/bs-split-pane.entry.js +1 -1
  408. package/dist/esm/bs-stack.entry.js +1 -1
  409. package/dist/esm/bs-stepper-step.entry.js +1 -1
  410. package/dist/esm/bs-stepper.entry.js +1 -1
  411. package/dist/esm/bs-switch.entry.js +1 -1
  412. package/dist/esm/bs-tab_3.entry.js +3 -3
  413. package/dist/esm/bs-timepicker.entry.js +2 -2
  414. package/dist/esm/bs-toast.entry.js +1 -1
  415. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  416. package/dist/esm/bs-tooltip.entry.js +1 -1
  417. package/dist/esm/bs-tree-item.entry.js +2 -2
  418. package/dist/esm/bs-tree.entry.js +1 -1
  419. package/dist/esm/loader.js +1 -1
  420. package/dist/types/components/bs-command-palette/bs-command-palette.cmp.test.d.ts +1 -0
  421. package/dist/types/components/bs-command-palette/bs-command-palette.d.ts +172 -0
  422. package/dist/types/components/bs-command-palette/bs-command-palette.stories.d.ts +56 -0
  423. package/dist/types/components/bs-empty-state/bs-empty-state.cmp.test.d.ts +1 -0
  424. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +50 -0
  425. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +13 -0
  426. package/dist/types/components/bs-global-search/bs-global-search.cmp.test.d.ts +1 -0
  427. package/dist/types/components/bs-global-search/bs-global-search.d.ts +166 -0
  428. package/dist/types/components/bs-global-search/bs-global-search.stories.d.ts +61 -0
  429. package/dist/types/components/bs-key/bs-key.cmp.test.d.ts +1 -0
  430. package/dist/types/components/bs-key/bs-key.d.ts +36 -0
  431. package/dist/types/components/bs-key/bs-key.stories.d.ts +11 -0
  432. package/dist/types/components/bs-key-caps/bs-key-caps.cmp.test.d.ts +1 -0
  433. package/dist/types/components/bs-key-caps/bs-key-caps.d.ts +31 -0
  434. package/dist/types/components/bs-key-caps/bs-key-caps.stories.d.ts +15 -0
  435. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.d.ts +1 -0
  436. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.d.ts +95 -0
  437. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.d.ts +43 -0
  438. package/dist/types/components/bs-search-item/bs-search-item.cmp.test.d.ts +1 -0
  439. package/dist/types/components/bs-search-item/bs-search-item.d.ts +61 -0
  440. package/dist/types/components/bs-search-item/bs-search-item.stories.d.ts +13 -0
  441. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.cmp.test.d.ts +1 -0
  442. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.d.ts +38 -0
  443. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.stories.d.ts +13 -0
  444. package/dist/types/components.d.ts +1902 -76
  445. package/package.json +1 -1
  446. package/reference.d.ts +24 -0
  447. package/reference.json +855 -76
  448. package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
  449. package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
  450. package/dist/brandsync-wc/p-e72dd05e.entry.js +0 -1
  451. package/dist/components/p-BaJEv6rL.js +0 -1
@@ -0,0 +1,56 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ /** Inline icon paths (no external URLs). */
3
+ export declare const ICON_PATHS: {
4
+ users: string;
5
+ invoice: string;
6
+ plus: string;
7
+ package: string;
8
+ store: string;
9
+ arrow: string;
10
+ moon: string;
11
+ sun: string;
12
+ monitor: string;
13
+ download: string;
14
+ search: string;
15
+ list: string;
16
+ };
17
+ export interface PaletteRow {
18
+ value: string;
19
+ section: string;
20
+ label: string;
21
+ /** Bold part of the label. */
22
+ match?: string;
23
+ rest?: string;
24
+ description?: string;
25
+ trailing?: string;
26
+ keys?: string;
27
+ icon: keyof typeof ICON_PATHS;
28
+ }
29
+ /** Figma "Command Palette" data, shared by the stories and the tests. */
30
+ export declare const DEFAULT_ROWS: PaletteRow[];
31
+ export declare const SEARCHING_ROWS: PaletteRow[];
32
+ export declare const COMMANDS_ONLY_ROWS: PaletteRow[];
33
+ export declare const TRY_INSTEAD_ROWS: PaletteRow[];
34
+ interface BsCommandPaletteArgs {
35
+ open: boolean;
36
+ value: string;
37
+ status: 'default' | 'results' | 'empty' | 'loading';
38
+ placeholder: string;
39
+ showFooter: boolean;
40
+ keepOpenOnSelect: boolean;
41
+ hotkey: string;
42
+ scopeLabel?: string;
43
+ emptyHeading: string;
44
+ emptyDescription: string;
45
+ didYouMean?: string;
46
+ }
47
+ declare const meta: Meta<BsCommandPaletteArgs>;
48
+ export default meta;
49
+ type Story = StoryObj<BsCommandPaletteArgs>;
50
+ export declare const Closed: Story;
51
+ export declare const Default: Story;
52
+ export declare const Searching: Story;
53
+ export declare const CommandsOnly: Story;
54
+ export declare const NoResults: Story;
55
+ export declare const Loading: Story;
56
+ export declare const Interactive: Story;
@@ -0,0 +1,50 @@
1
+ import type { BsIconTileIntent } from '../bs-icon-tile/bs-icon-tile';
2
+ /**
3
+ * A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
4
+ * Used for empty lists, "no results" and error states inside a panel, card or page section.
5
+ *
6
+ * Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
7
+ *
8
+ * The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
9
+ * element that stays in the DOM while this block appears and disappears).
10
+ *
11
+ * ## When to use
12
+ * - A list, table or search result that has nothing to show, or failed to load.
13
+ *
14
+ * ## When not to use
15
+ * - A full-page error with a status code -- use `bs-error-page`.
16
+ * - A transient message -- use `bs-toast` or `bs-snackbar`.
17
+ *
18
+ * @slot icon - The glyph inside the icon tile (24px, `currentColor`). Falls back to the tile's intent glyph.
19
+ * @slot - The description (overrides the `description` prop).
20
+ * @slot action - An optional action, e.g. `<bs-button variant="outlined">`.
21
+ * @part container - The centered column.
22
+ * @part icon - The icon tile (`bs-icon-tile`).
23
+ * @part heading - The heading element.
24
+ * @part description - The description paragraph.
25
+ * @part action - The action wrapper (only rendered while the `action` slot is filled).
26
+ * @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
27
+ * @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
28
+ * @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
29
+ * @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
30
+ * @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
31
+ */
32
+ export declare class BsEmptyState {
33
+ el: HTMLElement;
34
+ /** The heading text. */
35
+ heading?: string;
36
+ /** The description text. The default slot overrides it. */
37
+ description?: string;
38
+ /** Colour and default glyph of the icon tile. Use `error` for failures. */
39
+ intent: BsIconTileIntent;
40
+ /** Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline. */
41
+ headingLevel: 2 | 3 | 4 | 5 | 6;
42
+ hasIcon: boolean;
43
+ hasDescriptionSlot: boolean;
44
+ hasAction: boolean;
45
+ private observer?;
46
+ componentWillLoad(): void;
47
+ disconnectedCallback(): void;
48
+ private readSlots;
49
+ render(): any;
50
+ }
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsEmptyStateArgs {
3
+ heading: string;
4
+ description: string;
5
+ intent: 'default' | 'success' | 'warning' | 'error' | 'brand' | 'information';
6
+ headingLevel: number;
7
+ }
8
+ declare const meta: Meta<BsEmptyStateArgs>;
9
+ export default meta;
10
+ type Story = StoryObj<BsEmptyStateArgs>;
11
+ export declare const NoResults: Story;
12
+ export declare const Error: Story;
13
+ export declare const WithoutAction: Story;
@@ -0,0 +1,166 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type BsGlobalSearchStatus = 'default' | 'results' | 'empty' | 'error';
3
+ export type BsGlobalSearchSection = 'recent' | 'jump-to' | 'top-matches' | 'search-in';
4
+ export interface BsGlobalSearchSelectDetail {
5
+ value?: string;
6
+ /** The slot name of the section the item sits in. */
7
+ section: string;
8
+ }
9
+ /**
10
+ * A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
11
+ * or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
12
+ * are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
13
+ *
14
+ * Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
15
+ * `bs-button` and `bs-key` (the footer keycaps).
16
+ *
17
+ * ## When to use
18
+ * - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
19
+ *
20
+ * ## When not to use
21
+ * - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
22
+ * - A list of commands or actions -- use `bs-menu`.
23
+ * - The complete result set -- link to a full search results page ("See all results").
24
+ *
25
+ * Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
26
+ * `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
27
+ * content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
28
+ *
29
+ * Known limit: the items are in your light DOM and the combobox in this shadow root, so
30
+ * `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
31
+ * highlighted option also gets `aria-selected="true"`.
32
+ *
33
+ * @slot recent - `bs-search-item`s for the "Recent searches" section (status `default`).
34
+ * @slot jump-to - `bs-search-item`s for the "Jump to" section (status `default`).
35
+ * @slot top-matches - `bs-search-item`s for the "Top matches" section (status `results`).
36
+ * @slot search-in - `bs-search-item`s for the "Search in" section (status `results`).
37
+ * @slot empty - Replaces the whole empty-state block (status `empty`).
38
+ * @slot error - Replaces the whole error-state block (status `error`).
39
+ * @part field - The combobox wrapper around the search field.
40
+ * @part panel - The dropdown panel.
41
+ * @part section - One section (header and items).
42
+ * @part section-header - A section header.
43
+ * @part empty - The built-in empty or error state (`bs-empty-state`).
44
+ * @part footer - The footer row.
45
+ * @part hint - One keyboard hint (keycaps and text).
46
+ * @part clear-recent - The "Clear recent" button wrapper.
47
+ * @part see-all - The "See all results" button wrapper.
48
+ * @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
49
+ * @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
50
+ * @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
51
+ * @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
52
+ * @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
53
+ * @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).
54
+ * @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
55
+ * @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
56
+ * @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
57
+ * @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
58
+ * @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
59
+ */
60
+ export declare class BsGlobalSearch {
61
+ el: HTMLElement;
62
+ private id;
63
+ private itemSeq;
64
+ private observer?;
65
+ private inputEl?;
66
+ /** The query. Two-way with the field. */
67
+ value: string;
68
+ /** Placeholder of the field (also its accessible name unless `label` is set). */
69
+ placeholder: string;
70
+ /** Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper. */
71
+ label?: string;
72
+ /** Disables the field; the panel cannot open. */
73
+ disabled: boolean;
74
+ /** Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection. */
75
+ open: boolean;
76
+ /** Which view the panel shows. You choose it; nothing is inferred from `value`. */
77
+ status: BsGlobalSearchStatus;
78
+ /** Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers. */
79
+ totalResults?: number;
80
+ /** Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views. */
81
+ showFooter: boolean;
82
+ /** Accessible name of the suggestions listbox. */
83
+ listLabel: string;
84
+ /** Header of the `recent` section. */
85
+ recentLabel: string;
86
+ /** Header of the `jump-to` section. */
87
+ jumpToLabel: string;
88
+ /** Header of the `top-matches` section. */
89
+ topMatchesLabel: string;
90
+ /** Header of the `search-in` section. */
91
+ searchInLabel: string;
92
+ /** Footer hint text after the arrow keys. */
93
+ navigateLabel: string;
94
+ /** Footer hint text after the Enter key (default view). */
95
+ searchLabel: string;
96
+ /** Footer hint text after the Esc key. */
97
+ closeLabel: string;
98
+ /** Footer hint text after the Enter key (results view). */
99
+ fullResultsLabel: string;
100
+ /** Text of the footer button that clears recent searches. */
101
+ clearRecentLabel: string;
102
+ /** Text of the footer button of the results view, when `totalResults` is not set. */
103
+ seeAllLabel: string;
104
+ /** Heading of the built-in empty state. */
105
+ emptyHeading: string;
106
+ /** Description of the built-in empty state. */
107
+ emptyDescription: string;
108
+ /** Text of the empty state's action. */
109
+ clearSearchLabel: string;
110
+ /** Heading of the built-in error state. */
111
+ errorHeading: string;
112
+ /** Description of the built-in error state. */
113
+ errorDescription: string;
114
+ /** Text of the error state's action. */
115
+ retryLabel: string;
116
+ /** Which sections currently have content in their slot. */
117
+ filled: Record<BsGlobalSearchSection, boolean>;
118
+ /** Id of the highlighted item. */
119
+ activeId: string | null;
120
+ /** Fires on every keystroke with the query. The component filters nothing itself. */
121
+ bsInput: EventEmitter<string>;
122
+ /** Fires on Enter with no highlighted item, with the query. */
123
+ bsSearch: EventEmitter<string>;
124
+ /** Fires when an item is chosen (click or Enter), with its `value` and section (slot name). */
125
+ bsSelect: EventEmitter<BsGlobalSearchSelectDetail>;
126
+ /** Fires when the panel opens or closes through user interaction, with the new state. */
127
+ bsOpenChange: EventEmitter<boolean>;
128
+ /** Fires when "Clear recent" is pressed. */
129
+ bsClearRecent: EventEmitter<void>;
130
+ /** Fires when the empty state's "Clear search" is pressed; the value is also cleared. */
131
+ bsClearSearch: EventEmitter<void>;
132
+ /** Fires when "See all results" is pressed. */
133
+ bsSeeAll: EventEmitter<void>;
134
+ /** Fires when the error state's "Try again" is pressed. */
135
+ bsRetry: EventEmitter<void>;
136
+ resetActive(): void;
137
+ componentWillLoad(): void;
138
+ connectedCallback(): void;
139
+ disconnectedCallback(): void;
140
+ componentDidRender(): void;
141
+ private allItems;
142
+ /** Visible items, section by section (display order), then DOM order within a section. */
143
+ private visibleItems;
144
+ private enabledItems;
145
+ private readFilled;
146
+ /** Gives every item the option role and a stable id, like `bs-list` does for its rows. */
147
+ private prepareItems;
148
+ private paintActive;
149
+ private setOpen;
150
+ private setActive;
151
+ private onDocPointerDown;
152
+ private onInput;
153
+ private onKeyDown;
154
+ onItemSelect(ev: CustomEvent<string | undefined>): void;
155
+ private onPanelMouseOver;
156
+ private clearSearch;
157
+ private sectionLabel;
158
+ private renderHint;
159
+ private renderFooter;
160
+ private seeAll;
161
+ /** Makes the whole 44px wrapper clickable while the button itself is 32px high. */
162
+ private onActionWrapperClick;
163
+ private renderStateBlock;
164
+ private announcement;
165
+ render(): any;
166
+ }
@@ -0,0 +1,61 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ /** Inline icon paths (no external URLs). */
3
+ export declare const ICON_PATHS: {
4
+ history: string;
5
+ users: string;
6
+ package: string;
7
+ receipt: string;
8
+ invoice: string;
9
+ search: string;
10
+ };
11
+ /** Figma "Global Search" data, shared by the stories. */
12
+ export declare const RECENT: {
13
+ value: string;
14
+ label: string;
15
+ trailing: string;
16
+ }[];
17
+ export declare const JUMP_TO: {
18
+ value: string;
19
+ label: string;
20
+ trailing: string;
21
+ icon: string;
22
+ }[];
23
+ export declare const TOP_MATCHES: ({
24
+ value: string;
25
+ match: string;
26
+ rest: string;
27
+ description: string;
28
+ trailing: string;
29
+ icon: string;
30
+ prefix?: undefined;
31
+ } | {
32
+ value: string;
33
+ prefix: string;
34
+ match: string;
35
+ rest: string;
36
+ description: string;
37
+ trailing: string;
38
+ icon: string;
39
+ })[];
40
+ export declare const SEARCH_IN: {
41
+ value: string;
42
+ label: string;
43
+ trailing: string;
44
+ }[];
45
+ interface BsGlobalSearchArgs {
46
+ value: string;
47
+ open: boolean;
48
+ status: 'default' | 'results' | 'empty' | 'error';
49
+ totalResults?: number;
50
+ placeholder: string;
51
+ disabled: boolean;
52
+ }
53
+ declare const meta: Meta<BsGlobalSearchArgs>;
54
+ export default meta;
55
+ type Story = StoryObj<BsGlobalSearchArgs>;
56
+ export declare const Closed: Story;
57
+ export declare const Default: Story;
58
+ export declare const Results: Story;
59
+ export declare const NoResults: Story;
60
+ export declare const Error: Story;
61
+ export declare const Interactive: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
3
+ * Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
4
+ *
5
+ * ## When to use
6
+ * - Showing a keyboard shortcut hint next to a control or inside a search field.
7
+ * - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
8
+ *
9
+ * ## When not to use
10
+ * - As a button or any clickable control -- a key is a static hint, not interactive.
11
+ *
12
+ * @slot - The key's label text (overrides the `label` prop), e.g. `Ctrl`.
13
+ * @slot icon - An icon shown instead of the label (16px), e.g. a return arrow.
14
+ * @part container - The `<kbd>` cap.
15
+ * @part label - The label text wrapper (not rendered while the `icon` slot is filled).
16
+ * @part icon - The icon wrapper (only rendered while the `icon` slot is filled).
17
+ * @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
18
+ * @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
19
+ * @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
20
+ * @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
21
+ * @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
22
+ * @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
23
+ * @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
24
+ * @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
25
+ * @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
26
+ */
27
+ export declare class BsKey {
28
+ el: HTMLElement;
29
+ /** The key's text, e.g. `Ctrl`. The default slot overrides it. */
30
+ label?: string;
31
+ /** Tracks whether the `icon` slot has content, so the label is replaced by the icon. */
32
+ hasIcon: boolean;
33
+ componentWillLoad(): void;
34
+ private onIconSlotChange;
35
+ render(): any;
36
+ }
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsKeyArgs {
3
+ label: string;
4
+ }
5
+ declare const meta: Meta<BsKeyArgs>;
6
+ export default meta;
7
+ type Story = StoryObj<BsKeyArgs>;
8
+ export declare const Text: Story;
9
+ export declare const Icon: Story;
10
+ export declare const SingleCharacter: Story;
11
+ export declare const LabelFromSlot: Story;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
3
+ * (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
4
+ * elements -- for example when a key is an icon.
5
+ *
6
+ * ## When to use
7
+ * - A shortcut hint beside a menu item, button or inside a search field.
8
+ *
9
+ * ## When not to use
10
+ * - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
11
+ * - Anything interactive -- keys are static hints.
12
+ *
13
+ * @slot - `bs-key` elements. A "+" separator is drawn before every key except the first.
14
+ * @part container - The group wrapper.
15
+ * @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
16
+ * @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
17
+ * @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
18
+ */
19
+ export declare class BsKeyCaps {
20
+ /**
21
+ * The keys as text. A string is split on `+` (`"Ctrl+K"`); use an array to include a literal
22
+ * plus key. Ignored when `bs-key` elements are slotted instead. Figma defines one to four keys.
23
+ */
24
+ keys?: string | string[];
25
+ /** Dims the whole shortcut and marks it `aria-disabled`. */
26
+ disabled: boolean;
27
+ /** Accessible name of the shortcut, e.g. "Control plus K". Defaults to the keys joined with " plus ". */
28
+ label?: string;
29
+ private keyList;
30
+ render(): any;
31
+ }
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsKeyCapsArgs {
3
+ keys: string;
4
+ disabled: boolean;
5
+ }
6
+ declare const meta: Meta<BsKeyCapsArgs>;
7
+ export default meta;
8
+ type Story = StoryObj<BsKeyCapsArgs>;
9
+ export declare const Default: Story;
10
+ export declare const OneKey: Story;
11
+ export declare const ThreeKeys: Story;
12
+ export declare const FourKeys: Story;
13
+ export declare const Disabled: Story;
14
+ export declare const WithIconKey: Story;
15
+ export declare const LiteralPlusKey: Story;
@@ -0,0 +1,95 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export interface BsShortcut {
3
+ action: string;
4
+ keys: string | string[];
5
+ /** Single-key shortcut (turned off by the single-key switch). Defaults to: exactly one key of one character. */
6
+ singleKey?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export interface BsShortcutGroup {
10
+ title: string;
11
+ shortcuts: BsShortcut[];
12
+ }
13
+ /**
14
+ * A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
15
+ * optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
16
+ * surface, not a modal -- place it inside `bs-dialog` or a popover.
17
+ *
18
+ * Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
19
+ * `bs-key-caps` / `bs-key`).
20
+ *
21
+ * ## When to use
22
+ * - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
23
+ *
24
+ * ## When not to use
25
+ * - A long-form help page or documentation -- link to it instead.
26
+ * - A list of commands the user can run from it -- use `bs-menu`.
27
+ *
28
+ * @slot heading - Replaces the heading text.
29
+ * @slot footer - Replaces the footer hint.
30
+ * @part container - The panel surface (a `bs-card`).
31
+ * @part head - The heading row.
32
+ * @part heading - The heading element.
33
+ * @part close - The close button.
34
+ * @part search - The search field.
35
+ * @part switch - The single-key switch row.
36
+ * @part groups - The columns wrapper.
37
+ * @part group - One group.
38
+ * @part group-title - A group title.
39
+ * @part row - A shortcut row (`bs-shortcut-row`).
40
+ * @part empty - The "no results" line.
41
+ * @part footer - The footer hint.
42
+ * @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
43
+ * @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
44
+ * @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
45
+ * @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
46
+ * @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
47
+ * @prop --bs-keyboard-shortcuts-shadow - Figma elevation level 4 (`0 8px 8px` in `--bs-elevation-higher`, 12% black in light mode and 25% in dark mode).
48
+ * @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
49
+ * @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
50
+ * @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
51
+ */
52
+ export declare class BsKeyboardShortcuts {
53
+ private id;
54
+ /** Property only: the shortcut groups. */
55
+ groups: BsShortcutGroup[];
56
+ /** Heading text. The `heading` slot overrides it. */
57
+ heading: string;
58
+ /** Accessible name of the close button. */
59
+ closeLabel: string;
60
+ /** Search field placeholder (also its accessible name: `bs-input` has no aria-label prop). */
61
+ searchPlaceholder: string;
62
+ /** Current search text. Filters by action or keys text, case-insensitively. */
63
+ query: string;
64
+ /** Shows the single-key switch row. */
65
+ showSingleKeySwitch: boolean;
66
+ /** Whether single-key shortcuts are on. When off they are shown dimmed. */
67
+ singleKeyEnabled: boolean;
68
+ /** Switch title. */
69
+ singleKeyLabel: string;
70
+ /** Switch caption. */
71
+ singleKeyDescription: string;
72
+ /** Shows the footer hint. */
73
+ showFooterHint: boolean;
74
+ /** The key shown in the footer hint. */
75
+ footerKey: string;
76
+ /** Footer text after the key. */
77
+ footerText: string;
78
+ /** Text before the footer key. */
79
+ footerPrefix: string;
80
+ /** Line shown when the query matches nothing. */
81
+ noResultsText: string;
82
+ /** Emitted by the close button and by Escape. */
83
+ bsClose: EventEmitter<void>;
84
+ /** Emitted when the search text changes, with the new text. */
85
+ bsQueryChange: EventEmitter<string>;
86
+ /** Emitted when the single-key switch changes, with the new value. */
87
+ bsSingleKeyChange: EventEmitter<boolean>;
88
+ private visibleGroups;
89
+ /** Greedy column split: a group stays in column 1 while countBefore + size/2 <= total/2. */
90
+ private columns;
91
+ private onKeyDown;
92
+ private onInput;
93
+ private onSwitch;
94
+ render(): any;
95
+ }
@@ -0,0 +1,43 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ /** Figma "Keyboard shortcuts" data, shared by the stories. */
3
+ export declare const SHORTCUT_GROUPS: {
4
+ title: string;
5
+ shortcuts: {
6
+ action: string;
7
+ keys: string;
8
+ }[];
9
+ }[];
10
+ /** Same data for the single-key-off frame: Figma also dims Esc, so it is marked single-key explicitly. */
11
+ export declare const SHORTCUT_GROUPS_SINGLE_KEY_OFF: {
12
+ shortcuts: ({
13
+ action: string;
14
+ keys: string;
15
+ } | {
16
+ singleKey: boolean;
17
+ action: string;
18
+ keys: string;
19
+ })[];
20
+ title: string;
21
+ }[];
22
+ export declare const FILTERED_GROUPS: {
23
+ title: string;
24
+ shortcuts: {
25
+ action: string;
26
+ keys: string;
27
+ }[];
28
+ }[];
29
+ interface BsKeyboardShortcutsArgs {
30
+ query: string;
31
+ singleKeyEnabled: boolean;
32
+ showSingleKeySwitch: boolean;
33
+ showFooterHint: boolean;
34
+ }
35
+ declare const meta: Meta<BsKeyboardShortcutsArgs>;
36
+ export default meta;
37
+ type Story = StoryObj<BsKeyboardShortcutsArgs>;
38
+ export declare const AllShortcuts: Story;
39
+ export declare const SingleKeyOff: Story;
40
+ export declare const FilteredResults: Story;
41
+ export declare const FilteredSingleKeyOff: Story;
42
+ export declare const NoResults: Story;
43
+ export declare const InDialog: Story;
@@ -0,0 +1,61 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ /**
3
+ * One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
4
+ * description line and trailing text. Static, not focusable -- focus stays in the search field and the
5
+ * parent (`bs-global-search`) marks the highlighted row with `active`.
6
+ *
7
+ * Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
8
+ * the same pattern as `bs-list-item` and `bs-shortcut-row`.
9
+ *
10
+ * ## When to use
11
+ * - A suggestion, recent search or result inside `bs-global-search`.
12
+ *
13
+ * ## When not to use
14
+ * - A row in a generic list -- use `bs-list-item`.
15
+ * - A command in a popup menu -- use `bs-menu-item`.
16
+ *
17
+ * @slot icon - A leading glyph (24px, `currentColor`).
18
+ * @slot - The primary text. Wrap the matched part in `<strong>` or `<b>` to show it semibold.
19
+ * @slot description - An optional second line.
20
+ * @slot trailing - Trailing text (overrides the `trailing` prop).
21
+ * @part container - The row.
22
+ * @part icon - The icon wrapper.
23
+ * @part content - The text column.
24
+ * @part label - The primary line.
25
+ * @part description - The description line.
26
+ * @part trailing - The trailing text wrapper.
27
+ * @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
28
+ * @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
29
+ * @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
30
+ * @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
31
+ * @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
32
+ * @prop --bs-search-item-bg - Resting background. `transparent`.
33
+ * @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
34
+ * @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
35
+ * @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
36
+ * @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
37
+ * @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
38
+ * @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
39
+ */
40
+ export declare class BsSearchItem {
41
+ el: HTMLElement;
42
+ /** Identifies the item; emitted by `bsItemSelect`. */
43
+ value?: string;
44
+ /** Highlighted row (keyboard or hover). Set by the parent. */
45
+ active: boolean;
46
+ /** Dims the row and ignores clicks. */
47
+ disabled: boolean;
48
+ /** Trailing text shorthand. The `trailing` slot overrides it. */
49
+ trailing?: string;
50
+ /** Set by the parent (`"option"`). Standalone rows have no role. */
51
+ selectionRole: 'option' | null;
52
+ hasIcon: boolean;
53
+ hasDescription: boolean;
54
+ hasTrailingSlot: boolean;
55
+ /** Fires with `value` when the row is clicked, or when the parent selects it with Enter. */
56
+ bsItemSelect: EventEmitter<string | undefined>;
57
+ componentWillLoad(): void;
58
+ onClick(): void;
59
+ private slotFilled;
60
+ render(): any;
61
+ }