@brandsync/wc 1.19.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 (859) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/REFERENCE.md +264 -9
  3. package/custom-elements.json +11409 -6963
  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-30ff0659.entry.js → p-050270f5.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-a688a7ca.entry.js → p-08a5e178.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-a50c5e68.entry.js → p-08d08dc9.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-568de1b0.entry.js → p-0ebb60a8.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-f3b60029.entry.js → p-0f864a4f.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-e7c80f48.entry.js → p-105c316e.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-10b8937f.entry.js → p-11fefb5a.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-313ec145.entry.js → p-13d98ec3.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-8ac86d16.entry.js → p-16f15ba5.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-42fcf134.entry.js → p-18cfec13.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-9751a12d.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-5371b31c.entry.js → p-1ce4395a.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-de0dfd1c.entry.js → p-1daf48b1.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-86f04e9e.entry.js → p-20dd8b76.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-391504ab.entry.js → p-2210c680.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-f10b19a8.entry.js → p-23367a4d.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-02314404.entry.js → p-238be384.entry.js} +1 -1
  26. package/dist/brandsync-wc/p-23affb5d.entry.js +1 -0
  27. package/dist/brandsync-wc/p-23b3958e.entry.js +1 -0
  28. package/dist/brandsync-wc/{p-03ad83a3.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-d484e976.entry.js → p-28a34097.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-129a4de7.entry.js → p-2a96ce61.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-7160a72e.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-8a606b38.entry.js → p-32004fb3.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-78c94cfe.entry.js → p-32157c7a.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-ab99b8c3.entry.js → p-32d83763.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-8b21f623.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-8e107d7a.entry.js → p-452f6c13.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-527fd08d.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-4ffcf41a.entry.js → p-4f19e8d8.entry.js} +1 -1
  47. package/dist/brandsync-wc/p-50a154b8.entry.js +1 -0
  48. package/dist/brandsync-wc/{p-26e0ab15.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-90d8d45f.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-028d3244.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-4d1ee16e.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-dc2ea372.entry.js → p-6db03e96.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-64e19200.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-590deea0.entry.js → p-78e4dd14.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-f96f45ae.entry.js → p-806bb471.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-2a8b2ac9.entry.js → p-86fdbe8f.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-8a18864a.entry.js → p-89dbb3c8.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-ebcd105d.entry.js → p-8a4d64fd.entry.js} +1 -1
  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-8d1ad4b0.entry.js → p-90442341.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-a2bfbf02.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-Vo0zbGRB.js +1 -0
  78. package/dist/brandsync-wc/p-a1d34ff3.entry.js +1 -0
  79. package/dist/brandsync-wc/{p-15c6f0f3.entry.js → p-a3c7b4e7.entry.js} +1 -1
  80. package/dist/brandsync-wc/{p-9ba500f1.entry.js → p-a6cbb6c6.entry.js} +1 -1
  81. package/dist/brandsync-wc/{p-70a5897b.entry.js → p-a86560e6.entry.js} +1 -1
  82. package/dist/brandsync-wc/p-aa70e80c.entry.js +1 -0
  83. package/dist/brandsync-wc/{p-0dff9822.entry.js → p-b0f4cbca.entry.js} +1 -1
  84. package/dist/brandsync-wc/{p-3c6980b9.entry.js → p-b1663378.entry.js} +1 -1
  85. package/dist/brandsync-wc/{p-25914efc.entry.js → p-b1b14615.entry.js} +1 -1
  86. package/dist/brandsync-wc/{p-2389f473.entry.js → p-b7545d9b.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-d80eecf4.entry.js → p-baca1abf.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-a92c0f06.entry.js → p-bfdd135b.entry.js} +1 -1
  89. package/dist/brandsync-wc/{p-89fa7567.entry.js → p-c23e274a.entry.js} +1 -1
  90. package/dist/brandsync-wc/{p-4928c4ad.entry.js → p-c39e6be9.entry.js} +1 -1
  91. package/dist/brandsync-wc/{p-30736034.entry.js → p-c6c15b9f.entry.js} +1 -1
  92. package/dist/brandsync-wc/{p-776b677f.entry.js → p-c9888d09.entry.js} +1 -1
  93. package/dist/brandsync-wc/p-ca8a1e51.entry.js +1 -0
  94. package/dist/brandsync-wc/{p-9fa7bd83.entry.js → p-d263deec.entry.js} +1 -1
  95. package/dist/brandsync-wc/p-d555984e.entry.js +1 -0
  96. package/dist/brandsync-wc/p-d6600c7c.entry.js +1 -0
  97. package/dist/brandsync-wc/{p-e5235e76.entry.js → p-d67840f5.entry.js} +1 -1
  98. package/dist/brandsync-wc/p-d8a299a9.entry.js +1 -0
  99. package/dist/brandsync-wc/{p-f4796801.entry.js → p-dd3499ab.entry.js} +1 -1
  100. package/dist/brandsync-wc/p-debc308d.entry.js +1 -0
  101. package/dist/brandsync-wc/{p-c01e231e.entry.js → p-e18cb639.entry.js} +1 -1
  102. package/dist/brandsync-wc/{p-7bff3aa5.entry.js → p-e18e45bc.entry.js} +1 -1
  103. package/dist/brandsync-wc/{p-4c51da66.entry.js → p-e2268c96.entry.js} +1 -1
  104. package/dist/brandsync-wc/p-e4033ebc.entry.js +1 -0
  105. package/dist/brandsync-wc/{p-1e33bc10.entry.js → p-e6f57fae.entry.js} +1 -1
  106. package/dist/brandsync-wc/p-e8027825.entry.js +1 -0
  107. package/dist/brandsync-wc/{p-7c741b8d.entry.js → p-eb1b1497.entry.js} +1 -1
  108. package/dist/brandsync-wc/{p-9868ee72.entry.js → p-eb4ad606.entry.js} +1 -1
  109. package/dist/brandsync-wc/p-ecb1a27d.entry.js +1 -0
  110. package/dist/brandsync-wc/p-f229f59a.entry.js +1 -0
  111. package/dist/brandsync-wc/{p-0819add7.entry.js → p-f22d2db8.entry.js} +1 -1
  112. package/dist/brandsync-wc/{p-feb46fa6.entry.js → p-f71d7582.entry.js} +1 -1
  113. package/dist/brandsync-wc/p-fa894893.entry.js +1 -0
  114. package/dist/brandsync-wc/p-fbd204b6.entry.js +1 -0
  115. package/dist/brandsync-wc/{p-21e5d4d6.entry.js → p-fc7df528.entry.js} +1 -1
  116. package/dist/brandsync-wc/{p-27663faf.entry.js → p-fe6f71da.entry.js} +1 -1
  117. package/dist/brandsync-wc/{p-e1d30e31.entry.js → p-ff14edb6.entry.js} +1 -1
  118. package/dist/brandsync-wc/p-ff85a9d8.entry.js +1 -0
  119. package/dist/brandsync-wc/p-wz7B473u.js +3 -0
  120. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  121. package/dist/cjs/bs-accordion-group.cjs.entry.js +2 -2
  122. package/dist/cjs/bs-accordion.cjs.entry.js +1 -1
  123. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  124. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  125. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +5 -5
  127. package/dist/cjs/bs-app-shell.cjs.entry.js +2 -2
  128. package/dist/cjs/bs-app-switcher.cjs.entry.js +1 -1
  129. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  130. package/dist/cjs/bs-attachment.cjs.entry.js +2 -2
  131. package/dist/cjs/bs-avatar.cjs.entry.js +3 -10
  132. package/dist/cjs/bs-badge.cjs.entry.js +2 -2
  133. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  134. package/dist/cjs/bs-breadcrumb.cjs.entry.js +3 -3
  135. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +10 -2
  136. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  137. package/dist/cjs/bs-button_2.cjs.entry.js +17 -4
  138. package/dist/cjs/bs-card.cjs.entry.js +44 -3
  139. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  140. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +3 -7
  141. package/dist/cjs/bs-chatbot-header.cjs.entry.js +3 -7
  142. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  143. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  144. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +3 -3
  145. package/dist/cjs/bs-checkbox-group.cjs.entry.js +80 -0
  146. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +2 -2
  147. package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
  148. package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
  149. package/dist/cjs/bs-chip-informative.cjs.entry.js +2 -2
  150. package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
  151. package/dist/cjs/bs-citation-preview.cjs.entry.js +2 -2
  152. package/dist/cjs/bs-code-block.cjs.entry.js +75 -0
  153. package/dist/cjs/bs-command-palette.cjs.entry.js +2 -2
  154. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +5 -5
  155. package/dist/cjs/bs-company-switcher.cjs.entry.js +3 -3
  156. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
  157. package/dist/cjs/bs-composer.cjs.entry.js +6 -4
  158. package/dist/cjs/bs-container.cjs.entry.js +2 -2
  159. package/dist/cjs/bs-cookie-consent.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-data-table.cjs.entry.js +8 -5
  161. package/dist/cjs/bs-datepicker.cjs.entry.js +2 -2
  162. package/dist/cjs/bs-description-item.cjs.entry.js +23 -0
  163. package/dist/cjs/bs-description-list.cjs.entry.js +40 -0
  164. package/dist/cjs/bs-dialog.cjs.entry.js +1 -1
  165. package/dist/cjs/bs-divider.cjs.entry.js +2 -2
  166. package/dist/cjs/bs-dropdown.cjs.entry.js +96 -0
  167. package/dist/cjs/bs-empty-state.cjs.entry.js +7 -3
  168. package/dist/cjs/bs-error-page.cjs.entry.js +2 -2
  169. package/dist/cjs/bs-file-upload-item.cjs.entry.js +2 -2
  170. package/dist/cjs/bs-file-upload.cjs.entry.js +2 -2
  171. package/dist/cjs/bs-global-search.cjs.entry.js +3 -3
  172. package/dist/cjs/bs-grid.cjs.entry.js +3 -3
  173. package/dist/cjs/bs-heading.cjs.entry.js +28 -0
  174. package/dist/cjs/bs-icon-button.cjs.entry.js +10 -3
  175. package/dist/cjs/bs-icon-tile.cjs.entry.js +3 -3
  176. package/dist/cjs/bs-icon.cjs.entry.js +35 -0
  177. package/dist/cjs/bs-inline-tab.cjs.entry.js +3 -3
  178. package/dist/cjs/bs-input_4.cjs.entry.js +794 -0
  179. package/dist/cjs/bs-key-caps.cjs.entry.js +2 -2
  180. package/dist/cjs/bs-key.cjs.entry.js +2 -2
  181. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +3 -3
  182. package/dist/cjs/bs-link.cjs.entry.js +52 -0
  183. package/dist/cjs/bs-list-item.cjs.entry.js +68 -0
  184. package/dist/cjs/bs-list.cjs.entry.js +9 -3
  185. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  186. package/dist/cjs/bs-mega-menu.cjs.entry.js +2 -2
  187. package/dist/cjs/bs-message-list.cjs.entry.js +2 -2
  188. package/dist/cjs/bs-message.cjs.entry.js +2 -2
  189. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +26 -5
  190. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +4 -4
  191. package/dist/cjs/bs-navigation-header.cjs.entry.js +4 -4
  192. package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +1 -1
  193. package/dist/cjs/bs-page-header.cjs.entry.js +2 -2
  194. package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
  195. package/dist/cjs/{bs-list-item_2.cjs.entry.js → bs-popover.cjs.entry.js} +2 -64
  196. package/dist/cjs/bs-presence.cjs.entry.js +2 -2
  197. package/dist/cjs/bs-product-tour.cjs.entry.js +1 -1
  198. package/dist/cjs/bs-progress-linear.cjs.entry.js +4 -4
  199. package/dist/cjs/bs-progress.cjs.entry.js +3 -3
  200. package/dist/cjs/bs-qr-code.cjs.entry.js +2 -2
  201. package/dist/cjs/bs-radio-group.cjs.entry.js +90 -0
  202. package/dist/cjs/bs-radio.cjs.entry.js +6 -2
  203. package/dist/cjs/bs-search-item.cjs.entry.js +2 -2
  204. package/dist/cjs/bs-select.cjs.entry.js +234 -0
  205. package/dist/cjs/bs-session-timeout.cjs.entry.js +2 -2
  206. package/dist/cjs/bs-shortcut-row.cjs.entry.js +2 -2
  207. package/dist/cjs/bs-side-panel.cjs.entry.js +1 -1
  208. package/dist/cjs/bs-skip-link.cjs.entry.js +52 -0
  209. package/dist/cjs/bs-slider.cjs.entry.js +3 -3
  210. package/dist/cjs/bs-snackbar.cjs.entry.js +3 -3
  211. package/dist/cjs/bs-source-link.cjs.entry.js +4 -4
  212. package/dist/cjs/bs-split-pane.cjs.entry.js +2 -2
  213. package/dist/cjs/bs-stack.cjs.entry.js +2 -2
  214. package/dist/cjs/bs-stat.cjs.entry.js +53 -0
  215. package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
  216. package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
  217. package/dist/cjs/bs-switch.cjs.entry.js +2 -2
  218. package/dist/cjs/bs-tab_3.cjs.entry.js +16 -9
  219. package/dist/cjs/bs-table-of-contents.cjs.entry.js +171 -0
  220. package/dist/cjs/bs-tag.cjs.entry.js +51 -0
  221. package/dist/cjs/bs-text.cjs.entry.js +24 -0
  222. package/dist/cjs/bs-timepicker.cjs.entry.js +3 -3
  223. package/dist/cjs/bs-toast.cjs.entry.js +2 -2
  224. package/dist/cjs/bs-toggle-button-group.cjs.entry.js +108 -0
  225. package/dist/cjs/bs-toggle-button.cjs.entry.js +57 -0
  226. package/dist/cjs/bs-toolbar.cjs.entry.js +195 -0
  227. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +2 -2
  228. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  229. package/dist/cjs/bs-tree-item.cjs.entry.js +3 -3
  230. package/dist/cjs/bs-tree.cjs.entry.js +2 -2
  231. package/dist/cjs/bs-whats-new.cjs.entry.js +1 -1
  232. package/dist/cjs/icon-registry-DWYCqjKw.js +64 -0
  233. package/dist/cjs/{index-BYfMRtlW.js → index-BFxk-bY6.js} +1 -1
  234. package/dist/cjs/index.cjs.js +4 -0
  235. package/dist/cjs/loader.cjs.js +2 -2
  236. package/dist/collection/collection-manifest.json +19 -1
  237. package/dist/collection/components/bs-a11y.cmp.test.js +9 -0
  238. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  239. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  240. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  241. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  242. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +3 -3
  243. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  244. package/dist/collection/components/bs-attachment/bs-attachment.cmp.test.js +10 -0
  245. package/dist/collection/components/bs-attachment/bs-attachment.css +6 -6
  246. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  247. package/dist/collection/components/bs-avatar/bs-avatar.cmp.test.js +11 -1
  248. package/dist/collection/components/bs-avatar/bs-avatar.css +9 -4
  249. package/dist/collection/components/bs-avatar/bs-avatar.js +1 -8
  250. package/dist/collection/components/bs-badge/bs-badge.css +4 -1
  251. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +13 -0
  252. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.css +8 -0
  253. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
  254. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +26 -1
  255. package/dist/collection/components/bs-button/bs-button/bs-button.cmp.test.js +31 -2
  256. package/dist/collection/components/bs-button/bs-button/bs-button.css +16 -18
  257. package/dist/collection/components/bs-button/bs-button/bs-button.js +102 -7
  258. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +43 -0
  259. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +32 -2
  260. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +68 -1
  261. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  262. package/dist/collection/components/bs-card/bs-card.cmp.test.js +78 -0
  263. package/dist/collection/components/bs-card/bs-card.css +75 -0
  264. package/dist/collection/components/bs-card/bs-card.js +200 -1
  265. package/dist/collection/components/bs-card/bs-card.stories.js +32 -0
  266. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.cmp.test.js +8 -0
  267. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +11 -8
  268. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -5
  269. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.css +2 -3
  270. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -5
  271. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  272. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  273. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.cmp.test.js +18 -0
  274. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.css +8 -2
  275. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +4 -1
  276. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  277. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.cmp.test.js +58 -0
  278. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.css +65 -0
  279. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.js +254 -0
  280. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.stories.js +34 -0
  281. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
  282. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  283. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  284. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  285. package/dist/collection/components/bs-code-block/bs-code-block.cmp.test.js +78 -0
  286. package/dist/collection/components/bs-code-block/bs-code-block.css +132 -0
  287. package/dist/collection/components/bs-code-block/bs-code-block.js +317 -0
  288. package/dist/collection/components/bs-code-block/bs-code-block.stories.js +56 -0
  289. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
  290. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +1 -1
  291. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
  292. package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +29 -0
  293. package/dist/collection/components/bs-composer/bs-composer.css +2 -1
  294. package/dist/collection/components/bs-composer/bs-composer.js +4 -2
  295. package/dist/collection/components/bs-composer/bs-composer.stories.js +0 -1
  296. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  297. package/dist/collection/components/bs-container/bs-container.js +1 -1
  298. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.cmp.test.js +1 -1
  299. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +39 -0
  300. package/dist/collection/components/bs-data-table/bs-data-table.css +12 -0
  301. package/dist/collection/components/bs-data-table/bs-data-table.js +34 -3
  302. package/dist/collection/components/bs-data-table/bs-data-table.stories.js +1 -1
  303. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  304. package/dist/collection/components/bs-description-item/bs-description-item.cmp.test.js +14 -0
  305. package/dist/collection/components/bs-description-item/bs-description-item.css +47 -0
  306. package/dist/collection/components/bs-description-item/bs-description-item.js +111 -0
  307. package/dist/collection/components/bs-description-list/bs-description-list.cmp.test.js +58 -0
  308. package/dist/collection/components/bs-description-list/bs-description-list.css +15 -0
  309. package/dist/collection/components/bs-description-list/bs-description-list.js +127 -0
  310. package/dist/collection/components/bs-description-list/bs-description-list.stories.js +34 -0
  311. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  312. package/dist/collection/components/bs-dropdown/bs-dropdown.cmp.test.js +135 -0
  313. package/dist/collection/components/bs-dropdown/bs-dropdown.css +3 -0
  314. package/dist/collection/components/bs-dropdown/bs-dropdown.js +218 -0
  315. package/dist/collection/components/bs-dropdown/bs-dropdown.stories.js +42 -0
  316. package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +15 -0
  317. package/dist/collection/components/bs-empty-state/bs-empty-state.css +30 -1
  318. package/dist/collection/components/bs-empty-state/bs-empty-state.js +29 -1
  319. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +24 -1
  320. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  321. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  322. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  323. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  324. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  325. package/dist/collection/components/bs-heading/bs-heading.cmp.test.js +38 -0
  326. package/dist/collection/components/bs-heading/bs-heading.css +42 -0
  327. package/dist/collection/components/bs-heading/bs-heading.js +154 -0
  328. package/dist/collection/components/bs-heading/bs-heading.stories.js +28 -0
  329. package/dist/collection/components/bs-icon/bs-icon.cmp.test.js +78 -0
  330. package/dist/collection/components/bs-icon/bs-icon.css +47 -0
  331. package/dist/collection/components/bs-icon/bs-icon.js +155 -0
  332. package/dist/collection/components/bs-icon/bs-icon.stories.js +52 -0
  333. package/dist/collection/components/bs-icon/icon-registry.js +58 -0
  334. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  335. package/dist/collection/components/bs-input/bs-input.cmp.test.js +431 -45
  336. package/dist/collection/components/bs-input/bs-input.css +196 -12
  337. package/dist/collection/components/bs-input/bs-input.js +565 -46
  338. package/dist/collection/components/bs-input/bs-input.stories.js +32 -4
  339. package/dist/collection/components/bs-key/bs-key.js +1 -1
  340. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  341. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  342. package/dist/collection/components/bs-link/bs-link.cmp.test.js +52 -0
  343. package/dist/collection/components/bs-link/bs-link.css +129 -0
  344. package/dist/collection/components/bs-link/bs-link.js +257 -0
  345. package/dist/collection/components/bs-link/bs-link.stories.js +31 -0
  346. package/dist/collection/components/bs-list/bs-list.cmp.test.js +23 -0
  347. package/dist/collection/components/bs-list/bs-list.js +32 -2
  348. package/dist/collection/components/bs-list/bs-list.stories.js +35 -2
  349. package/dist/collection/components/bs-list-item/bs-list-item.css +8 -0
  350. package/dist/collection/components/bs-list-item/bs-list-item.js +24 -1
  351. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +1 -1
  352. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  353. package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
  354. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  355. package/dist/collection/components/bs-message/bs-message.js +1 -1
  356. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  357. package/dist/collection/components/bs-page-header/bs-page-header.js +1 -1
  358. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  359. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  360. package/dist/collection/components/bs-presence/bs-presence.js +1 -1
  361. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  362. package/dist/collection/components/bs-progress-linear/bs-progress-linear.css +4 -1
  363. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  364. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  365. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +8 -0
  366. package/dist/collection/components/bs-radio/bs-radio.js +25 -1
  367. package/dist/collection/components/bs-radio-group/bs-radio-group.cmp.test.js +85 -0
  368. package/dist/collection/components/bs-radio-group/bs-radio-group.css +59 -0
  369. package/dist/collection/components/bs-radio-group/bs-radio-group.js +309 -0
  370. package/dist/collection/components/bs-radio-group/bs-radio-group.stories.js +35 -0
  371. package/dist/collection/components/bs-ripple/bs-ripple.js +1 -1
  372. package/dist/collection/components/bs-search-item/bs-search-item.js +1 -1
  373. package/dist/collection/components/bs-select/bs-select.cmp.test.js +108 -0
  374. package/dist/collection/components/bs-select/bs-select.css +231 -0
  375. package/dist/collection/components/bs-select/bs-select.js +506 -0
  376. package/dist/collection/components/bs-select/bs-select.stories.js +58 -0
  377. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  378. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  379. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  380. package/dist/collection/components/bs-skip-link/bs-skip-link.cmp.test.js +60 -0
  381. package/dist/collection/components/bs-skip-link/bs-skip-link.css +58 -0
  382. package/dist/collection/components/bs-skip-link/bs-skip-link.js +123 -0
  383. package/dist/collection/components/bs-skip-link/bs-skip-link.stories.js +27 -0
  384. package/dist/collection/components/bs-slider/bs-slider.cmp.test.js +13 -0
  385. package/dist/collection/components/bs-slider/bs-slider.css +3 -2
  386. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  387. package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +22 -0
  388. package/dist/collection/components/bs-snackbar/bs-snackbar.css +23 -0
  389. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  390. package/dist/collection/components/bs-source-link/bs-source-link.js +3 -3
  391. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  392. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  393. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  394. package/dist/collection/components/bs-stat/bs-stat.cmp.test.js +49 -0
  395. package/dist/collection/components/bs-stat/bs-stat.css +116 -0
  396. package/dist/collection/components/bs-stat/bs-stat.js +284 -0
  397. package/dist/collection/components/bs-stat/bs-stat.stories.js +44 -0
  398. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  399. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  400. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  401. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -2
  402. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  403. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.js +0 -4
  404. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  405. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +35 -0
  406. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.css +6 -2
  407. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +13 -6
  408. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.cmp.test.js +125 -0
  409. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.css +115 -0
  410. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.js +392 -0
  411. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.stories.js +58 -0
  412. package/dist/collection/components/bs-tag/bs-tag.cmp.test.js +66 -0
  413. package/dist/collection/components/bs-tag/bs-tag.css +101 -0
  414. package/dist/collection/components/bs-tag/bs-tag.js +233 -0
  415. package/dist/collection/components/bs-tag/bs-tag.stories.js +59 -0
  416. package/dist/collection/components/bs-text/bs-text.cmp.test.js +33 -0
  417. package/dist/collection/components/bs-text/bs-text.css +48 -0
  418. package/dist/collection/components/bs-text/bs-text.js +126 -0
  419. package/dist/collection/components/bs-text/bs-text.stories.js +25 -0
  420. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  421. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  422. package/dist/collection/components/bs-toggle-button/bs-toggle-button.cmp.test.js +47 -0
  423. package/dist/collection/components/bs-toggle-button/bs-toggle-button.css +125 -0
  424. package/dist/collection/components/bs-toggle-button/bs-toggle-button.js +234 -0
  425. package/dist/collection/components/bs-toggle-button/bs-toggle-button.stories.js +22 -0
  426. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.cmp.test.js +69 -0
  427. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.css +43 -0
  428. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.js +264 -0
  429. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.stories.js +42 -0
  430. package/dist/collection/components/bs-toolbar/bs-toolbar.cmp.test.js +149 -0
  431. package/dist/collection/components/bs-toolbar/bs-toolbar.css +82 -0
  432. package/dist/collection/components/bs-toolbar/bs-toolbar.js +345 -0
  433. package/dist/collection/components/bs-toolbar/bs-toolbar.stories.js +49 -0
  434. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  435. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  436. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  437. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  438. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  439. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +25 -0
  440. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +2 -2
  441. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  442. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.js +58 -0
  443. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +10 -2
  444. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +63 -4
  445. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +42 -9
  446. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +44 -37
  447. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +2 -2
  448. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +22 -0
  449. package/dist/collection/index.js +1 -0
  450. package/dist/collection/test/helpers/block-link-navigation.js +13 -0
  451. package/dist/collection/test/helpers/contrast.js +57 -0
  452. package/dist/components/bs-accordion-group.js +1 -1
  453. package/dist/components/bs-accordion.js +1 -1
  454. package/dist/components/bs-ai-disclaimer.js +1 -1
  455. package/dist/components/bs-ai-greeting.js +1 -1
  456. package/dist/components/bs-ai-thinking.js +1 -1
  457. package/dist/components/bs-app-recent-item.js +1 -1
  458. package/dist/components/bs-app-shell.js +1 -1
  459. package/dist/components/bs-app-switcher.js +1 -1
  460. package/dist/components/bs-app-tile.js +1 -1
  461. package/dist/components/bs-attachment-list.js +1 -1
  462. package/dist/components/bs-attachment.js +1 -1
  463. package/dist/components/bs-avatar.js +1 -1
  464. package/dist/components/bs-badge.js +1 -1
  465. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  466. package/dist/components/bs-breadcrumb.js +1 -1
  467. package/dist/components/bs-breadcrumbs.js +1 -1
  468. package/dist/components/bs-button-skeleton.js +1 -1
  469. package/dist/components/bs-button.js +1 -1
  470. package/dist/components/bs-card.js +1 -1
  471. package/dist/components/bs-carousel.js +1 -1
  472. package/dist/components/bs-chatbot-feedback.js +1 -1
  473. package/dist/components/bs-chatbot-header.js +1 -1
  474. package/dist/components/bs-chatbot-response-action.js +1 -1
  475. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  476. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  477. package/dist/components/bs-checkbox-group.d.ts +11 -0
  478. package/dist/components/bs-checkbox-group.js +1 -0
  479. package/dist/components/bs-checkbox-skeleton.js +1 -1
  480. package/dist/components/bs-checkbox.js +1 -1
  481. package/dist/components/bs-chip-filter.js +1 -1
  482. package/dist/components/bs-chip-informative.js +1 -1
  483. package/dist/components/bs-chip-input.js +1 -1
  484. package/dist/components/bs-citation-preview.js +1 -1
  485. package/dist/components/bs-code-block.d.ts +11 -0
  486. package/dist/components/bs-code-block.js +1 -0
  487. package/dist/components/bs-command-palette.js +1 -1
  488. package/dist/components/bs-compact-menu-block.js +1 -1
  489. package/dist/components/bs-company-switcher.js +1 -1
  490. package/dist/components/bs-composer-status-banner.js +1 -1
  491. package/dist/components/bs-composer.js +1 -1
  492. package/dist/components/bs-container.js +1 -1
  493. package/dist/components/bs-cookie-consent.js +1 -1
  494. package/dist/components/bs-data-table.js +1 -1
  495. package/dist/components/bs-datepicker.js +1 -1
  496. package/dist/components/bs-description-item.d.ts +11 -0
  497. package/dist/components/bs-description-item.js +1 -0
  498. package/dist/components/bs-description-list.d.ts +11 -0
  499. package/dist/components/bs-description-list.js +1 -0
  500. package/dist/components/bs-dialog.js +1 -1
  501. package/dist/components/bs-divider.js +1 -1
  502. package/dist/components/bs-dropdown.d.ts +11 -0
  503. package/dist/components/bs-dropdown.js +1 -0
  504. package/dist/components/bs-empty-state.js +1 -1
  505. package/dist/components/bs-error-page.js +1 -1
  506. package/dist/components/bs-file-upload-item.js +1 -1
  507. package/dist/components/bs-file-upload.js +1 -1
  508. package/dist/components/bs-global-search.js +1 -1
  509. package/dist/components/bs-grid.js +1 -1
  510. package/dist/components/bs-heading.d.ts +11 -0
  511. package/dist/components/bs-heading.js +1 -0
  512. package/dist/components/bs-icon-button.js +1 -1
  513. package/dist/components/bs-icon-tile.js +1 -1
  514. package/dist/components/bs-icon.d.ts +11 -0
  515. package/dist/components/bs-icon.js +1 -0
  516. package/dist/components/bs-inline-tab.js +1 -1
  517. package/dist/components/bs-input.js +1 -1
  518. package/dist/components/bs-key-caps.js +1 -1
  519. package/dist/components/bs-key.js +1 -1
  520. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  521. package/dist/components/bs-link.d.ts +11 -0
  522. package/dist/components/bs-link.js +1 -0
  523. package/dist/components/bs-list-item.js +1 -1
  524. package/dist/components/bs-list.js +1 -1
  525. package/dist/components/bs-logo.js +1 -1
  526. package/dist/components/bs-mega-menu.js +1 -1
  527. package/dist/components/bs-menu-block.js +1 -1
  528. package/dist/components/bs-menu-item.js +1 -1
  529. package/dist/components/bs-menu.js +1 -1
  530. package/dist/components/bs-message-list.js +1 -1
  531. package/dist/components/bs-message.js +1 -1
  532. package/dist/components/bs-navigation-drawer-item.js +1 -1
  533. package/dist/components/bs-navigation-drawer.js +1 -1
  534. package/dist/components/bs-navigation-header.js +1 -1
  535. package/dist/components/bs-onboarding-checklist.js +1 -1
  536. package/dist/components/bs-page-header.js +1 -1
  537. package/dist/components/bs-pagination.js +1 -1
  538. package/dist/components/bs-popover.js +1 -1
  539. package/dist/components/bs-presence.js +1 -1
  540. package/dist/components/bs-product-tour.js +1 -1
  541. package/dist/components/bs-progress-linear.js +1 -1
  542. package/dist/components/bs-progress.js +1 -1
  543. package/dist/components/bs-qr-code.js +1 -1
  544. package/dist/components/bs-radio-group.d.ts +11 -0
  545. package/dist/components/bs-radio-group.js +1 -0
  546. package/dist/components/bs-radio.js +1 -1
  547. package/dist/components/bs-ripple.js +1 -1
  548. package/dist/components/bs-search-item.js +1 -1
  549. package/dist/components/bs-select.d.ts +11 -0
  550. package/dist/components/bs-select.js +1 -0
  551. package/dist/components/bs-session-timeout.js +1 -1
  552. package/dist/components/bs-shortcut-row.js +1 -1
  553. package/dist/components/bs-side-panel.js +1 -1
  554. package/dist/components/bs-skeleton.js +1 -1
  555. package/dist/components/bs-skip-link.d.ts +11 -0
  556. package/dist/components/bs-skip-link.js +1 -0
  557. package/dist/components/bs-slider.js +1 -1
  558. package/dist/components/bs-snackbar.js +1 -1
  559. package/dist/components/bs-source-link.js +1 -1
  560. package/dist/components/bs-spinner.js +1 -1
  561. package/dist/components/bs-split-pane.js +1 -1
  562. package/dist/components/bs-stack.js +1 -1
  563. package/dist/components/bs-stat.d.ts +11 -0
  564. package/dist/components/bs-stat.js +1 -0
  565. package/dist/components/bs-stepper-step.js +1 -1
  566. package/dist/components/bs-stepper.js +1 -1
  567. package/dist/components/bs-switch.js +1 -1
  568. package/dist/components/bs-tab.js +1 -1
  569. package/dist/components/bs-table-of-contents.d.ts +11 -0
  570. package/dist/components/bs-table-of-contents.js +1 -0
  571. package/dist/components/bs-tabs.js +1 -1
  572. package/dist/components/bs-tag.d.ts +11 -0
  573. package/dist/components/bs-tag.js +1 -0
  574. package/dist/components/bs-text.d.ts +11 -0
  575. package/dist/components/bs-text.js +1 -0
  576. package/dist/components/bs-timepicker.js +1 -1
  577. package/dist/components/bs-toast.js +1 -1
  578. package/dist/components/bs-toggle-button-group.d.ts +11 -0
  579. package/dist/components/bs-toggle-button-group.js +1 -0
  580. package/dist/components/bs-toggle-button.d.ts +11 -0
  581. package/dist/components/bs-toggle-button.js +1 -0
  582. package/dist/components/bs-toolbar.d.ts +11 -0
  583. package/dist/components/bs-toolbar.js +1 -0
  584. package/dist/components/bs-tooltip-trigger.js +1 -1
  585. package/dist/components/bs-tooltip.js +1 -1
  586. package/dist/components/bs-tree-item.js +1 -1
  587. package/dist/components/bs-tree.js +1 -1
  588. package/dist/components/bs-whats-new-entry.js +1 -1
  589. package/dist/components/bs-whats-new.js +1 -1
  590. package/dist/components/index.js +1 -1
  591. package/dist/components/{p-CFR3Q0io.js → p-BB1HiIxJ.js} +1 -1
  592. package/dist/components/p-BLJL4BVY.js +1 -0
  593. package/dist/components/{p-D5eN9Lfa.js → p-BR7C-aKy.js} +1 -1
  594. package/dist/components/{p-D3PuUD8Z.js → p-Ba8J2kHD.js} +1 -1
  595. package/dist/components/p-CALH_mHQ.js +1 -0
  596. package/dist/components/{p-lPTgyF9v.js → p-CL99S8-7.js} +1 -1
  597. package/dist/components/{p-BpkPo4ay.js → p-CXv8kx8w.js} +1 -1
  598. package/dist/components/{p-Dj393s3S.js → p-CZfbB-t_.js} +1 -1
  599. package/dist/components/p-CcAX4o5o.js +1 -0
  600. package/dist/components/{p-DXwatzvM.js → p-CePOtLtZ.js} +1 -1
  601. package/dist/components/{p-6Rr9bjVN.js → p-Cso2DKAz.js} +1 -1
  602. package/dist/components/{p-CVQycAap.js → p-CxNNy2m6.js} +1 -1
  603. package/dist/components/{p-CHZE_FrW.js → p-Cz38kNDe.js} +1 -1
  604. package/dist/components/p-D3XmFqCQ.js +1 -0
  605. package/dist/components/{p-Y5FyLR8G.js → p-D4W5LcEW.js} +1 -1
  606. package/dist/components/{p--Tyv3LIl.js → p-DARbgzSz.js} +1 -1
  607. package/dist/components/{p-DXbcyEgd.js → p-DBgafacj.js} +1 -1
  608. package/dist/components/p-DHZ_DStJ.js +1 -0
  609. package/dist/components/{p-BQ4rSQDm.js → p-DK1uv2fu.js} +1 -1
  610. package/dist/components/{p-DLnZG_G9.js → p-DL9HtG41.js} +1 -1
  611. package/dist/components/{p-Cr8cHmpM.js → p-DLNoxNuW.js} +1 -1
  612. package/dist/components/{p-4yShCgRb.js → p-DMp5CvEJ.js} +1 -1
  613. package/dist/components/p-DO4sVZCh.js +1 -0
  614. package/dist/components/{p-DDgzEg1C.js → p-DOW-YekD.js} +1 -1
  615. package/dist/components/{p-BTPdjnXT.js → p-DVqoLSEW.js} +1 -1
  616. package/dist/components/{p-DF2FcJPs.js → p-DYpJMHAH.js} +1 -1
  617. package/dist/components/{p-DtkTnaOp.js → p-DaKBSL2O.js} +1 -1
  618. package/dist/components/{p-ZfE38vXZ.js → p-Dlp2c-Ii.js} +1 -1
  619. package/dist/components/{p-XZXdZpt4.js → p-DnagAPBF.js} +1 -1
  620. package/dist/components/p-Dt3b6VYT.js +1 -0
  621. package/dist/components/{p-DcD5eV_Z.js → p-DztU3DwY.js} +1 -1
  622. package/dist/components/{p-BWRkbt0f.js → p-KiyJJwzr.js} +1 -1
  623. package/dist/components/p-Vo0zbGRB.js +1 -0
  624. package/dist/components/p-abyVFrPp.js +1 -0
  625. package/dist/components/p-mxDA3wKn.js +1 -0
  626. package/dist/components/p-wd9-vGpQ.js +1 -0
  627. package/dist/components/p-wscU7FUD.js +1 -0
  628. package/dist/esm/brandsync-wc.js +3 -3
  629. package/dist/esm/bs-accordion-group.entry.js +2 -2
  630. package/dist/esm/bs-accordion.entry.js +1 -1
  631. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  632. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  633. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  634. package/dist/esm/bs-app-recent-item_3.entry.js +5 -5
  635. package/dist/esm/bs-app-shell.entry.js +2 -2
  636. package/dist/esm/bs-app-switcher.entry.js +1 -1
  637. package/dist/esm/bs-attachment-list.entry.js +2 -2
  638. package/dist/esm/bs-attachment.entry.js +2 -2
  639. package/dist/esm/bs-avatar.entry.js +3 -10
  640. package/dist/esm/bs-badge.entry.js +2 -2
  641. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  642. package/dist/esm/bs-breadcrumb.entry.js +3 -3
  643. package/dist/esm/bs-breadcrumbs.entry.js +10 -2
  644. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  645. package/dist/esm/bs-button_2.entry.js +17 -4
  646. package/dist/esm/bs-card.entry.js +44 -3
  647. package/dist/esm/bs-carousel.entry.js +1 -1
  648. package/dist/esm/bs-chatbot-feedback.entry.js +3 -7
  649. package/dist/esm/bs-chatbot-header.entry.js +3 -7
  650. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  651. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  652. package/dist/esm/bs-chatbot-suggestion-button.entry.js +3 -3
  653. package/dist/esm/bs-checkbox-group.entry.js +78 -0
  654. package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
  655. package/dist/esm/bs-checkbox.entry.js +1 -1
  656. package/dist/esm/bs-chip-filter.entry.js +2 -2
  657. package/dist/esm/bs-chip-informative.entry.js +2 -2
  658. package/dist/esm/bs-chip-input.entry.js +2 -2
  659. package/dist/esm/bs-citation-preview.entry.js +2 -2
  660. package/dist/esm/bs-code-block.entry.js +73 -0
  661. package/dist/esm/bs-command-palette.entry.js +2 -2
  662. package/dist/esm/bs-compact-menu-block_2.entry.js +5 -5
  663. package/dist/esm/bs-company-switcher.entry.js +3 -3
  664. package/dist/esm/bs-composer-status-banner.entry.js +2 -2
  665. package/dist/esm/bs-composer.entry.js +6 -4
  666. package/dist/esm/bs-container.entry.js +2 -2
  667. package/dist/esm/bs-cookie-consent.entry.js +1 -1
  668. package/dist/esm/bs-data-table.entry.js +8 -5
  669. package/dist/esm/bs-datepicker.entry.js +2 -2
  670. package/dist/esm/bs-description-item.entry.js +21 -0
  671. package/dist/esm/bs-description-list.entry.js +38 -0
  672. package/dist/esm/bs-dialog.entry.js +1 -1
  673. package/dist/esm/bs-divider.entry.js +2 -2
  674. package/dist/esm/bs-dropdown.entry.js +94 -0
  675. package/dist/esm/bs-empty-state.entry.js +7 -3
  676. package/dist/esm/bs-error-page.entry.js +2 -2
  677. package/dist/esm/bs-file-upload-item.entry.js +2 -2
  678. package/dist/esm/bs-file-upload.entry.js +2 -2
  679. package/dist/esm/bs-global-search.entry.js +3 -3
  680. package/dist/esm/bs-grid.entry.js +3 -3
  681. package/dist/esm/bs-heading.entry.js +26 -0
  682. package/dist/esm/bs-icon-button.entry.js +10 -3
  683. package/dist/esm/bs-icon-tile.entry.js +3 -3
  684. package/dist/esm/bs-icon.entry.js +33 -0
  685. package/dist/esm/bs-inline-tab.entry.js +3 -3
  686. package/dist/esm/bs-input_4.entry.js +789 -0
  687. package/dist/esm/bs-key-caps.entry.js +2 -2
  688. package/dist/esm/bs-key.entry.js +2 -2
  689. package/dist/esm/bs-keyboard-shortcuts.entry.js +3 -3
  690. package/dist/esm/bs-link.entry.js +50 -0
  691. package/dist/esm/bs-list-item.entry.js +66 -0
  692. package/dist/esm/bs-list.entry.js +9 -3
  693. package/dist/esm/bs-logo.entry.js +1 -1
  694. package/dist/esm/bs-mega-menu.entry.js +2 -2
  695. package/dist/esm/bs-message-list.entry.js +2 -2
  696. package/dist/esm/bs-message.entry.js +2 -2
  697. package/dist/esm/bs-navigation-drawer-item.entry.js +26 -5
  698. package/dist/esm/bs-navigation-drawer.entry.js +4 -4
  699. package/dist/esm/bs-navigation-header.entry.js +4 -4
  700. package/dist/esm/bs-onboarding-checklist.entry.js +1 -1
  701. package/dist/esm/bs-page-header.entry.js +2 -2
  702. package/dist/esm/bs-pagination.entry.js +2 -2
  703. package/dist/esm/{bs-list-item_2.entry.js → bs-popover.entry.js} +3 -64
  704. package/dist/esm/bs-presence.entry.js +2 -2
  705. package/dist/esm/bs-product-tour.entry.js +1 -1
  706. package/dist/esm/bs-progress-linear.entry.js +4 -4
  707. package/dist/esm/bs-progress.entry.js +3 -3
  708. package/dist/esm/bs-qr-code.entry.js +2 -2
  709. package/dist/esm/bs-radio-group.entry.js +88 -0
  710. package/dist/esm/bs-radio.entry.js +6 -2
  711. package/dist/esm/bs-search-item.entry.js +2 -2
  712. package/dist/esm/bs-select.entry.js +232 -0
  713. package/dist/esm/bs-session-timeout.entry.js +2 -2
  714. package/dist/esm/bs-shortcut-row.entry.js +2 -2
  715. package/dist/esm/bs-side-panel.entry.js +1 -1
  716. package/dist/esm/bs-skip-link.entry.js +50 -0
  717. package/dist/esm/bs-slider.entry.js +3 -3
  718. package/dist/esm/bs-snackbar.entry.js +3 -3
  719. package/dist/esm/bs-source-link.entry.js +4 -4
  720. package/dist/esm/bs-split-pane.entry.js +2 -2
  721. package/dist/esm/bs-stack.entry.js +2 -2
  722. package/dist/esm/bs-stat.entry.js +51 -0
  723. package/dist/esm/bs-stepper-step.entry.js +2 -2
  724. package/dist/esm/bs-stepper.entry.js +2 -2
  725. package/dist/esm/bs-switch.entry.js +2 -2
  726. package/dist/esm/bs-tab_3.entry.js +16 -9
  727. package/dist/esm/bs-table-of-contents.entry.js +169 -0
  728. package/dist/esm/bs-tag.entry.js +49 -0
  729. package/dist/esm/bs-text.entry.js +22 -0
  730. package/dist/esm/bs-timepicker.entry.js +3 -3
  731. package/dist/esm/bs-toast.entry.js +2 -2
  732. package/dist/esm/bs-toggle-button-group.entry.js +106 -0
  733. package/dist/esm/bs-toggle-button.entry.js +55 -0
  734. package/dist/esm/bs-toolbar.entry.js +193 -0
  735. package/dist/esm/bs-tooltip-trigger.entry.js +2 -2
  736. package/dist/esm/bs-tooltip.entry.js +2 -2
  737. package/dist/esm/bs-tree-item.entry.js +3 -3
  738. package/dist/esm/bs-tree.entry.js +2 -2
  739. package/dist/esm/bs-whats-new.entry.js +1 -1
  740. package/dist/esm/icon-registry-Vo0zbGRB.js +60 -0
  741. package/dist/esm/{index-D3SkQJpw.js → index-wz7B473u.js} +1 -1
  742. package/dist/esm/index.js +2 -0
  743. package/dist/esm/loader.js +3 -3
  744. package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.d.ts +9 -0
  745. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +22 -6
  746. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +7 -0
  747. package/dist/types/components/bs-card/bs-card.d.ts +35 -0
  748. package/dist/types/components/bs-card/bs-card.stories.d.ts +3 -0
  749. package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +3 -0
  750. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.cmp.test.d.ts +1 -0
  751. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.d.ts +48 -0
  752. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.stories.d.ts +15 -0
  753. package/dist/types/components/bs-code-block/bs-code-block.cmp.test.d.ts +1 -0
  754. package/dist/types/components/bs-code-block/bs-code-block.d.ts +68 -0
  755. package/dist/types/components/bs-code-block/bs-code-block.stories.d.ts +18 -0
  756. package/dist/types/components/bs-data-table/bs-data-table.d.ts +11 -0
  757. package/dist/types/components/bs-description-item/bs-description-item.cmp.test.d.ts +1 -0
  758. package/dist/types/components/bs-description-item/bs-description-item.d.ts +34 -0
  759. package/dist/types/components/bs-description-list/bs-description-list.cmp.test.d.ts +1 -0
  760. package/dist/types/components/bs-description-list/bs-description-list.d.ts +33 -0
  761. package/dist/types/components/bs-description-list/bs-description-list.stories.d.ts +11 -0
  762. package/dist/types/components/bs-dropdown/bs-dropdown.cmp.test.d.ts +1 -0
  763. package/dist/types/components/bs-dropdown/bs-dropdown.d.ts +51 -0
  764. package/dist/types/components/bs-dropdown/bs-dropdown.stories.d.ts +12 -0
  765. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +6 -0
  766. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +3 -0
  767. package/dist/types/components/bs-heading/bs-heading.cmp.test.d.ts +1 -0
  768. package/dist/types/components/bs-heading/bs-heading.d.ts +34 -0
  769. package/dist/types/components/bs-heading/bs-heading.stories.d.ts +15 -0
  770. package/dist/types/components/bs-icon/bs-icon.cmp.test.d.ts +1 -0
  771. package/dist/types/components/bs-icon/bs-icon.d.ts +39 -0
  772. package/dist/types/components/bs-icon/bs-icon.stories.d.ts +16 -0
  773. package/dist/types/components/bs-icon/icon-registry.d.ts +16 -0
  774. package/dist/types/components/bs-input/bs-input.d.ts +83 -12
  775. package/dist/types/components/bs-input/bs-input.stories.d.ts +3 -1
  776. package/dist/types/components/bs-link/bs-link.cmp.test.d.ts +1 -0
  777. package/dist/types/components/bs-link/bs-link.d.ts +48 -0
  778. package/dist/types/components/bs-link/bs-link.stories.d.ts +19 -0
  779. package/dist/types/components/bs-list/bs-list.d.ts +6 -0
  780. package/dist/types/components/bs-list/bs-list.stories.d.ts +4 -0
  781. package/dist/types/components/bs-list-item/bs-list-item.d.ts +3 -0
  782. package/dist/types/components/bs-radio/bs-radio.d.ts +4 -0
  783. package/dist/types/components/bs-radio-group/bs-radio-group.cmp.test.d.ts +1 -0
  784. package/dist/types/components/bs-radio-group/bs-radio-group.d.ts +57 -0
  785. package/dist/types/components/bs-radio-group/bs-radio-group.stories.d.ts +16 -0
  786. package/dist/types/components/bs-select/bs-select.cmp.test.d.ts +1 -0
  787. package/dist/types/components/bs-select/bs-select.d.ts +85 -0
  788. package/dist/types/components/bs-select/bs-select.stories.d.ts +19 -0
  789. package/dist/types/components/bs-skip-link/bs-skip-link.cmp.test.d.ts +1 -0
  790. package/dist/types/components/bs-skip-link/bs-skip-link.d.ts +40 -0
  791. package/dist/types/components/bs-skip-link/bs-skip-link.stories.d.ts +10 -0
  792. package/dist/types/components/bs-stat/bs-stat.cmp.test.d.ts +1 -0
  793. package/dist/types/components/bs-stat/bs-stat.d.ts +56 -0
  794. package/dist/types/components/bs-stat/bs-stat.stories.d.ts +16 -0
  795. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.d.ts +0 -1
  796. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +5 -3
  797. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.cmp.test.d.ts +1 -0
  798. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.d.ts +96 -0
  799. package/dist/types/components/bs-table-of-contents/bs-table-of-contents.stories.d.ts +13 -0
  800. package/dist/types/components/bs-tag/bs-tag.cmp.test.d.ts +1 -0
  801. package/dist/types/components/bs-tag/bs-tag.d.ts +49 -0
  802. package/dist/types/components/bs-tag/bs-tag.stories.d.ts +16 -0
  803. package/dist/types/components/bs-text/bs-text.cmp.test.d.ts +1 -0
  804. package/dist/types/components/bs-text/bs-text.d.ts +31 -0
  805. package/dist/types/components/bs-text/bs-text.stories.d.ts +14 -0
  806. package/dist/types/components/bs-toggle-button/bs-toggle-button.cmp.test.d.ts +1 -0
  807. package/dist/types/components/bs-toggle-button/bs-toggle-button.d.ts +48 -0
  808. package/dist/types/components/bs-toggle-button/bs-toggle-button.stories.d.ts +13 -0
  809. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.cmp.test.d.ts +1 -0
  810. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.d.ts +42 -0
  811. package/dist/types/components/bs-toggle-button-group/bs-toggle-button-group.stories.d.ts +13 -0
  812. package/dist/types/components/bs-toolbar/bs-toolbar.cmp.test.d.ts +1 -0
  813. package/dist/types/components/bs-toolbar/bs-toolbar.d.ts +88 -0
  814. package/dist/types/components/bs-toolbar/bs-toolbar.stories.d.ts +13 -0
  815. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.d.ts +11 -1
  816. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +3 -0
  817. package/dist/types/components.d.ts +3107 -88
  818. package/dist/types/index.d.ts +1 -0
  819. package/dist/types/test/helpers/block-link-navigation.d.ts +8 -0
  820. package/dist/types/test/helpers/contrast.d.ts +5 -0
  821. package/package.json +1 -1
  822. package/reference.d.ts +63 -9
  823. package/reference.json +668 -15
  824. package/dist/brandsync-wc/p-08649f52.entry.js +0 -1
  825. package/dist/brandsync-wc/p-1580c56c.entry.js +0 -1
  826. package/dist/brandsync-wc/p-171fa239.entry.js +0 -1
  827. package/dist/brandsync-wc/p-197ac73f.entry.js +0 -1
  828. package/dist/brandsync-wc/p-270b2cb0.entry.js +0 -1
  829. package/dist/brandsync-wc/p-28c38959.entry.js +0 -1
  830. package/dist/brandsync-wc/p-2a967b45.entry.js +0 -1
  831. package/dist/brandsync-wc/p-2b3d0bd4.entry.js +0 -1
  832. package/dist/brandsync-wc/p-3627e0c6.entry.js +0 -1
  833. package/dist/brandsync-wc/p-38a2210a.entry.js +0 -1
  834. package/dist/brandsync-wc/p-3b212a8a.entry.js +0 -1
  835. package/dist/brandsync-wc/p-4dfd4715.entry.js +0 -1
  836. package/dist/brandsync-wc/p-6afacd47.entry.js +0 -1
  837. package/dist/brandsync-wc/p-6f32a08e.entry.js +0 -1
  838. package/dist/brandsync-wc/p-D3SkQJpw.js +0 -3
  839. package/dist/brandsync-wc/p-ab301e9d.entry.js +0 -1
  840. package/dist/brandsync-wc/p-d15e48eb.entry.js +0 -1
  841. package/dist/brandsync-wc/p-e776d145.entry.js +0 -1
  842. package/dist/brandsync-wc/p-eb680cff.entry.js +0 -1
  843. package/dist/brandsync-wc/p-f4628861.entry.js +0 -1
  844. package/dist/brandsync-wc/p-f5e6fdf8.entry.js +0 -1
  845. package/dist/brandsync-wc/p-f93127e1.entry.js +0 -1
  846. package/dist/cjs/bs-input_3.cjs.entry.js +0 -461
  847. package/dist/cjs/bs-spinner.cjs.entry.js +0 -24
  848. package/dist/components/p-B2gx7SZk.js +0 -1
  849. package/dist/components/p-BHzj13sd.js +0 -1
  850. package/dist/components/p-BIxcCDgl.js +0 -1
  851. package/dist/components/p-BfCah-Ij.js +0 -1
  852. package/dist/components/p-CvSewXZF.js +0 -1
  853. package/dist/components/p-DsBToIYE.js +0 -1
  854. package/dist/components/p-EGNLb4cQ.js +0 -1
  855. package/dist/components/p-Jik5UkAe.js +0 -1
  856. package/dist/components/p-syO0ipbw.js +0 -1
  857. package/dist/components/p-up01gvHY.js +0 -1
  858. package/dist/esm/bs-input_3.entry.js +0 -457
  859. package/dist/esm/bs-spinner.entry.js +0 -22
