@brandsync/wc 1.7.0 → 1.8.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 (314) hide show
  1. package/custom-elements.json +201 -13
  2. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  3. package/dist/brandsync-wc/{p-387ed85f.entry.js → p-002d258d.entry.js} +1 -1
  4. package/dist/brandsync-wc/{p-819a3dae.entry.js → p-03b08508.entry.js} +1 -1
  5. package/dist/brandsync-wc/{p-fde5e9f1.entry.js → p-051d3064.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-f243683f.entry.js → p-05c7de28.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-2d6955d6.entry.js → p-062cfa34.entry.js} +1 -1
  8. package/dist/brandsync-wc/p-0e39b9cc.entry.js +1 -0
  9. package/dist/brandsync-wc/{p-538cc08e.entry.js → p-114d2fd8.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-70e035ed.entry.js → p-153da845.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-6754dfa9.entry.js → p-1c0db4d6.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-4a1a5d6e.entry.js → p-1f7208cb.entry.js} +1 -1
  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-2891d40b.entry.js +1 -0
  16. package/dist/brandsync-wc/p-29027559.entry.js +1 -0
  17. package/dist/brandsync-wc/p-2e7a1082.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-3ec74d35.entry.js +1 -0
  22. package/dist/brandsync-wc/p-4574a707.entry.js +1 -0
  23. package/dist/brandsync-wc/p-4e5dcaff.entry.js +1 -0
  24. package/dist/brandsync-wc/p-612cf79c.entry.js +1 -0
  25. package/dist/brandsync-wc/{p-61db6ce2.entry.js → p-61c1a2a3.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-85c70f6d.entry.js → p-6331de9c.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-d03eba2b.entry.js → p-652d4068.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-c3a28a89.entry.js → p-70f64b25.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-06e9b45d.entry.js → p-7b00dd36.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-13e4966c.entry.js → p-7c94e6ae.entry.js} +1 -1
  32. package/dist/brandsync-wc/p-835a8dc7.entry.js +1 -0
  33. package/dist/brandsync-wc/{p-77433277.entry.js → p-8ee0153b.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-e1069ba9.entry.js → p-9f65f998.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-b2dc9886.entry.js → p-9f8852a0.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-DuyFft7h.js → p-AgoOSYvW.js} +2 -2
  37. package/dist/brandsync-wc/{p-fba01c96.entry.js → p-a09e157f.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-55e6438c.entry.js → p-a0d5a620.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-8b2ab522.entry.js → p-a5feaad4.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-cbaa19ab.entry.js → p-a92eec48.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-3eab22a5.entry.js → p-ae978c9a.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-f2ce9a1f.entry.js → p-bbcc47b0.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-30d6a6d0.entry.js → p-bc69a96c.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-80cf96ff.entry.js → p-be2c1740.entry.js} +1 -1
  45. package/dist/brandsync-wc/p-bf53ad52.entry.js +1 -0
  46. package/dist/brandsync-wc/p-c10d2529.entry.js +1 -0
  47. package/dist/brandsync-wc/{p-8b57f606.entry.js → p-c4de155c.entry.js} +1 -1
  48. package/dist/brandsync-wc/p-c7f4c114.entry.js +1 -0
  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-d25b7b74.entry.js → p-ee7da23d.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-4bff9b4b.entry.js → p-f006d962.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-f074f94e.entry.js +1 -0
  55. package/dist/brandsync-wc/{p-7ed5670e.entry.js → p-f7d47c17.entry.js} +1 -1
  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 +2 -2
  68. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  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 +2 -2
  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 +22 -3
  91. package/dist/cjs/bs-inline-tab.cjs.entry.js +7 -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 +2 -2
  98. package/dist/cjs/bs-navigation-header.cjs.entry.js +1 -1
  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 +7 -3
  110. package/dist/cjs/bs-tabs.cjs.entry.js +51 -2
  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-overflow/bs-breadcrumb-overflow.css +1 -1
  120. package/dist/collection/components/bs-button/bs-button/bs-button.css +17 -10
  121. package/dist/collection/components/bs-button/bs-button/bs-button.js +16 -3
  122. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +16 -3
  123. package/dist/collection/components/bs-card/bs-card.css +4 -0
  124. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +1 -1
  125. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +3 -3
  126. package/dist/collection/components/bs-checkbox/bs-checkbox.css +8 -1
  127. package/dist/collection/components/bs-checkbox/bs-checkbox.js +100 -2
  128. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +4 -4
  129. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +4 -4
  130. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +5 -5
  131. package/dist/collection/components/bs-data-table/bs-data-table.css +1 -1
  132. package/dist/collection/components/bs-dialog/bs-dialog.css +5 -1
  133. package/dist/collection/components/bs-form-association.cmp.test.js +172 -0
  134. package/dist/collection/components/bs-input/bs-input.css +10 -4
  135. package/dist/collection/components/bs-input/bs-input.js +82 -4
  136. package/dist/collection/components/bs-keyboard-nav.cmp.test.js +100 -0
  137. package/dist/collection/components/bs-menu/bs-menu.css +4 -0
  138. package/dist/collection/components/bs-menu/bs-menu.js +33 -1
  139. package/dist/collection/components/bs-progress/bs-progress.js +27 -2
  140. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +4 -10
  141. package/dist/collection/components/bs-radio/bs-radio.css +7 -1
  142. package/dist/collection/components/bs-radio/bs-radio.js +92 -14
  143. package/dist/collection/components/bs-radio/bs-radio.stories.js +1 -10
  144. package/dist/collection/components/bs-slider/bs-slider.js +68 -2
  145. package/dist/collection/components/bs-source-link/bs-source-link.css +2 -2
  146. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +3 -2
  147. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.css +3 -3
  148. package/dist/collection/components/bs-switch/bs-switch.css +10 -1
  149. package/dist/collection/components/bs-switch/bs-switch.js +69 -2
  150. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -2
  151. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +24 -1
  152. package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +2 -2
  153. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +24 -1
  154. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +57 -1
  155. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  156. package/dist/collection/components/forms/forms.stories.js +63 -0
  157. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +1 -1
  158. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  159. package/dist/components/bs-accordion.js +1 -1
  160. package/dist/components/bs-ai-disclaimer.js +1 -1
  161. package/dist/components/bs-ai-greeting.js +1 -1
  162. package/dist/components/bs-ai-thinking.js +1 -1
  163. package/dist/components/bs-attachment-list.js +1 -1
  164. package/dist/components/bs-attachment.js +1 -1
  165. package/dist/components/bs-avatar.js +1 -1
  166. package/dist/components/bs-badge.js +1 -1
  167. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  168. package/dist/components/bs-breadcrumb.js +1 -1
  169. package/dist/components/bs-breadcrumbs.js +1 -1
  170. package/dist/components/bs-button-skeleton.js +1 -1
  171. package/dist/components/bs-button.js +1 -1
  172. package/dist/components/bs-card.js +1 -1
  173. package/dist/components/bs-carousel.js +1 -1
  174. package/dist/components/bs-chatbot-feedback.js +1 -1
  175. package/dist/components/bs-chatbot-header.js +1 -1
  176. package/dist/components/bs-chatbot-response-action.js +1 -1
  177. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  178. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  179. package/dist/components/bs-checkbox-skeleton.js +1 -1
  180. package/dist/components/bs-checkbox.js +1 -1
  181. package/dist/components/bs-chip-filter.js +1 -1
  182. package/dist/components/bs-chip-informative.js +1 -1
  183. package/dist/components/bs-chip-input.js +1 -1
  184. package/dist/components/bs-composer-status-banner.js +1 -1
  185. package/dist/components/bs-composer.js +1 -1
  186. package/dist/components/bs-data-table.js +1 -1
  187. package/dist/components/bs-dialog.js +1 -1
  188. package/dist/components/bs-file-upload-item.js +1 -1
  189. package/dist/components/bs-file-upload.js +1 -1
  190. package/dist/components/bs-icon-button.js +1 -1
  191. package/dist/components/bs-inline-tab.js +1 -1
  192. package/dist/components/bs-input.js +1 -1
  193. package/dist/components/bs-logo.js +1 -1
  194. package/dist/components/bs-menu-item.js +1 -1
  195. package/dist/components/bs-menu.js +1 -1
  196. package/dist/components/bs-navigation-drawer-item.js +1 -1
  197. package/dist/components/bs-navigation-drawer.js +1 -1
  198. package/dist/components/bs-navigation-header.js +1 -1
  199. package/dist/components/bs-pagination.js +1 -1
  200. package/dist/components/bs-progress-linear.js +1 -1
  201. package/dist/components/bs-progress.js +1 -1
  202. package/dist/components/bs-radio.js +1 -1
  203. package/dist/components/bs-slider.js +1 -1
  204. package/dist/components/bs-snackbar.js +1 -1
  205. package/dist/components/bs-source-link.js +1 -1
  206. package/dist/components/bs-stepper-step.js +1 -1
  207. package/dist/components/bs-stepper.js +1 -1
  208. package/dist/components/bs-switch.js +1 -1
  209. package/dist/components/bs-tab.js +1 -1
  210. package/dist/components/bs-tabs.js +1 -1
  211. package/dist/components/bs-toast.js +1 -1
  212. package/dist/components/bs-tooltip.js +1 -1
  213. package/dist/components/index.js +1 -1
  214. package/dist/components/{p-LYvoWZt4.js → p-BA3c9Rom.js} +1 -1
  215. package/dist/components/{p-Dqt-Qp4W.js → p-BfEyD6Ku.js} +1 -1
  216. package/dist/components/p-BkHYJIyj.js +1 -0
  217. package/dist/components/p-Buly0d5G.js +1 -0
  218. package/dist/components/p-CpUHnsq9.js +1 -0
  219. package/dist/components/{p-BxFJ74fI.js → p-EtXc94lJ.js} +1 -1
  220. package/dist/components/{p-mnGJPH85.js → p-JYlmcxBn.js} +1 -1
  221. package/dist/components/{p-BhvV55-6.js → p-R2MlkUzD.js} +1 -1
  222. package/dist/components/{p-Dx8gAOVC.js → p-wei0Ija2.js} +1 -1
  223. package/dist/esm/brandsync-wc.js +3 -3
  224. package/dist/esm/bs-accordion.entry.js +2 -2
  225. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  226. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  227. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  228. package/dist/esm/bs-attachment-list.entry.js +2 -2
  229. package/dist/esm/bs-attachment.entry.js +2 -2
  230. package/dist/esm/bs-avatar.entry.js +1 -1
  231. package/dist/esm/bs-badge.entry.js +1 -1
  232. package/dist/esm/bs-breadcrumb-overflow.entry.js +2 -2
  233. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  234. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  235. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  236. package/dist/esm/bs-button.entry.js +23 -4
  237. package/dist/esm/bs-card.entry.js +2 -2
  238. package/dist/esm/bs-carousel.entry.js +1 -1
  239. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  240. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  241. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  242. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  243. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  244. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  245. package/dist/esm/bs-checkbox.entry.js +48 -3
  246. package/dist/esm/bs-chip-filter.entry.js +2 -2
  247. package/dist/esm/bs-chip-informative.entry.js +2 -2
  248. package/dist/esm/bs-chip-input.entry.js +2 -2
  249. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  250. package/dist/esm/bs-composer.entry.js +1 -1
  251. package/dist/esm/bs-data-table.entry.js +2 -2
  252. package/dist/esm/bs-dialog.entry.js +2 -2
  253. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  254. package/dist/esm/bs-file-upload.entry.js +1 -1
  255. package/dist/esm/bs-icon-button.entry.js +22 -3
  256. package/dist/esm/bs-inline-tab.entry.js +7 -3
  257. package/dist/esm/bs-input.entry.js +69 -5
  258. package/dist/esm/bs-logo.entry.js +1 -1
  259. package/dist/esm/bs-menu-item.entry.js +1 -1
  260. package/dist/esm/bs-menu.entry.js +25 -3
  261. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  262. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  263. package/dist/esm/bs-navigation-header.entry.js +1 -1
  264. package/dist/esm/bs-pagination.entry.js +1 -1
  265. package/dist/esm/bs-progress-linear.entry.js +1 -1
  266. package/dist/esm/bs-progress.entry.js +8 -3
  267. package/dist/esm/bs-radio.entry.js +81 -12
  268. package/dist/esm/bs-slider.entry.js +54 -2
  269. package/dist/esm/bs-snackbar.entry.js +1 -1
  270. package/dist/esm/bs-source-link.entry.js +2 -2
  271. package/dist/esm/bs-stepper-step.entry.js +2 -2
  272. package/dist/esm/bs-stepper.entry.js +3 -2
  273. package/dist/esm/bs-switch.entry.js +36 -3
  274. package/dist/esm/bs-tab.entry.js +7 -3
  275. package/dist/esm/bs-tabs.entry.js +51 -2
  276. package/dist/esm/bs-toast.entry.js +1 -1
  277. package/dist/esm/bs-tooltip.entry.js +2 -2
  278. package/dist/esm/{index-DuyFft7h.js → index-AgoOSYvW.js} +43 -5
  279. package/dist/esm/loader.js +3 -3
  280. package/dist/types/components/bs-a11y.cmp.test.d.ts +1 -0
  281. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +4 -1
  282. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +4 -1
  283. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +12 -0
  284. package/dist/types/components/bs-form-association.cmp.test.d.ts +1 -0
  285. package/dist/types/components/bs-input/bs-input.d.ts +12 -0
  286. package/dist/types/components/bs-keyboard-nav.cmp.test.d.ts +1 -0
  287. package/dist/types/components/bs-menu/bs-menu.d.ts +4 -0
  288. package/dist/types/components/bs-progress/bs-progress.d.ts +5 -0
  289. package/dist/types/components/bs-radio/bs-radio.d.ts +23 -9
  290. package/dist/types/components/bs-slider/bs-slider.d.ts +9 -0
  291. package/dist/types/components/bs-switch/bs-switch.d.ts +10 -0
  292. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +4 -0
  293. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +4 -0
  294. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +7 -0
  295. package/dist/types/components/forms/forms.stories.d.ts +6 -0
  296. package/dist/types/components.d.ts +141 -7
  297. package/package.json +1 -1
  298. package/readme.md +14 -0
  299. package/dist/brandsync-wc/p-18021c05.entry.js +0 -1
  300. package/dist/brandsync-wc/p-1c8160c2.entry.js +0 -1
  301. package/dist/brandsync-wc/p-21c14465.entry.js +0 -1
  302. package/dist/brandsync-wc/p-27100489.entry.js +0 -1
  303. package/dist/brandsync-wc/p-309f920e.entry.js +0 -1
  304. package/dist/brandsync-wc/p-4b0938a5.entry.js +0 -1
  305. package/dist/brandsync-wc/p-5312b6a5.entry.js +0 -1
  306. package/dist/brandsync-wc/p-777a9dbf.entry.js +0 -1
  307. package/dist/brandsync-wc/p-a96856fd.entry.js +0 -1
  308. package/dist/brandsync-wc/p-b0634051.entry.js +0 -1
  309. package/dist/brandsync-wc/p-bcee3d60.entry.js +0 -1
  310. package/dist/brandsync-wc/p-e61efe4d.entry.js +0 -1
  311. package/dist/brandsync-wc/p-f14bda01.entry.js +0 -1
  312. package/dist/components/p-BaxFLlKS.js +0 -1
  313. package/dist/components/p-DI5GgSqL.js +0 -1
  314. package/dist/components/p-v4T0qPVn.js +0 -1
