@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
@@ -1,4 +1,4 @@
1
- import { h, r as registerInstance, c as createEvent, a as getElement } from './index-DqQRXQMx.js';
1
+ import { h, r as registerInstance, c as createEvent, a as getElement } from './index-D3SkQJpw.js';
2
2
 
3
3
  const bsSessionTimeoutCss = () => `:host{display:block;width:var(--bs-session-timeout-width);min-width:var(--bs-session-timeout-min-width);max-width:var(--bs-session-timeout-max-width);--bs-session-timeout-width:440px;--bs-session-timeout-min-width:380px;--bs-session-timeout-max-width:560px;--bs-session-timeout-bg:var(--bs-paper-bg-base);--bs-session-timeout-radius:var(--bs-border-radius-150);--bs-session-timeout-padding:var(--bs-spacing-200);--bs-session-timeout-gap:var(--bs-spacing-150);--bs-session-timeout-shadow:0 8px 8px var(--bs-elevation-higher);--bs-session-timeout-color:var(--bs-text-default);--bs-session-timeout-color-secondary:var(--bs-text-secondary);--bs-session-timeout-countdown-bg:var(--bs-surface-container);--bs-session-timeout-countdown-fill:var(--bs-color-warning-default);--bs-session-timeout-countdown-track:var(--bs-surface-hover);--bs-session-timeout-rule:var(--bs-border-default)}.bs-session-timeout{--bs-card-bg:var(--bs-session-timeout-bg);--bs-card-radius:var(--bs-session-timeout-radius);--bs-card-padding:var(--bs-session-timeout-padding);--bs-card-shadow:var(--bs-session-timeout-shadow);color:var(--bs-session-timeout-color)}.bs-session-timeout__body{display:flex;flex-direction:column;align-items:stretch;gap:var(--bs-session-timeout-gap)}bs-icon-tile{align-self:flex-start}.bs-session-timeout__glyph,::slotted([slot='icon']){width:24px;height:24px}.bs-session-timeout__heading-group{display:flex;flex-direction:column;gap:6px}.bs-session-timeout__heading{margin:0;font-size:var(--bs-font-size-2xl);font-weight:var(--bs-font-weight-bold);line-height:32px}.bs-session-timeout__description{margin:0;color:var(--bs-session-timeout-color-secondary);font-size:var(--bs-font-size-md);line-height:24px}.bs-session-timeout__countdown{display:flex;flex-direction:column;gap:var(--bs-spacing-100);padding:var(--bs-spacing-200);border-radius:var(--bs-border-radius-100);background:var(--bs-session-timeout-countdown-bg)}.bs-session-timeout__countdown bs-progress-linear{--bs-progress-linear-fill:var(--bs-session-timeout-countdown-fill);--bs-progress-linear-track:var(--bs-session-timeout-countdown-track)}.bs-session-timeout__time-row{display:flex;align-items:flex-end;gap:var(--bs-spacing-100)}.bs-session-timeout__time{font-size:var(--bs-font-size-3xl);font-weight:var(--bs-font-weight-bold);line-height:40px;font-variant-numeric:tabular-nums}.bs-session-timeout__unit{padding-bottom:6px;color:var(--bs-session-timeout-color-secondary);font-size:var(--bs-font-size-sm);line-height:20px}.bs-session-timeout__saved{display:flex;align-items:center;gap:var(--bs-spacing-100);margin:0;color:var(--bs-session-timeout-color-secondary);font-size:var(--bs-font-size-sm);line-height:20px}.bs-session-timeout__saved-icon{flex:none;width:16px;height:16px}.bs-session-timeout__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--bs-spacing-100)}.bs-session-timeout__actions bs-button,.bs-session-timeout__alternatives bs-button,.bs-session-timeout__block-button{--bs-button-height-md:var(--bs-spacing-550)}.bs-session-timeout__account{display:flex;align-items:center;gap:var(--bs-spacing-200);padding:var(--bs-spacing-150) var(--bs-spacing-200);border:1px solid var(--bs-session-timeout-rule);border-radius:var(--bs-border-radius-100)}.bs-session-timeout__account-text{display:flex;flex-direction:column;gap:var(--bs-spacing-25);min-width:0;line-height:24px}.bs-session-timeout__account-name{font-weight:var(--bs-font-weight-semibold)}.bs-session-timeout__account-email{overflow-wrap:anywhere}.bs-session-timeout__actions--stacked{flex-direction:column;align-items:stretch;justify-content:flex-start}.bs-session-timeout__block-button,.bs-session-timeout__alternatives bs-button,.bs-session-timeout__actions--stacked bs-button{--bs-button-width:100%}.bs-session-timeout__text-button{--bs-button-subtle-color:var(--bs-text-action);--bs-button-height-lg:var(--bs-spacing-600)}.bs-session-timeout__password{display:block;--bs-input-label-font-size:var(--bs-font-size-md);--bs-input-label-font-weight:var(--bs-font-weight-semibold);--bs-input-label-line-height:calc(var(--bs-line-height-body-md) * 1px);margin-bottom:calc(var(--bs-spacing-200) - var(--bs-session-timeout-gap))}.bs-session-timeout__divider{display:flex;align-items:center;gap:var(--bs-spacing-100);align-self:center;width:320px;max-width:100%;color:var(--bs-session-timeout-color-secondary);font-size:var(--bs-font-size-xs);line-height:16px}.bs-session-timeout__rule{flex:1 1 0;height:1px;background:var(--bs-session-timeout-rule)}.bs-session-timeout__alternatives{display:grid;grid-template-columns:repeat(auto-fit, minmax(0, 1fr));gap:var(--bs-spacing-100)}.bs-session-timeout__sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}`;
4
4
 
