@brandsync/wc 0.0.12 → 0.1.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 (310) hide show
  1. package/custom-elements.json +1672 -226
  2. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  3. package/dist/brandsync-wc/p-00bb9bda.entry.js +1 -0
  4. package/dist/brandsync-wc/{p-64e2a7d7.entry.js → p-0847f5c0.entry.js} +1 -1
  5. package/dist/brandsync-wc/p-0ba35c3b.entry.js +1 -0
  6. package/dist/brandsync-wc/{p-2a65aabb.entry.js → p-0f3cb0c4.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-72a33f88.entry.js → p-10f6f3cd.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-88a0abee.entry.js → p-111974df.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-ef8522b5.entry.js → p-11f3fceb.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-171fed0c.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-57fdbb76.entry.js → p-18813680.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-f04db1b0.entry.js → p-1b7c9928.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-1ce7dd64.entry.js +1 -0
  14. package/dist/brandsync-wc/p-2063a6d6.entry.js +1 -0
  15. package/dist/brandsync-wc/{p-1900f6ce.entry.js → p-20c24179.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-6e854e92.entry.js → p-321ed4d3.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-0eee5477.entry.js → p-38aad266.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-1c6fa697.entry.js → p-43e37883.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-8049f9f2.entry.js → p-55a8d4b5.entry.js} +1 -1
  20. package/dist/brandsync-wc/p-59ac2495.entry.js +1 -0
  21. package/dist/brandsync-wc/p-5ae9e60e.entry.js +1 -0
  22. package/dist/brandsync-wc/{p-8b662ee3.entry.js → p-6b469b2d.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-56c66448.entry.js → p-6d85fba4.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-46ddc8e1.entry.js → p-6e95eb36.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-20dbc6a1.entry.js → p-73217b90.entry.js} +1 -1
  26. package/dist/brandsync-wc/p-752c04c8.entry.js +1 -0
  27. package/dist/brandsync-wc/{p-12ec9e92.entry.js → p-79af762c.entry.js} +1 -1
  28. package/dist/brandsync-wc/p-81d49240.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-3b31f7c7.entry.js → p-91551e7b.entry.js} +1 -1
  30. package/dist/brandsync-wc/p-917a5bbc.entry.js +1 -0
  31. package/dist/brandsync-wc/{p-dd09d335.entry.js → p-9876e83c.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-c320b6b4.entry.js → p-9bcd99aa.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-d4e3ca77.entry.js → p-9c4768aa.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-DST5-cTx.js → p-Do3l4of3.js} +2 -2
  35. package/dist/brandsync-wc/{p-0fa017ce.entry.js → p-aa43d478.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-a5b15061.entry.js → p-c3079ad7.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-23457a21.entry.js → p-c3c383dc.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-b24a980b.entry.js → p-cc79e75f.entry.js} +1 -1
  39. package/dist/brandsync-wc/p-ce7fc368.entry.js +1 -0
  40. package/dist/brandsync-wc/{p-2c51d738.entry.js → p-d3265e70.entry.js} +1 -1
  41. package/dist/brandsync-wc/p-d55bbcec.entry.js +1 -0
  42. package/dist/brandsync-wc/{p-1adc59be.entry.js → p-e93e944b.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-aba300a9.entry.js → p-eb04c578.entry.js} +1 -1
  44. package/dist/brandsync-wc/p-f0ae2740.entry.js +1 -0
  45. package/dist/brandsync-wc/p-f4f22015.entry.js +1 -0
  46. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  47. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  48. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  49. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  50. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  51. package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
  52. package/dist/cjs/bs-avatar.cjs.entry.js +60 -0
  53. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  54. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +56 -0
  55. package/dist/cjs/bs-breadcrumb.cjs.entry.js +33 -0
  56. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +49 -0
  57. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  58. package/dist/cjs/bs-button.cjs.entry.js +2 -2
  59. package/dist/cjs/bs-card.cjs.entry.js +10 -3
  60. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
  61. package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
  62. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  63. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  64. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
  65. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +20 -0
  66. package/dist/cjs/bs-checkbox.cjs.entry.js +2 -2
  67. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
  68. package/dist/cjs/bs-composer.cjs.entry.js +2 -2
  69. package/dist/cjs/bs-data-table.cjs.entry.js +3 -3
  70. package/dist/cjs/bs-dialog.cjs.entry.js +110 -0
  71. package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
  72. package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
  73. package/dist/cjs/bs-input.cjs.entry.js +24 -12
  74. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  75. package/dist/cjs/{bs-menu_2.cjs.entry.js → bs-menu-item.cjs.entry.js} +2 -15
  76. package/dist/cjs/bs-menu.cjs.entry.js +17 -0
  77. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +3 -3
  78. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +8 -2
  79. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  80. package/dist/cjs/bs-pagination.cjs.entry.js +85 -0
  81. package/dist/cjs/bs-radio.cjs.entry.js +2 -2
  82. package/dist/cjs/bs-slider.cjs.entry.js +2 -2
  83. package/dist/cjs/bs-snackbar.cjs.entry.js +41 -0
  84. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  85. package/dist/cjs/bs-switch.cjs.entry.js +2 -2
  86. package/dist/cjs/bs-tab.cjs.entry.js +2 -2
  87. package/dist/cjs/bs-tabs.cjs.entry.js +2 -2
  88. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  89. package/dist/cjs/{index-B3sdhEGk.js → index-DHVw-IPK.js} +1 -0
  90. package/dist/cjs/loader.cjs.js +2 -2
  91. package/dist/collection/collection-manifest.json +8 -1
  92. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  93. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  94. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  95. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  96. package/dist/collection/components/bs-avatar/bs-avatar.cmp.test.js +54 -0
  97. package/dist/collection/components/bs-avatar/bs-avatar.css +197 -0
  98. package/dist/collection/components/bs-avatar/bs-avatar.js +251 -0
  99. package/dist/collection/components/bs-avatar/bs-avatar.stories.js +67 -0
  100. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +62 -0
  101. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.css +93 -0
  102. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +130 -0
  103. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +118 -0
  104. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +125 -0
  105. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +192 -0
  106. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.js +58 -0
  107. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.css +18 -0
  108. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +129 -0
  109. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.js +84 -0
  110. package/dist/collection/components/bs-button/bs-button/bs-button.js +1 -1
  111. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  112. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  113. package/dist/collection/components/bs-card/bs-card.cmp.test.js +19 -0
  114. package/dist/collection/components/bs-card/bs-card.css +37 -5
  115. package/dist/collection/components/bs-card/bs-card.js +18 -2
  116. package/dist/collection/components/bs-card/bs-card.stories.js +17 -1
  117. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  118. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  119. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  120. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.css +1 -1
  121. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  122. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  123. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.cmp.test.js +23 -0
  124. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.css +64 -0
  125. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +81 -0
  126. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.js +25 -0
  127. package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
  128. package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +12 -0
  129. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  130. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  131. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  132. package/dist/collection/components/{bs-modal/bs-modal.cmp.test.js → bs-dialog/bs-dialog.cmp.test.js} +63 -19
  133. package/dist/collection/components/bs-dialog/bs-dialog.css +130 -0
  134. package/dist/collection/components/bs-dialog/bs-dialog.js +273 -0
  135. package/dist/collection/components/bs-dialog/bs-dialog.stories.js +115 -0
  136. package/dist/collection/components/bs-input/bs-input.cmp.test.js +20 -0
  137. package/dist/collection/components/bs-input/bs-input.css +80 -2
  138. package/dist/collection/components/bs-input/bs-input.js +28 -10
  139. package/dist/collection/components/bs-input/bs-input.stories.js +14 -11
  140. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  141. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  142. package/dist/collection/components/bs-pagination/bs-pagination.cmp.test.js +102 -0
  143. package/dist/collection/components/bs-pagination/bs-pagination.css +120 -0
  144. package/dist/collection/components/bs-pagination/bs-pagination.js +233 -0
  145. package/dist/collection/components/bs-pagination/bs-pagination.stories.js +43 -0
  146. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  147. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  148. package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +77 -0
  149. package/dist/collection/components/bs-snackbar/bs-snackbar.css +321 -0
  150. package/dist/collection/components/bs-snackbar/bs-snackbar.js +172 -0
  151. package/dist/collection/components/bs-snackbar/bs-snackbar.stories.js +59 -0
  152. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  153. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  154. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  155. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  156. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  157. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  158. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +12 -0
  159. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +34 -6
  160. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +74 -2
  161. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +5 -5
  162. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  163. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  164. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +258 -1
  165. package/dist/components/bs-ai-disclaimer.js +1 -1
  166. package/dist/components/bs-ai-greeting.js +1 -1
  167. package/dist/components/bs-ai-thinking.js +1 -1
  168. package/dist/components/bs-attachment-list.js +1 -1
  169. package/dist/components/bs-attachment.js +1 -1
  170. package/dist/components/{bs-modal.d.ts → bs-avatar.d.ts} +4 -4
  171. package/dist/components/bs-avatar.js +1 -0
  172. package/dist/components/bs-badge.js +1 -1
  173. package/dist/components/bs-breadcrumb-overflow.d.ts +11 -0
  174. package/dist/components/bs-breadcrumb-overflow.js +1 -0
  175. package/dist/components/bs-breadcrumb.d.ts +11 -0
  176. package/dist/components/bs-breadcrumb.js +1 -0
  177. package/dist/components/bs-breadcrumbs.d.ts +11 -0
  178. package/dist/components/bs-breadcrumbs.js +1 -0
  179. package/dist/components/bs-button-skeleton.js +1 -1
  180. package/dist/components/bs-button.js +1 -1
  181. package/dist/components/bs-card.js +1 -1
  182. package/dist/components/bs-chatbot-feedback.js +1 -1
  183. package/dist/components/bs-chatbot-header.js +1 -1
  184. package/dist/components/bs-chatbot-response-action.js +1 -1
  185. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  186. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  187. package/dist/components/bs-checkbox-skeleton.d.ts +11 -0
  188. package/dist/components/bs-checkbox-skeleton.js +1 -0
  189. package/dist/components/bs-checkbox.js +1 -1
  190. package/dist/components/bs-composer-status-banner.js +1 -1
  191. package/dist/components/bs-composer.js +1 -1
  192. package/dist/components/bs-data-table.js +1 -1
  193. package/dist/components/bs-dialog.d.ts +11 -0
  194. package/dist/components/bs-dialog.js +1 -0
  195. package/dist/components/bs-icon-button.js +1 -1
  196. package/dist/components/bs-inline-tab.js +1 -1
  197. package/dist/components/bs-input.js +1 -1
  198. package/dist/components/bs-logo.js +1 -1
  199. package/dist/components/bs-menu-item.js +1 -1
  200. package/dist/components/bs-menu.js +1 -1
  201. package/dist/components/bs-navigation-drawer-item.js +1 -1
  202. package/dist/components/bs-navigation-drawer.js +1 -1
  203. package/dist/components/bs-navigation-header.js +1 -1
  204. package/dist/components/bs-pagination.d.ts +11 -0
  205. package/dist/components/bs-pagination.js +1 -0
  206. package/dist/components/bs-radio.js +1 -1
  207. package/dist/components/bs-slider.js +1 -1
  208. package/dist/components/bs-snackbar.d.ts +11 -0
  209. package/dist/components/bs-snackbar.js +1 -0
  210. package/dist/components/bs-source-link.js +1 -1
  211. package/dist/components/bs-switch.js +1 -1
  212. package/dist/components/bs-tab.js +1 -1
  213. package/dist/components/bs-tabs.js +1 -1
  214. package/dist/components/bs-tooltip.js +1 -1
  215. package/dist/components/index.js +1 -1
  216. package/dist/components/{p-BAOJc0V0.js → p-BFcVSpES.js} +1 -1
  217. package/dist/components/{p-Be1Pfcnm.js → p-BJZYe7M4.js} +1 -1
  218. package/dist/components/{p-CaWqTQBZ.js → p-BKaZWFE1.js} +1 -1
  219. package/dist/components/{p-DivZLd6i.js → p-BtX5URLk.js} +1 -1
  220. package/dist/components/{p-BqYyMGrB.js → p-CgaPcyEJ.js} +1 -1
  221. package/dist/components/{p-xfx69LQx.js → p-qK1XlpTA.js} +1 -1
  222. package/dist/esm/brandsync-wc.js +3 -3
  223. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  224. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  225. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  226. package/dist/esm/bs-attachment-list.entry.js +2 -2
  227. package/dist/esm/bs-attachment.entry.js +1 -1
  228. package/dist/esm/bs-avatar.entry.js +58 -0
  229. package/dist/esm/bs-badge.entry.js +1 -1
  230. package/dist/esm/bs-breadcrumb-overflow.entry.js +54 -0
  231. package/dist/esm/bs-breadcrumb.entry.js +31 -0
  232. package/dist/esm/bs-breadcrumbs.entry.js +47 -0
  233. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  234. package/dist/esm/bs-button.entry.js +2 -2
  235. package/dist/esm/bs-card.entry.js +10 -3
  236. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  237. package/dist/esm/bs-chatbot-header.entry.js +2 -2
  238. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  239. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  240. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  241. package/dist/esm/bs-checkbox-skeleton.entry.js +18 -0
  242. package/dist/esm/bs-checkbox.entry.js +2 -2
  243. package/dist/esm/bs-composer-status-banner.entry.js +2 -2
  244. package/dist/esm/bs-composer.entry.js +2 -2
  245. package/dist/esm/bs-data-table.entry.js +3 -3
  246. package/dist/esm/bs-dialog.entry.js +108 -0
  247. package/dist/esm/bs-icon-button.entry.js +2 -2
  248. package/dist/esm/bs-inline-tab.entry.js +2 -2
  249. package/dist/esm/bs-input.entry.js +24 -12
  250. package/dist/esm/bs-logo.entry.js +1 -1
  251. package/dist/esm/{bs-menu_2.entry.js → bs-menu-item.entry.js} +3 -15
  252. package/dist/esm/bs-menu.entry.js +15 -0
  253. package/dist/esm/bs-navigation-drawer-item.entry.js +3 -3
  254. package/dist/esm/bs-navigation-drawer.entry.js +8 -2
  255. package/dist/esm/bs-navigation-header.entry.js +2 -2
  256. package/dist/esm/bs-pagination.entry.js +83 -0
  257. package/dist/esm/bs-radio.entry.js +2 -2
  258. package/dist/esm/bs-slider.entry.js +2 -2
  259. package/dist/esm/bs-snackbar.entry.js +39 -0
  260. package/dist/esm/bs-source-link.entry.js +3 -3
  261. package/dist/esm/bs-switch.entry.js +2 -2
  262. package/dist/esm/bs-tab.entry.js +2 -2
  263. package/dist/esm/bs-tabs.entry.js +2 -2
  264. package/dist/esm/bs-tooltip.entry.js +2 -2
  265. package/dist/esm/{index-DST5-cTx.js → index-Do3l4of3.js} +1 -1
  266. package/dist/esm/loader.js +3 -3
  267. package/dist/types/components/bs-avatar/bs-avatar.d.ts +67 -0
  268. package/dist/types/components/bs-avatar/bs-avatar.stories.d.ts +20 -0
  269. package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.d.ts +1 -0
  270. package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +44 -0
  271. package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.d.ts +1 -0
  272. package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +69 -0
  273. package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.d.ts +1 -0
  274. package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.d.ts +45 -0
  275. package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.d.ts +14 -0
  276. package/dist/types/components/bs-card/bs-card.d.ts +10 -1
  277. package/dist/types/components/bs-card/bs-card.stories.d.ts +1 -0
  278. package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.cmp.test.d.ts +1 -0
  279. package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.d.ts +36 -0
  280. package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.d.ts +10 -0
  281. package/dist/types/components/bs-checkbox/bs-checkbox.stories.d.ts +1 -0
  282. package/dist/types/components/bs-dialog/bs-dialog.cmp.test.d.ts +1 -0
  283. package/dist/types/components/bs-dialog/bs-dialog.d.ts +74 -0
  284. package/dist/types/components/{bs-modal/bs-modal.stories.d.ts → bs-dialog/bs-dialog.stories.d.ts} +5 -3
  285. package/dist/types/components/bs-input/bs-input.d.ts +8 -1
  286. package/dist/types/components/bs-pagination/bs-pagination.cmp.test.d.ts +1 -0
  287. package/dist/types/components/bs-pagination/bs-pagination.d.ts +51 -0
  288. package/dist/types/components/bs-pagination/bs-pagination.stories.d.ts +14 -0
  289. package/dist/types/components/bs-snackbar/bs-snackbar.cmp.test.d.ts +1 -0
  290. package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +51 -0
  291. package/dist/types/components/bs-snackbar/bs-snackbar.stories.d.ts +16 -0
  292. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +13 -5
  293. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +3 -0
  294. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +4 -0
  295. package/dist/types/components.d.ts +1109 -104
  296. package/package.json +1 -1
  297. package/dist/brandsync-wc/p-09aa03d1.entry.js +0 -1
  298. package/dist/brandsync-wc/p-1cf715aa.entry.js +0 -1
  299. package/dist/brandsync-wc/p-266f5dde.entry.js +0 -1
  300. package/dist/brandsync-wc/p-8ded1eb6.entry.js +0 -1
  301. package/dist/brandsync-wc/p-b289450a.entry.js +0 -1
  302. package/dist/brandsync-wc/p-b8a2f882.entry.js +0 -1
  303. package/dist/cjs/bs-modal.cjs.entry.js +0 -69
  304. package/dist/collection/components/bs-modal/bs-modal.css +0 -66
  305. package/dist/collection/components/bs-modal/bs-modal.js +0 -198
  306. package/dist/collection/components/bs-modal/bs-modal.stories.js +0 -38
  307. package/dist/components/bs-modal.js +0 -1
  308. package/dist/esm/bs-modal.entry.js +0 -67
  309. package/dist/types/components/bs-modal/bs-modal.d.ts +0 -45
  310. /package/dist/types/components/{bs-modal/bs-modal.cmp.test.d.ts → bs-avatar/bs-avatar.cmp.test.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DST5-cTx.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-Do3l4of3.js';
2
2
 
3
3
  const bsTabCss = () => `:host{display:inline-block;--bs-tab-radius:var(--bs-border-radius-100);--bs-tab-padding-y:var(--bs-spacing-150);--bs-tab-padding-x:var(--bs-spacing-200);--bs-tab-gap:var(--bs-spacing-75);--bs-tab-gap-vertical:var(--bs-spacing-50);--bs-tab-color-default:var(--bs-text-muted);--bs-tab-icon-color-default:var(--bs-icon-muted);--bs-tab-color-hover:var(--bs-text-default);--bs-tab-icon-color-hover:var(--bs-icon-default);--bs-tab-indicator-hover:var(--bs-border-neutral-hover);--bs-tab-color-selected:var(--bs-color-primary-default);--bs-tab-color-selected-hover:var(--bs-color-primary-hover);--bs-tab-color-selected-pressed:var(--bs-color-primary-pressed);--bs-tab-indicator-selected:var(--bs-color-primary-default);--bs-tab-indicator-selected-hover:var(--bs-color-primary-hover);--bs-tab-indicator-selected-pressed:var(--bs-color-primary-pressed);--bs-tab-focus-ring-color:var(--bs-border-neutral-focus);--bs-tab-color-disabled:var(--bs-text-on-disabled);--bs-tab-icon-color-disabled:var(--bs-icon-disabled);--bs-tab-font-size:var(--bs-font-size-md);--bs-tab-line-height:var(--bs-line-height-body-md)}.bs-tab{box-sizing:border-box;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;border:none;cursor:pointer;background:transparent;color:var(--bs-tab-color-default);font-family:inherit;border-radius:var(--bs-tab-radius);padding:var(--bs-tab-padding-y) var(--bs-tab-padding-x);gap:var(--bs-tab-gap);transition:color var(--bs-duration-fast) var(--bs-easing-standard), background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-tab--vertical{flex-direction:column;gap:var(--bs-tab-gap-vertical)}.bs-tab:focus-visible{outline:2px solid var(--bs-tab-focus-ring-color);outline-offset:2px}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active{color:var(--bs-tab-color-hover)}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover .bs-tab__icon,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible .bs-tab__icon,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active .bs-tab__icon{color:var(--bs-tab-icon-color-hover)}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover .bs-tab__indicator,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible .bs-tab__indicator,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active .bs-tab__indicator{background:var(--bs-tab-indicator-hover)}.bs-tab--selected{color:var(--bs-tab-color-selected)}.bs-tab--selected .bs-tab__icon--has-content{color:var(--bs-tab-color-selected)}.bs-tab--selected .bs-tab__indicator{background:var(--bs-tab-indicator-selected)}.bs-tab--selected:not(.bs-tab--disabled):hover,.bs-tab--selected:not(.bs-tab--disabled):focus-visible{color:var(--bs-tab-color-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):hover .bs-tab__icon--has-content,.bs-tab--selected:not(.bs-tab--disabled):focus-visible .bs-tab__icon--has-content{color:var(--bs-tab-color-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):hover .bs-tab__indicator,.bs-tab--selected:not(.bs-tab--disabled):focus-visible .bs-tab__indicator{background:var(--bs-tab-indicator-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):active{color:var(--bs-tab-color-selected-pressed)}.bs-tab--selected:not(.bs-tab--disabled):active .bs-tab__icon--has-content{color:var(--bs-tab-color-selected-pressed)}.bs-tab--selected:not(.bs-tab--disabled):active .bs-tab__indicator{background:var(--bs-tab-indicator-selected-pressed)}.bs-tab--disabled{color:var(--bs-tab-color-disabled);cursor:not-allowed}.bs-tab--disabled .bs-tab__icon--has-content{color:var(--bs-tab-icon-color-disabled)}.bs-tab--disabled .bs-tab__indicator{background:transparent}.bs-tab__icon{display:none;width:24px;height:24px;flex-shrink:0;color:var(--bs-tab-icon-color-default)}.bs-tab__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-tab__icon ::slotted(svg){width:24px;height:24px}.bs-tab__label{display:none;font-size:var(--bs-tab-font-size);line-height:calc(var(--bs-tab-line-height) * 1px);white-space:nowrap}.bs-tab__label--has-content{display:inline-block}.bs-tab__badge{display:none}.bs-tab__badge--has-content{display:inline-flex;align-items:center}.bs-tab__indicator{position:absolute;left:var(--bs-tab-padding-x);right:var(--bs-tab-padding-x);bottom:0;height:2px;background:transparent;border-radius:var(--bs-border-radius-50, 2px)}`;
4
4
 
@@ -70,7 +70,7 @@ const BsTab = class {
70
70
  const iconOnly = this.hasIcon && !this.hasLabel;
71
71
  const vertical = this.hasIcon && this.hasLabel && this.iconPosition === 'top';
72
72
  const showBadge = this.hasBadge && !iconOnly && !vertical;
73
- return (h("button", { key: 'de1416c9ee8414405513dd4b9a828d7a3d0ae330', type: "button", part: "tab", role: "tab", class: `bs-tab ${this.selected ? 'bs-tab--selected' : ''} ${this.disabled ? 'bs-tab--disabled' : ''} ${iconOnly ? 'bs-tab--icon-only' : ''} ${vertical ? 'bs-tab--vertical' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: 'd884d90267fac3ec8fc9e9bcd8b9cefc5153b47e', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, h("slot", { key: '2194a3d72bafda2d0f830e4f9f5a6a92d08c5aa3', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '181abd3f489648a7bf53a11b77bed47c56b2fd94', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, h("slot", { key: '683020efc34ea270b700b5034631a549796510f1', onSlotchange: this.onLabelSlotchange })), h("span", { key: '02dfede0c88b1b2f805128ce11a5134fd4c83b6d', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, h("slot", { key: 'e712da5b095aa9e3c6c8b7f8fa0bee86c0ef7b20', name: "badge", onSlotchange: this.onBadgeSlotchange })), h("span", { key: 'a743816f44a8c0cb08dbe518ae521bf05d5c5a08', part: "indicator", class: "bs-tab__indicator" })));
73
+ return (h("button", { key: 'f546b2a1795c272666671e0b103382921e417763', type: "button", part: "tab", role: "tab", class: `bs-tab ${this.selected ? 'bs-tab--selected' : ''} ${this.disabled ? 'bs-tab--disabled' : ''} ${iconOnly ? 'bs-tab--icon-only' : ''} ${vertical ? 'bs-tab--vertical' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: 'e9818e0796ed9be7df02c07ae535e265f99543c5', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, h("slot", { key: '550d7967e028e781509c1017e13d485bac304387', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '10939082cb36c48a98fe7783914880385d213ba8', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, h("slot", { key: 'a2e6cd4f0afbf3ffc3f1ca5c19746cab26d5f6fb', onSlotchange: this.onLabelSlotchange })), h("span", { key: '7a7fca9d63bb63b03b2db1b100c92c2090e45e36', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, h("slot", { key: '1eb43aabca6e01d777e506fb546ad76ce9527eee', name: "badge", onSlotchange: this.onBadgeSlotchange })), h("span", { key: '8e9426213e4bc2d60a01b0cdbaeb15d42c0e6269', part: "indicator", class: "bs-tab__indicator" })));
74
74
  }
75
75
  };
76
76
  BsTab.style = bsTabCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, a as getElement, h } from './index-DST5-cTx.js';
1
+ import { r as registerInstance, a as getElement, h } from './index-Do3l4of3.js';
2
2
 
3
3
  const bsTabsCss = () => `:host{display:inline-block;--bs-tabs-tab-gap:var(--bs-spacing-100);--bs-tabs-inline-tab-bg:var(--bs-color-neutral-container);--bs-tabs-inline-tab-padding-x:var(--bs-spacing-50);--bs-tabs-inline-tab-radius:var(--bs-border-radius-full);--bs-tabs-inline-tab-gap:var(--bs-spacing-50)}.bs-tabs{display:inline-flex;align-items:center}.bs-tabs--vertical{display:flex;flex-direction:column;align-items:flex-start}.bs-tabs--bs-tab{gap:var(--bs-tabs-tab-gap)}.bs-tabs--bs-inline-tab{background:var(--bs-tabs-inline-tab-bg);padding:0 var(--bs-tabs-inline-tab-padding-x);border-radius:var(--bs-tabs-inline-tab-radius);gap:var(--bs-tabs-inline-tab-gap)}`;
4
4
 
@@ -29,7 +29,7 @@ const BsTabs = class {
29
29
  }
30
30
  render() {
31
31
  const vertical = this.orientation === 'vertical';
32
- return (h("div", { key: '55006a332bf4d3b955f5c76cf2cfadf483affb4b', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, h("slot", { key: '0b0d1ec94485389d4bb6b4000384e337991060bd' })));
32
+ return (h("div", { key: '5d107ad84063bddd35155523a9c51aa905c93d27', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, h("slot", { key: '9dbd0e4d77c0735920875c141789a331c2bbe1f9' })));
33
33
  }
34
34
  };
35
35
  BsTabs.style = bsTabsCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-DST5-cTx.js';
1
+ import { r as registerInstance, h } from './index-Do3l4of3.js';
2
2
 
3
3
  const bsTooltipCss = () => `:host{display:inline-block;--bs-tooltip-bg:var(--bs-surface-inverse);--bs-tooltip-color:var(--bs-text-inverse);--bs-tooltip-radius:var(--bs-border-radius-50);--bs-tooltip-padding-x:var(--bs-spacing-200);--bs-tooltip-padding-y:var(--bs-spacing-100);--bs-tooltip-max-width:200px;--bs-tooltip-shadow:-1px 4px 8px rgba(0, 0, 0, 0.08);--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-line-height:var(--bs-line-height-body-sm)}.bs-tooltip{position:relative;display:inline-block}.bs-tooltip__bubble{box-sizing:border-box;max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);background:var(--bs-tooltip-bg);color:var(--bs-tooltip-color);border-radius:var(--bs-tooltip-radius);box-shadow:var(--bs-tooltip-shadow);font-family:inherit;font-size:var(--bs-tooltip-font-size);line-height:calc(var(--bs-tooltip-line-height) * 1px)}.bs-tooltip__arrow{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:8px;height:8px;background:var(--bs-tooltip-bg);clip-path:polygon(50% 0, 0% 100%, 100% 100%)}`;
4
4
 
@@ -14,7 +14,7 @@ const BsTooltip = class {
14
14
  */
15
15
  placement = 'top';
16
16
  render() {
17
- return (h("div", { key: '64951f06f070f2d3b10796d09f2c97ef7cf098fa', class: "bs-tooltip" }, h("span", { key: 'b9ff6d99eb95aea33949f211aa80c29220a3e199', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '3b559c7952b42011f45bd59177dbdf3194b84b92', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '54b278e8ee7c98360b9aaaea300e0631d8bfb8dd' }))));
17
+ return (h("div", { key: '715de45f88b8228c415b70045067232a9d859f96', class: "bs-tooltip" }, h("span", { key: '1fb4350dbe0b36fe18cb34d0ed3e120ad3f863d0', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '78132e1f37d311355fdd4a7bb3a0d5f8ad2c9e97', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '31316481f106d69e1d08423eb7432e3b16ffdfaa' }))));
18
18
  }
19
19
  };
20
20
  BsTooltip.style = bsTooltipCss();
@@ -1773,4 +1773,4 @@ function transformTag(tag) {
1773
1773
  return tag;
1774
1774
  }
1775
1775
 
1776
- export { getElement as a, bootstrapLazy as b, createEvent as c, globalScripts as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1776
+ export { Host as H, getElement as a, bootstrapLazy as b, createEvent as c, globalScripts as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
@@ -1,10 +1,10 @@
1
- import { g as globalScripts, b as bootstrapLazy } from './index-DST5-cTx.js';
2
- export { s as setNonce } from './index-DST5-cTx.js';
1
+ import { g as globalScripts, b as bootstrapLazy } from './index-Do3l4of3.js';
2
+ export { s as setNonce } from './index-Do3l4of3.js';
3
3
 
4
4
  const defineCustomElements = async (win, options) => {
5
5
  if (typeof window === 'undefined') return undefined;
6
6
  await globalScripts();
7
- return bootstrapLazy([["bs-input",[[785,"bs-input",{"value":[1025],"type":[1],"label":[1],"placeholder":[1],"description":[1],"error":[1],"disabled":[4],"required":[4],"step":[2],"min":[2],"max":[2],"options":[16],"rows":[2],"chips":[16],"titleOptions":[16],"initialsTitle":[1,"initials-title"],"countryOptions":[16],"country":[1],"length":[2],"open":[1540],"hasIcon":[32],"hasEndIcon":[32],"passwordVisible":[32],"chipDraft":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-attachment",[[513,"bs-attachment",{"type":[1],"fileName":[1,"file-name"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"loading":[4],"removable":[4]}]]],["bs-chatbot-header",[[769,"bs-chatbot-header",{"heading":[1],"expanded":[1540]}]]],["bs-navigation-drawer",[[769,"bs-navigation-drawer",{"heading":[1],"collapsible":[4],"collapsed":[1540],"logoBackground":[1,"logo-background"]},null,{"collapsed":[{"onCollapsedChange":0}]}]]],["bs-navigation-header",[[769,"bs-navigation-header",{"alignment":[1],"ariaLabel":[1,"aria-label"],"skipToContentHref":[1,"skip-to-content-href"],"skipToContentLabel":[1,"skip-to-content-label"],"logoBackground":[1,"logo-background"]}]]],["bs-ai-disclaimer",[[257,"bs-ai-disclaimer"]]],["bs-ai-greeting",[[513,"bs-ai-greeting",{"assistantName":[1,"assistant-name"],"productName":[1,"product-name"]}]]],["bs-ai-thinking",[[513,"bs-ai-thinking",{"label":[1]}]]],["bs-attachment-list",[[769,"bs-attachment-list",{"ariaLabel":[1,"aria-label"],"canScrollRight":[32]}]]],["bs-badge",[[769,"bs-badge",{"variant":[1]}]]],["bs-button",[[785,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-button-skeleton",[[513,"bs-button-skeleton",{"size":[1]}]]],["bs-card",[[769,"bs-card",{"surface":[1]}]]],["bs-chatbot-feedback",[[513,"bs-chatbot-feedback",{"rating":[1538],"submitted":[1540],"comment":[1025],"heading":[1],"subtitle":[1]}]]],["bs-chatbot-response-action",[[769,"bs-chatbot-response-action",{"sourcesCount":[2,"sources-count"],"menuOpen":[1540,"menu-open"]},[[4,"click","onDocumentClick"],[4,"keydown","onKeydown"]]]]],["bs-chatbot-sources-drawer",[[769,"bs-chatbot-sources-drawer",{"heading":[1],"count":[2],"slottedCount":[32]}]]],["bs-chatbot-suggestion-button",[[769,"bs-chatbot-suggestion-button",{"disabled":[4]}]]],["bs-checkbox",[[785,"bs-checkbox",{"size":[1],"checked":[1540],"indeterminate":[1540],"disabled":[4],"error":[4],"ariaLabel":[1,"aria-label"]},null,{"indeterminate":[{"onIndeterminateChange":0}]}]]],["bs-composer",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1],"state":[1],"ariaLabel":[1,"aria-label"],"hasAttachments":[32]}]]],["bs-composer-status-banner",[[769,"bs-composer-status-banner",{"type":[1],"message":[1],"showIcon":[4,"show-icon"],"showButton":[4,"show-button"],"actionLabel":[1,"action-label"],"allowClose":[4,"allow-close"]}]]],["bs-data-table",[[513,"bs-data-table",{"columns":[16],"rows":[16],"sortColumn":[1,"sort-column"],"sortDirection":[1,"sort-direction"],"selectable":[4],"cellRenderer":[16],"selectedIds":[32]}]]],["bs-inline-tab",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32]}]]],["bs-modal",[[769,"bs-modal",{"open":[1540],"heading":[1],"size":[1],"hasFooter":[32]},[[4,"keydown","onKeydown"],[4,"focusin","onFocusIn"]]]]],["bs-navigation-drawer-item",[[769,"bs-navigation-drawer-item",{"selected":[516],"expandable":[4],"expanded":[1540],"nested":[4],"ariaLabel":[1,"aria-label"],"collapsed":[516],"hasIcon":[32]}]]],["bs-radio",[[785,"bs-radio",{"name":[1],"value":[1],"checked":[1540],"disabled":[4]}]]],["bs-slider",[[529,"bs-slider",{"type":[1],"showLabel":[4,"show-label"],"label":[1],"min":[2],"max":[2],"step":[2],"value":[1026],"valueStart":[1026,"value-start"],"valueEnd":[1026,"value-end"],"segments":[2],"disabled":[4],"ariaLabel":[1,"aria-label"]}]]],["bs-source-link",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-switch",[[785,"bs-switch",{"size":[1],"checked":[1540],"disabled":[4],"ariaLabel":[1,"aria-label"]}]]],["bs-tab",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs",[[769,"bs-tabs",{"type":[1],"orientation":[1]},[[0,"bsSelect","onTabSelect"]]]]],["bs-icon-button",[[785,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["bs-tooltip",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-menu_2",[[257,"bs-menu"],[769,"bs-menu-item",{"disabled":[4],"hasIcon":[32]}]]],["bs-logo",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]]], options);
7
+ return bootstrapLazy([["bs-input",[[785,"bs-input",{"value":[1025],"type":[1],"label":[1],"placeholder":[1],"description":[1],"error":[1],"disabled":[4],"required":[4],"step":[2],"min":[2],"max":[2],"options":[16],"rows":[2],"chips":[16],"titleOptions":[16],"initialsTitle":[1,"initials-title"],"countryOptions":[16],"country":[1],"length":[2],"open":[1540],"hasIcon":[32],"hasEndIcon":[32],"passwordVisible":[32],"chipDraft":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-attachment",[[513,"bs-attachment",{"type":[1],"fileName":[1,"file-name"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"loading":[4],"removable":[4]}]]],["bs-breadcrumb-overflow",[[513,"bs-breadcrumb-overflow",{"items":[16],"overflowLabel":[1,"overflow-label"],"size":[513],"open":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-chatbot-header",[[769,"bs-chatbot-header",{"heading":[1],"expanded":[1540]}]]],["bs-dialog",[[769,"bs-dialog",{"open":[1540],"heading":[1],"size":[1],"centered":[516],"hasFooter":[32],"hasImage":[32],"hasIcon":[32]},[[4,"keydown","onKeydown"],[4,"focusin","onFocusIn"]]]]],["bs-navigation-drawer",[[769,"bs-navigation-drawer",{"heading":[1],"collapsible":[4],"collapsed":[1540],"logoBackground":[1,"logo-background"],"showLogo":[4,"show-logo"]},null,{"collapsed":[{"onCollapsedChange":0}]}]]],["bs-navigation-header",[[769,"bs-navigation-header",{"alignment":[1],"ariaLabel":[1,"aria-label"],"skipToContentHref":[1,"skip-to-content-href"],"skipToContentLabel":[1,"skip-to-content-label"],"logoBackground":[1,"logo-background"]}]]],["bs-ai-disclaimer",[[257,"bs-ai-disclaimer"]]],["bs-ai-greeting",[[513,"bs-ai-greeting",{"assistantName":[1,"assistant-name"],"productName":[1,"product-name"]}]]],["bs-ai-thinking",[[513,"bs-ai-thinking",{"label":[1]}]]],["bs-attachment-list",[[769,"bs-attachment-list",{"ariaLabel":[1,"aria-label"],"canScrollRight":[32]}]]],["bs-avatar",[[513,"bs-avatar",{"type":[1],"size":[1],"initials":[1],"src":[1],"alt":[1],"ariaLabel":[1,"aria-label"],"disabled":[516]}]]],["bs-badge",[[769,"bs-badge",{"variant":[1]}]]],["bs-breadcrumb",[[769,"bs-breadcrumb",{"href":[1],"current":[516],"size":[513]}]]],["bs-breadcrumbs",[[769,"bs-breadcrumbs",{"label":[1],"size":[1]},null,{"size":[{"onSizeChange":0}]}]]],["bs-button",[[785,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-button-skeleton",[[513,"bs-button-skeleton",{"size":[1]}]]],["bs-card",[[769,"bs-card",{"surface":[1],"hasImage":[32]}]]],["bs-chatbot-feedback",[[513,"bs-chatbot-feedback",{"rating":[1538],"submitted":[1540],"comment":[1025],"heading":[1],"subtitle":[1]}]]],["bs-chatbot-response-action",[[769,"bs-chatbot-response-action",{"sourcesCount":[2,"sources-count"],"menuOpen":[1540,"menu-open"]},[[4,"click","onDocumentClick"],[4,"keydown","onKeydown"]]]]],["bs-chatbot-sources-drawer",[[769,"bs-chatbot-sources-drawer",{"heading":[1],"count":[2],"slottedCount":[32]}]]],["bs-chatbot-suggestion-button",[[769,"bs-chatbot-suggestion-button",{"disabled":[4]}]]],["bs-checkbox",[[785,"bs-checkbox",{"size":[1],"checked":[1540],"indeterminate":[1540],"disabled":[4],"error":[4],"ariaLabel":[1,"aria-label"]},null,{"indeterminate":[{"onIndeterminateChange":0}]}]]],["bs-checkbox-skeleton",[[513,"bs-checkbox-skeleton",{"size":[1]}]]],["bs-composer",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1],"state":[1],"ariaLabel":[1,"aria-label"],"hasAttachments":[32]}]]],["bs-composer-status-banner",[[769,"bs-composer-status-banner",{"type":[1],"message":[1],"showIcon":[4,"show-icon"],"showButton":[4,"show-button"],"actionLabel":[1,"action-label"],"allowClose":[4,"allow-close"]}]]],["bs-data-table",[[513,"bs-data-table",{"columns":[16],"rows":[16],"sortColumn":[1,"sort-column"],"sortDirection":[1,"sort-direction"],"selectable":[4],"cellRenderer":[16],"selectedIds":[32]}]]],["bs-inline-tab",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32]}]]],["bs-navigation-drawer-item",[[769,"bs-navigation-drawer-item",{"selected":[516],"expandable":[4],"expanded":[1540],"nested":[4],"ariaLabel":[1,"aria-label"],"collapsed":[516],"hasIcon":[32]}]]],["bs-pagination",[[513,"bs-pagination",{"totalPages":[2,"total-pages"],"currentPage":[1538,"current-page"],"siblingCount":[2,"sibling-count"],"previousLabel":[1,"previous-label"],"nextLabel":[1,"next-label"]}]]],["bs-radio",[[785,"bs-radio",{"name":[1],"value":[1],"checked":[1540],"disabled":[4]}]]],["bs-slider",[[529,"bs-slider",{"type":[1],"showLabel":[4,"show-label"],"label":[1],"min":[2],"max":[2],"step":[2],"value":[1026],"valueStart":[1026,"value-start"],"valueEnd":[1026,"value-end"],"segments":[2],"disabled":[4],"ariaLabel":[1,"aria-label"]}]]],["bs-snackbar",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["bs-source-link",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-switch",[[785,"bs-switch",{"size":[1],"checked":[1540],"disabled":[4],"ariaLabel":[1,"aria-label"]}]]],["bs-tab",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs",[[769,"bs-tabs",{"type":[1],"orientation":[1]},[[0,"bsSelect","onTabSelect"]]]]],["bs-menu-item",[[769,"bs-menu-item",{"disabled":[4],"hasIcon":[32]}]]],["bs-tooltip",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-icon-button",[[785,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["bs-logo",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu",[[257,"bs-menu"]]]], options);
8
8
  };
9
9
 
10
10
  export { defineCustomElements };
@@ -0,0 +1,67 @@
1
+ export type BsAvatarType = 'icon' | 'initials' | 'image';
2
+ export type BsAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
3
+ /**
4
+ * A circular representation of a person or entity -- a photo, initials, or (as a fallback when
5
+ * neither is available) a generic user-silhouette icon.
6
+ *
7
+ * ## When to use
8
+ * - Representing a specific user or account: in a header, a comment, a member list, etc.
9
+ * - `type="initials"` when a photo isn't available but a name is (e.g. "Sam Lee" -> "SL").
10
+ * - `type="icon"` (the default) as the generic fallback when neither a photo nor a name/initials
11
+ * is available yet.
12
+ *
13
+ * ## When not to use
14
+ * - A company/brand logo -- use `bs-logo` instead.
15
+ *
16
+ * This component is decorative/informational by default, not an interactive control -- it renders
17
+ * a plain `<span>`/`<img>`, not a `<button>`. Figma's own component set includes hover/focused/
18
+ * pressed states (e.g. for an account-switcher trigger use case), which this implements as real
19
+ * `:hover`/`:focus-visible`/`:active` CSS on the host itself -- so wrapping this in your own
20
+ * `<button>`, or setting `tabindex` and a click handler on the `<bs-avatar>` element directly, gets
21
+ * the matching visual treatment for free with no extra wiring. Left genuinely non-interactive
22
+ * (no implicit role/tabindex of its own) so it doesn't misrepresent a purely decorative avatar
23
+ * (e.g. next to a comment) as a control when it isn't one.
24
+ *
25
+ * @part container - The circular wrapper (all three `type`s render this; `image` additionally
26
+ * wraps a real `<img>` inside it, since the border/background/radius treatment is identical
27
+ * across types and factoring it into one shared part keeps `::part(container)` overrides
28
+ * consistent regardless of which `type` ends up rendering).
29
+ * @part image - The `<img>` itself. Only rendered for `type="image"`.
30
+ * @part initials - The initials text. Only rendered for `type="initials"`.
31
+ * @part icon - The fallback user-silhouette icon. Only rendered for `type="icon"`.
32
+ */
33
+ export declare class BsAvatar {
34
+ /** What to render inside the circle. `icon` (default) is the generic fallback for when neither
35
+ * a photo nor initials are available yet. */
36
+ type: BsAvatarType;
37
+ /** Sizing scale -- `xs` (24px) through `xxl` (128px), matching Figma's own six-step scale. */
38
+ size: BsAvatarSize;
39
+ /** `type="initials"` only: the initials text to display (e.g. `"SL"` for "Sam Lee"). Ignored
40
+ * for `icon`/`image`. */
41
+ initials: string | null;
42
+ /** `type="image"` only: the photo URL. This component does not fetch it itself -- network
43
+ * calls, loading/error states, and caching are the consuming app's responsibility, same
44
+ * convention as `bs-logo`'s own `src` prop. Ignored for `icon`/`initials`. */
45
+ src: string | null;
46
+ /** `type="image"` only: accessible alt text for the photo, set directly on the real `<img>`
47
+ * this renders -- a person's photo is meaningful content, not decorative, so pass something
48
+ * real (e.g. their name). Falls back to `alt=""` (decorative to assistive tech) when unset,
49
+ * rather than omitting the attribute entirely, but don't rely on that fallback. Ignored for
50
+ * `icon`/`initials` -- see `ariaLabel` for those instead. */
51
+ alt: string | null;
52
+ /** `type="icon"`/`"initials"` only: accessible name for the avatar, set as `aria-label` on the
53
+ * `role="img"` wrapper this renders (neither is a real `<img>`, so there's no native `alt` to
54
+ * set). Setting a plain `aria-label` attribute on the `<bs-avatar>` host does NOT work for this
55
+ * -- that attribute stays on the light-DOM host and never crosses into the shadow DOM, so the
56
+ * actual `role="img"` element stays nameless. Same pattern as `bs-checkbox`'s identical
57
+ * `ariaLabel` prop. Ignored for `image` -- see `alt` for that instead. */
58
+ ariaLabel: string | null;
59
+ /** Applies the disabled treatment (50% opacity) and suppresses the hover/focus/pressed CSS
60
+ * states -- this doesn't set a native `disabled` attribute (this component renders no native
61
+ * form control), it's purely a visual/interaction-state flag for when a consuming app has
62
+ * wrapped this in its own disabled control. Reflected so the `:host([disabled])` CSS selector
63
+ * that drives all of the above still matches when a consumer sets the JS property directly
64
+ * (`el.disabled = true`) rather than the HTML attribute. */
65
+ disabled: boolean;
66
+ render(): any;
67
+ }
@@ -0,0 +1,20 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import type { BsAvatarType, BsAvatarSize } from './bs-avatar';
3
+ interface BsAvatarArgs {
4
+ type: BsAvatarType;
5
+ size: BsAvatarSize;
6
+ initials: string;
7
+ src: string;
8
+ alt: string;
9
+ ariaLabel: string;
10
+ disabled: boolean;
11
+ }
12
+ declare const meta: Meta<BsAvatarArgs>;
13
+ export default meta;
14
+ type Story = StoryObj<BsAvatarArgs>;
15
+ export declare const Icon: Story;
16
+ export declare const Initials: Story;
17
+ export declare const Image: Story;
18
+ export declare const Sizes: Story;
19
+ export declare const Disabled: Story;
20
+ export declare const Interactive: Story;
@@ -0,0 +1,44 @@
1
+ export type BsBreadcrumbSize = 'sm' | 'md';
2
+ /**
3
+ * A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
4
+ * plain text, or the current-page label, depending on `current`/`href`.
5
+ *
6
+ * Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
7
+ * (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
8
+ * `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
9
+ * Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
10
+ *
11
+ * Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
12
+ * -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
13
+ * accessibility tree needs this explicit role to preserve the list's semantics.
14
+ *
15
+ * ## When to use
16
+ * - As one crumb inside a `<bs-breadcrumbs>` trail.
17
+ *
18
+ * ## When not to use
19
+ * - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
20
+ * first-child-aware separator hiding depend on that parent structure.
21
+ *
22
+ * @slot - Default slot: the crumb's label content/text.
23
+ * @part separator - The leading separator icon wrapper.
24
+ * @part link - The anchor (or, when there's no `href`, plain `<span>`) for a non-current crumb.
25
+ * @part current - The current-page text element.
26
+ */
27
+ export declare class BsBreadcrumb {
28
+ /** Destination for a non-current crumb. Ignored when `current` is true -- the current page is
29
+ * never a link, even if `href` is set (see the class JSDoc). */
30
+ href?: string;
31
+ /** Whether this crumb is the current page. Renders as plain (non-link) text marked
32
+ * `aria-current="page"`, reflected as an attribute so consumers/CSS can target
33
+ * `bs-breadcrumb[current]`. */
34
+ current: boolean;
35
+ /** Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- the
36
+ * container propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/
37
+ * `bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom
38
+ * properties can't carry an enum that switches rules on their own. Can also be set directly on a
39
+ * standalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel
40
+ * size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting
41
+ * off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`. */
42
+ size: BsBreadcrumbSize;
43
+ render(): any;
44
+ }
@@ -0,0 +1,69 @@
1
+ import type { BsBreadcrumbSize } from '../bs-breadcrumb/bs-breadcrumb';
2
+ export interface BsBreadcrumbOverflowItem {
3
+ label: string;
4
+ href?: string;
5
+ }
6
+ /**
7
+ * A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
8
+ * plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
9
+ *
10
+ * `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
11
+ * attribute, since attributes can only carry strings. See CONVENTIONS.md.
12
+ *
13
+ * Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
14
+ * collapsing logic itself -- the consumer decides which crumbs to hide and places this element
15
+ * wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
16
+ * doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
17
+ *
18
+ * Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
19
+ * (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
20
+ * routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
21
+ * Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
22
+ * routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
23
+ * render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
24
+ * no-link crumbs.
25
+ *
26
+ * Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
27
+ * -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
28
+ * accessibility tree needs this explicit role to preserve the list's semantics.
29
+ *
30
+ * ## When to use
31
+ * - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
32
+ * crumbs they've chosen not to render directly.
33
+ *
34
+ * ## When not to use
35
+ * - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
36
+ *
37
+ * @slot - None: `items` fully drives the popup's contents.
38
+ * @part separator - The leading separator icon wrapper.
39
+ * @part ellipsis - The icon-only disclosure button.
40
+ * @part menu - The `bs-menu` popup revealed by the ellipsis button.
41
+ * @part link - Each anchor/span row inside the popup.
42
+ */
43
+ export declare class BsBreadcrumbOverflow {
44
+ el: HTMLElement;
45
+ /** Array prop -- must be set as a JS property (`el.items = [...]`), not an HTML attribute, since
46
+ * attributes can only carry strings. See CONVENTIONS.md. The hidden crumbs reachable via this
47
+ * disclosure -- no collapsing logic here, the consumer decides what goes in this list. */
48
+ items: BsBreadcrumbOverflowItem[];
49
+ /** Accessible name (`aria-label`) for the icon-only ellipsis trigger button. */
50
+ overflowLabel: string;
51
+ /** Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- see
52
+ * `bs-breadcrumb`'s identical `size` prop doc comment for why this is propagated as a JS
53
+ * property rather than inherited via CSS. Scales the popup rows' font-size/line-height only; the
54
+ * separator/ellipsis icons' pixel sizes are unchanged. Reflected so consumers/CSS can target
55
+ * `bs-breadcrumb-overflow[size="sm"]`. */
56
+ size: BsBreadcrumbSize;
57
+ /** Whether the overflow popup is open. */
58
+ open: boolean;
59
+ private onEllipsisToggle;
60
+ /** Closes the overflow popup on Escape, from anywhere within the component -- host is the
61
+ * default @Listen target, so this fires whether focus is on the ellipsis button itself or on a
62
+ * link inside the popup. Mirrors `bs-input`'s `type="dropdown"` `onHostKeydown`. */
63
+ onHostKeydown(ev: KeyboardEvent): void;
64
+ /** Closes the overflow popup once focus leaves the component entirely (e.g. Tab away, or a click
65
+ * outside that moves focus elsewhere) -- `focusout` is composed, so it bubbles across the
66
+ * `bs-menu` shadow boundary too. Mirrors `bs-input`'s `type="dropdown"` `onHostFocusOut`. */
67
+ onHostFocusOut(ev: FocusEvent): void;
68
+ render(): any;
69
+ }
@@ -0,0 +1,45 @@
1
+ import type { BsBreadcrumbSize } from '../bs-breadcrumb/bs-breadcrumb';
2
+ /**
3
+ * A breadcrumb trail container: a real `<nav>` landmark wrapping an `<ol>`, meant to be populated
4
+ * with slotted `<bs-breadcrumb>` (and, where the consumer wants a collapsed-items disclosure,
5
+ * `<bs-breadcrumb-overflow>`) children -- same composition-over-configuration architecture as
6
+ * Carbon Design System's `cds-breadcrumb`/`cds-breadcrumb-item`/`cds-breadcrumb-link`.
7
+ *
8
+ * This component is intentionally thin: it owns only the `<nav>` landmark and list semantics.
9
+ * Unlike an earlier `items`-array-driven design, there is no automatic collapsing here -- exactly
10
+ * like Carbon, the consumer decides what's visible and manually places a `<bs-breadcrumb-overflow>`
11
+ * wherever they want a collapsed-items disclosure. See `bs-breadcrumbs.mdx` for the consolidated
12
+ * docs covering all three components in this feature area.
13
+ *
14
+ * ## When to use
15
+ * - Showing a user's current location within a hierarchical page structure, with a path back to
16
+ * its ancestors.
17
+ *
18
+ * ## When not to use
19
+ * - Primary in-app navigation -- use `bs-navigation-drawer`/`bs-navigation-header` instead.
20
+ * - A flat set of unrelated pages with no hierarchy -- breadcrumbs imply ancestry, not just history.
21
+ *
22
+ * @slot - Default slot: the trail's crumbs, `<bs-breadcrumb>` and/or `<bs-breadcrumb-overflow>`
23
+ * elements, in visual order.
24
+ * @part list - The `<ol>` element.
25
+ */
26
+ export declare class BsBreadcrumbs {
27
+ el: HTMLElement;
28
+ /** Accessible name for the `<nav>` landmark, via `aria-label`. Same pattern as
29
+ * `bs-navigation-drawer`'s `heading` prop. */
30
+ label: string;
31
+ /** Size variant, propagated as a JS property to every slotted `bs-breadcrumb`/
32
+ * `bs-breadcrumb-overflow` child -- this container has no visual sizing of its own (font/spacing
33
+ * live on the item components, see `bs-breadcrumb.tsx`'s identical `size` prop), so propagation
34
+ * is the only way setting `size` here reaches every crumb. CSS custom properties can't carry an
35
+ * enum that switches rules on their own, which is why this is pushed via JS property instead of
36
+ * CSS inheritance -- same reasoning as `bs-tabs` setting `selected` directly on its slotted
37
+ * `bs-tab`/`bs-inline-tab` children. Re-propagated on `size` changes and whenever the slotted
38
+ * children change (e.g. a crumb added later). */
39
+ size: BsBreadcrumbSize;
40
+ onSizeChange(size: BsBreadcrumbSize): void;
41
+ componentDidLoad(): void;
42
+ private onSlotChange;
43
+ private propagateSize;
44
+ render(): any;
45
+ }
@@ -0,0 +1,14 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ type BsBreadcrumbsSize = 'sm' | 'md';
3
+ interface BsBreadcrumbsArgs {
4
+ label: string;
5
+ size: BsBreadcrumbsSize;
6
+ }
7
+ declare const meta: Meta<BsBreadcrumbsArgs>;
8
+ export default meta;
9
+ type Story = StoryObj<BsBreadcrumbsArgs>;
10
+ export declare const Default: Story;
11
+ export declare const Small: Story;
12
+ export declare const WithOverflow: Story;
13
+ export declare const NonLinkCrumb: Story;
14
+ export declare const OverflowFirst: Story;
@@ -10,10 +10,14 @@ export type BsCardSurface = 'base' | 'raised' | 'container';
10
10
  * - As the only structural element on a page — cards group content, they don't replace layout.
11
11
  * - For a dismissible/transient message — use a modal or a dedicated notification component.
12
12
  *
13
+ * @slot image - Optional hero image across the top of the card, flush with its edges and clipped
14
+ * to its top corners. Presence of assigned content is what shows it -- doesn't affect layout when
15
+ * empty.
13
16
  * @slot header - Optional heading content above the body.
14
17
  * @slot - Default slot: the card's main body content.
15
18
  * @slot footer - Optional actions/content below the body (e.g. a button).
16
- * @part container - The outer bordered surface element.
19
+ * @part container - The outer surface element.
20
+ * @part image - The hero image wrapper (only visible when the `image` slot has content).
17
21
  * @part header - The header wrapper.
18
22
  * @part body - The body wrapper.
19
23
  * @part footer - The footer wrapper.
@@ -22,5 +26,10 @@ export declare class BsCard {
22
26
  /** Maps to the brandsync-tokens `--bs-paper-bg-*` set — Brandsync's tokens don't have a
23
27
  * dedicated "card" component yet, so this reuses the existing Paper surface tokens. */
24
28
  surface: BsCardSurface;
29
+ /** Tracks whether the `image` slot has assigned content, so the image wrapper only reserves
30
+ * layout space (and clips its top corners) when there's actually an image -- same pattern as
31
+ * `bs-dialog`'s `hasImage`. */
32
+ hasImage: boolean;
33
+ private onImageSlotchange;
25
34
  render(): any;
26
35
  }
@@ -8,3 +8,4 @@ type Story = StoryObj<BsCardArgs>;
8
8
  export declare const Raised: Story;
9
9
  export declare const Base: Story;
10
10
  export declare const Container: Story;
11
+ export declare const WithImage: Story;
@@ -0,0 +1,36 @@
1
+ import type { BsCheckboxSize } from '../bs-checkbox';
2
+ /**
3
+ * A shape-matched loading placeholder for `bs-checkbox`, shown while the real label text isn't
4
+ * known yet (e.g. still being fetched from an API). Renders a small square (matching the
5
+ * checkbox's own box) beside a text-bar placeholder (standing in for the label), both pulsing
6
+ * together, sized to match `bs-checkbox`'s `sm`/`md`/`lg` box dimensions so layout doesn't shift
7
+ * once the real checkbox renders.
8
+ *
9
+ * ## When to use
10
+ * - In place of a `bs-checkbox` whose label/checked state depends on data that hasn't loaded yet.
11
+ *
12
+ * ## When not to use
13
+ * - While a checkbox's own change handler is running (e.g. a save request in flight) -- render the
14
+ * real `bs-checkbox` itself; this component is not a saving-in-progress spinner.
15
+ *
16
+ * @part container - The outer wrapper holding both placeholder pieces.
17
+ * @part box - The pulsing placeholder standing in for the checkbox's own box.
18
+ * @part label - The pulsing placeholder bar standing in for the label text.
19
+ * @prop --bs-checkbox-skeleton-size-sm - Box width/height at `size="sm"`. Aliased to
20
+ * `--bs-spacing-200`, mirroring `bs-checkbox`'s own `--bs-checkbox-size-sm` -- not read directly
21
+ * from it, since these are two separate shadow roots.
22
+ * @prop --bs-checkbox-skeleton-size-md - Box width/height at `size="md"`. Aliased to
23
+ * `--bs-spacing-250`.
24
+ * @prop --bs-checkbox-skeleton-size-lg - Box width/height at `size="lg"`. Aliased to
25
+ * `--bs-spacing-300`.
26
+ * @prop --bs-checkbox-skeleton-gap - Gap between the box and label placeholders. Aliased to
27
+ * `--bs-spacing-100`, mirroring `bs-checkbox`'s own `--bs-checkbox-gap`.
28
+ * @prop --bs-checkbox-skeleton-label-width - Width of the label placeholder bar. Defaults to
29
+ * `96px`.
30
+ */
31
+ export declare class BsCheckboxSkeleton {
32
+ /** Sizing scale, matching the `bs-checkbox` size it stands in for. Defaults to `lg`, the same
33
+ * (unusual) default `bs-checkbox` itself uses. */
34
+ size: BsCheckboxSize;
35
+ render(): any;
36
+ }
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import type { BsCheckboxSize } from '../bs-checkbox';
3
+ interface BsCheckboxSkeletonArgs {
4
+ size: BsCheckboxSize;
5
+ }
6
+ declare const meta: Meta<BsCheckboxSkeletonArgs>;
7
+ export default meta;
8
+ type Story = StoryObj<BsCheckboxSkeletonArgs>;
9
+ export declare const Default: Story;
10
+ export declare const Sizes: Story;
@@ -12,6 +12,7 @@ declare const meta: Meta<BsCheckboxArgs>;
12
12
  export default meta;
13
13
  type Story = StoryObj<BsCheckboxArgs>;
14
14
  export declare const Default: Story;
15
+ export declare const Horizontal: Story;
15
16
  export declare const Checked: Story;
16
17
  export declare const Indeterminate: Story;
17
18
  export declare const Disabled: Story;
@@ -0,0 +1,74 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type BsDialogSize = 'sm' | 'md' | 'lg';
3
+ /**
4
+ * An overlay dialog that interrupts the current flow for a focused task or confirmation.
5
+ * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
6
+ *
7
+ * ## When to use
8
+ * - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
9
+ * - A short, focused task that doesn't warrant navigating to a new page.
10
+ *
11
+ * ## When not to use
12
+ * - For non-blocking status messages — use a toast/notification instead of interrupting the user.
13
+ * - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
14
+ * dialog that just gets taller and taller.
15
+ *
16
+ * Two additional slots cover the Figma "Dialog" component's other states: `image` (a hero image
17
+ * across the top, close button floats over it instead of sitting in the header row) and `icon`
18
+ * (only rendered when `centered` is set, e.g. a success checkmark above a centered heading). The
19
+ * close button "floats" (absolute-positioned, top-right of the dialog, with its own background)
20
+ * whenever `centered` is true or the `image` slot has content -- otherwise it's the plain inline
21
+ * button in the header row next to the heading, same as before this addition.
22
+ *
23
+ * @slot - Default slot: the dialog body content.
24
+ * @slot image - Optional hero image across the top of the dialog. Presence of assigned content
25
+ * switches the close button to float over it; doesn't affect layout when empty.
26
+ * @slot icon - Optional icon shown above the heading, only rendered at all when `centered` is true.
27
+ * @slot footer - Optional footer content (typically action buttons).
28
+ * @part backdrop - The full-viewport overlay behind the dialog.
29
+ * @part dialog - The dialog box itself.
30
+ * @part image - The hero image wrapper (only visible when the `image` slot has content).
31
+ * @part icon - The icon wrapper (only rendered when `centered` is true).
32
+ * @part header - The header row (heading + close button, when the close button isn't floating).
33
+ * @part close - The close button (inline in the header, or floating -- see the class doc above).
34
+ * @part body - The body content wrapper.
35
+ * @part footer - The footer wrapper (only visible when the footer slot has content).
36
+ */
37
+ export declare class BsDialog {
38
+ /** Mutable + reflected so the component can close itself (backdrop click, Escape, close button)
39
+ * the same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to. */
40
+ open: boolean;
41
+ heading?: string;
42
+ size: BsDialogSize;
43
+ /** Switches to the Figma "Icon Centered" layout: heading/body text centered, the `icon` slot
44
+ * rendered above the heading, and the close button floating top-right of the dialog instead of
45
+ * inline in the header row. Doesn't hide a slotted `image` if one is also provided -- Figma's
46
+ * spec doesn't show the two combined, so this is unspecified rather than actively blocked.
47
+ * Reflected so consumers/CSS can target `bs-dialog[centered]`. */
48
+ centered: boolean;
49
+ bsClose: EventEmitter<void>;
50
+ /** Tracks whether the `footer` slot has assigned content, so the footer bar (border + padding)
51
+ * only renders when there's actually something to put in it. */
52
+ hasFooter: boolean;
53
+ /** Tracks whether the `image` slot has assigned content -- drives both whether the image wrapper
54
+ * is visible and whether the close button floats over it (see `floatingClose` in `render()`). */
55
+ hasImage: boolean;
56
+ /** Tracks whether the `icon` slot has assigned content, so the icon wrapper only reserves layout
57
+ * space when there's actually an icon -- same pattern as `bs-tab`'s `hasIcon`. Only relevant when
58
+ * `centered` is true, since the icon wrapper isn't rendered at all otherwise. */
59
+ hasIcon: boolean;
60
+ private onFooterSlotchange;
61
+ private onImageSlotchange;
62
+ private onIconSlotchange;
63
+ private dialogRef?;
64
+ private previouslyFocused?;
65
+ private previousBodyOverflow?;
66
+ private wasOpen;
67
+ private close;
68
+ onKeydown(ev: KeyboardEvent): void;
69
+ private onBackdropClick;
70
+ onFocusIn(ev: FocusEvent): void;
71
+ componentDidRender(): void;
72
+ disconnectedCallback(): void;
73
+ render(): any;
74
+ }
@@ -1,9 +1,11 @@
1
1
  import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- interface BsModalArgs {
2
+ interface BsDialogArgs {
3
3
  heading: string;
4
4
  size: 'sm' | 'md' | 'lg';
5
5
  }
6
- declare const meta: Meta<BsModalArgs>;
6
+ declare const meta: Meta<BsDialogArgs>;
7
7
  export default meta;
8
- type Story = StoryObj<BsModalArgs>;
8
+ type Story = StoryObj<BsDialogArgs>;
9
9
  export declare const Default: Story;
10
+ export declare const WithImage: Story;
11
+ export declare const Centered: Story;
@@ -25,6 +25,12 @@ import { EventEmitter } from '../../stencil-public-runtime';
25
25
  * toggle), or `dropdown` (chevron) -- those types always render their own trailing control there.
26
26
  * For `type="date"`, the slot is used if provided, otherwise a default calendar icon is shown.
27
27
  * @part field - The bordered field wrapper containing the icon(s) and native control(s).
28
+ * `type="initials"` renders this part on TWO separate elements instead of one (the title
29
+ * `<select>`'s own small box, and the name `<input>`'s own box) -- Figma specs these as two
30
+ * genuinely independent bordered containers with a gap between them, not one shared field the
31
+ * way every other composite type (`country` included) renders, so `::part(field)` reaches
32
+ * whichever of the two a given selector context matches, same "multiple elements, one shared
33
+ * part name" convention as `bs-attachment`'s own `star` part.
28
34
  * @part menu - The `bs-menu` rendered below the field for `type="dropdown"` when `open` and
29
35
  * `options` is non-empty.
30
36
  * @part label - The `<label>` element.
@@ -157,7 +163,8 @@ export declare class BsInput {
157
163
  private renderSelectControl;
158
164
  private renderTextareaControl;
159
165
  private renderChipControl;
160
- private renderInitialsControl;
166
+ private renderInitialsField;
167
+ private renderSelectChevron;
161
168
  private renderCountryControl;
162
169
  private renderControl;
163
170
  private renderField;