@brandsync/wc 1.18.0 → 1.19.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 (618) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/REFERENCE.md +71 -8
  3. package/custom-elements.json +382 -4
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/p-02314404.entry.js +1 -0
  6. package/dist/brandsync-wc/{p-fd78ff22.entry.js → p-028d3244.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-f6caa623.entry.js → p-03ad83a3.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-5cd1abc7.entry.js → p-0819add7.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-47ce984f.entry.js → p-08649f52.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-0dff9822.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-7cfb1be6.entry.js → p-10b8937f.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-bd901b06.entry.js → p-129a4de7.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-1580c56c.entry.js +1 -0
  14. package/dist/brandsync-wc/p-15c6f0f3.entry.js +1 -0
  15. package/dist/brandsync-wc/{p-1d8c2ec1.entry.js → p-171fa239.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-95c7f350.entry.js → p-197ac73f.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-7c29678d.entry.js → p-1e33bc10.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-757cd066.entry.js → p-21e5d4d6.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-5ac75555.entry.js → p-2389f473.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-50c116eb.entry.js → p-25914efc.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-345b5ef3.entry.js → p-26e0ab15.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-9787bc0f.entry.js → p-270b2cb0.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-15f06226.entry.js → p-27663faf.entry.js} +1 -1
  24. package/dist/brandsync-wc/p-28c38959.entry.js +1 -0
  25. package/dist/brandsync-wc/{p-1a62e5b7.entry.js → p-2a8b2ac9.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-344695a8.entry.js → p-2a967b45.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-2b3d0bd4.entry.js +1 -0
  28. package/dist/brandsync-wc/p-30736034.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-5868793d.entry.js → p-30ff0659.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-cb002195.entry.js → p-313ec145.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-e4e9c961.entry.js → p-3627e0c6.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-b7bbc52f.entry.js → p-38a2210a.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-a8c2855c.entry.js → p-391504ab.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-78114ea3.entry.js → p-3b212a8a.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-1aa0f9a3.entry.js → p-3c6980b9.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-4d4997af.entry.js → p-42fcf134.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-8f82ea7e.entry.js → p-4928c4ad.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-841a80b4.entry.js → p-4c51da66.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-50f60ed6.entry.js → p-4d1ee16e.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-fb84002e.entry.js → p-4dfd4715.entry.js} +1 -1
  41. package/dist/brandsync-wc/p-4ffcf41a.entry.js +1 -0
  42. package/dist/brandsync-wc/{p-9bd739e5.entry.js → p-527fd08d.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-55d336da.entry.js → p-5371b31c.entry.js} +1 -1
  44. package/dist/brandsync-wc/p-568de1b0.entry.js +1 -0
  45. package/dist/brandsync-wc/p-590deea0.entry.js +1 -0
  46. package/dist/brandsync-wc/{p-ae207fd5.entry.js → p-64e19200.entry.js} +1 -1
  47. package/dist/brandsync-wc/p-6afacd47.entry.js +1 -0
  48. package/dist/brandsync-wc/p-6f32a08e.entry.js +1 -0
  49. package/dist/brandsync-wc/{p-08e0e704.entry.js → p-70a5897b.entry.js} +1 -1
  50. package/dist/brandsync-wc/{p-c020ffdf.entry.js → p-7160a72e.entry.js} +1 -1
  51. package/dist/brandsync-wc/p-776b677f.entry.js +1 -0
  52. package/dist/brandsync-wc/{p-56a45582.entry.js → p-78c94cfe.entry.js} +1 -1
  53. package/dist/brandsync-wc/p-7bff3aa5.entry.js +1 -0
  54. package/dist/brandsync-wc/{p-e32a6df1.entry.js → p-7c741b8d.entry.js} +1 -1
  55. package/dist/brandsync-wc/p-86f04e9e.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-a51355d9.entry.js → p-8a18864a.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-0a6f22fe.entry.js → p-8a606b38.entry.js} +1 -1
  58. package/dist/brandsync-wc/p-8ac86d16.entry.js +1 -0
  59. package/dist/brandsync-wc/{p-a424a709.entry.js → p-8b21f623.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-1a47774e.entry.js → p-8d1ad4b0.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-58179e15.entry.js → p-8e107d7a.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-4ff649f1.entry.js → p-90d8d45f.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-f86b58bf.entry.js → p-9751a12d.entry.js} +1 -1
  64. package/dist/brandsync-wc/{p-bfff7cbb.entry.js → p-9868ee72.entry.js} +1 -1
  65. package/dist/brandsync-wc/{p-6c987bc9.entry.js → p-9ba500f1.entry.js} +1 -1
  66. package/dist/brandsync-wc/p-9fa7bd83.entry.js +1 -0
  67. package/dist/brandsync-wc/p-BSt9HeTa.js +1 -0
  68. package/dist/brandsync-wc/{p-be7272ce.entry.js → p-a2bfbf02.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-d42a26c1.entry.js → p-a50c5e68.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-ee63423c.entry.js → p-a688a7ca.entry.js} +1 -1
  71. package/dist/brandsync-wc/{p-55d97d1d.entry.js → p-a92c0f06.entry.js} +1 -1
  72. package/dist/brandsync-wc/p-ab301e9d.entry.js +1 -0
  73. package/dist/brandsync-wc/{p-43f8afda.entry.js → p-ab99b8c3.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-c02ed03d.entry.js → p-c01e231e.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-d985e569.entry.js → p-d15e48eb.entry.js} +1 -1
  76. package/dist/brandsync-wc/p-d484e976.entry.js +1 -0
  77. package/dist/brandsync-wc/{p-31ca98c3.entry.js → p-d80eecf4.entry.js} +1 -1
  78. package/dist/brandsync-wc/p-dc2ea372.entry.js +1 -0
  79. package/dist/brandsync-wc/p-de0dfd1c.entry.js +1 -0
  80. package/dist/brandsync-wc/p-e1d30e31.entry.js +1 -0
  81. package/dist/brandsync-wc/{p-0082db6a.entry.js → p-e5235e76.entry.js} +1 -1
  82. package/dist/brandsync-wc/{p-fa91106e.entry.js → p-e776d145.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-d3fe8cea.entry.js → p-e7c80f48.entry.js} +1 -1
  84. package/dist/brandsync-wc/{p-34851d6d.entry.js → p-eb680cff.entry.js} +1 -1
  85. package/dist/brandsync-wc/p-ebcd105d.entry.js +1 -0
  86. package/dist/brandsync-wc/p-f10b19a8.entry.js +1 -0
  87. package/dist/brandsync-wc/{p-87a10ee1.entry.js → p-f3b60029.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-14b4f4c4.entry.js → p-f4796801.entry.js} +1 -1
  89. package/dist/brandsync-wc/p-f5e6fdf8.entry.js +1 -0
  90. package/dist/brandsync-wc/p-f93127e1.entry.js +1 -0
  91. package/dist/brandsync-wc/{p-e3e15670.entry.js → p-f96f45ae.entry.js} +1 -1
  92. package/dist/brandsync-wc/{p-e2491db8.entry.js → p-feb46fa6.entry.js} +1 -1
  93. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  94. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  95. package/dist/cjs/bs-accordion.cjs.entry.js +60 -3
  96. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  97. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +7 -7
  100. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-app-switcher.cjs.entry.js +1 -1
  102. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-button_2.cjs.entry.js +198 -0
  110. package/dist/cjs/bs-card.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-carousel.cjs.entry.js +70 -5
  112. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  115. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
  117. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-checkbox.cjs.entry.js +2 -2
  119. package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
  120. package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
  121. package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
  122. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  123. package/dist/cjs/bs-command-palette.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +4 -4
  125. package/dist/cjs/bs-company-switcher.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  129. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  130. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-dialog.cjs.entry.js +54 -3
  132. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  133. package/dist/cjs/bs-empty-state.cjs.entry.js +1 -1
  134. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  135. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  136. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  137. package/dist/cjs/bs-global-search.cjs.entry.js +2 -2
  138. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  139. package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
  140. package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
  141. package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
  142. package/dist/cjs/bs-input_3.cjs.entry.js +5 -5
  143. package/dist/cjs/bs-key-caps.cjs.entry.js +1 -1
  144. package/dist/cjs/bs-key.cjs.entry.js +1 -1
  145. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +2 -2
  146. package/dist/cjs/bs-list-item_2.cjs.entry.js +51 -5
  147. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  148. package/dist/cjs/bs-mega-menu.cjs.entry.js +52 -2
  149. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  150. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  151. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  152. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  153. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  154. package/dist/cjs/bs-page-header.cjs.entry.js +1 -1
  155. package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
  156. package/dist/cjs/bs-presence.cjs.entry.js +88 -0
  157. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  158. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  159. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-radio.cjs.entry.js +4 -4
  161. package/dist/cjs/bs-search-item.cjs.entry.js +2 -2
  162. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  163. package/dist/cjs/bs-shortcut-row.cjs.entry.js +1 -1
  164. package/dist/cjs/bs-side-panel.cjs.entry.js +52 -3
  165. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  166. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  167. package/dist/cjs/bs-source-link.cjs.entry.js +4 -3
  168. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  169. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  170. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  171. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  172. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  173. package/dist/cjs/bs-switch.cjs.entry.js +4 -11
  174. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  175. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  176. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  177. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +61 -3
  178. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  179. package/dist/cjs/bs-tree-item.cjs.entry.js +3 -3
  180. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  181. package/dist/cjs/loader.cjs.js +1 -1
  182. package/dist/cjs/motion-DOlI71lc.js +43 -0
  183. package/dist/collection/collection-manifest.json +2 -0
  184. package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +21 -6
  185. package/dist/collection/components/bs-accordion/bs-accordion.css +15 -0
  186. package/dist/collection/components/bs-accordion/bs-accordion.js +71 -2
  187. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  188. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  189. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  190. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  191. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +3 -3
  192. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  193. package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +1 -1
  194. package/dist/collection/components/bs-app-tile/bs-app-tile.js +3 -3
  195. package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
  196. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  197. package/dist/collection/components/bs-badge/bs-badge.js +1 -1
  198. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
  199. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
  200. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  201. package/dist/collection/components/bs-button/bs-button/bs-button.cmp.test.js +12 -0
  202. package/dist/collection/components/bs-button/bs-button/bs-button.css +2 -0
  203. package/dist/collection/components/bs-button/bs-button/bs-button.js +4 -1
  204. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +2 -0
  205. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +2 -1
  206. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  207. package/dist/collection/components/bs-card/bs-card.js +1 -1
  208. package/dist/collection/components/bs-carousel/bs-carousel.cmp.test.js +39 -1
  209. package/dist/collection/components/bs-carousel/bs-carousel.css +9 -0
  210. package/dist/collection/components/bs-carousel/bs-carousel.js +75 -4
  211. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  212. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  213. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +2 -0
  214. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +2 -1
  215. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  216. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.css +2 -0
  217. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +2 -1
  218. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  219. package/dist/collection/components/bs-checkbox/bs-checkbox.css +7 -0
  220. package/dist/collection/components/bs-checkbox/bs-checkbox.js +2 -1
  221. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +2 -0
  222. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +2 -1
  223. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  224. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +7 -0
  225. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +2 -1
  226. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  227. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
  228. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +1 -1
  229. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
  230. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  231. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  232. package/dist/collection/components/bs-container/bs-container.js +1 -1
  233. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  234. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  235. package/dist/collection/components/bs-dialog/bs-dialog.cmp.test.js +32 -0
  236. package/dist/collection/components/bs-dialog/bs-dialog.css +16 -0
  237. package/dist/collection/components/bs-dialog/bs-dialog.js +61 -3
  238. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  239. package/dist/collection/components/bs-empty-state/bs-empty-state.js +1 -1
  240. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  241. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  242. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  243. package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
  244. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  245. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
  246. package/dist/collection/components/bs-input/bs-input.js +2 -2
  247. package/dist/collection/components/bs-key/bs-key.js +1 -1
  248. package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
  249. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
  250. package/dist/collection/components/bs-list/bs-list.js +1 -1
  251. package/dist/collection/components/bs-list-item/bs-list-item.css +2 -0
  252. package/dist/collection/components/bs-list-item/bs-list-item.js +2 -1
  253. package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +73 -0
  254. package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +5 -1
  255. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +89 -4
  256. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +5 -5
  257. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  258. package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
  259. package/dist/collection/components/bs-menu-item/bs-menu-item.css +2 -0
  260. package/dist/collection/components/bs-menu-item/bs-menu-item.js +2 -1
  261. package/dist/collection/components/bs-message/bs-message.js +1 -1
  262. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  263. package/dist/collection/components/bs-page-header/bs-page-header.js +1 -1
  264. package/dist/collection/components/bs-pagination/bs-pagination.css +2 -0
  265. package/dist/collection/components/bs-pagination/bs-pagination.js +2 -1
  266. package/dist/collection/components/bs-popover/bs-popover.cmp.test.js +20 -0
  267. package/dist/collection/components/bs-popover/bs-popover.css +3 -0
  268. package/dist/collection/components/bs-popover/bs-popover.js +59 -2
  269. package/dist/collection/components/bs-presence/bs-presence.cmp.test.js +64 -0
  270. package/dist/collection/components/bs-presence/bs-presence.css +80 -0
  271. package/dist/collection/components/bs-presence/bs-presence.js +233 -0
  272. package/dist/collection/components/bs-presence/bs-presence.stories.js +101 -0
  273. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  274. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  275. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  276. package/dist/collection/components/bs-radio/bs-radio.css +6 -0
  277. package/dist/collection/components/bs-radio/bs-radio.js +4 -3
  278. package/dist/collection/components/bs-ripple/bs-ripple.cmp.test.js +45 -0
  279. package/dist/collection/components/bs-ripple/bs-ripple.css +32 -0
  280. package/dist/collection/components/bs-ripple/bs-ripple.js +188 -0
  281. package/dist/collection/components/bs-ripple/bs-ripple.stories.js +33 -0
  282. package/dist/collection/components/bs-search-item/bs-search-item.css +2 -0
  283. package/dist/collection/components/bs-search-item/bs-search-item.js +2 -1
  284. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  285. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
  286. package/dist/collection/components/bs-side-panel/bs-side-panel.cmp.test.js +19 -0
  287. package/dist/collection/components/bs-side-panel/bs-side-panel.css +8 -0
  288. package/dist/collection/components/bs-side-panel/bs-side-panel.js +58 -2
  289. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  290. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  291. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  292. package/dist/collection/components/bs-source-link/bs-source-link.css +2 -0
  293. package/dist/collection/components/bs-source-link/bs-source-link.js +4 -2
  294. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  295. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  296. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  297. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  298. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  299. package/dist/collection/components/bs-switch/bs-switch.css +9 -0
  300. package/dist/collection/components/bs-switch/bs-switch.js +4 -10
  301. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -0
  302. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +2 -1
  303. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +2 -1
  304. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  305. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  306. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  307. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  308. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.js +53 -2
  309. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.css +3 -0
  310. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +70 -3
  311. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  312. package/dist/collection/components/bs-tree-item/bs-tree-item.css +2 -0
  313. package/dist/collection/components/bs-tree-item/bs-tree-item.js +3 -2
  314. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  315. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  316. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  317. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +2 -2
  318. package/dist/collection/utils/motion.js +37 -0
  319. package/dist/components/bs-accordion-group.js +1 -1
  320. package/dist/components/bs-accordion.js +1 -1
  321. package/dist/components/bs-ai-disclaimer.js +1 -1
  322. package/dist/components/bs-ai-greeting.js +1 -1
  323. package/dist/components/bs-ai-thinking.js +1 -1
  324. package/dist/components/bs-app-recent-item.js +1 -1
  325. package/dist/components/bs-app-shell.js +1 -1
  326. package/dist/components/bs-app-switcher.js +1 -1
  327. package/dist/components/bs-app-tile.js +1 -1
  328. package/dist/components/bs-attachment-list.js +1 -1
  329. package/dist/components/bs-attachment.js +1 -1
  330. package/dist/components/bs-badge.js +1 -1
  331. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  332. package/dist/components/bs-breadcrumb.js +1 -1
  333. package/dist/components/bs-breadcrumbs.js +1 -1
  334. package/dist/components/bs-button-skeleton.js +1 -1
  335. package/dist/components/bs-button.js +1 -1
  336. package/dist/components/bs-card.js +1 -1
  337. package/dist/components/bs-carousel.js +1 -1
  338. package/dist/components/bs-chatbot-feedback.js +1 -1
  339. package/dist/components/bs-chatbot-header.js +1 -1
  340. package/dist/components/bs-chatbot-response-action.js +1 -1
  341. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  342. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  343. package/dist/components/bs-checkbox-skeleton.js +1 -1
  344. package/dist/components/bs-checkbox.js +1 -1
  345. package/dist/components/bs-chip-filter.js +1 -1
  346. package/dist/components/bs-chip-informative.js +1 -1
  347. package/dist/components/bs-chip-input.js +1 -1
  348. package/dist/components/bs-citation-preview.js +1 -1
  349. package/dist/components/bs-command-palette.js +1 -1
  350. package/dist/components/bs-compact-menu-block.js +1 -1
  351. package/dist/components/bs-company-switcher.js +1 -1
  352. package/dist/components/bs-composer-status-banner.js +1 -1
  353. package/dist/components/bs-composer.js +1 -1
  354. package/dist/components/bs-container.js +1 -1
  355. package/dist/components/bs-cookie-consent.js +1 -1
  356. package/dist/components/bs-data-table.js +1 -1
  357. package/dist/components/bs-datepicker.js +1 -1
  358. package/dist/components/bs-dialog.js +1 -1
  359. package/dist/components/bs-divider.js +1 -1
  360. package/dist/components/bs-empty-state.js +1 -1
  361. package/dist/components/bs-error-page.js +1 -1
  362. package/dist/components/bs-file-upload-item.js +1 -1
  363. package/dist/components/bs-file-upload.js +1 -1
  364. package/dist/components/bs-global-search.js +1 -1
  365. package/dist/components/bs-grid.js +1 -1
  366. package/dist/components/bs-icon-button.js +1 -1
  367. package/dist/components/bs-icon-tile.js +1 -1
  368. package/dist/components/bs-inline-tab.js +1 -1
  369. package/dist/components/bs-input.js +1 -1
  370. package/dist/components/bs-key-caps.js +1 -1
  371. package/dist/components/bs-key.js +1 -1
  372. package/dist/components/bs-keyboard-shortcuts.js +1 -1
  373. package/dist/components/bs-list-item.js +1 -1
  374. package/dist/components/bs-list.js +1 -1
  375. package/dist/components/bs-mega-menu.js +1 -1
  376. package/dist/components/bs-menu-block.js +1 -1
  377. package/dist/components/bs-menu-item.js +1 -1
  378. package/dist/components/bs-menu.js +1 -1
  379. package/dist/components/bs-message-list.js +1 -1
  380. package/dist/components/bs-message.js +1 -1
  381. package/dist/components/bs-navigation-drawer-item.js +1 -1
  382. package/dist/components/bs-navigation-drawer.js +1 -1
  383. package/dist/components/bs-navigation-header.js +1 -1
  384. package/dist/components/bs-onboarding-checklist.js +1 -1
  385. package/dist/components/bs-page-header.js +1 -1
  386. package/dist/components/bs-pagination.js +1 -1
  387. package/dist/components/bs-popover.js +1 -1
  388. package/dist/components/bs-presence.d.ts +11 -0
  389. package/dist/components/bs-presence.js +1 -0
  390. package/dist/components/bs-product-tour.js +1 -1
  391. package/dist/components/bs-progress-linear.js +1 -1
  392. package/dist/components/bs-progress.js +1 -1
  393. package/dist/components/bs-qr-code.js +1 -1
  394. package/dist/components/bs-radio.js +1 -1
  395. package/dist/components/bs-ripple.d.ts +11 -0
  396. package/dist/components/bs-ripple.js +1 -0
  397. package/dist/components/bs-search-item.js +1 -1
  398. package/dist/components/bs-session-timeout.js +1 -1
  399. package/dist/components/bs-shortcut-row.js +1 -1
  400. package/dist/components/bs-side-panel.js +1 -1
  401. package/dist/components/bs-skeleton.js +1 -1
  402. package/dist/components/bs-slider.js +1 -1
  403. package/dist/components/bs-snackbar.js +1 -1
  404. package/dist/components/bs-source-link.js +1 -1
  405. package/dist/components/bs-spinner.js +1 -1
  406. package/dist/components/bs-split-pane.js +1 -1
  407. package/dist/components/bs-stack.js +1 -1
  408. package/dist/components/bs-stepper-step.js +1 -1
  409. package/dist/components/bs-stepper.js +1 -1
  410. package/dist/components/bs-switch.js +1 -1
  411. package/dist/components/bs-tab.js +1 -1
  412. package/dist/components/bs-tabs.js +1 -1
  413. package/dist/components/bs-timepicker.js +1 -1
  414. package/dist/components/bs-toast.js +1 -1
  415. package/dist/components/bs-tooltip-trigger.js +1 -1
  416. package/dist/components/bs-tooltip.js +1 -1
  417. package/dist/components/bs-tree-item.js +1 -1
  418. package/dist/components/bs-tree.js +1 -1
  419. package/dist/components/bs-whats-new-entry.js +1 -1
  420. package/dist/components/bs-whats-new.js +1 -1
  421. package/dist/components/p--Tyv3LIl.js +1 -0
  422. package/dist/components/{p-D4_8H0vn.js → p-4yShCgRb.js} +1 -1
  423. package/dist/components/p-6Rr9bjVN.js +1 -0
  424. package/dist/components/{p-I1_Q3HQu.js → p-BHzj13sd.js} +1 -1
  425. package/dist/components/p-BIxcCDgl.js +1 -0
  426. package/dist/components/{p-DcdFuKG9.js → p-BQ4rSQDm.js} +1 -1
  427. package/dist/components/p-BSt9HeTa.js +1 -0
  428. package/dist/components/p-BWRkbt0f.js +1 -0
  429. package/dist/components/p-BfCah-Ij.js +1 -0
  430. package/dist/components/p-BpkPo4ay.js +1 -0
  431. package/dist/components/{p-Co36mHEU.js → p-CFR3Q0io.js} +1 -1
  432. package/dist/components/{p-C3erqJFy.js → p-CHZE_FrW.js} +1 -1
  433. package/dist/components/p-CVQycAap.js +1 -0
  434. package/dist/components/{p-CmlzHRkn.js → p-Cr8cHmpM.js} +1 -1
  435. package/dist/components/p-CvSewXZF.js +1 -0
  436. package/dist/components/{p-Dl0FedE5.js → p-D3PuUD8Z.js} +1 -1
  437. package/dist/components/p-D5eN9Lfa.js +1 -0
  438. package/dist/components/{p-qXdgl7VG.js → p-DDgzEg1C.js} +1 -1
  439. package/dist/components/p-DF2FcJPs.js +1 -0
  440. package/dist/components/{p-DzvXbBvk.js → p-DLnZG_G9.js} +1 -1
  441. package/dist/components/{p-Deq0LzGO.js → p-DXbcyEgd.js} +1 -1
  442. package/dist/components/{p-C1owRphU.js → p-DXwatzvM.js} +1 -1
  443. package/dist/components/{p-erdtytMq.js → p-DcD5eV_Z.js} +1 -1
  444. package/dist/components/{p-B6KgEbdM.js → p-Dj393s3S.js} +1 -1
  445. package/dist/components/p-DtkTnaOp.js +1 -0
  446. package/dist/components/{p-DBvhi__l.js → p-EGNLb4cQ.js} +1 -1
  447. package/dist/components/{p-DFd4pP4i.js → p-Jik5UkAe.js} +1 -1
  448. package/dist/components/p-XZXdZpt4.js +1 -0
  449. package/dist/components/{p-Cd7p-48Q.js → p-Y5FyLR8G.js} +1 -1
  450. package/dist/components/{p-DtbeCgXo.js → p-ZfE38vXZ.js} +1 -1
  451. package/dist/components/{p-c-g3-oVu.js → p-lPTgyF9v.js} +1 -1
  452. package/dist/components/p-syO0ipbw.js +1 -0
  453. package/dist/components/p-up01gvHY.js +1 -0
  454. package/dist/esm/brandsync-wc.js +1 -1
  455. package/dist/esm/bs-accordion-group.entry.js +1 -1
  456. package/dist/esm/bs-accordion.entry.js +61 -4
  457. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  458. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  459. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  460. package/dist/esm/bs-app-recent-item_3.entry.js +7 -7
  461. package/dist/esm/bs-app-shell.entry.js +1 -1
  462. package/dist/esm/bs-app-switcher.entry.js +1 -1
  463. package/dist/esm/bs-attachment-list.entry.js +1 -1
  464. package/dist/esm/bs-attachment.entry.js +1 -1
  465. package/dist/esm/bs-badge.entry.js +1 -1
  466. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  467. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  468. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  469. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  470. package/dist/esm/bs-button_2.entry.js +195 -0
  471. package/dist/esm/bs-card.entry.js +1 -1
  472. package/dist/esm/bs-carousel.entry.js +70 -5
  473. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  474. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  475. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  476. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  477. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  478. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  479. package/dist/esm/bs-checkbox.entry.js +2 -2
  480. package/dist/esm/bs-chip-filter.entry.js +2 -2
  481. package/dist/esm/bs-chip-informative.entry.js +1 -1
  482. package/dist/esm/bs-chip-input.entry.js +2 -2
  483. package/dist/esm/bs-citation-preview.entry.js +1 -1
  484. package/dist/esm/bs-command-palette.entry.js +1 -1
  485. package/dist/esm/bs-compact-menu-block_2.entry.js +4 -4
  486. package/dist/esm/bs-company-switcher.entry.js +2 -2
  487. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  488. package/dist/esm/bs-composer.entry.js +1 -1
  489. package/dist/esm/bs-container.entry.js +1 -1
  490. package/dist/esm/bs-data-table.entry.js +2 -2
  491. package/dist/esm/bs-datepicker.entry.js +1 -1
  492. package/dist/esm/bs-dialog.entry.js +55 -4
  493. package/dist/esm/bs-divider.entry.js +1 -1
  494. package/dist/esm/bs-empty-state.entry.js +1 -1
  495. package/dist/esm/bs-error-page.entry.js +1 -1
  496. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  497. package/dist/esm/bs-file-upload.entry.js +1 -1
  498. package/dist/esm/bs-global-search.entry.js +2 -2
  499. package/dist/esm/bs-grid.entry.js +2 -2
  500. package/dist/esm/bs-icon-button.entry.js +2 -2
  501. package/dist/esm/bs-icon-tile.entry.js +2 -2
  502. package/dist/esm/bs-inline-tab.entry.js +2 -2
  503. package/dist/esm/bs-input_3.entry.js +5 -5
  504. package/dist/esm/bs-key-caps.entry.js +1 -1
  505. package/dist/esm/bs-key.entry.js +1 -1
  506. package/dist/esm/bs-keyboard-shortcuts.entry.js +2 -2
  507. package/dist/esm/bs-list-item_2.entry.js +51 -5
  508. package/dist/esm/bs-list.entry.js +1 -1
  509. package/dist/esm/bs-mega-menu.entry.js +53 -3
  510. package/dist/esm/bs-message-list.entry.js +1 -1
  511. package/dist/esm/bs-message.entry.js +1 -1
  512. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  513. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  514. package/dist/esm/bs-navigation-header.entry.js +2 -2
  515. package/dist/esm/bs-page-header.entry.js +1 -1
  516. package/dist/esm/bs-pagination.entry.js +2 -2
  517. package/dist/esm/bs-presence.entry.js +86 -0
  518. package/dist/esm/bs-progress-linear.entry.js +2 -2
  519. package/dist/esm/bs-progress.entry.js +2 -2
  520. package/dist/esm/bs-qr-code.entry.js +1 -1
  521. package/dist/esm/bs-radio.entry.js +4 -4
  522. package/dist/esm/bs-search-item.entry.js +2 -2
  523. package/dist/esm/bs-session-timeout.entry.js +1 -1
  524. package/dist/esm/bs-shortcut-row.entry.js +1 -1
  525. package/dist/esm/bs-side-panel.entry.js +52 -3
  526. package/dist/esm/bs-slider.entry.js +1 -1
  527. package/dist/esm/bs-snackbar.entry.js +1 -1
  528. package/dist/esm/bs-source-link.entry.js +4 -3
  529. package/dist/esm/bs-spinner.entry.js +1 -1
  530. package/dist/esm/bs-split-pane.entry.js +1 -1
  531. package/dist/esm/bs-stack.entry.js +1 -1
  532. package/dist/esm/bs-stepper-step.entry.js +1 -1
  533. package/dist/esm/bs-stepper.entry.js +1 -1
  534. package/dist/esm/bs-switch.entry.js +4 -11
  535. package/dist/esm/bs-tab_3.entry.js +3 -3
  536. package/dist/esm/bs-timepicker.entry.js +2 -2
  537. package/dist/esm/bs-toast.entry.js +1 -1
  538. package/dist/esm/bs-tooltip-trigger.entry.js +62 -4
  539. package/dist/esm/bs-tooltip.entry.js +1 -1
  540. package/dist/esm/bs-tree-item.entry.js +3 -3
  541. package/dist/esm/bs-tree.entry.js +1 -1
  542. package/dist/esm/loader.js +1 -1
  543. package/dist/esm/motion-BSt9HeTa.js +39 -0
  544. package/dist/types/components/bs-accordion/bs-accordion.d.ts +22 -0
  545. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +3 -0
  546. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +1 -0
  547. package/dist/types/components/bs-carousel/bs-carousel.d.ts +21 -1
  548. package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +1 -0
  549. package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +1 -0
  550. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +1 -0
  551. package/dist/types/components/bs-chip/bs-chip-filter/bs-chip-filter.d.ts +1 -0
  552. package/dist/types/components/bs-chip/bs-chip-input/bs-chip-input.d.ts +1 -0
  553. package/dist/types/components/bs-dialog/bs-dialog.d.ts +14 -0
  554. package/dist/types/components/bs-list-item/bs-list-item.d.ts +1 -0
  555. package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +26 -2
  556. package/dist/types/components/bs-menu-item/bs-menu-item.d.ts +1 -0
  557. package/dist/types/components/bs-pagination/bs-pagination.d.ts +1 -0
  558. package/dist/types/components/bs-popover/bs-popover.d.ts +15 -0
  559. package/dist/types/components/bs-presence/bs-presence.cmp.test.d.ts +1 -0
  560. package/dist/types/components/bs-presence/bs-presence.d.ts +50 -0
  561. package/dist/types/components/bs-presence/bs-presence.stories.d.ts +15 -0
  562. package/dist/types/components/bs-radio/bs-radio.d.ts +1 -0
  563. package/dist/types/components/bs-ripple/bs-ripple.cmp.test.d.ts +1 -0
  564. package/dist/types/components/bs-ripple/bs-ripple.d.ts +52 -0
  565. package/dist/types/components/bs-ripple/bs-ripple.stories.d.ts +11 -0
  566. package/dist/types/components/bs-search-item/bs-search-item.d.ts +1 -0
  567. package/dist/types/components/bs-side-panel/bs-side-panel.d.ts +13 -0
  568. package/dist/types/components/bs-source-link/bs-source-link.d.ts +1 -0
  569. package/dist/types/components/bs-switch/bs-switch.d.ts +1 -0
  570. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +1 -0
  571. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +1 -0
  572. package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.d.ts +18 -0
  573. package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +1 -0
  574. package/dist/types/components.d.ts +407 -8
  575. package/dist/types/utils/motion.d.ts +21 -0
  576. package/package.json +1 -1
  577. package/reference.d.ts +28 -22
  578. package/reference.json +230 -9
  579. package/dist/brandsync-wc/p-046a53de.entry.js +0 -1
  580. package/dist/brandsync-wc/p-07e0b444.entry.js +0 -1
  581. package/dist/brandsync-wc/p-186e3b78.entry.js +0 -1
  582. package/dist/brandsync-wc/p-23b56775.entry.js +0 -1
  583. package/dist/brandsync-wc/p-246036cd.entry.js +0 -1
  584. package/dist/brandsync-wc/p-348fef11.entry.js +0 -1
  585. package/dist/brandsync-wc/p-3e6f430a.entry.js +0 -1
  586. package/dist/brandsync-wc/p-47929dca.entry.js +0 -1
  587. package/dist/brandsync-wc/p-52d61070.entry.js +0 -1
  588. package/dist/brandsync-wc/p-5e36d46f.entry.js +0 -1
  589. package/dist/brandsync-wc/p-64f8eb7e.entry.js +0 -1
  590. package/dist/brandsync-wc/p-6b019a88.entry.js +0 -1
  591. package/dist/brandsync-wc/p-8962abe0.entry.js +0 -1
  592. package/dist/brandsync-wc/p-8c9938a5.entry.js +0 -1
  593. package/dist/brandsync-wc/p-8e46a262.entry.js +0 -1
  594. package/dist/brandsync-wc/p-998b95d3.entry.js +0 -1
  595. package/dist/brandsync-wc/p-a9d0a730.entry.js +0 -1
  596. package/dist/brandsync-wc/p-b1edc9b7.entry.js +0 -1
  597. package/dist/brandsync-wc/p-b759ae72.entry.js +0 -1
  598. package/dist/brandsync-wc/p-e99c0937.entry.js +0 -1
  599. package/dist/brandsync-wc/p-e9adfa44.entry.js +0 -1
  600. package/dist/brandsync-wc/p-eb3bacb9.entry.js +0 -1
  601. package/dist/brandsync-wc/p-ee00d3a5.entry.js +0 -1
  602. package/dist/brandsync-wc/p-f47b8673.entry.js +0 -1
  603. package/dist/brandsync-wc/p-fbc219c6.entry.js +0 -1
  604. package/dist/cjs/bs-button.cjs.entry.js +0 -107
  605. package/dist/components/p-B8kw9EOx.js +0 -1
  606. package/dist/components/p-BLPNwyiT.js +0 -1
  607. package/dist/components/p-BP1l6Q3Z.js +0 -1
  608. package/dist/components/p-BS7ySxJZ.js +0 -1
  609. package/dist/components/p-BmdSbmFg.js +0 -1
  610. package/dist/components/p-C2rRVRIu.js +0 -1
  611. package/dist/components/p-D9dDFyPB.js +0 -1
  612. package/dist/components/p-DVjuZdjF.js +0 -1
  613. package/dist/components/p-DW0Dw2LS.js +0 -1
  614. package/dist/components/p-DgY5pxXd.js +0 -1
  615. package/dist/components/p-DhhXayh6.js +0 -1
  616. package/dist/components/p-DiORQQg3.js +0 -1
  617. package/dist/components/p-TXAiCnSZ.js +0 -1
  618. package/dist/esm/bs-button.entry.js +0 -105
