@brandsync/wc 1.21.0 → 1.22.1

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 (659) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/REFERENCE.md +2 -1
  3. package/custom-elements.json +136 -4
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-cd1adef0.entry.js → p-02551a4b.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-83ea17b6.entry.js → p-041c912e.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-fbd33eb3.entry.js → p-048b28cb.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-4cdb1c8c.entry.js → p-0719182b.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-eadbc160.entry.js → p-08a93f66.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-1b41823c.entry.js → p-0aa93d07.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-08af052c.entry.js → p-0b50aab6.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-c1207ce6.entry.js → p-11beaea5.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-b3284eca.entry.js → p-18eab08e.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-5c1ccf35.entry.js → p-1f38c837.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-3592e6f3.entry.js → p-2013d8ff.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-c700a860.entry.js → p-20f0bd1f.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-fc859e89.entry.js → p-2561bdeb.entry.js} +1 -1
  18. package/dist/brandsync-wc/p-29dd1cde.entry.js +1 -0
  19. package/dist/brandsync-wc/{p-bc489296.entry.js → p-2bcc115c.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-fe070433.entry.js → p-2becf801.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-1187a158.entry.js → p-32631906.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-bd37c086.entry.js → p-36e089ba.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-5f96d808.entry.js → p-37cf0842.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-237f583d.entry.js → p-3d054e83.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-da934f7b.entry.js → p-3f189709.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-abaab890.entry.js → p-3f8357bd.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-f89d12d7.entry.js → p-3fcb9e9f.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-001f3790.entry.js → p-4105a4f3.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-faea22be.entry.js → p-4886d77f.entry.js} +1 -1
  30. package/dist/brandsync-wc/p-48a15e87.entry.js +1 -0
  31. package/dist/brandsync-wc/{p-171db2b0.entry.js → p-4cd94d94.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-f0596399.entry.js → p-5126682b.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-b6b880c0.entry.js → p-527b174e.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-9065d825.entry.js → p-55b85126.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-a30d456d.entry.js → p-5a34d5d2.entry.js} +1 -1
  36. package/dist/brandsync-wc/p-5d2d5ffd.entry.js +1 -0
  37. package/dist/brandsync-wc/{p-b9014d87.entry.js → p-5db462ae.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-ffeea95f.entry.js → p-688fc320.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-cf297373.entry.js → p-6cd1deee.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-f5bbbff2.entry.js → p-7197c874.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-8560fb54.entry.js → p-73cbb0cb.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-aea1e4f9.entry.js → p-78af4542.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-2eed5ff2.entry.js → p-7a1ca36c.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-383c076f.entry.js → p-7ce68b44.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-5e3fcc47.entry.js → p-7f4ca57d.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-5cd95a12.entry.js → p-83a6dd91.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-2be42af3.entry.js → p-8738e976.entry.js} +1 -1
  48. package/dist/brandsync-wc/p-87a76b77.entry.js +1 -0
  49. package/dist/brandsync-wc/p-8fd4c240.entry.js +1 -0
  50. package/dist/brandsync-wc/{p-44c7fa4a.entry.js → p-932162a6.entry.js} +1 -1
  51. package/dist/brandsync-wc/p-93b6e9d2.entry.js +1 -0
  52. package/dist/brandsync-wc/{p-9ca0d2db.entry.js → p-9e0e1c2b.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-59ddf12e.entry.js → p-9fe002aa.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-c542d67f.entry.js → p-a17bbde9.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-023dae02.entry.js → p-a386ce3d.entry.js} +1 -1
  56. package/dist/brandsync-wc/{p-cf615c99.entry.js → p-a88e76e7.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-64fbd43a.entry.js → p-adc3b508.entry.js} +1 -1
  58. package/dist/brandsync-wc/{p-c5fa5d02.entry.js → p-af178531.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-0d3d8b6c.entry.js → p-b0e91068.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-e56cc6ac.entry.js → p-b104ecea.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-05698f65.entry.js → p-b175f945.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-40aeeacf.entry.js → p-b399bd6b.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-6cf303f1.entry.js → p-b52df3da.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-ea4ea55d.entry.js → p-b777bda2.entry.js} +1 -1
  65. package/dist/brandsync-wc/{p-7cdcf7e7.entry.js → p-b89560ea.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-0762a4dd.entry.js → p-b920cb6b.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-34dd0976.entry.js → p-baa4e834.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-1d2bc5b4.entry.js → p-c17df994.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-dd8f593a.entry.js → p-c483c3cb.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-7ee43b50.entry.js → p-c668a5b8.entry.js} +1 -1
  71. package/dist/brandsync-wc/p-c7b84459.entry.js +1 -0
  72. package/dist/brandsync-wc/{p-21781ce5.entry.js → p-cae21871.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-dae0348e.entry.js → p-cb4ed9d2.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-513fa325.entry.js → p-cca9e854.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-1ddcd867.entry.js → p-cee3d9c8.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-189eb922.entry.js → p-d12b7a3f.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-eb8da874.entry.js → p-d226f18a.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-3937bc23.entry.js → p-d7116356.entry.js} +1 -1
  79. package/dist/brandsync-wc/{p-4ec0dca9.entry.js → p-d7f9abd7.entry.js} +1 -1
  80. package/dist/brandsync-wc/{p-b0b73f22.entry.js → p-e03a8269.entry.js} +1 -1
  81. package/dist/brandsync-wc/{p-56bd821c.entry.js → p-e0900317.entry.js} +1 -1
  82. package/dist/brandsync-wc/{p-953d0191.entry.js → p-e42b118c.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-324f0d11.entry.js → p-e454d65b.entry.js} +1 -1
  84. package/dist/brandsync-wc/{p-64ef4a9f.entry.js → p-e5209d8b.entry.js} +1 -1
  85. package/dist/brandsync-wc/{p-1cf40f44.entry.js → p-e9d91fb8.entry.js} +1 -1
  86. package/dist/brandsync-wc/{p-8a3095d5.entry.js → p-eb5a06af.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-ab74da02.entry.js → p-ecb614b8.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-2e654764.entry.js → p-f0897031.entry.js} +1 -1
  89. package/dist/brandsync-wc/{p-7c627563.entry.js → p-f2c9bd85.entry.js} +1 -1
  90. package/dist/brandsync-wc/{p-ac7f9aa0.entry.js → p-f5704ede.entry.js} +1 -1
  91. package/dist/brandsync-wc/{p-205a1ccf.entry.js → p-f677df8f.entry.js} +1 -1
  92. package/dist/brandsync-wc/{p-05a9cbda.entry.js → p-f77e1523.entry.js} +1 -1
  93. package/dist/brandsync-wc/p-faa24a2e.entry.js +1 -0
  94. package/dist/brandsync-wc/p-ff25350e.entry.js +1 -0
  95. package/dist/brandsync-wc/{p-c305bde7.entry.js → p-ff57df38.entry.js} +1 -1
  96. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  97. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +4 -4
  102. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-button_2.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-chip-informative.cjs.entry.js +31 -2
  114. package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
  115. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-command-palette.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +4 -4
  118. package/dist/cjs/bs-company-switcher.cjs.entry.js +2 -2
  119. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  120. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  121. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  122. package/dist/cjs/bs-data-table.cjs.entry.js +4 -2
  123. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-description-item.cjs.entry.js +1 -1
  125. package/dist/cjs/bs-description-list.cjs.entry.js +1 -1
  126. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-dropdown.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-empty-state.cjs.entry.js +1 -1
  129. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  132. package/dist/cjs/bs-global-search.cjs.entry.js +2 -2
  133. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  134. package/dist/cjs/bs-heading.cjs.entry.js +1 -1
  135. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  136. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  137. package/dist/cjs/bs-icon.cjs.entry.js +1 -1
  138. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  139. package/dist/cjs/bs-input_4.cjs.entry.js +9 -6
  140. package/dist/cjs/bs-key-caps.cjs.entry.js +1 -1
  141. package/dist/cjs/bs-key.cjs.entry.js +1 -1
  142. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +2 -2
  143. package/dist/cjs/bs-link.cjs.entry.js +1 -1
  144. package/dist/cjs/bs-list-item.cjs.entry.js +1 -1
  145. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  146. package/dist/cjs/bs-mega-menu.cjs.entry.js +1 -1
  147. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  148. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  149. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  150. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  151. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  152. package/dist/cjs/bs-page-header.cjs.entry.js +1 -1
  153. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  154. package/dist/cjs/bs-popover.cjs.entry.js +1 -1
  155. package/dist/cjs/bs-presence.cjs.entry.js +1 -1
  156. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  157. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  158. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  159. package/dist/cjs/bs-radio-group.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  161. package/dist/cjs/bs-search-item.cjs.entry.js +1 -1
  162. package/dist/cjs/bs-select.cjs.entry.js +1 -1
  163. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  164. package/dist/cjs/bs-shortcut-row.cjs.entry.js +1 -1
  165. package/dist/cjs/bs-skip-link.cjs.entry.js +1 -1
  166. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  167. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  168. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  169. package/dist/cjs/bs-split-pane.cjs.entry.js +27 -2
  170. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  171. package/dist/cjs/bs-stat.cjs.entry.js +1 -1
  172. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  173. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  174. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  175. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  176. package/dist/cjs/bs-table-of-contents.cjs.entry.js +1 -1
  177. package/dist/cjs/bs-tag.cjs.entry.js +2 -2
  178. package/dist/cjs/bs-text.cjs.entry.js +1 -1
  179. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  180. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  181. package/dist/cjs/bs-toggle-button-group.cjs.entry.js +1 -1
  182. package/dist/cjs/bs-toggle-button.cjs.entry.js +9 -1
  183. package/dist/cjs/bs-toolbar.cjs.entry.js +1 -1
  184. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  185. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  186. package/dist/cjs/bs-tree-item.cjs.entry.js +2 -2
  187. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  188. package/dist/cjs/loader.cjs.js +1 -1
  189. package/dist/collection/components/bs-accordion/bs-accordion.stories.js +26 -2
  190. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  191. package/dist/collection/components/bs-accordion-group/bs-accordion-group.stories.js +1 -1
  192. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  193. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  194. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  195. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +3 -3
  196. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.stories.js +1 -1
  197. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  198. package/dist/collection/components/bs-app-shell/bs-app-shell.stories.js +1 -1
  199. package/dist/collection/components/bs-app-switcher/bs-app-switcher.stories.js +1 -1
  200. package/dist/collection/components/bs-app-tile/bs-app-tile.stories.js +1 -1
  201. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  202. package/dist/collection/components/bs-avatar/bs-avatar.stories.js +1 -1
  203. package/dist/collection/components/bs-badge/bs-badge.stories.js +1 -1
  204. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  205. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.js +1 -1
  206. package/dist/collection/components/bs-button/bs-button/bs-button.stories.js +1 -1
  207. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  208. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +1 -1
  209. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  210. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.stories.js +1 -1
  211. package/dist/collection/components/bs-card/bs-card.stories.js +1 -1
  212. package/dist/collection/components/bs-carousel/bs-carousel.stories.js +1 -1
  213. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  214. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  215. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  216. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  217. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  218. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  219. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.js +1 -1
  220. package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +26 -2
  221. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.stories.js +1 -1
  222. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.stories.js +1 -1
  223. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.cmp.test.js +44 -0
  224. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +52 -2
  225. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +139 -7
  226. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.js +8 -1
  227. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  228. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.stories.js +1 -1
  229. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  230. package/dist/collection/components/bs-code-block/bs-code-block.stories.js +1 -1
  231. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
  232. package/dist/collection/components/bs-command-palette/bs-command-palette.stories.js +1 -1
  233. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +1 -1
  234. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +1 -1
  235. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
  236. package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +1 -1
  237. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  238. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  239. package/dist/collection/components/bs-container/bs-container.js +1 -1
  240. package/dist/collection/components/bs-container/bs-container.stories.js +1 -1
  241. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.stories.js +1 -1
  242. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +9 -0
  243. package/dist/collection/components/bs-data-table/bs-data-table.js +24 -2
  244. package/dist/collection/components/bs-data-table/bs-data-table.stories.js +1 -1
  245. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  246. package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +1 -1
  247. package/dist/collection/components/bs-description-item/bs-description-item.js +1 -1
  248. package/dist/collection/components/bs-description-list/bs-description-list.js +1 -1
  249. package/dist/collection/components/bs-description-list/bs-description-list.stories.js +1 -1
  250. package/dist/collection/components/bs-dialog/bs-dialog.stories.js +1 -1
  251. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  252. package/dist/collection/components/bs-divider/bs-divider.stories.js +1 -1
  253. package/dist/collection/components/bs-dropdown/bs-dropdown.js +1 -1
  254. package/dist/collection/components/bs-dropdown/bs-dropdown.stories.js +1 -1
  255. package/dist/collection/components/bs-empty-state/bs-empty-state.js +1 -1
  256. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +1 -1
  257. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  258. package/dist/collection/components/bs-error-page/bs-error-page.stories.js +1 -1
  259. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  260. package/dist/collection/components/bs-file-upload/bs-file-upload.stories.js +1 -1
  261. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  262. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.stories.js +1 -1
  263. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  264. package/dist/collection/components/bs-global-search/bs-global-search.stories.js +1 -1
  265. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  266. package/dist/collection/components/bs-grid/bs-grid.stories.js +1 -1
  267. package/dist/collection/components/bs-heading/bs-heading.js +1 -1
  268. package/dist/collection/components/bs-heading/bs-heading.stories.js +1 -1
  269. package/dist/collection/components/bs-icon/bs-icon.js +1 -1
  270. package/dist/collection/components/bs-icon/bs-icon.stories.js +1 -1
  271. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  272. package/dist/collection/components/bs-icon-tile/bs-icon-tile.stories.js +1 -1
  273. package/dist/collection/components/bs-input/bs-input.cmp.test.js +12 -0
  274. package/dist/collection/components/bs-input/bs-input.js +26 -3
  275. package/dist/collection/components/bs-input/bs-input.stories.js +15 -1
  276. package/dist/collection/components/bs-key/bs-key.js +1 -1
  277. package/dist/collection/components/bs-key/bs-key.stories.js +1 -1
  278. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  279. package/dist/collection/components/bs-key-caps/bs-key-caps.stories.js +1 -1
  280. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  281. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.js +1 -1
  282. package/dist/collection/components/bs-link/bs-link.js +1 -1
  283. package/dist/collection/components/bs-link/bs-link.stories.js +1 -1
  284. package/dist/collection/components/bs-list/bs-list.js +1 -1
  285. package/dist/collection/components/bs-list/bs-list.stories.js +1 -1
  286. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  287. package/dist/collection/components/bs-list-item/bs-list-item.stories.js +1 -1
  288. package/dist/collection/components/bs-logo/bs-logo.stories.js +1 -1
  289. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +1 -1
  290. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +1 -1
  291. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  292. package/dist/collection/components/bs-menu/bs-menu.stories.js +1 -1
  293. package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
  294. package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +1 -1
  295. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  296. package/dist/collection/components/bs-menu-item/bs-menu-item.stories.js +1 -1
  297. package/dist/collection/components/bs-message/bs-message.js +1 -1
  298. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  299. package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.js +1 -1
  300. package/dist/collection/components/bs-page-header/bs-page-header.js +1 -1
  301. package/dist/collection/components/bs-page-header/bs-page-header.stories.js +1 -1
  302. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  303. package/dist/collection/components/bs-pagination/bs-pagination.stories.js +1 -1
  304. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  305. package/dist/collection/components/bs-popover/bs-popover.stories.js +1 -1
  306. package/dist/collection/components/bs-presence/bs-presence.js +1 -1
  307. package/dist/collection/components/bs-product-tour/bs-product-tour.stories.js +1 -1
  308. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  309. package/dist/collection/components/bs-progress/bs-progress.stories.js +7 -4
  310. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  311. package/dist/collection/components/bs-progress-linear/bs-progress-linear.stories.js +8 -6
  312. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  313. package/dist/collection/components/bs-qr-code/bs-qr-code.stories.js +1 -1
  314. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  315. package/dist/collection/components/bs-radio/bs-radio.stories.js +1 -1
  316. package/dist/collection/components/bs-radio-group/bs-radio-group.js +1 -1
  317. package/dist/collection/components/bs-radio-group/bs-radio-group.stories.js +16 -2
  318. package/dist/collection/components/bs-ripple/bs-ripple.js +1 -1
  319. package/dist/collection/components/bs-search-item/bs-search-item.js +1 -1
  320. package/dist/collection/components/bs-search-item/bs-search-item.stories.js +1 -1
  321. package/dist/collection/components/bs-select/bs-select.js +1 -1
  322. package/dist/collection/components/bs-select/bs-select.stories.js +22 -2
  323. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  324. package/dist/collection/components/bs-session-timeout/bs-session-timeout.stories.js +1 -1
  325. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  326. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +1 -1
  327. package/dist/collection/components/bs-side-panel/bs-side-panel.stories.js +1 -1
  328. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  329. package/dist/collection/components/bs-skeleton/bs-skeleton.stories.js +1 -1
  330. package/dist/collection/components/bs-skip-link/bs-skip-link.js +1 -1
  331. package/dist/collection/components/bs-skip-link/bs-skip-link.stories.js +1 -1
  332. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  333. package/dist/collection/components/bs-slider/bs-slider.stories.js +1 -1
  334. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  335. package/dist/collection/components/bs-snackbar/bs-snackbar.stories.js +1 -1
  336. package/dist/collection/components/bs-source-link/bs-source-link.js +3 -3
  337. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  338. package/dist/collection/components/bs-spinner/bs-spinner.stories.js +1 -1
  339. package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +8 -0
  340. package/dist/collection/components/bs-split-pane/bs-split-pane.js +26 -1
  341. package/dist/collection/components/bs-split-pane/bs-split-pane.stories.js +1 -1
  342. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  343. package/dist/collection/components/bs-stack/bs-stack.stories.js +1 -1
  344. package/dist/collection/components/bs-stat/bs-stat.js +1 -1
  345. package/dist/collection/components/bs-stat/bs-stat.stories.js +1 -1
  346. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  347. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.stories.js +1 -1
  348. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  349. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  350. package/dist/collection/components/bs-switch/bs-switch.stories.js +34 -10
  351. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  352. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.js +1 -1
  353. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  354. package/dist/collection/components/bs-tab/bs-tab/bs-tab.stories.js +1 -1
  355. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  356. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +20 -2
  357. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.js +1 -1
  358. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.stories.js +1 -1
  359. package/dist/collection/components/bs-tag/bs-tag.js +6 -2
  360. package/dist/collection/components/bs-tag/bs-tag.stories.js +1 -1
  361. package/dist/collection/components/bs-text/bs-text.js +1 -1
  362. package/dist/collection/components/bs-text/bs-text.stories.js +1 -1
  363. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  364. package/dist/collection/components/bs-timepicker/bs-timepicker.stories.js +1 -1
  365. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  366. package/dist/collection/components/bs-toast/bs-toast.stories.js +1 -1
  367. package/dist/collection/components/bs-toggle-button/bs-toggle-button.cmp.test.js +11 -0
  368. package/dist/collection/components/bs-toggle-button/bs-toggle-button.js +9 -1
  369. package/dist/collection/components/bs-toggle-button/bs-toggle-button.stories.js +2 -2
  370. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.js +1 -1
  371. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.stories.js +34 -4
  372. package/dist/collection/components/bs-toolbar/bs-toolbar.js +1 -1
  373. package/dist/collection/components/bs-toolbar/bs-toolbar.stories.js +1 -1
  374. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  375. package/dist/collection/components/bs-tooltip/bs-tooltip.stories.js +1 -1
  376. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  377. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.stories.js +1 -1
  378. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  379. package/dist/collection/components/bs-tree/bs-tree.stories.js +1 -1
  380. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  381. package/dist/collection/components/bs-tree-item/bs-tree-item.stories.js +1 -1
  382. package/dist/collection/components/bs-whats-new/bs-whats-new.stories.js +1 -1
  383. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  384. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.stories.js +1 -1
  385. package/dist/collection/components/tokens/tokens.stories.js +90 -0
  386. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  387. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  388. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +2 -2
  389. package/dist/collection/play-utils.js +24 -0
  390. package/dist/components/bs-accordion-group.js +1 -1
  391. package/dist/components/bs-ai-disclaimer.js +1 -1
  392. package/dist/components/bs-ai-greeting.js +1 -1
  393. package/dist/components/bs-ai-thinking.js +1 -1
  394. package/dist/components/bs-app-recent-item.js +1 -1
  395. package/dist/components/bs-app-shell.js +1 -1
  396. package/dist/components/bs-app-switcher.js +1 -1
  397. package/dist/components/bs-app-tile.js +1 -1
  398. package/dist/components/bs-attachment-list.js +1 -1
  399. package/dist/components/bs-attachment.js +1 -1
  400. package/dist/components/bs-avatar.js +1 -1
  401. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  402. package/dist/components/bs-breadcrumbs.js +1 -1
  403. package/dist/components/bs-button-skeleton.js +1 -1
  404. package/dist/components/bs-button.js +1 -1
  405. package/dist/components/bs-carousel.js +1 -1
  406. package/dist/components/bs-chatbot-feedback.js +1 -1
  407. package/dist/components/bs-chatbot-header.js +1 -1
  408. package/dist/components/bs-chatbot-response-action.js +1 -1
  409. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  410. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  411. package/dist/components/bs-checkbox-skeleton.js +1 -1
  412. package/dist/components/bs-checkbox.js +1 -1
  413. package/dist/components/bs-chip-filter.js +1 -1
  414. package/dist/components/bs-chip-informative.js +1 -1
  415. package/dist/components/bs-chip-input.js +1 -1
  416. package/dist/components/bs-citation-preview.js +1 -1
  417. package/dist/components/bs-code-block.js +1 -1
  418. package/dist/components/bs-command-palette.js +1 -1
  419. package/dist/components/bs-compact-menu-block.js +1 -1
  420. package/dist/components/bs-company-switcher.js +1 -1
  421. package/dist/components/bs-composer-status-banner.js +1 -1
  422. package/dist/components/bs-composer.js +1 -1
  423. package/dist/components/bs-container.js +1 -1
  424. package/dist/components/bs-cookie-consent.js +1 -1
  425. package/dist/components/bs-data-table.js +1 -1
  426. package/dist/components/bs-datepicker.js +1 -1
  427. package/dist/components/bs-description-item.js +1 -1
  428. package/dist/components/bs-description-list.js +1 -1
  429. package/dist/components/bs-dialog.js +1 -1
  430. package/dist/components/bs-divider.js +1 -1
  431. package/dist/components/bs-dropdown.js +1 -1
  432. package/dist/components/bs-empty-state.js +1 -1
  433. package/dist/components/bs-error-page.js +1 -1
  434. package/dist/components/bs-file-upload-item.js +1 -1
  435. package/dist/components/bs-file-upload.js +1 -1
  436. package/dist/components/bs-global-search.js +1 -1
  437. package/dist/components/bs-grid.js +1 -1
  438. package/dist/components/bs-heading.js +1 -1
  439. package/dist/components/bs-icon-button.js +1 -1
  440. package/dist/components/bs-icon-tile.js +1 -1
  441. package/dist/components/bs-icon.js +1 -1
  442. package/dist/components/bs-inline-tab.js +1 -1
  443. package/dist/components/bs-input.js +1 -1
  444. package/dist/components/bs-key-caps.js +1 -1
  445. package/dist/components/bs-key.js +1 -1
  446. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  447. package/dist/components/bs-link.js +1 -1
  448. package/dist/components/bs-list-item.js +1 -1
  449. package/dist/components/bs-list.js +1 -1
  450. package/dist/components/bs-mega-menu.js +1 -1
  451. package/dist/components/bs-menu-block.js +1 -1
  452. package/dist/components/bs-menu-item.js +1 -1
  453. package/dist/components/bs-menu.js +1 -1
  454. package/dist/components/bs-message-list.js +1 -1
  455. package/dist/components/bs-message.js +1 -1
  456. package/dist/components/bs-navigation-drawer-item.js +1 -1
  457. package/dist/components/bs-navigation-drawer.js +1 -1
  458. package/dist/components/bs-navigation-header.js +1 -1
  459. package/dist/components/bs-onboarding-checklist.js +1 -1
  460. package/dist/components/bs-page-header.js +1 -1
  461. package/dist/components/bs-pagination.js +1 -1
  462. package/dist/components/bs-popover.js +1 -1
  463. package/dist/components/bs-presence.js +1 -1
  464. package/dist/components/bs-product-tour.js +1 -1
  465. package/dist/components/bs-progress-linear.js +1 -1
  466. package/dist/components/bs-progress.js +1 -1
  467. package/dist/components/bs-qr-code.js +1 -1
  468. package/dist/components/bs-radio-group.js +1 -1
  469. package/dist/components/bs-radio.js +1 -1
  470. package/dist/components/bs-ripple.js +1 -1
  471. package/dist/components/bs-search-item.js +1 -1
  472. package/dist/components/bs-select.js +1 -1
  473. package/dist/components/bs-session-timeout.js +1 -1
  474. package/dist/components/bs-shortcut-row.js +1 -1
  475. package/dist/components/bs-side-panel.js +1 -1
  476. package/dist/components/bs-skeleton.js +1 -1
  477. package/dist/components/bs-skip-link.js +1 -1
  478. package/dist/components/bs-slider.js +1 -1
  479. package/dist/components/bs-snackbar.js +1 -1
  480. package/dist/components/bs-source-link.js +1 -1
  481. package/dist/components/bs-spinner.js +1 -1
  482. package/dist/components/bs-split-pane.js +1 -1
  483. package/dist/components/bs-stack.js +1 -1
  484. package/dist/components/bs-stat.js +1 -1
  485. package/dist/components/bs-stepper-step.js +1 -1
  486. package/dist/components/bs-stepper.js +1 -1
  487. package/dist/components/bs-switch.js +1 -1
  488. package/dist/components/bs-tab.js +1 -1
  489. package/dist/components/bs-table-of-contents.js +1 -1
  490. package/dist/components/bs-tabs.js +1 -1
  491. package/dist/components/bs-tag.js +1 -1
  492. package/dist/components/bs-text.js +1 -1
  493. package/dist/components/bs-timepicker.js +1 -1
  494. package/dist/components/bs-toast.js +1 -1
  495. package/dist/components/bs-toggle-button-group.js +1 -1
  496. package/dist/components/bs-toggle-button.js +1 -1
  497. package/dist/components/bs-toolbar.js +1 -1
  498. package/dist/components/bs-tooltip-trigger.js +1 -1
  499. package/dist/components/bs-tooltip.js +1 -1
  500. package/dist/components/bs-tree-item.js +1 -1
  501. package/dist/components/bs-tree.js +1 -1
  502. package/dist/components/bs-whats-new-entry.js +1 -1
  503. package/dist/components/bs-whats-new.js +1 -1
  504. package/dist/components/{p-BFv-3K2u.js → p-9Y5WEZ6K.js} +1 -1
  505. package/dist/components/{p-Bn3Yxpe1.js → p-AnA6S3Em.js} +1 -1
  506. package/dist/components/{p-hfcWxH0R.js → p-AwofMhxC.js} +1 -1
  507. package/dist/components/p-BRCMyssd.js +1 -0
  508. package/dist/components/{p-CrSwhBz7.js → p-BgB9tIB9.js} +1 -1
  509. package/dist/components/p-BlZZNwM2.js +1 -0
  510. package/dist/components/{p-C7Qr4akd.js → p-BnsfpSS7.js} +1 -1
  511. package/dist/components/p-BoA3sM-2.js +1 -0
  512. package/dist/components/p-Btp5hXvc.js +1 -0
  513. package/dist/components/{p-CkQ7TJdL.js → p-Bu_sXonm.js} +1 -1
  514. package/dist/components/{p-DrlNm0Cv.js → p-BvR122Y2.js} +1 -1
  515. package/dist/components/{p-B1Id2OKX.js → p-BwVQ-DXP.js} +1 -1
  516. package/dist/components/{p-C7IrV6pt.js → p-C5CNfDjK.js} +1 -1
  517. package/dist/components/{p-DY2EHN4U.js → p-CBGHGry4.js} +1 -1
  518. package/dist/components/p-CFzdwJ2g.js +1 -0
  519. package/dist/components/{p-B-gdXga9.js → p-CZWWrlb3.js} +1 -1
  520. package/dist/components/{p-C0RV5-An.js → p-Cipc052L.js} +1 -1
  521. package/dist/components/{p-BVX8P6fl.js → p-CjUxGdnN.js} +1 -1
  522. package/dist/components/{p-AlcZrDeY.js → p-CqRS2iPv.js} +1 -1
  523. package/dist/components/{p-CGFmvCoE.js → p-Czo6AWrI.js} +1 -1
  524. package/dist/components/{p-i5Q__opK.js → p-DAmDb3zb.js} +1 -1
  525. package/dist/components/{p-Cm-s0vin.js → p-DehAshCb.js} +1 -1
  526. package/dist/components/{p-CJw83LkA.js → p-DikZ1mnx.js} +1 -1
  527. package/dist/components/{p-CvaS1abm.js → p-DoiTWM4q.js} +1 -1
  528. package/dist/components/{p-BPxT7mqc.js → p-Lj6_zdoI.js} +1 -1
  529. package/dist/components/{p-BanNal67.js → p-Ov2urmo_.js} +1 -1
  530. package/dist/components/{p-CWcci6TX.js → p-cf5C02kt.js} +1 -1
  531. package/dist/components/{p-oc6e6_D0.js → p-hg8kUgz5.js} +1 -1
  532. package/dist/components/{p-CFjeYXmC.js → p-liC69VdX.js} +1 -1
  533. package/dist/components/{p--AN2lu8b.js → p-nZqO4uTL.js} +1 -1
  534. package/dist/components/{p-bsKorXp2.js → p-nf0fN-PV.js} +1 -1
  535. package/dist/components/{p-BabS3w3f.js → p-sXYR1kkr.js} +1 -1
  536. package/dist/components/{p-Bm1A449h.js → p-u6CTJrPs.js} +1 -1
  537. package/dist/esm/brandsync-wc.js +1 -1
  538. package/dist/esm/bs-accordion-group.entry.js +1 -1
  539. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  540. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  541. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  542. package/dist/esm/bs-app-recent-item_3.entry.js +4 -4
  543. package/dist/esm/bs-app-shell.entry.js +1 -1
  544. package/dist/esm/bs-attachment-list.entry.js +1 -1
  545. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  546. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  547. package/dist/esm/bs-button_2.entry.js +1 -1
  548. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  549. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  550. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  551. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  552. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  553. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  554. package/dist/esm/bs-chip-informative.entry.js +32 -3
  555. package/dist/esm/bs-chip-input.entry.js +1 -1
  556. package/dist/esm/bs-citation-preview.entry.js +1 -1
  557. package/dist/esm/bs-command-palette.entry.js +1 -1
  558. package/dist/esm/bs-compact-menu-block_2.entry.js +4 -4
  559. package/dist/esm/bs-company-switcher.entry.js +2 -2
  560. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  561. package/dist/esm/bs-composer.entry.js +1 -1
  562. package/dist/esm/bs-container.entry.js +1 -1
  563. package/dist/esm/bs-data-table.entry.js +4 -2
  564. package/dist/esm/bs-datepicker.entry.js +1 -1
  565. package/dist/esm/bs-description-item.entry.js +1 -1
  566. package/dist/esm/bs-description-list.entry.js +1 -1
  567. package/dist/esm/bs-divider.entry.js +1 -1
  568. package/dist/esm/bs-dropdown.entry.js +1 -1
  569. package/dist/esm/bs-empty-state.entry.js +1 -1
  570. package/dist/esm/bs-error-page.entry.js +1 -1
  571. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  572. package/dist/esm/bs-file-upload.entry.js +1 -1
  573. package/dist/esm/bs-global-search.entry.js +2 -2
  574. package/dist/esm/bs-grid.entry.js +2 -2
  575. package/dist/esm/bs-heading.entry.js +1 -1
  576. package/dist/esm/bs-icon-button.entry.js +1 -1
  577. package/dist/esm/bs-icon-tile.entry.js +2 -2
  578. package/dist/esm/bs-icon.entry.js +1 -1
  579. package/dist/esm/bs-inline-tab.entry.js +1 -1
  580. package/dist/esm/bs-input_4.entry.js +9 -6
  581. package/dist/esm/bs-key-caps.entry.js +1 -1
  582. package/dist/esm/bs-key.entry.js +1 -1
  583. package/dist/esm/bs-keyboard-shortcuts.entry.js +2 -2
  584. package/dist/esm/bs-link.entry.js +1 -1
  585. package/dist/esm/bs-list-item.entry.js +1 -1
  586. package/dist/esm/bs-list.entry.js +1 -1
  587. package/dist/esm/bs-mega-menu.entry.js +1 -1
  588. package/dist/esm/bs-message-list.entry.js +1 -1
  589. package/dist/esm/bs-message.entry.js +1 -1
  590. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  591. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  592. package/dist/esm/bs-navigation-header.entry.js +2 -2
  593. package/dist/esm/bs-page-header.entry.js +1 -1
  594. package/dist/esm/bs-pagination.entry.js +1 -1
  595. package/dist/esm/bs-popover.entry.js +1 -1
  596. package/dist/esm/bs-presence.entry.js +1 -1
  597. package/dist/esm/bs-progress-linear.entry.js +2 -2
  598. package/dist/esm/bs-progress.entry.js +2 -2
  599. package/dist/esm/bs-qr-code.entry.js +1 -1
  600. package/dist/esm/bs-radio-group.entry.js +1 -1
  601. package/dist/esm/bs-radio.entry.js +1 -1
  602. package/dist/esm/bs-search-item.entry.js +1 -1
  603. package/dist/esm/bs-select.entry.js +1 -1
  604. package/dist/esm/bs-session-timeout.entry.js +1 -1
  605. package/dist/esm/bs-shortcut-row.entry.js +1 -1
  606. package/dist/esm/bs-skip-link.entry.js +1 -1
  607. package/dist/esm/bs-slider.entry.js +1 -1
  608. package/dist/esm/bs-snackbar.entry.js +1 -1
  609. package/dist/esm/bs-source-link.entry.js +3 -3
  610. package/dist/esm/bs-split-pane.entry.js +27 -2
  611. package/dist/esm/bs-stack.entry.js +1 -1
  612. package/dist/esm/bs-stat.entry.js +1 -1
  613. package/dist/esm/bs-stepper-step.entry.js +1 -1
  614. package/dist/esm/bs-stepper.entry.js +1 -1
  615. package/dist/esm/bs-switch.entry.js +1 -1
  616. package/dist/esm/bs-tab_3.entry.js +3 -3
  617. package/dist/esm/bs-table-of-contents.entry.js +1 -1
  618. package/dist/esm/bs-tag.entry.js +2 -2
  619. package/dist/esm/bs-text.entry.js +1 -1
  620. package/dist/esm/bs-timepicker.entry.js +2 -2
  621. package/dist/esm/bs-toast.entry.js +1 -1
  622. package/dist/esm/bs-toggle-button-group.entry.js +1 -1
  623. package/dist/esm/bs-toggle-button.entry.js +9 -1
  624. package/dist/esm/bs-toolbar.entry.js +1 -1
  625. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  626. package/dist/esm/bs-tooltip.entry.js +1 -1
  627. package/dist/esm/bs-tree-item.entry.js +2 -2
  628. package/dist/esm/bs-tree.entry.js +1 -1
  629. package/dist/esm/loader.js +1 -1
  630. package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.d.ts +29 -5
  631. package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.d.ts +2 -0
  632. package/dist/types/components/bs-data-table/bs-data-table.d.ts +2 -0
  633. package/dist/types/components/bs-input/bs-input.d.ts +3 -0
  634. package/dist/types/components/bs-progress/bs-progress.stories.d.ts +1 -0
  635. package/dist/types/components/bs-progress-linear/bs-progress-linear.stories.d.ts +1 -0
  636. package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +3 -0
  637. package/dist/types/components/bs-tag/bs-tag.d.ts +4 -0
  638. package/dist/types/components/bs-toggle-button/bs-toggle-button.d.ts +1 -0
  639. package/dist/types/components/tokens/tokens.stories.d.ts +12 -0
  640. package/dist/types/components.d.ts +129 -16
  641. package/dist/types/play-utils.d.ts +6 -0
  642. package/dist/types/raw-css.d.ts +4 -0
  643. package/package.json +1 -5
  644. package/reference.d.ts +1 -1
  645. package/reference.json +6 -1
  646. package/dist/brandsync-wc/p-06277bb8.entry.js +0 -1
  647. package/dist/brandsync-wc/p-0d3d56ef.entry.js +0 -1
  648. package/dist/brandsync-wc/p-4865d4e1.entry.js +0 -1
  649. package/dist/brandsync-wc/p-48ce098c.entry.js +0 -1
  650. package/dist/brandsync-wc/p-6f0b5a91.entry.js +0 -1
  651. package/dist/brandsync-wc/p-80feac7e.entry.js +0 -1
  652. package/dist/brandsync-wc/p-82c8fde1.entry.js +0 -1
  653. package/dist/brandsync-wc/p-99db8fca.entry.js +0 -1
  654. package/dist/brandsync-wc/p-bcb1730e.entry.js +0 -1
  655. package/dist/components/p-BCbaDQnq.js +0 -1
  656. package/dist/components/p-BoAmKy-C.js +0 -1
  657. package/dist/components/p-Cz7CuNiM.js +0 -1
  658. package/dist/components/p-DE2x8-lX.js +0 -1
  659. package/dist/components/p-U9f09E0n.js +0 -1
