@brandsync/wc 1.12.1 → 1.14.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 (512) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/CONVENTIONS.md +109 -0
  3. package/REFERENCE.md +1388 -0
  4. package/custom-elements.json +5069 -2575
  5. package/dist/brandsync-wc/brandsync-wc.css +1 -1783
  6. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  7. package/dist/brandsync-wc/{p-83c90489.entry.js → p-00be9a64.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-b9ccd9d1.entry.js → p-020cb767.entry.js} +1 -1
  9. package/dist/brandsync-wc/p-046a53de.entry.js +1 -0
  10. package/dist/brandsync-wc/p-056608f0.entry.js +1 -0
  11. package/dist/brandsync-wc/p-0cb6fc39.entry.js +1 -0
  12. package/dist/brandsync-wc/p-0e738622.entry.js +1 -0
  13. package/dist/brandsync-wc/{p-e5daa6ca.entry.js → p-10290c41.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-e2556b4e.entry.js → p-144b6ac8.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-56c37e0a.entry.js → p-16c78ff6.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-1b5cc9b8.entry.js +1 -0
  17. package/dist/brandsync-wc/p-204cc690.entry.js +1 -0
  18. package/dist/brandsync-wc/p-221244a9.entry.js +1 -0
  19. package/dist/brandsync-wc/p-227a5182.entry.js +1 -0
  20. package/dist/brandsync-wc/p-23b56775.entry.js +1 -0
  21. package/dist/brandsync-wc/p-2967240d.entry.js +1 -0
  22. package/dist/brandsync-wc/p-2c1efaa1.entry.js +1 -0
  23. package/dist/brandsync-wc/p-2e68b76e.entry.js +1 -0
  24. package/dist/brandsync-wc/{p-a9169157.entry.js → p-315b510c.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-1978e63c.entry.js → p-31cd66e0.entry.js} +1 -1
  26. package/dist/brandsync-wc/p-3477539c.entry.js +1 -0
  27. package/dist/brandsync-wc/{p-81605b82.entry.js → p-361aef36.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-89fabf27.entry.js → p-3789c7a5.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-2497d128.entry.js → p-3dabf202.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-fc069773.entry.js → p-45cb3e6d.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-de110ad0.entry.js → p-47b7fe76.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-2f4e08e1.entry.js → p-47cd19aa.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-f15d9524.entry.js → p-4b40a596.entry.js} +1 -1
  34. package/dist/brandsync-wc/p-51f40972.entry.js +1 -0
  35. package/dist/brandsync-wc/{p-39a26c64.entry.js → p-617bd76d.entry.js} +1 -1
  36. package/dist/brandsync-wc/p-658532b7.entry.js +1 -0
  37. package/dist/brandsync-wc/{p-617bd13a.entry.js → p-686297f1.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-78f4fcf0.entry.js → p-6ca1e51b.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-52cb2358.entry.js → p-6e923ebc.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-00a0d489.entry.js → p-8048d033.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-0b2d3b7e.entry.js → p-80700878.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-2368a92e.entry.js → p-8184d7de.entry.js} +1 -1
  43. package/dist/brandsync-wc/p-833f9dc4.entry.js +1 -0
  44. package/dist/brandsync-wc/p-8390a155.entry.js +1 -0
  45. package/dist/brandsync-wc/{p-fcee0dc4.entry.js → p-89fa7567.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-7796b93f.entry.js → p-8c9938a5.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-68fcd4a4.entry.js → p-9125632c.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-416322bd.entry.js → p-94d435a2.entry.js} +1 -1
  49. package/dist/brandsync-wc/p-9d12b1fb.entry.js +1 -0
  50. package/dist/brandsync-wc/{p-5ba90a13.entry.js → p-9d660c03.entry.js} +1 -1
  51. package/dist/brandsync-wc/p-9fa67924.entry.js +1 -0
  52. package/dist/brandsync-wc/p-D3SkQJpw.js +3 -0
  53. package/dist/brandsync-wc/{p-7f954939.entry.js → p-a28ef52e.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-a2e59aca.entry.js +1 -0
  55. package/dist/brandsync-wc/{p-09435f41.entry.js → p-a5659499.entry.js} +1 -1
  56. package/dist/brandsync-wc/p-b6ac1b50.entry.js +1 -0
  57. package/dist/brandsync-wc/{p-69c0a85d.entry.js → p-b793a0d6.entry.js} +1 -1
  58. package/dist/brandsync-wc/p-bee30626.entry.js +1 -0
  59. package/dist/brandsync-wc/{p-1aab6d07.entry.js → p-c05ee501.entry.js} +1 -1
  60. package/dist/brandsync-wc/p-c488cc8b.entry.js +1 -0
  61. package/dist/brandsync-wc/p-c67bc817.entry.js +1 -0
  62. package/dist/brandsync-wc/{p-247e36ad.entry.js → p-cc1055e6.entry.js} +1 -1
  63. package/dist/brandsync-wc/p-cc25ee67.entry.js +1 -0
  64. package/dist/brandsync-wc/p-ce16f038.entry.js +1 -0
  65. package/dist/brandsync-wc/{p-491b51e6.entry.js → p-d5a6098d.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-282ddbee.entry.js → p-d892277f.entry.js} +1 -1
  67. package/dist/brandsync-wc/p-dd52209a.entry.js +1 -0
  68. package/dist/brandsync-wc/{p-09bc1923.entry.js → p-df3e7973.entry.js} +1 -1
  69. package/dist/brandsync-wc/p-dfad8c0a.entry.js +1 -0
  70. package/dist/brandsync-wc/p-e0927a9a.entry.js +1 -0
  71. package/dist/brandsync-wc/{p-0ee4126c.entry.js → p-e1b7bea7.entry.js} +1 -1
  72. package/dist/brandsync-wc/{p-0b7c77c1.entry.js → p-e65d286c.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-f5180578.entry.js → p-e6fc2cd4.entry.js} +1 -1
  74. package/dist/brandsync-wc/p-f271e1d2.entry.js +1 -0
  75. package/dist/brandsync-wc/{p-3f09296a.entry.js → p-f3eca1ce.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-2177042f.entry.js → p-fa6b9750.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-78a69a59.entry.js → p-fc76031e.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-be3dd446.entry.js → p-ffc07eb5.entry.js} +1 -1
  79. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  80. package/dist/cjs/bs-accordion-group.cjs.entry.js +33 -0
  81. package/dist/cjs/bs-accordion.cjs.entry.js +1 -1
  82. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  83. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  84. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  85. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  86. package/dist/cjs/bs-attachment.cjs.entry.js +9 -5
  87. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  88. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  89. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  90. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  91. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
  92. package/dist/cjs/bs-button-skeleton.cjs.entry.js +4 -2
  93. package/dist/cjs/bs-button.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-card.cjs.entry.js +1 -1
  95. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +18 -2
  97. package/dist/cjs/bs-chatbot-header.cjs.entry.js +20 -2
  98. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +25 -3
  99. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +4 -2
  100. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +3 -3
  101. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +4 -2
  102. package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-chip-input.cjs.entry.js +4 -2
  106. package/dist/cjs/bs-citation-preview.cjs.entry.js +29 -0
  107. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +11 -3
  108. package/dist/cjs/bs-composer.cjs.entry.js +36 -7
  109. package/dist/cjs/bs-cookie-consent.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-data-table.cjs.entry.js +5 -3
  111. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-dialog.cjs.entry.js +4 -2
  113. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  115. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-icon-tile.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
  119. package/dist/cjs/bs-input_3.cjs.entry.js +15 -7
  120. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  121. package/dist/cjs/bs-message-list.cjs.entry.js +71 -0
  122. package/dist/cjs/bs-message.cjs.entry.js +25 -0
  123. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
  124. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +9 -3
  125. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-pagination.cjs.entry.js +6 -2
  128. package/dist/cjs/bs-popover.cjs.entry.js +153 -0
  129. package/dist/cjs/bs-product-tour.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-progress-linear.cjs.entry.js +3 -3
  131. package/dist/cjs/bs-progress.cjs.entry.js +3 -3
  132. package/dist/cjs/bs-qr-code.cjs.entry.js +2 -2
  133. package/dist/cjs/bs-radio.cjs.entry.js +2 -2
  134. package/dist/cjs/bs-session-timeout.cjs.entry.js +2 -2
  135. package/dist/cjs/bs-side-panel.cjs.entry.js +164 -0
  136. package/dist/cjs/bs-skeleton.cjs.entry.js +51 -0
  137. package/dist/cjs/bs-slider.cjs.entry.js +7 -3
  138. package/dist/cjs/bs-snackbar.cjs.entry.js +2 -2
  139. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  140. package/dist/cjs/bs-spinner.cjs.entry.js +24 -0
  141. package/dist/cjs/bs-split-pane.cjs.entry.js +193 -0
  142. package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
  143. package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
  144. package/dist/cjs/bs-switch.cjs.entry.js +2 -2
  145. package/dist/cjs/bs-tab_3.cjs.entry.js +4 -4
  146. package/dist/cjs/bs-timepicker.cjs.entry.js +8 -4
  147. package/dist/cjs/bs-toast.cjs.entry.js +4 -2
  148. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +46 -0
  149. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  150. package/dist/cjs/bs-whats-new.cjs.entry.js +1 -1
  151. package/dist/cjs/index-BYfMRtlW.js +1863 -0
  152. package/dist/cjs/loader.cjs.js +2 -2
  153. package/dist/collection/collection-manifest.json +10 -0
  154. package/dist/collection/components/bs-accordion-group/bs-accordion-group.cmp.test.js +39 -0
  155. package/dist/collection/components/bs-accordion-group/bs-accordion-group.css +10 -0
  156. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +86 -0
  157. package/dist/collection/components/bs-accordion-group/bs-accordion-group.stories.js +18 -0
  158. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  159. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  160. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  161. package/dist/collection/components/bs-attachment/bs-attachment.js +48 -4
  162. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  163. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  164. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +23 -1
  165. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.cmp.test.js +10 -0
  166. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +178 -2
  167. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.cmp.test.js +6 -0
  168. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +200 -1
  169. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.cmp.test.js +8 -0
  170. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +4 -0
  171. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +223 -1
  172. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +24 -2
  173. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.css +1 -4
  174. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +3 -6
  175. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +23 -1
  176. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +23 -1
  177. package/dist/collection/components/bs-citation-preview/bs-citation-preview.cmp.test.js +34 -0
  178. package/dist/collection/components/bs-citation-preview/bs-citation-preview.css +36 -0
  179. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +154 -0
  180. package/dist/collection/components/bs-citation-preview/bs-citation-preview.stories.js +22 -0
  181. package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +29 -2
  182. package/dist/collection/components/bs-composer/bs-composer.css +16 -0
  183. package/dist/collection/components/bs-composer/bs-composer.js +234 -6
  184. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.cmp.test.js +5 -0
  185. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.css +16 -0
  186. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +49 -1
  187. package/dist/collection/components/bs-data-table/bs-data-table.js +24 -2
  188. package/dist/collection/components/bs-dialog/bs-dialog.js +23 -1
  189. package/dist/collection/components/bs-input/bs-input.js +92 -4
  190. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  191. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  192. package/dist/collection/components/bs-message/bs-message.cmp.test.js +36 -0
  193. package/dist/collection/components/bs-message/bs-message.css +77 -0
  194. package/dist/collection/components/bs-message/bs-message.js +156 -0
  195. package/dist/collection/components/bs-message/bs-message.stories.js +33 -0
  196. package/dist/collection/components/bs-message-list/bs-message-list.cmp.test.js +58 -0
  197. package/dist/collection/components/bs-message-list/bs-message-list.css +40 -0
  198. package/dist/collection/components/bs-message-list/bs-message-list.js +161 -0
  199. package/dist/collection/components/bs-message-list/bs-message-list.stories.js +17 -0
  200. package/dist/collection/components/bs-pagination/bs-pagination.cmp.test.js +5 -0
  201. package/dist/collection/components/bs-pagination/bs-pagination.js +45 -1
  202. package/dist/collection/components/bs-popover/bs-popover.cmp.test.js +107 -0
  203. package/dist/collection/components/bs-popover/bs-popover.css +61 -0
  204. package/dist/collection/components/bs-popover/bs-popover.js +247 -0
  205. package/dist/collection/components/bs-popover/bs-popover.stories.js +26 -0
  206. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  207. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  208. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  209. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  210. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  211. package/dist/collection/components/bs-side-panel/bs-side-panel.cmp.test.js +117 -0
  212. package/dist/collection/components/bs-side-panel/bs-side-panel.css +77 -0
  213. package/dist/collection/components/bs-side-panel/bs-side-panel.js +325 -0
  214. package/dist/collection/components/bs-side-panel/bs-side-panel.stories.js +24 -0
  215. package/dist/collection/components/bs-skeleton/bs-skeleton.cmp.test.js +49 -0
  216. package/dist/collection/components/bs-skeleton/bs-skeleton.css +62 -0
  217. package/dist/collection/components/bs-skeleton/bs-skeleton.js +204 -0
  218. package/dist/collection/components/bs-skeleton/bs-skeleton.stories.js +43 -0
  219. package/dist/collection/components/bs-slider/bs-slider.js +46 -2
  220. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  221. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  222. package/dist/collection/components/bs-spinner/bs-spinner.cmp.test.js +32 -0
  223. package/dist/collection/components/bs-spinner/bs-spinner.css +61 -0
  224. package/dist/collection/components/bs-spinner/bs-spinner.js +96 -0
  225. package/dist/collection/components/bs-spinner/bs-spinner.stories.js +30 -0
  226. package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +107 -0
  227. package/dist/collection/components/bs-split-pane/bs-split-pane.css +108 -0
  228. package/dist/collection/components/bs-split-pane/bs-split-pane.js +404 -0
  229. package/dist/collection/components/bs-split-pane/bs-split-pane.stories.js +47 -0
  230. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  231. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  232. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  233. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  234. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  235. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  236. package/dist/collection/components/bs-timepicker/bs-timepicker.js +48 -4
  237. package/dist/collection/components/bs-toast/bs-toast.js +23 -1
  238. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  239. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.js +73 -0
  240. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.css +52 -0
  241. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +140 -0
  242. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.stories.js +21 -0
  243. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  244. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +68 -2
  245. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  246. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  247. package/dist/collection/global/brand-theming.cmp.test.js +44 -0
  248. package/dist/components/bs-accordion-group.d.ts +11 -0
  249. package/dist/components/bs-accordion-group.js +1 -0
  250. package/dist/components/bs-accordion.js +1 -1
  251. package/dist/components/bs-ai-disclaimer.js +1 -1
  252. package/dist/components/bs-ai-greeting.js +1 -1
  253. package/dist/components/bs-ai-thinking.js +1 -1
  254. package/dist/components/bs-attachment-list.js +1 -1
  255. package/dist/components/bs-attachment.js +1 -1
  256. package/dist/components/bs-avatar.js +1 -1
  257. package/dist/components/bs-badge.js +1 -1
  258. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  259. package/dist/components/bs-breadcrumb.js +1 -1
  260. package/dist/components/bs-breadcrumbs.js +1 -1
  261. package/dist/components/bs-button-skeleton.js +1 -1
  262. package/dist/components/bs-button.js +1 -1
  263. package/dist/components/bs-card.js +1 -1
  264. package/dist/components/bs-carousel.js +1 -1
  265. package/dist/components/bs-chatbot-feedback.js +1 -1
  266. package/dist/components/bs-chatbot-header.js +1 -1
  267. package/dist/components/bs-chatbot-response-action.js +1 -1
  268. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  269. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  270. package/dist/components/bs-checkbox-skeleton.js +1 -1
  271. package/dist/components/bs-checkbox.js +1 -1
  272. package/dist/components/bs-chip-filter.js +1 -1
  273. package/dist/components/bs-chip-informative.js +1 -1
  274. package/dist/components/bs-chip-input.js +1 -1
  275. package/dist/components/bs-citation-preview.d.ts +11 -0
  276. package/dist/components/bs-citation-preview.js +1 -0
  277. package/dist/components/bs-composer-status-banner.js +1 -1
  278. package/dist/components/bs-composer.js +1 -1
  279. package/dist/components/bs-cookie-consent.js +1 -1
  280. package/dist/components/bs-data-table.js +1 -1
  281. package/dist/components/bs-datepicker.js +1 -1
  282. package/dist/components/bs-dialog.js +1 -1
  283. package/dist/components/bs-error-page.js +1 -1
  284. package/dist/components/bs-file-upload-item.js +1 -1
  285. package/dist/components/bs-file-upload.js +1 -1
  286. package/dist/components/bs-icon-button.js +1 -1
  287. package/dist/components/bs-icon-tile.js +1 -1
  288. package/dist/components/bs-inline-tab.js +1 -1
  289. package/dist/components/bs-input.js +1 -1
  290. package/dist/components/bs-logo.js +1 -1
  291. package/dist/components/bs-menu-item.js +1 -1
  292. package/dist/components/bs-menu.js +1 -1
  293. package/dist/components/bs-message-list.d.ts +11 -0
  294. package/dist/components/bs-message-list.js +1 -0
  295. package/dist/components/bs-message.d.ts +11 -0
  296. package/dist/components/bs-message.js +1 -0
  297. package/dist/components/bs-navigation-drawer-item.js +1 -1
  298. package/dist/components/bs-navigation-drawer.js +1 -1
  299. package/dist/components/bs-navigation-header.js +1 -1
  300. package/dist/components/bs-onboarding-checklist.js +1 -1
  301. package/dist/components/bs-pagination.js +1 -1
  302. package/dist/components/bs-popover.d.ts +11 -0
  303. package/dist/components/bs-popover.js +1 -0
  304. package/dist/components/bs-product-tour.js +1 -1
  305. package/dist/components/bs-progress-linear.js +1 -1
  306. package/dist/components/bs-progress.js +1 -1
  307. package/dist/components/bs-qr-code.js +1 -1
  308. package/dist/components/bs-radio.js +1 -1
  309. package/dist/components/bs-session-timeout.js +1 -1
  310. package/dist/components/bs-side-panel.d.ts +11 -0
  311. package/dist/components/bs-side-panel.js +1 -0
  312. package/dist/components/bs-skeleton.d.ts +11 -0
  313. package/dist/components/bs-skeleton.js +1 -0
  314. package/dist/components/bs-slider.js +1 -1
  315. package/dist/components/bs-snackbar.js +1 -1
  316. package/dist/components/bs-source-link.js +1 -1
  317. package/dist/components/bs-spinner.d.ts +11 -0
  318. package/dist/components/bs-spinner.js +1 -0
  319. package/dist/components/bs-split-pane.d.ts +11 -0
  320. package/dist/components/bs-split-pane.js +1 -0
  321. package/dist/components/bs-stepper-step.js +1 -1
  322. package/dist/components/bs-stepper.js +1 -1
  323. package/dist/components/bs-switch.js +1 -1
  324. package/dist/components/bs-tab.js +1 -1
  325. package/dist/components/bs-tabs.js +1 -1
  326. package/dist/components/bs-timepicker.js +1 -1
  327. package/dist/components/bs-toast.js +1 -1
  328. package/dist/components/bs-tooltip-trigger.d.ts +11 -0
  329. package/dist/components/bs-tooltip-trigger.js +1 -0
  330. package/dist/components/bs-tooltip.js +1 -1
  331. package/dist/components/bs-whats-new-entry.js +1 -1
  332. package/dist/components/bs-whats-new.js +1 -1
  333. package/dist/components/index.js +1 -1
  334. package/dist/components/p-B2gx7SZk.js +1 -0
  335. package/dist/components/{p-C_j_jDM6.js → p-BESyTlfT.js} +1 -1
  336. package/dist/components/{p-YsHQLXET.js → p-BIW9eUic.js} +1 -1
  337. package/dist/components/{p-Be_Pmccm.js → p-BJR8KVFc.js} +1 -1
  338. package/dist/components/{p-BEEoVNRu.js → p-BTPdjnXT.js} +1 -1
  339. package/dist/components/{p-Be9L4_Fe.js → p-CDYw4Eyj.js} +1 -1
  340. package/dist/components/{p-DuLL7Ouw.js → p-CRtvJlh8.js} +1 -1
  341. package/dist/components/{p-Dr0Qk9Zc.js → p-ChcaPfNL.js} +1 -1
  342. package/dist/components/{p-DE8K7fg0.js → p-CiSEDtbE.js} +1 -1
  343. package/dist/components/{p-CbimDNGY.js → p-CrmEXUwm.js} +1 -1
  344. package/dist/components/{p-zTHlbyH6.js → p-DAwSBMeM.js} +1 -1
  345. package/dist/components/{p-qmS2CBqi.js → p-DYuzgzxI.js} +1 -1
  346. package/dist/components/p-Dm3TqgV_.js +1 -0
  347. package/dist/components/{p-CUfs0ROR.js → p-DpVeeIko.js} +1 -1
  348. package/dist/components/{p-CA31vqjL.js → p-DvNED6Lb.js} +1 -1
  349. package/dist/components/{p-Bl_tVzeq.js → p-HAmR4gM2.js} +1 -1
  350. package/dist/components/p-HzaOqQ0U.js +1 -0
  351. package/dist/components/{p-C8yT2Ucq.js → p-QnTjSed5.js} +1 -1
  352. package/dist/components/{p-CncySD_-.js → p-Rx4bpeYN.js} +1 -1
  353. package/dist/components/p-nC2VxRNo.js +1 -0
  354. package/dist/components/p-zscW5LNR.js +1 -0
  355. package/dist/esm/brandsync-wc.js +3 -3
  356. package/dist/esm/bs-accordion-group.entry.js +31 -0
  357. package/dist/esm/bs-accordion.entry.js +1 -1
  358. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  359. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  360. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  361. package/dist/esm/bs-attachment-list.entry.js +2 -2
  362. package/dist/esm/bs-attachment.entry.js +9 -5
  363. package/dist/esm/bs-avatar.entry.js +1 -1
  364. package/dist/esm/bs-badge.entry.js +1 -1
  365. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  366. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  367. package/dist/esm/bs-breadcrumbs.entry.js +2 -2
  368. package/dist/esm/bs-button-skeleton.entry.js +4 -2
  369. package/dist/esm/bs-button.entry.js +1 -1
  370. package/dist/esm/bs-card.entry.js +1 -1
  371. package/dist/esm/bs-carousel.entry.js +1 -1
  372. package/dist/esm/bs-chatbot-feedback.entry.js +18 -2
  373. package/dist/esm/bs-chatbot-header.entry.js +20 -2
  374. package/dist/esm/bs-chatbot-response-action.entry.js +25 -3
  375. package/dist/esm/bs-chatbot-sources-drawer.entry.js +4 -2
  376. package/dist/esm/bs-chatbot-suggestion-button.entry.js +3 -3
  377. package/dist/esm/bs-checkbox-skeleton.entry.js +4 -2
  378. package/dist/esm/bs-checkbox.entry.js +1 -1
  379. package/dist/esm/bs-chip-filter.entry.js +1 -1
  380. package/dist/esm/bs-chip-informative.entry.js +1 -1
  381. package/dist/esm/bs-chip-input.entry.js +4 -2
  382. package/dist/esm/bs-citation-preview.entry.js +27 -0
  383. package/dist/esm/bs-composer-status-banner.entry.js +11 -3
  384. package/dist/esm/bs-composer.entry.js +36 -7
  385. package/dist/esm/bs-cookie-consent.entry.js +1 -1
  386. package/dist/esm/bs-data-table.entry.js +5 -3
  387. package/dist/esm/bs-datepicker.entry.js +1 -1
  388. package/dist/esm/bs-dialog.entry.js +4 -2
  389. package/dist/esm/bs-error-page.entry.js +1 -1
  390. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  391. package/dist/esm/bs-file-upload.entry.js +1 -1
  392. package/dist/esm/bs-icon-button.entry.js +1 -1
  393. package/dist/esm/bs-icon-tile.entry.js +1 -1
  394. package/dist/esm/bs-inline-tab.entry.js +2 -2
  395. package/dist/esm/bs-input_3.entry.js +15 -7
  396. package/dist/esm/bs-logo.entry.js +1 -1
  397. package/dist/esm/bs-message-list.entry.js +69 -0
  398. package/dist/esm/bs-message.entry.js +23 -0
  399. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  400. package/dist/esm/bs-navigation-drawer.entry.js +9 -3
  401. package/dist/esm/bs-navigation-header.entry.js +2 -2
  402. package/dist/esm/bs-onboarding-checklist.entry.js +1 -1
  403. package/dist/esm/bs-pagination.entry.js +6 -2
  404. package/dist/esm/bs-popover.entry.js +151 -0
  405. package/dist/esm/bs-product-tour.entry.js +1 -1
  406. package/dist/esm/bs-progress-linear.entry.js +3 -3
  407. package/dist/esm/bs-progress.entry.js +3 -3
  408. package/dist/esm/bs-qr-code.entry.js +2 -2
  409. package/dist/esm/bs-radio.entry.js +2 -2
  410. package/dist/esm/bs-session-timeout.entry.js +2 -2
  411. package/dist/esm/bs-side-panel.entry.js +162 -0
  412. package/dist/esm/bs-skeleton.entry.js +49 -0
  413. package/dist/esm/bs-slider.entry.js +7 -3
  414. package/dist/esm/bs-snackbar.entry.js +2 -2
  415. package/dist/esm/bs-source-link.entry.js +3 -3
  416. package/dist/esm/bs-spinner.entry.js +22 -0
  417. package/dist/esm/bs-split-pane.entry.js +191 -0
  418. package/dist/esm/bs-stepper-step.entry.js +2 -2
  419. package/dist/esm/bs-stepper.entry.js +2 -2
  420. package/dist/esm/bs-switch.entry.js +2 -2
  421. package/dist/esm/bs-tab_3.entry.js +4 -4
  422. package/dist/esm/bs-timepicker.entry.js +8 -4
  423. package/dist/esm/bs-toast.entry.js +4 -2
  424. package/dist/esm/bs-tooltip-trigger.entry.js +44 -0
  425. package/dist/esm/bs-tooltip.entry.js +2 -2
  426. package/dist/esm/bs-whats-new.entry.js +1 -1
  427. package/dist/esm/index-D3SkQJpw.js +1853 -0
  428. package/dist/esm/loader.js +3 -3
  429. package/dist/types/components/bs-accordion-group/bs-accordion-group.cmp.test.d.ts +1 -0
  430. package/dist/types/components/bs-accordion-group/bs-accordion-group.d.ts +25 -0
  431. package/dist/types/components/bs-accordion-group/bs-accordion-group.stories.d.ts +9 -0
  432. package/dist/types/components/bs-attachment/bs-attachment.d.ts +4 -0
  433. package/dist/types/components/bs-button-skeleton/bs-button-skeleton.d.ts +2 -0
  434. package/dist/types/components/bs-chatbot-feedback/bs-chatbot-feedback.d.ts +16 -0
  435. package/dist/types/components/bs-chatbot-header/bs-chatbot-header.d.ts +19 -0
  436. package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +22 -0
  437. package/dist/types/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.d.ts +2 -0
  438. package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +2 -5
  439. package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.d.ts +2 -0
  440. package/dist/types/components/bs-chip/bs-chip-input/bs-chip-input.d.ts +2 -0
  441. package/dist/types/components/bs-citation-preview/bs-citation-preview.cmp.test.d.ts +1 -0
  442. package/dist/types/components/bs-citation-preview/bs-citation-preview.d.ts +40 -0
  443. package/dist/types/components/bs-citation-preview/bs-citation-preview.stories.d.ts +13 -0
  444. package/dist/types/components/bs-composer/bs-composer.d.ts +25 -1
  445. package/dist/types/components/bs-composer-status-banner/bs-composer-status-banner.d.ts +5 -0
  446. package/dist/types/components/bs-data-table/bs-data-table.d.ts +2 -0
  447. package/dist/types/components/bs-dialog/bs-dialog.d.ts +2 -0
  448. package/dist/types/components/bs-input/bs-input.d.ts +8 -0
  449. package/dist/types/components/bs-message/bs-message.cmp.test.d.ts +1 -0
  450. package/dist/types/components/bs-message/bs-message.d.ts +49 -0
  451. package/dist/types/components/bs-message/bs-message.stories.d.ts +15 -0
  452. package/dist/types/components/bs-message-list/bs-message-list.cmp.test.d.ts +1 -0
  453. package/dist/types/components/bs-message-list/bs-message-list.d.ts +44 -0
  454. package/dist/types/components/bs-message-list/bs-message-list.stories.d.ts +8 -0
  455. package/dist/types/components/bs-pagination/bs-pagination.d.ts +4 -0
  456. package/dist/types/components/bs-popover/bs-popover.cmp.test.d.ts +1 -0
  457. package/dist/types/components/bs-popover/bs-popover.d.ts +58 -0
  458. package/dist/types/components/bs-popover/bs-popover.stories.d.ts +11 -0
  459. package/dist/types/components/bs-side-panel/bs-side-panel.cmp.test.d.ts +1 -0
  460. package/dist/types/components/bs-side-panel/bs-side-panel.d.ts +67 -0
  461. package/dist/types/components/bs-side-panel/bs-side-panel.stories.d.ts +14 -0
  462. package/dist/types/components/bs-skeleton/bs-skeleton.cmp.test.d.ts +1 -0
  463. package/dist/types/components/bs-skeleton/bs-skeleton.d.ts +44 -0
  464. package/dist/types/components/bs-skeleton/bs-skeleton.stories.d.ts +17 -0
  465. package/dist/types/components/bs-slider/bs-slider.d.ts +4 -0
  466. package/dist/types/components/bs-spinner/bs-spinner.cmp.test.d.ts +1 -0
  467. package/dist/types/components/bs-spinner/bs-spinner.d.ts +32 -0
  468. package/dist/types/components/bs-spinner/bs-spinner.stories.d.ts +12 -0
  469. package/dist/types/components/bs-split-pane/bs-split-pane.cmp.test.d.ts +1 -0
  470. package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +85 -0
  471. package/dist/types/components/bs-split-pane/bs-split-pane.stories.d.ts +15 -0
  472. package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +4 -0
  473. package/dist/types/components/bs-toast/bs-toast.d.ts +2 -0
  474. package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.d.ts +1 -0
  475. package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.d.ts +35 -0
  476. package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.stories.d.ts +10 -0
  477. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +6 -0
  478. package/dist/types/components.d.ts +1995 -39
  479. package/dist/types/global/brand-theming.cmp.test.d.ts +1 -0
  480. package/package.json +21 -5
  481. package/reference.d.ts +245 -0
  482. package/reference.json +4284 -0
  483. package/reference.mjs +2 -0
  484. package/tailwind-preset.cjs +36 -0
  485. package/testing/vitest-setup.mjs +41 -0
  486. package/dist/brandsync-wc/p-09cbf05b.entry.js +0 -1
  487. package/dist/brandsync-wc/p-0f8cd2e8.entry.js +0 -1
  488. package/dist/brandsync-wc/p-1261f0b0.entry.js +0 -1
  489. package/dist/brandsync-wc/p-20030f4d.entry.js +0 -1
  490. package/dist/brandsync-wc/p-22f8201a.entry.js +0 -1
  491. package/dist/brandsync-wc/p-34e5feaf.entry.js +0 -1
  492. package/dist/brandsync-wc/p-3a1af63a.entry.js +0 -1
  493. package/dist/brandsync-wc/p-452f9c1c.entry.js +0 -1
  494. package/dist/brandsync-wc/p-6a696161.entry.js +0 -1
  495. package/dist/brandsync-wc/p-6c6cdf77.entry.js +0 -1
  496. package/dist/brandsync-wc/p-6e735e37.entry.js +0 -1
  497. package/dist/brandsync-wc/p-73f214ed.entry.js +0 -1
  498. package/dist/brandsync-wc/p-823ab3b2.entry.js +0 -1
  499. package/dist/brandsync-wc/p-DqQRXQMx.js +0 -3
  500. package/dist/brandsync-wc/p-b84366a7.entry.js +0 -1
  501. package/dist/brandsync-wc/p-b8d2ce91.entry.js +0 -1
  502. package/dist/brandsync-wc/p-b9a4042e.entry.js +0 -1
  503. package/dist/brandsync-wc/p-d754ee13.entry.js +0 -1
  504. package/dist/brandsync-wc/p-d75f3f87.entry.js +0 -1
  505. package/dist/brandsync-wc/p-d8b29a53.entry.js +0 -1
  506. package/dist/brandsync-wc/p-f7d15fbe.entry.js +0 -1
  507. package/dist/cjs/index-tFJjflK5.js +0 -1863
  508. package/dist/components/p-BGW5q5LZ.js +0 -1
  509. package/dist/components/p-BZ3M4lOU.js +0 -1
  510. package/dist/components/p-CVrEuVFo.js +0 -1
  511. package/dist/components/p-CeUK3n7D.js +0 -1
  512. package/dist/esm/index-DqQRXQMx.js +0 -1853
@@ -18,6 +18,8 @@ export class BsToast {
18
18
  /** Semantic state. Each state has its own icon and matching container/text tokens -- there is
19
19
  * no neutral/default state. */
20
20
  state = 'info';
21
+ /** Accessible name of the dismiss button. */
22
+ dismissLabel = 'Dismiss';
21
23
  /** Fires when the close button is clicked. This component doesn't remove itself from the DOM --
22
24
  * the consumer is expected to do that (or hide it) in response to this event. */
23
25
  bsDismiss;
@@ -25,7 +27,7 @@ export class BsToast {
25
27
  this.bsDismiss.emit();
26
28
  };
27
29
  render() {
28
- return (h("div", { key: 'fcf10204b781318554bd1d1b65b3b003759f47ca', part: "container", class: `bs-toast bs-toast--${this.state}`, role: "status", "aria-live": this.state === 'error' ? 'assertive' : 'polite' }, h("div", { key: '77a9fc881d530b43aa93cd71ab00d79a402ac5df', class: "bs-toast__content" }, h("span", { key: '18b4ffee843c2f9f235477e729a7a5bca1044595', part: "icon", class: "bs-toast__icon", "aria-hidden": "true" }, h(StateIcon, { key: '62a78820785f12ccfa503d7690ae99d2b3b47aa2', state: this.state })), h("span", { key: 'b17882e4d5f4afe5bcfa5704b515c145df94799b', part: "message", class: "bs-toast__message" }, h("slot", { key: '678d2256cc21e6e07b099d417837b5891e7d6021' }))), h("div", { key: 'aba935f0a62a599b9eacfed9d13598f70a941283', class: "bs-toast__actions" }, h("button", { key: 'a9ee43cf75eca8e737d5e59507408de7f8bffaf1', part: "close", type: "button", class: "bs-toast__close", "aria-label": "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '4e4c5a25e6b25da2362385f1be5c4b86f02bbeb0' })))));
30
+ return (h("div", { key: '759d3745ca8ffca53fa286408fa694ffe374b99d', part: "container", class: `bs-toast bs-toast--${this.state}`, role: "status", "aria-live": this.state === 'error' ? 'assertive' : 'polite' }, h("div", { key: '7f46844194cbb5fa9efd7ac475c8a417fbde9f27', class: "bs-toast__content" }, h("span", { key: 'cc4ca41ce6060f7ad6b84a9d0400d0515d200877', part: "icon", class: "bs-toast__icon", "aria-hidden": "true" }, h(StateIcon, { key: 'dc3754b7390e54fd84bde93903c57326046a5d3f', state: this.state })), h("span", { key: '1fbecaf2d09591e08708ee99381d0acc1ded3a8f', part: "message", class: "bs-toast__message" }, h("slot", { key: 'b7aba4aee990aec06d3782ab38332825b74ed85a' }))), h("div", { key: '1a4bb03633bf3aa703005c44b4d0d807a20dd51d', class: "bs-toast__actions" }, h("button", { key: 'a8ca2bc51acd31d3b21a63e128d98d029d638030', part: "close", type: "button", class: "bs-toast__close", "aria-label": this.dismissLabel, onClick: this.onDismiss }, h(CloseIcon, { key: '97dc7540e08a0bff5784a8bb22830370513b930b' })))));
29
31
  }
30
32
  static get is() { return "bs-toast"; }
31
33
  static get encapsulation() { return "shadow"; }
@@ -66,6 +68,26 @@ export class BsToast {
66
68
  "reflect": false,
67
69
  "attribute": "state",
68
70
  "defaultValue": "'info'"
71
+ },
72
+ "dismissLabel": {
73
+ "type": "string",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "string",
77
+ "resolved": "string",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": false,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": "Accessible name of the dismiss button."
85
+ },
86
+ "getter": false,
87
+ "setter": false,
88
+ "reflect": false,
89
+ "attribute": "dismiss-label",
90
+ "defaultValue": "'Dismiss'"
69
91
  }
70
92
  };
71
93
  }
@@ -42,7 +42,7 @@ export class BsTooltip {
42
42
  */
43
43
  placement = 'top';
44
44
  render() {
45
- return (h("div", { key: '8fdc149cce564aa5531956eda52b81bedd9db1bb', class: "bs-tooltip" }, h("span", { key: '34234ea02b510a5a728bb97d259cfbd2c8f7f7b2', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '04d825a91dc6753a90b7daaf370e575c9ddee6d1', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '81b8681507245e597177d169c1925dfb65aaeeab' }))));
45
+ return (h("div", { key: 'f29c467c70eb488ef6d1d83af7a71be2d26307be', class: "bs-tooltip" }, h("span", { key: 'e74432210ae015c44a87f1d5f60c3e448f016893', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '10ef531bf6076636e890ae6f679c0bd368714802', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '0a634836408d120230bfed0c9dc11c014c4f0c4d' }))));
46
46
  }
47
47
  static get is() { return "bs-tooltip"; }
48
48
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,73 @@
1
+ import { render, h, describe, it, expect } from "@stencil/vitest";
2
+ const tip = (root) => root.shadowRoot.querySelector('[part="tooltip"]');
3
+ const wrap = (root) => root.shadowRoot.querySelector('[part="trigger"]');
4
+ describe('bs-tooltip-trigger', () => {
5
+ it('is hidden by default and linked via aria-describedby', async () => {
6
+ const { root } = await render(h("bs-tooltip-trigger", { text: "Hint" }, h("button", null, "Go")));
7
+ expect(tip(root).hasAttribute('hidden')).toBe(true);
8
+ expect(tip(root)).toEqualAttribute('role', 'tooltip');
9
+ expect(wrap(root).getAttribute('aria-describedby')).toBe(tip(root).id);
10
+ expect(tip(root).querySelector('bs-tooltip')).toHaveTextContent('Hint');
11
+ });
12
+ it('shows on mouseenter and hides on mouseleave', async () => {
13
+ const { root, waitForChanges } = await render(h("bs-tooltip-trigger", { text: "Hint" }, h("button", null, "Go")));
14
+ wrap(root).dispatchEvent(new MouseEvent('mouseenter'));
15
+ await waitForChanges();
16
+ expect(tip(root).hasAttribute('hidden')).toBe(false);
17
+ wrap(root).dispatchEvent(new MouseEvent('mouseleave'));
18
+ await waitForChanges();
19
+ expect(tip(root).hasAttribute('hidden')).toBe(true);
20
+ });
21
+ it('shows on focus and dismisses with Escape', async () => {
22
+ const { root, waitForChanges } = await render(h("bs-tooltip-trigger", { text: "Hint" }, h("button", null, "Go")));
23
+ wrap(root).dispatchEvent(new FocusEvent('focusin', { bubbles: true }));
24
+ await waitForChanges();
25
+ expect(tip(root).hasAttribute('hidden')).toBe(false);
26
+ wrap(root).dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }));
27
+ await waitForChanges();
28
+ expect(tip(root).hasAttribute('hidden')).toBe(true);
29
+ });
30
+ it('respects delay', async () => {
31
+ const { root, waitForChanges } = await render(h("bs-tooltip-trigger", { text: "Hint", delay: 50 }, h("button", null, "Go")));
32
+ wrap(root).dispatchEvent(new MouseEvent('mouseenter'));
33
+ await waitForChanges();
34
+ expect(tip(root).hasAttribute('hidden')).toBe(true);
35
+ await new Promise(r => setTimeout(r, 80));
36
+ await waitForChanges();
37
+ expect(tip(root).hasAttribute('hidden')).toBe(false);
38
+ });
39
+ it('cancels a pending show when the pointer leaves before the delay', async () => {
40
+ const { root, waitForChanges } = await render(h("bs-tooltip-trigger", { text: "Hint", delay: 50 }, h("button", null, "Go")));
41
+ wrap(root).dispatchEvent(new MouseEvent('mouseenter'));
42
+ wrap(root).dispatchEvent(new MouseEvent('mouseleave'));
43
+ await new Promise(r => setTimeout(r, 80));
44
+ await waitForChanges();
45
+ expect(tip(root).hasAttribute('hidden')).toBe(true);
46
+ });
47
+ it('defaults placement to bottom, below the trigger', async () => {
48
+ const { root, waitForChanges } = await render(h("bs-tooltip-trigger", { text: "Hint" }, h("button", null, "Go")));
49
+ expect(root.placement).toBe('bottom');
50
+ wrap(root).dispatchEvent(new MouseEvent('mouseenter'));
51
+ await waitForChanges();
52
+ const t = tip(root).getBoundingClientRect();
53
+ const w = wrap(root).getBoundingClientRect();
54
+ expect(t.top).toBeGreaterThanOrEqual(w.bottom);
55
+ });
56
+ for (const placement of ['top', 'start', 'end']) {
57
+ it(`positions the tooltip on the ${placement} side`, async () => {
58
+ const { root, waitForChanges } = await render(h("div", { style: { padding: '200px' } }, h("bs-tooltip-trigger", { text: "Hint", placement: placement }, h("button", null, "Go"))));
59
+ const host = root.querySelector('bs-tooltip-trigger');
60
+ const hw = host.shadowRoot.querySelector('[part="trigger"]');
61
+ hw.dispatchEvent(new MouseEvent('mouseenter'));
62
+ await waitForChanges();
63
+ const t = host.shadowRoot.querySelector('[part="tooltip"]').getBoundingClientRect();
64
+ const w = hw.getBoundingClientRect();
65
+ if (placement === 'top')
66
+ expect(t.bottom).toBeLessThanOrEqual(w.top);
67
+ if (placement === 'start')
68
+ expect(t.right).toBeLessThanOrEqual(w.left);
69
+ if (placement === 'end')
70
+ expect(t.left).toBeGreaterThanOrEqual(w.right);
71
+ });
72
+ }
73
+ });
@@ -0,0 +1,52 @@
1
+ :host {
2
+ display: inline-block;
3
+ --bs-tooltip-trigger-offset: var(--bs-spacing-100);
4
+ --bs-tooltip-trigger-z-index: var(--bs-z-index-popover);
5
+ }
6
+
7
+ .bs-tooltip-trigger {
8
+ position: relative;
9
+ display: inline-block;
10
+ }
11
+
12
+ .bs-tooltip-trigger__tooltip {
13
+ position: absolute;
14
+ top: calc(100% + var(--bs-tooltip-trigger-offset));
15
+ left: 50%;
16
+ transform: translateX(-50%);
17
+ z-index: var(--bs-tooltip-trigger-z-index);
18
+ width: max-content;
19
+ pointer-events: none;
20
+ }
21
+
22
+ .bs-tooltip-trigger__tooltip[hidden] {
23
+ display: none;
24
+ }
25
+
26
+ :host([placement='top']) .bs-tooltip-trigger__tooltip {
27
+ top: auto;
28
+ bottom: calc(100% + var(--bs-tooltip-trigger-offset));
29
+ }
30
+
31
+ :host([placement='start']) .bs-tooltip-trigger__tooltip,
32
+ :host([placement='end']) .bs-tooltip-trigger__tooltip {
33
+ top: 50%;
34
+ left: auto;
35
+ }
36
+
37
+ :host([placement='start']) .bs-tooltip-trigger__tooltip {
38
+ right: calc(100% + var(--bs-tooltip-trigger-offset));
39
+ transform: translateY(-50%);
40
+ }
41
+
42
+ :host([placement='end']) .bs-tooltip-trigger__tooltip {
43
+ left: calc(100% + var(--bs-tooltip-trigger-offset));
44
+ transform: translateY(-50%);
45
+ }
46
+
47
+ /* bs-tooltip only draws an upward arrow (below-trigger layout); hide it for other sides. */
48
+ :host([placement='top']) bs-tooltip::part(arrow),
49
+ :host([placement='start']) bs-tooltip::part(arrow),
50
+ :host([placement='end']) bs-tooltip::part(arrow) {
51
+ display: none;
52
+ }
@@ -0,0 +1,140 @@
1
+ import { h } from "@stencil/core";
2
+ let tooltipTriggerId = 0;
3
+ /**
4
+ * Wraps a trigger element and shows a `bs-tooltip` on hover or keyboard focus, after an optional
5
+ * delay. Escape dismisses it. The tooltip is linked to the trigger with `aria-describedby`.
6
+ *
7
+ * Composed from `bs-tooltip`.
8
+ *
9
+ * ## When to use
10
+ * - A short hint for an icon button or truncated label.
11
+ *
12
+ * ## When not to use
13
+ * - Interactive content or long text (use `bs-popover`).
14
+ *
15
+ * @slot - Default slot: the trigger element.
16
+ * @part trigger - The wrapper around the trigger; carries aria-describedby.
17
+ * @part tooltip - The positioned tooltip wrapper (role="tooltip").
18
+ * @prop --bs-tooltip-trigger-offset - Gap between trigger and tooltip. Aliased to `--bs-spacing-100`.
19
+ * @prop --bs-tooltip-trigger-z-index - Stacking order. Aliased to `--bs-z-index-popover`.
20
+ */
21
+ export class BsTooltipTrigger {
22
+ /** Tooltip message. */
23
+ text = '';
24
+ /** Milliseconds to wait before showing the tooltip. */
25
+ delay = 0;
26
+ /** Side of the trigger the tooltip appears on. The bs-tooltip arrow is only drawn for 'bottom'. */
27
+ placement = 'bottom';
28
+ visible = false;
29
+ tooltipId = `bs-tooltip-trigger-${++tooltipTriggerId}`;
30
+ timer;
31
+ disconnectedCallback() {
32
+ clearTimeout(this.timer);
33
+ }
34
+ show = () => {
35
+ clearTimeout(this.timer);
36
+ if (this.delay > 0)
37
+ this.timer = setTimeout(() => (this.visible = true), this.delay);
38
+ else
39
+ this.visible = true;
40
+ };
41
+ hide = () => {
42
+ clearTimeout(this.timer);
43
+ this.visible = false;
44
+ };
45
+ onKeyDown = (ev) => {
46
+ if (ev.key === 'Escape' && this.visible)
47
+ this.hide();
48
+ };
49
+ render() {
50
+ const show = this.visible && !!this.text;
51
+ return (h("div", { key: 'a0038c387bb975237a46686d49a8cab159809056', part: "trigger", class: "bs-tooltip-trigger", "aria-describedby": this.tooltipId, onMouseEnter: this.show, onMouseLeave: this.hide, onFocusin: this.show, onFocusout: this.hide, onKeyDown: this.onKeyDown }, h("slot", { key: 'ab487b1303922867a4f36f148c504af7bc01f454' }), h("div", { key: '336ebebfd45f33b0a22c31af8d024d9c271e8793', part: "tooltip", id: this.tooltipId, class: "bs-tooltip-trigger__tooltip", role: "tooltip", hidden: !show }, h("bs-tooltip", { key: '97ffe6cc68d68fd4716169dd7a158ac5586435f8' }, this.text))));
52
+ }
53
+ static get is() { return "bs-tooltip-trigger"; }
54
+ static get encapsulation() { return "shadow"; }
55
+ static get originalStyleUrls() {
56
+ return {
57
+ "$": ["bs-tooltip-trigger.css"]
58
+ };
59
+ }
60
+ static get styleUrls() {
61
+ return {
62
+ "$": ["bs-tooltip-trigger.css"]
63
+ };
64
+ }
65
+ static get properties() {
66
+ return {
67
+ "text": {
68
+ "type": "string",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "string",
72
+ "resolved": "string",
73
+ "references": {}
74
+ },
75
+ "required": false,
76
+ "optional": false,
77
+ "docs": {
78
+ "tags": [],
79
+ "text": "Tooltip message."
80
+ },
81
+ "getter": false,
82
+ "setter": false,
83
+ "reflect": false,
84
+ "attribute": "text",
85
+ "defaultValue": "''"
86
+ },
87
+ "delay": {
88
+ "type": "number",
89
+ "mutable": false,
90
+ "complexType": {
91
+ "original": "number",
92
+ "resolved": "number",
93
+ "references": {}
94
+ },
95
+ "required": false,
96
+ "optional": false,
97
+ "docs": {
98
+ "tags": [],
99
+ "text": "Milliseconds to wait before showing the tooltip."
100
+ },
101
+ "getter": false,
102
+ "setter": false,
103
+ "reflect": false,
104
+ "attribute": "delay",
105
+ "defaultValue": "0"
106
+ },
107
+ "placement": {
108
+ "type": "string",
109
+ "mutable": false,
110
+ "complexType": {
111
+ "original": "BsTooltipTriggerPlacement",
112
+ "resolved": "\"bottom\" | \"end\" | \"start\" | \"top\"",
113
+ "references": {
114
+ "BsTooltipTriggerPlacement": {
115
+ "location": "local",
116
+ "path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-tooltip-trigger/bs-tooltip-trigger.tsx",
117
+ "id": "src/components/bs-tooltip-trigger/bs-tooltip-trigger.tsx::BsTooltipTriggerPlacement"
118
+ }
119
+ }
120
+ },
121
+ "required": false,
122
+ "optional": false,
123
+ "docs": {
124
+ "tags": [],
125
+ "text": "Side of the trigger the tooltip appears on. The bs-tooltip arrow is only drawn for 'bottom'."
126
+ },
127
+ "getter": false,
128
+ "setter": false,
129
+ "reflect": true,
130
+ "attribute": "placement",
131
+ "defaultValue": "'bottom'"
132
+ }
133
+ };
134
+ }
135
+ static get states() {
136
+ return {
137
+ "visible": {}
138
+ };
139
+ }
140
+ }
@@ -0,0 +1,21 @@
1
+ import { html } from "lit";
2
+ import { componentDescription } from "../../stories-utils";
3
+ const meta = {
4
+ title: 'Components/bs-tooltip-trigger',
5
+ parameters: { docs: { description: { component: componentDescription('bs-tooltip-trigger') } } },
6
+ render: args => html `
7
+ <div style="padding: 24px;">
8
+ <bs-tooltip-trigger text=${args.text} delay=${args.delay}>
9
+ <bs-button>Hover or focus me</bs-button>
10
+ </bs-tooltip-trigger>
11
+ </div>
12
+ `,
13
+ argTypes: {
14
+ text: { control: 'text' },
15
+ delay: { control: 'number' },
16
+ },
17
+ args: { text: 'Extra information', delay: 0 },
18
+ };
19
+ export default meta;
20
+ export const Default = {};
21
+ export const Delayed = { args: { delay: 500 } };
@@ -50,7 +50,7 @@ export class BsWhatsNewEntry {
50
50
  hasImage = false;
51
51
  render() {
52
52
  const level = Math.min(6, Math.max(1, Math.trunc(Number(this.headingLevel)) || 3));
53
- return (h("div", { key: 'f3b59b9886ee7dc0cff3ce37ef361081d268c301', class: "bs-whats-new-entry" }, (this.tag || this.date || this.unread) && (h("div", { key: '849ff3110f9b5e8862d2e8743c69e37a3913ba3f', part: "meta", class: "bs-whats-new-entry__meta" }, this.tag && (h("bs-chip-informative", { key: '1e3ab58124be4aac1785ac5094f607eebba06ada', part: "tag", size: "sm", color: this.tagColor }, this.tag)), this.date && (h("span", { key: '351f70bd49e94fd4848e34d2b134dda0a76aa3ce', part: "date", class: "bs-whats-new-entry__date" }, this.date)), this.unread && (h("span", { key: '9e5341acb5e4b5628ad9c567ca30d87f03c7c511', part: "unread", class: "bs-whats-new-entry__unread" }, h("span", { key: 'cca65aff39503436f75f7e1a6eada38975985b63', class: "bs-whats-new-entry__sr-only" }, this.unreadLabel))))), h("div", { key: '9c4e28e9687456fbe4b40fdba7e22dc162ea26c7', part: "image", class: { 'bs-whats-new-entry__image': true, 'bs-whats-new-entry__image--visible': this.hasImage } }, h("slot", { key: '4e698f6b9cd3bc68c4723877a6c257c2cdafb5a4', name: "image", onSlotchange: (ev) => (this.hasImage = ev.target.assignedNodes().length > 0) })), h("div", { key: '60e73438ed675a12159986ae8352b1c5b2735fb1', class: "bs-whats-new-entry__content" }, this.heading && h(`h${level}`, { part: 'heading', class: { 'bs-whats-new-entry__heading': true } }, this.heading), this.description && (h("p", { key: 'ddf69ede4112a2da4554b0ed4dae5664f739c055', part: "description", class: "bs-whats-new-entry__description" }, this.description)), this.actionLabel && (h("bs-button", { key: 'a6465a5bfab7ee0ccf8e26eb6221e566ad483b2e', part: "action", class: "bs-whats-new-entry__action", variant: "subtle", size: "sm", onClick: () => this.bsAction.emit() }, this.actionLabel, h("svg", { key: 'd45596c561a1366f54beaf3c5ba62084581742fe', slot: "end-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: 'a87b5824ff0fe97c7c025096e432948864e1d19b', d: "M5 12H19" }), h("path", { key: '96659132bb0262ed354a33c2c33d48dde199a95b', d: "M13 6L19 12L13 18" }))))), this.divider && h("div", { key: '25381aa31681ccdb1e18fe74a019bd57e1fa8a62', part: "divider", class: "bs-whats-new-entry__divider" })));
53
+ return (h("div", { key: 'c63cac0c83439a236c70326ad5a96c7f81937a9b', class: "bs-whats-new-entry" }, (this.tag || this.date || this.unread) && (h("div", { key: '3fd787ee36bc22757f2ed6afe14b722800ae2fc0', part: "meta", class: "bs-whats-new-entry__meta" }, this.tag && (h("bs-chip-informative", { key: '9df6bfdc16ed643a30eb41091e1fa3a3596afd72', part: "tag", size: "sm", color: this.tagColor }, this.tag)), this.date && (h("span", { key: 'dd69ccd630870d45a917141e354eacc58af2a0c6', part: "date", class: "bs-whats-new-entry__date" }, this.date)), this.unread && (h("span", { key: '953e0f25aa8eb15bf2a6b3dd314595ca89f07e4d', part: "unread", class: "bs-whats-new-entry__unread" }, h("span", { key: '70b11972fd39cf3fdc5d75e77d78069f75be0d66', class: "bs-whats-new-entry__sr-only" }, this.unreadLabel))))), h("div", { key: '85e754c3c08e60fdf96e437c86fa04528a1bd685', part: "image", class: { 'bs-whats-new-entry__image': true, 'bs-whats-new-entry__image--visible': this.hasImage } }, h("slot", { key: 'd2af24357183cd5a2055a7629d9d0b6a521cd7c6', name: "image", onSlotchange: (ev) => (this.hasImage = ev.target.assignedNodes().length > 0) })), h("div", { key: '5faf816a5c7399c78ffefa0aa7fdce1263e0c541', class: "bs-whats-new-entry__content" }, this.heading && h(`h${level}`, { part: 'heading', class: { 'bs-whats-new-entry__heading': true } }, this.heading), this.description && (h("p", { key: '48e4d51341ebb9b3f22891dc3143b0820b094e53', part: "description", class: "bs-whats-new-entry__description" }, this.description)), this.actionLabel && (h("bs-button", { key: 'a7172c19eb22972e55fffdd3f655b98a891e07fb', part: "action", class: "bs-whats-new-entry__action", variant: "subtle", size: "sm", onClick: () => this.bsAction.emit() }, this.actionLabel, h("svg", { key: '125e1d135e8e02d986a3dd3c7bedc63c114c7562', slot: "end-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: 'aecdc16aeb47469208eda8429c40118236a54c29', d: "M5 12H19" }), h("path", { key: '5cc3567f128808906a1e688606fc1e3e5f6afd32', d: "M13 6L19 12L13 18" }))))), this.divider && h("div", { key: '3207ac68a8ab88d6698110338d998a4d42a6caf2', part: "divider", class: "bs-whats-new-entry__divider" })));
54
54
  }
55
55
  static get is() { return "bs-whats-new-entry"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -73,6 +73,12 @@ export class BsNavigationDrawer {
73
73
  * a "fixed" side nav (Carbon's terminology: a `Fixed Side Nav` never collapses, as opposed to a
74
74
  * rail-capable one) that's always fully expanded. `collapsed` is ignored while this is `false`. */
75
75
  collapsible = true;
76
+ /** Accessible name of the collapse toggle while the drawer is expanded. */
77
+ collapseLabel = 'Collapse';
78
+ /** Accessible name of the collapse toggle while the drawer is collapsed. */
79
+ expandLabel = 'Expand';
80
+ /** Accessible name of the search trigger. */
81
+ searchLabel = 'Search';
76
82
  /** Narrows the drawer to a 96px icon-only rail (Figma node 8028:135374). Mutable and reflected
77
83
  * -- clicking the collapse toggle toggles this directly (self-toggling, see the class doc above
78
84
  * for why), and this component keeps every direct-child `bs-navigation-drawer-item`'s own
@@ -228,11 +234,11 @@ export class BsNavigationDrawer {
228
234
  };
229
235
  render() {
230
236
  const classes = ['bs-navigation-drawer', this.mobile ? 'bs-navigation-drawer--overlay' : '', this.overlayOpen ? 'bs-navigation-drawer--open' : ''].filter(Boolean).join(' ');
231
- return (h(Host, { key: '521147bfafef13a89a56f343cbe4b285fd006639', "data-overlay": this.mobile ? '' : undefined }, this.mobile && h("div", { key: 'cc9f73d195a4073d735c707fffafde33a2d19d3b', part: "backdrop", class: "bs-navigation-drawer__backdrop", onClick: this.requestClose }), h("nav", { key: '467266e407fe4106bc677b04e0b553374b8fbaeb', ref: el => (this.navRef = el), class: classes, "aria-label": this.heading,
237
+ return (h(Host, { key: '4ceea7fddea0092f942f3499987ee80ef4f4e8f3', "data-overlay": this.mobile ? '' : undefined }, this.mobile && h("div", { key: 'fbc83c1f7cc93f0afe6222b6d4afe256375c6537', part: "backdrop", class: "bs-navigation-drawer__backdrop", onClick: this.requestClose }), h("nav", { key: '26f09c3cd1662515bf7ef69826980b70d9c142f3', ref: el => (this.navRef = el), class: classes, "aria-label": this.heading,
232
238
  // Stays a plain <nav> landmark in every state: ARIA does not allow role="dialog" on <nav>
233
239
  // (axe: aria-allowed-role). Modality is behavioral -- focus is held inside, the page behind is
234
240
  // scrimmed, Escape closes -- rather than announced through aria-modal.
235
- tabIndex: this.mobile ? -1 : undefined }, this.showLogo && (h("div", { key: '4ff34d1ac08f81a00332547c84cfdf6ed92b5b79', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, h("bs-logo", { key: '71705d5d76425fd296489f4dbe01beed4940ee47', variant: "full", background: this.logoBackground }))), this.showLogo && (h("div", { key: '563b51505b802c687256b71bdb573d19130f3f8c', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, h("bs-logo", { key: 'd7a4e74152e8e1dcff9411f8328f546127499cee', variant: "mark", background: this.logoBackground }))), h("div", { key: '25e35b5ea15ca7b5a807a655c97a399b18bfced2', class: "bs-navigation-drawer__title-row" }, h("span", { key: '810858e4f00a7e734543cfd0502a0a2facdc7744', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (h("button", { key: '7d00c956e442aabe7578724bff8a29b98d96cb04', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? 'Expand' : 'Collapse', "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, h(CaretLeftIcon, { key: 'a394a7cfa1fa4e68ab6bbaf06299bb46c891e251' })))), h("div", { key: '1a68784b97eb72c6bbfa597d244c9e6444960843', part: "search", class: "bs-navigation-drawer__search" }, h("slot", { key: '0712fdc0632d153d6adf9aaaa153d6cd2e2759d3', name: "search" })), h("button", { key: '92848c768f51ffc6b32d926ad9ae9ab722647531', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": "Search", onClick: this.onSearchTriggerClick }, h(SearchIcon, { key: '32c2d99598015b95e79d2a88d75c68bf5e41f4f0' })), h("div", { key: '0beae420879d2b3488134c4586509cce316072c9', part: "items", class: "bs-navigation-drawer__items" }, h("slot", { key: 'aa01f41986235a8d4cfe8d5b477fa77d584bc8d7' })))));
241
+ tabIndex: this.mobile ? -1 : undefined }, this.showLogo && (h("div", { key: 'be5e1b6d08041b488fda977553e3c90f55ce3232', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, h("bs-logo", { key: 'aa24da803069235483a36e0896a6a0b32ed8a20a', variant: "full", background: this.logoBackground }))), this.showLogo && (h("div", { key: 'cda0395a72b95f6b9a7178c218d68b11dba1d768', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, h("bs-logo", { key: '53f13ca91f9e39ea89df909643102d9172bdb815', variant: "mark", background: this.logoBackground }))), h("div", { key: '7e73d0ef62745fca7cc385382e0b4335518026ce', class: "bs-navigation-drawer__title-row" }, h("span", { key: '39f056417b0cfaaa9e5cc71b612c3c109574a159', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (h("button", { key: 'bb3e2190475ea000daaac66dfab6c1ff6fda8d40', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? this.expandLabel : this.collapseLabel, "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, h(CaretLeftIcon, { key: '3f37c1b7bd9c53eec44ba751c95e4e95bf3920f6' })))), h("div", { key: '98af0d2bbec07f8520c67d4e9f102449106b6498', part: "search", class: "bs-navigation-drawer__search" }, h("slot", { key: '223dc57c477dfb3accdb690754d63132c562f867', name: "search" })), h("button", { key: 'dfa75a9b3b29dcda5c140905b055ff19669f7af5', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": this.searchLabel, onClick: this.onSearchTriggerClick }, h(SearchIcon, { key: '98aed385273752c647ccef54fa380f92ae65129b' })), h("div", { key: 'cf6cc371959a7fe81ac7fed27176d78370891f09', part: "items", class: "bs-navigation-drawer__items" }, h("slot", { key: '0ef6002bac2fbea8430ca6e049f3ce463ba4ec71' })))));
236
242
  }
237
243
  static get is() { return "bs-navigation-drawer"; }
238
244
  static get encapsulation() { return "shadow"; }
@@ -288,6 +294,66 @@ export class BsNavigationDrawer {
288
294
  "attribute": "collapsible",
289
295
  "defaultValue": "true"
290
296
  },
297
+ "collapseLabel": {
298
+ "type": "string",
299
+ "mutable": false,
300
+ "complexType": {
301
+ "original": "string",
302
+ "resolved": "string",
303
+ "references": {}
304
+ },
305
+ "required": false,
306
+ "optional": false,
307
+ "docs": {
308
+ "tags": [],
309
+ "text": "Accessible name of the collapse toggle while the drawer is expanded."
310
+ },
311
+ "getter": false,
312
+ "setter": false,
313
+ "reflect": false,
314
+ "attribute": "collapse-label",
315
+ "defaultValue": "'Collapse'"
316
+ },
317
+ "expandLabel": {
318
+ "type": "string",
319
+ "mutable": false,
320
+ "complexType": {
321
+ "original": "string",
322
+ "resolved": "string",
323
+ "references": {}
324
+ },
325
+ "required": false,
326
+ "optional": false,
327
+ "docs": {
328
+ "tags": [],
329
+ "text": "Accessible name of the collapse toggle while the drawer is collapsed."
330
+ },
331
+ "getter": false,
332
+ "setter": false,
333
+ "reflect": false,
334
+ "attribute": "expand-label",
335
+ "defaultValue": "'Expand'"
336
+ },
337
+ "searchLabel": {
338
+ "type": "string",
339
+ "mutable": false,
340
+ "complexType": {
341
+ "original": "string",
342
+ "resolved": "string",
343
+ "references": {}
344
+ },
345
+ "required": false,
346
+ "optional": false,
347
+ "docs": {
348
+ "tags": [],
349
+ "text": "Accessible name of the search trigger."
350
+ },
351
+ "getter": false,
352
+ "setter": false,
353
+ "reflect": false,
354
+ "attribute": "search-label",
355
+ "defaultValue": "'Search'"
356
+ },
291
357
  "collapsed": {
292
358
  "type": "boolean",
293
359
  "mutable": true,
@@ -131,7 +131,7 @@ export class BsNavigationDrawerItem {
131
131
  // incorrectly also toggle this parent row on every child click. Both are wrapped in a
132
132
  // `display: contents` container so render() still returns a single root node (this codebase's
133
133
  // convention, e.g. bs-input.tsx) without that wrapper affecting layout at all.
134
- return (h("div", { key: '51630ca979a030ee03a3c11352fd088621281bf9', class: "bs-navigation-drawer-item__root" }, h("button", { key: 'd1e7d4ce9986b0b109cf120654612f28d5419528', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (h("span", { key: '76efeab68b534e27ee36ca785ab45409d076e773', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, h("slot", { key: 'a07c99f227906bcb65ddc8e7fc51899b61e7a530', name: "icon", onSlotchange: this.onIconSlotchange }))), h("span", { key: '0b05f0fa744bfd8f5462b028e2fba26508fe119b', part: "label", class: "bs-navigation-drawer-item__label" }, h("slot", { key: '702286fcffb4021fe048b5cd33b91ad41d335a3d' })), this.expandable && (h("span", { key: '3ce575babd8db5d37f25302e0979696b974f76ff', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, h(ChevronDownIcon, { key: 'b5e915df678f8fc7468aa72d17b638d46c13d40e' })))), this.expandable && (h("span", { key: '2533a38344615f4edd4e6e704f2d23c327f8a990', part: "children", class: "bs-navigation-drawer-item__children" }, h("slot", { key: 'f1d717e3cb69aa6002ff5ba6ac4879d565ab59dd', name: "children" })))));
134
+ return (h("div", { key: '1cb752ce9bcf0960e864906fbf70d6627b8352eb', class: "bs-navigation-drawer-item__root" }, h("button", { key: 'e7ff152d751f4f8333c48b3ba4bbed10a9bcbb4b', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (h("span", { key: '91b0139bc50e6bb9dc51b30de3e0a365e3e5658b', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, h("slot", { key: 'cc6be4568c6e10e82412f0d9beba110e53715257', name: "icon", onSlotchange: this.onIconSlotchange }))), h("span", { key: '95e319ebf4799f86e1eb686c849ced443a6507ae', part: "label", class: "bs-navigation-drawer-item__label" }, h("slot", { key: 'c2e4554f7117620100c569b6d2da2c45df9baf33' })), this.expandable && (h("span", { key: 'c262c787a9db3c6453bbfb2082c0e1677d443de4', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, h(ChevronDownIcon, { key: '7ad34ca909681f60d6c920e9304b4e653e9bbfe9' })))), this.expandable && (h("span", { key: '497d8bd4f5d2d6b03a748099ea332074f4446497', part: "children", class: "bs-navigation-drawer-item__children" }, h("slot", { key: '87c4b0489b654453eb9338f2d9b52b933366908c', name: "children" })))));
135
135
  }
136
136
  static get is() { return "bs-navigation-drawer-item"; }
137
137
  static get encapsulation() { return "shadow"; }
@@ -61,7 +61,7 @@ export class BsNavigationHeader {
61
61
  render() {
62
62
  const showLogo = this.alignment !== 'with-navigation-drawer';
63
63
  const rootClasses = `bs-navigation-header bs-navigation-header--${this.alignment}`;
64
- return (h("header", { key: 'b7a29c3e8054f042f4bd1dbff2996fca6984b92b', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (h("a", { key: '4263bba29e89be550101524f1097eca84cd6d0ef', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (h("bs-logo", { key: '6db88ed8b8130937bdff2cdeb2e6b35ddd0611ae', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), h("div", { key: 'c8c545aed781a618b5ff2150a7e0d45fc51fe6dd', part: "left", class: "bs-navigation-header__left" }, h("slot", { key: 'f5fb1f9073a045187fffbba5be86aa3226c58a52', name: "left" })), h("div", { key: '697f49fb083e1164e5907f86650a7d3e3f30ea2e', part: "right", class: "bs-navigation-header__right" }, h("slot", { key: '736a8ada03c81180aa717b50f27db0685b9da511', name: "right" }))));
64
+ return (h("header", { key: '13902b4fc78c50b646532b05b0628cd87795bbdc', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (h("a", { key: '98d3add96ab6da8f108b47ccb3317fddccf16fdd', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (h("bs-logo", { key: '3de6328cdced810f59e169adb9c894f357bb3362', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), h("div", { key: '3963c852293dd06990345d11c262eb437998b9a6', part: "left", class: "bs-navigation-header__left" }, h("slot", { key: '3d19c967ad4d6d2ac53e73623e26607ec60bc040', name: "left" })), h("div", { key: 'a4b7019e8df5d5d00163815058af7396c578e3f4', part: "right", class: "bs-navigation-header__right" }, h("slot", { key: '9e07a80b8a8e03b567e5112291f56055300e0e89', name: "right" }))));
65
65
  }
66
66
  static get is() { return "bs-navigation-header"; }
67
67
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,44 @@
1
+ import { describe, it, expect } from "@stencil/vitest";
2
+ const probe = (host, prop) => {
3
+ const el = document.createElement('div');
4
+ el.style.background = `var(${prop})`;
5
+ host.appendChild(el);
6
+ return getComputedStyle(el).backgroundColor;
7
+ };
8
+ const mount = (html) => {
9
+ const wrap = document.createElement('div');
10
+ wrap.innerHTML = html;
11
+ document.body.appendChild(wrap);
12
+ return wrap;
13
+ };
14
+ describe('[data-brand] theming contract', () => {
15
+ it('re-derives brand tokens from a scale overridden on a wrapper element', () => {
16
+ const wrap = mount(`
17
+ <style>[data-brand="red"] { --bs-brand-600: rgb(200, 0, 0); --bs-brand-500: rgb(0, 200, 0); }</style>
18
+ <div id="plain"></div>
19
+ <div id="branded" data-brand="red"><section id="inner"></section></div>`);
20
+ const plain = wrap.querySelector('#plain');
21
+ const inner = wrap.querySelector('#inner');
22
+ expect(probe(inner, '--bs-color-primary-default')).toBe('rgb(200, 0, 0)');
23
+ expect(probe(inner, '--bs-text-action')).toBe('rgb(200, 0, 0)');
24
+ expect(probe(inner, '--bs-focus-border-')).toBe('rgb(0, 200, 0)');
25
+ expect(probe(inner, '--bs-border-primary-focus')).toBe('rgb(0, 200, 0)');
26
+ // Outside a data-brand element the defaults are untouched.
27
+ expect(probe(plain, '--bs-color-primary-default')).not.toBe('rgb(200, 0, 0)');
28
+ wrap.remove();
29
+ });
30
+ it('keeps the information-blue focus default outside a data-brand element', () => {
31
+ const wrap = mount('<div id="plain"></div>');
32
+ const plain = wrap.querySelector('#plain');
33
+ expect(probe(plain, '--bs-focus-border-')).toBe(probe(plain, '--bs-information-500'));
34
+ wrap.remove();
35
+ });
36
+ it('uses the dark-mode derivations on a data-brand element under data-theme="dark"', () => {
37
+ const wrap = mount(`
38
+ <style>[data-brand="red"] { --bs-brand-400: rgb(1, 2, 3); --bs-brand-600: rgb(9, 9, 9); }</style>
39
+ <div data-theme="dark"><div data-brand="red"><i id="inner"></i></div></div>`);
40
+ const inner = wrap.querySelector('#inner');
41
+ expect(probe(inner, '--bs-color-primary-default')).toBe('rgb(1, 2, 3)');
42
+ wrap.remove();
43
+ });
44
+ });
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface BsAccordionGroup extends Components.BsAccordionGroup, HTMLElement {}
4
+ export const BsAccordionGroup: {
5
+ prototype: BsAccordionGroup;
6
+ new (): BsAccordionGroup;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as o,p as e,H as s,h as c}from"./p-B2gx7SZk.js";const r=e(class extends s{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow()}get el(){return this}multiple=!1;onToggle(o){const e=o.target;if(!e||"bs-accordion"!==e.tagName.toLowerCase())return;const s=o.detail;e.expanded=s,s&&!this.multiple&&Array.from(this.el.querySelectorAll("bs-accordion")).forEach((o=>{o!==e&&(o.expanded=!1)}))}render(){return c("div",{key:"eab0e21363280efe5401c3a7342ccd589cf4c9d6",part:"group",class:"bs-accordion-group"},c("slot",{key:"54eae755d26e79dffc536e4a158112db3a2d79e3"}))}static get style(){return":host{display:block;--bs-accordion-group-gap:0}.bs-accordion-group{display:flex;flex-direction:column;gap:var(--bs-accordion-group-gap)}"}},[769,"bs-accordion-group",{multiple:[4]},[[0,"bsToggle","onToggle"]]]);function t(){"undefined"!=typeof customElements&&["bs-accordion-group"].forEach((e=>{"bs-accordion-group"===e&&(customElements.get(o(e))||customElements.define(o(e),r))}))}t();const n=r,a=t;export{n as BsAccordionGroup,a as defineCustomElement}
@@ -1 +1 @@
1
- import{t as o,p as a,H as i,c as e,h as c}from"./p-CVrEuVFo.js";const n=a(class extends i{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.bsToggle=e(this,"bsToggle")}expanded=!1;size="medium";disabled=!1;showIcon=!0;showPreview=!0;bsToggle;onActivate=()=>{this.disabled||this.bsToggle.emit(!this.expanded)};render(){return c("div",{key:"2774538f3bc8d52e5a295edafbdad5e2a12dddda",part:"container",class:`bs-accordion bs-accordion--${this.size} ${this.disabled?"bs-accordion--disabled":""}`},c("button",{key:"7e1942dca9082ac653dd7e3d55d9b919790bcd5b",type:"button",part:"header",class:`bs-accordion__header bs-accordion__header--${this.size} ${this.showIcon?"":"bs-accordion__header--no-icon"}`,disabled:this.disabled,"aria-expanded":this.expanded+"",onClick:this.onActivate},this.showIcon&&c("span",{key:"abd274cb295ae34e9220846a1e8466623f65663a",part:"icon",class:"bs-accordion__icon bs-accordion__icon--"+this.size,"aria-hidden":"true"},c("slot",{key:"d9c4c429852c77f4a10c05eb247a9d3d35559ef6",name:"icon"},c(d,{key:"2fb492c43754a517e4e98b684f811be21777e849"}))),c("span",{key:"a02484f1a47148493fbc193bc4b9daa8e4c634e7",part:"label",class:"bs-accordion__label "+(this.showIcon?"":"bs-accordion__label--no-icon")},c("slot",{key:"8241ccee7233e85c2d69c225c07e67b982674ef7",name:"label"})),c("span",{key:"6e36ee8dbd22ca924f9d8ea8b5c3017c5478f058",part:"caret",class:"bs-accordion__caret bs-accordion__caret--"+this.size,"aria-hidden":"true"},c(this.expanded?s:r,null))),(this.expanded||this.showPreview)&&c("div",{key:"1e3ad6fe654c633a4094ea9014ef79d82feae2db",part:"content",class:`bs-accordion__content ${this.showIcon?"":"bs-accordion__content--no-icon"} ${this.expanded?"bs-accordion__content--expanded":"bs-accordion__content--collapsed"}`},c("slot",{key:"6a60fd12ed4ec7e3b4ab0e56414e0a90c4f5d889"})))}static get style(){return":host{display:block;--bs-accordion-radius:var(--bs-border-radius-100);--bs-accordion-header-padding-y-medium:var(--bs-spacing-150);--bs-accordion-header-padding-y-large:var(--bs-spacing-250);--bs-accordion-header-padding-x:var(--bs-spacing-200);--bs-accordion-content-padding-bottom:var(--bs-spacing-150);--bs-accordion-content-padding-right:var(--bs-spacing-200);--bs-accordion-content-padding-left:var(--bs-spacing-800);--bs-accordion-content-padding-left-no-icon:var(--bs-spacing-200);--bs-accordion-icon-width-medium:var(--bs-spacing-800);--bs-accordion-icon-height-medium:48px;--bs-accordion-icon-size-large:var(--bs-spacing-800);--bs-accordion-font-size:var(--bs-font-size-md);--bs-accordion-line-height:var(--bs-line-height-body-md);--bs-accordion-font-weight:var(--bs-font-weight-semibold);--bs-accordion-text-default:var(--bs-text-default);--bs-accordion-bg-hover:var(--bs-surface-hover);--bs-accordion-bg-disabled:var(--bs-surface-action-disabled);--bs-accordion-text-disabled:var(--bs-text-on-disabled);--bs-accordion-focus-ring:var(--bs-border-neutral-focus)}.bs-accordion{display:block;border-radius:var(--bs-accordion-radius);overflow:hidden;font-family:inherit}.bs-accordion:has(.bs-accordion__header:hover),.bs-accordion:has(.bs-accordion__header:active){background:var(--bs-accordion-bg-hover)}.bs-accordion:has(.bs-accordion__header:focus-visible){background:var(--bs-accordion-bg-hover);outline:2px solid var(--bs-accordion-focus-ring);outline-offset:2px;border-radius:calc(var(--bs-accordion-radius) + 2px)}.bs-accordion__header{display:flex;align-items:center;width:100%;border:none;background:transparent;color:var(--bs-accordion-text-default);padding:0;cursor:pointer;font-family:inherit;text-align:start}.bs-accordion__header:focus-visible{outline:none}.bs-accordion__header--medium{padding-top:var(--bs-accordion-header-padding-y-medium);padding-bottom:var(--bs-accordion-header-padding-y-medium)}.bs-accordion__header--large{padding-top:var(--bs-accordion-header-padding-y-large);padding-bottom:var(--bs-accordion-header-padding-y-large)}.bs-accordion__header:disabled{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled);cursor:default}.bs-accordion__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__icon svg{width:24px;height:24px}.bs-accordion__icon--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__icon--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__label{flex:1 1 auto;min-width:0;font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px);font-weight:var(--bs-accordion-font-weight)}.bs-accordion__label--no-icon{padding-inline-start:var(--bs-accordion-header-padding-x)}.bs-accordion__caret{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__caret svg{width:24px;height:24px}.bs-accordion__caret--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__caret--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__content{padding-top:0;padding-bottom:var(--bs-accordion-content-padding-bottom);padding-inline-end:var(--bs-accordion-content-padding-right);padding-inline-start:var(--bs-accordion-content-padding-left);color:var(--bs-accordion-text-default);font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px)}.bs-accordion__content--no-icon{padding-inline-start:var(--bs-accordion-content-padding-left-no-icon)}.bs-accordion__content--collapsed{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-accordion--disabled .bs-accordion__content{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled)}"}},[769,"bs-accordion",{expanded:[516],size:[1],disabled:[4],showIcon:[4,"show-icon"],showPreview:[4,"show-preview"]}]),d=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M12 5V19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),c("path",{d:"M5 12H19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),r=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 9.75L12 15.75L18 9.75",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),s=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 14.25L12 8.25L18 14.25",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}));function t(){"undefined"!=typeof customElements&&["bs-accordion"].forEach((a=>{"bs-accordion"===a&&(customElements.get(o(a))||customElements.define(o(a),n))}))}t();const b=n,l=t;export{b as BsAccordion,l as defineCustomElement}
1
+ import{t as o,p as a,H as i,c as e,h as c}from"./p-B2gx7SZk.js";const n=a(class extends i{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.bsToggle=e(this,"bsToggle")}expanded=!1;size="medium";disabled=!1;showIcon=!0;showPreview=!0;bsToggle;onActivate=()=>{this.disabled||this.bsToggle.emit(!this.expanded)};render(){return c("div",{key:"2774538f3bc8d52e5a295edafbdad5e2a12dddda",part:"container",class:`bs-accordion bs-accordion--${this.size} ${this.disabled?"bs-accordion--disabled":""}`},c("button",{key:"7e1942dca9082ac653dd7e3d55d9b919790bcd5b",type:"button",part:"header",class:`bs-accordion__header bs-accordion__header--${this.size} ${this.showIcon?"":"bs-accordion__header--no-icon"}`,disabled:this.disabled,"aria-expanded":this.expanded+"",onClick:this.onActivate},this.showIcon&&c("span",{key:"abd274cb295ae34e9220846a1e8466623f65663a",part:"icon",class:"bs-accordion__icon bs-accordion__icon--"+this.size,"aria-hidden":"true"},c("slot",{key:"d9c4c429852c77f4a10c05eb247a9d3d35559ef6",name:"icon"},c(d,{key:"2fb492c43754a517e4e98b684f811be21777e849"}))),c("span",{key:"a02484f1a47148493fbc193bc4b9daa8e4c634e7",part:"label",class:"bs-accordion__label "+(this.showIcon?"":"bs-accordion__label--no-icon")},c("slot",{key:"8241ccee7233e85c2d69c225c07e67b982674ef7",name:"label"})),c("span",{key:"6e36ee8dbd22ca924f9d8ea8b5c3017c5478f058",part:"caret",class:"bs-accordion__caret bs-accordion__caret--"+this.size,"aria-hidden":"true"},c(this.expanded?s:r,null))),(this.expanded||this.showPreview)&&c("div",{key:"1e3ad6fe654c633a4094ea9014ef79d82feae2db",part:"content",class:`bs-accordion__content ${this.showIcon?"":"bs-accordion__content--no-icon"} ${this.expanded?"bs-accordion__content--expanded":"bs-accordion__content--collapsed"}`},c("slot",{key:"6a60fd12ed4ec7e3b4ab0e56414e0a90c4f5d889"})))}static get style(){return":host{display:block;--bs-accordion-radius:var(--bs-border-radius-100);--bs-accordion-header-padding-y-medium:var(--bs-spacing-150);--bs-accordion-header-padding-y-large:var(--bs-spacing-250);--bs-accordion-header-padding-x:var(--bs-spacing-200);--bs-accordion-content-padding-bottom:var(--bs-spacing-150);--bs-accordion-content-padding-right:var(--bs-spacing-200);--bs-accordion-content-padding-left:var(--bs-spacing-800);--bs-accordion-content-padding-left-no-icon:var(--bs-spacing-200);--bs-accordion-icon-width-medium:var(--bs-spacing-800);--bs-accordion-icon-height-medium:48px;--bs-accordion-icon-size-large:var(--bs-spacing-800);--bs-accordion-font-size:var(--bs-font-size-md);--bs-accordion-line-height:var(--bs-line-height-body-md);--bs-accordion-font-weight:var(--bs-font-weight-semibold);--bs-accordion-text-default:var(--bs-text-default);--bs-accordion-bg-hover:var(--bs-surface-hover);--bs-accordion-bg-disabled:var(--bs-surface-action-disabled);--bs-accordion-text-disabled:var(--bs-text-on-disabled);--bs-accordion-focus-ring:var(--bs-border-neutral-focus)}.bs-accordion{display:block;border-radius:var(--bs-accordion-radius);overflow:hidden;font-family:inherit}.bs-accordion:has(.bs-accordion__header:hover),.bs-accordion:has(.bs-accordion__header:active){background:var(--bs-accordion-bg-hover)}.bs-accordion:has(.bs-accordion__header:focus-visible){background:var(--bs-accordion-bg-hover);outline:2px solid var(--bs-accordion-focus-ring);outline-offset:2px;border-radius:calc(var(--bs-accordion-radius) + 2px)}.bs-accordion__header{display:flex;align-items:center;width:100%;border:none;background:transparent;color:var(--bs-accordion-text-default);padding:0;cursor:pointer;font-family:inherit;text-align:start}.bs-accordion__header:focus-visible{outline:none}.bs-accordion__header--medium{padding-top:var(--bs-accordion-header-padding-y-medium);padding-bottom:var(--bs-accordion-header-padding-y-medium)}.bs-accordion__header--large{padding-top:var(--bs-accordion-header-padding-y-large);padding-bottom:var(--bs-accordion-header-padding-y-large)}.bs-accordion__header:disabled{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled);cursor:default}.bs-accordion__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__icon svg{width:24px;height:24px}.bs-accordion__icon--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__icon--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__label{flex:1 1 auto;min-width:0;font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px);font-weight:var(--bs-accordion-font-weight)}.bs-accordion__label--no-icon{padding-inline-start:var(--bs-accordion-header-padding-x)}.bs-accordion__caret{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__caret svg{width:24px;height:24px}.bs-accordion__caret--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__caret--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__content{padding-top:0;padding-bottom:var(--bs-accordion-content-padding-bottom);padding-inline-end:var(--bs-accordion-content-padding-right);padding-inline-start:var(--bs-accordion-content-padding-left);color:var(--bs-accordion-text-default);font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px)}.bs-accordion__content--no-icon{padding-inline-start:var(--bs-accordion-content-padding-left-no-icon)}.bs-accordion__content--collapsed{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-accordion--disabled .bs-accordion__content{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled)}"}},[769,"bs-accordion",{expanded:[516],size:[1],disabled:[4],showIcon:[4,"show-icon"],showPreview:[4,"show-preview"]}]),d=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M12 5V19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),c("path",{d:"M5 12H19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),r=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 9.75L12 15.75L18 9.75",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),s=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 14.25L12 8.25L18 14.25",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}));function t(){"undefined"!=typeof customElements&&["bs-accordion"].forEach((a=>{"bs-accordion"===a&&(customElements.get(o(a))||customElements.define(o(a),n))}))}t();const b=n,l=t;export{b as BsAccordion,l as defineCustomElement}
@@ -1 +1 @@
1
- import{t as i,p as e,H as s,h as a}from"./p-CVrEuVFo.js";const t=e(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow()}render(){return a("div",{key:"767bf87bcfe9d07ba03aae5809a483e207bad96d",class:"bs-ai-disclaimer"},a("p",{key:"563f48f1c1dda418af44e27c237655bcfc0821d7",part:"text",class:"bs-ai-disclaimer__text"},a("slot",{key:"255b7d63c1d719cf09b914d5d5df6af7516c18dd"})))}static get style(){return":host{display:block;--bs-ai-disclaimer-padding-x:var(--bs-spacing-200);--bs-ai-disclaimer-text-color:var(--bs-text-secondary);--bs-ai-disclaimer-font-size:var(--bs-font-size-sm);--bs-ai-disclaimer-line-height:var(--bs-line-height-body-sm)}.bs-ai-disclaimer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 var(--bs-ai-disclaimer-padding-x);font-family:inherit}.bs-ai-disclaimer__text{margin:0;flex:1 0 0;min-width:0;color:var(--bs-ai-disclaimer-text-color);font-size:var(--bs-ai-disclaimer-font-size);line-height:calc(var(--bs-ai-disclaimer-line-height) * 1px);text-align:center;word-break:break-word}"}},[257,"bs-ai-disclaimer"]);function r(){"undefined"!=typeof customElements&&["bs-ai-disclaimer"].forEach((e=>{"bs-ai-disclaimer"===e&&(customElements.get(i(e))||customElements.define(i(e),t))}))}r();const c=t,d=r;export{c as BsAiDisclaimer,d as defineCustomElement}
1
+ import{t as i,p as e,H as s,h as a}from"./p-B2gx7SZk.js";const t=e(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow()}render(){return a("div",{key:"6836cda985bc40ddb3d9107031bad86c9d71f9e6",class:"bs-ai-disclaimer"},a("p",{key:"6a4c4655b6e84fe3a2a0bb2abbc917edc5ccccda",part:"text",class:"bs-ai-disclaimer__text"},a("slot",{key:"1dbb9ec659e805272a683a5b8d1004bad079435f"})))}static get style(){return":host{display:block;--bs-ai-disclaimer-padding-x:var(--bs-spacing-200);--bs-ai-disclaimer-text-color:var(--bs-text-secondary);--bs-ai-disclaimer-font-size:var(--bs-font-size-sm);--bs-ai-disclaimer-line-height:var(--bs-line-height-body-sm)}.bs-ai-disclaimer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 var(--bs-ai-disclaimer-padding-x);font-family:inherit}.bs-ai-disclaimer__text{margin:0;flex:1 0 0;min-width:0;color:var(--bs-ai-disclaimer-text-color);font-size:var(--bs-ai-disclaimer-font-size);line-height:calc(var(--bs-ai-disclaimer-line-height) * 1px);text-align:center;word-break:break-word}"}},[257,"bs-ai-disclaimer"]);function r(){"undefined"!=typeof customElements&&["bs-ai-disclaimer"].forEach((e=>{"bs-ai-disclaimer"===e&&(customElements.get(i(e))||customElements.define(i(e),t))}))}r();const c=t,d=r;export{c as BsAiDisclaimer,d as defineCustomElement}