@brandsync/wc 1.14.0 → 1.15.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 (352) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/REFERENCE.md +77 -0
  3. package/custom-elements.json +693 -0
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-9d660c03.entry.js → p-0f97fe35.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-c488cc8b.entry.js → p-1b4c0971.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-df3e7973.entry.js → p-1bf8fbbb.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-b6ac1b50.entry.js → p-1ca8b01e.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-47cd19aa.entry.js → p-23379d7c.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-b793a0d6.entry.js → p-2e285364.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-204cc690.entry.js → p-3488c4fc.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-e1b7bea7.entry.js → p-34b0c048.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-36fe783a.entry.js +1 -0
  14. package/dist/brandsync-wc/{p-8184d7de.entry.js → p-38ac9aad.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-16c78ff6.entry.js → p-3c21d0bf.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-6e923ebc.entry.js → p-401b3d3d.entry.js} +1 -1
  17. package/dist/brandsync-wc/p-45986ad4.entry.js +1 -0
  18. package/dist/brandsync-wc/{p-227a5182.entry.js → p-4ca40386.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-9125632c.entry.js → p-4ed00786.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-bee30626.entry.js → p-538d5b58.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-9fa67924.entry.js → p-54f9529f.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-1b5cc9b8.entry.js → p-5a45ef51.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-ce16f038.entry.js → p-5ed1f45e.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-10290c41.entry.js → p-65fa1b21.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-e6fc2cd4.entry.js → p-6cb21302.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-31cd66e0.entry.js → p-6df48031.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-769c5b4a.entry.js +1 -0
  28. package/dist/brandsync-wc/{p-d892277f.entry.js → p-7a072e64.entry.js} +1 -1
  29. package/dist/brandsync-wc/p-7b3518b8.entry.js +1 -0
  30. package/dist/brandsync-wc/{p-658532b7.entry.js → p-86774165.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-e0927a9a.entry.js → p-87d44938.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-cc1055e6.entry.js → p-89ea6366.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-4b40a596.entry.js → p-912629c6.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-c67bc817.entry.js → p-9beeb30c.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-315b510c.entry.js → p-a56bc608.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-2967240d.entry.js → p-abfa43f5.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-2e68b76e.entry.js → p-ac9472ec.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-686297f1.entry.js → p-b6081bba.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-833f9dc4.entry.js → p-b663ee67.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-dd52209a.entry.js → p-b67a0c8f.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-80700878.entry.js → p-b9c0b481.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-fa6b9750.entry.js → p-b9c9bcba.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-617bd76d.entry.js → p-baa3d37a.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-2c1efaa1.entry.js → p-bc97ece8.entry.js} +1 -1
  45. package/dist/brandsync-wc/p-c25553bc.entry.js +1 -0
  46. package/dist/brandsync-wc/{p-45cb3e6d.entry.js → p-c85fe37b.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-056608f0.entry.js → p-cf287ff1.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-cc25ee67.entry.js → p-d165a742.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-51f40972.entry.js → p-d81c4f58.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-94d435a2.entry.js → p-dcacee29.entry.js} +1 -1
  51. package/dist/brandsync-wc/{p-3477539c.entry.js → p-e294f698.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-3dabf202.entry.js → p-e5f50e93.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-221244a9.entry.js → p-e72dd05e.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-0cb6fc39.entry.js → p-e9b6b30f.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-a2e59aca.entry.js → p-ed71eb02.entry.js} +1 -1
  56. package/dist/brandsync-wc/{p-e65d286c.entry.js → p-f0be9125.entry.js} +1 -1
  57. package/dist/brandsync-wc/p-f3cc961b.entry.js +1 -0
  58. package/dist/brandsync-wc/{p-6ca1e51b.entry.js → p-f4d1d56e.entry.js} +1 -1
  59. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  60. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  61. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  62. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  63. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  64. package/dist/cjs/bs-app-shell.cjs.entry.js +19 -0
  65. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  68. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  69. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  70. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  71. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  72. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  73. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-container.cjs.entry.js +23 -0
  76. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  77. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  78. package/dist/cjs/bs-divider.cjs.entry.js +29 -0
  79. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  80. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  81. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  82. package/dist/cjs/bs-grid.cjs.entry.js +55 -0
  83. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  84. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  85. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  86. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  87. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  88. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  89. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  90. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  91. package/dist/cjs/bs-navigation-header.cjs.entry.js +1 -1
  92. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  93. package/dist/cjs/bs-popover.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  95. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  96. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  97. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-skeleton.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  102. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  103. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-stack.cjs.entry.js +81 -0
  106. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  110. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  111. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/collection/collection-manifest.json +5 -0
  116. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  117. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  118. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  119. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  120. package/dist/collection/components/bs-app-shell/bs-app-shell.cmp.test.js +71 -0
  121. package/dist/collection/components/bs-app-shell/bs-app-shell.css +58 -0
  122. package/dist/collection/components/bs-app-shell/bs-app-shell.js +79 -0
  123. package/dist/collection/components/bs-app-shell/bs-app-shell.stories.js +34 -0
  124. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  125. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  126. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  127. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  128. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  129. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  130. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  131. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  132. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  133. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  134. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  135. package/dist/collection/components/bs-container/bs-container.cmp.test.js +59 -0
  136. package/dist/collection/components/bs-container/bs-container.css +16 -0
  137. package/dist/collection/components/bs-container/bs-container.js +88 -0
  138. package/dist/collection/components/bs-container/bs-container.stories.js +24 -0
  139. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  140. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  141. package/dist/collection/components/bs-divider/bs-divider.cmp.test.js +47 -0
  142. package/dist/collection/components/bs-divider/bs-divider.css +47 -0
  143. package/dist/collection/components/bs-divider/bs-divider.js +147 -0
  144. package/dist/collection/components/bs-divider/bs-divider.stories.js +32 -0
  145. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  146. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  147. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  148. package/dist/collection/components/bs-grid/bs-grid.cmp.test.js +58 -0
  149. package/dist/collection/components/bs-grid/bs-grid.css +10 -0
  150. package/dist/collection/components/bs-grid/bs-grid.js +208 -0
  151. package/dist/collection/components/bs-grid/bs-grid.stories.js +38 -0
  152. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  153. package/dist/collection/components/bs-input/bs-input.js +2 -2
  154. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  155. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  156. package/dist/collection/components/bs-message/bs-message.js +1 -1
  157. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  158. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  159. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  160. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  161. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  162. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  163. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  164. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  165. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  166. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  167. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  168. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  169. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  170. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  171. package/dist/collection/components/bs-stack/bs-stack.cmp.test.js +113 -0
  172. package/dist/collection/components/bs-stack/bs-stack.css +22 -0
  173. package/dist/collection/components/bs-stack/bs-stack.js +252 -0
  174. package/dist/collection/components/bs-stack/bs-stack.stories.js +36 -0
  175. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  176. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  177. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  178. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  179. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  180. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  181. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  182. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  183. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  184. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  185. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  186. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  187. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  188. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  189. package/dist/components/bs-accordion-group.js +1 -1
  190. package/dist/components/bs-ai-disclaimer.js +1 -1
  191. package/dist/components/bs-ai-greeting.js +1 -1
  192. package/dist/components/bs-ai-thinking.js +1 -1
  193. package/dist/components/bs-app-shell.d.ts +11 -0
  194. package/dist/components/bs-app-shell.js +1 -0
  195. package/dist/components/bs-attachment-list.js +1 -1
  196. package/dist/components/bs-attachment.js +1 -1
  197. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  198. package/dist/components/bs-breadcrumbs.js +1 -1
  199. package/dist/components/bs-button-skeleton.js +1 -1
  200. package/dist/components/bs-carousel.js +1 -1
  201. package/dist/components/bs-chatbot-feedback.js +1 -1
  202. package/dist/components/bs-chatbot-header.js +1 -1
  203. package/dist/components/bs-chatbot-response-action.js +1 -1
  204. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  205. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  206. package/dist/components/bs-checkbox-skeleton.js +1 -1
  207. package/dist/components/bs-citation-preview.js +1 -1
  208. package/dist/components/bs-container.d.ts +11 -0
  209. package/dist/components/bs-container.js +1 -0
  210. package/dist/components/bs-cookie-consent.js +1 -1
  211. package/dist/components/bs-data-table.js +1 -1
  212. package/dist/components/bs-datepicker.js +1 -1
  213. package/dist/components/bs-dialog.js +1 -1
  214. package/dist/components/bs-divider.d.ts +11 -0
  215. package/dist/components/bs-divider.js +1 -0
  216. package/dist/components/bs-error-page.js +1 -1
  217. package/dist/components/bs-file-upload-item.js +1 -1
  218. package/dist/components/bs-file-upload.js +1 -1
  219. package/dist/components/bs-grid.d.ts +11 -0
  220. package/dist/components/bs-grid.js +1 -0
  221. package/dist/components/bs-icon-button.js +1 -1
  222. package/dist/components/bs-icon-tile.js +1 -1
  223. package/dist/components/bs-inline-tab.js +1 -1
  224. package/dist/components/bs-input.js +1 -1
  225. package/dist/components/bs-menu-item.js +1 -1
  226. package/dist/components/bs-menu.js +1 -1
  227. package/dist/components/bs-message-list.js +1 -1
  228. package/dist/components/bs-message.js +1 -1
  229. package/dist/components/bs-navigation-drawer-item.js +1 -1
  230. package/dist/components/bs-navigation-drawer.js +1 -1
  231. package/dist/components/bs-navigation-header.js +1 -1
  232. package/dist/components/bs-onboarding-checklist.js +1 -1
  233. package/dist/components/bs-pagination.js +1 -1
  234. package/dist/components/bs-popover.js +1 -1
  235. package/dist/components/bs-product-tour.js +1 -1
  236. package/dist/components/bs-progress-linear.js +1 -1
  237. package/dist/components/bs-progress.js +1 -1
  238. package/dist/components/bs-qr-code.js +1 -1
  239. package/dist/components/bs-radio.js +1 -1
  240. package/dist/components/bs-session-timeout.js +1 -1
  241. package/dist/components/bs-side-panel.js +1 -1
  242. package/dist/components/bs-skeleton.js +1 -1
  243. package/dist/components/bs-slider.js +1 -1
  244. package/dist/components/bs-snackbar.js +1 -1
  245. package/dist/components/bs-source-link.js +1 -1
  246. package/dist/components/bs-spinner.js +1 -1
  247. package/dist/components/bs-split-pane.js +1 -1
  248. package/dist/components/bs-stack.d.ts +11 -0
  249. package/dist/components/bs-stack.js +1 -0
  250. package/dist/components/bs-stepper-step.js +1 -1
  251. package/dist/components/bs-stepper.js +1 -1
  252. package/dist/components/bs-switch.js +1 -1
  253. package/dist/components/bs-tab.js +1 -1
  254. package/dist/components/bs-tabs.js +1 -1
  255. package/dist/components/bs-timepicker.js +1 -1
  256. package/dist/components/bs-toast.js +1 -1
  257. package/dist/components/bs-tooltip-trigger.js +1 -1
  258. package/dist/components/bs-tooltip.js +1 -1
  259. package/dist/components/bs-whats-new-entry.js +1 -1
  260. package/dist/components/bs-whats-new.js +1 -1
  261. package/dist/components/{p-CrmEXUwm.js → p-B128GX8H.js} +1 -1
  262. package/dist/components/{p-Dm3TqgV_.js → p-B3l4WpgS.js} +1 -1
  263. package/dist/components/{p-Rx4bpeYN.js → p-B80vOwH6.js} +1 -1
  264. package/dist/components/{p-nC2VxRNo.js → p-Bqe4waKJ.js} +1 -1
  265. package/dist/components/{p-BIW9eUic.js → p-BsbtyRJV.js} +1 -1
  266. package/dist/components/{p-BESyTlfT.js → p-BvYkZcOU.js} +1 -1
  267. package/dist/components/{p-CDYw4Eyj.js → p-ByKcHsj0.js} +1 -1
  268. package/dist/components/{p-BJR8KVFc.js → p-ByLUtXxO.js} +1 -1
  269. package/dist/components/p-C7RZ6qZC.js +1 -0
  270. package/dist/components/{p-DpVeeIko.js → p-CK7fiES5.js} +1 -1
  271. package/dist/components/{p-QnTjSed5.js → p-CQjSDdH7.js} +1 -1
  272. package/dist/components/{p-HAmR4gM2.js → p-D0KM1R2i.js} +1 -1
  273. package/dist/components/{p-HzaOqQ0U.js → p-ElcsxZSh.js} +1 -1
  274. package/dist/components/{p-DAwSBMeM.js → p-GTDI4Ibw.js} +1 -1
  275. package/dist/components/{p-zscW5LNR.js → p-Mf1jorXP.js} +1 -1
  276. package/dist/components/{p-CiSEDtbE.js → p-kDJsWjTN.js} +1 -1
  277. package/dist/esm/brandsync-wc.js +1 -1
  278. package/dist/esm/bs-accordion-group.entry.js +1 -1
  279. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  280. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  281. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  282. package/dist/esm/bs-app-shell.entry.js +17 -0
  283. package/dist/esm/bs-attachment-list.entry.js +1 -1
  284. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  285. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  286. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  287. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  288. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  289. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  290. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  291. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  292. package/dist/esm/bs-citation-preview.entry.js +1 -1
  293. package/dist/esm/bs-container.entry.js +21 -0
  294. package/dist/esm/bs-data-table.entry.js +2 -2
  295. package/dist/esm/bs-datepicker.entry.js +1 -1
  296. package/dist/esm/bs-divider.entry.js +27 -0
  297. package/dist/esm/bs-error-page.entry.js +1 -1
  298. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  299. package/dist/esm/bs-file-upload.entry.js +1 -1
  300. package/dist/esm/bs-grid.entry.js +53 -0
  301. package/dist/esm/bs-icon-button.entry.js +1 -1
  302. package/dist/esm/bs-icon-tile.entry.js +2 -2
  303. package/dist/esm/bs-inline-tab.entry.js +1 -1
  304. package/dist/esm/bs-input_3.entry.js +4 -4
  305. package/dist/esm/bs-message-list.entry.js +1 -1
  306. package/dist/esm/bs-message.entry.js +1 -1
  307. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  308. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  309. package/dist/esm/bs-navigation-header.entry.js +1 -1
  310. package/dist/esm/bs-pagination.entry.js +1 -1
  311. package/dist/esm/bs-popover.entry.js +1 -1
  312. package/dist/esm/bs-progress-linear.entry.js +2 -2
  313. package/dist/esm/bs-progress.entry.js +2 -2
  314. package/dist/esm/bs-qr-code.entry.js +1 -1
  315. package/dist/esm/bs-radio.entry.js +1 -1
  316. package/dist/esm/bs-session-timeout.entry.js +1 -1
  317. package/dist/esm/bs-skeleton.entry.js +1 -1
  318. package/dist/esm/bs-slider.entry.js +1 -1
  319. package/dist/esm/bs-snackbar.entry.js +1 -1
  320. package/dist/esm/bs-source-link.entry.js +2 -2
  321. package/dist/esm/bs-spinner.entry.js +1 -1
  322. package/dist/esm/bs-split-pane.entry.js +1 -1
  323. package/dist/esm/bs-stack.entry.js +79 -0
  324. package/dist/esm/bs-stepper-step.entry.js +1 -1
  325. package/dist/esm/bs-stepper.entry.js +1 -1
  326. package/dist/esm/bs-switch.entry.js +1 -1
  327. package/dist/esm/bs-tab_3.entry.js +3 -3
  328. package/dist/esm/bs-timepicker.entry.js +2 -2
  329. package/dist/esm/bs-toast.entry.js +1 -1
  330. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  331. package/dist/esm/bs-tooltip.entry.js +1 -1
  332. package/dist/esm/loader.js +1 -1
  333. package/dist/types/components/bs-app-shell/bs-app-shell.cmp.test.d.ts +1 -0
  334. package/dist/types/components/bs-app-shell/bs-app-shell.d.ts +40 -0
  335. package/dist/types/components/bs-app-shell/bs-app-shell.stories.d.ts +11 -0
  336. package/dist/types/components/bs-container/bs-container.cmp.test.d.ts +1 -0
  337. package/dist/types/components/bs-container/bs-container.d.ts +22 -0
  338. package/dist/types/components/bs-container/bs-container.stories.d.ts +15 -0
  339. package/dist/types/components/bs-divider/bs-divider.cmp.test.d.ts +1 -0
  340. package/dist/types/components/bs-divider/bs-divider.d.ts +29 -0
  341. package/dist/types/components/bs-divider/bs-divider.stories.d.ts +16 -0
  342. package/dist/types/components/bs-grid/bs-grid.cmp.test.d.ts +1 -0
  343. package/dist/types/components/bs-grid/bs-grid.d.ts +43 -0
  344. package/dist/types/components/bs-grid/bs-grid.stories.d.ts +18 -0
  345. package/dist/types/components/bs-stack/bs-stack.cmp.test.d.ts +1 -0
  346. package/dist/types/components/bs-stack/bs-stack.d.ts +46 -0
  347. package/dist/types/components/bs-stack/bs-stack.stories.d.ts +18 -0
  348. package/dist/types/components.d.ts +582 -0
  349. package/package.json +1 -1
  350. package/reference.d.ts +15 -0
  351. package/reference.json +178 -0
  352. package/dist/brandsync-wc/p-0e738622.entry.js +0 -1
@@ -23,13 +23,16 @@ import { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-c
23
23
  import { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
24
24
  import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
25
25
  import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
26
+ import { BsContainerSize } from "./components/bs-container/bs-container";
26
27
  import { BsCookieCategory, BsCookieChoices, BsCookieConsentType } from "./components/bs-cookie-consent/bs-cookie-consent";
27
28
  import { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
28
29
  import { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
29
30
  import { BsDialogSize } from "./components/bs-dialog/bs-dialog";
31
+ import { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
30
32
  import { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
31
33
  import { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
32
34
  import { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
35
+ import { BsGridAlign } from "./components/bs-grid/bs-grid";
33
36
  import { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
34
37
  import { BsIconTileIntent, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
35
38
  import { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
@@ -48,6 +51,7 @@ import { BsSliderType } from "./components/bs-slider/bs-slider";
48
51
  import { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
49
52
  import { BsSpinnerSize } from "./components/bs-spinner/bs-spinner";
50
53
  import { BsSplitPaneOrientation } from "./components/bs-split-pane/bs-split-pane";
54
+ import { BsStackAlign, BsStackDirection, BsStackJustify } from "./components/bs-stack/bs-stack";
51
55
  import { BsStepperDirection } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
52
56
  import { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
53
57
  import { BsSwitchSize } from "./components/bs-switch/bs-switch";
@@ -77,13 +81,16 @@ export { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-c
77
81
  export { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
78
82
  export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
79
83
  export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
84
+ export { BsContainerSize } from "./components/bs-container/bs-container";
80
85
  export { BsCookieCategory, BsCookieChoices, BsCookieConsentType } from "./components/bs-cookie-consent/bs-cookie-consent";
81
86
  export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
82
87
  export { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
83
88
  export { BsDialogSize } from "./components/bs-dialog/bs-dialog";
89
+ export { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
84
90
  export { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
85
91
  export { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
86
92
  export { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
93
+ export { BsGridAlign } from "./components/bs-grid/bs-grid";
87
94
  export { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
88
95
  export { BsIconTileIntent, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
89
96
  export { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
@@ -102,6 +109,7 @@ export { BsSliderType } from "./components/bs-slider/bs-slider";
102
109
  export { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
103
110
  export { BsSpinnerSize } from "./components/bs-spinner/bs-spinner";
104
111
  export { BsSplitPaneOrientation } from "./components/bs-split-pane/bs-split-pane";
112
+ export { BsStackAlign, BsStackDirection, BsStackJustify } from "./components/bs-stack/bs-stack";
105
113
  export { BsStepperDirection } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
106
114
  export { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
107
115
  export { BsSwitchSize } from "./components/bs-switch/bs-switch";
@@ -253,6 +261,34 @@ export namespace Components {
253
261
  */
254
262
  "label": string;
255
263
  }
264
+ /**
265
+ * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
266
+ * with CSS grid. The main column scrolls independently of the header and the side columns.
267
+ * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
268
+ * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
269
+ * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
270
+ * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
271
+ * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
272
+ * auto track follows the drawer's width on its own.
273
+ * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
274
+ * `banner` and `navigation` roles.
275
+ * ## When to use
276
+ * - The outer frame of an application page with a header and side navigation.
277
+ * ## When not to use
278
+ * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
279
+ * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
280
+ * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
281
+ * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
282
+ * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
283
+ * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
284
+ */
285
+ interface BsAppShell {
286
+ /**
287
+ * When true the host is `height: 100%`; when false it is content-sized with `min-height: 100vh`.
288
+ * @default true
289
+ */
290
+ "fullHeight": boolean;
291
+ }
256
292
  /**
257
293
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
258
294
  * with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
@@ -1484,6 +1520,28 @@ export namespace Components {
1484
1520
  */
1485
1521
  "type": BsComposerStatusBannerType;
1486
1522
  }
1523
+ /**
1524
+ * A centred wrapper that limits content width to a breakpoint and adds horizontal padding.
1525
+ * ## When to use
1526
+ * - Constraining page or section content to a readable, consistent maximum width.
1527
+ * ## When not to use
1528
+ * - Arranging children relative to each other (use `bs-stack`).
1529
+ * - Full-bleed regions such as hero backgrounds (use `size="fluid"` or no container).
1530
+ * @prop --bs-container-max-width - Maximum width. Aliased to the `--bs-breakpoint-*` token for `size`; `none` for `fluid`.
1531
+ * @prop --bs-container-padding - Horizontal padding. Aliased to the `padding` spacing token (default `--bs-spacing-300`).
1532
+ */
1533
+ interface BsContainer {
1534
+ /**
1535
+ * Spacing token name for horizontal padding (e.g. `300` => `--bs-spacing-300`). Invalid values fall back to `300`.
1536
+ * @default '300'
1537
+ */
1538
+ "padding": string;
1539
+ /**
1540
+ * Maximum width, taken from the breakpoint tokens. `fluid` removes the limit.
1541
+ * @default 'xl'
1542
+ */
1543
+ "size": BsContainerSize;
1544
+ }
1487
1545
  /**
1488
1546
  * A cookie consent prompt in four forms, matching the Figma "Cookie consent" component:
1489
1547
  * - `banner` -- a wide bar: icon, heading, text, policy link, and Customise / Reject optional / Accept
@@ -1759,6 +1817,39 @@ export namespace Components {
1759
1817
  */
1760
1818
  "size": BsDialogSize;
1761
1819
  }
1820
+ /**
1821
+ * A thin line that separates content, horizontally or vertically.
1822
+ * ## When to use
1823
+ * - Separating groups of related content in a list, menu, toolbar or card.
1824
+ * ## When not to use
1825
+ * - Adding vertical space between blocks (use `bs-stack` gap or spacing tokens).
1826
+ * - Drawing a border around a surface (use `bs-card`).
1827
+ * @prop --bs-divider-thickness - Line thickness. Defaults to `1px`.
1828
+ * @prop --bs-divider-color - Line colour. Aliased to `--bs-border-neutral-container` (`default`) or `--bs-neutral-100` (`subtle`).
1829
+ * @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
1830
+ */
1831
+ interface BsDivider {
1832
+ /**
1833
+ * Purely visual: hides the divider from assistive technology instead of exposing a separator.
1834
+ * @default false
1835
+ */
1836
+ "decorative": boolean;
1837
+ /**
1838
+ * Indents the line from its start edge, or from both edges.
1839
+ * @default 'none'
1840
+ */
1841
+ "inset": BsDividerInset;
1842
+ /**
1843
+ * Direction of the line. A vertical divider stretches to the height of its container.
1844
+ * @default 'horizontal'
1845
+ */
1846
+ "orientation": BsDividerOrientation;
1847
+ /**
1848
+ * Visual weight of the line.
1849
+ * @default 'default'
1850
+ */
1851
+ "variant": BsDividerVariant;
1852
+ }
1762
1853
  /**
1763
1854
  * A full-block page for when the user can't get to what they asked for: page not found (404), a server
1764
1855
  * error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
@@ -1914,6 +2005,53 @@ export namespace Components {
1914
2005
  */
1915
2006
  "thumbnailSrc"?: string;
1916
2007
  }
2008
+ /**
2009
+ * A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
2010
+ * `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
2011
+ * `grid-template-columns` value (`"200px 1fr"`). `minColumnWidth` is the responsive mechanism: it
2012
+ * switches to `repeat(auto-fit, minmax(min(100%, X), 1fr))`, so the column count adapts to the
2013
+ * container width and `columns` is ignored. There are deliberately no per-breakpoint props in v1.
2014
+ * `gap`, `rowGap` and `columnGap` take spacing token names (`"200"` maps to `var(--bs-spacing-200)`);
2015
+ * unknown names fall back to `100`.
2016
+ * ## When to use
2017
+ * - Card grids, form field grids and dashboards where items share equal column tracks.
2018
+ * - Responsive galleries via `minColumnWidth`.
2019
+ * ## When not to use
2020
+ * - A single row or column of items with no wrapping (plain flex).
2021
+ * - Resizable multi-pane layouts (use `bs-split-pane`) or the page frame (use `bs-app-shell`).
2022
+ * @prop --bs-grid-gap - Gap on both axes. Overrides the `gap` prop's token (default `--bs-spacing-100`).
2023
+ * @prop --bs-grid-row-gap - Row gap. Overrides `--bs-grid-gap` and the `rowGap` prop's token.
2024
+ * @prop --bs-grid-column-gap - Column gap. Overrides `--bs-grid-gap` and the `columnGap` prop's token.
2025
+ */
2026
+ interface BsGrid {
2027
+ /**
2028
+ * Block-axis alignment of items within their cell.
2029
+ * @default 'stretch'
2030
+ */
2031
+ "align": BsGridAlign;
2032
+ /**
2033
+ * Spacing token name for the column gap; overrides `gap` for columns.
2034
+ */
2035
+ "columnGap"?: string;
2036
+ /**
2037
+ * A number of equal columns (`"3"`), or a raw `grid-template-columns` value. Ignored when `minColumnWidth` is set.
2038
+ * @default '1'
2039
+ */
2040
+ "columns": string;
2041
+ /**
2042
+ * Spacing token name for the gap on both axes, e.g. `"200"` for `--bs-spacing-200`.
2043
+ * @default '100'
2044
+ */
2045
+ "gap": string;
2046
+ /**
2047
+ * CSS length (e.g. `240px`). Switches to auto-fit columns at least this wide and overrides `columns`.
2048
+ */
2049
+ "minColumnWidth"?: string;
2050
+ /**
2051
+ * Spacing token name for the row gap; overrides `gap` for rows.
2052
+ */
2053
+ "rowGap"?: string;
2054
+ }
1917
2055
  /**
1918
2056
  * A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
1919
2057
  * 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
@@ -3526,6 +3664,52 @@ export namespace Components {
3526
3664
  */
3527
3665
  "toggleCollapsed": () => Promise<void>;
3528
3666
  }
3667
+ /**
3668
+ * A flex layout that arranges its children in a row or column with a token-based gap, optionally
3669
+ * drawing a divider between children.
3670
+ * Built from: `bs-divider` (when `divider` is set).
3671
+ * With `divider`, each child is given a generated `slot="bs-stack-item-N"` attribute (plus a
3672
+ * `data-bs-stack-item` marker) so a divider can be rendered between the named slots. Light-DOM
3673
+ * nodes are never moved; the attributes are removed again when `divider` is turned off.
3674
+ * ## When to use
3675
+ * - Spacing and aligning a short run of siblings (form fields, button rows, card content).
3676
+ * ## When not to use
3677
+ * - Two-dimensional grids (use CSS grid).
3678
+ * - Resizable panes (use `bs-split-pane`).
3679
+ * @prop --bs-stack-gap - Space between items. Defaults from the `gap` prop (`--bs-spacing-<gap>`); may be overridden directly.
3680
+ */
3681
+ interface BsStack {
3682
+ /**
3683
+ * Cross-axis alignment.
3684
+ * @default 'stretch'
3685
+ */
3686
+ "align": BsStackAlign;
3687
+ /**
3688
+ * Main axis: `vertical` stacks children in a column, `horizontal` in a row.
3689
+ * @default 'vertical'
3690
+ */
3691
+ "direction": BsStackDirection;
3692
+ /**
3693
+ * Renders a decorative `bs-divider` between each child.
3694
+ * @default false
3695
+ */
3696
+ "divider": boolean;
3697
+ /**
3698
+ * Spacing token name (e.g. `200` => `--bs-spacing-200`). Invalid values fall back to `100`.
3699
+ * @default '100'
3700
+ */
3701
+ "gap": string;
3702
+ /**
3703
+ * Main-axis distribution.
3704
+ * @default 'start'
3705
+ */
3706
+ "justify": BsStackJustify;
3707
+ /**
3708
+ * Lets items wrap onto further lines.
3709
+ * @default false
3710
+ */
3711
+ "wrap": boolean;
3712
+ }
3529
3713
  /**
3530
3714
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
3531
3715
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -4417,6 +4601,33 @@ declare global {
4417
4601
  prototype: HTMLBsAiThinkingElement;
4418
4602
  new (): HTMLBsAiThinkingElement;
4419
4603
  };
4604
+ /**
4605
+ * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
4606
+ * with CSS grid. The main column scrolls independently of the header and the side columns.
4607
+ * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
4608
+ * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
4609
+ * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
4610
+ * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
4611
+ * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
4612
+ * auto track follows the drawer's width on its own.
4613
+ * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
4614
+ * `banner` and `navigation` roles.
4615
+ * ## When to use
4616
+ * - The outer frame of an application page with a header and side navigation.
4617
+ * ## When not to use
4618
+ * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
4619
+ * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
4620
+ * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
4621
+ * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
4622
+ * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
4623
+ * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
4624
+ */
4625
+ interface HTMLBsAppShellElement extends Components.BsAppShell, HTMLStencilElement {
4626
+ }
4627
+ var HTMLBsAppShellElement: {
4628
+ prototype: HTMLBsAppShellElement;
4629
+ new (): HTMLBsAppShellElement;
4630
+ };
4420
4631
  interface HTMLBsAttachmentElementEventMap {
4421
4632
  "bsRemove": void;
4422
4633
  }
@@ -5277,6 +5488,22 @@ declare global {
5277
5488
  prototype: HTMLBsComposerStatusBannerElement;
5278
5489
  new (): HTMLBsComposerStatusBannerElement;
5279
5490
  };
5491
+ /**
5492
+ * A centred wrapper that limits content width to a breakpoint and adds horizontal padding.
5493
+ * ## When to use
5494
+ * - Constraining page or section content to a readable, consistent maximum width.
5495
+ * ## When not to use
5496
+ * - Arranging children relative to each other (use `bs-stack`).
5497
+ * - Full-bleed regions such as hero backgrounds (use `size="fluid"` or no container).
5498
+ * @prop --bs-container-max-width - Maximum width. Aliased to the `--bs-breakpoint-*` token for `size`; `none` for `fluid`.
5499
+ * @prop --bs-container-padding - Horizontal padding. Aliased to the `padding` spacing token (default `--bs-spacing-300`).
5500
+ */
5501
+ interface HTMLBsContainerElement extends Components.BsContainer, HTMLStencilElement {
5502
+ }
5503
+ var HTMLBsContainerElement: {
5504
+ prototype: HTMLBsContainerElement;
5505
+ new (): HTMLBsContainerElement;
5506
+ };
5280
5507
  interface HTMLBsCookieConsentElementEventMap {
5281
5508
  "bsAccept": { choices: BsCookieChoices };
5282
5509
  "bsReject": { choices: BsCookieChoices };
@@ -5423,6 +5650,23 @@ declare global {
5423
5650
  prototype: HTMLBsDialogElement;
5424
5651
  new (): HTMLBsDialogElement;
5425
5652
  };
5653
+ /**
5654
+ * A thin line that separates content, horizontally or vertically.
5655
+ * ## When to use
5656
+ * - Separating groups of related content in a list, menu, toolbar or card.
5657
+ * ## When not to use
5658
+ * - Adding vertical space between blocks (use `bs-stack` gap or spacing tokens).
5659
+ * - Drawing a border around a surface (use `bs-card`).
5660
+ * @prop --bs-divider-thickness - Line thickness. Defaults to `1px`.
5661
+ * @prop --bs-divider-color - Line colour. Aliased to `--bs-border-neutral-container` (`default`) or `--bs-neutral-100` (`subtle`).
5662
+ * @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
5663
+ */
5664
+ interface HTMLBsDividerElement extends Components.BsDivider, HTMLStencilElement {
5665
+ }
5666
+ var HTMLBsDividerElement: {
5667
+ prototype: HTMLBsDividerElement;
5668
+ new (): HTMLBsDividerElement;
5669
+ };
5426
5670
  interface HTMLBsErrorPageElementEventMap {
5427
5671
  "bsPrimary": void;
5428
5672
  "bsSecondary": void;
@@ -5513,6 +5757,30 @@ declare global {
5513
5757
  prototype: HTMLBsFileUploadItemElement;
5514
5758
  new (): HTMLBsFileUploadItemElement;
5515
5759
  };
5760
+ /**
5761
+ * A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
5762
+ * `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
5763
+ * `grid-template-columns` value (`"200px 1fr"`). `minColumnWidth` is the responsive mechanism: it
5764
+ * switches to `repeat(auto-fit, minmax(min(100%, X), 1fr))`, so the column count adapts to the
5765
+ * container width and `columns` is ignored. There are deliberately no per-breakpoint props in v1.
5766
+ * `gap`, `rowGap` and `columnGap` take spacing token names (`"200"` maps to `var(--bs-spacing-200)`);
5767
+ * unknown names fall back to `100`.
5768
+ * ## When to use
5769
+ * - Card grids, form field grids and dashboards where items share equal column tracks.
5770
+ * - Responsive galleries via `minColumnWidth`.
5771
+ * ## When not to use
5772
+ * - A single row or column of items with no wrapping (plain flex).
5773
+ * - Resizable multi-pane layouts (use `bs-split-pane`) or the page frame (use `bs-app-shell`).
5774
+ * @prop --bs-grid-gap - Gap on both axes. Overrides the `gap` prop's token (default `--bs-spacing-100`).
5775
+ * @prop --bs-grid-row-gap - Row gap. Overrides `--bs-grid-gap` and the `rowGap` prop's token.
5776
+ * @prop --bs-grid-column-gap - Column gap. Overrides `--bs-grid-gap` and the `columnGap` prop's token.
5777
+ */
5778
+ interface HTMLBsGridElement extends Components.BsGrid, HTMLStencilElement {
5779
+ }
5780
+ var HTMLBsGridElement: {
5781
+ prototype: HTMLBsGridElement;
5782
+ new (): HTMLBsGridElement;
5783
+ };
5516
5784
  /**
5517
5785
  * A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
5518
5786
  * 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
@@ -6459,6 +6727,26 @@ declare global {
6459
6727
  prototype: HTMLBsSplitPaneElement;
6460
6728
  new (): HTMLBsSplitPaneElement;
6461
6729
  };
6730
+ /**
6731
+ * A flex layout that arranges its children in a row or column with a token-based gap, optionally
6732
+ * drawing a divider between children.
6733
+ * Built from: `bs-divider` (when `divider` is set).
6734
+ * With `divider`, each child is given a generated `slot="bs-stack-item-N"` attribute (plus a
6735
+ * `data-bs-stack-item` marker) so a divider can be rendered between the named slots. Light-DOM
6736
+ * nodes are never moved; the attributes are removed again when `divider` is turned off.
6737
+ * ## When to use
6738
+ * - Spacing and aligning a short run of siblings (form fields, button rows, card content).
6739
+ * ## When not to use
6740
+ * - Two-dimensional grids (use CSS grid).
6741
+ * - Resizable panes (use `bs-split-pane`).
6742
+ * @prop --bs-stack-gap - Space between items. Defaults from the `gap` prop (`--bs-spacing-<gap>`); may be overridden directly.
6743
+ */
6744
+ interface HTMLBsStackElement extends Components.BsStack, HTMLStencilElement {
6745
+ }
6746
+ var HTMLBsStackElement: {
6747
+ prototype: HTMLBsStackElement;
6748
+ new (): HTMLBsStackElement;
6749
+ };
6462
6750
  /**
6463
6751
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
6464
6752
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -6792,6 +7080,7 @@ declare global {
6792
7080
  "bs-ai-disclaimer": HTMLBsAiDisclaimerElement;
6793
7081
  "bs-ai-greeting": HTMLBsAiGreetingElement;
6794
7082
  "bs-ai-thinking": HTMLBsAiThinkingElement;
7083
+ "bs-app-shell": HTMLBsAppShellElement;
6795
7084
  "bs-attachment": HTMLBsAttachmentElement;
6796
7085
  "bs-attachment-list": HTMLBsAttachmentListElement;
6797
7086
  "bs-avatar": HTMLBsAvatarElement;
@@ -6816,13 +7105,16 @@ declare global {
6816
7105
  "bs-citation-preview": HTMLBsCitationPreviewElement;
6817
7106
  "bs-composer": HTMLBsComposerElement;
6818
7107
  "bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
7108
+ "bs-container": HTMLBsContainerElement;
6819
7109
  "bs-cookie-consent": HTMLBsCookieConsentElement;
6820
7110
  "bs-data-table": HTMLBsDataTableElement;
6821
7111
  "bs-datepicker": HTMLBsDatepickerElement;
6822
7112
  "bs-dialog": HTMLBsDialogElement;
7113
+ "bs-divider": HTMLBsDividerElement;
6823
7114
  "bs-error-page": HTMLBsErrorPageElement;
6824
7115
  "bs-file-upload": HTMLBsFileUploadElement;
6825
7116
  "bs-file-upload-item": HTMLBsFileUploadItemElement;
7117
+ "bs-grid": HTMLBsGridElement;
6826
7118
  "bs-icon-button": HTMLBsIconButtonElement;
6827
7119
  "bs-icon-tile": HTMLBsIconTileElement;
6828
7120
  "bs-inline-tab": HTMLBsInlineTabElement;
@@ -6851,6 +7143,7 @@ declare global {
6851
7143
  "bs-source-link": HTMLBsSourceLinkElement;
6852
7144
  "bs-spinner": HTMLBsSpinnerElement;
6853
7145
  "bs-split-pane": HTMLBsSplitPaneElement;
7146
+ "bs-stack": HTMLBsStackElement;
6854
7147
  "bs-stepper": HTMLBsStepperElement;
6855
7148
  "bs-stepper-step": HTMLBsStepperStepElement;
6856
7149
  "bs-switch": HTMLBsSwitchElement;
@@ -7008,6 +7301,34 @@ declare namespace LocalJSX {
7008
7301
  */
7009
7302
  "label"?: string;
7010
7303
  }
7304
+ /**
7305
+ * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
7306
+ * with CSS grid. The main column scrolls independently of the header and the side columns.
7307
+ * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
7308
+ * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
7309
+ * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
7310
+ * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
7311
+ * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
7312
+ * auto track follows the drawer's width on its own.
7313
+ * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
7314
+ * `banner` and `navigation` roles.
7315
+ * ## When to use
7316
+ * - The outer frame of an application page with a header and side navigation.
7317
+ * ## When not to use
7318
+ * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
7319
+ * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
7320
+ * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
7321
+ * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
7322
+ * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
7323
+ * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
7324
+ */
7325
+ interface BsAppShell {
7326
+ /**
7327
+ * When true the host is `height: 100%`; when false it is content-sized with `min-height: 100vh`.
7328
+ * @default true
7329
+ */
7330
+ "fullHeight"?: boolean;
7331
+ }
7011
7332
  /**
7012
7333
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
7013
7334
  * with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
@@ -8391,6 +8712,28 @@ declare namespace LocalJSX {
8391
8712
  */
8392
8713
  "type"?: BsComposerStatusBannerType;
8393
8714
  }
8715
+ /**
8716
+ * A centred wrapper that limits content width to a breakpoint and adds horizontal padding.
8717
+ * ## When to use
8718
+ * - Constraining page or section content to a readable, consistent maximum width.
8719
+ * ## When not to use
8720
+ * - Arranging children relative to each other (use `bs-stack`).
8721
+ * - Full-bleed regions such as hero backgrounds (use `size="fluid"` or no container).
8722
+ * @prop --bs-container-max-width - Maximum width. Aliased to the `--bs-breakpoint-*` token for `size`; `none` for `fluid`.
8723
+ * @prop --bs-container-padding - Horizontal padding. Aliased to the `padding` spacing token (default `--bs-spacing-300`).
8724
+ */
8725
+ interface BsContainer {
8726
+ /**
8727
+ * Spacing token name for horizontal padding (e.g. `300` => `--bs-spacing-300`). Invalid values fall back to `300`.
8728
+ * @default '300'
8729
+ */
8730
+ "padding"?: string;
8731
+ /**
8732
+ * Maximum width, taken from the breakpoint tokens. `fluid` removes the limit.
8733
+ * @default 'xl'
8734
+ */
8735
+ "size"?: BsContainerSize;
8736
+ }
8394
8737
  /**
8395
8738
  * A cookie consent prompt in four forms, matching the Figma "Cookie consent" component:
8396
8739
  * - `banner` -- a wide bar: icon, heading, text, policy link, and Customise / Reject optional / Accept
@@ -8705,6 +9048,39 @@ declare namespace LocalJSX {
8705
9048
  */
8706
9049
  "size"?: BsDialogSize;
8707
9050
  }
9051
+ /**
9052
+ * A thin line that separates content, horizontally or vertically.
9053
+ * ## When to use
9054
+ * - Separating groups of related content in a list, menu, toolbar or card.
9055
+ * ## When not to use
9056
+ * - Adding vertical space between blocks (use `bs-stack` gap or spacing tokens).
9057
+ * - Drawing a border around a surface (use `bs-card`).
9058
+ * @prop --bs-divider-thickness - Line thickness. Defaults to `1px`.
9059
+ * @prop --bs-divider-color - Line colour. Aliased to `--bs-border-neutral-container` (`default`) or `--bs-neutral-100` (`subtle`).
9060
+ * @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
9061
+ */
9062
+ interface BsDivider {
9063
+ /**
9064
+ * Purely visual: hides the divider from assistive technology instead of exposing a separator.
9065
+ * @default false
9066
+ */
9067
+ "decorative"?: boolean;
9068
+ /**
9069
+ * Indents the line from its start edge, or from both edges.
9070
+ * @default 'none'
9071
+ */
9072
+ "inset"?: BsDividerInset;
9073
+ /**
9074
+ * Direction of the line. A vertical divider stretches to the height of its container.
9075
+ * @default 'horizontal'
9076
+ */
9077
+ "orientation"?: BsDividerOrientation;
9078
+ /**
9079
+ * Visual weight of the line.
9080
+ * @default 'default'
9081
+ */
9082
+ "variant"?: BsDividerVariant;
9083
+ }
8708
9084
  /**
8709
9085
  * A full-block page for when the user can't get to what they asked for: page not found (404), a server
8710
9086
  * error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
@@ -8884,6 +9260,53 @@ declare namespace LocalJSX {
8884
9260
  */
8885
9261
  "thumbnailSrc"?: string;
8886
9262
  }
9263
+ /**
9264
+ * A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
9265
+ * `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
9266
+ * `grid-template-columns` value (`"200px 1fr"`). `minColumnWidth` is the responsive mechanism: it
9267
+ * switches to `repeat(auto-fit, minmax(min(100%, X), 1fr))`, so the column count adapts to the
9268
+ * container width and `columns` is ignored. There are deliberately no per-breakpoint props in v1.
9269
+ * `gap`, `rowGap` and `columnGap` take spacing token names (`"200"` maps to `var(--bs-spacing-200)`);
9270
+ * unknown names fall back to `100`.
9271
+ * ## When to use
9272
+ * - Card grids, form field grids and dashboards where items share equal column tracks.
9273
+ * - Responsive galleries via `minColumnWidth`.
9274
+ * ## When not to use
9275
+ * - A single row or column of items with no wrapping (plain flex).
9276
+ * - Resizable multi-pane layouts (use `bs-split-pane`) or the page frame (use `bs-app-shell`).
9277
+ * @prop --bs-grid-gap - Gap on both axes. Overrides the `gap` prop's token (default `--bs-spacing-100`).
9278
+ * @prop --bs-grid-row-gap - Row gap. Overrides `--bs-grid-gap` and the `rowGap` prop's token.
9279
+ * @prop --bs-grid-column-gap - Column gap. Overrides `--bs-grid-gap` and the `columnGap` prop's token.
9280
+ */
9281
+ interface BsGrid {
9282
+ /**
9283
+ * Block-axis alignment of items within their cell.
9284
+ * @default 'stretch'
9285
+ */
9286
+ "align"?: BsGridAlign;
9287
+ /**
9288
+ * Spacing token name for the column gap; overrides `gap` for columns.
9289
+ */
9290
+ "columnGap"?: string;
9291
+ /**
9292
+ * A number of equal columns (`"3"`), or a raw `grid-template-columns` value. Ignored when `minColumnWidth` is set.
9293
+ * @default '1'
9294
+ */
9295
+ "columns"?: string;
9296
+ /**
9297
+ * Spacing token name for the gap on both axes, e.g. `"200"` for `--bs-spacing-200`.
9298
+ * @default '100'
9299
+ */
9300
+ "gap"?: string;
9301
+ /**
9302
+ * CSS length (e.g. `240px`). Switches to auto-fit columns at least this wide and overrides `columns`.
9303
+ */
9304
+ "minColumnWidth"?: string;
9305
+ /**
9306
+ * Spacing token name for the row gap; overrides `gap` for rows.
9307
+ */
9308
+ "rowGap"?: string;
9309
+ }
8887
9310
  /**
8888
9311
  * A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
8889
9312
  * 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
@@ -10682,6 +11105,52 @@ declare namespace LocalJSX {
10682
11105
  */
10683
11106
  "step"?: number;
10684
11107
  }
11108
+ /**
11109
+ * A flex layout that arranges its children in a row or column with a token-based gap, optionally
11110
+ * drawing a divider between children.
11111
+ * Built from: `bs-divider` (when `divider` is set).
11112
+ * With `divider`, each child is given a generated `slot="bs-stack-item-N"` attribute (plus a
11113
+ * `data-bs-stack-item` marker) so a divider can be rendered between the named slots. Light-DOM
11114
+ * nodes are never moved; the attributes are removed again when `divider` is turned off.
11115
+ * ## When to use
11116
+ * - Spacing and aligning a short run of siblings (form fields, button rows, card content).
11117
+ * ## When not to use
11118
+ * - Two-dimensional grids (use CSS grid).
11119
+ * - Resizable panes (use `bs-split-pane`).
11120
+ * @prop --bs-stack-gap - Space between items. Defaults from the `gap` prop (`--bs-spacing-<gap>`); may be overridden directly.
11121
+ */
11122
+ interface BsStack {
11123
+ /**
11124
+ * Cross-axis alignment.
11125
+ * @default 'stretch'
11126
+ */
11127
+ "align"?: BsStackAlign;
11128
+ /**
11129
+ * Main axis: `vertical` stacks children in a column, `horizontal` in a row.
11130
+ * @default 'vertical'
11131
+ */
11132
+ "direction"?: BsStackDirection;
11133
+ /**
11134
+ * Renders a decorative `bs-divider` between each child.
11135
+ * @default false
11136
+ */
11137
+ "divider"?: boolean;
11138
+ /**
11139
+ * Spacing token name (e.g. `200` => `--bs-spacing-200`). Invalid values fall back to `100`.
11140
+ * @default '100'
11141
+ */
11142
+ "gap"?: string;
11143
+ /**
11144
+ * Main-axis distribution.
11145
+ * @default 'start'
11146
+ */
11147
+ "justify"?: BsStackJustify;
11148
+ /**
11149
+ * Lets items wrap onto further lines.
11150
+ * @default false
11151
+ */
11152
+ "wrap"?: boolean;
11153
+ }
10685
11154
  /**
10686
11155
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
10687
11156
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -11339,6 +11808,9 @@ declare namespace LocalJSX {
11339
11808
  interface BsAiThinkingAttributes {
11340
11809
  "label": string;
11341
11810
  }
11811
+ interface BsAppShellAttributes {
11812
+ "fullHeight": boolean;
11813
+ }
11342
11814
  interface BsAttachmentAttributes {
11343
11815
  "uploadingLabel": string;
11344
11816
  "removeLabel": string;
@@ -11520,6 +11992,10 @@ declare namespace LocalJSX {
11520
11992
  "closeLabel": string;
11521
11993
  "allowClose": boolean;
11522
11994
  }
11995
+ interface BsContainerAttributes {
11996
+ "size": BsContainerSize;
11997
+ "padding": string;
11998
+ }
11523
11999
  interface BsCookieConsentAttributes {
11524
12000
  "type": BsCookieConsentType;
11525
12001
  "heading": string;
@@ -11566,6 +12042,12 @@ declare namespace LocalJSX {
11566
12042
  "size": BsDialogSize;
11567
12043
  "centered": boolean;
11568
12044
  }
12045
+ interface BsDividerAttributes {
12046
+ "orientation": BsDividerOrientation;
12047
+ "variant": BsDividerVariant;
12048
+ "inset": BsDividerInset;
12049
+ "decorative": boolean;
12050
+ }
11569
12051
  interface BsErrorPageAttributes {
11570
12052
  "type": BsErrorPageType;
11571
12053
  "code": string;
@@ -11597,6 +12079,14 @@ declare namespace LocalJSX {
11597
12079
  "cancelLabel": string;
11598
12080
  "removeLabel": string;
11599
12081
  }
12082
+ interface BsGridAttributes {
12083
+ "columns": string;
12084
+ "gap": string;
12085
+ "rowGap": string;
12086
+ "columnGap": string;
12087
+ "minColumnWidth": string;
12088
+ "align": BsGridAlign;
12089
+ }
11600
12090
  interface BsIconButtonAttributes {
11601
12091
  "variant": BsIconButtonVariant;
11602
12092
  "size": BsIconButtonSize;
@@ -11865,6 +12355,14 @@ declare namespace LocalJSX {
11865
12355
  "dividerLabel": string;
11866
12356
  "step": number;
11867
12357
  }
12358
+ interface BsStackAttributes {
12359
+ "direction": BsStackDirection;
12360
+ "gap": string;
12361
+ "align": BsStackAlign;
12362
+ "justify": BsStackJustify;
12363
+ "wrap": boolean;
12364
+ "divider": boolean;
12365
+ }
11868
12366
  interface BsStepperAttributes {
11869
12367
  "currentStep": number;
11870
12368
  "direction": BsStepperDirection;
@@ -11969,6 +12467,7 @@ declare namespace LocalJSX {
11969
12467
  "bs-ai-disclaimer": BsAiDisclaimer;
11970
12468
  "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] };
11971
12469
  "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] };
12470
+ "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] };
11972
12471
  "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] };
11973
12472
  "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] };
11974
12473
  "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] };
@@ -11993,13 +12492,16 @@ declare namespace LocalJSX {
11993
12492
  "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] };
11994
12493
  "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] };
11995
12494
  "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] };
12495
+ "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] };
11996
12496
  "bs-cookie-consent": Omit<BsCookieConsent, keyof BsCookieConsentAttributes> & { [K in keyof BsCookieConsent & keyof BsCookieConsentAttributes]?: BsCookieConsent[K] } & { [K in keyof BsCookieConsent & keyof BsCookieConsentAttributes as `attr:${K}`]?: BsCookieConsentAttributes[K] } & { [K in keyof BsCookieConsent & keyof BsCookieConsentAttributes as `prop:${K}`]?: BsCookieConsent[K] };
11997
12497
  "bs-data-table": Omit<BsDataTable, keyof BsDataTableAttributes> & { [K in keyof BsDataTable & keyof BsDataTableAttributes]?: BsDataTable[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `attr:${K}`]?: BsDataTableAttributes[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `prop:${K}`]?: BsDataTable[K] };
11998
12498
  "bs-datepicker": Omit<BsDatepicker, keyof BsDatepickerAttributes> & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes]?: BsDatepicker[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `attr:${K}`]?: BsDatepickerAttributes[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `prop:${K}`]?: BsDatepicker[K] };
11999
12499
  "bs-dialog": Omit<BsDialog, keyof BsDialogAttributes> & { [K in keyof BsDialog & keyof BsDialogAttributes]?: BsDialog[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `attr:${K}`]?: BsDialogAttributes[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `prop:${K}`]?: BsDialog[K] };
12500
+ "bs-divider": Omit<BsDivider, keyof BsDividerAttributes> & { [K in keyof BsDivider & keyof BsDividerAttributes]?: BsDivider[K] } & { [K in keyof BsDivider & keyof BsDividerAttributes as `attr:${K}`]?: BsDividerAttributes[K] } & { [K in keyof BsDivider & keyof BsDividerAttributes as `prop:${K}`]?: BsDivider[K] };
12000
12501
  "bs-error-page": Omit<BsErrorPage, keyof BsErrorPageAttributes> & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes]?: BsErrorPage[K] } & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes as `attr:${K}`]?: BsErrorPageAttributes[K] } & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes as `prop:${K}`]?: BsErrorPage[K] };
12001
12502
  "bs-file-upload": Omit<BsFileUpload, keyof BsFileUploadAttributes> & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes]?: BsFileUpload[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `attr:${K}`]?: BsFileUploadAttributes[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `prop:${K}`]?: BsFileUpload[K] };
12002
12503
  "bs-file-upload-item": Omit<BsFileUploadItem, keyof BsFileUploadItemAttributes> & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes]?: BsFileUploadItem[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `attr:${K}`]?: BsFileUploadItemAttributes[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `prop:${K}`]?: BsFileUploadItem[K] };
12504
+ "bs-grid": Omit<BsGrid, keyof BsGridAttributes> & { [K in keyof BsGrid & keyof BsGridAttributes]?: BsGrid[K] } & { [K in keyof BsGrid & keyof BsGridAttributes as `attr:${K}`]?: BsGridAttributes[K] } & { [K in keyof BsGrid & keyof BsGridAttributes as `prop:${K}`]?: BsGrid[K] };
12003
12505
  "bs-icon-button": Omit<BsIconButton, keyof BsIconButtonAttributes> & { [K in keyof BsIconButton & keyof BsIconButtonAttributes]?: BsIconButton[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `attr:${K}`]?: BsIconButtonAttributes[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `prop:${K}`]?: BsIconButton[K] };
12004
12506
  "bs-icon-tile": Omit<BsIconTile, keyof BsIconTileAttributes> & { [K in keyof BsIconTile & keyof BsIconTileAttributes]?: BsIconTile[K] } & { [K in keyof BsIconTile & keyof BsIconTileAttributes as `attr:${K}`]?: BsIconTileAttributes[K] } & { [K in keyof BsIconTile & keyof BsIconTileAttributes as `prop:${K}`]?: BsIconTile[K] };
12005
12507
  "bs-inline-tab": Omit<BsInlineTab, keyof BsInlineTabAttributes> & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes]?: BsInlineTab[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `attr:${K}`]?: BsInlineTabAttributes[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `prop:${K}`]?: BsInlineTab[K] };
@@ -12028,6 +12530,7 @@ declare namespace LocalJSX {
12028
12530
  "bs-source-link": Omit<BsSourceLink, keyof BsSourceLinkAttributes> & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes]?: BsSourceLink[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `attr:${K}`]?: BsSourceLinkAttributes[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `prop:${K}`]?: BsSourceLink[K] };
12029
12531
  "bs-spinner": Omit<BsSpinner, keyof BsSpinnerAttributes> & { [K in keyof BsSpinner & keyof BsSpinnerAttributes]?: BsSpinner[K] } & { [K in keyof BsSpinner & keyof BsSpinnerAttributes as `attr:${K}`]?: BsSpinnerAttributes[K] } & { [K in keyof BsSpinner & keyof BsSpinnerAttributes as `prop:${K}`]?: BsSpinner[K] };
12030
12532
  "bs-split-pane": Omit<BsSplitPane, keyof BsSplitPaneAttributes> & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes]?: BsSplitPane[K] } & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes as `attr:${K}`]?: BsSplitPaneAttributes[K] } & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes as `prop:${K}`]?: BsSplitPane[K] };
12533
+ "bs-stack": Omit<BsStack, keyof BsStackAttributes> & { [K in keyof BsStack & keyof BsStackAttributes]?: BsStack[K] } & { [K in keyof BsStack & keyof BsStackAttributes as `attr:${K}`]?: BsStackAttributes[K] } & { [K in keyof BsStack & keyof BsStackAttributes as `prop:${K}`]?: BsStack[K] };
12031
12534
  "bs-stepper": Omit<BsStepper, keyof BsStepperAttributes> & { [K in keyof BsStepper & keyof BsStepperAttributes]?: BsStepper[K] } & { [K in keyof BsStepper & keyof BsStepperAttributes as `attr:${K}`]?: BsStepperAttributes[K] } & { [K in keyof BsStepper & keyof BsStepperAttributes as `prop:${K}`]?: BsStepper[K] };
12032
12535
  "bs-stepper-step": Omit<BsStepperStep, keyof BsStepperStepAttributes> & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes]?: BsStepperStep[K] } & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes as `attr:${K}`]?: BsStepperStepAttributes[K] } & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes as `prop:${K}`]?: BsStepperStep[K] };
12033
12536
  "bs-switch": Omit<BsSwitch, keyof BsSwitchAttributes> & { [K in keyof BsSwitch & keyof BsSwitchAttributes]?: BsSwitch[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `attr:${K}`]?: BsSwitchAttributes[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `prop:${K}`]?: BsSwitch[K] };
@@ -12135,6 +12638,28 @@ declare module "@stencil/core" {
12135
12638
  * `--bs-duration-slower` is 500ms), so this is aliased directly to the literal value.
12136
12639
  */
12137
12640
  "bs-ai-thinking": LocalJSX.IntrinsicElements["bs-ai-thinking"] & JSXBase.HTMLAttributes<HTMLBsAiThinkingElement>;
12641
+ /**
12642
+ * The page frame: a header across the top, and below it a navigation | main | aside row, laid out
12643
+ * with CSS grid. The main column scrolls independently of the header and the side columns.
12644
+ * Layout only. Compose it from the existing shell components: put a `bs-navigation-header`
12645
+ * (usually `alignment="with-navigation-drawer"`) in `header` and a `bs-navigation-drawer` in
12646
+ * `navigation`. The drawer sizes itself (expanded or collapsed rail); the shell reserves an `auto`
12647
+ * track for it, so there is no `navigationWidth` prop. `bs-navigation-header` has no `collapsed`
12648
+ * prop, so there is no collapse state to mirror and the shell does not listen to `bsCollapse`: the
12649
+ * auto track follows the drawer's width on its own.
12650
+ * The shell creates no landmarks besides `<main>`; the slotted header and drawer bring their own
12651
+ * `banner` and `navigation` roles.
12652
+ * ## When to use
12653
+ * - The outer frame of an application page with a header and side navigation.
12654
+ * ## When not to use
12655
+ * - Content layout inside the page (use `bs-grid`) or resizable panes (use `bs-split-pane`).
12656
+ * - Pages that already have their own `<main>`; the shell would add a duplicate landmark.
12657
+ * @prop --bs-app-shell-bg - Shell background. Aliased to `--bs-surface-base`.
12658
+ * @prop --bs-app-shell-color - Text colour. Aliased to `--bs-text-default`.
12659
+ * @prop --bs-app-shell-main-padding - Padding of the main area. Aliased to `--bs-spacing-400`.
12660
+ * @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
12661
+ */
12662
+ "bs-app-shell": LocalJSX.IntrinsicElements["bs-app-shell"] & JSXBase.HTMLAttributes<HTMLBsAppShellElement>;
12138
12663
  /**
12139
12664
  * A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
12140
12665
  * with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
@@ -12690,6 +13215,17 @@ declare module "@stencil/core" {
12690
13215
  * every `type`). Aliased to `--bs-color-neutral-container-hover`.
12691
13216
  */
12692
13217
  "bs-composer-status-banner": LocalJSX.IntrinsicElements["bs-composer-status-banner"] & JSXBase.HTMLAttributes<HTMLBsComposerStatusBannerElement>;
13218
+ /**
13219
+ * A centred wrapper that limits content width to a breakpoint and adds horizontal padding.
13220
+ * ## When to use
13221
+ * - Constraining page or section content to a readable, consistent maximum width.
13222
+ * ## When not to use
13223
+ * - Arranging children relative to each other (use `bs-stack`).
13224
+ * - Full-bleed regions such as hero backgrounds (use `size="fluid"` or no container).
13225
+ * @prop --bs-container-max-width - Maximum width. Aliased to the `--bs-breakpoint-*` token for `size`; `none` for `fluid`.
13226
+ * @prop --bs-container-padding - Horizontal padding. Aliased to the `padding` spacing token (default `--bs-spacing-300`).
13227
+ */
13228
+ "bs-container": LocalJSX.IntrinsicElements["bs-container"] & JSXBase.HTMLAttributes<HTMLBsContainerElement>;
12693
13229
  /**
12694
13230
  * A cookie consent prompt in four forms, matching the Figma "Cookie consent" component:
12695
13231
  * - `banner` -- a wide bar: icon, heading, text, policy link, and Customise / Reject optional / Accept
@@ -12765,6 +13301,18 @@ declare module "@stencil/core" {
12765
13301
  * button in the header row next to the heading, same as before this addition.
12766
13302
  */
12767
13303
  "bs-dialog": LocalJSX.IntrinsicElements["bs-dialog"] & JSXBase.HTMLAttributes<HTMLBsDialogElement>;
13304
+ /**
13305
+ * A thin line that separates content, horizontally or vertically.
13306
+ * ## When to use
13307
+ * - Separating groups of related content in a list, menu, toolbar or card.
13308
+ * ## When not to use
13309
+ * - Adding vertical space between blocks (use `bs-stack` gap or spacing tokens).
13310
+ * - Drawing a border around a surface (use `bs-card`).
13311
+ * @prop --bs-divider-thickness - Line thickness. Defaults to `1px`.
13312
+ * @prop --bs-divider-color - Line colour. Aliased to `--bs-border-neutral-container` (`default`) or `--bs-neutral-100` (`subtle`).
13313
+ * @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
13314
+ */
13315
+ "bs-divider": LocalJSX.IntrinsicElements["bs-divider"] & JSXBase.HTMLAttributes<HTMLBsDividerElement>;
12768
13316
  /**
12769
13317
  * A full-block page for when the user can't get to what they asked for: page not found (404), a server
12770
13318
  * error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
@@ -12804,6 +13352,25 @@ declare module "@stencil/core" {
12804
13352
  * - Attaching files to a chat message -- use `bs-attachment`.
12805
13353
  */
12806
13354
  "bs-file-upload-item": LocalJSX.IntrinsicElements["bs-file-upload-item"] & JSXBase.HTMLAttributes<HTMLBsFileUploadItemElement>;
13355
+ /**
13356
+ * A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
13357
+ * `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
13358
+ * `grid-template-columns` value (`"200px 1fr"`). `minColumnWidth` is the responsive mechanism: it
13359
+ * switches to `repeat(auto-fit, minmax(min(100%, X), 1fr))`, so the column count adapts to the
13360
+ * container width and `columns` is ignored. There are deliberately no per-breakpoint props in v1.
13361
+ * `gap`, `rowGap` and `columnGap` take spacing token names (`"200"` maps to `var(--bs-spacing-200)`);
13362
+ * unknown names fall back to `100`.
13363
+ * ## When to use
13364
+ * - Card grids, form field grids and dashboards where items share equal column tracks.
13365
+ * - Responsive galleries via `minColumnWidth`.
13366
+ * ## When not to use
13367
+ * - A single row or column of items with no wrapping (plain flex).
13368
+ * - Resizable multi-pane layouts (use `bs-split-pane`) or the page frame (use `bs-app-shell`).
13369
+ * @prop --bs-grid-gap - Gap on both axes. Overrides the `gap` prop's token (default `--bs-spacing-100`).
13370
+ * @prop --bs-grid-row-gap - Row gap. Overrides `--bs-grid-gap` and the `rowGap` prop's token.
13371
+ * @prop --bs-grid-column-gap - Column gap. Overrides `--bs-grid-gap` and the `columnGap` prop's token.
13372
+ */
13373
+ "bs-grid": LocalJSX.IntrinsicElements["bs-grid"] & JSXBase.HTMLAttributes<HTMLBsGridElement>;
12807
13374
  /**
12808
13375
  * A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
12809
13376
  * 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
@@ -13385,6 +13952,21 @@ declare module "@stencil/core" {
13385
13952
  * @prop --bs-split-pane-focus-ring - Divider focus ring colour. Aliased to `--bs-border-neutral-focus`.
13386
13953
  */
13387
13954
  "bs-split-pane": LocalJSX.IntrinsicElements["bs-split-pane"] & JSXBase.HTMLAttributes<HTMLBsSplitPaneElement>;
13955
+ /**
13956
+ * A flex layout that arranges its children in a row or column with a token-based gap, optionally
13957
+ * drawing a divider between children.
13958
+ * Built from: `bs-divider` (when `divider` is set).
13959
+ * With `divider`, each child is given a generated `slot="bs-stack-item-N"` attribute (plus a
13960
+ * `data-bs-stack-item` marker) so a divider can be rendered between the named slots. Light-DOM
13961
+ * nodes are never moved; the attributes are removed again when `divider` is turned off.
13962
+ * ## When to use
13963
+ * - Spacing and aligning a short run of siblings (form fields, button rows, card content).
13964
+ * ## When not to use
13965
+ * - Two-dimensional grids (use CSS grid).
13966
+ * - Resizable panes (use `bs-split-pane`).
13967
+ * @prop --bs-stack-gap - Space between items. Defaults from the `gap` prop (`--bs-spacing-<gap>`); may be overridden directly.
13968
+ */
13969
+ "bs-stack": LocalJSX.IntrinsicElements["bs-stack"] & JSXBase.HTMLAttributes<HTMLBsStackElement>;
13388
13970
  /**
13389
13971
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
13390
13972
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or