@@ -4,7 +4,7 @@ const types = ['determinate', 'indeterminate'];
4
4
  const sizes = ['small', 'medium', 'large'];
5
5
  const strokeWidths = [4, 8];
6
6
  const meta = {
7
- title: 'Components/bs-progress/Circular',
7
+ title: 'Components/Feedback/bs-progress/Circular',
8
8
  parameters: { docs: { description: { component: componentDescription('bs-progress') } } },
9
9
  render: args => html `
10
10
  <bs-progress
@@ -13,6 +13,7 @@ const meta = {
13
13
  stroke-width=${args.strokeWidth}
14
14
  value=${args.value}
15
15
  show-label=${args.showLabel}
16
+ aria-label=${args.ariaLabel}
16
17
  ></bs-progress>
17
18
  `,
18
19
  argTypes: {
@@ -25,6 +26,7 @@ const meta = {
25
26
  },
26
27
  value: { control: { type: 'range', min: 0, max: 100 }, description: propDescription('bs-progress', 'value') },
27
28
  showLabel: { control: 'boolean', description: propDescription('bs-progress', 'show-label') },
29
+ ariaLabel: { control: 'text', description: propDescription('bs-progress', 'aria-label') },
28
30
  },
29
31
  args: {
30
32
  type: 'determinate',
@@ -32,6 +34,7 @@ const meta = {
32
34
  strokeWidth: 4,
33
35
  value: 50,
34
36
  showLabel: true,
37
+ ariaLabel: 'Upload progress',
35
38
  },
36
39
  };
37
40
  export default meta;
@@ -41,7 +44,7 @@ export const Sizes = {
41
44
  name: 'Sizes',
42
45
  render: () => html `
43
46
  <div style="display: flex; align-items: flex-end; gap: 24px;">
44
- ${sizes.map(size => html `<bs-progress size=${size} value="50"></bs-progress>`)}
47
+ ${sizes.map(size => html `<bs-progress size=${size} value="50" aria-label="Upload progress"></bs-progress>`)}
45
48
  </div>
46
49
  `,
47
50
  };
@@ -50,7 +53,7 @@ export const StrokeWidths = {
50
53
  name: 'Stroke widths',
51
54
  render: () => html `
52
55
  <div style="display: flex; align-items: flex-end; gap: 24px;">
53
- ${strokeWidths.map(strokeWidth => html `<bs-progress size="large" stroke-width=${strokeWidth} value="50"></bs-progress>`)}
56
+ ${strokeWidths.map(strokeWidth => html `<bs-progress size="large" stroke-width=${strokeWidth} value="50" aria-label="Upload progress"></bs-progress>`)}
54
57
  </div>
55
58
  `,
56
59
  };
@@ -59,7 +62,7 @@ export const Values = {
59
62
  name: 'Values',
60
63
  render: () => html `
61
64
  <div style="display: flex; align-items: flex-end; gap: 24px;">
62
- ${[0, 25, 50, 75, 100].map(value => html `<bs-progress value=${value}></bs-progress>`)}
65
+ ${[0, 25, 50, 75, 100].map(value => html `<bs-progress value=${value} aria-label="Upload progress"></bs-progress>`)}
63
66
  </div>
64
67
  `,
65
68
  };
@@ -51,13 +51,13 @@ export class BsProgressLinear {
51
51
  render() {
52
52
  const isDeterminate = this.type === 'determinate';
53
53
  const value = this.clampedValue;
54
- return (h("div", { key: '004c6c83088157d322be56114f8885cb0b81a99f', part: "container", class: "bs-progress-linear" }, h("div", { key: '5154c0601c8a7601582363cd1f13abdf102376d1', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
54
+ return (h("div", { key: 'c634db43c248992f4809435d3a5e19c281807295', part: "container", class: "bs-progress-linear" }, h("div", { key: 'c05e032e3b4b2a3dbdeaae0888adbb4bce0bc4e7', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
55
55
  // Figma's indeterminate bar is a soft "comet" gradient segment (transparent -> blue ->
56
56
  // transparent) sliding left-to-right across the track's full width in a loop -- the
57
57
  // same fade concept as bs-progress's indeterminate ring's conic-gradient comet tail,
58
58
  // but along a straight line via a linear-gradient + `transform: translateX(...)`
59
59
  // keyframe animation instead of a rotating conic-gradient.
60
- h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: 'b06b6c6f5bfa096ac8f186569d17c05cb55f24d4', part: "label", class: "bs-progress-linear__label" }, h("slot", { key: '58350a58d914a45a221b44c3df47424c6e45a51b' })))));
60
+ h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: '91813ef512bc6df2f084d50c0dfed03b3e13a771', part: "label", class: "bs-progress-linear__label" }, h("slot", { key: '5694cce314712f9f533a7f66696bfe22fb9204bc' })))));
61
61
  }
