@brandsync/wc 1.7.0 → 1.9.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 (345) hide show
  1. package/custom-elements.json +340 -24
  2. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  3. package/dist/brandsync-wc/{p-fde5e9f1.entry.js → p-051d3064.entry.js} +1 -1
  4. package/dist/brandsync-wc/{p-f243683f.entry.js → p-05c7de28.entry.js} +1 -1
  5. package/dist/brandsync-wc/{p-2d6955d6.entry.js → p-062cfa34.entry.js} +1 -1
  6. package/dist/brandsync-wc/p-0e39b9cc.entry.js +1 -0
  7. package/dist/brandsync-wc/p-0eed6813.entry.js +1 -0
  8. package/dist/brandsync-wc/{p-d25b7b74.entry.js → p-107b1c5d.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-538cc08e.entry.js → p-114d2fd8.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-6754dfa9.entry.js → p-1c0db4d6.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-4a1a5d6e.entry.js → p-1f7208cb.entry.js} +1 -1
  12. package/dist/brandsync-wc/p-2181378f.entry.js +1 -0
  13. package/dist/brandsync-wc/{p-d06543a5.entry.js → p-235ae012.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-2700a63e.entry.js → p-275072dd.entry.js} +1 -1
  15. package/dist/brandsync-wc/p-27bbed83.entry.js +1 -0
  16. package/dist/brandsync-wc/p-2891d40b.entry.js +1 -0
  17. package/dist/brandsync-wc/p-29027559.entry.js +1 -0
  18. package/dist/brandsync-wc/{p-a36a0e6a.entry.js → p-3176d1d3.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-0d86c22d.entry.js → p-33e44094.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-e427bbda.entry.js → p-360452c2.entry.js} +1 -1
  21. package/dist/brandsync-wc/p-36bf37d9.entry.js +1 -0
  22. package/dist/brandsync-wc/p-3b64e3cd.entry.js +1 -0
  23. package/dist/brandsync-wc/p-3ec74d35.entry.js +1 -0
  24. package/dist/brandsync-wc/p-4574a707.entry.js +1 -0
  25. package/dist/brandsync-wc/p-4e5dcaff.entry.js +1 -0
  26. package/dist/brandsync-wc/{p-61db6ce2.entry.js → p-61c1a2a3.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-85c70f6d.entry.js → p-6331de9c.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-9c1be2a0.entry.js → p-6bf2f116.entry.js} +1 -1
  29. package/dist/brandsync-wc/p-6fd7dd6a.entry.js +1 -0
  30. package/dist/brandsync-wc/{p-c3a28a89.entry.js → p-70f64b25.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-06e9b45d.entry.js → p-7b00dd36.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-13e4966c.entry.js → p-7c94e6ae.entry.js} +1 -1
  33. package/dist/brandsync-wc/p-835a8dc7.entry.js +1 -0
  34. package/dist/brandsync-wc/{p-77433277.entry.js → p-8ee0153b.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-e1069ba9.entry.js → p-9f65f998.entry.js} +1 -1
  36. package/dist/brandsync-wc/p-9f6fe37d.entry.js +1 -0
  37. package/dist/brandsync-wc/{p-b2dc9886.entry.js → p-9f8852a0.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-DuyFft7h.js → p-AgoOSYvW.js} +2 -2
  39. package/dist/brandsync-wc/{p-fba01c96.entry.js → p-a09e157f.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-55e6438c.entry.js → p-a0d5a620.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-8b2ab522.entry.js → p-a5feaad4.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-cbaa19ab.entry.js → p-a92eec48.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-3eab22a5.entry.js → p-ae978c9a.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-f2ce9a1f.entry.js → p-bbcc47b0.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-80cf96ff.entry.js → p-be2c1740.entry.js} +1 -1
  46. package/dist/brandsync-wc/p-c10d2529.entry.js +1 -0
  47. package/dist/brandsync-wc/{p-819a3dae.entry.js → p-c3f72584.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-8b57f606.entry.js → p-c4de155c.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-c197cc95.entry.js → p-cfcf3f0a.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-f8f03334.entry.js → p-de7c946d.entry.js} +1 -1
  51. package/dist/brandsync-wc/{p-600b5434.entry.js → p-e9b43754.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-4bff9b4b.entry.js → p-f006d962.entry.js} +1 -1
  53. package/dist/brandsync-wc/p-f074f94e.entry.js +1 -0
  54. package/dist/brandsync-wc/{p-7ed5670e.entry.js → p-f7d47c17.entry.js} +1 -1
  55. package/dist/brandsync-wc/p-fc240aa0.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-f518f486.entry.js → p-fc58c663.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-be14f99f.entry.js → p-fddc7bd1.entry.js} +1 -1
  58. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  59. package/dist/cjs/bs-accordion.cjs.entry.js +2 -2
  60. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  61. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  62. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  63. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  64. package/dist/cjs/bs-attachment.cjs.entry.js +2 -2
  65. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +15 -3
  68. package/dist/cjs/bs-breadcrumb.cjs.entry.js +16 -2
  69. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  70. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  71. package/dist/cjs/bs-button.cjs.entry.js +23 -4
  72. package/dist/cjs/bs-card.cjs.entry.js +2 -2
  73. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
  75. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  76. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  77. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  78. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  79. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  80. package/dist/cjs/bs-checkbox.cjs.entry.js +48 -3
  81. package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
  82. package/dist/cjs/bs-chip-informative.cjs.entry.js +2 -2
  83. package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
  84. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  85. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  86. package/dist/cjs/bs-data-table.cjs.entry.js +20 -6
  87. package/dist/cjs/bs-dialog.cjs.entry.js +2 -2
  88. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  89. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  90. package/dist/cjs/bs-icon-button.cjs.entry.js +23 -4
  91. package/dist/cjs/bs-inline-tab.cjs.entry.js +11 -3
  92. package/dist/cjs/bs-input.cjs.entry.js +69 -5
  93. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-menu-item.cjs.entry.js +1 -1
  95. package/dist/cjs/bs-menu.cjs.entry.js +25 -3
  96. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
  97. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +119 -6
  98. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  99. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-progress-linear.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-progress.cjs.entry.js +8 -3
  102. package/dist/cjs/bs-radio.cjs.entry.js +81 -12
  103. package/dist/cjs/bs-slider.cjs.entry.js +54 -2
  104. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  106. package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
  107. package/dist/cjs/bs-stepper.cjs.entry.js +3 -2
  108. package/dist/cjs/bs-switch.cjs.entry.js +36 -3
  109. package/dist/cjs/bs-tab.cjs.entry.js +11 -3
  110. package/dist/cjs/bs-tabs.cjs.entry.js +97 -3
  111. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  113. package/dist/cjs/{index-D7e6DfLV.js → index-kk9YXF2S.js} +43 -5
  114. package/dist/cjs/loader.cjs.js +2 -2
  115. package/dist/collection/components/bs-a11y.cmp.test.js +54 -0
  116. package/dist/collection/components/bs-accordion/bs-accordion.css +5 -5
  117. package/dist/collection/components/bs-attachment/bs-attachment.css +1 -1
  118. package/dist/collection/components/bs-attachment-list/bs-attachment-list.css +1 -1
  119. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +63 -0
  120. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +32 -1
  121. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +45 -0
  122. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +1 -1
  123. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +30 -1
  124. package/dist/collection/components/bs-button/bs-button/bs-button.css +17 -10
  125. package/dist/collection/components/bs-button/bs-button/bs-button.js +16 -3
  126. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +20 -0
  127. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +21 -4
  128. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +18 -4
  129. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +10 -0
  130. package/dist/collection/components/bs-card/bs-card.css +4 -0
  131. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +1 -1
  132. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +3 -3
  133. package/dist/collection/components/bs-checkbox/bs-checkbox.css +8 -1
  134. package/dist/collection/components/bs-checkbox/bs-checkbox.js +100 -2
  135. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +4 -4
  136. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +4 -4
  137. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +5 -5
  138. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +19 -0
  139. package/dist/collection/components/bs-data-table/bs-data-table.css +1 -1
  140. package/dist/collection/components/bs-data-table/bs-data-table.js +19 -5
  141. package/dist/collection/components/bs-data-table/bs-data-table.stories.js +8 -1
  142. package/dist/collection/components/bs-dialog/bs-dialog.css +5 -1
  143. package/dist/collection/components/bs-form-association.cmp.test.js +172 -0
  144. package/dist/collection/components/bs-input/bs-input.css +10 -4
  145. package/dist/collection/components/bs-input/bs-input.js +82 -4
  146. package/dist/collection/components/bs-keyboard-nav.cmp.test.js +100 -0
  147. package/dist/collection/components/bs-logo/bs-logo.cmp.test.js +52 -3
  148. package/dist/collection/components/bs-menu/bs-menu.css +4 -0
  149. package/dist/collection/components/bs-menu/bs-menu.js +33 -1
  150. package/dist/collection/components/bs-menu/bs-menu.stories.js +54 -0
  151. package/dist/collection/components/bs-progress/bs-progress.js +27 -2
  152. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +4 -10
  153. package/dist/collection/components/bs-radio/bs-radio.css +7 -1
  154. package/dist/collection/components/bs-radio/bs-radio.js +92 -14
  155. package/dist/collection/components/bs-radio/bs-radio.stories.js +1 -10
  156. package/dist/collection/components/bs-slider/bs-slider.js +68 -2
  157. package/dist/collection/components/bs-source-link/bs-source-link.css +2 -2
  158. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +3 -2
  159. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.css +3 -3
  160. package/dist/collection/components/bs-switch/bs-switch.css +10 -1
  161. package/dist/collection/components/bs-switch/bs-switch.js +69 -2
  162. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -2
  163. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +47 -1
  164. package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +2 -2
  165. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +47 -1
  166. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +88 -0
  167. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +139 -2
  168. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +24 -0
  169. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  170. package/dist/collection/components/forms/forms.stories.js +63 -0
  171. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +173 -5
  172. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +106 -34
  173. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +181 -5
  174. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +48 -0
  175. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  176. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +68 -0
  177. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +31 -17
  178. package/dist/components/bs-accordion.js +1 -1
  179. package/dist/components/bs-ai-disclaimer.js +1 -1
  180. package/dist/components/bs-ai-greeting.js +1 -1
  181. package/dist/components/bs-ai-thinking.js +1 -1
  182. package/dist/components/bs-attachment-list.js +1 -1
  183. package/dist/components/bs-attachment.js +1 -1
  184. package/dist/components/bs-avatar.js +1 -1
  185. package/dist/components/bs-badge.js +1 -1
  186. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  187. package/dist/components/bs-breadcrumb.js +1 -1
  188. package/dist/components/bs-breadcrumbs.js +1 -1
  189. package/dist/components/bs-button-skeleton.js +1 -1
  190. package/dist/components/bs-button.js +1 -1
  191. package/dist/components/bs-card.js +1 -1
  192. package/dist/components/bs-carousel.js +1 -1
  193. package/dist/components/bs-chatbot-feedback.js +1 -1
  194. package/dist/components/bs-chatbot-header.js +1 -1
  195. package/dist/components/bs-chatbot-response-action.js +1 -1
  196. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  197. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  198. package/dist/components/bs-checkbox-skeleton.js +1 -1
  199. package/dist/components/bs-checkbox.js +1 -1
  200. package/dist/components/bs-chip-filter.js +1 -1
  201. package/dist/components/bs-chip-informative.js +1 -1
  202. package/dist/components/bs-chip-input.js +1 -1
  203. package/dist/components/bs-composer-status-banner.js +1 -1
  204. package/dist/components/bs-composer.js +1 -1
  205. package/dist/components/bs-data-table.js +1 -1
  206. package/dist/components/bs-dialog.js +1 -1
  207. package/dist/components/bs-file-upload-item.js +1 -1
  208. package/dist/components/bs-file-upload.js +1 -1
  209. package/dist/components/bs-icon-button.js +1 -1
  210. package/dist/components/bs-inline-tab.js +1 -1
  211. package/dist/components/bs-input.js +1 -1
  212. package/dist/components/bs-logo.js +1 -1
  213. package/dist/components/bs-menu-item.js +1 -1
  214. package/dist/components/bs-menu.js +1 -1
  215. package/dist/components/bs-navigation-drawer-item.js +1 -1
  216. package/dist/components/bs-navigation-drawer.js +1 -1
  217. package/dist/components/bs-navigation-header.js +1 -1
  218. package/dist/components/bs-pagination.js +1 -1
  219. package/dist/components/bs-progress-linear.js +1 -1
  220. package/dist/components/bs-progress.js +1 -1
  221. package/dist/components/bs-radio.js +1 -1
  222. package/dist/components/bs-slider.js +1 -1
  223. package/dist/components/bs-snackbar.js +1 -1
  224. package/dist/components/bs-source-link.js +1 -1
  225. package/dist/components/bs-stepper-step.js +1 -1
  226. package/dist/components/bs-stepper.js +1 -1
  227. package/dist/components/bs-switch.js +1 -1
  228. package/dist/components/bs-tab.js +1 -1
  229. package/dist/components/bs-tabs.js +1 -1
  230. package/dist/components/bs-toast.js +1 -1
  231. package/dist/components/bs-tooltip.js +1 -1
  232. package/dist/components/index.js +1 -1
  233. package/dist/components/{p-LYvoWZt4.js → p-BA3c9Rom.js} +1 -1
  234. package/dist/components/{p-Dqt-Qp4W.js → p-BfEyD6Ku.js} +1 -1
  235. package/dist/components/p-BoeorHNv.js +1 -0
  236. package/dist/components/p-Buly0d5G.js +1 -0
  237. package/dist/components/p-CpUHnsq9.js +1 -0
  238. package/dist/components/{p-BxFJ74fI.js → p-EtXc94lJ.js} +1 -1
  239. package/dist/components/{p-mnGJPH85.js → p-JYlmcxBn.js} +1 -1
  240. package/dist/components/{p-BhvV55-6.js → p-R2MlkUzD.js} +1 -1
  241. package/dist/components/{p-Dx8gAOVC.js → p-wei0Ija2.js} +1 -1
  242. package/dist/esm/brandsync-wc.js +3 -3
  243. package/dist/esm/bs-accordion.entry.js +2 -2
  244. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  245. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  246. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  247. package/dist/esm/bs-attachment-list.entry.js +2 -2
  248. package/dist/esm/bs-attachment.entry.js +2 -2
  249. package/dist/esm/bs-avatar.entry.js +1 -1
  250. package/dist/esm/bs-badge.entry.js +1 -1
  251. package/dist/esm/bs-breadcrumb-overflow.entry.js +15 -3
  252. package/dist/esm/bs-breadcrumb.entry.js +16 -2
  253. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  254. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  255. package/dist/esm/bs-button.entry.js +23 -4
  256. package/dist/esm/bs-card.entry.js +2 -2
  257. package/dist/esm/bs-carousel.entry.js +1 -1
  258. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  259. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  260. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  261. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  262. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  263. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  264. package/dist/esm/bs-checkbox.entry.js +48 -3
  265. package/dist/esm/bs-chip-filter.entry.js +2 -2
  266. package/dist/esm/bs-chip-informative.entry.js +2 -2
  267. package/dist/esm/bs-chip-input.entry.js +2 -2
  268. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  269. package/dist/esm/bs-composer.entry.js +1 -1
  270. package/dist/esm/bs-data-table.entry.js +20 -6
  271. package/dist/esm/bs-dialog.entry.js +2 -2
  272. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  273. package/dist/esm/bs-file-upload.entry.js +1 -1
  274. package/dist/esm/bs-icon-button.entry.js +23 -4
  275. package/dist/esm/bs-inline-tab.entry.js +11 -3
  276. package/dist/esm/bs-input.entry.js +69 -5
  277. package/dist/esm/bs-logo.entry.js +1 -1
  278. package/dist/esm/bs-menu-item.entry.js +1 -1
  279. package/dist/esm/bs-menu.entry.js +25 -3
  280. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  281. package/dist/esm/bs-navigation-drawer.entry.js +119 -6
  282. package/dist/esm/bs-navigation-header.entry.js +2 -2
  283. package/dist/esm/bs-pagination.entry.js +1 -1
  284. package/dist/esm/bs-progress-linear.entry.js +1 -1
  285. package/dist/esm/bs-progress.entry.js +8 -3
  286. package/dist/esm/bs-radio.entry.js +81 -12
  287. package/dist/esm/bs-slider.entry.js +54 -2
  288. package/dist/esm/bs-snackbar.entry.js +1 -1
  289. package/dist/esm/bs-source-link.entry.js +2 -2
  290. package/dist/esm/bs-stepper-step.entry.js +2 -2
  291. package/dist/esm/bs-stepper.entry.js +3 -2
  292. package/dist/esm/bs-switch.entry.js +36 -3
  293. package/dist/esm/bs-tab.entry.js +11 -3
  294. package/dist/esm/bs-tabs.entry.js +97 -3
  295. package/dist/esm/bs-toast.entry.js +1 -1
  296. package/dist/esm/bs-tooltip.entry.js +2 -2
  297. package/dist/esm/{index-DuyFft7h.js → index-AgoOSYvW.js} +43 -5
  298. package/dist/esm/loader.js +3 -3
  299. package/dist/types/components/bs-a11y.cmp.test.d.ts +1 -0
  300. package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +10 -0
  301. package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +8 -0
  302. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +4 -1
  303. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +6 -2
  304. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.stories.d.ts +1 -0
  305. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +12 -0
  306. package/dist/types/components/bs-data-table/bs-data-table.d.ts +16 -2
  307. package/dist/types/components/bs-form-association.cmp.test.d.ts +1 -0
  308. package/dist/types/components/bs-input/bs-input.d.ts +12 -0
  309. package/dist/types/components/bs-keyboard-nav.cmp.test.d.ts +1 -0
  310. package/dist/types/components/bs-menu/bs-menu.d.ts +4 -0
  311. package/dist/types/components/bs-menu/bs-menu.stories.d.ts +1 -0
  312. package/dist/types/components/bs-progress/bs-progress.d.ts +5 -0
  313. package/dist/types/components/bs-radio/bs-radio.d.ts +23 -9
  314. package/dist/types/components/bs-slider/bs-slider.d.ts +9 -0
  315. package/dist/types/components/bs-switch/bs-switch.d.ts +10 -0
  316. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +8 -0
  317. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +8 -0
  318. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +24 -0
  319. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.stories.d.ts +1 -0
  320. package/dist/types/components/forms/forms.stories.d.ts +6 -0
  321. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +50 -1
  322. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +2 -0
  323. package/dist/types/components.d.ts +271 -9
  324. package/package.json +1 -1
  325. package/readme.md +14 -0
  326. package/dist/brandsync-wc/p-18021c05.entry.js +0 -1
  327. package/dist/brandsync-wc/p-1c8160c2.entry.js +0 -1
  328. package/dist/brandsync-wc/p-21c14465.entry.js +0 -1
  329. package/dist/brandsync-wc/p-27100489.entry.js +0 -1
  330. package/dist/brandsync-wc/p-309f920e.entry.js +0 -1
  331. package/dist/brandsync-wc/p-30d6a6d0.entry.js +0 -1
  332. package/dist/brandsync-wc/p-387ed85f.entry.js +0 -1
  333. package/dist/brandsync-wc/p-4b0938a5.entry.js +0 -1
  334. package/dist/brandsync-wc/p-5312b6a5.entry.js +0 -1
  335. package/dist/brandsync-wc/p-70e035ed.entry.js +0 -1
  336. package/dist/brandsync-wc/p-777a9dbf.entry.js +0 -1
  337. package/dist/brandsync-wc/p-a96856fd.entry.js +0 -1
  338. package/dist/brandsync-wc/p-b0634051.entry.js +0 -1
  339. package/dist/brandsync-wc/p-bcee3d60.entry.js +0 -1
  340. package/dist/brandsync-wc/p-d03eba2b.entry.js +0 -1
  341. package/dist/brandsync-wc/p-e61efe4d.entry.js +0 -1
  342. package/dist/brandsync-wc/p-f14bda01.entry.js +0 -1
  343. package/dist/components/p-BaxFLlKS.js +0 -1
  344. package/dist/components/p-DI5GgSqL.js +0 -1
  345. package/dist/components/p-v4T0qPVn.js +0 -1
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-DuyFft7h.js';
1
+ import { r as registerInstance, h } from './index-AgoOSYvW.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: '81d300180aa98431ab694c50e76bb7e55a65efb0', class: "bs-tooltip" }, h("span", { key: '42e53b74b32dab5418e1e7ce37210316fd14341e', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '9b118fbb55282ef4cc7ccdf45da46c1939e25147', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '52f128c55db4da2bbdc6b94c254ab80fb7dcc53f' }))));
17
+ return (h("div", { key: 'b7c2ee57db3a4e36cdd106d78f0f8d54c45a04c6', class: "bs-tooltip" }, h("span", { key: '22b738a760e9967233052ce4540c77da4ac9563e', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '69a8b07711478e699be4c8151d9f7dfd2e4e0bf4', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: 'b32c75a06582b8e8f99b973889450e9100b75323' }))));
18
18
  }