@@ -0,0 +1,188 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * A touch-ripple effect: on pointer press, a circle grows from the press point and fades out.
4
+ *
5
+ * It is a building block for pressable components (`bs-button`, `bs-icon-button`, ...), not something
6
+ * to place on a page by itself. Put it inside a positioned, pressable parent; it fills that parent,
7
+ * follows its corner radius, and listens for `pointerdown` on it. Pointer-events pass through, so the
8
+ * parent still receives every click.
9
+ *
10
+ * The motion uses the shared duration and easing tokens. Under `prefers-reduced-motion: reduce` those
11
+ * durations are `0ms`, and the ripple does not play at all.
12
+ *
13
+ * ## When to use
14
+ * - Inside a pressable `bs-*` component, to give press feedback.
15
+ *
16
+ * ## When not to use
17
+ * - As a hover or focus indicator. Those are colour changes on the parent.
18
+ * - On non-interactive surfaces.
19
+ *
20
+ * Set the custom properties on the `bs-ripple` element itself. Inside another component that means `::part(ripple)`,
21
+ * e.g. `bs-button::part(ripple) { --bs-ripple-color: white; }`.
22
+ *
23
+ * @part surface - The clipping layer the ripple circles are drawn in.
24
+ * @prop --bs-ripple-color - Ripple colour. `currentColor` by default, so it follows the parent's text colour and works on every variant.
25
+ * @prop --bs-ripple-opacity - Starting opacity of the ripple. No opacity token fits, so the default is `0.24`.
26
+ * @prop --bs-ripple-duration - Length of the ripple. Aliased to `--bs-duration-slower`.
27
+ * @prop --bs-ripple-easing - Curve of the ripple. Aliased to `--bs-easing-decelerate`.
28
+ */
29
+ export class BsRipple {
30
+ el;
31
+ /** Always start the ripple from the centre instead of the press point. Use it for round or icon-only controls. */
32
+ centered = false;
33
+ /** Turns the ripple off. A disabled parent (`<button disabled>`) also stops it. */
34
+ disabled = false;
35
+ /**
36
+ * CSS selector of the element to listen on, found with `closest()` from the ripple (so it stays inside
37
+ * the same shadow tree). By default the ripple listens on its parent. Use it when the pressable element
38
+ * is bigger than the ripple's own parent, e.g. a switch whose ripple sits on the knob but whose whole
39
+ * `<label>` is the press target.
40
+ */
41
+ triggerSelector;
42
+ onTriggerChange() {
43
+ this.bind();
44
+ }
45
+ surface;
46
+ target;
47
+ connectedCallback() {
48
+ this.bind();
49
+ }
50
+ componentDidLoad() {
51
+ // Props are set by now, so a `triggerSelector` is resolved against the final DOM.
52
+ this.bind();
53
+ }
54
+ disconnectedCallback() {
55
+ this.unbind();
56
+ }
57
+ bind() {
58
+ this.unbind();
59
+ const target = (this.triggerSelector && this.el.closest(this.triggerSelector)) || this.el.parentElement || this.el.getRootNode().host;
60
+ this.target = target;
61
+ this.target?.addEventListener('pointerdown', this.onPointerDown);
62
+ }
63
+ unbind() {
64
+ this.target?.removeEventListener('pointerdown', this.onPointerDown);
65
+ this.target = undefined;
66
+ }
67
+ onPointerDown = (ev) => {
68
+ if (this.disabled || ev.button !== 0 || this.target?.disabled)
69
+ return;
70
+ const surface = this.surface;
71
+ if (!surface)
72
+ return;
73
+ const style = getComputedStyle(this.el);
74
+ const duration = this.toMs(style.getPropertyValue('--bs-ripple-duration'));
75
+ if (duration === 0)
76
+ return;
77
+ const rect = this.el.getBoundingClientRect();
78
+ const x = this.centered ? rect.width / 2 : ev.clientX - rect.left;
79
+ const y = this.centered ? rect.height / 2 : ev.clientY - rect.top;
80
+ // Radius that reaches the farthest corner, so the ripple always covers the whole surface.
81
+ const radius = Math.hypot(Math.max(x, rect.width - x), Math.max(y, rect.height - y));
82
+ const circle = document.createElement('span');
83
+ circle.className = 'bs-ripple__circle';
84
+ circle.style.left = `${x - radius}px`;
85
+ circle.style.top = `${y - radius}px`;
86
+ circle.style.width = circle.style.height = `${radius * 2}px`;
87
+ surface.appendChild(circle);
88
+ const opacity = style.getPropertyValue('--bs-ripple-opacity').trim() || '0.24';
89
+ const animation = circle.animate([
90
+ { transform: 'scale(0)', opacity },
91
+ { transform: 'scale(1)', opacity: 0 },
92
+ ], { duration, easing: style.getPropertyValue('--bs-ripple-easing').trim() || 'ease-out' });
93
+ animation.onfinish = animation.oncancel = () => circle.remove();
94
+ };
95
+ toMs(value) {
96
+ const v = value.trim();
97
+ if (v.endsWith('ms'))
98
+ return parseFloat(v);
99
+ if (v.endsWith('s'))
100
+ return parseFloat(v) * 1000;
101
+ return 0;
102
+ }
103
+ render() {
104
+ return (h(Host, { key: '4bb0dd71635f57ed90deeeabc39a7abee9e66103', "aria-hidden": "true" }, h("div", { key: '29c6a7f4eefcb14598ee0aa2bc3980be2e04ebbc', part: "surface", class: "bs-ripple", ref: el => (this.surface = el) })));
105
+ }
106
+ static get is() { return "bs-ripple"; }
107
+ static get encapsulation() { return "shadow"; }
108
+ static get originalStyleUrls() {
109
+ return {
110
+ "$": ["bs-ripple.css"]
111
+ };
112
+ }
113
+ static get styleUrls() {
114
+ return {
115
+ "$": ["bs-ripple.css"]
116
+ };
117
+ }
118
+ static get properties() {
119
+ return {
120
+ "centered": {
121
+ "type": "boolean",
122
+ "mutable": false,
123
+ "complexType": {
124
+ "original": "boolean",
125
+ "resolved": "boolean",
126
+ "references": {}
127
+ },
128
+ "required": false,
129
+ "optional": false,
130
+ "docs": {
131
+ "tags": [],
132
+ "text": "Always start the ripple from the centre instead of the press point. Use it for round or icon-only controls."
133
+ },
134
+ "getter": false,
135
+ "setter": false,
136
+ "reflect": false,
137
+ "attribute": "centered",
138
+ "defaultValue": "false"
139
+ },
140
+ "disabled": {
141
+ "type": "boolean",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "boolean",
145
+ "resolved": "boolean",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": "Turns the ripple off. A disabled parent (`<button disabled>`) also stops it."
153
+ },
154
+ "getter": false,
155
+ "setter": false,
156
+ "reflect": false,
157
+ "attribute": "disabled",
158
+ "defaultValue": "false"
159
+ },
160
+ "triggerSelector": {
161
+ "type": "string",
162
+ "mutable": false,
163
+ "complexType": {
164
+ "original": "string",
165
+ "resolved": "string",
166
+ "references": {}
167
+ },
168
+ "required": false,
169
+ "optional": true,
170
+ "docs": {
171
+ "tags": [],
172
+ "text": "CSS selector of the element to listen on, found with `closest()` from the ripple (so it stays inside\nthe same shadow tree). By default the ripple listens on its parent. Use it when the pressable element\nis bigger than the ripple's own parent, e.g. a switch whose ripple sits on the knob but whose whole\n`<label>` is the press target."
173
+ },
174
+ "getter": false,
175
+ "setter": false,
176
+ "reflect": false,
177
+ "attribute": "trigger-selector"
178
+ }
179
+ };
180
+ }
181
+ static get elementRef() { return "el"; }
182
+ static get watchers() {
183
+ return [{
184
+ "propName": "triggerSelector",
185
+ "methodName": "onTriggerChange"
186
+ }];
187
+ }
188
+ }
@@ -0,0 +1,33 @@
1
+ import { html } from "lit";
2
+ import { componentDescription, propDescription } from "../../stories-utils";
3
+ const meta = {
4
+ title: 'Motion/bs-ripple',
5
+ parameters: { docs: { description: { component: componentDescription('bs-ripple') } } },
6
+ render: args => html `
7
+ <div
8
+ style="position: relative; width: 320px; height: 120px; display: grid; place-items: center; border-radius: var(--bs-border-radius-100); background: var(--bs-surface-hover); color: var(--bs-text-default); cursor: pointer; user-select: none;"
9
+ >
10
+ Press anywhere
11
+ <bs-ripple ?centered=${args.centered} ?disabled=${args.disabled}></bs-ripple>
12
+ </div>
13
+ `,
14
+ argTypes: {
15
+ centered: { control: 'boolean', description: propDescription('bs-ripple', 'centered') },
16
+ disabled: { control: 'boolean', description: propDescription('bs-ripple', 'disabled') },
17
+ },
18
+ args: { centered: false, disabled: false },
19
+ };
20
+ export default meta;
21
+ export const Default = {};
22
+ export const Centered = { args: { centered: true } };
23
+ export const InButtons = {
24
+ render: () => html `
25
+ <bs-stack gap="200">
26
+ <bs-button>Primary</bs-button>
27
+ <bs-button variant="neutral">Neutral</bs-button>
28
+ <bs-button variant="outlined">Outlined</bs-button>
29
+ <bs-button variant="error">Error</bs-button>
30
+ <bs-button disabled>Disabled (no ripple)</bs-button>
31
+ </bs-stack>
32
+ `,
33
+ };
@@ -17,6 +17,8 @@
17
17
  }