@@ -1,15 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- const bsSwitchCss = () => `:host{display:inline-block;--bs-switch-radius:var(--bs-border-radius-full);--bs-switch-padding:var(--bs-spacing-25);--bs-switch-gap:var(--bs-spacing-100);--bs-switch-track-width-md:36px;--bs-switch-track-height-md:20px;--bs-switch-track-width-lg:48px;--bs-switch-track-height-lg:28px;--bs-switch-knob-size-md:16px;--bs-switch-knob-size-lg:24px;--bs-switch-border-width:1px;--bs-switch-track-bg:var(--bs-switch-track-bg-default);--bs-switch-track-bg-checked:var(--bs-switch-track-bg-checked-default);--bs-switch-track-bg-checked-focus:var(--bs-switch-track-bg-checked-focused);--bs-switch-track-border:var(--bs-switch-track-border-default);--bs-switch-focus-ring-color:var(--bs-switch-track-border-focus);--bs-switch-knob-bg:var(--bs-switch-thumb-bg-default);--bs-switch-knob-bg-hover:var(--bs-switch-thumb-bg-hover);--bs-switch-knob-bg-checked:var(--bs-switch-thumb-bg-checked);--bs-switch-knob-bg-disabled:var(--bs-switch-thumb-bg-disabled);--bs-switch-label-color:var(--bs-text-default);--bs-switch-label-color-disabled:var(--bs-text-on-disabled)}.bs-switch{position:relative;display:inline-flex;align-items:center;gap:var(--bs-switch-gap);font-family:inherit;cursor:pointer}.bs-switch--disabled{cursor:not-allowed}.bs-switch__input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.bs-switch__input:disabled{cursor:not-allowed}.bs-switch__track{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;padding:var(--bs-switch-padding);border:var(--bs-switch-border-width) solid var(--bs-switch-track-border);border-radius:var(--bs-switch-radius);background:var(--bs-switch-track-bg);transition:background-color 0.15s ease, border-color 0.15s ease}.bs-switch__track--md{width:var(--bs-switch-track-width-md);height:var(--bs-switch-track-height-md)}.bs-switch__track--lg{width:var(--bs-switch-track-width-lg);height:var(--bs-switch-track-height-lg)}.bs-switch__track--checked{justify-content:flex-end;background:var(--bs-switch-track-bg-checked)}.bs-switch__knob{box-sizing:border-box;border-radius:var(--bs-border-radius-full);background:var(--bs-switch-knob-bg);transition:background-color 0.15s ease}.bs-switch__knob--md{width:var(--bs-switch-knob-size-md);height:var(--bs-switch-knob-size-md)}.bs-switch__knob--lg{width:var(--bs-switch-knob-size-lg);height:var(--bs-switch-knob-size-lg)}.bs-switch__track--checked .bs-switch__knob{background:var(--bs-switch-knob-bg-checked)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track{background:var(--bs-switch-track-bg-hover);border-color:var(--bs-switch-track-border-hover)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track .bs-switch__knob{background:var(--bs-switch-knob-bg-hover)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track--checked{background:var(--bs-switch-track-bg-checked-hover)}.bs-switch__input:focus-visible~.bs-switch__track{border-color:var(--bs-switch-track-border-hover);outline:2px solid var(--bs-switch-focus-ring-color);outline-offset:2px}.bs-switch__input:focus-visible~.bs-switch__track--checked{background:var(--bs-switch-track-bg-checked-focus)}.bs-switch__track--disabled{background:var(--bs-switch-track-bg-disabled);border-color:var(--bs-switch-track-border)}.bs-switch__track--disabled.bs-switch__track--checked{background:var(--bs-switch-track-bg-disabled)}.bs-switch__knob--disabled{background:var(--bs-switch-knob-bg-disabled)}.bs-switch__label{font-size:var(--bs-font-size-md);color:var(--bs-switch-label-color)}.bs-switch--disabled .bs-switch__label{color:var(--bs-switch-label-color-disabled)}`;
5
+ const bsSwitchCss = () => `:host{display:inline-block;--bs-switch-radius:var(--bs-border-radius-full);--bs-switch-padding:var(--bs-spacing-25);--bs-switch-gap:var(--bs-spacing-100);--bs-switch-track-width-md:36px;--bs-switch-track-height-md:20px;--bs-switch-track-width-lg:48px;--bs-switch-track-height-lg:28px;--bs-switch-knob-size-md:16px;--bs-switch-knob-size-lg:24px;--bs-switch-border-width:1px;--bs-switch-track-bg:var(--bs-switch-track-bg-default);--bs-switch-track-bg-checked:var(--bs-switch-track-bg-checked-default);--bs-switch-track-bg-checked-focus:var(--bs-switch-track-bg-checked-focused);--bs-switch-track-border:var(--bs-switch-track-border-default);--bs-switch-focus-ring-color:var(--bs-switch-track-border-focus);--bs-switch-knob-bg:var(--bs-switch-thumb-bg-default);--bs-switch-knob-bg-hover:var(--bs-switch-thumb-bg-hover);--bs-switch-knob-bg-checked:var(--bs-switch-thumb-bg-checked);--bs-switch-knob-bg-disabled:var(--bs-switch-thumb-bg-disabled);--bs-switch-label-color:var(--bs-text-default);--bs-switch-label-color-disabled:var(--bs-text-on-disabled)}.bs-switch{position:relative;display:inline-flex;align-items:center;gap:var(--bs-switch-gap);font-family:inherit;cursor:pointer}.bs-switch--disabled{cursor:not-allowed}.bs-switch__input{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.bs-switch__input:disabled{cursor:not-allowed}.bs-switch__track{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;padding:var(--bs-switch-padding);border:var(--bs-switch-border-width) solid var(--bs-switch-track-border);border-radius:var(--bs-switch-radius);background:var(--bs-switch-track-bg);transition:background-color 0.15s ease, border-color 0.15s ease}.bs-switch__track--md{width:var(--bs-switch-track-width-md);height:var(--bs-switch-track-height-md)}.bs-switch__track--lg{width:var(--bs-switch-track-width-lg);height:var(--bs-switch-track-height-lg)}.bs-switch__track--checked{justify-content:flex-end;background:var(--bs-switch-track-bg-checked)}.bs-switch__knob{box-sizing:border-box;border-radius:var(--bs-border-radius-full);background:var(--bs-switch-knob-bg);transition:background-color 0.15s ease}.bs-switch__knob--md{width:var(--bs-switch-knob-size-md);height:var(--bs-switch-knob-size-md)}.bs-switch__knob--lg{width:var(--bs-switch-knob-size-lg);height:var(--bs-switch-knob-size-lg)}.bs-switch__track--checked .bs-switch__knob{background:var(--bs-switch-knob-bg-checked)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track{background:var(--bs-switch-track-bg-hover);border-color:var(--bs-switch-track-border-hover)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track .bs-switch__knob{background:var(--bs-switch-knob-bg-hover)}.bs-switch__input:hover:not(:disabled)~.bs-switch__track--checked{background:var(--bs-switch-track-bg-checked-hover)}.bs-switch__input:focus-visible~.bs-switch__track{border-color:var(--bs-switch-track-border-hover);outline:2px solid var(--bs-switch-focus-ring-color);outline-offset:2px}.bs-switch__input:focus-visible~.bs-switch__track--checked{background:var(--bs-switch-track-bg-checked-focus)}.bs-switch__track--disabled{background:var(--bs-switch-track-bg-disabled);border-color:var(--bs-switch-track-border)}.bs-switch__track--disabled.bs-switch__track--checked{background:var(--bs-switch-track-bg-disabled)}.bs-switch__knob--disabled{background:var(--bs-switch-knob-bg-disabled)}.bs-switch__label{font-size:var(--bs-font-size-md);color:var(--bs-switch-label-color)}.bs-switch--disabled .bs-switch__label{color:var(--bs-switch-label-color-disabled)}@media (forced-colors: active){.bs-switch__track{border:2px solid ButtonText;forced-color-adjust:none;background:Canvas}.bs-switch__track--checked{background:Highlight;border-color:Highlight}.bs-switch__knob{background:ButtonText}.bs-switch__track--checked .bs-switch__knob{background:HighlightText}.bs-switch__track--disabled{border-color:GrayText}}`;
6
6
 
