@brandsync/wc 1.17.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 (570) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/REFERENCE.md +245 -0
  3. package/custom-elements.json +5218 -3031
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-a7fb0b59.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-5c61eb06.entry.js → p-08e0e704.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-35f76ea7.entry.js → p-0a6f22fe.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-b02bf1ca.entry.js → p-14b4f4c4.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-54d91ac9.entry.js → p-15f06226.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-a5659499.entry.js → p-186e3b78.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-1bd99669.entry.js → p-1a47774e.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-70c650b2.entry.js → p-1a62e5b7.entry.js} +1 -1
  14. package/dist/brandsync-wc/p-1aa0f9a3.entry.js +1 -0
  15. package/dist/brandsync-wc/{p-9d740928.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-d25adab2.entry.js → p-31ca98c3.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-84d6d6eb.entry.js → p-344695a8.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-4f4c0c68.entry.js → p-345b5ef3.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-e0a9f2d1.entry.js → p-34851d6d.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-eb0dc5bf.entry.js → p-348fef11.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-d2a15599.entry.js → p-3e6f430a.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-065c7e7c.entry.js → p-43f8afda.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-361aef36.entry.js → p-47929dca.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-67f125e8.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-d9184940.entry.js → p-4ff649f1.entry.js} +1 -1
  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-43d5f708.entry.js → p-55d336da.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-f43a7f16.entry.js → p-55d97d1d.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-b142d8c9.entry.js → p-56a45582.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-07673a48.entry.js → p-58179e15.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-9396c67e.entry.js → p-5868793d.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-90ba3032.entry.js → p-5ac75555.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-f82a9f0d.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-08e96f13.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-f98dfa85.entry.js → p-6c987bc9.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-b5710db6.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-844205d9.entry.js → p-841a80b4.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-5057e4fe.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-6ea02b98.entry.js → p-9787bc0f.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-be7aac52.entry.js → p-998b95d3.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-11d80e17.entry.js → p-9bd739e5.entry.js} +1 -1
  55. package/dist/brandsync-wc/p-a424a709.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-4eaa9ed4.entry.js → p-a51355d9.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-3bad5e1b.entry.js → p-a8c2855c.entry.js} +1 -1
  58. package/dist/brandsync-wc/{p-61deb48c.entry.js → p-a9d0a730.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-2bd30709.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-79fc849c.entry.js → p-b759ae72.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-e8ae626d.entry.js → p-b7bbc52f.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-aec2dfeb.entry.js → p-bd901b06.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-c835afb7.entry.js → p-be7272ce.entry.js} +1 -1
  65. package/dist/brandsync-wc/{p-857987f9.entry.js → p-bfff7cbb.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-8134f97c.entry.js → p-c020ffdf.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-3cb79512.entry.js → p-c02ed03d.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-a7fa839a.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-ffccc1ee.entry.js → p-d42a26c1.entry.js} +1 -1
  71. package/dist/brandsync-wc/p-d985e569.entry.js +1 -0
  72. package/dist/brandsync-wc/{p-debc83cc.entry.js → p-e2491db8.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-fdc168ec.entry.js → p-e32a6df1.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-57ff14ca.entry.js → p-e3e15670.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-3c6ec5d0.entry.js → p-e4e9c961.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-d7956c51.entry.js → p-e99c0937.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-ab14a07d.entry.js → p-e9adfa44.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-32297416.entry.js → p-eb3bacb9.entry.js} +1 -1
  79. package/dist/brandsync-wc/{p-3d2c62a6.entry.js → p-ee00d3a5.entry.js} +1 -1
  80. package/dist/brandsync-wc/{p-3bdeeb9d.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-4b460eda.entry.js → p-f47b8673.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-8c4dfccb.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-5b933ff4.entry.js → p-fb84002e.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-b4511ad3.entry.js → p-fbc219c6.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-0bbaef51.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 +1 -1
  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 +1 -1
  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 +2 -2
  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 +1 -1
  139. package/dist/cjs/bs-key.cjs.entry.js +1 -1
  140. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +2 -2
  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 +1 -1
  156. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  157. package/dist/cjs/bs-shortcut-row.cjs.entry.js +1 -1
  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 +8 -0
  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.js +1 -1
  218. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.js +32 -0
  219. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.css +43 -0
  220. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +67 -0
  221. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +25 -0
  222. package/dist/collection/components/bs-company-switcher/bs-company-switcher.cmp.test.js +171 -0
  223. package/dist/collection/components/bs-company-switcher/bs-company-switcher.css +196 -0
  224. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +720 -0
  225. package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +78 -0
  226. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  227. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  228. package/dist/collection/components/bs-container/bs-container.js +1 -1
  229. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  230. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  231. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  232. package/dist/collection/components/bs-empty-state/bs-empty-state.js +1 -1
  233. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  234. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  235. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  236. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  237. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  238. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +11 -2
  239. package/dist/collection/components/bs-input/bs-input.js +2 -2
  240. package/dist/collection/components/bs-key/bs-key.js +1 -1
  241. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  242. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  243. package/dist/collection/components/bs-list/bs-list.js +1 -1
  244. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  245. package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +131 -0
  246. package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +139 -0
  247. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +358 -0
  248. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +188 -0
  249. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  250. package/dist/collection/components/bs-menu-block/bs-menu-block.cmp.test.js +44 -0
  251. package/dist/collection/components/bs-menu-block/bs-menu-block.css +106 -0
  252. package/dist/collection/components/bs-menu-block/bs-menu-block.js +147 -0
  253. package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +36 -0
  254. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  255. package/dist/collection/components/bs-message/bs-message.js +1 -1
  256. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  257. package/dist/collection/components/bs-page-header/bs-page-header.cmp.test.js +206 -0
  258. package/dist/collection/components/bs-page-header/bs-page-header.css +252 -0
  259. package/dist/collection/components/bs-page-header/bs-page-header.js +351 -0
  260. package/dist/collection/components/bs-page-header/bs-page-header.stories.js +177 -0
  261. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  262. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  263. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  264. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  265. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  266. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  267. package/dist/collection/components/bs-search-item/bs-search-item.js +1 -1
  268. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  269. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  270. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  271. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  272. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  273. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  274. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  275. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  276. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  277. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  278. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  279. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  280. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  281. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  282. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  283. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  284. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  285. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  286. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  287. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  288. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  289. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  290. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  291. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  292. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +79 -0
  293. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +46 -0
  294. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +10 -1
  295. package/dist/components/bs-accordion-group.js +1 -1
  296. package/dist/components/bs-ai-disclaimer.js +1 -1
  297. package/dist/components/bs-ai-greeting.js +1 -1
  298. package/dist/components/bs-ai-thinking.js +1 -1
  299. package/dist/components/bs-app-recent-item.d.ts +11 -0
  300. package/dist/components/bs-app-recent-item.js +1 -0
  301. package/dist/components/bs-app-shell.js +1 -1
  302. package/dist/components/bs-app-switcher.d.ts +11 -0
  303. package/dist/components/bs-app-switcher.js +1 -0
  304. package/dist/components/bs-app-tile.d.ts +11 -0
  305. package/dist/components/bs-app-tile.js +1 -0
  306. package/dist/components/bs-attachment-list.js +1 -1
  307. package/dist/components/bs-attachment.js +1 -1
  308. package/dist/components/bs-avatar.js +1 -1
  309. package/dist/components/bs-badge.js +1 -1
  310. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  311. package/dist/components/bs-breadcrumb.js +1 -1
  312. package/dist/components/bs-breadcrumbs.js +1 -1
  313. package/dist/components/bs-button-skeleton.js +1 -1
  314. package/dist/components/bs-button.js +1 -1
  315. package/dist/components/bs-card.js +1 -1
  316. package/dist/components/bs-carousel.js +1 -1
  317. package/dist/components/bs-chatbot-feedback.js +1 -1
  318. package/dist/components/bs-chatbot-header.js +1 -1
  319. package/dist/components/bs-chatbot-response-action.js +1 -1
  320. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  321. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  322. package/dist/components/bs-checkbox-skeleton.js +1 -1
  323. package/dist/components/bs-checkbox.js +1 -1
  324. package/dist/components/bs-chip-filter.js +1 -1
  325. package/dist/components/bs-chip-informative.js +1 -1
  326. package/dist/components/bs-chip-input.js +1 -1
  327. package/dist/components/bs-citation-preview.js +1 -1
  328. package/dist/components/bs-command-palette.js +1 -1
  329. package/dist/components/bs-compact-menu-block.d.ts +11 -0
  330. package/dist/components/bs-compact-menu-block.js +1 -0
  331. package/dist/components/bs-company-switcher.d.ts +11 -0
  332. package/dist/components/bs-company-switcher.js +1 -0
  333. package/dist/components/bs-composer-status-banner.js +1 -1
  334. package/dist/components/bs-composer.js +1 -1
  335. package/dist/components/bs-container.js +1 -1
  336. package/dist/components/bs-cookie-consent.js +1 -1
  337. package/dist/components/bs-data-table.js +1 -1
  338. package/dist/components/bs-datepicker.js +1 -1
  339. package/dist/components/bs-dialog.js +1 -1
  340. package/dist/components/bs-divider.js +1 -1
  341. package/dist/components/bs-empty-state.js +1 -1
  342. package/dist/components/bs-error-page.js +1 -1
  343. package/dist/components/bs-file-upload-item.js +1 -1
  344. package/dist/components/bs-file-upload.js +1 -1
  345. package/dist/components/bs-global-search.js +1 -1
  346. package/dist/components/bs-grid.js +1 -1
  347. package/dist/components/bs-icon-button.js +1 -1
  348. package/dist/components/bs-icon-tile.js +1 -1
  349. package/dist/components/bs-inline-tab.js +1 -1
  350. package/dist/components/bs-input.js +1 -1
  351. package/dist/components/bs-key-caps.js +1 -1
  352. package/dist/components/bs-key.js +1 -1
  353. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  354. package/dist/components/bs-list-item.js +1 -1
  355. package/dist/components/bs-list.js +1 -1
  356. package/dist/components/bs-mega-menu.d.ts +11 -0
  357. package/dist/components/bs-mega-menu.js +1 -0
  358. package/dist/components/bs-menu-block.d.ts +11 -0
  359. package/dist/components/bs-menu-block.js +1 -0
  360. package/dist/components/bs-menu-item.js +1 -1
  361. package/dist/components/bs-menu.js +1 -1
  362. package/dist/components/bs-message-list.js +1 -1
  363. package/dist/components/bs-message.js +1 -1
  364. package/dist/components/bs-navigation-drawer-item.js +1 -1
  365. package/dist/components/bs-navigation-drawer.js +1 -1
  366. package/dist/components/bs-navigation-header.js +1 -1
  367. package/dist/components/bs-onboarding-checklist.js +1 -1
  368. package/dist/components/bs-page-header.d.ts +11 -0
  369. package/dist/components/bs-page-header.js +1 -0
  370. package/dist/components/bs-pagination.js +1 -1
  371. package/dist/components/bs-popover.js +1 -1
  372. package/dist/components/bs-product-tour.js +1 -1
  373. package/dist/components/bs-progress-linear.js +1 -1
  374. package/dist/components/bs-progress.js +1 -1
  375. package/dist/components/bs-qr-code.js +1 -1
  376. package/dist/components/bs-radio.js +1 -1
  377. package/dist/components/bs-search-item.js +1 -1
  378. package/dist/components/bs-session-timeout.js +1 -1
  379. package/dist/components/bs-shortcut-row.js +1 -1
  380. package/dist/components/bs-side-panel.js +1 -1
  381. package/dist/components/bs-skeleton.js +1 -1
  382. package/dist/components/bs-slider.js +1 -1
  383. package/dist/components/bs-snackbar.js +1 -1
  384. package/dist/components/bs-source-link.js +1 -1
  385. package/dist/components/bs-spinner.js +1 -1
  386. package/dist/components/bs-split-pane.js +1 -1
  387. package/dist/components/bs-stack.js +1 -1
  388. package/dist/components/bs-stepper-step.js +1 -1
  389. package/dist/components/bs-stepper.js +1 -1
  390. package/dist/components/bs-switch.js +1 -1
  391. package/dist/components/bs-tab.js +1 -1
  392. package/dist/components/bs-tabs.js +1 -1
  393. package/dist/components/bs-timepicker.js +1 -1
  394. package/dist/components/bs-toast.js +1 -1
  395. package/dist/components/bs-tooltip-trigger.js +1 -1
  396. package/dist/components/bs-tooltip.js +1 -1
  397. package/dist/components/bs-tree-item.js +1 -1
  398. package/dist/components/bs-tree.js +1 -1
  399. package/dist/components/bs-whats-new-entry.js +1 -1
  400. package/dist/components/bs-whats-new.js +1 -1
  401. package/dist/components/p-B6KgEbdM.js +1 -0
  402. package/dist/components/{p-DYDk73TF.js → p-B8kw9EOx.js} +1 -1
  403. package/dist/components/p-BLPNwyiT.js +1 -0
  404. package/dist/components/{p-D8bvv9QQ.js → p-BP1l6Q3Z.js} +1 -1
  405. package/dist/components/p-BS7ySxJZ.js +1 -0
  406. package/dist/components/{p-DYuzgzxI.js → p-BmdSbmFg.js} +1 -1
  407. package/dist/components/{p-CRtvJlh8.js → p-C1owRphU.js} +1 -1
  408. package/dist/components/{p-TAY9S9yG.js → p-C2rRVRIu.js} +1 -1
  409. package/dist/components/p-C3erqJFy.js +1 -0
  410. package/dist/components/{p-BcYNrEOB.js → p-Cd7p-48Q.js} +1 -1
  411. package/dist/components/{p-DtYTs9Kh.js → p-CmlzHRkn.js} +1 -1
  412. package/dist/components/{p-Bp3DIxjT.js → p-Co36mHEU.js} +1 -1
  413. package/dist/components/p-D4_8H0vn.js +1 -0
  414. package/dist/components/{p-DMLfXpva.js → p-D9dDFyPB.js} +1 -1
  415. package/dist/components/{p-DvNED6Lb.js → p-DBvhi__l.js} +1 -1
  416. package/dist/components/{p-CRM1wIX9.js → p-DFd4pP4i.js} +1 -1
  417. package/dist/components/{p-BUpnOUIM.js → p-DVjuZdjF.js} +1 -1
  418. package/dist/components/{p-D7AXo5NT.js → p-DW0Dw2LS.js} +1 -1
  419. package/dist/components/p-DcdFuKG9.js +1 -0
  420. package/dist/components/{p-CH5atin4.js → p-Deq0LzGO.js} +1 -1
  421. package/dist/components/p-DgY5pxXd.js +1 -0
  422. package/dist/components/{p-w-DkdA4O.js → p-DhhXayh6.js} +1 -1
  423. package/dist/components/p-DiORQQg3.js +1 -0
  424. package/dist/components/{p-Dt4JNhHT.js → p-Dl0FedE5.js} +1 -1
  425. package/dist/components/p-DsBToIYE.js +1 -0
  426. package/dist/components/{p-DG9eT5yi.js → p-DtbeCgXo.js} +1 -1
  427. package/dist/components/{p-DcjgRtSQ.js → p-DzvXbBvk.js} +1 -1
  428. package/dist/components/{p-CervX0wH.js → p-I1_Q3HQu.js} +1 -1
  429. package/dist/components/{p-Cpe2k7ZC.js → p-TXAiCnSZ.js} +1 -1
  430. package/dist/components/p-c-g3-oVu.js +1 -0
  431. package/dist/components/p-erdtytMq.js +1 -0
  432. package/dist/components/{p-BDnZvjlq.js → p-qXdgl7VG.js} +1 -1
  433. package/dist/esm/brandsync-wc.js +1 -1
  434. package/dist/esm/bs-accordion-group.entry.js +1 -1
  435. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  436. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  437. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  438. package/dist/esm/bs-app-recent-item_3.entry.js +129 -0
  439. package/dist/esm/bs-app-shell.entry.js +1 -1
  440. package/dist/esm/bs-app-switcher.entry.js +206 -0
  441. package/dist/esm/bs-attachment-list.entry.js +1 -1
  442. package/dist/esm/bs-attachment.entry.js +1 -1
  443. package/dist/esm/bs-avatar.entry.js +1 -1
  444. package/dist/esm/bs-badge.entry.js +1 -1
  445. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  446. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  447. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  448. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  449. package/dist/esm/bs-button.entry.js +1 -1
  450. package/dist/esm/bs-card.entry.js +1 -1
  451. package/dist/esm/bs-carousel.entry.js +1 -1
  452. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  453. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  454. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  455. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  456. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  457. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  458. package/dist/esm/bs-checkbox.entry.js +1 -1
  459. package/dist/esm/bs-chip-filter.entry.js +1 -1
  460. package/dist/esm/bs-chip-informative.entry.js +1 -1
  461. package/dist/esm/bs-chip-input.entry.js +1 -1
  462. package/dist/esm/bs-citation-preview.entry.js +1 -1
  463. package/dist/esm/bs-command-palette.entry.js +1 -1
  464. package/dist/esm/bs-compact-menu-block_2.entry.js +43 -0
  465. package/dist/esm/bs-company-switcher.entry.js +209 -0
  466. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  467. package/dist/esm/bs-composer.entry.js +1 -1
  468. package/dist/esm/bs-container.entry.js +1 -1
  469. package/dist/esm/bs-data-table.entry.js +2 -2
  470. package/dist/esm/bs-datepicker.entry.js +1 -1
  471. package/dist/esm/bs-divider.entry.js +1 -1
  472. package/dist/esm/bs-empty-state.entry.js +1 -1
  473. package/dist/esm/bs-error-page.entry.js +1 -1
  474. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  475. package/dist/esm/bs-file-upload.entry.js +1 -1
  476. package/dist/esm/bs-global-search.entry.js +2 -2
  477. package/dist/esm/bs-grid.entry.js +2 -2
  478. package/dist/esm/bs-icon-button.entry.js +8 -1
  479. package/dist/esm/bs-icon-tile.entry.js +11 -3
  480. package/dist/esm/bs-inline-tab.entry.js +1 -1
  481. package/dist/esm/bs-input_3.entry.js +4 -4
  482. package/dist/esm/bs-key-caps.entry.js +1 -1
  483. package/dist/esm/bs-key.entry.js +1 -1
  484. package/dist/esm/bs-keyboard-shortcuts.entry.js +2 -2
  485. package/dist/esm/bs-list-item_2.entry.js +212 -0
  486. package/dist/esm/bs-list.entry.js +1 -1
  487. package/dist/esm/bs-mega-menu.entry.js +68 -0
  488. package/dist/esm/bs-message-list.entry.js +1 -1
  489. package/dist/esm/bs-message.entry.js +1 -1
  490. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  491. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  492. package/dist/esm/bs-navigation-header.entry.js +5 -2
  493. package/dist/esm/bs-page-header.entry.js +64 -0
  494. package/dist/esm/bs-pagination.entry.js +1 -1
  495. package/dist/esm/bs-progress-linear.entry.js +2 -2
  496. package/dist/esm/bs-progress.entry.js +2 -2
  497. package/dist/esm/bs-qr-code.entry.js +1 -1
  498. package/dist/esm/bs-radio.entry.js +1 -1
  499. package/dist/esm/bs-search-item.entry.js +1 -1
  500. package/dist/esm/bs-session-timeout.entry.js +1 -1
  501. package/dist/esm/bs-shortcut-row.entry.js +1 -1
  502. package/dist/esm/bs-slider.entry.js +1 -1
  503. package/dist/esm/bs-snackbar.entry.js +1 -1
  504. package/dist/esm/bs-source-link.entry.js +2 -2
  505. package/dist/esm/bs-spinner.entry.js +1 -1
  506. package/dist/esm/bs-split-pane.entry.js +1 -1
  507. package/dist/esm/bs-stack.entry.js +1 -1
  508. package/dist/esm/bs-stepper-step.entry.js +1 -1
  509. package/dist/esm/bs-stepper.entry.js +1 -1
  510. package/dist/esm/bs-switch.entry.js +1 -1
  511. package/dist/esm/bs-tab_3.entry.js +3 -3
  512. package/dist/esm/bs-timepicker.entry.js +2 -2
  513. package/dist/esm/bs-toast.entry.js +1 -1
  514. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  515. package/dist/esm/bs-tooltip.entry.js +1 -1
  516. package/dist/esm/bs-tree-item.entry.js +2 -2
  517. package/dist/esm/bs-tree.entry.js +1 -1
  518. package/dist/esm/loader.js +1 -1
  519. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.cmp.test.d.ts +1 -0
  520. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.d.ts +51 -0
  521. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.stories.d.ts +15 -0
  522. package/dist/types/components/bs-app-switcher/bs-app-switcher.cmp.test.d.ts +1 -0
  523. package/dist/types/components/bs-app-switcher/bs-app-switcher.d.ts +159 -0
  524. package/dist/types/components/bs-app-switcher/bs-app-switcher.stories.d.ts +34 -0
  525. package/dist/types/components/bs-app-tile/bs-app-tile.cmp.test.d.ts +1 -0
  526. package/dist/types/components/bs-app-tile/bs-app-tile.d.ts +51 -0
  527. package/dist/types/components/bs-app-tile/bs-app-tile.stories.d.ts +18 -0
  528. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +7 -0
  529. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.d.ts +1 -0
  530. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.d.ts +28 -0
  531. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.stories.d.ts +10 -0
  532. package/dist/types/components/bs-company-switcher/bs-company-switcher.cmp.test.d.ts +1 -0
  533. package/dist/types/components/bs-company-switcher/bs-company-switcher.d.ts +130 -0
  534. package/dist/types/components/bs-company-switcher/bs-company-switcher.stories.d.ts +25 -0
  535. package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +5 -0
  536. package/dist/types/components/bs-mega-menu/bs-mega-menu.cmp.test.d.ts +1 -0
  537. package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +110 -0
  538. package/dist/types/components/bs-mega-menu/bs-mega-menu.stories.d.ts +55 -0
  539. package/dist/types/components/bs-menu-block/bs-menu-block.cmp.test.d.ts +1 -0
  540. package/dist/types/components/bs-menu-block/bs-menu-block.d.ts +47 -0
  541. package/dist/types/components/bs-menu-block/bs-menu-block.stories.d.ts +15 -0
  542. package/dist/types/components/bs-page-header/bs-page-header.cmp.test.d.ts +1 -0
  543. package/dist/types/components/bs-page-header/bs-page-header.d.ts +100 -0
  544. package/dist/types/components/bs-page-header/bs-page-header.stories.d.ts +41 -0
  545. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +7 -1
  546. package/dist/types/components.d.ts +2047 -24
  547. package/dist/types/svg-inline.d.ts +5 -0
  548. package/package.json +2 -1
  549. package/reference.d.ts +26 -2
  550. package/reference.json +947 -56
  551. package/dist/brandsync-wc/p-044ac86c.entry.js +0 -1
  552. package/dist/brandsync-wc/p-225148be.entry.js +0 -1
  553. package/dist/brandsync-wc/p-3789c7a5.entry.js +0 -1
  554. package/dist/brandsync-wc/p-3d7b0708.entry.js +0 -1
  555. package/dist/brandsync-wc/p-5eb5795f.entry.js +0 -1
  556. package/dist/brandsync-wc/p-7ed071fb.entry.js +0 -1
  557. package/dist/brandsync-wc/p-baa39c08.entry.js +0 -1
  558. package/dist/brandsync-wc/p-dcbeb143.entry.js +0 -1
  559. package/dist/brandsync-wc/p-e123b391.entry.js +0 -1
  560. package/dist/brandsync-wc/p-e8e22238.entry.js +0 -1
  561. package/dist/cjs/bs-list-item.cjs.entry.js +0 -66
  562. package/dist/cjs/bs-popover.cjs.entry.js +0 -153
  563. package/dist/cjs/bs-skeleton.cjs.entry.js +0 -51
  564. package/dist/components/p-B32Kl4IB.js +0 -1
  565. package/dist/components/p-BcbaiZLh.js +0 -1
  566. package/dist/components/p-CYzBTzzf.js +0 -1
  567. package/dist/components/p-ChcaPfNL.js +0 -1
  568. package/dist/esm/bs-list-item.entry.js +0 -64
  569. package/dist/esm/bs-popover.entry.js +0 -151
  570. package/dist/esm/bs-skeleton.entry.js +0 -49
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { BsAccordionSize } from "./components/bs-accordion/bs-accordion";
9
+ import { BsApp, BsAppRecent, BsAppSwitcherStatus } from "./components/bs-app-switcher/bs-app-switcher";
10
+ import { BsAppTileSize } from "./components/bs-app-tile/bs-app-tile";
9
11
  import { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
10
12
  import { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
11
13
  import { BsBadgeVariant } from "./components/bs-badge/bs-badge";
@@ -22,6 +24,7 @@ import { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-fi
22
24
  import { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
23
25
  import { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
24
26
  import { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
27
+ import { BsCompany } from "./components/bs-company-switcher/bs-company-switcher";
25
28
  import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
26
29
  import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
27
30
  import { BsContainerSize } from "./components/bs-container/bs-container";
@@ -40,6 +43,7 @@ import { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs
40
43
  import { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
41
44
  import { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
42
45
  import { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
46
+ import { BsMegaMenuColumn, BsMegaMenuFeatured, BsMegaMenuItem, BsMegaMenuType } from "./components/bs-mega-menu/bs-mega-menu";
43
47
  import { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
44
48
  import { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
45
49
  import { BsOnboardingChecklistType, BsOnboardingLauncherLayout, BsOnboardingStep } from "./components/bs-onboarding-checklist/bs-onboarding-checklist";
@@ -68,6 +72,8 @@ import { BsWhatsNewFilter, BsWhatsNewItem, BsWhatsNewType } from "./components/b
68
72
  import { BsWhatsNewEntryTagColor } from "./components/bs-whats-new-entry/bs-whats-new-entry";
69
73
  import { BsWhatsNewEntryTagColor as BsWhatsNewEntryTagColor1 } from "./components/bs-whats-new-entry/bs-whats-new-entry";
70
74
  export { BsAccordionSize } from "./components/bs-accordion/bs-accordion";
75
+ export { BsApp, BsAppRecent, BsAppSwitcherStatus } from "./components/bs-app-switcher/bs-app-switcher";
76
+ export { BsAppTileSize } from "./components/bs-app-tile/bs-app-tile";
71
77
  export { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
72
78
  export { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
73
79
  export { BsBadgeVariant } from "./components/bs-badge/bs-badge";
@@ -84,6 +90,7 @@ export { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-fi
84
90
  export { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
85
91
  export { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
86
92
  export { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
93
+ export { BsCompany } from "./components/bs-company-switcher/bs-company-switcher";
87
94
  export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
88
95
  export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
89
96
  export { BsContainerSize } from "./components/bs-container/bs-container";
@@ -102,6 +109,7 @@ export { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs
102
109
  export { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
103
110
  export { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
104
111
  export { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
112
+ export { BsMegaMenuColumn, BsMegaMenuFeatured, BsMegaMenuItem, BsMegaMenuType } from "./components/bs-mega-menu/bs-mega-menu";
105
113
  export { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
106
114
  export { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
107
115
  export { BsOnboardingChecklistType, BsOnboardingLauncherLayout, BsOnboardingStep } from "./components/bs-onboarding-checklist/bs-onboarding-checklist";
@@ -269,6 +277,57 @@ export namespace Components {
269
277
  */
270
278
  "label": string;
271
279
  }
280
+ /**
281
+ * A full-width row for one app: a small icon tile, the app name and a description line (for example
282
+ * "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
283
+ * Hover, Pressed and Focus).
284
+ * The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
285
+ * (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
286
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
287
+ * icon colour through a CSS mask) or any element in the default slot.
288
+ * ## When to use
289
+ * - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
290
+ * ## When not to use
291
+ * - An app in a launcher grid -- use `bs-app-tile`.
292
+ * - A generic list row -- use `bs-list-item`.
293
+ * @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
294
+ * @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
295
+ * @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
296
+ * @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
297
+ * @prop --bs-app-recent-item-bg - Resting background. `transparent`.
298
+ * @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
299
+ * @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
300
+ * @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
301
+ * @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
302
+ * @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
303
+ * @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
304
+ * @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
305
+ * @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
306
+ */
307
+ interface BsAppRecentItem {
308
+ /**
309
+ * The app you are in right now: selected background and `aria-current="true"`.
310
+ * @default false
311
+ */
312
+ "current": boolean;
313
+ /**
314
+ * Second line under the name.
315
+ */
316
+ "description"?: string;
317
+ /**
318
+ * Dims the row, sets `aria-disabled` and takes it out of the tab order.
319
+ * @default false
320
+ */
321
+ "disabled": boolean;
322
+ /**
323
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
324
+ */
325
+ "icon"?: string;
326
+ /**
327
+ * The app name, and the accessible name of the row together with the description.
328
+ */
329
+ "name": string;
330
+ }
272
331
  /**
273
332
  * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
274
333
  * with CSS grid. The main column scrolls independently of the header and the side columns.
@@ -297,6 +356,217 @@ export namespace Components {
297
356
  */
298
357
  "fullHeight": boolean;
299
358
  }
359
+ /**
360
+ * The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
361
+ * grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
362
+ * no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
363
+ * Searching, No results, Loading, Error and Empty).
364
+ * This is the panel only. To open it from a button, wrap it in `bs-popover`.
365
+ * Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
366
+ * `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
367
+ * again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
368
+ * there is no URL): `bs-button` has no link mode and the library has no link component.
369
+ * ## When to use
370
+ * - Letting a user jump between the products they have access to, from an app header.
371
+ * ## When not to use
372
+ * - Navigation inside one app -- use `bs-menu` or the app shell navigation.
373
+ * - Switching company -- use `bs-company-switcher`.
374
+ * `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
375
+ * monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
376
+ * originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
377
+ * `ready` shows the empty state.
378
+ * @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
379
+ * @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
380
+ * @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
381
+ * @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
382
+ * @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
383
+ * @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
384
+ * @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
385
+ * @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
386
+ * @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
387
+ * @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
388
+ */
389
+ interface BsAppSwitcher {
390
+ /**
391
+ * Header of the all apps group.
392
+ * @default 'All apps'
393
+ */
394
+ "allAppsLabel": string;
395
+ /**
396
+ * The apps the user can open. JS property only (an array cannot be an attribute).
397
+ * @default []
398
+ */
399
+ "apps": BsApp[];
400
+ /**
401
+ * URL of the Browse all link. Without it it is a button that only fires `bsBrowseAll`.
402
+ */
403
+ "browseHref"?: string;
404
+ /**
405
+ * Text of the footer link.
406
+ * @default 'Browse all EG products'
407
+ */
408
+ "browseLabel": string;
409
+ /**
410
+ * Text of the Clear search button.
411
+ * @default 'Clear search'
412
+ */
413
+ "clearLabel": string;
414
+ /**
415
+ * `id` of the app you are in: selected background and `aria-current`.
416
+ */
417
+ "currentId"?: string;
418
+ /**
419
+ * Empty description.
420
+ * @default 'Ask your administrator for access, or browse all EG products to see what’s available.'
421
+ */
422
+ "emptyDescription": string;
423
+ /**
424
+ * Empty heading (no apps assigned).
425
+ * @default 'No apps assigned yet'
426
+ */
427
+ "emptyHeading": string;
428
+ /**
429
+ * Error description.
430
+ * @default 'Check your connection and try again. Your work in the current app is not affected.'
431
+ */
432
+ "errorDescription": string;
433
+ /**
434
+ * Error heading.
435
+ * @default 'Couldn’t load your apps'
436
+ */
437
+ "errorHeading": string;
438
+ /**
439
+ * Panel heading.
440
+ * @default 'EG apps'
441
+ */
442
+ "heading": string;
443
+ /**
444
+ * Announced while loading.
445
+ * @default 'Loading apps…'
446
+ */
447
+ "loadingLabel": string;
448
+ /**
449
+ * URL of the Manage link. Without it Manage is a button that only fires `bsManage`.
450
+ */
451
+ "manageHref"?: string;
452
+ /**
453
+ * Text of the Manage link.
454
+ * @default 'Manage'
455
+ */
456
+ "manageLabel": string;
457
+ /**
458
+ * No-results description.
459
+ * @default 'Check the spelling, or browse all EG products to find more apps.'
460
+ */
461
+ "noResultsDescription": string;
462
+ /**
463
+ * No-results heading. `{query}` is replaced by the query.
464
+ * @default 'No apps match “{query}”'
465
+ */
466
+ "noResultsHeading": string;
467
+ /**
468
+ * The search text. Mutable: typing, Escape and "Clear search" update it.
469
+ * @default ''
470
+ */
471
+ "query": string;
472
+ /**
473
+ * Recently opened apps, most recent first. When there are any, the panel shows Recent and All apps. JS property only.
474
+ * @default []
475
+ */
476
+ "recent": BsAppRecent[];
477
+ /**
478
+ * Header of the recent group.
479
+ * @default 'Recent'
480
+ */
481
+ "recentLabel": string;
482
+ /**
483
+ * Text of the Request access button.
484
+ * @default 'Request access'
485
+ */
486
+ "requestAccessLabel": string;
487
+ /**
488
+ * Search header with one result ("1 result").
489
+ * @default 'result'
490
+ */
491
+ "resultLabel": string;
492
+ /**
493
+ * Search header with several results ("2 results").
494
+ * @default 'results'
495
+ */
496
+ "resultsLabel": string;
497
+ /**
498
+ * Text of the Try again button.
499
+ * @default 'Try again'
500
+ */
501
+ "retryLabel": string;
502
+ /**
503
+ * Placeholder (and accessible name) of the search field.
504
+ * @default 'Find an app'
505
+ */
506
+ "searchPlaceholder": string;
507
+ /**
508
+ * `loading` shows skeleton tiles, `error` the failure state.
509
+ * @default 'ready'
510
+ */
511
+ "status": BsAppSwitcherStatus;
512
+ /**
513
+ * Header of the default group when there are no recent apps.
514
+ * @default 'Your apps'
515
+ */
516
+ "yourAppsLabel": string;
517
+ }
518
+ /**
519
+ * One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
520
+ * (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
521
+ * The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
522
+ * native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
523
+ * `aria-disabled` and removes it from the tab order.
524
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
525
+ * theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
526
+ * slot (an `<svg>` drawn with `currentColor`).
527
+ * ## When to use
528
+ * - An app in a launcher grid, usually inside `bs-app-switcher`.
529
+ * ## When not to use
530
+ * - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
531
+ * - A command in a menu -- use `bs-menu-item`.
532
+ * @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
533
+ * @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
534
+ * @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
535
+ * @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
536
+ * @prop --bs-app-tile-bg - Resting background. `transparent`.
537
+ * @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
538
+ * @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
539
+ * @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
540
+ * @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
541
+ * @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
542
+ * @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
543
+ * @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
544
+ */
545
+ interface BsAppTile {
546
+ /**
547
+ * The app you are in right now: selected background and `aria-current="true"`.
548
+ * @default false
549
+ */
550
+ "current": boolean;
551
+ /**
552
+ * Dims the tile, sets `aria-disabled` and takes it out of the tab order.
553
+ * @default false
554
+ */
555
+ "disabled": boolean;
556
+ /**
557
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
558
+ */
559
+ "icon"?: string;
560
+ /**
561
+ * The app name, shown under the icon and used as the accessible name.
562
+ */
563
+ "name": string;
564
+ /**
565
+ * `grid` is the 3-column launcher tile; `compact` the smaller 4-column one.
566
+ * @default 'grid'
567
+ */
568
+ "size": BsAppTileSize;
569
+ }
300
570
  /**
301
571
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
302
572
  * with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
@@ -1477,6 +1747,159 @@ export namespace Components {
1477
1747
  */
1478
1748
  "value": string;
1479
1749
  }
1750
+ /**
1751
+ * A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
1752
+ * (Default, Hover, Pressed and Focused).
1753
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
1754
+ * native element.
1755
+ * ## When to use
1756
+ * - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
1757
+ * ## When not to use
1758
+ * - A destination that needs an icon or a description -- use `bs-menu-block`.
1759
+ * - A command in a dropdown list -- use `bs-menu-item`.
1760
+ * @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
1761
+ * @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
1762
+ * @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
1763
+ * @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
1764
+ * @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
1765
+ * @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
1766
+ * @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
1767
+ */
1768
+ interface BsCompactMenuBlock {
1769
+ /**
1770
+ * The text, and the accessible name.
1771
+ */
1772
+ "name": string;
1773
+ }
1774
+ /**
1775
+ * A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
1776
+ * another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
1777
+ * a no-results state and a footer with "Manage Companies" and "Add companies" actions.
1778
+ * Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
1779
+ * `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
1780
+ * `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
1781
+ * no `bs-*` component is a composite "avatar + two lines + chevron" button.
1782
+ * ## When to use
1783
+ * - An app header or side navigation where a user belongs to several companies and works in one at a time.
1784
+ * ## When not to use
1785
+ * - Picking a value in a form -- use `bs-input type="dropdown"`.
1786
+ * - Switching between a handful of fixed views -- use `bs-tab`.
1787
+ * `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
1788
+ * `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
1789
+ * (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
1790
+ * to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
1791
+ * @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
1792
+ * @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
1793
+ * @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
1794
+ * @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
1795
+ * @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
1796
+ * @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
1797
+ * @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
1798
+ * @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
1799
+ * @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
1800
+ * @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
1801
+ * @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
1802
+ * @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
1803
+ * @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
1804
+ * @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
1805
+ * @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
1806
+ * @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
1807
+ */
1808
+ interface BsCompanySwitcher {
1809
+ /**
1810
+ * Text of the "Add companies" footer button.
1811
+ * @default 'Add companies'
1812
+ */
1813
+ "addLabel": string;
1814
+ /**
1815
+ * Header of the all companies group (the count is appended).
1816
+ * @default 'All companies'
1817
+ */
1818
+ "allLabel": string;
1819
+ /**
1820
+ * The companies the user can switch between. JS property only (an array cannot be an attribute).
1821
+ * @default []
1822
+ */
1823
+ "companies": BsCompany[];
1824
+ /**
1825
+ * `id` of the current company.
1826
+ */
1827
+ "currentId"?: string;
1828
+ /**
1829
+ * Header of the current company group.
1830
+ * @default 'Current'
1831
+ */
1832
+ "currentLabel": string;
1833
+ /**
1834
+ * No-results description.
1835
+ * @default 'Check the spelling, or search by org. number.'
1836
+ */
1837
+ "emptyDescription": string;
1838
+ /**
1839
+ * No-results heading. `{query}` is replaced by the query.
1840
+ * @default 'No companies match “{query}”'
1841
+ */
1842
+ "emptyHeading": string;
1843
+ /**
1844
+ * Accessible name of the company listbox.
1845
+ * @default 'Companies'
1846
+ */
1847
+ "listLabel": string;
1848
+ /**
1849
+ * Text of the "Manage Companies" footer button.
1850
+ * @default 'Manage Companies'
1851
+ */
1852
+ "manageLabel": string;
1853
+ /**
1854
+ * Header of the search view when there is one match ("1 match").
1855
+ * @default 'match'
1856
+ */
1857
+ "matchLabel": string;
1858
+ /**
1859
+ * Header of the search view when there are several matches ("3 matches").
1860
+ * @default 'matches'
1861
+ */
1862
+ "matchesLabel": string;
1863
+ /**
1864
+ * Whether the panel is open.
1865
+ * @default false
1866
+ */
1867
+ "open": boolean;
1868
+ /**
1869
+ * Prefix of the org. number, e.g. "Org. no.".
1870
+ * @default 'Org. no.'
1871
+ */
1872
+ "orgNumberLabel": string;
1873
+ /**
1874
+ * Text of the trigger when there is no current company.
1875
+ * @default 'Select a company'
1876
+ */
1877
+ "placeholderLabel": string;
1878
+ /**
1879
+ * `id`s of recently used companies, most recent first. The current company is not repeated in the Recent group.
1880
+ * @default []
1881
+ */
1882
+ "recentIds": string[];
1883
+ /**
1884
+ * Header of the recent companies group.
1885
+ * @default 'Recent'
1886
+ */
1887
+ "recentLabel": string;
1888
+ /**
1889
+ * Placeholder (and accessible name) of the search field.
1890
+ * @default 'Find a company or org. number'
1891
+ */
1892
+ "searchPlaceholder": string;
1893
+ /**
1894
+ * `id` of the company being switched to. Shows the switching state: a spinner in the trigger and on that row.
1895
+ */
1896
+ "switchingId"?: string;
1897
+ /**
1898
+ * Trigger subtitle while switching.
1899
+ * @default 'Switching…'
1900
+ */
1901
+ "switchingLabel": string;
1902
+ }
1480
1903
  /**
1481
1904
  * A chat composer input for Genie AI-style conversational interfaces: a text field
1482
1905
  * plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
@@ -2443,6 +2866,10 @@ export namespace Components {
2443
2866
  * @default false
2444
2867
  */
2445
2868
  "disabled": boolean;
2869
+ /**
2870
+ * Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component does not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled star), not in the label, which should stay the same.
2871
+ */
2872
+ "pressed"?: boolean;
2446
2873
  /**
2447
2874
  * Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were built against.
2448
2875
  * @default 'md'
@@ -2981,6 +3408,85 @@ export namespace Components {
2981
3408
  */
2982
3409
  "variant": BsLogoVariant;
2983
3410
  }
3411
+ /**
3412
+ * The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
3413
+ * featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
3414
+ * "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
3415
+ * This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
3416
+ * header's full width, and toggle the host's `hidden` attribute from the tab that
3417
+ * opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
3418
+ * Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
3419
+ * `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
3420
+ * markup: no component covers them.
3421
+ * ## Responsive
3422
+ * The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
3423
+ * above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
3424
+ * and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
3425
+ * `footer-end` slot is not hidden.
3426
+ * ## When to use
3427
+ * - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
3428
+ * ## When not to use
3429
+ * - A short list of commands -- use `bs-menu` in a `bs-popover`.
3430
+ * - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
3431
+ * `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
3432
+ * the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
3433
+ * originating click).
3434
+ * @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
3435
+ * @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
3436
+ * @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
3437
+ * @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
3438
+ * @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
3439
+ * @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
3440
+ * @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
3441
+ * @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
3442
+ * @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
3443
+ * @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
3444
+ */
3445
+ interface BsMegaMenu {
3446
+ /**
3447
+ * The groups of links. JS property only (an array cannot be an attribute).
3448
+ * @default []
3449
+ */
3450
+ "columns": BsMegaMenuColumn[];
3451
+ /**
3452
+ * The featured area on the right. JS property only. The `featured` slot overrides it.
3453
+ */
3454
+ "featured"?: BsMegaMenuFeatured;
3455
+ /**
3456
+ * Accessible name of the panel.
3457
+ * @default 'Menu'
3458
+ */
3459
+ "label": string;
3460
+ /**
3461
+ * Recently used destinations, already translated, shown in the footer. JS property only.
3462
+ * @default []
3463
+ */
3464
+ "recent": string[];
3465
+ /**
3466
+ * Text before the recently used items.
3467
+ * @default 'Recently used:'
3468
+ */
3469
+ "recentLabel": string;
3470
+ /**
3471
+ * The shortcut keys, joined by "+".
3472
+ * @default 'Ctrl+K'
3473
+ */
3474
+ "shortcutKeys": string;
3475
+ /**
3476
+ * Accessible name of the shortcut keys. Defaults to the keys joined with " plus ".
3477
+ */
3478
+ "shortcutKeysLabel"?: string;
3479
+ /**
3480
+ * Text before the shortcut keys.
3481
+ * @default 'Can’t find it? Press'
3482
+ */
3483
+ "shortcutLabel": string;
3484
+ /**
3485
+ * `columns` shows menu blocks with icon and description; `compact` plain text links.
3486
+ * @default 'columns'
3487
+ */
3488
+ "type": BsMegaMenuType;
3489
+ }
2984
3490
  /**
2985
3491
  * A generic dropdown/popup menu container: a rounded, elevated list of items (typically
2986
3492
  * `bs-menu-item` elements).
@@ -2998,6 +3504,49 @@ export namespace Components {
2998
3504
  */
2999
3505
  interface BsMenu {
3000
3506
  }
3507
+ /**
3508
+ * A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
3509
+ * Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
3510
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
3511
+ * native element. Its accessible name is its text: the title, the badge and the description, read once.
3512
+ * Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
3513
+ * monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
3514
+ * dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
3515
+ * ## When to use
3516
+ * - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
3517
+ * ## When not to use
3518
+ * - A plain text destination -- use `bs-compact-menu-block`.
3519
+ * - A command in a dropdown list -- use `bs-menu-item`.
3520
+ * @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
3521
+ * @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
3522
+ * @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
3523
+ * @prop --bs-menu-block-bg - Resting background. `transparent`.
3524
+ * @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
3525
+ * @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
3526
+ * @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
3527
+ * @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
3528
+ * @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
3529
+ * @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
3530
+ * @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
3531
+ */
3532
+ interface BsMenuBlock {
3533
+ /**
3534
+ * Short text for a chip beside the title, e.g. "New".
3535
+ */
3536
+ "badge"?: string;
3537
+ /**
3538
+ * One line under the title; part of the accessible name.
3539
+ */
3540
+ "description"?: string;
3541
+ /**
3542
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
3543
+ */
3544
+ "icon"?: string;
3545
+ /**
3546
+ * The title, and the start of the accessible name.
3547
+ */
3548
+ "name": string;
3549
+ }
3001
3550
  /**
3002
3551
  * A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
3003
3552
  * real `<button>` for correct keyboard/click semantics.
@@ -3401,6 +3950,91 @@ export namespace Components {
3401
3950
  */
3402
3951
  "type": BsOnboardingChecklistType;
3403
3952
  }
3953
+ /**
3954
+ * The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
3955
+ * optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
3956
+ * optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
3957
+ * compact).
3958
+ * Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
3959
+ * buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
3960
+ * `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
3961
+ * actions area are plain layout markup, because no component covers them. The back arrow and the star are
3962
+ * inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
3963
+ * ## Compact (sticky)
3964
+ * `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
3965
+ * meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
3966
+ * from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
3967
+ * `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
3968
+ * ## Responsive
3969
+ * The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
3970
+ * below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
3971
+ * sideways inside itself. The page never gets wider.
3972
+ * ## When to use
3973
+ * - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
3974
+ * ## When not to use
3975
+ * - The app-wide bar with logo, search and user: use `bs-navigation-header`.
3976
+ * - The heading of a card, dialog or panel: use that component's own `heading`.
3977
+ * ## Accessibility notes
3978
+ * The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
3979
+ * is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
3980
+ * status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
3981
+ * @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
3982
+ * @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
3983
+ * @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
3984
+ * @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
3985
+ * @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
3986
+ * @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
3987
+ * @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
3988
+ * @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
3989
+ * @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
3990
+ * @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
3991
+ * @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
3992
+ */
3993
+ interface BsPageHeader {
3994
+ /**
3995
+ * Shows a back button before the title. It emits `bsBack`; you navigate.
3996
+ * @default false
3997
+ */
3998
+ "back": boolean;
3999
+ /**
4000
+ * Accessible name of the back button.
4001
+ * @default 'Back'
4002
+ */
4003
+ "backLabel": string;
4004
+ /**
4005
+ * The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected.
4006
+ * @default false
4007
+ */
4008
+ "compact": boolean;
4009
+ /**
4010
+ * Shows the favourite (star) toggle after the title.
4011
+ * @default false
4012
+ */
4013
+ "favoritable": boolean;
4014
+ /**
4015
+ * Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled.
4016
+ * @default false
4017
+ */
4018
+ "favorite": boolean;
4019
+ /**
4020
+ * Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state.
4021
+ * @default 'Favourite'
4022
+ */
4023
+ "favoriteLabel": string;
4024
+ /**
4025
+ * The page title, rendered as the heading.
4026
+ */
4027
+ "heading": string;
4028
+ /**
4029
+ * HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`.
4030
+ * @default 1
4031
+ */
4032
+ "headingLevel": number;
4033
+ /**
4034
+ * The line under the title, plain text, e.g. "214 invoices · 38 open". The `meta` slot overrides it.
4035
+ */
4036
+ "meta"?: string;
4037
+ }
3404
4038
  /**
3405
4039
  * A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
3406
4040
  * large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
@@ -5082,6 +5716,10 @@ export interface BsAccordionCustomEvent<T> extends CustomEvent<T> {
5082
5716
  detail: T;
5083
5717
  target: HTMLBsAccordionElement;
5084
5718
  }
5719
+ export interface BsAppSwitcherCustomEvent<T> extends CustomEvent<T> {
5720
+ detail: T;
5721
+ target: HTMLBsAppSwitcherElement;
5722
+ }
5085
5723
  export interface BsAttachmentCustomEvent<T> extends CustomEvent<T> {
5086
5724
  detail: T;
5087
5725
  target: HTMLBsAttachmentElement;
@@ -5138,6 +5776,10 @@ export interface BsCommandPaletteCustomEvent<T> extends CustomEvent<T> {
5138
5776
  detail: T;
5139
5777
  target: HTMLBsCommandPaletteElement;
5140
5778
  }
5779
+ export interface BsCompanySwitcherCustomEvent<T> extends CustomEvent<T> {
5780
+ detail: T;
5781
+ target: HTMLBsCompanySwitcherElement;
5782
+ }
5141
5783
  export interface BsComposerCustomEvent<T> extends CustomEvent<T> {
5142
5784
  detail: T;
5143
5785
  target: HTMLBsComposerElement;
@@ -5198,6 +5840,10 @@ export interface BsListItemCustomEvent<T> extends CustomEvent<T> {
5198
5840
  detail: T;
5199
5841
  target: HTMLBsListItemElement;
5200
5842
  }
5843
+ export interface BsMegaMenuCustomEvent<T> extends CustomEvent<T> {
5844
+ detail: T;
5845
+ target: HTMLBsMegaMenuElement;
5846
+ }
5201
5847
  export interface BsMenuItemCustomEvent<T> extends CustomEvent<T> {
5202
5848
  detail: T;
5203
5849
  target: HTMLBsMenuItemElement;
@@ -5218,6 +5864,10 @@ export interface BsOnboardingChecklistCustomEvent<T> extends CustomEvent<T> {
5218
5864
  detail: T;
5219
5865
  target: HTMLBsOnboardingChecklistElement;
5220
5866
  }
5867
+ export interface BsPageHeaderCustomEvent<T> extends CustomEvent<T> {
5868
+ detail: T;
5869
+ target: HTMLBsPageHeaderElement;
5870
+ }
5221
5871
  export interface BsPaginationCustomEvent<T> extends CustomEvent<T> {
5222
5872
  detail: T;
5223
5873
  target: HTMLBsPaginationElement;
@@ -5429,6 +6079,39 @@ declare global {
5429
6079
  prototype: HTMLBsAiThinkingElement;
5430
6080
  new (): HTMLBsAiThinkingElement;
5431
6081
  };
6082
+ /**
6083
+ * A full-width row for one app: a small icon tile, the app name and a description line (for example
6084
+ * "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
6085
+ * Hover, Pressed and Focus).
6086
+ * The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
6087
+ * (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
6088
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
6089
+ * icon colour through a CSS mask) or any element in the default slot.
6090
+ * ## When to use
6091
+ * - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
6092
+ * ## When not to use
6093
+ * - An app in a launcher grid -- use `bs-app-tile`.
6094
+ * - A generic list row -- use `bs-list-item`.
6095
+ * @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
6096
+ * @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
6097
+ * @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
6098
+ * @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
6099
+ * @prop --bs-app-recent-item-bg - Resting background. `transparent`.
6100
+ * @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
6101
+ * @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
6102
+ * @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
6103
+ * @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
6104
+ * @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
6105
+ * @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
6106
+ * @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
6107
+ * @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
6108
+ */
6109
+ interface HTMLBsAppRecentItemElement extends Components.BsAppRecentItem, HTMLStencilElement {
6110
+ }
6111
+ var HTMLBsAppRecentItemElement: {
6112
+ prototype: HTMLBsAppRecentItemElement;
6113
+ new (): HTMLBsAppRecentItemElement;
6114
+ };
5432
6115
  /**
5433
6116
  * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
5434
6117
  * with CSS grid. The main column scrolls independently of the header and the side columns.
@@ -5456,6 +6139,92 @@ declare global {
5456
6139
  prototype: HTMLBsAppShellElement;
5457
6140
  new (): HTMLBsAppShellElement;
5458
6141
  };
6142
+ interface HTMLBsAppSwitcherElementEventMap {
6143
+ "bsAppSelect": BsApp;
6144
+ "bsManage": void;
6145
+ "bsBrowseAll": void;
6146
+ "bsClearSearch": void;
6147
+ "bsRetry": void;
6148
+ "bsRequestAccess": void;
6149
+ "bsQueryChange": string;
6150
+ }
6151
+ /**
6152
+ * The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
6153
+ * grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
6154
+ * no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
6155
+ * Searching, No results, Loading, Error and Empty).
6156
+ * This is the panel only. To open it from a button, wrap it in `bs-popover`.
6157
+ * Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
6158
+ * `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
6159
+ * again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
6160
+ * there is no URL): `bs-button` has no link mode and the library has no link component.
6161
+ * ## When to use
6162
+ * - Letting a user jump between the products they have access to, from an app header.
6163
+ * ## When not to use
6164
+ * - Navigation inside one app -- use `bs-menu` or the app shell navigation.
6165
+ * - Switching company -- use `bs-company-switcher`.
6166
+ * `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
6167
+ * monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
6168
+ * originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
6169
+ * `ready` shows the empty state.
6170
+ * @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
6171
+ * @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
6172
+ * @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
6173
+ * @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
6174
+ * @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
6175
+ * @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
6176
+ * @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
6177
+ * @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
6178
+ * @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
6179
+ * @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
6180
+ */
6181
+ interface HTMLBsAppSwitcherElement extends Components.BsAppSwitcher, HTMLStencilElement {
6182
+ addEventListener<K extends keyof HTMLBsAppSwitcherElementEventMap>(type: K, listener: (this: HTMLBsAppSwitcherElement, ev: BsAppSwitcherCustomEvent<HTMLBsAppSwitcherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
6183
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6184
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6185
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6186
+ removeEventListener<K extends keyof HTMLBsAppSwitcherElementEventMap>(type: K, listener: (this: HTMLBsAppSwitcherElement, ev: BsAppSwitcherCustomEvent<HTMLBsAppSwitcherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
6187
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6188
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6189
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6190
+ }
6191
+ var HTMLBsAppSwitcherElement: {
6192
+ prototype: HTMLBsAppSwitcherElement;
6193
+ new (): HTMLBsAppSwitcherElement;
6194
+ };
6195
+ /**
6196
+ * One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
6197
+ * (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
6198
+ * The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
6199
+ * native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
6200
+ * `aria-disabled` and removes it from the tab order.
6201
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
6202
+ * theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
6203
+ * slot (an `<svg>` drawn with `currentColor`).
6204
+ * ## When to use
6205
+ * - An app in a launcher grid, usually inside `bs-app-switcher`.
6206
+ * ## When not to use
6207
+ * - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
6208
+ * - A command in a menu -- use `bs-menu-item`.
6209
+ * @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
6210
+ * @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
6211
+ * @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
6212
+ * @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
6213
+ * @prop --bs-app-tile-bg - Resting background. `transparent`.
6214
+ * @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
6215
+ * @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
6216
+ * @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
6217
+ * @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
6218
+ * @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
6219
+ * @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
6220
+ * @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
6221
+ */
6222
+ interface HTMLBsAppTileElement extends Components.BsAppTile, HTMLStencilElement {
6223
+ }
6224
+ var HTMLBsAppTileElement: {
6225
+ prototype: HTMLBsAppTileElement;
6226
+ new (): HTMLBsAppTileElement;
6227
+ };
5459
6228
  interface HTMLBsAttachmentElementEventMap {
5460
6229
  "bsRemove": void;
5461
6230
  }
@@ -6231,6 +7000,84 @@ declare global {
6231
7000
  prototype: HTMLBsCommandPaletteElement;
6232
7001
  new (): HTMLBsCommandPaletteElement;
6233
7002
  };
7003
+ /**
7004
+ * A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
7005
+ * (Default, Hover, Pressed and Focused).
7006
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
7007
+ * native element.
7008
+ * ## When to use
7009
+ * - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
7010
+ * ## When not to use
7011
+ * - A destination that needs an icon or a description -- use `bs-menu-block`.
7012
+ * - A command in a dropdown list -- use `bs-menu-item`.
7013
+ * @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
7014
+ * @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
7015
+ * @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
7016
+ * @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
7017
+ * @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
7018
+ * @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
7019
+ * @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
7020
+ */
7021
+ interface HTMLBsCompactMenuBlockElement extends Components.BsCompactMenuBlock, HTMLStencilElement {
7022
+ }
7023
+ var HTMLBsCompactMenuBlockElement: {
7024
+ prototype: HTMLBsCompactMenuBlockElement;
7025
+ new (): HTMLBsCompactMenuBlockElement;
7026
+ };
7027
+ interface HTMLBsCompanySwitcherElementEventMap {
7028
+ "bsCompanySwitch": BsCompany;
7029
+ "bsManageCompanies": void;
7030
+ "bsAddCompanies": void;
7031
+ "bsOpenChange": boolean;
7032
+ }
7033
+ /**
7034
+ * A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
7035
+ * another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
7036
+ * a no-results state and a footer with "Manage Companies" and "Add companies" actions.
7037
+ * Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
7038
+ * `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
7039
+ * `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
7040
+ * no `bs-*` component is a composite "avatar + two lines + chevron" button.
7041
+ * ## When to use
7042
+ * - An app header or side navigation where a user belongs to several companies and works in one at a time.
7043
+ * ## When not to use
7044
+ * - Picking a value in a form -- use `bs-input type="dropdown"`.
7045
+ * - Switching between a handful of fixed views -- use `bs-tab`.
7046
+ * `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
7047
+ * `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
7048
+ * (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
7049
+ * to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
7050
+ * @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
7051
+ * @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
7052
+ * @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
7053
+ * @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
7054
+ * @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
7055
+ * @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
7056
+ * @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
7057
+ * @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
7058
+ * @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
7059
+ * @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
7060
+ * @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
7061
+ * @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
7062
+ * @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
7063
+ * @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
7064
+ * @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
7065
+ * @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
7066
+ */
7067
+ interface HTMLBsCompanySwitcherElement extends Components.BsCompanySwitcher, HTMLStencilElement {
7068
+ addEventListener<K extends keyof HTMLBsCompanySwitcherElementEventMap>(type: K, listener: (this: HTMLBsCompanySwitcherElement, ev: BsCompanySwitcherCustomEvent<HTMLBsCompanySwitcherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
7069
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7070
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7071
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7072
+ removeEventListener<K extends keyof HTMLBsCompanySwitcherElementEventMap>(type: K, listener: (this: HTMLBsCompanySwitcherElement, ev: BsCompanySwitcherCustomEvent<HTMLBsCompanySwitcherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
7073
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7074
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7075
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7076
+ }
7077
+ var HTMLBsCompanySwitcherElement: {
7078
+ prototype: HTMLBsCompanySwitcherElement;
7079
+ new (): HTMLBsCompanySwitcherElement;
7080
+ };
6234
7081
  interface HTMLBsComposerElementEventMap {
6235
7082
  "bsInput": string;
6236
7083
  "bsSubmit": void;
@@ -7057,6 +7904,58 @@ declare global {
7057
7904
  prototype: HTMLBsLogoElement;
7058
7905
  new (): HTMLBsLogoElement;
7059
7906
  };
7907
+ interface HTMLBsMegaMenuElementEventMap {
7908
+ "bsMenuSelect": BsMegaMenuItem;
7909
+ "bsClose": void;
7910
+ }
7911
+ /**
7912
+ * The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
7913
+ * featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
7914
+ * "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
7915
+ * This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
7916
+ * header's full width, and toggle the host's `hidden` attribute from the tab that
7917
+ * opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
7918
+ * Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
7919
+ * `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
7920
+ * markup: no component covers them.
7921
+ * ## Responsive
7922
+ * The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
7923
+ * above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
7924
+ * and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
7925
+ * `footer-end` slot is not hidden.
7926
+ * ## When to use
7927
+ * - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
7928
+ * ## When not to use
7929
+ * - A short list of commands -- use `bs-menu` in a `bs-popover`.
7930
+ * - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
7931
+ * `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
7932
+ * the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
7933
+ * originating click).
7934
+ * @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
7935
+ * @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
7936
+ * @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
7937
+ * @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
7938
+ * @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
7939
+ * @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
7940
+ * @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
7941
+ * @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
7942
+ * @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
7943
+ * @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
7944
+ */
7945
+ interface HTMLBsMegaMenuElement extends Components.BsMegaMenu, HTMLStencilElement {
7946
+ addEventListener<K extends keyof HTMLBsMegaMenuElementEventMap>(type: K, listener: (this: HTMLBsMegaMenuElement, ev: BsMegaMenuCustomEvent<HTMLBsMegaMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
7947
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7948
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7949
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7950
+ removeEventListener<K extends keyof HTMLBsMegaMenuElementEventMap>(type: K, listener: (this: HTMLBsMegaMenuElement, ev: BsMegaMenuCustomEvent<HTMLBsMegaMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
7951
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7952
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7953
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7954
+ }
7955
+ var HTMLBsMegaMenuElement: {
7956
+ prototype: HTMLBsMegaMenuElement;
7957
+ new (): HTMLBsMegaMenuElement;
7958
+ };
7060
7959
  /**
7061
7960
  * A generic dropdown/popup menu container: a rounded, elevated list of items (typically
7062
7961
  * `bs-menu-item` elements).
@@ -7078,6 +7977,37 @@ declare global {
7078
7977
  prototype: HTMLBsMenuElement;
7079
7978
  new (): HTMLBsMenuElement;
7080
7979
  };
7980
+ /**
7981
+ * A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
7982
+ * Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
7983
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
7984
+ * native element. Its accessible name is its text: the title, the badge and the description, read once.
7985
+ * Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
7986
+ * monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
7987
+ * dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
7988
+ * ## When to use
7989
+ * - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
7990
+ * ## When not to use
7991
+ * - A plain text destination -- use `bs-compact-menu-block`.
7992
+ * - A command in a dropdown list -- use `bs-menu-item`.
7993
+ * @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
7994
+ * @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
7995
+ * @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
7996
+ * @prop --bs-menu-block-bg - Resting background. `transparent`.
7997
+ * @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
7998
+ * @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
7999
+ * @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
8000
+ * @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
8001
+ * @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
8002
+ * @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
8003
+ * @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
8004
+ */
8005
+ interface HTMLBsMenuBlockElement extends Components.BsMenuBlock, HTMLStencilElement {
8006
+ }
8007
+ var HTMLBsMenuBlockElement: {
8008
+ prototype: HTMLBsMenuBlockElement;
8009
+ new (): HTMLBsMenuBlockElement;
8010
+ };
7081
8011
  interface HTMLBsMenuItemElementEventMap {
7082
8012
  "bsSelect": void;
7083
8013
  }
@@ -7353,6 +8283,64 @@ declare global {
7353
8283
  prototype: HTMLBsOnboardingChecklistElement;
7354
8284
  new (): HTMLBsOnboardingChecklistElement;
7355
8285
  };
8286
+ interface HTMLBsPageHeaderElementEventMap {
8287
+ "bsBack": void;
8288
+ "bsFavoriteChange": { favorite: boolean };
8289
+ }
8290
+ /**
8291
+ * The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
8292
+ * optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
8293
+ * optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
8294
+ * compact).
8295
+ * Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
8296
+ * buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
8297
+ * `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
8298
+ * actions area are plain layout markup, because no component covers them. The back arrow and the star are
8299
+ * inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
8300
+ * ## Compact (sticky)
8301
+ * `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
8302
+ * meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
8303
+ * from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
8304
+ * `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
8305
+ * ## Responsive
8306
+ * The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
8307
+ * below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
8308
+ * sideways inside itself. The page never gets wider.
8309
+ * ## When to use
8310
+ * - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
8311
+ * ## When not to use
8312
+ * - The app-wide bar with logo, search and user: use `bs-navigation-header`.
8313
+ * - The heading of a card, dialog or panel: use that component's own `heading`.
8314
+ * ## Accessibility notes
8315
+ * The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
8316
+ * is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
8317
+ * status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
8318
+ * @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
8319
+ * @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
8320
+ * @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
8321
+ * @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
8322
+ * @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
8323
+ * @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
8324
+ * @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
8325
+ * @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
8326
+ * @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
8327
+ * @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
8328
+ * @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
8329
+ */
8330
+ interface HTMLBsPageHeaderElement extends Components.BsPageHeader, HTMLStencilElement {
8331
+ addEventListener<K extends keyof HTMLBsPageHeaderElementEventMap>(type: K, listener: (this: HTMLBsPageHeaderElement, ev: BsPageHeaderCustomEvent<HTMLBsPageHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
8332
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8333
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8334
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8335
+ removeEventListener<K extends keyof HTMLBsPageHeaderElementEventMap>(type: K, listener: (this: HTMLBsPageHeaderElement, ev: BsPageHeaderCustomEvent<HTMLBsPageHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
8336
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8337
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8338
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8339
+ }
8340
+ var HTMLBsPageHeaderElement: {
8341
+ prototype: HTMLBsPageHeaderElement;
8342
+ new (): HTMLBsPageHeaderElement;
8343
+ };
7356
8344
  interface HTMLBsPaginationElementEventMap {
7357
8345
  "bsPageChange": number;
7358
8346
  }
@@ -8321,7 +9309,10 @@ declare global {
8321
9309
  "bs-ai-disclaimer": HTMLBsAiDisclaimerElement;
8322
9310
  "bs-ai-greeting": HTMLBsAiGreetingElement;
8323
9311
  "bs-ai-thinking": HTMLBsAiThinkingElement;
9312
+ "bs-app-recent-item": HTMLBsAppRecentItemElement;
8324
9313
  "bs-app-shell": HTMLBsAppShellElement;
9314
+ "bs-app-switcher": HTMLBsAppSwitcherElement;
9315
+ "bs-app-tile": HTMLBsAppTileElement;
8325
9316
  "bs-attachment": HTMLBsAttachmentElement;
8326
9317
  "bs-attachment-list": HTMLBsAttachmentListElement;
8327
9318
  "bs-avatar": HTMLBsAvatarElement;
@@ -8345,6 +9336,8 @@ declare global {
8345
9336
  "bs-chip-input": HTMLBsChipInputElement;
8346
9337
  "bs-citation-preview": HTMLBsCitationPreviewElement;
8347
9338
  "bs-command-palette": HTMLBsCommandPaletteElement;
9339
+ "bs-compact-menu-block": HTMLBsCompactMenuBlockElement;
9340
+ "bs-company-switcher": HTMLBsCompanySwitcherElement;
8348
9341
  "bs-composer": HTMLBsComposerElement;
8349
9342
  "bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
8350
9343
  "bs-container": HTMLBsContainerElement;
@@ -8369,7 +9362,9 @@ declare global {
8369
9362
  "bs-list": HTMLBsListElement;
8370
9363
  "bs-list-item": HTMLBsListItemElement;
8371
9364
  "bs-logo": HTMLBsLogoElement;
9365
+ "bs-mega-menu": HTMLBsMegaMenuElement;
8372
9366
  "bs-menu": HTMLBsMenuElement;
9367
+ "bs-menu-block": HTMLBsMenuBlockElement;
8373
9368
  "bs-menu-item": HTMLBsMenuItemElement;
8374
9369
  "bs-message": HTMLBsMessageElement;
8375
9370
  "bs-message-list": HTMLBsMessageListElement;
@@ -8377,6 +9372,7 @@ declare global {
8377
9372
  "bs-navigation-drawer-item": HTMLBsNavigationDrawerItemElement;
8378
9373
  "bs-navigation-header": HTMLBsNavigationHeaderElement;
8379
9374
  "bs-onboarding-checklist": HTMLBsOnboardingChecklistElement;
9375
+ "bs-page-header": HTMLBsPageHeaderElement;
8380
9376
  "bs-pagination": HTMLBsPaginationElement;
8381
9377
  "bs-popover": HTMLBsPopoverElement;
8382
9378
  "bs-product-tour": HTMLBsProductTourElement;
@@ -8411,6 +9407,8 @@ declare global {
8411
9407
  }
8412
9408
  }
8413
9409
  declare namespace LocalJSX {
9410
+ type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K]?: never };
9411
+
8414
9412
  /**
8415
9413
  * A single collapsible section -- a clickable header (optional leading icon, label, trailing
8416
9414
  * caret) that reveals or hides a body content area.
@@ -8549,38 +9547,328 @@ declare namespace LocalJSX {
8549
9547
  */
8550
9548
  interface BsAiThinking {
8551
9549
  /**
8552
- * The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching".
8553
- * @default 'Thinking'
9550
+ * The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching".
9551
+ * @default 'Thinking'
9552
+ */
9553
+ "label"?: string;
9554
+ }
9555
+ /**
9556
+ * A full-width row for one app: a small icon tile, the app name and a description line (for example
9557
+ * "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
9558
+ * Hover, Pressed and Focus).
9559
+ * The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
9560
+ * (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
9561
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
9562
+ * icon colour through a CSS mask) or any element in the default slot.
9563
+ * ## When to use
9564
+ * - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
9565
+ * ## When not to use
9566
+ * - An app in a launcher grid -- use `bs-app-tile`.
9567
+ * - A generic list row -- use `bs-list-item`.
9568
+ * @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
9569
+ * @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
9570
+ * @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
9571
+ * @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
9572
+ * @prop --bs-app-recent-item-bg - Resting background. `transparent`.
9573
+ * @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
9574
+ * @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
9575
+ * @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
9576
+ * @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
9577
+ * @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
9578
+ * @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
9579
+ * @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
9580
+ * @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
9581
+ */
9582
+ interface BsAppRecentItem {
9583
+ /**
9584
+ * The app you are in right now: selected background and `aria-current="true"`.
9585
+ * @default false
9586
+ */
9587
+ "current"?: boolean;
9588
+ /**
9589
+ * Second line under the name.
9590
+ */
9591
+ "description"?: string;
9592
+ /**
9593
+ * Dims the row, sets `aria-disabled` and takes it out of the tab order.
9594
+ * @default false
9595
+ */
9596
+ "disabled"?: boolean;
9597
+ /**
9598
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
9599
+ */
9600
+ "icon"?: string;
9601
+ /**
9602
+ * The app name, and the accessible name of the row together with the description.
9603
+ */
9604
+ "name": string;
9605
+ }
9606
+ /**
9607
+ * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
9608
+ * with CSS grid. The main column scrolls independently of the header and the side columns.
9609
+ * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
9610
+ * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
9611
+ * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
9612
+ * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
9613
+ * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
9614
+ * auto track follows the drawer's width on its own.
9615
+ * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
9616
+ * `banner` and `navigation` roles.
9617
+ * ## When to use
9618
+ * - The outer frame of an application page with a header and side navigation.
9619
+ * ## When not to use
9620
+ * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
9621
+ * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
9622
+ * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
9623
+ * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
9624
+ * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
9625
+ * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
9626
+ */
9627
+ interface BsAppShell {
9628
+ /**
9629
+ * When true the host is `height: 100%`; when false it is content-sized with `min-height: 100vh`.
9630
+ * @default true
9631
+ */
9632
+ "fullHeight"?: boolean;
9633
+ }
9634
+ /**
9635
+ * The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
9636
+ * grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
9637
+ * no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
9638
+ * Searching, No results, Loading, Error and Empty).
9639
+ * This is the panel only. To open it from a button, wrap it in `bs-popover`.
9640
+ * Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
9641
+ * `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
9642
+ * again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
9643
+ * there is no URL): `bs-button` has no link mode and the library has no link component.
9644
+ * ## When to use
9645
+ * - Letting a user jump between the products they have access to, from an app header.
9646
+ * ## When not to use
9647
+ * - Navigation inside one app -- use `bs-menu` or the app shell navigation.
9648
+ * - Switching company -- use `bs-company-switcher`.
9649
+ * `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
9650
+ * monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
9651
+ * originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
9652
+ * `ready` shows the empty state.
9653
+ * @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
9654
+ * @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
9655
+ * @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
9656
+ * @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
9657
+ * @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
9658
+ * @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
9659
+ * @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
9660
+ * @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
9661
+ * @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
9662
+ * @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
9663
+ */
9664
+ interface BsAppSwitcher {
9665
+ /**
9666
+ * Header of the all apps group.
9667
+ * @default 'All apps'
9668
+ */
9669
+ "allAppsLabel"?: string;
9670
+ /**
9671
+ * The apps the user can open. JS property only (an array cannot be an attribute).
9672
+ * @default []
9673
+ */
9674
+ "apps"?: BsApp[];
9675
+ /**
9676
+ * URL of the Browse all link. Without it it is a button that only fires `bsBrowseAll`.
9677
+ */
9678
+ "browseHref"?: string;
9679
+ /**
9680
+ * Text of the footer link.
9681
+ * @default 'Browse all EG products'
9682
+ */
9683
+ "browseLabel"?: string;
9684
+ /**
9685
+ * Text of the Clear search button.
9686
+ * @default 'Clear search'
9687
+ */
9688
+ "clearLabel"?: string;
9689
+ /**
9690
+ * `id` of the app you are in: selected background and `aria-current`.
9691
+ */
9692
+ "currentId"?: string;
9693
+ /**
9694
+ * Empty description.
9695
+ * @default 'Ask your administrator for access, or browse all EG products to see what’s available.'
9696
+ */
9697
+ "emptyDescription"?: string;
9698
+ /**
9699
+ * Empty heading (no apps assigned).
9700
+ * @default 'No apps assigned yet'
9701
+ */
9702
+ "emptyHeading"?: string;
9703
+ /**
9704
+ * Error description.
9705
+ * @default 'Check your connection and try again. Your work in the current app is not affected.'
9706
+ */
9707
+ "errorDescription"?: string;
9708
+ /**
9709
+ * Error heading.
9710
+ * @default 'Couldn’t load your apps'
9711
+ */
9712
+ "errorHeading"?: string;
9713
+ /**
9714
+ * Panel heading.
9715
+ * @default 'EG apps'
9716
+ */
9717
+ "heading"?: string;
9718
+ /**
9719
+ * Announced while loading.
9720
+ * @default 'Loading apps…'
9721
+ */
9722
+ "loadingLabel"?: string;
9723
+ /**
9724
+ * URL of the Manage link. Without it Manage is a button that only fires `bsManage`.
9725
+ */
9726
+ "manageHref"?: string;
9727
+ /**
9728
+ * Text of the Manage link.
9729
+ * @default 'Manage'
9730
+ */
9731
+ "manageLabel"?: string;
9732
+ /**
9733
+ * No-results description.
9734
+ * @default 'Check the spelling, or browse all EG products to find more apps.'
9735
+ */
9736
+ "noResultsDescription"?: string;
9737
+ /**
9738
+ * No-results heading. `{query}` is replaced by the query.
9739
+ * @default 'No apps match “{query}”'
9740
+ */
9741
+ "noResultsHeading"?: string;
9742
+ /**
9743
+ * Fires when an app is chosen (click or Enter), with the app. Cancelable: `preventDefault()` cancels the originating click.
9744
+ */
9745
+ "onBsAppSelect"?: (event: BsAppSwitcherCustomEvent<BsApp>) => void;
9746
+ /**
9747
+ * Fires when Browse all is pressed.
9748
+ */
9749
+ "onBsBrowseAll"?: (event: BsAppSwitcherCustomEvent<void>) => void;
9750
+ /**
9751
+ * Fires when the search is cleared with the Clear search button or Escape.
9752
+ */
9753
+ "onBsClearSearch"?: (event: BsAppSwitcherCustomEvent<void>) => void;
9754
+ /**
9755
+ * Fires when Manage is pressed.
9756
+ */
9757
+ "onBsManage"?: (event: BsAppSwitcherCustomEvent<void>) => void;
9758
+ /**
9759
+ * Fires when the search text changes through user interaction, with the new text.
9760
+ */
9761
+ "onBsQueryChange"?: (event: BsAppSwitcherCustomEvent<string>) => void;
9762
+ /**
9763
+ * Fires when Request access is pressed.
9764
+ */
9765
+ "onBsRequestAccess"?: (event: BsAppSwitcherCustomEvent<void>) => void;
9766
+ /**
9767
+ * Fires when Try again is pressed.
9768
+ */
9769
+ "onBsRetry"?: (event: BsAppSwitcherCustomEvent<void>) => void;
9770
+ /**
9771
+ * The search text. Mutable: typing, Escape and "Clear search" update it.
9772
+ * @default ''
9773
+ */
9774
+ "query"?: string;
9775
+ /**
9776
+ * Recently opened apps, most recent first. When there are any, the panel shows Recent and All apps. JS property only.
9777
+ * @default []
9778
+ */
9779
+ "recent"?: BsAppRecent[];
9780
+ /**
9781
+ * Header of the recent group.
9782
+ * @default 'Recent'
9783
+ */
9784
+ "recentLabel"?: string;
9785
+ /**
9786
+ * Text of the Request access button.
9787
+ * @default 'Request access'
9788
+ */
9789
+ "requestAccessLabel"?: string;
9790
+ /**
9791
+ * Search header with one result ("1 result").
9792
+ * @default 'result'
8554
9793
  */
8555
- "label"?: string;
9794
+ "resultLabel"?: string;
9795
+ /**
9796
+ * Search header with several results ("2 results").
9797
+ * @default 'results'
9798
+ */
9799
+ "resultsLabel"?: string;
9800
+ /**
9801
+ * Text of the Try again button.
9802
+ * @default 'Try again'
9803
+ */
9804
+ "retryLabel"?: string;
9805
+ /**
9806
+ * Placeholder (and accessible name) of the search field.
9807
+ * @default 'Find an app'
9808
+ */
9809
+ "searchPlaceholder"?: string;
9810
+ /**
9811
+ * `loading` shows skeleton tiles, `error` the failure state.
9812
+ * @default 'ready'
9813
+ */
9814
+ "status"?: BsAppSwitcherStatus;
9815
+ /**
9816
+ * Header of the default group when there are no recent apps.
9817
+ * @default 'Your apps'
9818
+ */
9819
+ "yourAppsLabel"?: string;
8556
9820
  }
8557
9821
  /**
8558
- * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
8559
- * with CSS grid. The main column scrolls independently of the header and the side columns.
8560
- * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
8561
- * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
8562
- * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
8563
- * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
8564
- * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
8565
- * auto track follows the drawer's width on its own.
8566
- * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
8567
- * `banner` and `navigation` roles.
9822
+ * One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
9823
+ * (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
9824
+ * The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
9825
+ * native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
9826
+ * `aria-disabled` and removes it from the tab order.
9827
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
9828
+ * theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
9829
+ * slot (an `<svg>` drawn with `currentColor`).
8568
9830
  * ## When to use
8569
- * - The outer frame of an application page with a header and side navigation.
9831
+ * - An app in a launcher grid, usually inside `bs-app-switcher`.
8570
9832
  * ## When not to use
8571
- * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
8572
- * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
8573
- * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
8574
- * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
8575
- * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
8576
- * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
9833
+ * - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
9834
+ * - A command in a menu -- use `bs-menu-item`.
9835
+ * @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
9836
+ * @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
9837
+ * @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
9838
+ * @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
9839
+ * @prop --bs-app-tile-bg - Resting background. `transparent`.
9840
+ * @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
9841
+ * @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
9842
+ * @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
9843
+ * @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
9844
+ * @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
9845
+ * @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
9846
+ * @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
8577
9847
  */
8578
- interface BsAppShell {
9848
+ interface BsAppTile {
8579
9849
  /**
8580
- * When true the host is `height: 100%`; when false it is content-sized with `min-height: 100vh`.
8581
- * @default true
9850
+ * The app you are in right now: selected background and `aria-current="true"`.
9851
+ * @default false
8582
9852
  */
8583
- "fullHeight"?: boolean;
9853
+ "current"?: boolean;
9854
+ /**
9855
+ * Dims the tile, sets `aria-disabled` and takes it out of the tab order.
9856
+ * @default false
9857
+ */
9858
+ "disabled"?: boolean;
9859
+ /**
9860
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
9861
+ */
9862
+ "icon"?: string;
9863
+ /**
9864
+ * The app name, shown under the icon and used as the accessible name.
9865
+ */
9866
+ "name": string;
9867
+ /**
9868
+ * `grid` is the 3-column launcher tile; `compact` the smaller 4-column one.
9869
+ * @default 'grid'
9870
+ */
9871
+ "size"?: BsAppTileSize;
8584
9872
  }
8585
9873
  /**
8586
9874
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
@@ -9894,6 +11182,175 @@ declare namespace LocalJSX {
9894
11182
  */
9895
11183
  "value"?: string;
9896
11184
  }
11185
+ /**
11186
+ * A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
11187
+ * (Default, Hover, Pressed and Focused).
11188
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
11189
+ * native element.
11190
+ * ## When to use
11191
+ * - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
11192
+ * ## When not to use
11193
+ * - A destination that needs an icon or a description -- use `bs-menu-block`.
11194
+ * - A command in a dropdown list -- use `bs-menu-item`.
11195
+ * @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
11196
+ * @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
11197
+ * @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
11198
+ * @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
11199
+ * @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
11200
+ * @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
11201
+ * @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
11202
+ */
11203
+ interface BsCompactMenuBlock {
11204
+ /**
11205
+ * The text, and the accessible name.
11206
+ */
11207
+ "name": string;
11208
+ }
11209
+ /**
11210
+ * A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
11211
+ * another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
11212
+ * a no-results state and a footer with "Manage Companies" and "Add companies" actions.
11213
+ * Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
11214
+ * `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
11215
+ * `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
11216
+ * no `bs-*` component is a composite "avatar + two lines + chevron" button.
11217
+ * ## When to use
11218
+ * - An app header or side navigation where a user belongs to several companies and works in one at a time.
11219
+ * ## When not to use
11220
+ * - Picking a value in a form -- use `bs-input type="dropdown"`.
11221
+ * - Switching between a handful of fixed views -- use `bs-tab`.
11222
+ * `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
11223
+ * `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
11224
+ * (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
11225
+ * to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
11226
+ * @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
11227
+ * @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
11228
+ * @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
11229
+ * @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
11230
+ * @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
11231
+ * @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
11232
+ * @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
11233
+ * @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
11234
+ * @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
11235
+ * @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
11236
+ * @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
11237
+ * @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
11238
+ * @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
11239
+ * @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
11240
+ * @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
11241
+ * @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
11242
+ */
11243
+ interface BsCompanySwitcher {
11244
+ /**
11245
+ * Text of the "Add companies" footer button.
11246
+ * @default 'Add companies'
11247
+ */
11248
+ "addLabel"?: string;
11249
+ /**
11250
+ * Header of the all companies group (the count is appended).
11251
+ * @default 'All companies'
11252
+ */
11253
+ "allLabel"?: string;
11254
+ /**
11255
+ * The companies the user can switch between. JS property only (an array cannot be an attribute).
11256
+ * @default []
11257
+ */
11258
+ "companies"?: BsCompany[];
11259
+ /**
11260
+ * `id` of the current company.
11261
+ */
11262
+ "currentId"?: string;
11263
+ /**
11264
+ * Header of the current company group.
11265
+ * @default 'Current'
11266
+ */
11267
+ "currentLabel"?: string;
11268
+ /**
11269
+ * No-results description.
11270
+ * @default 'Check the spelling, or search by org. number.'
11271
+ */
11272
+ "emptyDescription"?: string;
11273
+ /**
11274
+ * No-results heading. `{query}` is replaced by the query.
11275
+ * @default 'No companies match “{query}”'
11276
+ */
11277
+ "emptyHeading"?: string;
11278
+ /**
11279
+ * Accessible name of the company listbox.
11280
+ * @default 'Companies'
11281
+ */
11282
+ "listLabel"?: string;
11283
+ /**
11284
+ * Text of the "Manage Companies" footer button.
11285
+ * @default 'Manage Companies'
11286
+ */
11287
+ "manageLabel"?: string;
11288
+ /**
11289
+ * Header of the search view when there is one match ("1 match").
11290
+ * @default 'match'
11291
+ */
11292
+ "matchLabel"?: string;
11293
+ /**
11294
+ * Header of the search view when there are several matches ("3 matches").
11295
+ * @default 'matches'
11296
+ */
11297
+ "matchesLabel"?: string;
11298
+ /**
11299
+ * Fires when "Add companies" is pressed.
11300
+ */
11301
+ "onBsAddCompanies"?: (event: BsCompanySwitcherCustomEvent<void>) => void;
11302
+ /**
11303
+ * Fires when a company other than the current one is chosen (click or Enter), with the company.
11304
+ */
11305
+ "onBsCompanySwitch"?: (event: BsCompanySwitcherCustomEvent<BsCompany>) => void;
11306
+ /**
11307
+ * Fires when "Manage Companies" is pressed.
11308
+ */
11309
+ "onBsManageCompanies"?: (event: BsCompanySwitcherCustomEvent<void>) => void;
11310
+ /**
11311
+ * Fires when the panel opens or closes through user interaction, with the new state.
11312
+ */
11313
+ "onBsOpenChange"?: (event: BsCompanySwitcherCustomEvent<boolean>) => void;
11314
+ /**
11315
+ * Whether the panel is open.
11316
+ * @default false
11317
+ */
11318
+ "open"?: boolean;
11319
+ /**
11320
+ * Prefix of the org. number, e.g. "Org. no.".
11321
+ * @default 'Org. no.'
11322
+ */
11323
+ "orgNumberLabel"?: string;
11324
+ /**
11325
+ * Text of the trigger when there is no current company.
11326
+ * @default 'Select a company'
11327
+ */
11328
+ "placeholderLabel"?: string;
11329
+ /**
11330
+ * `id`s of recently used companies, most recent first. The current company is not repeated in the Recent group.
11331
+ * @default []
11332
+ */
11333
+ "recentIds"?: string[];
11334
+ /**
11335
+ * Header of the recent companies group.
11336
+ * @default 'Recent'
11337
+ */
11338
+ "recentLabel"?: string;
11339
+ /**
11340
+ * Placeholder (and accessible name) of the search field.
11341
+ * @default 'Find a company or org. number'
11342
+ */
11343
+ "searchPlaceholder"?: string;
11344
+ /**
11345
+ * `id` of the company being switched to. Shows the switching state: a spinner in the trigger and on that row.
11346
+ */
11347
+ "switchingId"?: string;
11348
+ /**
11349
+ * Trigger subtitle while switching.
11350
+ * @default 'Switching…'
11351
+ */
11352
+ "switchingLabel"?: string;
11353
+ }
9897
11354
  /**
9898
11355
  * A chat composer input for Genie AI-style conversational interfaces: a text field
9899
11356
  * plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
@@ -10995,6 +12452,10 @@ declare namespace LocalJSX {
10995
12452
  * The name of the element, used when submitting an HTML form.
10996
12453
  */
10997
12454
  "name"?: string;
12455
+ /**
12456
+ * Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component does not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled star), not in the label, which should stay the same.
12457
+ */
12458
+ "pressed"?: boolean;
10998
12459
  /**
10999
12460
  * Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were built against.
11000
12461
  * @default 'md'
@@ -11583,6 +13044,93 @@ declare namespace LocalJSX {
11583
13044
  */
11584
13045
  "variant"?: BsLogoVariant;
11585
13046
  }
13047
+ /**
13048
+ * The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
13049
+ * featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
13050
+ * "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
13051
+ * This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
13052
+ * header's full width, and toggle the host's `hidden` attribute from the tab that
13053
+ * opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
13054
+ * Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
13055
+ * `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
13056
+ * markup: no component covers them.
13057
+ * ## Responsive
13058
+ * The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
13059
+ * above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
13060
+ * and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
13061
+ * `footer-end` slot is not hidden.
13062
+ * ## When to use
13063
+ * - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
13064
+ * ## When not to use
13065
+ * - A short list of commands -- use `bs-menu` in a `bs-popover`.
13066
+ * - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
13067
+ * `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
13068
+ * the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
13069
+ * originating click).
13070
+ * @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
13071
+ * @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
13072
+ * @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
13073
+ * @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
13074
+ * @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
13075
+ * @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
13076
+ * @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
13077
+ * @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
13078
+ * @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
13079
+ * @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
13080
+ */
13081
+ interface BsMegaMenu {
13082
+ /**
13083
+ * The groups of links. JS property only (an array cannot be an attribute).
13084
+ * @default []
13085
+ */
13086
+ "columns"?: BsMegaMenuColumn[];
13087
+ /**
13088
+ * The featured area on the right. JS property only. The `featured` slot overrides it.
13089
+ */
13090
+ "featured"?: BsMegaMenuFeatured;
13091
+ /**
13092
+ * Accessible name of the panel.
13093
+ * @default 'Menu'
13094
+ */
13095
+ "label"?: string;
13096
+ /**
13097
+ * Fires when Escape is pressed inside the panel, so you can close it.
13098
+ */
13099
+ "onBsClose"?: (event: BsMegaMenuCustomEvent<void>) => void;
13100
+ /**
13101
+ * Fires when a link is chosen (click or Enter), with the item. Cancelable: `preventDefault()` cancels the originating click.
13102
+ */
13103
+ "onBsMenuSelect"?: (event: BsMegaMenuCustomEvent<BsMegaMenuItem>) => void;
13104
+ /**
13105
+ * Recently used destinations, already translated, shown in the footer. JS property only.
13106
+ * @default []
13107
+ */
13108
+ "recent"?: string[];
13109
+ /**
13110
+ * Text before the recently used items.
13111
+ * @default 'Recently used:'
13112
+ */
13113
+ "recentLabel"?: string;
13114
+ /**
13115
+ * The shortcut keys, joined by "+".
13116
+ * @default 'Ctrl+K'
13117
+ */
13118
+ "shortcutKeys"?: string;
13119
+ /**
13120
+ * Accessible name of the shortcut keys. Defaults to the keys joined with " plus ".
13121
+ */
13122
+ "shortcutKeysLabel"?: string;
13123
+ /**
13124
+ * Text before the shortcut keys.
13125
+ * @default 'Can’t find it? Press'
13126
+ */
13127
+ "shortcutLabel"?: string;
13128
+ /**
13129
+ * `columns` shows menu blocks with icon and description; `compact` plain text links.
13130
+ * @default 'columns'
13131
+ */
13132
+ "type"?: BsMegaMenuType;
13133
+ }
11586
13134
  /**
11587
13135
  * A generic dropdown/popup menu container: a rounded, elevated list of items (typically
11588
13136
  * `bs-menu-item` elements).
@@ -11600,6 +13148,49 @@ declare namespace LocalJSX {
11600
13148
  */
11601
13149
  interface BsMenu {
11602
13150
  }
13151
+ /**
13152
+ * A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
13153
+ * Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
13154
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
13155
+ * native element. Its accessible name is its text: the title, the badge and the description, read once.
13156
+ * Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
13157
+ * monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
13158
+ * dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
13159
+ * ## When to use
13160
+ * - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
13161
+ * ## When not to use
13162
+ * - A plain text destination -- use `bs-compact-menu-block`.
13163
+ * - A command in a dropdown list -- use `bs-menu-item`.
13164
+ * @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
13165
+ * @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
13166
+ * @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
13167
+ * @prop --bs-menu-block-bg - Resting background. `transparent`.
13168
+ * @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
13169
+ * @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
13170
+ * @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
13171
+ * @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
13172
+ * @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
13173
+ * @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
13174
+ * @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
13175
+ */
13176
+ interface BsMenuBlock {
13177
+ /**
13178
+ * Short text for a chip beside the title, e.g. "New".
13179
+ */
13180
+ "badge"?: string;
13181
+ /**
13182
+ * One line under the title; part of the accessible name.
13183
+ */
13184
+ "description"?: string;
13185
+ /**
13186
+ * URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
13187
+ */
13188
+ "icon"?: string;
13189
+ /**
13190
+ * The title, and the start of the accessible name.
13191
+ */
13192
+ "name": string;
13193
+ }
11603
13194
  /**
11604
13195
  * A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
11605
13196
  * real `<button>` for correct keyboard/click semantics.
@@ -12051,6 +13642,99 @@ declare namespace LocalJSX {
12051
13642
  */
12052
13643
  "type"?: BsOnboardingChecklistType;
12053
13644
  }
13645
+ /**
13646
+ * The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
13647
+ * optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
13648
+ * optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
13649
+ * compact).
13650
+ * Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
13651
+ * buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
13652
+ * `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
13653
+ * actions area are plain layout markup, because no component covers them. The back arrow and the star are
13654
+ * inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
13655
+ * ## Compact (sticky)
13656
+ * `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
13657
+ * meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
13658
+ * from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
13659
+ * `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
13660
+ * ## Responsive
13661
+ * The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
13662
+ * below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
13663
+ * sideways inside itself. The page never gets wider.
13664
+ * ## When to use
13665
+ * - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
13666
+ * ## When not to use
13667
+ * - The app-wide bar with logo, search and user: use `bs-navigation-header`.
13668
+ * - The heading of a card, dialog or panel: use that component's own `heading`.
13669
+ * ## Accessibility notes
13670
+ * The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
13671
+ * is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
13672
+ * status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
13673
+ * @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
13674
+ * @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
13675
+ * @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
13676
+ * @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
13677
+ * @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
13678
+ * @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
13679
+ * @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
13680
+ * @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
13681
+ * @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
13682
+ * @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
13683
+ * @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
13684
+ */
13685
+ interface BsPageHeader {
13686
+ /**
13687
+ * Shows a back button before the title. It emits `bsBack`; you navigate.
13688
+ * @default false
13689
+ */
13690
+ "back"?: boolean;
13691
+ /**
13692
+ * Accessible name of the back button.
13693
+ * @default 'Back'
13694
+ */
13695
+ "backLabel"?: string;
13696
+ /**
13697
+ * The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected.
13698
+ * @default false
13699
+ */
13700
+ "compact"?: boolean;
13701
+ /**
13702
+ * Shows the favourite (star) toggle after the title.
13703
+ * @default false
13704
+ */
13705
+ "favoritable"?: boolean;
13706
+ /**
13707
+ * Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled.
13708
+ * @default false
13709
+ */
13710
+ "favorite"?: boolean;
13711
+ /**
13712
+ * Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state.
13713
+ * @default 'Favourite'
13714
+ */
13715
+ "favoriteLabel"?: string;
13716
+ /**
13717
+ * The page title, rendered as the heading.
13718
+ */
13719
+ "heading"?: string;
13720
+ /**
13721
+ * HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`.
13722
+ * @default 1
13723
+ */
13724
+ "headingLevel"?: number;
13725
+ /**
13726
+ * The line under the title, plain text, e.g. "214 invoices · 38 open". The `meta` slot overrides it.
13727
+ */
13728
+ "meta"?: string;
13729
+ /**
13730
+ * Fires when the back button is clicked. Not cancelable: the component has no default action to cancel.
13731
+ */
13732
+ "onBsBack"?: (event: BsPageHeaderCustomEvent<void>) => void;
13733
+ /**
13734
+ * Fires when the user toggles the favourite button, with the new value. Cancelable: `preventDefault()` keeps the old value.
13735
+ */
13736
+ "onBsFavoriteChange"?: (event: BsPageHeaderCustomEvent<{ favorite: boolean }>) => void;
13737
+ }
12054
13738
  /**
12055
13739
  * A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
12056
13740
  * large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
@@ -13917,9 +15601,49 @@ declare namespace LocalJSX {
13917
15601
  interface BsAiThinkingAttributes {
13918
15602
  "label": string;
13919
15603
  }
15604
+ interface BsAppRecentItemAttributes {
15605
+ "name": string;
15606
+ "description": string;
15607
+ "icon": string;
15608
+ "current": boolean;
15609
+ "disabled": boolean;
15610
+ }
13920
15611
  interface BsAppShellAttributes {
13921
15612
  "fullHeight": boolean;
13922
15613
  }
15614
+ interface BsAppSwitcherAttributes {
15615
+ "currentId": string;
15616
+ "query": string;
15617
+ "status": BsAppSwitcherStatus;
15618
+ "manageHref": string;
15619
+ "browseHref": string;
15620
+ "heading": string;
15621
+ "manageLabel": string;
15622
+ "searchPlaceholder": string;
15623
+ "yourAppsLabel": string;
15624
+ "recentLabel": string;
15625
+ "allAppsLabel": string;
15626
+ "resultsLabel": string;
15627
+ "resultLabel": string;
15628
+ "browseLabel": string;
15629
+ "noResultsHeading": string;
15630
+ "noResultsDescription": string;
15631
+ "clearLabel": string;
15632
+ "errorHeading": string;
15633
+ "errorDescription": string;
15634
+ "retryLabel": string;
15635
+ "emptyHeading": string;
15636
+ "emptyDescription": string;
15637
+ "requestAccessLabel": string;
15638
+ "loadingLabel": string;
15639
+ }
15640
+ interface BsAppTileAttributes {
15641
+ "name": string;
15642
+ "size": BsAppTileSize;
15643
+ "icon": string;
15644
+ "current": boolean;
15645
+ "disabled": boolean;
15646
+ }
13923
15647
  interface BsAttachmentAttributes {
13924
15648
  "uploadingLabel": string;
13925
15649
  "removeLabel": string;
@@ -14103,6 +15827,28 @@ declare namespace LocalJSX {
14103
15827
  "loadingLabel": string;
14104
15828
  "listLabel": string;
14105
15829
  }
15830
+ interface BsCompactMenuBlockAttributes {
15831
+ "name": string;
15832
+ }
15833
+ interface BsCompanySwitcherAttributes {
15834
+ "currentId": string;
15835
+ "switchingId": string;
15836
+ "open": boolean;
15837
+ "placeholderLabel": string;
15838
+ "searchPlaceholder": string;
15839
+ "listLabel": string;
15840
+ "currentLabel": string;
15841
+ "recentLabel": string;
15842
+ "allLabel": string;
15843
+ "matchesLabel": string;
15844
+ "matchLabel": string;
15845
+ "orgNumberLabel": string;
15846
+ "switchingLabel": string;
15847
+ "emptyHeading": string;
15848
+ "emptyDescription": string;
15849
+ "manageLabel": string;
15850
+ "addLabel": string;
15851
+ }
14106
15852
  interface BsComposerAttributes {
14107
15853
  "variant": BsComposerVariant;
14108
15854
  "placeholder": string;
@@ -14264,6 +16010,7 @@ declare namespace LocalJSX {
14264
16010
  "disabled": boolean;
14265
16011
  "type": 'button' | 'submit' | 'reset';
14266
16012
  "ariaLabel": string | null;
16013
+ "pressed": boolean;
14267
16014
  }
14268
16015
  interface BsIconTileAttributes {
14269
16016
  "size": BsIconTileSize;
@@ -14358,6 +16105,20 @@ declare namespace LocalJSX {
14358
16105
  "src": string | null;
14359
16106
  "alt": string | null;
14360
16107
  }
16108
+ interface BsMegaMenuAttributes {
16109
+ "type": BsMegaMenuType;
16110
+ "label": string;
16111
+ "recentLabel": string;
16112
+ "shortcutLabel": string;
16113
+ "shortcutKeys": string;
16114
+ "shortcutKeysLabel": string;
16115
+ }
16116
+ interface BsMenuBlockAttributes {
16117
+ "name": string;
16118
+ "description": string;
16119
+ "icon": string;
16120
+ "badge": string;
16121
+ }
14361
16122
  interface BsMenuItemAttributes {
14362
16123
  "disabled": boolean;
14363
16124
  }
@@ -14415,6 +16176,17 @@ declare namespace LocalJSX {
14415
16176
  "statusDoneLabel": string;
14416
16177
  "statusTodoLabel": string;
14417
16178
  }
16179
+ interface BsPageHeaderAttributes {
16180
+ "heading": string;
16181
+ "headingLevel": number;
16182
+ "meta": string;
16183
+ "compact": boolean;
16184
+ "back": boolean;
16185
+ "backLabel": string;
16186
+ "favoritable": boolean;
16187
+ "favorite": boolean;
16188
+ "favoriteLabel": string;
16189
+ }
14418
16190
  interface BsPaginationAttributes {
14419
16191
  "totalPages": number;
14420
16192
  "currentPage": number;
@@ -14705,7 +16477,10 @@ declare namespace LocalJSX {
14705
16477
  "bs-ai-disclaimer": BsAiDisclaimer;
14706
16478
  "bs-ai-greeting": Omit<BsAiGreeting, keyof BsAiGreetingAttributes> & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes]?: BsAiGreeting[K] } & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes as `attr:${K}`]?: BsAiGreetingAttributes[K] } & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes as `prop:${K}`]?: BsAiGreeting[K] };
14707
16479
  "bs-ai-thinking": Omit<BsAiThinking, keyof BsAiThinkingAttributes> & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes]?: BsAiThinking[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `attr:${K}`]?: BsAiThinkingAttributes[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `prop:${K}`]?: BsAiThinking[K] };
16480
+ "bs-app-recent-item": Omit<BsAppRecentItem, keyof BsAppRecentItemAttributes> & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes]?: BsAppRecentItem[K] } & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes as `attr:${K}`]?: BsAppRecentItemAttributes[K] } & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes as `prop:${K}`]?: BsAppRecentItem[K] } & OneOf<"name", BsAppRecentItem["name"], BsAppRecentItemAttributes["name"]>;
14708
16481
  "bs-app-shell": Omit<BsAppShell, keyof BsAppShellAttributes> & { [K in keyof BsAppShell & keyof BsAppShellAttributes]?: BsAppShell[K] } & { [K in keyof BsAppShell & keyof BsAppShellAttributes as `attr:${K}`]?: BsAppShellAttributes[K] } & { [K in keyof BsAppShell & keyof BsAppShellAttributes as `prop:${K}`]?: BsAppShell[K] };
16482
+ "bs-app-switcher": Omit<BsAppSwitcher, keyof BsAppSwitcherAttributes> & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes]?: BsAppSwitcher[K] } & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes as `attr:${K}`]?: BsAppSwitcherAttributes[K] } & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes as `prop:${K}`]?: BsAppSwitcher[K] };
16483
+ "bs-app-tile": Omit<BsAppTile, keyof BsAppTileAttributes> & { [K in keyof BsAppTile & keyof BsAppTileAttributes]?: BsAppTile[K] } & { [K in keyof BsAppTile & keyof BsAppTileAttributes as `attr:${K}`]?: BsAppTileAttributes[K] } & { [K in keyof BsAppTile & keyof BsAppTileAttributes as `prop:${K}`]?: BsAppTile[K] } & OneOf<"name", BsAppTile["name"], BsAppTileAttributes["name"]>;
14709
16484
  "bs-attachment": Omit<BsAttachment, keyof BsAttachmentAttributes> & { [K in keyof BsAttachment & keyof BsAttachmentAttributes]?: BsAttachment[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `attr:${K}`]?: BsAttachmentAttributes[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `prop:${K}`]?: BsAttachment[K] };
14710
16485
  "bs-attachment-list": Omit<BsAttachmentList, keyof BsAttachmentListAttributes> & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes]?: BsAttachmentList[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `attr:${K}`]?: BsAttachmentListAttributes[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `prop:${K}`]?: BsAttachmentList[K] };
14711
16486
  "bs-avatar": Omit<BsAvatar, keyof BsAvatarAttributes> & { [K in keyof BsAvatar & keyof BsAvatarAttributes]?: BsAvatar[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `attr:${K}`]?: BsAvatarAttributes[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `prop:${K}`]?: BsAvatar[K] };
@@ -14729,6 +16504,8 @@ declare namespace LocalJSX {
14729
16504
  "bs-chip-input": Omit<BsChipInput, keyof BsChipInputAttributes> & { [K in keyof BsChipInput & keyof BsChipInputAttributes]?: BsChipInput[K] } & { [K in keyof BsChipInput & keyof BsChipInputAttributes as `attr:${K}`]?: BsChipInputAttributes[K] } & { [K in keyof BsChipInput & keyof BsChipInputAttributes as `prop:${K}`]?: BsChipInput[K] };
14730
16505
  "bs-citation-preview": Omit<BsCitationPreview, keyof BsCitationPreviewAttributes> & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes]?: BsCitationPreview[K] } & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes as `attr:${K}`]?: BsCitationPreviewAttributes[K] } & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes as `prop:${K}`]?: BsCitationPreview[K] };
14731
16506
  "bs-command-palette": Omit<BsCommandPalette, keyof BsCommandPaletteAttributes> & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes]?: BsCommandPalette[K] } & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes as `attr:${K}`]?: BsCommandPaletteAttributes[K] } & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes as `prop:${K}`]?: BsCommandPalette[K] };
16507
+ "bs-compact-menu-block": Omit<BsCompactMenuBlock, keyof BsCompactMenuBlockAttributes> & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes]?: BsCompactMenuBlock[K] } & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes as `attr:${K}`]?: BsCompactMenuBlockAttributes[K] } & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes as `prop:${K}`]?: BsCompactMenuBlock[K] } & OneOf<"name", BsCompactMenuBlock["name"], BsCompactMenuBlockAttributes["name"]>;
16508
+ "bs-company-switcher": Omit<BsCompanySwitcher, keyof BsCompanySwitcherAttributes> & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes]?: BsCompanySwitcher[K] } & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes as `attr:${K}`]?: BsCompanySwitcherAttributes[K] } & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes as `prop:${K}`]?: BsCompanySwitcher[K] };
14732
16509
  "bs-composer": Omit<BsComposer, keyof BsComposerAttributes> & { [K in keyof BsComposer & keyof BsComposerAttributes]?: BsComposer[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `attr:${K}`]?: BsComposerAttributes[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `prop:${K}`]?: BsComposer[K] };
14733
16510
  "bs-composer-status-banner": Omit<BsComposerStatusBanner, keyof BsComposerStatusBannerAttributes> & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes]?: BsComposerStatusBanner[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `attr:${K}`]?: BsComposerStatusBannerAttributes[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `prop:${K}`]?: BsComposerStatusBanner[K] };
14734
16511
  "bs-container": Omit<BsContainer, keyof BsContainerAttributes> & { [K in keyof BsContainer & keyof BsContainerAttributes]?: BsContainer[K] } & { [K in keyof BsContainer & keyof BsContainerAttributes as `attr:${K}`]?: BsContainerAttributes[K] } & { [K in keyof BsContainer & keyof BsContainerAttributes as `prop:${K}`]?: BsContainer[K] };
@@ -14753,7 +16530,9 @@ declare namespace LocalJSX {
14753
16530
  "bs-list": Omit<BsList, keyof BsListAttributes> & { [K in keyof BsList & keyof BsListAttributes]?: BsList[K] } & { [K in keyof BsList & keyof BsListAttributes as `attr:${K}`]?: BsListAttributes[K] } & { [K in keyof BsList & keyof BsListAttributes as `prop:${K}`]?: BsList[K] };
14754
16531
  "bs-list-item": Omit<BsListItem, keyof BsListItemAttributes> & { [K in keyof BsListItem & keyof BsListItemAttributes]?: BsListItem[K] } & { [K in keyof BsListItem & keyof BsListItemAttributes as `attr:${K}`]?: BsListItemAttributes[K] } & { [K in keyof BsListItem & keyof BsListItemAttributes as `prop:${K}`]?: BsListItem[K] };
14755
16532
  "bs-logo": Omit<BsLogo, keyof BsLogoAttributes> & { [K in keyof BsLogo & keyof BsLogoAttributes]?: BsLogo[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `attr:${K}`]?: BsLogoAttributes[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `prop:${K}`]?: BsLogo[K] };
16533
+ "bs-mega-menu": Omit<BsMegaMenu, keyof BsMegaMenuAttributes> & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes]?: BsMegaMenu[K] } & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes as `attr:${K}`]?: BsMegaMenuAttributes[K] } & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes as `prop:${K}`]?: BsMegaMenu[K] };
14756
16534
  "bs-menu": BsMenu;
16535
+ "bs-menu-block": Omit<BsMenuBlock, keyof BsMenuBlockAttributes> & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes]?: BsMenuBlock[K] } & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes as `attr:${K}`]?: BsMenuBlockAttributes[K] } & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes as `prop:${K}`]?: BsMenuBlock[K] } & OneOf<"name", BsMenuBlock["name"], BsMenuBlockAttributes["name"]>;
14757
16536
  "bs-menu-item": Omit<BsMenuItem, keyof BsMenuItemAttributes> & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes]?: BsMenuItem[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `attr:${K}`]?: BsMenuItemAttributes[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `prop:${K}`]?: BsMenuItem[K] };
14758
16537
  "bs-message": Omit<BsMessage, keyof BsMessageAttributes> & { [K in keyof BsMessage & keyof BsMessageAttributes]?: BsMessage[K] } & { [K in keyof BsMessage & keyof BsMessageAttributes as `attr:${K}`]?: BsMessageAttributes[K] } & { [K in keyof BsMessage & keyof BsMessageAttributes as `prop:${K}`]?: BsMessage[K] };
14759
16538
  "bs-message-list": Omit<BsMessageList, keyof BsMessageListAttributes> & { [K in keyof BsMessageList & keyof BsMessageListAttributes]?: BsMessageList[K] } & { [K in keyof BsMessageList & keyof BsMessageListAttributes as `attr:${K}`]?: BsMessageListAttributes[K] } & { [K in keyof BsMessageList & keyof BsMessageListAttributes as `prop:${K}`]?: BsMessageList[K] };
@@ -14761,6 +16540,7 @@ declare namespace LocalJSX {
14761
16540
  "bs-navigation-drawer-item": Omit<BsNavigationDrawerItem, keyof BsNavigationDrawerItemAttributes> & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes]?: BsNavigationDrawerItem[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `attr:${K}`]?: BsNavigationDrawerItemAttributes[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `prop:${K}`]?: BsNavigationDrawerItem[K] };
14762
16541
  "bs-navigation-header": Omit<BsNavigationHeader, keyof BsNavigationHeaderAttributes> & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes]?: BsNavigationHeader[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `attr:${K}`]?: BsNavigationHeaderAttributes[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `prop:${K}`]?: BsNavigationHeader[K] };
14763
16542
  "bs-onboarding-checklist": Omit<BsOnboardingChecklist, keyof BsOnboardingChecklistAttributes> & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes]?: BsOnboardingChecklist[K] } & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes as `attr:${K}`]?: BsOnboardingChecklistAttributes[K] } & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes as `prop:${K}`]?: BsOnboardingChecklist[K] };
16543
+ "bs-page-header": Omit<BsPageHeader, keyof BsPageHeaderAttributes> & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes]?: BsPageHeader[K] } & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes as `attr:${K}`]?: BsPageHeaderAttributes[K] } & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes as `prop:${K}`]?: BsPageHeader[K] };
14764
16544
  "bs-pagination": Omit<BsPagination, keyof BsPaginationAttributes> & { [K in keyof BsPagination & keyof BsPaginationAttributes]?: BsPagination[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `attr:${K}`]?: BsPaginationAttributes[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `prop:${K}`]?: BsPagination[K] };
14765
16545
  "bs-popover": Omit<BsPopover, keyof BsPopoverAttributes> & { [K in keyof BsPopover & keyof BsPopoverAttributes]?: BsPopover[K] } & { [K in keyof BsPopover & keyof BsPopoverAttributes as `attr:${K}`]?: BsPopoverAttributes[K] } & { [K in keyof BsPopover & keyof BsPopoverAttributes as `prop:${K}`]?: BsPopover[K] };
14766
16546
  "bs-product-tour": Omit<BsProductTour, keyof BsProductTourAttributes> & { [K in keyof BsProductTour & keyof BsProductTourAttributes]?: BsProductTour[K] } & { [K in keyof BsProductTour & keyof BsProductTourAttributes as `attr:${K}`]?: BsProductTourAttributes[K] } & { [K in keyof BsProductTour & keyof BsProductTourAttributes as `prop:${K}`]?: BsProductTour[K] };
@@ -14888,6 +16668,34 @@ declare module "@stencil/core" {
14888
16668
  * `--bs-duration-slower` is 500ms), so this is aliased directly to the literal value.
14889
16669
  */
14890
16670
  "bs-ai-thinking": LocalJSX.IntrinsicElements["bs-ai-thinking"] & JSXBase.HTMLAttributes<HTMLBsAiThinkingElement>;
16671
+ /**
16672
+ * A full-width row for one app: a small icon tile, the app name and a description line (for example
16673
+ * "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
16674
+ * Hover, Pressed and Focus).
16675
+ * The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
16676
+ * (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
16677
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
16678
+ * icon colour through a CSS mask) or any element in the default slot.
16679
+ * ## When to use
16680
+ * - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
16681
+ * ## When not to use
16682
+ * - An app in a launcher grid -- use `bs-app-tile`.
16683
+ * - A generic list row -- use `bs-list-item`.
16684
+ * @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
16685
+ * @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
16686
+ * @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
16687
+ * @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
16688
+ * @prop --bs-app-recent-item-bg - Resting background. `transparent`.
16689
+ * @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
16690
+ * @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
16691
+ * @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
16692
+ * @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
16693
+ * @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
16694
+ * @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
16695
+ * @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
16696
+ * @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
16697
+ */
16698
+ "bs-app-recent-item": LocalJSX.IntrinsicElements["bs-app-recent-item"] & JSXBase.HTMLAttributes<HTMLBsAppRecentItemElement>;
14891
16699
  /**
14892
16700
  * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
14893
16701
  * with CSS grid. The main column scrolls independently of the header and the side columns.
@@ -14910,6 +16718,65 @@ declare module "@stencil/core" {
14910
16718
  * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
14911
16719
  */
14912
16720
  "bs-app-shell": LocalJSX.IntrinsicElements["bs-app-shell"] & JSXBase.HTMLAttributes<HTMLBsAppShellElement>;
16721
+ /**
16722
+ * The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
16723
+ * grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
16724
+ * no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
16725
+ * Searching, No results, Loading, Error and Empty).
16726
+ * This is the panel only. To open it from a button, wrap it in `bs-popover`.
16727
+ * Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
16728
+ * `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
16729
+ * again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
16730
+ * there is no URL): `bs-button` has no link mode and the library has no link component.
16731
+ * ## When to use
16732
+ * - Letting a user jump between the products they have access to, from an app header.
16733
+ * ## When not to use
16734
+ * - Navigation inside one app -- use `bs-menu` or the app shell navigation.
16735
+ * - Switching company -- use `bs-company-switcher`.
16736
+ * `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
16737
+ * monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
16738
+ * originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
16739
+ * `ready` shows the empty state.
16740
+ * @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
16741
+ * @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
16742
+ * @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
16743
+ * @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
16744
+ * @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
16745
+ * @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
16746
+ * @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
16747
+ * @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
16748
+ * @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
16749
+ * @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
16750
+ */
16751
+ "bs-app-switcher": LocalJSX.IntrinsicElements["bs-app-switcher"] & JSXBase.HTMLAttributes<HTMLBsAppSwitcherElement>;
16752
+ /**
16753
+ * One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
16754
+ * (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
16755
+ * The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
16756
+ * native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
16757
+ * `aria-disabled` and removes it from the tab order.
16758
+ * Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
16759
+ * theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
16760
+ * slot (an `<svg>` drawn with `currentColor`).
16761
+ * ## When to use
16762
+ * - An app in a launcher grid, usually inside `bs-app-switcher`.
16763
+ * ## When not to use
16764
+ * - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
16765
+ * - A command in a menu -- use `bs-menu-item`.
16766
+ * @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
16767
+ * @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
16768
+ * @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
16769
+ * @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
16770
+ * @prop --bs-app-tile-bg - Resting background. `transparent`.
16771
+ * @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
16772
+ * @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
16773
+ * @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
16774
+ * @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
16775
+ * @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
16776
+ * @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
16777
+ * @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
16778
+ */
16779
+ "bs-app-tile": LocalJSX.IntrinsicElements["bs-app-tile"] & JSXBase.HTMLAttributes<HTMLBsAppTileElement>;
14913
16780
  /**
14914
16781
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
14915
16782
  * with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
@@ -15398,6 +17265,60 @@ declare module "@stencil/core" {
15398
17265
  * @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
15399
17266
  */
15400
17267
  "bs-command-palette": LocalJSX.IntrinsicElements["bs-command-palette"] & JSXBase.HTMLAttributes<HTMLBsCommandPaletteElement>;
17268
+ /**
17269
+ * A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
17270
+ * (Default, Hover, Pressed and Focused).
17271
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
17272
+ * native element.
17273
+ * ## When to use
17274
+ * - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
17275
+ * ## When not to use
17276
+ * - A destination that needs an icon or a description -- use `bs-menu-block`.
17277
+ * - A command in a dropdown list -- use `bs-menu-item`.
17278
+ * @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
17279
+ * @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
17280
+ * @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
17281
+ * @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
17282
+ * @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
17283
+ * @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
17284
+ * @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
17285
+ */
17286
+ "bs-compact-menu-block": LocalJSX.IntrinsicElements["bs-compact-menu-block"] & JSXBase.HTMLAttributes<HTMLBsCompactMenuBlockElement>;
17287
+ /**
17288
+ * A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
17289
+ * another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
17290
+ * a no-results state and a footer with "Manage Companies" and "Add companies" actions.
17291
+ * Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
17292
+ * `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
17293
+ * `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
17294
+ * no `bs-*` component is a composite "avatar + two lines + chevron" button.
17295
+ * ## When to use
17296
+ * - An app header or side navigation where a user belongs to several companies and works in one at a time.
17297
+ * ## When not to use
17298
+ * - Picking a value in a form -- use `bs-input type="dropdown"`.
17299
+ * - Switching between a handful of fixed views -- use `bs-tab`.
17300
+ * `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
17301
+ * `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
17302
+ * (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
17303
+ * to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
17304
+ * @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
17305
+ * @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
17306
+ * @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
17307
+ * @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
17308
+ * @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
17309
+ * @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
17310
+ * @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
17311
+ * @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
17312
+ * @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
17313
+ * @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
17314
+ * @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
17315
+ * @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
17316
+ * @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
17317
+ * @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
17318
+ * @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
17319
+ * @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
17320
+ */
17321
+ "bs-company-switcher": LocalJSX.IntrinsicElements["bs-company-switcher"] & JSXBase.HTMLAttributes<HTMLBsCompanySwitcherElement>;
15401
17322
  /**
15402
17323
  * A chat composer input for Genie AI-style conversational interfaces: a text field
15403
17324
  * plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
@@ -15908,6 +17829,41 @@ declare module "@stencil/core" {
15908
17829
  * is already designed for whatever surface it's placed on.
15909
17830
  */
15910
17831
  "bs-logo": LocalJSX.IntrinsicElements["bs-logo"] & JSXBase.HTMLAttributes<HTMLBsLogoElement>;
17832
+ /**
17833
+ * The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
17834
+ * featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
17835
+ * "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
17836
+ * This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
17837
+ * header's full width, and toggle the host's `hidden` attribute from the tab that
17838
+ * opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
17839
+ * Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
17840
+ * `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
17841
+ * markup: no component covers them.
17842
+ * ## Responsive
17843
+ * The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
17844
+ * above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
17845
+ * and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
17846
+ * `footer-end` slot is not hidden.
17847
+ * ## When to use
17848
+ * - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
17849
+ * ## When not to use
17850
+ * - A short list of commands -- use `bs-menu` in a `bs-popover`.
17851
+ * - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
17852
+ * `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
17853
+ * the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
17854
+ * originating click).
17855
+ * @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
17856
+ * @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
17857
+ * @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
17858
+ * @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
17859
+ * @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
17860
+ * @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
17861
+ * @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
17862
+ * @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
17863
+ * @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
17864
+ * @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
17865
+ */
17866
+ "bs-mega-menu": LocalJSX.IntrinsicElements["bs-mega-menu"] & JSXBase.HTMLAttributes<HTMLBsMegaMenuElement>;
15911
17867
  /**
15912
17868
  * A generic dropdown/popup menu container: a rounded, elevated list of items (typically
15913
17869
  * `bs-menu-item` elements).
@@ -15924,6 +17880,32 @@ declare module "@stencil/core" {
15924
17880
  * @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
15925
17881
  */
15926
17882
  "bs-menu": LocalJSX.IntrinsicElements["bs-menu"] & JSXBase.HTMLAttributes<HTMLBsMenuElement>;
17883
+ /**
17884
+ * A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
17885
+ * Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
17886
+ * The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
17887
+ * native element. Its accessible name is its text: the title, the badge and the description, read once.
17888
+ * Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
17889
+ * monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
17890
+ * dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
17891
+ * ## When to use
17892
+ * - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
17893
+ * ## When not to use
17894
+ * - A plain text destination -- use `bs-compact-menu-block`.
17895
+ * - A command in a dropdown list -- use `bs-menu-item`.
17896
+ * @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
17897
+ * @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
17898
+ * @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
17899
+ * @prop --bs-menu-block-bg - Resting background. `transparent`.
17900
+ * @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
17901
+ * @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
17902
+ * @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
17903
+ * @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
17904
+ * @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
17905
+ * @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
17906
+ * @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
17907
+ */
17908
+ "bs-menu-block": LocalJSX.IntrinsicElements["bs-menu-block"] & JSXBase.HTMLAttributes<HTMLBsMenuBlockElement>;
15927
17909
  /**
15928
17910
  * A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
15929
17911
  * real `<button>` for correct keyboard/click semantics.
@@ -16101,6 +18083,47 @@ declare module "@stencil/core" {
16101
18083
  * hidden "Done" / "Not done". The progress bar is named with the progress text.
16102
18084
  */
16103
18085
  "bs-onboarding-checklist": LocalJSX.IntrinsicElements["bs-onboarding-checklist"] & JSXBase.HTMLAttributes<HTMLBsOnboardingChecklistElement>;
18086
+ /**
18087
+ * The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
18088
+ * optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
18089
+ * optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
18090
+ * compact).
18091
+ * Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
18092
+ * buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
18093
+ * `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
18094
+ * actions area are plain layout markup, because no component covers them. The back arrow and the star are
18095
+ * inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
18096
+ * ## Compact (sticky)
18097
+ * `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
18098
+ * meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
18099
+ * from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
18100
+ * `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
18101
+ * ## Responsive
18102
+ * The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
18103
+ * below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
18104
+ * sideways inside itself. The page never gets wider.
18105
+ * ## When to use
18106
+ * - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
18107
+ * ## When not to use
18108
+ * - The app-wide bar with logo, search and user: use `bs-navigation-header`.
18109
+ * - The heading of a card, dialog or panel: use that component's own `heading`.
18110
+ * ## Accessibility notes
18111
+ * The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
18112
+ * is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
18113
+ * status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
18114
+ * @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
18115
+ * @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
18116
+ * @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
18117
+ * @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
18118
+ * @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
18119
+ * @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
18120
+ * @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
18121
+ * @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
18122
+ * @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
18123
+ * @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
18124
+ * @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
18125
+ */
18126
+ "bs-page-header": LocalJSX.IntrinsicElements["bs-page-header"] & JSXBase.HTMLAttributes<HTMLBsPageHeaderElement>;
16104
18127
  /**
16105
18128
  * A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
16106
18129
  * large page counts. Matches the Figma "Pagination" component's "Default" type (the classic