@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
@@ -1,86 +0,0 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-AgoOSYvW.js';
2
-
3
- const bsTabCss = () => `:host{display:inline-block;--bs-tab-radius:var(--bs-border-radius-100);--bs-tab-padding-y:var(--bs-spacing-150);--bs-tab-padding-x:var(--bs-spacing-200);--bs-tab-gap:var(--bs-spacing-75);--bs-tab-gap-vertical:var(--bs-spacing-50);--bs-tab-color-default:var(--bs-text-muted);--bs-tab-icon-color-default:var(--bs-icon-muted);--bs-tab-color-hover:var(--bs-text-default);--bs-tab-icon-color-hover:var(--bs-icon-default);--bs-tab-indicator-hover:var(--bs-border-neutral-hover);--bs-tab-color-selected:var(--bs-color-primary-default);--bs-tab-color-selected-hover:var(--bs-color-primary-hover);--bs-tab-color-selected-pressed:var(--bs-color-primary-pressed);--bs-tab-indicator-selected:var(--bs-color-primary-default);--bs-tab-indicator-selected-hover:var(--bs-color-primary-hover);--bs-tab-indicator-selected-pressed:var(--bs-color-primary-pressed);--bs-tab-focus-ring-color:var(--bs-border-neutral-focus);--bs-tab-color-disabled:var(--bs-text-on-disabled);--bs-tab-icon-color-disabled:var(--bs-icon-disabled);--bs-tab-font-size:var(--bs-font-size-md);--bs-tab-line-height:var(--bs-line-height-body-md)}.bs-tab{box-sizing:border-box;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;border:none;cursor:pointer;background:transparent;color:var(--bs-tab-color-default);font-family:inherit;border-radius:var(--bs-tab-radius);padding:var(--bs-tab-padding-y) var(--bs-tab-padding-x);gap:var(--bs-tab-gap);transition:color var(--bs-duration-fast) var(--bs-easing-standard), background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-tab--vertical{flex-direction:column;gap:var(--bs-tab-gap-vertical)}.bs-tab:focus-visible{outline:2px solid var(--bs-tab-focus-ring-color);outline-offset:2px}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active{color:var(--bs-tab-color-hover)}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover .bs-tab__icon,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible .bs-tab__icon,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active .bs-tab__icon{color:var(--bs-tab-icon-color-hover)}.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):hover .bs-tab__indicator,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):focus-visible .bs-tab__indicator,.bs-tab:not(.bs-tab--selected):not(.bs-tab--disabled):active .bs-tab__indicator{background:var(--bs-tab-indicator-hover)}.bs-tab--selected{color:var(--bs-tab-color-selected)}.bs-tab--selected .bs-tab__icon--has-content{color:var(--bs-tab-color-selected)}.bs-tab--selected .bs-tab__indicator{background:var(--bs-tab-indicator-selected)}.bs-tab--selected:not(.bs-tab--disabled):hover,.bs-tab--selected:not(.bs-tab--disabled):focus-visible{color:var(--bs-tab-color-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):hover .bs-tab__icon--has-content,.bs-tab--selected:not(.bs-tab--disabled):focus-visible .bs-tab__icon--has-content{color:var(--bs-tab-color-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):hover .bs-tab__indicator,.bs-tab--selected:not(.bs-tab--disabled):focus-visible .bs-tab__indicator{background:var(--bs-tab-indicator-selected-hover)}.bs-tab--selected:not(.bs-tab--disabled):active{color:var(--bs-tab-color-selected-pressed)}.bs-tab--selected:not(.bs-tab--disabled):active .bs-tab__icon--has-content{color:var(--bs-tab-color-selected-pressed)}.bs-tab--selected:not(.bs-tab--disabled):active .bs-tab__indicator{background:var(--bs-tab-indicator-selected-pressed)}.bs-tab--disabled{color:var(--bs-tab-color-disabled);cursor:not-allowed}.bs-tab--disabled .bs-tab__icon--has-content{color:var(--bs-tab-icon-color-disabled)}.bs-tab--disabled .bs-tab__indicator{background:transparent}.bs-tab__icon{display:none;width:24px;height:24px;flex-shrink:0;color:var(--bs-tab-icon-color-default)}.bs-tab__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-tab__icon ::slotted(svg){width:24px;height:24px}.bs-tab__label{display:none;font-size:var(--bs-tab-font-size);line-height:calc(var(--bs-tab-line-height) * 1px);white-space:nowrap}.bs-tab__label--has-content{display:inline-block}.bs-tab__badge{display:none}.bs-tab__badge--has-content{display:inline-flex;align-items:center}.bs-tab__indicator{position:absolute;inset-inline-start:var(--bs-tab-padding-x);inset-inline-end:var(--bs-tab-padding-x);bottom:0;height:2px;background:transparent;border-radius:var(--bs-border-radius-50, 2px)}`;
4
-
5
- const BsTab = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.bsSelect = createEvent(this, "bsSelect");
9
- }
10
- get el() { return getElement(this); }
11
- /** Whether this tab is the currently active one. NOT mutable and NOT self-toggling -- see the
12
- * "Known gap" note in the class JSDoc. Still reflected as an attribute so consumers/CSS can
13
- * target `bs-tab[selected]`. */
14
- selected = false;
15
- /** Disables the tab: sets the native `disabled` attribute, suppresses hover/focus styling, and
16
- * prevents clicking from emitting `bsSelect`. */
17
- disabled = false;
18
- /** Where the icon sits relative to the label, when both `icon` and the default slot are
19
- * populated. Ignored for icon-only/text-only layouts. */
20
- iconPosition = 'start';
21
- /** Accessible name for the tab. Required for icon-only usage (no visible label text via the
22
- * default slot) so screen readers still announce what the tab does -- without it, an icon-only
23
- * tab has no discernible name at all (axe-core flags this as a critical `button-name`
24
- * violation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute
25
- * automatically, same as `bs-button`'s identical prop. */
26
- ariaLabel = null;
27
- /** Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's
28
- * `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its
29
- * zero-based position in the group (`"0"`, `"1"`...). */
30
- value;
31
- /** Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the
32
- * Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays
33
- * a normal tab stop. */
34
- tabbable;
35
- /** Tracks whether the `icon` slot has assigned content. */
36
- hasIcon = false;
37
- /** Tracks whether the default (label) slot has assigned content. */
38
- hasLabel = false;
39
- /** Tracks whether the `badge` slot has assigned content. */
40
- hasBadge = false;
41
- /** Fires when the tab is clicked. Does not toggle `selected` itself -- see the class JSDoc. */
42
- bsSelect;
43
- /**
44
- * Computes the initial `hasIcon`/`hasLabel`/`hasBadge` state directly from the host's light DOM
45
- * children, before first render -- same reasoning as `bs-button.componentWillLoad` (a slot with
46
- * zero assigned nodes from the start never fires `slotchange`).
47
- */
48
- componentWillLoad() {
49
- this.hasIcon = this.hasSlottedContent('icon');
50
- this.hasLabel = this.hasSlottedContent(null);
51
- this.hasBadge = this.hasSlottedContent('badge');
52
- }
53
- hasSlottedContent(slotName) {
54
- return Array.from(this.el.childNodes).some(node => {
55
- if (node.nodeType === Node.ELEMENT_NODE) {
56
- return node.getAttribute('slot') === slotName;
57
- }
58
- // Only elements can carry a `slot` attribute -- any other node type (text, comments) can
59
- // only ever be assigned to the default slot.
60
- return slotName === null;
61
- });
62
- }
63
- onIconSlotchange = (ev) => {
64
- this.hasIcon = ev.target.assignedNodes().length > 0;
65
- };
66
- onLabelSlotchange = (ev) => {
67
- this.hasLabel = ev.target.assignedNodes().length > 0;
68
- };
69
- onBadgeSlotchange = (ev) => {
70
- this.hasBadge = ev.target.assignedNodes().length > 0;
71
- };
72
- onClick = () => {
73
- if (this.disabled)
74
- return;
75
- this.bsSelect.emit();
76
- };
77
- render() {
78
- const iconOnly = this.hasIcon && !this.hasLabel;
79
- const vertical = this.hasIcon && this.hasLabel && this.iconPosition === 'top';
80
- const showBadge = this.hasBadge && !iconOnly && !vertical;
81
- return (h("button", { key: '87234360dfed766afe447c3e8f037d8b59868a15', type: "button", part: "tab", role: "tab", class: `bs-tab ${this.selected ? 'bs-tab--selected' : ''} ${this.disabled ? 'bs-tab--disabled' : ''} ${iconOnly ? 'bs-tab--icon-only' : ''} ${vertical ? 'bs-tab--vertical' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, tabIndex: this.tabbable === undefined ? undefined : this.tabbable ? 0 : -1, onClick: this.onClick }, h("span", { key: 'cecdf03d52896828f098956a25342209c0244f39', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, h("slot", { key: 'f4bbc1ac9ee7df0db6cb393c69b43227add0db3e', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'c14726bc5b6f47d0a96fdf5807a2dd7b2466a27f', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, h("slot", { key: '88936beb454b7fa0b9d1c67d39e812f86e89ae56', onSlotchange: this.onLabelSlotchange })), h("span", { key: 'a32984bfa7879e702748171fc51a4679b58d0b8b', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, h("slot", { key: 'ad516087badafb57ff4df818d0b9a100373f205e', name: "badge", onSlotchange: this.onBadgeSlotchange })), h("span", { key: '30e25441bd650875ce8b6dd97befc1053c40ca47', part: "indicator", class: "bs-tab__indicator" })));
82
- }
83
- };
84
- BsTab.style = bsTabCss();
85
-
86
- export { BsTab as bs_tab };
@@ -1,131 +0,0 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-AgoOSYvW.js';
2
-
3
- const bsTabsCss = () => `:host{display:inline-block;--bs-tabs-tab-gap:var(--bs-spacing-100);--bs-tabs-inline-tab-bg:var(--bs-color-neutral-container);--bs-tabs-inline-tab-padding-x:var(--bs-spacing-50);--bs-tabs-inline-tab-radius:var(--bs-border-radius-full);--bs-tabs-inline-tab-gap:var(--bs-spacing-50)}.bs-tabs{display:inline-flex;align-items:center}.bs-tabs--vertical{display:flex;flex-direction:column;align-items:flex-start}.bs-tabs--bs-tab{gap:var(--bs-tabs-tab-gap)}.bs-tabs--bs-inline-tab{background:var(--bs-tabs-inline-tab-bg);padding:0 var(--bs-tabs-inline-tab-padding-x);border-radius:var(--bs-tabs-inline-tab-radius);gap:var(--bs-tabs-inline-tab-gap)}`;
4
-
5
- const BsTabs = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.bsChange = createEvent(this, "bsChange");
9
- }
10
- get el() { return getElement(this); }
11
- /** Which tab-button family this group wraps. Governs the wrapper's own visual treatment (gap-only
12
- * for `bs-tab`, a filled pill bar for `bs-inline-tab`). Not reflected as an attribute -- nothing
13
- * external needs to target it via CSS attribute selector, it only drives internal class names. */
14
- type = 'bs-tab';
15
- /** Layout direction of the tab bar itself. Sets `aria-orientation` on the internal wrapper and
16
- * switches `flex-direction`. */
17
- orientation = 'horizontal';
18
- /** The selected tab's `value`. Mutable and reflected: it follows the user's selection, and
19
- * setting it from outside (attribute or property) selects the matching tab -- without emitting
20
- * `bsChange`, which only fires for user-driven changes. A tab's value is its own `value` prop,
21
- * or, for a tab without one, its zero-based position in the group as a string (`"0"`, `"1"`...).
22
- * If unset, it is read from whichever tab is already `selected` once the group loads. */
23
- value;
24
- /** Fires when the user selects a different tab (click, or arrow/Home/End), with the new
25
- * `value`. Does not fire when `value` is set programmatically. `bsSelect` on the individual tab
26
- * still fires as before. */
27
- bsChange;
28
- /**
29
- * Catches `bsSelect` bubbling up from any slotted `<bs-tab>`/`<bs-inline-tab>` (Stencil's
30
- * `@Event()` defaults to `bubbles: true, composed: true`, and `@Listen` without a target listens
31
- * on the host itself), and sets `selected` on the clicked child / `false` on its siblings.
32
- * Disabled children never emit `bsSelect` in the first place (each's own `onClick` guards
33
- * `if (this.disabled) return;`), so no special-casing is needed here.
34
- */
35
- onTabSelect(ev) {
36
- const tabs = this.tabs();
37
- tabs.forEach(tab => {
38
- tab.selected = tab === ev.target;
39
- });
40
- this.syncRovingTabindex();
41
- const index = tabs.findIndex(tab => tab === ev.target);
42
- if (index === -1)
43
- return;
44
- const value = this.tabValue(tabs[index], index);
45
- if (value !== this.value) {
46
- this.value = value;
47
- this.bsChange.emit({ value });
48
- }
49
- }
50
- componentDidLoad() {
51
- if (this.value !== undefined) {
52
- this.applyValue();
53
- }
54
- else {
55
- // Uncontrolled: report whichever tab the consumer already marked `selected`.
56
- const tabs = this.tabs();
57
- const index = tabs.findIndex(t => t.selected);
58
- if (index !== -1)
59
- this.value = this.tabValue(tabs[index], index);
60
- }
61
- this.syncRovingTabindex();
62
- }
63
- tabValue(tab, index) {
64
- return tab.value ?? String(index);
65
- }
66
- /** Selects the tab whose value matches `this.value` (and deselects the rest). */
67
- applyValue() {
68
- this.tabs().forEach((tab, i) => {
69
- tab.selected = this.tabValue(tab, i) === this.value;
70
- });
71
- this.syncRovingTabindex();
72
- }
73
- onValueChange() {
74
- this.applyValue();
75
- }
76
- syncRovingTabindex() {
77
- const tabs = this.tabs();
78
- const anySelected = tabs.some(t => t.selected);
79
- const firstEnabled = tabs.find(t => !t.disabled);
80
- tabs.forEach(t => {
81
- t.tabbable = anySelected ? t.selected : t === firstEnabled;
82
- });
83
- }
84
- tabs() {
85
- return Array.from(this.el.querySelectorAll(':scope > bs-tab, :scope > bs-inline-tab'));
86
- }
87
- /** WAI-ARIA tabs pattern (automatic activation): arrows move focus *and* selection to the
88
- * previous/next enabled tab (wrapping), Home/End jump to the first/last. Arrow axis follows
89
- * `orientation`; in RTL the horizontal arrows are mirrored. */
90
- onKeyDown(ev) {
91
- const vertical = this.orientation === 'vertical';
92
- const rtl = getComputedStyle(this.el).direction === 'rtl';
93
- const prevKey = vertical ? 'ArrowUp' : rtl ? 'ArrowRight' : 'ArrowLeft';
94
- const nextKey = vertical ? 'ArrowDown' : rtl ? 'ArrowLeft' : 'ArrowRight';
95
- if (![prevKey, nextKey, 'Home', 'End'].includes(ev.key))
96
- return;
97
- const enabled = this.tabs().filter(t => !t.disabled);
98
- const current = enabled.findIndex(t => t === ev.target || t.contains(ev.target));
99
- if (current === -1 || enabled.length === 0)
100
- return;
101
- ev.preventDefault();
102
- let nextIdx = current;
103
- if (ev.key === nextKey)
104
- nextIdx = (current + 1) % enabled.length;
105
- else if (ev.key === prevKey)
106
- nextIdx = (current - 1 + enabled.length) % enabled.length;
107
- else if (ev.key === 'Home')
108
- nextIdx = 0;
109
- else
110
- nextIdx = enabled.length - 1;
111
- const target = enabled[nextIdx];
112
- const button = target.shadowRoot?.querySelector('button');
113
- button?.focus();
114
- button?.click();
115
- }
116
- render() {
117
- const vertical = this.orientation === 'vertical';
118
- return (h("div", { key: 'b47d3502305490c9098b825f1eb8c60f45dad5d8', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, h("slot", { key: '133cf0b2ea93354a664bb304579fa59d85e53edf', onSlotchange: () => this.syncRovingTabindex() })));
119
- }
120
- static get watchers() { return {
121
- "value": [{
122
- "onValueChange": 0
123
- }],
124
- "orientation": [{
125
- "syncRovingTabindex": 0
126
- }]
127
- }; }
128
- };
129
- BsTabs.style = bsTabsCss();
130
-
131
- export { BsTabs as bs_tabs };