@brandsync/wc 1.20.1 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/REFERENCE.md +2 -1
  3. package/custom-elements.json +157 -6
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-dd3499ab.entry.js → p-018ab194.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-d6600c7c.entry.js → p-020a274b.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-2a96ce61.entry.js → p-0276bca4.entry.js} +1 -1
  8. package/dist/brandsync-wc/p-03acdd56.entry.js +1 -0
  9. package/dist/brandsync-wc/{p-32d83763.entry.js → p-06a5fe99.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-1a549f9a.entry.js → p-0a0798c4.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-ecb1a27d.entry.js → p-0b92d0d7.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-319b7baa.entry.js → p-0be65af0.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-0ebb60a8.entry.js → p-0ce29fc2.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-6ae75ed0.entry.js → p-1436ae47.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-66f1ca2e.entry.js → p-181a8372.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-f71d7582.entry.js → p-1bd3756c.entry.js} +1 -1
  17. package/dist/brandsync-wc/p-1bf91b43.entry.js +1 -0
  18. package/dist/brandsync-wc/p-1c2402eb.entry.js +1 -0
  19. package/dist/brandsync-wc/{p-ff85a9d8.entry.js → p-214b32bb.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-4810bcc8.entry.js → p-21a592a4.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-a3c7b4e7.entry.js → p-23e3bffe.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-e8027825.entry.js → p-284e4e1e.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-78e4dd14.entry.js → p-2c167f83.entry.js} +1 -1
  24. package/dist/brandsync-wc/p-2e2dc322.entry.js +1 -0
  25. package/dist/brandsync-wc/{p-f22d2db8.entry.js → p-37da7465.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-2621b1b2.entry.js → p-38f4552f.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-23367a4d.entry.js → p-39afd9b8.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-28a34097.entry.js → p-3a13747b.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-fc7df528.entry.js → p-3b3a9587.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-50a154b8.entry.js → p-3de7989e.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-d555984e.entry.js → p-43a792a3.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-bfdd135b.entry.js → p-4907f66e.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-9e93b482.entry.js → p-4a8c2eca.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-89dbb3c8.entry.js → p-4ff5bc4b.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-a6cbb6c6.entry.js → p-51e9d375.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-2f58b161.entry.js → p-5399e163.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-e2268c96.entry.js → p-55db935b.entry.js} +1 -1
  38. package/dist/brandsync-wc/p-5f26d601.entry.js +1 -0
  39. package/dist/brandsync-wc/{p-409cf56b.entry.js → p-60e4e07a.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-08d08dc9.entry.js → p-645e1a78.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-6adc9c4f.entry.js → p-682b9f3e.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-08a5e178.entry.js → p-697de2b2.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-e18cb639.entry.js → p-6aa3dcef.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-d8a299a9.entry.js → p-6b11aebb.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-a1d34ff3.entry.js → p-6d18ba79.entry.js} +1 -1
  46. package/dist/brandsync-wc/p-6fcfd7d7.entry.js +1 -0
  47. package/dist/brandsync-wc/{p-69489f45.entry.js → p-71ea6c1c.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-b0f4cbca.entry.js → p-74dd9146.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-8c83cc99.entry.js → p-75ec385a.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-ca8a1e51.entry.js → p-78fdcd05.entry.js} +1 -1
  51. package/dist/brandsync-wc/{p-eb4ad606.entry.js → p-7a291cfc.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-baca1abf.entry.js → p-7f3c8416.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-8d674f11.entry.js → p-7f50ae81.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-53b1c545.entry.js → p-82533674.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-d263deec.entry.js → p-83977d40.entry.js} +1 -1
  56. package/dist/brandsync-wc/{p-806bb471.entry.js → p-851c1498.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-3f6be3f7.entry.js → p-87b91d38.entry.js} +1 -1
  58. package/dist/brandsync-wc/{p-b7545d9b.entry.js → p-8a85e144.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-c0e5db3d.entry.js → p-9301f01e.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-c39e6be9.entry.js → p-978c46d9.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-fa894893.entry.js → p-9988ebab.entry.js} +1 -1
  62. package/dist/brandsync-wc/p-9a45899c.entry.js +1 -0
  63. package/dist/brandsync-wc/{p-debc308d.entry.js → p-9bd0c4a7.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-4d6f2fec.entry.js → p-9c1ea6f0.entry.js} +1 -1
  65. package/dist/brandsync-wc/{p-aa99b1f8.entry.js → p-9c353a03.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-1daf48b1.entry.js → p-9d90d3b8.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-5b48a6c7.entry.js → p-a59b4c08.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-39c50762.entry.js → p-ad53d283.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-4f19e8d8.entry.js → p-ad9c3eea.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-040d4755.entry.js → p-aeb99b7d.entry.js} +1 -1
  71. package/dist/brandsync-wc/{p-70924681.entry.js → p-b145997c.entry.js} +1 -1
  72. package/dist/brandsync-wc/{p-90442341.entry.js → p-b6350eab.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-f229f59a.entry.js → p-b90c8b7d.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-a86560e6.entry.js → p-b93ce581.entry.js} +1 -1
  75. package/dist/brandsync-wc/p-ba933f3b.entry.js +1 -0
  76. package/dist/brandsync-wc/{p-6db03e96.entry.js → p-bb1b2350.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-d67840f5.entry.js → p-bcb09ba4.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-50ac6889.entry.js → p-bde099fb.entry.js} +1 -1
  79. package/dist/brandsync-wc/{p-e18e45bc.entry.js → p-bef6e54b.entry.js} +1 -1
  80. package/dist/brandsync-wc/{p-520b277a.entry.js → p-bf8da1b5.entry.js} +1 -1
  81. package/dist/brandsync-wc/{p-2210c680.entry.js → p-c36f68a2.entry.js} +1 -1
  82. package/dist/brandsync-wc/{p-1ce4395a.entry.js → p-c4026551.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-14719554.entry.js → p-c7c3c4ae.entry.js} +1 -1
  84. package/dist/brandsync-wc/{p-eb1b1497.entry.js → p-ca71e180.entry.js} +1 -1
  85. package/dist/brandsync-wc/p-cc664465.entry.js +1 -0
  86. package/dist/brandsync-wc/{p-8a4d64fd.entry.js → p-ce3a762e.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-452f6c13.entry.js → p-d38394ce.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-fbd204b6.entry.js → p-d4caa814.entry.js} +1 -1
  89. package/dist/brandsync-wc/{p-47fc5f29.entry.js → p-d8dd2230.entry.js} +1 -1
  90. package/dist/brandsync-wc/{p-13d98ec3.entry.js → p-da091255.entry.js} +1 -1
  91. package/dist/brandsync-wc/{p-fe6f71da.entry.js → p-dd7bb223.entry.js} +1 -1
  92. package/dist/brandsync-wc/{p-548b96f7.entry.js → p-e0d47019.entry.js} +1 -1
  93. package/dist/brandsync-wc/{p-587be2c6.entry.js → p-e8fe79bc.entry.js} +1 -1
  94. package/dist/brandsync-wc/{p-b6dc9234.entry.js → p-e90e4991.entry.js} +1 -1
  95. package/dist/brandsync-wc/{p-338b5e39.entry.js → p-ee4f3b3d.entry.js} +1 -1
  96. package/dist/brandsync-wc/{p-32004fb3.entry.js → p-f43615f7.entry.js} +1 -1
  97. package/dist/brandsync-wc/{p-b1663378.entry.js → p-fca95aae.entry.js} +1 -1
  98. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  99. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  102. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +4 -4
  104. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-button_2.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-checkbox-group.cjs.entry.js +8 -3
  115. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-chip-informative.cjs.entry.js +31 -2
  118. package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
  119. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  120. package/dist/cjs/bs-command-palette.cjs.entry.js +1 -1
  121. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +4 -4
  122. package/dist/cjs/bs-company-switcher.cjs.entry.js +2 -2
  123. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  125. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  126. package/dist/cjs/bs-data-table.cjs.entry.js +4 -2
  127. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-description-item.cjs.entry.js +1 -1
  129. package/dist/cjs/bs-description-list.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-dropdown.cjs.entry.js +1 -1
  132. package/dist/cjs/bs-empty-state.cjs.entry.js +1 -1
  133. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  134. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  135. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  136. package/dist/cjs/bs-global-search.cjs.entry.js +2 -2
  137. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  138. package/dist/cjs/bs-heading.cjs.entry.js +1 -1
  139. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  140. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  141. package/dist/cjs/bs-icon.cjs.entry.js +1 -1
  142. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  143. package/dist/cjs/bs-input_4.cjs.entry.js +9 -6
  144. package/dist/cjs/bs-key-caps.cjs.entry.js +1 -1
  145. package/dist/cjs/bs-key.cjs.entry.js +1 -1
  146. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +2 -2
  147. package/dist/cjs/bs-link.cjs.entry.js +1 -1
  148. package/dist/cjs/bs-list-item.cjs.entry.js +1 -1
  149. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  150. package/dist/cjs/bs-mega-menu.cjs.entry.js +1 -1
  151. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  152. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  153. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  154. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  155. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  156. package/dist/cjs/bs-page-header.cjs.entry.js +1 -1
  157. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  158. package/dist/cjs/bs-popover.cjs.entry.js +1 -1
  159. package/dist/cjs/bs-presence.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  161. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  162. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  163. package/dist/cjs/bs-radio-group.cjs.entry.js +1 -1
  164. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  165. package/dist/cjs/bs-search-item.cjs.entry.js +1 -1
  166. package/dist/cjs/bs-select.cjs.entry.js +1 -1
  167. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  168. package/dist/cjs/bs-shortcut-row.cjs.entry.js +1 -1
  169. package/dist/cjs/bs-skip-link.cjs.entry.js +1 -1
  170. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  171. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  172. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  173. package/dist/cjs/bs-split-pane.cjs.entry.js +27 -2
  174. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  175. package/dist/cjs/bs-stat.cjs.entry.js +1 -1
  176. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  177. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  178. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  179. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  180. package/dist/cjs/bs-table-of-contents.cjs.entry.js +1 -1
  181. package/dist/cjs/bs-tag.cjs.entry.js +2 -2
  182. package/dist/cjs/bs-text.cjs.entry.js +1 -1
  183. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  184. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  185. package/dist/cjs/bs-toggle-button-group.cjs.entry.js +1 -1
  186. package/dist/cjs/bs-toggle-button.cjs.entry.js +9 -1
  187. package/dist/cjs/bs-toolbar.cjs.entry.js +1 -1
  188. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  189. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  190. package/dist/cjs/bs-tree-item.cjs.entry.js +2 -2
  191. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  192. package/dist/cjs/loader.cjs.js +1 -1
  193. package/dist/collection/components/bs-accordion/bs-accordion.stories.js +25 -1
  194. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  195. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  196. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  197. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  198. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +3 -3
  199. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  200. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  201. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  202. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  203. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  204. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  205. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  206. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  207. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  208. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  209. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  210. package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +25 -1
  211. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.cmp.test.js +9 -0
  212. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.css +13 -0
  213. package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.js +28 -3
  214. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
  215. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.cmp.test.js +44 -0
  216. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +30 -0
  217. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +139 -7
  218. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.js +7 -0
  219. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  220. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  221. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
  222. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +1 -1
  223. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
  224. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  225. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  226. package/dist/collection/components/bs-container/bs-container.js +1 -1
  227. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +9 -0
  228. package/dist/collection/components/bs-data-table/bs-data-table.js +24 -2
  229. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  230. package/dist/collection/components/bs-description-item/bs-description-item.js +1 -1
  231. package/dist/collection/components/bs-description-list/bs-description-list.js +1 -1
  232. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  233. package/dist/collection/components/bs-dropdown/bs-dropdown.js +1 -1
  234. package/dist/collection/components/bs-empty-state/bs-empty-state.js +1 -1
  235. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  236. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  237. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  238. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  239. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  240. package/dist/collection/components/bs-heading/bs-heading.js +1 -1
  241. package/dist/collection/components/bs-icon/bs-icon.js +1 -1
  242. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  243. package/dist/collection/components/bs-input/bs-input.cmp.test.js +12 -0
  244. package/dist/collection/components/bs-input/bs-input.js +26 -3
  245. package/dist/collection/components/bs-input/bs-input.stories.js +14 -0
  246. package/dist/collection/components/bs-key/bs-key.js +1 -1
  247. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  248. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  249. package/dist/collection/components/bs-link/bs-link.js +1 -1
  250. package/dist/collection/components/bs-list/bs-list.js +1 -1
  251. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  252. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +1 -1
  253. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  254. package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
  255. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  256. package/dist/collection/components/bs-message/bs-message.js +1 -1
  257. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  258. package/dist/collection/components/bs-page-header/bs-page-header.js +1 -1
  259. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  260. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  261. package/dist/collection/components/bs-presence/bs-presence.js +1 -1
  262. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  263. package/dist/collection/components/bs-progress/bs-progress.stories.js +6 -3
  264. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  265. package/dist/collection/components/bs-progress-linear/bs-progress-linear.stories.js +7 -5
  266. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  267. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  268. package/dist/collection/components/bs-radio-group/bs-radio-group.js +1 -1
  269. package/dist/collection/components/bs-radio-group/bs-radio-group.stories.js +15 -1
  270. package/dist/collection/components/bs-ripple/bs-ripple.js +1 -1
  271. package/dist/collection/components/bs-search-item/bs-search-item.js +1 -1
  272. package/dist/collection/components/bs-select/bs-select.js +1 -1
  273. package/dist/collection/components/bs-select/bs-select.stories.js +21 -1
  274. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  275. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  276. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  277. package/dist/collection/components/bs-skip-link/bs-skip-link.js +1 -1
  278. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  279. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  280. package/dist/collection/components/bs-source-link/bs-source-link.js +3 -3
  281. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  282. package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +8 -0
  283. package/dist/collection/components/bs-split-pane/bs-split-pane.js +26 -1
  284. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  285. package/dist/collection/components/bs-stat/bs-stat.js +1 -1
  286. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  287. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  288. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  289. package/dist/collection/components/bs-switch/bs-switch.stories.js +33 -9
  290. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  291. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  292. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  293. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +19 -1
  294. package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.js +1 -1
  295. package/dist/collection/components/bs-tag/bs-tag.js +6 -2
  296. package/dist/collection/components/bs-text/bs-text.js +1 -1
  297. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  298. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  299. package/dist/collection/components/bs-toggle-button/bs-toggle-button.cmp.test.js +11 -0
  300. package/dist/collection/components/bs-toggle-button/bs-toggle-button.js +9 -1
  301. package/dist/collection/components/bs-toggle-button/bs-toggle-button.stories.js +1 -1
  302. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.js +1 -1
  303. package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.stories.js +33 -3
  304. package/dist/collection/components/bs-toolbar/bs-toolbar.js +1 -1
  305. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  306. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  307. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  308. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  309. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  310. package/dist/collection/components/tokens/tokens.stories.js +90 -0
  311. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  312. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  313. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +2 -2
  314. package/dist/collection/play-utils.js +24 -0
  315. package/dist/components/bs-accordion-group.js +1 -1
  316. package/dist/components/bs-ai-disclaimer.js +1 -1
  317. package/dist/components/bs-ai-greeting.js +1 -1
  318. package/dist/components/bs-ai-thinking.js +1 -1
  319. package/dist/components/bs-app-recent-item.js +1 -1
  320. package/dist/components/bs-app-shell.js +1 -1
  321. package/dist/components/bs-app-switcher.js +1 -1
  322. package/dist/components/bs-app-tile.js +1 -1
  323. package/dist/components/bs-attachment-list.js +1 -1
  324. package/dist/components/bs-attachment.js +1 -1
  325. package/dist/components/bs-avatar.js +1 -1
  326. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  327. package/dist/components/bs-breadcrumbs.js +1 -1
  328. package/dist/components/bs-button-skeleton.js +1 -1
  329. package/dist/components/bs-button.js +1 -1
  330. package/dist/components/bs-carousel.js +1 -1
  331. package/dist/components/bs-chatbot-feedback.js +1 -1
  332. package/dist/components/bs-chatbot-header.js +1 -1
  333. package/dist/components/bs-chatbot-response-action.js +1 -1
  334. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  335. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  336. package/dist/components/bs-checkbox-group.js +1 -1
  337. package/dist/components/bs-checkbox-skeleton.js +1 -1
  338. package/dist/components/bs-checkbox.js +1 -1
  339. package/dist/components/bs-chip-filter.js +1 -1
  340. package/dist/components/bs-chip-informative.js +1 -1
  341. package/dist/components/bs-chip-input.js +1 -1
  342. package/dist/components/bs-citation-preview.js +1 -1
  343. package/dist/components/bs-code-block.js +1 -1
  344. package/dist/components/bs-command-palette.js +1 -1
  345. package/dist/components/bs-compact-menu-block.js +1 -1
  346. package/dist/components/bs-company-switcher.js +1 -1
  347. package/dist/components/bs-composer-status-banner.js +1 -1
  348. package/dist/components/bs-composer.js +1 -1
  349. package/dist/components/bs-container.js +1 -1
  350. package/dist/components/bs-cookie-consent.js +1 -1
  351. package/dist/components/bs-data-table.js +1 -1
  352. package/dist/components/bs-datepicker.js +1 -1
  353. package/dist/components/bs-description-item.js +1 -1
  354. package/dist/components/bs-description-list.js +1 -1
  355. package/dist/components/bs-dialog.js +1 -1
  356. package/dist/components/bs-divider.js +1 -1
  357. package/dist/components/bs-dropdown.js +1 -1
  358. package/dist/components/bs-empty-state.js +1 -1
  359. package/dist/components/bs-error-page.js +1 -1
  360. package/dist/components/bs-file-upload-item.js +1 -1
  361. package/dist/components/bs-file-upload.js +1 -1
  362. package/dist/components/bs-global-search.js +1 -1
  363. package/dist/components/bs-grid.js +1 -1
  364. package/dist/components/bs-heading.js +1 -1
  365. package/dist/components/bs-icon-button.js +1 -1
  366. package/dist/components/bs-icon-tile.js +1 -1
  367. package/dist/components/bs-icon.js +1 -1
  368. package/dist/components/bs-inline-tab.js +1 -1
  369. package/dist/components/bs-input.js +1 -1
  370. package/dist/components/bs-key-caps.js +1 -1
  371. package/dist/components/bs-key.js +1 -1
  372. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  373. package/dist/components/bs-link.js +1 -1
  374. package/dist/components/bs-list-item.js +1 -1
  375. package/dist/components/bs-list.js +1 -1
  376. package/dist/components/bs-mega-menu.js +1 -1
  377. package/dist/components/bs-menu-block.js +1 -1
  378. package/dist/components/bs-menu-item.js +1 -1
  379. package/dist/components/bs-menu.js +1 -1
  380. package/dist/components/bs-message-list.js +1 -1
  381. package/dist/components/bs-message.js +1 -1
  382. package/dist/components/bs-navigation-drawer-item.js +1 -1
  383. package/dist/components/bs-navigation-drawer.js +1 -1
  384. package/dist/components/bs-navigation-header.js +1 -1
  385. package/dist/components/bs-onboarding-checklist.js +1 -1
  386. package/dist/components/bs-page-header.js +1 -1
  387. package/dist/components/bs-pagination.js +1 -1
  388. package/dist/components/bs-popover.js +1 -1
  389. package/dist/components/bs-presence.js +1 -1
  390. package/dist/components/bs-product-tour.js +1 -1
  391. package/dist/components/bs-progress-linear.js +1 -1
  392. package/dist/components/bs-progress.js +1 -1
  393. package/dist/components/bs-qr-code.js +1 -1
  394. package/dist/components/bs-radio-group.js +1 -1
  395. package/dist/components/bs-radio.js +1 -1
  396. package/dist/components/bs-ripple.js +1 -1
  397. package/dist/components/bs-search-item.js +1 -1
  398. package/dist/components/bs-select.js +1 -1
  399. package/dist/components/bs-session-timeout.js +1 -1
  400. package/dist/components/bs-shortcut-row.js +1 -1
  401. package/dist/components/bs-side-panel.js +1 -1
  402. package/dist/components/bs-skeleton.js +1 -1
  403. package/dist/components/bs-skip-link.js +1 -1
  404. package/dist/components/bs-slider.js +1 -1
  405. package/dist/components/bs-snackbar.js +1 -1
  406. package/dist/components/bs-source-link.js +1 -1
  407. package/dist/components/bs-spinner.js +1 -1
  408. package/dist/components/bs-split-pane.js +1 -1
  409. package/dist/components/bs-stack.js +1 -1
  410. package/dist/components/bs-stat.js +1 -1
  411. package/dist/components/bs-stepper-step.js +1 -1
  412. package/dist/components/bs-stepper.js +1 -1
  413. package/dist/components/bs-switch.js +1 -1
  414. package/dist/components/bs-tab.js +1 -1
  415. package/dist/components/bs-table-of-contents.js +1 -1
  416. package/dist/components/bs-tabs.js +1 -1
  417. package/dist/components/bs-tag.js +1 -1
  418. package/dist/components/bs-text.js +1 -1
  419. package/dist/components/bs-timepicker.js +1 -1
  420. package/dist/components/bs-toast.js +1 -1
  421. package/dist/components/bs-toggle-button-group.js +1 -1
  422. package/dist/components/bs-toggle-button.js +1 -1
  423. package/dist/components/bs-toolbar.js +1 -1
  424. package/dist/components/bs-tooltip-trigger.js +1 -1
  425. package/dist/components/bs-tooltip.js +1 -1
  426. package/dist/components/bs-tree-item.js +1 -1
  427. package/dist/components/bs-tree.js +1 -1
  428. package/dist/components/bs-whats-new-entry.js +1 -1
  429. package/dist/components/bs-whats-new.js +1 -1
  430. package/dist/components/{p-abyVFrPp.js → p--3dR13A5.js} +1 -1
  431. package/dist/components/{p-D4W5LcEW.js → p-5OSJi5Hq.js} +1 -1
  432. package/dist/components/{p-DHZ_DStJ.js → p-5yADpXI0.js} +1 -1
  433. package/dist/components/p-B1pqQBKC.js +1 -0
  434. package/dist/components/{p-BB1HiIxJ.js → p-B6bXreGu.js} +1 -1
  435. package/dist/components/{p-Ba8J2kHD.js → p-BDqzHL7T.js} +1 -1
  436. package/dist/components/{p-CALH_mHQ.js → p-BSaspygR.js} +1 -1
  437. package/dist/components/{p-Cz38kNDe.js → p-BYZ1TxxS.js} +1 -1
  438. package/dist/components/{p-DMp5CvEJ.js → p-BenlMTiB.js} +1 -1
  439. package/dist/components/{p-wscU7FUD.js → p-BkzRLgh4.js} +1 -1
  440. package/dist/components/{p-B81aicKA.js → p-BpD6hqIE.js} +1 -1
  441. package/dist/components/{p-CL99S8-7.js → p-Bu47NRjs.js} +1 -1
  442. package/dist/components/{p-DK1uv2fu.js → p-C4NrLy_y.js} +1 -1
  443. package/dist/components/{p-Dlp2c-Ii.js → p-CA1qkJ9m.js} +1 -1
  444. package/dist/components/{p-DO4sVZCh.js → p-CMhON6jB.js} +1 -1
  445. package/dist/components/{p-DUV80kt-.js → p-Cau06t9C.js} +1 -1
  446. package/dist/components/{p-DLNoxNuW.js → p-D9TQ0LLX.js} +1 -1
  447. package/dist/components/{p-Cso2DKAz.js → p-DJqNdSU4.js} +1 -1
  448. package/dist/components/{p-KiyJJwzr.js → p-DLGXRivO.js} +1 -1
  449. package/dist/components/{p-BLJL4BVY.js → p-DPIDWFCa.js} +1 -1
  450. package/dist/components/{p-wd9-vGpQ.js → p-DQY3n0nR.js} +1 -1
  451. package/dist/components/{p-DL9HtG41.js → p-DfYJCczy.js} +1 -1
  452. package/dist/components/{p-CxNNy2m6.js → p-DoCH1kV9.js} +1 -1
  453. package/dist/components/p-DpMqdknQ.js +1 -0
  454. package/dist/components/{p-Dt3b6VYT.js → p-Dsyt34TD.js} +1 -1
  455. package/dist/components/{p-CZfbB-t_.js → p-Dx10cRTc.js} +1 -1
  456. package/dist/components/p-EQrsaDKp.js +1 -0
  457. package/dist/components/{p-DaKBSL2O.js → p-ESiaIgGU.js} +1 -1
  458. package/dist/components/p-OhKj-S2c.js +1 -0
  459. package/dist/components/{p-DOW-YekD.js → p-TRtv6fbe.js} +1 -1
  460. package/dist/components/{p-DnagAPBF.js → p-_oStzQSx.js} +1 -1
  461. package/dist/components/{p-BR7C-aKy.js → p-bOSY8sKI.js} +1 -1
  462. package/dist/components/{p-DARbgzSz.js → p-hjzkd-La.js} +1 -1
  463. package/dist/esm/brandsync-wc.js +1 -1
  464. package/dist/esm/bs-accordion-group.entry.js +1 -1
  465. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  466. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  467. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  468. package/dist/esm/bs-app-recent-item_3.entry.js +4 -4
  469. package/dist/esm/bs-app-shell.entry.js +1 -1
  470. package/dist/esm/bs-attachment-list.entry.js +1 -1
  471. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  472. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  473. package/dist/esm/bs-button_2.entry.js +1 -1
  474. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  475. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  476. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  477. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  478. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  479. package/dist/esm/bs-checkbox-group.entry.js +8 -3
  480. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  481. package/dist/esm/bs-chip-filter.entry.js +1 -1
  482. package/dist/esm/bs-chip-informative.entry.js +32 -3
  483. package/dist/esm/bs-chip-input.entry.js +1 -1
  484. package/dist/esm/bs-citation-preview.entry.js +1 -1
  485. package/dist/esm/bs-command-palette.entry.js +1 -1
  486. package/dist/esm/bs-compact-menu-block_2.entry.js +4 -4
  487. package/dist/esm/bs-company-switcher.entry.js +2 -2
  488. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  489. package/dist/esm/bs-composer.entry.js +1 -1
  490. package/dist/esm/bs-container.entry.js +1 -1
  491. package/dist/esm/bs-data-table.entry.js +4 -2
  492. package/dist/esm/bs-datepicker.entry.js +1 -1
  493. package/dist/esm/bs-description-item.entry.js +1 -1
  494. package/dist/esm/bs-description-list.entry.js +1 -1
  495. package/dist/esm/bs-divider.entry.js +1 -1
  496. package/dist/esm/bs-dropdown.entry.js +1 -1
  497. package/dist/esm/bs-empty-state.entry.js +1 -1
  498. package/dist/esm/bs-error-page.entry.js +1 -1
  499. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  500. package/dist/esm/bs-file-upload.entry.js +1 -1
  501. package/dist/esm/bs-global-search.entry.js +2 -2
  502. package/dist/esm/bs-grid.entry.js +2 -2
  503. package/dist/esm/bs-heading.entry.js +1 -1
  504. package/dist/esm/bs-icon-button.entry.js +1 -1
  505. package/dist/esm/bs-icon-tile.entry.js +2 -2
  506. package/dist/esm/bs-icon.entry.js +1 -1
  507. package/dist/esm/bs-inline-tab.entry.js +1 -1
  508. package/dist/esm/bs-input_4.entry.js +9 -6
  509. package/dist/esm/bs-key-caps.entry.js +1 -1
  510. package/dist/esm/bs-key.entry.js +1 -1
  511. package/dist/esm/bs-keyboard-shortcuts.entry.js +2 -2
  512. package/dist/esm/bs-link.entry.js +1 -1
  513. package/dist/esm/bs-list-item.entry.js +1 -1
  514. package/dist/esm/bs-list.entry.js +1 -1
  515. package/dist/esm/bs-mega-menu.entry.js +1 -1
  516. package/dist/esm/bs-message-list.entry.js +1 -1
  517. package/dist/esm/bs-message.entry.js +1 -1
  518. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  519. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  520. package/dist/esm/bs-navigation-header.entry.js +2 -2
  521. package/dist/esm/bs-page-header.entry.js +1 -1
  522. package/dist/esm/bs-pagination.entry.js +1 -1
  523. package/dist/esm/bs-popover.entry.js +1 -1
  524. package/dist/esm/bs-presence.entry.js +1 -1
  525. package/dist/esm/bs-progress-linear.entry.js +2 -2
  526. package/dist/esm/bs-progress.entry.js +2 -2
  527. package/dist/esm/bs-qr-code.entry.js +1 -1
  528. package/dist/esm/bs-radio-group.entry.js +1 -1
  529. package/dist/esm/bs-radio.entry.js +1 -1
  530. package/dist/esm/bs-search-item.entry.js +1 -1
  531. package/dist/esm/bs-select.entry.js +1 -1
  532. package/dist/esm/bs-session-timeout.entry.js +1 -1
  533. package/dist/esm/bs-shortcut-row.entry.js +1 -1
  534. package/dist/esm/bs-skip-link.entry.js +1 -1
  535. package/dist/esm/bs-slider.entry.js +1 -1
  536. package/dist/esm/bs-snackbar.entry.js +1 -1
  537. package/dist/esm/bs-source-link.entry.js +3 -3
  538. package/dist/esm/bs-split-pane.entry.js +27 -2
  539. package/dist/esm/bs-stack.entry.js +1 -1
  540. package/dist/esm/bs-stat.entry.js +1 -1
  541. package/dist/esm/bs-stepper-step.entry.js +1 -1
  542. package/dist/esm/bs-stepper.entry.js +1 -1
  543. package/dist/esm/bs-switch.entry.js +1 -1
  544. package/dist/esm/bs-tab_3.entry.js +3 -3
  545. package/dist/esm/bs-table-of-contents.entry.js +1 -1
  546. package/dist/esm/bs-tag.entry.js +2 -2
  547. package/dist/esm/bs-text.entry.js +1 -1
  548. package/dist/esm/bs-timepicker.entry.js +2 -2
  549. package/dist/esm/bs-toast.entry.js +1 -1
  550. package/dist/esm/bs-toggle-button-group.entry.js +1 -1
  551. package/dist/esm/bs-toggle-button.entry.js +9 -1
  552. package/dist/esm/bs-toolbar.entry.js +1 -1
  553. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  554. package/dist/esm/bs-tooltip.entry.js +1 -1
  555. package/dist/esm/bs-tree-item.entry.js +2 -2
  556. package/dist/esm/bs-tree.entry.js +1 -1
  557. package/dist/esm/loader.js +1 -1
  558. package/dist/types/components/bs-checkbox-group/bs-checkbox-group.d.ts +3 -1
  559. package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.d.ts +29 -5
  560. package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.d.ts +2 -0
  561. package/dist/types/components/bs-data-table/bs-data-table.d.ts +2 -0
  562. package/dist/types/components/bs-input/bs-input.d.ts +3 -0
  563. package/dist/types/components/bs-progress/bs-progress.stories.d.ts +1 -0
  564. package/dist/types/components/bs-progress-linear/bs-progress-linear.stories.d.ts +1 -0
  565. package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +3 -0
  566. package/dist/types/components/bs-tag/bs-tag.d.ts +4 -0
  567. package/dist/types/components/bs-toggle-button/bs-toggle-button.d.ts +1 -0
  568. package/dist/types/components/tokens/tokens.stories.d.ts +12 -0
  569. package/dist/types/components.d.ts +142 -18
  570. package/dist/types/play-utils.d.ts +6 -0
  571. package/dist/types/raw-css.d.ts +4 -0
  572. package/package.json +1 -1
  573. package/reference.d.ts +1 -1
  574. package/reference.json +6 -1
  575. package/dist/brandsync-wc/p-23affb5d.entry.js +0 -1
  576. package/dist/brandsync-wc/p-23b3958e.entry.js +0 -1
  577. package/dist/brandsync-wc/p-28723df1.entry.js +0 -1
  578. package/dist/brandsync-wc/p-32157c7a.entry.js +0 -1
  579. package/dist/brandsync-wc/p-4ae7b8b9.entry.js +0 -1
  580. package/dist/brandsync-wc/p-60636c6c.entry.js +0 -1
  581. package/dist/brandsync-wc/p-6096900b.entry.js +0 -1
  582. package/dist/brandsync-wc/p-6bdd9ef9.entry.js +0 -1
  583. package/dist/brandsync-wc/p-e4033ebc.entry.js +0 -1
  584. package/dist/components/p-B5yjDh8h.js +0 -1
  585. package/dist/components/p-C3YETziz.js +0 -1
  586. package/dist/components/p-CKTbatgt.js +0 -1
  587. package/dist/components/p-_zxYDrzi.js +0 -1
