@brandsync/wc 1.18.0 → 1.20.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 (962) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/REFERENCE.md +335 -17
  3. package/custom-elements.json +11339 -6515
  4. package/dist/brandsync-wc/brandsync-wc.css +1 -1
  5. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  6. package/dist/brandsync-wc/index.esm.js +1 -1
  7. package/dist/brandsync-wc/p-040d4755.entry.js +1 -0
  8. package/dist/brandsync-wc/{p-5868793d.entry.js → p-050270f5.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-ee63423c.entry.js → p-08a5e178.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-d42a26c1.entry.js → p-08d08dc9.entry.js} +1 -1
  11. package/dist/brandsync-wc/p-0ebb60a8.entry.js +1 -0
  12. package/dist/brandsync-wc/{p-87a10ee1.entry.js → p-0f864a4f.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-d3fe8cea.entry.js → p-105c316e.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-7cfb1be6.entry.js → p-11fefb5a.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-cb002195.entry.js → p-13d98ec3.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-16f15ba5.entry.js +1 -0
  17. package/dist/brandsync-wc/{p-4d4997af.entry.js → p-18cfec13.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-f86b58bf.entry.js → p-1a549f9a.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-a28ef52e.entry.js → p-1bf8a54a.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-55d336da.entry.js → p-1ce4395a.entry.js} +1 -1
  21. package/dist/brandsync-wc/p-1daf48b1.entry.js +1 -0
  22. package/dist/brandsync-wc/p-20dd8b76.entry.js +1 -0
  23. package/dist/brandsync-wc/{p-a8c2855c.entry.js → p-2210c680.entry.js} +1 -1
  24. package/dist/brandsync-wc/p-23367a4d.entry.js +1 -0
  25. package/dist/brandsync-wc/p-238be384.entry.js +1 -0
  26. package/dist/brandsync-wc/p-23affb5d.entry.js +1 -0
  27. package/dist/brandsync-wc/{p-3e6f430a.entry.js → p-23b3958e.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-f6caa623.entry.js → p-2621b1b2.entry.js} +1 -1
  29. package/dist/brandsync-wc/p-28723df1.entry.js +1 -0
  30. package/dist/brandsync-wc/p-28a34097.entry.js +1 -0
  31. package/dist/brandsync-wc/{p-bd901b06.entry.js → p-2a96ce61.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-c020ffdf.entry.js → p-2f58b161.entry.js} +1 -1
  33. package/dist/brandsync-wc/p-319b7baa.entry.js +1 -0
  34. package/dist/brandsync-wc/{p-0a6f22fe.entry.js → p-32004fb3.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-56a45582.entry.js → p-32157c7a.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-43f8afda.entry.js → p-32d83763.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-a424a709.entry.js → p-338b5e39.entry.js} +1 -1
  38. package/dist/brandsync-wc/p-3f6be3f7.entry.js +1 -0
  39. package/dist/brandsync-wc/p-409cf56b.entry.js +1 -0
  40. package/dist/brandsync-wc/{p-58179e15.entry.js → p-452f6c13.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-9bd739e5.entry.js → p-47fc5f29.entry.js} +1 -1
  42. package/dist/brandsync-wc/p-4810bcc8.entry.js +1 -0
  43. package/dist/brandsync-wc/p-484a6546.entry.js +1 -0
  44. package/dist/brandsync-wc/p-4ae7b8b9.entry.js +1 -0
  45. package/dist/brandsync-wc/p-4d6f2fec.entry.js +1 -0
  46. package/dist/brandsync-wc/p-4f19e8d8.entry.js +1 -0
  47. package/dist/brandsync-wc/p-50a154b8.entry.js +1 -0
  48. package/dist/brandsync-wc/{p-345b5ef3.entry.js → p-50ac6889.entry.js} +1 -1
  49. package/dist/brandsync-wc/p-520b277a.entry.js +1 -0
  50. package/dist/brandsync-wc/p-53b1c545.entry.js +1 -0
  51. package/dist/brandsync-wc/{p-4ff649f1.entry.js → p-548b96f7.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-144b6ac8.entry.js → p-57ed5ac6.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-fd78ff22.entry.js → p-587be2c6.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-5a35d573.entry.js +1 -0
  55. package/dist/brandsync-wc/p-5b48a6c7.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-50f60ed6.entry.js → p-5ea899c4.entry.js} +1 -1
  57. package/dist/brandsync-wc/p-6096900b.entry.js +1 -0
  58. package/dist/brandsync-wc/{p-fc76031e.entry.js → p-630d41ab.entry.js} +1 -1
  59. package/dist/brandsync-wc/p-66f1ca2e.entry.js +1 -0
  60. package/dist/brandsync-wc/p-69489f45.entry.js +1 -0
  61. package/dist/brandsync-wc/p-6adc9c4f.entry.js +1 -0
  62. package/dist/brandsync-wc/p-6bdd9ef9.entry.js +1 -0
  63. package/dist/brandsync-wc/p-6db03e96.entry.js +1 -0
  64. package/dist/brandsync-wc/{p-ae207fd5.entry.js → p-70924681.entry.js} +1 -1
  65. package/dist/brandsync-wc/p-7632f773.entry.js +1 -0
  66. package/dist/brandsync-wc/p-78e4dd14.entry.js +1 -0
  67. package/dist/brandsync-wc/{p-e3e15670.entry.js → p-806bb471.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-1a62e5b7.entry.js → p-86fdbe8f.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-a51355d9.entry.js → p-89dbb3c8.entry.js} +1 -1
  70. package/dist/brandsync-wc/p-8a4d64fd.entry.js +1 -0
  71. package/dist/brandsync-wc/p-8c83cc99.entry.js +1 -0
  72. package/dist/brandsync-wc/p-8ccd1735.entry.js +1 -0
  73. package/dist/brandsync-wc/p-8d674f11.entry.js +1 -0
  74. package/dist/brandsync-wc/{p-1a47774e.entry.js → p-90442341.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-be7272ce.entry.js → p-9e93b482.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-020cb767.entry.js → p-9f852c8b.entry.js} +1 -1
  77. package/dist/brandsync-wc/p-BSt9HeTa.js +1 -0
  78. package/dist/brandsync-wc/p-Vo0zbGRB.js +1 -0
  79. package/dist/brandsync-wc/p-a1d34ff3.entry.js +1 -0
  80. package/dist/brandsync-wc/p-a3c7b4e7.entry.js +1 -0
  81. package/dist/brandsync-wc/{p-6c987bc9.entry.js → p-a6cbb6c6.entry.js} +1 -1
  82. package/dist/brandsync-wc/{p-08e0e704.entry.js → p-a86560e6.entry.js} +1 -1
  83. package/dist/brandsync-wc/p-aa70e80c.entry.js +1 -0
  84. package/dist/brandsync-wc/p-b0f4cbca.entry.js +1 -0
  85. package/dist/brandsync-wc/{p-1aa0f9a3.entry.js → p-b1663378.entry.js} +1 -1
  86. package/dist/brandsync-wc/{p-50c116eb.entry.js → p-b1b14615.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-5ac75555.entry.js → p-b7545d9b.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-31ca98c3.entry.js → p-baca1abf.entry.js} +1 -1
  89. package/dist/brandsync-wc/{p-55d97d1d.entry.js → p-bfdd135b.entry.js} +1 -1
  90. package/dist/brandsync-wc/{p-89fa7567.entry.js → p-c23e274a.entry.js} +1 -1
  91. package/dist/brandsync-wc/{p-8f82ea7e.entry.js → p-c39e6be9.entry.js} +1 -1
  92. package/dist/brandsync-wc/p-c6c15b9f.entry.js +1 -0
  93. package/dist/brandsync-wc/p-c9888d09.entry.js +1 -0
  94. package/dist/brandsync-wc/p-ca8a1e51.entry.js +1 -0
  95. package/dist/brandsync-wc/p-d263deec.entry.js +1 -0
  96. package/dist/brandsync-wc/p-d555984e.entry.js +1 -0
  97. package/dist/brandsync-wc/p-d6600c7c.entry.js +1 -0
  98. package/dist/brandsync-wc/{p-0082db6a.entry.js → p-d67840f5.entry.js} +1 -1
  99. package/dist/brandsync-wc/p-d8a299a9.entry.js +1 -0
  100. package/dist/brandsync-wc/{p-14b4f4c4.entry.js → p-dd3499ab.entry.js} +1 -1
  101. package/dist/brandsync-wc/p-debc308d.entry.js +1 -0
  102. package/dist/brandsync-wc/{p-c02ed03d.entry.js → p-e18cb639.entry.js} +1 -1
  103. package/dist/brandsync-wc/p-e18e45bc.entry.js +1 -0
  104. package/dist/brandsync-wc/{p-841a80b4.entry.js → p-e2268c96.entry.js} +1 -1
  105. package/dist/brandsync-wc/p-e4033ebc.entry.js +1 -0
  106. package/dist/brandsync-wc/{p-7c29678d.entry.js → p-e6f57fae.entry.js} +1 -1
  107. package/dist/brandsync-wc/p-e8027825.entry.js +1 -0
  108. package/dist/brandsync-wc/{p-e32a6df1.entry.js → p-eb1b1497.entry.js} +1 -1
  109. package/dist/brandsync-wc/{p-bfff7cbb.entry.js → p-eb4ad606.entry.js} +1 -1
  110. package/dist/brandsync-wc/p-ecb1a27d.entry.js +1 -0
  111. package/dist/brandsync-wc/p-f229f59a.entry.js +1 -0
  112. package/dist/brandsync-wc/{p-5cd1abc7.entry.js → p-f22d2db8.entry.js} +1 -1
  113. package/dist/brandsync-wc/{p-e2491db8.entry.js → p-f71d7582.entry.js} +1 -1
  114. package/dist/brandsync-wc/p-fa894893.entry.js +1 -0
  115. package/dist/brandsync-wc/p-fbd204b6.entry.js +1 -0
  116. package/dist/brandsync-wc/{p-757cd066.entry.js → p-fc7df528.entry.js} +1 -1
  117. package/dist/brandsync-wc/{p-15f06226.entry.js → p-fe6f71da.entry.js} +1 -1
  118. package/dist/brandsync-wc/p-ff14edb6.entry.js +1 -0
  119. package/dist/brandsync-wc/p-ff85a9d8.entry.js +1 -0
  120. package/dist/brandsync-wc/p-wz7B473u.js +3 -0
  121. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  122. package/dist/cjs/bs-accordion-group.cjs.entry.js +2 -2
  123. package/dist/cjs/bs-accordion.cjs.entry.js +61 -4
  124. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  125. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  127. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +8 -8
  128. package/dist/cjs/bs-app-shell.cjs.entry.js +2 -2
  129. package/dist/cjs/bs-app-switcher.cjs.entry.js +2 -2
  130. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  131. package/dist/cjs/bs-attachment.cjs.entry.js +3 -3
  132. package/dist/cjs/bs-avatar.cjs.entry.js +3 -10
  133. package/dist/cjs/bs-badge.cjs.entry.js +3 -3
  134. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +2 -2
  135. package/dist/cjs/bs-breadcrumb.cjs.entry.js +3 -3
  136. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +10 -2
  137. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  138. package/dist/cjs/bs-button_2.cjs.entry.js +211 -0
  139. package/dist/cjs/bs-card.cjs.entry.js +44 -3
  140. package/dist/cjs/bs-carousel.cjs.entry.js +71 -6
  141. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +3 -7
  142. package/dist/cjs/bs-chatbot-header.cjs.entry.js +3 -7
  143. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +3 -3
  144. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  145. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +3 -3
  146. package/dist/cjs/bs-checkbox-group.cjs.entry.js +80 -0
  147. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +2 -2
  148. package/dist/cjs/bs-checkbox.cjs.entry.js +3 -3
  149. package/dist/cjs/bs-chip-filter.cjs.entry.js +3 -3
  150. package/dist/cjs/bs-chip-informative.cjs.entry.js +2 -2
  151. package/dist/cjs/bs-chip-input.cjs.entry.js +3 -3
  152. package/dist/cjs/bs-citation-preview.cjs.entry.js +2 -2
  153. package/dist/cjs/bs-code-block.cjs.entry.js +75 -0
  154. package/dist/cjs/bs-command-palette.cjs.entry.js +2 -2
  155. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +5 -5
  156. package/dist/cjs/bs-company-switcher.cjs.entry.js +3 -3
  157. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
  158. package/dist/cjs/bs-composer.cjs.entry.js +6 -4
  159. package/dist/cjs/bs-container.cjs.entry.js +2 -2
  160. package/dist/cjs/bs-cookie-consent.cjs.entry.js +1 -1
  161. package/dist/cjs/bs-data-table.cjs.entry.js +8 -5
  162. package/dist/cjs/bs-datepicker.cjs.entry.js +2 -2
  163. package/dist/cjs/bs-description-item.cjs.entry.js +23 -0
  164. package/dist/cjs/bs-description-list.cjs.entry.js +40 -0
  165. package/dist/cjs/bs-dialog.cjs.entry.js +55 -4
  166. package/dist/cjs/bs-divider.cjs.entry.js +2 -2
  167. package/dist/cjs/bs-dropdown.cjs.entry.js +96 -0
  168. package/dist/cjs/bs-empty-state.cjs.entry.js +7 -3
  169. package/dist/cjs/bs-error-page.cjs.entry.js +2 -2
  170. package/dist/cjs/bs-file-upload-item.cjs.entry.js +2 -2
  171. package/dist/cjs/bs-file-upload.cjs.entry.js +2 -2
  172. package/dist/cjs/bs-global-search.cjs.entry.js +3 -3
  173. package/dist/cjs/bs-grid.cjs.entry.js +3 -3
  174. package/dist/cjs/bs-heading.cjs.entry.js +28 -0
  175. package/dist/cjs/bs-icon-button.cjs.entry.js +10 -3
  176. package/dist/cjs/bs-icon-tile.cjs.entry.js +3 -3
  177. package/dist/cjs/bs-icon.cjs.entry.js +35 -0
  178. package/dist/cjs/bs-inline-tab.cjs.entry.js +3 -3
  179. package/dist/cjs/bs-input_4.cjs.entry.js +794 -0
  180. package/dist/cjs/bs-key-caps.cjs.entry.js +2 -2
  181. package/dist/cjs/bs-key.cjs.entry.js +2 -2
  182. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +3 -3
  183. package/dist/cjs/bs-link.cjs.entry.js +52 -0
  184. package/dist/cjs/bs-list-item.cjs.entry.js +68 -0
  185. package/dist/cjs/bs-list.cjs.entry.js +9 -3
  186. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  187. package/dist/cjs/bs-mega-menu.cjs.entry.js +53 -3
  188. package/dist/cjs/bs-message-list.cjs.entry.js +2 -2
  189. package/dist/cjs/bs-message.cjs.entry.js +2 -2
  190. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +26 -5
  191. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +4 -4
  192. package/dist/cjs/bs-navigation-header.cjs.entry.js +4 -4
  193. package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +1 -1
  194. package/dist/cjs/bs-page-header.cjs.entry.js +2 -2
  195. package/dist/cjs/bs-pagination.cjs.entry.js +3 -3
  196. package/dist/cjs/bs-popover.cjs.entry.js +199 -0
  197. package/dist/cjs/bs-presence.cjs.entry.js +88 -0
  198. package/dist/cjs/bs-product-tour.cjs.entry.js +1 -1
  199. package/dist/cjs/bs-progress-linear.cjs.entry.js +4 -4
  200. package/dist/cjs/bs-progress.cjs.entry.js +3 -3
  201. package/dist/cjs/bs-qr-code.cjs.entry.js +2 -2
  202. package/dist/cjs/bs-radio-group.cjs.entry.js +90 -0
  203. package/dist/cjs/bs-radio.cjs.entry.js +9 -5
  204. package/dist/cjs/bs-search-item.cjs.entry.js +3 -3
  205. package/dist/cjs/bs-select.cjs.entry.js +234 -0
  206. package/dist/cjs/bs-session-timeout.cjs.entry.js +2 -2
  207. package/dist/cjs/bs-shortcut-row.cjs.entry.js +2 -2
  208. package/dist/cjs/bs-side-panel.cjs.entry.js +53 -4
  209. package/dist/cjs/bs-skip-link.cjs.entry.js +52 -0
  210. package/dist/cjs/bs-slider.cjs.entry.js +3 -3
  211. package/dist/cjs/bs-snackbar.cjs.entry.js +3 -3
  212. package/dist/cjs/bs-source-link.cjs.entry.js +5 -4
  213. package/dist/cjs/bs-split-pane.cjs.entry.js +2 -2
  214. package/dist/cjs/bs-stack.cjs.entry.js +2 -2
  215. package/dist/cjs/bs-stat.cjs.entry.js +53 -0
  216. package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
  217. package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
  218. package/dist/cjs/bs-switch.cjs.entry.js +5 -12
  219. package/dist/cjs/bs-tab_3.cjs.entry.js +16 -9
  220. package/dist/cjs/bs-table-of-contents.cjs.entry.js +171 -0
  221. package/dist/cjs/bs-tag.cjs.entry.js +51 -0
  222. package/dist/cjs/bs-text.cjs.entry.js +24 -0
  223. package/dist/cjs/bs-timepicker.cjs.entry.js +3 -3
  224. package/dist/cjs/bs-toast.cjs.entry.js +2 -2
  225. package/dist/cjs/bs-toggle-button-group.cjs.entry.js +108 -0
  226. package/dist/cjs/bs-toggle-button.cjs.entry.js +57 -0
  227. package/dist/cjs/bs-toolbar.cjs.entry.js +195 -0
  228. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +62 -4
  229. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  230. package/dist/cjs/bs-tree-item.cjs.entry.js +4 -4
  231. package/dist/cjs/bs-tree.cjs.entry.js +2 -2
  232. package/dist/cjs/bs-whats-new.cjs.entry.js +1 -1
  233. package/dist/cjs/icon-registry-DWYCqjKw.js +64 -0
  234. package/dist/cjs/{index-BYfMRtlW.js → index-BFxk-bY6.js} +1 -1
  235. package/dist/cjs/index.cjs.js +4 -0
  236. package/dist/cjs/loader.cjs.js +2 -2
  237. package/dist/cjs/motion-DOlI71lc.js +43 -0
  238. package/dist/collection/collection-manifest.json +21 -1
  239. package/dist/collection/components/bs-a11y.cmp.test.js +9 -0
  240. package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +21 -6
  241. package/dist/collection/components/bs-accordion/bs-accordion.css +15 -0
  242. package/dist/collection/components/bs-accordion/bs-accordion.js +71 -2
  243. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  244. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  245. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  246. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  247. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +3 -3
  248. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  249. package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +1 -1
  250. package/dist/collection/components/bs-app-tile/bs-app-tile.js +3 -3
  251. package/dist/collection/components/bs-attachment/bs-attachment.cmp.test.js +10 -0
  252. package/dist/collection/components/bs-attachment/bs-attachment.css +6 -6
  253. package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
  254. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  255. package/dist/collection/components/bs-avatar/bs-avatar.cmp.test.js +11 -1
  256. package/dist/collection/components/bs-avatar/bs-avatar.css +9 -4
  257. package/dist/collection/components/bs-avatar/bs-avatar.js +1 -8
  258. package/dist/collection/components/bs-badge/bs-badge.css +4 -1
  259. package/dist/collection/components/bs-badge/bs-badge.js +1 -1
  260. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +13 -0
  261. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.css +8 -0
  262. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
  263. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
  264. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +26 -1
  265. package/dist/collection/components/bs-button/bs-button/bs-button.cmp.test.js +43 -2
  266. package/dist/collection/components/bs-button/bs-button/bs-button.css +18 -18
  267. package/dist/collection/components/bs-button/bs-button/bs-button.js +105 -7
  268. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +43 -0
  269. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +34 -2
  270. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +69 -1
  271. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  272. package/dist/collection/components/bs-card/bs-card.cmp.test.js +78 -0
  273. package/dist/collection/components/bs-card/bs-card.css +75 -0
  274. package/dist/collection/components/bs-card/bs-card.js +200 -1
  275. package/dist/collection/components/bs-card/bs-card.stories.js +32 -0
  276. package/dist/collection/components/bs-carousel/bs-carousel.cmp.test.js +39 -1
  277. package/dist/collection/components/bs-carousel/bs-carousel.css +9 -0
  278. package/dist/collection/components/bs-carousel/bs-carousel.js +75 -4
  279. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.cmp.test.js +8 -0
  280. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +11 -8
  281. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -5
  282. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.css +2 -3
  283. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -5
  284. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +2 -0
  285. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +2 -1
  286. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  287. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.cmp.test.js +18 -0
  288. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.css +10 -2
  289. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +5 -1
  290. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  291. package/dist/collection/components/bs-checkbox/bs-checkbox.css +7 -0
  292. package/dist/collection/components/bs-checkbox/bs-checkbox.js +2 -1
  293. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.cmp.test.js +58 -0
  294. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.css +65 -0
  295. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.js +254 -0
  296. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.stories.js +34 -0
  297. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +2 -0
  298. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +2 -1
  299. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  300. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +7 -0
  301. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +2 -1
  302. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  303. package/dist/collection/components/bs-code-block/bs-code-block.cmp.test.js +78 -0
  304. package/dist/collection/components/bs-code-block/bs-code-block.css +132 -0
  305. package/dist/collection/components/bs-code-block/bs-code-block.js +317 -0
  306. package/dist/collection/components/bs-code-block/bs-code-block.stories.js +56 -0
  307. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
  308. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +1 -1
  309. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
  310. package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +29 -0
  311. package/dist/collection/components/bs-composer/bs-composer.css +2 -1
  312. package/dist/collection/components/bs-composer/bs-composer.js +4 -2
  313. package/dist/collection/components/bs-composer/bs-composer.stories.js +0 -1
  314. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  315. package/dist/collection/components/bs-container/bs-container.js +1 -1
  316. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.cmp.test.js +1 -1
  317. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +39 -0
  318. package/dist/collection/components/bs-data-table/bs-data-table.css +12 -0
  319. package/dist/collection/components/bs-data-table/bs-data-table.js +34 -3
  320. package/dist/collection/components/bs-data-table/bs-data-table.stories.js +1 -1
  321. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  322. package/dist/collection/components/bs-description-item/bs-description-item.cmp.test.js +14 -0
  323. package/dist/collection/components/bs-description-item/bs-description-item.css +47 -0
  324. package/dist/collection/components/bs-description-item/bs-description-item.js +111 -0
  325. package/dist/collection/components/bs-description-list/bs-description-list.cmp.test.js +58 -0
  326. package/dist/collection/components/bs-description-list/bs-description-list.css +15 -0
  327. package/dist/collection/components/bs-description-list/bs-description-list.js +127 -0
  328. package/dist/collection/components/bs-description-list/bs-description-list.stories.js +34 -0
  329. package/dist/collection/components/bs-dialog/bs-dialog.cmp.test.js +32 -0
  330. package/dist/collection/components/bs-dialog/bs-dialog.css +16 -0
  331. package/dist/collection/components/bs-dialog/bs-dialog.js +61 -3
  332. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  333. package/dist/collection/components/bs-dropdown/bs-dropdown.cmp.test.js +135 -0
  334. package/dist/collection/components/bs-dropdown/bs-dropdown.css +3 -0
  335. package/dist/collection/components/bs-dropdown/bs-dropdown.js +218 -0
  336. package/dist/collection/components/bs-dropdown/bs-dropdown.stories.js +42 -0
  337. package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +15 -0
  338. package/dist/collection/components/bs-empty-state/bs-empty-state.css +30 -1
  339. package/dist/collection/components/bs-empty-state/bs-empty-state.js +29 -1
  340. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +24 -1
  341. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  342. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  343. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  344. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  345. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  346. package/dist/collection/components/bs-heading/bs-heading.cmp.test.js +38 -0
  347. package/dist/collection/components/bs-heading/bs-heading.css +42 -0
  348. package/dist/collection/components/bs-heading/bs-heading.js +154 -0
  349. package/dist/collection/components/bs-heading/bs-heading.stories.js +28 -0
  350. package/dist/collection/components/bs-icon/bs-icon.cmp.test.js +78 -0
  351. package/dist/collection/components/bs-icon/bs-icon.css +47 -0
  352. package/dist/collection/components/bs-icon/bs-icon.js +155 -0
  353. package/dist/collection/components/bs-icon/bs-icon.stories.js +52 -0
  354. package/dist/collection/components/bs-icon/icon-registry.js +58 -0
  355. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  356. package/dist/collection/components/bs-input/bs-input.cmp.test.js +431 -45
  357. package/dist/collection/components/bs-input/bs-input.css +196 -12
  358. package/dist/collection/components/bs-input/bs-input.js +565 -46
  359. package/dist/collection/components/bs-input/bs-input.stories.js +32 -4
  360. package/dist/collection/components/bs-key/bs-key.js +1 -1
  361. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  362. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  363. package/dist/collection/components/bs-link/bs-link.cmp.test.js +52 -0
  364. package/dist/collection/components/bs-link/bs-link.css +129 -0
  365. package/dist/collection/components/bs-link/bs-link.js +257 -0
  366. package/dist/collection/components/bs-link/bs-link.stories.js +31 -0
  367. package/dist/collection/components/bs-list/bs-list.cmp.test.js +23 -0
  368. package/dist/collection/components/bs-list/bs-list.js +32 -2
  369. package/dist/collection/components/bs-list/bs-list.stories.js +35 -2
  370. package/dist/collection/components/bs-list-item/bs-list-item.css +10 -0
  371. package/dist/collection/components/bs-list-item/bs-list-item.js +25 -1
  372. package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +73 -0
  373. package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +5 -1
  374. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +89 -4
  375. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +5 -5
  376. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  377. package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
  378. package/dist/collection/components/bs-menu-item/bs-menu-item.css +2 -0
  379. package/dist/collection/components/bs-menu-item/bs-menu-item.js +2 -1
  380. package/dist/collection/components/bs-message/bs-message.js +1 -1
  381. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  382. package/dist/collection/components/bs-page-header/bs-page-header.js +1 -1
  383. package/dist/collection/components/bs-pagination/bs-pagination.css +2 -0
  384. package/dist/collection/components/bs-pagination/bs-pagination.js +2 -1
  385. package/dist/collection/components/bs-popover/bs-popover.cmp.test.js +20 -0
  386. package/dist/collection/components/bs-popover/bs-popover.css +3 -0
  387. package/dist/collection/components/bs-popover/bs-popover.js +59 -2
  388. package/dist/collection/components/bs-presence/bs-presence.cmp.test.js +64 -0
  389. package/dist/collection/components/bs-presence/bs-presence.css +80 -0
  390. package/dist/collection/components/bs-presence/bs-presence.js +233 -0
  391. package/dist/collection/components/bs-presence/bs-presence.stories.js +101 -0
  392. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  393. package/dist/collection/components/bs-progress-linear/bs-progress-linear.css +4 -1
  394. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  395. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  396. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +8 -0
  397. package/dist/collection/components/bs-radio/bs-radio.css +6 -0
  398. package/dist/collection/components/bs-radio/bs-radio.js +28 -3
  399. package/dist/collection/components/bs-radio-group/bs-radio-group.cmp.test.js +85 -0
  400. package/dist/collection/components/bs-radio-group/bs-radio-group.css +59 -0
  401. package/dist/collection/components/bs-radio-group/bs-radio-group.js +309 -0
  402. package/dist/collection/components/bs-radio-group/bs-radio-group.stories.js +35 -0
  403. package/dist/collection/components/bs-ripple/bs-ripple.cmp.test.js +45 -0
  404. package/dist/collection/components/bs-ripple/bs-ripple.css +32 -0
  405. package/dist/collection/components/bs-ripple/bs-ripple.js +188 -0
  406. package/dist/collection/components/bs-ripple/bs-ripple.stories.js +33 -0
  407. package/dist/collection/components/bs-search-item/bs-search-item.css +2 -0
  408. package/dist/collection/components/bs-search-item/bs-search-item.js +2 -1
  409. package/dist/collection/components/bs-select/bs-select.cmp.test.js +108 -0
  410. package/dist/collection/components/bs-select/bs-select.css +231 -0
  411. package/dist/collection/components/bs-select/bs-select.js +506 -0
  412. package/dist/collection/components/bs-select/bs-select.stories.js +58 -0
  413. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  414. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  415. package/dist/collection/components/bs-side-panel/bs-side-panel.cmp.test.js +19 -0
  416. package/dist/collection/components/bs-side-panel/bs-side-panel.css +8 -0
  417. package/dist/collection/components/bs-side-panel/bs-side-panel.js +58 -2
  418. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  419. package/dist/collection/components/bs-skip-link/bs-skip-link.cmp.test.js +60 -0
  420. package/dist/collection/components/bs-skip-link/bs-skip-link.css +58 -0
  421. package/dist/collection/components/bs-skip-link/bs-skip-link.js +123 -0
  422. package/dist/collection/components/bs-skip-link/bs-skip-link.stories.js +27 -0
  423. package/dist/collection/components/bs-slider/bs-slider.cmp.test.js +13 -0
  424. package/dist/collection/components/bs-slider/bs-slider.css +3 -2
  425. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  426. package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +22 -0
  427. package/dist/collection/components/bs-snackbar/bs-snackbar.css +23 -0
  428. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  429. package/dist/collection/components/bs-source-link/bs-source-link.css +2 -0
  430. package/dist/collection/components/bs-source-link/bs-source-link.js +4 -2
  431. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  432. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  433. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  434. package/dist/collection/components/bs-stat/bs-stat.cmp.test.js +49 -0
  435. package/dist/collection/components/bs-stat/bs-stat.css +116 -0
  436. package/dist/collection/components/bs-stat/bs-stat.js +284 -0
  437. package/dist/collection/components/bs-stat/bs-stat.stories.js +44 -0
  438. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  439. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  440. package/dist/collection/components/bs-switch/bs-switch.css +9 -0
  441. package/dist/collection/components/bs-switch/bs-switch.js +4 -10
  442. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +4 -2
  443. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +2 -1
  444. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.js +0 -4
  445. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +2 -1
  446. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +35 -0
  447. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.css +6 -2
  448. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +13 -6
  449. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.cmp.test.js +125 -0
  450. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.css +115 -0
  451. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.js +392 -0
  452. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.stories.js +58 -0
  453. package/dist/collection/components/bs-tag/bs-tag.cmp.test.js +66 -0
  454. package/dist/collection/components/bs-tag/bs-tag.css +101 -0
  455. package/dist/collection/components/bs-tag/bs-tag.js +233 -0
  456. package/dist/collection/components/bs-tag/bs-tag.stories.js +59 -0
  457. package/dist/collection/components/bs-text/bs-text.cmp.test.js +33 -0
  458. package/dist/collection/components/bs-text/bs-text.css +48 -0
  459. package/dist/collection/components/bs-text/bs-text.js +126 -0
  460. package/dist/collection/components/bs-text/bs-text.stories.js +25 -0
  461. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  462. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  463. package/dist/collection/components/bs-toggle-button/bs-toggle-button.cmp.test.js +47 -0
  464. package/dist/collection/components/bs-toggle-button/bs-toggle-button.css +125 -0
  465. package/dist/collection/components/bs-toggle-button/bs-toggle-button.js +234 -0
  466. package/dist/collection/components/bs-toggle-button/bs-toggle-button.stories.js +22 -0
  467. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.cmp.test.js +69 -0
  468. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.css +43 -0
  469. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.js +264 -0
  470. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.stories.js +42 -0
  471. package/dist/collection/components/bs-toolbar/bs-toolbar.cmp.test.js +149 -0
  472. package/dist/collection/components/bs-toolbar/bs-toolbar.css +82 -0
  473. package/dist/collection/components/bs-toolbar/bs-toolbar.js +345 -0
  474. package/dist/collection/components/bs-toolbar/bs-toolbar.stories.js +49 -0
  475. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  476. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.js +53 -2
  477. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.css +3 -0
  478. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +70 -3
  479. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  480. package/dist/collection/components/bs-tree-item/bs-tree-item.css +2 -0
  481. package/dist/collection/components/bs-tree-item/bs-tree-item.js +3 -2
  482. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  483. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +25 -0
  484. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +2 -2
  485. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  486. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.js +58 -0
  487. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +10 -2
  488. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +63 -4
  489. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +42 -9
  490. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +44 -37
  491. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +2 -2
  492. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +22 -0
  493. package/dist/collection/index.js +1 -0
  494. package/dist/collection/test/helpers/block-link-navigation.js +13 -0
  495. package/dist/collection/test/helpers/contrast.js +57 -0
  496. package/dist/collection/utils/motion.js +37 -0
  497. package/dist/components/bs-accordion-group.js +1 -1
  498. package/dist/components/bs-accordion.js +1 -1
  499. package/dist/components/bs-ai-disclaimer.js +1 -1
  500. package/dist/components/bs-ai-greeting.js +1 -1
  501. package/dist/components/bs-ai-thinking.js +1 -1
  502. package/dist/components/bs-app-recent-item.js +1 -1
  503. package/dist/components/bs-app-shell.js +1 -1
  504. package/dist/components/bs-app-switcher.js +1 -1
  505. package/dist/components/bs-app-tile.js +1 -1
  506. package/dist/components/bs-attachment-list.js +1 -1
  507. package/dist/components/bs-attachment.js +1 -1
  508. package/dist/components/bs-avatar.js +1 -1
  509. package/dist/components/bs-badge.js +1 -1
  510. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  511. package/dist/components/bs-breadcrumb.js +1 -1
  512. package/dist/components/bs-breadcrumbs.js +1 -1
  513. package/dist/components/bs-button-skeleton.js +1 -1
  514. package/dist/components/bs-button.js +1 -1
  515. package/dist/components/bs-card.js +1 -1
  516. package/dist/components/bs-carousel.js +1 -1
  517. package/dist/components/bs-chatbot-feedback.js +1 -1
  518. package/dist/components/bs-chatbot-header.js +1 -1
  519. package/dist/components/bs-chatbot-response-action.js +1 -1
  520. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  521. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  522. package/dist/components/bs-checkbox-group.d.ts +11 -0
  523. package/dist/components/bs-checkbox-group.js +1 -0
  524. package/dist/components/bs-checkbox-skeleton.js +1 -1
  525. package/dist/components/bs-checkbox.js +1 -1
  526. package/dist/components/bs-chip-filter.js +1 -1
  527. package/dist/components/bs-chip-informative.js +1 -1
  528. package/dist/components/bs-chip-input.js +1 -1
  529. package/dist/components/bs-citation-preview.js +1 -1
  530. package/dist/components/bs-code-block.d.ts +11 -0
  531. package/dist/components/bs-code-block.js +1 -0
  532. package/dist/components/bs-command-palette.js +1 -1
  533. package/dist/components/bs-compact-menu-block.js +1 -1
  534. package/dist/components/bs-company-switcher.js +1 -1
  535. package/dist/components/bs-composer-status-banner.js +1 -1
  536. package/dist/components/bs-composer.js +1 -1
  537. package/dist/components/bs-container.js +1 -1
  538. package/dist/components/bs-cookie-consent.js +1 -1
  539. package/dist/components/bs-data-table.js +1 -1
  540. package/dist/components/bs-datepicker.js +1 -1
  541. package/dist/components/bs-description-item.d.ts +11 -0
  542. package/dist/components/bs-description-item.js +1 -0
  543. package/dist/components/bs-description-list.d.ts +11 -0
  544. package/dist/components/bs-description-list.js +1 -0
  545. package/dist/components/bs-dialog.js +1 -1
  546. package/dist/components/bs-divider.js +1 -1
  547. package/dist/components/bs-dropdown.d.ts +11 -0
  548. package/dist/components/bs-dropdown.js +1 -0
  549. package/dist/components/bs-empty-state.js +1 -1
  550. package/dist/components/bs-error-page.js +1 -1
  551. package/dist/components/bs-file-upload-item.js +1 -1
  552. package/dist/components/bs-file-upload.js +1 -1
  553. package/dist/components/bs-global-search.js +1 -1
  554. package/dist/components/bs-grid.js +1 -1
  555. package/dist/components/bs-heading.d.ts +11 -0
  556. package/dist/components/bs-heading.js +1 -0
  557. package/dist/components/bs-icon-button.js +1 -1
  558. package/dist/components/bs-icon-tile.js +1 -1
  559. package/dist/components/bs-icon.d.ts +11 -0
  560. package/dist/components/bs-icon.js +1 -0
  561. package/dist/components/bs-inline-tab.js +1 -1
  562. package/dist/components/bs-input.js +1 -1
  563. package/dist/components/bs-key-caps.js +1 -1
  564. package/dist/components/bs-key.js +1 -1
  565. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  566. package/dist/components/bs-link.d.ts +11 -0
  567. package/dist/components/bs-link.js +1 -0
  568. package/dist/components/bs-list-item.js +1 -1
  569. package/dist/components/bs-list.js +1 -1
  570. package/dist/components/bs-logo.js +1 -1
  571. package/dist/components/bs-mega-menu.js +1 -1
  572. package/dist/components/bs-menu-block.js +1 -1
  573. package/dist/components/bs-menu-item.js +1 -1
  574. package/dist/components/bs-menu.js +1 -1
  575. package/dist/components/bs-message-list.js +1 -1
  576. package/dist/components/bs-message.js +1 -1
  577. package/dist/components/bs-navigation-drawer-item.js +1 -1
  578. package/dist/components/bs-navigation-drawer.js +1 -1
  579. package/dist/components/bs-navigation-header.js +1 -1
  580. package/dist/components/bs-onboarding-checklist.js +1 -1
  581. package/dist/components/bs-page-header.js +1 -1
  582. package/dist/components/bs-pagination.js +1 -1
  583. package/dist/components/bs-popover.js +1 -1
  584. package/dist/components/bs-presence.d.ts +11 -0
  585. package/dist/components/bs-presence.js +1 -0
  586. package/dist/components/bs-product-tour.js +1 -1
  587. package/dist/components/bs-progress-linear.js +1 -1
  588. package/dist/components/bs-progress.js +1 -1
  589. package/dist/components/bs-qr-code.js +1 -1
  590. package/dist/components/bs-radio-group.d.ts +11 -0
  591. package/dist/components/bs-radio-group.js +1 -0
  592. package/dist/components/bs-radio.js +1 -1
  593. package/dist/components/bs-ripple.d.ts +11 -0
  594. package/dist/components/bs-ripple.js +1 -0
  595. package/dist/components/bs-search-item.js +1 -1
  596. package/dist/components/bs-select.d.ts +11 -0
  597. package/dist/components/bs-select.js +1 -0
  598. package/dist/components/bs-session-timeout.js +1 -1
  599. package/dist/components/bs-shortcut-row.js +1 -1
  600. package/dist/components/bs-side-panel.js +1 -1
  601. package/dist/components/bs-skeleton.js +1 -1
  602. package/dist/components/bs-skip-link.d.ts +11 -0
  603. package/dist/components/bs-skip-link.js +1 -0
  604. package/dist/components/bs-slider.js +1 -1
  605. package/dist/components/bs-snackbar.js +1 -1
  606. package/dist/components/bs-source-link.js +1 -1
  607. package/dist/components/bs-spinner.js +1 -1
  608. package/dist/components/bs-split-pane.js +1 -1
  609. package/dist/components/bs-stack.js +1 -1
  610. package/dist/components/bs-stat.d.ts +11 -0
  611. package/dist/components/bs-stat.js +1 -0
  612. package/dist/components/bs-stepper-step.js +1 -1
  613. package/dist/components/bs-stepper.js +1 -1
  614. package/dist/components/bs-switch.js +1 -1
  615. package/dist/components/bs-tab.js +1 -1
  616. package/dist/components/bs-table-of-contents.d.ts +11 -0
  617. package/dist/components/bs-table-of-contents.js +1 -0
  618. package/dist/components/bs-tabs.js +1 -1
  619. package/dist/components/bs-tag.d.ts +11 -0
  620. package/dist/components/bs-tag.js +1 -0
  621. package/dist/components/bs-text.d.ts +11 -0
  622. package/dist/components/bs-text.js +1 -0
  623. package/dist/components/bs-timepicker.js +1 -1
  624. package/dist/components/bs-toast.js +1 -1
  625. package/dist/components/bs-toggle-button-group.d.ts +11 -0
  626. package/dist/components/bs-toggle-button-group.js +1 -0
  627. package/dist/components/bs-toggle-button.d.ts +11 -0
  628. package/dist/components/bs-toggle-button.js +1 -0
  629. package/dist/components/bs-toolbar.d.ts +11 -0
  630. package/dist/components/bs-toolbar.js +1 -0
  631. package/dist/components/bs-tooltip-trigger.js +1 -1
  632. package/dist/components/bs-tooltip.js +1 -1
  633. package/dist/components/bs-tree-item.js +1 -1
  634. package/dist/components/bs-tree.js +1 -1
  635. package/dist/components/bs-whats-new-entry.js +1 -1
  636. package/dist/components/bs-whats-new.js +1 -1
  637. package/dist/components/index.js +1 -1
  638. package/dist/components/{p-Co36mHEU.js → p-BB1HiIxJ.js} +1 -1
  639. package/dist/components/p-BLJL4BVY.js +1 -0
  640. package/dist/components/p-BR7C-aKy.js +1 -0
  641. package/dist/components/p-BSt9HeTa.js +1 -0
  642. package/dist/components/{p-Dl0FedE5.js → p-Ba8J2kHD.js} +1 -1
  643. package/dist/components/p-CALH_mHQ.js +1 -0
  644. package/dist/components/{p-c-g3-oVu.js → p-CL99S8-7.js} +1 -1
  645. package/dist/components/p-CXv8kx8w.js +1 -0
  646. package/dist/components/{p-B6KgEbdM.js → p-CZfbB-t_.js} +1 -1
  647. package/dist/components/p-CcAX4o5o.js +1 -0
  648. package/dist/components/{p-C1owRphU.js → p-CePOtLtZ.js} +1 -1
  649. package/dist/components/p-Cso2DKAz.js +1 -0
  650. package/dist/components/p-CxNNy2m6.js +1 -0
  651. package/dist/components/{p-C3erqJFy.js → p-Cz38kNDe.js} +1 -1
  652. package/dist/components/p-D3XmFqCQ.js +1 -0
  653. package/dist/components/{p-Cd7p-48Q.js → p-D4W5LcEW.js} +1 -1
  654. package/dist/components/p-DARbgzSz.js +1 -0
  655. package/dist/components/{p-Deq0LzGO.js → p-DBgafacj.js} +1 -1
  656. package/dist/components/p-DHZ_DStJ.js +1 -0
  657. package/dist/components/{p-DcdFuKG9.js → p-DK1uv2fu.js} +1 -1
  658. package/dist/components/{p-DzvXbBvk.js → p-DL9HtG41.js} +1 -1
  659. package/dist/components/{p-CmlzHRkn.js → p-DLNoxNuW.js} +1 -1
  660. package/dist/components/{p-D4_8H0vn.js → p-DMp5CvEJ.js} +1 -1
  661. package/dist/components/p-DO4sVZCh.js +1 -0
  662. package/dist/components/{p-qXdgl7VG.js → p-DOW-YekD.js} +1 -1
  663. package/dist/components/{p-BTPdjnXT.js → p-DVqoLSEW.js} +1 -1
  664. package/dist/components/p-DYpJMHAH.js +1 -0
  665. package/dist/components/p-DaKBSL2O.js +1 -0
  666. package/dist/components/{p-DtbeCgXo.js → p-Dlp2c-Ii.js} +1 -1
  667. package/dist/components/p-DnagAPBF.js +1 -0
  668. package/dist/components/p-Dt3b6VYT.js +1 -0
  669. package/dist/components/{p-erdtytMq.js → p-DztU3DwY.js} +1 -1
  670. package/dist/components/p-KiyJJwzr.js +1 -0
  671. package/dist/components/p-Vo0zbGRB.js +1 -0
  672. package/dist/components/p-abyVFrPp.js +1 -0
  673. package/dist/components/p-mxDA3wKn.js +1 -0
  674. package/dist/components/p-wd9-vGpQ.js +1 -0
  675. package/dist/components/p-wscU7FUD.js +1 -0
  676. package/dist/esm/brandsync-wc.js +3 -3
  677. package/dist/esm/bs-accordion-group.entry.js +2 -2
  678. package/dist/esm/bs-accordion.entry.js +61 -4
  679. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  680. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  681. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  682. package/dist/esm/bs-app-recent-item_3.entry.js +8 -8
  683. package/dist/esm/bs-app-shell.entry.js +2 -2
  684. package/dist/esm/bs-app-switcher.entry.js +2 -2
  685. package/dist/esm/bs-attachment-list.entry.js +2 -2
  686. package/dist/esm/bs-attachment.entry.js +3 -3
  687. package/dist/esm/bs-avatar.entry.js +3 -10
  688. package/dist/esm/bs-badge.entry.js +3 -3
  689. package/dist/esm/bs-breadcrumb-overflow.entry.js +2 -2
  690. package/dist/esm/bs-breadcrumb.entry.js +3 -3
  691. package/dist/esm/bs-breadcrumbs.entry.js +10 -2
  692. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  693. package/dist/esm/bs-button_2.entry.js +208 -0
  694. package/dist/esm/bs-card.entry.js +44 -3
  695. package/dist/esm/bs-carousel.entry.js +71 -6
  696. package/dist/esm/bs-chatbot-feedback.entry.js +3 -7
  697. package/dist/esm/bs-chatbot-header.entry.js +3 -7
  698. package/dist/esm/bs-chatbot-response-action.entry.js +3 -3
  699. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  700. package/dist/esm/bs-chatbot-suggestion-button.entry.js +3 -3
  701. package/dist/esm/bs-checkbox-group.entry.js +78 -0
  702. package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
  703. package/dist/esm/bs-checkbox.entry.js +3 -3
  704. package/dist/esm/bs-chip-filter.entry.js +3 -3
  705. package/dist/esm/bs-chip-informative.entry.js +2 -2
  706. package/dist/esm/bs-chip-input.entry.js +3 -3
  707. package/dist/esm/bs-citation-preview.entry.js +2 -2
  708. package/dist/esm/bs-code-block.entry.js +73 -0
  709. package/dist/esm/bs-command-palette.entry.js +2 -2
  710. package/dist/esm/bs-compact-menu-block_2.entry.js +5 -5
  711. package/dist/esm/bs-company-switcher.entry.js +3 -3
  712. package/dist/esm/bs-composer-status-banner.entry.js +2 -2
  713. package/dist/esm/bs-composer.entry.js +6 -4
  714. package/dist/esm/bs-container.entry.js +2 -2
  715. package/dist/esm/bs-cookie-consent.entry.js +1 -1
  716. package/dist/esm/bs-data-table.entry.js +8 -5
  717. package/dist/esm/bs-datepicker.entry.js +2 -2
  718. package/dist/esm/bs-description-item.entry.js +21 -0
  719. package/dist/esm/bs-description-list.entry.js +38 -0
  720. package/dist/esm/bs-dialog.entry.js +55 -4
  721. package/dist/esm/bs-divider.entry.js +2 -2
  722. package/dist/esm/bs-dropdown.entry.js +94 -0
  723. package/dist/esm/bs-empty-state.entry.js +7 -3
  724. package/dist/esm/bs-error-page.entry.js +2 -2
  725. package/dist/esm/bs-file-upload-item.entry.js +2 -2
  726. package/dist/esm/bs-file-upload.entry.js +2 -2
  727. package/dist/esm/bs-global-search.entry.js +3 -3
  728. package/dist/esm/bs-grid.entry.js +3 -3
  729. package/dist/esm/bs-heading.entry.js +26 -0
  730. package/dist/esm/bs-icon-button.entry.js +10 -3
  731. package/dist/esm/bs-icon-tile.entry.js +3 -3
  732. package/dist/esm/bs-icon.entry.js +33 -0
  733. package/dist/esm/bs-inline-tab.entry.js +3 -3
  734. package/dist/esm/bs-input_4.entry.js +789 -0
  735. package/dist/esm/bs-key-caps.entry.js +2 -2
  736. package/dist/esm/bs-key.entry.js +2 -2
  737. package/dist/esm/bs-keyboard-shortcuts.entry.js +3 -3
  738. package/dist/esm/bs-link.entry.js +50 -0
  739. package/dist/esm/bs-list-item.entry.js +66 -0
  740. package/dist/esm/bs-list.entry.js +9 -3
  741. package/dist/esm/bs-logo.entry.js +1 -1
  742. package/dist/esm/bs-mega-menu.entry.js +53 -3
  743. package/dist/esm/bs-message-list.entry.js +2 -2
  744. package/dist/esm/bs-message.entry.js +2 -2
  745. package/dist/esm/bs-navigation-drawer-item.entry.js +26 -5
  746. package/dist/esm/bs-navigation-drawer.entry.js +4 -4
  747. package/dist/esm/bs-navigation-header.entry.js +4 -4
  748. package/dist/esm/bs-onboarding-checklist.entry.js +1 -1
  749. package/dist/esm/bs-page-header.entry.js +2 -2
  750. package/dist/esm/bs-pagination.entry.js +3 -3
  751. package/dist/esm/bs-popover.entry.js +197 -0
  752. package/dist/esm/bs-presence.entry.js +86 -0
  753. package/dist/esm/bs-product-tour.entry.js +1 -1
  754. package/dist/esm/bs-progress-linear.entry.js +4 -4
  755. package/dist/esm/bs-progress.entry.js +3 -3
  756. package/dist/esm/bs-qr-code.entry.js +2 -2
  757. package/dist/esm/bs-radio-group.entry.js +88 -0
  758. package/dist/esm/bs-radio.entry.js +9 -5
  759. package/dist/esm/bs-search-item.entry.js +3 -3
  760. package/dist/esm/bs-select.entry.js +232 -0
  761. package/dist/esm/bs-session-timeout.entry.js +2 -2
  762. package/dist/esm/bs-shortcut-row.entry.js +2 -2
  763. package/dist/esm/bs-side-panel.entry.js +53 -4
  764. package/dist/esm/bs-skip-link.entry.js +50 -0
  765. package/dist/esm/bs-slider.entry.js +3 -3
  766. package/dist/esm/bs-snackbar.entry.js +3 -3
  767. package/dist/esm/bs-source-link.entry.js +5 -4
  768. package/dist/esm/bs-split-pane.entry.js +2 -2
  769. package/dist/esm/bs-stack.entry.js +2 -2
  770. package/dist/esm/bs-stat.entry.js +51 -0
  771. package/dist/esm/bs-stepper-step.entry.js +2 -2
  772. package/dist/esm/bs-stepper.entry.js +2 -2
  773. package/dist/esm/bs-switch.entry.js +5 -12
  774. package/dist/esm/bs-tab_3.entry.js +16 -9
  775. package/dist/esm/bs-table-of-contents.entry.js +169 -0
  776. package/dist/esm/bs-tag.entry.js +49 -0
  777. package/dist/esm/bs-text.entry.js +22 -0
  778. package/dist/esm/bs-timepicker.entry.js +3 -3
  779. package/dist/esm/bs-toast.entry.js +2 -2
  780. package/dist/esm/bs-toggle-button-group.entry.js +106 -0
  781. package/dist/esm/bs-toggle-button.entry.js +55 -0
  782. package/dist/esm/bs-toolbar.entry.js +193 -0
  783. package/dist/esm/bs-tooltip-trigger.entry.js +62 -4
  784. package/dist/esm/bs-tooltip.entry.js +2 -2
  785. package/dist/esm/bs-tree-item.entry.js +4 -4
  786. package/dist/esm/bs-tree.entry.js +2 -2
  787. package/dist/esm/bs-whats-new.entry.js +1 -1
  788. package/dist/esm/icon-registry-Vo0zbGRB.js +60 -0
  789. package/dist/esm/{index-D3SkQJpw.js → index-wz7B473u.js} +1 -1
  790. package/dist/esm/index.js +2 -0
  791. package/dist/esm/loader.js +3 -3
  792. package/dist/esm/motion-BSt9HeTa.js +39 -0
  793. package/dist/types/components/bs-accordion/bs-accordion.d.ts +22 -0
  794. package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.d.ts +9 -0
  795. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +25 -6
  796. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +8 -0
  797. package/dist/types/components/bs-card/bs-card.d.ts +35 -0
  798. package/dist/types/components/bs-card/bs-card.stories.d.ts +3 -0
  799. package/dist/types/components/bs-carousel/bs-carousel.d.ts +21 -1
  800. package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +1 -0
  801. package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +4 -0
  802. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +1 -0
  803. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.cmp.test.d.ts +1 -0
  804. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.d.ts +48 -0
  805. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.stories.d.ts +15 -0
  806. package/dist/types/components/bs-chip/bs-chip-filter/bs-chip-filter.d.ts +1 -0
  807. package/dist/types/components/bs-chip/bs-chip-input/bs-chip-input.d.ts +1 -0
  808. package/dist/types/components/bs-code-block/bs-code-block.cmp.test.d.ts +1 -0
  809. package/dist/types/components/bs-code-block/bs-code-block.d.ts +68 -0
  810. package/dist/types/components/bs-code-block/bs-code-block.stories.d.ts +18 -0
  811. package/dist/types/components/bs-data-table/bs-data-table.d.ts +11 -0
  812. package/dist/types/components/bs-description-item/bs-description-item.cmp.test.d.ts +1 -0
  813. package/dist/types/components/bs-description-item/bs-description-item.d.ts +34 -0
  814. package/dist/types/components/bs-description-list/bs-description-list.cmp.test.d.ts +1 -0
  815. package/dist/types/components/bs-description-list/bs-description-list.d.ts +33 -0
  816. package/dist/types/components/bs-description-list/bs-description-list.stories.d.ts +11 -0
  817. package/dist/types/components/bs-dialog/bs-dialog.d.ts +14 -0
  818. package/dist/types/components/bs-dropdown/bs-dropdown.cmp.test.d.ts +1 -0
  819. package/dist/types/components/bs-dropdown/bs-dropdown.d.ts +51 -0
  820. package/dist/types/components/bs-dropdown/bs-dropdown.stories.d.ts +12 -0
  821. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +6 -0
  822. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +3 -0
  823. package/dist/types/components/bs-heading/bs-heading.cmp.test.d.ts +1 -0
  824. package/dist/types/components/bs-heading/bs-heading.d.ts +34 -0
  825. package/dist/types/components/bs-heading/bs-heading.stories.d.ts +15 -0
  826. package/dist/types/components/bs-icon/bs-icon.cmp.test.d.ts +1 -0
  827. package/dist/types/components/bs-icon/bs-icon.d.ts +39 -0
  828. package/dist/types/components/bs-icon/bs-icon.stories.d.ts +16 -0
  829. package/dist/types/components/bs-icon/icon-registry.d.ts +16 -0
  830. package/dist/types/components/bs-input/bs-input.d.ts +83 -12
  831. package/dist/types/components/bs-input/bs-input.stories.d.ts +3 -1
  832. package/dist/types/components/bs-link/bs-link.cmp.test.d.ts +1 -0
  833. package/dist/types/components/bs-link/bs-link.d.ts +48 -0
  834. package/dist/types/components/bs-link/bs-link.stories.d.ts +19 -0
  835. package/dist/types/components/bs-list/bs-list.d.ts +6 -0
  836. package/dist/types/components/bs-list/bs-list.stories.d.ts +4 -0
  837. package/dist/types/components/bs-list-item/bs-list-item.d.ts +4 -0
  838. package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +26 -2
  839. package/dist/types/components/bs-menu-item/bs-menu-item.d.ts +1 -0
  840. package/dist/types/components/bs-pagination/bs-pagination.d.ts +1 -0
  841. package/dist/types/components/bs-popover/bs-popover.d.ts +15 -0
  842. package/dist/types/components/bs-presence/bs-presence.cmp.test.d.ts +1 -0
  843. package/dist/types/components/bs-presence/bs-presence.d.ts +50 -0
  844. package/dist/types/components/bs-presence/bs-presence.stories.d.ts +15 -0
  845. package/dist/types/components/bs-radio/bs-radio.d.ts +5 -0
  846. package/dist/types/components/bs-radio-group/bs-radio-group.cmp.test.d.ts +1 -0
  847. package/dist/types/components/bs-radio-group/bs-radio-group.d.ts +57 -0
  848. package/dist/types/components/bs-radio-group/bs-radio-group.stories.d.ts +16 -0
  849. package/dist/types/components/bs-ripple/bs-ripple.cmp.test.d.ts +1 -0
  850. package/dist/types/components/bs-ripple/bs-ripple.d.ts +52 -0
  851. package/dist/types/components/bs-ripple/bs-ripple.stories.d.ts +11 -0
  852. package/dist/types/components/bs-search-item/bs-search-item.d.ts +1 -0
  853. package/dist/types/components/bs-select/bs-select.cmp.test.d.ts +1 -0
  854. package/dist/types/components/bs-select/bs-select.d.ts +85 -0
  855. package/dist/types/components/bs-select/bs-select.stories.d.ts +19 -0
  856. package/dist/types/components/bs-side-panel/bs-side-panel.d.ts +13 -0
  857. package/dist/types/components/bs-skip-link/bs-skip-link.cmp.test.d.ts +1 -0
  858. package/dist/types/components/bs-skip-link/bs-skip-link.d.ts +40 -0
  859. package/dist/types/components/bs-skip-link/bs-skip-link.stories.d.ts +10 -0
  860. package/dist/types/components/bs-source-link/bs-source-link.d.ts +1 -0
  861. package/dist/types/components/bs-stat/bs-stat.cmp.test.d.ts +1 -0
  862. package/dist/types/components/bs-stat/bs-stat.d.ts +56 -0
  863. package/dist/types/components/bs-stat/bs-stat.stories.d.ts +16 -0
  864. package/dist/types/components/bs-switch/bs-switch.d.ts +1 -0
  865. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +1 -0
  866. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.d.ts +0 -1
  867. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +1 -0
  868. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +5 -3
  869. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.cmp.test.d.ts +1 -0
  870. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.d.ts +96 -0
  871. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.stories.d.ts +13 -0
  872. package/dist/types/components/bs-tag/bs-tag.cmp.test.d.ts +1 -0
  873. package/dist/types/components/bs-tag/bs-tag.d.ts +49 -0
  874. package/dist/types/components/bs-tag/bs-tag.stories.d.ts +16 -0
  875. package/dist/types/components/bs-text/bs-text.cmp.test.d.ts +1 -0
  876. package/dist/types/components/bs-text/bs-text.d.ts +31 -0
  877. package/dist/types/components/bs-text/bs-text.stories.d.ts +14 -0
  878. package/dist/types/components/bs-toggle-button/bs-toggle-button.cmp.test.d.ts +1 -0
  879. package/dist/types/components/bs-toggle-button/bs-toggle-button.d.ts +48 -0
  880. package/dist/types/components/bs-toggle-button/bs-toggle-button.stories.d.ts +13 -0
  881. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.cmp.test.d.ts +1 -0
  882. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.d.ts +42 -0
  883. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.stories.d.ts +13 -0
  884. package/dist/types/components/bs-toolbar/bs-toolbar.cmp.test.d.ts +1 -0
  885. package/dist/types/components/bs-toolbar/bs-toolbar.d.ts +88 -0
  886. package/dist/types/components/bs-toolbar/bs-toolbar.stories.d.ts +13 -0
  887. package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.d.ts +18 -0
  888. package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +1 -0
  889. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.d.ts +11 -1
  890. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +3 -0
  891. package/dist/types/components.d.ts +3512 -94
  892. package/dist/types/index.d.ts +1 -0
  893. package/dist/types/test/helpers/block-link-navigation.d.ts +8 -0
  894. package/dist/types/test/helpers/contrast.d.ts +5 -0
  895. package/dist/types/utils/motion.d.ts +21 -0
  896. package/package.json +1 -1
  897. package/reference.d.ts +90 -30
  898. package/reference.json +898 -24
  899. package/dist/brandsync-wc/p-046a53de.entry.js +0 -1
  900. package/dist/brandsync-wc/p-07e0b444.entry.js +0 -1
  901. package/dist/brandsync-wc/p-186e3b78.entry.js +0 -1
  902. package/dist/brandsync-wc/p-1d8c2ec1.entry.js +0 -1
  903. package/dist/brandsync-wc/p-23b56775.entry.js +0 -1
  904. package/dist/brandsync-wc/p-246036cd.entry.js +0 -1
  905. package/dist/brandsync-wc/p-344695a8.entry.js +0 -1
  906. package/dist/brandsync-wc/p-34851d6d.entry.js +0 -1
  907. package/dist/brandsync-wc/p-348fef11.entry.js +0 -1
  908. package/dist/brandsync-wc/p-47929dca.entry.js +0 -1
  909. package/dist/brandsync-wc/p-47ce984f.entry.js +0 -1
  910. package/dist/brandsync-wc/p-52d61070.entry.js +0 -1
  911. package/dist/brandsync-wc/p-5e36d46f.entry.js +0 -1
  912. package/dist/brandsync-wc/p-64f8eb7e.entry.js +0 -1
  913. package/dist/brandsync-wc/p-6b019a88.entry.js +0 -1
  914. package/dist/brandsync-wc/p-78114ea3.entry.js +0 -1
  915. package/dist/brandsync-wc/p-8962abe0.entry.js +0 -1
  916. package/dist/brandsync-wc/p-8c9938a5.entry.js +0 -1
  917. package/dist/brandsync-wc/p-8e46a262.entry.js +0 -1
  918. package/dist/brandsync-wc/p-95c7f350.entry.js +0 -1
  919. package/dist/brandsync-wc/p-9787bc0f.entry.js +0 -1
  920. package/dist/brandsync-wc/p-998b95d3.entry.js +0 -1
  921. package/dist/brandsync-wc/p-D3SkQJpw.js +0 -3
  922. package/dist/brandsync-wc/p-a9d0a730.entry.js +0 -1
  923. package/dist/brandsync-wc/p-b1edc9b7.entry.js +0 -1
  924. package/dist/brandsync-wc/p-b759ae72.entry.js +0 -1
  925. package/dist/brandsync-wc/p-b7bbc52f.entry.js +0 -1
  926. package/dist/brandsync-wc/p-d985e569.entry.js +0 -1
  927. package/dist/brandsync-wc/p-e4e9c961.entry.js +0 -1
  928. package/dist/brandsync-wc/p-e99c0937.entry.js +0 -1
  929. package/dist/brandsync-wc/p-e9adfa44.entry.js +0 -1
  930. package/dist/brandsync-wc/p-eb3bacb9.entry.js +0 -1
  931. package/dist/brandsync-wc/p-ee00d3a5.entry.js +0 -1
  932. package/dist/brandsync-wc/p-f4628861.entry.js +0 -1
  933. package/dist/brandsync-wc/p-f47b8673.entry.js +0 -1
  934. package/dist/brandsync-wc/p-fa91106e.entry.js +0 -1
  935. package/dist/brandsync-wc/p-fb84002e.entry.js +0 -1
  936. package/dist/brandsync-wc/p-fbc219c6.entry.js +0 -1
  937. package/dist/cjs/bs-button.cjs.entry.js +0 -107
  938. package/dist/cjs/bs-input_3.cjs.entry.js +0 -461
  939. package/dist/cjs/bs-list-item_2.cjs.entry.js +0 -215
  940. package/dist/cjs/bs-spinner.cjs.entry.js +0 -24
  941. package/dist/components/p-B2gx7SZk.js +0 -1
  942. package/dist/components/p-B8kw9EOx.js +0 -1
  943. package/dist/components/p-BLPNwyiT.js +0 -1
  944. package/dist/components/p-BP1l6Q3Z.js +0 -1
  945. package/dist/components/p-BS7ySxJZ.js +0 -1
  946. package/dist/components/p-BmdSbmFg.js +0 -1
  947. package/dist/components/p-C2rRVRIu.js +0 -1
  948. package/dist/components/p-D9dDFyPB.js +0 -1
  949. package/dist/components/p-DBvhi__l.js +0 -1
  950. package/dist/components/p-DFd4pP4i.js +0 -1
  951. package/dist/components/p-DVjuZdjF.js +0 -1
  952. package/dist/components/p-DW0Dw2LS.js +0 -1
  953. package/dist/components/p-DgY5pxXd.js +0 -1
  954. package/dist/components/p-DhhXayh6.js +0 -1
  955. package/dist/components/p-DiORQQg3.js +0 -1
  956. package/dist/components/p-DsBToIYE.js +0 -1
  957. package/dist/components/p-I1_Q3HQu.js +0 -1
  958. package/dist/components/p-TXAiCnSZ.js +0 -1
  959. package/dist/esm/bs-button.entry.js +0 -105
  960. package/dist/esm/bs-input_3.entry.js +0 -457
  961. package/dist/esm/bs-list-item_2.entry.js +0 -212
  962. package/dist/esm/bs-spinner.entry.js +0 -22
@@ -71,7 +71,7 @@ export class BsAvatar {
71
71
  if (this.type === 'image') {
72
72
  return (h("span", { part: "container", class: classes }, h("img", { part: "image", class: "bs-avatar__image", src: this.src ?? undefined, alt: this.alt ?? '' })));
73
73
  }
74
- return (h("span", { part: "container", class: classes, role: "img", "aria-label": this.ariaLabel ?? undefined }, this.type === 'initials' ? (h("span", { part: "initials", class: "bs-avatar__initials" }, this.initials)) : (h(UserIcon, null))));
74
+ return (h("span", { part: "container", class: classes, role: "img", "aria-label": this.ariaLabel ?? undefined }, this.type === 'initials' ? (h("span", { part: "initials", class: "bs-avatar__initials" }, this.initials)) : (h("bs-icon", { part: "icon", class: "bs-avatar__icon", name: "user", tone: "inherit" }))));
75
75
  }
76
76
  static get is() { return "bs-avatar"; }
77
77
  static get encapsulation() { return "shadow"; }
@@ -242,10 +242,3 @@ export class BsAvatar {
242
242
  };
243
243
  }
