@brandsync/wc 1.14.0 → 1.16.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 (402) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/REFERENCE.md +159 -0
  3. package/custom-elements.json +1739 -196
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-e0927a9a.entry.js → p-0159f0da.entry.js} +1 -1
  6. package/dist/brandsync-wc/p-0228a584.entry.js +1 -0
  7. package/dist/brandsync-wc/{p-9d660c03.entry.js → p-0f97fe35.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-31cd66e0.entry.js → p-15f4c343.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-b6ac1b50.entry.js → p-1ca8b01e.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-47cd19aa.entry.js → p-23379d7c.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-16c78ff6.entry.js → p-298158da.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-b793a0d6.entry.js → p-2e285364.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-204cc690.entry.js → p-3488c4fc.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-e1b7bea7.entry.js → p-34b0c048.entry.js} +1 -1
  15. package/dist/brandsync-wc/p-36fe783a.entry.js +1 -0
  16. package/dist/brandsync-wc/{p-8184d7de.entry.js → p-38ac9aad.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-c488cc8b.entry.js → p-38fe9d07.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-6e923ebc.entry.js → p-401b3d3d.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-2c1efaa1.entry.js → p-42b79d95.entry.js} +1 -1
  20. package/dist/brandsync-wc/p-45986ad4.entry.js +1 -0
  21. package/dist/brandsync-wc/{p-227a5182.entry.js → p-4ca40386.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-9125632c.entry.js → p-4ed00786.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-80700878.entry.js → p-521d0fc2.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-bee30626.entry.js → p-538d5b58.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-9fa67924.entry.js → p-54f9529f.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-1b5cc9b8.entry.js → p-5a45ef51.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-ce16f038.entry.js → p-5ed1f45e.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-10290c41.entry.js → p-65fa1b21.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-df3e7973.entry.js → p-67629178.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-e6fc2cd4.entry.js → p-6cb21302.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-3477539c.entry.js → p-76748795.entry.js} +1 -1
  32. package/dist/brandsync-wc/p-769c5b4a.entry.js +1 -0
  33. package/dist/brandsync-wc/p-7b3518b8.entry.js +1 -0
  34. package/dist/brandsync-wc/p-7dc59e0b.entry.js +1 -0
  35. package/dist/brandsync-wc/{p-658532b7.entry.js → p-86774165.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-cc1055e6.entry.js → p-89ea6366.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-4b40a596.entry.js → p-912629c6.entry.js} +1 -1
  38. package/dist/brandsync-wc/p-949a4270.entry.js +1 -0
  39. package/dist/brandsync-wc/{p-c67bc817.entry.js → p-9beeb30c.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-d892277f.entry.js → p-a12691d8.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-315b510c.entry.js → p-a56bc608.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-2967240d.entry.js → p-abfa43f5.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-686297f1.entry.js → p-b6081bba.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-833f9dc4.entry.js → p-b663ee67.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-dd52209a.entry.js → p-b67a0c8f.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-fa6b9750.entry.js → p-b9c9bcba.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-617bd76d.entry.js → p-baa3d37a.entry.js} +1 -1
  48. package/dist/brandsync-wc/p-c25553bc.entry.js +1 -0
  49. package/dist/brandsync-wc/{p-45cb3e6d.entry.js → p-c85fe37b.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-2e68b76e.entry.js → p-cc4c8c1d.entry.js} +1 -1
  51. package/dist/brandsync-wc/{p-056608f0.entry.js → p-cf287ff1.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-cc25ee67.entry.js → p-d165a742.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-51f40972.entry.js → p-d81c4f58.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-94d435a2.entry.js → p-dcacee29.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-3dabf202.entry.js → p-e5f50e93.entry.js} +1 -1
  56. package/dist/brandsync-wc/{p-221244a9.entry.js → p-e72dd05e.entry.js} +1 -1
  57. package/dist/brandsync-wc/p-e9afb553.entry.js +1 -0
  58. package/dist/brandsync-wc/{p-0cb6fc39.entry.js → p-e9b6b30f.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-a2e59aca.entry.js → p-ed71eb02.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-e65d286c.entry.js → p-f0be9125.entry.js} +1 -1
  61. package/dist/brandsync-wc/p-f3cc961b.entry.js +1 -0
  62. package/dist/brandsync-wc/{p-6ca1e51b.entry.js → p-f4d1d56e.entry.js} +1 -1
  63. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  64. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  65. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  68. package/dist/cjs/bs-app-shell.cjs.entry.js +19 -0
  69. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  70. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  71. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  72. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  73. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  76. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  77. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  78. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  79. package/dist/cjs/bs-container.cjs.entry.js +23 -0
  80. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  81. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  82. package/dist/cjs/bs-divider.cjs.entry.js +29 -0
  83. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  84. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  85. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  86. package/dist/cjs/bs-grid.cjs.entry.js +55 -0
  87. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  88. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  89. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  90. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  91. package/dist/cjs/bs-list-item.cjs.entry.js +66 -0
  92. package/dist/cjs/bs-list.cjs.entry.js +103 -0
  93. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  95. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  97. package/dist/cjs/bs-navigation-header.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-popover.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  101. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  102. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-skeleton.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  109. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-stack.cjs.entry.js +81 -0
  112. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  115. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  116. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  117. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  119. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  120. package/dist/cjs/bs-tree-item.cjs.entry.js +94 -0
  121. package/dist/cjs/bs-tree.cjs.entry.js +197 -0
  122. package/dist/cjs/loader.cjs.js +1 -1
  123. package/dist/collection/collection-manifest.json +9 -0
  124. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  125. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  126. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  127. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  128. package/dist/collection/components/bs-app-shell/bs-app-shell.cmp.test.js +71 -0
  129. package/dist/collection/components/bs-app-shell/bs-app-shell.css +58 -0
  130. package/dist/collection/components/bs-app-shell/bs-app-shell.js +79 -0
  131. package/dist/collection/components/bs-app-shell/bs-app-shell.stories.js +34 -0
  132. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  133. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  134. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  135. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  136. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  137. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  138. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  139. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  140. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  141. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  142. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  143. package/dist/collection/components/bs-container/bs-container.cmp.test.js +59 -0
  144. package/dist/collection/components/bs-container/bs-container.css +16 -0
  145. package/dist/collection/components/bs-container/bs-container.js +88 -0
  146. package/dist/collection/components/bs-container/bs-container.stories.js +24 -0
  147. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  148. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  149. package/dist/collection/components/bs-divider/bs-divider.cmp.test.js +47 -0
  150. package/dist/collection/components/bs-divider/bs-divider.css +47 -0
  151. package/dist/collection/components/bs-divider/bs-divider.js +147 -0
  152. package/dist/collection/components/bs-divider/bs-divider.stories.js +32 -0
  153. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  154. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  155. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  156. package/dist/collection/components/bs-grid/bs-grid.cmp.test.js +58 -0
  157. package/dist/collection/components/bs-grid/bs-grid.css +10 -0
  158. package/dist/collection/components/bs-grid/bs-grid.js +208 -0
  159. package/dist/collection/components/bs-grid/bs-grid.stories.js +38 -0
  160. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  161. package/dist/collection/components/bs-input/bs-input.js +2 -2
  162. package/dist/collection/components/bs-list/bs-list.cmp.test.js +99 -0
  163. package/dist/collection/components/bs-list/bs-list.css +15 -0
  164. package/dist/collection/components/bs-list/bs-list.js +241 -0
  165. package/dist/collection/components/bs-list/bs-list.stories.js +43 -0
  166. package/dist/collection/components/bs-list-item/bs-list-item.cmp.test.js +137 -0
  167. package/dist/collection/components/bs-list-item/bs-list-item.css +139 -0
  168. package/dist/collection/components/bs-list-item/bs-list-item.js +343 -0
  169. package/dist/collection/components/bs-list-item/bs-list-item.stories.js +86 -0
  170. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  171. package/dist/collection/components/bs-menu-item/bs-menu-item.cmp.test.js +6 -0
  172. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  173. package/dist/collection/components/bs-message/bs-message.js +1 -1
  174. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  175. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  176. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  177. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  178. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  179. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  180. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  181. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  182. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  183. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  184. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  185. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  186. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  187. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  188. package/dist/collection/components/bs-stack/bs-stack.cmp.test.js +113 -0
  189. package/dist/collection/components/bs-stack/bs-stack.css +22 -0
  190. package/dist/collection/components/bs-stack/bs-stack.js +252 -0
  191. package/dist/collection/components/bs-stack/bs-stack.stories.js +36 -0
  192. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  193. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  194. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  195. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  196. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  197. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  198. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  199. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  200. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  201. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  202. package/dist/collection/components/bs-tree/bs-tree.cmp.test.js +166 -0
  203. package/dist/collection/components/bs-tree/bs-tree.css +8 -0
  204. package/dist/collection/components/bs-tree/bs-tree.js +354 -0
  205. package/dist/collection/components/bs-tree/bs-tree.stories.js +34 -0
  206. package/dist/collection/components/bs-tree-item/bs-tree-item.cmp.test.js +187 -0
  207. package/dist/collection/components/bs-tree-item/bs-tree-item.css +161 -0
  208. package/dist/collection/components/bs-tree-item/bs-tree-item.js +305 -0
  209. package/dist/collection/components/bs-tree-item/bs-tree-item.stories.js +54 -0
  210. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  211. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  212. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  213. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  214. package/dist/components/bs-accordion-group.js +1 -1
  215. package/dist/components/bs-ai-disclaimer.js +1 -1
  216. package/dist/components/bs-ai-greeting.js +1 -1
  217. package/dist/components/bs-ai-thinking.js +1 -1
  218. package/dist/components/bs-app-shell.d.ts +11 -0
  219. package/dist/components/bs-app-shell.js +1 -0
  220. package/dist/components/bs-attachment-list.js +1 -1
  221. package/dist/components/bs-attachment.js +1 -1
  222. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  223. package/dist/components/bs-breadcrumbs.js +1 -1
  224. package/dist/components/bs-button-skeleton.js +1 -1
  225. package/dist/components/bs-carousel.js +1 -1
  226. package/dist/components/bs-chatbot-feedback.js +1 -1
  227. package/dist/components/bs-chatbot-header.js +1 -1
  228. package/dist/components/bs-chatbot-response-action.js +1 -1
  229. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  230. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  231. package/dist/components/bs-checkbox-skeleton.js +1 -1
  232. package/dist/components/bs-citation-preview.js +1 -1
  233. package/dist/components/bs-container.d.ts +11 -0
  234. package/dist/components/bs-container.js +1 -0
  235. package/dist/components/bs-cookie-consent.js +1 -1
  236. package/dist/components/bs-data-table.js +1 -1
  237. package/dist/components/bs-datepicker.js +1 -1
  238. package/dist/components/bs-dialog.js +1 -1
  239. package/dist/components/bs-divider.d.ts +11 -0
  240. package/dist/components/bs-divider.js +1 -0
  241. package/dist/components/bs-error-page.js +1 -1
  242. package/dist/components/bs-file-upload-item.js +1 -1
  243. package/dist/components/bs-file-upload.js +1 -1
  244. package/dist/components/bs-grid.d.ts +11 -0
  245. package/dist/components/bs-grid.js +1 -0
  246. package/dist/components/bs-icon-button.js +1 -1
  247. package/dist/components/bs-icon-tile.js +1 -1
  248. package/dist/components/bs-inline-tab.js +1 -1
  249. package/dist/components/bs-input.js +1 -1
  250. package/dist/components/bs-list-item.d.ts +11 -0
  251. package/dist/components/bs-list-item.js +1 -0
  252. package/dist/components/bs-list.d.ts +11 -0
  253. package/dist/components/bs-list.js +1 -0
  254. package/dist/components/bs-menu-item.js +1 -1
  255. package/dist/components/bs-menu.js +1 -1
  256. package/dist/components/bs-message-list.js +1 -1
  257. package/dist/components/bs-message.js +1 -1
  258. package/dist/components/bs-navigation-drawer-item.js +1 -1
  259. package/dist/components/bs-navigation-drawer.js +1 -1
  260. package/dist/components/bs-navigation-header.js +1 -1
  261. package/dist/components/bs-onboarding-checklist.js +1 -1
  262. package/dist/components/bs-pagination.js +1 -1
  263. package/dist/components/bs-popover.js +1 -1
  264. package/dist/components/bs-product-tour.js +1 -1
  265. package/dist/components/bs-progress-linear.js +1 -1
  266. package/dist/components/bs-progress.js +1 -1
  267. package/dist/components/bs-qr-code.js +1 -1
  268. package/dist/components/bs-radio.js +1 -1
  269. package/dist/components/bs-session-timeout.js +1 -1
  270. package/dist/components/bs-side-panel.js +1 -1
  271. package/dist/components/bs-skeleton.js +1 -1
  272. package/dist/components/bs-slider.js +1 -1
  273. package/dist/components/bs-snackbar.js +1 -1
  274. package/dist/components/bs-source-link.js +1 -1
  275. package/dist/components/bs-spinner.js +1 -1
  276. package/dist/components/bs-split-pane.js +1 -1
  277. package/dist/components/bs-stack.d.ts +11 -0
  278. package/dist/components/bs-stack.js +1 -0
  279. package/dist/components/bs-stepper-step.js +1 -1
  280. package/dist/components/bs-stepper.js +1 -1
  281. package/dist/components/bs-switch.js +1 -1
  282. package/dist/components/bs-tab.js +1 -1
  283. package/dist/components/bs-tabs.js +1 -1
  284. package/dist/components/bs-timepicker.js +1 -1
  285. package/dist/components/bs-toast.js +1 -1
  286. package/dist/components/bs-tooltip-trigger.js +1 -1
  287. package/dist/components/bs-tooltip.js +1 -1
  288. package/dist/components/bs-tree-item.d.ts +11 -0
  289. package/dist/components/bs-tree-item.js +1 -0
  290. package/dist/components/bs-tree.d.ts +11 -0
  291. package/dist/components/bs-tree.js +1 -0
  292. package/dist/components/bs-whats-new-entry.js +1 -1
  293. package/dist/components/bs-whats-new.js +1 -1
  294. package/dist/components/{p-CrmEXUwm.js → p-B128GX8H.js} +1 -1
  295. package/dist/components/{p-Rx4bpeYN.js → p-B80vOwH6.js} +1 -1
  296. package/dist/components/p-BaJEv6rL.js +1 -0
  297. package/dist/components/{p-BESyTlfT.js → p-Bb1-2M8K.js} +1 -1
  298. package/dist/components/{p-nC2VxRNo.js → p-BdkE4auv.js} +1 -1
  299. package/dist/components/{p-BIW9eUic.js → p-BsbtyRJV.js} +1 -1
  300. package/dist/components/{p-BJR8KVFc.js → p-ByLUtXxO.js} +1 -1
  301. package/dist/components/p-C7RZ6qZC.js +1 -0
  302. package/dist/components/{p-HzaOqQ0U.js → p-C93ymWm7.js} +1 -1
  303. package/dist/components/{p-DpVeeIko.js → p-CK7fiES5.js} +1 -1
  304. package/dist/components/{p-QnTjSed5.js → p-CQjSDdH7.js} +1 -1
  305. package/dist/components/{p-HAmR4gM2.js → p-D0KM1R2i.js} +1 -1
  306. package/dist/components/{p-CDYw4Eyj.js → p-DFKc3lLA.js} +1 -1
  307. package/dist/components/{p-DAwSBMeM.js → p-GTDI4Ibw.js} +1 -1
  308. package/dist/components/{p-Dm3TqgV_.js → p-J9cxcDhY.js} +1 -1
  309. package/dist/components/{p-CiSEDtbE.js → p-kDJsWjTN.js} +1 -1
  310. package/dist/esm/brandsync-wc.js +1 -1
  311. package/dist/esm/bs-accordion-group.entry.js +1 -1
  312. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  313. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  314. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  315. package/dist/esm/bs-app-shell.entry.js +17 -0
  316. package/dist/esm/bs-attachment-list.entry.js +1 -1
  317. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  318. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  319. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  320. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  321. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  322. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  323. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  324. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  325. package/dist/esm/bs-citation-preview.entry.js +1 -1
  326. package/dist/esm/bs-container.entry.js +21 -0
  327. package/dist/esm/bs-data-table.entry.js +2 -2
  328. package/dist/esm/bs-datepicker.entry.js +1 -1
  329. package/dist/esm/bs-divider.entry.js +27 -0
  330. package/dist/esm/bs-error-page.entry.js +1 -1
  331. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  332. package/dist/esm/bs-file-upload.entry.js +1 -1
  333. package/dist/esm/bs-grid.entry.js +53 -0
  334. package/dist/esm/bs-icon-button.entry.js +1 -1
  335. package/dist/esm/bs-icon-tile.entry.js +2 -2
  336. package/dist/esm/bs-inline-tab.entry.js +1 -1
  337. package/dist/esm/bs-input_3.entry.js +4 -4
  338. package/dist/esm/bs-list-item.entry.js +64 -0
  339. package/dist/esm/bs-list.entry.js +101 -0
  340. package/dist/esm/bs-message-list.entry.js +1 -1
  341. package/dist/esm/bs-message.entry.js +1 -1
  342. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  343. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  344. package/dist/esm/bs-navigation-header.entry.js +1 -1
  345. package/dist/esm/bs-pagination.entry.js +1 -1
  346. package/dist/esm/bs-popover.entry.js +1 -1
  347. package/dist/esm/bs-progress-linear.entry.js +2 -2
  348. package/dist/esm/bs-progress.entry.js +2 -2
  349. package/dist/esm/bs-qr-code.entry.js +1 -1
  350. package/dist/esm/bs-radio.entry.js +1 -1
  351. package/dist/esm/bs-session-timeout.entry.js +1 -1
  352. package/dist/esm/bs-skeleton.entry.js +1 -1
  353. package/dist/esm/bs-slider.entry.js +1 -1
  354. package/dist/esm/bs-snackbar.entry.js +1 -1
  355. package/dist/esm/bs-source-link.entry.js +2 -2
  356. package/dist/esm/bs-spinner.entry.js +1 -1
  357. package/dist/esm/bs-split-pane.entry.js +1 -1
  358. package/dist/esm/bs-stack.entry.js +79 -0
  359. package/dist/esm/bs-stepper-step.entry.js +1 -1
  360. package/dist/esm/bs-stepper.entry.js +1 -1
  361. package/dist/esm/bs-switch.entry.js +1 -1
  362. package/dist/esm/bs-tab_3.entry.js +3 -3
  363. package/dist/esm/bs-timepicker.entry.js +2 -2
  364. package/dist/esm/bs-toast.entry.js +1 -1
  365. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  366. package/dist/esm/bs-tooltip.entry.js +1 -1
  367. package/dist/esm/bs-tree-item.entry.js +92 -0
  368. package/dist/esm/bs-tree.entry.js +195 -0
  369. package/dist/esm/loader.js +1 -1
  370. package/dist/types/components/bs-app-shell/bs-app-shell.cmp.test.d.ts +1 -0
  371. package/dist/types/components/bs-app-shell/bs-app-shell.d.ts +40 -0
  372. package/dist/types/components/bs-app-shell/bs-app-shell.stories.d.ts +11 -0
  373. package/dist/types/components/bs-container/bs-container.cmp.test.d.ts +1 -0
  374. package/dist/types/components/bs-container/bs-container.d.ts +22 -0
  375. package/dist/types/components/bs-container/bs-container.stories.d.ts +15 -0
  376. package/dist/types/components/bs-divider/bs-divider.cmp.test.d.ts +1 -0
  377. package/dist/types/components/bs-divider/bs-divider.d.ts +29 -0
  378. package/dist/types/components/bs-divider/bs-divider.stories.d.ts +16 -0
  379. package/dist/types/components/bs-grid/bs-grid.cmp.test.d.ts +1 -0
  380. package/dist/types/components/bs-grid/bs-grid.d.ts +43 -0
  381. package/dist/types/components/bs-grid/bs-grid.stories.d.ts +18 -0
  382. package/dist/types/components/bs-list/bs-list.cmp.test.d.ts +1 -0
  383. package/dist/types/components/bs-list/bs-list.d.ts +42 -0
  384. package/dist/types/components/bs-list/bs-list.stories.d.ts +13 -0
  385. package/dist/types/components/bs-list-item/bs-list-item.cmp.test.d.ts +1 -0
  386. package/dist/types/components/bs-list-item/bs-list-item.d.ts +85 -0
  387. package/dist/types/components/bs-list-item/bs-list-item.stories.d.ts +22 -0
  388. package/dist/types/components/bs-stack/bs-stack.cmp.test.d.ts +1 -0
  389. package/dist/types/components/bs-stack/bs-stack.d.ts +46 -0
  390. package/dist/types/components/bs-stack/bs-stack.stories.d.ts +18 -0
  391. package/dist/types/components/bs-tree/bs-tree.cmp.test.d.ts +1 -0
  392. package/dist/types/components/bs-tree/bs-tree.d.ts +53 -0
  393. package/dist/types/components/bs-tree/bs-tree.stories.d.ts +11 -0
  394. package/dist/types/components/bs-tree-item/bs-tree-item.cmp.test.d.ts +1 -0
  395. package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +60 -0
  396. package/dist/types/components/bs-tree-item/bs-tree-item.stories.d.ts +19 -0
  397. package/dist/types/components.d.ts +1257 -0
  398. package/package.json +1 -1
  399. package/reference.d.ts +27 -0
  400. package/reference.json +428 -0
  401. package/dist/brandsync-wc/p-0e738622.entry.js +0 -1
  402. package/dist/components/p-zscW5LNR.js +0 -1