62
62
  // The default slot's assigned content lives in the host's light DOM regardless of whether a
63
63
  // <slot> is currently rendered in the shadow tree, so this can be computed directly from the
@@ -3,10 +3,10 @@ import { componentDescription, propDescription } from "../../stories-utils";
3
3
  const types = ['determinate', 'indeterminate'];
4
4
  const sizes = ['small', 'large'];
5
5
  const meta = {
6
- title: 'Components/bs-progress/Linear',
6
+ title: 'Components/Feedback/bs-progress/Linear',
7
7
  parameters: { docs: { description: { component: componentDescription('bs-progress-linear') } } },
8
8
  render: args => html `
9
- <bs-progress-linear type=${args.type} size=${args.size} value=${args.value} show-label=${args.showLabel}>
9
+ <bs-progress-linear type=${args.type} size=${args.size} value=${args.value} show-label=${args.showLabel} aria-label=${args.ariaLabel}>
10
10
  ${args.label}
11
11
  </bs-progress-linear>
12
12
  `,
@@ -16,6 +16,7 @@ const meta = {
16
16
  value: { control: { type: 'range', min: 0, max: 100 }, description: propDescription('bs-progress-linear', 'value') },
17
17
  showLabel: { control: 'boolean', description: propDescription('bs-progress-linear', 'show-label') },
18
18
  label: { control: 'text', description: 'Slotted label content (default slot).' },
19
+ ariaLabel: { control: 'text', description: propDescription('bs-progress-linear', 'aria-label') },
19
20
  },
20
21
  args: {
21
22
  type: 'determinate',
@@ -23,6 +24,7 @@ const meta = {
23
24
  value: 40,
24
25
  showLabel: true,
25
26
  label: 'Label',
27
+ ariaLabel: 'Upload progress',
26
28
  },
27
29
  };
28
30
  export default meta;
@@ -32,7 +34,7 @@ export const Sizes = {
32
34
  name: 'Sizes',
33
35
  render: () => html `
34
36
  <div style="display: flex; flex-direction: column; gap: 24px; width: 320px;">
35
- ${sizes.map(size => html `<bs-progress-linear size=${size} value="40">Label</bs-progress-linear>`)}
37
+ ${sizes.map(size => html `<bs-progress-linear size=${size} value="40" aria-label="Upload progress">Label</bs-progress-linear>`)}
36
38
  </div>
37
39
  `,
38
40
  };
@@ -41,7 +43,7 @@ export const Values = {
41
43
  name: 'Values',
42
44
  render: () => html `
43
45
  <div style="display: flex; flex-direction: column; gap: 24px; width: 320px;">
44
- ${[0, 25, 50, 75, 100].map(value => html `<bs-progress-linear value=${value}>${value}%</bs-progress-linear>`)}
46
+ ${[0, 25, 50, 75, 100].map(value => html `<bs-progress-linear value=${value} aria-label="Upload progress">${value}%</bs-progress-linear>`)}
45
47
  </div>
46
48
  `,
47
49
  };
@@ -50,7 +52,7 @@ export const WithoutLabel = {
50
52
  args: { showLabel: false },
51
53
  render: args => html `
52
54
  <div style="width: 320px;">
53
- <bs-progress-linear type=${args.type} size=${args.size} value=${args.value} show-label=${args.showLabel}>
55
+ <bs-progress-linear type=${args.type} size=${args.size} value=${args.value} show-label=${args.showLabel} aria-label=${args.ariaLabel}>
54
56
  ${args.label}
55
57
  </bs-progress-linear>
56
58
  </div>
@@ -60,7 +62,7 @@ export const Indeterminate = {
60
62
  args: { type: 'indeterminate' },
61
63
  render: args => html `
62
64
  <div style="width: 320px;">
63
- <bs-progress-linear type=${args.type} size=${args.size} show-label=${args.showLabel}> ${args.label} </bs-progress-linear>
65
+ <bs-progress-linear type=${args.type} size=${args.size} show-label=${args.showLabel} aria-label=${args.ariaLabel}> ${args.label} </bs-progress-linear>
64
66
  </div>
65
67
  `,
66
68
  };
@@ -168,7 +168,7 @@ export class BsQrCode {
168
168
  const buttonSize = this.size === 'sm' ? 'sm' : 'md';
169
169
  // Figma shows the unavailable actions as filled-disabled (grey) rather than a faded outline,
170
170
  // which is what bs-button's disabled primary looks like.
171
- return (h("bs-card", { key: 'ca422530afebebe0ce18ce8c1445a06d202d97d4', part: "container", class: "bs-qr-code", surface: "base" }, this.closable && (h("bs-icon-button", { key: 'f14dd77c2ce0652bf94f7b324ea0e807d3550d94', part: "close", class: "bs-qr-code__close", variant: "subtle", size: "sm", ariaLabel: this.closeLabel, onClick: () => this.bsClose.emit() }, h("svg", { key: '4a3e29041401cded70e8fa60822b48ca5d442517', viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", "stroke-width": "1.6", "stroke-linecap": "round", "aria-hidden": "true" }, h("path", { key: '1e987f16f4ead0d451172f54ca73f36201aaba15', d: "M5 5L15 15M15 5L5 15" })))), h("div", { key: 'bc14d35f6b9a3e4519916faa4a58da7ba02968c2', class: "bs-qr-code__body" }, h("div", { key: 'b60b3cab47cb43b700d916c199d0e64f5c05274a', part: "head", class: "bs-qr-code__head" }, h("p", { key: '6f22983a46370ad7712ba6f0da8277aa5f2673b9', part: "title", class: "bs-qr-code__title" }, this.heading), this.description && (h("p", { key: '5cd4b55d96798d17db852c8cd763e3567de4f79a', part: "description", class: "bs-qr-code__description" }, this.description))), h("div", { key: '488b2ff294b754bd66589d7e066771ee18925949', part: "qr", class: "bs-qr-code__qr" }, h("div", { key: '082d3d22f546210f6da00e0f6742ced8fac0e49b', part: "code", class: "bs-qr-code__code" }, h("slot", { key: 'f003aa0c063f67befeb598527f214db48ab32223', name: "code" }, this.renderMatrix()), h("div", { key: '14ef033186cecb67c8ec03af3016f992645bbb83', part: "logo", class: { 'bs-qr-code__logo': true, 'bs-qr-code__logo--visible': this.hasLogo } }, h("slot", { key: '0d0716edce8fddff9b32bd50132ef5da668c56db', name: "logo", onSlotchange: (ev) => (this.hasLogo = ev.target.assignedNodes().length > 0) }))), this.renderOverlay()), this.type === 'payment' && this.amount && (h("div", { key: '83762e2cb36c66f0e6e1452408d0908abdec930c', part: "amount", class: "bs-qr-code__amount" }, this.amountLabel && h("p", { key: '7e6102877e193d34bf2ba077cccc4c6e6c32bbea', class: "bs-qr-code__amount-label" }, this.amountLabel), h("p", { key: '7ed0e74a2e91dd70da9ab71ceb883ee4ea323dfd', class: "bs-qr-code__amount-value" }, this.amount))), this.type === 'default' && this.url && (h("div", { key: 'd45463defa962c51192ff2f067a5abe3aaf37a05', part: "url", class: "bs-qr-code__url" }, this.url)), this.expiry && (h("bs-chip-informative", { key: 'eac00eec4fdb9ac8d0537fa9b6fa8e2cdc6204e7', part: "expiry", size: "md" }, h(TimerIcon, { key: '5f758aa92580f589a1315d2e921ac185271fd94a', slot: "icon" }), this.expiry)), showActions && (h("div", { key: 'ca4ab2498dcb3bf0b9ddbc83e6a8a2416dcd9e10', part: "actions", class: "bs-qr-code__actions" }, !this.hideDownload && (h("bs-button", { key: '8dd9eb4372b1af1afbba0bc987885f578c3c6b6d', part: "download", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.bsDownload.emit() }, h(DownloadIcon, { key: '53ae611b745f51f4e5ec5e011a94fe00a5be1bed', slot: "icon" }), this.downloadLabel)), !this.hideCopy && (h("bs-button", { key: 'deed453a9bc0a5ed2df2e003b02f14723ef0796a', part: "copy", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.onCopy() }, h(CopyIcon, { key: 'b0fdf348b30aec104094578afa392a3cc1c6ddac', slot: "icon" }), this.copyLabel)))))));
171
+ return (h("bs-card", { key: '25ff80443efeb211e1f15111f4c90620193d8525', part: "container", class: "bs-qr-code", surface: "base" }, this.closable && (h("bs-icon-button", { key: '5d301b4133befcee86633b227e2b55c647acff17', part: "close", class: "bs-qr-code__close", variant: "subtle", size: "sm", ariaLabel: this.closeLabel, onClick: () => this.bsClose.emit() }, h("svg", { key: '866e3f1ed51f5a63cfe5e6185f2cca3b2b18520f', viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", "stroke-width": "1.6", "stroke-linecap": "round", "aria-hidden": "true" }, h("path", { key: 'ba99d91cddcec6b0c1386356f8fe87af347ec9c0', d: "M5 5L15 15M15 5L5 15" })))), h("div", { key: '1e9fe4df8e53de6a7ccefeb29cb441df2789875d', class: "bs-qr-code__body" }, h("div", { key: 'd7315c33e8f7289ca11090808f48f76bbe660992', part: "head", class: "bs-qr-code__head" }, h("p", { key: '7865518117c16bdc748e3de73d207753d8dcdfd0', part: "title", class: "bs-qr-code__title" }, this.heading), this.description && (h("p", { key: '7e78b1c4bc630e33aa8afa5764440235fa945421', part: "description", class: "bs-qr-code__description" }, this.description))), h("div", { key: 'b4b188f471084f899d67b1df3eab48488255e390', part: "qr", class: "bs-qr-code__qr" }, h("div", { key: '1967ba294b369102b1746b1e607aa539b90e88d5', part: "code", class: "bs-qr-code__code" }, h("slot", { key: '80ce9b584d05d28ed79064fbc86bf63186583373', name: "code" }, this.renderMatrix()), h("div", { key: 'd80f9ace4a450a2f8e9f40570a296bad069c4779', part: "logo", class: { 'bs-qr-code__logo': true, 'bs-qr-code__logo--visible': this.hasLogo } }, h("slot", { key: '68f7e3562c8407525e3943d47523f21a4866e451', name: "logo", onSlotchange: (ev) => (this.hasLogo = ev.target.assignedNodes().length > 0) }))), this.renderOverlay()), this.type === 'payment' && this.amount && (h("div", { key: 'a2f6397fadff014cb0d675b89b7dcc0e0f218630', part: "amount", class: "bs-qr-code__amount" }, this.amountLabel && h("p", { key: '69f1054729a2e1315b8a2c8c480bb301c6806fa0', class: "bs-qr-code__amount-label" }, this.amountLabel), h("p", { key: 'a2cc025a819c542c8a8eb5c1cf8573d7fb12741a', class: "bs-qr-code__amount-value" }, this.amount))), this.type === 'default' && this.url && (h("div", { key: '1d3a758cfe7589b556ede6c25d524bce76afaee2', part: "url", class: "bs-qr-code__url" }, this.url)), this.expiry && (h("bs-chip-informative", { key: 'a89157d8e431c053475abdfe5f0bba608f5a2d11', part: "expiry", size: "md" }, h(TimerIcon, { key: '20436f09c87a649827d5139308b3c5fd8f6abe7a', slot: "icon" }), this.expiry)), showActions && (h("div", { key: 'cdf415171b0fb7e470dd54325954a91b937d4f8f', part: "actions", class: "bs-qr-code__actions" }, !this.hideDownload && (h("bs-button", { key: '7de589ac46bc6cc7108e1f176265adad7fd16873', part: "download", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.bsDownload.emit() }, h(DownloadIcon, { key: '8584c8f0f176f0c20eaffea7c9a8d3e968725028', slot: "icon" }), this.downloadLabel)), !this.hideCopy && (h("bs-button", { key: '99aad46fc21d1ed92c9e191a438d66364af1a045', part: "copy", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.onCopy() }, h(CopyIcon, { key: '1dd10b9a2782841b63a6fa341ce03abe5404f7c2', slot: "icon" }), this.copyLabel)))))));
172
172
  }
173
173
  static get is() { return "bs-qr-code"; }
174
174
  static get encapsulation() { return "shadow"; }
@@ -22,7 +22,7 @@ const demoMatrix = (() => {
22
22
  return m;
23
23
  })();
24
24
  const meta = {
25
- title: 'Components/bs-qr-code',
25
+ title: 'Components/Data display/bs-qr-code',
26
26
  parameters: { docs: { description: { component: componentDescription('bs-qr-code') } } },
27
27
  render: args => html `
28
28
  <bs-qr-code
@@ -109,7 +109,7 @@ export class BsRadio {
109
109
  }
110
110
  };
111
111
  render() {
112
- return (h("label", { key: 'f306e00e27f679e419cfa5f4fa645ce890b5f595', class: `bs-radio ${this.disabled ? 'bs-radio--disabled' : ''}` }, h("input", { key: '8d531aa5fc6616bd2179e63a9ac1f801d8c5a0a0', class: "bs-radio__input", type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, "aria-label": this.ariaLabel, tabIndex: this.checked || !this.groupHasChecked ? 0 : -1, onKeyDown: this.onKeyDown, onChange: this.onChange }), h("span", { key: '4b34023e14a244d775b78a0d3448abf11675df9d', class: "bs-radio__hit-area" }, h("bs-ripple", { key: 'a5e40330de337e361eb20f833a4a8043abe7f57e', part: "ripple", class: "bs-radio__ripple", centered: true, triggerSelector: ".bs-radio", disabled: this.disabled }), h("span", { key: 'b2474d2435bd670c0d314af20c33c86eca87ec70', class: "bs-radio__state-layer" }, h("span", { key: 'fecc8416c4d534cc061f86b10e3bc471719990e6', part: "circle", class: `bs-radio__circle ${this.checked ? 'bs-radio__circle--selected' : ''}` }, this.checked && h("span", { key: '24941aede8c24ed27dff8f033732d779579d08c2', part: "dot", class: "bs-radio__dot" })))), h("span", { key: 'b51c9ac9b90d9cc4498aeeadabf1539409649db3', part: "label", class: "bs-radio__label" }, h("slot", { key: 'aea76fb7e8d2330e1b02858af95e721af60dc4f1' }))));
112
+ return (h("label", { key: '26f8fa0470b6aa5249b1c2a21b7d55dcca76b768', class: `bs-radio ${this.disabled ? 'bs-radio--disabled' : ''}` }, h("input", { key: '4dbaa0ef0d060353aa2bf134a99f5d6212bfbd69', class: "bs-radio__input", type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, "aria-label": this.ariaLabel, tabIndex: this.checked || !this.groupHasChecked ? 0 : -1, onKeyDown: this.onKeyDown, onChange: this.onChange }), h("span", { key: 'e74c82652f45ab560dba4767aea0070fa073e486', class: "bs-radio__hit-area" }, h("bs-ripple", { key: 'fa2c19c2caa5ffdf892c51c893570570e2ef18af', part: "ripple", class: "bs-radio__ripple", centered: true, triggerSelector: ".bs-radio", disabled: this.disabled }), h("span", { key: '7f50a239ccaebebaaaa0cb83117a2b4798d028e6', class: "bs-radio__state-layer" }, h("span", { key: 'baaf9f515aaa3777dcd85bb3b8c180ed9f141e2b', part: "circle", class: `bs-radio__circle ${this.checked ? 'bs-radio__circle--selected' : ''}` }, this.checked && h("span", { key: '225f8a13423e9e5b8cc6cd13cb56d85aa5051ad9', part: "dot", class: "bs-radio__dot" })))), h("span", { key: '7959a89f2fa7171ce9c7e2f2eddad726d571676c', part: "label", class: "bs-radio__label" }, h("slot", { key: '5bf56794007d36f05a34d2ee80aa5c316bb351fd' }))));
113
113
  }
114
114
  static get is() { return "bs-radio"; }
115
115
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import { componentDescription, propDescription } from "../../stories-utils";
3
3
  const meta = {
4
- title: 'Components/bs-radio',
4
+ title: 'Components/Forms/bs-radio',
5
5
  parameters: { docs: { description: { component: componentDescription('bs-radio') } } },
6
6
  render: args => html `
7
7
  <bs-radio name=${args.name} value=${args.value} ?checked=${args.checked} ?disabled=${args.disabled}>
@@ -90,7 +90,7 @@ export class BsRadioGroup {
90
90
  const labelId = `${this.id}-label`;
91
91
  const descId = `${this.id}-desc`;
92
92
  const note = this.error || this.description;
93
- return (h("div", { key: 'cfc1e80a169ffcb0bed6172a23ebf764a1f0f424', part: "group", class: { 'bs-radio-group': true, 'bs-radio-group--error': !!this.error }, role: "radiogroup", "aria-labelledby": this.label ? labelId : undefined, "aria-describedby": note ? descId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined }, this.label && (h("span", { key: '4cac10e71108811c7138c1e0309d6faacf671e58', id: labelId, part: "label", class: "bs-radio-group__label" }, this.label, this.required && h("span", { key: 'f7f64cf3452d0a52a9823d1cf9db2d89941b27b3', "aria-hidden": "true" }, " *"))), h("div", { key: 'b6123200ba34f2507289996c995022a7cc42f26e', part: "options", class: "bs-radio-group__options" }, h("slot", { key: '482111d3caaec3ff0ec4dfaf7b5e951bd9052552', onSlotchange: this.onSlotchange })), note && (h("span", { key: 'b4c663c6fc2626a92210562ea530c8293638e266', id: descId, part: this.error ? 'error' : 'description', class: this.error ? 'bs-radio-group__error' : 'bs-radio-group__description' }, this.error || this.description))));
93
+ return (h("div", { key: 'e39810129ecc8a71fd4d2ccd96041f0a516f9203', part: "group", class: { 'bs-radio-group': true, 'bs-radio-group--error': !!this.error }, role: "radiogroup", "aria-labelledby": this.label ? labelId : undefined, "aria-describedby": note ? descId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined }, this.label && (h("span", { key: '57509af8324282bc4612b79f25992fa62984e570', id: labelId, part: "label", class: "bs-radio-group__label" }, this.label, this.required && h("span", { key: '716bbae9380c3ba1466425988de7340b5e0734d0', "aria-hidden": "true" }, " *"))), h("div", { key: 'e9acf3108014adaced72941e1e0de1a15929f21f', part: "options", class: "bs-radio-group__options" }, h("slot", { key: '7c47355f54c43a863061821cb02deefe1126e714', onSlotchange: this.onSlotchange })), note && (h("span", { key: 'd5b655a580a950045010069f4bfcdbf28c106251', id: descId, part: this.error ? 'error' : 'description', class: this.error ? 'bs-radio-group__error' : 'bs-radio-group__description' }, this.error || this.description))));
94
94
  }
95
95
  static get is() { return "bs-radio-group"; }
96
96
  static get encapsulation() { return "shadow"; }
@@ -1,8 +1,10 @@
1
1
  import { html } from "lit";
2
2
  import { ifDefined } from "lit/directives/if-defined.js";
3
3
  import { componentDescription } from "../../stories-utils";
4
+ import { expect, userEvent, waitFor } from "storybook/test";
5
+ import { ready, inShadow, recordEvents } from "../../play-utils";
4
6
  const meta = {
5
- title: 'Components/bs-radio-group',
7
+ title: 'Components/Forms/bs-radio-group',
6
8
  parameters: { docs: { description: { component: componentDescription('bs-radio-group') } } },
7
9
  render: args => html `
8
10
  <bs-radio-group
@@ -29,7 +31,19 @@ const meta = {
29
31
  args: { label: 'Billing period', description: '', error: '', orientation: 'vertical', required: false, value: 'monthly' },
30
32
  };
31
33
  export default meta;
32
- export const Default = {};
34
+ export const Default = {
35
+ play: async ({ canvasElement }) => {
36
+ const group = await ready(canvasElement, 'bs-radio-group');
37
+ const changes = recordEvents(group, 'bsChange');
38
+ const radio = async (value) => inShadow(await ready(canvasElement, `bs-radio[value="${value}"]`), 'input');
39
+ await expect(await radio('monthly')).toBeChecked();
40
+ await userEvent.click(await radio('yearly'));
41
+ await waitFor(() => expect(group.value).toBe('yearly'));
42
+ await expect(await radio('yearly')).toBeChecked();
43
+ await waitFor(async () => expect(await radio('monthly')).not.toBeChecked());
44
+ await expect(changes.map(e => e.detail)).toEqual(['yearly']);
45
+ },
46
+ };
33
47
  export const Horizontal = { args: { orientation: 'horizontal' } };
34
48
  export const WithHelperText = { name: 'With helper text', args: { description: 'You can change this later.', required: true } };
35
49
  export const WithError = { name: 'With error', args: { value: '', required: true, error: 'Choose a billing period.' } };
@@ -101,7 +101,7 @@ export class BsRipple {
101
101
  return 0;
102
102
  }
103
103
  render() {
104
- return (h(Host, { key: 'f1046b962acdf37311a3c1af1e0dcbdc112008fa', "aria-hidden": "true" }, h("div", { key: '444cd2910477b66aa0f5183050621a83101f0f66', part: "surface", class: "bs-ripple", ref: el => (this.surface = el) })));
104
+ return (h(Host, { key: '02e395f630185de0fec1b5c8cd1f151a81e22391', "aria-hidden": "true" }, h("div", { key: '042b7c603c11dbc25f8002f496ecfda5ed958744', part: "surface", class: "bs-ripple", ref: el => (this.surface = el) })));
105
105
  }
106
106
  static get is() { return "bs-ripple"; }
107
107
  static get encapsulation() { return "shadow"; }
@@ -69,7 +69,7 @@ export class BsSearchItem {
69
69
  slotFilled = (set) => (ev) => set(ev.target.assignedNodes().length > 0);
70
70
  render() {
71
71
  const role = this.selectionRole ?? undefined;
72
- return (h("div", { key: '4e893a0005ebd09facffe756cf47d393cbb19a2a', part: "container", class: "bs-search-item", role: role, "aria-selected": role ? String(this.active) : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, !this.disabled && h("bs-ripple", { key: 'ed44f2b37d8c7fa740c69a5a734b2a1bb4b34ebc', part: "ripple" }), h("span", { key: 'c013610e802e299f8f3ac8307061e01155e9d35f', part: "icon", class: { 'bs-search-item__icon': true, 'bs-search-item__icon--hidden': !this.hasIcon } }, h("slot", { key: '79bbb9cf256885b7540485d68cf1f4492a336393', name: "icon", onSlotchange: this.slotFilled(v => (this.hasIcon = v)) })), h("span", { key: '5dc3f4f00182d13f3a79828170a9573d65f3f6ff', part: "content", class: "bs-search-item__content" }, h("span", { key: '3aefdebe10cedee45b2ba83feb3ef6dddaaead8e', part: "label", class: "bs-search-item__label" }, h("slot", { key: '150ad4ff3e29288b63ebdae2d456ed0f182b09be' })), h("span", { key: 'dc2ff7caa2f9d8313d810efb1d7ff4d7751036cc', part: "description", class: { 'bs-search-item__description': true, 'bs-search-item__description--hidden': !this.hasDescription } }, h("slot", { key: 'bb7a747ce8b5a8c4c48313361fa43c009755aba9', name: "description", onSlotchange: this.slotFilled(v => (this.hasDescription = v)) }))), h("span", { key: '38c442550fcdeebf667a70af3105775a9b02d57e', part: "trailing", class: { 'bs-search-item__trailing': true, 'bs-search-item__trailing--hidden': !this.hasTrailingSlot && !this.trailing } }, h("slot", { key: 'a66b8babf306a4fb1e0aacf45caf642e843a270b', name: "trailing", onSlotchange: this.slotFilled(v => (this.hasTrailingSlot = v)) }, this.trailing))));
72
+ return (h("div", { key: '8bd4f3ebead19d51a61dd1e9a4cd812b3dbf3f16', part: "container", class: "bs-search-item", role: role, "aria-selected": role ? String(this.active) : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, !this.disabled && h("bs-ripple", { key: 'f60c181c97f9167cce6650002dc10e5d2fb3a4be', part: "ripple" }), h("span", { key: 'a1178eed50f0d398d71446ed60d2bf8790c6eb45', part: "icon", class: { 'bs-search-item__icon': true, 'bs-search-item__icon--hidden': !this.hasIcon } }, h("slot", { key: '59a5f005d9681ac28ef9730ab6d58ba63df56393', name: "icon", onSlotchange: this.slotFilled(v => (this.hasIcon = v)) })), h("span", { key: '76ca2825dc981896ecdfce8feed5ab7b014f7ae0', part: "content", class: "bs-search-item__content" }, h("span", { key: '0096d93b998b9e76930423f6599d8495e847244a', part: "label", class: "bs-search-item__label" }, h("slot", { key: 'c9dd0aa924790611302b1275793c3f2c3f5827f2' })), h("span", { key: '2a746683a251781d7b4d53c4778640c4f6814088', part: "description", class: { 'bs-search-item__description': true, 'bs-search-item__description--hidden': !this.hasDescription } }, h("slot", { key: 'c144563477a5217d3e458aa59987b27236f4be40', name: "description", onSlotchange: this.slotFilled(v => (this.hasDescription = v)) }))), h("span", { key: '4925a26b5976ae6b0a885b6cb8ebfe41ca58be55', part: "trailing", class: { 'bs-search-item__trailing': true, 'bs-search-item__trailing--hidden': !this.hasTrailingSlot && !this.trailing } }, h("slot", { key: 'd215f00d94710993a6293c9db5797ad4616b326d', name: "trailing", onSlotchange: this.slotFilled(v => (this.hasTrailingSlot = v)) }, this.trailing))));
73
73
  }
74
74
  static get is() { return "bs-search-item"; }
75
75
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { html } from "lit";
2
2
  import { componentDescription } from "../../stories-utils";
3
3
  const USER_ICON = html `<svg slot="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="4" /><path d="M4 21a8 8 0 0 1 16 0" /></svg>`;
4
4
  const meta = {
5
- title: 'Components/bs-search-item',
5
+ title: 'Components/Navigation/bs-search-item',
6
6
  parameters: { docs: { description: { component: componentDescription('bs-search-item') } } },
7
7
  argTypes: { active: { control: 'boolean' }, disabled: { control: 'boolean' }, trailing: { control: 'text' } },
8
8
  args: { active: false, disabled: false, trailing: '' },
@@ -221,7 +221,7 @@ export class BsSelect {
221
221
  const fieldClasses = ['bs-select__field', this.error ? 'bs-select__field--error' : '', this.disabled ? 'bs-select__field--disabled' : '', this.open ? 'bs-select__field--open' : '']
222
222
  .filter(Boolean)
223
223
  .join(' ');
224
- return (h("div", { key: 'ebde3002856a4effa89249b70a5a51bcaa107367', class: `bs-select ${this.error ? 'bs-select--error' : ''}` }, this.label && (h("span", { key: 'b0b80484156f29d560901f64786988e0d0071bf7', part: "label", id: labelId, class: "bs-select__label", onClick: () => !this.disabled && this.fieldEl?.focus() }, this.label, this.required && (h("span", { key: 'a43acdc97df00ad5ac1b2d74903ed7e8616ce32f', class: "bs-select__required", "aria-hidden": "true" }, "*")))), h("div", { key: '84eb4775e064d56644395555e5488a22d718e9bb', class: "bs-select__wrapper" }, h("div", { key: '5d81b1ce333fa45eda0e46f30a11f8bff21fee64', part: "field", class: fieldClasses, ref: el => (this.fieldEl = el), role: "combobox", tabindex: this.disabled ? -1 : 0, "aria-haspopup": "listbox", "aria-expanded": String(this.open), "aria-controls": listId, "aria-labelledby": this.label ? labelId : undefined, "aria-label": this.label ? undefined : this.ariaLabel, "aria-activedescendant": this.open && this.activeIndex >= 0 ? optId(this.activeIndex) : undefined, "aria-describedby": this.error || this.description ? msgId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onFieldClick, onKeyDown: this.onKeyDown, onBlur: this.onBlur }, h("span", { key: '08340b9d62f1633753a6858b24a38ef49ba3d382', part: "value", class: `bs-select__value ${selected ? '' : 'bs-select__value--placeholder'}` }, selected ? selected.label : this.placeholder), h("svg", { key: 'df5e92b3555c508617c899ea8b597d980af3295f', part: "icon", class: "bs-select__chevron", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("path", { key: '991d65667ae91e25cb39a12a8066bb81288b84e5', d: "M4 6L8 10L12 6", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("ul", { key: '42256fc2bff2d31bde0347192ded1fdf56be043f', part: "listbox", id: listId, class: "bs-select__listbox", role: "listbox", "aria-labelledby": this.label ? labelId : undefined, "aria-label": this.label ? undefined : this.ariaLabel, hidden: !this.open, ref: el => (this.listEl = el), onMouseDown: (ev) => ev.preventDefault() }, this.options.map((o, i) => (h("li", { part: "option", id: optId(i), key: o.value, role: "option", "aria-selected": String(o.value === this.value), "aria-disabled": o.disabled ? 'true' : undefined, class: ['bs-select__option', i === this.activeIndex ? 'bs-select__option--active' : '', o.disabled ? 'bs-select__option--disabled' : '', o.value === this.value ? 'bs-select__option--selected' : '']
224
+ return (h("div", { key: 'e8ac6945a6f9f786fc41b574e51384c30abcd776', class: `bs-select ${this.error ? 'bs-select--error' : ''}` }, this.label && (h("span", { key: '54c4e9b9dc67f6943e4ff4d17bd9ac85cf885e03', part: "label", id: labelId, class: "bs-select__label", onClick: () => !this.disabled && this.fieldEl?.focus() }, this.label, this.required && (h("span", { key: 'dbd94b0805bff1f3f826afa3d4f203c4a703353f', class: "bs-select__required", "aria-hidden": "true" }, "*")))), h("div", { key: '1a72f710156cd4af244015bcfe846c7a90e05b82', class: "bs-select__wrapper" }, h("div", { key: '4514dae9a34746dcc3c820b6119424beff02575f', part: "field", class: fieldClasses, ref: el => (this.fieldEl = el), role: "combobox", tabindex: this.disabled ? -1 : 0, "aria-haspopup": "listbox", "aria-expanded": String(this.open), "aria-controls": listId, "aria-labelledby": this.label ? labelId : undefined, "aria-label": this.label ? undefined : this.ariaLabel, "aria-activedescendant": this.open && this.activeIndex >= 0 ? optId(this.activeIndex) : undefined, "aria-describedby": this.error || this.description ? msgId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onFieldClick, onKeyDown: this.onKeyDown, onBlur: this.onBlur }, h("span", { key: '98c1f4cb0e7c9a32516f87f79eaa3a26ff908ac1', part: "value", class: `bs-select__value ${selected ? '' : 'bs-select__value--placeholder'}` }, selected ? selected.label : this.placeholder), h("svg", { key: '4d98486b54716093d6ba6d9d607d2d8b8a59a7a9', part: "icon", class: "bs-select__chevron", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("path", { key: 'f49edfe803c3641df79de822c5a706a988098fac', d: "M4 6L8 10L12 6", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("ul", { key: '986f8472599daaabdc00e147e5d18b36821d786e', part: "listbox", id: listId, class: "bs-select__listbox", role: "listbox", "aria-labelledby": this.label ? labelId : undefined, "aria-label": this.label ? undefined : this.ariaLabel, hidden: !this.open, ref: el => (this.listEl = el), onMouseDown: (ev) => ev.preventDefault() }, this.options.map((o, i) => (h("li", { part: "option", id: optId(i), key: o.value, role: "option", "aria-selected": String(o.value === this.value), "aria-disabled": o.disabled ? 'true' : undefined, class: ['bs-select__option', i === this.activeIndex ? 'bs-select__option--active' : '', o.disabled ? 'bs-select__option--disabled' : '', o.value === this.value ? 'bs-select__option--selected' : '']
225
225
  .filter(Boolean)
226
226
  .join(' '), onClick: () => this.commit(i), onMouseMove: () => !o.disabled && this.activeIndex !== i && (this.activeIndex = i) }, h("span", { class: "bs-select__option-label" }, o.label), o.value === this.value && (h("svg", { class: "bs-select__check", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("path", { d: "M3.5 8.5L6.5 11.5L12.5 4.5", stroke: "currentColor", "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" })))))))), this.error ? (h("span", { id: msgId, part: "error", class: "bs-select__error" }, this.error)) : this.description ? (h("span", { id: msgId, part: "description", class: "bs-select__description" }, this.description)) : null));
227
227
  }
@@ -1,5 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import { componentDescription, propDescription } from "../../stories-utils";
3
+ import { expect, userEvent, waitFor } from "storybook/test";
4
+ import { ready, inShadow, recordEvents } from "../../play-utils";
3
5
  const fruit = [
4
6
  { label: 'Apple', value: 'apple' },
5
7
  { label: 'Banana', value: 'banana' },
@@ -8,7 +10,7 @@ const fruit = [
8
10
  { label: 'Grape', value: 'grape' },
9
11
  ];
10
12
  const meta = {
11
- title: 'Components/bs-select',
13
+ title: 'Components/Forms/bs-select',
12
14
  parameters: { docs: { description: { component: componentDescription('bs-select') } } },
13
15
  render: args => html `
14
16
  <div style="width: 280px; min-height: 260px;">
@@ -36,7 +38,25 @@ const meta = {
36
38
  args: { label: 'Fruit', placeholder: 'Select a fruit', description: '', error: '', disabled: false, required: false, value: '' },
37
39
  };
38
40
  export default meta;
39
- export const Default = {};
41
+ export const Default = {
42
+ play: async ({ canvasElement }) => {
43
+ const host = await ready(canvasElement, 'bs-select');
44
+ const changes = recordEvents(host, 'bsChange');
45
+ const field = inShadow(host, '[part="field"]');
46
+ const option = (i) => host.shadowRoot.querySelectorAll('[part="option"]')[i];
47
+ await expect(field).toHaveAttribute('aria-expanded', 'false');
48
+ await userEvent.click(field);
49
+ await waitFor(() => expect(field).toHaveAttribute('aria-expanded', 'true'));
50
+ // "Blueberry (sold out)" is disabled: clicking it must not select it.
51
+ await userEvent.click(option(2));
52
+ await expect(host.value).toBe('');
53
+ await expect(changes).toHaveLength(0);
54
+ await userEvent.click(option(1));
55
+ await waitFor(() => expect(host.value).toBe('banana'));
56
+ await expect(changes.map(e => e.detail)).toEqual(['banana']);
57
+ await waitFor(() => expect(field).toHaveAttribute('aria-expanded', 'false'));
58
+ },
59
+ };
40
60
  export const WithHelperText = {
41
61
  name: 'With helper text',
42
62
  args: { description: 'Pick the fruit you want in the box.' },
@@ -196,7 +196,7 @@ export class BsSessionTimeout {
196
196
  const description = this.description ?? d.description;
197
197
  const primary = this.primaryLabel ?? d.primary;
198
198
  const secondary = this.secondaryLabel ?? d.secondary;
199
- return (h("bs-card", { key: '69492b1be5aba242ffdeacd2181a9b4007c97300', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: 'a7ad5d3d7e58f159efb282ffe0dbfd0a7c2ad120', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: '2a813414653c152354dea524d3a605c5945dee84', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: '45b0ff33e36f2d13f9544981eefe9d54f5fff640', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: '1a08b4612f6e4d152445b15f1ace42d039ce2716', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: 'e84a18ce87b52f5bd1a6b8faf233883f005d512b' }), h("span", { key: 'cac0e19552062075cac38780f30f7ccea88dd9b8' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: '927ce76f8956112938619fff025cdb80add48cb7', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: 'a607a2defd1ca2bfaf82dad2c493867bac123be4', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: '88357d0a2238ea9cbdf5cd03db3cc2f28cdcb322', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: '4e7dc325d82fd193386ee1fe13afaef9308ceb2f', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: '8739ade10f09e0503a4d1d6dfc284cf23ae43e5d', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: '0b1304b18ee010519fbb5e911c52ac64379ecbcc', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: '973d818d379dbcf34216fd8b5e6bcb1a5cfec5e5', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
199
+ return (h("bs-card", { key: 'cf0974db96c51da87d134d35e5cef4da90d3925f', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: 'e3095b7c690aafc215a8f39a6b6f473fe583e5f0', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: '7a895784fc719f6af76490112d16bea5314484a1', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: 'be5b485de50c995f4979875d914dfee9a267e16a', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: '27ad469a56758be69230543d0fca5f5938295670', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: 'c8448fc7cdf68368fd5bccc37368d2db5ef0bab0' }), h("span", { key: '7b48f01c04ebb7b2b9e36d15ec6a786683b2a259' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: 'fe1eeb794c192abf736ddd287229106b86a42519', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: '8420f2abc940c289ede3c1f191ce5de9c2fd1adf', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: 'f925d3d6bd3cc8ad12e9d5130f52d5552c0ba691', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: '235011f210dc97e6c317e72e9ebef888e01d652f', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: '69140cb99a864a6acf61540f3980ffc68963e07a', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: 'b3ce4bca3f9ddce2382d30f6a7905df47cd78af5', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: '3c4874232eb8105bfbe6ccf78c51132cfbe95010', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
200
200
  }
201
201
  static get is() { return "bs-session-timeout"; }
202
202
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { html } from "lit";
2
2
  import { ifDefined } from "lit/directives/if-defined.js";
3
3
  import { componentDescription, propDescription } from "../../stories-utils";
4
4
  const meta = {
5
- title: 'Components/bs-session-timeout',
5
+ title: 'Components/Feedback/bs-session-timeout',
6
6
  parameters: { docs: { description: { component: componentDescription('bs-session-timeout') } } },
7
7
  decorators: [story => html `<div style="padding: 24px; background: var(--bs-color-neutral-container);">${story()}</div>`],
8
8
  render: args => html `
@@ -36,7 +36,7 @@ export class BsShortcutRow {
36
36
  /** Set by the parent list (`"listitem"`). Standalone rows have no role. */
37
37
  selectionRole = null;
38
38
  render() {
39
- return (h("div", { key: 'd3956a19e61cf2de661506b116c160b5a968c139', part: "container", class: "bs-shortcut-row", role: this.selectionRole ?? undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("span", { key: '4f1358b1536d313397b8dc9697d13bdaca77971f', part: "action", class: "bs-shortcut-row__action" }, h("slot", { key: 'd45777d253c65e03a9705dfe8b2f709e0b864918' }, this.action)), h("span", { key: '19f1f4f506b06ef59a8b0d0e65d56d4262cccdef', part: "keys", class: "bs-shortcut-row__keys" }, h("slot", { key: 'c5e1e282de5dad7dfebb242493de0fc5dc4213fe', name: "keys" }, h("bs-key-caps", { key: 'fc8618b576cba9973305e56704ad5ee31131d353', keys: this.keys, label: this.label, disabled: this.disabled })))));
39
+ return (h("div", { key: 'defe5047b4b0689cb853b22fd3ae6c14af54ad4c', part: "container", class: "bs-shortcut-row", role: this.selectionRole ?? undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("span", { key: 'bf935f4932f94bc9c605766da7d579b4060c2000', part: "action", class: "bs-shortcut-row__action" }, h("slot", { key: '1ecef4d0a1fc5e6f07e4ee7cce586d3d9040f438' }, this.action)), h("span", { key: '9102cf9b93eb644feee936717fc59cbecd31be15', part: "keys", class: "bs-shortcut-row__keys" }, h("slot", { key: '0cdfcf25a8c9635f3d9bdca8a2ee819db7d50987', name: "keys" }, h("bs-key-caps", { key: 'ff0a64f45ecb29f5ac7f3d792689a2bd20590d92', keys: this.keys, label: this.label, disabled: this.disabled })))));
40
40
  }
41
41
  static get is() { return "bs-shortcut-row"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import { componentDescription } from "../../stories-utils";
3
3
  const meta = {
4
- title: 'Components/bs-shortcut-row',
4
+ title: 'Components/Data display/bs-shortcut-row',
5
5
  parameters: { docs: { description: { component: componentDescription('bs-shortcut-row') } } },
6
6
  render: args => html `<bs-shortcut-row style="width: 318px;" action=${args.action} keys=${args.keys} ?disabled=${args.disabled}></bs-shortcut-row>`,
7
7
  argTypes: { action: { control: 'text' }, keys: { control: 'text' }, disabled: { control: 'boolean' } },
@@ -1,7 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import { componentDescription } from "../../stories-utils";
3
3
  const meta = {
4
- title: 'Components/bs-side-panel',
4
+ title: 'Components/Menus and overlays/bs-side-panel',
5
5
  parameters: { docs: { description: { component: componentDescription('bs-side-panel') } } },
6
6
  render: args => html `
7
7
  <bs-side-panel ?open=${args.open} heading=${args.heading} side=${args.side} close-label=${args.closeLabel} ?overlay=${args.overlay}>
@@ -60,7 +60,7 @@ export class BsSkeleton {
60
60
  lines.push(h("span", { part: "line", class: { 'bs-skeleton__line': true, [`bs-skeleton__line--${this.variant}`]: true, 'bs-skeleton__line--short': isShortLast }, style: style }));
61
61
  }
62
62
  const hasLabel = !!this.label;
63
- return (h("span", { key: '36599506573efe1672d5d9be3c6df23f8e8dd10c', part: "container", class: { 'bs-skeleton': true, 'bs-skeleton--animated': this.animated, [`bs-skeleton--${this.variant}`]: true }, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, lines));
63
+ return (h("span", { key: 'c0633b355a8706cfc006beeda8c949dbaeddc51d', part: "container", class: { 'bs-skeleton': true, 'bs-skeleton--animated': this.animated, [`bs-skeleton--${this.variant}`]: true }, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, lines));
64
64
  }
65
65
  static get is() { return "bs-skeleton"; }
66
66
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { html } from "lit";
2
2
  import { componentDescription, propDescription } from "../../stories-utils";
3
3
  const variants = ['text', 'rect', 'circle'];
4
4
  const meta = {
5
- title: 'Components/bs-skeleton',
5
+ title: 'Components/Feedback/bs-skeleton',
6
6
  parameters: { docs: { description: { component: componentDescription('bs-skeleton') } } },
7
7
  render: args => html `
8
8
  <bs-skeleton
@@ -57,7 +57,7 @@ export class BsSkipLink {
57
57
  target.focus();
58
58
  };
59
59
  render() {
60
- return (h("a", { key: '62bea478a5a3568d18116406133c737eda387796', part: "link", class: "bs-skip-link", href: this.href, onClick: this.onClick }, h("slot", { key: 'ff567267fb5b12c630ece1064af6d0fc1175c44a' }, "Skip to main content")));
60
+ return (h("a", { key: '91e5791d2feeb0387e13ed4fe7068fa18756e6f0', part: "link", class: "bs-skip-link", href: this.href, onClick: this.onClick }, h("slot", { key: 'da0948ad605e5872c6220e01b7efa9e1bb2ae781' }, "Skip to main content")));
61
61
  }
62
62
  static get is() { return "bs-skip-link"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import { componentDescription, propDescription } from "../../stories-utils";
3
3
  const meta = {
4
- title: 'Components/bs-skip-link',
4
+ title: 'Components/Actions/bs-skip-link',
5
5
  parameters: { docs: { description: { component: componentDescription('bs-skip-link') } } },
6
6
  render: args => html `
7
7
  <div style="min-height: 160px;">
@@ -233,7 +233,7 @@ export class BsSlider {
233
233
  render() {
234
234
  const isRange = this.type === 'range';
235
235
  const rootClasses = ['bs-slider', this.disabled ? 'bs-slider--disabled' : ''].filter(Boolean).join(' ');
236
- return (h("div", { key: '84aea3221c41e19ffa310a2d17c0385ea11041df', class: rootClasses, "aria-disabled": this.disabled ? 'true' : undefined }, this.showLabel && (h("div", { key: 'f26d63ea2bbd9e47b7c30c9ee03cdeff6f7280b8', class: "bs-slider__header" }, h("span", { key: 'df0996ae3e6a3548f7b6da584179f118b4eb4da9', id: "bs-slider-label", part: "label", class: "bs-slider__label" }, this.label), isRange ? (h("span", { class: "bs-slider__value-fields" }, this.renderPercentField(this.percent(this.effectiveValueStart), this.onStartPercentFieldChange, this.ariaLabel ?? this.startValueLabel), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : this.endValueLabel))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: '6f96cd1cde58d5c6988b7271fc5d6fdfa133b29a', class: "bs-slider__row" }, this.showLabel && (h("span", { key: '34204ca12f519b9be931cf54a96f3da8756d5430', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: 'ff16e9ed98447d8211a5a5d22749ec801cabebd4', part: "bound", class: "bs-slider__bound" }, this.max)))));
236
+ return (h("div", { key: 'a71c5cacc9a63c09cdaac6faa6bbc5cfdb99e320', class: rootClasses, "aria-disabled": this.disabled ? 'true' : undefined }, this.showLabel && (h("div", { key: 'cb511949f7bbf953b525a55b76532da27b22f7cc', class: "bs-slider__header" }, h("span", { key: '14420fa4fc943caa65ef71721c25677a3ae06c69', id: "bs-slider-label", part: "label", class: "bs-slider__label" }, this.label), isRange ? (h("span", { class: "bs-slider__value-fields" }, this.renderPercentField(this.percent(this.effectiveValueStart), this.onStartPercentFieldChange, this.ariaLabel ?? this.startValueLabel), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : this.endValueLabel))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: '7ece9aa9f9b4272b245f24e469cf1567db8dca23', class: "bs-slider__row" }, this.showLabel && (h("span", { key: 'bd2f3b9be1e38e63844e5a80b1d76dac38c59cb8', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: '2979b882e37bb2d5e72f1dfb5deeecb467856e39', part: "bound", class: "bs-slider__bound" }, this.max)))));
237
237
  }
238
238
  static get is() { return "bs-slider"; }
239
239
  static get encapsulation() { return "shadow"; }
@@ -3,7 +3,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
3
3
  import { componentDescription, propDescription } from "../../stories-utils";
4
4
  const types = ['default', 'segmented', 'range'];
5
5
  const meta = {
6
- title: 'Components/bs-slider',
6
+ title: 'Components/Forms/bs-slider',
7
7
  parameters: { docs: { description: { component: componentDescription('bs-slider') } } },
8
8
  render: args => html `
9
9
  <bs-slider
@@ -67,7 +67,7 @@ export class BsSnackbar {
67
67
  this.bsDismiss.emit();
68
68
  };
69
69
  render() {
70
- return (h("div", { key: '853522bb5eb39a46e30e5ac18fe16ee55755afff', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: '73b6b2cc350a90f32aa143aab3be2b85ba73eeae', class: "bs-snackbar__content" }, h("span", { key: 'f3880db1b2b6eca4661ee5bb3e0c96d1e6da8e6f', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: 'a56e5d22939edede5949bcf1340d59065fc694b0', part: "message", class: "bs-snackbar__message" }, h("slot", { key: '46357548d5af22e4f72d20a99ba566067c3c1fa0' }))), h("div", { key: '1e2a66b55bd06dc152956004430159a0c2370939', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '563ead50e48142407812caf3727b4bf290e02b86', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: '84506a32eef3551b4fc560d899913e792cdfeba0', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '55d3e926776e980e18bf77c08e2912f2424afd41' }))))));
70
+ return (h("div", { key: 'abc0dc016e3c3cb11473b87ec1c2ca3e0d263019', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: '17e3c78951bfbe311cbc59298277f369eec4aa6a', class: "bs-snackbar__content" }, h("span", { key: 'c2b05e722a48a24f63171480674c8a5503b547cf', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: '54970644cd45c79ceab0218eaaa699e7fd789f92', part: "message", class: "bs-snackbar__message" }, h("slot", { key: 'c794d5a366b65cd04cd02169574f372098b64df9' }))), h("div", { key: 'f642653e195e181c05fa9750f9471f043e2ec900', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '70db297865ef7bbb88e32e11b295358a1a8c42cf', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: 'ab20201c97c9b7a652330f4afe68dd049b7dcb96', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '0df459ff13ca7774c4f9fde30d3dacf254c16ed7' }))))));
71
71
  }
72
72
  static get is() { return "bs-snackbar"; }
73
73
  static get encapsulation() { return "shadow"; }
@@ -9,7 +9,7 @@ const hideOnDismiss = (ev) => {
9
9
  ev.currentTarget.style.display = 'none';
10
10
  };
11
11
  const meta = {
12
- title: 'Components/bs-snackbar',
12
+ title: 'Components/Feedback/bs-snackbar',
13
13
  parameters: { docs: { description: { component: componentDescription('bs-snackbar') } } },
14
14
  render: args => html `
15
15
  <bs-snackbar
@@ -52,9 +52,9 @@ export class BsSourceLink {
52
52
  };
53
53
  render() {
54
54
  const inner = [
55
- h("bs-ripple", { key: '2a875265b65f749466162d903f923e1433c7d397', part: "ripple" }),
56
- h("span", { key: '62e74329531e0917670e0d480603692f422c7acc', class: "bs-source-link__left" }, h("span", { key: 'e639ffac289dbc1aed0aa6a2caecb16d326aa11a', class: "bs-source-link__filename-row" }, h("span", { key: 'fe01cfd760152e6bf81fb40d7ec4d77dbbef6ee4', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: '358a3c7acc24b9c4d40bd60d6c076e8047f80023', name: "icon" }, h(FileTextIcon, { key: 'e15554ec81c33fa58dd4d06dbac35f322f890c2b' }))), h("p", { key: '0f90eff6d1999a7512a510d1c07817bc1682f85c', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: 'f510d7ae0610604f09c01fe9e05c7973d5152283', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: 'de22c00cf119569ed2ed6f7eb483813431214237', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: '3f8262d1d3b9e8403b58d244fb25e12db353599c', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: '02ab1216020d9cd0de5f02b2b50d1d1c2cf18cb8', part: "version", class: "bs-source-link__version" }, this.version)))),
57
- h("span", { key: 'eea76db4a9167aa545ef296f82819c04b6f1a21b', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: 'f9b21efca8e16963e110bf5f35034582fe616034' })),
55
+ h("bs-ripple", { key: 'a9cf4ca59a46d6850ac12623c7929a049204d7a8', part: "ripple" }),
56
+ h("span", { key: '963e723d983df529fa7275ed8911a23f14bf58d3', class: "bs-source-link__left" }, h("span", { key: 'c54ed1d909d06686755ee0a722a8872964eec212', class: "bs-source-link__filename-row" }, h("span", { key: '6b442369fff9851597e99c0511ea9f2551cdd921', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: 'f949eb3a9b4a5ad3f240122344ec5a4b72fd4112', name: "icon" }, h(FileTextIcon, { key: '8b268ad18772d4de2631800a78641f17172cb4c9' }))), h("p", { key: 'd56fe2b559722dee2316d9a647af605b3dd5d815', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: 'abeed4bfd0b76bcae3e3305bed71fce92e6be8c5', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: 'e72f06d12bc614ca2c326079aaa85828122db01a', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: 'b5951aa8d0d308531fb6cd5a161e88587accf5b1', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: 'eb8e816100bf6471ca4891541e8e9b4d661d0aaf', part: "version", class: "bs-source-link__version" }, this.version)))),
57
+ h("span", { key: 'de5dc9b0fcb0d574ebf18b0bbb568371f5aa115d', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: 'df061269ca5967dcfcc48b48d63f2c17b7b4d523' })),
58
58
  ];
59
59
  return this.href ? (h("a", { class: "bs-source-link", href: this.href, target: this.target, rel: "noopener noreferrer", onClick: this.onClick }, inner)) : (h("button", { type: "button", class: "bs-source-link", onClick: this.onClick }, inner));
60
60
  }
@@ -30,7 +30,7 @@ export class BsSpinner {
30
30
  label;
31
31
  render() {
32
32
  const hasLabel = !!this.label;
33
- return (h("span", { key: 'c715fcc72eda399bdefbbcb5684426e52c695b44', part: "container", class: `bs-spinner bs-spinner--${this.size}`, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, h("svg", { key: '02a8585935575b9be103e12e6232dac63a41f5fa', part: "svg", class: "bs-spinner__svg", viewBox: "0 0 24 24", fill: "none", focusable: "false" }, h("circle", { key: 'ddae2f0d9d74dd48c971ad9ee3973819bbafa5fe', class: "bs-spinner__track", cx: "12", cy: "12", r: "9", "stroke-width": "3" }), h("path", { key: 'f261cb4b4726c7e0ef937cb34cdf03b8ec3bc609', class: "bs-spinner__arc", d: "M12 3a9 9 0 0 1 9 9", "stroke-width": "3", "stroke-linecap": "round" }))));
33
+ return (h("span", { key: '2ce30722d6e6d8c0ad8f60387da0db774459cdac', part: "container", class: `bs-spinner bs-spinner--${this.size}`, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, h("svg", { key: '9468b6c2c1ca940496762d2388514c3030eb94df', part: "svg", class: "bs-spinner__svg", viewBox: "0 0 24 24", fill: "none", focusable: "false" }, h("circle", { key: '0ed28b4c160b34615d6b986e88d36a903651cc1c', class: "bs-spinner__track", cx: "12", cy: "12", r: "9", "stroke-width": "3" }), h("path", { key: '5ce03d2094906990589e6a5972a7f44ac21f172b', class: "bs-spinner__arc", d: "M12 3a9 9 0 0 1 9 9", "stroke-width": "3", "stroke-linecap": "round" }))));
34
34
  }
35
35
  static get is() { return "bs-spinner"; }
36
36
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { html } from "lit";
2
2
  import { componentDescription, propDescription } from "../../stories-utils";
3
3
  const sizes = ['xs', 'sm', 'md', 'inherit'];
4
4
  const meta = {
5
- title: 'Components/bs-spinner',
5
+ title: 'Components/Feedback/bs-spinner',
6
6
  parameters: { docs: { description: { component: componentDescription('bs-spinner') } } },
7
7
  render: args => html `<bs-spinner size=${args.size} label=${args.label || undefined}></bs-spinner>`,
8
8
  argTypes: {
@@ -13,6 +13,14 @@ describe('bs-split-pane', () => {
13
13
  expect(dividers[0]).toEqualAttribute('tabindex', '0');
14
14
  expect(split.shadowRoot.querySelectorAll('[part~="pane"]').length).toBe(3);
15
15
  });
16
+ it('makes only overflowing panes keyboard-focusable', async () => {
17
+ const { root } = await render(h("div", { style: { width: '600px', height: '200px' } }, h("bs-split-pane", null, h("div", { slot: "pane-1" }, "Short"), h("div", { slot: "pane-2", style: { height: '900px' } }, "Tall"))));
18
+ const split = root.querySelector('bs-split-pane');
19
+ await new Promise(r => setTimeout(r, 150));
20
+ const [first, second] = Array.from(split.shadowRoot.querySelectorAll('.bs-split-pane__pane'));
21
+ expect(first.hasAttribute('tabindex')).toBe(false);
22
+ expect(second).toEqualAttribute('tabindex', '0');
23
+ });
16
24
  it('follows the filled slots: two panes means one divider', async () => {
17
25
  const { root } = await mount({}, 2);
18
26
  const split = root.querySelector('bs-split-pane');