244
244
  }
245
- // A generic, standard "user" silhouette (head + shoulders bust) -- not a pixel port of Figma's own
246
- // exported icon asset (a plain raster/vector glyph this common isn't a proprietary brand asset
247
- // worth treating as a fixed image import, unlike e.g. bs-logo's actual wordmark), same
248
- // inline-icon-helper-function pattern as bs-chatbot-header.tsx's NewChatIcon/ExpandIcon/etc. Single
249
- // shared viewBox scales cleanly to every avatar size via plain CSS width/height, so one glyph
250
- // covers all six sizes.
251
- const UserIcon = () => (h("svg", { part: "icon", class: "bs-avatar__icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("circle", { cx: "12", cy: "8", r: "4", fill: "currentColor" }), h("path", { d: "M4 20.5C4 16.634 7.582 13.5 12 13.5C16.418 13.5 20 16.634 20 20.5", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
@@ -50,6 +50,9 @@
50
50
  }
51
51
 
52
52
  .bs-badge--inverse {
53
- background: var(--bs-badge-bg-inverse);
53
+ /* --bs-surface-inverse flips with the theme (dark surface in light mode, light in dark) and so
54
+ pairs with --bs-text-inverse; the vendored --bs-badge-bg-inverse alias points at
55
+ --bs-surface-inset, which is the page background in dark mode (dark text on dark surface). */
56
+ background: var(--bs-surface-inverse);
54
57
  color: var(--bs-badge-text-inverse);
55
58
  }
@@ -17,7 +17,7 @@ export class BsBadge {
17
17
  /** Maps directly to the brandsync-tokens `--bs-badge-bg-*` / `--bs-badge-text-*` sets. */
18
18
  variant = 'default';
19
19
  render() {
20
- return (h("span", { key: '12d18ea63d62468cede43efaddbf1d4a707c31be', part: "container", class: `bs-badge bs-badge--${this.variant}` }, h("slot", { key: '7418716533cf907da4b9cd05a01aaea69e257425' })));
20
+ return (h("span", { key: 'e81df8a115da1e47eec003565f06f7d8f2bce24a', part: "container", class: `bs-badge bs-badge--${this.variant}` }, h("slot", { key: '112b68af29d688640aace037db5f9d786956d264' })));
21
21
  }
22
22
  static get is() { return "bs-badge"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -122,4 +122,17 @@ describe('bs-breadcrumb', () => {
122
122
  expect(root.shadowRoot.querySelector('a')).toBeNull();
123
123
  });
124
124
  });
125
+ it('a crumb without href is a plain, non-interactive span with its own class', async () => {
126
+ const { root } = await render(h("bs-breadcrumb", null, "Section"));
127
+ const link = root.shadowRoot.querySelector('[part="link"]');
128
+ expect(link.tagName).toBe('SPAN');
129
+ expect(link).toHaveClass('bs-breadcrumb__link--plain');
130
+ expect(getComputedStyle(link).cursor).toBe('default');
131
+ });
132
+ it('a crumb with href stays an <a> without the plain class', async () => {
133
+ const { root } = await render(h("bs-breadcrumb", { href: "/a" }, "Section"));
134
+ const link = root.shadowRoot.querySelector('[part="link"]');
135
+ expect(link.tagName).toBe('A');
136
+ expect(link).not.toHaveClass('bs-breadcrumb__link--plain');
137
+ });
125
138
  });