18
18
 
19
19
  .bs-search-item {
20
+ /* Containing block for the absolutely-positioned bs-ripple layer. */
21
+ position: relative;
20
22
  box-sizing: border-box;
21
23
  display: flex;
22
24
  align-items: center;
@@ -36,6 +36,7 @@ import { h } from "@stencil/core";
36
36
  * @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
37
37
  * @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
38
38
  * @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
39
+ * @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
39
40
  */
40
41
  export class BsSearchItem {
41
42
  el;
@@ -68,7 +69,7 @@ export class BsSearchItem {
68
69
  slotFilled = (set) => (ev) => set(ev.target.assignedNodes().length > 0);
69
70
  render() {
70
71
  const role = this.selectionRole ?? undefined;
71
- return (h("div", { key: 'ff15a6983c32e576c3a1475b058b8b98c7b26906', part: "container", class: "bs-search-item", role: role, "aria-selected": role ? String(this.active) : undefined, "aria-disabled": role && this.disabled ? 'true' : undefined }, h("span", { key: 'a7d9ce608a6354301292b3a5581b598459d1e748', part: "icon", class: { 'bs-search-item__icon': true, 'bs-search-item__icon--hidden': !this.hasIcon } }, h("slot", { key: '842835090311c9139a58058db8b813dd08cefe63', name: "icon", onSlotchange: this.slotFilled(v => (this.hasIcon = v)) })), h("span", { key: '49593768f387d0c6c551a02c5a45c7f9907d48cc', part: "content", class: "bs-search-item__content" }, h("span", { key: '88f041e7c4ff60001c3b29beb0b60272ac8f5ab8', part: "label", class: "bs-search-item__label" }, h("slot", { key: 'd987b5809b3aa4acafe7d3fe99e477adf3ef94c1' })), h("span", { key: '54be04f167f1b95b0930755f33a827fe6b0be69d', part: "description", class: { 'bs-search-item__description': true, 'bs-search-item__description--hidden': !this.hasDescription } }, h("slot", { key: '1f5557fe80ba24b69d9b8879be119edb4602c881', name: "description", onSlotchange: this.slotFilled(v => (this.hasDescription = v)) }))), h("span", { key: '5a6a5fc58a12cc02f8ab4555bc580f63af137232', part: "trailing", class: { 'bs-search-item__trailing': true, 'bs-search-item__trailing--hidden': !this.hasTrailingSlot && !this.trailing } }, h("slot", { key: '89514db103242c48b2d062340558aa6ded0d157b', name: "trailing", onSlotchange: this.slotFilled(v => (this.hasTrailingSlot = v)) }, this.trailing))));
72
+ return (h("div", { key: '5a3a8580e47d0c10e55db1b787b0b74e6cb3a4f3', part: "container", class: "bs-search-item", role: role, "aria-selected": role ? String(this.active) : undefined, "aria-disabled": role && this.disabled ? 'true' : undefined }, !this.disabled && h("bs-ripple", { key: 'c8e27ae7b1e0d50f8ecff26c91bcae9c3b62950f', part: "ripple" }), h("span", { key: '81ad3c5bec85021e7276909753e4f1a3a17e4b00', part: "icon", class: { 'bs-search-item__icon': true, 'bs-search-item__icon--hidden': !this.hasIcon } }, h("slot", { key: '88262df53a785c5e60b8ec3935b1d1861cf1ae6a', name: "icon", onSlotchange: this.slotFilled(v => (this.hasIcon = v)) })), h("span", { key: '5924d34123f7889eddd068ee24a2dfc6df8f41b3', part: "content", class: "bs-search-item__content" }, h("span", { key: '671557c0b077e15450be02e5bb474c0f449dfea7', part: "label", class: "bs-search-item__label" }, h("slot", { key: '97ebaf915bcc552fd77d78e7ddb39fdc640ee023' })), h("span", { key: 'e60d0190f0c562c041d0c305917220f4a34f450f', part: "description", class: { 'bs-search-item__description': true, 'bs-search-item__description--hidden': !this.hasDescription } }, h("slot", { key: 'd044cb988f1edc550a18cfe06a9258b7cae2f15f', name: "description", onSlotchange: this.slotFilled(v => (this.hasDescription = v)) }))), h("span", { key: 'e55b0b5c9a7fb2531f6d20667970dc587a27b140', part: "trailing", class: { 'bs-search-item__trailing': true, 'bs-search-item__trailing--hidden': !this.hasTrailingSlot && !this.trailing } }, h("slot", { key: 'bae1da141d180b3dbb788c19a632548d0127bd64', name: "trailing", onSlotchange: this.slotFilled(v => (this.hasTrailingSlot = v)) }, this.trailing))));
72
73
  }
73
74
  static get is() { return "bs-search-item"; }
74
75
  static get encapsulation() { return "shadow"; }
@@ -196,7 +196,7 @@ export class BsSessionTimeout {
196
196
  const description = this.description ?? d.description;
197
197
  const primary = this.primaryLabel ?? d.primary;
198
198
  const secondary = this.secondaryLabel ?? d.secondary;
199
- return (h("bs-card", { key: '417d136aee9e7681c3f2688812551e7959afd08e', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: '9ba89446e15520a424f57c45ef64b85096999ce7', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: '4dc5931a2592b6a8fb31a39ffd8798ec719e9507', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: '23d73a04db2be77202d11b2fc0c8eefa35e020f8', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: 'd3e939b8029a13b96f20b3b72065f6dc725f1644', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: 'aa89f53279f9fa3db8de1374b6e9706996b0dcd6' }), h("span", { key: 'c2f192016e62865413684b5adf38ace82a3283ca' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: '11fa6269c05185c4d5261416e8baa67d0474820a', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: '8e804826c0ebb62007a7b4235639a24d162552f8', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: '3eff5c096263d3a79e897196a04ab57584dcf78d', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: 'b52dd407d444e940fb772b1d5db23e29d6783ce3', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: 'f226901ff4b92180cf6955dbfd3347311e5a3704', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: '8a048139dd6a4211c56764388ee17dc599048725', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: 'a9dd14df0ba32c8bfaa042ad316a3a71faed7a43', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
199
+ return (h("bs-card", { key: '6e8091dcd3e15ebf5b68dc024f69ef23cf1850d4', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: '53eca19dff3cde4bac5b0fac889da620980db6d6', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: '07074e81e49beaada9dd4b92770bfd4999353629', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: '362feaab173e019303ab2e69bb6c38a8ac5898f6', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: 'b264006e5b5fc1ad21850d2b00b7a8fda4f0da18', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: 'b5928e557e3b4b84e56e4312652725f03a3349da' }), h("span", { key: 'a9830a6ecb1cc3c889132c298bf93ae1cd590b09' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: 'de05950cdcbbaee5bea7f9078ab21675423720a5', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: 'f3c9295fd63ab6362ff3c3821e994523a6faed4a', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: 'b121ea361fd5e69092079f5aa87f5af06e46039e', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: '77acc3ed926513e60706d02fcb3077dee05b5b26', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: 'f8279d2ddb817395c88bd5d467f3a53ce927ac77', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: '40c06a5a88c6b91833f50b61db6953a205f8102a', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: '179e7d8a22872c50f531758bfc64b1de7c4f557d', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
200
200
  }
201
201
  static get is() { return "bs-session-timeout"; }
202
202
  static get encapsulation() { return "shadow"; }
@@ -36,7 +36,7 @@ export class BsShortcutRow {
36
36
  /** Set by the parent list (`"listitem"`). Standalone rows have no role. */
37
37
  selectionRole = null;
38
38
  render() {
39
- return (h("div", { key: '019d1b17a212cfc3732533c31eb45d53adcecff3', part: "container", class: "bs-shortcut-row", role: this.selectionRole ?? undefined }, h("span", { key: '21fe3aa23547e79bdb9a9bb436f593b059ffaefc', part: "action", class: "bs-shortcut-row__action" }, h("slot", { key: '98e36778be62584ef1bf5f021392f978cc52cf6d' }, this.action)), h("span", { key: '73470e43a024637de6dbb8fcd27917247233caea', part: "keys", class: "bs-shortcut-row__keys" }, h("slot", { key: 'c004ffae40b85181aaf35e1d5f5e3581eb386700', name: "keys" }, h("bs-key-caps", { key: 'd5bea5cfc5e156cd6789950e691896b6c50a62e0', keys: this.keys, label: this.label, disabled: this.disabled })))));
39
+ return (h("div", { key: 'd336bcc14fe7dcd1e89e436869fc3a45f354d6e8', part: "container", class: "bs-shortcut-row", role: this.selectionRole ?? undefined }, h("span", { key: '45583d2bd4a7ef0b803e09d044bb90d5db86fe56', part: "action", class: "bs-shortcut-row__action" }, h("slot", { key: '3dd97ce7647a6efe7f7f0f4f4f10bda2f7f282b9' }, this.action)), h("span", { key: '3974fb0a6d0ca7aaaf136253db49e53c4dbedca4', part: "keys", class: "bs-shortcut-row__keys" }, h("slot", { key: '3341c3a3e96eb4e0f1cbe821ea2a52936fa1bb37', name: "keys" }, h("bs-key-caps", { key: 'cbd12693cf4c679e7dcd04e3e00a7d7c43d1fe76', keys: this.keys, label: this.label, disabled: this.disabled })))));
40
40
  }
41
41
  static get is() { return "bs-shortcut-row"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -1,4 +1,5 @@
1
1
  import { render, h, describe, it, expect } from "@stencil/vitest";
2
+ const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
2
3
  describe('bs-side-panel', () => {
3
4
  it('renders nothing when closed', async () => {
4
5
  const { root } = await render(h("bs-side-panel", { heading: "History" }, "Body"));
@@ -114,4 +115,22 @@ describe('bs-side-panel', () => {
114
115
  expect(plain.inert).toBe(false);
115
116
  plain.remove();
116
117
  });
118
+ describe('open/close motion', () => {
119
+ it('stays mounted while it slides out, then unmounts', async () => {
120
+ const { root, waitForChanges } = await render(h("bs-side-panel", { open: true, heading: "History", style: { '--bs-side-panel-duration': '150ms' } }, "Body"));
121
+ root.open = false;
122
+ await waitForChanges();
123
+ expect(root.shadowRoot.querySelector('[role="dialog"]')).not.toBeNull();
124
+ expect(root.shadowRoot.querySelector('.bs-side-panel')).toHaveClass('bs-side-panel--closing');
125
+ await wait(400);
126
+ await waitForChanges();
127
+ expect(root.shadowRoot.querySelector('[role="dialog"]')).toBeNull();
128
+ });
129
+ it('unmounts immediately when the duration is 0ms', async () => {
130
+ const { root, waitForChanges } = await render(h("bs-side-panel", { open: true, heading: "History", style: { '--bs-side-panel-duration': '0ms' } }, "Body"));
131
+ root.open = false;
132
+ await waitForChanges();
133
+ expect(root.shadowRoot.querySelector('[role="dialog"]')).toBeNull();
134
+ });
135
+ });
117
136
  });
@@ -6,6 +6,8 @@
6
6
  --bs-side-panel-overlay-bg: var(--bs-surface-overlay);
7
7
  --bs-side-panel-color: var(--bs-text-default);
8
8
  --bs-side-panel-z-index: var(--bs-z-index-modal);
9
+ --bs-side-panel-duration: var(--bs-duration-slow);
10
+ --bs-side-panel-easing: var(--bs-easing-standard);
9
11
  }
10
12
 
11
13
  .bs-side-panel {
@@ -75,3 +77,9 @@
75
77
  .bs-side-panel__footer {
76
78
  padding: var(--bs-side-panel-padding);
77
79
  }
80
+
81
+ /* On its way out: neither the panel nor the backdrop may take clicks. */
82
+ .bs-side-panel--closing .bs-side-panel__overlay,
83
+ .bs-side-panel--closing .bs-side-panel__panel {
84
+ pointer-events: none;
85
+ }
@@ -1,4 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
+ import { cancelMotion, play, readMotion } from "../../utils/motion";
2
3
  let panelId = 0;
3
4
  /**
4
5
  * A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
@@ -30,6 +31,8 @@ let panelId = 0;
30
31
  * @prop --bs-side-panel-overlay-bg - Backdrop color. Aliased to `--bs-surface-overlay`.
31
32
  * @prop --bs-side-panel-color - Text color. Aliased to `--bs-text-default`.
32
33
  * @prop --bs-side-panel-z-index - Stacking order. Aliased to `--bs-z-index-modal`.
34
+ * @prop --bs-side-panel-duration - Length of the slide in/out. Aliased to `--bs-duration-slow`.
35
+ * @prop --bs-side-panel-easing - Curve of the slide in/out. Aliased to `--bs-easing-standard`.
33
36
  */
34
37
  export class BsSidePanel {
35
38
  el;
@@ -50,7 +53,24 @@ export class BsSidePanel {
50
53
  panelEl;
51
54
  /** Elements we set `inert` on (so we only undo our own changes). */
52
55
  inertified = [];
56
+ /** True while the slide-out plays after `open` went false, so the panel stays mounted for it. */
57
+ closing = false;
58
+ overlayEl;
59
+ enterPending = false;
60
+ exitPending = false;
61
+ motionRun = 0;
62
+ wasRendered = false;
53
63
  onOpenChange(next) {
64
+ this.motionRun++;
65
+ cancelMotion(this.overlayEl, this.panelEl);
66
+ if (next) {
67
+ this.closing = false;
68
+ this.enterPending = true;
69
+ }
70
+ else if (this.wasRendered && readMotion(this.el, 'bs-side-panel').ms > 0) {
71
+ this.closing = true;
72
+ this.exitPending = true;
73
+ }
54
74
  if (next) {
55
75
  this.previouslyFocused = document.activeElement ?? null;
56
76
  this.applyInert();
@@ -144,7 +164,38 @@ export class BsSidePanel {
144
164
  first.focus();
145
165
  }
146
166
  }
167
+ /** Where the panel sits when hidden: fully past its own edge. Physical, like the panel's own left/right. */
168
+ offscreen() {
169
+ return this.side === 'start' ? 'translateX(-100%)' : 'translateX(100%)';
170
+ }
171
+ playEnter() {
172
+ const { ms, easing } = readMotion(this.el, 'bs-side-panel');
173
+ if (ms === 0)
174
+ return;
175
+ play(this.overlayEl, [{ opacity: 0 }, { opacity: 1 }], ms, easing);
176
+ play(this.panelEl, [{ transform: this.offscreen() }, { transform: 'none' }], ms, easing);
177
+ }
178
+ playExit() {
179
+ const { ms, easing } = readMotion(this.el, 'bs-side-panel');
180
+ const run = ++this.motionRun;
181
+ Promise.all([
182
+ play(this.overlayEl, [{ opacity: 1 }, { opacity: 0 }], ms, easing, 'forwards'),
183
+ play(this.panelEl, [{ transform: 'none' }, { transform: this.offscreen() }], ms, easing, 'forwards'),
184
+ ]).then(() => {
185
+ if (run === this.motionRun)
186
+ this.closing = false;
187
+ });
188
+ }
147
189
  componentDidRender() {
190
+ this.wasRendered = this.open || this.closing;
191
+ if (this.open && this.enterPending) {
192
+ this.enterPending = false;
193
+ this.playEnter();
194
+ }
195
+ else if (!this.open && this.closing && this.exitPending) {
196
+ this.exitPending = false;
197
+ this.playExit();
198
+ }
148
199
  if (this.open && this.panelEl && !this.focusedIn) {
149
200
  this.focusedIn = true;
150
201
  this.panelEl.focus();
@@ -168,9 +219,9 @@ export class BsSidePanel {
168
219
  }
169
220
  };
170
221
  render() {
171
- if (!this.open)
222
+ if (!this.open && !this.closing)
172
223
  return null;
173
- return (h("div", { class: `bs-side-panel bs-side-panel--${this.side}`, onKeyDown: this.onKeyDown }, this.overlay && h("div", { part: "overlay", class: "bs-side-panel__overlay", onClick: this.close }), h("div", { part: "panel", class: "bs-side-panel__panel", role: "dialog", "aria-modal": "true", "aria-labelledby": this.headingId, tabindex: "-1", ref: el => (this.panelEl = el) }, h("div", { part: "header", class: "bs-side-panel__header" }, h("h2", { part: "heading", id: this.headingId, class: "bs-side-panel__heading" }, this.heading), h("div", { class: "bs-side-panel__actions" }, h("slot", { name: "header-actions" }), h("bs-icon-button", { variant: "subtle", ariaLabel: this.closeLabel, onClick: this.close }, h("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { d: "M6 6L18 18M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" }))))), h("div", { part: "body", class: "bs-side-panel__body" }, h("slot", null)), h("div", { part: "footer", class: "bs-side-panel__footer" }, h("slot", { name: "footer" })))));
224
+ return (h("div", { class: `bs-side-panel bs-side-panel--${this.side} ${this.open ? '' : 'bs-side-panel--closing'}`, onKeyDown: this.onKeyDown }, this.overlay && h("div", { part: "overlay", class: "bs-side-panel__overlay", onClick: this.close, ref: el => (this.overlayEl = el) }), h("div", { part: "panel", class: "bs-side-panel__panel", role: "dialog", "aria-modal": "true", "aria-labelledby": this.headingId, tabindex: "-1", ref: el => (this.panelEl = el) }, h("div", { part: "header", class: "bs-side-panel__header" }, h("h2", { part: "heading", id: this.headingId, class: "bs-side-panel__heading" }, this.heading), h("div", { class: "bs-side-panel__actions" }, h("slot", { name: "header-actions" }), h("bs-icon-button", { variant: "subtle", ariaLabel: this.closeLabel, onClick: this.close }, h("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { d: "M6 6L18 18M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" }))))), h("div", { part: "body", class: "bs-side-panel__body" }, h("slot", null)), h("div", { part: "footer", class: "bs-side-panel__footer" }, h("slot", { name: "footer" })))));
174
225
  }
175
226
  static get is() { return "bs-side-panel"; }
176
227
  static get encapsulation() { return "shadow"; }
@@ -294,6 +345,11 @@ export class BsSidePanel {
294
345
  }
295
346
  };
296
347
  }
348
+ static get states() {
349
+ return {
350
+ "closing": {}
351
+ };
352
+ }
297
353
  static get events() {
298
354
  return [{
299
355
  "method": "bsClose",
@@ -60,7 +60,7 @@ export class BsSkeleton {
60
60
  lines.push(h("span", { part: "line", class: { 'bs-skeleton__line': true, [`bs-skeleton__line--${this.variant}`]: true, 'bs-skeleton__line--short': isShortLast }, style: style }));
61
61
  }
62
62
  const hasLabel = !!this.label;
63
- return (h("span", { key: 'e0351fc81dcf42831238b46015159672c5f05044', part: "container", class: { 'bs-skeleton': true, 'bs-skeleton--animated': this.animated, [`bs-skeleton--${this.variant}`]: true }, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, lines));
63
+ return (h("span", { key: '0ee4009d1f3de93bdca785aac769f559c42b4d27', part: "container", class: { 'bs-skeleton': true, 'bs-skeleton--animated': this.animated, [`bs-skeleton--${this.variant}`]: true }, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, lines));
64
64
  }
65
65
  static get is() { return "bs-skeleton"; }
66
66
  static get encapsulation() { return "shadow"; }
@@ -233,7 +233,7 @@ export class BsSlider {
233
233
  render() {
234
234
  const isRange = this.type === 'range';
235
235
  const rootClasses = ['bs-slider', this.disabled ? 'bs-slider--disabled' : ''].filter(Boolean).join(' ');
236
- return (h("div", { key: 'd9db9ea41a0bf6b19513967b97aace0dcf8441ad', class: rootClasses }, this.showLabel && (h("div", { key: 'cd526f47736d86f89ef498cfdef32a0e2d6eff41', class: "bs-slider__header" }, h("span", { key: 'f69780fc00ed0aa8fb91612646883a9a2594cdee', id: "bs-slider-label", part: "label", class: "bs-slider__label" }, this.label), isRange ? (h("span", { class: "bs-slider__value-fields" }, this.renderPercentField(this.percent(this.effectiveValueStart), this.onStartPercentFieldChange, this.ariaLabel ?? this.startValueLabel), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : this.endValueLabel))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: 'b010c143ed9717fd2c5de226d8f069dbf6c4d6f8', class: "bs-slider__row" }, this.showLabel && (h("span", { key: 'dc880f89d866fb2f32bc5a0bb3213678e9ede851', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: 'f99450e8ff78789f88b6f4eafb31d48cb623d6d6', part: "bound", class: "bs-slider__bound" }, this.max)))));
236
+ return (h("div", { key: '78480dc37808335f258e1ad06e8b19ca97aed1b9', class: rootClasses }, this.showLabel && (h("div", { key: '0fd24602403f811367605786a07d9962c6f3522f', class: "bs-slider__header" }, h("span", { key: 'dd1c85fa0c4718e381bfef7f00977230d60e9d6c', id: "bs-slider-label", part: "label", class: "bs-slider__label" }, this.label), isRange ? (h("span", { class: "bs-slider__value-fields" }, this.renderPercentField(this.percent(this.effectiveValueStart), this.onStartPercentFieldChange, this.ariaLabel ?? this.startValueLabel), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : this.endValueLabel))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: '6628c6c2332590f3580a759903bfc2b817ec1ef6', class: "bs-slider__row" }, this.showLabel && (h("span", { key: 'ecda7ec3285991312fbd0fba003294ba94fa8777', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: '3db1ee50efbfe1d14aae2609997bbd589710f2d1', part: "bound", class: "bs-slider__bound" }, this.max)))));
237
237
  }
238
238
  static get is() { return "bs-slider"; }
239
239
  static get encapsulation() { return "shadow"; }
@@ -67,7 +67,7 @@ export class BsSnackbar {
67
67
  this.bsDismiss.emit();
68
68
  };
69
69
  render() {
70
- return (h("div", { key: 'b16a2868bd2de4cb2d1acc8e0f01ba6b2b249d07', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: 'cbd5c263b03734f7f43858a28d7b81abd529b06a', class: "bs-snackbar__content" }, h("span", { key: '8dec1eb35c2cbb9d611f84f49c0db993fb6c8d67', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: '6fada5eb6ce220e4a0c19e12afc238e04f094058', part: "message", class: "bs-snackbar__message" }, h("slot", { key: 'c13059e6ce29b13323f2498eb4228ad8976adedc' }))), h("div", { key: '43128f9b4faf428b3fa2b631aaf2ee6241d85028', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '99aa344e0e668a7867f64be05088d9ac0d509c97', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: '9ab854da28d9c5f2c3f4c001896d0bc311a6fa96', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '79d37f2641743f006e5a1fd6462e6998284c9c23' }))))));
70
+ return (h("div", { key: '26aad3204c2d6ca34162da66a173afab22663973', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: '8837bc51a479fbd276b2c02fccf98eb3e6683801', class: "bs-snackbar__content" }, h("span", { key: '791564815c28aebeabff97b6b113f04acc4fa0b6', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: '28920c114f18f996d0dc4778d4de2ff523626c99', part: "message", class: "bs-snackbar__message" }, h("slot", { key: '4bf02f4ad00ab5a3def30c066648b4df55bf7457' }))), h("div", { key: '7f3c619ba2164e8e7eb780c737b410a50fdf813b', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '43886c3acaef928d08cf76d8d4660df6100f1ba3', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: 'd28c20079af83708865ad4b6ba72a65de2a1d458', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '7f9df3eef9dcf22f587b69e4ecd36566876c29b9' }))))));
71
71
  }
72
72
  static get is() { return "bs-snackbar"; }
73
73
  static get encapsulation() { return "shadow"; }
@@ -14,6 +14,8 @@
14
14
  }
15
15
 
16
16
  .bs-source-link {
17
+ /* Containing block for the absolutely-positioned bs-ripple layer. */
18
+ position: relative;
17
19
  box-sizing: border-box;
18
20
  display: flex;
19
21
  align-items: center;
@@ -32,6 +32,7 @@ import { h } from "@stencil/core";
32
32
  * @prop --bs-source-link-icon-color - File icon and arrow color. Aliased to `--bs-icon-default`.
33
33
  * @prop --bs-source-link-dot-color - Separator dot between source and version. Aliased to
34
34
  * `--bs-text-secondary`.
35
+ * @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
35
36
  */
36
37
  export class BsSourceLink {
37
38
  /** The cited document's filename. */
@@ -51,8 +52,9 @@ export class BsSourceLink {
51
52
  };
52
53
  render() {
53
54
  const inner = [
54
- h("span", { key: '9572b79e4cd438c467f929176f8902add784daa9', class: "bs-source-link__left" }, h("span", { key: '4e78ee66c58ce90028f808c8dfe6e47073935dfb', class: "bs-source-link__filename-row" }, h("span", { key: '28fe6cb713250185200574cb84046dd81162d408', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: '539a353101091a029b9c0b719c518e20b12c328b', name: "icon" }, h(FileTextIcon, { key: '165fd7898e00afc33aee871a5d9bea62af150d42' }))), h("p", { key: '2ed7dd64c0999eb1a9f776edc0cdf3663f7144f9', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: '929373efd21a172ea8cf8364c60bf8fad750c0f0', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: '4ec488047359b61b875fdfb35b051fdaaea529dd', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: '2db5112b0d0d5e1f1bad743f008bcd492a88bf24', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: '2ffbec44121787991c57b662a7ab3ea2b7eda848', part: "version", class: "bs-source-link__version" }, this.version)))),
55
- h("span", { key: '4207fea42538d9da5139eb12f9441faf87555215', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: '9ca2ac0f0ed7fc1b5f90ae7650620281b4a5b1ee' })),
55
+ h("bs-ripple", { key: '2ddd937da894bc3584b82489e35d41167c19cb6c', part: "ripple" }),
56
+ h("span", { key: 'd1141377078beec80d8726b1633ea9261bce215d', class: "bs-source-link__left" }, h("span", { key: '75d04109faa8168ba271c8bfc2cfd15abf02fb57', class: "bs-source-link__filename-row" }, h("span", { key: '50f28021063c49b0ccc7348e7b0b9cd6ca0749b7', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: 'aca4ff56e585d65d2b38d0b1f8634d56d521b549', name: "icon" }, h(FileTextIcon, { key: 'e89b337ded8658b2b76ba59e6ea79e70763ddb72' }))), h("p", { key: '5d9cdf3618072784aeb9bd067ae505b57afa625c', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: '35d6d485989679eb05b6fcf2096477456e6b7bc0', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: 'e3ffae28c3ed65d255961c172eb823d52583c7b2', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: 'c460e9ccfa2d92b11d8bb2a1e87fcedc94d392ae', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: '9a33d16c96a6d904dd1b69169170da0d0801b9f1', part: "version", class: "bs-source-link__version" }, this.version)))),
57
+ h("span", { key: 'c2f42b73b59ae97bb8e95e80c20a2038826329bf', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: '61d67aaa0a4382ecb12ed49d5716e1c4385c6af5' })),
56
58
  ];
57
59
  return this.href ? (h("a", { class: "bs-source-link", href: this.href, target: this.target, rel: "noopener noreferrer", onClick: this.onClick }, inner)) : (h("button", { type: "button", class: "bs-source-link", onClick: this.onClick }, inner));
58
60
  }
@@ -30,7 +30,7 @@ export class BsSpinner {
30
30
  label;
31
31
  render() {
32
32
  const hasLabel = !!this.label;
33
- return (h("span", { key: '73a069aba17ae7ddd5e18e203801d367b017352f', part: "container", class: `bs-spinner bs-spinner--${this.size}`, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, h("svg", { key: '087c596109a43266ec8d3ad9aa61cacee53c9694', part: "svg", class: "bs-spinner__svg", viewBox: "0 0 24 24", fill: "none", focusable: "false" }, h("circle", { key: '1de135213d827e2397815890d6606dfe908c10d7', class: "bs-spinner__track", cx: "12", cy: "12", r: "9", "stroke-width": "3" }), h("path", { key: 'c5a6f2689dfdc3e35fe253a20dab2133fc25d4c4', class: "bs-spinner__arc", d: "M12 3a9 9 0 0 1 9 9", "stroke-width": "3", "stroke-linecap": "round" }))));
33
+ return (h("span", { key: '17b3ac21aefe35279e52717c529bcba6d2ae7b75', part: "container", class: `bs-spinner bs-spinner--${this.size}`, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, h("svg", { key: '8ca1165795b8fadb7ea3c3c8228fc6f24d3ce3b2', part: "svg", class: "bs-spinner__svg", viewBox: "0 0 24 24", fill: "none", focusable: "false" }, h("circle", { key: '07d9b05e6e6f11e742bdbeea99e7f31322696363', class: "bs-spinner__track", cx: "12", cy: "12", r: "9", "stroke-width": "3" }), h("path", { key: '83d83f51d3c89cc3997950ff94e4911c6d1c0748', class: "bs-spinner__arc", d: "M12 3a9 9 0 0 1 9 9", "stroke-width": "3", "stroke-linecap": "round" }))));
34
34
  }
35
35
  static get is() { return "bs-spinner"; }
36
36
  static get encapsulation() { return "shadow"; }
@@ -215,7 +215,7 @@ export class BsSplitPane {
215
215
  nodes.push(h("div", { part: "divider", class: { 'bs-split-pane__divider': true, 'bs-split-pane__divider--active': this.draggingIndex === i, 'bs-split-pane__divider--static': !this.resizable }, role: "separator", "aria-orientation": dividerOrientation, "aria-label": this.dividerLabel, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": this.percentFor(i), tabindex: this.resizable ? 0 : undefined, onPointerDown: this.onPointerDown(i), onPointerMove: this.onPointerMove, onPointerUp: this.onPointerUp, onPointerCancel: this.onPointerUp, onKeyDown: this.onKeyDown(i) }, h("span", { part: "divider-thumb", class: "bs-split-pane__thumb" })));
216
216
  }
217
217
  }
218
- return (h("div", { key: '393f6696b4ee66188aba4bb9ddf3ab30b64d00e1', part: "container", class: `bs-split-pane bs-split-pane--${this.orientation}` }, nodes));
218
+ return (h("div", { key: 'c427313cbfcd736d044ced8e07658ad6de6ed0bd', part: "container", class: `bs-split-pane bs-split-pane--${this.orientation}` }, nodes));
219
219
  }
220
220
  static get is() { return "bs-split-pane"; }
221
221
  static get encapsulation() { return "shadow"; }
@@ -81,7 +81,7 @@ export class BsStack {
81
81
  parts.push(h("slot", { name: `bs-stack-item-${i}`, onSlotchange: this.sync }));
82
82
  }
83
83
  }
84
- return (h(Host, { key: '3dd99af43522ccafcafc9104fbed43e4e2f6380e', style: { '--bs-stack-gap-token': `var(--bs-spacing-${gap})` } }, h("slot", { key: 'b193f6ccb5f81420c67cf467c1163130b9e37a68', onSlotchange: this.sync }), parts));
84
+ return (h(Host, { key: '39852df38f3638826e331e5e1028fa069e15322c', style: { '--bs-stack-gap-token': `var(--bs-spacing-${gap})` } }, h("slot", { key: '9e303ef2361fd7b804aea37b1b5bf4269f480b2d', onSlotchange: this.sync }), parts));
85
85
  }
86
86
  static get is() { return "bs-stack"; }
87
87
  static get encapsulation() { return "shadow"; }
@@ -62,7 +62,7 @@ export class BsStepper {
62
62
  }
63
63
  render() {
64
64
  // role="list" so each bs-stepper-step's role="listitem" has the required parent.
65
- return (h(Host, { key: '26b3570657f0f1f53f8be811b6ccab12adfb6b95', role: "list" }, h("slot", { key: '3d50ee55ee74ca3bffccc6eb74ab4ab6228f3c65', onSlotchange: this.onSlotChange })));
65
+ return (h(Host, { key: '12784d8efa1487b3fb39f9f59d7ebcd314ad6518', role: "list" }, h("slot", { key: 'af46ba1e66089cbacbc4e0b483df643196434f0b', onSlotchange: this.onSlotChange })));
66
66
  }
67
67
  static get is() { return "bs-stepper"; }
68
68
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class BsStepperStep {
57
57
  }
58
58
  render() {
59
59
  const state = this.state;
60
- return (h(Host, { key: '901bffe1d0482fde0739f1b46fca7759624991ff', role: "listitem", class: `bs-stepper-step--${this.direction}` }, h("div", { key: '6284d29020215b566de5a74c465f97d76c75c3a5', class: "bs-stepper-step__top" }, h("span", { key: '1cdb4cab7e487957286b003bc937ff5f49e0eca9', part: "icon", class: `bs-stepper-step__icon bs-stepper-step__icon--${state}` }, state === 'current' && h("span", { key: 'ef00cbd4828d7f6e5428575ea8d85697d5ec5b55', class: "bs-stepper-step__icon-dot" }), state === 'done' && h(CheckIcon, { key: '480ca636a3d22c04dd0d8a407270efb0e4175cd1' }), state === 'error' && h(ExclamationIcon, { key: '30facdf35bc7f0dcd170a076650fc2cb117aa629' })), h("span", { key: 'a89558fd6b1677868b69512758285325890a7594', part: "connector", class: "bs-stepper-step__connector", "aria-hidden": "true" }, h("span", { key: 'e0b38e517d39a8170f06f0d2fbb6b8c5453ab818', class: "bs-stepper-step__connector-line" }))), h("span", { key: '2808ef00ddbcf4e3b92e0f9613760b8b82291d14', part: "label", class: `bs-stepper-step__label bs-stepper-step__label--${state}` }, h("span", { key: '3cb74de8b60d2d1d86bb62b444c241e2f3208d32', part: "name", class: "bs-stepper-step__name" }, this.name), this.showDescription && this.description && (h("span", { key: '3b9820069fea4b146ae886eca951430e34c86c71', part: "description", class: "bs-stepper-step__description" }, this.description)))));
60
+ return (h(Host, { key: 'e9b5948fbba4037488296cdc5e479f2070e0aff9', role: "listitem", class: `bs-stepper-step--${this.direction}` }, h("div", { key: 'debe65501bcdbc563bad4800d9f5bcad4d5de76a', class: "bs-stepper-step__top" }, h("span", { key: '0e0315aa8146c0f11e6ebd9e939735f7f339113e', part: "icon", class: `bs-stepper-step__icon bs-stepper-step__icon--${state}` }, state === 'current' && h("span", { key: 'c02f6a5c3de19fa5a2b54d6de53d0a7b345697d2', class: "bs-stepper-step__icon-dot" }), state === 'done' && h(CheckIcon, { key: '1147e186c821d21fc164ca589a2f9f6a179c145f' }), state === 'error' && h(ExclamationIcon, { key: '5f8c5874811de90db1e537b0f3d24e82e038a123' })), h("span", { key: 'b0347e06b36bf4fabdba4300803dc1a3b8c68719', part: "connector", class: "bs-stepper-step__connector", "aria-hidden": "true" }, h("span", { key: 'fa4f577a71a70151aaa3a9eb16eb2db91ba0fc01', class: "bs-stepper-step__connector-line" }))), h("span", { key: 'd5d9f431e11074aba9996833adbb9b2cb1f227cb', part: "label", class: `bs-stepper-step__label bs-stepper-step__label--${state}` }, h("span", { key: 'bb233d28351a78c13b604fd2f940b29467ae316c', part: "name", class: "bs-stepper-step__name" }, this.name), this.showDescription && this.description && (h("span", { key: '921a2bd021cb0cccb261313f3076370c8e620ccb', part: "description", class: "bs-stepper-step__description" }, this.description)))));
61
61
  }
62
62
  static get is() { return "bs-stepper-step"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -128,6 +128,8 @@
128
128
  }
129
129
 
130
130
  .bs-switch__knob {
131
+ /* Containing block for the bs-ripple halo. */
132
+ position: relative;
131
133
  box-sizing: border-box;
132
134
  border-radius: var(--bs-border-radius-full);
133
135
  background: var(--bs-switch-knob-bg);
@@ -203,3 +205,10 @@
203
205
  .bs-switch__track--checked .bs-switch__knob { background: HighlightText; }
204
206
  .bs-switch__track--disabled { border-color: GrayText; }
205
207
  }
208
+
209
+ /* Round halo that extends past the knob, tinted with the brand colour. The press target is the whole label. */
210
+ .bs-switch__ripple {
211
+ inset: -12px;
212
+ border-radius: 50%;
213
+ --bs-ripple-color: var(--bs-color-primary-default);
214
+ }