7
7
  const BsSwitch = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  this.bsChange = index.createEvent(this, "bsChange");
11
+ if (hostRef.$hostElement$["s-ei"]) {
12
+ this.internals = hostRef.$hostElement$["s-ei"];
13
+ }
14
+ else {
15
+ this.internals = hostRef.$hostElement$.attachInternals();
16
+ hostRef.$hostElement$["s-ei"] = this.internals;
17
+ }
11
18
  }
12
19
  get el() { return index.getElement(this); }
20
+ internals;
21
+ initialChecked = false;
22
+ /** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. */
23
+ name;
24
+ /** The value submitted when on (native checkbox default: `"on"`). */
25
+ value = 'on';
13
26
  /** Sizing scale. Controls the track's width/height and the knob's diameter. */
14
27
  size = 'lg';
15
28
  /** Whether the switch is on. Mutable so clicking the label/input toggles it directly, and
@@ -31,6 +44,17 @@ const BsSwitch = class {
31
44
  ariaLabel = null;
32
45
  /** Emitted when the checked state changes via user interaction, with the new `checked` value. */
33
46
  bsChange;
47
+ syncFormValue() {
48
+ this.internals?.setFormValue?.(this.checked ? this.value : null);
49
+ }
50
+ /** Called by the browser when the surrounding `<form>` is reset. */
51
+ formResetCallback() {
52
+ this.checked = this.initialChecked;
53
+ }
54
+ componentWillLoad() {
55
+ this.initialChecked = this.checked;
56
+ this.syncFormValue();
57
+ }
34
58
  onChange = (ev) => {
35
59
  const checked = ev.target.checked;
36
60
  this.checked = checked;
@@ -48,9 +72,18 @@ const BsSwitch = class {
48
72
  const knobClasses = ['bs-switch__knob', `bs-switch__knob--${this.size}`, this.disabled ? 'bs-switch__knob--disabled' : '']
49
73
  .filter(Boolean)
50
74
  .join(' ');
51
- return (index.h("label", { key: 'b726eda9fd90c67368ff44f288d39a80516ac68c', class: `bs-switch ${this.disabled ? 'bs-switch--disabled' : ''}` }, index.h("input", { key: 'ff95ba83169aae65ec57068f2b461b23fe344903', class: "bs-switch__input", type: "checkbox", role: "switch", checked: this.checked, disabled: this.disabled, "aria-checked": String(this.checked), "aria-label": this.ariaLabel, onChange: this.onChange }), index.h("span", { key: 'e09834a43eb922bcf973b880da3baa1694389ca0', part: "track", class: trackClasses }, index.h("span", { key: 'dc6c409faddb65511847a941331926ae736ce9ec', part: "knob", class: knobClasses })), index.h("span", { key: '2943c9fb029632360d21aaaa544d7674322cafc6', part: "label", class: "bs-switch__label" }, index.h("slot", { key: '55ef83bfb72ed4b463b854eff1fd9472048dcfc4' }))));
75
+ return (index.h("label", { key: '37466aa7ca1b18c07b92bd7855fd974d62ad5845', class: `bs-switch ${this.disabled ? 'bs-switch--disabled' : ''}` }, index.h("input", { key: 'f4e0073dd9a322692003593385da04a9289ea848', class: "bs-switch__input", type: "checkbox", role: "switch", checked: this.checked, disabled: this.disabled, "aria-checked": String(this.checked), "aria-label": this.ariaLabel, onChange: this.onChange }), index.h("span", { key: 'f8cbdb6bb25964ba79e9cb09d82beab0c3946a14', part: "track", class: trackClasses }, index.h("span", { key: '7e8598698e08a95d1ada9829264df99abd507d81', part: "knob", class: knobClasses })), index.h("span", { key: '11d464eaf95f555f3874524adc5fb2373b1fd056', part: "label", class: "bs-switch__label" }, index.h("slot", { key: '2409cb732d23f613c2595fa62e9fd7539bb2041e' }))));
52
76
  }
53
77
  static get delegatesFocus() { return true; }
78
+ static get formAssociated() { return true; }
79
+ static get watchers() { return {
80
+ "checked": [{
81
+ "syncFormValue": 0
82
+ }],
83
+ "value": [{
84
+ "syncFormValue": 0
85
+ }]
86
+ }; }
54
87
  };