@@ -3,6 +3,7 @@
3
3
  * @prop --bs-breadcrumb-separator-color: Separator icon color. Aliased to --bs-icon-default.
4
4
  * @prop --bs-breadcrumb-color-default: Text color, non-current crumb. Aliased to --bs-text-muted.
5
5
  * @prop --bs-breadcrumb-color-hover: Text color, non-current link crumb on hover/focus. Aliased to --bs-text-default.
6
+ * @prop --bs-breadcrumb-color-plain: Text color, a non-current crumb with no `href` (not a link). Aliased to --bs-text-secondary.
6
7
  * @prop --bs-breadcrumb-color-current: Text color, the current-page crumb. Aliased to --bs-text-default.
7
8
  * @prop --bs-breadcrumb-font-size: Aliased to --bs-font-size-md.
8
9
  * @prop --bs-breadcrumb-line-height: Aliased to --bs-line-height-body-md.
@@ -23,6 +24,7 @@
23
24
 
24
25
  --bs-breadcrumb-color-default: var(--bs-text-muted);
25
26
  --bs-breadcrumb-color-hover: var(--bs-text-default);
27
+ --bs-breadcrumb-color-plain: var(--bs-text-secondary);
26
28
  --bs-breadcrumb-color-current: var(--bs-text-default);
