@brandsync/wc 1.16.0 → 1.18.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 (625) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/REFERENCE.md +476 -0
  3. package/custom-elements.json +10039 -5497
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-f271e1d2.entry.js → p-0082db6a.entry.js} +1 -1
  6. package/dist/brandsync-wc/p-07e0b444.entry.js +1 -0
  7. package/dist/brandsync-wc/{p-b67a0c8f.entry.js → p-08e0e704.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-d165a742.entry.js → p-0a6f22fe.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-8390a155.entry.js → p-14b4f4c4.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-15f06226.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-a5659499.entry.js → p-186e3b78.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-c85fe37b.entry.js → p-1a47774e.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-1a62e5b7.entry.js +1 -0
  14. package/dist/brandsync-wc/p-1aa0f9a3.entry.js +1 -0
  15. package/dist/brandsync-wc/{p-e9b6b30f.entry.js → p-1d8c2ec1.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-246036cd.entry.js +1 -0
  17. package/dist/brandsync-wc/{p-45986ad4.entry.js → p-31ca98c3.entry.js} +1 -1
  18. package/dist/brandsync-wc/p-344695a8.entry.js +1 -0
  19. package/dist/brandsync-wc/{p-c25553bc.entry.js → p-345b5ef3.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-dcacee29.entry.js → p-34851d6d.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-6cb21302.entry.js → p-348fef11.entry.js} +1 -1
  22. package/dist/brandsync-wc/p-3e6f430a.entry.js +1 -0
  23. package/dist/brandsync-wc/p-43f8afda.entry.js +1 -0
  24. package/dist/brandsync-wc/{p-361aef36.entry.js → p-47929dca.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-cc4c8c1d.entry.js → p-47ce984f.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-d5a6098d.entry.js → p-4d4997af.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-4ff649f1.entry.js +1 -0
  28. package/dist/brandsync-wc/p-50c116eb.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-f3eca1ce.entry.js → p-50f60ed6.entry.js} +1 -1
  30. package/dist/brandsync-wc/p-52d61070.entry.js +1 -0
  31. package/dist/brandsync-wc/{p-2e285364.entry.js → p-55d336da.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-38fe9d07.entry.js → p-55d97d1d.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-9beeb30c.entry.js → p-56a45582.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-e9afb553.entry.js → p-58179e15.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-1ca8b01e.entry.js → p-5868793d.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-38ac9aad.entry.js → p-5ac75555.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-7b3518b8.entry.js → p-5cd1abc7.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-dfad8c0a.entry.js → p-5e36d46f.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-54f9529f.entry.js → p-64f8eb7e.entry.js} +1 -1
  40. package/dist/brandsync-wc/p-6b019a88.entry.js +1 -0
  41. package/dist/brandsync-wc/{p-f0be9125.entry.js → p-6c987bc9.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-5ed1f45e.entry.js → p-757cd066.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-47b7fe76.entry.js → p-78114ea3.entry.js} +1 -1
  44. package/dist/brandsync-wc/p-7c29678d.entry.js +1 -0
  45. package/dist/brandsync-wc/{p-9d12b1fb.entry.js → p-7cfb1be6.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-4ed00786.entry.js → p-841a80b4.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-a56bc608.entry.js → p-87a10ee1.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-c05ee501.entry.js → p-8962abe0.entry.js} +1 -1
  49. package/dist/brandsync-wc/p-8e46a262.entry.js +1 -0
  50. package/dist/brandsync-wc/p-8f82ea7e.entry.js +1 -0
  51. package/dist/brandsync-wc/p-95c7f350.entry.js +1 -0
  52. package/dist/brandsync-wc/{p-3488c4fc.entry.js → p-9787bc0f.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-0159f0da.entry.js → p-998b95d3.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-9bd739e5.entry.js +1 -0
  55. package/dist/brandsync-wc/p-a424a709.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-b6081bba.entry.js → p-a51355d9.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-4ca40386.entry.js → p-a8c2855c.entry.js} +1 -1
  58. package/dist/brandsync-wc/{p-b663ee67.entry.js → p-a9d0a730.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-15f4c343.entry.js → p-ae207fd5.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-8048d033.entry.js → p-b1edc9b7.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-949a4270.entry.js → p-b759ae72.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-7dc59e0b.entry.js → p-b7bbc52f.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-912629c6.entry.js → p-bd901b06.entry.js} +1 -1
  64. package/dist/brandsync-wc/p-be7272ce.entry.js +1 -0
  65. package/dist/brandsync-wc/{p-401b3d3d.entry.js → p-bfff7cbb.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-298158da.entry.js → p-c020ffdf.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-abfa43f5.entry.js → p-c02ed03d.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-baa3d37a.entry.js → p-cb002195.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-ffc07eb5.entry.js → p-d3fe8cea.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-42b79d95.entry.js → p-d42a26c1.entry.js} +1 -1
  71. package/dist/brandsync-wc/{p-e72dd05e.entry.js → p-d985e569.entry.js} +1 -1
  72. package/dist/brandsync-wc/{p-cf287ff1.entry.js → p-e2491db8.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-36fe783a.entry.js → p-e32a6df1.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-65fa1b21.entry.js → p-e3e15670.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-67629178.entry.js → p-e4e9c961.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-521d0fc2.entry.js → p-e99c0937.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-89ea6366.entry.js → p-e9adfa44.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-76748795.entry.js → p-eb3bacb9.entry.js} +1 -1
  79. package/dist/brandsync-wc/p-ee00d3a5.entry.js +1 -0
  80. package/dist/brandsync-wc/{p-ed71eb02.entry.js → p-ee63423c.entry.js} +1 -1
  81. package/dist/brandsync-wc/p-f4628861.entry.js +1 -0
  82. package/dist/brandsync-wc/{p-d81c4f58.entry.js → p-f47b8673.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-b9c9bcba.entry.js → p-f6caa623.entry.js} +1 -1
  84. package/dist/brandsync-wc/p-f86b58bf.entry.js +1 -0
  85. package/dist/brandsync-wc/{p-00be9a64.entry.js → p-fa91106e.entry.js} +1 -1
  86. package/dist/brandsync-wc/{p-538d5b58.entry.js → p-fb84002e.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-a12691d8.entry.js → p-fbc219c6.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-f3cc961b.entry.js → p-fd78ff22.entry.js} +1 -1
  89. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  90. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  91. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  92. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  93. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +133 -0
  95. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-app-switcher.cjs.entry.js +208 -0
  97. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  102. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-button.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-card.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
  115. package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  119. package/dist/cjs/bs-command-palette.cjs.entry.js +374 -0
  120. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +46 -0
  121. package/dist/cjs/bs-company-switcher.cjs.entry.js +211 -0
  122. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  123. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  125. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-empty-state.cjs.entry.js +47 -0
  129. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  132. package/dist/cjs/bs-global-search.cjs.entry.js +326 -0
  133. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  134. package/dist/cjs/bs-icon-button.cjs.entry.js +8 -1
  135. package/dist/cjs/bs-icon-tile.cjs.entry.js +10 -2
  136. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  137. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  138. package/dist/cjs/bs-key-caps.cjs.entry.js +39 -0
  139. package/dist/cjs/bs-key.cjs.entry.js +28 -0
  140. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +112 -0
  141. package/dist/cjs/bs-list-item_2.cjs.entry.js +215 -0
  142. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  143. package/dist/cjs/bs-mega-menu.cjs.entry.js +70 -0
  144. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  145. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  146. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  147. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  148. package/dist/cjs/bs-navigation-header.cjs.entry.js +5 -2
  149. package/dist/cjs/bs-page-header.cjs.entry.js +66 -0
  150. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  151. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  152. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  153. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  154. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  155. package/dist/cjs/bs-search-item.cjs.entry.js +47 -0
  156. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  157. package/dist/cjs/bs-shortcut-row.cjs.entry.js +27 -0
  158. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  159. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  161. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  162. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  163. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  164. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  165. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  166. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  167. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  168. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  169. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  170. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  171. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  172. package/dist/cjs/bs-tree-item.cjs.entry.js +2 -2
  173. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  174. package/dist/cjs/loader.cjs.js +1 -1
  175. package/dist/collection/collection-manifest.json +17 -1
  176. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  177. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  178. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  179. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  180. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.cmp.test.js +52 -0
  181. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.css +111 -0
  182. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +184 -0
  183. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.stories.js +28 -0
  184. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  185. package/dist/collection/components/bs-app-switcher/bs-app-switcher.cmp.test.js +179 -0
  186. package/dist/collection/components/bs-app-switcher/bs-app-switcher.css +173 -0
  187. package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +902 -0
  188. package/dist/collection/components/bs-app-switcher/bs-app-switcher.stories.js +91 -0
  189. package/dist/collection/components/bs-app-tile/bs-app-tile.cmp.test.js +58 -0
  190. package/dist/collection/components/bs-app-tile/bs-app-tile.css +104 -0
  191. package/dist/collection/components/bs-app-tile/bs-app-tile.js +190 -0
  192. package/dist/collection/components/bs-app-tile/bs-app-tile.stories.js +43 -0
  193. package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
  194. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  195. package/dist/collection/components/bs-avatar/bs-avatar.css +3 -3
  196. package/dist/collection/components/bs-badge/bs-badge.js +1 -1
  197. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
  198. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
  199. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  200. package/dist/collection/components/bs-button/bs-button/bs-button.js +1 -1
  201. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +13 -0
  202. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +27 -1
  203. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  204. package/dist/collection/components/bs-card/bs-card.js +1 -1
  205. package/dist/collection/components/bs-carousel/bs-carousel.js +1 -1
  206. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  207. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  208. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  209. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  210. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  211. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  212. package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
  213. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
  214. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  215. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  216. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  217. package/dist/collection/components/bs-command-palette/bs-command-palette.cmp.test.js +207 -0
  218. package/dist/collection/components/bs-command-palette/bs-command-palette.css +214 -0
  219. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1114 -0
  220. package/dist/collection/components/bs-command-palette/bs-command-palette.stories.js +194 -0
  221. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.js +32 -0
  222. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.css +43 -0
  223. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +67 -0
  224. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +25 -0
  225. package/dist/collection/components/bs-company-switcher/bs-company-switcher.cmp.test.js +171 -0
  226. package/dist/collection/components/bs-company-switcher/bs-company-switcher.css +196 -0
  227. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +720 -0
  228. package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +78 -0
  229. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  230. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  231. package/dist/collection/components/bs-container/bs-container.js +1 -1
  232. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  233. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  234. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  235. package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +102 -0
  236. package/dist/collection/components/bs-empty-state/bs-empty-state.css +45 -0
  237. package/dist/collection/components/bs-empty-state/bs-empty-state.js +175 -0
  238. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +52 -0
  239. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  240. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  241. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  242. package/dist/collection/components/bs-global-search/bs-global-search.cmp.test.js +491 -0
  243. package/dist/collection/components/bs-global-search/bs-global-search.css +115 -0
  244. package/dist/collection/components/bs-global-search/bs-global-search.js +1024 -0
  245. package/dist/collection/components/bs-global-search/bs-global-search.stories.js +146 -0
  246. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  247. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +11 -2
  248. package/dist/collection/components/bs-input/bs-input.js +2 -2
  249. package/dist/collection/components/bs-key/bs-key.cmp.test.js +59 -0
  250. package/dist/collection/components/bs-key/bs-key.css +58 -0
  251. package/dist/collection/components/bs-key/bs-key.js +84 -0
  252. package/dist/collection/components/bs-key/bs-key.stories.js +19 -0
  253. package/dist/collection/components/bs-key-caps/bs-key-caps.cmp.test.js +60 -0
  254. package/dist/collection/components/bs-key-caps/bs-key-caps.css +28 -0
  255. package/dist/collection/components/bs-key-caps/bs-key-caps.js +120 -0
  256. package/dist/collection/components/bs-key-caps/bs-key-caps.stories.js +29 -0
  257. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.js +194 -0
  258. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.css +138 -0
  259. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +485 -0
  260. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.js +111 -0
  261. package/dist/collection/components/bs-list/bs-list.js +1 -1
  262. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  263. package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +131 -0
  264. package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +139 -0
  265. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +358 -0
  266. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +188 -0
  267. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  268. package/dist/collection/components/bs-menu-block/bs-menu-block.cmp.test.js +44 -0
  269. package/dist/collection/components/bs-menu-block/bs-menu-block.css +106 -0
  270. package/dist/collection/components/bs-menu-block/bs-menu-block.js +147 -0
  271. package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +36 -0
  272. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  273. package/dist/collection/components/bs-message/bs-message.js +1 -1
  274. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  275. package/dist/collection/components/bs-page-header/bs-page-header.cmp.test.js +206 -0
  276. package/dist/collection/components/bs-page-header/bs-page-header.css +252 -0
  277. package/dist/collection/components/bs-page-header/bs-page-header.js +351 -0
  278. package/dist/collection/components/bs-page-header/bs-page-header.stories.js +177 -0
  279. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  280. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  281. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  282. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  283. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  284. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  285. package/dist/collection/components/bs-search-item/bs-search-item.cmp.test.js +147 -0
  286. package/dist/collection/components/bs-search-item/bs-search-item.css +112 -0
  287. package/dist/collection/components/bs-search-item/bs-search-item.js +222 -0
  288. package/dist/collection/components/bs-search-item/bs-search-item.stories.js +31 -0
  289. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  290. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.cmp.test.js +60 -0
  291. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.css +42 -0
  292. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +154 -0
  293. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +24 -0
  294. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  295. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  296. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  297. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  298. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  299. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  300. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  301. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  302. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  303. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  304. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  305. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  306. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  307. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  308. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  309. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  310. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  311. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  312. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  313. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  314. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  315. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  316. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +79 -0
  317. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +46 -0
  318. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +10 -1
  319. package/dist/components/bs-accordion-group.js +1 -1
  320. package/dist/components/bs-ai-disclaimer.js +1 -1
  321. package/dist/components/bs-ai-greeting.js +1 -1
  322. package/dist/components/bs-ai-thinking.js +1 -1
  323. package/dist/components/bs-app-recent-item.d.ts +11 -0
  324. package/dist/components/bs-app-recent-item.js +1 -0
  325. package/dist/components/bs-app-shell.js +1 -1
  326. package/dist/components/bs-app-switcher.d.ts +11 -0
  327. package/dist/components/bs-app-switcher.js +1 -0
  328. package/dist/components/bs-app-tile.d.ts +11 -0
  329. package/dist/components/bs-app-tile.js +1 -0
  330. package/dist/components/bs-attachment-list.js +1 -1
  331. package/dist/components/bs-attachment.js +1 -1
  332. package/dist/components/bs-avatar.js +1 -1
  333. package/dist/components/bs-badge.js +1 -1
  334. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  335. package/dist/components/bs-breadcrumb.js +1 -1
  336. package/dist/components/bs-breadcrumbs.js +1 -1
  337. package/dist/components/bs-button-skeleton.js +1 -1
  338. package/dist/components/bs-button.js +1 -1
  339. package/dist/components/bs-card.js +1 -1
  340. package/dist/components/bs-carousel.js +1 -1
  341. package/dist/components/bs-chatbot-feedback.js +1 -1
  342. package/dist/components/bs-chatbot-header.js +1 -1
  343. package/dist/components/bs-chatbot-response-action.js +1 -1
  344. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  345. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  346. package/dist/components/bs-checkbox-skeleton.js +1 -1
  347. package/dist/components/bs-checkbox.js +1 -1
  348. package/dist/components/bs-chip-filter.js +1 -1
  349. package/dist/components/bs-chip-informative.js +1 -1
  350. package/dist/components/bs-chip-input.js +1 -1
  351. package/dist/components/bs-citation-preview.js +1 -1
  352. package/dist/components/bs-command-palette.d.ts +11 -0
  353. package/dist/components/bs-command-palette.js +1 -0
  354. package/dist/components/bs-compact-menu-block.d.ts +11 -0
  355. package/dist/components/bs-compact-menu-block.js +1 -0
  356. package/dist/components/bs-company-switcher.d.ts +11 -0
  357. package/dist/components/bs-company-switcher.js +1 -0
  358. package/dist/components/bs-composer-status-banner.js +1 -1
  359. package/dist/components/bs-composer.js +1 -1
  360. package/dist/components/bs-container.js +1 -1
  361. package/dist/components/bs-cookie-consent.js +1 -1
  362. package/dist/components/bs-data-table.js +1 -1
  363. package/dist/components/bs-datepicker.js +1 -1
  364. package/dist/components/bs-dialog.js +1 -1
  365. package/dist/components/bs-divider.js +1 -1
  366. package/dist/components/bs-empty-state.d.ts +11 -0
  367. package/dist/components/bs-empty-state.js +1 -0
  368. package/dist/components/bs-error-page.js +1 -1
  369. package/dist/components/bs-file-upload-item.js +1 -1
  370. package/dist/components/bs-file-upload.js +1 -1
  371. package/dist/components/bs-global-search.d.ts +11 -0
  372. package/dist/components/bs-global-search.js +1 -0
  373. package/dist/components/bs-grid.js +1 -1
  374. package/dist/components/bs-icon-button.js +1 -1
  375. package/dist/components/bs-icon-tile.js +1 -1
  376. package/dist/components/bs-inline-tab.js +1 -1
  377. package/dist/components/bs-input.js +1 -1
  378. package/dist/components/bs-key-caps.d.ts +11 -0
  379. package/dist/components/bs-key-caps.js +1 -0
  380. package/dist/components/bs-key.d.ts +11 -0
  381. package/dist/components/bs-key.js +1 -0
  382. package/dist/components/bs-keyboard-shortcuts.d.ts +11 -0
  383. package/dist/components/bs-keyboard-shortcuts.js +1 -0
  384. package/dist/components/bs-list-item.js +1 -1
  385. package/dist/components/bs-list.js +1 -1
  386. package/dist/components/bs-mega-menu.d.ts +11 -0
  387. package/dist/components/bs-mega-menu.js +1 -0
  388. package/dist/components/bs-menu-block.d.ts +11 -0
  389. package/dist/components/bs-menu-block.js +1 -0
  390. package/dist/components/bs-menu-item.js +1 -1
  391. package/dist/components/bs-menu.js +1 -1
  392. package/dist/components/bs-message-list.js +1 -1
  393. package/dist/components/bs-message.js +1 -1
  394. package/dist/components/bs-navigation-drawer-item.js +1 -1
  395. package/dist/components/bs-navigation-drawer.js +1 -1
  396. package/dist/components/bs-navigation-header.js +1 -1
  397. package/dist/components/bs-onboarding-checklist.js +1 -1
  398. package/dist/components/bs-page-header.d.ts +11 -0
  399. package/dist/components/bs-page-header.js +1 -0
  400. package/dist/components/bs-pagination.js +1 -1
  401. package/dist/components/bs-popover.js +1 -1
  402. package/dist/components/bs-product-tour.js +1 -1
  403. package/dist/components/bs-progress-linear.js +1 -1
  404. package/dist/components/bs-progress.js +1 -1
  405. package/dist/components/bs-qr-code.js +1 -1
  406. package/dist/components/bs-radio.js +1 -1
  407. package/dist/components/bs-search-item.d.ts +11 -0
  408. package/dist/components/bs-search-item.js +1 -0
  409. package/dist/components/bs-session-timeout.js +1 -1
  410. package/dist/components/bs-shortcut-row.d.ts +11 -0
  411. package/dist/components/bs-shortcut-row.js +1 -0
  412. package/dist/components/bs-side-panel.js +1 -1
  413. package/dist/components/bs-skeleton.js +1 -1
  414. package/dist/components/bs-slider.js +1 -1
  415. package/dist/components/bs-snackbar.js +1 -1
  416. package/dist/components/bs-source-link.js +1 -1
  417. package/dist/components/bs-spinner.js +1 -1
  418. package/dist/components/bs-split-pane.js +1 -1
  419. package/dist/components/bs-stack.js +1 -1
  420. package/dist/components/bs-stepper-step.js +1 -1
  421. package/dist/components/bs-stepper.js +1 -1
  422. package/dist/components/bs-switch.js +1 -1
  423. package/dist/components/bs-tab.js +1 -1
  424. package/dist/components/bs-tabs.js +1 -1
  425. package/dist/components/bs-timepicker.js +1 -1
  426. package/dist/components/bs-toast.js +1 -1
  427. package/dist/components/bs-tooltip-trigger.js +1 -1
  428. package/dist/components/bs-tooltip.js +1 -1
  429. package/dist/components/bs-tree-item.js +1 -1
  430. package/dist/components/bs-tree.js +1 -1
  431. package/dist/components/bs-whats-new-entry.js +1 -1
  432. package/dist/components/bs-whats-new.js +1 -1
  433. package/dist/components/p-B6KgEbdM.js +1 -0
  434. package/dist/components/{p-CQjSDdH7.js → p-B8kw9EOx.js} +1 -1
  435. package/dist/components/p-BLPNwyiT.js +1 -0
  436. package/dist/components/{p-J9cxcDhY.js → p-BP1l6Q3Z.js} +1 -1
  437. package/dist/components/p-BS7ySxJZ.js +1 -0
  438. package/dist/components/{p-DYuzgzxI.js → p-BmdSbmFg.js} +1 -1
  439. package/dist/components/{p-CRtvJlh8.js → p-C1owRphU.js} +1 -1
  440. package/dist/components/{p-BsbtyRJV.js → p-C2rRVRIu.js} +1 -1
  441. package/dist/components/p-C3erqJFy.js +1 -0
  442. package/dist/components/p-Cd7p-48Q.js +1 -0
  443. package/dist/components/{p-CK7fiES5.js → p-CmlzHRkn.js} +1 -1
  444. package/dist/components/p-Co36mHEU.js +1 -0
  445. package/dist/components/p-D4_8H0vn.js +1 -0
  446. package/dist/components/{p-D0KM1R2i.js → p-D9dDFyPB.js} +1 -1
  447. package/dist/components/{p-DvNED6Lb.js → p-DBvhi__l.js} +1 -1
  448. package/dist/components/{p-kDJsWjTN.js → p-DFd4pP4i.js} +1 -1
  449. package/dist/components/{p-BdkE4auv.js → p-DVjuZdjF.js} +1 -1
  450. package/dist/components/{p-Bb1-2M8K.js → p-DW0Dw2LS.js} +1 -1
  451. package/dist/components/p-DcdFuKG9.js +1 -0
  452. package/dist/components/p-Deq0LzGO.js +1 -0
  453. package/dist/components/{p-BaJEv6rL.js → p-DgY5pxXd.js} +1 -1
  454. package/dist/components/{p-ByLUtXxO.js → p-DhhXayh6.js} +1 -1
  455. package/dist/components/p-DiORQQg3.js +1 -0
  456. package/dist/components/p-Dl0FedE5.js +1 -0
  457. package/dist/components/p-DsBToIYE.js +1 -0
  458. package/dist/components/{p-DFKc3lLA.js → p-DtbeCgXo.js} +1 -1
  459. package/dist/components/{p-C7RZ6qZC.js → p-DzvXbBvk.js} +1 -1
  460. package/dist/components/p-I1_Q3HQu.js +1 -0
  461. package/dist/components/{p-C93ymWm7.js → p-TXAiCnSZ.js} +1 -1
  462. package/dist/components/p-c-g3-oVu.js +1 -0
  463. package/dist/components/p-erdtytMq.js +1 -0
  464. package/dist/components/{p-B128GX8H.js → p-qXdgl7VG.js} +1 -1
  465. package/dist/esm/brandsync-wc.js +1 -1
  466. package/dist/esm/bs-accordion-group.entry.js +1 -1
  467. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  468. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  469. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  470. package/dist/esm/bs-app-recent-item_3.entry.js +129 -0
  471. package/dist/esm/bs-app-shell.entry.js +1 -1
  472. package/dist/esm/bs-app-switcher.entry.js +206 -0
  473. package/dist/esm/bs-attachment-list.entry.js +1 -1
  474. package/dist/esm/bs-attachment.entry.js +1 -1
  475. package/dist/esm/bs-avatar.entry.js +1 -1
  476. package/dist/esm/bs-badge.entry.js +1 -1
  477. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  478. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  479. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  480. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  481. package/dist/esm/bs-button.entry.js +1 -1
  482. package/dist/esm/bs-card.entry.js +1 -1
  483. package/dist/esm/bs-carousel.entry.js +1 -1
  484. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  485. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  486. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  487. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  488. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  489. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  490. package/dist/esm/bs-checkbox.entry.js +1 -1
  491. package/dist/esm/bs-chip-filter.entry.js +1 -1
  492. package/dist/esm/bs-chip-informative.entry.js +1 -1
  493. package/dist/esm/bs-chip-input.entry.js +1 -1
  494. package/dist/esm/bs-citation-preview.entry.js +1 -1
  495. package/dist/esm/bs-command-palette.entry.js +372 -0
  496. package/dist/esm/bs-compact-menu-block_2.entry.js +43 -0
  497. package/dist/esm/bs-company-switcher.entry.js +209 -0
  498. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  499. package/dist/esm/bs-composer.entry.js +1 -1
  500. package/dist/esm/bs-container.entry.js +1 -1
  501. package/dist/esm/bs-data-table.entry.js +2 -2
  502. package/dist/esm/bs-datepicker.entry.js +1 -1
  503. package/dist/esm/bs-divider.entry.js +1 -1
  504. package/dist/esm/bs-empty-state.entry.js +45 -0
  505. package/dist/esm/bs-error-page.entry.js +1 -1
  506. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  507. package/dist/esm/bs-file-upload.entry.js +1 -1
  508. package/dist/esm/bs-global-search.entry.js +324 -0
  509. package/dist/esm/bs-grid.entry.js +2 -2
  510. package/dist/esm/bs-icon-button.entry.js +8 -1
  511. package/dist/esm/bs-icon-tile.entry.js +11 -3
  512. package/dist/esm/bs-inline-tab.entry.js +1 -1
  513. package/dist/esm/bs-input_3.entry.js +4 -4
  514. package/dist/esm/bs-key-caps.entry.js +37 -0
  515. package/dist/esm/bs-key.entry.js +26 -0
  516. package/dist/esm/bs-keyboard-shortcuts.entry.js +110 -0
  517. package/dist/esm/bs-list-item_2.entry.js +212 -0
  518. package/dist/esm/bs-list.entry.js +1 -1
  519. package/dist/esm/bs-mega-menu.entry.js +68 -0
  520. package/dist/esm/bs-message-list.entry.js +1 -1
  521. package/dist/esm/bs-message.entry.js +1 -1
  522. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  523. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  524. package/dist/esm/bs-navigation-header.entry.js +5 -2
  525. package/dist/esm/bs-page-header.entry.js +64 -0
  526. package/dist/esm/bs-pagination.entry.js +1 -1
  527. package/dist/esm/bs-progress-linear.entry.js +2 -2
  528. package/dist/esm/bs-progress.entry.js +2 -2
  529. package/dist/esm/bs-qr-code.entry.js +1 -1
  530. package/dist/esm/bs-radio.entry.js +1 -1
  531. package/dist/esm/bs-search-item.entry.js +45 -0
  532. package/dist/esm/bs-session-timeout.entry.js +1 -1
  533. package/dist/esm/bs-shortcut-row.entry.js +25 -0
  534. package/dist/esm/bs-slider.entry.js +1 -1
  535. package/dist/esm/bs-snackbar.entry.js +1 -1
  536. package/dist/esm/bs-source-link.entry.js +2 -2
  537. package/dist/esm/bs-spinner.entry.js +1 -1
  538. package/dist/esm/bs-split-pane.entry.js +1 -1
  539. package/dist/esm/bs-stack.entry.js +1 -1
  540. package/dist/esm/bs-stepper-step.entry.js +1 -1
  541. package/dist/esm/bs-stepper.entry.js +1 -1
  542. package/dist/esm/bs-switch.entry.js +1 -1
  543. package/dist/esm/bs-tab_3.entry.js +3 -3
  544. package/dist/esm/bs-timepicker.entry.js +2 -2
  545. package/dist/esm/bs-toast.entry.js +1 -1
  546. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  547. package/dist/esm/bs-tooltip.entry.js +1 -1
  548. package/dist/esm/bs-tree-item.entry.js +2 -2
  549. package/dist/esm/bs-tree.entry.js +1 -1
  550. package/dist/esm/loader.js +1 -1
  551. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.cmp.test.d.ts +1 -0
  552. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.d.ts +51 -0
  553. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.stories.d.ts +15 -0
  554. package/dist/types/components/bs-app-switcher/bs-app-switcher.cmp.test.d.ts +1 -0
  555. package/dist/types/components/bs-app-switcher/bs-app-switcher.d.ts +159 -0
  556. package/dist/types/components/bs-app-switcher/bs-app-switcher.stories.d.ts +34 -0
  557. package/dist/types/components/bs-app-tile/bs-app-tile.cmp.test.d.ts +1 -0
  558. package/dist/types/components/bs-app-tile/bs-app-tile.d.ts +51 -0
  559. package/dist/types/components/bs-app-tile/bs-app-tile.stories.d.ts +18 -0
  560. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +7 -0
  561. package/dist/types/components/bs-command-palette/bs-command-palette.cmp.test.d.ts +1 -0
  562. package/dist/types/components/bs-command-palette/bs-command-palette.d.ts +172 -0
  563. package/dist/types/components/bs-command-palette/bs-command-palette.stories.d.ts +56 -0
  564. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.d.ts +1 -0
  565. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.d.ts +28 -0
  566. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.stories.d.ts +10 -0
  567. package/dist/types/components/bs-company-switcher/bs-company-switcher.cmp.test.d.ts +1 -0
  568. package/dist/types/components/bs-company-switcher/bs-company-switcher.d.ts +130 -0
  569. package/dist/types/components/bs-company-switcher/bs-company-switcher.stories.d.ts +25 -0
  570. package/dist/types/components/bs-empty-state/bs-empty-state.cmp.test.d.ts +1 -0
  571. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +50 -0
  572. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +13 -0
  573. package/dist/types/components/bs-global-search/bs-global-search.cmp.test.d.ts +1 -0
  574. package/dist/types/components/bs-global-search/bs-global-search.d.ts +166 -0
  575. package/dist/types/components/bs-global-search/bs-global-search.stories.d.ts +61 -0
  576. package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +5 -0
  577. package/dist/types/components/bs-key/bs-key.cmp.test.d.ts +1 -0
  578. package/dist/types/components/bs-key/bs-key.d.ts +36 -0
  579. package/dist/types/components/bs-key/bs-key.stories.d.ts +11 -0
  580. package/dist/types/components/bs-key-caps/bs-key-caps.cmp.test.d.ts +1 -0
  581. package/dist/types/components/bs-key-caps/bs-key-caps.d.ts +31 -0
  582. package/dist/types/components/bs-key-caps/bs-key-caps.stories.d.ts +15 -0
  583. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.d.ts +1 -0
  584. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.d.ts +95 -0
  585. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.d.ts +43 -0
  586. package/dist/types/components/bs-mega-menu/bs-mega-menu.cmp.test.d.ts +1 -0
  587. package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +110 -0
  588. package/dist/types/components/bs-mega-menu/bs-mega-menu.stories.d.ts +55 -0
  589. package/dist/types/components/bs-menu-block/bs-menu-block.cmp.test.d.ts +1 -0
  590. package/dist/types/components/bs-menu-block/bs-menu-block.d.ts +47 -0
  591. package/dist/types/components/bs-menu-block/bs-menu-block.stories.d.ts +15 -0
  592. package/dist/types/components/bs-page-header/bs-page-header.cmp.test.d.ts +1 -0
  593. package/dist/types/components/bs-page-header/bs-page-header.d.ts +100 -0
  594. package/dist/types/components/bs-page-header/bs-page-header.stories.d.ts +41 -0
  595. package/dist/types/components/bs-search-item/bs-search-item.cmp.test.d.ts +1 -0
  596. package/dist/types/components/bs-search-item/bs-search-item.d.ts +61 -0
  597. package/dist/types/components/bs-search-item/bs-search-item.stories.d.ts +13 -0
  598. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.cmp.test.d.ts +1 -0
  599. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.d.ts +38 -0
  600. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.stories.d.ts +13 -0
  601. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +7 -1
  602. package/dist/types/components.d.ts +3920 -71
  603. package/dist/types/svg-inline.d.ts +5 -0
  604. package/package.json +2 -1
  605. package/reference.d.ts +50 -2
  606. package/reference.json +1701 -31
  607. package/dist/brandsync-wc/p-0228a584.entry.js +0 -1
  608. package/dist/brandsync-wc/p-0f97fe35.entry.js +0 -1
  609. package/dist/brandsync-wc/p-23379d7c.entry.js +0 -1
  610. package/dist/brandsync-wc/p-34b0c048.entry.js +0 -1
  611. package/dist/brandsync-wc/p-3789c7a5.entry.js +0 -1
  612. package/dist/brandsync-wc/p-5a45ef51.entry.js +0 -1
  613. package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
  614. package/dist/brandsync-wc/p-86774165.entry.js +0 -1
  615. package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
  616. package/dist/brandsync-wc/p-f4d1d56e.entry.js +0 -1
  617. package/dist/cjs/bs-list-item.cjs.entry.js +0 -66
  618. package/dist/cjs/bs-popover.cjs.entry.js +0 -153
  619. package/dist/cjs/bs-skeleton.cjs.entry.js +0 -51
  620. package/dist/components/p-B80vOwH6.js +0 -1
  621. package/dist/components/p-ChcaPfNL.js +0 -1
  622. package/dist/components/p-GTDI4Ibw.js +0 -1
  623. package/dist/esm/bs-list-item.entry.js +0 -64
  624. package/dist/esm/bs-popover.entry.js +0 -151
  625. package/dist/esm/bs-skeleton.entry.js +0 -49
@@ -0,0 +1,78 @@
1
+ import { html } from "lit";
2
+ import { componentDescription } from "../../stories-utils";
3
+ /** Sample data (invented for the stories and tests, not real organisations). */
4
+ export const COMPANIES = [
5
+ { id: 'nordic', name: 'Nordic Sports AS', orgNumber: '923 456 789', country: 'NO' },
6
+ { id: 'fjord', name: 'Fjord Logistics AS', orgNumber: '918 220 114', country: 'NO' },
7
+ { id: 'aurora', name: 'Aurora Retail Group', orgNumber: '927 003 551', country: 'NO' },
8
+ { id: 'baltic', name: 'Baltic Freight AB', orgNumber: '556 781 2340', country: 'SE' },
9
+ { id: 'kobenhavn', name: 'København Design ApS', orgNumber: '34 12 56 78', country: 'DK' },
10
+ { id: 'helsinki', name: 'Helsinki Tech Oy', orgNumber: '2847561-3', country: 'FI' },
11
+ ];
12
+ export const RECENT_IDS = ['fjord', 'aurora'];
13
+ const meta = {
14
+ excludeStories: /^[A-Z0-9_]+$/,
15
+ title: 'Components/bs-company-switcher',
16
+ parameters: { layout: 'padded', docs: { description: { component: componentDescription('bs-company-switcher') } } },
17
+ argTypes: {
18
+ currentId: { control: 'select', options: COMPANIES.map(c => c.id) },
19
+ switchingId: { control: 'select', options: [undefined, ...COMPANIES.map(c => c.id)] },
20
+ open: { control: 'boolean' },
21
+ },
22
+ args: { currentId: 'nordic', recentIds: RECENT_IDS, switchingId: undefined, open: false },
23
+ render: args => html `
24
+ <div style="min-height: 560px">
25
+ <bs-company-switcher
26
+ .companies=${COMPANIES}
27
+ .currentId=${args.currentId}
28
+ .recentIds=${args.recentIds}
29
+ .switchingId=${args.switchingId}
30
+ .open=${args.open}
31
+ ></bs-company-switcher>
32
+ </div>
33
+ `,
34
+ };
35
+ export default meta;
36
+ export const Closed = {};
37
+ export const Open = { args: { open: true } };
38
+ export const Switching = { args: { open: true, switchingId: 'fjord' } };
39
+ export const SwitchingClosed = { args: { open: false, switchingId: 'fjord' } };
40
+ /** Types a query into the search field the way a user would (the component reads `bsInput` from `bs-input`). */
41
+ const typeQuery = (query) => async ({ canvasElement }) => {
42
+ const cs = canvasElement.querySelector('bs-company-switcher');
43
+ await new Promise(r => setTimeout(r, 100));
44
+ const input = cs?.shadowRoot?.querySelector('bs-input');
45
+ input?.dispatchEvent(new CustomEvent('bsInput', { detail: query, bubbles: true, composed: true }));
46
+ };
47
+ export const Search = { args: { open: true }, play: typeQuery('nord') };
48
+ export const NoResults = { args: { open: true }, play: typeQuery('zzz') };
49
+ export const Interactive = {
50
+ args: { open: false },
51
+ render: args => {
52
+ const wrap = document.createElement('div');
53
+ wrap.style.minHeight = '560px';
54
+ const out = document.createElement('output');
55
+ out.style.cssText = 'display:block;margin-top:8px;font:14px/20px monospace;color:var(--bs-text-secondary)';
56
+ out.textContent = 'Open the switcher, search, use the arrow keys, press Enter or Esc.';
57
+ const cs = document.createElement('bs-company-switcher');
58
+ cs.companies = COMPANIES;
59
+ cs.currentId = args.currentId;
60
+ cs.recentIds = args.recentIds;
61
+ cs.addEventListener('bsCompanySwitch', e => {
62
+ const c = e.detail;
63
+ out.textContent = `bsCompanySwitch ${c.name}`;
64
+ // Simulate a 1.2 s switch: show the spinner, then make it current and close.
65
+ cs.switchingId = c.id;
66
+ setTimeout(() => {
67
+ cs.currentId = c.id;
68
+ cs.switchingId = undefined;
69
+ cs.open = false;
70
+ }, 1200);
71
+ });
72
+ for (const n of ['bsManageCompanies', 'bsAddCompanies', 'bsOpenChange']) {
73
+ cs.addEventListener(n, e => (out.textContent = `${n} ${JSON.stringify(e.detail ?? '')}`));
74
+ }
75
+ wrap.append(cs, out);
76
+ return wrap;
77
+ },
78
+ };
@@ -234,7 +234,7 @@ export class BsComposer {
234
234
  const placeholder = this.placeholder ?? DEFAULT_PLACEHOLDERS[this.variant];
235
235
  const disabled = this.state === 'disabled';
236
236
  const recording = this.state === 'recording';
237
- return (h("div", { key: '2ce76ec3bd4b265f11bb99dee3a3c90d9172597c', class: `bs-composer bs-composer--${this.state} bs-composer--${this.variant}` }, h("div", { key: '413304d4f29b85642bf75beb879a9551d5be8263', part: "attachments", class: `bs-composer__attachments-row ${this.hasAttachments ? 'bs-composer__attachments-row--visible' : ''}` }, h("slot", { key: 'e548c8e0f26f25748f4873c22ad97431f9de3ce8', name: "attachments", onSlotchange: this.onAttachmentsSlotchange })), h("div", { key: '1df76f515366b9ef952714b8454b6aa36fd905c8', class: "bs-composer__text-row" }, h("textarea", { key: '27f0367c0eb47824e66f41cd6d90838e18116b7a', ref: el => (this.inputEl = el), part: "input", class: "bs-composer__input", rows: 1, value: this.value, placeholder: placeholder, disabled: disabled, maxLength: this.maxLength, "aria-label": this.ariaLabel, onInput: this.onInput, onKeyDown: this.onInputKeydown })), h("div", { key: 'b27a014146d993fc41d80c233365964de65cf34c', class: "bs-composer__controls-row" }, !this.hideAttach && (h("button", { key: 'b1fe110b360b29a371a68626a1507213e11facf1', type: "button", part: "attach", class: "bs-composer__attach", "aria-label": this.attachLabel, onClick: this.onAttachClick }, h(PlusIcon, { key: 'b925e8b4e010f17594edf604401423b00ff72cba' }))), recording ? (h("span", { class: "bs-composer__waveform", "aria-hidden": "true" }, WAVEFORM_BAR_HEIGHTS.map(height => (h("span", { class: "bs-composer__waveform-bar", style: { '--bs-composer-bar-height': `${height}px` } }))))) : (h("span", { class: "bs-composer__spacer" })), !this.hideMic && (h("button", { key: '52248240911d69cbb69d11ef2368a9dbce2d545a', type: "button", part: "mic", class: `bs-composer__mic ${recording ? 'bs-composer__mic--recording' : ''}`, "aria-label": recording ? this.stopRecordingLabel : this.micLabel, disabled: disabled, onClick: this.onMicClick }, recording ? h(StopIcon, null) : h(MicIcon, null))), h("button", { key: '653e4a36899abaddb91ebf975e53514b400d2497', type: "button", part: "action", class: `bs-composer__action bs-composer__action--${this.state}`, "aria-label": this.actionLabel(), disabled: disabled, "aria-busy": this.loading && this.state === 'idle' ? 'true' : undefined, onClick: this.onActionClick }, this.renderActionIcon()), h("slot", { key: 'de551ed30be4f5008c58c4ec441daf8842209edd', name: "actions-end" }))));
237
+ return (h("div", { key: 'ec6fd11d15f862e5d5633ee153572831562f8635', class: `bs-composer bs-composer--${this.state} bs-composer--${this.variant}` }, h("div", { key: '4de8e636ad98cf8cd280f35bab8723df0c59bcee', part: "attachments", class: `bs-composer__attachments-row ${this.hasAttachments ? 'bs-composer__attachments-row--visible' : ''}` }, h("slot", { key: '8abb10aca311a2d53d1e2980f7a9985b8467e9af', name: "attachments", onSlotchange: this.onAttachmentsSlotchange })), h("div", { key: '2e8de5850afda9498f9f08bbe5e2e5fbf86005dc', class: "bs-composer__text-row" }, h("textarea", { key: '8f75958b9a04785e32f347d87e5362e0e83a7aec', ref: el => (this.inputEl = el), part: "input", class: "bs-composer__input", rows: 1, value: this.value, placeholder: placeholder, disabled: disabled, maxLength: this.maxLength, "aria-label": this.ariaLabel, onInput: this.onInput, onKeyDown: this.onInputKeydown })), h("div", { key: 'd18ad65d7aefaa3b23ee0be475cdfa97dbcea546', class: "bs-composer__controls-row" }, !this.hideAttach && (h("button", { key: 'e953064c20184d159f0ef7b352bee7b7c1a28d1d', type: "button", part: "attach", class: "bs-composer__attach", "aria-label": this.attachLabel, onClick: this.onAttachClick }, h(PlusIcon, { key: '459ac92ed2c057f2882715f3cadbbf70faf1d180' }))), recording ? (h("span", { class: "bs-composer__waveform", "aria-hidden": "true" }, WAVEFORM_BAR_HEIGHTS.map(height => (h("span", { class: "bs-composer__waveform-bar", style: { '--bs-composer-bar-height': `${height}px` } }))))) : (h("span", { class: "bs-composer__spacer" })), !this.hideMic && (h("button", { key: '4f1039338eb4ae672f32da55fdd67ccb820983be', type: "button", part: "mic", class: `bs-composer__mic ${recording ? 'bs-composer__mic--recording' : ''}`, "aria-label": recording ? this.stopRecordingLabel : this.micLabel, disabled: disabled, onClick: this.onMicClick }, recording ? h(StopIcon, null) : h(MicIcon, null))), h("button", { key: '07b8f71f8d5a9ce1288e5cd42179935389b8aef8', type: "button", part: "action", class: `bs-composer__action bs-composer__action--${this.state}`, "aria-label": this.actionLabel(), disabled: disabled, "aria-busy": this.loading && this.state === 'idle' ? 'true' : undefined, onClick: this.onActionClick }, this.renderActionIcon()), h("slot", { key: '5e14d6db5a96be5123d7374bd66d5d044ffb767d', name: "actions-end" }))));
238
238
  }
239
239
  static get is() { return "bs-composer"; }
240
240
  static get encapsulation() { return "shadow"; }
@@ -113,7 +113,7 @@ export class BsComposerStatusBanner {
113
113
  return this.type === 'error' || this.type === 'warning' ? h(WarningIcon, null) : h(ClockIcon, null);
114
114
  }
115
115
  render() {
116
- return (h("div", { key: '7ddbbad5af14adf35a87097ce7e7644fd9e50ec3', role: this.roleForType(), "aria-busy": this.loading ? 'true' : undefined, class: `bs-composer-status-banner bs-composer-status-banner--${this.type}` }, h("div", { key: '1fb9a5fb707db89056115ec0992484b310a47590', class: "bs-composer-status-banner__message-group" }, this.showIcon && (h("span", { key: 'c9cf1d3be7dd33b73f8a2813295ed90e2dbc865a', part: "icon", class: "bs-composer-status-banner__icon" }, h("slot", { key: '86735a463ca03af8359ef17d971a63d5c518f587', name: "icon" }, this.renderDefaultIcon()))), h("p", { key: '046dad63d8a6b12c5c4fe766edef811d945b427f', part: "message", class: "bs-composer-status-banner__message" }, this.message)), this.showButton && (h("button", { key: '3c8d3d824413b32ff596f63b579c8b7ce683af81', type: "button", part: "action", class: "bs-composer-status-banner__action", onClick: this.onActionClick }, this.actionLabel)), this.allowClose && (h("button", { key: '3d5dbe65b4ba7e04202fc260b0ca665a4eb3b516', type: "button", part: "close", class: "bs-composer-status-banner__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h(CloseIcon, { key: '86efc37f964fd1440ac10cc47077605dbc0664ce' })))));
116
+ return (h("div", { key: 'e7ee5d0dca888ba5126a292fd7ff9cefbdc47eda', role: this.roleForType(), "aria-busy": this.loading ? 'true' : undefined, class: `bs-composer-status-banner bs-composer-status-banner--${this.type}` }, h("div", { key: 'c44a8f911942a310b8cc706a10a97180f75013ff', class: "bs-composer-status-banner__message-group" }, this.showIcon && (h("span", { key: '7787871c8f6885068739d9fffd8d589b6babbd43', part: "icon", class: "bs-composer-status-banner__icon" }, h("slot", { key: 'a8dd0077f51e4a8b872ab6778d0387999022285b', name: "icon" }, this.renderDefaultIcon()))), h("p", { key: '398fb7946e36d45bd8ade95154d9d686fc5de6e1', part: "message", class: "bs-composer-status-banner__message" }, this.message)), this.showButton && (h("button", { key: '18874261ba3638533d3fdb876d19303d79c75259', type: "button", part: "action", class: "bs-composer-status-banner__action", onClick: this.onActionClick }, this.actionLabel)), this.allowClose && (h("button", { key: '187e50bbe911683937a7895cfe862028cc9f775a', type: "button", part: "close", class: "bs-composer-status-banner__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h(CloseIcon, { key: 'c9dac11a2af23ba04d7c6836cbda7adbace51d8d' })))));
117
117
  }
118
118
  static get is() { return "bs-composer-status-banner"; }
119
119
  static get encapsulation() { return "shadow"; }
@@ -21,7 +21,7 @@ export class BsContainer {
21
21
  padding = '300';
22
22
  render() {
23
23
  const pad = SPACING_TOKENS.includes(String(this.padding)) ? String(this.padding) : '300';
24
- return (h(Host, { key: '001d2089d9e69657dad10a4d95c550900bdb5252', style: { '--bs-container-padding-token': `var(--bs-spacing-${pad})` } }, h("slot", { key: '8f983ed8ad608a386d84468682296d9318089d28' })));
24
+ return (h(Host, { key: 'c72bb071abd58c825dcd4b87351362de82a402fa', style: { '--bs-container-padding-token': `var(--bs-spacing-${pad})` } }, h("slot", { key: '341e67abd2a13b47d9d852696f212847c2624b38' })));
25
25
  }
26
26
  static get is() { return "bs-container"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -87,11 +87,11 @@ export class BsDataTable {
87
87
  }
88
88
  }
89
89
  render() {
90
- return (h("table", { key: '5b61e4f581c2ab0da069cabf9a612285f98b0865', part: "table", class: "bs-data-table" }, h("thead", { key: 'c3bed54d42e2e2c3d54cfa9754251ab0d34c55fd', part: "head" }, h("tr", { key: '8f0aaa90b06650719423de98e05f39ffce407a67' }, this.selectable && (h("th", { key: 'ed065c125b50493c621c8922cdd3d7ca26222b8e', class: "bs-data-table__select-col" }, this.rows.length > 0 && (h("input", { key: '0e4f29de07f7818e7024714281f5faadcd288c88', type: "checkbox", "aria-label": this.selectAllLabel, checked: this.selectedIds.size > 0 && this.selectedIds.size === this.rows.length, indeterminate: this.selectedIds.size > 0 && this.selectedIds.size < this.rows.length, onChange: this.onSelectAllChange })))), this.columns.map(column => {
90
+ return (h("table", { key: 'd6b278e5252570f3b97ef3fdd53b132974041e6c', part: "table", class: "bs-data-table" }, h("thead", { key: '16280faa094841550a637466fa37ec2df6950e4b', part: "head" }, h("tr", { key: 'e78510a9b1b7966257cb626218aaf9f51bde402e' }, this.selectable && (h("th", { key: '1a79de8886d8d394fc0b06f283258db94e0f3b1f', class: "bs-data-table__select-col" }, this.rows.length > 0 && (h("input", { key: 'c34bd5b47dcea30418fce8674a2aefff7f8bf601', type: "checkbox", "aria-label": this.selectAllLabel, checked: this.selectedIds.size > 0 && this.selectedIds.size === this.rows.length, indeterminate: this.selectedIds.size > 0 && this.selectedIds.size < this.rows.length, onChange: this.onSelectAllChange })))), this.columns.map(column => {
91
91
  const isSorted = this.sortColumn === column.key;
92
92
  const ariaSort = column.sortable ? (isSorted ? (this.sortDirection === 'asc' ? 'ascending' : 'descending') : 'none') : undefined;
93
93
  return (h("th", { part: "header-cell", class: "bs-data-table__header-cell", "aria-sort": ariaSort }, column.sortable ? (h("button", { type: "button", class: "bs-data-table__sort-button", onClick: () => this.onHeaderClick(column) }, column.label, isSorted && h("span", { class: "bs-data-table__sort-indicator" }, this.sortDirection === 'asc' ? ' ▲' : ' ▼'))) : (column.label)));
94
- }))), h("tbody", { key: 'b993a2e1c22d094936c49ad33486b2ecc02861c8', part: "body" }, this.rows.map(row => (h("tr", { part: "row", class: "bs-data-table__row" }, this.selectable && (h("td", { class: "bs-data-table__select-col" }, h("input", { type: "checkbox", checked: this.selectedIds.has(row.id), onChange: ev => this.onRowCheckboxChange(row, ev) }))), this.columns.map(column => this.cellRenderer ? (
94
+ }))), h("tbody", { key: '80266f8d66ffdf7132bf2f331568db34ed53ed28', part: "body" }, this.rows.map(row => (h("tr", { part: "row", class: "bs-data-table__row" }, this.selectable && (h("td", { class: "bs-data-table__select-col" }, h("input", { type: "checkbox", checked: this.selectedIds.has(row.id), onChange: ev => this.onRowCheckboxChange(row, ev) }))), this.columns.map(column => this.cellRenderer ? (
95
95
  // cellRenderer is a developer-supplied, trusted function (JS-property-only, never
96
96
  // derived from untrusted input) -- its HTML output is intentionally not escaped,
97
97
  // same trust model as React's dangerouslySetInnerHTML.
@@ -340,7 +340,7 @@ export class BsDatepicker {
340
340
  : this.defaultTabbable(days);
341
341
  const isInRange = (iso) => !!selectedStart && !!previewEnd && iso > selectedStart && iso < previewEnd;
342
342
  const weekdays = this.weekdays();
343
- return (h("bs-card", { key: 'd2794a112b72b3dc871360b1e57273c9ef097fc4', part: "container", class: "bs-datepicker", surface: "raised" }, h("div", { key: 'bee55a1cd06aa44171f40babae77b1f2f742d160', class: "bs-datepicker__body" }, this.renderHeader(), h("div", { key: 'd4ab1cfd76fcea8b64daeb951da7b36300c036f0', part: "nav", class: "bs-datepicker__nav" }, h("button", { key: '5fcbb3f928db51049fd034beb3519400afe4f128', part: "prev", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.previousLabel, onClick: () => this.moveView(-1) }, h("svg", { key: '18889f8f9dd9364bd73595635b72515b91d35ade', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: '3d648cd4be611ef4de37cc08f9017809388d36e3', d: "M15 18L9 12L15 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { key: 'c0647871f1c140472807ae51e04604c6d87ccaa4', part: "title", class: "bs-datepicker__title", "aria-live": "polite" }, this.titleText()), h("button", { key: 'ec3d33aeea146534d6640ac336905a002d0e7dc2', part: "next", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.nextLabel, onClick: () => this.moveView(1) }, h("svg", { key: '5cbac8630a30064d940e5f03ce767b525c09dd7c', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: '2c47ca0911b8b42cd3590ff053905df327363e9f', d: "M9 18L15 12L9 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '91a6942792287f3044962fd278e36ed04ec03878', part: "grid", class: "bs-datepicker__grid", role: "grid", "aria-label": this.titleText() }, h("div", { key: '445e0548f0913426fe2eb730f291423d9165f839', class: "bs-datepicker__row", role: "row" }, weekdays.map(w => (h("div", { part: "weekday", class: "bs-datepicker__weekday", role: "columnheader" }, w)))), Array.from({ length: 6 }, (_, r) => {
343
+ return (h("bs-card", { key: 'cdb34fb56c5dd485e68fdbaf846c13ecc0547117', part: "container", class: "bs-datepicker", surface: "raised" }, h("div", { key: '348836d221ea9d88f81d74c756f6e33749185e77', class: "bs-datepicker__body" }, this.renderHeader(), h("div", { key: '19192cd83a674a876ddebb3048cf61392f5ce1b4', part: "nav", class: "bs-datepicker__nav" }, h("button", { key: '936dd7846972754b3e3e12e0b5d1ebf459f6626b', part: "prev", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.previousLabel, onClick: () => this.moveView(-1) }, h("svg", { key: '8adff95c2ac4160773ba27b2bba2690376bf7b6e', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: 'e07e13f74b49ef8676ef9b2b61648f2fbcd7ff26', d: "M15 18L9 12L15 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { key: '60e2dccce60ce780002b5a37b7bce2cb77a7ded2', part: "title", class: "bs-datepicker__title", "aria-live": "polite" }, this.titleText()), h("button", { key: '4ea132ee9b1d1b7df1dd3595dc52e9cd977dc9d4', part: "next", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.nextLabel, onClick: () => this.moveView(1) }, h("svg", { key: 'e648752590a0483c152a06ff2ebe1a4c7f459fd1', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: '61f9ebdc93a4636284fe3215f0ff6699ef7bb8de', d: "M9 18L15 12L9 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'd94bd61c202b575b3ae4b8312224f302cf13330e', part: "grid", class: "bs-datepicker__grid", role: "grid", "aria-label": this.titleText() }, h("div", { key: 'ac7713f2ebdc1d429641d14856ed597866fb5a07', class: "bs-datepicker__row", role: "row" }, weekdays.map(w => (h("div", { part: "weekday", class: "bs-datepicker__weekday", role: "columnheader" }, w)))), Array.from({ length: 6 }, (_, r) => {
344
344
  const row = days.slice(r * 7, r * 7 + 7);
345
345
  return (h("div", { class: "bs-datepicker__row", role: "row" }, row.map((d, c) => {
346
346
  const iso = toIso(d);
@@ -28,7 +28,7 @@ export class BsDivider {
28
28
  const a11y = this.decorative
29
29
  ? { role: 'none', 'aria-hidden': 'true' }
30
30
  : { role: 'separator', 'aria-orientation': orientation };
31
- return (h(Host, { key: '72be86556d663c54fde0d585ae5850b236389b23', ...a11y }, h("div", { key: 'a08f191d8f900bc88fc0c44be08da1a7d8eb2e3c', class: "line", part: "line" })));
31
+ return (h(Host, { key: '858582c09f3f2712a3ee9d51a80a1f53b2a29dfb', ...a11y }, h("div", { key: '184d290fbfdabab256850af57792e7d6c5ebf563', class: "line", part: "line" })));
32
32
  }
33
33
  static get is() { return "bs-divider"; }
34
34
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,102 @@
1
+ import { render, h, describe, it, expect } from "@stencil/vitest";
2
+ import { assertShadowParts, runAxeCheck } from "../../test/helpers/conventions";
3
+ const q = (el, s) => el.shadowRoot.querySelector(s);
4
+ describe('bs-empty-state', () => {
5
+ it('has the Figma geometry', async () => {
6
+ const { root } = await render(h("bs-empty-state", { heading: "No results", description: "Try again", style: { width: '480px' } }, h("svg", { slot: "icon", viewBox: "0 0 24 24" }), h("bs-button", { slot: "action", variant: "outlined" }, "Clear")));
7
+ const c = getComputedStyle(q(root, '[part="container"]'));
8
+ expect(c.paddingTop).toBe('56px');
9
+ expect(c.paddingLeft).toBe('24px');
10
+ expect(c.rowGap).toBe('12px');
11
+ expect(c.alignItems).toBe('center');
12
+ expect(c.textAlign).toBe('center');
13
+ const tile = q(root, '[part="icon"]');
14
+ expect(tile.getAttribute('size')).toBe('lg');
15
+ expect(Math.round(tile.shadowRoot.querySelector('[part="container"]').getBoundingClientRect().width)).toBe(48);
16
+ const hd = getComputedStyle(q(root, '[part="heading"]'));
17
+ expect(hd.fontSize).toBe('20px');
18
+ expect(hd.lineHeight).toBe('24px');
19
+ expect(hd.fontWeight).toBe('700');
20
+ const ds = getComputedStyle(q(root, '[part="description"]'));
21
+ expect(ds.fontSize).toBe('14px');
22
+ expect(ds.lineHeight).toBe('20px');
23
+ // description fills the container width (480 - 2 * 24)
24
+ expect(Math.round(q(root, '[part="description"]').getBoundingClientRect().width)).toBe(432);
25
+ assertShadowParts(root.shadowRoot, ['container', 'icon', 'heading', 'description', 'action']);
26
+ });
27
+ it('renders an h3 by default and honours headingLevel (clamped to 2-6)', async () => {
28
+ const { root, waitForChanges } = await render(h("bs-empty-state", { heading: "H" }));
29
+ expect(q(root, '[part="heading"]').tagName).toBe('H3');
30
+ root.headingLevel = 5;
31
+ await waitForChanges();
32
+ expect(q(root, '[part="heading"]').tagName).toBe('H5');
33
+ root.headingLevel = 1;
34
+ await waitForChanges();
35
+ expect(q(root, '[part="heading"]').tagName).toBe('H2');
36
+ root.headingLevel = 9;
37
+ await waitForChanges();
38
+ expect(q(root, '[part="heading"]').tagName).toBe('H6');
39
+ });
40
+ it('passes intent to the icon tile and has no role', async () => {
41
+ const { root, waitForChanges } = await render(h("bs-empty-state", { heading: "H" }));
42
+ expect(q(root, '[part="icon"]').getAttribute('intent')).toBe('default');
43
+ expect(root.hasAttribute('role')).toBe(false);
44
+ expect(q(root, '[part="container"]').hasAttribute('role')).toBe(false);
45
+ root.setAttribute('intent', 'error');
46
+ await waitForChanges();
47
+ expect(q(root, '[part="icon"]').getAttribute('intent')).toBe('error');
48
+ });
49
+ it('only renders the action wrapper when the action slot is filled, and the default slot replaces the description', async () => {
50
+ const { root, waitForChanges } = await render(h("bs-empty-state", { heading: "H", description: "Prop text" }));
51
+ expect(q(root, '[part="action"]')).toBeNull();
52
+ expect(q(root, '[part="description"]').textContent).toBe('Prop text');
53
+ const btn = document.createElement('bs-button');
54
+ btn.setAttribute('slot', 'action');
55
+ root.appendChild(btn);
56
+ const rich = document.createElement('span');
57
+ rich.textContent = 'Slotted';
58
+ root.appendChild(rich);
59
+ await new Promise(r => setTimeout(r, 50));
60
+ await waitForChanges();
61
+ expect(q(root, '[part="action"]')).not.toBeNull();
62
+ const slot = q(root, '[part="description"] slot');
63
+ expect(slot.assignedNodes()[0]).toBe(rich);
64
+ });
65
+ it('shows the slotted icon inside the tile', async () => {
66
+ const { root } = await render(h("bs-empty-state", { heading: "H" }, h("svg", { slot: "icon", viewBox: "0 0 24 24" })));
67
+ const tile = q(root, '[part="icon"]');
68
+ const slot = q(root, '[part="icon"] slot[name="icon"]');
69
+ expect(slot.assignedElements()[0].tagName.toLowerCase()).toBe('svg');
70
+ expect(tile).not.toBeNull();
71
+ });
72
+ it('uses the light and dark heading colour from tokens', async () => {
73
+ const { root } = await render(h("bs-empty-state", { heading: "H" }));
74
+ const light = getComputedStyle(q(root, '[part="heading"]')).color;
75
+ document.documentElement.setAttribute('data-theme', 'dark');
76
+ try {
77
+ await new Promise(r => setTimeout(r, 100));
78
+ expect(getComputedStyle(q(root, '[part="heading"]')).color).not.toBe(light);
79
+ }
80
+ finally {
81
+ document.documentElement.removeAttribute('data-theme');
82
+ }
83
+ });
84
+ it('passes axe', async () => {
85
+ const { root } = await render(h("bs-empty-state", { heading: "No results", description: "Try again", intent: "error" }, h("svg", { slot: "icon", viewBox: "0 0 24 24" }), h("bs-button", { slot: "action", variant: "outlined" }, "Retry")));
86
+ await runAxeCheck(root);
87
+ });
88
+ it('shows the description prop even when formatted markup puts whitespace text nodes in the default slot', async () => {
89
+ const { root } = await render(h("div", null));
90
+ root.innerHTML = `
91
+ <bs-empty-state heading="No results" description="Try a wider date range.">
92
+ <svg slot="icon" viewBox="0 0 24 24"></svg>
93
+ <bs-button slot="action" variant="outlined">Clear</bs-button>
94
+ </bs-empty-state>`;
95
+ const es = root.querySelector('bs-empty-state');
96
+ await new Promise(r => setTimeout(r, 200));
97
+ const d = q(es, '[part="description"]');
98
+ expect(d).not.toBeNull();
99
+ expect(d.textContent.trim()).toBe('Try a wider date range.');
100
+ expect(d.getBoundingClientRect().height).toBeGreaterThan(0);
101
+ });
102
+ });
@@ -0,0 +1,45 @@
1
+ :host {
2
+ display: block;
3
+ box-sizing: border-box;
4
+ --bs-empty-state-padding-y: var(--bs-spacing-700);
5
+ /* Figma: 24px; --bs-spacing-300 is 24px. */
6
+ --bs-empty-state-padding-x: var(--bs-spacing-300);
7
+ --bs-empty-state-gap: var(--bs-spacing-150);
8
+ --bs-empty-state-heading-color: var(--bs-text-default);
9
+ --bs-empty-state-description-color: var(--bs-text-secondary);
10
+ }
11
+
12
+ .bs-empty-state {
13
+ box-sizing: border-box;
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: center;
17
+ gap: var(--bs-empty-state-gap);
18
+ padding: var(--bs-empty-state-padding-y) var(--bs-empty-state-padding-x);
19
+ text-align: center;
20
+ }
21
+
22
+ .bs-empty-state__heading {
23
+ margin: 0;
24
+ align-self: stretch;
25
+ color: var(--bs-empty-state-heading-color);
26
+ font-family: inherit;
27
+ font-size: var(--bs-font-size-xl);
28
+ font-weight: var(--bs-font-weight-bold);
29
+ line-height: 24px;
30
+ }
31
+
32
+ .bs-empty-state__description {
33
+ margin: 0;
34
+ align-self: stretch;
35
+ color: var(--bs-empty-state-description-color);
36
+ font-family: inherit;
37
+ font-size: var(--bs-font-size-sm);
38
+ font-weight: var(--bs-font-weight-regular);
39
+ line-height: 20px;
40
+ }
41
+
42
+ .bs-empty-state__action {
43
+ display: flex;
44
+ justify-content: center;
45
+ }
@@ -0,0 +1,175 @@
1
+ import { h } from "@stencil/core";
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 class BsEmptyState {
33
+ el;
34
+ /** The heading text. */
35
+ heading;
36
+ /** The description text. The default slot overrides it. */
37
+ description;
38
+ /** Colour and default glyph of the icon tile. Use `error` for failures. */
39
+ intent = 'default';
40
+ /** Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline. */
41
+ headingLevel = 3;
42
+ hasIcon = false;
43
+ hasDescriptionSlot = false;
44
+ hasAction = false;
45
+ observer;
46
+ componentWillLoad() {
47
+ this.readSlots();
48
+ this.observer = new MutationObserver(() => this.readSlots());
49
+ this.observer.observe(this.el, { childList: true, subtree: false, characterData: false });
50
+ }
51
+ disconnectedCallback() {
52
+ this.observer?.disconnect();
53
+ }
54
+ readSlots() {
55
+ const nodes = Array.from(this.el.childNodes);
56
+ const slotOf = (n) => (n.nodeType === Node.ELEMENT_NODE ? n.getAttribute('slot') : null);
57
+ this.hasIcon = nodes.some(n => slotOf(n) === 'icon');
58
+ this.hasAction = nodes.some(n => slotOf(n) === 'action');
59
+ this.hasDescriptionSlot = nodes.some(n => !slotOf(n) && (n.nodeType === Node.ELEMENT_NODE || (n.nodeType === Node.TEXT_NODE && !!n.textContent?.trim())));
60
+ }
61
+ render() {
62
+ const level = Math.min(6, Math.max(2, Math.round(Number(this.headingLevel)) || 3));
63
+ const Heading = `h${level}`;
64
+ return (h("div", { key: 'dabc994fcb254cb35958f8bde54d7935bb6ff70a', part: "container", class: "bs-empty-state" }, h("bs-icon-tile", { key: 'efec1cc06eb3447fbd81b12634c12ee96f9fd0d2', part: "icon", size: "lg", intent: this.intent }, this.hasIcon && h("slot", { key: 'd8a7482e2b32f6361b82232652edcc1aadb74a5b', name: "icon" })), this.heading && (h(Heading, { key: '6625baa3d00097951042608aeb888f7c1665e987', part: "heading", class: "bs-empty-state__heading" }, this.heading)), (this.description || this.hasDescriptionSlot) && (h("p", { key: 'c367d9d3aa154e8413c04ca47de7cd9f5eed6883', part: "description", class: "bs-empty-state__description" }, this.hasDescriptionSlot ? h("slot", null) : this.description)), this.hasAction && (h("div", { key: '7b9b78de4e71e6d07d94d4595290492542d7bf62', part: "action", class: "bs-empty-state__action" }, h("slot", { key: '7b57218ca03edfd6f972a2bb6ce458db8dc33d9a', name: "action" })))));
65
+ }
66
+ static get is() { return "bs-empty-state"; }
67
+ static get encapsulation() { return "shadow"; }
68
+ static get originalStyleUrls() {
69
+ return {
70
+ "$": ["bs-empty-state.css"]
71
+ };
72
+ }
73
+ static get styleUrls() {
74
+ return {
75
+ "$": ["bs-empty-state.css"]
76
+ };
77
+ }
78
+ static get properties() {
79
+ return {
80
+ "heading": {
81
+ "type": "string",
82
+ "mutable": false,
83
+ "complexType": {
84
+ "original": "string",
85
+ "resolved": "string",
86
+ "references": {}
87
+ },
88
+ "required": false,
89
+ "optional": true,
90
+ "docs": {
91
+ "tags": [],
92
+ "text": "The heading text."
93
+ },
94
+ "getter": false,
95
+ "setter": false,
96
+ "reflect": false,
97
+ "attribute": "heading"
98
+ },
99
+ "description": {
100
+ "type": "string",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "string",
104
+ "resolved": "string",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": true,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "The description text. The default slot overrides it."
112
+ },
113
+ "getter": false,
114
+ "setter": false,
115
+ "reflect": false,
116
+ "attribute": "description"
117
+ },
118
+ "intent": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "BsIconTileIntent",
123
+ "resolved": "\"brand\" | \"default\" | \"error\" | \"information\" | \"success\" | \"warning\"",
124
+ "references": {
125
+ "BsIconTileIntent": {
126
+ "location": "import",
127
+ "path": "../bs-icon-tile/bs-icon-tile",
128
+ "id": "src/components/bs-icon-tile/bs-icon-tile.tsx::BsIconTileIntent",
129
+ "referenceLocation": "BsIconTileIntent"
130
+ }
131
+ }
132
+ },
133
+ "required": false,
134
+ "optional": false,
135
+ "docs": {
136
+ "tags": [],
137
+ "text": "Colour and default glyph of the icon tile. Use `error` for failures."
138
+ },
139
+ "getter": false,
140
+ "setter": false,
141
+ "reflect": true,
142
+ "attribute": "intent",
143
+ "defaultValue": "'default'"
144
+ },
145
+ "headingLevel": {
146
+ "type": "number",
147
+ "mutable": false,
148
+ "complexType": {
149
+ "original": "2 | 3 | 4 | 5 | 6",
150
+ "resolved": "2 | 3 | 4 | 5 | 6",
151
+ "references": {}
152
+ },
153
+ "required": false,
154
+ "optional": false,
155
+ "docs": {
156
+ "tags": [],
157
+ "text": "Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline."
158
+ },
159
+ "getter": false,
160
+ "setter": false,
161
+ "reflect": false,
162
+ "attribute": "heading-level",
163
+ "defaultValue": "3"
164
+ }
165
+ };
166
+ }
167
+ static get states() {
168
+ return {
169
+ "hasIcon": {},
170
+ "hasDescriptionSlot": {},
171
+ "hasAction": {}
172
+ };
173
+ }
174
+ static get elementRef() { return "el"; }
175
+ }
@@ -0,0 +1,52 @@
1
+ import { html } from "lit";
2
+ import { componentDescription } from "../../stories-utils";
3
+ const SEARCH_ICON = html `<svg slot="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7" /><path d="m20 20-3.5-3.5" /></svg>`;
4
+ const WARNING_ICON = html `<svg slot="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9" /><path d="M12 7.5v5M12 16.2v.1" /></svg>`;
5
+ const meta = {
6
+ title: 'Components/bs-empty-state',
7
+ parameters: { docs: { description: { component: componentDescription('bs-empty-state') } } },
8
+ argTypes: {
9
+ heading: { control: 'text' },
10
+ description: { control: 'text' },
11
+ intent: { control: 'select', options: ['default', 'success', 'warning', 'error', 'brand', 'information'] },
12
+ headingLevel: { control: 'select', options: [2, 3, 4, 5, 6] },
13
+ },
14
+ args: {
15
+ heading: 'No events match these filters',
16
+ description: 'Try a wider date range or clear filters.',
17
+ intent: 'default',
18
+ headingLevel: 3,
19
+ },
20
+ render: args => html `
21
+ <div style="width: 480px">
22
+ <bs-empty-state heading=${args.heading} description=${args.description} intent=${args.intent} .headingLevel=${args.headingLevel}>
23
+ ${SEARCH_ICON}
24
+ <bs-button slot="action" variant="outlined">Clear filters</bs-button>
25
+ </bs-empty-state>
26
+ </div>
27
+ `,
28
+ };
29
+ export default meta;
30
+ export const NoResults = {};
31
+ export const Error = {
32
+ args: {
33
+ heading: 'Search isn’t available right now',
34
+ description: 'We couldn’t reach the server. Your query is kept — try again in a moment.',
35
+ intent: 'error',
36
+ },
37
+ render: args => html `
38
+ <div style="width: 480px">
39
+ <bs-empty-state heading=${args.heading} description=${args.description} intent=${args.intent}>
40
+ ${WARNING_ICON}
41
+ <bs-button slot="action" variant="outlined">Try again</bs-button>
42
+ </bs-empty-state>
43
+ </div>
44
+ `,
45
+ };
46
+ export const WithoutAction = {
47
+ render: args => html `
48
+ <div style="width: 480px">
49
+ <bs-empty-state heading=${args.heading} description=${args.description}>${SEARCH_ICON}</bs-empty-state>
50
+ </div>
51
+ `,
52
+ };
@@ -65,7 +65,7 @@ export class BsErrorPage {
65
65
  const primary = this.primaryLabel ?? d.primary;
66
66
  const secondary = this.secondaryLabel ?? d.secondary;
67
67
  const level = Math.min(6, Math.max(1, Math.trunc(Number(this.headingLevel)) || 1));
68
- return (h("bs-card", { key: '68774f7ab0252b92905900f06f564d1c2a8ce163', part: "container", class: "bs-error-page", surface: "base" }, h("div", { key: 'f263ce4991e2aa4553e430e60e646df5fc257120', class: "bs-error-page__body" }, h("div", { key: '3aa6b36e1aa05ea63e52e8c79684b166853e5950', class: "bs-error-page__art-group" }, h("bs-icon-tile", { key: 'b0b7f3fa925acef6b95e23136df7f9bac3e43ff4', part: "art", class: `bs-error-page__art ${d.info ? 'bs-error-page__art--info' : ''}`, intent: d.intent, size: "lg" }, h("slot", { key: 'e33db2aa8c275de0e32effc759e177ef1ee46c6d', name: "icon" }, d.glyph())), code && (h("span", { key: '9f576963f7399e4ca6e86cfd0331f0c7c7119886', part: "code", class: "bs-error-page__code" }, code))), h(`h${level}`, { part: 'heading', class: { 'bs-error-page__heading': true } }, heading), description && (h("p", { key: 'ea4861b666f95c7416a4d54152f8ffd1b900eb61', part: "description", class: "bs-error-page__description" }, description)), (primary || secondary) && (h("div", { key: 'e0ec38c28b957390486fce52497f91661abc7ef1', part: "actions", class: "bs-error-page__actions" }, primary && (h("bs-button", { key: 'a2b190366240c9fbe3e7a78a16b9881a3ad4468a', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: 'bef26b3dcc61c4e968c054d35ed67430884c9f99', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)))), this.reference && (h("p", { key: 'b8de6e83c2c68ca8880afc781e8ffceb03f23164', part: "reference", class: "bs-error-page__reference" }, this.reference)))));
68
+ return (h("bs-card", { key: '4214c79438721c66089be3a4ae64fcd6bdcbdea6', part: "container", class: "bs-error-page", surface: "base" }, h("div", { key: '39b2a7292d488442fc2465635a5be9dd704dc42e', class: "bs-error-page__body" }, h("div", { key: 'beb353eefb6b77b03fe7d1ea3894b6a625eebe06', class: "bs-error-page__art-group" }, h("bs-icon-tile", { key: '516a9c87ddb3ac5140d2880d4638eb5eca01db73', part: "art", class: `bs-error-page__art ${d.info ? 'bs-error-page__art--info' : ''}`, intent: d.intent, size: "lg" }, h("slot", { key: '3c3029ce78413f49c4bb839260c432848329b428', name: "icon" }, d.glyph())), code && (h("span", { key: 'fc4058b507c0b60ca417f09f7838664716b17fc3', part: "code", class: "bs-error-page__code" }, code))), h(`h${level}`, { part: 'heading', class: { 'bs-error-page__heading': true } }, heading), description && (h("p", { key: 'b914f77506217b401e26694205104d623596d270', part: "description", class: "bs-error-page__description" }, description)), (primary || secondary) && (h("div", { key: 'b6dc2e92b34960f754a54b31a659337135e63607', part: "actions", class: "bs-error-page__actions" }, primary && (h("bs-button", { key: 'e4f85bf6e86a80fbf1bd09fc77e16768c435a97b', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: 'a1469448cfbf1edb0bb8fe1d613101782dc87145', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)))), this.reference && (h("p", { key: 'e8f32f0cc84051d02418bb48bc6116675ec55097', part: "reference", class: "bs-error-page__reference" }, this.reference)))));
69
69
  }
70
70
  static get is() { return "bs-error-page"; }
71
71
  static get encapsulation() { return "shadow"; }
@@ -112,7 +112,7 @@ export class BsFileUpload {
112
112
  this.handleFiles(files);
113
113
  };
114
114
  render() {
115
- return (h("div", { key: 'd9f116b4dcf8641a590581c24176d4659a2b6892', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, h("div", { key: '5aa0c733860505646bde5cad571a4d850d38f979', part: "icon", class: "bs-file-upload__icon" }, h("slot", { key: '292d3074620f2a228dbe544363f7ef8cce4f194c', name: "icon" }, h(UploadIcon, { key: '65c343be45634d10d561ba0f7a3cdd201a7664e6' }))), h("div", { key: '69d1ddde89b8c26d7a40a963cf16d1519b5b1fd4', class: "bs-file-upload__content" }, h("div", { key: '7730fdb7efb8eeffb374fff22fdd9d60497eebce', class: "bs-file-upload__text" }, this.heading && (h("span", { key: '0ca349bd1fedd84d869b363da150e13c07623f3b', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (h("span", { key: '522d99de1b5caf70cd7e44bf8e821fe49951c788', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), h("bs-button", { key: 'f7af51522dfb762102f0c17bcbfd0e737b52d783', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), h("input", { key: '71a2262124fd84b52dbffa18966eb1479e1ad95a', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
115
+ return (h("div", { key: '5312a866a1db63fd378f265fc200a509bfd50ce1', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, h("div", { key: '7276ccfa10a086d933b5563a208393a75e0dd821', part: "icon", class: "bs-file-upload__icon" }, h("slot", { key: 'e828eaa70303c82cb2bea5e647807079946b62e7', name: "icon" }, h(UploadIcon, { key: 'bd6ee5b8b20996ee68f972cb79db7c47f645c4d3' }))), h("div", { key: '784440974685713b31ba97642b931b99e64433a3', class: "bs-file-upload__content" }, h("div", { key: 'c7568214218e02ecb794f3429b843462f88bf216', class: "bs-file-upload__text" }, this.heading && (h("span", { key: '4872f617be4f30b9ab98aeca2dca7012d9391905', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (h("span", { key: 'd8f446f1f8690ec773b094aeeb66af49ec1de291', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), h("bs-button", { key: 'bb0634e3e0dcb4a4ef59fa7c5daeaacbff5bceda', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), h("input", { key: 'f55602446ec222ca46b7dab95aaff26d6d5b1632', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
116
116
  }
117
117
  static get is() { return "bs-file-upload"; }
118
118
  static get encapsulation() { return "shadow"; }
@@ -86,7 +86,7 @@ export class BsFileUploadItem {
86
86
  }
87
87
  render() {
88
88
  const removing = this.state === 'success';
89
- return (h("div", { key: 'e109650dda74a0a0db7af7f621da5e70079a7830', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, h("div", { key: '800f1bd6a8cabd97c0aa43fe9a521876d4e6feb8', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, h("slot", { key: 'e5696a2cf9d69579ff8fd79688f83879c4093c74', name: "thumbnail" }, this.thumbnailSrc ? (h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (h(ImageIcon, null)))), h("div", { key: 'bc52ee589c5cf4040dcb1aa86cce0150136d71ae', class: "bs-file-upload-item__content" }, h("div", { key: 'a70dc514e89ebfb1de3e772652e6ab8b2987007a', class: "bs-file-upload-item__meta" }, h("span", { key: '1c0a8e151f284a8344650fb00912582c17d2d5ee', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (h("span", { key: 'f608a1ee6e44e34e9e67600622a180e676fb960a', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), h("bs-icon-button", { key: '5781f2aa401d12d3a4f4b0172d64cb0b9ceacf00', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? h(TrashIcon, null) : h(CloseIcon, null))));
89
+ return (h("div", { key: '26933845798c1cee2739c2a5a3d402175244717b', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, h("div", { key: 'b7312bfd0a7bcbeac8e098be4cb6d565283f2e0f', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, h("slot", { key: '69350d5224f540e0f4d5033e3ac92ccff397b565', name: "thumbnail" }, this.thumbnailSrc ? (h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (h(ImageIcon, null)))), h("div", { key: 'fbe429e0dd56af6fe5d955ce384a335c9ce3843a', class: "bs-file-upload-item__content" }, h("div", { key: 'b45f5b5500d760dcfb0d8fe3e87638db9325ae99', class: "bs-file-upload-item__meta" }, h("span", { key: '7e5a8cd3ccca37c88182d0e430841f36f29f56e7', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (h("span", { key: '114e9167c4542c9e071ebb21ee77d25d5c9221b4', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), h("bs-icon-button", { key: 'f6a9a212a6436ac50eaab6b0224b58245171a7de', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? h(TrashIcon, null) : h(CloseIcon, null))));
90
90
  }
91
91
  static get is() { return "bs-file-upload-item"; }
92
92
  static get encapsulation() { return "shadow"; }