@@ -0,0 +1,126 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Body and caption text mapped to the typography tokens, with the element (`as`) chosen separately
4
+ * from the look (`variant`) and the colour (`tone`).
5
+ *
6
+ * Variants: `lead` 18px, `body` 16px, `small` 14px, `caption` 12px (`--bs-font-size-*`,
7
+ * `--bs-typography-font-family-body`).
8
+ *
9
+ * Composed from: nothing (leaf).
10
+ *
11
+ * ## When to use
12
+ * - Paragraphs, helper copy, captions and inline spans that should follow the type scale and theme.
13
+ *
14
+ * ## When not to use
15
+ * - Headings: use `bs-heading` so the document outline is right.
16
+ * - Code: use `bs-code-block`.
17
+ *
18
+ * @slot - The text.
19
+ * @part text - The rendered text element.
20
+ */
21
+ export class BsText {
22
+ /** The rendered element. `span` (and `small`, `strong`, `em`, `label`) make the host inline. */
23
+ as = 'p';
24
+ /** Visual style. */
25
+ variant = 'body';
26
+ /** Text colour from the text tokens. `inherit` uses the surrounding colour. */
27
+ tone = 'default';
28
+ render() {
29
+ const Tag = this.as;
30
+ return (h(Tag, { key: '249b8ddd92904587ac8eff6a585f03e8d228aae9', part: "text", class: `bs-text bs-text--${this.variant}` }, h("slot", { key: '2e29e03955058bb6feb8aff484ddf0f7d5836cd0' })));
31
+ }
32
+ static get is() { return "bs-text"; }
33
+ static get encapsulation() { return "shadow"; }
34
+ static get originalStyleUrls() {
35
+ return {
36
+ "$": ["bs-text.css"]
37
+ };
38
+ }
39
+ static get styleUrls() {
40
+ return {
41
+ "$": ["bs-text.css"]
42
+ };
43
+ }
44
+ static get properties() {
45
+ return {
46
+ "as": {
47
+ "type": "string",
48
+ "mutable": false,
49
+ "complexType": {
50
+ "original": "BsTextAs",
51
+ "resolved": "\"div\" | \"em\" | \"label\" | \"p\" | \"small\" | \"span\" | \"strong\"",
52
+ "references": {
53
+ "BsTextAs": {
54
+ "location": "local",
55
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-text/bs-text.tsx",
56
+ "id": "src/components/bs-text/bs-text.tsx::BsTextAs"
57
+ }
58
+ }
59
+ },
60
+ "required": false,
61
+ "optional": false,
62
+ "docs": {
63
+ "tags": [],
64
+ "text": "The rendered element. `span` (and `small`, `strong`, `em`, `label`) make the host inline."
65
+ },
66
+ "getter": false,
67
+ "setter": false,
68
+ "reflect": true,
69
+ "attribute": "as",
70
+ "defaultValue": "'p'"
71
+ },
72
+ "variant": {
73
+ "type": "string",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "BsTextVariant",
77
+ "resolved": "\"body\" | \"caption\" | \"lead\" | \"small\"",
78
+ "references": {
79
+ "BsTextVariant": {
80
+ "location": "local",
81
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-text/bs-text.tsx",
82
+ "id": "src/components/bs-text/bs-text.tsx::BsTextVariant"
83
+ }
84
+ }
85
+ },
86
+ "required": false,
87
+ "optional": false,
88
+ "docs": {
89
+ "tags": [],
90
+ "text": "Visual style."
91
+ },
92
+ "getter": false,
93
+ "setter": false,
94
+ "reflect": true,
95
+ "attribute": "variant",
96
+ "defaultValue": "'body'"
97
+ },
98
+ "tone": {
99
+ "type": "string",
100
+ "mutable": false,
101
+ "complexType": {
102
+ "original": "BsTextTone",
103
+ "resolved": "\"action\" | \"default\" | \"error\" | \"info\" | \"inherit\" | \"inverse\" | \"link\" | \"muted\" | \"secondary\" | \"success\" | \"warning\"",
104
+ "references": {
105
+ "BsTextTone": {
106
+ "location": "local",
107
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-text/bs-text.tsx",
108
+ "id": "src/components/bs-text/bs-text.tsx::BsTextTone"
109
+ }
110
+ }
111
+ },
112
+ "required": false,
113
+ "optional": false,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": "Text colour from the text tokens. `inherit` uses the surrounding colour."
117
+ },
118
+ "getter": false,
119
+ "setter": false,
120
+ "reflect": true,
121
+ "attribute": "tone",
122
+ "defaultValue": "'default'"
123
+ }
124
+ };
125
+ }
126
+ }
@@ -0,0 +1,25 @@
1
+ import { html } from "lit";
2
+ import { componentDescription } from "../../stories-utils";
3
+ const meta = {
4
+ title: 'Components/bs-text',
5
+ parameters: { docs: { description: { component: componentDescription('bs-text') } } },
6
+ render: args => html `<bs-text as=${args.as} variant=${args.variant} tone=${args.tone}>${args.text}</bs-text>`,
7
+ argTypes: {
8
+ as: { control: 'select', options: ['p', 'span', 'div', 'label', 'small', 'strong', 'em'] },
9
+ variant: { control: 'inline-radio', options: ['lead', 'body', 'small', 'caption'] },
10
+ tone: { control: 'select', options: ['default', 'secondary', 'muted', 'action', 'link', 'success', 'info', 'warning', 'error', 'inverse', 'inherit'] },
11
+ text: { control: 'text' },
12
+ },
13
+ args: { as: 'p', variant: 'body', tone: 'default', text: 'Payment reminders are sent at the time your customers are most likely to respond.' },
14
+ };
15
+ export default meta;
16
+ export const Default = {};
17
+ export const Variants = {
18
+ render: () => html `${['lead', 'body', 'small', 'caption'].map(v => html `<bs-text variant=${v}>${v}: The quick brown fox jumps over the lazy dog.</bs-text>`)}`,
19
+ };
20
+ export const Tones = {
21
+ render: () => html `${['default', 'secondary', 'muted', 'action', 'link', 'success', 'info', 'warning', 'error'].map(t => html `<bs-text tone=${t}>Tone ${t}</bs-text>`)}`,
22
+ };
23
+ export const Inline = {
24
+ render: () => html `<bs-text>Total due <bs-text as="span" tone="error">kr 1 480,00</bs-text> by Friday.</bs-text>`,
25
+ };
@@ -200,14 +200,14 @@ export class BsTimepicker {
200
200
  return (h("div", { part: "spinner", class: "bs-timepicker__spinner" }, h("button", { part: "step", type: "button", class: "bs-timepicker__step", "aria-label": stepLabel(this.increaseLabel), tabindex: -1, onClick: () => this.stepBy(col, 1) }, h("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { d: "M18 15L12 9L6 15", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { part: "value", class: "bs-timepicker__value", role: "spinbutton", tabindex: 0, "aria-label": label, "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": n, "aria-valuetext": pad(n), onKeyDown: this.onKeyDown(col), onBlur: () => (this.typed = '') }, pad(n)), h("button", { part: "step", type: "button", class: "bs-timepicker__step", "aria-label": stepLabel(this.decreaseLabel), tabindex: -1, onClick: () => this.stepBy(col, -1) }, h("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { d: "M6 9L12 15L18 9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))));
201
201
  }
202
202
  render() {
203
- return (h("bs-card", { key: 'b1fee3176c728113e01b14515e910f7026b2c40e', part: "container", class: "bs-timepicker", surface: "raised" }, h("div", { key: '29246aa5712a7f1e391338a579f3d7660a7a8b66', class: "bs-timepicker__body" }, h("div", { key: '0ccbf049e87278cc973262f45025843eccc4e050', part: "header", class: "bs-timepicker__header" }, h("div", { key: 'e039bff5a90391b009739a2747255dfa21961394', part: "title", class: "bs-timepicker__title" }, this.heading), h("label", { key: '7f7be2239e319dc2052891a8199bc1d0cc9bb516', class: "bs-timepicker__format" }, h("span", { key: 'a9acefb7f828b6740df0ef4f8c29c9f12c951f91' }, this.formatLabel), h("bs-switch", { key: '4a0ed6ac9b476ac690897f5fc97461a2ba1d9187', part: "format-toggle", size: "md", ariaLabel: this.formatLabel, checked: !this.is12h, onBsChange: (ev) => (this.format = ev.detail ? '24h' : '12h') }))), h("div", { key: '615e0947d07879b5096520f6a6131b5d7126bd5a', class: "bs-timepicker__divider" }), h("div", { key: 'bec825c705ecb1dcf49527df3ffda30f06815f8d', part: "selector", class: "bs-timepicker__selector" }, this.renderColumn('hour', this.hourLabel), h("div", { key: 'b1afee8b925ce49e44e6d2389ac03697b108dbc4', part: "separator", class: "bs-timepicker__separator", "aria-hidden": "true" }, h("svg", { key: 'a716d2643c7a0ea095380283f535f5cd44a77ba9', viewBox: "0 0 4 32", fill: "currentColor" }, h("circle", { key: 'f271946fadd8f8f8e3086c731af9501461e6ef26', cx: "2", cy: "10", r: "2" }), h("circle", { key: 'e661d9d6b96598430853eefca97bccf6138c00b8', cx: "2", cy: "22", r: "2" }))), this.renderColumn('minute', this.minuteLabel), this.is12h && (h("bs-input", { key: 'be80bc06f68362e85510a9450d693483e9bb2d3c', part: "period", class: "bs-timepicker__period", type: "dropdown", label: this.periodLabel, value: this.isPm ? 'PM' : 'AM', options: [
203
+ return (h("bs-card", { key: 'fdbf8e19525a53d43094d1b2115c232fb0ea9500', part: "container", class: "bs-timepicker", surface: "raised" }, h("div", { key: 'a2b9aa1ce9529d3f52fd45f4ca5af02582930a15', class: "bs-timepicker__body" }, h("div", { key: 'c59f6c9fdec3a1f9ffb81aa7e5bac9421dadcd35', part: "header", class: "bs-timepicker__header" }, h("div", { key: '2825b6a11f97a7186eb6340faa816b0b6d8be28a', part: "title", class: "bs-timepicker__title" }, this.heading), h("label", { key: '4f6dc3e9768f0396b3e59943496a9d9443a8501c', class: "bs-timepicker__format" }, h("span", { key: 'b94eccc6949019c78b98051a8eba3d41a4546cf1' }, this.formatLabel), h("bs-switch", { key: '6a2d43b1b37472720d5ca1f84951dc908b37689e', part: "format-toggle", size: "md", ariaLabel: this.formatLabel, checked: !this.is12h, onBsChange: (ev) => (this.format = ev.detail ? '24h' : '12h') }))), h("div", { key: '01efb69cc03be59785b36df9fccf4452a1894225', class: "bs-timepicker__divider" }), h("div", { key: 'ead194685c2ae0976d4f134ad0231208e3fab1ea', part: "selector", class: "bs-timepicker__selector" }, this.renderColumn('hour', this.hourLabel), h("div", { key: '0250edfefe27363208489c147026462edbf7648a', part: "separator", class: "bs-timepicker__separator", "aria-hidden": "true" }, h("svg", { key: 'e79c68f3dd11a3ee9edd5d18ebd9065e4019f029', viewBox: "0 0 4 32", fill: "currentColor" }, h("circle", { key: 'b0fcd6e48bddfbf722c0aa6356be05665258cda6', cx: "2", cy: "10", r: "2" }), h("circle", { key: '892630f5f5a51aa48f97d8a7c86791aef6bd2ba2', cx: "2", cy: "22", r: "2" }))), this.renderColumn('minute', this.minuteLabel), this.is12h && (h("bs-input", { key: '502e6bebb0f241b3800b699efbb8cdbcf671597d', part: "period", class: "bs-timepicker__period", type: "dropdown", label: this.periodLabel, value: this.isPm ? 'PM' : 'AM', options: [
204
204
  { label: 'AM', value: 'AM' },
205
205
  { label: 'PM', value: 'PM' },
206
206
  ], onBsChange: (ev) => {
207
207
  const pm = ev.detail === 'PM';
208
208
  if (pm !== this.isPm)
209
209
  this.hour = (this.hour + 12) % 24;
210
- } }))), h("div", { key: 'e3f5ed344ef98046ea70b97aee10ac63f8fb631a', class: "bs-timepicker__divider" }), h("div", { key: '8b8b51a4e2f105a87031a20c4f468547c5785f08', part: "footer", class: "bs-timepicker__footer" }, h("bs-button", { key: 'cfe71e9a9aac09fd0be9535bbbbaf230f9d84a6a', part: "cancel", variant: "subtle", onClick: this.cancel }, this.cancelLabel), h("bs-button", { key: '2c5ad6714d50a248641c0de155c14dcee3857f1e', part: "confirm", variant: "primary", onClick: this.confirm }, this.confirmLabel)))));
210
+ } }))), h("div", { key: 'ed95958ca424696e252fe90eab8855d0bdffd89c', class: "bs-timepicker__divider" }), h("div", { key: '77c404d4617a5ee6f669a2ffba63fa5729f98cf5', part: "footer", class: "bs-timepicker__footer" }, h("bs-button", { key: 'fbeb76d30f1eea912b3e37def67f8058b74626a7', part: "cancel", variant: "subtle", onClick: this.cancel }, this.cancelLabel), h("bs-button", { key: '1baf37a0708379ef23951f76765d048087d3083b', part: "confirm", variant: "primary", onClick: this.confirm }, this.confirmLabel)))));
211
211
  }
212
212
  static get is() { return "bs-timepicker"; }
213
213
  static get encapsulation() { return "shadow"; }
@@ -27,7 +27,7 @@ export class BsToast {
27
27
  this.bsDismiss.emit();
28
28
  };
29
29
  render() {
30
- return (h("div", { key: 'ea3ed372472902ee9cf1e141906dec39991a6ac5', part: "container", class: `bs-toast bs-toast--${this.state}`, role: "status", "aria-live": this.state === 'error' ? 'assertive' : 'polite' }, h("div", { key: 'b5cd7562bf23e9b62101d6c6fbd7d0c4c34263ef', class: "bs-toast__content" }, h("span", { key: '3f8503c548a6d25eb2322d0df601c7a32047285c', part: "icon", class: "bs-toast__icon", "aria-hidden": "true" }, h(StateIcon, { key: '455b38877ab4e0d48a5ff02f17eb6e8f248c52ce', state: this.state })), h("span", { key: '1f2f0013b4171170d5739ad614711f8a91f35fa7', part: "message", class: "bs-toast__message" }, h("slot", { key: '1298f3d0fbb25843418b8e730d3ed84264e86759' }))), h("div", { key: 'b6c64714995f907901e78ed3c99bc03bbdaee468', class: "bs-toast__actions" }, h("button", { key: '5d92217352987cdd55b4ce5c7f49d7f44c766fe8', part: "close", type: "button", class: "bs-toast__close", "aria-label": this.dismissLabel, onClick: this.onDismiss }, h(CloseIcon, { key: 'cb983078424ad5b520dffeda81d8bcafd1b9cf2b' })))));
30
+ return (h("div", { key: '8cca96362a50acd1f552c08163e8a2991b191d17', part: "container", class: `bs-toast bs-toast--${this.state}`, role: "status", "aria-live": this.state === 'error' ? 'assertive' : 'polite' }, h("div", { key: '01cc2a6b9b8ba851dec751efff862fe3225058be', class: "bs-toast__content" }, h("span", { key: '29ed8cc01ac3f5b46d0cb8299bc60af5fdaf281c', part: "icon", class: "bs-toast__icon", "aria-hidden": "true" }, h(StateIcon, { key: '568f57389206d284b9717fa7f1cb894f20d50cf7', state: this.state })), h("span", { key: '7271784969a334c9e5f297a1ca845c2c08d12c5d', part: "message", class: "bs-toast__message" }, h("slot", { key: 'b46cf88eb3ac95c47ea8aff52f9accd1a9755546' }))), h("div", { key: '23d69f46262dbd5a4279d608f4a72c2a9c2e1463', class: "bs-toast__actions" }, h("button", { key: '722b445b6fcf22f97ed44fca3ecd9a2d286f8bad', part: "close", type: "button", class: "bs-toast__close", "aria-label": this.dismissLabel, onClick: this.onDismiss }, h(CloseIcon, { key: '2401bd61c3f8873b8a37d2f9474850c253b1b9ab' })))));
31
31
  }
32
32
  static get is() { return "bs-toast"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,47 @@
1
+ import { render, h, describe, it, expect } from "@stencil/vitest";
2
+ describe('bs-toggle-button', () => {
3
+ it('is a toggle with aria-pressed by default and emits bsChange', async () => {
4
+ const { root, waitForChanges, spyOnEvent } = await render(h("bs-toggle-button", null, "Bold"));
5
+ const spy = spyOnEvent('bsChange');
6
+ const btn = root.shadowRoot.querySelector('button');
7
+ expect(btn.getAttribute('aria-pressed')).toBe('false');
8
+ btn.click();
9
+ await waitForChanges();
10
+ expect(btn.getAttribute('aria-pressed')).toBe('true');
11
+ expect(root.pressed).toBe(true);
12
+ expect(spy).toHaveReceivedEventDetail(true);
13
+ btn.click();
14
+ await waitForChanges();
15
+ expect(spy).toHaveReceivedEventDetail(false);
16
+ });
17
+ it('radio mode uses role=radio/aria-checked and does not unpress', async () => {
18
+ const { root, waitForChanges, spyOnEvent } = await render(h("bs-toggle-button", { mode: "radio", pressed: true }, "A"));
19
+ const spy = spyOnEvent('bsChange');
20
+ const btn = root.shadowRoot.querySelector('button');
21
+ expect(btn.getAttribute('role')).toBe('radio');
22
+ expect(btn.getAttribute('aria-checked')).toBe('true');
23
+ expect(btn.hasAttribute('aria-pressed')).toBe(false);
24
+ btn.click();
25
+ await waitForChanges();
26
+ expect(spy).toHaveReceivedEventTimes(0);
27
+ });
28
+ it('disabled blocks interaction', async () => {
29
+ const { root, waitForChanges, spyOnEvent } = await render(h("bs-toggle-button", { disabled: true }, "A"));
30
+ const spy = spyOnEvent('bsChange');
31
+ const btn = root.shadowRoot.querySelector('button');
32
+ expect(btn.disabled).toBe(true);
33
+ btn.click();
34
+ await waitForChanges();
35
+ expect(spy).toHaveReceivedEventTimes(0);
36
+ });
37
+ it('is icon-only without label text and passes ariaLabel', async () => {
38
+ const { root } = await render(h("bs-toggle-button", { ariaLabel: "Grid view" }, h("svg", { slot: "icon", viewBox: "0 0 8 8" })));
39
+ const btn = root.shadowRoot.querySelector('button');
40
+ expect(btn.getAttribute('aria-label')).toBe('Grid view');
41
+ expect(btn).toHaveClass('bs-toggle-button--icon-only');
42
+ });
43
+ it('tabbable=false sets tabindex -1', async () => {
44
+ const { root } = await render(h("bs-toggle-button", { tabbable: false }, "A"));
45
+ expect(root.shadowRoot.querySelector('button').getAttribute('tabindex')).toBe('-1');
46
+ });
47
+ });
@@ -0,0 +1,125 @@
1
+ /**
2
+ * @prop --bs-toggle-button-height: Button height. Aliased to --bs-spacing-550 (44px).
3
+ * @prop --bs-toggle-button-padding-x: Horizontal padding. Aliased to --bs-spacing-200.
4
+ * @prop --bs-toggle-button-gap: Gap between icon and label. Aliased to --bs-spacing-100.
5
+ * @prop --bs-toggle-button-radius: Corner radius (a group squares the inner corners). Aliased to --bs-border-radius-100.
6
+ * @prop --bs-toggle-button-border-width: Border width. Aliased to --bs-border-width-thin.
7
+ * @prop --bs-toggle-button-border: Border color. Aliased to --bs-border-neutral-container.
8
+ * @prop --bs-toggle-button-border-pressed: Border color when pressed. Aliased to --bs-border-primary.
9
+ * @prop --bs-toggle-button-bg: Background, default. Aliased to --bs-surface-base.
10
+ * @prop --bs-toggle-button-bg-hover: Background on hover. Aliased to --bs-color-neutral-container-hover.
11
+ * @prop --bs-toggle-button-bg-pressed: Background when pressed. Aliased to --bs-color-primary-container.
12
+ * @prop --bs-toggle-button-bg-pressed-hover: Background when pressed and hovered. Aliased to --bs-color-primary-container-hover.
13
+ * @prop --bs-toggle-button-bg-disabled: Background when disabled. Aliased to --bs-surface-action-disabled.
14
+ * @prop --bs-toggle-button-color: Label/icon color. Aliased to --bs-text-default.
15
+ * @prop --bs-toggle-button-color-pressed: Label/icon color when pressed. Aliased to --bs-text-action.
16
+ * @prop --bs-toggle-button-color-disabled: Label/icon color when disabled. Aliased to --bs-text-on-disabled.
17
+ * @prop --bs-toggle-button-focus-ring-color: Keyboard focus ring. Aliased to --bs-border-neutral-focus.
18
+ */
19
+ :host {
20
+ display: inline-block;
21
+ position: relative;
22
+
23
+ --bs-toggle-button-height: var(--bs-spacing-550);
24
+ --bs-toggle-button-padding-x: var(--bs-spacing-200);
25
+ --bs-toggle-button-gap: var(--bs-spacing-100);
26
+ --bs-toggle-button-radius: var(--bs-border-radius-100);
27
+ --bs-toggle-button-border-width: var(--bs-border-width-thin);
28
+ --bs-toggle-button-border: var(--bs-border-neutral-container);
29
+ --bs-toggle-button-border-pressed: var(--bs-border-primary);
30
+ --bs-toggle-button-bg: var(--bs-surface-base);
31
+ --bs-toggle-button-bg-hover: var(--bs-color-neutral-container-hover);
32
+ --bs-toggle-button-bg-pressed: var(--bs-color-primary-container);
33
+ --bs-toggle-button-bg-pressed-hover: var(--bs-color-primary-container-hover);
34
+ --bs-toggle-button-bg-disabled: var(--bs-surface-action-disabled);
35
+ --bs-toggle-button-color: var(--bs-text-default);
36
+ --bs-toggle-button-color-pressed: var(--bs-text-action);
37
+ --bs-toggle-button-color-disabled: var(--bs-text-on-disabled);
38
+ --bs-toggle-button-focus-ring-color: var(--bs-border-neutral-focus);
39
+ }
40
+
41
+ :host(:hover),
42
+ :host(:focus-within) {
43
+ z-index: 1;
44
+ }
45
+
46
+ .bs-toggle-button {
47
+ box-sizing: border-box;
48
+ position: relative;
49
+ overflow: hidden;
50
+ display: inline-flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ gap: var(--bs-toggle-button-gap);
54
+ height: var(--bs-toggle-button-height);
55
+ min-width: var(--bs-toggle-button-height);
56
+ padding: 0 var(--bs-toggle-button-padding-x);
57
+ border: var(--bs-toggle-button-border-width) solid var(--bs-toggle-button-border);
58
+ border-radius: var(--bs-toggle-button-radius);
59
+ background: var(--bs-toggle-button-bg);
60
+ color: var(--bs-toggle-button-color);
61
+ font-family: inherit;
62
+ font-size: var(--bs-font-size-md);
63
+ font-weight: var(--bs-font-weight-medium);
64
+ cursor: pointer;
65
+ }
66
+
67
+ .bs-toggle-button--icon-only {
68
+ padding: 0;
69
+ }
70
+
71
+ .bs-toggle-button:hover:not(:disabled) {
72
+ background: var(--bs-toggle-button-bg-hover);
73
+ }
74
+
75
+ .bs-toggle-button--pressed {
76
+ background: var(--bs-toggle-button-bg-pressed);
77
+ border-color: var(--bs-toggle-button-border-pressed);
78
+ color: var(--bs-toggle-button-color-pressed);
79
+ }
80
+
81
+ .bs-toggle-button--pressed:hover:not(:disabled) {
82
+ background: var(--bs-toggle-button-bg-pressed-hover);
83
+ }
84
+
85
+ .bs-toggle-button:focus-visible {
86
+ outline: 2px solid var(--bs-toggle-button-focus-ring-color);
87
+ outline-offset: 2px;
88
+ }
89
+
90
+ .bs-toggle-button:disabled {
91
+ background: var(--bs-toggle-button-bg-disabled);
92
+ color: var(--bs-toggle-button-color-disabled);
93
+ cursor: not-allowed;
94
+ }
95
+
96
+ .bs-toggle-button__icon {
97
+ display: none;
98
+ width: var(--bs-spacing-300);
99
+ height: var(--bs-spacing-300);
100
+ }
101
+
102
+ .bs-toggle-button__icon ::slotted(*) {
103
+ display: block;
104
+ width: 100%;
105
+ height: 100%;
106
+ }
107
+
108
+ /* The icon wrapper only takes space once an icon is slotted. */
109
+ .bs-toggle-button__icon--has-content {
110
+ display: inline-flex;
111
+ }
112
+
113
+ .bs-toggle-button__label {
114
+ display: inline-flex;
115
+ }
116
+
117
+ .bs-toggle-button--icon-only .bs-toggle-button__label {
118
+ display: none;
119
+ }
120
+
121
+ @media (forced-colors: active) {
122
+ .bs-toggle-button { border-color: ButtonText; }
123
+ .bs-toggle-button--pressed { background: Highlight; color: HighlightText; }
124
+ .bs-toggle-button:disabled { border-color: GrayText; color: GrayText; }
125
+ }
@@ -0,0 +1,234 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * A button that is either pressed or not. Standalone it is a toggle (`aria-pressed`); inside a
4
+ * `bs-toggle-button-group` the group sets its `mode` (`toggle` for multiple choice, `radio` for
5
+ * single choice, which switches the semantics to `role="radio"` + `aria-checked`).
6
+ *
7
+ * Built from: hand-built `<button>` (the segment shape and pressed state differ from `bs-button`) plus
8
+ * `bs-ripple`.
9
+ *
10
+ * ## When to use
11
+ * - A two-state option such as "Bold", or a segment of a `bs-toggle-button-group`.
12
+ *
13
+ * ## When not to use
14
+ * - Triggering an action (use `bs-button`) or an on/off setting that applies immediately (use `bs-switch`).
15
+ *
16
+ * @slot icon - Optional leading icon (24x24). With no default-slot text the button is icon-only and
17
+ * needs `ariaLabel`.
18
+ * @slot - Default slot: the label text.
19
+ * @part button - The native button.
20
+ * @part icon - The icon wrapper.
21
+ * @part label - The label wrapper.
22
+ * @part ripple - The press-ripple (a `bs-ripple`).
23
+ */
24
+ // Note: CSS Custom Properties (--bs-toggle-button-*) are documented via @prop comments in the css file.
25
+ export class BsToggleButton {
26
+ el;
27
+ /** Identifies the segment inside a group's `value`/`values`. */
28
+ value;
29
+ /** Whether the button is pressed/selected. */
30
+ pressed = false;
31
+ /** Disables the button. */
32
+ disabled = false;
33
+ /** Semantics. Normally set by the parent group. */
34
+ mode = 'toggle';
35
+ /** Roving tabindex, set by the parent group (`false` = `tabindex="-1"`). Standalone: always tabbable. */
36
+ tabbable = true;
37
+ /** Accessible name; required for an icon-only button. */
38
+ ariaLabel = null;
39
+ /** Emitted on user interaction with the new `pressed` value. A radio-mode button that is already
40
+ * pressed does not emit. Bubbles, so a group can coordinate its segments. */
41
+ bsChange;
42
+ hasLabel = false;
43
+ hasIcon = false;
44
+ onIconSlotchange = (ev) => {
45
+ this.hasIcon = ev.target.assignedNodes().length > 0;
46
+ };
47
+ onLabelSlotchange = (ev) => {
48
+ this.hasLabel = ev.target.assignedNodes().some(n => n.nodeType === 1 || !!n.textContent?.trim());
49
+ };
50
+ onClick = () => {
51
+ if (this.disabled)
52
+ return;
53
+ if (this.mode === 'radio') {
54
+ if (this.pressed)
55
+ return;
56
+ this.pressed = true;
57
+ }
58
+ else {
59
+ this.pressed = !this.pressed;
60
+ }
61
+ this.bsChange.emit(this.pressed);
62
+ };
63
+ render() {
64
+ const radio = this.mode === 'radio';
65
+ return (h("button", { key: 'ec490445b357966720ae68f8f1e748d650b4028f', type: "button", part: "button", class: `bs-toggle-button ${this.pressed ? 'bs-toggle-button--pressed' : ''} ${this.hasLabel ? '' : 'bs-toggle-button--icon-only'}`, role: radio ? 'radio' : undefined, "aria-pressed": radio ? undefined : String(this.pressed), "aria-checked": radio ? String(this.pressed) : undefined, "aria-label": this.ariaLabel, disabled: this.disabled, tabindex: this.tabbable ? undefined : -1, onClick: this.onClick }, h("bs-ripple", { key: 'd774dd4ba709a7056a66148ce10a530198a6880b', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: '2379755618752fedb3c877a10513f2c62f8cbb9c', part: "icon", class: `bs-toggle-button__icon ${this.hasIcon ? 'bs-toggle-button__icon--has-content' : ''}` }, h("slot", { key: '15ad567b32ede0f8aa8bc00f3aebf232044cb2fb', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'd103bd76433e1aa4876380b6fb24061fb37b1643', part: "label", class: "bs-toggle-button__label" }, h("slot", { key: '83257a1e5543cc7e3ce490a52617c7d599605cec', onSlotchange: this.onLabelSlotchange }))));
66
+ }
67
+ static get is() { return "bs-toggle-button"; }
68
+ static get encapsulation() { return "shadow"; }
69
+ static get delegatesFocus() { return true; }
70
+ static get originalStyleUrls() {
71
+ return {
72
+ "$": ["bs-toggle-button.css"]
73
+ };
74
+ }
75
+ static get styleUrls() {
76
+ return {
77
+ "$": ["bs-toggle-button.css"]
78
+ };
79
+ }
80
+ static get properties() {
81
+ return {
82
+ "value": {
83
+ "type": "string",
84
+ "mutable": false,
85
+ "complexType": {
86
+ "original": "string",
87
+ "resolved": "string",
88
+ "references": {}
89
+ },
90
+ "required": false,
91
+ "optional": true,
92
+ "docs": {
93
+ "tags": [],
94
+ "text": "Identifies the segment inside a group's `value`/`values`."
95
+ },
96
+ "getter": false,
97
+ "setter": false,
98
+ "reflect": false,
99
+ "attribute": "value"
100
+ },
101
+ "pressed": {
102
+ "type": "boolean",
103
+ "mutable": true,
104
+ "complexType": {
105
+ "original": "boolean",
106
+ "resolved": "boolean",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Whether the button is pressed/selected."
114
+ },
115
+ "getter": false,
116
+ "setter": false,
117
+ "reflect": true,
118
+ "attribute": "pressed",
119
+ "defaultValue": "false"
120
+ },
121
+ "disabled": {
122
+ "type": "boolean",
123
+ "mutable": false,
124
+ "complexType": {
125
+ "original": "boolean",
126
+ "resolved": "boolean",
127
+ "references": {}
128
+ },
129
+ "required": false,
130
+ "optional": false,
131
+ "docs": {
132
+ "tags": [],
133
+ "text": "Disables the button."
134
+ },
135
+ "getter": false,
136
+ "setter": false,
137
+ "reflect": true,
138
+ "attribute": "disabled",
139
+ "defaultValue": "false"
140
+ },
141
+ "mode": {
142
+ "type": "string",
143
+ "mutable": false,
144
+ "complexType": {
145
+ "original": "BsToggleButtonMode",
146
+ "resolved": "\"radio\" | \"toggle\"",
147
+ "references": {
148
+ "BsToggleButtonMode": {
149
+ "location": "local",
150
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-toggle-button/bs-toggle-button.tsx",
151
+ "id": "src/components/bs-toggle-button/bs-toggle-button.tsx::BsToggleButtonMode"
152
+ }
153
+ }
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "Semantics. Normally set by the parent group."
160
+ },
161
+ "getter": false,
162
+ "setter": false,
163
+ "reflect": true,
164
+ "attribute": "mode",
165
+ "defaultValue": "'toggle'"
166
+ },
167
+ "tabbable": {
168
+ "type": "boolean",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "boolean",
172
+ "resolved": "boolean",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": false,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": "Roving tabindex, set by the parent group (`false` = `tabindex=\"-1\"`). Standalone: always tabbable."
180
+ },
181
+ "getter": false,
182
+ "setter": false,
183
+ "reflect": false,
184
+ "attribute": "tabbable",
185
+ "defaultValue": "true"
186
+ },
187
+ "ariaLabel": {
188
+ "type": "string",
189
+ "mutable": false,
190
+ "complexType": {
191
+ "original": "string | null",
192
+ "resolved": "string",
193
+ "references": {}
194
+ },
195
+ "required": false,
196
+ "optional": false,
197
+ "docs": {
198
+ "tags": [],
199
+ "text": "Accessible name; required for an icon-only button."
200
+ },
201
+ "getter": false,
202
+ "setter": false,
203
+ "reflect": false,
204
+ "attribute": "aria-label",
205
+ "defaultValue": "null"
206
+ }
207
+ };
208
+ }
209
+ static get states() {
210
+ return {
211
+ "hasLabel": {},
212
+ "hasIcon": {}
213
+ };
214
+ }
215
+ static get events() {
216
+ return [{
217
+ "method": "bsChange",
218
+ "name": "bsChange",
219
+ "bubbles": true,
220
+ "cancelable": true,
221
+ "composed": true,
222
+ "docs": {
223
+ "tags": [],
224
+ "text": "Emitted on user interaction with the new `pressed` value. A radio-mode button that is already\npressed does not emit. Bubbles, so a group can coordinate its segments."
225
+ },
226
+ "complexType": {
227
+ "original": "boolean",
228
+ "resolved": "boolean",
229
+ "references": {}
230
+ }
231
+ }];
232
+ }
233
+ static get elementRef() { return "el"; }
234
+ }
@@ -0,0 +1,22 @@
1
+ import { html } from "lit";
2
+ import { componentDescription, propDescription } from "../../stories-utils";
3
+ const gridIcon = html `<svg slot="icon" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z" stroke="currentColor" stroke-width="1.5"/></svg>`;
4
+ const meta = {
5
+ title: 'Components/bs-toggle-button',
6
+ parameters: { docs: { description: { component: componentDescription('bs-toggle-button') } } },
7
+ render: args => html `<bs-toggle-button ?pressed=${args.pressed} ?disabled=${args.disabled}>${args.label}</bs-toggle-button>`,
8
+ argTypes: {
9
+ pressed: { control: 'boolean', description: propDescription('bs-toggle-button', 'pressed') },
10
+ disabled: { control: 'boolean', description: propDescription('bs-toggle-button', 'disabled') },
11
+ label: { control: 'text' },
12
+ },
13
+ args: { pressed: false, disabled: false, label: 'Bold' },
14
+ };
15
+ export default meta;
16
+ export const Default = {};
17
+ export const Pressed = { args: { pressed: true } };
18
+ export const Disabled = { args: { disabled: true } };
19
+ export const IconOnly = {
20
+ name: 'Icon only',
21
+ render: () => html `<bs-toggle-button ariaLabel="Grid view">${gridIcon}</bs-toggle-button>`,
22
+ };