27
29
 
28
30
  --bs-breadcrumb-font-size: var(--bs-font-size-md);
@@ -78,6 +80,12 @@
78
80
  transition: color var(--bs-duration-fast) var(--bs-easing-standard);
79
81
  }
80
82
 
83
+ /* A crumb without an href is not interactive: no link affordance (default cursor, its own colour). */
84
+ .bs-breadcrumb__link--plain {
85
+ color: var(--bs-breadcrumb-color-plain);
86
+ cursor: default;
87
+ }
88
+
81
89
  a.bs-breadcrumb__link:hover {
82
90
  color: var(--bs-breadcrumb-color-hover);
83
91
  }
@@ -59,7 +59,7 @@ export class BsBreadcrumb {
59
59
  ev.preventDefault();
60
60
  };
61
61
  render() {
62
- return (h(Host, { key: '4bab1e3218264a8c97ccb1b9df4d0bf66fe8a4c7', role: "listitem" }, h("span", { key: '1012f764261168bb246e4fef76b1988b70cd290c', part: "separator", class: "bs-breadcrumb__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: 'b37d81c4bfd0313fb313b862e194ca30950ee839' })), this.current ? (h("span", { part: "current", class: "bs-breadcrumb__current", "aria-current": "page" }, h("slot", null))) : this.href ? (h("a", { part: "link", class: "bs-breadcrumb__link", href: this.href, onClick: this.onLinkClick }, h("slot", null))) : (h("span", { part: "link", class: "bs-breadcrumb__link" }, h("slot", null)))));
62
+ return (h(Host, { key: 'b6d483d8dd99cda45b49bfc488aeec3514e3b234', role: "listitem" }, h("span", { key: '2dd5b9265590a43403f22830d34c1c7c4815927e', part: "separator", class: "bs-breadcrumb__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: '7178d1170e8fbdde1281514ac6916bf1e7561e7b' })), this.current ? (h("span", { part: "current", class: "bs-breadcrumb__current", "aria-current": "page" }, h("slot", null))) : this.href ? (h("a", { part: "link", class: "bs-breadcrumb__link", href: this.href, onClick: this.onLinkClick }, h("slot", null))) : (h("span", { part: "link", class: "bs-breadcrumb__link bs-breadcrumb__link--plain" }, h("slot", null)))));
63
63
  }
64
64
  static get is() { return "bs-breadcrumb"; }
65
65
  static get encapsulation() { return "shadow"; }
@@ -88,7 +88,7 @@ export class BsBreadcrumbOverflow {
88
88
  }
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: 'e4c2c1cf0601cff0d084fef4f295ad09ef6c3643', role: "listitem" }, h("span", { key: 'a085ee9e9d41e5836cb60ccada98a357ba2ba264', part: "separator", class: "bs-breadcrumb-overflow__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: '59685abc8d64a821f812f365c4ebd64ba1450ef6' })), h("span", { key: '357986825b4f2fcb6af583c031ce8190606df118', class: "bs-breadcrumb-overflow__wrapper" }, h("button", { key: '2f10d676681ee442dc66703b8a838b40c8b71a91', type: "button", part: "ellipsis", class: "bs-breadcrumb-overflow__ellipsis", "aria-haspopup": "menu", "aria-expanded": String(this.open), "aria-label": this.overflowLabel, onClick: this.onEllipsisToggle }, h(DotsThreeIcon, { key: '1a74b819b245fb62fb2599acc3ff458eac024e52' })), this.open && this.items.length > 0 && (h("bs-menu", { key: 'c8e57092e8396da8a7d8157eae69022154050075', part: "menu", class: "bs-breadcrumb-overflow__menu" }, this.items.map(item => item.href ? (h("a", { part: "link", class: "bs-breadcrumb-overflow__link", href: item.href, onClick: this.onItemClick(item.href) }, item.label)) : (h("span", { part: "link", class: "bs-breadcrumb-overflow__link" }, item.label))))))));
91
+ return (h(Host, { key: '8b47ed9e6346d813bf2db5a510151027d6f2a523', role: "listitem" }, h("span", { key: '7eb3b681a555c1bf07b16c34c8e7364384ecb3d2', part: "separator", class: "bs-breadcrumb-overflow__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: '4bd4ced37d1a24b37f507b53b7b6c0fe8f577de7' })), h("span", { key: '03f6ff9300d53bcbddf6d8fb57ed08a85fe9e67b', class: "bs-breadcrumb-overflow__wrapper" }, h("button", { key: '9b0fb0cfc28ccffbfe54dffc8a5612d1c83b27f5', type: "button", part: "ellipsis", class: "bs-breadcrumb-overflow__ellipsis", "aria-haspopup": "menu", "aria-expanded": String(this.open), "aria-label": this.overflowLabel, onClick: this.onEllipsisToggle }, h(DotsThreeIcon, { key: '932b86a682c495b1acc47cd703294c5b2dbf3c03' })), this.open && this.items.length > 0 && (h("bs-menu", { key: '809bbfe99843c3e531ee2e620a5adca4c66360d9', part: "menu", class: "bs-breadcrumb-overflow__menu" }, this.items.map(item => item.href ? (h("a", { part: "link", class: "bs-breadcrumb-overflow__link", href: item.href, onClick: this.onItemClick(item.href) }, item.label)) : (h("span", { part: "link", class: "bs-breadcrumb-overflow__link" }, item.label))))))));
92
92
  }
93
93
  static get is() { return "bs-breadcrumb-overflow"; }
94
94
  static get encapsulation() { return "shadow"; }
@@ -39,6 +39,13 @@ export class BsBreadcrumbs {
39
39
  * `bs-tab`/`bs-inline-tab` children. Re-propagated on `size` changes and whenever the slotted
40
40
  * children change (e.g. a crumb added later). */
41
41
  size = 'md';
42
+ /** Fires when a crumb's link (or one in a `bs-breadcrumb-overflow` popup) is clicked, before the
43
+ * browser navigates. **Cancelable**: call `event.preventDefault()` to route it yourself. Detail
44
+ * is `{ href }`. This is the child's own event bubbling up; it is declared here (and never
45
+ * emitted from here) so the framework wrappers expose `onBsNavigate` / `(bsNavigate)` /
46
+ * `@bs-navigate` on `<bs-breadcrumbs>`. `event.target` is the crumb that was clicked. */
47
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
48
+ bsNavigate;
42
49
  onSizeChange(size) {
43
50
  this.propagateSize(size);
44
51
  }
@@ -54,7 +61,7 @@ export class BsBreadcrumbs {
54
61
  });
55
62
  }
56
63
  render() {
57
- return (h("nav", { key: '8e8c96763ed36fcbf87fcd8fa348c294cad89096', "aria-label": this.label }, h("ol", { key: 'aae3d390d6ddc68fba3e2ef96bfb57160715fc95', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: '2edfd750dcb70d9fd9bec01ac42ad52c79dc3a34', onSlotchange: this.onSlotChange }))));
64
+ return (h("nav", { key: '439813704a14d5697c3b74805f8e11473183fc67', "aria-label": this.label }, h("ol", { key: '1ef451cfb2e92781c5ef12255ce960ccd1190c78', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: '624b30239abeaacd56584fc0342fe31c3f823eb8', onSlotchange: this.onSlotChange }))));
58
65
  }
59
66
  static get is() { return "bs-breadcrumbs"; }
60
67
  static get encapsulation() { return "shadow"; }
@@ -119,6 +126,24 @@ export class BsBreadcrumbs {
119
126
  }
120
127
  };
121
128
  }
129
+ static get events() {
130
+ return [{
131
+ "method": "bsNavigate",
132
+ "name": "bsNavigate",
133
+ "bubbles": true,
134
+ "cancelable": true,
135
+ "composed": true,
136
+ "docs": {
137
+ "tags": [],
138
+ "text": "Fires when a crumb's link (or one in a `bs-breadcrumb-overflow` popup) is clicked, before the\nbrowser navigates. **Cancelable**: call `event.preventDefault()` to route it yourself. Detail\nis `{ href }`. This is the child's own event bubbling up; it is declared here (and never\nemitted from here) so the framework wrappers expose `onBsNavigate` / `(bsNavigate)` /\n`@bs-navigate` on `<bs-breadcrumbs>`. `event.target` is the crumb that was clicked."
139
+ },
140
+ "complexType": {
141
+ "original": "{ href: string }",
142
+ "resolved": "{ href: string; }",
143
+ "references": {}
144
+ }
145
+ }];
146
+ }
122
147
  static get elementRef() { return "el"; }
123
148
  static get watchers() {
124
149
  return [{
@@ -117,12 +117,27 @@ describe('bs-button', () => {
117
117
  expect(button.getBoundingClientRect().width).toBe(320);
118
118
  expect(button.shadowRoot.querySelector('button').getBoundingClientRect().width).toBe(320);
119
119
  });
120
- it('has 24px side padding at size sm, and takes --bs-button-padding-x-sm', async () => {
120
+ it('has 12px side padding and the spec height at every size, and takes --bs-button-padding-x-sm', async () => {
121
+ const exp = { sm: 32, md: 44, lg: 48 };
122
+ for (const size of ['sm', 'md', 'lg']) {
123
+ const { root } = await render(h("bs-button", { size: size }, "Change"));
124
+ const btn = root.shadowRoot.querySelector('button');
125
+ const cs = getComputedStyle(btn);
126
+ expect(cs.paddingLeft).toBe('12px');
127
+ expect(cs.paddingRight).toBe('12px');
128
+ expect(btn.getBoundingClientRect().height).toBe(exp[size]);
129
+ }
121
130
  const a = await render(h("bs-button", { size: "sm" }, "Change"));
122
131
  const wide = a.root.getBoundingClientRect().width;
123
- const b = await render(h("bs-button", { size: "sm", style: { '--bs-button-padding-x-sm': '16px' } }, "Change"));
132
+ const b = await render(h("bs-button", { size: "sm", style: { '--bs-button-padding-x-sm': '4px' } }, "Change"));
124
133
  expect(wide - b.root.getBoundingClientRect().width).toBe(16);
125
134
  });
135
+ it('keeps 12px on both sides with a leading or trailing icon', async () => {
136
+ const { root } = await render(h("bs-button", null, h("svg", { slot: "icon", viewBox: "0 0 16 16" }), "Go"));
137
+ const cs = getComputedStyle(root.shadowRoot.querySelector('button'));
138
+ expect(cs.paddingLeft).toBe('12px');
139
+ expect(cs.paddingRight).toBe('12px');
140
+ });
126
141
  it('colours the subtle variant through --bs-button-subtle-color', async () => {
127
142
  const a = await render(h("bs-button", { variant: "subtle" }, "Cancel"));
128
143
  const before = getComputedStyle(a.root.shadowRoot.querySelector('button')).color;
@@ -133,3 +148,29 @@ describe('bs-button', () => {
133
148
  });
134
149
  });
135
150
  });
151
+ describe('bs-button ripple', () => {
152
+ it('contains a bs-ripple, centered only when icon-only', async () => {
153
+ const { root } = await render(h("bs-button", null, "Save"));
154
+ const ripple = root.shadowRoot.querySelector('bs-ripple');
155
+ expect(ripple).not.toBeNull();
156
+ expect(ripple.centered).toBe(false);
157
+ });
158
+ it('passes disabled through to the ripple', async () => {
159
+ const { root } = await render(h("bs-button", { disabled: true }, "Save"));
160
+ expect(root.shadowRoot.querySelector('bs-ripple').disabled).toBe(true);
161
+ });
162
+ it('forwards aria-expanded, aria-controls and aria-haspopup and pressed to the inner button', async () => {
163
+ const { root } = await render(h("bs-button", { ariaLabel: "Menu", pressed: true, ariaExpanded: "false", ariaControls: "drawer", ariaHasPopup: "menu" }, "x"));
164
+ const button = root.shadowRoot.querySelector('button');
165
+ expect(button).toEqualAttribute('aria-pressed', 'true');
166
+ expect(button).toEqualAttribute('aria-expanded', 'false');
167
+ expect(button).toEqualAttribute('aria-controls', 'drawer');
168
+ expect(button).toEqualAttribute('aria-haspopup', 'menu');
169
+ });
170
+ it('omits the forwarded aria attributes when unset', async () => {
171
+ const { root } = await render(h("bs-button", { ariaLabel: "Menu" }, "x"));
172
+ const button = root.shadowRoot.querySelector('button');
173
+ for (const attr of ['aria-pressed', 'aria-expanded', 'aria-controls', 'aria-haspopup'])
174
+ expect(button.hasAttribute(attr)).toBe(false);
175
+ });
176
+ });
@@ -3,13 +3,15 @@
3
3
  width: var(--bs-button-width);
4
4
  --bs-button-width: auto;
5
5
  --bs-button-subtle-color: var(--bs-color-neutral-default);
6
- --bs-button-height-sm: var(--bs-spacing-500);
7
- --bs-button-height-md: var(--bs-spacing-600);
8
- --bs-button-height-lg: var(--bs-spacing-700);
6
+ --bs-button-height-sm: var(--bs-spacing-400);
7
+ --bs-button-height-md: var(--bs-spacing-550);
8
+ --bs-button-height-lg: var(--bs-spacing-600);
9
9
  --bs-button-radius: var(--bs-border-radius-100);
10
- --bs-button-padding-x-sm: var(--bs-spacing-300);
10
+ --bs-button-padding-x-sm: var(--bs-spacing-150);
11
+ --bs-button-padding-x-md: var(--bs-spacing-150);
12
+ --bs-button-padding-x-lg: var(--bs-spacing-150);
11
13
  --bs-button-padding-x-icon-side: var(--bs-spacing-150);
12
- --bs-button-padding-x-label-side: var(--bs-spacing-250);
14
+ --bs-button-padding-x-label-side: var(--bs-spacing-150);
13
15
 
14
16
  --bs-button-error-default: var(--bs-color-error-default);
15
17
  --bs-button-error-hover: var(--bs-color-error-hover);
@@ -57,6 +59,7 @@
57
59
  neither matched the enabled color Figma actually specifies). Text color matches
58
60
  --bs-text-action-hover (brand-700) on BOTH hover and pressed per the spec -- pressed does NOT
59
61
  get its own darker text color, only the border does. */
62
+ --bs-button-outlined-color: var(--bs-color-primary-default);
60
63
  --bs-button-outlined-border: var(--bs-color-primary-default);
61
64
  --bs-button-outlined-border-hover: var(--bs-color-primary-hover);
62
65
  --bs-button-outlined-border-pressed: var(--bs-color-primary-pressed);
@@ -79,6 +82,8 @@
79
82
  Every variant's label actually uses the regular weight. */
80
83
  font-weight: var(--bs-font-weight-regular);
81
84
  cursor: pointer;
85
+ /* Containing block for the absolutely-positioned bs-ripple layer. */
86
+ position: relative;
82
87
  transition: background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease);
83
88
  }
84
89
 
@@ -99,17 +104,15 @@
99
104
 
100
105
  .bs-button--md {
101
106
  height: var(--bs-button-height-md);
102
- /* Verified against Figma node 2842:50344 (71px-wide frame, 39px-wide "Label" text): horizontal
103
- padding is spacing/200 (16px) each side, not spacing-400 (32px) -- the previous value was
104
- roughly double what the redline specifies. sm/lg padding-x weren't independently re-verified
105
- against their own redlines in this pass. */
106
- padding: 0 var(--bs-spacing-200);
107
+ /* Design review (#43): 12px (spacing-150) left/right on every size; overrides the earlier
108
+ Figma-redline value of 16px. */
109
+ padding: 0 var(--bs-button-padding-x-md);
107
110
  font-size: var(--bs-font-size-md);
108
111
  }
109
112
 
110
113
  .bs-button--lg {
111
114
  height: var(--bs-button-height-lg);
112
- padding: 0 var(--bs-spacing-500);
115
+ padding: 0 var(--bs-button-padding-x-lg);
113
116
  font-size: var(--bs-font-size-lg);
114
117
  }
115
118
 
@@ -245,7 +248,7 @@
245
248
 
246
249
  .bs-button--outlined {
247
250
  background: transparent;
248
- color: var(--bs-color-primary-default);
251
+ color: var(--bs-button-outlined-color);
249
252
  border: 1px solid var(--bs-button-outlined-border);
250
253
  }
251
254
  .bs-button--outlined:hover:not(:disabled) {
@@ -294,12 +297,9 @@
294
297
  margin-inline-start: 0;
295
298
  }
296
299
 
297
- /* Verified against a Figma redline for the icon+label layout: the edge next to an icon is
298
- tighter (spacing/150, 12px) than the plain text-only edge (16px), and the opposite edge -- next
299
- to just the label, with an icon on the other side pulling the button off-balance -- compensates
300
- with more padding (spacing/250, 20px), keeping the total horizontal padding budget the same as
301
- the icon-less button (12+20 = 16+16 = 32px for size="md"). This is deliberately NOT
302
- size-dependent, same as the icon/label gap above -- neither varies by size in the source spec. */
300
+ /* Icon-side / label-side padding. Both default to 12px now (#43: 12px left and right on all sizes),
301
+ so the former 12/20 optical compensation is gone. The rules and variables are kept (not deleted)
302
+ because several dependants (whats-new, onboarding-checklist) override them for compact layouts. */
303
303
  .bs-button--has-icon:not(.bs-button--has-end-icon) {
304
304
  padding-inline-start: var(--bs-button-padding-x-icon-side);
305
305
  padding-inline-end: var(--bs-button-padding-x-label-side);
@@ -18,23 +18,29 @@ import { h } from "@stencil/core";
18
18
  * it for actions that actually delete/revoke/undo something.
19
19
  *
20
20
  * @slot - Default slot: the button's label content.
21
+ * Built from: `bs-ripple` (press feedback).
22
+ *
21
23
  * @slot icon - Optional leading icon, rendered before the label.
22
24
  * @slot end-icon - Optional trailing icon, rendered after the label.
25
+ * @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `bs-button::part(ripple) { --bs-ripple-color: ...; }` (also `--bs-ripple-opacity`, `--bs-ripple-duration`).
23
26
  * @part icon - The icon wrapper element.
24
27
  * @part label - The text label element.
25
28
  * @part end-icon - The trailing icon wrapper element.
26
29
  * @prop --bs-button-radius - Corner radius. Aliased to `--bs-border-radius-100` by default.
27
- * @prop --bs-button-padding-x-sm - Left/right padding of a label-only button at `size="sm"`. Aliased to `--bs-spacing-300`.
30
+ * @prop --bs-button-padding-x-sm - Left/right padding of a label-only button at `size="sm"`. Aliased to `--bs-spacing-150` (12px).
31
+ * @prop --bs-button-padding-x-md - Left/right padding at `size="md"`. Aliased to `--bs-spacing-150` (12px).
32
+ * @prop --bs-button-padding-x-lg - Left/right padding at `size="lg"`. Aliased to `--bs-spacing-150` (12px).
28
33
  * @prop --bs-button-width - Width of the button. `auto` by default (fits its content); set `100%` for a full-width button, e.g. `bs-button { --bs-button-width: 100%; }`.
29
34
  * @prop --bs-button-subtle-color - Label/icon colour, `variant="subtle"`. Aliased to `--bs-color-neutral-default`; set it to `var(--bs-text-action)` for a blue text button.
30
- * @prop --bs-button-height-sm - Height at `size="sm"`. Aliased to `--bs-spacing-500`.
31
- * @prop --bs-button-height-md - Height at `size="md"`. Aliased to `--bs-spacing-600`.
32
- * @prop --bs-button-height-lg - Height at `size="lg"`. Aliased to `--bs-spacing-700`.
35
+ * @prop --bs-button-height-sm - Height at `size="sm"`. Aliased to `--bs-spacing-400` (32px).
36
+ * @prop --bs-button-height-md - Height at `size="md"`. Aliased to `--bs-spacing-550` (44px).
37
+ * @prop --bs-button-height-lg - Height at `size="lg"`. Aliased to `--bs-spacing-600` (48px).
38
+ * @prop --bs-button-outlined-color - Label/icon colour, `variant="outlined"`, default. Aliased to `--bs-color-primary-default`.
33
39
  * @prop --bs-button-neutral-border - Border color, `variant="neutral"`, default/disabled. Aliased to `--bs-border-neutral-container`.
34
40
  * @prop --bs-button-neutral-border-hover - Border color, `variant="neutral"`, hover. Aliased to `--bs-border-neutral-container-hover`.
35
41
  * @prop --bs-button-neutral-border-pressed - Border color, `variant="neutral"`, pressed. Aliased to `--bs-border-neutral-container-pressed`.
36
- * @prop --bs-button-padding-x-icon-side - Horizontal padding on an edge that's adjacent to a leading/trailing icon (tighter than the plain text-only edge). Aliased to `--bs-spacing-150`.
37
- * @prop --bs-button-padding-x-label-side - Horizontal padding on the opposite edge, when an icon on the other side needs compensating extra space to keep the button optically balanced. Aliased to `--bs-spacing-250`.
42
+ * @prop --bs-button-padding-x-icon-side - Horizontal padding on an edge that's adjacent to a leading/trailing icon (now equal to the text-only edge). Aliased to `--bs-spacing-150`.
43
+ * @prop --bs-button-padding-x-label-side - Horizontal padding on the opposite edge, when an icon on the other side needs compensating extra space to keep the button optically balanced. Aliased to `--bs-spacing-150` (no compensation by default).
38
44
  */
39
45
  export class BsButton {
40
46
  el;
@@ -58,6 +64,19 @@ export class BsButton {
58
64
  * camelCase prop to the `aria-label` HTML attribute automatically.
59
65
  */
60
66
  ariaLabel = null;
67
+ /**
68
+ * Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it
69
+ * unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component
70
+ * does not toggle itself; the owner flips this on click.
71
+ */
72
+ pressed;
73
+ /** Forwarded to the inner `<button>` as `aria-expanded`, for disclosure/menu buttons. */
74
+ ariaExpanded = null;
75
+ /** Forwarded to the inner `<button>` as `aria-controls`. Note an id only resolves inside this
76
+ * component's shadow tree, so it can't point at an element in the page's light DOM. */
77
+ ariaControls = null;
78
+ /** Forwarded to the inner `<button>` as `aria-haspopup`. */
79
+ ariaHasPopup = null;
61
80
  /** Tracks whether the `icon` slot has assigned content, so the icon/label gap only
62
81
  * applies when there's actually an icon. */
63
82
  hasIcon = false;
@@ -119,7 +138,7 @@ export class BsButton {
119
138
  };
120
139
  render() {
121
140
  const iconOnly = (this.hasIcon || this.hasEndIcon) && !this.hasLabel;
122
- return (h("button", { key: 'd9339f3df9872d414b8252dd6dbccb897ffd3bdb', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '4744ade682f1bc2e18a63a598aa4cfc3f6b5d028', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: '9cddc004d35fdf9c621691138388f1ecb3b401e0', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '71ae5f7a5f8ff9b311bf69f0da7d449430d026a3', part: "label", class: "bs-button__label" }, h("slot", { key: 'bf0ab3a00d3584ba29c30a1b9e5efc64e53f9df5', onSlotchange: this.onLabelSlotchange })), h("span", { key: '1b6fc4b65cc067d75aaaf2022b9053a48d19aa83', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: '5a3fc614a61fb7f2dbc595b6ab8e15a26028ea75', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
141
+ return (h("button", { key: 'fd998f3e3d58633626c99ffb47228c3308150d05', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, "aria-pressed": this.pressed === undefined ? undefined : String(this.pressed), "aria-expanded": this.ariaExpanded, "aria-controls": this.ariaControls, "aria-haspopup": this.ariaHasPopup, onClick: this.onClick }, h("bs-ripple", { key: 'b6909337c1e6f35bc42b6dc06db31cd2e822a299', part: "ripple", centered: iconOnly, disabled: this.disabled }), h("span", { key: 'a753ffbf8a61011bc6c4ae05937a035605a1d79a', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: '66e9b0f67e04b3891f66ee311ffaebd266c3824b', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'e9007a0a0fe2b51ac3401195feff203c94cfbe3b', part: "label", class: "bs-button__label" }, h("slot", { key: 'df18ce6e274b6f99e496944aa40fd9977f99dd86', onSlotchange: this.onLabelSlotchange })), h("span", { key: 'ddf8300967a813c02ae1996eee42793211b71537', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: '4d200a0c215ff52161941315bbdab21a08daf90a', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
123
142
  }
124
143
  static get is() { return "bs-button"; }
125
144
  static get encapsulation() { return "shadow"; }
@@ -248,6 +267,85 @@ export class BsButton {
248
267
  "reflect": false,
249
268
  "attribute": "aria-label",
250
269
  "defaultValue": "null"
270
+ },
271
+ "pressed": {
272
+ "type": "boolean",
273
+ "mutable": false,
274
+ "complexType": {
275
+ "original": "boolean",
276
+ "resolved": "boolean",
277
+ "references": {}
278
+ },
279
+ "required": false,
280
+ "optional": true,
281
+ "docs": {
282
+ "tags": [],
283
+ "text": "Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it\nunset (the default) for a plain action button, which then has no `aria-pressed` at all. The component\ndoes not toggle itself; the owner flips this on click."
284
+ },
285
+ "getter": false,
286
+ "setter": false,
287
+ "reflect": false,
288
+ "attribute": "pressed"
289
+ },
290
+ "ariaExpanded": {
291
+ "type": "string",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "'true' | 'false' | null",
295
+ "resolved": "\"false\" | \"true\"",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": "Forwarded to the inner `<button>` as `aria-expanded`, for disclosure/menu buttons."
303
+ },
304
+ "getter": false,
305
+ "setter": false,
306
+ "reflect": false,
307
+ "attribute": "aria-expanded",
308
+ "defaultValue": "null"
309
+ },
310
+ "ariaControls": {
311
+ "type": "string",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "string | null",
315
+ "resolved": "string",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "Forwarded to the inner `<button>` as `aria-controls`. Note an id only resolves inside this\ncomponent's shadow tree, so it can't point at an element in the page's light DOM."
323
+ },
324
+ "getter": false,
325
+ "setter": false,
326
+ "reflect": false,
327
+ "attribute": "aria-controls",
328
+ "defaultValue": "null"
329
+ },
330
+ "ariaHasPopup": {
331
+ "type": "string",
332
+ "mutable": false,
333
+ "complexType": {
334
+ "original": "'true' | 'false' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | null",
335
+ "resolved": "\"dialog\" | \"false\" | \"grid\" | \"listbox\" | \"menu\" | \"tree\" | \"true\"",
336
+ "references": {}
337
+ },
338
+ "required": false,
339
+ "optional": false,
340
+ "docs": {
341
+ "tags": [],
342
+ "text": "Forwarded to the inner `<button>` as `aria-haspopup`."
343
+ },
344
+ "getter": false,
345
+ "setter": false,
346
+ "reflect": false,
347
+ "attribute": "aria-haspopup",
348
+ "defaultValue": "null"
251
349
  }
252
350
  };
253
351
  }
@@ -1,4 +1,5 @@
1
1
  import { render, h, describe, it, expect } from "@stencil/vitest";
2
+ import { contrastRatio, resolveColor, withTheme } from "../../../test/helpers/contrast";
2
3
  describe('bs-icon-button', () => {
3
4
  it('renders the default icon slot and variant/size classes', async () => {
4
5
  const { root } = await render(h("bs-icon-button", { ariaLabel: "Confirm" }, h("svg", { viewBox: "0 0 16 16" })));
@@ -113,4 +114,46 @@ describe('bs-icon-button', () => {
113
114
  expect(inner().getAttribute('aria-pressed')).toBe('false');
114
115
  });
115
116
  });
117
+ it('forwards aria-expanded, aria-controls and aria-haspopup to the inner button', async () => {
118
+ const { root } = await render(h("bs-icon-button", { ariaLabel: "Menu", ariaExpanded: "false", ariaControls: "drawer", ariaHasPopup: "menu" }, "x"));
119
+ const button = root.shadowRoot.querySelector('button');
120
+ expect(button).toEqualAttribute('aria-expanded', 'false');
121
+ expect(button).toEqualAttribute('aria-controls', 'drawer');
122
+ expect(button).toEqualAttribute('aria-haspopup', 'menu');
123
+ });
124
+ it('omits the forwarded aria attributes when unset', async () => {
125
+ const { root } = await render(h("bs-icon-button", { ariaLabel: "Menu" }, "x"));
126
+ const button = root.shadowRoot.querySelector('button');
127
+ for (const attr of ['aria-pressed', 'aria-expanded', 'aria-controls', 'aria-haspopup'])
128
+ expect(button.hasAttribute(attr)).toBe(false);
129
+ });
130
+ it('size="sm" is 32x32 with the 16px icon intact', async () => {
131
+ const { root } = await render(h("bs-icon-button", { ariaLabel: "Confirm", size: "sm" }, h("svg", { width: "16", height: "16" })));
132
+ const button = root.shadowRoot.querySelector('button');
133
+ expect(getComputedStyle(button).width).toBe('32px');
134
+ expect(getComputedStyle(button).height).toBe('32px');
135
+ expect(getComputedStyle(root.shadowRoot.querySelector('[part="icon"]')).width).toBe('16px');
136
+ });
137
+ describe('size="xs" hover/pressed contrast (#50)', () => {
138
+ const variants = ['primary', 'neutral', 'subtle', 'outlined', 'success', 'warning', 'info', 'error'];
139
+ // Deterministic on purpose (no real pointer hover, which stalls browser runs on slow CI): the xs
140
+ // :hover/:active rules set the icon colour to one of these tokens, so assert that colour against
141
+ // each hover/pressed fill the variant can show, resolved from the same tokens the component uses.
142
+ const iconToken = (v) => (v === 'neutral' || v === 'subtle' ? '--bs-text-default' : v === 'outlined' ? '--bs-icon-button-outlined-text-hover' : '--bs-text-on-action');
143
+ const fillTokens = (v) => (v === 'outlined' ? ['--bs-color-primary-container'] : [`--bs-icon-button-${v}-hover`, `--bs-icon-button-${v}-pressed`]);
144
+ for (const theme of ['light', 'dark']) {
145
+ for (const variant of variants) {
146
+ it(`${variant} / ${theme}: hover and pressed icon colour is >= 3:1 against the fill`, async () => {
147
+ await withTheme(theme, async () => {
148
+ const { root } = await render(h("bs-icon-button", { size: "xs", variant: variant, ariaLabel: "Remove" }, h("svg", { viewBox: "0 0 8 8" })));
149
+ const icon = resolveColor(root, `var(${iconToken(variant)})`, 'color');
150
+ for (const token of fillTokens(variant)) {
151
+ const fill = resolveColor(root, `var(${token})`);
152
+ expect(contrastRatio(icon, fill), `${variant}/${theme} ${token}`).toBeGreaterThanOrEqual(3);
153
+ }
154
+ });
155
+ });
156
+ }
157
+ }
158
+ });
116
159
  });
@@ -4,7 +4,8 @@
4
4
  * @prop --bs-icon-button-size-xs: Container width/height at size="xs". 16px.
5
5
  * @prop --bs-icon-button-icon-size-xs: Slotted icon width/height (and font-size, for icon-font glyphs) at size="xs". 8px.
6
6
  * @prop --bs-icon-button-padding-xs: Padding on all sides, size="xs" only -- distinct from --bs-icon-button-padding, since 16px/8px icon math (4px) differs from the sm/md/lg constant (12px). Aliased to --bs-spacing-50.
7
- * @prop --bs-icon-button-size-sm: Container width/height at size="sm". 40px.
7
+ * @prop --bs-icon-button-size-sm: Container width/height at size="sm". 32px.
8
+ * @prop --bs-icon-button-padding-sm: Padding on all sides, size="sm" only (8px around the 16px icon in the 32px container). Aliased to --bs-spacing-100.
8
9
  * @prop --bs-icon-button-size-md: Container width/height at size="md". 44px.
9
10
  * @prop --bs-icon-button-size-lg: Container width/height at size="lg". 48px.
10
11
  * @prop --bs-icon-button-icon-size-sm: Slotted icon width/height (and font-size, for icon-font glyphs) at size="sm". 16px.
@@ -60,7 +61,8 @@
60
61
  with a 20x20 icon, Small is 40x40 with a 16x16 icon -- (container - icon) / 2 is 12px in all
61
62
  three cases, matching the one concrete Figma data point (spacing/150, 12px padding on the
62
63
  Large size) exactly, so padding is a single constant across all sizes. */
63
- --bs-icon-button-size-sm: 40px;
64
+ --bs-icon-button-size-sm: 32px;
65
+ --bs-icon-button-padding-sm: var(--bs-spacing-100);
64
66
  --bs-icon-button-size-md: 44px;
65
67
  --bs-icon-button-size-lg: 48px;
66
68
  --bs-icon-button-icon-size-sm: 16px;
@@ -132,6 +134,8 @@
132
134
  }
133
135
 
134
136
  .bs-icon-button {
137
+ /* Containing block for the absolutely-positioned bs-ripple layer. */
138
+ position: relative;
135
139
  display: inline-flex;
136
140
  align-items: center;
137
141
  justify-content: center;
@@ -166,9 +170,37 @@
166
170
  font-size: var(--bs-icon-button-icon-size-xs);
167
171
  }
168
172
 
173
+ /* size="xs" hover/pressed: explicit icon colours so the glyph never inherits a colour that is low
174
+ contrast against the hover/pressed fill (>= 3:1 asserted in the component tests, light + dark).
175
+ Filled variants use --bs-text-on-action, neutral/subtle use --bs-text-default, outlined keeps its
176
+ action-hover text colour. */
177
+ .bs-icon-button--xs.bs-icon-button--primary:hover:not(:disabled),
178
+ .bs-icon-button--xs.bs-icon-button--primary:active:not(:disabled),
179
+ .bs-icon-button--xs.bs-icon-button--error:hover:not(:disabled),
180
+ .bs-icon-button--xs.bs-icon-button--error:active:not(:disabled),
181
+ .bs-icon-button--xs.bs-icon-button--success:hover:not(:disabled),
182
+ .bs-icon-button--xs.bs-icon-button--success:active:not(:disabled),
183
+ .bs-icon-button--xs.bs-icon-button--warning:hover:not(:disabled),
184
+ .bs-icon-button--xs.bs-icon-button--warning:active:not(:disabled),
185
+ .bs-icon-button--xs.bs-icon-button--info:hover:not(:disabled),
186
+ .bs-icon-button--xs.bs-icon-button--info:active:not(:disabled) {
187
+ color: var(--bs-text-on-action);
188
+ }
189
+ .bs-icon-button--xs.bs-icon-button--neutral:hover:not(:disabled),
190
+ .bs-icon-button--xs.bs-icon-button--neutral:active:not(:disabled),
191
+ .bs-icon-button--xs.bs-icon-button--subtle:hover:not(:disabled),
192
+ .bs-icon-button--xs.bs-icon-button--subtle:active:not(:disabled) {
193
+ color: var(--bs-text-default);
194
+ }
195
+ .bs-icon-button--xs.bs-icon-button--outlined:hover:not(:disabled),
196
+ .bs-icon-button--xs.bs-icon-button--outlined:active:not(:disabled) {
197
+ color: var(--bs-icon-button-outlined-text-hover);
198
+ }
199
+
169
200
  .bs-icon-button--sm {
170
201
  width: var(--bs-icon-button-size-sm);
171
202
  height: var(--bs-icon-button-size-sm);
203
+ padding: var(--bs-icon-button-padding-sm);
172
204
  }
173
205
  .bs-icon-button--sm .bs-icon-button__icon {
174
206
  width: var(--bs-icon-button-icon-size-sm);