@brandsync/wc 1.10.0 → 1.11.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 (432) hide show
  1. package/custom-elements.json +8335 -4132
  2. package/dist/brandsync-wc/brandsync-wc.css +33 -0
  3. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  4. package/dist/brandsync-wc/{p-9f8852a0.entry.js → p-00a0d489.entry.js} +1 -1
  5. package/dist/brandsync-wc/{p-a5feaad4.entry.js → p-061ddc46.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-360452c2.entry.js → p-09435f41.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-dbcbe682.entry.js → p-09bc1923.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-1f7208cb.entry.js → p-09cbf05b.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-c99b6a66.entry.js → p-0b2d3b7e.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-0b7c77c1.entry.js +1 -0
  11. package/dist/brandsync-wc/p-0ee4126c.entry.js +1 -0
  12. package/dist/brandsync-wc/{p-5f3cd501.entry.js → p-0f8cd2e8.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-1c0db4d6.entry.js → p-1261f0b0.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-b2074a32.entry.js → p-1978e63c.entry.js} +1 -1
  15. package/dist/brandsync-wc/p-1aab6d07.entry.js +1 -0
  16. package/dist/brandsync-wc/{p-96ed9386.entry.js → p-20030f4d.entry.js} +1 -1
  17. package/dist/brandsync-wc/p-2177042f.entry.js +1 -0
  18. package/dist/brandsync-wc/{p-a8e2a829.entry.js → p-2368a92e.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-2e958566.entry.js → p-247e36ad.entry.js} +1 -1
  20. package/dist/brandsync-wc/p-2497d128.entry.js +1 -0
  21. package/dist/brandsync-wc/{p-701ebf4a.entry.js → p-282ddbee.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-763876f5.entry.js → p-2f4e08e1.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-c3f72584.entry.js → p-34e5feaf.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-ea4e20ef.entry.js → p-39a26c64.entry.js} +1 -1
  25. package/dist/brandsync-wc/p-3a1af63a.entry.js +1 -0
  26. package/dist/brandsync-wc/{p-9f6fe37d.entry.js → p-3f09296a.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-416322bd.entry.js +1 -0
  28. package/dist/brandsync-wc/{p-bbcc47b0.entry.js → p-491b51e6.entry.js} +1 -1
  29. package/dist/brandsync-wc/p-52cb2358.entry.js +1 -0
  30. package/dist/brandsync-wc/{p-daab6b22.entry.js → p-56c37e0a.entry.js} +1 -1
  31. package/dist/brandsync-wc/p-5ba90a13.entry.js +1 -0
  32. package/dist/brandsync-wc/{p-2181378f.entry.js → p-5f27f04d.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-08c99a60.entry.js → p-617bd13a.entry.js} +1 -1
  34. package/dist/brandsync-wc/p-68fcd4a4.entry.js +1 -0
  35. package/dist/brandsync-wc/{p-9e88f19c.entry.js → p-69c0a85d.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-d3f44cb7.entry.js → p-6a696161.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-32cd69f1.entry.js → p-6c6cdf77.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-041776c0.entry.js → p-6e735e37.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-fc58c663.entry.js → p-73f214ed.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-be2c1740.entry.js → p-7796b93f.entry.js} +1 -1
  41. package/dist/brandsync-wc/p-78a69a59.entry.js +1 -0
  42. package/dist/brandsync-wc/{p-f370b8fa.entry.js → p-78f4fcf0.entry.js} +1 -1
  43. package/dist/brandsync-wc/p-7f954939.entry.js +1 -0
  44. package/dist/brandsync-wc/{p-835a8dc7.entry.js → p-81605b82.entry.js} +1 -1
  45. package/dist/brandsync-wc/{p-a71d2811.entry.js → p-823ab3b2.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-a92eec48.entry.js → p-89fabf27.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-AgoOSYvW.js → p-DqQRXQMx.js} +2 -2
  48. package/dist/brandsync-wc/{p-18c3c22c.entry.js → p-a9169157.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-f89de457.entry.js → p-afb07368.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-301b2455.entry.js → p-b84366a7.entry.js} +1 -1
  51. package/dist/brandsync-wc/p-b9a4042e.entry.js +1 -0
  52. package/dist/brandsync-wc/{p-275072dd.entry.js → p-b9ccd9d1.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-61c1a2a3.entry.js → p-be3dd446.entry.js} +1 -1
  54. package/dist/brandsync-wc/{p-d42b1c2b.entry.js → p-c0a92750.entry.js} +1 -1
  55. package/dist/brandsync-wc/{p-8eba7f90.entry.js → p-d754ee13.entry.js} +1 -1
  56. package/dist/brandsync-wc/{p-e9b43754.entry.js → p-d75f3f87.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-e8a5b8eb.entry.js → p-d8b29a53.entry.js} +1 -1
  58. package/dist/brandsync-wc/p-de110ad0.entry.js +1 -0
  59. package/dist/brandsync-wc/p-e2556b4e.entry.js +1 -0
  60. package/dist/brandsync-wc/{p-af2bf957.entry.js → p-e5daa6ca.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-0132a2d1.entry.js → p-f15d9524.entry.js} +1 -1
  62. package/dist/brandsync-wc/p-f5180578.entry.js +1 -0
  63. package/dist/brandsync-wc/{p-fd254972.entry.js → p-f7d15fbe.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-50a251a4.entry.js → p-fc069773.entry.js} +1 -1
  65. package/dist/brandsync-wc/p-fcee0dc4.entry.js +1 -0
  66. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  67. package/dist/cjs/bs-accordion.cjs.entry.js +1 -1
  68. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  69. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  70. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  71. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  72. package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
  73. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  76. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  77. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
  78. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  79. package/dist/cjs/bs-button.cjs.entry.js +3 -3
  80. package/dist/cjs/bs-card.cjs.entry.js +3 -3
  81. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  82. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
  83. package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
  84. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  85. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  86. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
  87. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +2 -2
  88. package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
  89. package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
  90. package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
  91. package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
  92. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  93. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-cookie-consent.cjs.entry.js +186 -0
  95. package/dist/cjs/bs-data-table.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-datepicker.cjs.entry.js +13 -9
  97. package/dist/cjs/bs-dialog.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-error-page.cjs.entry.js +103 -0
  99. package/dist/cjs/bs-file-upload-item.cjs.entry.js +2 -2
  100. package/dist/cjs/bs-file-upload.cjs.entry.js +2 -2
  101. package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
  102. package/dist/cjs/bs-icon-tile.cjs.entry.js +52 -0
  103. package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
  104. package/dist/cjs/{bs-input_2.cjs.entry.js → bs-input_3.cjs.entry.js} +40 -5
  105. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
  107. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +3 -3
  108. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  109. package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +161 -0
  110. package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
  111. package/dist/cjs/bs-product-tour.cjs.entry.js +78 -0
  112. package/dist/cjs/bs-progress-linear.cjs.entry.js +4 -4
  113. package/dist/cjs/bs-progress.cjs.entry.js +3 -3
  114. package/dist/cjs/bs-qr-code.cjs.entry.js +148 -0
  115. package/dist/cjs/bs-radio.cjs.entry.js +2 -2
  116. package/dist/cjs/bs-session-timeout.cjs.entry.js +215 -0
  117. package/dist/cjs/bs-slider.cjs.entry.js +2 -2
  118. package/dist/cjs/bs-snackbar.cjs.entry.js +9 -3
  119. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  120. package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
  121. package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
  122. package/dist/cjs/bs-switch.cjs.entry.js +2 -2
  123. package/dist/cjs/bs-tab_3.cjs.entry.js +255 -0
  124. package/dist/cjs/bs-timepicker.cjs.entry.js +4 -4
  125. package/dist/cjs/bs-toast.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  127. package/dist/cjs/bs-whats-new.cjs.entry.js +144 -0
  128. package/dist/cjs/{index-kk9YXF2S.js → index-tFJjflK5.js} +15 -3
  129. package/dist/cjs/loader.cjs.js +2 -2
  130. package/dist/collection/collection-manifest.json +9 -0
  131. package/dist/collection/components/bs-a11y.cmp.test.js +22 -0
  132. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  133. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  134. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  135. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  136. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  137. package/dist/collection/components/bs-button/bs-button/bs-button.cmp.test.js +28 -0
  138. package/dist/collection/components/bs-button/bs-button/bs-button.css +8 -2
  139. package/dist/collection/components/bs-button/bs-button/bs-button.js +4 -1
  140. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  141. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  142. package/dist/collection/components/bs-card/bs-card.cmp.test.js +48 -0
  143. package/dist/collection/components/bs-card/bs-card.css +37 -16
  144. package/dist/collection/components/bs-card/bs-card.js +2 -2
  145. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  146. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  147. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  148. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  149. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  150. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  151. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.cmp.test.js +217 -0
  152. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.css +350 -0
  153. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.js +668 -0
  154. package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.stories.js +103 -0
  155. package/dist/collection/components/bs-datepicker/bs-datepicker.cmp.test.js +9 -0
  156. package/dist/collection/components/bs-datepicker/bs-datepicker.css +21 -11
  157. package/dist/collection/components/bs-datepicker/bs-datepicker.js +13 -7
  158. package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +3 -2
  159. package/dist/collection/components/bs-error-page/bs-error-page.cmp.test.js +99 -0
  160. package/dist/collection/components/bs-error-page/bs-error-page.css +105 -0
  161. package/dist/collection/components/bs-error-page/bs-error-page.js +328 -0
  162. package/dist/collection/components/bs-error-page/bs-error-page.stories.js +57 -0
  163. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  164. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  165. package/dist/collection/components/bs-icon-tile/bs-icon-tile.cmp.test.js +175 -0
  166. package/dist/collection/components/bs-icon-tile/bs-icon-tile.css +112 -0
  167. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +158 -0
  168. package/dist/collection/components/bs-icon-tile/bs-icon-tile.stories.js +45 -0
  169. package/dist/collection/components/bs-input/bs-input.cmp.test.js +14 -0
  170. package/dist/collection/components/bs-input/bs-input.css +9 -2
  171. package/dist/collection/components/bs-input/bs-input.js +2 -2
  172. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  173. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  174. package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.cmp.test.js +280 -0
  175. package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.css +488 -0
  176. package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.js +674 -0
  177. package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.js +92 -0
  178. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  179. package/dist/collection/components/bs-product-tour/bs-product-tour.cmp.test.js +116 -0
  180. package/dist/collection/components/bs-product-tour/bs-product-tour.css +265 -0
  181. package/dist/collection/components/bs-product-tour/bs-product-tour.js +391 -0
  182. package/dist/collection/components/bs-product-tour/bs-product-tour.stories.js +68 -0
  183. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  184. package/dist/collection/components/bs-progress-linear/bs-progress-linear.css +1 -1
  185. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  186. package/dist/collection/components/bs-qr-code/bs-qr-code.cmp.test.js +152 -0
  187. package/dist/collection/components/bs-qr-code/bs-qr-code.css +307 -0
  188. package/dist/collection/components/bs-qr-code/bs-qr-code.js +767 -0
  189. package/dist/collection/components/bs-qr-code/bs-qr-code.stories.js +99 -0
  190. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  191. package/dist/collection/components/bs-session-timeout/bs-session-timeout.cmp.test.js +202 -0
  192. package/dist/collection/components/bs-session-timeout/bs-session-timeout.css +239 -0
  193. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +772 -0
  194. package/dist/collection/components/bs-session-timeout/bs-session-timeout.stories.js +88 -0
  195. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  196. package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +20 -0
  197. package/dist/collection/components/bs-snackbar/bs-snackbar.css +6 -4
  198. package/dist/collection/components/bs-snackbar/bs-snackbar.js +53 -1
  199. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  200. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  201. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  202. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  203. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  204. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  205. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  206. package/dist/collection/components/bs-timepicker/bs-timepicker.css +15 -11
  207. package/dist/collection/components/bs-timepicker/bs-timepicker.js +4 -2
  208. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  209. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  210. package/dist/collection/components/bs-whats-new/bs-whats-new.cmp.test.js +200 -0
  211. package/dist/collection/components/bs-whats-new/bs-whats-new.css +315 -0
  212. package/dist/collection/components/bs-whats-new/bs-whats-new.js +790 -0
  213. package/dist/collection/components/bs-whats-new/bs-whats-new.stories.js +105 -0
  214. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.js +79 -0
  215. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.css +131 -0
  216. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +295 -0
  217. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.stories.js +67 -0
  218. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  219. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  220. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  221. package/dist/components/bs-accordion.js +1 -1
  222. package/dist/components/bs-ai-disclaimer.js +1 -1
  223. package/dist/components/bs-ai-greeting.js +1 -1
  224. package/dist/components/bs-ai-thinking.js +1 -1
  225. package/dist/components/bs-attachment-list.js +1 -1
  226. package/dist/components/bs-attachment.js +1 -1
  227. package/dist/components/bs-avatar.js +1 -1
  228. package/dist/components/bs-badge.js +1 -1
  229. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  230. package/dist/components/bs-breadcrumb.js +1 -1
  231. package/dist/components/bs-breadcrumbs.js +1 -1
  232. package/dist/components/bs-button-skeleton.js +1 -1
  233. package/dist/components/bs-button.js +1 -1
  234. package/dist/components/bs-card.js +1 -1
  235. package/dist/components/bs-carousel.js +1 -1
  236. package/dist/components/bs-chatbot-feedback.js +1 -1
  237. package/dist/components/bs-chatbot-header.js +1 -1
  238. package/dist/components/bs-chatbot-response-action.js +1 -1
  239. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  240. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  241. package/dist/components/bs-checkbox-skeleton.js +1 -1
  242. package/dist/components/bs-checkbox.js +1 -1
  243. package/dist/components/bs-chip-filter.js +1 -1
  244. package/dist/components/bs-chip-informative.js +1 -1
  245. package/dist/components/bs-chip-input.js +1 -1
  246. package/dist/components/bs-composer-status-banner.js +1 -1
  247. package/dist/components/bs-composer.js +1 -1
  248. package/dist/components/bs-cookie-consent.d.ts +11 -0
  249. package/dist/components/bs-cookie-consent.js +1 -0
  250. package/dist/components/bs-data-table.js +1 -1
  251. package/dist/components/bs-datepicker.js +1 -1
  252. package/dist/components/bs-dialog.js +1 -1
  253. package/dist/components/bs-error-page.d.ts +11 -0
  254. package/dist/components/bs-error-page.js +1 -0
  255. package/dist/components/bs-file-upload-item.js +1 -1
  256. package/dist/components/bs-file-upload.js +1 -1
  257. package/dist/components/bs-icon-button.js +1 -1
  258. package/dist/components/bs-icon-tile.d.ts +11 -0
  259. package/dist/components/bs-icon-tile.js +1 -0
  260. package/dist/components/bs-inline-tab.js +1 -1
  261. package/dist/components/bs-input.js +1 -1
  262. package/dist/components/bs-logo.js +1 -1
  263. package/dist/components/bs-menu-item.js +1 -1
  264. package/dist/components/bs-menu.js +1 -1
  265. package/dist/components/bs-navigation-drawer-item.js +1 -1
  266. package/dist/components/bs-navigation-drawer.js +1 -1
  267. package/dist/components/bs-navigation-header.js +1 -1
  268. package/dist/components/bs-onboarding-checklist.d.ts +11 -0
  269. package/dist/components/bs-onboarding-checklist.js +1 -0
  270. package/dist/components/bs-pagination.js +1 -1
  271. package/dist/components/bs-product-tour.d.ts +11 -0
  272. package/dist/components/bs-product-tour.js +1 -0
  273. package/dist/components/bs-progress-linear.js +1 -1
  274. package/dist/components/bs-progress.js +1 -1
  275. package/dist/components/bs-qr-code.d.ts +11 -0
  276. package/dist/components/bs-qr-code.js +1 -0
  277. package/dist/components/bs-radio.js +1 -1
  278. package/dist/components/bs-session-timeout.d.ts +11 -0
  279. package/dist/components/bs-session-timeout.js +1 -0
  280. package/dist/components/bs-slider.js +1 -1
  281. package/dist/components/bs-snackbar.js +1 -1
  282. package/dist/components/bs-source-link.js +1 -1
  283. package/dist/components/bs-stepper-step.js +1 -1
  284. package/dist/components/bs-stepper.js +1 -1
  285. package/dist/components/bs-switch.js +1 -1
  286. package/dist/components/bs-tab.js +1 -1
  287. package/dist/components/bs-tabs.js +1 -1
  288. package/dist/components/bs-timepicker.js +1 -1
  289. package/dist/components/bs-toast.js +1 -1
  290. package/dist/components/bs-tooltip.js +1 -1
  291. package/dist/components/bs-whats-new-entry.d.ts +11 -0
  292. package/dist/components/bs-whats-new-entry.js +1 -0
  293. package/dist/components/bs-whats-new.d.ts +11 -0
  294. package/dist/components/bs-whats-new.js +1 -0
  295. package/dist/components/index.js +1 -1
  296. package/dist/components/{p-R2MlkUzD.js → p-BEEoVNRu.js} +1 -1
  297. package/dist/components/{p-DkIVyFOP.js → p-BZ3M4lOU.js} +1 -1
  298. package/dist/components/{p-Ba860ej1.js → p-B_I4UEMp.js} +1 -1
  299. package/dist/components/{p-ZK8p5zax.js → p-Be9L4_Fe.js} +1 -1
  300. package/dist/components/p-Be_Pmccm.js +1 -0
  301. package/dist/components/{p-CPvqZNO8.js → p-Bl_tVzeq.js} +1 -1
  302. package/dist/components/p-C8yT2Ucq.js +1 -0
  303. package/dist/components/p-CA31vqjL.js +1 -0
  304. package/dist/components/p-CUfs0ROR.js +1 -0
  305. package/dist/components/{p-JYlmcxBn.js → p-CVrEuVFo.js} +1 -1
  306. package/dist/components/{p-B7Icv1ho.js → p-C_j_jDM6.js} +1 -1
  307. package/dist/components/p-CbimDNGY.js +1 -0
  308. package/dist/components/p-CeUK3n7D.js +1 -0
  309. package/dist/components/p-CncySD_-.js +1 -0
  310. package/dist/components/p-DE8K7fg0.js +1 -0
  311. package/dist/components/p-Dr0Qk9Zc.js +1 -0
  312. package/dist/components/p-DuLL7Ouw.js +1 -0
  313. package/dist/components/p-YsHQLXET.js +1 -0
  314. package/dist/components/p-qmS2CBqi.js +1 -0
  315. package/dist/components/{p-BYR_ZC8v.js → p-zTHlbyH6.js} +1 -1
  316. package/dist/esm/brandsync-wc.js +3 -3
  317. package/dist/esm/bs-accordion.entry.js +1 -1
  318. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  319. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  320. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  321. package/dist/esm/bs-attachment-list.entry.js +2 -2
  322. package/dist/esm/bs-attachment.entry.js +1 -1
  323. package/dist/esm/bs-avatar.entry.js +1 -1
  324. package/dist/esm/bs-badge.entry.js +1 -1
  325. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  326. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  327. package/dist/esm/bs-breadcrumbs.entry.js +2 -2
  328. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  329. package/dist/esm/bs-button.entry.js +3 -3
  330. package/dist/esm/bs-card.entry.js +3 -3
  331. package/dist/esm/bs-carousel.entry.js +1 -1
  332. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  333. package/dist/esm/bs-chatbot-header.entry.js +2 -2
  334. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  335. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  336. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  337. package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
  338. package/dist/esm/bs-checkbox.entry.js +1 -1
  339. package/dist/esm/bs-chip-filter.entry.js +1 -1
  340. package/dist/esm/bs-chip-informative.entry.js +1 -1
  341. package/dist/esm/bs-chip-input.entry.js +1 -1
  342. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  343. package/dist/esm/bs-composer.entry.js +1 -1
  344. package/dist/esm/bs-cookie-consent.entry.js +184 -0
  345. package/dist/esm/bs-data-table.entry.js +1 -1
  346. package/dist/esm/bs-datepicker.entry.js +13 -9
  347. package/dist/esm/bs-dialog.entry.js +1 -1
  348. package/dist/esm/bs-error-page.entry.js +101 -0
  349. package/dist/esm/bs-file-upload-item.entry.js +2 -2
  350. package/dist/esm/bs-file-upload.entry.js +2 -2
  351. package/dist/esm/bs-icon-button.entry.js +2 -2
  352. package/dist/esm/bs-icon-tile.entry.js +50 -0
  353. package/dist/esm/bs-inline-tab.entry.js +2 -2
  354. package/dist/esm/{bs-input_2.entry.js → bs-input_3.entry.js} +40 -6
  355. package/dist/esm/bs-logo.entry.js +1 -1
  356. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  357. package/dist/esm/bs-navigation-drawer.entry.js +3 -3
  358. package/dist/esm/bs-navigation-header.entry.js +2 -2
  359. package/dist/esm/bs-onboarding-checklist.entry.js +159 -0
  360. package/dist/esm/bs-pagination.entry.js +2 -2
  361. package/dist/esm/bs-product-tour.entry.js +76 -0
  362. package/dist/esm/bs-progress-linear.entry.js +4 -4
  363. package/dist/esm/bs-progress.entry.js +3 -3
  364. package/dist/esm/bs-qr-code.entry.js +146 -0
  365. package/dist/esm/bs-radio.entry.js +2 -2
  366. package/dist/esm/bs-session-timeout.entry.js +213 -0
  367. package/dist/esm/bs-slider.entry.js +2 -2
  368. package/dist/esm/bs-snackbar.entry.js +9 -3
  369. package/dist/esm/bs-source-link.entry.js +3 -3
  370. package/dist/esm/bs-stepper-step.entry.js +2 -2
  371. package/dist/esm/bs-stepper.entry.js +2 -2
  372. package/dist/esm/bs-switch.entry.js +2 -2
  373. package/dist/esm/bs-tab_3.entry.js +251 -0
  374. package/dist/esm/bs-timepicker.entry.js +4 -4
  375. package/dist/esm/bs-toast.entry.js +2 -2
  376. package/dist/esm/bs-tooltip.entry.js +2 -2
  377. package/dist/esm/bs-whats-new.entry.js +142 -0
  378. package/dist/esm/{index-AgoOSYvW.js → index-DqQRXQMx.js} +15 -3
  379. package/dist/esm/loader.js +3 -3
  380. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +3 -0
  381. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.cmp.test.d.ts +1 -0
  382. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.d.ts +136 -0
  383. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.stories.d.ts +16 -0
  384. package/dist/types/components/bs-datepicker/bs-datepicker.d.ts +2 -0
  385. package/dist/types/components/bs-error-page/bs-error-page.cmp.test.d.ts +1 -0
  386. package/dist/types/components/bs-error-page/bs-error-page.d.ts +60 -0
  387. package/dist/types/components/bs-error-page/bs-error-page.stories.d.ts +22 -0
  388. package/dist/types/components/bs-icon-tile/bs-icon-tile.cmp.test.d.ts +1 -0
  389. package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +40 -0
  390. package/dist/types/components/bs-icon-tile/bs-icon-tile.stories.d.ts +13 -0
  391. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.cmp.test.d.ts +1 -0
  392. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.d.ts +140 -0
  393. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.d.ts +18 -0
  394. package/dist/types/components/bs-product-tour/bs-product-tour.cmp.test.d.ts +1 -0
  395. package/dist/types/components/bs-product-tour/bs-product-tour.d.ts +78 -0
  396. package/dist/types/components/bs-product-tour/bs-product-tour.stories.d.ts +19 -0
  397. package/dist/types/components/bs-qr-code/bs-qr-code.cmp.test.d.ts +1 -0
  398. package/dist/types/components/bs-qr-code/bs-qr-code.d.ts +124 -0
  399. package/dist/types/components/bs-qr-code/bs-qr-code.stories.d.ts +28 -0
  400. package/dist/types/components/bs-session-timeout/bs-session-timeout.cmp.test.d.ts +1 -0
  401. package/dist/types/components/bs-session-timeout/bs-session-timeout.d.ts +141 -0
  402. package/dist/types/components/bs-session-timeout/bs-session-timeout.stories.d.ts +19 -0
  403. package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +7 -0
  404. package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +2 -0
  405. package/dist/types/components/bs-whats-new/bs-whats-new.cmp.test.d.ts +1 -0
  406. package/dist/types/components/bs-whats-new/bs-whats-new.d.ts +147 -0
  407. package/dist/types/components/bs-whats-new/bs-whats-new.stories.d.ts +14 -0
  408. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.d.ts +1 -0
  409. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.d.ts +53 -0
  410. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.stories.d.ts +18 -0
  411. package/dist/types/components.d.ts +2636 -96
  412. package/package.json +1 -1
  413. package/dist/brandsync-wc/p-1c3a43c7.entry.js +0 -1
  414. package/dist/brandsync-wc/p-1c427ffb.entry.js +0 -1
  415. package/dist/brandsync-wc/p-4f2c4929.entry.js +0 -1
  416. package/dist/brandsync-wc/p-76e1c295.entry.js +0 -1
  417. package/dist/brandsync-wc/p-790db8b3.entry.js +0 -1
  418. package/dist/brandsync-wc/p-796a1860.entry.js +0 -1
  419. package/dist/brandsync-wc/p-806a5347.entry.js +0 -1
  420. package/dist/brandsync-wc/p-addfa0a0.entry.js +0 -1
  421. package/dist/brandsync-wc/p-c9a72416.entry.js +0 -1
  422. package/dist/brandsync-wc/p-f006d962.entry.js +0 -1
  423. package/dist/brandsync-wc/p-f074f94e.entry.js +0 -1
  424. package/dist/cjs/bs-menu.cjs.entry.js +0 -39
  425. package/dist/cjs/bs-tab.cjs.entry.js +0 -88
  426. package/dist/cjs/bs-tabs.cjs.entry.js +0 -133
  427. package/dist/components/p-BTvme8CE.js +0 -1
  428. package/dist/components/p-CpUHnsq9.js +0 -1
  429. package/dist/components/p-jDO25SfF.js +0 -1
  430. package/dist/esm/bs-menu.entry.js +0 -37
  431. package/dist/esm/bs-tab.entry.js +0 -86
  432. package/dist/esm/bs-tabs.entry.js +0 -131
@@ -21,6 +21,28 @@ describe('axe: form controls', () => {
21
21
  describe('axe: actions & navigation', () => {
22
22
  axeOf('bs-button', () => h("bs-button", null, "Save"));
23
23
  axeOf('bs-icon-button', () => h("bs-icon-button", { ariaLabel: "Close" }));
24
+ axeOf('bs-icon-tile', () => h("bs-icon-tile", { intent: "success", size: "lg" }));
25
+ axeOf('bs-icon-tile (labelled)', () => h("bs-icon-tile", { intent: "error", label: "Error" }));
26
+ axeOf('bs-qr-code', () => h("bs-qr-code", { description: "Scan to open SO-10482", url: "egsync.no/d/SO-10482", matrix: [[true, false, true], [false, true, false], [true, false, true]] }));
27
+ axeOf('bs-qr-code (payment, expired)', () => h("bs-qr-code", { type: "payment", state: "expired", amount: "148,00 kr" }));
28
+ axeOf('bs-product-tour (welcome)', () => h("bs-product-tour", { heading: "Welcome", description: "Take a quick tour." }));
29
+ axeOf('bs-product-tour (pointer)', () => h("bs-product-tour", { type: "pointer", heading: "Filters", description: "Narrow the list.", step: 1, total: 3, closable: true }));
30
+ axeOf('bs-error-page', () => h("bs-error-page", null));
31
+ axeOf('bs-error-page (server error)', () => h("bs-error-page", { type: "server-error", reference: "Error ID: 7f3c-21a9", headingLevel: 2 }));
32
+ axeOf('bs-session-timeout (warning)', () => h("bs-session-timeout", { secondsLeft: 112, savedMessage: "Your draft is saved automatically." }));
33
+ axeOf('bs-session-timeout (signed out)', () => h("bs-session-timeout", { type: "signed-out", accountName: "Mette Jensen", accountEmail: "mette.jensen@nordlys.no" }));
34
+ axeOf('bs-session-timeout (confirm identity)', () => h("bs-session-timeout", { type: "confirm-identity" }));
35
+ axeOf('bs-cookie-consent (banner)', () => h("bs-cookie-consent", { policyUrl: "/cookies" }));
36
+ axeOf('bs-cookie-consent (preferences)', () => h("bs-cookie-consent", { type: "preferences" }));
37
+ axeOf('bs-cookie-consent (saved)', () => h("bs-cookie-consent", { type: "saved" }));
38
+ axeOf('bs-onboarding-checklist (panel)', () => h("bs-onboarding-checklist", { steps: [{ id: 'a', label: 'Add details', done: true }, { id: 'b', label: 'Connect bank', description: 'Import transactions.', actionLabel: 'Connect bank', estimate: 'About 3 min' }, { id: 'c', label: 'Send invoice' }], closable: true }));
39
+ axeOf('bs-onboarding-checklist (dashboard)', () => h("bs-onboarding-checklist", { type: "dashboard", steps: [{ id: 'a', label: 'Add details', done: true }, { id: 'b', label: 'Connect bank' }, { id: 'c', label: 'Send invoice' }] }));
40
+ axeOf('bs-onboarding-checklist (launcher)', () => h("bs-onboarding-checklist", { type: "launcher", steps: [{ id: 'a', label: 'One', done: true }, { id: 'b', label: 'Two' }] }));
41
+ axeOf('bs-onboarding-checklist (completion)', () => h("bs-onboarding-checklist", { type: "completion", steps: [{ id: 'a', label: 'One', done: true }] }));
42
+ axeOf('bs-whats-new-entry', () => h("bs-whats-new-entry", { tag: "New feature", date: "24.09.2026", unread: true, heading: "Smarter reminders", description: "Sent at the best time.", actionLabel: "Try it", divider: true }));
43
+ axeOf('bs-whats-new (feed)', () => h("bs-whats-new", { closable: true, releaseNotesUrl: "/notes", entries: [{ id: 'a', category: 'features', tag: 'New feature', date: '24.09.2026', unread: true, heading: 'Smarter reminders', description: 'Sent at the best time.', actionLabel: 'Try it' }, { id: 'b', category: 'fixes', tag: 'Fix', tagColor: 'success', date: '11.09.2026', heading: 'SAF-T export', description: 'Credit notes are back.' }] }));
44
+ axeOf('bs-whats-new (announcement)', () => h("bs-whats-new", { type: "announcement", tag: "New feature", heading: "Payment reminders that pick the best time", points: ['One', 'Two'], step: 1, total: 3, closable: true }));
45
+ axeOf('bs-whats-new (teaser)', () => h("bs-whats-new", { type: "teaser", tag: "New", date: "24.09.2026", heading: "Smarter payment reminders", description: "See what changed.", closable: true }));
24
46
  axeOf('bs-button-skeleton', () => h("bs-button-skeleton", null));
25
47
  axeOf('bs-tabs', () => (h("bs-tabs", null, h("bs-tab", { selected: true }, "One"), h("bs-tab", null, "Two"))));
26
48
  axeOf('bs-menu', () => (h("bs-menu", null, h("bs-menu-item", null, "Edit"), h("bs-menu-item", null, "Delete"))));
@@ -25,7 +25,7 @@ import { h } from "@stencil/core";
25
25
  export class BsAiDisclaimer {
26
26
  render() {
27
27
  https: //images.unsplash.com/photo-1512917774080-9991f1c4c750?w=200&h=200&fit=crop
28
- return (h("div", { key: '94efc8f14ad853f5e04c5d0b1d7630138bb6a8f6', class: "bs-ai-disclaimer" }, h("p", { key: 'e19407ceb6f9dbf00f68eb120d1bb371683468c2', part: "text", class: "bs-ai-disclaimer__text" }, h("slot", { key: '68148e0251aeb03d082c64315860a4a683bebad0' }))));
28
+ return (h("div", { key: '767bf87bcfe9d07ba03aae5809a483e207bad96d', class: "bs-ai-disclaimer" }, h("p", { key: '563f48f1c1dda418af44e27c237655bcfc0821d7', part: "text", class: "bs-ai-disclaimer__text" }, h("slot", { key: '255b7d63c1d719cf09b914d5d5df6af7516c18dd' }))));
29
29
  }
30
30
  static get is() { return "bs-ai-disclaimer"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -43,7 +43,7 @@ export class BsAiGreeting {
43
43
  const subtext = this.productName
44
44
  ? `How can I help you with ${this.productName} today?`
45
45
  : 'How can I help you today?';
46
- return (h("div", { key: '23a4086fd322c84616da441cdaf0d16ca2dd82df', class: "bs-ai-greeting" }, h("div", { key: 'ec1fcf0d0f1109a9bddcfba9470a833c679c89de', part: "heading", class: "bs-ai-greeting__heading" }, h("p", { key: '583f4b4284f54ea6572224f3e2831be9cf8a251a', class: "bs-ai-greeting__heading-line" }, "Hi. I'm ", this.assistantName, ","), h("p", { key: '5f271e0dfb6a616027426960f94d2dc6afeeb711', class: "bs-ai-greeting__heading-line" }, "your AI assistant.")), h("p", { key: '603b3d742859b20daa234a4abe87f90a5c22b1bb', part: "subtext", class: "bs-ai-greeting__subtext" }, subtext)));
46
+ return (h("div", { key: '707816a52c925fa81beb3dc4f83d38d144a0bd6b', class: "bs-ai-greeting" }, h("div", { key: '5762d7e1a865fc5cb8b680bfd7547acee7a871ed', part: "heading", class: "bs-ai-greeting__heading" }, h("p", { key: '0301b8b35d6919c0e9f51def1dbac208309facf9', class: "bs-ai-greeting__heading-line" }, "Hi. I'm ", this.assistantName, ","), h("p", { key: '1ba457bc87cc9e38b4d191ff5b3d6079768a5d7c', class: "bs-ai-greeting__heading-line" }, "your AI assistant.")), h("p", { key: '056f8ad54e7c3b6115248206921f8b6ec5b1d7b0', part: "subtext", class: "bs-ai-greeting__subtext" }, subtext)));
47
47
  }
48
48
  static get is() { return "bs-ai-greeting"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -29,7 +29,7 @@ export class BsAiThinking {
29
29
  /** The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching". */
30
30
  label = 'Thinking';
31
31
  render() {
32
- return (h("div", { key: '5b3cac839971c8969f6e77c3628f2ae16db3f619', class: "bs-ai-thinking", role: "status", "aria-live": "polite" }, h("img", { key: 'fc1c52491a531fe04a24cf7d791efa303cba5127', part: "icon", class: "bs-ai-thinking__icon", src: GENIE_MARK_ICON, alt: "", "aria-hidden": "true" }), h("span", { key: '6f46e04ef15c39cc33cd9e77f98cee34600d4f78', part: "label", class: "bs-ai-thinking__label" }, this.label)));
32
+ return (h("div", { key: 'e9d5f3302e6048a8c62462eb867ab48289e3b108', class: "bs-ai-thinking", role: "status", "aria-live": "polite" }, h("img", { key: '89abfffcbcf2a03d8dcb02e5cd44dde40285f43d', part: "icon", class: "bs-ai-thinking__icon", src: GENIE_MARK_ICON, alt: "", "aria-hidden": "true" }), h("span", { key: '5d50e900a14dc0849ccbc26543c9b13ad538ed7f', part: "label", class: "bs-ai-thinking__label" }, this.label)));
33
33
  }
34
34
  static get is() { return "bs-ai-thinking"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -58,7 +58,7 @@ export class BsAttachmentList {
58
58
  this.canScrollRight = row.scrollWidth - row.clientWidth - row.scrollLeft > 1;
59
59
  };
60
60
  render() {
61
- return (h("div", { key: '6c1f66de13a5439d54faf2739b69560306194b3b', class: "bs-attachment-list" }, h("div", { key: 'de50608382a308fc7ceba50cd1f487958fcdce74', part: "row", class: "bs-attachment-list__row", ref: el => (this.row = el), onScroll: this.onScroll, role: "group", "aria-label": this.ariaLabel, tabIndex: 0 }, h("slot", { key: 'c7b5bd66d506556abf55875a2e206d6f0792584c', onSlotchange: this.onSlotchange })), this.canScrollRight && h("div", { key: '12b8fc16d2a7efbbef36fc6e42ed0058ca32c290', part: "fade", class: "bs-attachment-list__fade", "aria-hidden": "true" })));
61
+ return (h("div", { key: 'b17878e1d519c9e23af55615c96099d3c95978ef', class: "bs-attachment-list" }, h("div", { key: 'd31618f4b625a05ce2843857c1d7e24f8fcdc1f0', part: "row", class: "bs-attachment-list__row", ref: el => (this.row = el), onScroll: this.onScroll, role: "group", "aria-label": this.ariaLabel, tabIndex: 0 }, h("slot", { key: '3d53cf8c9ec46e39fbebfc9b95e848f330956e8f', onSlotchange: this.onSlotchange })), this.canScrollRight && h("div", { key: '76073ed15b11a0afd206c2843b9926e8c8df97de', part: "fade", class: "bs-attachment-list__fade", "aria-hidden": "true" })));
62
62
  }
63
63
  static get is() { return "bs-attachment-list"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -54,7 +54,7 @@ export class BsBreadcrumbs {
54
54
  });
55
55
  }
56
56
  render() {
57
- return (h("nav", { key: '2772673d54ceab8866fada7a3a460938fd03d00c', "aria-label": this.label }, h("ol", { key: 'd9021230f43d8c307ea89ba5ce665bacff66cadf', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: 'eccde40d6fc8c47caf1813daccb906b748117840', onSlotchange: this.onSlotChange }))));
57
+ return (h("nav", { key: 'd98b09d03dc33133c3ab4bf6694e38e274e0551d', "aria-label": this.label }, h("ol", { key: '4064e1ec205530fb4e9af24e4325914a41480403', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: 'cb0849d8d47ae4054f34f1928eeb162b007d15a9', onSlotchange: this.onSlotChange }))));
58
58
  }
59
59
  static get is() { return "bs-breadcrumbs"; }
60
60
  static get encapsulation() { return "shadow"; }
@@ -104,4 +104,32 @@ describe('bs-button', () => {
104
104
  expect(button).not.toHaveClass('bs-button--has-end-icon');
105
105
  });
106
106
  });
107
+ describe('width and subtle colour custom properties', () => {
108
+ it('fits its content by default', async () => {
109
+ const { root } = await render(h("bs-button", null, "Click me"));
110
+ const button = root.shadowRoot.querySelector('button');
111
+ expect(button.getBoundingClientRect().width).toBe(root.getBoundingClientRect().width);
112
+ expect(root.getBoundingClientRect().width).toBeLessThan(200);
113
+ });
114
+ it('fills its container with --bs-button-width: 100%', async () => {
115
+ const { root } = await render(h("div", { style: { width: '320px' } }, h("bs-button", { style: { '--bs-button-width': '100%' } }, "Confirm")));
116
+ const button = root.querySelector('bs-button');
117
+ expect(button.getBoundingClientRect().width).toBe(320);
118
+ expect(button.shadowRoot.querySelector('button').getBoundingClientRect().width).toBe(320);
119
+ });
120
+ it('has 24px side padding at size sm, and takes --bs-button-padding-x-sm', async () => {
121
+ const a = await render(h("bs-button", { size: "sm" }, "Change"));
122
+ const wide = a.root.getBoundingClientRect().width;
123
+ const b = await render(h("bs-button", { size: "sm", style: { '--bs-button-padding-x-sm': '16px' } }, "Change"));
124
+ expect(wide - b.root.getBoundingClientRect().width).toBe(16);
125
+ });
126
+ it('colours the subtle variant through --bs-button-subtle-color', async () => {
127
+ const a = await render(h("bs-button", { variant: "subtle" }, "Cancel"));
128
+ const before = getComputedStyle(a.root.shadowRoot.querySelector('button')).color;
129
+ const b = await render(h("bs-button", { variant: "subtle", style: { '--bs-button-subtle-color': 'rgb(0, 98, 193)' } }, "Cancel"));
130
+ const after = getComputedStyle(b.root.shadowRoot.querySelector('button')).color;
131
+ expect(after).toBe('rgb(0, 98, 193)');
132
+ expect(before).not.toBe(after);
133
+ });
134
+ });
107
135
  });
@@ -1,9 +1,13 @@
1
1
  :host {
2
2
  display: inline-block;
3
+ width: var(--bs-button-width);
4
+ --bs-button-width: auto;
5
+ --bs-button-subtle-color: var(--bs-color-neutral-default);
3
6
  --bs-button-height-sm: var(--bs-spacing-500);
4
7
  --bs-button-height-md: var(--bs-spacing-600);
5
8
  --bs-button-height-lg: var(--bs-spacing-700);
6
9
  --bs-button-radius: var(--bs-border-radius-100);
10
+ --bs-button-padding-x-sm: var(--bs-spacing-300);
7
11
  --bs-button-padding-x-icon-side: var(--bs-spacing-150);
8
12
  --bs-button-padding-x-label-side: var(--bs-spacing-250);
9
13
 
@@ -62,6 +66,8 @@
62
66
  }
63
67
 
64
68
  .bs-button {
69
+ /* Fills the host, whose width is --bs-button-width (auto = fit the content). */
70
+ width: 100%;
65
71
  display: inline-flex;
66
72
  align-items: center;
67
73
  justify-content: center;
@@ -87,7 +93,7 @@
87
93
 
88
94
  .bs-button--sm {
89
95
  height: var(--bs-button-height-sm);
90
- padding: 0 var(--bs-spacing-300);
96
+ padding: 0 var(--bs-button-padding-x-sm);
91
97
  font-size: var(--bs-font-size-sm);
92
98
  }
93
99
 
@@ -220,7 +226,7 @@
220
226
 
221
227
  .bs-button--subtle {
222
228
  background: transparent;
223
- color: var(--bs-color-neutral-default);
229
+ color: var(--bs-button-subtle-color);
224
230
  }
225
231
  .bs-button--subtle:hover:not(:disabled) {
226
232
  background: var(--bs-button-subtle-hover);
@@ -24,6 +24,9 @@ import { h } from "@stencil/core";
24
24
  * @part label - The text label element.
25
25
  * @part end-icon - The trailing icon wrapper element.
26
26
  * @prop --bs-button-radius - Corner radius. Aliased to `--bs-border-radius-100` by default.
27
+ * @prop --bs-button-padding-x-sm - Left/right padding of a label-only button at `size="sm"`. Aliased to `--bs-spacing-300`.
28
+ * @prop --bs-button-width - Width of the button. `auto` by default (fits its content); set `100%` for a full-width button, e.g. `bs-button { --bs-button-width: 100%; }`.
29
+ * @prop --bs-button-subtle-color - Label/icon colour, `variant="subtle"`. Aliased to `--bs-color-neutral-default`; set it to `var(--bs-text-action)` for a blue text button.
27
30
  * @prop --bs-button-height-sm - Height at `size="sm"`. Aliased to `--bs-spacing-500`.
28
31
  * @prop --bs-button-height-md - Height at `size="md"`. Aliased to `--bs-spacing-600`.
29
32
  * @prop --bs-button-height-lg - Height at `size="lg"`. Aliased to `--bs-spacing-700`.
@@ -116,7 +119,7 @@ export class BsButton {
116
119
  };
117
120
  render() {
118
121
  const iconOnly = (this.hasIcon || this.hasEndIcon) && !this.hasLabel;
119
- return (h("button", { key: 'c218d6df7ccdbb753a2965e6f25a2ed7c0fd73fc', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '8b664e7aae4d4558aeb9fa2d5bc39c0445bd6e1d', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: '708b742030c8f4aaeeea36ce68c0c9bc3d9839f9', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'db1a5517c7a68d3dafd884b3ebf590e53d911782', part: "label", class: "bs-button__label" }, h("slot", { key: 'ba58f01560f81165e24624b5511848d42b602965', onSlotchange: this.onLabelSlotchange })), h("span", { key: '78f6f131f9b6ea390b1f18929053040e93b688f3', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: 'ee1c230a9f4099e625623173ab429c76664ee64e', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
122
+ return (h("button", { key: 'dd64d152077f283339cbf93b3b7424dd51519163', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '918a3c1e157e9c84992fd1553c69cf2d7b87cba9', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: 'a43da2dfb72cc155d113f4e044fec9890bcf8e90', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '35c941287c14c79b9a9c23a0d4cfecd66c459f20', part: "label", class: "bs-button__label" }, h("slot", { key: '4e76d97c2f26e3f609e3e8336135529b49d1a370', onSlotchange: this.onLabelSlotchange })), h("span", { key: 'fb82a5a1785c6c96993daf3de2bdff5b9597a431', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: '0d70abb45f41970bc2aa5dcd18ad3931b053190e', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
120
123
  }
121
124
  static get is() { return "bs-button"; }
122
125
  static get encapsulation() { return "shadow"; }
@@ -62,7 +62,7 @@ export class BsIconButton {
62
62
  form.reset();
63
63
  };
64
64
  render() {
65
- return (h("button", { key: '433827a167fc7ce5183358c3e8469d68dd67788a', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: 'e7d50a6755e7e4de39db799abef38c118d888b98', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: 'a737620ca5d0baf69abc1964a160492c32359d09' }))));
65
+ return (h("button", { key: '3ac84a834ff924589ebf317bff14576905091bb7', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '2b913f9fdfa8bc0b5bbbd9ef55b2dc73718d260c', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: '6cbb10e814b9b179f9a3b99fae0e662ce351c607' }))));
66
66
  }
67
67
  static get is() { return "bs-icon-button"; }
68
68
  static get encapsulation() { return "shadow"; }
@@ -25,7 +25,7 @@ export class BsButtonSkeleton {
25
25
  /** Sizing scale, matching the `bs-button` size it stands in for. */
26
26
  size = 'md';
27
27
  render() {
28
- return h("span", { key: 'e272ddf5faf4cf9875b3d70d22ae4a406d1fdf02', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
28
+ return h("span", { key: '69fa3f8608b28769612132249a8ac0a23098bda6', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
29
29
  }
30
30
  static get is() { return "bs-button-skeleton"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -58,4 +58,52 @@ describe('bs-card', () => {
58
58
  expect(image).toHaveClass('bs-card__image--visible');
59
59
  });
60
60
  });
61
+ describe('customization', () => {
62
+ const style = (el) => getComputedStyle(el.shadowRoot.querySelector('.bs-card'));
63
+ it('keeps the Figma defaults: 8px radius, no border, raised shadow, 16px padding', async () => {
64
+ const { root } = await render(h("bs-card", null, "Body"));
65
+ const card = style(root);
66
+ expect(card.borderTopLeftRadius).toBe('8px');
67
+ expect(card.borderTopWidth).toBe('0px');
68
+ expect(card.boxShadow).not.toBe('none');
69
+ expect(getComputedStyle(root.shadowRoot.querySelector('.bs-card__content')).paddingTop).toBe('16px');
70
+ });
71
+ it('has no shadow on the base and container surfaces', async () => {
72
+ for (const surface of ['base', 'container']) {
73
+ const { root } = await render(h("bs-card", { surface: surface }, "Body"));
74
+ expect(style(root).boxShadow).toBe('none');
75
+ }
76
+ });
77
+ it('can be restyled through its custom properties', async () => {
78
+ const { root } = await render(h("bs-card", { style: {
79
+ '--bs-card-radius': '12px',
80
+ '--bs-card-padding': '24px 0',
81
+ '--bs-card-border-width': '1px',
82
+ '--bs-card-shadow': 'none',
83
+ '--bs-card-overflow': 'visible',
84
+ } }, "Body"));
85
+ const card = style(root);
86
+ expect(card.borderTopLeftRadius).toBe('12px');
87
+ expect(card.borderTopWidth).toBe('1px');
88
+ expect(card.boxShadow).toBe('none');
89
+ expect(card.overflow).toBe('visible');
90
+ const content = getComputedStyle(root.shadowRoot.querySelector('.bs-card__content'));
91
+ expect(content.paddingTop).toBe('24px');
92
+ expect(content.paddingLeft).toBe('0px');
93
+ });
94
+ });
95
+ describe('height', () => {
96
+ it('sizes to its content by default', async () => {
97
+ const { root } = await render(h("bs-card", null, "Body"));
98
+ const surface = root.shadowRoot.querySelector('.bs-card');
99
+ expect(surface.getBoundingClientRect().height).toBe(root.getBoundingClientRect().height);
100
+ expect(root.getBoundingClientRect().height).toBeLessThan(120);
101
+ });
102
+ it('fills a height set on the host, so the surface (not just the box) is that tall', async () => {
103
+ const { root } = await render(h("bs-card", { style: { height: '200px' } }, "Body"));
104
+ const surface = root.shadowRoot.querySelector('.bs-card');
105
+ expect(root.getBoundingClientRect().height).toBe(200);
106
+ expect(surface.getBoundingClientRect().height).toBe(200);
107
+ });
108
+ });
61
109
  });
@@ -1,5 +1,32 @@
1
+ /**
2
+ * @prop --bs-card-bg: Background. Set per `surface`: --bs-paper-bg-raised / -base / -container.
3
+ * @prop --bs-card-radius: Corner radius. Aliased to --bs-border-radius-100 (8px).
4
+ * @prop --bs-card-padding: Padding around the header/body/footer content (the `image` slot stays flush). Aliased to --bs-spacing-200. Accepts a shorthand, e.g. `var(--bs-spacing-200) 0`.
5
+ * @prop --bs-card-border-width: Border width. 0 -- the Figma "Card" has no border. Set it with --bs-card-border-color for a bordered card.
6
+ * @prop --bs-card-border-color: Border colour. Aliased to --bs-border-default.
7
+ * @prop --bs-card-shadow: Box shadow. Set per `surface`: --bs-shadow-sm for `raised`, none for `base` and `container`.
8
+ * @prop --bs-card-overflow: Overflow of the surface. `hidden` so the image slot's top corners are clipped to the radius; set `visible` when the content has to overflow (a popup menu, an arrow).
9
+ */
1
10
  :host {
2
11
  display: block;
12
+
13
+ --bs-card-bg: var(--bs-paper-bg-raised);
14
+ --bs-card-radius: var(--bs-border-radius-100);
15
+ --bs-card-padding: var(--bs-spacing-200);
16
+ --bs-card-border-width: 0px;
17
+ --bs-card-border-color: var(--bs-border-default);
18
+ --bs-card-shadow: var(--bs-shadow-sm);
19
+ --bs-card-overflow: hidden;
20
+ }
21
+
22
+ :host([surface='base']) {
23
+ --bs-card-bg: var(--bs-paper-bg-base);
24
+ --bs-card-shadow: none;
25
+ }
26
+
27
+ :host([surface='container']) {
28
+ --bs-card-bg: var(--bs-paper-bg-container);
29
+ --bs-card-shadow: none;
3
30
  }
4
31
 
5
32
  /* No border -- verified against the Figma "Card" node, which relies on background/shadow contrast
@@ -8,8 +35,15 @@
8
35
  the -150 value previously here was the Figma *demo frame's* radius around the example, not the
9
36
  card's own "Paper" node radius. */
10
37
  .bs-card {
11
- overflow: hidden;
12
- border-radius: var(--bs-border-radius-100);
38
+ box-sizing: border-box;
39
+ /* Fills the host when the host has an explicit height (a fixed-height card), and is a no-op when the host's
40
+ height is auto -- so cards still size to their content by default. */
41
+ height: 100%;
42
+ overflow: var(--bs-card-overflow);
43
+ border: var(--bs-card-border-width) solid var(--bs-card-border-color);
44
+ border-radius: var(--bs-card-radius);
45
+ background: var(--bs-card-bg);
46
+ box-shadow: var(--bs-card-shadow);
13
47
  font-family: inherit;
14
48
  /* No color rule existed anywhere in this file before this -- slotted header/body/footer content
15
49
  inherited whatever color the *consuming page* happened to have, not this card's own themed
@@ -19,19 +53,6 @@
19
53
  color: var(--bs-text-default);
20
54
  }
21
55
 
22
- .bs-card--base {
23
- background: var(--bs-paper-bg-base);
24
- }
25
-
26
- .bs-card--raised {
27
- background: var(--bs-paper-bg-raised);
28
- box-shadow: var(--bs-shadow-sm);
29
- }
30
-
31
- .bs-card--container {
32
- background: var(--bs-paper-bg-container);
33
- }
34
-
35
56
  /* Empty by default (no padding/margin) -- only visible when the image slot has content, same
36
57
  "reserve no space when empty" pattern as bs-dialog's own image slot. */
37
58
  .bs-card__image--visible ::slotted(img) {
@@ -45,7 +66,7 @@
45
66
  can sit flush against the card's edges instead of being inset by it. spacing-200 (16px), not
46
67
  -400 (32px) -- the -400 value previously here didn't match the Figma redline at all. */
47
68
  .bs-card__content {
48
- padding: var(--bs-spacing-200);
69
+ padding: var(--bs-card-padding);
49
70
  }
50
71
 
51
72
  /* spacing-100 (8px), not -300 (24px) -- same over-sized-token mistake as the padding above. */
@@ -34,7 +34,7 @@ export class BsCard {
34
34
  this.hasImage = ev.target.assignedNodes().length > 0;
35
35
  };
36
36
  render() {
37
- return (h("div", { key: '8cad76fa0c75da73579d9c3f0c35bd53e403e206', part: "container", class: `bs-card bs-card--${this.surface}` }, h("div", { key: '0b6c4b4f1917b91c2666fe5a458f4824b2be8a45', part: "image", class: `bs-card__image ${this.hasImage ? 'bs-card__image--visible' : ''}` }, h("slot", { key: 'aa072aab27b633e7f043855d5c9dfdcdd711adcf', name: "image", onSlotchange: this.onImageSlotchange })), h("div", { key: '9c30a8c08fb8c8a312b649358fdc4d666fffeb8d', class: "bs-card__content" }, h("div", { key: '0489dbbbbb3c743d8cabe2722884a3d127cd0dc4', part: "header", class: "bs-card__header" }, h("slot", { key: '43175c6aff3313e8efbedde2e8cb344c023594ea', name: "header" })), h("div", { key: '23d4f29e1786d30ea9b63159287ed7cf139a374a', part: "body", class: "bs-card__body" }, h("slot", { key: '2e3c69ae07711b57e2e825b0ed0bd691d8e9c3b1' })), h("div", { key: 'fb0747f6bf93c25057e84551c2a0b579c7c594d3', part: "footer", class: "bs-card__footer" }, h("slot", { key: '8ef61b947e94412f113f237b55144cc216a6bad5', name: "footer" })))));
37
+ return (h("div", { key: '288db1e39f66129bf5d6598f53fb49d5481d0f02', part: "container", class: `bs-card bs-card--${this.surface}` }, h("div", { key: '9f25abc5cdfdf40d7bdefab7f1154545cc634f9d', part: "image", class: `bs-card__image ${this.hasImage ? 'bs-card__image--visible' : ''}` }, h("slot", { key: '8eff4a23e8ecf977056206bc8c223b4ad97b7656', name: "image", onSlotchange: this.onImageSlotchange })), h("div", { key: 'b0a1580657943f30c9a5dba3361dcf00dd36e90f', class: "bs-card__content" }, h("div", { key: 'f151de3b9d5975d2953131aea92a2353ac665bbc', part: "header", class: "bs-card__header" }, h("slot", { key: '6d015146a6ff72788ad3843caa37f2c304728b8b', name: "header" })), h("div", { key: 'd678f0d33dba58725b397502d9aced9983466bf6', part: "body", class: "bs-card__body" }, h("slot", { key: '51b7cdca4af0e43ba7de04c14bca32f59baa2f58' })), h("div", { key: '6b6fe027565678561d7f7beb79f6ceb05397ff50', part: "footer", class: "bs-card__footer" }, h("slot", { key: '6d704d0e7b6644e3f0e6b4ce7ae12e515c84339d', name: "footer" })))));
38
38
  }
39
39
  static get is() { return "bs-card"; }
40
40
  static get encapsulation() { return "shadow"; }
@@ -72,7 +72,7 @@ export class BsCard {
72
72
  },
73
73
  "getter": false,
74
74
  "setter": false,
75
- "reflect": false,
75
+ "reflect": true,
76
76
  "attribute": "surface",
77
77
  "defaultValue": "'raised'"
78
78
  }
@@ -123,7 +123,7 @@ export class BsChatbotFeedback {
123
123
  }
124
124
  render() {
125
125
  const stars = [1, 2, 3, 4, 5];
126
- return (h("div", { key: 'aabc3b63a41eb5324d572f20a0af29ccea5d9507', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '2b01df39b773ba1ab55b654b688b8e514af87c29', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: 'bcffb7d5c49c3de2fd62296c0a815a9ebab92bef' })), h("div", { key: '2d2f9c08f0b345dacda9d6514e6b2c665967358c', class: "bs-chatbot-feedback__top" }, h("div", { key: 'd06bf92615cb05d6b3142c7b375297b78a8ebb1c', class: "bs-chatbot-feedback__text" }, h("p", { key: '0c362bce3ad81312816565fff5440593daf55790', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: '0fe0980b52c758fcbed0176c5791e1ac088cc5ae', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '556b835d8cc4543f524fdb01791c3af7aacd8669', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, 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} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: 'f99093e2962ffedc27999e3a517c48904dea468b', class: "bs-chatbot-feedback__field" }, h("label", { key: 'c9bb2ebb44265fc2700e4a862e5ccb6076eaa25e', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: '847b1022f1d7e1507e5e82186e03735eccafd80e', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '7817ecda3a3778cd8b3fb05565ca4ed4101da612', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: 'e0415b534c83f0fd8026c70aa01db12e68f0bab4', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'f2969b4501a1e0af5adb302d5c80e813cd1aec26', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: 'd3ca363da5f1e278a4d1653137cacfe42ac7daf7' }), "Submit feedback")), h("button", { key: '0b40842d7d9bf740847d0b851a10c9459db4a9c1', 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(EditIcon, { key: '6fe3c4955794d0d6167d307afe5156923ae871f2' }), "Start new chat"))));
126
+ return (h("div", { key: '1cf3a5182bae5ef9ca6032e719ded84b89e38c92', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '5bda6ae88a7d61097f6903a9d65450c7189deed3', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: 'e108a344b08ea32fc9483fe38afe414ba4934b18' })), h("div", { key: '59290f663a13db00de6e009d50f54f593667ecdb', class: "bs-chatbot-feedback__top" }, h("div", { key: '9f4f809e1b0a785e1b511225b9cba960a4089a5b', class: "bs-chatbot-feedback__text" }, h("p", { key: '7eb6e3ff94b3b40402eb00a019094186bec1a954', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: 'e3d44543b43f3f0cf16a78951d08184697cd31c3', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '802bd512162d1135b6ca3a358230cfa3946d9b47', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, 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} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: '0efa9387c6c4ff4256f2b3fcb0ed057425c56a47', class: "bs-chatbot-feedback__field" }, h("label", { key: '56ba4baaaf912b4434b6be27af865296ebad2bf5', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: 'c0964f935e259744a770870671ccbe1c6748f2d6', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '226aefe64cdc4d05986a5d078a391dcc03630acf', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '174a94b61e9395792f99d73ab0533a4e7e7d6bab', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'b1539a93054f3037926e190432c8821e14cb7fee', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: 'd885521025886f58311c5713430414a82eb9b063' }), "Submit feedback")), h("button", { key: '623b133d827c7549d6f052e7668d3303f93f80c3', 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(EditIcon, { key: '5069e1d0219f4b25212631425ddb85473bff0c4a' }), "Start new chat"))));
127
127
  }
128
128
  static get is() { return "bs-chatbot-feedback"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -74,7 +74,7 @@ export class BsChatbotHeader {
74
74
  this.bsClose.emit();
75
75
  };
76
76
  render() {
77
- return (h("div", { key: '05419c0e9659074c99586190cd78a8de7a5eafcc', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: 'db67056399c3cd0054f24b8b6622221ec9a0817a', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: 'c8d98740445bd9d53c096b16058e721c9aea098c', class: "bs-chatbot-header__actions" }, h("span", { key: 'fbe6e910956684325e7ea9945f6ec16dbaf89b47', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '30d9914ab21468151821e45b6243196e8e69f5b0', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": "New chat", onClick: this.onNewChatClick }, h("slot", { key: '1d85439aa66bc42d0a479c90fa581f9ef4fd4245', name: "new-chat-icon" }, h(NewChatIcon, { key: 'adada1b7014df77327f48279fcab1468c9ebcb5e' }))), h("bs-tooltip", { key: '5854895579df420a25b8ad367aa31acf7a5afc05', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "New chat")), h("span", { key: 'd2ce725b9b07208ae540601afc99845adceaf110', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'a2dd3406bc6b557dd0323bffd843e21a9c4cbed6', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": "History", onClick: this.onHistoryClick }, h("slot", { key: '2acf5d76225c710ed8da26d7b28a15b9906f6938', name: "history-icon" }, h(HistoryIcon, { key: 'a5452154bd46c7b0cfdfc77b584aed0078e9d808' }))), h("bs-tooltip", { key: 'da3ca7cdeb6182fb45e969e6cfb8232ec8410a17', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "History")), h("span", { key: 'c69f4bba7e92f341f57c77909dfa4f5365f0ec3a', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'cd42ff4dd756295b93948fb2c9a9b5b957c4e335', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? 'Collapse' : 'Expand', "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: '8c13063be20983c2c504042d3811c5dc4820f399', name: "expand-icon" }, h(ExpandIcon, { key: 'd508f7f4ff1a3b9e5622aab3775c786d85472b3e' }))), h("bs-tooltip", { key: 'e575d46939327fb304c3fdd6e78b169271b39848', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? 'Collapse' : 'Expand')), h("span", { key: '9b4bab65e49526f20b2760f3bc8d98fcefad30c7', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '519b509a320894329ba716f604d185dd4d2746b0', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": "Close", onClick: this.onCloseClick }, h("slot", { key: '4205d1d665053faf07ba13d929f5120f05806a89', name: "close-icon" }, h(CloseIcon, { key: '76bf4ab39f7e5fbdcdbb62d0baabb381192fbae7' }))), h("bs-tooltip", { key: 'cbebd979aef708c05e75bf835cd353834bcf83cb', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "Close")))));
77
+ return (h("div", { key: 'c77fcfa340df9342111e77588804f51c66788e90', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: 'c17b3297adacb61edbfbdc77832d1c0e5e1c1f02', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: '9c07b22fa0a41a21fd95966d25c619a6e1b3dfa8', class: "bs-chatbot-header__actions" }, h("span", { key: '5f640f6c5df74ae59cb302aa4d66456fbd71c3b0', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'd50d84593711b1b045cc2ff66d1efc2d71c73755', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": "New chat", onClick: this.onNewChatClick }, h("slot", { key: '29dc1d8da07329d304e94d4baac0ab1104ea5815', name: "new-chat-icon" }, h(NewChatIcon, { key: '9e584349507e736f7f5c24f8fb2253ad29bbf09b' }))), h("bs-tooltip", { key: 'd99a994539368edc0aa053e474ab9aff155050ed', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "New chat")), h("span", { key: '85f4e439d95a56da740a37c41a39b3a9b7ac2f13', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'a2d0d468c03d6a83cbdfb69ca0edc30168c3f8a8', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": "History", onClick: this.onHistoryClick }, h("slot", { key: 'd6f6bd60b8931229602aaebee485cb5a1fbb8ca8', name: "history-icon" }, h(HistoryIcon, { key: 'f2de17ccd1e23077e57bd4a092d2432f854b5161' }))), h("bs-tooltip", { key: '6cce933959793a959cf288df3323ed5d8f80dba8', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "History")), h("span", { key: '019a198d91c9c93266efd1a3df823d13ea2455d4', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '748c7ac9f63d394d8a013f85bc693178b5d1fe60', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? 'Collapse' : 'Expand', "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: 'e7bb19c54f96a689884870eb197f94436c631bd0', name: "expand-icon" }, h(ExpandIcon, { key: 'e770c21561fed2547b0776d78060f2cd2183982b' }))), h("bs-tooltip", { key: '720e4491e0e4cb82a6728d59a994ba1023f35e8d', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? 'Collapse' : 'Expand')), h("span", { key: '6ebca9a63320f9c3f1c3295358ec848c63a274b1', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '276ef764a7b255ced4d65190995bd1795fc33f50', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": "Close", onClick: this.onCloseClick }, h("slot", { key: '1cd29aacd95b67709059bb302fbcc40ef06283ba', name: "close-icon" }, h(CloseIcon, { key: 'df0962e713970ed5911636bec62a172b599a6971' }))), h("bs-tooltip", { key: '840bea3c46e3fdc0abf0d26dbc2ade5ec9c6ea3e', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "Close")))));
78
78
  }
79
79
  static get is() { return "bs-chatbot-header"; }
80
80
  static get encapsulation() { return "shadow"; }
@@ -105,7 +105,7 @@ export class BsChatbotResponseAction {
105
105
  };
106
106
  render() {
107
107
  const hasSources = !!this.sourcesCount && this.sourcesCount > 0;
108
- return (h("div", { key: '580d2b0a324ade66bf1ae17b03634bf6d746b2c0', class: "bs-chatbot-response-action" }, h("button", { key: 'a623ca741c690bf3746974d7bac37efa43e5e754', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": "Like", onClick: this.onLikeClick }, h("slot", { key: '22fd030c4828821509e5e5be53fd790d4bb98aa4', name: "like-icon" }, h(ThumbsUpIcon, { key: '2a1f8e1ad10f1d3c5f76de648b9a423c463677e1' }))), h("button", { key: 'f980f7d1f3df9aefa3a125563fe555132497e390', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": "Dislike", onClick: this.onDislikeClick }, h("slot", { key: 'ceb6da0a1809e8fc2f889c3ad53cc2a480fecef5', name: "dislike-icon" }, h(ThumbsDownIcon, { key: '6b45b16449372ddc167e976791fbd0b5d7c7b897' }))), h("button", { key: 'e46e67457ee5f0f011e1f71de30c05a2ebcccd87', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": "Copy", onClick: this.onCopyClick }, h("slot", { key: 'f6173acf30c68012a2c99edc84b28955bc275d6a', name: "copy-icon" }, h(CopyIcon, { key: 'f1ca6efa24d6b65a270244a37978a0c791c2e897' }))), h("button", { key: '40a809efd3bf8d9fa1fc1975082e9d8a5dbfd55a', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": "Regenerate", onClick: this.onRegenerateClick }, h("slot", { key: 'b85d02a27fe9ba9f10e008255139a2f6221530c8', name: "regenerate-icon" }, h(RegenerateIcon, { key: '38eb20d38c90462d7b337f5f9b5e1320a8d0382b' }))), h("div", { key: '94d8abdc602ca68fc86b29c3440b5458916a9d5c', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '9684224b6e5d246011d9b07dd6a7b7e09dc38c01', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": "More options", "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("slot", { key: '2bff489b2b6df0cb072b57335e73b6b17be19b0b', name: "menu-icon" }, h(MenuIcon, { key: 'f65fd8348f6b426a0230e5248d0ecc0707169d59' }))), this.menuOpen && (h("div", { key: '8ed1d83ed4e2fcc69a638dbe8579d4e77b8a70ff', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: '7d61fb81284b9351a7beb876052024b4a8b58094', name: "menu" })))), hasSources && (h("button", { key: '8c858a645dbdaefafb27b0b799fbb64892aaae40', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: '3a9d96c3adae31db76a29d06f0a2467cd479055a', name: "sources-icon" }, h(SourcesIcon, { key: '12503e29497a08a5aaf1448d02791e735f274d09' })), h("span", { key: 'cb5a49e1892a5f5f1cfb92095514ea3b1da59c5f', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? 'source' : 'sources')))));
108
+ return (h("div", { key: '227d45ac6fa99d0c5315d765327c02ba0f0ec103', class: "bs-chatbot-response-action" }, h("button", { key: '19db04d45fbe745bd4e80264c9f8e612ed03d411', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": "Like", onClick: this.onLikeClick }, h("slot", { key: '034deacf77f82cb9b521db16be095b78522ee895', name: "like-icon" }, h(ThumbsUpIcon, { key: 'cd4d70ed2ee5d4be7916ba7f11b725f63bc29204' }))), h("button", { key: '380f16ac09380b76b7a931a7397bca0c8506207f', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": "Dislike", onClick: this.onDislikeClick }, h("slot", { key: '7f1ecd578a69c138a8b44c360d371e33bd74e4a2', name: "dislike-icon" }, h(ThumbsDownIcon, { key: 'b196af3aee600a21b5d1bf53244888c690ba0451' }))), h("button", { key: '82739cc554821af33042f4620bcd6bbcbd96e517', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": "Copy", onClick: this.onCopyClick }, h("slot", { key: 'd4b9981fb67e317a6cee54b4ef17a68fe12d7115', name: "copy-icon" }, h(CopyIcon, { key: '7ca4e99ae3f3e418a0882fcbb663dd819e4582cf' }))), h("button", { key: '0b32cb3292ebd4e75ce8a3eb418f5d5a2ab191dc', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": "Regenerate", onClick: this.onRegenerateClick }, h("slot", { key: 'ede5d996bd1e6e5fe260df4734a5749b957c6455', name: "regenerate-icon" }, h(RegenerateIcon, { key: '12ff8d4527153fa65ba5e7de866758e9fe21dece' }))), h("div", { key: '03f207b3d016b114ef2d4337e9ed1468da63e3f7', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '2e4745ace0e6d220998b17265902d2663b63e369', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": "More options", "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("slot", { key: 'fb4d12abae8d01bfc8ff0f4eb3f3888eb2c5a78e', name: "menu-icon" }, h(MenuIcon, { key: '5cd60593c9bb37fdb0ecb09d95cc1d39056cf826' }))), this.menuOpen && (h("div", { key: '33bb00b251c3aef1af17854690c30b8b27e01da1', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: 'cd848943f1c881c95a14c54f8ef01e4b0182c629', name: "menu" })))), hasSources && (h("button", { key: 'b6493094208f1716aebacb63ca6b2c0139ce34ff', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: 'dbec7bbc889f52b76b914fa5a7c19cd378829345', name: "sources-icon" }, h(SourcesIcon, { key: '0af7d81f2f9328f380a1ecf17f0e453243e0ae8f' })), h("span", { key: 'f5247563134eb5a3932110c1191edf51ef8c2f69', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? 'source' : 'sources')))));
109
109
  }
110
110
  static get is() { return "bs-chatbot-response-action"; }
111
111
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class BsChatbotSourcesDrawer {
57
57
  };
58
58
  render() {
59
59
  const displayCount = this.count ?? this.slottedCount;
60
- return (h("div", { key: 'cc40e8f428b35477177886763cabe96a2414a2b6', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '13c34662ec82fcf7537564d12be6a7c4681631c4', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: '8d82c247489192a70dd23cf7e35f08d59048e05a', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: 'b4eb825451c43a835b050edaf5ad559234a75124', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'b6503e6525dd9a3464ad7cbab2225009392ce4cc', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: '26059a165b9e8a45b1902bb82e89c2fd693dfc85', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": "Collapse sources", onClick: this.onCollapseClick }, h("slot", { key: '720e1f4baff8d3764163934134966fd25aea0097', name: "collapse-icon" }, h(CaretRightIcon, { key: '779d738da467eb380801263bcffc1935ae5e9875' })))), h("div", { key: '29279a88a3f3b76c7418522af48b4bd9e652e453', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: '85d006ab484a4427e363647b290d7a8e9229c7c6', onSlotchange: this.onSlotchange }))));
60
+ return (h("div", { key: '8d3a64121acfc35e2be62baf23ff3630a9193617', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '384e3cb1c4bca85727d6f21260490b5119f29db5', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: 'bd83473b5787fd2ca7a143c600de6fe74625ee80', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: '0c9285fa51de5f73f89c7d67786c5f4b5bde55ed', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'a3725d4b2798e07972335ee7a8024cd2f8e73f99', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: 'afb5efa705e54a464e3237475a90987d7da5f506', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": "Collapse sources", onClick: this.onCollapseClick }, h("slot", { key: '8b886a8b6c2f60a4ca07978a8367f3366455bedc', name: "collapse-icon" }, h(CaretRightIcon, { key: 'bea232b218eca7f11c43a5c8884f78b0d5569cda' })))), h("div", { key: 'a417a26fb970a77002a56b7bd91645d18793ae69', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: '018bf6454c7020b3d14122c1b9b86ae11072f1a7', onSlotchange: this.onSlotchange }))));
61
61
  }
62
62
  static get is() { return "bs-chatbot-sources-drawer"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -45,7 +45,7 @@ export class BsChatbotSuggestionButton {
45
45
  this.bsSelect.emit();
46
46
  };
47
47
  render() {
48
- return (h("button", { key: '3eed6a4eb359433fe682984f4628bdc46045f910', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: '2e5bdcd63ed01ca0235bd6f74fa40a0e9e835863' })));
48
+ return (h("button", { key: '159fda3cff7fa1295b9b9800d083706f282bbd0d', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: 'a26be73a49a140f2e3017ff91a0727f83e00b67c' })));
49
49
  }
50
50
  static get is() { return "bs-chatbot-suggestion-button"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -33,7 +33,7 @@ export class BsCheckboxSkeleton {
33
33
  * (unusual) default `bs-checkbox` itself uses. */
34
34
  size = 'lg';
35
35
  render() {
36
- return (h("span", { key: '062c3abd38665132c305089335d3eb993c910061', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": "Loading" }, h("span", { key: 'bc682511b4e316e13460186388e13aa09b77b139', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: '20dc4a2ebff2e678a990cb244359bec2f515d742', part: "label", class: "bs-checkbox-skeleton__label" })));
36
+ return (h("span", { key: '26d1c09678d3385cda9494440b116c190c0431cd', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": "Loading" }, h("span", { key: '62e597f01d199aadbbd2e725753ab82377c9b685', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: 'a36053e0d189edaae49fcf9340f28f70ed50a28b', part: "label", class: "bs-checkbox-skeleton__label" })));
37
37
  }
38
38
  static get is() { return "bs-checkbox-skeleton"; }
39
39
  static get encapsulation() { return "shadow"; }