19
19
  };
20
20
  BsTooltip.style = bsTooltipCss();
@@ -142,6 +142,12 @@ var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
142
142
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
143
143
  var MAX_LAZY_LOAD_RETRIES = 3;
144
144
  var LAZY_LOAD_RETRY_INTERVAL_MS = 1e3;
145
+ var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
146
+ "formAssociatedCallback",
147
+ "formResetCallback",
148
+ "formDisabledCallback",
149
+ "formStateRestoreCallback"
150
+ ];
145
151
  var win = typeof window !== "undefined" ? window : {};
146
152
  var plt = {
147
153
  $flags$: 0,
@@ -540,7 +546,9 @@ var normalizeWatchers = (raw) => {
540
546
  var parsePropertyValue = (propValue, propType, isFormAssociated) => {
541
547
  if (propValue != null && !isComplexType(propValue)) {
542
548
  if (propType & 4 /* Boolean */) {
543
- {
549
+ if (isFormAssociated && typeof propValue === "string") {
550
+ return propValue === "" || !!propValue;
551
+ } else {
544
552
  return propValue === "false" ? false : propValue === "" || !!propValue;
545
553
  }
546
554
  }
@@ -1237,7 +1245,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1237
1245
  const instance = hostRef.$lazyInstance$ ;
1238
1246
  newVal = parsePropertyValue(
1239
1247
  newVal,
1240
- cmpMeta.$members$[propName][0]);
1248
+ cmpMeta.$members$[propName][0],
1249
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1250
+ );
1241
1251
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1242
1252
  const didValueChange = newVal !== oldVal && !areBothNaN;
1243
1253
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -1295,6 +1305,26 @@ var replayPendingSetterValues = (hostRef, cmpMeta) => {
1295
1305
  var proxyComponent = (Cstr, cmpMeta, flags) => {
1296
1306
  var _a, _b;
1297
1307
  const prototype = Cstr.prototype;
1308
+ if (cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {
1309
+ FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach((cbName) => {
1310
+ Object.defineProperty(prototype, cbName, {
1311
+ value(...args) {
1312
+ var _a2;
1313
+ const hostRef = getHostRef(this);
1314
+ const instance = hostRef == null ? void 0 : hostRef.$lazyInstance$ ;
1315
+ if (!instance) {
1316
+ (_a2 = hostRef == null ? void 0 : hostRef.$onReadyPromise$) == null ? void 0 : _a2.then((asyncInstance) => {
1317
+ const cb = asyncInstance[cbName];
1318
+ typeof cb === "function" && cb.call(asyncInstance, ...args);
1319
+ });
1320
+ } else {
1321
+ const cb = instance[cbName] ;
1322
+ typeof cb === "function" && cb.call(instance, ...args);
1323
+ }
1324
+ }
1325
+ });
1326
+ });
1327
+ }
1298
1328
  if (cmpMeta.$members$ || BUILD.propChangeCallback) {
1299
1329
  {
1300
1330
  if (Cstr.watchers && !cmpMeta.$watchers$) {
@@ -1343,7 +1373,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1343
1373
  origSetter.apply(this, [
1344
1374
  parsePropertyValue(
1345
1375
  newValue,
1346
- memberFlags)
1376
+ memberFlags,
1377
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1378
+ )
1347
1379
  ]);
1348
1380
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1349
1381
  setValue(this, memberName, newValue, cmpMeta);
@@ -1356,7 +1388,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1356
1388
  }
1357
1389
  const parsedValue = parsePropertyValue(
1358
1390
  newValue,
1359
- memberFlags);
1391
+ memberFlags,
1392
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1393
+ );
1360
1394
  if (ref.$lazyInstance$) {
1361
1395
  const currentValue = ref.$lazyInstance$[memberName];
1362
1396
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
@@ -1421,7 +1455,8 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1421
1455
  }
1422
1456
  const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
1423
1457
  if (isBooleanTarget) {
1424
- newValue = newValue === null || newValue === "false" && true ? false : true;
1458
+ const isFormAssociated = !!(cmpMeta.$flags$ & 64 /* formAssociated */);
1459
+ newValue = newValue === null || newValue === "false" && !isFormAssociated ? false : true;
1425
1460
  }
1426
1461
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1427
1462
  if (!isSpuriousBooleanRemoval && newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
@@ -1725,6 +1760,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1725
1760
  return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
1726
1761
  }
1727
1762
  };
1763
+ if (cmpMeta.$flags$ & 64 /* formAssociated */) {
1764
+ HostElement.formAssociated = true;
1765
+ }
1728
1766
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
1729
1767
  if (!exclude.includes(tagName) && !customElements2.get(tagName)) {
1730
1768
  cmpTags.push(tagName);
@@ -1,10 +1,10 @@
1
- import { g as globalScripts, b as bootstrapLazy } from './index-DuyFft7h.js';
2
- export { s as setNonce } from './index-DuyFft7h.js';
1
+ import { g as globalScripts, b as bootstrapLazy } from './index-AgoOSYvW.js';
2
+ export { s as setNonce } from './index-AgoOSYvW.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-carousel",[[769,"bs-carousel",{"tracker":[1],"slidesPerView":[2,"slides-per-view"],"currentPage":[1538,"current-page"],"autoplay":[4],"interval":[2],"paused":[1540],"label":[1],"previousLabel":[1,"previous-label"],"nextLabel":[1,"next-label"],"pauseLabel":[1,"pause-label"],"playLabel":[1,"play-label"],"slideCount":[32],"interacting":[32]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"],[0,"focusin","onFocusIn"],[0,"focusout","onFocusOut"]],{"currentPage":[{"onCurrentPageChange":0}],"autoplay":[{"updateTimer":0}],"paused":[{"updateTimer":0}],"interval":[{"updateTimer":0}],"interacting":[{"updateTimer":0}],"slideCount":[{"updateTimer":0}],"slidesPerView":[{"updateTimer":0}]}]]],["bs-file-upload-item",[[769,"bs-file-upload-item",{"state":[513],"fileName":[1,"file-name"],"fileSize":[1,"file-size"],"progress":[2],"message":[1],"thumbnailSrc":[1,"thumbnail-src"],"thumbnailAlt":[1,"thumbnail-alt"],"cancelLabel":[1,"cancel-label"],"removeLabel":[1,"remove-label"]}]]],["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-snackbar",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["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-file-upload",[[769,"bs-file-upload",{"direction":[513],"heading":[1],"description":[1],"buttonLabel":[1,"button-label"],"accept":[1],"multiple":[4],"disabled":[516],"dragging":[1540]}]]],["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-accordion",[[769,"bs-accordion",{"expanded":[516],"size":[1],"disabled":[4],"showIcon":[4,"show-icon"],"showPreview":[4,"show-preview"]}]]],["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-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-chip-filter",[[785,"bs-chip-filter",{"size":[1],"selected":[516],"dropdown":[4],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32]}]]],["bs-chip-informative",[[769,"bs-chip-informative",{"color":[1],"size":[1],"disabled":[516],"hasIcon":[32]}]]],["bs-chip-input",[[785,"bs-chip-input",{"size":[1],"selected":[1540],"disabled":[516],"hasIcon":[32],"labelText":[32]}]]],["bs-composer",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1025],"state":[513],"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],"clearSelection":[64]}]]],["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-progress",[[513,"bs-progress",{"type":[1],"size":[1],"strokeWidth":[2,"stroke-width"],"value":[2],"showLabel":[4,"show-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-source-link",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-stepper",[[769,"bs-stepper",{"currentStep":[2,"current-step"],"direction":[513],"showDescription":[4,"show-description"]},null,{"currentStep":[{"onPropChange":0}],"direction":[{"onPropChange":0}],"showDescription":[{"onPropChange":0}]}]]],["bs-stepper-step",[[513,"bs-stepper-step",{"name":[1],"description":[1],"error":[4],"disabled":[4],"computedState":[1,"computed-state"],"direction":[1],"showDescription":[4,"show-description"]}]]],["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-toast",[[769,"bs-toast",{"state":[1]}]]],["bs-menu-item",[[769,"bs-menu-item",{"disabled":[4],"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-progress-linear",[[769,"bs-progress-linear",{"type":[1],"size":[1],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"],"hasLabelContent":[32]}]]],["bs-tooltip",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-logo",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu",[[257,"bs-menu"]]],["bs-button",[[785,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-icon-button",[[785,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]]], options);
7
+ return bootstrapLazy([["bs-carousel",[[769,"bs-carousel",{"tracker":[1],"slidesPerView":[2,"slides-per-view"],"currentPage":[1538,"current-page"],"autoplay":[4],"interval":[2],"paused":[1540],"label":[1],"previousLabel":[1,"previous-label"],"nextLabel":[1,"next-label"],"pauseLabel":[1,"pause-label"],"playLabel":[1,"play-label"],"slideCount":[32],"interacting":[32]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"],[0,"focusin","onFocusIn"],[0,"focusout","onFocusOut"]],{"currentPage":[{"onCurrentPageChange":0}],"autoplay":[{"updateTimer":0}],"paused":[{"updateTimer":0}],"interval":[{"updateTimer":0}],"interacting":[{"updateTimer":0}],"slideCount":[{"updateTimer":0}],"slidesPerView":[{"updateTimer":0}]}]]],["bs-file-upload-item",[[769,"bs-file-upload-item",{"state":[513],"fileName":[1,"file-name"],"fileSize":[1,"file-size"],"progress":[2],"message":[1],"thumbnailSrc":[1,"thumbnail-src"],"thumbnailAlt":[1,"thumbnail-alt"],"cancelLabel":[1,"cancel-label"],"removeLabel":[1,"remove-label"]}]]],["bs-input",[[849,"bs-input",{"name":[513],"value":[1025],"type":[1],"label":[1],"placeholder":[1],"description":[1],"error":[1],"disabled":[516],"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"]],{"value":[{"onFormStateChange":0}],"type":[{"onFormStateChange":0}],"chips":[{"onFormStateChange":0}],"required":[{"onFormStateChange":0}]}]]],["bs-snackbar",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["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-file-upload",[[769,"bs-file-upload",{"direction":[513],"heading":[1],"description":[1],"buttonLabel":[1,"button-label"],"accept":[1],"multiple":[4],"disabled":[516],"dragging":[1540]}]]],["bs-navigation-drawer",[[769,"bs-navigation-drawer",{"heading":[1],"collapsible":[4],"collapsed":[1540],"logoBackground":[1,"logo-background"],"showLogo":[4,"show-logo"],"open":[1540],"mobile":[32]},[[4,"keydown","onDocumentKeydown"],[4,"focusin","onDocumentFocusIn"]],{"collapsed":[{"onCollapsedChange":0}],"mobile":[{"onMobileChange":0}],"open":[{"onOpenChange":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-accordion",[[769,"bs-accordion",{"expanded":[516],"size":[1],"disabled":[4],"showIcon":[4,"show-icon"],"showPreview":[4,"show-preview"]}]]],["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-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",[[849,"bs-checkbox",{"name":[513],"value":[1],"required":[4],"size":[1],"checked":[1540],"indeterminate":[1540],"disabled":[516],"error":[4],"ariaLabel":[1,"aria-label"]},null,{"checked":[{"syncFormValue":0}],"value":[{"syncFormValue":0}],"required":[{"syncFormValue":0}],"indeterminate":[{"onIndeterminateChange":0}]}]]],["bs-checkbox-skeleton",[[513,"bs-checkbox-skeleton",{"size":[1]}]]],["bs-chip-filter",[[785,"bs-chip-filter",{"size":[1],"selected":[516],"dropdown":[4],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32]}]]],["bs-chip-informative",[[769,"bs-chip-informative",{"color":[1],"size":[1],"disabled":[516],"hasIcon":[32]}]]],["bs-chip-input",[[785,"bs-chip-input",{"size":[1],"selected":[1540],"disabled":[516],"hasIcon":[32],"labelText":[32]}]]],["bs-composer",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1025],"state":[513],"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],"clearSelection":[64]}]]],["bs-inline-tab",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"value":[513],"tabbable":[4],"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-progress",[[513,"bs-progress",{"type":[1],"size":[1],"strokeWidth":[2,"stroke-width"],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"]}]]],["bs-radio",[[849,"bs-radio",{"name":[513],"value":[1],"checked":[1540],"disabled":[516],"groupHasChecked":[32]},[[4,"bsChange","onAnyRadioChange"]],{"checked":[{"onCheckedChange":0}],"value":[{"onCheckedChange":0}]}]]],["bs-slider",[[593,"bs-slider",{"type":[1],"name":[513],"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":[516],"ariaLabel":[1,"aria-label"]},null,{"value":[{"syncFormValue":0}],"valueStart":[{"syncFormValue":0}],"valueEnd":[{"syncFormValue":0}],"type":[{"syncFormValue":0}]}]]],["bs-source-link",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-stepper",[[769,"bs-stepper",{"currentStep":[2,"current-step"],"direction":[513],"showDescription":[4,"show-description"]},null,{"currentStep":[{"onPropChange":0}],"direction":[{"onPropChange":0}],"showDescription":[{"onPropChange":0}]}]]],["bs-stepper-step",[[513,"bs-stepper-step",{"name":[1],"description":[1],"error":[4],"disabled":[4],"computedState":[1,"computed-state"],"direction":[1],"showDescription":[4,"show-description"]}]]],["bs-switch",[[849,"bs-switch",{"name":[513],"value":[1],"size":[1],"checked":[1540],"disabled":[516],"ariaLabel":[1,"aria-label"]},null,{"checked":[{"syncFormValue":0}],"value":[{"syncFormValue":0}]}]]],["bs-tab",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"value":[513],"tabbable":[4],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs",[[769,"bs-tabs",{"type":[1],"orientation":[1],"value":[1537]},[[0,"bsSelect","onTabSelect"],[0,"keydown","onKeyDown"]],{"value":[{"onValueChange":0}],"orientation":[{"syncRovingTabindex":0}]}]]],["bs-toast",[[769,"bs-toast",{"state":[1]}]]],["bs-menu-item",[[769,"bs-menu-item",{"disabled":[4],"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-progress-linear",[[769,"bs-progress-linear",{"type":[1],"size":[1],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"],"hasLabelContent":[32]}]]],["bs-tooltip",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-logo",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu",[[257,"bs-menu",null,[[0,"keydown","onKeyDown"]]]]],["bs-button",[[849,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-icon-button",[[849,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]]], options);
8
8
  };
9
9
 
10
10
  export { defineCustomElements };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
1
2
  export type BsBreadcrumbSize = 'sm' | 'md';
2
3
  /**
3
4
  * A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
@@ -40,5 +41,14 @@ export declare class BsBreadcrumb {
40
41
  * size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting
41
42
  * off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`. */
42
43
  size: BsBreadcrumbSize;
44
+ /** Fires when the crumb's link is clicked, before the browser navigates. **Cancelable**: call
45
+ * `event.preventDefault()` to stop the native navigation and route it yourself (an SPA router).
46
+ * Detail is `{ href }`. Only a plain primary-button click emits it -- ctrl/cmd/shift/alt-clicks
47
+ * and middle-clicks (open in a new tab/window) are left to the browser. Bubbles and is composed,
48
+ * so one listener on the surrounding `<bs-breadcrumbs>` covers every crumb. */
49
+ bsNavigate: EventEmitter<{
50
+ href: string;
51
+ }>;
52
+ private onLinkClick;
43
53
  render(): any;
44
54
  }
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
1
2
  import type { BsBreadcrumbSize } from '../bs-breadcrumb/bs-breadcrumb';
2
3
  export interface BsBreadcrumbOverflowItem {
3
4
  label: string;
@@ -56,6 +57,13 @@ export declare class BsBreadcrumbOverflow {
56
57
  size: BsBreadcrumbSize;
57
58
  /** Whether the overflow popup is open. */
58
59
  open: boolean;
60
+ /** Fires when one of the popup's links is clicked, before the browser navigates. **Cancelable**
61
+ * -- see `bs-breadcrumb`'s `bsNavigate`, which this mirrors (same detail, same modified-click
62
+ * rule). Detail is `{ href }`. */
63
+ bsNavigate: EventEmitter<{
64
+ href: string;
65
+ }>;
66
+ private onItemClick;
59
67
  private onEllipsisToggle;
60
68
  /** Closes the overflow popup on Escape, from anywhere within the component -- host is the
61
69
  * default @Listen target, so this fires whether focus is on the ellipsis button itself or on a
@@ -36,6 +36,7 @@ export type BsButtonSize = 'sm' | 'md' | 'lg';
36
36
  */
37
37
  export declare class BsButton {
38
38
  el: HTMLElement;
39
+ internals: ElementInternals;
39
40
  /**
40
41
  * Visual style. Maps directly to the brandsync-tokens `--bs-button-*` semantic set.
41
42
  * `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
@@ -46,7 +47,8 @@ export declare class BsButton {
46
47
  size: BsButtonSize;
47
48
  /** Disables the button and applies the disabled token set. */
48
49
  disabled: boolean;
49
- /** Native `<button>` type. */
50
+ /** Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation
51
+ * runs); `reset` resets it; `button` (default) does nothing on its own. */
50
52
  type: 'button' | 'submit' | 'reset';
51
53
  /**
52
54
  * Accessible name for the button. Required for icon-only usage (no visible label text via the
@@ -85,5 +87,6 @@ export declare class BsButton {
85
87
  private onIconSlotchange;
86
88
  private onEndIconSlotchange;
87
89
  private onLabelSlotchange;
90
+ private onClick;
88
91
  render(): any;
89
92
  }
@@ -21,11 +21,13 @@ export type BsIconButtonSize = 'xs' | 'sm' | 'md' | 'lg';
21
21
  * just conditionally, unlike `bs-button`) -- there's no visible label text to fall back on for an
22
22
  * accessible name.
23
23
  *
24
- * @slot - Default slot: the icon content. Exactly one icon, no label.
24
+ * @slot - Default slot: the icon content. Exactly one icon, no label -- an inline SVG, or an icon-font
25
+ * glyph (sized by `font-size`, which this component sets from the `size` prop).
25
26
  * @part icon - The icon wrapper element.
26
27
  */
27
28
  export declare class BsIconButton {
28
29
  el: HTMLElement;
30
+ internals: ElementInternals;
29
31
  /**
30
32
  * Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.
31
33
  * `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
@@ -39,7 +41,8 @@ export declare class BsIconButton {
39
41
  size: BsIconButtonSize;
40
42
  /** Disables the button and applies the disabled token set. */
41
43
  disabled: boolean;
42
- /** Native `<button>` type. */
44
+ /** Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation
45
+ * runs); `reset` resets it; `button` (default) does nothing on its own. */
43
46
  type: 'button' | 'submit' | 'reset';
44
47
  /**
45
48
  * Accessible name for the button. Required -- this component is always icon-only, so there's
@@ -47,5 +50,6 @@ export declare class BsIconButton {
47
50
  * prop to the `aria-label` HTML attribute automatically.
48
51
  */
49
52
  ariaLabel: string | null;
53
+ private onClick;
50
54
  render(): any;
51
55
  }
@@ -12,5 +12,6 @@ export default meta;
12
12
  type Story = StoryObj<BsIconButtonArgs>;
13
13
  export declare const Primary: Story;
14
14
  export declare const Sizes: Story;
15
+ export declare const IconFontGlyph: Story;
15
16
  export declare const Disabled: Story;
16
17
  export declare const AllCombinations: Story;
@@ -20,7 +20,15 @@ export type BsCheckboxSize = 'sm' | 'md' | 'lg';
20
20
  */
21
21
  export declare class BsCheckbox {
22
22
  el: HTMLElement;
23
+ internals: ElementInternals;
23
24
  private inputEl?;
25
+ private initialChecked;
26
+ /** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. */
27
+ name?: string;
28
+ /** The value submitted when checked (native checkbox default: `"on"`). */
29
+ value: string;
30
+ /** Marks the checkbox as required: the surrounding form fails validation while unchecked. */
31
+ required: boolean;
24
32
  /** Sizing scale. Controls the box's width/height and border width; corner radius is constant
25
33
  * across all sizes. */
26
34
  size: BsCheckboxSize;
@@ -56,6 +64,10 @@ export declare class BsCheckbox {
56
64
  bsChange: EventEmitter<boolean>;
57
65
  /** Keeps the native input's `.indeterminate` JS property in sync -- this can't be expressed as a
58
66
  * JSX attribute in Stencil, it must be set imperatively on the element. */
67
+ syncFormValue(): void;
68
+ /** Called by the browser when the surrounding `<form>` is reset. */
69
+ formResetCallback(): void;
70
+ componentWillLoad(): void;
59
71
  onIndeterminateChange(): void;
60
72
  componentDidLoad(): void;
61
73
  componentDidUpdate(): void;
@@ -37,8 +37,22 @@ export declare class BsDataTable {
37
37
  sortColumn?: string;
38
38
  sortDirection: 'asc' | 'desc';
39
39
  selectable: boolean;
40
- /** Optional custom cell renderer, e.g. for an actions column. Function props are JS-property-only,
41
- * same as array props -- there is no attribute equivalent. Falls back to the raw cell value. */
40
+ /** Optional custom cell renderer, for rich cells such as a status badge, a link or an actions
41
+ * column. It returns an **HTML string** that is inserted into the cell as real markup
42
+ * (`innerHTML`), so links, buttons, `<img>` and other web components (e.g. `<bs-badge>`) all render.
43
+ *
44
+ * **When set it renders every cell, not just the special ones** -- return the plain value for
45
+ * ordinary columns too. And **the returned string is not escaped or sanitized** (same trust
46
+ * model as React's `dangerouslySetInnerHTML`): escape any untrusted row data you put in it, plain
47
+ * columns included, or it will be interpreted as HTML. Without a `cellRenderer`, values are
48
+ * rendered as escaped text.
49
+ *
50
+ * The markup is static HTML -- attach behavior yourself, e.g. one `click` listener on the table
51
+ * that reads `event.composedPath()[0]` (events from inside the shadow root are retargeted to the
52
+ * table itself).
53
+ *
54
+ * Function props are JS-property-only, same as array props -- there is no attribute equivalent.
55
+ * Falls back to the raw cell value (as escaped text) when unset. */
42
56
  cellRenderer?: (row: BsDataTableRow, column: BsDataTableColumn) => string;
43
57
  bsSort: EventEmitter<{
44
58
  column: string;
@@ -46,6 +46,10 @@ import { EventEmitter } from '../../stencil-public-runtime';
46
46
  */
47
47
  export declare class BsInput {
48
48
  el: HTMLElement;
49
+ internals: ElementInternals;
50
+ private initialValue;
51
+ /** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. */
52
+ name?: string;
49
53
  /** Current value. Native `input`/`change` events don't cross the Shadow DOM boundary, so this
50
54
  * component re-dispatches them as `bsInput`/`bsChange` custom events instead. Mutable so the
51
55
  * `number` type's stepper buttons can update it directly. */
@@ -128,6 +132,14 @@ export declare class BsInput {
128
132
  * children, before first render -- see `bs-button`'s `componentWillLoad` for why `slotchange`
129
133
  * alone isn't enough for a slot that starts (and stays) empty. */
130
134
  componentWillLoad(): void;
135
+ onFormStateChange(): void;
136
+ /** Pushes the current value + validity to the surrounding form. `chip` submits one entry per
137
+ * chip under `name`; every other type submits `value` as a single string. */
138
+ private syncFormValue;
139
+ /** Called by the browser when the surrounding `<form>` is reset. */
140
+ formResetCallback(): void;
141
+ /** Called when the browser restores form state (back/forward navigation, autofill). */
142
+ formStateRestoreCallback(state: string | FormData | null): void;
131
143
  private hasSlottedContent;
132
144
  private onIconSlotchange;
133
145
  private onEndIconSlotchange;
@@ -20,5 +20,9 @@
20
20
  * @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
21
21
  */
22
22
  export declare class BsMenu {
23
+ el: HTMLElement;
24
+ /** WAI-ARIA menu pattern: Up/Down move focus between enabled items (wrapping), Home/End jump
25
+ * to the first/last. Items are the slotted `bs-menu-item` children. */
26
+ onKeyDown(ev: KeyboardEvent): void;
23
27
  render(): any;
24
28
  }
@@ -3,3 +3,4 @@ declare const meta: Meta;
3
3
  export default meta;
4
4
  type Story = StoryObj;
5
5
  export declare const Default: Story;
6
+ export declare const DropdownRecipe: Story;
@@ -38,6 +38,11 @@ export declare class BsProgress {
38
38
  * `indeterminate` never shows a label regardless of this prop, since there's no percentage to
39
39
  * show. Defaults to `true`. */
40
40
  showLabel: boolean;
41
+ /** Accessible name for the progress bar (e.g. "Uploading report"). Required for assistive tech --
42
+ * a `role="progressbar"` with no name is an axe-core `aria-progressbar-name` violation. Setting
43
+ * `aria-label` on the host doesn't reach the inner element across the shadow boundary, so this
44
+ * prop binds it directly -- same pattern as `bs-button`'s `ariaLabel`. */
45
+ ariaLabel: string | null;
41
46
  private get clampedValue();
42
47
  private get diameter();
43
48
  private get radius();
@@ -19,13 +19,10 @@ import { EventEmitter } from '../../stencil-public-runtime';
19
19
  export declare class BsRadio {
20
20
  el: HTMLElement;
21
21
  /** The native radio input's `name` attribute. Passed straight through to the native input inside.
22
- * NOTE: because each `bs-radio` renders its own shadow root, native `<input type="radio">`
23
- * mutual-exclusion grouping (which the HTML spec scopes to a single DOM tree) does NOT extend
24
- * across separate `bs-radio` instances sharing the same `name` -- checking one will not natively
25
- * uncheck another. Within a single instance this still behaves like a normal radio input. See
26
- * bs-radio.mdx's Accessibility section for this known gap; consumers building a group currently
27
- * need to manage mutual exclusivity themselves (e.g. via `bsChange`) until a `bs-radio-group`
28
- * wrapper exists. */
22
+ * Also the group key: `bs-radio` elements sharing a `name` within the same root (document or
23
+ * shadow root) behave as one radio group -- checking one unchecks the others, arrow keys move
24
+ * between them, and only one is in the tab order. Native grouping can't cross each radio's own
25
+ * shadow root, so this component implements it itself. */
29
26
  name: string;
30
27
  /** The native radio input's `value` attribute -- read from `event.target.value`, or used when
31
28
  * wiring the group up to a form. */
@@ -37,9 +34,26 @@ export declare class BsRadio {
37
34
  disabled: boolean;
38
35
  /** Emitted with this radio's own `value` when it becomes checked via user interaction. Since
39
36
  * native same-`name` grouping doesn't cross shadow-root boundaries (see the `name` prop's doc),
40
- * a consumer wiring up a group of `bs-radio`s must itself set `checked = false` on the others in
41
- * response to this event -- there's no automatic un-checking to rely on here. */
37
+ * a consumer wiring up a group of `bs-radio`s does not need to un-check the others itself. */
42
38
  bsChange: EventEmitter<string>;
39
+ internals: ElementInternals;
40
+ private initialChecked;
41
+ /** Whether any radio in this group is checked -- drives roving tabindex (an unchecked radio is
42
+ * only tabbable while nothing in its group is checked). */
43
+ groupHasChecked: boolean;
44
+ /** Other `bs-radio`s sharing this one's `name` within the same root, in DOM order (including
45
+ * this one). */
46
+ private groupMembers;
47
+ onCheckedChange(): void;
48
+ onAnyRadioChange(): void;
49
+ private refreshGroupState;
50
+ componentWillLoad(): void;
51
+ componentDidLoad(): void;
52
+ /** Called by the browser when the surrounding `<form>` is reset. */
53
+ formResetCallback(): void;
54
+ /** WAI-ARIA radio group pattern: arrows move selection (and focus) to the previous/next enabled
55
+ * radio in the group, wrapping at the ends. */
56
+ private onKeyDown;
43
57
  private onChange;
44
58
  render(): any;
45
59
  }
@@ -31,6 +31,9 @@ export declare class BsSlider {
31
31
  * and `segmented` use one thumb (`value`). `segmented` additionally draws `segments` tick marks
32
32
  * along the track. */
33
33
  type: BsSliderType;
34
+ /** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. `type="range"`
35
+ * submits two entries under this name: the start value, then the end value. */
36
+ name?: string;
34
37
  /** Shows/hides the "Label" text and editable percentage field(s) above the track, and the
35
38
  * static min/max bound labels flanking it. When `false`, only the bare track (and its
36
39
  * knob/knobs) renders. */
@@ -80,6 +83,12 @@ export declare class BsSlider {
80
83
  start: number;
81
84
  end: number;
82
85
  }>;
86
+ internals: ElementInternals;
87
+ private initial;
88
+ componentWillLoad(): void;
89
+ syncFormValue(): void;
90
+ /** Called by the browser when the surrounding `<form>` is reset. */
91
+ formResetCallback(): void;
83
92
  private get effectiveValueStart();
84
93
  private get effectiveValueEnd();
85
94
  /** Effective step for the native range input(s): `step` as-is, except for `type="segmented"`,
@@ -19,6 +19,12 @@ export type BsSwitchSize = 'md' | 'lg';
19
19
  */
20
20
  export declare class BsSwitch {
21
21
  el: HTMLElement;
22
+ internals: ElementInternals;
23
+ private initialChecked;
24
+ /** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. */
25
+ name?: string;
26
+ /** The value submitted when on (native checkbox default: `"on"`). */
27
+ value: string;
22
28
  /** Sizing scale. Controls the track's width/height and the knob's diameter. */
23
29
  size: BsSwitchSize;
24
30
  /** Whether the switch is on. Mutable so clicking the label/input toggles it directly, and
@@ -40,6 +46,10 @@ export declare class BsSwitch {
40
46
  ariaLabel: string | null;
41
47
  /** Emitted when the checked state changes via user interaction, with the new `checked` value. */
42
48
  bsChange: EventEmitter<boolean>;
49
+ syncFormValue(): void;
50
+ /** Called by the browser when the surrounding `<form>` is reset. */
51
+ formResetCallback(): void;
52
+ componentWillLoad(): void;
43
53
  private onChange;
44
54
  render(): any;
45
55
  }
@@ -45,6 +45,14 @@ export declare class BsInlineTab {
45
45
  * violation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute
46
46
  * automatically, same as `bs-tab`'s identical prop. */
47
47
  ariaLabel: string | null;
48
+ /** Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's
49
+ * `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its
50
+ * zero-based position in the group (`"0"`, `"1"`...). */
51
+ value?: string;
52
+ /** Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the
53
+ * Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays
54
+ * a normal tab stop. */
55
+ tabbable?: boolean;
48
56
  /** Tracks whether the `icon` slot has assigned content. */
49
57
  hasIcon: boolean;
50
58
  /** Tracks whether the default (label) slot has assigned content. */
@@ -51,6 +51,14 @@ export declare class BsTab {
51
51
  * violation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute
52
52
  * automatically, same as `bs-button`'s identical prop. */
53
53
  ariaLabel: string | null;
54
+ /** Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's
55
+ * `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its
56
+ * zero-based position in the group (`"0"`, `"1"`...). */
57
+ value?: string;
58
+ /** Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the
59
+ * Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays
60
+ * a normal tab stop. */
61
+ tabbable?: boolean;
54
62
  /** Tracks whether the `icon` slot has assigned content. */
55
63
  hasIcon: boolean;
56
64
  /** Tracks whether the default (label) slot has assigned content. */
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
1
2
  export type BsTabsType = 'bs-tab' | 'bs-inline-tab';
2
3
  export type BsTabsOrientation = 'horizontal' | 'vertical';
3
4
  /**
@@ -33,6 +34,18 @@ export declare class BsTabs {
33
34
  /** Layout direction of the tab bar itself. Sets `aria-orientation` on the internal wrapper and
34
35
  * switches `flex-direction`. */
35
36
  orientation: BsTabsOrientation;
37
+ /** The selected tab's `value`. Mutable and reflected: it follows the user's selection, and
38
+ * setting it from outside (attribute or property) selects the matching tab -- without emitting
39
+ * `bsChange`, which only fires for user-driven changes. A tab's value is its own `value` prop,
40
+ * or, for a tab without one, its zero-based position in the group as a string (`"0"`, `"1"`...).
41
+ * If unset, it is read from whichever tab is already `selected` once the group loads. */
42
+ value?: string;
43
+ /** Fires when the user selects a different tab (click, or arrow/Home/End), with the new
44
+ * `value`. Does not fire when `value` is set programmatically. `bsSelect` on the individual tab
45
+ * still fires as before. */
46
+ bsChange: EventEmitter<{
47
+ value: string;
48
+ }>;
36
49
  /**
37
50
  * Catches `bsSelect` bubbling up from any slotted `<bs-tab>`/`<bs-inline-tab>` (Stencil's
38
51
  * `@Event()` defaults to `bubbles: true, composed: true`, and `@Listen` without a target listens
@@ -41,5 +54,16 @@ export declare class BsTabs {
41
54
  * `if (this.disabled) return;`), so no special-casing is needed here.
42
55
  */
43
56
  onTabSelect(ev: CustomEvent<void>): void;
57
+ componentDidLoad(): void;
58
+ private tabValue;
59
+ /** Selects the tab whose value matches `this.value` (and deselects the rest). */
60
+ private applyValue;
61
+ onValueChange(): void;
62
+ syncRovingTabindex(): void;
63
+ private tabs;
64
+ /** WAI-ARIA tabs pattern (automatic activation): arrows move focus *and* selection to the
65
+ * previous/next enabled tab (wrapping), Home/End jump to the first/last. Arrow axis follows
66
+ * `orientation`; in RTL the horizontal arrows are mirrored. */
67
+ onKeyDown(ev: KeyboardEvent): void;
44
68
  render(): any;
45
69
  }
@@ -11,3 +11,4 @@ type Story = StoryObj<BsTabsArgs>;
11
11
  export declare const Default: Story;
12
12
  export declare const InlineTabGroup: Story;
13
13
  export declare const Vertical: Story;
14
+ export declare const WithValueAndPanels: Story;
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const Default: Story;
6
+ export declare const Validation: Story;