@brandsync/wc 1.9.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 (440) hide show
  1. package/custom-elements.json +8864 -3754
  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-107b1c5d.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-7c94e6ae.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-0e39b9cc.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-6bf2f116.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-6fd7dd6a.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-33e44094.entry.js → p-2368a92e.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-29027559.entry.js → p-247e36ad.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-ae978c9a.entry.js → p-2497d128.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-fc240aa0.entry.js → p-282ddbee.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-0eed6813.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-062cfa34.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-3ec74d35.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-a09e157f.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-cfcf3f0a.entry.js → p-69c0a85d.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-9f65f998.entry.js → p-6a696161.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-8ee0153b.entry.js → p-6c6cdf77.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-051d3064.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-27bbed83.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-de7c946d.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-70f64b25.entry.js → p-a9169157.entry.js} +1 -1
  49. package/dist/brandsync-wc/{p-05c7de28.entry.js → p-afb07368.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-235ae012.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-c0a92750.entry.js +1 -0
  55. package/dist/brandsync-wc/{p-6331de9c.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-3176d1d3.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-4574a707.entry.js → p-e5daa6ca.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-c4de155c.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-114d2fd8.entry.js → p-f7d15fbe.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-a0d5a620.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 +414 -0
  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.cjs.entry.js → bs-input_3.cjs.entry.js} +74 -6
  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 +209 -0
  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 +11 -0
  131. package/dist/collection/components/bs-a11y.cmp.test.js +26 -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 +191 -0
  156. package/dist/collection/components/bs-datepicker/bs-datepicker.css +325 -0
  157. package/dist/collection/components/bs-datepicker/bs-datepicker.js +788 -0
  158. package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +64 -0
  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 +7 -4
  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.cmp.test.js +141 -0
  207. package/dist/collection/components/bs-timepicker/bs-timepicker.css +204 -0
  208. package/dist/collection/components/bs-timepicker/bs-timepicker.js +511 -0
  209. package/dist/collection/components/bs-timepicker/bs-timepicker.stories.js +44 -0
  210. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  211. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  212. package/dist/collection/components/bs-whats-new/bs-whats-new.cmp.test.js +200 -0
  213. package/dist/collection/components/bs-whats-new/bs-whats-new.css +315 -0
  214. package/dist/collection/components/bs-whats-new/bs-whats-new.js +790 -0
  215. package/dist/collection/components/bs-whats-new/bs-whats-new.stories.js +105 -0
  216. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.js +79 -0
  217. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.css +131 -0
  218. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +295 -0
  219. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.stories.js +67 -0
  220. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  221. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  222. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  223. package/dist/components/bs-accordion.js +1 -1
  224. package/dist/components/bs-ai-disclaimer.js +1 -1
  225. package/dist/components/bs-ai-greeting.js +1 -1
  226. package/dist/components/bs-ai-thinking.js +1 -1
  227. package/dist/components/bs-attachment-list.js +1 -1
  228. package/dist/components/bs-attachment.js +1 -1
  229. package/dist/components/bs-avatar.js +1 -1
  230. package/dist/components/bs-badge.js +1 -1
  231. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  232. package/dist/components/bs-breadcrumb.js +1 -1
  233. package/dist/components/bs-breadcrumbs.js +1 -1
  234. package/dist/components/bs-button-skeleton.js +1 -1
  235. package/dist/components/bs-button.js +1 -1
  236. package/dist/components/bs-card.js +1 -1
  237. package/dist/components/bs-carousel.js +1 -1
  238. package/dist/components/bs-chatbot-feedback.js +1 -1
  239. package/dist/components/bs-chatbot-header.js +1 -1
  240. package/dist/components/bs-chatbot-response-action.js +1 -1
  241. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  242. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  243. package/dist/components/bs-checkbox-skeleton.js +1 -1
  244. package/dist/components/bs-checkbox.js +1 -1
  245. package/dist/components/bs-chip-filter.js +1 -1
  246. package/dist/components/bs-chip-informative.js +1 -1
  247. package/dist/components/bs-chip-input.js +1 -1
  248. package/dist/components/bs-composer-status-banner.js +1 -1
  249. package/dist/components/bs-composer.js +1 -1
  250. package/dist/components/bs-cookie-consent.d.ts +11 -0
  251. package/dist/components/bs-cookie-consent.js +1 -0
  252. package/dist/components/bs-data-table.js +1 -1
  253. package/dist/components/bs-datepicker.d.ts +11 -0
  254. package/dist/components/bs-datepicker.js +1 -0
  255. package/dist/components/bs-dialog.js +1 -1
  256. package/dist/components/bs-error-page.d.ts +11 -0
  257. package/dist/components/bs-error-page.js +1 -0
  258. package/dist/components/bs-file-upload-item.js +1 -1
  259. package/dist/components/bs-file-upload.js +1 -1
  260. package/dist/components/bs-icon-button.js +1 -1
  261. package/dist/components/bs-icon-tile.d.ts +11 -0
  262. package/dist/components/bs-icon-tile.js +1 -0
  263. package/dist/components/bs-inline-tab.js +1 -1
  264. package/dist/components/bs-input.js +1 -1
  265. package/dist/components/bs-logo.js +1 -1
  266. package/dist/components/bs-menu-item.js +1 -1
  267. package/dist/components/bs-menu.js +1 -1
  268. package/dist/components/bs-navigation-drawer-item.js +1 -1
  269. package/dist/components/bs-navigation-drawer.js +1 -1
  270. package/dist/components/bs-navigation-header.js +1 -1
  271. package/dist/components/bs-onboarding-checklist.d.ts +11 -0
  272. package/dist/components/bs-onboarding-checklist.js +1 -0
  273. package/dist/components/bs-pagination.js +1 -1
  274. package/dist/components/bs-product-tour.d.ts +11 -0
  275. package/dist/components/bs-product-tour.js +1 -0
  276. package/dist/components/bs-progress-linear.js +1 -1
  277. package/dist/components/bs-progress.js +1 -1
  278. package/dist/components/bs-qr-code.d.ts +11 -0
  279. package/dist/components/bs-qr-code.js +1 -0
  280. package/dist/components/bs-radio.js +1 -1
  281. package/dist/components/bs-session-timeout.d.ts +11 -0
  282. package/dist/components/bs-session-timeout.js +1 -0
  283. package/dist/components/bs-slider.js +1 -1
  284. package/dist/components/bs-snackbar.js +1 -1
  285. package/dist/components/bs-source-link.js +1 -1
  286. package/dist/components/bs-stepper-step.js +1 -1
  287. package/dist/components/bs-stepper.js +1 -1
  288. package/dist/components/bs-switch.js +1 -1
  289. package/dist/components/bs-tab.js +1 -1
  290. package/dist/components/bs-tabs.js +1 -1
  291. package/dist/components/bs-timepicker.d.ts +11 -0
  292. package/dist/components/bs-timepicker.js +1 -0
  293. package/dist/components/bs-toast.js +1 -1
  294. package/dist/components/bs-tooltip.js +1 -1
  295. package/dist/components/bs-whats-new-entry.d.ts +11 -0
  296. package/dist/components/bs-whats-new-entry.js +1 -0
  297. package/dist/components/bs-whats-new.d.ts +11 -0
  298. package/dist/components/bs-whats-new.js +1 -0
  299. package/dist/components/index.js +1 -1
  300. package/dist/components/{p-R2MlkUzD.js → p-BEEoVNRu.js} +1 -1
  301. package/dist/components/{p-EtXc94lJ.js → p-BZ3M4lOU.js} +1 -1
  302. package/dist/components/p-B_I4UEMp.js +1 -0
  303. package/dist/components/{p-BfEyD6Ku.js → p-Be9L4_Fe.js} +1 -1
  304. package/dist/components/p-Be_Pmccm.js +1 -0
  305. package/dist/components/p-Bl_tVzeq.js +1 -0
  306. package/dist/components/p-C8yT2Ucq.js +1 -0
  307. package/dist/components/p-CA31vqjL.js +1 -0
  308. package/dist/components/p-CUfs0ROR.js +1 -0
  309. package/dist/components/{p-JYlmcxBn.js → p-CVrEuVFo.js} +1 -1
  310. package/dist/components/{p-BA3c9Rom.js → p-C_j_jDM6.js} +1 -1
  311. package/dist/components/p-CbimDNGY.js +1 -0
  312. package/dist/components/{p-Buly0d5G.js → p-CeUK3n7D.js} +1 -1
  313. package/dist/components/p-CncySD_-.js +1 -0
  314. package/dist/components/p-DE8K7fg0.js +1 -0
  315. package/dist/components/p-Dr0Qk9Zc.js +1 -0
  316. package/dist/components/p-DuLL7Ouw.js +1 -0
  317. package/dist/components/p-YsHQLXET.js +1 -0
  318. package/dist/components/p-qmS2CBqi.js +1 -0
  319. package/dist/components/{p-BoeorHNv.js → p-zTHlbyH6.js} +1 -1
  320. package/dist/esm/brandsync-wc.js +3 -3
  321. package/dist/esm/bs-accordion.entry.js +1 -1
  322. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  323. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  324. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  325. package/dist/esm/bs-attachment-list.entry.js +2 -2
  326. package/dist/esm/bs-attachment.entry.js +1 -1
  327. package/dist/esm/bs-avatar.entry.js +1 -1
  328. package/dist/esm/bs-badge.entry.js +1 -1
  329. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  330. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  331. package/dist/esm/bs-breadcrumbs.entry.js +2 -2
  332. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  333. package/dist/esm/bs-button.entry.js +3 -3
  334. package/dist/esm/bs-card.entry.js +3 -3
  335. package/dist/esm/bs-carousel.entry.js +1 -1
  336. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  337. package/dist/esm/bs-chatbot-header.entry.js +2 -2
  338. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  339. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  340. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  341. package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
  342. package/dist/esm/bs-checkbox.entry.js +1 -1
  343. package/dist/esm/bs-chip-filter.entry.js +1 -1
  344. package/dist/esm/bs-chip-informative.entry.js +1 -1
  345. package/dist/esm/bs-chip-input.entry.js +1 -1
  346. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  347. package/dist/esm/bs-composer.entry.js +1 -1
  348. package/dist/esm/bs-cookie-consent.entry.js +184 -0
  349. package/dist/esm/bs-data-table.entry.js +1 -1
  350. package/dist/esm/bs-datepicker.entry.js +412 -0
  351. package/dist/esm/bs-dialog.entry.js +1 -1
  352. package/dist/esm/bs-error-page.entry.js +101 -0
  353. package/dist/esm/bs-file-upload-item.entry.js +2 -2
  354. package/dist/esm/bs-file-upload.entry.js +2 -2
  355. package/dist/esm/bs-icon-button.entry.js +2 -2
  356. package/dist/esm/bs-icon-tile.entry.js +50 -0
  357. package/dist/esm/bs-inline-tab.entry.js +2 -2
  358. package/dist/esm/{bs-input.entry.js → bs-input_3.entry.js} +73 -7
  359. package/dist/esm/bs-logo.entry.js +1 -1
  360. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  361. package/dist/esm/bs-navigation-drawer.entry.js +3 -3
  362. package/dist/esm/bs-navigation-header.entry.js +2 -2
  363. package/dist/esm/bs-onboarding-checklist.entry.js +159 -0
  364. package/dist/esm/bs-pagination.entry.js +2 -2
  365. package/dist/esm/bs-product-tour.entry.js +76 -0
  366. package/dist/esm/bs-progress-linear.entry.js +4 -4
  367. package/dist/esm/bs-progress.entry.js +3 -3
  368. package/dist/esm/bs-qr-code.entry.js +146 -0
  369. package/dist/esm/bs-radio.entry.js +2 -2
  370. package/dist/esm/bs-session-timeout.entry.js +213 -0
  371. package/dist/esm/bs-slider.entry.js +2 -2
  372. package/dist/esm/bs-snackbar.entry.js +9 -3
  373. package/dist/esm/bs-source-link.entry.js +3 -3
  374. package/dist/esm/bs-stepper-step.entry.js +2 -2
  375. package/dist/esm/bs-stepper.entry.js +2 -2
  376. package/dist/esm/bs-switch.entry.js +2 -2
  377. package/dist/esm/bs-tab_3.entry.js +251 -0
  378. package/dist/esm/bs-timepicker.entry.js +207 -0
  379. package/dist/esm/bs-toast.entry.js +2 -2
  380. package/dist/esm/bs-tooltip.entry.js +2 -2
  381. package/dist/esm/bs-whats-new.entry.js +142 -0
  382. package/dist/esm/{index-AgoOSYvW.js → index-DqQRXQMx.js} +15 -3
  383. package/dist/esm/loader.js +3 -3
  384. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +3 -0
  385. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.cmp.test.d.ts +1 -0
  386. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.d.ts +136 -0
  387. package/dist/types/components/bs-cookie-consent/bs-cookie-consent.stories.d.ts +16 -0
  388. package/dist/types/components/bs-datepicker/bs-datepicker.cmp.test.d.ts +1 -0
  389. package/dist/types/components/bs-datepicker/bs-datepicker.d.ts +138 -0
  390. package/dist/types/components/bs-datepicker/bs-datepicker.stories.d.ts +20 -0
  391. package/dist/types/components/bs-error-page/bs-error-page.cmp.test.d.ts +1 -0
  392. package/dist/types/components/bs-error-page/bs-error-page.d.ts +60 -0
  393. package/dist/types/components/bs-error-page/bs-error-page.stories.d.ts +22 -0
  394. package/dist/types/components/bs-icon-tile/bs-icon-tile.cmp.test.d.ts +1 -0
  395. package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +40 -0
  396. package/dist/types/components/bs-icon-tile/bs-icon-tile.stories.d.ts +13 -0
  397. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.cmp.test.d.ts +1 -0
  398. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.d.ts +140 -0
  399. package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.d.ts +18 -0
  400. package/dist/types/components/bs-product-tour/bs-product-tour.cmp.test.d.ts +1 -0
  401. package/dist/types/components/bs-product-tour/bs-product-tour.d.ts +78 -0
  402. package/dist/types/components/bs-product-tour/bs-product-tour.stories.d.ts +19 -0
  403. package/dist/types/components/bs-qr-code/bs-qr-code.cmp.test.d.ts +1 -0
  404. package/dist/types/components/bs-qr-code/bs-qr-code.d.ts +124 -0
  405. package/dist/types/components/bs-qr-code/bs-qr-code.stories.d.ts +28 -0
  406. package/dist/types/components/bs-session-timeout/bs-session-timeout.cmp.test.d.ts +1 -0
  407. package/dist/types/components/bs-session-timeout/bs-session-timeout.d.ts +141 -0
  408. package/dist/types/components/bs-session-timeout/bs-session-timeout.stories.d.ts +19 -0
  409. package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +7 -0
  410. package/dist/types/components/bs-timepicker/bs-timepicker.cmp.test.d.ts +1 -0
  411. package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +103 -0
  412. package/dist/types/components/bs-timepicker/bs-timepicker.stories.d.ts +14 -0
  413. package/dist/types/components/bs-whats-new/bs-whats-new.cmp.test.d.ts +1 -0
  414. package/dist/types/components/bs-whats-new/bs-whats-new.d.ts +147 -0
  415. package/dist/types/components/bs-whats-new/bs-whats-new.stories.d.ts +14 -0
  416. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.d.ts +1 -0
  417. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.d.ts +53 -0
  418. package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.stories.d.ts +18 -0
  419. package/dist/types/components.d.ts +3072 -17
  420. package/package.json +1 -1
  421. package/dist/brandsync-wc/p-2891d40b.entry.js +0 -1
  422. package/dist/brandsync-wc/p-36bf37d9.entry.js +0 -1
  423. package/dist/brandsync-wc/p-3b64e3cd.entry.js +0 -1
  424. package/dist/brandsync-wc/p-4e5dcaff.entry.js +0 -1
  425. package/dist/brandsync-wc/p-7b00dd36.entry.js +0 -1
  426. package/dist/brandsync-wc/p-c10d2529.entry.js +0 -1
  427. package/dist/brandsync-wc/p-f006d962.entry.js +0 -1
  428. package/dist/brandsync-wc/p-f074f94e.entry.js +0 -1
  429. package/dist/brandsync-wc/p-f7d47c17.entry.js +0 -1
  430. package/dist/brandsync-wc/p-fddc7bd1.entry.js +0 -1
  431. package/dist/cjs/bs-menu-item.cjs.entry.js +0 -34
  432. package/dist/cjs/bs-menu.cjs.entry.js +0 -39
  433. package/dist/cjs/bs-tab.cjs.entry.js +0 -88
  434. package/dist/cjs/bs-tabs.cjs.entry.js +0 -133
  435. package/dist/components/p-CpUHnsq9.js +0 -1
  436. package/dist/components/p-wei0Ija2.js +0 -1
  437. package/dist/esm/bs-menu-item.entry.js +0 -32
  438. package/dist/esm/bs-menu.entry.js +0 -37
  439. package/dist/esm/bs-tab.entry.js +0 -86
  440. package/dist/esm/bs-tabs.entry.js +0 -131
@@ -0,0 +1,136 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type BsCookieConsentType = 'banner' | 'card' | 'preferences' | 'saved';
3
+ export interface BsCookieCategory {
4
+ /** Identifier, used as the key in `choices`. */
5
+ id: string;
6
+ label: string;
7
+ description?: string;
8
+ /** Always on and can't be switched off (strictly necessary cookies). Shows an "Always on" badge instead of a switch. */
9
+ required?: boolean;
10
+ /** Initial state of the switch. Ignored for `required` categories (always on). */
11
+ enabled?: boolean;
12
+ /** The cookies in this category, shown under a "See N cookies" disclosure. */
13
+ cookies?: string[];
14
+ }
15
+ export type BsCookieChoices = Record<string, boolean>;
16
+ /**
17
+ * A cookie consent prompt in four forms, matching the Figma "Cookie consent" component:
18
+ *
19
+ * - `banner` -- a wide bar: icon, heading, text, policy link, and Customise / Reject optional / Accept
20
+ * all. Stacks into a column on narrow containers (its own width, not the viewport's).
21
+ * - `card` -- the compact version of the same question, in a card.
22
+ * - `preferences` -- the detailed dialog: one row per cookie category with a switch (strictly
23
+ * necessary is "Always on"), an expandable list of the cookies in each, and Reject optional /
24
+ * Accept all / Save choices.
25
+ * - `saved` -- a dark confirmation bar ("Cookie choices saved") with a Change action.
26
+ *
27
+ * The component only collects the choice. It doesn't set, read or delete cookies, remember that the
28
+ * user answered, or decide when to show itself: your app does that from the events, and swaps `type`
29
+ * (e.g. `banner` -> `preferences` on `bsCustomise`, `preferences` -> `saved` on `bsSave`).
30
+ *
31
+ * **Built from:** `bs-card` (the surface), `bs-icon-tile` (the icon), `bs-button` (the actions),
32
+ * `bs-switch` (the category switches), `bs-chip-informative` (the "Always on" badge), `bs-icon-button`
33
+ * (the close button), `bs-snackbar` (the saved confirmation).
34
+ *
35
+ * ## When to use
36
+ * - Asking for consent to optional cookies or similar tracking, as the law of your market requires.
37
+ *
38
+ * ## When not to use
39
+ * - Telling people about necessary cookies only -- that needs no consent prompt.
40
+ *
41
+ * ## Fair choice
42
+ * "Reject optional" has the same prominence as "Accept all" (same size, both always visible). Keep it
43
+ * that way: a prompt that makes refusing harder than accepting isn't valid consent in most places.
44
+ *
45
+ * @slot icon - Replaces the cookie glyph in the icon tile. Draw it with `currentColor`.
46
+ * @part container - The card (or the snackbar, for `saved`).
47
+ * @part art - The icon tile.
48
+ * @part heading - The heading.
49
+ * @part description - The paragraph under it.
50
+ * @part policy - The cookie policy link.
51
+ * @part actions - The row of consent buttons.
52
+ * @part customise - The Customise button.
53
+ * @part reject - The Reject optional button.
54
+ * @part accept - The Accept all button.
55
+ * @part save - The Save choices button (`preferences`).
56
+ * @part close - The close button (`preferences`).
57
+ * @part category - Each cookie category (`preferences`).
58
+ * @part switch - Each category's switch (`preferences`).
59
+ */
60
+ export declare class BsCookieConsent {
61
+ /** Which form: `banner`, `card`, `preferences` or `saved`. */
62
+ type: BsCookieConsentType;
63
+ /** Heading. Defaults per `type`. */
64
+ heading?: string;
65
+ /** HTML heading level, 1-6. */
66
+ headingLevel: number;
67
+ /** Paragraph under the heading (the message, for `saved`). Defaults per `type`. */
68
+ description?: string;
69
+ /** URL of your cookie policy. The "Read the cookie policy" link is only shown when this is set. */
70
+ policyUrl?: string;
71
+ /** Text of the policy link. */
72
+ policyLabel: string;
73
+ /** Label of the Customise button. */
74
+ customiseLabel: string;
75
+ /** Label of the Reject optional button. */
76
+ rejectLabel: string;
77
+ /** Label of the Accept all button. */
78
+ acceptLabel: string;
79
+ /** Label of the Save choices button (`preferences`). */
80
+ saveLabel: string;
81
+ /** Label of the action on the confirmation (`saved`). */
82
+ changeLabel: string;
83
+ /** Text of the badge on required categories (`preferences`). */
84
+ alwaysOnLabel: string;
85
+ /** Label of a category's disclosure; `{count}` is replaced by the number of cookies. */
86
+ seeCookiesLabel: string;
87
+ /** Accessible name of the close button (`preferences`). */
88
+ closeLabel: string;
89
+ /** The categories in the preferences dialog (`preferences`): `[{ id, label, description?, required?,
90
+ * enabled?, cookies? }]`. Defaults to Strictly necessary, Preferences, Analytics and Marketing. Must
91
+ * be set as a JS property, not an HTML attribute -- see CONVENTIONS.md's non-string props rule. */
92
+ categories: BsCookieCategory[];
93
+ /** Fires when Accept all is pressed. `{ choices }` has every category on. */
94
+ bsAccept: EventEmitter<{
95
+ choices: BsCookieChoices;
96
+ }>;
97
+ /** Fires when Reject optional is pressed. `{ choices }` has only the required categories on. */
98
+ bsReject: EventEmitter<{
99
+ choices: BsCookieChoices;
100
+ }>;
101
+ /** Fires when Customise is pressed -- show the `preferences` form. */
102
+ bsCustomise: EventEmitter<void>;
103
+ /** Fires when Save choices is pressed (`preferences`), with the current switches. */
104
+ bsSave: EventEmitter<{
105
+ choices: BsCookieChoices;
106
+ }>;
107
+ /** Fires when a category switch is toggled (`preferences`). */
108
+ bsChoice: EventEmitter<{
109
+ id: string;
110
+ enabled: boolean;
111
+ }>;
112
+ /** Fires when the close button is pressed (`preferences`). */
113
+ bsClose: EventEmitter<void>;
114
+ /** Fires when the action on the confirmation is pressed (`saved`) -- reopen the preferences. */
115
+ bsManage: EventEmitter<void>;
116
+ /** Current switch state per category id. */
117
+ choices: BsCookieChoices;
118
+ /** Which category disclosures are open. */
119
+ open: Record<string, boolean>;
120
+ componentWillLoad(): void;
121
+ onCategoriesChange(): void;
122
+ private resetChoices;
123
+ private all;
124
+ private get defaults();
125
+ private heading_;
126
+ private policy;
127
+ private customise;
128
+ private reject;
129
+ private accept;
130
+ private renderBanner;
131
+ private renderCard;
132
+ private renderCategory;
133
+ private renderPreferences;
134
+ private renderSaved;
135
+ render(): any;
136
+ }
@@ -0,0 +1,16 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsCookieConsentArgs {
3
+ type: 'banner' | 'card' | 'preferences' | 'saved';
4
+ heading: string;
5
+ description: string;
6
+ policyUrl: string;
7
+ }
8
+ declare const meta: Meta<BsCookieConsentArgs>;
9
+ export default meta;
10
+ type Story = StoryObj<BsCookieConsentArgs>;
11
+ export declare const Banner: Story;
12
+ export declare const BannerNarrow: Story;
13
+ export declare const CompactCard: Story;
14
+ export declare const PreferencesDialog: Story;
15
+ export declare const SavedConfirmation: Story;
16
+ export declare const Flow: Story;
@@ -0,0 +1,138 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export interface BsDatepickerChange {
3
+ /** Single mode: the selected date as `YYYY-MM-DD` (empty string when cleared). */
4
+ value?: string;
5
+ /** Range mode: the range start as `YYYY-MM-DD`. */
6
+ start?: string;
7
+ /** Range mode: the range end as `YYYY-MM-DD`. Empty while only the start has been picked. */
8
+ end?: string;
9
+ }
10
+ /**
11
+ * An inline calendar for picking a single date, or a start/end date range. Matches the Figma
12
+ * "Date picker" component's two types: "Default" (month and year dropdowns above the grid) and
13
+ * "Range" (start and end date fields above the grid, with the days between highlighted).
14
+ *
15
+ * Dates are always `YYYY-MM-DD` strings, interpreted in the user's local time zone -- never full
16
+ * ISO timestamps -- so a date can't shift by a day across time zones.
17
+ *
18
+ * The calendar renders inline at a fixed width; to show it as a popover, put it inside a
19
+ * `bs-menu` or your own overlay.
20
+ *
21
+ * **Built from:** `bs-card` (the surface), `bs-input` (the month/year dropdown triggers and the range date fields), `bs-menu` and `bs-menu-item` (the month/year lists).
22
+ *
23
+ * ## When to use
24
+ * - Picking a date where seeing the surrounding days of the week/month helps (a booking, a
25
+ * deadline, a report window).
26
+ * - Picking a period (`range`) such as a start and end date.
27
+ *
28
+ * ## When not to use
29
+ * - A date the user knows by heart and can type quickly (a birth date) -- `bs-input type="date"`
30
+ * is faster there.
31
+ *
32
+ * ## Keyboard
33
+ * Arrow keys move by day/week, Home/End jump to the start/end of the week, PageUp/PageDown move by
34
+ * month (with Shift, by year), Enter/Space select the focused day.
35
+ *
36
+ * @part container - The outer card.
37
+ * @part header - The row of month/year dropdowns (default) or start/end fields (range).
38
+ * @part menu - The month/year dropdown list, when open (default mode).
39
+ * @part nav - The row holding the previous/next buttons and the title.
40
+ * @part prev - The previous-month button.
41
+ * @part next - The next-month button.
42
+ * @part title - The title between the nav buttons.
43
+ * @part weekday - Each weekday column header.
44
+ * @part grid - The day grid.
45
+ * @part day - Each day button.
46
+ * @part selected - A selected day (the single date, or either end of a range), in addition to `day`.
47
+ * @part in-range - A day strictly between the range start and end, in addition to `day`.
48
+ * @part outside - A day from the previous/next month, in addition to `day`.
49
+ * @part today - Today's day button, in addition to `day`.
50
+ */
51
+ export declare class BsDatepicker {
52
+ el: HTMLElement;
53
+ internals: ElementInternals;
54
+ private initialValue;
55
+ private initialStart;
56
+ private initialEnd;
57
+ /** The `name` the value is submitted under in a surrounding `<form>`. In `range` mode the dates
58
+ * are submitted as `<name>-start` and `<name>-end`. */
59
+ name?: string;
60
+ /** Select a start/end range instead of a single date. */
61
+ range: boolean;
62
+ /** The selected date (`YYYY-MM-DD`) in single mode. Mutable so a click updates it directly;
63
+ * `bsChange` still fires for the consumer to react. Ignored when `range` is set. */
64
+ value: string;
65
+ /** The range start (`YYYY-MM-DD`) in `range` mode. */
66
+ start: string;
67
+ /** The range end (`YYYY-MM-DD`) in `range` mode. */
68
+ end: string;
69
+ /** Earliest selectable date (`YYYY-MM-DD`). Earlier days render disabled. */
70
+ min?: string;
71
+ /** Latest selectable date (`YYYY-MM-DD`). Later days render disabled. */
72
+ max?: string;
73
+ /** BCP 47 locale used for month names, weekday names and the title. */
74
+ locale: string;
75
+ /** First column of the grid: `0` for Sunday (the Figma spec), `1` for Monday, ... `6`. */
76
+ firstDayOfWeek: number;
77
+ /** Label above the start field in `range` mode. */
78
+ startLabel: string;
79
+ /** Label above the end field in `range` mode. */
80
+ endLabel: string;
81
+ /** Accessible name for the month dropdown (single mode). */
82
+ monthLabel: string;
83
+ /** Accessible name for the year dropdown (single mode). */
84
+ yearLabel: string;
85
+ /** Accessible name for the previous-month button. */
86
+ previousLabel: string;
87
+ /** Accessible name for the next-month button. */
88
+ nextLabel: string;
89
+ /** Fires when the user changes the selection. Single mode: `{ value }`. Range mode: `{ start,
90
+ * end }` -- fired once for the first click (with an empty `end`) and again when the range is
91
+ * completed. Not fired when the props are set programmatically. */
92
+ bsChange: EventEmitter<BsDatepickerChange>;
93
+ /** First day of the month currently displayed. */
94
+ viewDate: Date;
95
+ /** The day holding the roving tabindex. */
96
+ focusedIso: string;
97
+ /** The day the pointer is over while a range is half-picked, for the live range preview. */
98
+ hoverIso: string;
99
+ /** Text the user is typing into a range field, keyed by which field. Cleared on commit. */
100
+ draft: {
101
+ start?: string;
102
+ end?: string;
103
+ };
104
+ /** Which header dropdown (single mode) is open. */
105
+ openMenu: 'month' | 'year' | null;
106
+ private shouldFocusDay;
107
+ private menuToScroll;
108
+ componentWillLoad(): void;
109
+ componentDidRender(): void;
110
+ onSelectionChange(): void;
111
+ onSelectionJump(): void;
112
+ /** Called by the browser when the surrounding `<form>` is reset. */
113
+ formResetCallback(): void;
114
+ private showSelection;
115
+ private syncFormValue;
116
+ private isDisabled;
117
+ private selectDay;
118
+ private commitDraft;
119
+ private moveView;
120
+ private onKeyDown;
121
+ private get safeFirstDay();
122
+ private get fmt();
123
+ private formatField;
124
+ private titleText;
125
+ private monthOptions;
126
+ private yearOptions;
127
+ private weekdays;
128
+ private gridDays;
129
+ private renderHeader;
130
+ /** A `bs-input type="dropdown"` trigger with our own `bs-menu` list below it. bs-input's built-in
131
+ * menu has no checkmark or scroll limit, so it's used only as the field look: it gets no
132
+ * `options` (so renders no menu of its own) and its `bsOpen` toggles ours. */
133
+ private renderDropdown;
134
+ render(): any;
135
+ /** The day that should be reachable with Tab when nothing in view has been focused yet: the
136
+ * selection if it's in the displayed month, else today if it is, else the 1st. */
137
+ private defaultTabbable;
138
+ }
@@ -0,0 +1,20 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsDatepickerArgs {
3
+ range: boolean;
4
+ value: string;
5
+ start: string;
6
+ end: string;
7
+ min: string;
8
+ max: string;
9
+ locale: string;
10
+ firstDayOfWeek: number;
11
+ }
12
+ declare const meta: Meta<BsDatepickerArgs>;
13
+ export default meta;
14
+ type Story = StoryObj<BsDatepickerArgs>;
15
+ export declare const Default: Story;
16
+ export declare const Range: Story;
17
+ export declare const RangeAcrossWeeks: Story;
18
+ export declare const MinMax: Story;
19
+ export declare const MondayFirst: Story;
20
+ export declare const Danish: Story;
@@ -0,0 +1,60 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type BsErrorPageType = 'not-found' | 'server-error' | 'no-access' | 'maintenance' | 'offline';
3
+ /**
4
+ * A full-block page for when the user can't get to what they asked for: page not found (404), a server
5
+ * error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
6
+ * "Error page" component's five states.
7
+ *
8
+ * Each `type` brings its own icon, tint, code label ("404", "Maintenance", ...), heading, paragraph and
9
+ * buttons, all overridable by props. The component doesn't navigate or retry anything: it emits
10
+ * `bsPrimary` / `bsSecondary` and your app decides what "Go to Overview" or "Try again" does.
11
+ *
12
+ * **Built from:** `bs-card` (the surface), `bs-icon-tile` (the icon), `bs-button` (the actions).
13
+ *
14
+ * ## When to use
15
+ * - Replacing the content of a page or panel that can't be shown, with a clear way forward.
16
+ *
17
+ * ## When not to use
18
+ * - A problem with one field or one action -- use inline validation or a `bs-snackbar`.
19
+ * - A blocking question the user must answer -- use `bs-dialog`.
20
+ *
21
+ * @slot icon - Replaces the default glyph in the icon tile. Draw it with `currentColor`.
22
+ * @part container - The card.
23
+ * @part art - The icon tile.
24
+ * @part code - The label under the icon ("404", "Maintenance", ...).
25
+ * @part heading - The heading.
26
+ * @part description - The paragraph.
27
+ * @part actions - The button row.
28
+ * @part primary - The primary button.
29
+ * @part secondary - The secondary button.
30
+ * @part reference - The small reference line (an error id and time).
31
+ */
32
+ export declare class BsErrorPage {
33
+ /** Which error: `not-found` (404), `server-error` (500), `no-access` (403), `maintenance` or
34
+ * `offline`. */
35
+ type: BsErrorPageType;
36
+ /** The small label under the icon, e.g. "404". Defaults per `type` ("404", "500", "403",
37
+ * "Maintenance", "Offline"). Set it to an empty string to hide it. */
38
+ code?: string;
39
+ /** Heading. Defaults per `type`. */
40
+ heading?: string;
41
+ /** HTML heading level for the heading, 1-6. Use 1 when this replaces the whole page; lower when it
42
+ * sits inside a section that already has a heading above it. */
43
+ headingLevel: number;
44
+ /** Paragraph under the heading. Defaults per `type`. */
45
+ description?: string;
46
+ /** Label of the primary button. Defaults per `type`. Set it to an empty string to hide it. */
47
+ primaryLabel?: string;
48
+ /** Label of the secondary button. Defaults per `type` (only `not-found`, `server-error` and
49
+ * `no-access` have one). Set it to an empty string to hide it. */
50
+ secondaryLabel?: string;
51
+ /** A small reference line under the buttons, e.g. `"Error ID: 7f3c-21a9 · 30.09.2026 10:42"`, for
52
+ * support to look up. Nothing is shown when empty. */
53
+ reference?: string;
54
+ /** Fires when the primary button is pressed. */
55
+ bsPrimary: EventEmitter<void>;
56
+ /** Fires when the secondary button is pressed. */
57
+ bsSecondary: EventEmitter<void>;
58
+ private get defaults();
59
+ render(): any;
60
+ }
@@ -0,0 +1,22 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ type ErrorType = 'not-found' | 'server-error' | 'no-access' | 'maintenance' | 'offline';
3
+ interface BsErrorPageArgs {
4
+ type: ErrorType;
5
+ code: string;
6
+ heading: string;
7
+ description: string;
8
+ primaryLabel: string;
9
+ secondaryLabel: string;
10
+ reference: string;
11
+ headingLevel: number;
12
+ }
13
+ declare const meta: Meta<BsErrorPageArgs>;
14
+ export default meta;
15
+ type Story = StoryObj<BsErrorPageArgs>;
16
+ export declare const NotFound: Story;
17
+ export declare const ServerError: Story;
18
+ export declare const NoAccess: Story;
19
+ export declare const Maintenance: Story;
20
+ export declare const Offline: Story;
21
+ export declare const CustomCopy: Story;
22
+ export declare const CustomIcon: Story;
@@ -0,0 +1,40 @@
1
+ export type BsIconTileSize = 'sm' | 'md' | 'lg';
2
+ export type BsIconTileIntent = 'default' | 'success' | 'warning' | 'error' | 'brand' | 'information';
3
+ /**
4
+ * A small rounded square holding an icon, tinted by intent -- the visual marker next to a status,
5
+ * a list item or a feature. Matches the Figma "Icon tile" component (3 sizes x 6 intents).
6
+ *
7
+ * Each intent shows a default glyph (house, check, warning, cross, grid, info); put your own icon in
8
+ * the default slot to replace it. A slotted icon is sized to the tile (12/16/24px) and coloured
9
+ * with the intent's icon colour, as long as it draws with `currentColor`.
10
+ *
11
+ * The tile is decorative by default (hidden from assistive tech). Don't rely on the colour or glyph
12
+ * alone to convey status: slot text into `text` (it sits beside the square, in
13
+ * `--bs-icon-tile-text-color`), or set `label` to give the tile its own accessible name.
14
+ *
15
+ * ## When to use
16
+ * - Marking a row, card or message with a status or category icon.
17
+ *
18
+ * ## When not to use
19
+ * - As a button -- it isn't interactive. Use `bs-icon-button`.
20
+ *
21
+ * @slot - Optional icon replacing the intent's default glyph.
22
+ * @slot text - Optional text shown beside the square (e.g. "Payment received"), in `--bs-icon-tile-text-color`.
23
+ * @part container - The tinted square.
24
+ * @part icon - The wrapper around the glyph (default or slotted).
25
+ * @part text - The wrapper around the `text` slot (only shown when something is slotted).
26
+ */
27
+ export declare class BsIconTile {
28
+ /** Tile size: `sm` 24px, `md` 32px, `lg` 48px. */
29
+ size: BsIconTileSize;
30
+ /** Colour and default glyph. `brand` uses the brand colours; `information` the info palette. */
31
+ intent: BsIconTileIntent;
32
+ /** Accessible name. When set, the tile is exposed as an image with this name; when empty it is
33
+ * decorative and hidden from assistive tech. */
34
+ label?: string;
35
+ /** True while the default slot holds a real element or non-blank text (a custom icon), not just whitespace. */
36
+ hasCustomIcon: boolean;
37
+ /** True while something is assigned to the `text` slot, so the text wrapper (and its gap) only exists then. */
38
+ hasText: boolean;
39
+ render(): any[];
40
+ }
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsIconTileArgs {
3
+ size: 'sm' | 'md' | 'lg';
4
+ intent: 'default' | 'success' | 'warning' | 'error' | 'brand' | 'information';
5
+ label: string;
6
+ }
7
+ declare const meta: Meta<BsIconTileArgs>;
8
+ export default meta;
9
+ type Story = StoryObj<BsIconTileArgs>;
10
+ export declare const Default: Story;
11
+ export declare const AllSizesAndIntents: Story;
12
+ export declare const CustomIcon: Story;
13
+ export declare const WithText: Story;
@@ -0,0 +1,140 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type BsOnboardingChecklistType = 'panel' | 'dashboard' | 'launcher' | 'completion';
3
+ export type BsOnboardingLauncherLayout = 'icon' | 'ring' | 'inline';
4
+ export interface BsOnboardingStep {
5
+ /** Identifier echoed back in the step events, and used for the `icon-<id>` slot. */
6
+ id: string;
7
+ label: string;
8
+ /** Longer text shown under the label while this is the current step. */
9
+ description?: string;
10
+ /** Marks the step as finished. */
11
+ done?: boolean;
12
+ /** Time estimate shown on the current step, e.g. "About 3 min". */
13
+ estimate?: string;
14
+ /** Label of the current step's primary button (`panel`), e.g. "Connect bank". */
15
+ actionLabel?: string;
16
+ /** Set to `false` to hide "Skip for now" on this step. */
17
+ skippable?: boolean;
18
+ }
19
+ /**
20
+ * A "get set up" checklist, in four forms that matching the Figma "Onboarding checklist" component:
21
+ *
22
+ * - `panel` -- the full list: heading, progress, every step with a status icon, and the current step
23
+ * expanded with its description, time estimate, Skip for now and a primary action.
24
+ * - `dashboard` -- a wide card for the top of a page: summary and progress on the left, the current step
25
+ * and the next ones as small cards on the right, and a "See all steps" link.
26
+ * - `launcher` -- a small always-visible chip that reopens the checklist; three layouts (`icon`, `ring`,
27
+ * `inline`).
28
+ * - `completion` -- the "You're all set" card once every step is done.
29
+ *
30
+ * The component shows progress and reports what the user pressed. It doesn't know what a step means,
31
+ * run it, or remember anything: your app owns the steps (`steps`, each with `done`), marks them done, and
32
+ * decides which form to show.
33
+ *
34
+ * **Built from:** `bs-card` (every surface), `bs-icon-tile` (the icons), `bs-button` (the actions),
35
+ * `bs-icon-button` (the close button), `bs-progress-linear` (the progress bar), `bs-progress` (the launcher
36
+ * ring).
37
+ *
38
+ * ## When to use
39
+ * - Guiding a new account or user through a short list of setup tasks they can do in any order or later.
40
+ *
41
+ * ## When not to use
42
+ * - A strict, linear flow where each step needs the one before -- use `bs-stepper`.
43
+ * - A tour of the interface itself -- use `bs-product-tour`.
44
+ *
45
+ * ## Accessibility
46
+ * Steps are an ordered list; the current one has `aria-current="step"`, and each step carries a visually
47
+ * hidden "Done" / "Not done". The progress bar is named with the progress text.
48
+ *
49
+ * @slot icon - Replaces the icon in the heading tile (`panel`, `dashboard`, `launcher`).
50
+ * @slot icon-<step id> - Replaces the icon of that step in the `dashboard` cards, e.g. `slot="icon-bank"`.
51
+ * @part container - The card (or the launcher button's card).
52
+ * @part art - The heading icon tile.
53
+ * @part heading - The heading.
54
+ * @part description - The paragraph under it.
55
+ * @part progress - The progress block (label, percentage, bar).
56
+ * @part steps - The list of steps (`panel`).
57
+ * @part step - Each step row (`panel`) or card (`dashboard`).
58
+ * @part current - The current step, in addition to `step`.
59
+ * @part action - The current step's primary button (`panel`) or Start link (`dashboard`).
60
+ * @part skip - The current step's Skip for now button (`panel`).
61
+ * @part close - The close button.
62
+ * @part see-all - The "See all steps" link (`dashboard`).
63
+ * @part launcher - The launcher button (`launcher`).
64
+ * @part primary - The main button (`completion`).
65
+ * @part secondary - The Hide checklist button (`completion`).
66
+ */
67
+ export declare class BsOnboardingChecklist {
68
+ /** Which form: `panel`, `dashboard`, `launcher` or `completion`. */
69
+ type: BsOnboardingChecklistType;
70
+ /** Layout of the `launcher`: `icon` (tile, title, progress text), `ring` (circular progress, title,
71
+ * text) or `inline` (tile, title and text on one line, with a chevron). */
72
+ launcherLayout: BsOnboardingLauncherLayout;
73
+ /** The steps: `[{ id, label, description?, done?, estimate?, actionLabel?, skippable? }]`. The first step
74
+ * that isn't `done` is the current one. Must be set as a JS property, not an HTML attribute -- see
75
+ * CONVENTIONS.md's non-string props rule. */
76
+ steps: BsOnboardingStep[];
77
+ /** Heading. Defaults per `type` ("Get started", "Finish setting up", "Setup", "You're all set"). */
78
+ heading?: string;
79
+ /** Paragraph under the heading. Defaults to a summary of the progress for `dashboard`. Nothing for
80
+ * `launcher`. */
81
+ description?: string;
82
+ /** HTML heading level, 1-6. */
83
+ headingLevel: number;
84
+ /** Text under the launcher title. Defaults to "N% complete". */
85
+ progressText?: string;
86
+ /** Shows a close button (`panel`, `dashboard`). */
87
+ closable: boolean;
88
+ /** Template of the progress label; `{done}` and `{total}` are replaced. */
89
+ progressLabel: string;
90
+ /** Label of "Skip for now" on the current step (`panel`). */
91
+ skipLabel: string;
92
+ /** Label of the Start link on the current step's card (`dashboard`). */
93
+ startLabel: string;
94
+ /** Label of the link that opens the whole checklist (`dashboard`). */
95
+ seeAllLabel: string;
96
+ /** Caption on the cards of steps that come after the current one (`dashboard`). */
97
+ afterLabel: string;
98
+ /** Label of the main button (`completion`). */
99
+ doneLabel: string;
100
+ /** Label of the secondary button (`completion`). */
101
+ hideLabel: string;
102
+ /** Accessible name of the close button. */
103
+ closeLabel: string;
104
+ /** Visually hidden text on a finished step. */
105
+ statusDoneLabel: string;
106
+ /** Visually hidden text on an unfinished step. */
107
+ statusTodoLabel: string;
108
+ /** Fires when a step's primary action is pressed (`panel` button, `dashboard` Start): `{ id }`. */
109
+ bsStepAction: EventEmitter<{
110
+ id: string;
111
+ }>;
112
+ /** Fires when "Skip for now" is pressed on the current step (`panel`): `{ id }`. */
113
+ bsStepSkip: EventEmitter<{
114
+ id: string;
115
+ }>;
116
+ /** Fires when the close button is pressed. */
117
+ bsClose: EventEmitter<void>;
118
+ /** Fires when the user asks to open the full checklist: "See all steps" (`dashboard`) or the launcher. */
119
+ bsOpen: EventEmitter<void>;
120
+ /** Fires when the main button is pressed (`completion`). */
121
+ bsDone: EventEmitter<void>;
122
+ /** Fires when Hide checklist is pressed (`completion`). */
123
+ bsHide: EventEmitter<void>;
124
+ private get list();
125
+ private get doneCount();
126
+ private get percent();
127
+ private get currentId();
128
+ private fill;
129
+ private renderHeading;
130
+ private renderClose;
131
+ private renderProgress;
132
+ private renderStatus;
133
+ private renderStepRow;
134
+ private renderCurrentStep;
135
+ private renderPanel;
136
+ private renderDashboard;
137
+ private renderLauncher;
138
+ private renderCompletion;
139
+ render(): any;
140
+ }
@@ -0,0 +1,18 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ interface BsOnboardingChecklistArgs {
3
+ type: 'panel' | 'dashboard' | 'launcher' | 'completion';
4
+ launcherLayout: 'icon' | 'ring' | 'inline';
5
+ heading: string;
6
+ description: string;
7
+ closable: boolean;
8
+ }
9
+ declare const meta: Meta<BsOnboardingChecklistArgs>;
10
+ export default meta;
11
+ type Story = StoryObj<BsOnboardingChecklistArgs>;
12
+ export declare const Panel: Story;
13
+ export declare const Dashboard: Story;
14
+ export declare const LauncherIcon: Story;
15
+ export declare const LauncherRing: Story;
16
+ export declare const LauncherInline: Story;
17
+ export declare const Completion: Story;
18
+ export declare const Interactive: Story;