@@ -139,7 +139,7 @@ export class BsChatbotFeedback {
139
139
  }
140
140
  render() {
141
141
  const stars = [1, 2, 3, 4, 5];
142
- return (h("div", { key: '9642427bb2feedde50e355c71f6853df257f69d2', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '7d01f9ee81864b7f93886288dc9aa430aab9bc35', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h("bs-icon", { key: '6a3ee3614ef48446b0a9137f877145549484852c', name: "x", tone: "inherit", size: "md" })), h("div", { key: 'b7193bc13441c56edc89974ca0e0ba43c8d47a66', class: "bs-chatbot-feedback__top" }, h("div", { key: '9b93d4ee252f9eab36808b84171f6d85e6da7be2', class: "bs-chatbot-feedback__text" }, h("p", { key: '204ad4eac6e3ae69ca539b8efe9319dd834dbcdf', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: 'e3ddf360ba370314985a66ad28782a89b57ba51a', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '50eaa4821ca056cb16bdabb96306ccc52bb987e4', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": this.ratingLabel }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} ${value > 1 ? this.starsLabel : this.starLabel}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h("bs-icon", { name: this.rating >= value ? 'star-fill' : 'star', tone: "inherit" }))))), !this.submitted && (h("div", { key: '754de919956347beb69d38ab2fd95cbc741a5cc0', class: "bs-chatbot-feedback__field" }, h("label", { key: '1ba7da633b0b2b6ac036d62849c6b8d594c5dc2e', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, this.commentLabel), h("textarea", { key: '0abc18be7c42e7ddec42e94a4b88e845af29c9f3', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: this.commentPlaceholder, value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '5e772be2c5b47bda8e35fac82b785fc488b87d37', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '0473e7afaa3d96f1a1044f9410a95e468cc33db4', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'a319bbd909a72c177649e899e4c6500778d57dce', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h("bs-icon", { key: '29baadc25644ea985faf7f874741db4c2dcdd089', name: "paper-plane-right", tone: "inherit" }), this.submitLabel)), h("button", { key: 'aadd03c3f2b18d7e821e50891b9e94e884b6c36f', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h("bs-icon", { key: 'f9f088c5e2f0b9cd8f86d433cb1c516e65d1418f', name: "note-pencil", tone: "inherit" }), this.newChatLabel))));
142
+ return (h("div", { key: '7a50681030486ab27a4323ee5f897348d7054dda', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '8fdbe16bfab78fcdeccba80ff0d1f72bfb509a4d', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h("bs-icon", { key: '58ec82e0696b1dfddadfd7c23c0f04c146573886', name: "x", tone: "inherit", size: "md" })), h("div", { key: 'e070e8a904cf5d05627b759b208cea8c659a5374', class: "bs-chatbot-feedback__top" }, h("div", { key: '8a5d70831fa13103e3074c27c5ab53ea2766e68e', class: "bs-chatbot-feedback__text" }, h("p", { key: '49a7bd263db92b81691e4d30906eaba2595c3fb2', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: '707d7c9c24383f5bb0c9e89849522d4ec15c9b13', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: 'ce91679a9da5a71b7f123ec426a36534b161557d', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": this.ratingLabel }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} ${value > 1 ? this.starsLabel : this.starLabel}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h("bs-icon", { name: this.rating >= value ? 'star-fill' : 'star', tone: "inherit" }))))), !this.submitted && (h("div", { key: '85216ceebc74598c818eba609e9f830805ff110f', class: "bs-chatbot-feedback__field" }, h("label", { key: '729a48818acec8b7c65d61a729ff450056cc9005', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, this.commentLabel), h("textarea", { key: '9ff69a3d5c044052e408eaaca43cf9cc8c1a225c', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: this.commentPlaceholder, value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '2eb910a1b883e53617a0981d3d0748b064c2149f', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '7e03fb9105fabe2afb4c4b82c09b37fb0deb3713', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: '3bf2178edaf22b8611c37e7029438d7f4d04c19a', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h("bs-icon", { key: 'e50616ff771a11bc420c570110759764981d4e08', name: "paper-plane-right", tone: "inherit" }), this.submitLabel)), h("button", { key: 'f0251e2f9e6f12970e2ee3a33f09933601fe966a', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h("bs-icon", { key: '7cf6dccf7c7376acae72bfaa2f37dc915d52ffc9', name: "note-pencil", tone: "inherit" }), this.newChatLabel))));
143
143
  }
144
144
  static get is() { return "bs-chatbot-feedback"; }
145
145
  static get encapsulation() { return "shadow"; }
@@ -93,7 +93,7 @@ export class BsChatbotHeader {
93
93
  this.bsClose.emit();
94
94
  };
95
95
  render() {
96
- return (h("div", { key: 'f0c324bef5be83ad32e9ceba663c8549ff656e4f', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: '5eddf01ee18aa11f4447b46813c95b7fdc119865', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: 'c9289ee0c7e7ef6b68ea632f71797b0117d50e74', class: "bs-chatbot-header__actions" }, h("slot", { key: 'b32fdb607945a114c88ca9e699a79937e0acd1cf', name: "actions" }), !this.hideNewChat && (h("span", { key: '46dca4bc6488c5b722154e76fe400c318c42e9c9', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '023dacbfea16996c8e82793e4b5fc1269bf1a358', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": this.newChatLabel, onClick: this.onNewChatClick }, h("slot", { key: 'f1163cb48f30a0f30b63b4e456839aef082a3055', name: "new-chat-icon" }, h("bs-icon", { key: '6cce81b2e77ddb4279d82364a861642622a54f95', name: "note-pencil", tone: "inherit" }))), h("bs-tooltip", { key: '128a86c14973dcc83df59f129fba56c3aaa0a43e', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.newChatLabel))), !this.hideHistory && (h("span", { key: '8f11045491e416e8ac9dc9e3c5d6a2628e7edefb', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '07bebd752033ce96bb6037a0c26ab0fd76877769', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": this.historyLabel, onClick: this.onHistoryClick }, h("slot", { key: 'b136a662ef52891d356f123e79e7dfd269127290', name: "history-icon" }, h("bs-icon", { key: '9a16baba88b301ad536242a3b160ab7c5309ed5b', name: "clock-counter-clockwise", tone: "inherit" }))), h("bs-tooltip", { key: '006423bbdd39cd97b126799ca0abde9dd49a2fdb', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.historyLabel))), !this.hideExpand && (h("span", { key: 'c7b5f5a6881445597066ab72a58a63bc7a27257e', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'b12e87c73b3aeb48c49dee42caf404bebf211616', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? this.collapseLabel : this.expandLabel, "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: 'b2c0af3e216151753a1865c3d7003aeaf6f5ac4e', name: "expand-icon" }, h("bs-icon", { key: 'cc11a845475bb70d254d21304bc7548b3bb4d908', name: "arrows-out-simple", tone: "inherit" }))), h("bs-tooltip", { key: '69900f0f7c83bebfdec08e7b2890b2b364102e1e', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? this.collapseLabel : this.expandLabel))), !this.hideClose && (h("span", { key: 'f8527d411010504c6fbf18d82bbf48e920bad539', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'ebe64fb9ed16a35f4ff29bd3ad62286dc6cc0211', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h("slot", { key: 'd93a5b6958872e8b967abeb71ce1ef9631b44b8c', name: "close-icon" }, h("bs-icon", { key: '3d18f704f5094d28c1b3a4c3bfe713cbe42cbf81', name: "x", tone: "inherit" }))), h("bs-tooltip", { key: '263181de49c246cbb88d8c2757978001debd2e69', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.closeLabel))))));
96
+ return (h("div", { key: 'e00d2c04032f6da62fb30d2a46d8271f4fbe7984', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: '5b88e19c44bc77420ac91280b6bf79863623679a', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: '759fbc628be055a0fbf3b323eeb8ee084cb42139', class: "bs-chatbot-header__actions" }, h("slot", { key: '471f5f381d01b424eade667d2d35089ef5f4d79c', name: "actions" }), !this.hideNewChat && (h("span", { key: '30ddc2248884c52373f4a89132fbb1ce611b41a3', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '93d66092f02f037e10837552305e32ae8864f0b3', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": this.newChatLabel, onClick: this.onNewChatClick }, h("slot", { key: 'f636904fff9ea7b404f1d7727dd04ba83b857f1f', name: "new-chat-icon" }, h("bs-icon", { key: '236d7d5591c61b6f748c3ff03821274eb35cd2c7', name: "note-pencil", tone: "inherit" }))), h("bs-tooltip", { key: '4ec4fe6cd923da268db5bf0b326e4206a46938df', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.newChatLabel))), !this.hideHistory && (h("span", { key: '82dd351e1c7f49f4d67a55c5651ed652fe381bc7', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '09fd37777cc37d1dd7e7298ea1a62a26d7f05f20', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": this.historyLabel, onClick: this.onHistoryClick }, h("slot", { key: '20f3b6404e283a3e929527ba59b546c41b64592c', name: "history-icon" }, h("bs-icon", { key: '089f4b6440f87f9643e1b0d85a078a56237e27a5', name: "clock-counter-clockwise", tone: "inherit" }))), h("bs-tooltip", { key: '41a0214817c694ea1b7e697d1d52ee5f8dae62f6', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.historyLabel))), !this.hideExpand && (h("span", { key: 'ad8868a07d2c30cb650d5b14a966fae99801a025', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'fb12562f5e45a3d956739fadecfbc8b3bfd13a27', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? this.collapseLabel : this.expandLabel, "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: '2e4b23c0298b2bb95a2ecc2fb4b3157e0a6d0575', name: "expand-icon" }, h("bs-icon", { key: '8a16305e7e3fc831ee066b8d62520ae0eb7bb8f8', name: "arrows-out-simple", tone: "inherit" }))), h("bs-tooltip", { key: '0f277c45ae63476f2869df72a5a0b0f070411122', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? this.collapseLabel : this.expandLabel))), !this.hideClose && (h("span", { key: '8c12788267dc0329317550db291b09a9570e5974', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '3850dff47134015bc2b58561a4bc8d11dc94d037', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h("slot", { key: '67068158843289fb36f4842c9abed77418828672', name: "close-icon" }, h("bs-icon", { key: 'eed846764082900c82b4f35b0e4ba870cdabde7b', name: "x", tone: "inherit" }))), h("bs-tooltip", { key: 'fb575a06a00426beb496dc89cb5841c77ddcaec3', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.closeLabel))))));
97
97
  }
98
98
  static get is() { return "bs-chatbot-header"; }
99
99
  static get encapsulation() { return "shadow"; }
@@ -128,7 +128,7 @@ export class BsChatbotResponseAction {
128
128
  };
129
129
  render() {
130
130
  const hasSources = !!this.sourcesCount && this.sourcesCount > 0;
131
- return (h("div", { key: 'd6ec5d7832cb89fa6a9dc97d735e6ea55a7b7241', class: "bs-chatbot-response-action" }, h("button", { key: '17cbcd07677e2ab40b199dd7834c04b4570b7b8c', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": this.likeLabel, "aria-pressed": this.liked ? 'true' : 'false', onClick: this.onLikeClick }, h("bs-ripple", { key: '4b768312fdf2bad4344958eebecddb65f4763219', part: "ripple", centered: true }), h("slot", { key: '6c821d89ed0046629b3f5f37718235a1616af813', name: "like-icon" }, h(ThumbsUpIcon, { key: '3190624e18324a064cc3da5bcc86a9b13684ef4b' }))), h("button", { key: 'af8bda39744ce0f66cf28b3b1e9336cc662233b3', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": this.dislikeLabel, "aria-pressed": this.disliked ? 'true' : 'false', onClick: this.onDislikeClick }, h("bs-ripple", { key: 'dcf47fb5f3b7106e2247e60d88f6e2ae7b4e0bfe', part: "ripple", centered: true }), h("slot", { key: '92bd3a554dab27bfe5fb17aa216204bdb1e32b26', name: "dislike-icon" }, h(ThumbsDownIcon, { key: '4a4b2b1a781af704be5e3998444e24b92e45e794' }))), h("button", { key: '982758c52f1354a67a5ff57a2cb9b3f33de0d28d', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": this.copyLabel, onClick: this.onCopyClick }, h("bs-ripple", { key: '9fb0ea077279a7275bf77255e2fa88e644782c03', part: "ripple", centered: true }), h("slot", { key: '1d24ad346d08c41aa02b9e3c6b9a7bbd5d7afbbf', name: "copy-icon" }, h(CopyIcon, { key: '87ac9fdade8339b56d6bab2c937fac4cdf7e9600' }))), !this.hideRegenerate && (h("button", { key: 'bde35dbce8fe3cfc28a408c508d6774d4676d7da', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": this.regenerateLabel, onClick: this.onRegenerateClick }, h("bs-ripple", { key: '7e1bdea5844684936c18547ab5f793cb302ea5a6', part: "ripple", centered: true }), h("slot", { key: 'ec96ae7eada9da8b20f41e2e0646426e0e0bacf7', name: "regenerate-icon" }, h(RegenerateIcon, { key: 'c09ef6b4e47964f56bef9f004443b7dd2e24b401' })))), h("div", { key: '7776215dc4ca739c9ea55577f2b0e8869df35000', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: 'a8fe7faa099961d9c6cf14745f72b8c5afa50e84', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": this.menuLabel, "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("bs-ripple", { key: '109b246498589a0d1d80a0f3573f2a66f35f96d8', part: "ripple", centered: true }), h("slot", { key: '4e9e725c8cec5bc1fa6db8608ff7fdc1d78d53b8', name: "menu-icon" }, h(MenuIcon, { key: '4675b0d7b17211de98336a62e04e0d0b7876d83d' }))), this.menuOpen && (h("div", { key: 'cc48f0a1c834cd94f9ecc016f68b6a85138be604', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: 'b9ad1bc5d4717e294ed196b50fec8ca0a340c655', name: "menu" })))), hasSources && (h("button", { key: 'c86ce3e4529f1e7c3e74ae59a0b6728ad5701190', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: 'cdd832fdc3ad9eb27103be3f4d2b08acd1141b1b', name: "sources-icon" }, h(SourcesIcon, { key: 'b82a6db98ce52e5b5e1f24f078c48734bafcaf59' })), h("span", { key: 'e1b7633db592eb2ee198c56f0b4e145037b671a4', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? this.sourceLabel : this.sourcesLabel)))));
131
+ return (h("div", { key: 'e1dceaea05bf062b9101af3b600ed955b7860d7c', class: "bs-chatbot-response-action" }, h("button", { key: '594369fb42987cf942753163eca978e9d32d1a77', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": this.likeLabel, "aria-pressed": this.liked ? 'true' : 'false', onClick: this.onLikeClick }, h("bs-ripple", { key: '7a422b5e9366b093625229b0b2aced735afab6df', part: "ripple", centered: true }), h("slot", { key: 'ef5e89558e39cacb97f33ea438dbea7acefa159d', name: "like-icon" }, h(ThumbsUpIcon, { key: '6b8a2b12c735424502382edb51a39217ac150514' }))), h("button", { key: 'bd5697f0ac6f06c2cde2e7884cecd5d7e37126bb', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": this.dislikeLabel, "aria-pressed": this.disliked ? 'true' : 'false', onClick: this.onDislikeClick }, h("bs-ripple", { key: '3a8c25ace69423516c47e4888b287a230f6cf959', part: "ripple", centered: true }), h("slot", { key: '47c944affbe8e835a2935d09379a8bba1d40676b', name: "dislike-icon" }, h(ThumbsDownIcon, { key: '7b4ea0aa2939e7c2279f1be9436bb23662895741' }))), h("button", { key: '228e47271ca3d2c29f98a624fb9aac5fa7aa5c73', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": this.copyLabel, onClick: this.onCopyClick }, h("bs-ripple", { key: '976a7aa72b6aa7381cdfb3d2b57c8102b02f82eb', part: "ripple", centered: true }), h("slot", { key: 'da9e6cd712ada2119b7e7fce17a6e16e8fa58e69', name: "copy-icon" }, h(CopyIcon, { key: 'f1d5ab12239750a0b07584b33ee5b2a649d05631' }))), !this.hideRegenerate && (h("button", { key: '334a46a5b574f72d82f9f530143cd0046c7a280c', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": this.regenerateLabel, onClick: this.onRegenerateClick }, h("bs-ripple", { key: '5660a8e6eb4fcb8360542eb5723cb5bb51c76c7d', part: "ripple", centered: true }), h("slot", { key: '4a67443d0d1153d5175586387b6322ad72032781', name: "regenerate-icon" }, h(RegenerateIcon, { key: '9b8fb478f8072ccb2e611b89050a3d6254fb2587' })))), h("div", { key: '5be42f79158e217347b7700d41b2e80647058d06', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '95e09e53f83546c24b244ccfbdf160dd70a18a72', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": this.menuLabel, "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("bs-ripple", { key: '34195f1ac957ce1bf4d524b833c95682795e7738', part: "ripple", centered: true }), h("slot", { key: 'a725a6b2ed797afd8a25ce6a6e77f76ea1c55642', name: "menu-icon" }, h(MenuIcon, { key: '36cab1a3ea55eca56cf1f68c9d7575d3c0474699' }))), this.menuOpen && (h("div", { key: 'f8ce2de8a6678b249be9dda14e8d9309729addf2', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: '5832b33e625da7c4497d5ab7f915ac66cb1cd5b2', name: "menu" })))), hasSources && (h("button", { key: '07f4fc5cefb1009925fc8aa09657249d9b36ad73', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: '66e6551c5bee14482bd30dfd859ecb7fbcf591f5', name: "sources-icon" }, h(SourcesIcon, { key: '11d2d3cfc3ec03c1093066cbd711167e80edca5e' })), h("span", { key: '7f274379a117a1bccce9c6df3de960420d3216d1', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? this.sourceLabel : this.sourcesLabel)))));
132
132
  }
133
133
  static get is() { return "bs-chatbot-response-action"; }
134
134
  static get encapsulation() { return "shadow"; }
@@ -59,7 +59,7 @@ export class BsChatbotSourcesDrawer {
59
59
  };
60
60
  render() {
61
61
  const displayCount = this.count ?? this.slottedCount;
62
- return (h("div", { key: '1d0c3253af7cf38b81b36ac15a78033c03e14c91', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: 'd5eb2089574325eb8540a98d0603368e46b8c73d', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: '1fb338f2a8c1f868daef29625eb7bfc2ffb3ce0e', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: '6c4ab9c5de55e70cfe9c163d454cfa419bc83ea8', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'fe7a147f6f7148f7c1252a93cd56060dc38b3eb2', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: 'fe09c59453243448e8c48ed6e451b5e49c3608d3', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": this.collapseLabel, onClick: this.onCollapseClick }, h("slot", { key: 'da8e67e324afb7eb6dc75d160ba3a6c447c33354', name: "collapse-icon" }, h(CaretRightIcon, { key: 'c079b91874239e6bdaea1cdeb65d7ccf70de90cd' })))), h("div", { key: 'f9098edd11a91137bb55deab94ab0b999e530cac', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: 'e0c95d42eef55be86cee88f850556f2a4c712fcd', onSlotchange: this.onSlotchange }))));
62
+ return (h("div", { key: 'e5cd2f50245abdf4d9a05348ba915dba9bc79573', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '997a59d151f334fc6a1a8e30411f8674b1a8534f', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: 'c72b346306dbfcd72dfcdfc3022fc048ccea6d83', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: '8c1c858fefd2e4d12a7a7f3e442866b1f3848e4f', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'fca19f5498634aff0f7bec44e187ea6dde558c3d', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: '219bf542af1c6ccd16e5b2b28e68ac161c8f870a', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": this.collapseLabel, onClick: this.onCollapseClick }, h("slot", { key: '599f9de30d93f624751a6b8c69df4554fb38acea', name: "collapse-icon" }, h(CaretRightIcon, { key: '43da27fe3aa229fd3fe9d1c2725c28258e586c18' })))), h("div", { key: '76eabacbe8380a57189787180a15e7c414a280ec', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: '7cd661e7884bca5677ec69bf21a9f414808a44ac', onSlotchange: this.onSlotchange }))));
63
63
  }
64
64
  static get is() { return "bs-chatbot-sources-drawer"; }
65
65
  static get encapsulation() { return "shadow"; }
@@ -46,7 +46,7 @@ export class BsChatbotSuggestionButton {
46
46
  this.bsSelect.emit();
47
47
  };
48
48
  render() {
49
- return (h("button", { key: '5dec9f6d82254f0cac7ec92734ed199ffe22e421', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("bs-ripple", { key: 'b4c464e7c9cbdb988f503babd2cb99f27e80b62f', part: "ripple", centered: false, disabled: this.disabled }), h("slot", { key: '73b0f23768b8ff67035d4dee7352eeff1bdde7c6' })));
49
+ return (h("button", { key: '7e2eec8f12239cc5038740f7bc4d98cb40f4b4e5', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("bs-ripple", { key: '59e94b073e82320148196c6ea526db559e55e8cb', part: "ripple", centered: false, disabled: this.disabled }), h("slot", { key: 'b137e2270b7da3437a6c16d5b34b968fb325b46c' })));
50
50
  }
51
51
  static get is() { return "bs-chatbot-suggestion-button"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -35,7 +35,7 @@ export class BsCheckboxSkeleton {
35
35
  /** Accessible name announced for the loading placeholder. */
36
36
  loadingLabel = 'Loading';
37
37
  render() {
38
- return (h("span", { key: '8458201ffae956d841ea313054cc75b0a51ad6ff', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": this.loadingLabel }, h("span", { key: '6c99ce841d3b9788cba16afbe23b4ec27e3fe1ce', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: 'f950ba0f0b3025d19ca5da7cefe3a75bb47932b1', part: "label", class: "bs-checkbox-skeleton__label" })));
38
+ return (h("span", { key: 'afdd1bab3322df2b766e2a75b29d043d710bd9a7', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": this.loadingLabel }, h("span", { key: '491a550c60e8b98e622efd6cf8c7a2335b20b7f2', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: '12d364db8342098312d8fd6c1237cf63cab52b35', part: "label", class: "bs-checkbox-skeleton__label" })));
39
39
  }
40
40
  static get is() { return "bs-checkbox-skeleton"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -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 sizes = ['sm', 'md', 'lg'];
4
6
  const meta = {
5
7
  title: 'Components/bs-checkbox',
@@ -33,7 +35,20 @@ const meta = {
33
35
  },
34
36
  };
35
37
  export default meta;
36
- export const Default = {};
38
+ export const Default = {
39
+ play: async ({ canvasElement }) => {
40
+ const host = await ready(canvasElement, 'bs-checkbox');
41
+ const changes = recordEvents(host, 'bsChange');
42
+ const input = inShadow(host, 'input');
43
+ await expect(input).not.toBeChecked();
44
+ await userEvent.click(input);
45
+ await waitFor(() => expect(input).toBeChecked());
46
+ await expect(changes.map(e => e.detail)).toEqual([true]);
47
+ await userEvent.click(input);
48
+ await waitFor(() => expect(input).not.toBeChecked());
49
+ await expect(changes.map(e => e.detail)).toEqual([true, false]);
50
+ },
51
+ };
37
52
  export const Horizontal = {
38
53
  // A layout demo, not a real prop -- bs-checkbox has no orientation/group concept of its own
39
54
  // (unlike Carbon's <cds-checkbox-group>), so arranging multiple instances in a row is purely the
@@ -54,6 +69,15 @@ export const Indeterminate = {
54
69
  };
55
70
  export const Disabled = {
56
71
  args: { disabled: true },
72
+ play: async ({ canvasElement }) => {
73
+ const host = await ready(canvasElement, 'bs-checkbox');
74
+ const changes = recordEvents(host, 'bsChange');
75
+ const input = inShadow(host, 'input');
76
+ await expect(input).toBeDisabled();
77
+ await userEvent.click(input);
78
+ await expect(input.checked).toBe(false);
79
+ await expect(changes).toHaveLength(0);
80
+ },
57
81
  };
58
82
  export const DisabledChecked = {
59
83
  name: 'Disabled + checked',
@@ -4,6 +4,15 @@ const boxes = (root) => Array.from(root.querySelectorAll('bs-checkbox'));
4
4
  const input = (b) => b.shadowRoot.querySelector('input');
5
5
  const basic = (extra = {}) => (h("bs-checkbox-group", { label: "Notify by", ...extra }, h("bs-checkbox", { value: "email" }, "Email"), h("bs-checkbox", { value: "sms" }, "SMS"), h("bs-checkbox", { value: "push" }, "Push")));
6
6
  describe('bs-checkbox-group', () => {
7
+ it('announces required via legend text, not aria-required (invalid on a fieldset)', async () => {
8
+ const { root } = await render(basic({ required: true }));
9
+ const group = root.shadowRoot.querySelector('fieldset');
10
+ expect(group.hasAttribute('aria-required')).toBe(false);
11
+ expect(root.shadowRoot.querySelector('legend').textContent).toContain('(required)');
12
+ root.requiredLabel = 'påkrævet';
13
+ await new Promise(r => setTimeout(r, 50));
14
+ expect(root.shadowRoot.querySelector('legend').textContent).toContain('(påkrævet)');
15
+ });
7
16
  it('is a fieldset with a legend', async () => {
8
17
  const { root } = await render(basic());
9
18
  expect(root.shadowRoot.querySelector('fieldset')).not.toBeNull();
@@ -63,3 +63,16 @@
63
63
  .bs-checkbox-group__error {
64
64
  color: var(--bs-checkbox-group-error-color);
65
65
  }
66
+
67
+ /* Visually hidden, still read by screen readers. */
68
+ .bs-checkbox-group__sr-only {
69
+ position: absolute;
70
+ width: 1px;
71
+ height: 1px;
72
+ margin: -1px;
73
+ padding: 0;
74
+ overflow: hidden;
75
+ clip: rect(0 0 0 0);
76
+ white-space: nowrap;
77
+ border: 0;
78
+ }
@@ -31,8 +31,10 @@ export class BsCheckboxGroup {
31
31
  error;
32
32
  /** Layout of the checkboxes. */
33
33
  orientation = 'vertical';
34
- /** Marks the group as required: shows an asterisk after the label and sets `aria-required`. */
34
+ /** Marks the group as required: shows an asterisk after the label and adds the `requiredLabel` text to the legend for assistive tech. */
35
35
  required = false;
36
+ /** Text appended (visually hidden) to the legend when `required`, so screen readers announce it. `aria-required` is not valid on a `fieldset`. */
37
+ requiredLabel = 'required';
36
38
  /** `value`s of the checked checkboxes. An array, so set it as a JS property, not an attribute. Setting it checks the matching boxes and unchecks the rest. */
37
39
  value = [];
38
40
  /** Emitted with the new array of checked `value`s when the user toggles a checkbox. Replaces the checkboxes' own `bsChange`, which does not reach listeners outside the group. */
@@ -75,7 +77,10 @@ export class BsCheckboxGroup {
75
77
  render() {
76
78
  const descId = `${this.id}-desc`;
77
79
  const note = this.error || this.description;
78
- return (h("fieldset", { key: '0fe78473d394ca02d2901e2dd6ee2b41bf0c8f82', part: "group", class: { 'bs-checkbox-group': true, 'bs-checkbox-group--error': !!this.error }, "aria-describedby": note ? descId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined }, this.label && (h("legend", { key: '93ebc36796a72142d0c37a5242fc3c41aac4cb24', part: "label", class: "bs-checkbox-group__label" }, this.label, this.required && h("span", { key: 'eafcf168ac7d17feef71686e3a57498093ab0b97', "aria-hidden": "true" }, " *"))), h("div", { key: '4473ad6ab2d88e0e1e6a68f5669d9008716a061b', part: "options", class: "bs-checkbox-group__options" }, h("slot", { key: '948c5302774f93e6e5173d0693450d14eb4230e3', onSlotchange: this.onSlotchange })), note && (h("span", { key: 'b625aa5a79b78c5fb2cceea6fa412582d41d4180', id: descId, part: this.error ? 'error' : 'description', class: this.error ? 'bs-checkbox-group__error' : 'bs-checkbox-group__description' }, this.error || this.description))));
80
+ return (h("fieldset", { key: '8f7fb1a067e1f56befc8b0482405333f4eb5d3b1', part: "group", class: { 'bs-checkbox-group': true, 'bs-checkbox-group--error': !!this.error }, "aria-describedby": note ? descId : undefined, "aria-invalid": this.error ? 'true' : undefined }, this.label && (h("legend", { key: '4184cdfef2d458b06159289c44ed62093ec43fbe', part: "label", class: "bs-checkbox-group__label" }, this.label, this.required && [
81
+ h("span", { key: '7c50ad16bb5a62aee6bb7c1c6171fb7fc7843cbc', "aria-hidden": "true" }, " *"),
82
+ h("span", { key: '07c282bd08e6ba04aa245f37987985bd3e19e842', class: "bs-checkbox-group__sr-only" }, " (", this.requiredLabel, ")"),
83
+ ])), h("div", { key: '2f418bcf802da9f6c312b103a0f49096e7bd0f08', part: "options", class: "bs-checkbox-group__options" }, h("slot", { key: '276403e8a81f0d6801ede58375a0802b382841a0', onSlotchange: this.onSlotchange })), note && (h("span", { key: 'bd3e98d357755bf1135c9dd9e3defb35090559da', id: descId, part: this.error ? 'error' : 'description', class: this.error ? 'bs-checkbox-group__error' : 'bs-checkbox-group__description' }, this.error || this.description))));
79
84
  }
80
85
  static get is() { return "bs-checkbox-group"; }
81
86
  static get encapsulation() { return "shadow"; }
@@ -186,7 +191,7 @@ export class BsCheckboxGroup {
186
191
  "optional": false,
187
192
  "docs": {
188
193
  "tags": [],
189
- "text": "Marks the group as required: shows an asterisk after the label and sets `aria-required`."
194
+ "text": "Marks the group as required: shows an asterisk after the label and adds the `requiredLabel` text to the legend for assistive tech."
190
195
  },
191
196
  "getter": false,
192
197
  "setter": false,
@@ -194,6 +199,26 @@ export class BsCheckboxGroup {
194
199
  "attribute": "required",
195
200
  "defaultValue": "false"
196
201
  },
202
+ "requiredLabel": {
203
+ "type": "string",
204
+ "mutable": false,
205
+ "complexType": {
206
+ "original": "string",
207
+ "resolved": "string",
208
+ "references": {}
209
+ },
210
+ "required": false,
211
+ "optional": false,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": "Text appended (visually hidden) to the legend when `required`, so screen readers announce it. `aria-required` is not valid on a `fieldset`."
215
+ },
216
+ "getter": false,
217
+ "setter": false,
218
+ "reflect": false,
219
+ "attribute": "required-label",
220
+ "defaultValue": "'required'"
221
+ },
197
222
  "value": {
198
223
  "type": "unknown",
199
224
  "mutable": true,
@@ -71,7 +71,7 @@ export class BsChipFilter {
71
71
  // label-only edge gets more -- except when NEITHER edge has a glyph, where both edges use a
72
72
  // third, larger value rather than the label-only one (see bs-chip-filter.css's own comment).
73
73
  const paddingVariant = this.hasIcon && this.dropdown ? 'icon-dropdown' : this.hasIcon ? 'icon-only' : this.dropdown ? 'dropdown-only' : 'text-only';
74
- return (h("button", { key: '06a4efff34f6542d59f9e46b4df706cae4a3118c', type: "button", class: `bs-chip-filter bs-chip-filter--${this.size} bs-chip-filter--${paddingVariant} ${this.selected ? 'bs-chip-filter--selected' : ''}`, disabled: this.disabled, "aria-pressed": String(this.selected), "aria-label": this.ariaLabel, onClick: this.onClick }, h("bs-ripple", { key: 'd76f2c368b82361e021d92eda38f68783910c4d7', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: 'e31e9dbb2f8663c8c496c0c24a465025de3513d9', part: "icon", class: `bs-chip-filter__icon ${this.hasIcon ? 'bs-chip-filter__icon--visible' : ''}` }, h("slot", { key: 'c9c11954b627f6f0cf2defd3bc24d39c83f8b6f7', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'af8b16f4c1c36d68db0ecef3844ef81e0c2a95f2', part: "label", class: "bs-chip-filter__label" }, h("slot", { key: 'afed8547e55dd8851f4a35204dfc8c19aac9552c' })), this.dropdown && (h("span", { key: 'ae9a53b2c520650bd8ec765ea21471800e9434ff', part: "caret", class: "bs-chip-filter__caret", "aria-hidden": "true" }, h(ChevronDownIcon, { key: '0311c2312584e20590bfb8d3c34a7b0d5efea652' })))));
74
+ return (h("button", { key: '7cfdd0089c8023f1409ccf9751ffe03329a6d884', type: "button", class: `bs-chip-filter bs-chip-filter--${this.size} bs-chip-filter--${paddingVariant} ${this.selected ? 'bs-chip-filter--selected' : ''}`, disabled: this.disabled, "aria-pressed": String(this.selected), "aria-label": this.ariaLabel, onClick: this.onClick }, h("bs-ripple", { key: '3aa54019b1985b8cf77834c31b1df31a56e28774', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: '752fbf3f55aad2206e38f27e6841a4a8cb775449', part: "icon", class: `bs-chip-filter__icon ${this.hasIcon ? 'bs-chip-filter__icon--visible' : ''}` }, h("slot", { key: '51435c1edb40d989241b59413dc6e30b353b5b46', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '34db254d4ee9616e2497705bc57237bcaac3b6a2', part: "label", class: "bs-chip-filter__label" }, h("slot", { key: '35a15ed0702180ab8cb58e6249b78d1322ee4b5b' })), this.dropdown && (h("span", { key: 'e72f4c5612cf67848711c31f2ab32403bdc645f2', part: "caret", class: "bs-chip-filter__caret", "aria-hidden": "true" }, h(ChevronDownIcon, { key: '513939f3b41904070b43fed9ac8169fb2c92ef6d' })))));
75
75
  }
76
76
  static get is() { return "bs-chip-filter"; }
77
77
  static get encapsulation() { return "shadow"; }
@@ -40,4 +40,48 @@ describe('bs-chip-informative', () => {
40
40
  const { root } = await render(h("bs-chip-informative", null, "Active"));
41
41
  expect(root).toHaveTextContent('Active');
42
42
  });
43
+ describe('removable and href (replaces bs-tag)', () => {
44
+ const removeBtn = (root) => root.shadowRoot.querySelector('[part="remove"]');
45
+ it('is non-interactive by default: no remove button and no link', async () => {
46
+ const { root } = await render(h("bs-chip-informative", null, "Label"));
47
+ expect(removeBtn(root)).toBeNull();
48
+ expect(root.shadowRoot.querySelector('a')).toBeNull();
49
+ expect(root.shadowRoot.querySelector('[part="label"]').tagName).toBe('SPAN');
50
+ });
51
+ it('removable renders a named remove button, reflects the attribute and emits bsRemove on click', async () => {
52
+ const { root, spyOnEvent, waitForChanges } = await render(h("bs-chip-informative", { removable: true }, "Design"));
53
+ await waitForChanges();
54
+ expect(root).toHaveAttribute('removable');
55
+ expect(removeBtn(root).ariaLabel).toBe('Remove Design');
56
+ const spy = spyOnEvent('bsRemove');
57
+ removeBtn(root).click();
58
+ expect(spy).toHaveReceivedEventTimes(1);
59
+ });
60
+ it('removeLabel changes the prefix of the remove button name', async () => {
61
+ const { root, waitForChanges } = await render(h("bs-chip-informative", { removable: true, removeLabel: "Fjern" }, "Design"));
62
+ await waitForChanges();
63
+ expect(removeBtn(root).ariaLabel).toBe('Fjern Design');
64
+ });
65
+ it('href renders a real link, and target="_blank" adds rel="noopener noreferrer"', async () => {
66
+ const { root } = await render(h("bs-chip-informative", { href: "/topics/design", target: "_blank" }, "Design"));
67
+ const a = root.shadowRoot.querySelector('a[part="label"]');
68
+ expect(a).not.toBeNull();
69
+ expect(a.getAttribute('href')).toBe('/topics/design');
70
+ expect(a.getAttribute('rel')).toBe('noopener noreferrer');
71
+ });
72
+ it('can be a link and removable at the same time', async () => {
73
+ const { root } = await render(h("bs-chip-informative", { href: "#x", removable: true }, "Design"));
74
+ expect(root.shadowRoot.querySelector('a[part="label"]')).not.toBeNull();
75
+ expect(removeBtn(root)).not.toBeNull();
76
+ });
77
+ it('disabled is never a link, and its remove button is disabled and emits nothing', async () => {
78
+ const { root, spyOnEvent, waitForChanges } = await render(h("bs-chip-informative", { disabled: true, href: "#x", removable: true }, "Design"));
79
+ await waitForChanges();
80
+ expect(root.shadowRoot.querySelector('a')).toBeNull();
81
+ expect(removeBtn(root).disabled).toBe(true);
82
+ const spy = spyOnEvent('bsRemove');
83
+ removeBtn(root).shadowRoot.querySelector('button').click();
84
+ expect(spy).not.toHaveReceivedEvent();
85
+ });
86
+ });
43
87
  });
@@ -20,6 +20,10 @@
20
20
  * @prop --bs-chip-informative-font-size: Aliased to --bs-font-size-sm (size="md"/"lg").
21
21
  * @prop --bs-chip-informative-line-height: Aliased to --bs-line-height-body-sm (size="md"/"lg").
22
22
  * @prop --bs-chip-informative-font-weight: Aliased to --bs-font-weight-regular.
23
+ * @prop --bs-chip-informative-padding-right-removable: Right-edge padding when `removable` (the remove
24
+ * button supplies its own visual padding). Aliased to --bs-spacing-50.
25
+ * @prop --bs-chip-informative-focus-ring: Focus ring colour of the link label. Aliased to
26
+ * --bs-border-neutral-focus.
23
27
  *
24
28
  * Color (background/text per color/disabled) comes directly from brandsync-tokens' own pre-built
25
29
  * chip token set below -- shared across the whole bs-chip family, not local to this component,
@@ -48,6 +52,8 @@
48
52
  --bs-chip-informative-font-size: var(--bs-font-size-sm);
49
53
  --bs-chip-informative-line-height: var(--bs-line-height-body-sm);
50
54
  --bs-chip-informative-font-weight: var(--bs-font-weight-regular);
55
+ --bs-chip-informative-padding-right-removable: var(--bs-spacing-50);
56
+ --bs-chip-informative-focus-ring: var(--bs-border-neutral-focus);
51
57
  }
52
58
 
53
59
  :host(.bs-chip-informative--lg) {
@@ -78,6 +84,10 @@
78
84
  padding-inline-end: var(--bs-chip-informative-padding-x-plain-side);
79
85
  }
80
86
 
87
+ :host(.bs-chip-informative--removable) {
88
+ padding-inline-end: var(--bs-chip-informative-padding-right-removable);
89
+ }
90
+
81
91
  .bs-chip-informative__icon {
82
92
  display: none;
83
93
  flex-shrink: 0;
@@ -102,6 +112,26 @@
102
112
  align-items: center;
103
113
  }
104
114
 
115
+ .bs-chip-informative__label--link {
116
+ color: inherit;
117
+ text-decoration: underline;
118
+ border-radius: var(--bs-border-radius-50);
119
+ }
120
+
121
+ .bs-chip-informative__label--link:hover {
122
+ text-decoration-thickness: 2px;
123
+ }
124
+
125
+ .bs-chip-informative__label--link:focus-visible {
126
+ outline: 2px solid var(--bs-chip-informative-focus-ring);
127
+ outline-offset: 2px;
128
+ }
129
+
130
+ .bs-chip-informative__remove {
131
+ flex-shrink: 0;
132
+ color: inherit;
133
+ }
134
+
105
135
  :host(.bs-chip-informative--neutral) {
106
136
  background: var(--bs-chip-bg-neutral-container);
107
137
  color: var(--bs-chip-text-neutral);
@@ -1,21 +1,28 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  /**
3
- * A pill-shaped, non-interactive label for conveying a category or status at a glance, optionally
4
- * paired with a leading icon. Unlike `bs-chip-filter`/`bs-chip-input`, this is purely informational
5
- * -- no click/select/remove behavior, no hover/focus/pressed states.
3
+ * A pill-shaped label for conveying a category or status at a glance, optionally paired with a
4
+ * leading icon. By default it is purely informational -- no click/select behavior, no
5
+ * hover/focus/pressed states. Two opt-ins cover what used to need a separate `bs-tag`: `removable`
6
+ * adds a remove button (`bsRemove`), and `href` turns the label into a link.
6
7
  *
7
8
  * ## When to use
8
9
  * - Conveying a category or status inline with other content, with more color options and an
9
10
  * optional icon than `bs-badge` offers.
11
+ * - Metadata on a record (topics, keywords, owners) that can be removed one by one (`removable`) or
12
+ * that leads to a filtered view or detail page (`href`).
10
13
  *
11
14
  * ## When not to use
12
- * - Anything clickable/selectable -- use `bs-chip-filter`.
15
+ * - Toggling a filter on and off -- use `bs-chip-filter`; entering free-text values -- use
16
+ * `bs-chip-input`.
13
17
  * - A short, fixed status label with no color/icon needs -- `bs-badge` is the simpler choice.
14
18
  *
19
+ * **Built from:** `bs-icon-button` (the remove control, `size="xs"`).
20
+ *
15
21
  * @slot - Default slot: the chip's label content.
16
22
  * @slot icon - Optional leading icon.
17
23
  * @part icon - The icon wrapper element.
18
- * @part label - The text label element.
24
+ * @part label - The text label element (a link when `href` is set).
25
+ * @part remove - The remove button (`bs-icon-button`), only when `removable`.
19
26
  */
20
27
  export class BsChipInformative {
21
28
  el;
@@ -30,12 +37,37 @@ export class BsChipInformative {
30
37
  /** Overrides `color` with the disabled token set, regardless of its value. Reflected so
31
38
  * `:host([disabled])` can apply it in CSS. */
32
39
  disabled = false;
40
+ /** Shows a remove button that emits `bsRemove`. The consumer removes the element. Off by default,
41
+ * so a plain chip stays non-interactive. */
42
+ removable = false;
43
+ /** Turns the label into a link to this URL. Ignored while `disabled`. */
44
+ href;
45
+ /** Link target, only used with `href`. `_blank` also sets `rel="noopener noreferrer"`. */
46
+ target;
47
+ /** Prefix of the remove button's accessible name ("Remove {label}"). */
48
+ removeLabel = 'Remove';
49
+ /** Fires when the remove button is activated, only when `removable`. No payload; the consumer
50
+ * removes the chip. Move focus somewhere sensible in your handler -- it is lost with the element. */
51
+ bsRemove;
33
52
  /** Tracks whether the `icon` slot has assigned content, so the icon/label gap and left-edge
34
53
  * padding only apply when there's actually a leading icon. */
35
54
  hasIcon = false;
55
+ /** The label's text, used for the remove button's accessible name. */
56
+ labelText = '';
36
57
  componentWillLoad() {
37
58
  this.hasIcon = this.hasSlottedContent('icon');
59
+ this.labelText = this.readLabel();
60
+ }
61
+ readLabel() {
62
+ return Array.from(this.el.childNodes)
63
+ .filter(n => !(n.nodeType === Node.ELEMENT_NODE && n.hasAttribute('slot')))
64
+ .map(n => n.textContent || '')
65
+ .join('')
66
+ .trim();
38
67
  }
68
+ onRemove = () => {
69
+ this.bsRemove.emit();
70
+ };
39
71
  hasSlottedContent(slotName) {
40
72
  return Array.from(this.el.childNodes).some(node => node.nodeType === Node.ELEMENT_NODE && node.getAttribute('slot') === slotName);
41
73
  }
@@ -44,7 +76,10 @@ export class BsChipInformative {
44
76
  };
45
77
  render() {
46
78
  const paddingVariant = this.hasIcon ? 'icon' : 'text';
47
- return (h(Host, { key: '859a7b1d4d42f8dcb3954b66d013c588453a2dfd', class: `bs-chip-informative bs-chip-informative--${this.color} bs-chip-informative--${this.size} bs-chip-informative--${paddingVariant}`, "aria-disabled": this.disabled ? 'true' : undefined }, h("span", { key: 'f9d97bc62eea33379adb890e004ecd0a2a8c5c3d', part: "icon", class: `bs-chip-informative__icon ${this.hasIcon ? 'bs-chip-informative__icon--visible' : ''}` }, h("slot", { key: '4e41027828c2514bfdc68a1e13b4bb0ca0278653', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '9519ca92daaadce0572e0dccb6607390d7e019c8', part: "label", class: "bs-chip-informative__label" }, h("slot", { key: '1231db6420ffbfbb63cbba714ca51d571f5bd981' }))));
79
+ const isLink = !!this.href && !this.disabled;
80
+ const rel = isLink && this.target === '_blank' ? 'noopener noreferrer' : undefined;
81
+ const label = h("slot", { key: 'ef28047f16d39f511b22c44dc8d5fed7031d2f42', onSlotchange: () => (this.labelText = this.readLabel()) });
82
+ return (h(Host, { key: '1efcc6d4f937ca210e938e6c6d146ed190f9a9c7', class: `bs-chip-informative bs-chip-informative--${this.color} bs-chip-informative--${this.size} bs-chip-informative--${paddingVariant} ${this.removable ? 'bs-chip-informative--removable' : ''}`, "aria-disabled": this.disabled ? 'true' : undefined }, h("span", { key: 'fd333a339d4cea6ff26362d9b583de0ae58b2d97', part: "icon", class: `bs-chip-informative__icon ${this.hasIcon ? 'bs-chip-informative__icon--visible' : ''}` }, h("slot", { key: '1b24fa6d1144ae046e7e63a61bec7197ad146626', name: "icon", onSlotchange: this.onIconSlotchange })), isLink ? (h("a", { part: "label", class: "bs-chip-informative__label bs-chip-informative__label--link", href: this.href, target: this.target, rel: rel }, label)) : (h("span", { part: "label", class: "bs-chip-informative__label" }, label)), this.removable && (h("bs-icon-button", { key: '907d4095f2fb64ee3d3d928c7ff41cacb1656911', part: "remove", class: "bs-chip-informative__remove", size: "xs", variant: "subtle", disabled: this.disabled, ariaLabel: `${this.removeLabel} ${this.labelText}`.trim(), onClick: this.onRemove }, h("svg", { key: '7ff06d4309db7e3462600bb8e620b6092d55ba66', viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("path", { key: '8bff2d547b88bdb5a240a13a82f71a0f3345ba59', d: "M12.5 3.5L3.5 12.5M12.5 12.5L3.5 3.5", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))));
48
83
  }
49
84
  static get is() { return "bs-chip-informative"; }
50
85
  static get encapsulation() { return "shadow"; }
@@ -131,13 +166,110 @@ export class BsChipInformative {
131
166
  "reflect": true,
132
167
  "attribute": "disabled",
133
168
  "defaultValue": "false"
169
+ },
170
+ "removable": {
171
+ "type": "boolean",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "boolean",
175
+ "resolved": "boolean",
176
+ "references": {}
177
+ },
178
+ "required": false,
179
+ "optional": false,
180
+ "docs": {
181
+ "tags": [],
182
+ "text": "Shows a remove button that emits `bsRemove`. The consumer removes the element. Off by default,\nso a plain chip stays non-interactive."
183
+ },
184
+ "getter": false,
185
+ "setter": false,
186
+ "reflect": true,
187
+ "attribute": "removable",
188
+ "defaultValue": "false"
189
+ },
190
+ "href": {
191
+ "type": "string",
192
+ "mutable": false,
193
+ "complexType": {
194
+ "original": "string",
195
+ "resolved": "string",
196
+ "references": {}
197
+ },
198
+ "required": false,
199
+ "optional": true,
200
+ "docs": {
201
+ "tags": [],
202
+ "text": "Turns the label into a link to this URL. Ignored while `disabled`."
203
+ },
204
+ "getter": false,
205
+ "setter": false,
206
+ "reflect": false,
207
+ "attribute": "href"
208
+ },
209
+ "target": {
210
+ "type": "string",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "string",
214
+ "resolved": "string",
215
+ "references": {}
216
+ },
217
+ "required": false,
218
+ "optional": true,
219
+ "docs": {
220
+ "tags": [],
221
+ "text": "Link target, only used with `href`. `_blank` also sets `rel=\"noopener noreferrer\"`."
222
+ },
223
+ "getter": false,
224
+ "setter": false,
225
+ "reflect": false,
226
+ "attribute": "target"
227
+ },
228
+ "removeLabel": {
229
+ "type": "string",
230
+ "mutable": false,
231
+ "complexType": {
232
+ "original": "string",
233
+ "resolved": "string",
234
+ "references": {}
235
+ },
236
+ "required": false,
237
+ "optional": false,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": "Prefix of the remove button's accessible name (\"Remove {label}\")."
241
+ },
242
+ "getter": false,
243
+ "setter": false,
244
+ "reflect": false,
245
+ "attribute": "remove-label",
246
+ "defaultValue": "'Remove'"
134
247
  }
135
248
  };
136
249
  }
137
250
  static get states() {
138
251
  return {
139
- "hasIcon": {}
252
+ "hasIcon": {},
253
+ "labelText": {}
140
254
  };
141
255
  }
256
+ static get events() {
257
+ return [{
258
+ "method": "bsRemove",
259
+ "name": "bsRemove",
260
+ "bubbles": true,
261
+ "cancelable": true,
262
+ "composed": true,
263
+ "docs": {
264
+ "tags": [],
265
+ "text": "Fires when the remove button is activated, only when `removable`. No payload; the consumer\nremoves the chip. Move focus somewhere sensible in your handler -- it is lost with the element."
266
+ },
267
+ "complexType": {
268
+ "original": "void",
269
+ "resolved": "void",
270
+ "references": {}
271
+ }
272
+ }];
273
+ }
142
274
  static get elementRef() { return "el"; }
143
275
  }
@@ -47,6 +47,13 @@ export const WithIcon = {
47
47
  export const Disabled = {
48
48
  args: { disabled: true },
49
49
  };
50
+ export const Removable = {
51
+ render: args => html ` <bs-chip-informative color=${args.color} size=${args.size} ?disabled=${args.disabled} removable>${args.label}</bs-chip-informative> `,
52
+ };
53
+ export const AsLink = {
54
+ name: 'As link',
55
+ render: args => html ` <bs-chip-informative color=${args.color} size=${args.size} ?disabled=${args.disabled} href="#topic">${args.label}</bs-chip-informative> `,
56
+ };
50
57
  export const Small = {
51
58
  args: { size: 'sm' },
52
59
  };
@@ -80,7 +80,7 @@ export class BsChipInput {
80
80
  };
81
81
  render() {
82
82
  const paddingVariant = this.hasIcon ? 'icon' : 'text';
83
- return (h(Host, { key: '8ab76f06cb483dbc73d33b0d18a5bd480835a73c', class: `bs-chip-input bs-chip-input--${this.size} bs-chip-input--${paddingVariant}` }, h("button", { key: '5bbf3a240d0e3bafbb05d2e1f08b1a536957845a', type: "button", part: "body", class: "bs-chip-input__body", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.onBodyClick }, h("bs-ripple", { key: '0fb4d5f11b8f4f688c84d81d8f6a5a1588ef8e98', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: '6933afdd4c1d7cbee3c44fd5a4bdda6d50a057c6', part: "icon", class: `bs-chip-input__icon ${this.hasIcon ? 'bs-chip-input__icon--visible' : ''}` }, h("slot", { key: '76ceb9abac6525345e6c10fd0d32391e566754bb', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '436b7b71ce8cfd6233a42097a54a0b4b1b63d446', part: "label", class: "bs-chip-input__label" }, h("slot", { key: '9a8e09c8a8cbc92951251b8cfb28b2bce6e21225', onSlotchange: this.onLabelSlotchange }))), h("button", { key: '52d5a5fac66271314c75bec429c9b44b21d9ea1c', type: "button", part: "remove", class: "bs-chip-input__remove", disabled: this.disabled, "aria-label": `${this.removeLabel} ${this.labelText}`, onClick: this.onRemoveClick }, h("bs-ripple", { key: 'fa18494eb706510dd91701d98b670b123dfbfb3c', part: "ripple", centered: true, disabled: this.disabled }), h(CloseIcon, { key: 'a56ac8cbc660bd9349ab82179901eadcb005ea2a' }))));
83
+ return (h(Host, { key: '138a3e7ee6dc966c580f664ec184466f71272f11', class: `bs-chip-input bs-chip-input--${this.size} bs-chip-input--${paddingVariant}` }, h("button", { key: '6d81c76a47b8a4f5d410f62da65bc21fd73ab326', type: "button", part: "body", class: "bs-chip-input__body", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.onBodyClick }, h("bs-ripple", { key: 'd625ac5a1c658215730aa694b69e426a3f17e138', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: 'd073ce98fe4a7ad884c055da57ccab870337f468', part: "icon", class: `bs-chip-input__icon ${this.hasIcon ? 'bs-chip-input__icon--visible' : ''}` }, h("slot", { key: 'fc9323f052532e20e443ec52d36f7343a5438148', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '0e174e2a29afbaff6e6468e9b0e1fc17d1e59fbf', part: "label", class: "bs-chip-input__label" }, h("slot", { key: 'a1c9457b41944c59dc49666361eeae0f2dceedb0', onSlotchange: this.onLabelSlotchange }))), h("button", { key: '981a4d06c8fce2ee6ca3a01adb438eaa95652aac', type: "button", part: "remove", class: "bs-chip-input__remove", disabled: this.disabled, "aria-label": `${this.removeLabel} ${this.labelText}`, onClick: this.onRemoveClick }, h("bs-ripple", { key: '8946515916aaedcd3d73961be2e9534e57ab0e17', part: "ripple", centered: true, disabled: this.disabled }), h(CloseIcon, { key: '2f67baae389fc4fbfaa29f4e6c720a2e02a8c8c4' }))));
84
84
  }
85
85
  static get is() { return "bs-chip-input"; }
86
86
  static get encapsulation() { return "shadow"; }