@@ -314,7 +314,7 @@ const BsDatepicker = class {
314
314
  : this.defaultTabbable(days);
315
315
  const isInRange = (iso) => !!selectedStart && !!previewEnd && iso > selectedStart && iso < previewEnd;
316
316
  const weekdays = this.weekdays();
317
- return (index.h("bs-card", { key: 'cd66b2bc8f611383ea5df6d01e29b03a940bc06b', part: "container", class: "bs-datepicker", surface: "raised" }, index.h("div", { key: '7020d13ee4ea5f05c2548966cb56c20b59eb067b', class: "bs-datepicker__body" }, this.renderHeader(), index.h("div", { key: '4ed03f1fb642d2a3a226a27e6e86001a478eab4c', part: "nav", class: "bs-datepicker__nav" }, index.h("button", { key: 'e844a021afa02f834026ebb4237f5b2f5b9d1a4c', part: "prev", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.previousLabel, onClick: () => this.moveView(-1) }, index.h("svg", { key: 'f68be6b62a9deb6334b63c6e7152b4968ebdbeab', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, index.h("path", { key: 'a7ee70143ce7b839c44483c1d15daf2714306bf7', d: "M15 18L9 12L15 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), index.h("div", { key: '7eb7fd38ca59a4a6ba9692180bcd5096f54ac783', part: "title", class: "bs-datepicker__title", "aria-live": "polite" }, this.titleText()), index.h("button", { key: '1e515d27746a10acfe9f04f08c4a09753cb5b98b', part: "next", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.nextLabel, onClick: () => this.moveView(1) }, index.h("svg", { key: 'f5dde56a61d31b93aa9877b0fc473264d40305ba', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, index.h("path", { key: '765b53c7f7e8618618622a5121ecab294610bf8a', d: "M9 18L15 12L9 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("div", { key: 'e56fa1a425055d77ae04039890758b823f14ee8d', part: "grid", class: "bs-datepicker__grid", role: "grid", "aria-label": this.titleText() }, index.h("div", { key: '2471a9291aa29111217aaaa1f02f2cfc8861e49e', class: "bs-datepicker__row", role: "row" }, weekdays.map(w => (index.h("div", { part: "weekday", class: "bs-datepicker__weekday", role: "columnheader" }, w)))), Array.from({ length: 6 }, (_, r) => {
317
+ return (index.h("bs-card", { key: 'd2794a112b72b3dc871360b1e57273c9ef097fc4', part: "container", class: "bs-datepicker", surface: "raised" }, index.h("div", { key: 'bee55a1cd06aa44171f40babae77b1f2f742d160', class: "bs-datepicker__body" }, this.renderHeader(), index.h("div", { key: 'd4ab1cfd76fcea8b64daeb951da7b36300c036f0', part: "nav", class: "bs-datepicker__nav" }, index.h("button", { key: '5fcbb3f928db51049fd034beb3519400afe4f128', part: "prev", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.previousLabel, onClick: () => this.moveView(-1) }, index.h("svg", { key: '18889f8f9dd9364bd73595635b72515b91d35ade', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, index.h("path", { key: '3d648cd4be611ef4de37cc08f9017809388d36e3', d: "M15 18L9 12L15 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), index.h("div", { key: 'c0647871f1c140472807ae51e04604c6d87ccaa4', part: "title", class: "bs-datepicker__title", "aria-live": "polite" }, this.titleText()), index.h("button", { key: 'ec3d33aeea146534d6640ac336905a002d0e7dc2', part: "next", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.nextLabel, onClick: () => this.moveView(1) }, index.h("svg", { key: '5cbac8630a30064d940e5f03ce767b525c09dd7c', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, index.h("path", { key: '2c47ca0911b8b42cd3590ff053905df327363e9f', d: "M9 18L15 12L9 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("div", { key: '91a6942792287f3044962fd278e36ed04ec03878', part: "grid", class: "bs-datepicker__grid", role: "grid", "aria-label": this.titleText() }, index.h("div", { key: '445e0548f0913426fe2eb730f291423d9165f839', class: "bs-datepicker__row", role: "row" }, weekdays.map(w => (index.h("div", { part: "weekday", class: "bs-datepicker__weekday", role: "columnheader" }, w)))), Array.from({ length: 6 }, (_, r) => {
318
318
  const row = days.slice(r * 7, r * 7 + 7);
319
319
  return (index.h("div", { class: "bs-datepicker__row", role: "row" }, row.map((d, c) => {
320
320
  const iso = toIso(d);
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BYfMRtlW.js');
4
+
5
+ const bsDividerCss = () => `:host{display:block;box-sizing:border-box;align-self:stretch;flex:none;--bs-divider-thickness:1px;--bs-divider-color:var(--bs-border-neutral-container);--bs-divider-inset:var(--bs-spacing-300)}:host([variant='subtle']){--bs-divider-color:var(--bs-neutral-100)}:host([orientation='vertical']){width:var(--bs-divider-thickness);min-height:1em}:host(:not([orientation='vertical'])){width:100%;height:var(--bs-divider-thickness)}.line{box-sizing:border-box;width:100%;height:100%;background:var(--bs-divider-color)}:host([inset='start']:not([orientation='vertical'])) .line{margin-inline-start:var(--bs-divider-inset);width:calc(100% - var(--bs-divider-inset))}:host([inset='both']:not([orientation='vertical'])) .line{margin-inline:var(--bs-divider-inset);width:calc(100% - 2 * var(--bs-divider-inset))}:host([inset='start'][orientation='vertical']) .line{margin-block-start:var(--bs-divider-inset);height:calc(100% - var(--bs-divider-inset))}:host([inset='both'][orientation='vertical']) .line{margin-block:var(--bs-divider-inset);height:calc(100% - 2 * var(--bs-divider-inset))}`;
6
+
7
+ const BsDivider = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ }
11
+ /** Direction of the line. A vertical divider stretches to the height of its container. */
12
+ orientation = 'horizontal';
13
+ /** Visual weight of the line. */
14
+ variant = 'default';
15
+ /** Indents the line from its start edge, or from both edges. */
16
+ inset = 'none';
17
+ /** Purely visual: hides the divider from assistive technology instead of exposing a separator. */
18
+ decorative = false;
19
+ render() {
20
+ const orientation = this.orientation === 'vertical' ? 'vertical' : 'horizontal';
21
+ const a11y = this.decorative
22
+ ? { role: 'none', 'aria-hidden': 'true' }
23
+ : { role: 'separator', 'aria-orientation': orientation };
24
+ return (index.h(index.Host, { key: '72be86556d663c54fde0d585ae5850b236389b23', ...a11y }, index.h("div", { key: 'a08f191d8f900bc88fc0c44be08da1a7d8eb2e3c', class: "line", part: "line" })));
25
+ }
26
+ };
27
+ BsDivider.style = bsDividerCss();
28
+
29
+ exports.bs_divider = BsDivider;
@@ -46,7 +46,7 @@ const BsErrorPage = class {
46
46
  const primary = this.primaryLabel ?? d.primary;
47
47
  const secondary = this.secondaryLabel ?? d.secondary;
48
48
  const level = Math.min(6, Math.max(1, Math.trunc(Number(this.headingLevel)) || 1));
49
- return (index.h("bs-card", { key: '27e16dc9013ea60751032fcccd626fb44aa7f708', part: "container", class: "bs-error-page", surface: "base" }, index.h("div", { key: 'bbca94e98665e09c5cd86626bf136f7b1393cbeb', class: "bs-error-page__body" }, index.h("div", { key: 'f358107685a4bfa06f1428bdd203d06b767fa83b', class: "bs-error-page__art-group" }, index.h("bs-icon-tile", { key: '096621ed3f0fa1545ae4e9a55cf316ff8f4349cb', part: "art", class: `bs-error-page__art ${d.info ? 'bs-error-page__art--info' : ''}`, intent: d.intent, size: "lg" }, index.h("slot", { key: '675e23b9001cb6570d95092f429666bee38368d1', name: "icon" }, d.glyph())), code && (index.h("span", { key: 'f82874da8c28f2f3e7adc17f4532a4b99082fc81', part: "code", class: "bs-error-page__code" }, code))), index.h(`h${level}`, { part: 'heading', class: { 'bs-error-page__heading': true } }, heading), description && (index.h("p", { key: 'ee4a20fa4862df6533eb6de359dbf3f55c613f26', part: "description", class: "bs-error-page__description" }, description)), (primary || secondary) && (index.h("div", { key: 'b921d9f129128a92ce3af409a8cd723ee49b7e02', part: "actions", class: "bs-error-page__actions" }, primary && (index.h("bs-button", { key: '0e8e62423a122ce6bcb41ad93138cb5d2573d5d1', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (index.h("bs-button", { key: '07d4527e4fd8813d4a6c1d5316b34c2678bbae8d', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)))), this.reference && (index.h("p", { key: '590120eeb06e91ab3617d3f1630a361c207afe42', part: "reference", class: "bs-error-page__reference" }, this.reference)))));
49
+ return (index.h("bs-card", { key: '68774f7ab0252b92905900f06f564d1c2a8ce163', part: "container", class: "bs-error-page", surface: "base" }, index.h("div", { key: 'f263ce4991e2aa4553e430e60e646df5fc257120', class: "bs-error-page__body" }, index.h("div", { key: '3aa6b36e1aa05ea63e52e8c79684b166853e5950', class: "bs-error-page__art-group" }, index.h("bs-icon-tile", { key: 'b0b7f3fa925acef6b95e23136df7f9bac3e43ff4', part: "art", class: `bs-error-page__art ${d.info ? 'bs-error-page__art--info' : ''}`, intent: d.intent, size: "lg" }, index.h("slot", { key: 'e33db2aa8c275de0e32effc759e177ef1ee46c6d', name: "icon" }, d.glyph())), code && (index.h("span", { key: '9f576963f7399e4ca6e86cfd0331f0c7c7119886', part: "code", class: "bs-error-page__code" }, code))), index.h(`h${level}`, { part: 'heading', class: { 'bs-error-page__heading': true } }, heading), description && (index.h("p", { key: 'ea4861b666f95c7416a4d54152f8ffd1b900eb61', part: "description", class: "bs-error-page__description" }, description)), (primary || secondary) && (index.h("div", { key: 'e0ec38c28b957390486fce52497f91661abc7ef1', part: "actions", class: "bs-error-page__actions" }, primary && (index.h("bs-button", { key: 'a2b190366240c9fbe3e7a78a16b9881a3ad4468a', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (index.h("bs-button", { key: 'bef26b3dcc61c4e968c054d35ed67430884c9f99', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)))), this.reference && (index.h("p", { key: 'b8de6e83c2c68ca8880afc781e8ffceb03f23164', part: "reference", class: "bs-error-page__reference" }, this.reference)))));
50
50
  }
51
51
  };
52
52
  const icon = (children) => () => (index.h("svg", { class: "bs-error-page__glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.8", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, children));
@@ -71,7 +71,7 @@ const BsFileUploadItem = class {
71
71
  }
72
72
  render() {
73
73
  const removing = this.state === 'success';
74
- return (index.h("div", { key: 'b239ca2558d3f0c25c58e0deeff988b29696a4a2', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, index.h("div", { key: 'c146e98abf457f86aaca4f22e1813e51b9f8bfea', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, index.h("slot", { key: '1d7b35010b00fcedcf8f3e94ccc710ff44a1de9f', name: "thumbnail" }, this.thumbnailSrc ? (index.h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (index.h(ImageIcon, null)))), index.h("div", { key: 'ba248f04ec0c44a4419f2e87d800500259d50c39', class: "bs-file-upload-item__content" }, index.h("div", { key: '9feafd65955cd80cd7e8878dc2af73e2c4184455', class: "bs-file-upload-item__meta" }, index.h("span", { key: '95214fe26b2256399a0ab3ea3568f868ac22984e', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (index.h("span", { key: '8ffece05f1ecb00839fbdd4086ad55a485f0bbca', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), index.h("bs-icon-button", { key: '63508a0938b11dabfba623f0197c91e024b004b7', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? index.h(TrashIcon, null) : index.h(CloseIcon, null))));
74
+ return (index.h("div", { key: 'e109650dda74a0a0db7af7f621da5e70079a7830', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, index.h("div", { key: '800f1bd6a8cabd97c0aa43fe9a521876d4e6feb8', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, index.h("slot", { key: 'e5696a2cf9d69579ff8fd79688f83879c4093c74', name: "thumbnail" }, this.thumbnailSrc ? (index.h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (index.h(ImageIcon, null)))), index.h("div", { key: 'bc52ee589c5cf4040dcb1aa86cce0150136d71ae', class: "bs-file-upload-item__content" }, index.h("div", { key: 'a70dc514e89ebfb1de3e772652e6ab8b2987007a', class: "bs-file-upload-item__meta" }, index.h("span", { key: '1c0a8e151f284a8344650fb00912582c17d2d5ee', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (index.h("span", { key: 'f608a1ee6e44e34e9e67600622a180e676fb960a', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), index.h("bs-icon-button", { key: '5781f2aa401d12d3a4f4b0172d64cb0b9ceacf00', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? index.h(TrashIcon, null) : index.h(CloseIcon, null))));
75
75
  }
76
76
  };
77
77
  // Figma exports, recolored via currentColor so the CSS tokens drive the color.
@@ -100,7 +100,7 @@ const BsFileUpload = class {
100
100
  this.handleFiles(files);
101
101
  };
102
102
  render() {
103
- return (index.h("div", { key: '0d56df66efcaae8ae01435f81755a2cbfe9e6735', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, index.h("div", { key: '63d1f3d7b64f9efe016f5720f2e78224cde2d4ee', part: "icon", class: "bs-file-upload__icon" }, index.h("slot", { key: '8bd5a62c50cce5608bd48b5db4d414c00dcdb68d', name: "icon" }, index.h(UploadIcon, { key: '478fcbbd730135bc396837ff1fcdee22418cf662' }))), index.h("div", { key: 'b4403e04e359e0d01a9f2e06d90ccaf0ce9ed5dd', class: "bs-file-upload__content" }, index.h("div", { key: '2b2d4dd5492ff8b88acbf4e3525f94d427e66e05', class: "bs-file-upload__text" }, this.heading && (index.h("span", { key: '25110b17458d6ac5d8f41c75b1cac44e7aa5b726', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (index.h("span", { key: '362c13ebac808e066aa583c861f7d540715ebf2b', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), index.h("bs-button", { key: '09fd3013539163d2478abc7cd127cc2121aa206e', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), index.h("input", { key: '2829fea7f7d8b4f3aae730678c9193eadd075422', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
103
+ return (index.h("div", { key: 'd9f116b4dcf8641a590581c24176d4659a2b6892', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, index.h("div", { key: '5aa0c733860505646bde5cad571a4d850d38f979', part: "icon", class: "bs-file-upload__icon" }, index.h("slot", { key: '292d3074620f2a228dbe544363f7ef8cce4f194c', name: "icon" }, index.h(UploadIcon, { key: '65c343be45634d10d561ba0f7a3cdd201a7664e6' }))), index.h("div", { key: '69d1ddde89b8c26d7a40a963cf16d1519b5b1fd4', class: "bs-file-upload__content" }, index.h("div", { key: '7730fdb7efb8eeffb374fff22fdd9d60497eebce', class: "bs-file-upload__text" }, this.heading && (index.h("span", { key: '0ca349bd1fedd84d869b363da150e13c07623f3b', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (index.h("span", { key: '522d99de1b5caf70cd7e44bf8e821fe49951c788', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), index.h("bs-button", { key: 'f7af51522dfb762102f0c17bcbfd0e737b52d783', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), index.h("input", { key: '71a2262124fd84b52dbffa18966eb1479e1ad95a', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
104
104
  }
105
105
  };
106
106
  // Figma's "UploadSimple" icon (3272:50330), exported SVG, recolored via currentColor.
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BYfMRtlW.js');
4
+
5
+ const bsGridCss = () => `:host{display:block;min-width:0}.bs-grid{display:grid;width:100%;box-sizing:border-box}`;
6
+
7
+ const SPACING_TOKENS = ['0', '25', '50', '75', '100', '150', '200', '250', '300', '350', '400', '500', '550', '600', '700', '800', '1000', '1200', '1500'];
8
+ const ALIGNS = ['start', 'center', 'end', 'stretch'];
9
+ const BsGrid = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ /** A number of equal columns (`"3"`), or a raw `grid-template-columns` value. Ignored when `minColumnWidth` is set. */
14
+ columns = '1';
15
+ /** Spacing token name for the gap on both axes, e.g. `"200"` for `--bs-spacing-200`. */
16
+ gap = '100';
17
+ /** Spacing token name for the row gap; overrides `gap` for rows. */
18
+ rowGap;
19
+ /** Spacing token name for the column gap; overrides `gap` for columns. */
20
+ columnGap;
21
+ /** CSS length (e.g. `240px`). Switches to auto-fit columns at least this wide and overrides `columns`. */
22
+ minColumnWidth;
23
+ /** Block-axis alignment of items within their cell. */
24
+ align = 'stretch';
25
+ template() {
26
+ const min = this.minColumnWidth?.trim();
27
+ if (min)
28
+ return `repeat(auto-fit, minmax(min(100%, ${min}), 1fr))`;
29
+ const cols = (this.columns ?? '1').trim();
30
+ if (/^\d+$/.test(cols)) {
31
+ const n = parseInt(cols, 10);
32
+ return `repeat(${n > 0 ? n : 1}, minmax(0, 1fr))`;
33
+ }
34
+ return cols || 'repeat(1, minmax(0, 1fr))';
35
+ }
36
+ token(value) {
37
+ const v = value?.trim();
38
+ return `var(--bs-spacing-${v && SPACING_TOKENS.includes(v) ? v : '100'})`;
39
+ }
40
+ render() {
41
+ const gapValue = `var(--bs-grid-gap, ${this.token(this.gap)})`;
42
+ const row = this.rowGap ? this.token(this.rowGap) : gapValue;
43
+ const col = this.columnGap ? this.token(this.columnGap) : gapValue;
44
+ const align = ALIGNS.includes(this.align) ? this.align : 'stretch';
45
+ return (index.h("div", { key: 'a89d345eac5d88dd24b21606eb35b1f21e1b54dd', class: "bs-grid", part: "container", style: {
46
+ gridTemplateColumns: this.template(),
47
+ rowGap: `var(--bs-grid-row-gap, ${row})`,
48
+ columnGap: `var(--bs-grid-column-gap, ${col})`,
49
+ alignItems: align,
50
+ } }, index.h("slot", { key: 'f5676a0cc12cf0fafc04045b4fed50aee50d2995' })));
51
+ }
52
+ };
53
+ BsGrid.style = bsGridCss();
54
+
55
+ exports.bs_grid = BsGrid;
@@ -49,7 +49,7 @@ const BsIconButton = class {
49
49
  form.reset();
50
50
  };
51
51
  render() {
52
- return (index.h("button", { key: '3ac84a834ff924589ebf317bff14576905091bb7', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, index.h("span", { key: '2b913f9fdfa8bc0b5bbbd9ef55b2dc73718d260c', part: "icon", class: "bs-icon-button__icon" }, index.h("slot", { key: '6cbb10e814b9b179f9a3b99fae0e662ce351c607' }))));
52
+ return (index.h("button", { key: '285e98b32bc33089125e07f14c84b8c72cdc853b', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, index.h("span", { key: 'd91ec40e2d3e99ee3894e5c5c58f5b209b2ef545', part: "icon", class: "bs-icon-button__icon" }, index.h("slot", { key: '6718a31a0f5f20bed9a5c682ddf0e6d1b703748b' }))));
53
53
  }
54
54
  static get delegatesFocus() { return true; }
55
55
  static get formAssociated() { return true; }
@@ -22,8 +22,8 @@ const BsIconTile = class {
22
22
  render() {
23
23
  const labelled = !!this.label;
24
24
  return [
25
- index.h("div", { key: 'f23caf72680e3224fc8618cbebceac30590d36ce', part: "container", class: "bs-icon-tile", role: labelled ? 'img' : undefined, "aria-label": labelled ? this.label : undefined, "aria-hidden": labelled ? undefined : 'true' }, index.h("span", { key: '944d594e4492b30544f935b217691ec7e53f398d', part: "icon", class: "bs-icon-tile__icon" }, index.h("slot", { key: 'cd62ccaf12a2ff398d506b865665eae42b2e43ff', onSlotchange: (ev) => (this.hasCustomIcon = hasContent(ev.target)) }), !this.hasCustomIcon && (GLYPHS[this.intent] ?? GLYPHS.default))),
26
- index.h("span", { key: 'f33a9fa50a2db0aee33fd8346681a5f56f22f685', part: "text", class: { 'bs-icon-tile__text': true, 'bs-icon-tile__text--visible': this.hasText } }, index.h("slot", { key: 'cb79316ee18a13c4f8d0dcb1d2271a22a6e71471', name: "text", onSlotchange: (ev) => (this.hasText = ev.target.assignedNodes().length > 0) })),
25
+ index.h("div", { key: '47586c94633cb072243559352fff92ffc178b59e', part: "container", class: "bs-icon-tile", role: labelled ? 'img' : undefined, "aria-label": labelled ? this.label : undefined, "aria-hidden": labelled ? undefined : 'true' }, index.h("span", { key: 'af1f942a94eed409beaaf6845eee09003ef70fd4', part: "icon", class: "bs-icon-tile__icon" }, index.h("slot", { key: 'be9df10596772e84a65d4de467117ea6c6a13c29', onSlotchange: (ev) => (this.hasCustomIcon = hasContent(ev.target)) }), !this.hasCustomIcon && (GLYPHS[this.intent] ?? GLYPHS.default))),
26
+ index.h("span", { key: '0522505b1001e511e5c2446025a05b6e80ef0176', part: "text", class: { 'bs-icon-tile__text': true, 'bs-icon-tile__text--visible': this.hasText } }, index.h("slot", { key: '0fc0bb97e5b23a984bcd64eafc0133eb93782c2f', name: "text", onSlotchange: (ev) => (this.hasText = ev.target.assignedNodes().length > 0) })),
27
27
  ];
28
28
  }
29
29
  };
@@ -69,7 +69,7 @@ const BsInlineTab = class {
69
69
  };
70
70
  render() {
71
71
  const iconOnly = this.hasIcon && !this.hasLabel;
72
- return (index.h("button", { key: 'bccfcaa980bc351de48dc6e0611614721f7e63aa', type: "button", part: "tab", role: "tab", class: `bs-inline-tab ${this.selected ? 'bs-inline-tab--selected' : ''} ${this.disabled ? 'bs-inline-tab--disabled' : ''} ${iconOnly ? 'bs-inline-tab--icon-only' : ''} ${this.hasIcon ? 'bs-inline-tab--has-icon' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, tabIndex: this.tabbable === undefined ? undefined : this.tabbable ? 0 : -1, onClick: this.onClick }, index.h("span", { key: 'f9bb9caedc8fb34d90dd23a14e431714d2175389', part: "icon", class: `bs-inline-tab__icon ${this.hasIcon ? 'bs-inline-tab__icon--has-content' : ''}` }, index.h("slot", { key: '457be6231cd41bfe12198cda4780bff83af84d52', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: 'dea0e6da1a85682c7e04c93bb6c07165b720e168', part: "label", class: `bs-inline-tab__label ${this.hasLabel ? 'bs-inline-tab__label--has-content' : ''}` }, index.h("slot", { key: '6e2c366f47f47a976cdcc667222e281306dbfc63', onSlotchange: this.onLabelSlotchange }))));
72
+ return (index.h("button", { key: 'f1e23c86e704fca62991ceaf662a93aae674728f', type: "button", part: "tab", role: "tab", class: `bs-inline-tab ${this.selected ? 'bs-inline-tab--selected' : ''} ${this.disabled ? 'bs-inline-tab--disabled' : ''} ${iconOnly ? 'bs-inline-tab--icon-only' : ''} ${this.hasIcon ? 'bs-inline-tab--has-icon' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, tabIndex: this.tabbable === undefined ? undefined : this.tabbable ? 0 : -1, onClick: this.onClick }, index.h("span", { key: '67bcaa27f2e31e9fe6e96b7c76282c007ae26645', part: "icon", class: `bs-inline-tab__icon ${this.hasIcon ? 'bs-inline-tab__icon--has-content' : ''}` }, index.h("slot", { key: '207eb1515e056ed6d84ecf6a88e33e1c0d36b5d6', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: 'bb75375e4cadbcfb27b56ff27df160ad5537b97f', part: "label", class: `bs-inline-tab__label ${this.hasLabel ? 'bs-inline-tab__label--has-content' : ''}` }, index.h("slot", { key: 'f0b7ff382a8b2d5427def19194a19a18ca057821', onSlotchange: this.onLabelSlotchange }))));
73
73
  }
74
74
  };
75
75
  BsInlineTab.style = bsInlineTabCss();
@@ -368,10 +368,10 @@ const BsInput = class {
368
368
  return (index.h("div", { part: "field", class: `bs-input__field bs-input__field--pin ${errorClass} ${disabledClass}` }, Array.from({ length: this.length }).map((_, i) => (index.h("input", { id: i === 0 ? 'control' : undefined, ref: el => (this.pinInputs[i] = el), part: "control", class: "bs-input__pin-cell", type: "text", inputMode: "numeric", maxLength: 1, value: this.value[i] ?? '', disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, onInput: this.onPinInput(i), onKeyDown: this.onPinKeydown(i) })))));
369
369
  }
370
370
  render() {
371
- return (index.h("div", { key: 'eb166070c898f3bf1e0d994265e5ad3adc1d7172', class: `bs-input ${this.error ? 'bs-input--error' : ''}` }, this.label && (
371
+ return (index.h("div", { key: 'ec191e3590785654e3701c7c49b1643f671dcc16', class: `bs-input ${this.error ? 'bs-input--error' : ''}` }, this.label && (
372
372
  // "control" is a fixed id, not a generated one -- safe because Shadow DOM scopes ids
373
373
  // to this instance's own shadow root, so it can never collide with another bs-input.
374
- index.h("label", { key: '1d02b7a6901c87c68ff6b91c03bc8099cfb823e6', part: "label", class: "bs-input__label", htmlFor: "control" }, this.label, this.required && (index.h("span", { key: '8ef20b2be514160fbdf37d046b59b0009b07ece2', part: "required", class: "bs-input__required", "aria-hidden": "true" }, "*")))), this.type === 'pin' ? this.renderPinField() : this.type === 'initials' ? this.renderInitialsField() : this.renderField(), this.error ? (index.h("span", { id: "description-or-error", part: "error", class: "bs-input__error" }, index.h("svg", { part: "error-icon", class: "bs-input__error-icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, index.h("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", "stroke-width": "1.2" }), index.h("path", { d: "M8 5V8.5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round" }), index.h("circle", { cx: "8", cy: "11", r: "0.75", fill: "currentColor" })), this.error)) : this.description ? (index.h("span", { id: "description-or-error", part: "description", class: "bs-input__description" }, this.description)) : null));
374
+ index.h("label", { key: '264558031d7bdf104254724ad1891c893668da60', part: "label", class: "bs-input__label", htmlFor: "control" }, this.label, this.required && (index.h("span", { key: '225d41e84484f1f160765a9f01e49a0bd850650c', part: "required", class: "bs-input__required", "aria-hidden": "true" }, "*")))), this.type === 'pin' ? this.renderPinField() : this.type === 'initials' ? this.renderInitialsField() : this.renderField(), this.error ? (index.h("span", { id: "description-or-error", part: "error", class: "bs-input__error" }, index.h("svg", { part: "error-icon", class: "bs-input__error-icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, index.h("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", "stroke-width": "1.2" }), index.h("path", { d: "M8 5V8.5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round" }), index.h("circle", { cx: "8", cy: "11", r: "0.75", fill: "currentColor" })), this.error)) : this.description ? (index.h("span", { id: "description-or-error", part: "description", class: "bs-input__description" }, this.description)) : null));
375
375
  }
376
376
  static get delegatesFocus() { return true; }
377
377
  static get formAssociated() { return true; }
@@ -422,7 +422,7 @@ const BsMenu = class {
422
422
  items[next].shadowRoot?.querySelector('button')?.focus();
423
423
  }
424
424
  render() {
425
- return (index.h("div", { key: '931d856111c209026ceecfc7292336e3ffc95348', part: "list", class: "bs-menu", role: "menu" }, index.h("slot", { key: '773aeb60e85fd3c802da4dc9e78126f4a4543965' })));
425
+ return (index.h("div", { key: '0477b2c9c46e8f5e325cac9a4dbaab8bc750643b', part: "list", class: "bs-menu", role: "menu" }, index.h("slot", { key: 'e1c588bc649544c797b657dd0d5262415e5a60a4' })));
426
426
  }
427
427
  };
428
428
  BsMenu.style = bsMenuCss();
@@ -451,7 +451,7 @@ const BsMenuItem = class {
451
451
  this.bsSelect.emit();
452
452
  };
453
453
  render() {
454
- return (index.h("button", { key: '1e0f7b552625b10087b75d9354e9e158cda10732', type: "button", part: "item", role: "menuitem", class: `bs-menu-item ${this.disabled ? 'bs-menu-item--disabled' : ''}`, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onClick }, index.h("span", { key: '8ec17400e5157f4d34a9f67cb298912f430e4524', part: "icon", class: `bs-menu-item__icon ${this.hasIcon ? 'bs-menu-item__icon--has-content' : ''}` }, index.h("slot", { key: '3641aa2735310ada27c68c90a42f18489e77f0e9', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '9c60cb506418e1432b594b0f2ce8f9c4cbf925f6', part: "label", class: "bs-menu-item__label" }, index.h("slot", { key: '6369f08ae8797a21d498e89b701df3858e4ce575' }))));
454
+ return (index.h("button", { key: 'dc11eb96712a008d318aa3c4220202ecd7b7ce32', type: "button", part: "item", role: "menuitem", class: `bs-menu-item ${this.disabled ? 'bs-menu-item--disabled' : ''}`, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onClick }, index.h("span", { key: 'f38f1192079cd6ddc68035f649f09c6afa2fe3d5', part: "icon", class: `bs-menu-item__icon ${this.hasIcon ? 'bs-menu-item__icon--has-content' : ''}` }, index.h("slot", { key: '2d49ecdd471e752267543323b637466af12dbd58', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '947b88175af07b7523d38786224c6e77b76de4ae', part: "label", class: "bs-menu-item__label" }, index.h("slot", { key: 'c564ce8f13882cc33f58fc45d7f8a6ddfc86f31d' }))));
455
455
  }
456
456
  };
457
457
  BsMenuItem.style = bsMenuItemCss();
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BYfMRtlW.js');
4
+
5
+ const bsListItemCss = () => `:host{display:block;width:100%;box-sizing:border-box;outline:none;color:var(--bs-list-item-color);--bs-list-item-min-height:var(--bs-spacing-1000);--bs-list-item-padding-y:var(--bs-spacing-150);--bs-list-item-padding-x:var(--bs-spacing-200);--bs-list-item-gap:var(--bs-spacing-200);--bs-list-item-content-gap:var(--bs-spacing-25);--bs-list-item-radius:var(--bs-border-radius-100);--bs-list-item-bg:transparent;--bs-list-item-bg-hover:var(--bs-surface-hover);--bs-list-item-bg-pressed:var(--bs-surface-pressed);--bs-list-item-bg-focus:var(--bs-surface-focus);--bs-list-item-bg-selected:var(--bs-surface-selected);--bs-list-item-bg-selected-hover:var(--bs-surface-selected-hover);--bs-list-item-bg-selected-pressed:var(--bs-surface-selected-pressed);--bs-list-item-bg-selected-focus:var(--bs-surface-selected-focus);--bs-list-item-bg-disabled:var(--bs-surface-action-disabled);--bs-list-item-color:var(--bs-text-default);--bs-list-item-color-disabled:var(--bs-text-on-disabled);--bs-list-item-focus-ring:var(--bs-border-neutral-focus);--bs-list-item-image-width:72px;--bs-list-item-image-height:56px}.bs-list-item{box-sizing:border-box;display:flex;align-items:center;gap:var(--bs-list-item-gap);width:100%;min-height:var(--bs-list-item-min-height);padding:var(--bs-list-item-padding-y) var(--bs-list-item-padding-x);border-radius:var(--bs-list-item-radius);overflow:clip;background:var(--bs-list-item-bg);color:var(--bs-list-item-color);font-family:inherit;font-size:var(--bs-font-size-md);line-height:calc(var(--bs-line-height-body-md) * 1px);transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}:host([selected]) .bs-list-item{background:var(--bs-list-item-bg-selected)}:host(.bs-list-item--interactive){cursor:pointer}:host(.bs-list-item--interactive:hover) .bs-list-item{background:var(--bs-list-item-bg-hover)}:host(.bs-list-item--interactive[selected]:hover) .bs-list-item{background:var(--bs-list-item-bg-selected-hover)}:host(.bs-list-item--interactive:active) .bs-list-item{background:var(--bs-list-item-bg-pressed)}:host(.bs-list-item--interactive[selected]:active) .bs-list-item{background:var(--bs-list-item-bg-selected-pressed)}:host(:focus-visible) .bs-list-item{background:var(--bs-list-item-bg-focus);outline:2px solid var(--bs-list-item-focus-ring);outline-offset:2px}:host([selected]:focus-visible) .bs-list-item{background:var(--bs-list-item-bg-selected-focus)}:host([disabled]){color:var(--bs-list-item-color-disabled);cursor:default}:host([disabled]) .bs-list-item{background:var(--bs-list-item-bg-disabled);color:var(--bs-list-item-color-disabled)}:host([disabled]) ::slotted(img),:host([disabled]) ::slotted(bs-avatar){opacity:0.5}.bs-list-item__leading{display:none;flex-shrink:0;align-items:center}.bs-list-item__leading--has-content{display:flex}::slotted(img[slot='leading']){display:block;width:var(--bs-list-item-image-width);height:var(--bs-list-item-image-height);border-radius:var(--bs-border-radius-100);object-fit:cover}::slotted(svg[slot='leading']){width:32px;height:32px}.bs-list-item__content{display:flex;flex-direction:column;gap:var(--bs-list-item-content-gap);flex:1 1 0;min-width:0}.bs-list-item__label{font-weight:var(--bs-font-weight-semibold)}.bs-list-item__description,.bs-list-item__support{font-weight:var(--bs-font-weight-regular)}.bs-list-item__trailing{display:none;flex-shrink:0;align-items:center;height:32px}.bs-list-item__trailing--shown{display:flex}@media (prefers-reduced-motion: reduce){.bs-list-item{transition:none}}`;
6
+
7
+ const BsListItem = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.bsItemClick = index.createEvent(this, "bsItemClick");
11
+ }
12
+ get el() { return index.getElement(this); }
13
+ /** First text line (semibold). */
14
+ label = null;
15
+ /** Second text line (the "paragraph"). */
16
+ description = null;
17
+ /** Optional third text line. */
18
+ supportText = null;
19
+ /** Marks the row as selected. Managed by the parent `bs-list` when it is `selectable`. */
20
+ selected = false;
21
+ /** Disables the row: dimmed, not focusable, no click event. */
22
+ disabled = false;
23
+ /** Shows a trailing caret (unless the `trailing` slot has content). */
24
+ showArrow = false;
25
+ /** Identifies the item; emitted by `bsItemClick` and matched against `bs-list`'s `value`. */
26
+ value = null;
27
+ /** Makes a standalone row a focusable `role="button"` that emits `bsItemClick`. */
28
+ interactive = false;
29
+ /** Set by the parent `bs-list`: `listitem` (plain list) or `option` (selectable list). Do not set by hand. */
30
+ selectionRole = null;
31
+ hasLeading = false;
32
+ hasTrailing = false;
33
+ hasDefault = false;
34
+ /** Fires on click / Enter / Space when the row is interactive and not disabled. Payload is `value`. */
35
+ bsItemClick;
36
+ get isInteractive() {
37
+ return this.selectionRole === 'option' || this.interactive;
38
+ }
39
+ activate() {
40
+ if (this.disabled || !this.isInteractive)
41
+ return;
42
+ this.bsItemClick.emit(this.value);
43
+ }
44
+ onClick() {
45
+ this.activate();
46
+ }
47
+ onKeyDown(ev) {
48
+ if (ev.target !== this.el)
49
+ return;
50
+ if (ev.key === 'Enter' || ev.key === ' ') {
51
+ ev.preventDefault();
52
+ this.activate();
53
+ }
54
+ }
55
+ slotHas = (ev) => ev.target.assignedNodes({ flatten: true }).some(n => n.nodeType === 1 || (n.textContent || '').trim() !== '');
56
+ render() {
57
+ const interactive = this.isInteractive;
58
+ const role = this.selectionRole === 'option' ? 'option' : this.selectionRole === 'listitem' ? 'listitem' : this.interactive ? 'button' : undefined;
59
+ const standaloneFocusable = this.interactive && !this.selectionRole && !this.disabled;
60
+ const showTrailing = this.showArrow || this.hasTrailing;
61
+ return (index.h(index.Host, { key: 'b7e1ad2635a02bace4a6f53a397ac9a70f887b43', role: role, tabindex: standaloneFocusable ? '0' : undefined, "aria-selected": this.selectionRole === 'option' ? String(this.selected) : undefined, "aria-disabled": this.disabled ? 'true' : undefined, class: { 'bs-list-item--interactive': interactive && !this.disabled } }, index.h("div", { key: 'b197e2ef9b36a003fef75d2c47588483b33a63d5', part: "container", class: "bs-list-item" }, index.h("div", { key: '3cdd3bb2bdf76bf4388299e1097b59a8c0902363', part: "leading", class: { 'bs-list-item__leading': true, 'bs-list-item__leading--has-content': this.hasLeading } }, index.h("slot", { key: 'e4d3e156c25fb8f3063ae6c9de843e1ed60458a1', name: "leading", onSlotchange: (e) => (this.hasLeading = this.slotHas(e)) })), index.h("div", { key: '3a8c79aa044f103d2618333929bfed0cdce870e7', part: "content", class: "bs-list-item__content" }, !this.hasDefault && this.label && (index.h("div", { key: 'a0123e4b7663553140f3dd17c95a450edc379bd8', part: "label", class: "bs-list-item__label" }, this.label)), !this.hasDefault && this.description && (index.h("div", { key: '8275c24aed7bda59f7472d8d0ded4e830527009b', part: "description", class: "bs-list-item__description" }, this.description)), !this.hasDefault && this.supportText && (index.h("div", { key: '06e6ba4b185af790ed46ae362b6aa2cc0376123b', part: "support-text", class: "bs-list-item__support" }, this.supportText)), index.h("slot", { key: '00302f710e6433920cf7bd91730214ebcfccad4d', onSlotchange: (e) => (this.hasDefault = this.slotHas(e)) })), index.h("div", { key: '8c9506c0b3513a2fca1ad62702c7aa9bc118141b', part: "trailing", class: { 'bs-list-item__trailing': true, 'bs-list-item__trailing--shown': showTrailing } }, index.h("slot", { key: '3a3ec60f0483ba864addd4669ea6d1e6f261bb78', name: "trailing", onSlotchange: (e) => (this.hasTrailing = this.slotHas(e)) }, this.showArrow && (index.h("svg", { key: 'cab7a817530222313bec049106a68e622a6b14e2', viewBox: "0 0 32 32", width: "32", height: "32", fill: "none", "aria-hidden": "true" }, index.h("path", { key: 'ad794e820e1e36c1f4a22d9aac789a42c25e9056', d: "M12 7L21 16L12 25", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))));
62
+ }
63
+ };
64
+ BsListItem.style = bsListItemCss();
65
+
66
+ exports.bs_list_item = BsListItem;
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BYfMRtlW.js');
4
+
5
+ const bsListCss = () => `:host{display:block;--bs-list-gap:0;--bs-list-divider-color:var(--bs-border-neutral-container)}.bs-list{display:flex;flex-direction:column;gap:var(--bs-list-gap)}:host([dividers]) ::slotted(bs-list-item:not(:last-child)){border-bottom:1px solid var(--bs-list-divider-color)}`;
6
+
7
+ const BsList = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.bsChange = index.createEvent(this, "bsChange");
11
+ }
12
+ get el() { return index.getElement(this); }
13
+ /** Single-selection mode: role="listbox", rows are `option`s with roving tabindex. */
14
+ selectable = false;
15
+ /** `value` of the selected item (selectable mode). */
16
+ value = null;
17
+ /** Draws a 1px separator between rows. */
18
+ dividers = false;
19
+ /** Accessible name of the list. */
20
+ ariaLabel = null;
21
+ /** Fires with the new `value` when the user changes the selection. */
22
+ bsChange;
23
+ onChange() {
24
+ this.sync();
25
+ }
26
+ componentDidLoad() {
27
+ this.sync();
28
+ }
29
+ items() {
30
+ return Array.from(this.el.children).filter(c => c.tagName === 'BS-LIST-ITEM');
31
+ }
32
+ enabled() {
33
+ return this.items().filter(i => !i.disabled);
34
+ }
35
+ sync() {
36
+ const items = this.items();
37
+ items.forEach(i => {
38
+ i.selectionRole = this.selectable ? 'option' : 'listitem';
39
+ if (this.selectable)
40
+ i.selected = this.value != null && i.value === this.value;
41
+ i.removeAttribute('tabindex');
42
+ });
43
+ if (!this.selectable)
44
+ return;
45
+ const enabled = this.enabled();
46
+ const target = enabled.find(i => i.selected) || enabled[0];
47
+ enabled.forEach(i => i.setAttribute('tabindex', i === target ? '0' : '-1'));
48
+ }
49
+ rove(item) {
50
+ this.enabled().forEach(i => i.setAttribute('tabindex', i === item ? '0' : '-1'));
51
+ }
52
+ onItemClick(ev) {
53
+ if (!this.selectable)
54
+ return;
55
+ const item = ev.target;
56
+ if (item.disabled || !this.items().includes(item))
57
+ return;
58
+ ev.stopPropagation();
59
+ this.rove(item);
60
+ if (this.value === item.value)
61
+ return;
62
+ this.value = item.value;
63
+ this.sync();
64
+ this.rove(item);
65
+ this.bsChange.emit(this.value);
66
+ }
67
+ onKeyDown(ev) {
68
+ if (!this.selectable)
69
+ return;
70
+ const enabled = this.enabled();
71
+ const current = enabled.indexOf(ev.target);
72
+ if (current === -1)
73
+ return;
74
+ let next = -1;
75
+ if (ev.key === 'ArrowDown')
76
+ next = Math.min(current + 1, enabled.length - 1);
77
+ else if (ev.key === 'ArrowUp')
78
+ next = Math.max(current - 1, 0);
79
+ else if (ev.key === 'Home')
80
+ next = 0;
81
+ else if (ev.key === 'End')
82
+ next = enabled.length - 1;
83
+ if (next === -1)
84
+ return;
85
+ ev.preventDefault();
86
+ this.rove(enabled[next]);
87
+ enabled[next].focus();
88
+ }
89
+ render() {
90
+ return (index.h("div", { key: '0f3e4a90f79c77ab2a67e88c4480f0c5785e49eb', part: "list", class: "bs-list", role: this.selectable ? 'listbox' : 'list', "aria-label": this.ariaLabel ?? undefined }, index.h("slot", { key: '7b5618d45ad58385f3d27565bdfee3e4bb5eac2e', onSlotchange: () => this.sync() })));
91
+ }
92
+ static get watchers() { return {
93
+ "value": [{
94
+ "onChange": 0
95
+ }],
96
+ "selectable": [{
97
+ "onChange": 0
98
+ }]
99
+ }; }
100
+ };
101
+ BsList.style = bsListCss();
102
+
103
+ exports.bs_list = BsList;
@@ -63,7 +63,7 @@ const BsMessageList = class {
63
63
  }
64
64
  };
65
65
  render() {
66
- return (index.h("div", { key: '188f548bf2663418ebd3dcda57fbd286b10c7eeb', class: "bs-message-list" }, index.h("div", { key: 'f6bd80892f1b9d08215027239d6de8736b468340', part: "viewport", class: "bs-message-list__viewport", role: "log", "aria-live": "polite", tabindex: "0", ref: el => (this.viewport = el), onScroll: this.onScroll }, index.h("slot", { key: '8b7670ce5566d4eb946693e67cc57ae9ad6243b4' })), this.showScrollButton && (index.h("bs-icon-button", { key: '597edb7c5f81db986839e403961d9b4a274b34c3', part: "scroll-to-latest", class: "bs-message-list__scroll", variant: "neutral", ariaLabel: this.scrollToLatestLabel, onClick: () => this.scrollToLatest() }, index.h("svg", { key: '5b95b7a87560b5e652834a132da9eee9b4295b59', width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, index.h("path", { key: 'd93260a40a73539d9a712bc4928d947d819b8054', d: "M8 3v10M3.5 8.5L8 13l4.5-4.5", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))));
66
+ return (index.h("div", { key: 'a45bbcfbce995eedba2fafe705a98d4c972cf1a3', class: "bs-message-list" }, index.h("div", { key: 'b4cec2bee1ada6b76545b2445ba3e63be67203de', part: "viewport", class: "bs-message-list__viewport", role: "log", "aria-live": "polite", tabindex: "0", ref: el => (this.viewport = el), onScroll: this.onScroll }, index.h("slot", { key: '43fe188e8b0d1f7f3d45b9739a09036e2aa5731e' })), this.showScrollButton && (index.h("bs-icon-button", { key: 'b1e695d0ce230ec1c1af4509b3db07bb1a7d0a8f', part: "scroll-to-latest", class: "bs-message-list__scroll", variant: "neutral", ariaLabel: this.scrollToLatestLabel, onClick: () => this.scrollToLatest() }, index.h("svg", { key: '5e7ce1017e94b41f5f7f558ecba16ae1d29e5827', width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, index.h("path", { key: '8ab498f7fec4e09442a2b4e2bec74aafc16435fb', d: "M8 3v10M3.5 8.5L8 13l4.5-4.5", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))));
67
67
  }
68
68
  };
69
69
  BsMessageList.style = bsMessageListCss();
@@ -17,7 +17,7 @@ const BsMessage = class {
17
17
  /** Delivery/render state. `error` uses error colours; `pending` dims the bubble and sets `aria-busy`. */
18
18
  status = 'default';
19
19
  render() {
20
- return (index.h("div", { key: '76e0e1d307de73bca97c5a79b3ff607278311d3e', class: "bs-message", "aria-busy": this.status === 'pending' ? 'true' : undefined }, index.h("div", { key: '00c91e1ab7a3cf9e81401e36b50b331c0d7d2735', part: "avatar", class: "bs-message__avatar" }, index.h("slot", { key: 'a3b0577cbafcd699ecf37c3299757f76e88cd572', name: "avatar" })), index.h("div", { key: '10b3dc86e24ae0860fffccedb5aaa9fed78f44c5', class: "bs-message__column" }, index.h("bs-card", { key: '3a88a28a5e9cb9898562860daf576b4280a8e601', part: "container", class: "bs-message__bubble", surface: "base" }, index.h("div", { key: '95a9c8394c55789cbf7a976b16466d7a9593fae6', part: "content", class: "bs-message__content" }, index.h("slot", { key: '81c214388b65904f4e15bfae23ddbc34ed35e267' }))), index.h("div", { key: '27768ab59923180c6f31f7bce893fefa11c967d1', part: "footer", class: "bs-message__footer" }, index.h("slot", { key: '606f025032c40e01c2490b1d18441c1d2557beac', name: "footer" })), index.h("div", { key: '79acf174363c391a37ca1907ececf87c9c1cdb45', part: "timestamp", class: "bs-message__timestamp" }, index.h("slot", { key: '08060d46ea218a3c9315bd2fc89165c605e54ddd', name: "timestamp" }, this.timestamp && index.h("time", { key: 'a9829bf9725b3c41eb5032427822a2d6fbb2cb6f', dateTime: this.datetime }, this.timestamp))))));
20
+ return (index.h("div", { key: 'ca6cc1e08eca207f6aa9ff8f6dcf469f43935e82', class: "bs-message", "aria-busy": this.status === 'pending' ? 'true' : undefined }, index.h("div", { key: '4ca4239579648f898b88d39c73ec79d06afd1111', part: "avatar", class: "bs-message__avatar" }, index.h("slot", { key: 'e0fee937ebe6fb105a45b4f24ceee6c14fa3c5a1', name: "avatar" })), index.h("div", { key: '396fbeec6646fcae8c0b442cf15930450760b44c', class: "bs-message__column" }, index.h("bs-card", { key: 'c39915eda480acbdc8d463e3ef709cd76843d6fa', part: "container", class: "bs-message__bubble", surface: "base" }, index.h("div", { key: '54f53b103dbef163bd7afe903ceac965bc5fb881', part: "content", class: "bs-message__content" }, index.h("slot", { key: '6b4bb7918c443e38e3ac2e409e4207e11a071cb2' }))), index.h("div", { key: 'a1145d6701c160117fc0309647f9026abe454573', part: "footer", class: "bs-message__footer" }, index.h("slot", { key: '9c93b91f4748756b8ce07df059c1d9bed4928e21', name: "footer" })), index.h("div", { key: '26da0cad53e92d380bcfeef12ad61200f015d3a1', part: "timestamp", class: "bs-message__timestamp" }, index.h("slot", { key: 'c61bfb5fd138227897260a95bdcc9355e0668f86', name: "timestamp" }, this.timestamp && index.h("time", { key: '0e1a0c48657683613e9f02bd126a79471e6e9d2d', dateTime: this.datetime }, this.timestamp))))));
21
21
  }
22
22
  };
23
23
  BsMessage.style = bsMessageCss();
@@ -93,7 +93,7 @@ const BsNavigationDrawerItem = class {
93
93
  // incorrectly also toggle this parent row on every child click. Both are wrapped in a
94
94
  // `display: contents` container so render() still returns a single root node (this codebase's
95
95
  // convention, e.g. bs-input.tsx) without that wrapper affecting layout at all.
96
- return (index.h("div", { key: '1cb752ce9bcf0960e864906fbf70d6627b8352eb', class: "bs-navigation-drawer-item__root" }, index.h("button", { key: 'e7ff152d751f4f8333c48b3ba4bbed10a9bcbb4b', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (index.h("span", { key: '91b0139bc50e6bb9dc51b30de3e0a365e3e5658b', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, index.h("slot", { key: 'cc6be4568c6e10e82412f0d9beba110e53715257', name: "icon", onSlotchange: this.onIconSlotchange }))), index.h("span", { key: '95e319ebf4799f86e1eb686c849ced443a6507ae', part: "label", class: "bs-navigation-drawer-item__label" }, index.h("slot", { key: 'c2e4554f7117620100c569b6d2da2c45df9baf33' })), this.expandable && (index.h("span", { key: 'c262c787a9db3c6453bbfb2082c0e1677d443de4', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, index.h(ChevronDownIcon, { key: '7ad34ca909681f60d6c920e9304b4e653e9bbfe9' })))), this.expandable && (index.h("span", { key: '497d8bd4f5d2d6b03a748099ea332074f4446497', part: "children", class: "bs-navigation-drawer-item__children" }, index.h("slot", { key: '87c4b0489b654453eb9338f2d9b52b933366908c', name: "children" })))));
96
+ return (index.h("div", { key: '85f2f7433acb876df6c07e8e28180d65267b968d', class: "bs-navigation-drawer-item__root" }, index.h("button", { key: '51efff117f3410556a8bf69bb145354310891ab6', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (index.h("span", { key: 'e118e88762d490ce60445627ba165d478d53e384', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, index.h("slot", { key: '93232818f6c070e5b9f628f93d62d339298a63d5', name: "icon", onSlotchange: this.onIconSlotchange }))), index.h("span", { key: '0aaa3791bed4e8c42646c574ee75e15193257aca', part: "label", class: "bs-navigation-drawer-item__label" }, index.h("slot", { key: '1000297ddcf737d1aac9d57fd62992bcd8698956' })), this.expandable && (index.h("span", { key: 'aaaa08d8c0409cc88183a94a0ac8ef7a38eb420a', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, index.h(ChevronDownIcon, { key: '48436ef0e29ef13d5cf3e7517c04c908c9678934' })))), this.expandable && (index.h("span", { key: '974bcce5691835dd2c0719faf9dd27028e185677', part: "children", class: "bs-navigation-drawer-item__children" }, index.h("slot", { key: '06b88afc18da4e730d2a26ecd51ab1cac77e4f94', name: "children" })))));
97
97
  }
98
98
  };
99
99
  // 16x16 native viewBox (not a 24x24 icon scaled down) -- authored directly at display size, per
@@ -180,11 +180,11 @@ const BsNavigationDrawer = class {
180
180
  };
181
181
  render() {
182
182
  const classes = ['bs-navigation-drawer', this.mobile ? 'bs-navigation-drawer--overlay' : '', this.overlayOpen ? 'bs-navigation-drawer--open' : ''].filter(Boolean).join(' ');
183
- return (index.h(index.Host, { key: '4ceea7fddea0092f942f3499987ee80ef4f4e8f3', "data-overlay": this.mobile ? '' : undefined }, this.mobile && index.h("div", { key: 'fbc83c1f7cc93f0afe6222b6d4afe256375c6537', part: "backdrop", class: "bs-navigation-drawer__backdrop", onClick: this.requestClose }), index.h("nav", { key: '26f09c3cd1662515bf7ef69826980b70d9c142f3', ref: el => (this.navRef = el), class: classes, "aria-label": this.heading,
183
+ return (index.h(index.Host, { key: '42d5e96011b592d6e9059f9013ba880f18eb70c9', "data-overlay": this.mobile ? '' : undefined }, this.mobile && index.h("div", { key: 'a540c7afbaae18f82427f52bb11732db341652fe', part: "backdrop", class: "bs-navigation-drawer__backdrop", onClick: this.requestClose }), index.h("nav", { key: '14ac3fff472e789fb4b7f956f22815c8500d8614', ref: el => (this.navRef = el), class: classes, "aria-label": this.heading,
184
184
  // Stays a plain <nav> landmark in every state: ARIA does not allow role="dialog" on <nav>
185
185
  // (axe: aria-allowed-role). Modality is behavioral -- focus is held inside, the page behind is
186
186
  // scrimmed, Escape closes -- rather than announced through aria-modal.
187
- tabIndex: this.mobile ? -1 : undefined }, this.showLogo && (index.h("div", { key: 'be5e1b6d08041b488fda977553e3c90f55ce3232', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, index.h("bs-logo", { key: 'aa24da803069235483a36e0896a6a0b32ed8a20a', variant: "full", background: this.logoBackground }))), this.showLogo && (index.h("div", { key: 'cda0395a72b95f6b9a7178c218d68b11dba1d768', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, index.h("bs-logo", { key: '53f13ca91f9e39ea89df909643102d9172bdb815', variant: "mark", background: this.logoBackground }))), index.h("div", { key: '7e73d0ef62745fca7cc385382e0b4335518026ce', class: "bs-navigation-drawer__title-row" }, index.h("span", { key: '39f056417b0cfaaa9e5cc71b612c3c109574a159', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (index.h("button", { key: 'bb3e2190475ea000daaac66dfab6c1ff6fda8d40', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? this.expandLabel : this.collapseLabel, "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, index.h(CaretLeftIcon, { key: '3f37c1b7bd9c53eec44ba751c95e4e95bf3920f6' })))), index.h("div", { key: '98af0d2bbec07f8520c67d4e9f102449106b6498', part: "search", class: "bs-navigation-drawer__search" }, index.h("slot", { key: '223dc57c477dfb3accdb690754d63132c562f867', name: "search" })), index.h("button", { key: 'dfa75a9b3b29dcda5c140905b055ff19669f7af5', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": this.searchLabel, onClick: this.onSearchTriggerClick }, index.h(SearchIcon, { key: '98aed385273752c647ccef54fa380f92ae65129b' })), index.h("div", { key: 'cf6cc371959a7fe81ac7fed27176d78370891f09', part: "items", class: "bs-navigation-drawer__items" }, index.h("slot", { key: '0ef6002bac2fbea8430ca6e049f3ce463ba4ec71' })))));
187
+ tabIndex: this.mobile ? -1 : undefined }, this.showLogo && (index.h("div", { key: '967456673797619dfa73899581cab755be52af3b', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, index.h("bs-logo", { key: 'f549a0ae8684bd3a3769f1804ba75788eab0fdbb', variant: "full", background: this.logoBackground }))), this.showLogo && (index.h("div", { key: '89ae0f3c46e353f7495a0084d79dd053027ef1fe', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, index.h("bs-logo", { key: '6f882163691596ddd61663a1f0988a5cc2c070e7', variant: "mark", background: this.logoBackground }))), index.h("div", { key: 'dc69df3f9231cd1108e9fa9cd5c19848cbcb63f7', class: "bs-navigation-drawer__title-row" }, index.h("span", { key: 'ae58f3e70c798282ad337666fbc2e45caa5c641f', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (index.h("button", { key: 'b44ab95a3631ff984565cfd2c1c37e37e4941bb1', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? this.expandLabel : this.collapseLabel, "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, index.h(CaretLeftIcon, { key: '75a698b86b7dff676cc161989cc6d7b28805c63f' })))), index.h("div", { key: 'd34097102039aeebb803dc4aba6a1a0fbd8e5dfb', part: "search", class: "bs-navigation-drawer__search" }, index.h("slot", { key: 'b15dede4663c582b609208cbbb84d9cd5b62c2b5', name: "search" })), index.h("button", { key: '39f0d260eb12c28467a507bd37ed5c113a976746', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": this.searchLabel, onClick: this.onSearchTriggerClick }, index.h(SearchIcon, { key: '81d77be5b7a36c537096feed0a9ffdc6f3bdfa9f' })), index.h("div", { key: '8b0d86a6a0b5215fa6a076cba11d237af86706b4', part: "items", class: "bs-navigation-drawer__items" }, index.h("slot", { key: '75a1f8fe4eee6f05d70ca8ceb4437fcf7f62f463' })))));
188
188
  }
189
189
  static get watchers() { return {
190
190
  "collapsed": [{
@@ -36,7 +36,7 @@ const BsNavigationHeader = class {
36
36
  render() {
37
37
  const showLogo = this.alignment !== 'with-navigation-drawer';
38
38
  const rootClasses = `bs-navigation-header bs-navigation-header--${this.alignment}`;
39
- return (index.h("header", { key: '13902b4fc78c50b646532b05b0628cd87795bbdc', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (index.h("a", { key: '98d3add96ab6da8f108b47ccb3317fddccf16fdd', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (index.h("bs-logo", { key: '3de6328cdced810f59e169adb9c894f357bb3362', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), index.h("div", { key: '3963c852293dd06990345d11c262eb437998b9a6', part: "left", class: "bs-navigation-header__left" }, index.h("slot", { key: '3d19c967ad4d6d2ac53e73623e26607ec60bc040', name: "left" })), index.h("div", { key: 'a4b7019e8df5d5d00163815058af7396c578e3f4', part: "right", class: "bs-navigation-header__right" }, index.h("slot", { key: '9e07a80b8a8e03b567e5112291f56055300e0e89', name: "right" }))));
39
+ return (index.h("header", { key: '15068c106978e045dba19165016adefaee9c639a', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (index.h("a", { key: '7040b0d89e0c10c62ca520cf75d5b7bdc7d2e09b', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (index.h("bs-logo", { key: '77c9baa735505031c3e5c2f8d784d21113a1a78e', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), index.h("div", { key: '1f2b44b9a8fc50c0736333bedcf91113e57bde00', part: "left", class: "bs-navigation-header__left" }, index.h("slot", { key: '40388c6c6d118ea1632a8aabfc5eb40504fafe42', name: "left" })), index.h("div", { key: '72567bab7f76ac21957a7efc57152faf27223344', part: "right", class: "bs-navigation-header__right" }, index.h("slot", { key: 'c83f0b591abf7093a566571b4811011e12d1fccb', name: "right" }))));
40
40
  }
41
41
  };
42
42
  BsNavigationHeader.style = bsNavigationHeaderCss();
@@ -74,7 +74,7 @@ const BsPagination = class {
74
74
  }
75
75
  render() {
76
76
  const pageList = this.getPageList();
77
- return (index.h("nav", { key: '96915c9c13aad90a4db232b78062618d99b3e48f', "aria-label": this.navLabel }, index.h("ul", { key: '57e51e0ab7da9ac5bfae840579195bee1d7b0642', part: "list", class: "bs-pagination__list" }, index.h("li", { key: '831d06deaa95f1992ee7fa80e54b672a05ca5c5c', part: "item", class: "bs-pagination__item" }, index.h("button", { key: '3b513f181a3f95aa39869f64eb023b27597e151d', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, index.h(ChevronLeftIcon, { key: 'e9dc1c534f7bccb9c4e30c91a2dc7b2344e4a2dd' }))), pageList.map((item, index$1) => item === 'ellipsis' ? (index.h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index$1}` }, index.h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, index.h(EllipsisIcon, null)))) : (index.h("li", { part: "item", class: "bs-pagination__item", key: item }, index.h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `${this.pageLabel} ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), index.h("li", { key: '2f24b7b2dfc20820eccf8805ae4f1036adfe4911', part: "item", class: "bs-pagination__item" }, index.h("button", { key: '2888093afa769f6bb9bf6b2d9c8ff111332bf7ab', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, index.h(ChevronRightIcon, { key: 'eaed42626409dc0a5784ed6f99cdb84c8fc2e1cb' }))))));
77
+ return (index.h("nav", { key: '75dc1aebd26bfde72fc782d2a6cc90470d17300b', "aria-label": this.navLabel }, index.h("ul", { key: 'b278033a46239b2f980982acba26d07cd607588a', part: "list", class: "bs-pagination__list" }, index.h("li", { key: '23b6606829b277afcd3cf513c653c9d74aefda91', part: "item", class: "bs-pagination__item" }, index.h("button", { key: '6c476e3baa00f2f2ed35f544b092b4d338a95070', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, index.h(ChevronLeftIcon, { key: '410770d471173960224a52b70ec05561ad0ccec0' }))), pageList.map((item, index$1) => item === 'ellipsis' ? (index.h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index$1}` }, index.h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, index.h(EllipsisIcon, null)))) : (index.h("li", { part: "item", class: "bs-pagination__item", key: item }, index.h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `${this.pageLabel} ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), index.h("li", { key: 'aaf337dd6800ab752d99bf74d4326f49036d93cb', part: "item", class: "bs-pagination__item" }, index.h("button", { key: 'faa08c19e7b57de953c61d94acda1002046d7462', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, index.h(ChevronRightIcon, { key: '1b6c790301b9e68b64854a8c989777d98134048a' }))))));
78
78
  }
79
79
  };
80
80
  function range(start, end) {
@@ -137,7 +137,7 @@ const BsPopover = class {
137
137
  }
138
138
  };
139
139
  render() {
140
- return (index.h("div", { key: 'e4e96eb40953abdd3f5f9a9169cfe2b9ad87d3b5', class: "bs-popover" }, index.h("div", { key: '6456d7cb3cba9e243015086095534cad82716711', part: "trigger", class: "bs-popover__trigger", "aria-haspopup": "true", "aria-expanded": String(this.open), "aria-controls": this.popupId, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown }, index.h("slot", { key: '1a1d545bf0afc0a59e4f9f7f29bf359cc2264c65', name: "trigger", ref: el => (this.triggerSlot = el) })), index.h("div", { key: '8a1e1e3ade63f2cba665368f3bd2659ce659ee18', part: "popup", id: this.popupId, class: "bs-popover__popup", tabindex: "-1", hidden: !this.open, ref: el => (this.popupEl = el) }, index.h("slot", { key: 'abdeeb2105d00487a43f23dd6021c61b533e8139' }))));
140
+ return (index.h("div", { key: '230678d7440e218c133a315f4a15f7136043fd44', class: "bs-popover" }, index.h("div", { key: 'dd514d3e6771a4adc2a90bbe097736db3df7e2e0', part: "trigger", class: "bs-popover__trigger", "aria-haspopup": "true", "aria-expanded": String(this.open), "aria-controls": this.popupId, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown }, index.h("slot", { key: 'ff258cd0e061ae599371f72599599d84d2a4e8a1', name: "trigger", ref: el => (this.triggerSlot = el) })), index.h("div", { key: '13396ff2f4e4bd65d725dd32dd0e39c072f32a79', part: "popup", id: this.popupId, class: "bs-popover__popup", tabindex: "-1", hidden: !this.open, ref: el => (this.popupEl = el) }, index.h("slot", { key: 'af116fe77709a8121e0c4bb4a3d49bd93bdc7c30' }))));
141
141
  }
142
142
  static get watchers() { return {
143
143
  "open": [{
@@ -35,13 +35,13 @@ const BsProgressLinear = class {
35
35
  render() {
36
36
  const isDeterminate = this.type === 'determinate';
37
37
  const value = this.clampedValue;
38
- return (index.h("div", { key: 'abdae797c319d17404ea15adf1b312c0f19e0ed9', part: "container", class: "bs-progress-linear" }, index.h("div", { key: 'ec250c3d5d93c6d6fd4c20d57ea7e7177dac2b91', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (index.h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
38
+ return (index.h("div", { key: 'a4393415d974b0f8a90db37007dfa934ba388043', part: "container", class: "bs-progress-linear" }, index.h("div", { key: '253c0fc25a269378c3c80710d1366d990691506b', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (index.h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
39
39
  // Figma's indeterminate bar is a soft "comet" gradient segment (transparent -> blue ->
40
40
  // transparent) sliding left-to-right across the track's full width in a loop -- the
41
41
  // same fade concept as bs-progress's indeterminate ring's conic-gradient comet tail,
42
42
  // but along a straight line via a linear-gradient + `transform: translateX(...)`
43
43
  // keyframe animation instead of a rotating conic-gradient.
44
- index.h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (index.h("span", { key: 'd7fd99b0b5666b83cd597086a2643a919b9b9d5c', part: "label", class: "bs-progress-linear__label" }, index.h("slot", { key: '81adeaf185aa995907b317b960fffa4b684404e4' })))));
44
+ index.h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (index.h("span", { key: '95aeb588e3ac6c1a1b96217826617a1347507350', part: "label", class: "bs-progress-linear__label" }, index.h("slot", { key: '6afaff0a710a6c16c42cd0e1b92910f8bec0503b' })))));
45
45
  }
46
46
  // The default slot's assigned content lives in the host's light DOM regardless of whether a
47
47
  // <slot> is currently rendered in the shadow tree, so this can be computed directly from the
@@ -57,7 +57,7 @@ const BsProgress = class {
57
57
  const isDeterminate = this.type === 'determinate';
58
58
  const value = this.clampedValue;
59
59
  const dashOffset = circumference * (1 - value / 100);
60
- return (index.h("div", { key: '2909533f8b4472a7c12c564c3b42b6456d5d1c80', part: "container", class: "bs-progress" }, index.h("div", { key: '3f41fc7f22d7c9eba13e859330aae4f6230af8ab', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (index.h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, index.h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), index.h("circle", { part: "arc", class: "bs-progress__arc", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none", "stroke-linecap": "round", "stroke-dasharray": circumference, "stroke-dashoffset": dashOffset }))) : (
60
+ return (index.h("div", { key: 'afa27ec8f954d6ff71f774e7de4f150e49df143c', part: "container", class: "bs-progress" }, index.h("div", { key: '31429f8a7e2e641b4de0ef7eb8e2d718107f4157', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (index.h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, index.h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), index.h("circle", { part: "arc", class: "bs-progress__arc", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none", "stroke-linecap": "round", "stroke-dasharray": circumference, "stroke-dashoffset": dashOffset }))) : (
61
61
  // Figma's indeterminate ring is a fading "comet tail" (transparent -> solid color),
62
62
  // not a flat-colored partial arc -- SVG has no angular/conic gradient primitive, so a
63
63
  // CSS conic-gradient (color varying by angle) + a radial-gradient mask (carving the
@@ -66,7 +66,7 @@ const BsProgress = class {
66
66
  index.h("div", { part: "arc", class: "bs-progress__spinner", style: {
67
67
  '--bs-progress-spinner-stroke-width': `${this.strokeWidth}px`,
68
68
  '--bs-progress-spinner-sweep': `${INDETERMINATE_SWEEP_DEGREES}deg`,
69
- } }))), isDeterminate && this.showLabel && (index.h("span", { key: '417f47612fc45127c4a1832a6cb4122ad16d9579', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
69
+ } }))), isDeterminate && this.showLabel && (index.h("span", { key: '85634f6af94208a13bd46483b4d3465a64e89a42', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
70
70
  }
71
71
  };
72
72
  BsProgress.style = bsProgressCss();