@@ -158,7 +158,7 @@ const BsSessionTimeout = class {
158
158
  const description = this.description ?? d.description;
159
159
  const primary = this.primaryLabel ?? d.primary;
160
160
  const secondary = this.secondaryLabel ?? d.secondary;
161
- return (h("bs-card", { key: '45a056eabc2f536128ee6adbc6104d76793301f4', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: '035795cb4b5b0252212270236f048e3216d5d401', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: '857db99f58d07483d3c7dadd95e5951a645d0c59', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: '41504daf4751677d9b1df0d211e719d8f441f5b2', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: '8ba10b3921db4b3cedbeb3d45bddfb89425bbdbb', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: '44ea938fca553c67ae23628833471ceb98e63b06' }), h("span", { key: '672ebc96828437ffbc67711082fd7018611153b7' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: '94221156fe30010bd0fbe4fb0146c95feceab50f', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: '09b14d30bc185a4644902e52100f0493da6109a0', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: 'be381ed4be453efd306b28da3e1f4b7f0740c024', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: '6b3b3622809165f70d83c68db409e2373ea1008e', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: 'f03d85c00ce0c18e14e26d2b4332ddb987b93f9e', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: 'a9bf95d13955110f7f36561b9acc3c89a5862de5', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: '69ada1eed62f93587b2c2f45aa1d3ea933ba682f', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
161
+ return (h("bs-card", { key: 'a59288c1e524507781d37b23493224c299ca697a', part: "container", class: "bs-session-timeout", surface: "base", role: "region", "aria-labelledby": "heading" }, h("div", { key: 'adde8ef701bc24337fe42998c9f3af0fd3b817bf', class: "bs-session-timeout__body" }, !this.hideIcon && (h("bs-icon-tile", { key: 'a3d1f87b2fcd29a319be7e119bf76c800b343e48', part: "art", intent: d.intent, size: "lg" }, h("slot", { key: '42b9193378bf88f0ea2f4e3ac48a0ff58545d21b', name: "icon" }, d.glyph()))), this.renderHeading(heading, description), this.type === 'warning' && this.renderWarning(), this.type === 'warning' && this.savedMessage && (h("p", { key: 'ed78d1c152d3edcf0db93c7bb8b6d744ae8283c5', part: "saved", class: "bs-session-timeout__saved" }, h(InfoIcon, { key: '7992c624db71b1471ea62b82f5d8c90d438d7ee1' }), h("span", { key: 'a4cdc8e871083a685de65d3e785800ff6af1452e' }, this.savedMessage))), this.type === 'signed-out' && this.renderAccount(), this.type === 'confirm-identity' && this.renderConfirm(), this.type === 'warning' && (primary || secondary) && (h("div", { key: '756f8e8cddd87c273273621d69796be30a9daa3e', part: "actions", class: "bs-session-timeout__actions" }, secondary && (h("bs-button", { key: '525c02f57453d82e5e2105b1f28d8f7ca8e8e1bc', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)), primary && (h("bs-button", { key: 'daaf10a97c4306a657fce5ec827a067659a2b2d7', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)))), this.type === 'signed-out' && (primary || secondary) && (h("div", { key: 'f1b52edae2419a8e66b08a681d2f2b917383c90e', part: "actions", class: "bs-session-timeout__actions bs-session-timeout__actions--stacked" }, primary && (h("bs-button", { key: '145f8f09b939c82eef01068bc0e849fc7f63b957', part: "primary", class: "bs-session-timeout__block-button", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: '897e5342fe89966702d2af457f9038b60e8929ec', part: "secondary", class: "bs-session-timeout__text-button", variant: "subtle", size: "lg", onClick: () => this.bsSecondary.emit() }, secondary)))), h("div", { key: 'b3f242f4a8b00b52975ed66d9a72ebc98997cf29', class: "bs-session-timeout__sr-only", role: "status", "aria-live": "polite" }, this.announcement))));
162
162
  }
163
163
  static get watchers() { return {
164
164
  "countdown": [{
@@ -0,0 +1,162 @@
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-D3SkQJpw.js';
2
+
3
+ const bsSidePanelCss = () => `:host{--bs-side-panel-bg:var(--bs-surface-raised);--bs-side-panel-width:calc(var(--bs-scale-1600) * 3);--bs-side-panel-padding:var(--bs-spacing-200);--bs-side-panel-shadow:var(--bs-shadow-md);--bs-side-panel-overlay-bg:var(--bs-surface-overlay);--bs-side-panel-color:var(--bs-text-default);--bs-side-panel-z-index:var(--bs-z-index-modal)}.bs-side-panel{position:fixed;inset:0;z-index:var(--bs-side-panel-z-index);pointer-events:none}.bs-side-panel__overlay{position:absolute;inset:0;background:var(--bs-side-panel-overlay-bg);pointer-events:auto}.bs-side-panel__panel{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;width:var(--bs-side-panel-width);max-width:100%;background:var(--bs-side-panel-bg);color:var(--bs-side-panel-color);box-shadow:var(--bs-side-panel-shadow);pointer-events:auto;outline:none}.bs-side-panel--start .bs-side-panel__panel{left:0}.bs-side-panel--end .bs-side-panel__panel{right:0}.bs-side-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--bs-spacing-100);padding:var(--bs-side-panel-padding)}.bs-side-panel__heading{margin:0;font-size:var(--bs-font-size-lg);font-weight:var(--bs-font-weight-semibold)}.bs-side-panel__actions{display:flex;align-items:center;gap:var(--bs-spacing-100)}.bs-side-panel__body{flex:1;overflow-y:auto;padding:0 var(--bs-side-panel-padding)}.bs-side-panel__footer{padding:var(--bs-side-panel-padding)}`;
4
+
5
+ let panelId = 0;
6
+ const BsSidePanel = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.bsClose = createEvent(this, "bsClose");
10
+ }
11
+ get el() { return getElement(this); }
12
+ /** Whether the panel is visible. */
13
+ open = false;
14
+ /** Panel title; also its accessible name. */
15
+ heading = '';
16
+ /** Edge the panel is anchored to. */
17
+ side = 'end';
18
+ /** Accessible label of the close button. */
19
+ closeLabel = 'Close';
20
+ /** Shows a backdrop behind the panel; clicking it closes the panel. */
21
+ overlay = false;
22
+ /** Emitted when the panel requests to close (close button, Escape, overlay click). */
23
+ bsClose;
24
+ headingId = `bs-side-panel-heading-${++panelId}`;
25
+ previouslyFocused = null;
26
+ panelEl;
27
+ /** Elements we set `inert` on (so we only undo our own changes). */
28
+ inertified = [];
29
+ onOpenChange(next) {
30
+ if (next) {
31
+ this.previouslyFocused = document.activeElement ?? null;
32
+ this.applyInert();
33
+ }
34
+ else {
35
+ this.restoreInert();
36
+ this.previouslyFocused?.focus?.();
37
+ this.previouslyFocused = null;
38
+ }
39
+ }
40
+ onOverlayChange() {
41
+ if (!this.open)
42
+ return;
43
+ this.restoreInert();
44
+ this.applyInert();
45
+ }
46
+ connectedCallback() {
47
+ if (this.open)
48
+ this.applyInert();
49
+ }
50
+ disconnectedCallback() {
51
+ this.restoreInert();
52
+ }
53
+ /** Marks everything outside the panel as inert (modal overlay only). */
54
+ applyInert() {
55
+ if (!this.overlay || this.inertified.length)
56
+ return;
57
+ let node = this.el;
58
+ while (node && node !== document.body) {
59
+ const parent = node.parentElement;
60
+ if (!parent)
61
+ break;
62
+ Array.from(parent.children).forEach(sib => {
63
+ if (sib === node || !(sib instanceof HTMLElement) || sib.inert)
64
+ return;
65
+ sib.inert = true;
66
+ this.inertified.push(sib);
67
+ });
68
+ node = parent;
69
+ }
70
+ }
71
+ restoreInert() {
72
+ this.inertified.forEach(el => (el.inert = false));
73
+ this.inertified = [];
74
+ }
75
+ getFocusables() {
76
+ const sel = 'a[href],button:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]),bs-icon-button,[contenteditable="true"]';
77
+ const out = [];
78
+ const visit = (root) => {
79
+ Array.from(root.children).forEach(child => {
80
+ if (child instanceof HTMLSlotElement) {
81
+ const assigned = child.assignedElements({ flatten: true });
82
+ assigned.forEach(a => consider(a));
83
+ }
84
+ else
85
+ consider(child);
86
+ });
87
+ };
88
+ const consider = (el) => {
89
+ if (!(el instanceof HTMLElement) || el.hidden || el.inert)
90
+ return;
91
+ if (el.matches(sel) && el.getAttribute('tabindex') !== '-1') {
92
+ // A custom element that delegates focus is itself the tab stop.
93
+ out.push(el);
94
+ return;
95
+ }
96
+ visit(el.shadowRoot ?? el);
97
+ };
98
+ if (this.panelEl)
99
+ visit(this.panelEl);
100
+ return out;
101
+ }
102
+ trapTab(ev) {
103
+ const items = this.getFocusables();
104
+ if (!items.length) {
105
+ ev.preventDefault();
106
+ this.panelEl?.focus();
107
+ return;
108
+ }
109
+ const first = items[0];
110
+ const last = items[items.length - 1];
111
+ const path = ev.composedPath();
112
+ const active = items.find(i => path.includes(i));
113
+ const atPanel = path[0] === this.panelEl;
114
+ if (ev.shiftKey && (atPanel || active === first || !active)) {
115
+ ev.preventDefault();
116
+ last.focus();
117
+ }
118
+ else if (!ev.shiftKey && (active === last || (!active && !atPanel))) {
119
+ ev.preventDefault();
120
+ first.focus();
121
+ }
122
+ }
123
+ componentDidRender() {
124
+ if (this.open && this.panelEl && !this.focusedIn) {
125
+ this.focusedIn = true;
126
+ this.panelEl.focus();
127
+ }
128
+ else if (!this.open) {
129
+ this.focusedIn = false;
130
+ }
131
+ }
132
+ focusedIn = false;
133
+ close = () => {
134
+ this.open = false;
135
+ this.bsClose.emit();
136
+ };
137
+ onKeyDown = (ev) => {
138
+ if (ev.key === 'Escape' && this.open) {
139
+ ev.stopPropagation();
140
+ this.close();
141
+ }
142
+ else if (ev.key === 'Tab' && this.open) {
143
+ this.trapTab(ev);
144
+ }
145
+ };
146
+ render() {
147
+ if (!this.open)
148
+ return null;
149
+ 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" })))));
150
+ }
151
+ static get watchers() { return {
152
+ "open": [{
153
+ "onOpenChange": 0
154
+ }],
155
+ "overlay": [{
156
+ "onOverlayChange": 0
157
+ }]
158
+ }; }
159
+ };
160
+ BsSidePanel.style = bsSidePanelCss();
161
+
162
+ export { BsSidePanel as bs_side_panel };
@@ -0,0 +1,49 @@
1
+ import { r as registerInstance, h } from './index-D3SkQJpw.js';
2
+
3
+ const bsSkeletonCss = () => `:host{display:block;--bs-skeleton-bg:var(--bs-color-neutral-container);--bs-skeleton-radius:var(--bs-border-radius-100);--bs-skeleton-width:100%;--bs-skeleton-text-height:1em;--bs-skeleton-rect-height:96px;--bs-skeleton-gap:var(--bs-spacing-100);--bs-skeleton-duration:1.5s}.bs-skeleton{display:flex;flex-direction:column;gap:var(--bs-skeleton-gap)}.bs-skeleton__line{display:block;max-width:100%;width:var(--bs-skeleton-width);background:var(--bs-skeleton-bg);border-radius:var(--bs-skeleton-radius)}.bs-skeleton__line--text{height:var(--bs-skeleton-text-height)}.bs-skeleton__line--rect{height:var(--bs-skeleton-rect-height)}.bs-skeleton__line--circle{height:var(--bs-skeleton-rect-height);width:var(--bs-skeleton-rect-height);border-radius:var(--bs-border-radius-full)}.bs-skeleton__line--short{width:60%}.bs-skeleton--animated .bs-skeleton__line{animation:bs-skeleton-pulse var(--bs-skeleton-duration) ease-in-out infinite}@keyframes bs-skeleton-pulse{0%,100%{opacity:1}50%{opacity:0.5}}@media (prefers-reduced-motion: reduce){.bs-skeleton--animated .bs-skeleton__line{animation:none}}`;
4
+
5
+ const BsSkeleton = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ /** Shape of the placeholder. */
10
+ variant = 'text';
11
+ /** Any CSS length (e.g. `200px`, `50%`). Falls back to `--bs-skeleton-width`. For `circle`, if
12
+ * only one of `width`/`height` is set the other matches it. */
13
+ width;
14
+ /** Any CSS length. Falls back to the variant's default height custom property. */
15
+ height;
16
+ /** Number of text lines (`variant="text"` only). The last line of a multi-line block is shorter.
17
+ * Values below 1 are treated as 1. */
18
+ lines = 1;
19
+ /** Whether the placeholder pulses. Disabled automatically under `prefers-reduced-motion`. */
20
+ animated = true;
21
+ /** When set, the placeholder gets `role="status"` and this as its `aria-label`; otherwise it is
22
+ * `aria-hidden="true"`. */
23
+ label;
24
+ render() {
25
+ const isText = this.variant === 'text';
26
+ const count = isText ? Math.max(1, Math.floor(Number(this.lines)) || 1) : 1;
27
+ let width = this.width;
28
+ let height = this.height;
29
+ if (this.variant === 'circle') {
30
+ width = width ?? height;
31
+ height = height ?? width;
32
+ }
33
+ const style = {};
34
+ if (width)
35
+ style.width = width;
36
+ if (height)
37
+ style.height = height;
38
+ const lines = [];
39
+ for (let i = 0; i < count; i++) {
40
+ const isShortLast = isText && count > 1 && i === count - 1 && !this.width;
41
+ lines.push(h("span", { part: "line", class: { 'bs-skeleton__line': true, [`bs-skeleton__line--${this.variant}`]: true, 'bs-skeleton__line--short': isShortLast }, style: style }));
42
+ }
43
+ const hasLabel = !!this.label;
44
+ return (h("span", { key: 'dc80e4fbb6d9da6387f5bb674595469e7566ce2c', 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));
45
+ }
46
+ };
47
+ BsSkeleton.style = bsSkeletonCss();
48
+
49
+ export { BsSkeleton as bs_skeleton };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DqQRXQMx.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-D3SkQJpw.js';
2
2
 
3
3
  const bsSliderCss = () => `:host{display:block;--bs-slider-gap:var(--bs-spacing-100);--bs-slider-label-color:var(--bs-text-default);--bs-slider-label-color-disabled:var(--bs-text-muted);--bs-slider-label-font-weight:var(--bs-font-weight-semibold);--bs-slider-track-height:var(--bs-spacing-50);--bs-slider-track-radius:var(--bs-border-radius-full);--bs-slider-track-bg:var(--bs-surface-container);--bs-slider-track-bg-disabled:var(--bs-surface-action-disabled);--bs-slider-fill-bg:var(--bs-surface-action);--bs-slider-fill-bg-disabled:var(--bs-surface-on-action-disabled);--bs-slider-knob-hit-size:var(--bs-spacing-600);--bs-slider-knob-size:var(--bs-spacing-300);--bs-slider-knob-bg:var(--bs-surface-action);--bs-slider-knob-color-disabled:var(--bs-surface-on-action-disabled);--bs-slider-focus-ring-color:var(--bs-border-primary-focus);--bs-slider-focus-ring-gap-color:var(--bs-surface-base);--bs-slider-tick-bg:var(--bs-surface-inset);--bs-slider-tooltip-bg:var(--bs-surface-inverse);--bs-slider-tooltip-color:var(--bs-text-inverse);--bs-slider-tooltip-radius:var(--bs-border-radius-50);--bs-slider-field-width:56px;--bs-slider-field-border:var(--bs-input-border-default);--bs-slider-field-bg:var(--bs-input-bg-default);--bs-slider-field-radius:var(--bs-border-radius-100);--bs-slider-field-text:var(--bs-input-text);--bs-slider-field-text-disabled:var(--bs-text-on-disabled);--bs-slider-bound-color:var(--bs-text-default);--bs-slider-bound-color-disabled:var(--bs-text-on-disabled)}.bs-slider{display:flex;flex-direction:column;gap:var(--bs-slider-gap);font-family:inherit}.bs-slider__label{font-size:var(--bs-font-size-sm);font-weight:var(--bs-slider-label-font-weight);color:var(--bs-slider-label-color)}.bs-slider--disabled .bs-slider__label{color:var(--bs-slider-label-color-disabled);font-weight:normal}.bs-slider__header{display:flex;align-items:center;justify-content:space-between;gap:var(--bs-slider-gap)}.bs-slider__value-fields{display:flex;align-items:center;gap:var(--bs-spacing-100)}.bs-slider__row{display:flex;align-items:center;gap:var(--bs-slider-gap)}.bs-slider__bound{color:var(--bs-slider-bound-color);font-size:var(--bs-font-size-md);flex-shrink:0}.bs-slider--disabled .bs-slider__bound{color:var(--bs-slider-bound-color-disabled)}.bs-slider__separator{color:var(--bs-slider-field-text);flex-shrink:0}.bs-slider--disabled .bs-slider__separator{color:var(--bs-slider-field-text-disabled)}.bs-slider__field{box-sizing:border-box;display:flex;align-items:center;gap:var(--bs-spacing-25);flex-shrink:0;width:var(--bs-slider-field-width);border:1px solid var(--bs-slider-field-border);border-radius:var(--bs-slider-field-radius);background:var(--bs-slider-field-bg);padding:var(--bs-spacing-50) var(--bs-spacing-100)}.bs-slider--disabled .bs-slider__field{cursor:not-allowed}.bs-slider__field-input{flex:1;min-width:0;border:none;outline:none;padding:0;background:transparent;color:var(--bs-slider-field-text);font-size:var(--bs-font-size-sm);font-family:inherit;text-align:left;-moz-appearance:textfield}.bs-slider__field-suffix{flex-shrink:0;color:var(--bs-slider-field-text);font-size:var(--bs-font-size-sm)}.bs-slider--disabled .bs-slider__field-suffix{color:var(--bs-slider-field-text-disabled)}.bs-slider__field-input::-webkit-outer-spin-button,.bs-slider__field-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bs-slider__field-input:disabled{color:var(--bs-slider-field-text-disabled);cursor:not-allowed}.bs-slider__track-wrapper{position:relative;flex:1;min-width:0;height:var(--bs-slider-knob-hit-size);display:flex;align-items:center}.bs-slider__track{position:relative;width:100%;height:var(--bs-slider-track-height);border-radius:var(--bs-slider-track-radius);background:var(--bs-slider-track-bg);overflow:visible;pointer-events:none}.bs-slider--disabled .bs-slider__track{background:var(--bs-slider-track-bg-disabled)}.bs-slider__track-fill{position:absolute;top:0;bottom:0;left:var(--bs-slider-fill-start, 0%);right:calc(100% - var(--bs-slider-fill-end, 0%));border-radius:var(--bs-slider-track-radius);background:var(--bs-slider-fill-bg)}.bs-slider--disabled .bs-slider__track-fill{background:var(--bs-slider-fill-bg-disabled)}.bs-slider__ticks{position:absolute;top:50%;left:0;width:100%;height:0;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}.bs-slider__tick{width:2px;height:var(--bs-spacing-50);background:var(--bs-slider-tick-bg)}.bs-slider__tick--hidden{opacity:0}.bs-slider__input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;appearance:none;background:transparent;cursor:pointer}.bs-slider--disabled .bs-slider__input{cursor:not-allowed}.bs-slider__input::-webkit-slider-runnable-track{background:transparent}.bs-slider__input::-moz-range-track{background:transparent}.bs-slider__input::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--bs-slider-knob-size);height:var(--bs-slider-knob-size);border-radius:var(--bs-border-radius-full);border:none;background:var(--bs-slider-knob-bg);cursor:pointer}.bs-slider__input::-moz-range-thumb{box-sizing:border-box;width:var(--bs-slider-knob-size);height:var(--bs-slider-knob-size);border-radius:var(--bs-border-radius-full);border:none;background:var(--bs-slider-knob-bg);cursor:pointer}.bs-slider--disabled .bs-slider__input::-webkit-slider-thumb{cursor:not-allowed;background:var(--bs-slider-knob-color-disabled)}.bs-slider--disabled .bs-slider__input::-moz-range-thumb{cursor:not-allowed;background:var(--bs-slider-knob-color-disabled)}.bs-slider__input--start,.bs-slider__input--end{pointer-events:none}.bs-slider__input--start::-webkit-slider-thumb,.bs-slider__input--end::-webkit-slider-thumb{pointer-events:auto}.bs-slider__input--start::-moz-range-thumb,.bs-slider__input--end::-moz-range-thumb{pointer-events:auto}.bs-slider__input:focus-visible::-webkit-slider-thumb,.bs-slider__input:active::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bs-slider-focus-ring-gap-color), 0 0 0 4px var(--bs-slider-focus-ring-color)}.bs-slider__input:focus-visible::-moz-range-thumb,.bs-slider__input:active::-moz-range-thumb{box-shadow:0 0 0 2px var(--bs-slider-focus-ring-gap-color), 0 0 0 4px var(--bs-slider-focus-ring-color)}.bs-slider__tooltip{position:absolute;bottom:calc(50% + 38px);transform:translateX(-50%);padding:var(--bs-spacing-25) var(--bs-spacing-100);background:var(--bs-slider-tooltip-bg);color:var(--bs-slider-tooltip-color);border-radius:var(--bs-slider-tooltip-radius);font-size:var(--bs-font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.1s ease}.bs-slider__tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);width:8px;height:8px;background:var(--bs-slider-tooltip-bg);clip-path:polygon(50% 100%, 0% 0%, 100% 0%)}.bs-slider__input:focus-visible~.bs-slider__tooltip,.bs-slider__input:active~.bs-slider__tooltip{opacity:1}.bs-slider__input--start:focus-visible~.bs-slider__tooltip--end,.bs-slider__input--start:active~.bs-slider__tooltip--end,.bs-slider__input--end:focus-visible~.bs-slider__tooltip--start,.bs-slider__input--end:active~.bs-slider__tooltip--start{opacity:0}`;
4
4
 
@@ -53,6 +53,10 @@ const BsSlider = class {
53
53
  /** Disables the slider: sets the native `disabled` attribute on the range input(s), suppresses
54
54
  * hover/focus/drag styling and the value tooltip, and prevents interaction. */
55
55
  disabled = false;
56
+ /** Accessible name of the lower-bound thumb / percent field when `ariaLabel` is unset. */
57
+ startValueLabel = 'Start value';
58
+ /** Accessible name of the upper-bound thumb / percent field when `ariaLabel` is unset. */
59
+ endValueLabel = 'End value';
56
60
  /**
57
61
  * Accessible name for the slider's native range input(s). Required whenever `showLabel` is
58
62
  * `false` (a bare track with no visible "Label" text) -- without it, the internal native
@@ -212,12 +216,12 @@ const BsSlider = class {
212
216
  // near one end, only the topmost one is reachable by click, and the topmost one is always the
213
217
  // one rendered last (the end thumb) unless we compensate.
214
218
  const startOnTop = this.percent(start) > 50;
215
- return (h("div", { class: "bs-slider__track-wrapper", style: { '--bs-slider-fill-start': `${fillStart}%`, '--bs-slider-fill-end': `${fillEnd}%` } }, h("div", { part: "track", class: "bs-slider__track" }, h("div", { part: "fill", class: "bs-slider__track-fill" })), h("input", { type: "range", part: "control", class: "bs-slider__input bs-slider__input--start", style: { zIndex: startOnTop ? '4' : '3' }, min: this.min, max: this.max, step: this.step, value: start, disabled: this.disabled, "aria-label": this.ariaLabel ?? 'Start value', onInput: this.onStartInputChange, onChange: this.onStartInputChange }), h("input", { type: "range", part: "control", class: "bs-slider__input bs-slider__input--end", style: { zIndex: startOnTop ? '3' : '4' }, min: this.min, max: this.max, step: this.step, value: end, disabled: this.disabled, "aria-label": this.ariaLabel ? `${this.ariaLabel} end` : 'End value', onInput: this.onEndInputChange, onChange: this.onEndInputChange }), h("span", { class: "bs-slider__tooltip bs-slider__tooltip--start", part: "tooltip", style: { left: `${fillStart}%` }, "aria-hidden": "true" }, Math.round(this.percent(start)), "%"), h("span", { class: "bs-slider__tooltip bs-slider__tooltip--end", part: "tooltip", style: { left: `${fillEnd}%` }, "aria-hidden": "true" }, Math.round(this.percent(end)), "%")));
219
+ return (h("div", { class: "bs-slider__track-wrapper", style: { '--bs-slider-fill-start': `${fillStart}%`, '--bs-slider-fill-end': `${fillEnd}%` } }, h("div", { part: "track", class: "bs-slider__track" }, h("div", { part: "fill", class: "bs-slider__track-fill" })), h("input", { type: "range", part: "control", class: "bs-slider__input bs-slider__input--start", style: { zIndex: startOnTop ? '4' : '3' }, min: this.min, max: this.max, step: this.step, value: start, disabled: this.disabled, "aria-label": this.ariaLabel ?? this.startValueLabel, onInput: this.onStartInputChange, onChange: this.onStartInputChange }), h("input", { type: "range", part: "control", class: "bs-slider__input bs-slider__input--end", style: { zIndex: startOnTop ? '3' : '4' }, min: this.min, max: this.max, step: this.step, value: end, disabled: this.disabled, "aria-label": this.ariaLabel ? `${this.ariaLabel} end` : this.endValueLabel, onInput: this.onEndInputChange, onChange: this.onEndInputChange }), h("span", { class: "bs-slider__tooltip bs-slider__tooltip--start", part: "tooltip", style: { left: `${fillStart}%` }, "aria-hidden": "true" }, Math.round(this.percent(start)), "%"), h("span", { class: "bs-slider__tooltip bs-slider__tooltip--end", part: "tooltip", style: { left: `${fillEnd}%` }, "aria-hidden": "true" }, Math.round(this.percent(end)), "%")));
216
220
  }
217
221
  render() {
218
222
  const isRange = this.type === 'range';
219
223
  const rootClasses = ['bs-slider', this.disabled ? 'bs-slider--disabled' : ''].filter(Boolean).join(' ');
220
- return (h("div", { key: '7fb6a534e41e91efe00bcba839641550398eed13', class: rootClasses }, this.showLabel && (h("div", { key: '5892936540c9e4f74dfadd3ad9088ffd2c04fef5', class: "bs-slider__header" }, h("span", { key: '220c0db8a2cc5f5f29cf99830fa0b4d30ec90d32', 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 ?? 'Start value'), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : 'End value'))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: '67830218b3aa9d927ab87c4c6ca419b3a24ca0af', class: "bs-slider__row" }, this.showLabel && (h("span", { key: 'b2569e64400853a503d1566825500f8d10fe0318', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: '2b5ac8ff8dd48f4db7a0d4db3698bb64a4f9277a', part: "bound", class: "bs-slider__bound" }, this.max)))));
224
+ return (h("div", { key: '24883c8b7d1f00df7a700de4e296ecdfc293bf47', class: rootClasses }, this.showLabel && (h("div", { key: 'd41690990898df937f99a5285f2f407b550d881c', class: "bs-slider__header" }, h("span", { key: '2519779a06f6bb9911be0bdb4539b36c3c16f725', 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: 'd0525503f51fc1dc3f9753fce131e008db7ded54', class: "bs-slider__row" }, this.showLabel && (h("span", { key: '98ecbdd3462da354a2fb7c719b8eb48c81a0c809', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: '3e1690be98b45b3f595991d5cdde35f0abfe0da3', part: "bound", class: "bs-slider__bound" }, this.max)))));
221
225
  }
222
226
  static get delegatesFocus() { return true; }
223
227
  static get formAssociated() { return true; }
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DqQRXQMx.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D3SkQJpw.js';
2
2
 
3
3
  const bsSnackbarCss = () => `:host{display:inline-flex;--bs-snackbar-radius:var(--bs-border-radius-100);--bs-snackbar-shadow:var(--bs-shadow-md);--bs-snackbar-gap:var(--bs-spacing-100);--bs-snackbar-content-padding-y:var(--bs-spacing-200);--bs-snackbar-content-padding-x:var(--bs-spacing-200);--bs-snackbar-content-gap:var(--bs-spacing-150);--bs-snackbar-icon-size:24px;--bs-snackbar-font-size:var(--bs-font-size-md);--bs-snackbar-line-height:var(--bs-line-height-body-md);--bs-snackbar-actions-padding-y:var(--bs-spacing-50);--bs-snackbar-actions-padding-x:var(--bs-spacing-100);--bs-snackbar-actions-gap:var(--bs-spacing-50);--bs-snackbar-surface-default:var(--bs-snackbar-bg-default);--bs-snackbar-color-default:var(--bs-snackbar-text-default);--bs-snackbar-surface-info:var(--bs-color-info-container);--bs-snackbar-text-info:var(--bs-text-info);--bs-snackbar-surface-warning:var(--bs-color-warning-container);--bs-snackbar-text-warning:var(--bs-text-warning);--bs-snackbar-surface-success:var(--bs-color-success-container);--bs-snackbar-text-success:var(--bs-text-success);--bs-snackbar-surface-error:var(--bs-color-error-container);--bs-snackbar-text-error:var(--bs-text-error);--bs-snackbar-spinner-track:var(--bs-neutral-200)}.bs-snackbar{display:flex;align-items:center;gap:var(--bs-snackbar-gap);border-radius:var(--bs-snackbar-radius);box-shadow:var(--bs-snackbar-shadow);font-family:inherit}.bs-snackbar--default{background:var(--bs-snackbar-surface-default);color:var(--bs-snackbar-color-default)}.bs-snackbar--info{background:var(--bs-snackbar-surface-info);color:var(--bs-snackbar-text-info)}.bs-snackbar--warning{background:var(--bs-snackbar-surface-warning);color:var(--bs-snackbar-text-warning)}.bs-snackbar--success{background:var(--bs-snackbar-surface-success);color:var(--bs-snackbar-text-success)}.bs-snackbar--error{background:var(--bs-snackbar-surface-error);color:var(--bs-snackbar-text-error)}.bs-snackbar__content{display:flex;align-items:center;gap:var(--bs-snackbar-content-gap);flex:1 1 auto;min-width:0;padding:var(--bs-snackbar-content-padding-y) 0 var(--bs-snackbar-content-padding-y) var(--bs-snackbar-content-padding-x)}.bs-snackbar__icon{display:flex;align-items:center;justify-content:center;width:var(--bs-snackbar-icon-size);height:var(--bs-snackbar-icon-size);flex-shrink:0;color:inherit}.bs-snackbar__icon svg{width:var(--bs-snackbar-icon-size);height:var(--bs-snackbar-icon-size)}.bs-snackbar__spinner{display:inline-block;box-sizing:border-box;width:24px;height:24px;border:2px solid var(--bs-snackbar-spinner-track);border-top-color:currentColor;border-radius:50%;animation:bs-snackbar-spin 0.8s linear infinite}@keyframes bs-snackbar-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bs-snackbar__spinner{animation:none}}.bs-snackbar__message{flex:1 1 auto;min-width:0;font-size:var(--bs-snackbar-font-size);line-height:calc(var(--bs-snackbar-line-height) * 1px)}.bs-snackbar__actions{display:flex;align-items:center;align-self:stretch;gap:var(--bs-snackbar-actions-gap);flex-shrink:0;padding:var(--bs-snackbar-actions-padding-y) var(--bs-snackbar-actions-padding-x) var(--bs-snackbar-actions-padding-y) 0}`;
4
4
 
@@ -45,7 +45,7 @@ const BsSnackbar = class {
45
45
  this.bsDismiss.emit();
46
46
  };
47
47
  render() {
48
- return (h("div", { key: '291914fd21d4d8634f49aad410f8cda212c7d07c', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: '5d50b75478197ad433c96d66ed9de3fd22360b56', class: "bs-snackbar__content" }, h("span", { key: 'd625eb5d139d7811a28d781b8eb4fffa370debab', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: '6c7666f8cd8d3bddf44d35a7d8e9d9c645def13f', part: "message", class: "bs-snackbar__message" }, h("slot", { key: '96e8eb40bb7a6c9292d948ac47f6e630dc843bb5' }))), h("div", { key: '60380f06bc10c964155c7cc97eb036a84506a103', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '843054ee154c565034ddaf7b000419d7ecc4bf63', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: '383ea23e7e5f7681651b7a6394cb39b453e5f8cb', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '6ec39615ed1e82f3bb6e45a5917fa6a35166d3f1' }))))));
48
+ return (h("div", { key: '869f548001524a78fa66a0b295c177a43160531e', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: 'eca8a98a1ae3dff7ecadd7e370bd59c855a56025', class: "bs-snackbar__content" }, h("span", { key: 'ffba923b45ff59cd8501f7d3da9bd5260113de83', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: '803f3247af157e79e2e2c2822977ae55cc058a98', part: "message", class: "bs-snackbar__message" }, h("slot", { key: 'fd66b14457361cca63be3a152003a098b56aa43e' }))), h("div", { key: 'ba808bf880cfb2f0c32a70f53ff4e0b2df05eb17', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: '4e7ca40abdfd155cd064d153fee866e87ad64e26', part: "action", variant: this.actionVariant ?? ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), !this.hideClose && (h("bs-icon-button", { key: '89ba5909db07c9e910136e5723bb5df25d0a4b51', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: '6e3f8d010cf3f234d0e199b3a5d96c8200b25bcc' }))))));
49
49
  }
50
50
  };
51
51
  const CheckCircleIcon = () => (h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M8.25 12.75L10.5 15L15.75 9.75", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { d: "M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DqQRXQMx.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D3SkQJpw.js';
2
2
 
3
3
  const bsSourceLinkCss = () => `:host{display:block;--bs-source-link-radius:var(--bs-border-radius-150);--bs-source-link-padding:var(--bs-spacing-150);--bs-source-link-gap:var(--bs-spacing-50);--bs-source-link-icon-gap:var(--bs-spacing-75);--bs-source-link-hover:var(--bs-surface-hover);--bs-source-link-pressed:var(--bs-surface-pressed);--bs-source-link-focus:var(--bs-border-neutral-focus);--bs-source-link-filename-color:var(--bs-text-default);--bs-source-link-meta-color:var(--bs-text-secondary);--bs-source-link-icon-color:var(--bs-icon-default);--bs-source-link-dot-color:var(--bs-text-secondary)}.bs-source-link{box-sizing:border-box;display:flex;align-items:center;gap:var(--bs-source-link-gap);width:100%;padding:var(--bs-source-link-padding);background:none;border:none;border-radius:var(--bs-source-link-radius);font-family:inherit;text-align:start;text-decoration:none;cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-source-link:hover,.bs-source-link:focus-visible{background:var(--bs-source-link-hover)}.bs-source-link:active{background:var(--bs-source-link-pressed)}.bs-source-link:focus-visible{outline:2px solid var(--bs-source-link-focus);outline-offset:1px}.bs-source-link__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;color:var(--bs-source-link-icon-color)}.bs-source-link__left{display:flex;flex:1 0 0;flex-direction:column;gap:2px;min-width:0}.bs-source-link__filename-row{display:flex;align-items:center;gap:var(--bs-source-link-icon-gap);width:100%}.bs-source-link__filename{margin:0;overflow:hidden;color:var(--bs-source-link-filename-color);font-size:var(--bs-font-size-md);font-weight:var(--bs-font-weight-semibold);line-height:var(--bs-line-height-normal);text-overflow:ellipsis;white-space:nowrap}.bs-source-link__meta{display:flex;align-items:center;gap:var(--bs-spacing-50);padding-inline-start:22px}.bs-source-link__source,.bs-source-link__version{color:var(--bs-source-link-meta-color);font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-normal);white-space:nowrap}.bs-source-link__dot{width:4px;height:4px;border-radius:50%;background:var(--bs-source-link-dot-color);flex-shrink:0}.bs-source-link__arrow{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;color:var(--bs-source-link-icon-color)}`;
4
4
 
@@ -24,8 +24,8 @@ const BsSourceLink = class {
24
24
  };
25
25
  render() {
26
26
  const inner = [
27
- h("span", { key: '4f7296f4d35b7779c91e791a7e674fff3f963239', class: "bs-source-link__left" }, h("span", { key: 'e8a03fb6ee46d64d8d9b2e86a39d15d36164a23d', class: "bs-source-link__filename-row" }, h("span", { key: '16ed535a5ab56b54edab2a39d02659c9be9cfc69', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: '56661ab02c9628fd407f364c95db3832d9b86fdd', name: "icon" }, h(FileTextIcon, { key: 'c7a6f19c9dfee1c8b1e4ef24334c541fd8c88cbd' }))), h("p", { key: '5dac08dcde183f2a714c04cc0e700c4b2778bf7e', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: 'bc4cd84ea0d990b5c456d7962bce8881cdaaf1b7', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: '94efb5a9ff386f86546ce56dbe2a8b386a342d16', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: 'd084d96de4afe4522fc9ef28c6f870fa49ca68bc', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: 'e2b976a66185a53dbd682081399ed946e1bbb318', part: "version", class: "bs-source-link__version" }, this.version)))),
28
- h("span", { key: '23f361d9af84c4804e88d7f019623e2223fe7a33', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: '0316db74234f0c66afc0372d5299b8fd19691163' })),
27
+ h("span", { key: '37082ba8b750f01d04cec4e437fc3d5481768f27', class: "bs-source-link__left" }, h("span", { key: '10f49ce451047e0b2656d0ec724a5841b112046a', class: "bs-source-link__filename-row" }, h("span", { key: '63b4c0dcb376053f68a5d62c6232a205451f1826', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: '6df8546c36387bd130b68cda5f8aa5e3c35fd388', name: "icon" }, h(FileTextIcon, { key: '8ba49429459a63d05324e31b6994fa5f3b5c6534' }))), h("p", { key: '0b6d7826f62526c903048a25610bfed99381bce0', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: 'f71e6440d5fe06486d5a10493ab5c7b17e2cfd78', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: 'a4d97d5fd1be65d17d9dca52d30eaa9d1a022f0e', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: '809b5e51e436270dd304db280f98e164f2722eda', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: '5e30c00db6cf2d659c62a6fc863a7c6fd8111d12', part: "version", class: "bs-source-link__version" }, this.version)))),
28
+ h("span", { key: '89dcb19eec419f95ed277d729925296ecfe0e4b1', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: '8d2c8521747a1f3d7cd8b6bff5385ee04b2a7923' })),
29
29
  ];
30
30
  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));
31
31
  }
@@ -0,0 +1,22 @@
1
+ import { r as registerInstance, h } from './index-D3SkQJpw.js';
2
+
3
+ const bsSpinnerCss = () => `:host{display:inline-block;vertical-align:middle;--bs-spinner-size-xs:var(--bs-spacing-200);--bs-spinner-size-sm:var(--bs-spacing-250);--bs-spinner-size-md:var(--bs-spacing-300);--bs-spinner-color:currentColor;--bs-spinner-track-opacity:0.25;--bs-spinner-duration:0.8s}.bs-spinner{display:inline-flex;width:1em;height:1em;color:inherit}.bs-spinner--xs{width:var(--bs-spinner-size-xs);height:var(--bs-spinner-size-xs)}.bs-spinner--sm{width:var(--bs-spinner-size-sm);height:var(--bs-spinner-size-sm)}.bs-spinner--md{width:var(--bs-spinner-size-md);height:var(--bs-spinner-size-md)}.bs-spinner__svg{width:100%;height:100%;animation:bs-spinner-spin var(--bs-spinner-duration) linear infinite}.bs-spinner__track{stroke:var(--bs-spinner-color);opacity:var(--bs-spinner-track-opacity)}.bs-spinner__arc{stroke:var(--bs-spinner-color)}@keyframes bs-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bs-spinner__svg{animation-duration:calc(var(--bs-spinner-duration) * 4)}}`;
4
+
5
+ const BsSpinner = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ /** `xs`/`sm`/`md` use fixed token sizes; `inherit` (default) is `1em`, following the font size. */
10
+ size = 'inherit';
11
+ /** Accessible name (e.g. "Loading"). When set, the spinner gets `role="status"` and this
12
+ * `aria-label`; when omitted it is `aria-hidden="true"` (use it next to visible text that already
13
+ * says what is happening). */
14
+ label;
15
+ render() {
16
+ const hasLabel = !!this.label;
17
+ return (h("span", { key: '31531b80418f912ded9ffabafc1ad36b48e1c4e1', 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: '7c820016daa154c8e8486a8d5a60505a39d37bde', part: "svg", class: "bs-spinner__svg", viewBox: "0 0 24 24", fill: "none", focusable: "false" }, h("circle", { key: '60b8dce8ac87753a2a9d3c3521ce387bcf6e9491', class: "bs-spinner__track", cx: "12", cy: "12", r: "9", "stroke-width": "3" }), h("path", { key: '3548aee65c89828fed57465a95b72e15c50807f4', class: "bs-spinner__arc", d: "M12 3a9 9 0 0 1 9 9", "stroke-width": "3", "stroke-linecap": "round" }))));
18
+ }
19
+ };
20
+ BsSpinner.style = bsSpinnerCss();
21
+
22
+ export { BsSpinner as bs_spinner };
@@ -0,0 +1,191 @@
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-D3SkQJpw.js';
2
+
3
+ const bsSplitPaneCss = () => `:host{display:block;height:100%;min-height:0;--bs-split-pane-radius:var(--bs-border-radius-100);--bs-split-pane-bg:var(--bs-surface-base);--bs-split-pane-color:var(--bs-text-default);--bs-split-pane-first-size:333px;--bs-split-pane-collapsed-size:106px;--bs-split-pane-min-size:96px;--bs-split-pane-divider-size:var(--bs-spacing-75);--bs-split-pane-divider-bg:var(--bs-surface-container);--bs-split-pane-divider-thumb:var(--bs-border-neutral-container);--bs-split-pane-divider-thumb-active:var(--bs-border-neutral-hover);--bs-split-pane-divider-thumb-length:250px;--bs-split-pane-border:var(--bs-border-neutral-container);--bs-split-pane-focus-ring:var(--bs-border-neutral-focus)}.bs-split-pane{box-sizing:border-box;display:flex;width:100%;height:100%;overflow:clip;border-radius:var(--bs-split-pane-radius);background:var(--bs-split-pane-bg);color:var(--bs-split-pane-color)}.bs-split-pane--vertical{flex-direction:column}.bs-split-pane__pane{box-sizing:border-box;min-width:0;min-height:0;overflow:auto;background:var(--bs-split-pane-bg)}.bs-split-pane--horizontal>.bs-split-pane__pane{min-width:min(var(--bs-split-pane-min-size), 100%)}.bs-split-pane--vertical>.bs-split-pane__pane{min-height:min(var(--bs-split-pane-min-size), 100%)}.bs-split-pane__divider{position:relative;flex:0 0 var(--bs-split-pane-divider-size);display:flex;background:var(--bs-split-pane-divider-bg);touch-action:none;outline:none}.bs-split-pane--horizontal>.bs-split-pane__divider{cursor:col-resize;flex-direction:column}.bs-split-pane--vertical>.bs-split-pane__divider{cursor:row-resize;flex-direction:row}.bs-split-pane__divider--static{cursor:default;pointer-events:none}.bs-split-pane__thumb{display:block;border-radius:var(--bs-border-radius-full);background:var(--bs-split-pane-divider-thumb);transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-split-pane--horizontal>.bs-split-pane__divider>.bs-split-pane__thumb{width:100%;height:min(var(--bs-split-pane-divider-thumb-length), 100%)}.bs-split-pane--vertical>.bs-split-pane__divider>.bs-split-pane__thumb{height:100%;width:min(var(--bs-split-pane-divider-thumb-length), 100%)}.bs-split-pane__divider:hover>.bs-split-pane__thumb,.bs-split-pane__divider--active>.bs-split-pane__thumb,.bs-split-pane__divider:focus-visible>.bs-split-pane__thumb{background:var(--bs-split-pane-divider-thumb-active)}.bs-split-pane__divider:focus-visible{outline:2px solid var(--bs-split-pane-focus-ring);outline-offset:0}@media (prefers-reduced-motion: reduce){.bs-split-pane__thumb{transition:none}}`;
4
+
5
+ const MAX_PANES = 3;
6
+ const DEFAULT_MIN_SIZE = 96;
7
+ const BsSplitPane = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.bsResize = createEvent(this, "bsResize");
11
+ this.bsCollapsedChange = createEvent(this, "bsCollapsedChange");
12
+ }
13
+ get el() { return getElement(this); }
14
+ /** `horizontal` = panes side by side, `vertical` = panes stacked. */
15
+ orientation = 'horizontal';
16
+ /** Collapses the first pane to a narrow rail. Mutable: the Enter key on the first divider toggles it. */
17
+ collapsed = false;
18
+ /** Whether the dividers can be dragged / operated by keyboard. `false` keeps them as visual separators. */
19
+ resizable = true;
20
+ /** Accessible name of each divider. */
21
+ dividerLabel = 'Resize panes';
22
+ /** Pixels moved per arrow-key press (Shift multiplies by 4). */
23
+ step = 16;
24
+ /** Fires after a resize (pointer release or key press) with the pixel size of every pane except the last. */
25
+ bsResize;
26
+ /** Fires when `collapsed` changes through user interaction. */
27
+ bsCollapsedChange;
28
+ paneCount = 2;
29
+ sizes = [];
30
+ draggingIndex = -1;
31
+ observer;
32
+ dragStart;
33
+ /** Toggles `collapsed` and emits `bsCollapsedChange`. */
34
+ async toggleCollapsed() {
35
+ this.collapsed = !this.collapsed;
36
+ this.bsCollapsedChange.emit(this.collapsed);
37
+ }
38
+ componentWillLoad() {
39
+ this.countPanes();
40
+ }
41
+ connectedCallback() {
42
+ this.observer = new MutationObserver(() => this.countPanes());
43
+ this.observer.observe(this.el, { childList: true, attributes: true, attributeFilter: ['slot'], subtree: false });
44
+ }
45
+ disconnectedCallback() {
46
+ this.observer?.disconnect();
47
+ }
48
+ countPanes() {
49
+ let count = 1;
50
+ for (let i = 1; i <= MAX_PANES; i++) {
51
+ if (this.el.querySelector(`:scope > [slot="pane-${i}"]`))
52
+ count = i;
53
+ }
54
+ this.paneCount = Math.max(count, 1);
55
+ }
56
+ isRtl() {
57
+ return this.orientation === 'horizontal' && getComputedStyle(this.el).direction === 'rtl';
58
+ }
59
+ axisSize(pane) {
60
+ const rect = pane.getBoundingClientRect();
61
+ return this.orientation === 'horizontal' ? rect.width : rect.height;
62
+ }
63
+ minSize() {
64
+ const raw = parseFloat(getComputedStyle(this.el).getPropertyValue('--bs-split-pane-min-size'));
65
+ return Number.isFinite(raw) ? raw : DEFAULT_MIN_SIZE;
66
+ }
67
+ /** Largest size pane `index` may take: leave `minSize` for each pane after it, and the dividers. */
68
+ maxSize(index) {
69
+ const container = this.el.shadowRoot.querySelector('.bs-split-pane');
70
+ const total = this.axisSize(container);
71
+ const dividers = Array.from(container.querySelectorAll('.bs-split-pane__divider'));
72
+ const dividerTotal = dividers.reduce((sum, d) => sum + this.axisSize(d), 0);
73
+ const before = Array.from(container.querySelectorAll('.bs-split-pane__pane'))
74
+ .slice(0, index)
75
+ .reduce((sum, p) => sum + this.axisSize(p), 0);
76
+ const after = (this.paneCount - 1 - index) * this.minSize();
77
+ return Math.max(this.minSize(), total - dividerTotal - before - after);
78
+ }
79
+ paneEl(index) {
80
+ return this.el.shadowRoot.querySelectorAll('.bs-split-pane__pane')[index];
81
+ }
82
+ setSize(index, value) {
83
+ const clamped = Math.min(Math.max(value, this.minSize()), this.maxSize(index));
84
+ const next = this.sizes.slice();
85
+ next[index] = clamped;
86
+ this.sizes = next;
87
+ }
88
+ emitResize() {
89
+ const sizes = [];
90
+ // Prefer the size just committed to state: the DOM hasn't re-rendered yet when this runs.
91
+ for (let i = 0; i < this.paneCount - 1; i++)
92
+ sizes.push(Math.round(this.sizes[i] ?? this.axisSize(this.paneEl(i))));
93
+ this.bsResize.emit(sizes);
94
+ }
95
+ onPointerDown = (index) => (ev) => {
96
+ if (!this.resizable || (index === 0 && this.collapsed))
97
+ return;
98
+ ev.preventDefault();
99
+ ev.currentTarget.setPointerCapture(ev.pointerId);
100
+ this.dragStart = {
101
+ pointer: this.orientation === 'horizontal' ? ev.clientX : ev.clientY,
102
+ size: this.axisSize(this.paneEl(index)),
103
+ index,
104
+ };
105
+ this.draggingIndex = index;
106
+ };
107
+ onPointerMove = (ev) => {
108
+ if (!this.dragStart)
109
+ return;
110
+ const pointer = this.orientation === 'horizontal' ? ev.clientX : ev.clientY;
111
+ const delta = (pointer - this.dragStart.pointer) * (this.isRtl() ? -1 : 1);
112
+ this.setSize(this.dragStart.index, this.dragStart.size + delta);
113
+ };
114
+ onPointerUp = (ev) => {
115
+ if (!this.dragStart)
116
+ return;
117
+ ev.currentTarget.releasePointerCapture?.(ev.pointerId);
118
+ this.dragStart = undefined;
119
+ this.draggingIndex = -1;
120
+ this.emitResize();
121
+ };
122
+ onKeyDown = (index) => (ev) => {
123
+ if (!this.resizable)
124
+ return;
125
+ const horizontal = this.orientation === 'horizontal';
126
+ const grow = horizontal ? (this.isRtl() ? 'ArrowLeft' : 'ArrowRight') : 'ArrowDown';
127
+ const shrink = horizontal ? (this.isRtl() ? 'ArrowRight' : 'ArrowLeft') : 'ArrowUp';
128
+ const amount = this.step * (ev.shiftKey ? 4 : 1);
129
+ const current = this.axisSize(this.paneEl(index));
130
+ let handled = true;
131
+ if (ev.key === 'Enter' && index === 0) {
132
+ void this.toggleCollapsed();
133
+ }
134
+ else if (this.collapsed && index === 0) {
135
+ handled = false;
136
+ }
137
+ else if (ev.key === grow) {
138
+ this.setSize(index, current + amount);
139
+ }
140
+ else if (ev.key === shrink) {
141
+ this.setSize(index, current - amount);
142
+ }
143
+ else if (ev.key === 'Home') {
144
+ this.setSize(index, this.minSize());
145
+ }
146
+ else if (ev.key === 'End') {
147
+ this.setSize(index, this.maxSize(index));
148
+ }
149
+ else {
150
+ handled = false;
151
+ }
152
+ if (!handled)
153
+ return;
154
+ ev.preventDefault();
155
+ this.emitResize();
156
+ };
157
+ paneStyle(index) {
158
+ const last = index === this.paneCount - 1;
159
+ if (index === 0 && this.collapsed && this.paneCount > 1) {
160
+ return { flex: '0 0 var(--bs-split-pane-collapsed-size)' };
161
+ }
162
+ const size = this.sizes[index];
163
+ if (size !== undefined && !last)
164
+ return { flex: `0 0 ${size}px` };
165
+ if (index === 0 && !last)
166
+ return { flex: '0 0 var(--bs-split-pane-first-size)' };
167
+ return { flex: '1 1 0' };
168
+ }
169
+ percentFor(index) {
170
+ const container = this.el.shadowRoot?.querySelector('.bs-split-pane');
171
+ const pane = this.el.shadowRoot?.querySelectorAll('.bs-split-pane__pane')[index];
172
+ if (!container || !pane)
173
+ return 0;
174
+ const total = this.axisSize(container);
175
+ return total ? Math.round((this.axisSize(pane) / total) * 100) : 0;
176
+ }
177
+ render() {
178
+ const dividerOrientation = this.orientation === 'horizontal' ? 'vertical' : 'horizontal';
179
+ const nodes = [];
180
+ for (let i = 0; i < this.paneCount; i++) {
181
+ nodes.push(h("div", { part: `pane pane-${i + 1}`, class: `bs-split-pane__pane bs-split-pane__pane--${i + 1}`, style: this.paneStyle(i) }, h("slot", { name: `pane-${i + 1}` })));
182
+ if (i < this.paneCount - 1) {
183
+ 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" })));
184
+ }
185
+ }
186
+ return (h("div", { key: '8ef79e5ccc0ac2e8d4204f82b3507bef387e95cc', part: "container", class: `bs-split-pane bs-split-pane--${this.orientation}` }, nodes));
187
+ }
188
+ };
189
+ BsSplitPane.style = bsSplitPaneCss();
190
+
191
+ export { BsSplitPane as bs_split_pane };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-DqQRXQMx.js';
1
+ import { r as registerInstance, h, H as Host } from './index-D3SkQJpw.js';
2
2
 
3
3
  const bsStepperStepCss = () => `:host{display:flex;font-family:inherit;font-size:var(--bs-stepper-step-font-size);line-height:calc(var(--bs-stepper-step-line-height) * 1px);--bs-stepper-step-gap:var(--bs-spacing-100);--bs-stepper-step-icon-size:24px;--bs-stepper-step-icon-border-width:1.5px;--bs-stepper-step-connector-color:var(--bs-border-default);--bs-stepper-step-connector-thickness:2px;--bs-stepper-step-icon-border-enabled:var(--bs-border-default);--bs-stepper-step-icon-border-current:var(--bs-color-primary-default);--bs-stepper-step-icon-dot-current:var(--bs-color-primary-default);--bs-stepper-step-icon-bg-done:var(--bs-color-primary-default);--bs-stepper-step-icon-color-done:var(--bs-text-on-action);--bs-stepper-step-icon-border-error:var(--bs-border-error);--bs-stepper-step-icon-color-error:var(--bs-border-error);--bs-stepper-step-icon-border-disabled:var(--bs-border-neutral-disabled);--bs-stepper-step-text-enabled:var(--bs-text-muted);--bs-stepper-step-text-active:var(--bs-text-default);--bs-stepper-step-text-disabled:var(--bs-text-on-disabled);--bs-stepper-step-font-size:var(--bs-font-size-md);--bs-stepper-step-line-height:var(--bs-line-height-body-md);--bs-stepper-step-name-font-weight:var(--bs-font-weight-semibold);--bs-stepper-step-description-font-weight:var(--bs-font-weight-regular)}:host(.bs-stepper-step--horizontal){flex:1 1 0;flex-direction:column}:host(.bs-stepper-step--vertical){width:100%;flex-direction:row;}.bs-stepper-step__top{display:flex;align-items:center}:host(.bs-stepper-step--horizontal) .bs-stepper-step__top{flex-direction:row}:host(.bs-stepper-step--vertical) .bs-stepper-step__top{flex-direction:column}.bs-stepper-step__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--bs-stepper-step-icon-size);height:var(--bs-stepper-step-icon-size);border-radius:50%;box-sizing:border-box}.bs-stepper-step__icon svg{width:16px;height:16px}.bs-stepper-step__icon--enabled{border:var(--bs-stepper-step-icon-border-width) solid var(--bs-stepper-step-icon-border-enabled)}.bs-stepper-step__icon--current{border:var(--bs-stepper-step-icon-border-width) solid var(--bs-stepper-step-icon-border-current)}.bs-stepper-step__icon-dot{width:16px;height:16px;border-radius:50%;background:var(--bs-stepper-step-icon-dot-current)}.bs-stepper-step__icon--done{background:var(--bs-stepper-step-icon-bg-done);color:var(--bs-stepper-step-icon-color-done)}.bs-stepper-step__icon--error{border:var(--bs-stepper-step-icon-border-width) solid var(--bs-stepper-step-icon-border-error);color:var(--bs-stepper-step-icon-color-error)}.bs-stepper-step__icon--disabled{border:var(--bs-stepper-step-icon-border-width) solid var(--bs-stepper-step-icon-border-disabled)}.bs-stepper-step__connector{display:flex;align-items:center;justify-content:center}:host(.bs-stepper-step--horizontal) .bs-stepper-step__connector{flex:1 1 auto;margin-inline-start:var(--bs-stepper-step-gap)}:host(.bs-stepper-step--vertical) .bs-stepper-step__connector{flex:1 1 auto;flex-direction:column;align-items:center;width:var(--bs-stepper-step-icon-size);margin:var(--bs-stepper-step-gap) 0;min-height:var(--bs-stepper-step-icon-size)}.bs-stepper-step__connector-line{display:block;border-radius:calc(var(--bs-stepper-step-connector-thickness) / 2);background:var(--bs-stepper-step-connector-color)}:host(.bs-stepper-step--horizontal) .bs-stepper-step__connector-line{width:100%;height:var(--bs-stepper-step-connector-thickness)}:host(.bs-stepper-step--vertical) .bs-stepper-step__connector-line{flex:1 1 auto;width:var(--bs-stepper-step-connector-thickness)}:host(:last-child) .bs-stepper-step__connector{visibility:hidden}.bs-stepper-step__label{display:flex;flex-direction:column}:host(.bs-stepper-step--horizontal) .bs-stepper-step__label{margin-top:var(--bs-stepper-step-gap);width:var(--bs-stepper-step-icon-size);align-self:flex-start;align-items:center;text-align:center}:host(.bs-stepper-step--vertical) .bs-stepper-step__label{margin-inline-start:var(--bs-stepper-step-gap);text-align:start}.bs-stepper-step__name{font-weight:var(--bs-stepper-step-name-font-weight);white-space:nowrap}.bs-stepper-step__description{font-weight:var(--bs-stepper-step-description-font-weight);white-space:nowrap}.bs-stepper-step__label--enabled .bs-stepper-step__name,.bs-stepper-step__label--enabled .bs-stepper-step__description,.bs-stepper-step__label--error .bs-stepper-step__name,.bs-stepper-step__label--error .bs-stepper-step__description{color:var(--bs-stepper-step-text-enabled)}.bs-stepper-step__label--current .bs-stepper-step__name,.bs-stepper-step__label--current .bs-stepper-step__description,.bs-stepper-step__label--done .bs-stepper-step__name,.bs-stepper-step__label--done .bs-stepper-step__description{color:var(--bs-stepper-step-text-active)}.bs-stepper-step__label--disabled .bs-stepper-step__name,.bs-stepper-step__label--disabled .bs-stepper-step__description{color:var(--bs-stepper-step-text-disabled)}`;
4
4
 
@@ -32,7 +32,7 @@ const BsStepperStep = class {
32
32
  }
33
33
  render() {
34
34
  const state = this.state;
35
- return (h(Host, { key: '07f068e7e9d54124e72e6f3c395532b1df28bf4d', role: "listitem", class: `bs-stepper-step--${this.direction}` }, h("div", { key: 'aa2c8cf568f8823be576b7cd8453db51dbc28ca3', class: "bs-stepper-step__top" }, h("span", { key: '55053a617f92b0f300987fad2f171d0c5a00cb48', part: "icon", class: `bs-stepper-step__icon bs-stepper-step__icon--${state}` }, state === 'current' && h("span", { key: '83f5206192f6e3363ee37c1819e2c7584d2b4395', class: "bs-stepper-step__icon-dot" }), state === 'done' && h(CheckIcon, { key: '19960813f546d3bed470d486d64cda1f4f9ae05d' }), state === 'error' && h(ExclamationIcon, { key: '5dff15dc5e8183b6ebe75592dddd0710fe6318f3' })), h("span", { key: 'aa91c2544a472e836d79361453eccc6cc3c0ded2', part: "connector", class: "bs-stepper-step__connector", "aria-hidden": "true" }, h("span", { key: 'b4db85cdeed8fcd895ce5fe38fa98aaf9e40401d', class: "bs-stepper-step__connector-line" }))), h("span", { key: 'c4dcd488f9c177eab29d8d9cedee9ff139844049', part: "label", class: `bs-stepper-step__label bs-stepper-step__label--${state}` }, h("span", { key: 'd486ade27072093c9bf90824e89b24ab4ff5b8a5', part: "name", class: "bs-stepper-step__name" }, this.name), this.showDescription && this.description && (h("span", { key: 'eae26f6a683805ebc8eeb780df82060cf3ec699f', part: "description", class: "bs-stepper-step__description" }, this.description)))));
35
+ return (h(Host, { key: 'f51401da1a777c73fa70faa5a9f05f0234f517f1', role: "listitem", class: `bs-stepper-step--${this.direction}` }, h("div", { key: '30a1c060295b4addfc53ab67757661c7750ca781', class: "bs-stepper-step__top" }, h("span", { key: 'c4acc0a90fe006ed779072025c0aefc30a96c43f', part: "icon", class: `bs-stepper-step__icon bs-stepper-step__icon--${state}` }, state === 'current' && h("span", { key: '2a03c4c0b2e07a3879b7dbbcfc2022c6d753072d', class: "bs-stepper-step__icon-dot" }), state === 'done' && h(CheckIcon, { key: 'a6492fbd22bc9659fa7e71340bab908eee807dbb' }), state === 'error' && h(ExclamationIcon, { key: '5390c086f6c8314040862b5a4f680685d67a1f86' })), h("span", { key: '535e553bca360fe96538afb4baf0063e18b88fd8', part: "connector", class: "bs-stepper-step__connector", "aria-hidden": "true" }, h("span", { key: 'a04809fbdb2a47a129cf1a499bf0f9956d425e95', class: "bs-stepper-step__connector-line" }))), h("span", { key: 'ff4b573a3f0b1bac78cabbc68d58d4ecfe330fe9', part: "label", class: `bs-stepper-step__label bs-stepper-step__label--${state}` }, h("span", { key: '2cecc129a85da61efaa8c670754feca4a56fe717', part: "name", class: "bs-stepper-step__name" }, this.name), this.showDescription && this.description && (h("span", { key: '5c06546a24247733d7df9c99c753074809272feb', part: "description", class: "bs-stepper-step__description" }, this.description)))));
36
36
  }
37
37
  };
38
38
  const CheckIcon = () => (h("svg", { viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M2.5 9L6 12.5L14 4.5", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));