55
88
  BsSwitch.style = bsSwitchCss();
56
89
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- 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)}`;
5
+ 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;inset-inline-start:var(--bs-tab-padding-x);inset-inline-end:var(--bs-tab-padding-x);bottom:0;height:2px;background:transparent;border-radius:var(--bs-border-radius-50, 2px)}`;
6
6
 
7
7
  const BsTab = class {
8
8
  constructor(hostRef) {
@@ -26,6 +26,10 @@ const BsTab = class {
26
26
  * violation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute
27
27
  * automatically, same as `bs-button`'s identical prop. */
28
28
  ariaLabel = null;
29
+ /** Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the
30
+ * Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays
31
+ * a normal tab stop. */
32
+ tabbable;
29
33
  /** Tracks whether the `icon` slot has assigned content. */
30
34
  hasIcon = false;
31
35
  /** Tracks whether the default (label) slot has assigned content. */
@@ -72,7 +76,7 @@ const BsTab = class {
72
76
  const iconOnly = this.hasIcon && !this.hasLabel;
73
77
  const vertical = this.hasIcon && this.hasLabel && this.iconPosition === 'top';
74
78
  const showBadge = this.hasBadge && !iconOnly && !vertical;
75
- return (index.h("button", { key: 'b70b65a38774feac31afb3c742c1c347d0d8f009', 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 }, index.h("span", { key: 'bae69ab5499b9e8f695cf0bc559fa395097ae7dc', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, index.h("slot", { key: 'b6f545c119b1e53520ee0a62b51d84071aace11f', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '6c8cf0dd0394ebfc9a5825d01713628ce20d1c2d', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, index.h("slot", { key: '7eddcdcc73576ac8fc4f640e3f9cdc8c5cc04eb8', onSlotchange: this.onLabelSlotchange })), index.h("span", { key: 'acf5cd096bb0ff3a7c2bd898759995dc73b261f5', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, index.h("slot", { key: 'f97ae6b3b7760883b3ce9c20a0e7ec29dd43677e', name: "badge", onSlotchange: this.onBadgeSlotchange })), index.h("span", { key: '2db637b4b3f398b8d300731565b0accd1138fe88', part: "indicator", class: "bs-tab__indicator" })));
79
+ return (index.h("button", { key: '368a2f20536d169e06e47500dcca4d6a54f17dde', 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, tabIndex: this.tabbable === undefined ? undefined : this.tabbable ? 0 : -1, onClick: this.onClick }, index.h("span", { key: '3b22e92a5d6bca27c0b12b6f80ef29af06bcc564', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, index.h("slot", { key: 'd75cb8cc85547a8c6a8be3bca3fc82a61d3cfa38', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '43ff4feb2425f1b0dd9485f323b1886b42e10a32', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, index.h("slot", { key: '74a0af9a35043faa3baa2415c3b4a204f5745155', onSlotchange: this.onLabelSlotchange })), index.h("span", { key: '22b5c4671b7a7c93abffae5a34a4e3bb600d8ed3', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, index.h("slot", { key: '17b123826ca4b78ff00b89d3a0944e1d805ad4fe', name: "badge", onSlotchange: this.onBadgeSlotchange })), index.h("span", { key: 'd51f23caa9d0fd0abddd37c7394994e1ffef0586', part: "indicator", class: "bs-tab__indicator" })));
76
80
  }
77
81
  };
78
82
  BsTab.style = bsTabCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  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)}`;
6
6
 
@@ -28,11 +28,60 @@ const BsTabs = class {
28
28
  tabs.forEach(tab => {
29
29
  tab.selected = tab === ev.target;
30
30
  });
31
+ this.syncRovingTabindex();
32
+ }
33
+ componentDidLoad() {
34
+ this.syncRovingTabindex();
35
+ }
36
+ syncRovingTabindex() {
37
+ const tabs = this.tabs();
38
+ const anySelected = tabs.some(t => t.selected);
39
+ const firstEnabled = tabs.find(t => !t.disabled);
40
+ tabs.forEach(t => {
41
+ t.tabbable = anySelected ? t.selected : t === firstEnabled;
42
+ });
43
+ }
44
+ tabs() {
45
+ return Array.from(this.el.querySelectorAll(':scope > bs-tab, :scope > bs-inline-tab'));
46
+ }
47
+ /** WAI-ARIA tabs pattern (automatic activation): arrows move focus *and* selection to the
48
+ * previous/next enabled tab (wrapping), Home/End jump to the first/last. Arrow axis follows
49
+ * `orientation`; in RTL the horizontal arrows are mirrored. */
50
+ onKeyDown(ev) {
51
+ const vertical = this.orientation === 'vertical';
52
+ const rtl = getComputedStyle(this.el).direction === 'rtl';
53
+ const prevKey = vertical ? 'ArrowUp' : rtl ? 'ArrowRight' : 'ArrowLeft';
54
+ const nextKey = vertical ? 'ArrowDown' : rtl ? 'ArrowLeft' : 'ArrowRight';
55
+ if (![prevKey, nextKey, 'Home', 'End'].includes(ev.key))
56
+ return;
57
+ const enabled = this.tabs().filter(t => !t.disabled);
58
+ const current = enabled.findIndex(t => t === ev.target || t.contains(ev.target));
59
+ if (current === -1 || enabled.length === 0)
60
+ return;
61
+ ev.preventDefault();
62
+ let nextIdx = current;
63
+ if (ev.key === nextKey)
64
+ nextIdx = (current + 1) % enabled.length;
65
+ else if (ev.key === prevKey)
66
+ nextIdx = (current - 1 + enabled.length) % enabled.length;
67
+ else if (ev.key === 'Home')
68
+ nextIdx = 0;
69
+ else
70
+ nextIdx = enabled.length - 1;
71
+ const target = enabled[nextIdx];
72
+ const button = target.shadowRoot?.querySelector('button');
73
+ button?.focus();
74
+ button?.click();
31
75
  }
32
76
  render() {
33
77
  const vertical = this.orientation === 'vertical';
34
- return (index.h("div", { key: '3d45234fd7f253c692fe4bbc150e5e31c3c0144d', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, index.h("slot", { key: '1872fc2d82a5cde90b9e5b7fc76976f1083a3563' })));
78
+ return (index.h("div", { key: '81b3b46d54d4acc074b0c59d0da5e3e971e7b62e', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, index.h("slot", { key: 'ba296a99062629de3e331cd7de1ebc41548c77f9', onSlotchange: () => this.syncRovingTabindex() })));
35
79
  }
80
+ static get watchers() { return {
81
+ "orientation": [{
82
+ "syncRovingTabindex": 0
83
+ }]
84
+ }; }
36
85
  };
37
86
  BsTabs.style = bsTabsCss();
38
87
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  const bsToastCss = () => `:host{display:inline-flex;--bs-toast-radius:var(--bs-border-radius-100);--bs-toast-shadow:var(--bs-shadow-md);--bs-toast-content-padding-y:var(--bs-spacing-200);--bs-toast-content-padding-x:var(--bs-spacing-200);--bs-toast-content-gap:var(--bs-spacing-150);--bs-toast-font-size:var(--bs-font-size-md);--bs-toast-line-height:var(--bs-line-height-body-md);--bs-toast-actions-padding-y:var(--bs-spacing-50);--bs-toast-actions-padding-x:var(--bs-spacing-100);--bs-toast-close-radius:var(--bs-border-radius-100);--bs-toast-surface-info:var(--bs-color-info-container);--bs-toast-text-info:var(--bs-text-info);--bs-toast-surface-warning:var(--bs-color-warning-container);--bs-toast-text-warning:var(--bs-text-warning);--bs-toast-surface-success:var(--bs-color-success-container);--bs-toast-text-success:var(--bs-text-success);--bs-toast-surface-error:var(--bs-color-error-container);--bs-toast-text-error:var(--bs-text-error)}.bs-toast{display:flex;align-items:center;border-radius:var(--bs-toast-radius);box-shadow:var(--bs-toast-shadow);font-family:inherit}.bs-toast--info{background:var(--bs-toast-surface-info);color:var(--bs-toast-text-info)}.bs-toast--warning{background:var(--bs-toast-surface-warning);color:var(--bs-toast-text-warning)}.bs-toast--success{background:var(--bs-toast-surface-success);color:var(--bs-toast-text-success)}.bs-toast--error{background:var(--bs-toast-surface-error);color:var(--bs-toast-text-error)}.bs-toast__content{display:flex;align-items:center;gap:var(--bs-toast-content-gap);flex:1 1 auto;min-width:0;padding:var(--bs-toast-content-padding-y) 0 var(--bs-toast-content-padding-y) var(--bs-toast-content-padding-x)}.bs-toast__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:inherit}.bs-toast__icon svg{width:24px;height:24px}.bs-toast__message{flex:1 1 auto;min-width:0;font-size:var(--bs-toast-font-size);line-height:calc(var(--bs-toast-line-height) * 1px)}.bs-toast__actions{display:flex;align-items:center;align-self:stretch;flex-shrink:0;padding:var(--bs-toast-actions-padding-y) var(--bs-toast-actions-padding-x) var(--bs-toast-actions-padding-y) 0}.bs-toast__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:none;background:transparent;border-radius:var(--bs-toast-close-radius);color:inherit;cursor:pointer}.bs-toast__close svg{width:24px;height:24px}.bs-toast__close:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.bs-toast__close:active{background:color-mix(in srgb, currentColor 24%, transparent)}.bs-toast__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  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%)}`;
6
6
 
@@ -16,7 +16,7 @@ const BsTooltip = class {
16
16
  */
17
17
  placement = 'top';
18
18
  render() {
19
- return (index.h("div", { key: '81d300180aa98431ab694c50e76bb7e55a65efb0', class: "bs-tooltip" }, index.h("span", { key: '42e53b74b32dab5418e1e7ce37210316fd14341e', part: "arrow", class: "bs-tooltip__arrow" }), index.h("div", { key: '9b118fbb55282ef4cc7ccdf45da46c1939e25147', part: "bubble", class: "bs-tooltip__bubble" }, index.h("slot", { key: '52f128c55db4da2bbdc6b94c254ab80fb7dcc53f' }))));
19
+ return (index.h("div", { key: 'b7c2ee57db3a4e36cdd106d78f0f8d54c45a04c6', class: "bs-tooltip" }, index.h("span", { key: '22b738a760e9967233052ce4540c77da4ac9563e', part: "arrow", class: "bs-tooltip__arrow" }), index.h("div", { key: '69a8b07711478e699be4c8151d9f7dfd2e4e0bf4', part: "bubble", class: "bs-tooltip__bubble" }, index.h("slot", { key: 'b32c75a06582b8e8f99b973889450e9100b75323' }))));
20
20
  }
21
21
  };
22
22
  BsTooltip.style = bsTooltipCss();
@@ -144,6 +144,12 @@ var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
144
144
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
145
145
  var MAX_LAZY_LOAD_RETRIES = 3;
146
146
  var LAZY_LOAD_RETRY_INTERVAL_MS = 1e3;
147
+ var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
148
+ "formAssociatedCallback",
149
+ "formResetCallback",
150
+ "formDisabledCallback",
151
+ "formStateRestoreCallback"
152
+ ];
147
153
  var win = typeof window !== "undefined" ? window : {};
148
154
  var plt = {
149
155
  $flags$: 0,
@@ -542,7 +548,9 @@ var normalizeWatchers = (raw) => {
542
548
  var parsePropertyValue = (propValue, propType, isFormAssociated) => {
543
549
  if (propValue != null && !isComplexType(propValue)) {
544
550
  if (propType & 4 /* Boolean */) {
545
- {
551
+ if (isFormAssociated && typeof propValue === "string") {
552
+ return propValue === "" || !!propValue;
553
+ } else {
546
554
  return propValue === "false" ? false : propValue === "" || !!propValue;
547
555
  }
548
556
  }
@@ -1239,7 +1247,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1239
1247
  const instance = hostRef.$lazyInstance$ ;
1240
1248
  newVal = parsePropertyValue(
1241
1249
  newVal,
1242
- cmpMeta.$members$[propName][0]);
1250
+ cmpMeta.$members$[propName][0],
1251
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1252
+ );
1243
1253
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1244
1254
  const didValueChange = newVal !== oldVal && !areBothNaN;
1245
1255
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -1297,6 +1307,26 @@ var replayPendingSetterValues = (hostRef, cmpMeta) => {
1297
1307
  var proxyComponent = (Cstr, cmpMeta, flags) => {
1298
1308
  var _a, _b;
1299
1309
  const prototype = Cstr.prototype;
1310
+ if (cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {
1311
+ FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach((cbName) => {
1312
+ Object.defineProperty(prototype, cbName, {
1313
+ value(...args) {
1314
+ var _a2;
1315
+ const hostRef = getHostRef(this);
1316
+ const instance = hostRef == null ? void 0 : hostRef.$lazyInstance$ ;
1317
+ if (!instance) {
1318
+ (_a2 = hostRef == null ? void 0 : hostRef.$onReadyPromise$) == null ? void 0 : _a2.then((asyncInstance) => {
1319
+ const cb = asyncInstance[cbName];
1320
+ typeof cb === "function" && cb.call(asyncInstance, ...args);
1321
+ });
1322
+ } else {
1323
+ const cb = instance[cbName] ;
1324
+ typeof cb === "function" && cb.call(instance, ...args);
1325
+ }
1326
+ }
1327
+ });
1328
+ });
1329
+ }
1300
1330
  if (cmpMeta.$members$ || BUILD.propChangeCallback) {
1301
1331
  {
1302
1332
  if (Cstr.watchers && !cmpMeta.$watchers$) {
@@ -1345,7 +1375,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1345
1375
  origSetter.apply(this, [
1346
1376
  parsePropertyValue(
1347
1377
  newValue,
1348
- memberFlags)
1378
+ memberFlags,
1379
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1380
+ )
1349
1381
  ]);
1350
1382
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1351
1383
  setValue(this, memberName, newValue, cmpMeta);
@@ -1358,7 +1390,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1358
1390
  }
1359
1391
  const parsedValue = parsePropertyValue(
1360
1392
  newValue,
1361
- memberFlags);
1393
+ memberFlags,
1394
+ !!(cmpMeta.$flags$ & 64 /* formAssociated */)
1395
+ );
1362
1396
  if (ref.$lazyInstance$) {
1363
1397
  const currentValue = ref.$lazyInstance$[memberName];
1364
1398
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
@@ -1423,7 +1457,8 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1423
1457
  }
1424
1458
  const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
1425
1459
  if (isBooleanTarget) {
1426
- newValue = newValue === null || newValue === "false" && true ? false : true;
1460
+ const isFormAssociated = !!(cmpMeta.$flags$ & 64 /* formAssociated */);
1461
+ newValue = newValue === null || newValue === "false" && !isFormAssociated ? false : true;
1427
1462
  }
1428
1463
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1429
1464
  if (!isSpuriousBooleanRemoval && newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
@@ -1727,6 +1762,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1727
1762
  return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
1728
1763
  }
1729
1764
  };
1765
+ if (cmpMeta.$flags$ & 64 /* formAssociated */) {
1766
+ HostElement.formAssociated = true;
1767
+ }
1730
1768
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
1731
1769
  if (!exclude.includes(tagName) && !customElements2.get(tagName)) {
1732
1770
  cmpTags.push(tagName);
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await index.globalScripts();
8
- return index.bootstrapLazy([["bs-carousel.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["bs-attachment.cjs",[[513,"bs-attachment",{"type":[1],"fileName":[1,"file-name"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"loading":[4],"removable":[4]}]]],["bs-breadcrumb-overflow.cjs",[[513,"bs-breadcrumb-overflow",{"items":[16],"overflowLabel":[1,"overflow-label"],"size":[513],"open":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-chatbot-header.cjs",[[769,"bs-chatbot-header",{"heading":[1],"expanded":[1540]}]]],["bs-dialog.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[769,"bs-accordion",{"expanded":[516],"size":[1],"disabled":[4],"showIcon":[4,"show-icon"],"showPreview":[4,"show-preview"]}]]],["bs-ai-disclaimer.cjs",[[257,"bs-ai-disclaimer"]]],["bs-ai-greeting.cjs",[[513,"bs-ai-greeting",{"assistantName":[1,"assistant-name"],"productName":[1,"product-name"]}]]],["bs-ai-thinking.cjs",[[513,"bs-ai-thinking",{"label":[1]}]]],["bs-attachment-list.cjs",[[769,"bs-attachment-list",{"ariaLabel":[1,"aria-label"],"canScrollRight":[32]}]]],["bs-avatar.cjs",[[513,"bs-avatar",{"type":[1],"size":[1],"initials":[1],"src":[1],"alt":[1],"ariaLabel":[1,"aria-label"],"disabled":[516]}]]],["bs-badge.cjs",[[769,"bs-badge",{"variant":[1]}]]],["bs-breadcrumb.cjs",[[769,"bs-breadcrumb",{"href":[1],"current":[516],"size":[513]}]]],["bs-breadcrumbs.cjs",[[769,"bs-breadcrumbs",{"label":[1],"size":[1]},null,{"size":[{"onSizeChange":0}]}]]],["bs-button-skeleton.cjs",[[513,"bs-button-skeleton",{"size":[1]}]]],["bs-card.cjs",[[769,"bs-card",{"surface":[1],"hasImage":[32]}]]],["bs-chatbot-feedback.cjs",[[513,"bs-chatbot-feedback",{"rating":[1538],"submitted":[1540],"comment":[1025],"heading":[1],"subtitle":[1]}]]],["bs-chatbot-response-action.cjs",[[769,"bs-chatbot-response-action",{"sourcesCount":[2,"sources-count"],"menuOpen":[1540,"menu-open"]},[[4,"click","onDocumentClick"],[4,"keydown","onKeydown"]]]]],["bs-chatbot-sources-drawer.cjs",[[769,"bs-chatbot-sources-drawer",{"heading":[1],"count":[2],"slottedCount":[32]}]]],["bs-chatbot-suggestion-button.cjs",[[769,"bs-chatbot-suggestion-button",{"disabled":[4]}]]],["bs-checkbox.cjs",[[785,"bs-checkbox",{"size":[1],"checked":[1540],"indeterminate":[1540],"disabled":[4],"error":[4],"ariaLabel":[1,"aria-label"]},null,{"indeterminate":[{"onIndeterminateChange":0}]}]]],["bs-checkbox-skeleton.cjs",[[513,"bs-checkbox-skeleton",{"size":[1]}]]],["bs-chip-filter.cjs",[[785,"bs-chip-filter",{"size":[1],"selected":[516],"dropdown":[4],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32]}]]],["bs-chip-informative.cjs",[[769,"bs-chip-informative",{"color":[1],"size":[1],"disabled":[516],"hasIcon":[32]}]]],["bs-chip-input.cjs",[[785,"bs-chip-input",{"size":[1],"selected":[1540],"disabled":[516],"hasIcon":[32],"labelText":[32]}]]],["bs-composer.cjs",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1025],"state":[513],"ariaLabel":[1,"aria-label"],"hasAttachments":[32]}]]],["bs-composer-status-banner.cjs",[[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.cjs",[[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.cjs",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32]}]]],["bs-navigation-drawer-item.cjs",[[769,"bs-navigation-drawer-item",{"selected":[516],"expandable":[4],"expanded":[1540],"nested":[4],"ariaLabel":[1,"aria-label"],"collapsed":[516],"hasIcon":[32]}]]],["bs-progress.cjs",[[513,"bs-progress",{"type":[1],"size":[1],"strokeWidth":[2,"stroke-width"],"value":[2],"showLabel":[4,"show-label"]}]]],["bs-radio.cjs",[[785,"bs-radio",{"name":[1],"value":[1],"checked":[1540],"disabled":[4]}]]],["bs-slider.cjs",[[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.cjs",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-stepper.cjs",[[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.cjs",[[513,"bs-stepper-step",{"name":[1],"description":[1],"error":[4],"disabled":[4],"computedState":[1,"computed-state"],"direction":[1],"showDescription":[4,"show-description"]}]]],["bs-switch.cjs",[[785,"bs-switch",{"size":[1],"checked":[1540],"disabled":[4],"ariaLabel":[1,"aria-label"]}]]],["bs-tab.cjs",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs.cjs",[[769,"bs-tabs",{"type":[1],"orientation":[1]},[[0,"bsSelect","onTabSelect"]]]]],["bs-toast.cjs",[[769,"bs-toast",{"state":[1]}]]],["bs-menu-item.cjs",[[769,"bs-menu-item",{"disabled":[4],"hasIcon":[32]}]]],["bs-pagination.cjs",[[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.cjs",[[769,"bs-progress-linear",{"type":[1],"size":[1],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"],"hasLabelContent":[32]}]]],["bs-tooltip.cjs",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-logo.cjs",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu.cjs",[[257,"bs-menu"]]],["bs-button.cjs",[[785,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-icon-button.cjs",[[785,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]]], options);
8
+ return index.bootstrapLazy([["bs-carousel.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["bs-attachment.cjs",[[513,"bs-attachment",{"type":[1],"fileName":[1,"file-name"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"loading":[4],"removable":[4]}]]],["bs-breadcrumb-overflow.cjs",[[513,"bs-breadcrumb-overflow",{"items":[16],"overflowLabel":[1,"overflow-label"],"size":[513],"open":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-chatbot-header.cjs",[[769,"bs-chatbot-header",{"heading":[1],"expanded":[1540]}]]],["bs-dialog.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[769,"bs-accordion",{"expanded":[516],"size":[1],"disabled":[4],"showIcon":[4,"show-icon"],"showPreview":[4,"show-preview"]}]]],["bs-ai-disclaimer.cjs",[[257,"bs-ai-disclaimer"]]],["bs-ai-greeting.cjs",[[513,"bs-ai-greeting",{"assistantName":[1,"assistant-name"],"productName":[1,"product-name"]}]]],["bs-ai-thinking.cjs",[[513,"bs-ai-thinking",{"label":[1]}]]],["bs-attachment-list.cjs",[[769,"bs-attachment-list",{"ariaLabel":[1,"aria-label"],"canScrollRight":[32]}]]],["bs-avatar.cjs",[[513,"bs-avatar",{"type":[1],"size":[1],"initials":[1],"src":[1],"alt":[1],"ariaLabel":[1,"aria-label"],"disabled":[516]}]]],["bs-badge.cjs",[[769,"bs-badge",{"variant":[1]}]]],["bs-breadcrumb.cjs",[[769,"bs-breadcrumb",{"href":[1],"current":[516],"size":[513]}]]],["bs-breadcrumbs.cjs",[[769,"bs-breadcrumbs",{"label":[1],"size":[1]},null,{"size":[{"onSizeChange":0}]}]]],["bs-button-skeleton.cjs",[[513,"bs-button-skeleton",{"size":[1]}]]],["bs-card.cjs",[[769,"bs-card",{"surface":[1],"hasImage":[32]}]]],["bs-chatbot-feedback.cjs",[[513,"bs-chatbot-feedback",{"rating":[1538],"submitted":[1540],"comment":[1025],"heading":[1],"subtitle":[1]}]]],["bs-chatbot-response-action.cjs",[[769,"bs-chatbot-response-action",{"sourcesCount":[2,"sources-count"],"menuOpen":[1540,"menu-open"]},[[4,"click","onDocumentClick"],[4,"keydown","onKeydown"]]]]],["bs-chatbot-sources-drawer.cjs",[[769,"bs-chatbot-sources-drawer",{"heading":[1],"count":[2],"slottedCount":[32]}]]],["bs-chatbot-suggestion-button.cjs",[[769,"bs-chatbot-suggestion-button",{"disabled":[4]}]]],["bs-checkbox.cjs",[[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.cjs",[[513,"bs-checkbox-skeleton",{"size":[1]}]]],["bs-chip-filter.cjs",[[785,"bs-chip-filter",{"size":[1],"selected":[516],"dropdown":[4],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32]}]]],["bs-chip-informative.cjs",[[769,"bs-chip-informative",{"color":[1],"size":[1],"disabled":[516],"hasIcon":[32]}]]],["bs-chip-input.cjs",[[785,"bs-chip-input",{"size":[1],"selected":[1540],"disabled":[516],"hasIcon":[32],"labelText":[32]}]]],["bs-composer.cjs",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1025],"state":[513],"ariaLabel":[1,"aria-label"],"hasAttachments":[32]}]]],["bs-composer-status-banner.cjs",[[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.cjs",[[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.cjs",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"tabbable":[4],"hasIcon":[32],"hasLabel":[32]}]]],["bs-navigation-drawer-item.cjs",[[769,"bs-navigation-drawer-item",{"selected":[516],"expandable":[4],"expanded":[1540],"nested":[4],"ariaLabel":[1,"aria-label"],"collapsed":[516],"hasIcon":[32]}]]],["bs-progress.cjs",[[513,"bs-progress",{"type":[1],"size":[1],"strokeWidth":[2,"stroke-width"],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"]}]]],["bs-radio.cjs",[[849,"bs-radio",{"name":[513],"value":[1],"checked":[1540],"disabled":[516],"groupHasChecked":[32]},[[4,"bsChange","onAnyRadioChange"]],{"checked":[{"onCheckedChange":0}],"value":[{"onCheckedChange":0}]}]]],["bs-slider.cjs",[[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.cjs",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-stepper.cjs",[[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.cjs",[[513,"bs-stepper-step",{"name":[1],"description":[1],"error":[4],"disabled":[4],"computedState":[1,"computed-state"],"direction":[1],"showDescription":[4,"show-description"]}]]],["bs-switch.cjs",[[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.cjs",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"tabbable":[4],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs.cjs",[[769,"bs-tabs",{"type":[1],"orientation":[1]},[[0,"bsSelect","onTabSelect"],[0,"keydown","onKeyDown"]],{"orientation":[{"syncRovingTabindex":0}]}]]],["bs-toast.cjs",[[769,"bs-toast",{"state":[1]}]]],["bs-menu-item.cjs",[[769,"bs-menu-item",{"disabled":[4],"hasIcon":[32]}]]],["bs-pagination.cjs",[[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.cjs",[[769,"bs-progress-linear",{"type":[1],"size":[1],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"],"hasLabelContent":[32]}]]],["bs-tooltip.cjs",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-logo.cjs",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu.cjs",[[257,"bs-menu",null,[[0,"keydown","onKeyDown"]]]]],["bs-button.cjs",[[849,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-icon-button.cjs",[[849,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]]], options);
9
9
  };
10
10
 
11
11
  exports.setNonce = index.setNonce;
@@ -0,0 +1,54 @@
1
+ import { render, h, describe, it } from "@stencil/vitest";
2
+ import { runAxeCheck } from "../test/helpers/conventions";
3
+ // One axe-core pass per component, in a representative (labelled, realistic) configuration.
4
+ // Components with their own axe test elsewhere (bs-accordion, bs-slider, bs-chatbot-header) are
5
+ // covered there. A violation here is a real bug in the component (or a missing accessible name
6
+ // that the component's docs say the consumer must provide -- supply it below, don't suppress it).
7
+ const axeOf = (name, vnode) => it(`${name} has no axe-core violations`, async () => {
8
+ const { root } = await render(vnode());
9
+ await runAxeCheck(root);
10
+ });
11
+ describe('axe: form controls', () => {
12
+ axeOf('bs-input', () => h("bs-input", { label: "Email", value: "a@b.co" }));
13
+ axeOf('bs-input (error)', () => h("bs-input", { label: "Email", error: "Required" }));
14
+ axeOf('bs-input (textarea)', () => h("bs-input", { type: "textarea", label: "Notes" }));
15
+ axeOf('bs-input (password)', () => h("bs-input", { type: "password", label: "Password" }));
16
+ axeOf('bs-checkbox', () => h("bs-checkbox", null, "Agree"));
17
+ axeOf('bs-checkbox (icon-only)', () => h("bs-checkbox", { ariaLabel: "Select row" }));
18
+ axeOf('bs-switch', () => h("bs-switch", null, "Alerts"));
19
+ axeOf('bs-radio group', () => (h("div", { role: "radiogroup", "aria-label": "Fruit" }, h("bs-radio", { name: "f", value: "a", checked: true }, "A"), h("bs-radio", { name: "f", value: "b" }, "B"))));
20
+ });
21
+ describe('axe: actions & navigation', () => {
22
+ axeOf('bs-button', () => h("bs-button", null, "Save"));
23
+ axeOf('bs-icon-button', () => h("bs-icon-button", { ariaLabel: "Close" }));
24
+ axeOf('bs-button-skeleton', () => h("bs-button-skeleton", null));
25
+ axeOf('bs-tabs', () => (h("bs-tabs", null, h("bs-tab", { selected: true }, "One"), h("bs-tab", null, "Two"))));
26
+ axeOf('bs-menu', () => (h("bs-menu", null, h("bs-menu-item", null, "Edit"), h("bs-menu-item", null, "Delete"))));
27
+ axeOf('bs-breadcrumbs', () => (h("bs-breadcrumbs", null, h("bs-breadcrumb", { href: "/" }, "Home"), h("bs-breadcrumb", { current: true }, "Page"))));
28
+ axeOf('bs-pagination', () => h("bs-pagination", { totalPages: 10, currentPage: 1 }));
29
+ axeOf('bs-stepper', () => (h("bs-stepper", null, h("bs-stepper-step", { name: "One" }), h("bs-stepper-step", { name: "Two" }))));
30
+ axeOf('bs-source-link', () => h("bs-source-link", { href: "https://example.com" }, "Source"));
31
+ });
32
+ describe('axe: display & feedback', () => {
33
+ axeOf('bs-avatar', () => h("bs-avatar", { initials: "AB", ariaLabel: "Ada Byron" }));
34
+ axeOf('bs-badge', () => h("bs-badge", null, "3"));
35
+ axeOf('bs-card', () => h("bs-card", null, "Content"));
36
+ axeOf('bs-chip-informative', () => h("bs-chip-informative", null, "Tag"));
37
+ axeOf('bs-logo', () => h("bs-logo", null));
38
+ axeOf('bs-progress', () => h("bs-progress", { value: 40, ariaLabel: "Uploading" }));
39
+ axeOf('bs-progress-linear', () => h("bs-progress-linear", { value: 40, ariaLabel: "Uploading" }));
40
+ axeOf('bs-snackbar', () => h("bs-snackbar", null, "Saved"));
41
+ axeOf('bs-toast', () => h("bs-toast", null, "Saved"));
42
+ axeOf('bs-tooltip', () => h("bs-tooltip", null, "Help text"));
43
+ axeOf('bs-dialog', () => (h("bs-dialog", { open: true, heading: "Confirm" }, "Are you sure?")));
44
+ axeOf('bs-data-table', () => (h("bs-data-table", { columns: [{ key: 'name', label: 'Name' }], rows: [{ id: 1, name: 'Ada' }] })));
45
+ });
46
+ describe('axe: AI chat', () => {
47
+ axeOf('bs-ai-disclaimer', () => h("bs-ai-disclaimer", null));
48
+ axeOf('bs-ai-greeting', () => h("bs-ai-greeting", null));
49
+ axeOf('bs-ai-thinking', () => h("bs-ai-thinking", null));
50
+ axeOf('bs-attachment', () => h("bs-attachment", { fileName: "file.pdf" }));
51
+ axeOf('bs-composer', () => h("bs-composer", null));
52
+ axeOf('bs-chatbot-feedback', () => h("bs-chatbot-feedback", null));
53
+ axeOf('bs-chatbot-suggestion-button', () => h("bs-chatbot-suggestion-button", null, "Ask"));
54
+ });
@@ -89,7 +89,7 @@
89
89
  padding: 0;
90
90
  cursor: pointer;
91
91
  font-family: inherit;
92
- text-align: left;
92
+ text-align: start;
93
93
  }
94
94
 
95
95
  /* The focus-visible ring is drawn on the outer .bs-accordion container (see above), not here --
@@ -148,7 +148,7 @@
148
148
  /* Icon=No: no icon box on the left to provide the inset, so the label gets it directly --
149
149
  confirmed against Figma's Icon=No variant. */
150
150
  .bs-accordion__label--no-icon {
151
- padding-left: var(--bs-accordion-header-padding-x);
151
+ padding-inline-start: var(--bs-accordion-header-padding-x);
152
152
  }
153
153
 
154
154
  /* Same fixed-width/height box as .bs-accordion__icon (not just the 24px SVG) -- per Figma, the
@@ -181,15 +181,15 @@
181
181
  .bs-accordion__content {
182
182
  padding-top: 0;
183
183
  padding-bottom: var(--bs-accordion-content-padding-bottom);
184
- padding-right: var(--bs-accordion-content-padding-right);
185
- padding-left: var(--bs-accordion-content-padding-left);
184
+ padding-inline-end: var(--bs-accordion-content-padding-right);
185
+ padding-inline-start: var(--bs-accordion-content-padding-left);
186
186
  color: var(--bs-accordion-text-default);
187
187
  font-size: var(--bs-accordion-font-size);
188
188
  line-height: calc(var(--bs-accordion-line-height) * 1px);
189
189
  }
190
190
 
191
191
  .bs-accordion__content--no-icon {
192
- padding-left: var(--bs-accordion-content-padding-left-no-icon);
192
+ padding-inline-start: var(--bs-accordion-content-padding-left-no-icon);
193
193
  }
194
194
 
195
195
  /* Collapsed + showPreview: pure CSS truncation of the SAME slotted content to a single line --
@@ -107,7 +107,7 @@
107
107
  *visible* 16px button centered inside it (8px inset on every side) -- so the visible button's
108
108
  real offset from the thumbnail's corner is 8px, not 4px. */
109
109
  top: var(--bs-spacing-100);
110
- right: var(--bs-spacing-100);
110
+ inset-inline-end: var(--bs-spacing-100);
111
111
  opacity: 0;
112
112
  pointer-events: none;
113
113
  transition: opacity var(--bs-duration-fast) var(--bs-easing-standard);
@@ -48,7 +48,7 @@
48
48
  .bs-attachment-list__fade {
49
49
  position: absolute;
50
50
  top: 0;
51
- right: 0;
51
+ inset-inline-end: 0;
52
52
  bottom: 0;
53
53
  width: var(--bs-attachment-list-fade-width);
54
54
  pointer-events: none;
@@ -97,7 +97,7 @@
97
97
  .bs-breadcrumb-overflow__menu {
98
98
  position: absolute;
99
99
  top: calc(100% + var(--bs-breadcrumb-overflow-gap));
100
- left: 0;
100
+ inset-inline-start: 0;
101
101
  z-index: 1;
102
102
  white-space: nowrap;
103
103
  }
@@ -263,11 +263,11 @@
263
263
  /* Gap between icon and label: spacing/xs (4px) per Figma node 2842:50344's state-layer gap, not
264
264
  spacing-100 (8px). */
265
265
  .bs-button__icon--visible {
266
- margin-right: var(--bs-spacing-50);
266
+ margin-inline-end: var(--bs-spacing-50);
267
267
  }
268
268
 
269
269
  .bs-button__end-icon--visible {
270
- margin-left: var(--bs-spacing-50);
270
+ margin-inline-start: var(--bs-spacing-50);
271
271
  }
272
272
 
273
273
  .bs-button__icon ::slotted(*),
@@ -282,10 +282,10 @@
282
282
  aspect-ratio: 1 / 1;
283
283
  }
284
284
  .bs-button--icon-only .bs-button__icon--visible {
285
- margin-right: 0;
285
+ margin-inline-end: 0;
286
286
  }
287
287
  .bs-button--icon-only .bs-button__end-icon--visible {
288
- margin-left: 0;
288
+ margin-inline-start: 0;
289
289
  }
290
290
 
291
291
  /* Verified against a Figma redline for the icon+label layout: the edge next to an icon is
@@ -295,14 +295,21 @@
295
295
  the icon-less button (12+20 = 16+16 = 32px for size="md"). This is deliberately NOT
296
296
  size-dependent, same as the icon/label gap above -- neither varies by size in the source spec. */
297
297
  .bs-button--has-icon:not(.bs-button--has-end-icon) {
298
- padding-left: var(--bs-button-padding-x-icon-side);
299
- padding-right: var(--bs-button-padding-x-label-side);
298
+ padding-inline-start: var(--bs-button-padding-x-icon-side);
299
+ padding-inline-end: var(--bs-button-padding-x-label-side);
300
300
  }
301
301
  .bs-button--has-end-icon:not(.bs-button--has-icon) {
302
- padding-left: var(--bs-button-padding-x-label-side);
303
- padding-right: var(--bs-button-padding-x-icon-side);
302
+ padding-inline-start: var(--bs-button-padding-x-label-side);
303
+ padding-inline-end: var(--bs-button-padding-x-icon-side);
304
304
  }
305
305
  .bs-button--has-icon.bs-button--has-end-icon {
306
- padding-left: var(--bs-button-padding-x-icon-side);
307
- padding-right: var(--bs-button-padding-x-icon-side);
306
+ padding-inline-start: var(--bs-button-padding-x-icon-side);
307
+ padding-inline-end: var(--bs-button-padding-x-icon-side);
308
+ }
309
+
310
+ /* Windows High Contrast: author backgrounds are dropped, so keep the button boundary and a visible focus ring. */
311
+ @media (forced-colors: active) {
312
+ .bs-button { border: 1px solid ButtonText; }
313
+ .bs-button:disabled { border-color: GrayText; color: GrayText; }
314
+ .bs-button:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
308
315
  }