@brandsync/wc 1.6.0 → 1.8.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 (376) hide show
  1. package/custom-elements.json +1302 -90
  2. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  3. package/dist/brandsync-wc/{p-387ed85f.entry.js → p-002d258d.entry.js} +1 -1
  4. package/dist/brandsync-wc/{p-e35249c4.entry.js → p-03b08508.entry.js} +1 -1
  5. package/dist/brandsync-wc/{p-db46376b.entry.js → p-051d3064.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-c054f493.entry.js → p-05c7de28.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-639946e7.entry.js → p-062cfa34.entry.js} +1 -1
  8. package/dist/brandsync-wc/p-0e39b9cc.entry.js +1 -0
  9. package/dist/brandsync-wc/{p-9fb8848c.entry.js → p-114d2fd8.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-ef68f29b.entry.js → p-153da845.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-6754dfa9.entry.js → p-1c0db4d6.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-4a1a5d6e.entry.js → p-1f7208cb.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-43617f2e.entry.js → p-235ae012.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-2700a63e.entry.js → p-275072dd.entry.js} +1 -1
  15. package/dist/brandsync-wc/p-2891d40b.entry.js +1 -0
  16. package/dist/brandsync-wc/p-29027559.entry.js +1 -0
  17. package/dist/brandsync-wc/p-2e7a1082.entry.js +1 -0
  18. package/dist/brandsync-wc/{p-604553a0.entry.js → p-3176d1d3.entry.js} +1 -1
  19. package/dist/brandsync-wc/p-33e44094.entry.js +1 -0
  20. package/dist/brandsync-wc/p-360452c2.entry.js +1 -0
  21. package/dist/brandsync-wc/p-3ec74d35.entry.js +1 -0
  22. package/dist/brandsync-wc/p-4574a707.entry.js +1 -0
  23. package/dist/brandsync-wc/p-4e5dcaff.entry.js +1 -0
  24. package/dist/brandsync-wc/p-612cf79c.entry.js +1 -0
  25. package/dist/brandsync-wc/p-61c1a2a3.entry.js +1 -0
  26. package/dist/brandsync-wc/{p-11224cab.entry.js → p-6331de9c.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-d03eba2b.entry.js → p-652d4068.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-a603a13a.entry.js → p-6bf2f116.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-9b72cc12.entry.js → p-70f64b25.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-44bfdd4b.entry.js → p-7b00dd36.entry.js} +1 -1
  31. package/dist/brandsync-wc/p-7c94e6ae.entry.js +1 -0
  32. package/dist/brandsync-wc/p-835a8dc7.entry.js +1 -0
  33. package/dist/brandsync-wc/{p-0aca5f0e.entry.js → p-8ee0153b.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-bb77098b.entry.js → p-9f65f998.entry.js} +1 -1
  35. package/dist/brandsync-wc/p-9f8852a0.entry.js +1 -0
  36. package/dist/brandsync-wc/{p-DuyFft7h.js → p-AgoOSYvW.js} +2 -2
  37. package/dist/brandsync-wc/{p-a8e2a2b2.entry.js → p-a09e157f.entry.js} +1 -1
  38. package/dist/brandsync-wc/p-a0d5a620.entry.js +1 -0
  39. package/dist/brandsync-wc/{p-525504c2.entry.js → p-a5feaad4.entry.js} +1 -1
  40. package/dist/brandsync-wc/{p-cbaa19ab.entry.js → p-a92eec48.entry.js} +1 -1
  41. package/dist/brandsync-wc/{p-57e1dc35.entry.js → p-ae978c9a.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-f2ce9a1f.entry.js → p-bbcc47b0.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-fcd4ec60.entry.js → p-bc69a96c.entry.js} +1 -1
  44. package/dist/brandsync-wc/{p-80cf96ff.entry.js → p-be2c1740.entry.js} +1 -1
  45. package/dist/brandsync-wc/p-bf53ad52.entry.js +1 -0
  46. package/dist/brandsync-wc/p-c10d2529.entry.js +1 -0
  47. package/dist/brandsync-wc/{p-abda1d69.entry.js → p-c4de155c.entry.js} +1 -1
  48. package/dist/brandsync-wc/p-c7f4c114.entry.js +1 -0
  49. package/dist/brandsync-wc/{p-52d5f6a9.entry.js → p-cfcf3f0a.entry.js} +1 -1
  50. package/dist/brandsync-wc/p-de7c946d.entry.js +1 -0
  51. package/dist/brandsync-wc/{p-a8cdf449.entry.js → p-e9b43754.entry.js} +1 -1
  52. package/dist/brandsync-wc/{p-c5011746.entry.js → p-ee7da23d.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-4bff9b4b.entry.js → p-f006d962.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-f074f94e.entry.js +1 -0
  55. package/dist/brandsync-wc/p-f7d47c17.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-7609221f.entry.js → p-fc58c663.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-a3a4d541.entry.js → p-fddc7bd1.entry.js} +1 -1
  58. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  59. package/dist/cjs/bs-accordion.cjs.entry.js +2 -2
  60. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
  61. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  62. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  63. package/dist/cjs/bs-attachment-list.cjs.entry.js +3 -3
  64. package/dist/cjs/bs-attachment.cjs.entry.js +2 -2
  65. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +2 -2
  68. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  69. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
  70. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  71. package/dist/cjs/bs-button.cjs.entry.js +23 -4
  72. package/dist/cjs/bs-card.cjs.entry.js +2 -2
  73. package/dist/cjs/bs-carousel.cjs.entry.js +196 -0
  74. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +3 -3
  75. package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
  76. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +3 -3
  77. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  78. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
  79. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +2 -2
  80. package/dist/cjs/bs-checkbox.cjs.entry.js +48 -3
  81. package/dist/cjs/bs-chip-filter.cjs.entry.js +3 -3
  82. package/dist/cjs/bs-chip-informative.cjs.entry.js +3 -3
  83. package/dist/cjs/bs-chip-input.cjs.entry.js +3 -3
  84. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
  85. package/dist/cjs/bs-composer.cjs.entry.js +2 -2
  86. package/dist/cjs/bs-data-table.cjs.entry.js +4 -4
  87. package/dist/cjs/bs-dialog.cjs.entry.js +2 -2
  88. package/dist/cjs/bs-file-upload-item.cjs.entry.js +85 -0
  89. package/dist/cjs/bs-file-upload.cjs.entry.js +110 -0
  90. package/dist/cjs/bs-icon-button.cjs.entry.js +22 -3
  91. package/dist/cjs/bs-inline-tab.cjs.entry.js +7 -3
  92. package/dist/cjs/bs-input.cjs.entry.js +69 -5
  93. package/dist/cjs/bs-logo.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-menu-item.cjs.entry.js +2 -2
  95. package/dist/cjs/bs-menu.cjs.entry.js +25 -3
  96. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
  97. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  98. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  99. package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
  100. package/dist/cjs/bs-progress-linear.cjs.entry.js +8 -3
  101. package/dist/cjs/bs-progress.cjs.entry.js +8 -3
  102. package/dist/cjs/bs-radio.cjs.entry.js +81 -12
  103. package/dist/cjs/bs-slider.cjs.entry.js +54 -2
  104. package/dist/cjs/bs-snackbar.cjs.entry.js +2 -2
  105. package/dist/cjs/bs-source-link.cjs.entry.js +4 -4
  106. package/dist/cjs/bs-stepper-step.cjs.entry.js +3 -3
  107. package/dist/cjs/bs-stepper.cjs.entry.js +3 -2
  108. package/dist/cjs/bs-switch.cjs.entry.js +36 -3
  109. package/dist/cjs/bs-tab.cjs.entry.js +7 -3
  110. package/dist/cjs/bs-tabs.cjs.entry.js +51 -2
  111. package/dist/cjs/bs-toast.cjs.entry.js +2 -2
  112. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  113. package/dist/cjs/{index-D7e6DfLV.js → index-kk9YXF2S.js} +43 -5
  114. package/dist/cjs/loader.cjs.js +2 -2
  115. package/dist/collection/collection-manifest.json +3 -0
  116. package/dist/collection/components/bs-a11y.cmp.test.js +54 -0
  117. package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +5 -0
  118. package/dist/collection/components/bs-accordion/bs-accordion.css +5 -5
  119. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  120. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  121. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  122. package/dist/collection/components/bs-attachment/bs-attachment.css +1 -1
  123. package/dist/collection/components/bs-attachment-list/bs-attachment-list.css +1 -1
  124. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  125. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +1 -1
  126. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  127. package/dist/collection/components/bs-button/bs-button/bs-button.css +17 -10
  128. package/dist/collection/components/bs-button/bs-button/bs-button.js +16 -3
  129. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +16 -3
  130. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  131. package/dist/collection/components/bs-card/bs-card.css +4 -0
  132. package/dist/collection/components/bs-carousel/bs-carousel.cmp.test.js +198 -0
  133. package/dist/collection/components/bs-carousel/bs-carousel.css +107 -0
  134. package/dist/collection/components/bs-carousel/bs-carousel.js +531 -0
  135. package/dist/collection/components/bs-carousel/bs-carousel.stories.js +68 -0
  136. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +1 -1
  137. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  138. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  139. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +3 -3
  140. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  141. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  142. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  143. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  144. package/dist/collection/components/bs-checkbox/bs-checkbox.css +8 -1
  145. package/dist/collection/components/bs-checkbox/bs-checkbox.js +100 -2
  146. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +4 -4
  147. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
  148. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +4 -4
  149. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  150. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +5 -5
  151. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  152. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  153. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  154. package/dist/collection/components/bs-data-table/bs-data-table.css +1 -1
  155. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  156. package/dist/collection/components/bs-dialog/bs-dialog.css +5 -1
  157. package/dist/collection/components/bs-file-upload/bs-file-upload.cmp.test.js +119 -0
  158. package/dist/collection/components/bs-file-upload/bs-file-upload.css +139 -0
  159. package/dist/collection/components/bs-file-upload/bs-file-upload.js +342 -0
  160. package/dist/collection/components/bs-file-upload/bs-file-upload.stories.js +116 -0
  161. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.cmp.test.js +115 -0
  162. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.css +154 -0
  163. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +329 -0
  164. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.stories.js +54 -0
  165. package/dist/collection/components/bs-form-association.cmp.test.js +172 -0
  166. package/dist/collection/components/bs-input/bs-input.css +10 -4
  167. package/dist/collection/components/bs-input/bs-input.js +82 -4
  168. package/dist/collection/components/bs-keyboard-nav.cmp.test.js +100 -0
  169. package/dist/collection/components/bs-menu/bs-menu.css +4 -0
  170. package/dist/collection/components/bs-menu/bs-menu.js +33 -1
  171. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  172. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  173. package/dist/collection/components/bs-progress/bs-progress.js +27 -2
  174. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +27 -2
  175. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +4 -10
  176. package/dist/collection/components/bs-radio/bs-radio.css +7 -1
  177. package/dist/collection/components/bs-radio/bs-radio.js +92 -14
  178. package/dist/collection/components/bs-radio/bs-radio.stories.js +1 -10
  179. package/dist/collection/components/bs-slider/bs-slider.js +68 -2
  180. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  181. package/dist/collection/components/bs-source-link/bs-source-link.css +2 -2
  182. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  183. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +3 -2
  184. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.css +3 -3
  185. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  186. package/dist/collection/components/bs-switch/bs-switch.css +10 -1
  187. package/dist/collection/components/bs-switch/bs-switch.js +69 -2
  188. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -2
  189. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +24 -1
  190. package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +2 -2
  191. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +24 -1
  192. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +57 -1
  193. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  194. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  195. package/dist/collection/components/forms/forms.stories.js +63 -0
  196. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +1 -1
  197. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  198. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  199. package/dist/collection/test/helpers/conventions.js +46 -0
  200. package/dist/collection/test/helpers/conventions.unit.test.js +38 -0
  201. package/dist/components/bs-accordion.js +1 -1
  202. package/dist/components/bs-ai-disclaimer.js +1 -1
  203. package/dist/components/bs-ai-greeting.js +1 -1
  204. package/dist/components/bs-ai-thinking.js +1 -1
  205. package/dist/components/bs-attachment-list.js +1 -1
  206. package/dist/components/bs-attachment.js +1 -1
  207. package/dist/components/bs-avatar.js +1 -1
  208. package/dist/components/bs-badge.js +1 -1
  209. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  210. package/dist/components/bs-breadcrumb.js +1 -1
  211. package/dist/components/bs-breadcrumbs.js +1 -1
  212. package/dist/components/bs-button-skeleton.js +1 -1
  213. package/dist/components/bs-button.js +1 -1
  214. package/dist/components/bs-card.js +1 -1
  215. package/dist/components/bs-carousel.d.ts +11 -0
  216. package/dist/components/bs-carousel.js +1 -0
  217. package/dist/components/bs-chatbot-feedback.js +1 -1
  218. package/dist/components/bs-chatbot-header.js +1 -1
  219. package/dist/components/bs-chatbot-response-action.js +1 -1
  220. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  221. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  222. package/dist/components/bs-checkbox-skeleton.js +1 -1
  223. package/dist/components/bs-checkbox.js +1 -1
  224. package/dist/components/bs-chip-filter.js +1 -1
  225. package/dist/components/bs-chip-informative.js +1 -1
  226. package/dist/components/bs-chip-input.js +1 -1
  227. package/dist/components/bs-composer-status-banner.js +1 -1
  228. package/dist/components/bs-composer.js +1 -1
  229. package/dist/components/bs-data-table.js +1 -1
  230. package/dist/components/bs-dialog.js +1 -1
  231. package/dist/components/bs-file-upload-item.d.ts +11 -0
  232. package/dist/components/bs-file-upload-item.js +1 -0
  233. package/dist/components/bs-file-upload.d.ts +11 -0
  234. package/dist/components/bs-file-upload.js +1 -0
  235. package/dist/components/bs-icon-button.js +1 -1
  236. package/dist/components/bs-inline-tab.js +1 -1
  237. package/dist/components/bs-input.js +1 -1
  238. package/dist/components/bs-logo.js +1 -1
  239. package/dist/components/bs-menu-item.js +1 -1
  240. package/dist/components/bs-menu.js +1 -1
  241. package/dist/components/bs-navigation-drawer-item.js +1 -1
  242. package/dist/components/bs-navigation-drawer.js +1 -1
  243. package/dist/components/bs-navigation-header.js +1 -1
  244. package/dist/components/bs-pagination.js +1 -1
  245. package/dist/components/bs-progress-linear.js +1 -1
  246. package/dist/components/bs-progress.js +1 -1
  247. package/dist/components/bs-radio.js +1 -1
  248. package/dist/components/bs-slider.js +1 -1
  249. package/dist/components/bs-snackbar.js +1 -1
  250. package/dist/components/bs-source-link.js +1 -1
  251. package/dist/components/bs-stepper-step.js +1 -1
  252. package/dist/components/bs-stepper.js +1 -1
  253. package/dist/components/bs-switch.js +1 -1
  254. package/dist/components/bs-tab.js +1 -1
  255. package/dist/components/bs-tabs.js +1 -1
  256. package/dist/components/bs-toast.js +1 -1
  257. package/dist/components/bs-tooltip.js +1 -1
  258. package/dist/components/index.js +1 -1
  259. package/dist/components/{p-B8eut73c.js → p-BA3c9Rom.js} +1 -1
  260. package/dist/components/{p-DIezWdNu.js → p-BfEyD6Ku.js} +1 -1
  261. package/dist/components/p-BkHYJIyj.js +1 -0
  262. package/dist/components/p-Buly0d5G.js +1 -0
  263. package/dist/components/p-CpUHnsq9.js +1 -0
  264. package/dist/components/p-EtXc94lJ.js +1 -0
  265. package/dist/components/{p-mnGJPH85.js → p-JYlmcxBn.js} +1 -1
  266. package/dist/components/{p-BhvV55-6.js → p-R2MlkUzD.js} +1 -1
  267. package/dist/components/p-wei0Ija2.js +1 -0
  268. package/dist/esm/brandsync-wc.js +3 -3
  269. package/dist/esm/bs-accordion.entry.js +2 -2
  270. package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
  271. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  272. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  273. package/dist/esm/bs-attachment-list.entry.js +3 -3
  274. package/dist/esm/bs-attachment.entry.js +2 -2
  275. package/dist/esm/bs-avatar.entry.js +1 -1
  276. package/dist/esm/bs-badge.entry.js +1 -1
  277. package/dist/esm/bs-breadcrumb-overflow.entry.js +2 -2
  278. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  279. package/dist/esm/bs-breadcrumbs.entry.js +2 -2
  280. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  281. package/dist/esm/bs-button.entry.js +23 -4
  282. package/dist/esm/bs-card.entry.js +2 -2
  283. package/dist/esm/bs-carousel.entry.js +194 -0
  284. package/dist/esm/bs-chatbot-feedback.entry.js +3 -3
  285. package/dist/esm/bs-chatbot-header.entry.js +2 -2
  286. package/dist/esm/bs-chatbot-response-action.entry.js +3 -3
  287. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  288. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  289. package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
  290. package/dist/esm/bs-checkbox.entry.js +48 -3
  291. package/dist/esm/bs-chip-filter.entry.js +3 -3
  292. package/dist/esm/bs-chip-informative.entry.js +3 -3
  293. package/dist/esm/bs-chip-input.entry.js +3 -3
  294. package/dist/esm/bs-composer-status-banner.entry.js +2 -2
  295. package/dist/esm/bs-composer.entry.js +2 -2
  296. package/dist/esm/bs-data-table.entry.js +4 -4
  297. package/dist/esm/bs-dialog.entry.js +2 -2
  298. package/dist/esm/bs-file-upload-item.entry.js +83 -0
  299. package/dist/esm/bs-file-upload.entry.js +108 -0
  300. package/dist/esm/bs-icon-button.entry.js +22 -3
  301. package/dist/esm/bs-inline-tab.entry.js +7 -3
  302. package/dist/esm/bs-input.entry.js +69 -5
  303. package/dist/esm/bs-logo.entry.js +1 -1
  304. package/dist/esm/bs-menu-item.entry.js +2 -2
  305. package/dist/esm/bs-menu.entry.js +25 -3
  306. package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
  307. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  308. package/dist/esm/bs-navigation-header.entry.js +2 -2
  309. package/dist/esm/bs-pagination.entry.js +2 -2
  310. package/dist/esm/bs-progress-linear.entry.js +8 -3
  311. package/dist/esm/bs-progress.entry.js +8 -3
  312. package/dist/esm/bs-radio.entry.js +81 -12
  313. package/dist/esm/bs-slider.entry.js +54 -2
  314. package/dist/esm/bs-snackbar.entry.js +2 -2
  315. package/dist/esm/bs-source-link.entry.js +4 -4
  316. package/dist/esm/bs-stepper-step.entry.js +3 -3
  317. package/dist/esm/bs-stepper.entry.js +3 -2
  318. package/dist/esm/bs-switch.entry.js +36 -3
  319. package/dist/esm/bs-tab.entry.js +7 -3
  320. package/dist/esm/bs-tabs.entry.js +51 -2
  321. package/dist/esm/bs-toast.entry.js +2 -2
  322. package/dist/esm/bs-tooltip.entry.js +2 -2
  323. package/dist/esm/{index-DuyFft7h.js → index-AgoOSYvW.js} +43 -5
  324. package/dist/esm/loader.js +3 -3
  325. package/dist/types/components/bs-a11y.cmp.test.d.ts +1 -0
  326. package/dist/types/components/bs-button/bs-button/bs-button.d.ts +4 -1
  327. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +4 -1
  328. package/dist/types/components/bs-carousel/bs-carousel.cmp.test.d.ts +1 -0
  329. package/dist/types/components/bs-carousel/bs-carousel.d.ts +101 -0
  330. package/dist/types/components/bs-carousel/bs-carousel.stories.d.ts +17 -0
  331. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +12 -0
  332. package/dist/types/components/bs-file-upload/bs-file-upload.cmp.test.d.ts +1 -0
  333. package/dist/types/components/bs-file-upload/bs-file-upload.d.ts +59 -0
  334. package/dist/types/components/bs-file-upload/bs-file-upload.stories.d.ts +21 -0
  335. package/dist/types/components/bs-file-upload-item/bs-file-upload-item.cmp.test.d.ts +1 -0
  336. package/dist/types/components/bs-file-upload-item/bs-file-upload-item.d.ts +58 -0
  337. package/dist/types/components/bs-file-upload-item/bs-file-upload-item.stories.d.ts +18 -0
  338. package/dist/types/components/bs-form-association.cmp.test.d.ts +1 -0
  339. package/dist/types/components/bs-input/bs-input.d.ts +12 -0
  340. package/dist/types/components/bs-keyboard-nav.cmp.test.d.ts +1 -0
  341. package/dist/types/components/bs-menu/bs-menu.d.ts +4 -0
  342. package/dist/types/components/bs-progress/bs-progress.d.ts +5 -0
  343. package/dist/types/components/bs-progress-linear/bs-progress-linear.d.ts +5 -0
  344. package/dist/types/components/bs-radio/bs-radio.d.ts +23 -9
  345. package/dist/types/components/bs-slider/bs-slider.d.ts +9 -0
  346. package/dist/types/components/bs-switch/bs-switch.d.ts +10 -0
  347. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +4 -0
  348. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +4 -0
  349. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +7 -0
  350. package/dist/types/components/forms/forms.stories.d.ts +6 -0
  351. package/dist/types/components.d.ts +735 -7
  352. package/dist/types/test/helpers/conventions.d.ts +21 -0
  353. package/dist/types/test/helpers/conventions.unit.test.d.ts +1 -0
  354. package/package.json +2 -1
  355. package/readme.md +14 -0
  356. package/dist/brandsync-wc/p-00f733ef.entry.js +0 -1
  357. package/dist/brandsync-wc/p-18c59979.entry.js +0 -1
  358. package/dist/brandsync-wc/p-3cb58df8.entry.js +0 -1
  359. package/dist/brandsync-wc/p-3ed5b215.entry.js +0 -1
  360. package/dist/brandsync-wc/p-413a1ee0.entry.js +0 -1
  361. package/dist/brandsync-wc/p-512dafc6.entry.js +0 -1
  362. package/dist/brandsync-wc/p-57609703.entry.js +0 -1
  363. package/dist/brandsync-wc/p-6bf8a5bd.entry.js +0 -1
  364. package/dist/brandsync-wc/p-6c769a1d.entry.js +0 -1
  365. package/dist/brandsync-wc/p-6d0c054b.entry.js +0 -1
  366. package/dist/brandsync-wc/p-7b9598d9.entry.js +0 -1
  367. package/dist/brandsync-wc/p-98021881.entry.js +0 -1
  368. package/dist/brandsync-wc/p-a96856fd.entry.js +0 -1
  369. package/dist/brandsync-wc/p-bb68e236.entry.js +0 -1
  370. package/dist/brandsync-wc/p-cfb49342.entry.js +0 -1
  371. package/dist/brandsync-wc/p-e2ac61c4.entry.js +0 -1
  372. package/dist/brandsync-wc/p-f714683d.entry.js +0 -1
  373. package/dist/brandsync-wc/p-fe778b6b.entry.js +0 -1
  374. package/dist/components/p-3gs695M6.js +0 -1
  375. package/dist/components/p-BaxFLlKS.js +0 -1
  376. package/dist/components/p-DKMMCLxx.js +0 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- const bsChipInputCss = () => `:host{display:inline-flex;align-items:center;box-sizing:border-box;gap:var(--bs-chip-input-gap);border-radius:var(--bs-border-radius-full);font-family:inherit;font-size:var(--bs-chip-input-font-size);font-weight:var(--bs-chip-input-font-weight);line-height:calc(var(--bs-chip-input-line-height) * 1px);white-space:nowrap;background:var(--bs-chip-bg-primary-container);color:var(--bs-chip-text-primary);transition:background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease);--bs-chip-input-height-md:var(--bs-spacing-300);--bs-chip-input-height-lg:var(--bs-spacing-400);--bs-chip-input-gap:var(--bs-spacing-50);--bs-chip-input-padding-x-glyph-side:var(--bs-spacing-100);--bs-chip-input-padding-x-plain-side:var(--bs-spacing-150);--bs-chip-input-font-size:var(--bs-font-size-sm);--bs-chip-input-line-height:var(--bs-line-height-body-sm);--bs-chip-input-font-weight:var(--bs-font-weight-regular)}:host(.bs-chip-input--md){height:var(--bs-chip-input-height-md)}:host(.bs-chip-input--lg){height:var(--bs-chip-input-height-lg)}.bs-chip-input__body,.bs-chip-input__remove{display:flex;align-items:center;height:100%;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.bs-chip-input__body{gap:var(--bs-chip-input-gap);padding-right:0}:host(.bs-chip-input--icon) .bs-chip-input__body{padding-left:var(--bs-chip-input-padding-x-glyph-side)}:host(.bs-chip-input--text) .bs-chip-input__body{padding-left:var(--bs-chip-input-padding-x-plain-side)}.bs-chip-input__remove{padding-left:0;padding-right:var(--bs-chip-input-padding-x-glyph-side)}.bs-chip-input__icon{display:none;flex-shrink:0}.bs-chip-input__icon--visible{display:flex;align-items:center}.bs-chip-input__icon ::slotted(*){display:block;width:16px;height:16px}.bs-chip-input__icon ::slotted(bs-avatar){width:auto;height:auto}.bs-chip-input__label{display:flex;align-items:center}.bs-chip-input__remove svg{display:block;width:16px;height:16px}:host(:hover:not([disabled])){background:var(--bs-chip-bg-primary-container-hover)}:host(:focus-within:not([disabled])){background:var(--bs-chip-bg-primary-container-focused);outline:2px solid var(--bs-chip-border-focus);outline-offset:2px}:host(:active:not([disabled])){background:var(--bs-chip-bg-primary-container-pressed)}:host([selected]){background:var(--bs-chip-bg-primary);color:var(--bs-chip-text-inverse)}:host([selected]:hover:not([disabled])){background:var(--bs-chip-bg-primary-hover)}:host([selected]:focus-within:not([disabled])){background:var(--bs-chip-bg-primary-focused)}:host([selected]:active:not([disabled])){background:var(--bs-chip-bg-primary-pressed)}:host([disabled]){background:var(--bs-chip-bg-disabled);color:var(--bs-chip-text-disabled)}.bs-chip-input__body:disabled,.bs-chip-input__remove:disabled{cursor:not-allowed}`;
5
+ const bsChipInputCss = () => `:host{display:inline-flex;align-items:center;box-sizing:border-box;gap:var(--bs-chip-input-gap);border-radius:var(--bs-border-radius-full);font-family:inherit;font-size:var(--bs-chip-input-font-size);font-weight:var(--bs-chip-input-font-weight);line-height:calc(var(--bs-chip-input-line-height) * 1px);white-space:nowrap;background:var(--bs-chip-bg-primary-container);color:var(--bs-chip-text-primary);transition:background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease);--bs-chip-input-height-md:var(--bs-spacing-300);--bs-chip-input-height-lg:var(--bs-spacing-400);--bs-chip-input-gap:var(--bs-spacing-50);--bs-chip-input-padding-x-glyph-side:var(--bs-spacing-100);--bs-chip-input-padding-x-plain-side:var(--bs-spacing-150);--bs-chip-input-font-size:var(--bs-font-size-sm);--bs-chip-input-line-height:var(--bs-line-height-body-sm);--bs-chip-input-font-weight:var(--bs-font-weight-regular)}:host(.bs-chip-input--md){height:var(--bs-chip-input-height-md)}:host(.bs-chip-input--lg){height:var(--bs-chip-input-height-lg)}.bs-chip-input__body,.bs-chip-input__remove{display:flex;align-items:center;height:100%;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.bs-chip-input__body{gap:var(--bs-chip-input-gap);padding-inline-end:0}:host(.bs-chip-input--icon) .bs-chip-input__body{padding-inline-start:var(--bs-chip-input-padding-x-glyph-side)}:host(.bs-chip-input--text) .bs-chip-input__body{padding-inline-start:var(--bs-chip-input-padding-x-plain-side)}.bs-chip-input__remove{padding-inline-start:0;padding-inline-end:var(--bs-chip-input-padding-x-glyph-side)}.bs-chip-input__icon{display:none;flex-shrink:0}.bs-chip-input__icon--visible{display:flex;align-items:center}.bs-chip-input__icon ::slotted(*){display:block;width:16px;height:16px}.bs-chip-input__icon ::slotted(bs-avatar){width:auto;height:auto}.bs-chip-input__label{display:flex;align-items:center}.bs-chip-input__remove svg{display:block;width:16px;height:16px}:host(:hover:not([disabled])){background:var(--bs-chip-bg-primary-container-hover)}:host(:focus-within:not([disabled])){background:var(--bs-chip-bg-primary-container-focused);outline:2px solid var(--bs-chip-border-focus);outline-offset:2px}:host(:active:not([disabled])){background:var(--bs-chip-bg-primary-container-pressed)}:host([selected]){background:var(--bs-chip-bg-primary);color:var(--bs-chip-text-inverse)}:host([selected]:hover:not([disabled])){background:var(--bs-chip-bg-primary-hover)}:host([selected]:focus-within:not([disabled])){background:var(--bs-chip-bg-primary-focused)}:host([selected]:active:not([disabled])){background:var(--bs-chip-bg-primary-pressed)}:host([disabled]){background:var(--bs-chip-bg-disabled);color:var(--bs-chip-text-disabled)}.bs-chip-input__body:disabled,.bs-chip-input__remove:disabled{cursor:not-allowed}`;
6
6
 
7
7
  const BsChipInput = class {
8
8
  constructor(hostRef) {
@@ -64,7 +64,7 @@ const BsChipInput = class {
64
64
  };
65
65
  render() {
66
66
  const paddingVariant = this.hasIcon ? 'icon' : 'text';
67
- return (index.h(index.Host, { key: '3e0b49c24f5f2c696c4b28fbdddf3abb5cbb54f4', class: `bs-chip-input bs-chip-input--${this.size} bs-chip-input--${paddingVariant}` }, index.h("button", { key: '3bb4e5e2cdea9cb828d2f3efe0a1f7e6e199ea13', type: "button", part: "body", class: "bs-chip-input__body", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.onBodyClick }, index.h("span", { key: 'a8845467b470c0f0bb1f48a588f6b10c34c48aea', part: "icon", class: `bs-chip-input__icon ${this.hasIcon ? 'bs-chip-input__icon--visible' : ''}` }, index.h("slot", { key: '80f2daa48102e47dff6a1c37f36058f1a7825d0f', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: 'abc1a83bac760ac9cc993cfa46e08b67b543c7e0', part: "label", class: "bs-chip-input__label" }, index.h("slot", { key: 'cf2914c6ec7096fb4c6182f22457790b6b581da9', onSlotchange: this.onLabelSlotchange }))), index.h("button", { key: '2db0595805b4c1faf61f8c15c8bede6d5d59d6ae', type: "button", part: "remove", class: "bs-chip-input__remove", disabled: this.disabled, "aria-label": `Remove ${this.labelText}`, onClick: this.onRemoveClick }, index.h(CloseIcon, { key: '24df652ec4dd9ac7dcdc203d5fd1584e8dd5556c' }))));
67
+ return (index.h(index.Host, { key: 'bb8adc7ac62df562155d169a119d0bf3100f4c9f', class: `bs-chip-input bs-chip-input--${this.size} bs-chip-input--${paddingVariant}` }, index.h("button", { key: '92a509d98f93873738bed6db0fe0d5dc5bb9a7e4', type: "button", part: "body", class: "bs-chip-input__body", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.onBodyClick }, index.h("span", { key: '179d8713dd8be5a8340848eddb1de24ce7561d09', part: "icon", class: `bs-chip-input__icon ${this.hasIcon ? 'bs-chip-input__icon--visible' : ''}` }, index.h("slot", { key: '0b47b10606ef75c91b5374dc0032772993419ede', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: 'c2b678ecd9863d53c5ab52bd257122f298aafa62', part: "label", class: "bs-chip-input__label" }, index.h("slot", { key: '806fb8ea8e284a80d5faeef4905d1758c66f3ef0', onSlotchange: this.onLabelSlotchange }))), index.h("button", { key: 'a61df73d4a372dd0dce8b045feb6180853c209d2', type: "button", part: "remove", class: "bs-chip-input__remove", disabled: this.disabled, "aria-label": `Remove ${this.labelText}`, onClick: this.onRemoveClick }, index.h(CloseIcon, { key: '6e14762d31caae9473603449dd47a158859d28f6' }))));
68
68
  }
69
69
  static get delegatesFocus() { return true; }
70
70
  };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  const bsComposerStatusBannerCss = () => `:host{display:block;--bs-composer-status-banner-radius:var(--bs-border-radius-150);--bs-composer-status-banner-padding-x:var(--bs-spacing-150);--bs-composer-status-banner-padding-top:var(--bs-spacing-100);--bs-composer-status-banner-padding-bottom:var(--bs-spacing-200);--bs-composer-status-banner-gap:var(--bs-spacing-100);--bs-composer-status-banner-icon-gap:var(--bs-spacing-75);--bs-composer-status-banner-error-bg:var(--bs-color-error-container);--bs-composer-status-banner-error-text:var(--bs-text-error);--bs-composer-status-banner-error-action-bg:var(--bs-color-error-default);--bs-composer-status-banner-error-action-bg-hover:var(--bs-color-error-hover);--bs-composer-status-banner-info-bg:var(--bs-color-info-container);--bs-composer-status-banner-info-text:var(--bs-text-info);--bs-composer-status-banner-info-action-bg:var(--bs-color-info-default);--bs-composer-status-banner-info-action-bg-hover:var(--bs-color-info-hover);--bs-composer-status-banner-neutral-bg:var(--bs-color-neutral-container);--bs-composer-status-banner-neutral-text:var(--bs-text-default);--bs-composer-status-banner-neutral-action-bg:var(--bs-color-neutral-container);--bs-composer-status-banner-neutral-action-bg-hover:var(--bs-color-neutral-container-hover);--bs-composer-status-banner-neutral-action-border:var(--bs-border-neutral-container);--bs-composer-status-banner-warning-bg:var(--bs-color-warning-container);--bs-composer-status-banner-warning-text:var(--bs-text-warning);--bs-composer-status-banner-warning-action-bg:var(--bs-color-warning-default);--bs-composer-status-banner-warning-action-bg-hover:var(--bs-color-warning-hover);--bs-composer-status-banner-close-hover-bg:var(--bs-color-neutral-container-hover)}.bs-composer-status-banner{box-sizing:border-box;display:flex;align-items:center;gap:var(--bs-composer-status-banner-gap);padding:var(--bs-composer-status-banner-padding-top) var(--bs-composer-status-banner-padding-x) var(--bs-composer-status-banner-padding-bottom);border-radius:var(--bs-composer-status-banner-radius) var(--bs-composer-status-banner-radius) 0 0;font-family:inherit}.bs-composer-status-banner--error{background:var(--bs-composer-status-banner-error-bg);color:var(--bs-composer-status-banner-error-text)}.bs-composer-status-banner--info{background:var(--bs-composer-status-banner-info-bg);color:var(--bs-composer-status-banner-info-text)}.bs-composer-status-banner--neutral{background:var(--bs-composer-status-banner-neutral-bg);color:var(--bs-composer-status-banner-neutral-text)}.bs-composer-status-banner--warning{background:var(--bs-composer-status-banner-warning-bg);color:var(--bs-composer-status-banner-warning-text)}.bs-composer-status-banner__message-group{box-sizing:border-box;display:flex;align-items:center;flex:1 0 0;min-width:0;gap:var(--bs-composer-status-banner-icon-gap)}.bs-composer-status-banner__icon{display:inline-flex;flex-shrink:0;width:20px;height:20px}.bs-composer-status-banner__icon ::slotted(*){display:block;width:100%;height:100%}.bs-composer-status-banner__message{margin:0;flex:1 0 0;min-width:0;font-size:var(--bs-font-size-md);line-height:calc(var(--bs-line-height-body-md) * 1px);word-break:break-word}.bs-composer-status-banner__action{box-sizing:border-box;flex-shrink:0;height:32px;padding:0 var(--bs-spacing-150);border:none;border-radius:var(--bs-border-radius-100);color:var(--bs-text-on-action);font-family:inherit;font-size:var(--bs-font-size-sm);font-weight:var(--bs-font-weight-medium);line-height:calc(var(--bs-line-height-body-sm) * 1px);cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-composer-status-banner--error .bs-composer-status-banner__action{background:var(--bs-composer-status-banner-error-action-bg)}.bs-composer-status-banner--error .bs-composer-status-banner__action:hover{background:var(--bs-composer-status-banner-error-action-bg-hover)}.bs-composer-status-banner--info .bs-composer-status-banner__action{background:var(--bs-composer-status-banner-info-action-bg)}.bs-composer-status-banner--info .bs-composer-status-banner__action:hover{background:var(--bs-composer-status-banner-info-action-bg-hover)}.bs-composer-status-banner--warning .bs-composer-status-banner__action{background:var(--bs-composer-status-banner-warning-action-bg)}.bs-composer-status-banner--warning .bs-composer-status-banner__action:hover{background:var(--bs-composer-status-banner-warning-action-bg-hover)}.bs-composer-status-banner--neutral .bs-composer-status-banner__action{background:var(--bs-composer-status-banner-neutral-action-bg);border:var(--bs-border-width-thin) solid var(--bs-composer-status-banner-neutral-action-border);color:var(--bs-text-default)}.bs-composer-status-banner--neutral .bs-composer-status-banner__action:hover{background:var(--bs-composer-status-banner-neutral-action-bg-hover)}.bs-composer-status-banner__close{box-sizing:border-box;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--bs-border-radius-100);color:inherit;cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-composer-status-banner__close:hover{background:var(--bs-composer-status-banner-close-hover-bg)}.bs-composer-status-banner__close svg{width:20px;height:20px}.bs-composer-status-banner__close:focus-visible,.bs-composer-status-banner__action:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:1px}`;
6
6
 
@@ -44,7 +44,7 @@ const BsComposerStatusBanner = class {
44
44
  return this.type === 'error' || this.type === 'warning' ? index.h(WarningIcon, null) : index.h(ClockIcon, null);
45
45
  }
46
46
  render() {
47
- return (index.h("div", { key: '237f3ec194ddb9057b1b0773e4a8062a9e58f457', role: this.roleForType(), class: `bs-composer-status-banner bs-composer-status-banner--${this.type}` }, index.h("div", { key: '6a1fadb9f08f2ce383216a750743321383528649', class: "bs-composer-status-banner__message-group" }, this.showIcon && (index.h("span", { key: '54dc45c13ab939249e66754389323d857d191bb5', part: "icon", class: "bs-composer-status-banner__icon" }, index.h("slot", { key: '023ee815d57914a9f46b39b5253229e3a89c1f2d', name: "icon" }, this.renderDefaultIcon()))), index.h("p", { key: '3bf23bc657922338767dcc63da4236469ff2c3f0', part: "message", class: "bs-composer-status-banner__message" }, this.message)), this.showButton && (index.h("button", { key: 'efb2fcc8eb96388b395275c39021fa718f08ae2b', type: "button", part: "action", class: "bs-composer-status-banner__action", onClick: this.onActionClick }, this.actionLabel)), this.allowClose && (index.h("button", { key: 'f97e8fba154e5bcc7e9778b2f31f136ca81a7d94', type: "button", part: "close", class: "bs-composer-status-banner__close", "aria-label": "Dismiss", onClick: this.onCloseClick }, index.h(CloseIcon, { key: 'eb56b6b6a2fddac3e13eac6db129f0da3572e8ec' })))));
47
+ return (index.h("div", { key: '9e0569099d74f708f475b502625a2fd000cbbbf5', role: this.roleForType(), class: `bs-composer-status-banner bs-composer-status-banner--${this.type}` }, index.h("div", { key: '8d6de7446b8bb53bc45ab9d4f110963425559f50', class: "bs-composer-status-banner__message-group" }, this.showIcon && (index.h("span", { key: '6f9964755ae030e577b356290ad2d972e024ace1', part: "icon", class: "bs-composer-status-banner__icon" }, index.h("slot", { key: '56d50ba748d0ad4cbcbcd73a6f4b8cb1a50613b8', name: "icon" }, this.renderDefaultIcon()))), index.h("p", { key: 'fed8249da75a688b2f125e5f9ca1787dc885b891', part: "message", class: "bs-composer-status-banner__message" }, this.message)), this.showButton && (index.h("button", { key: '48eb50ca73f76bfd404bbd5b2a7bce3ced2da7ac', type: "button", part: "action", class: "bs-composer-status-banner__action", onClick: this.onActionClick }, this.actionLabel)), this.allowClose && (index.h("button", { key: 'f644669b00b8077b36ba9eb88ffffaba0e675fb4', type: "button", part: "close", class: "bs-composer-status-banner__close", "aria-label": "Dismiss", onClick: this.onCloseClick }, index.h(CloseIcon, { key: '3b42ae94449658eae8e9af5617abc3268c215325' })))));
48
48
  }
49
49
  };
50
50
  const ClockIcon = () => (index.h("svg", { viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("circle", { cx: "10", cy: "10", r: "7.25", stroke: "currentColor", "stroke-width": "1.3" }), index.h("path", { d: "M10 5.83V10L12.5 11.67", stroke: "currentColor", "stroke-width": "1.3", "stroke-linecap": "round", "stroke-linejoin": "round" })));
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  const bsComposerCss = () => `:host{display:block;--bs-composer-radius:var(--bs-border-radius-150);--bs-composer-button-radius:var(--bs-border-radius-100);--bs-composer-button-size:var(--bs-spacing-600);--bs-composer-bg:var(--bs-input-bg-default);--bs-composer-border:var(--bs-input-border-default);--bs-composer-border-focus:var(--bs-input-border-focus);--bs-composer-action-bg:var(--bs-color-primary-default);--bs-composer-action-bg-hover:var(--bs-color-primary-hover);--bs-composer-action-bg-pressed:var(--bs-color-primary-pressed);--bs-composer-action-bg-disabled:var(--bs-surface-action-disabled);--bs-composer-action-icon:var(--bs-text-on-action);--bs-composer-action-icon-disabled:var(--bs-text-on-disabled);--bs-composer-attach-icon:var(--bs-icon-default);--bs-composer-mic-icon:var(--bs-icon-default);--bs-composer-mic-icon-disabled:var(--bs-icon-disabled);--bs-composer-mic-recording-icon:var(--bs-icon-default);--bs-composer-subtle-hover:var(--bs-color-neutral-container);--bs-composer-subtle-pressed:var(--bs-color-neutral-container-pressed);--bs-composer-waveform-color:var(--bs-border-default);--bs-composer-input-max-lines:10}.bs-composer{box-sizing:border-box;display:flex;flex-direction:column;border:1px solid var(--bs-composer-border);border-radius:var(--bs-composer-radius);background:var(--bs-composer-bg);font-family:inherit}.bs-composer--human{border-style:dashed}.bs-composer:focus-within{border-color:var(--bs-composer-border-focus)}.bs-composer__attachments-row{display:none}.bs-composer__attachments-row--visible{display:block}.bs-composer__text-row{display:flex;align-items:center;gap:var(--bs-spacing-150);padding:var(--bs-spacing-150)}.bs-composer__input{flex:1;min-width:0;box-sizing:border-box;padding:0;border:none;outline:none;resize:none;background:transparent;color:var(--bs-input-text);font-family:inherit;font-size:var(--bs-font-size-md);line-height:calc(var(--bs-line-height-body-md) * 1px);max-height:calc(var(--bs-composer-input-max-lines) * var(--bs-line-height-body-md) * 1px);overflow-y:auto}.bs-composer__input::placeholder{color:var(--bs-input-placeholder)}.bs-composer__input:disabled{color:var(--bs-input-text-disabled);cursor:not-allowed}.bs-composer__waveform{display:inline-flex;flex:1;min-width:0;align-items:center;justify-content:center;gap:3px;overflow:hidden}.bs-composer__waveform-bar{display:inline-block;flex-shrink:0;width:2.5px;border-radius:1.5px;background:var(--bs-composer-waveform-color);height:var(--bs-composer-bar-height, 6px)}.bs-composer__controls-row{display:flex;align-items:center;gap:var(--bs-spacing-200);padding:var(--bs-spacing-150)}.bs-composer__spacer{flex:1}.bs-composer__attach,.bs-composer__mic,.bs-composer__action{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;padding:0;cursor:pointer;font-family:inherit;border-radius:var(--bs-composer-button-radius);width:var(--bs-composer-button-size);height:var(--bs-composer-button-size);flex-shrink:0;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-composer__attach:focus-visible,.bs-composer__mic:focus-visible,.bs-composer__action:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-composer__attach svg,.bs-composer__mic svg,.bs-composer__action svg{width:24px;height:24px}.bs-composer__attach,.bs-composer__mic{background:transparent}.bs-composer__attach:hover:not(:disabled),.bs-composer__mic:hover:not(:disabled){background:var(--bs-composer-subtle-hover)}.bs-composer__attach:active:not(:disabled),.bs-composer__mic:active:not(:disabled){background:var(--bs-composer-subtle-pressed)}.bs-composer__attach{color:var(--bs-composer-attach-icon)}.bs-composer__mic{color:var(--bs-composer-mic-icon)}.bs-composer__mic--recording{color:var(--bs-composer-mic-recording-icon)}.bs-composer__mic:disabled{color:var(--bs-composer-mic-icon-disabled);cursor:not-allowed}.bs-composer__action{background:var(--bs-composer-action-bg);color:var(--bs-composer-action-icon)}.bs-composer__action:hover:not(:disabled){background:var(--bs-composer-action-bg-hover)}.bs-composer__action:active:not(:disabled){background:var(--bs-composer-action-bg-pressed)}.bs-composer__action:disabled{background:var(--bs-composer-action-bg-disabled);color:var(--bs-composer-action-icon-disabled);cursor:not-allowed}`;
6
6
 
@@ -171,7 +171,7 @@ const BsComposer = class {
171
171
  const placeholder = this.placeholder ?? DEFAULT_PLACEHOLDERS[this.variant];
172
172
  const disabled = this.state === 'disabled';
173
173
  const recording = this.state === 'recording';
174
- return (index.h("div", { key: '80b15558a6c64dad187e5f83ff969f0ce738c959', class: `bs-composer bs-composer--${this.state} bs-composer--${this.variant}` }, index.h("div", { key: 'e29e99d27f37a1ed12d5a648615fe904aab3d850', part: "attachments", class: `bs-composer__attachments-row ${this.hasAttachments ? 'bs-composer__attachments-row--visible' : ''}` }, index.h("slot", { key: '3b83ae56fceeed1221beab79a739ee59cb35db71', name: "attachments", onSlotchange: this.onAttachmentsSlotchange })), index.h("div", { key: 'aa087015ad3a0ecec2f5fd7142633e12a00fc2cc', class: "bs-composer__text-row" }, index.h("textarea", { key: '695417d0ea46dd9016a27f967bb1ac4cff28531e', ref: el => (this.inputEl = el), part: "input", class: "bs-composer__input", rows: 1, value: this.value, placeholder: placeholder, disabled: disabled, "aria-label": this.ariaLabel, onInput: this.onInput, onKeyDown: this.onInputKeydown })), index.h("div", { key: '3087c098baef6f6a5886b23e2c6e54b71dce6923', class: "bs-composer__controls-row" }, index.h("button", { key: '75c132d161e468a999c72a96c88356473e760650', type: "button", part: "attach", class: "bs-composer__attach", "aria-label": "Attach", onClick: this.onAttachClick }, index.h(PlusIcon, { key: 'c7ff05366636234093b94a3e6f8980772444c546' })), recording ? (index.h("span", { class: "bs-composer__waveform", "aria-hidden": "true" }, WAVEFORM_BAR_HEIGHTS.map(height => (index.h("span", { class: "bs-composer__waveform-bar", style: { '--bs-composer-bar-height': `${height}px` } }))))) : (index.h("span", { class: "bs-composer__spacer" })), index.h("button", { key: '5aadfaad74e8fa0c612be85a79a8ecaff851f06b', type: "button", part: "mic", class: `bs-composer__mic ${recording ? 'bs-composer__mic--recording' : ''}`, "aria-label": recording ? 'Stop recording' : 'Start voice input', disabled: disabled, onClick: this.onMicClick }, recording ? index.h(StopIcon, null) : index.h(MicIcon, null)), index.h("button", { key: '1c7922626005c71fdef12adb12d7413c983df7d7', type: "button", part: "action", class: `bs-composer__action bs-composer__action--${this.state}`, "aria-label": this.actionLabel(), disabled: disabled, onClick: this.onActionClick }, this.renderActionIcon()), index.h("slot", { key: 'd38d63ecf9dd3c7ce7df06cec854ff5ae92b1077', name: "actions-end" }))));
174
+ return (index.h("div", { key: '8313dc19fa583114e96203cb07be9ac114afe6f2', class: `bs-composer bs-composer--${this.state} bs-composer--${this.variant}` }, index.h("div", { key: '2aaef774ce964d33342bce9126c4537dd8c3f844', part: "attachments", class: `bs-composer__attachments-row ${this.hasAttachments ? 'bs-composer__attachments-row--visible' : ''}` }, index.h("slot", { key: 'fd673d9316b78516f3b828585a264005306c42f2', name: "attachments", onSlotchange: this.onAttachmentsSlotchange })), index.h("div", { key: 'b3dbfc51f3451ae573443865487b6cd5cf20edb3', class: "bs-composer__text-row" }, index.h("textarea", { key: '10318ae3174f0491ead324fec41a12cc5135407a', ref: el => (this.inputEl = el), part: "input", class: "bs-composer__input", rows: 1, value: this.value, placeholder: placeholder, disabled: disabled, "aria-label": this.ariaLabel, onInput: this.onInput, onKeyDown: this.onInputKeydown })), index.h("div", { key: 'e298d4239e7868c97599c430397e8dedde4926c2', class: "bs-composer__controls-row" }, index.h("button", { key: 'a39c4810329fe7e198645e5e0ab29003916dd6d8', type: "button", part: "attach", class: "bs-composer__attach", "aria-label": "Attach", onClick: this.onAttachClick }, index.h(PlusIcon, { key: '9d58e6a54c91eb6d2c658ee203eb6ae37eeabea5' })), recording ? (index.h("span", { class: "bs-composer__waveform", "aria-hidden": "true" }, WAVEFORM_BAR_HEIGHTS.map(height => (index.h("span", { class: "bs-composer__waveform-bar", style: { '--bs-composer-bar-height': `${height}px` } }))))) : (index.h("span", { class: "bs-composer__spacer" })), index.h("button", { key: '21f7f81e1273b240dc0bb35f96dac43976d76672', type: "button", part: "mic", class: `bs-composer__mic ${recording ? 'bs-composer__mic--recording' : ''}`, "aria-label": recording ? 'Stop recording' : 'Start voice input', disabled: disabled, onClick: this.onMicClick }, recording ? index.h(StopIcon, null) : index.h(MicIcon, null)), index.h("button", { key: '76f9d399d49c5f7248770a5a2845a2ab8b2e26e1', type: "button", part: "action", class: `bs-composer__action bs-composer__action--${this.state}`, "aria-label": this.actionLabel(), disabled: disabled, onClick: this.onActionClick }, this.renderActionIcon()), index.h("slot", { key: '4de2116117e03382f89c1a409fcb2ecb38aa89ff', name: "actions-end" }))));
175
175
  }
176
176
  static get delegatesFocus() { return true; }
177
177
  };
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- const bsDataTableCss = () => `:host{display:block;--bs-data-table-cell-padding-y:var(--bs-spacing-200);--bs-data-table-cell-padding-x:var(--bs-spacing-300)}.bs-data-table{width:100%;border-collapse:collapse;font-family:inherit;font-size:var(--bs-font-size-sm);color:var(--bs-text-default)}.bs-data-table__header-cell{text-align:left;padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default);font-weight:var(--bs-font-weight-semibold);color:var(--bs-text-secondary);white-space:nowrap}.bs-data-table__sort-button{display:inline-flex;align-items:center;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;user-select:none}.bs-data-table__sort-button:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-data-table__sort-indicator{color:var(--bs-text-action)}.bs-data-table__row:hover{background:var(--bs-surface-hover)}.bs-data-table__cell{padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default)}.bs-data-table__select-col{width:var(--bs-spacing-500);padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default)}`;
5
+ const bsDataTableCss = () => `:host{display:block;--bs-data-table-cell-padding-y:var(--bs-spacing-200);--bs-data-table-cell-padding-x:var(--bs-spacing-300)}.bs-data-table{width:100%;border-collapse:collapse;font-family:inherit;font-size:var(--bs-font-size-sm);color:var(--bs-text-default)}.bs-data-table__header-cell{text-align:start;padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default);font-weight:var(--bs-font-weight-semibold);color:var(--bs-text-secondary);white-space:nowrap}.bs-data-table__sort-button{display:inline-flex;align-items:center;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;user-select:none}.bs-data-table__sort-button:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-data-table__sort-indicator{color:var(--bs-text-action)}.bs-data-table__row:hover{background:var(--bs-surface-hover)}.bs-data-table__cell{padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default)}.bs-data-table__select-col{width:var(--bs-spacing-500);padding:var(--bs-data-table-cell-padding-y) var(--bs-data-table-cell-padding-x);border-bottom:1px solid var(--bs-border-default)}`;
6
6
 
7
7
  const BsDataTable = class {
8
8
  constructor(hostRef) {
@@ -60,11 +60,11 @@ const BsDataTable = class {
60
60
  }
61
61
  }
62
62
  render() {
63
- return (index.h("table", { key: '0b894a3cac62202447a21d4dd982236ef60b4ed0', part: "table", class: "bs-data-table" }, index.h("thead", { key: '9af94643a3cd4702a7b6fcbe2f713a3fea6773a9', part: "head" }, index.h("tr", { key: '3f5680cea9daeecf078a11d19f7a77f3e4de3145' }, this.selectable && (index.h("th", { key: '053da4081fdd79727c5cee13f11f725e4b92e1cb', class: "bs-data-table__select-col" }, this.rows.length > 0 && (index.h("input", { key: 'd45b4e81976dca3fc114c9685deb53e0f27ec8f5', type: "checkbox", "aria-label": "Select all rows", checked: this.selectedIds.size > 0 && this.selectedIds.size === this.rows.length, indeterminate: this.selectedIds.size > 0 && this.selectedIds.size < this.rows.length, onChange: this.onSelectAllChange })))), this.columns.map(column => {
63
+ return (index.h("table", { key: 'a1a9d0c92eb2af12f8f9cab9ba4ae0994a10958a', part: "table", class: "bs-data-table" }, index.h("thead", { key: '2b51500b221465d750b55c31e00af94684367eb2', part: "head" }, index.h("tr", { key: '57aa25ca9b255213f155b5b30841e284d1eebaf8' }, this.selectable && (index.h("th", { key: '44b709a7cd1f2072934efe8fef44a63b2ed20d62', class: "bs-data-table__select-col" }, this.rows.length > 0 && (index.h("input", { key: '084d099453c53333d77c60786b7eb6bedfa21ef3', type: "checkbox", "aria-label": "Select all rows", checked: this.selectedIds.size > 0 && this.selectedIds.size === this.rows.length, indeterminate: this.selectedIds.size > 0 && this.selectedIds.size < this.rows.length, onChange: this.onSelectAllChange })))), this.columns.map(column => {
64
64
  const isSorted = this.sortColumn === column.key;
65
65
  const ariaSort = column.sortable ? (isSorted ? (this.sortDirection === 'asc' ? 'ascending' : 'descending') : 'none') : undefined;
66
66
  return (index.h("th", { part: "header-cell", class: "bs-data-table__header-cell", "aria-sort": ariaSort }, column.sortable ? (index.h("button", { type: "button", class: "bs-data-table__sort-button", onClick: () => this.onHeaderClick(column) }, column.label, isSorted && index.h("span", { class: "bs-data-table__sort-indicator" }, this.sortDirection === 'asc' ? ' ▲' : ' ▼'))) : (column.label)));
67
- }))), index.h("tbody", { key: '8d3183f03ef2a4f39e8f4f8cdad66c8c57df5dca', part: "body" }, this.rows.map(row => (index.h("tr", { part: "row", class: "bs-data-table__row" }, this.selectable && (index.h("td", { class: "bs-data-table__select-col" }, index.h("input", { type: "checkbox", checked: this.selectedIds.has(row.id), onChange: ev => this.onRowCheckboxChange(row, ev) }))), this.columns.map(column => this.cellRenderer ? (
67
+ }))), index.h("tbody", { key: '0438897652b9f8909ff67ae9f7b22d0950f1e5e8', part: "body" }, this.rows.map(row => (index.h("tr", { part: "row", class: "bs-data-table__row" }, this.selectable && (index.h("td", { class: "bs-data-table__select-col" }, index.h("input", { type: "checkbox", checked: this.selectedIds.has(row.id), onChange: ev => this.onRowCheckboxChange(row, ev) }))), this.columns.map(column => this.cellRenderer ? (
68
68
  // cellRenderer is a developer-supplied, trusted function (JS-property-only, never
69
69
  // derived from untrusted input) -- its HTML output is intentionally not escaped,
70
70
  // same trust model as React's dangerouslySetInnerHTML.
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- const bsDialogCss = () => `.bs-dialog__backdrop{position:fixed;inset:0;z-index:var(--bs-z-index-modal);display:flex;align-items:center;justify-content:center;background:rgba(0, 0, 0, 0.4)}.bs-dialog__dialog{position:relative;display:flex;flex-direction:column;max-height:calc(100vh - var(--bs-spacing-800));background:var(--bs-surface-base);color:var(--bs-text-default);border-radius:var(--bs-border-radius-200);box-shadow:var(--bs-shadow-xl);font-family:inherit}.bs-dialog__dialog--sm{width:360px}.bs-dialog__dialog--md{width:560px}.bs-dialog__dialog--lg{width:800px}.bs-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-spacing-200) var(--bs-spacing-200) var(--bs-spacing-100)}.bs-dialog__image--visible+.bs-dialog__header,.bs-dialog__icon--visible+.bs-dialog__header{padding-top:0}.bs-dialog__heading{font-size:var(--bs-font-size-lg);font-weight:var(--bs-font-weight-semibold);color:var(--bs-text-default)}.bs-dialog__close--floating{position:absolute;top:var(--bs-spacing-200);right:var(--bs-spacing-200);z-index:1}.bs-dialog__body{padding:0 var(--bs-spacing-200) var(--bs-spacing-200);overflow-y:auto}.bs-dialog__body--centered{text-align:center}.bs-dialog__footer--visible{display:flex;justify-content:flex-end;gap:var(--bs-spacing-200);padding:0 var(--bs-spacing-200) var(--bs-spacing-200)}.bs-dialog__image--visible{overflow:hidden;border-radius:var(--bs-border-radius-200) var(--bs-border-radius-200) 0 0;margin-bottom:var(--bs-spacing-200)}.bs-dialog__image--visible ::slotted(img){display:block;width:100%;height:auto;object-fit:cover}.bs-dialog__icon--visible{display:flex;align-items:center;justify-content:center;padding:var(--bs-spacing-200) var(--bs-spacing-200) 0;margin-bottom:var(--bs-spacing-200)}.bs-dialog__icon--visible ::slotted(*){width:64px;height:64px}.bs-dialog__header--centered{justify-content:center;text-align:center}`;
5
+ const bsDialogCss = () => `.bs-dialog__backdrop{position:fixed;inset:0;z-index:var(--bs-z-index-modal);display:flex;align-items:center;justify-content:center;background:rgba(0, 0, 0, 0.4)}.bs-dialog__dialog{position:relative;display:flex;flex-direction:column;max-height:calc(100vh - var(--bs-spacing-800));background:var(--bs-surface-base);color:var(--bs-text-default);border-radius:var(--bs-border-radius-200);box-shadow:var(--bs-shadow-xl);font-family:inherit}.bs-dialog__dialog--sm{width:360px}.bs-dialog__dialog--md{width:560px}.bs-dialog__dialog--lg{width:800px}.bs-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-spacing-200) var(--bs-spacing-200) var(--bs-spacing-100)}.bs-dialog__image--visible+.bs-dialog__header,.bs-dialog__icon--visible+.bs-dialog__header{padding-top:0}.bs-dialog__heading{font-size:var(--bs-font-size-lg);font-weight:var(--bs-font-weight-semibold);color:var(--bs-text-default)}.bs-dialog__close--floating{position:absolute;top:var(--bs-spacing-200);inset-inline-end:var(--bs-spacing-200);z-index:1}.bs-dialog__body{padding:0 var(--bs-spacing-200) var(--bs-spacing-200);overflow-y:auto}.bs-dialog__body--centered{text-align:center}.bs-dialog__footer--visible{display:flex;justify-content:flex-end;gap:var(--bs-spacing-200);padding:0 var(--bs-spacing-200) var(--bs-spacing-200)}.bs-dialog__image--visible{overflow:hidden;border-radius:var(--bs-border-radius-200) var(--bs-border-radius-200) 0 0;margin-bottom:var(--bs-spacing-200)}.bs-dialog__image--visible ::slotted(img){display:block;width:100%;height:auto;object-fit:cover}.bs-dialog__icon--visible{display:flex;align-items:center;justify-content:center;padding:var(--bs-spacing-200) var(--bs-spacing-200) 0;margin-bottom:var(--bs-spacing-200)}.bs-dialog__icon--visible ::slotted(*){width:64px;height:64px}.bs-dialog__header--centered{justify-content:center;text-align:center}@media (forced-colors: active){.bs-dialog__dialog{border:1px solid CanvasText}}`;
6
6
 
7
7
  const BsDialog = class {
8
8
  constructor(hostRef) {
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-kk9YXF2S.js');
4
+
5
+ const bsFileUploadItemCss = () => `:host{display:block;--bs-file-upload-item-bg:var(--bs-surface-base);--bs-file-upload-item-border-color:var(--bs-border-default);--bs-file-upload-item-border-width:var(--bs-border-width-thin);--bs-file-upload-item-radius:var(--bs-border-radius-150);--bs-file-upload-item-padding:var(--bs-spacing-200);--bs-file-upload-item-gap:var(--bs-spacing-150);--bs-file-upload-item-thumbnail-size:80px;--bs-file-upload-item-thumbnail-radius:var(--bs-border-radius-100);--bs-file-upload-item-thumbnail-bg:var(--bs-surface-container);--bs-file-upload-item-thumbnail-icon-color:var(--bs-icon-muted);--bs-file-upload-item-content-gap:var(--bs-spacing-100);--bs-file-upload-item-name-color:var(--bs-text-default);--bs-file-upload-item-size-color:var(--bs-text-default);--bs-file-upload-item-success-color:var(--bs-text-success);--bs-file-upload-item-success-icon-color:var(--bs-icon-success);--bs-file-upload-item-error-color:var(--bs-text-error);--bs-file-upload-item-error-icon-color:var(--bs-icon-error)}.bs-file-upload-item{box-sizing:border-box;display:flex;align-items:flex-start;gap:var(--bs-file-upload-item-gap);padding:var(--bs-file-upload-item-padding);border:var(--bs-file-upload-item-border-width) solid var(--bs-file-upload-item-border-color);border-radius:var(--bs-file-upload-item-radius);background:var(--bs-file-upload-item-bg);font-size:var(--bs-font-size-md);line-height:calc(var(--bs-line-height-body-md) * 1px)}.bs-file-upload-item__thumbnail{display:flex;flex:none;align-items:center;justify-content:center;width:var(--bs-file-upload-item-thumbnail-size);height:var(--bs-file-upload-item-thumbnail-size);overflow:hidden;border-radius:var(--bs-file-upload-item-thumbnail-radius);background:var(--bs-file-upload-item-thumbnail-bg);color:var(--bs-file-upload-item-thumbnail-icon-color)}.bs-file-upload-item__placeholder{display:block;width:32px;height:32px}.bs-file-upload-item__image{display:block;width:100%;height:100%;object-fit:cover}.bs-file-upload-item__content{display:flex;flex:1;flex-direction:column;justify-content:center;gap:var(--bs-file-upload-item-content-gap);align-self:stretch;min-width:0}.bs-file-upload-item__meta{display:flex;flex-direction:column}.bs-file-upload-item__name{color:var(--bs-file-upload-item-name-color);font-weight:600;overflow-wrap:anywhere}.bs-file-upload-item__size{color:var(--bs-file-upload-item-size-color);font-size:var(--bs-font-size-sm);line-height:calc(var(--bs-line-height-body-sm) * 1px)}.bs-file-upload-item__status{display:flex;align-items:center;gap:var(--bs-spacing-50);min-height:24px}.bs-file-upload-item__status-icon{display:block;flex:none;width:16px;height:16px}.bs-file-upload-item__status--success{color:var(--bs-file-upload-item-success-color)}.bs-file-upload-item__status--success .bs-file-upload-item__status-icon{color:var(--bs-file-upload-item-success-icon-color)}.bs-file-upload-item__status--error{color:var(--bs-file-upload-item-error-color)}.bs-file-upload-item__status--error .bs-file-upload-item__status-icon{color:var(--bs-file-upload-item-error-icon-color)}bs-progress-linear{width:100%}bs-icon-button{flex:none;--bs-icon-neutral-default:var(--bs-icon-default)}@media (forced-colors: active){.bs-file-upload-item{border-color:CanvasText}}`;
6
+
7
+ const BsFileUploadItem = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.bsCancel = index.createEvent(this, "bsCancel");
11
+ this.bsRemove = index.createEvent(this, "bsRemove");
12
+ }
13
+ /** Where the upload is. `loading` = working with no known percentage (indeterminate bar);
14
+ * `in-progress` = uploading with a known `progress`; `error` and `success` are final. */
15
+ state = 'loading';
16
+ /** The file name. */
17
+ fileName = '';
18
+ /** The file size, already formatted (e.g. "8MB"). */
19
+ fileSize;
20
+ /** Upload progress, 0-100. Only used when `state="in-progress"`. */
21
+ progress = 0;
22
+ /** The status text. Defaults per state: "Loading..." (`loading`), "{progress}% uploaded"
23
+ * (`in-progress`), "Upload failed" (`error`), "File uploaded successfully" (`success`). Provide
24
+ * your own for localisation or a specific error. */
25
+ message;
26
+ /** A preview image of the file. Shown instead of the placeholder icon when set. */
27
+ thumbnailSrc;
28
+ /** Alt text for `thumbnailSrc`. Leave empty when the file name already says it all. */
29
+ thumbnailAlt = '';
30
+ /** Accessible name of the cancel button (`loading`, `in-progress`, `error`). */
31
+ cancelLabel = 'Cancel upload';
32
+ /** Accessible name of the remove button (`success`). */
33
+ removeLabel = 'Remove file';
34
+ /** Fires when the cancel button is clicked (`loading`, `in-progress`, `error`). The consumer
35
+ * stops the upload and removes the item. */
36
+ bsCancel;
37
+ /** Fires when the remove button is clicked (`success`). The consumer removes the file. */
38
+ bsRemove;
39
+ get clampedProgress() {
40
+ return Math.min(100, Math.max(0, Math.round(Number.isFinite(this.progress) ? this.progress : 0)));
41
+ }
42
+ get statusText() {
43
+ if (this.message)
44
+ return this.message;
45
+ switch (this.state) {
46
+ case 'in-progress':
47
+ return `${this.clampedProgress}% uploaded`;
48
+ case 'error':
49
+ return 'Upload failed';
50
+ case 'success':
51
+ return 'File uploaded successfully';
52
+ case 'loading':
53
+ default:
54
+ return 'Loading...';
55
+ }
56
+ }
57
+ onAction = () => {
58
+ if (this.state === 'success')
59
+ this.bsRemove.emit();
60
+ else
61
+ this.bsCancel.emit();
62
+ };
63
+ renderStatus() {
64
+ const uploading = this.state === 'loading' || this.state === 'in-progress';
65
+ if (uploading) {
66
+ return (index.h("bs-progress-linear", { part: "progress", size: "small", type: this.state === 'loading' ? 'indeterminate' : 'determinate', value: this.clampedProgress, ariaLabel: this.fileName || 'Upload progress' }, this.statusText));
67
+ }
68
+ // Final states are announced once (role="status"); the progress bar above is deliberately not
69
+ // a live region, so frequent percentage updates don't flood a screen reader.
70
+ return (index.h("div", { part: "status", class: `bs-file-upload-item__status bs-file-upload-item__status--${this.state}`, role: "status" }, this.state === 'success' ? index.h(CheckCircleIcon, null) : index.h(XCircleIcon, null), index.h("span", { class: "bs-file-upload-item__status-text" }, this.statusText)));
71
+ }
72
+ render() {
73
+ const removing = this.state === 'success';
74
+ return (index.h("div", { key: 'd26aebbbdb7858444d2ff3084c421ce1e70acd9e', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, index.h("div", { key: '2bf21442cc31bc9f85178e97bdae140de59fd7ce', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, index.h("slot", { key: 'fb9a9d723855e6d2556e61fb5cc7414e296ddf89', name: "thumbnail" }, this.thumbnailSrc ? (index.h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (index.h(ImageIcon, null)))), index.h("div", { key: 'ca1cab03c21d93b4fe754e8e4575bbee5c6c11bd', class: "bs-file-upload-item__content" }, index.h("div", { key: '072532a7cfb4a699ab9920594ed4299bd094eea3', class: "bs-file-upload-item__meta" }, index.h("span", { key: 'f30ec89b3af9d5a4fc3ea2cf9252713f47a68ba2', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (index.h("span", { key: '63aeb6db94d78011a649fa1a0771d488890c330b', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), index.h("bs-icon-button", { key: '5434d917777db308f8b16f84e2ccd5efcfb46dc8', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? index.h(TrashIcon, null) : index.h(CloseIcon, null))));
75
+ }
76
+ };
77
+ // Figma exports, recolored via currentColor so the CSS tokens drive the color.
78
+ const ImageIcon = () => (index.h("svg", { class: "bs-file-upload-item__placeholder", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M5 6H27C27.5523 6 28 6.44772 28 7V25C28 25.5523 27.5523 26 27 26H5C4.44772 26 4 25.5523 4 25V7C4 6.44772 4.44772 6 5 6Z", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M19.5 14C20.3284 14 21 13.3284 21 12.5C21 11.6716 20.3284 11 19.5 11C18.6716 11 18 11.6716 18 12.5C18 13.3284 18.6716 14 19.5 14Z", fill: "currentColor" }), index.h("path", { d: "M18.4137 20.5L21.625 17.2925C21.8125 17.1051 22.0668 16.9998 22.3319 16.9998C22.597 16.9998 22.8512 17.1051 23.0387 17.2925L28 22.2575", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M4 21.0863L10.7925 14.2925C10.8854 14.1995 10.9957 14.1258 11.1171 14.0754C11.2385 14.0251 11.3686 13.9992 11.5 13.9992C11.6314 13.9992 11.7615 14.0251 11.8829 14.0754C12.0043 14.1258 12.1146 14.1995 12.2075 14.2925L23.9137 26", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
79
+ const CheckCircleIcon = () => (index.h("svg", { class: "bs-file-upload-item__status-icon", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M11.0306 5.96938C11.1005 6.03905 11.156 6.12185 11.1939 6.21301C11.2317 6.30417 11.2512 6.40191 11.2512 6.50063C11.2512 6.59934 11.2317 6.69708 11.1939 6.78824C11.156 6.8794 11.1005 6.9622 11.0306 7.03188L7.53062 10.5319C7.46095 10.6018 7.37815 10.6573 7.28699 10.6951C7.19582 10.733 7.09809 10.7525 6.99937 10.7525C6.90066 10.7525 6.80292 10.733 6.71176 10.6951C6.6206 10.6573 6.5378 10.6018 6.46812 10.5319L4.96812 9.03187C4.89836 8.96211 4.84302 8.87929 4.80526 8.78814C4.76751 8.69698 4.74807 8.59929 4.74807 8.50062C4.74807 8.40196 4.76751 8.30427 4.80526 8.21311C4.84302 8.12196 4.89836 8.03914 4.96812 7.96938C5.03789 7.89961 5.12071 7.84427 5.21186 7.80651C5.30302 7.76876 5.40071 7.74932 5.49937 7.74932C5.59804 7.74932 5.69573 7.76876 5.78689 7.80651C5.87804 7.84427 5.96086 7.89961 6.03062 7.96938L7 8.9375L9.96937 5.9675C10.0392 5.89789 10.122 5.84272 10.2131 5.80513C10.3042 5.76755 10.4018 5.7483 10.5004 5.74847C10.599 5.74865 10.6965 5.76825 10.7875 5.80615C10.8785 5.84405 10.9611 5.89952 11.0306 5.96938ZM14.75 8C14.75 9.33502 14.3541 10.6401 13.6124 11.7501C12.8707 12.8601 11.8165 13.7253 10.5831 14.2362C9.34971 14.7471 7.99251 14.8808 6.68314 14.6203C5.37377 14.3598 4.17103 13.717 3.22703 12.773C2.28302 11.829 1.64015 10.6262 1.3797 9.31686C1.11925 8.00749 1.25292 6.65029 1.76381 5.41689C2.2747 4.18349 3.13987 3.12928 4.2499 2.38758C5.35993 1.64588 6.66498 1.25 8 1.25C9.7896 1.25199 11.5053 1.96378 12.7708 3.22922C14.0362 4.49466 14.748 6.2104 14.75 8ZM13.25 8C13.25 6.96165 12.9421 5.94661 12.3652 5.08326C11.7883 4.2199 10.9684 3.54699 10.0091 3.14963C9.04978 2.75227 7.99418 2.6483 6.97578 2.85088C5.95738 3.05345 5.02191 3.55346 4.28769 4.28769C3.55346 5.02191 3.05345 5.95738 2.85088 6.97578C2.6483 7.99418 2.75227 9.04978 3.14963 10.0091C3.54699 10.9684 4.2199 11.7883 5.08326 12.3652C5.94661 12.9421 6.96165 13.25 8 13.25C9.39193 13.2485 10.7264 12.6949 11.7107 11.7107C12.6949 10.7264 13.2485 9.39193 13.25 8Z", fill: "currentColor" })));
80
+ const XCircleIcon = () => (index.h("svg", { class: "bs-file-upload-item__status-icon", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M10.5306 6.53062L9.0625 8L10.5325 9.46937C10.6734 9.61027 10.7526 9.80137 10.7526 10.0006C10.7526 10.1999 10.6734 10.391 10.5325 10.5319C10.3916 10.6728 10.2005 10.7519 10.0013 10.7519C9.80199 10.7519 9.6109 10.6728 9.47 10.5319L8 9.0625L6.53062 10.5325C6.38973 10.6734 6.19863 10.7526 5.99937 10.7526C5.80012 10.7526 5.60902 10.6734 5.46812 10.5325C5.32723 10.3916 5.24807 10.2005 5.24807 10.0013C5.24807 9.80199 5.32723 9.6109 5.46812 9.47L6.9375 8L5.46937 6.53062C5.39961 6.46086 5.34427 6.37804 5.30651 6.28689C5.26876 6.19573 5.24932 6.09804 5.24932 5.99937C5.24932 5.80012 5.32848 5.60902 5.46937 5.46812C5.61027 5.32723 5.80137 5.24807 6.00062 5.24807C6.19988 5.24807 6.39098 5.32723 6.53187 5.46812L8 6.9375L9.46937 5.4675C9.61027 5.3266 9.80137 5.24745 10.0006 5.24745C10.1999 5.24745 10.391 5.3266 10.5319 5.4675C10.6728 5.6084 10.7519 5.79949 10.7519 5.99875C10.7519 6.19801 10.6728 6.3891 10.5319 6.53L10.5306 6.53062ZM14.75 8C14.75 9.33502 14.3541 10.6401 13.6124 11.7501C12.8707 12.8601 11.8165 13.7253 10.5831 14.2362C9.34971 14.7471 7.99251 14.8808 6.68314 14.6203C5.37377 14.3598 4.17103 13.717 3.22703 12.773C2.28302 11.829 1.64015 10.6262 1.3797 9.31686C1.11925 8.00749 1.25292 6.65029 1.76381 5.41689C2.2747 4.18349 3.13987 3.12928 4.2499 2.38758C5.35993 1.64588 6.66498 1.25 8 1.25C9.7896 1.25199 11.5053 1.96378 12.7708 3.22922C14.0362 4.49466 14.748 6.2104 14.75 8ZM13.25 8C13.25 6.96165 12.9421 5.94661 12.3652 5.08326C11.7883 4.2199 10.9684 3.54699 10.0091 3.14963C9.04978 2.75227 7.99418 2.6483 6.97578 2.85088C5.95738 3.05345 5.02191 3.55346 4.28769 4.28769C3.55346 5.02191 3.05345 5.95738 2.85088 6.97578C2.6483 7.99418 2.75227 9.04978 3.14963 10.0091C3.54699 10.9684 4.2199 11.7883 5.08326 12.3652C5.94661 12.9421 6.96165 13.25 8 13.25C9.39193 13.2485 10.7264 12.6949 11.7107 11.7107C12.6949 10.7264 13.2485 9.39193 13.25 8Z", fill: "currentColor" })));
81
+ const CloseIcon = () => (index.h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M18.75 5.25L5.25 18.75", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M18.75 18.75L5.25 5.25", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
82
+ const TrashIcon = () => (index.h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M20.25 5.25H3.75", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M9.75 9.75V15.75", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M14.25 9.75V15.75", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M18.75 5.25V19.5C18.75 19.6989 18.671 19.8897 18.5303 20.0303C18.3897 20.171 18.1989 20.25 18 20.25H6C5.80109 20.25 5.61032 20.171 5.46967 20.0303C5.32902 19.8897 5.25 19.6989 5.25 19.5V5.25", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M15.75 5.25V3.75C15.75 3.35218 15.592 2.97064 15.3107 2.68934C15.0294 2.40804 14.6478 2.25 14.25 2.25H9.75C9.35218 2.25 8.97064 2.40804 8.68934 2.68934C8.40804 2.97064 8.25 3.35218 8.25 3.75V5.25", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
83
+ BsFileUploadItem.style = bsFileUploadItemCss();
84
+
85
+ exports.bs_file_upload_item = BsFileUploadItem;
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-kk9YXF2S.js');
4
+
5
+ const bsFileUploadCss = () => `:host{display:block;--bs-file-upload-bg:var(--bs-surface-raised);--bs-file-upload-bg-dragging:var(--bs-surface-container);--bs-file-upload-border-color:var(--bs-border-neutral-container);--bs-file-upload-border-color-dragging:var(--bs-border-neutral-container-pressed);--bs-file-upload-border-width:var(--bs-border-width-medium);--bs-file-upload-radius:var(--bs-border-radius-150);--bs-file-upload-padding:var(--bs-spacing-300);--bs-file-upload-gap:var(--bs-spacing-300);--bs-file-upload-icon-size:102px;--bs-file-upload-icon-bg:var(--bs-surface-hover);--bs-file-upload-icon-bg-dragging:var(--bs-surface-raised);--bs-file-upload-icon-color:var(--bs-icon-default);--bs-file-upload-content-gap:var(--bs-spacing-100);--bs-file-upload-text-gap:var(--bs-spacing-25);--bs-file-upload-heading-color:var(--bs-text-default);--bs-file-upload-description-color:var(--bs-text-secondary);--bs-file-upload-font-size:var(--bs-font-size-md);--bs-file-upload-line-height:var(--bs-line-height-body-md)}.bs-file-upload{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--bs-file-upload-gap);padding:var(--bs-file-upload-padding);border:var(--bs-file-upload-border-width) dashed var(--bs-file-upload-border-color);border-radius:var(--bs-file-upload-radius);background:var(--bs-file-upload-bg);font-size:var(--bs-file-upload-font-size);line-height:calc(var(--bs-file-upload-line-height) * 1px)}.bs-file-upload--horizontal{flex-direction:row;justify-content:flex-start}.bs-file-upload--vertical{flex-direction:column;text-align:center}.bs-file-upload--dragging{background:var(--bs-file-upload-bg-dragging);border-color:var(--bs-file-upload-border-color-dragging)}.bs-file-upload__icon{display:flex;flex:none;align-items:center;justify-content:center;width:var(--bs-file-upload-icon-size);height:var(--bs-file-upload-icon-size);border-radius:var(--bs-border-radius-full);background:var(--bs-file-upload-icon-bg);color:var(--bs-file-upload-icon-color)}.bs-file-upload--dragging .bs-file-upload__icon{background:var(--bs-file-upload-icon-bg-dragging)}.bs-file-upload__icon-svg,.bs-file-upload__icon ::slotted(*){display:block;width:32px;height:32px}.bs-file-upload__content{display:flex;flex-direction:column;gap:var(--bs-file-upload-content-gap);min-width:0}.bs-file-upload--horizontal .bs-file-upload__content{align-items:flex-start}.bs-file-upload--vertical .bs-file-upload__content{align-items:center}.bs-file-upload__text{display:flex;flex-direction:column;gap:var(--bs-file-upload-text-gap)}.bs-file-upload__heading{color:var(--bs-file-upload-heading-color);font-weight:600}.bs-file-upload__description{color:var(--bs-file-upload-description-color)}.bs-file-upload--disabled{cursor:not-allowed}@media (forced-colors: active){.bs-file-upload{border-color:CanvasText}.bs-file-upload--dragging{border-color:Highlight}}`;
6
+
7
+ const BsFileUpload = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.bsFilesSelect = index.createEvent(this, "bsFilesSelect");
11
+ this.bsFilesReject = index.createEvent(this, "bsFilesReject");
12
+ }
13
+ get el() { return index.getElement(this); }
14
+ inputEl;
15
+ /** Layout: icon beside the text (`horizontal`) or stacked above it, centered (`vertical`). */
16
+ direction = 'horizontal';
17
+ /** Heading text (e.g. "Upload your documents"). */
18
+ heading;
19
+ /** Guidelines under the heading (e.g. "PDF or JPG, up to 8MB"). */
20
+ description;
21
+ /** Label of the browse button. Override for localisation. */
22
+ buttonLabel = 'Browse file';
23
+ /** Which files are accepted, same syntax as the native `accept` attribute: comma-separated
24
+ * extensions (`.pdf`), MIME types (`image/png`) or wildcards (`image/*`). Applied to the picker
25
+ * and also to dropped files, which the browser does not filter. */
26
+ accept;
27
+ /** Allows selecting/dropping more than one file. Without it only the first file is taken. */
28
+ multiple = false;
29
+ /** Disables the browse button and ignores drops. */
30
+ disabled = false;
31
+ /** Whether a file is currently being dragged over the dropzone (the Figma "Drop" state). Set by
32
+ * the component during a drag; mutable and reflected so it can also be set to show the state
33
+ * statically. */
34
+ dragging = false;
35
+ /** Fires with the accepted files, after the picker closes or files are dropped. */
36
+ bsFilesSelect;
37
+ /** Fires with files that were not taken: they didn't match `accept`, or were extra files
38
+ * dropped while `multiple` is off. */
39
+ bsFilesReject;
40
+ matchesAccept(file) {
41
+ const tokens = (this.accept ?? '')
42
+ .split(',')
43
+ .map(t => t.trim().toLowerCase())
44
+ .filter(Boolean);
45
+ if (tokens.length === 0)
46
+ return true;
47
+ const name = file.name.toLowerCase();
48
+ const type = (file.type || '').toLowerCase();
49
+ return tokens.some(token => {
50
+ if (token.startsWith('.'))
51
+ return name.endsWith(token);
52
+ if (token.endsWith('/*'))
53
+ return type.startsWith(token.slice(0, -1));
54
+ return type === token;
55
+ });
56
+ }
57
+ handleFiles(files) {
58
+ const matching = files.filter(f => this.matchesAccept(f));
59
+ const rejected = files.filter(f => !this.matchesAccept(f));
60
+ const accepted = this.multiple ? matching : matching.slice(0, 1);
61
+ if (!this.multiple)
62
+ rejected.push(...matching.slice(1));
63
+ if (accepted.length)
64
+ this.bsFilesSelect.emit(accepted);
65
+ if (rejected.length)
66
+ this.bsFilesReject.emit(rejected);
67
+ }
68
+ onBrowse = () => {
69
+ if (!this.disabled)
70
+ this.inputEl?.click();
71
+ };
72
+ onInputChange = () => {
73
+ const files = Array.from(this.inputEl?.files ?? []);
74
+ // Reset so choosing the same file again still fires `change`.
75
+ if (this.inputEl)
76
+ this.inputEl.value = '';
77
+ if (files.length)
78
+ this.handleFiles(files);
79
+ };
80
+ onDragOver = (ev) => {
81
+ if (this.disabled)
82
+ return;
83
+ ev.preventDefault();
84
+ this.dragging = true;
85
+ };
86
+ onDragLeave = (ev) => {
87
+ // dragleave also fires when crossing between child elements; only clear when leaving the zone.
88
+ const next = ev.relatedTarget;
89
+ if (next && ev.currentTarget.contains(next))
90
+ return;
91
+ this.dragging = false;
92
+ };
93
+ onDrop = (ev) => {
94
+ if (this.disabled)
95
+ return;
96
+ ev.preventDefault();
97
+ this.dragging = false;
98
+ const files = Array.from(ev.dataTransfer?.files ?? []);
99
+ if (files.length)
100
+ this.handleFiles(files);
101
+ };
102
+ render() {
103
+ return (index.h("div", { key: 'baa70a704a4c3508cd3186f567d0887218a9c04d', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, index.h("div", { key: 'c5fe3207ba56506a272c42097ec23881bcf863d4', part: "icon", class: "bs-file-upload__icon" }, index.h("slot", { key: 'd33d8f0f7b17bab679124823c61a1b7c6d031345', name: "icon" }, index.h(UploadIcon, { key: 'd0356e97a031867f323de21905a2bbca57963962' }))), index.h("div", { key: 'a5f4fb403556b2b596291bfddad2b73b1765f91f', class: "bs-file-upload__content" }, index.h("div", { key: 'b99afac250a8d40e54c97f74afde42620da2ff07', class: "bs-file-upload__text" }, this.heading && (index.h("span", { key: '33a2ce5aac1d8bf15c55dcf8ccfe4fbce6892fd1', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (index.h("span", { key: 'eec7f2fcc598412107e7b9c78efae30a3714c674', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), index.h("bs-button", { key: 'f44a5747bb0e9452aefa1fe2fc1d51b1af7da9b1', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), index.h("input", { key: 'c8e19f95978d103f535bf26fb64c34ff69c4c7ee', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
104
+ }
105
+ };
106
+ // Figma's "UploadSimple" icon (3272:50330), exported SVG, recolored via currentColor.
107
+ const UploadIcon = () => (index.h("svg", { class: "bs-file-upload__icon-svg", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("path", { d: "M16 18V4", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M27 18V26H5V18", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M11 9L16 4L21 9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
108
+ BsFileUpload.style = bsFileUploadCss();
109
+
110
+ exports.bs_file_upload = BsFileUpload;
@@ -1,14 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
5
  const bsIconButtonCss = () => `:host{display:inline-block;--bs-icon-button-radius:var(--bs-border-radius-100);--bs-icon-button-size-sm:40px;--bs-icon-button-size-md:44px;--bs-icon-button-size-lg:48px;--bs-icon-button-icon-size-sm:16px;--bs-icon-button-icon-size-md:20px;--bs-icon-button-icon-size-lg:24px;--bs-icon-button-padding:var(--bs-spacing-150);--bs-icon-button-radius-xs:var(--bs-border-radius-50);--bs-icon-button-size-xs:16px;--bs-icon-button-icon-size-xs:8px;--bs-icon-button-padding-xs:var(--bs-spacing-50);--bs-icon-button-primary-default:var(--bs-color-primary-default);--bs-icon-button-primary-hover:var(--bs-color-primary-hover);--bs-icon-button-primary-pressed:var(--bs-color-primary-pressed);--bs-icon-button-primary-disabled:var(--bs-surface-action-disabled);--bs-icon-button-neutral-container:var(--bs-color-neutral-container);--bs-icon-button-neutral-hover:var(--bs-color-neutral-container-hover);--bs-icon-button-neutral-pressed:var(--bs-color-neutral-container-pressed);--bs-icon-button-neutral-border:var(--bs-border-neutral-container);--bs-icon-button-neutral-border-hover:var(--bs-border-neutral-container-hover);--bs-icon-button-neutral-border-pressed:var(--bs-border-neutral-container-pressed);--bs-icon-button-subtle-hover:var(--bs-color-neutral-container);--bs-icon-button-subtle-pressed:var(--bs-color-neutral-container-pressed);--bs-icon-button-subtle-focus:var(--bs-border-primary-focus);--bs-icon-button-outlined-border:var(--bs-color-primary-default);--bs-icon-button-outlined-border-hover:var(--bs-color-primary-hover);--bs-icon-button-outlined-border-pressed:var(--bs-color-primary-pressed);--bs-icon-button-outlined-text-hover:var(--bs-text-action-hover);--bs-icon-button-outlined-container:var(--bs-color-primary-container);--bs-icon-button-outlined-focus:var(--bs-border-primary-focus);--bs-icon-button-success-default:var(--bs-color-success-default);--bs-icon-button-success-hover:var(--bs-color-success-hover);--bs-icon-button-success-pressed:var(--bs-color-success-pressed);--bs-icon-button-success-disabled:var(--bs-surface-action-disabled);--bs-icon-button-success-focus:var(--bs-border-success-focus);--bs-icon-button-warning-default:var(--bs-color-warning-default);--bs-icon-button-warning-hover:var(--bs-color-warning-hover);--bs-icon-button-warning-pressed:var(--bs-color-warning-pressed);--bs-icon-button-warning-disabled:var(--bs-surface-action-disabled);--bs-icon-button-warning-focus:var(--bs-border-warning-focus);--bs-icon-button-info-default:var(--bs-color-info-default);--bs-icon-button-info-hover:var(--bs-color-info-hover);--bs-icon-button-info-pressed:var(--bs-color-info-pressed);--bs-icon-button-info-disabled:var(--bs-surface-action-disabled);--bs-icon-button-info-focus:var(--bs-border-info-focus);--bs-icon-button-error-default:var(--bs-color-error-default);--bs-icon-button-error-hover:var(--bs-color-error-hover);--bs-icon-button-error-pressed:var(--bs-color-error-pressed);--bs-icon-button-error-disabled:var(--bs-surface-action-disabled);--bs-icon-button-error-focus:var(--bs-border-error-focus)}.bs-icon-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;border-radius:var(--bs-icon-button-radius);padding:var(--bs-icon-button-padding);cursor:pointer;transition:background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease)}.bs-icon-button:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-icon-button:disabled{cursor:not-allowed}.bs-icon-button--xs{width:var(--bs-icon-button-size-xs);height:var(--bs-icon-button-size-xs);padding:var(--bs-icon-button-padding-xs);border-radius:var(--bs-icon-button-radius-xs)}.bs-icon-button--xs .bs-icon-button__icon{width:var(--bs-icon-button-icon-size-xs);height:var(--bs-icon-button-icon-size-xs)}.bs-icon-button--sm{width:var(--bs-icon-button-size-sm);height:var(--bs-icon-button-size-sm)}.bs-icon-button--sm .bs-icon-button__icon{width:var(--bs-icon-button-icon-size-sm);height:var(--bs-icon-button-icon-size-sm)}.bs-icon-button--md{width:var(--bs-icon-button-size-md);height:var(--bs-icon-button-size-md)}.bs-icon-button--md .bs-icon-button__icon{width:var(--bs-icon-button-icon-size-md);height:var(--bs-icon-button-icon-size-md)}.bs-icon-button--lg{width:var(--bs-icon-button-size-lg);height:var(--bs-icon-button-size-lg)}.bs-icon-button--lg .bs-icon-button__icon{width:var(--bs-icon-button-icon-size-lg);height:var(--bs-icon-button-icon-size-lg)}.bs-icon-button__icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.bs-icon-button__icon ::slotted(*){display:block;width:100%;height:100%}.bs-icon-button--primary{background:var(--bs-icon-button-primary-default);color:var(--bs-text-on-action)}.bs-icon-button--primary:hover:not(:disabled){background:var(--bs-icon-button-primary-hover)}.bs-icon-button--primary:active:not(:disabled){background:var(--bs-icon-button-primary-pressed)}.bs-icon-button--primary:disabled{background:var(--bs-icon-button-primary-disabled);color:var(--bs-text-on-disabled)}.bs-icon-button--neutral{background:var(--bs-icon-button-neutral-container);color:var(--bs-text-default);border:1px solid var(--bs-icon-button-neutral-border)}.bs-icon-button--neutral:hover:not(:disabled){background:var(--bs-icon-button-neutral-hover);border-color:var(--bs-icon-button-neutral-border-hover)}.bs-icon-button--neutral:active:not(:disabled){background:var(--bs-icon-button-neutral-pressed);border-color:var(--bs-icon-button-neutral-border-pressed)}.bs-icon-button--neutral:disabled{background:var(--bs-icon-button-neutral-container);color:var(--bs-text-on-disabled);border-color:var(--bs-icon-button-neutral-border)}.bs-icon-button--error{background:var(--bs-icon-button-error-default);color:var(--bs-text-on-action)}.bs-icon-button--error:hover:not(:disabled){background:var(--bs-icon-button-error-hover)}.bs-icon-button--error:active:not(:disabled){background:var(--bs-icon-button-error-pressed)}.bs-icon-button--error:disabled{background:var(--bs-icon-button-error-disabled);color:var(--bs-text-on-disabled)}.bs-icon-button--error:focus-visible{outline-color:var(--bs-icon-button-error-focus)}.bs-icon-button--success{background:var(--bs-icon-button-success-default);color:var(--bs-text-on-action)}.bs-icon-button--success:hover:not(:disabled){background:var(--bs-icon-button-success-hover)}.bs-icon-button--success:active:not(:disabled){background:var(--bs-icon-button-success-pressed)}.bs-icon-button--success:disabled{background:var(--bs-icon-button-success-disabled);color:var(--bs-text-on-disabled)}.bs-icon-button--success:focus-visible{outline-color:var(--bs-icon-button-success-focus)}.bs-icon-button--warning{background:var(--bs-icon-button-warning-default);color:var(--bs-text-on-action)}.bs-icon-button--warning:hover:not(:disabled){background:var(--bs-icon-button-warning-hover)}.bs-icon-button--warning:active:not(:disabled){background:var(--bs-icon-button-warning-pressed)}.bs-icon-button--warning:disabled{background:var(--bs-icon-button-warning-disabled);color:var(--bs-text-on-disabled)}.bs-icon-button--warning:focus-visible{outline-color:var(--bs-icon-button-warning-focus)}.bs-icon-button--info{background:var(--bs-icon-button-info-default);color:var(--bs-text-on-action)}.bs-icon-button--info:hover:not(:disabled){background:var(--bs-icon-button-info-hover)}.bs-icon-button--info:active:not(:disabled){background:var(--bs-icon-button-info-pressed)}.bs-icon-button--info:disabled{background:var(--bs-icon-button-info-disabled);color:var(--bs-text-on-disabled)}.bs-icon-button--info:focus-visible{outline-color:var(--bs-icon-button-info-focus)}.bs-icon-button--subtle{background:transparent;color:var(--bs-icon-neutral-default)}.bs-icon-button--subtle:hover:not(:disabled){background:var(--bs-icon-button-subtle-hover)}.bs-icon-button--subtle:active:not(:disabled){background:var(--bs-icon-button-subtle-pressed)}.bs-icon-button--subtle:disabled{background:transparent;color:var(--bs-text-on-disabled)}.bs-icon-button--subtle:focus-visible{outline-color:var(--bs-icon-button-subtle-focus);background:var(--bs-icon-button-subtle-hover)}.bs-icon-button--outlined{background:transparent;color:var(--bs-color-primary-default);border:1px solid var(--bs-icon-button-outlined-border)}.bs-icon-button--outlined:hover:not(:disabled){background:var(--bs-icon-button-outlined-container);border-color:var(--bs-icon-button-outlined-border-hover);color:var(--bs-icon-button-outlined-text-hover)}.bs-icon-button--outlined:active:not(:disabled){background:var(--bs-icon-button-outlined-container);color:var(--bs-icon-button-outlined-text-hover);border-color:var(--bs-icon-button-outlined-border-pressed)}.bs-icon-button--outlined:disabled{opacity:var(--bs-opacity-disabled);cursor:not-allowed}.bs-icon-button--outlined:focus-visible{outline-color:var(--bs-icon-button-outlined-focus)}`;
6
6
 
7
7
  const BsIconButton = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
+ if (hostRef.$hostElement$["s-ei"]) {
11
+ this.internals = hostRef.$hostElement$["s-ei"];
12
+ }
13
+ else {
14
+ this.internals = hostRef.$hostElement$.attachInternals();
15
+ hostRef.$hostElement$["s-ei"] = this.internals;
16
+ }
10
17
  }
11
18
  get el() { return index.getElement(this); }
19
+ internals;
12
20
  /**
13
21
  * Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.
14
22
  * `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
@@ -22,7 +30,8 @@ const BsIconButton = class {
22
30
  size = 'md';
23
31
  /** Disables the button and applies the disabled token set. */
24
32
  disabled = false;
25
- /** Native `<button>` type. */
33
+ /** Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation
34
+ * runs); `reset` resets it; `button` (default) does nothing on its own. */
26
35
  type = 'button';
27
36
  /**
28
37
  * Accessible name for the button. Required -- this component is always icon-only, so there's
@@ -30,10 +39,20 @@ const BsIconButton = class {
30
39
  * prop to the `aria-label` HTML attribute automatically.
31
40
  */
32
41
  ariaLabel = null;
42
+ onClick = () => {
43
+ const form = this.internals?.form;
44
+ if (!form || this.disabled)
45
+ return;
46
+ if (this.type === 'submit')
47
+ form.requestSubmit();
48
+ else if (this.type === 'reset')
49
+ form.reset();
50
+ };
33
51
  render() {
34
- return (index.h("button", { key: '86ddd0f1ff23372e205035ac1273a6b90a779855', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel }, index.h("span", { key: 'f45944557ce068283c394e6a48fbc0f56087fbd9', part: "icon", class: "bs-icon-button__icon" }, index.h("slot", { key: 'ed067830c7f465099edbf40401b0e3ec6fb1e1c9' }))));
52
+ return (index.h("button", { key: '1d0525e3ad0b90e723cab2c9cd0217046a905a5e', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, index.h("span", { key: '1c94ad4a861dde9e4942f6795a2a868161c0b4a1', part: "icon", class: "bs-icon-button__icon" }, index.h("slot", { key: '9cd3a6aa2d9cbfebaa1d0e70fc10448af4ef4429' }))));
35
53
  }
36
54
  static get delegatesFocus() { return true; }
55
+ static get formAssociated() { return true; }
37
56
  };
38
57
  BsIconButton.style = bsIconButtonCss();
39
58
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D7e6DfLV.js');
3
+ var index = require('./index-kk9YXF2S.js');
4
4
 
5
- const bsInlineTabCss = () => `:host{display:inline-block;--bs-inline-tab-radius:var(--bs-border-radius-full);--bs-inline-tab-padding-y:var(--bs-spacing-100);--bs-inline-tab-padding-x:var(--bs-spacing-200);--bs-inline-tab-padding-left-with-icon:var(--bs-spacing-150);--bs-inline-tab-padding-right-with-icon:var(--bs-spacing-200);--bs-inline-tab-gap:var(--bs-spacing-50);--bs-inline-tab-bg-default:var(--bs-color-neutral-container);--bs-inline-tab-color-default:var(--bs-text-secondary);--bs-inline-tab-bg-hover:var(--bs-color-neutral-container-hover);--bs-inline-tab-color-hover:var(--bs-text-default);--bs-inline-tab-bg-focus:var(--bs-color-neutral-container-focused);--bs-inline-tab-bg-pressed:var(--bs-color-neutral-container-pressed);--bs-inline-tab-focus-ring-color:var(--bs-border-neutral-focus);--bs-inline-tab-bg-disabled:var(--bs-surface-action-disabled);--bs-inline-tab-color-disabled:var(--bs-text-on-disabled);--bs-inline-tab-bg-selected:var(--bs-color-primary-default);--bs-inline-tab-color-selected:var(--bs-text-on-action);--bs-inline-tab-bg-selected-hover:var(--bs-color-primary-hover);--bs-inline-tab-bg-selected-focus:var(--bs-color-primary-focused);--bs-inline-tab-bg-selected-pressed:var(--bs-color-primary-pressed);--bs-inline-tab-font-size:var(--bs-font-size-sm);--bs-inline-tab-font-weight:var(--bs-font-weight-semibold);--bs-inline-tab-line-height:var(--bs-line-height-body-sm)}.bs-inline-tab{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:inherit;border-radius:var(--bs-inline-tab-radius);padding:var(--bs-inline-tab-padding-y) var(--bs-inline-tab-padding-x);background:var(--bs-inline-tab-bg-default);color:var(--bs-inline-tab-color-default);transition:color var(--bs-duration-fast) var(--bs-easing-standard), background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-inline-tab--has-icon{padding-top:var(--bs-inline-tab-padding-y);padding-bottom:var(--bs-inline-tab-padding-y);padding-left:var(--bs-inline-tab-padding-left-with-icon);padding-right:var(--bs-inline-tab-padding-right-with-icon);gap:var(--bs-inline-tab-gap)}.bs-inline-tab:focus-visible{outline:2px solid var(--bs-inline-tab-focus-ring-color);outline-offset:2px}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):hover{background:var(--bs-inline-tab-bg-hover);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):focus-visible{background:var(--bs-inline-tab-bg-focus);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):active{background:var(--bs-inline-tab-bg-pressed);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab--selected{background:var(--bs-inline-tab-bg-selected);color:var(--bs-inline-tab-color-selected)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):hover{background:var(--bs-inline-tab-bg-selected-hover)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):focus-visible{background:var(--bs-inline-tab-bg-selected-focus)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):active{background:var(--bs-inline-tab-bg-selected-pressed)}.bs-inline-tab--disabled{background:var(--bs-inline-tab-bg-disabled);color:var(--bs-inline-tab-color-disabled);cursor:not-allowed}.bs-inline-tab__icon{display:none;width:24px;height:24px;flex-shrink:0;color:inherit}.bs-inline-tab__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-inline-tab__icon ::slotted(svg){width:24px;height:24px}.bs-inline-tab__label{display:none;font-size:var(--bs-inline-tab-font-size);font-weight:var(--bs-inline-tab-font-weight);line-height:calc(var(--bs-inline-tab-line-height) * 1px);white-space:nowrap}.bs-inline-tab__label--has-content{display:inline-block}`;
5
+ const bsInlineTabCss = () => `:host{display:inline-block;--bs-inline-tab-radius:var(--bs-border-radius-full);--bs-inline-tab-padding-y:var(--bs-spacing-100);--bs-inline-tab-padding-x:var(--bs-spacing-200);--bs-inline-tab-padding-left-with-icon:var(--bs-spacing-150);--bs-inline-tab-padding-right-with-icon:var(--bs-spacing-200);--bs-inline-tab-gap:var(--bs-spacing-50);--bs-inline-tab-bg-default:var(--bs-color-neutral-container);--bs-inline-tab-color-default:var(--bs-text-secondary);--bs-inline-tab-bg-hover:var(--bs-color-neutral-container-hover);--bs-inline-tab-color-hover:var(--bs-text-default);--bs-inline-tab-bg-focus:var(--bs-color-neutral-container-focused);--bs-inline-tab-bg-pressed:var(--bs-color-neutral-container-pressed);--bs-inline-tab-focus-ring-color:var(--bs-border-neutral-focus);--bs-inline-tab-bg-disabled:var(--bs-surface-action-disabled);--bs-inline-tab-color-disabled:var(--bs-text-on-disabled);--bs-inline-tab-bg-selected:var(--bs-color-primary-default);--bs-inline-tab-color-selected:var(--bs-text-on-action);--bs-inline-tab-bg-selected-hover:var(--bs-color-primary-hover);--bs-inline-tab-bg-selected-focus:var(--bs-color-primary-focused);--bs-inline-tab-bg-selected-pressed:var(--bs-color-primary-pressed);--bs-inline-tab-font-size:var(--bs-font-size-sm);--bs-inline-tab-font-weight:var(--bs-font-weight-semibold);--bs-inline-tab-line-height:var(--bs-line-height-body-sm)}.bs-inline-tab{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:inherit;border-radius:var(--bs-inline-tab-radius);padding:var(--bs-inline-tab-padding-y) var(--bs-inline-tab-padding-x);background:var(--bs-inline-tab-bg-default);color:var(--bs-inline-tab-color-default);transition:color var(--bs-duration-fast) var(--bs-easing-standard), background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-inline-tab--has-icon{padding-top:var(--bs-inline-tab-padding-y);padding-bottom:var(--bs-inline-tab-padding-y);padding-inline-start:var(--bs-inline-tab-padding-left-with-icon);padding-inline-end:var(--bs-inline-tab-padding-right-with-icon);gap:var(--bs-inline-tab-gap)}.bs-inline-tab:focus-visible{outline:2px solid var(--bs-inline-tab-focus-ring-color);outline-offset:2px}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):hover{background:var(--bs-inline-tab-bg-hover);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):focus-visible{background:var(--bs-inline-tab-bg-focus);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab:not(.bs-inline-tab--selected):not(.bs-inline-tab--disabled):active{background:var(--bs-inline-tab-bg-pressed);color:var(--bs-inline-tab-color-hover)}.bs-inline-tab--selected{background:var(--bs-inline-tab-bg-selected);color:var(--bs-inline-tab-color-selected)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):hover{background:var(--bs-inline-tab-bg-selected-hover)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):focus-visible{background:var(--bs-inline-tab-bg-selected-focus)}.bs-inline-tab--selected:not(.bs-inline-tab--disabled):active{background:var(--bs-inline-tab-bg-selected-pressed)}.bs-inline-tab--disabled{background:var(--bs-inline-tab-bg-disabled);color:var(--bs-inline-tab-color-disabled);cursor:not-allowed}.bs-inline-tab__icon{display:none;width:24px;height:24px;flex-shrink:0;color:inherit}.bs-inline-tab__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-inline-tab__icon ::slotted(svg){width:24px;height:24px}.bs-inline-tab__label{display:none;font-size:var(--bs-inline-tab-font-size);font-weight:var(--bs-inline-tab-font-weight);line-height:calc(var(--bs-inline-tab-line-height) * 1px);white-space:nowrap}.bs-inline-tab__label--has-content{display:inline-block}`;
6
6
 
7
7
  const BsInlineTab = class {
8
8
  constructor(hostRef) {
@@ -23,6 +23,10 @@ const BsInlineTab = class {
23
23
  * violation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute
24
24
  * automatically, same as `bs-tab`'s identical prop. */
25
25
  ariaLabel = null;
26
+ /** Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the
27
+ * Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays
28
+ * a normal tab stop. */
29
+ tabbable;
26
30
  /** Tracks whether the `icon` slot has assigned content. */
27
31
  hasIcon = false;
28
32
  /** Tracks whether the default (label) slot has assigned content. */
@@ -61,7 +65,7 @@ const BsInlineTab = class {
61
65
  };
62
66
  render() {
63
67
  const iconOnly = this.hasIcon && !this.hasLabel;
64
- return (index.h("button", { key: 'fd90e4759427dccc1457496dc1f8d155643597db', type: "button", part: "tab", role: "tab", class: `bs-inline-tab ${this.selected ? 'bs-inline-tab--selected' : ''} ${this.disabled ? 'bs-inline-tab--disabled' : ''} ${iconOnly ? 'bs-inline-tab--icon-only' : ''} ${this.hasIcon ? 'bs-inline-tab--has-icon' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, onClick: this.onClick }, index.h("span", { key: 'c89be07dc694dd6e12401d9d047cc156f80129a9', part: "icon", class: `bs-inline-tab__icon ${this.hasIcon ? 'bs-inline-tab__icon--has-content' : ''}` }, index.h("slot", { key: '4a2e0f0d3a732b8e78778d50c3a4d800f55e8ed9', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '4d7ea29c763bdfb3dc3ffda9f4227f558fab392a', part: "label", class: `bs-inline-tab__label ${this.hasLabel ? 'bs-inline-tab__label--has-content' : ''}` }, index.h("slot", { key: 'c8670f670fc4138c062a433c6037bd7bc7b0e0bc', onSlotchange: this.onLabelSlotchange }))));
68
+ return (index.h("button", { key: '72a2298b0dff31e192dc679ee153d1d87e6a8723', type: "button", part: "tab", role: "tab", class: `bs-inline-tab ${this.selected ? 'bs-inline-tab--selected' : ''} ${this.disabled ? 'bs-inline-tab--disabled' : ''} ${iconOnly ? 'bs-inline-tab--icon-only' : ''} ${this.hasIcon ? 'bs-inline-tab--has-icon' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, tabIndex: this.tabbable === undefined ? undefined : this.tabbable ? 0 : -1, onClick: this.onClick }, index.h("span", { key: '25679b5cfc3bfec29f91b12f6180048429706b86', part: "icon", class: `bs-inline-tab__icon ${this.hasIcon ? 'bs-inline-tab__icon--has-content' : ''}` }, index.h("slot", { key: 'f5c996ae38a4e5ace60c8b1145dfb64114097600', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '101ac663fa1b05e3f4f2faaaff865e02ecbd4e90', part: "label", class: `bs-inline-tab__label ${this.hasLabel ? 'bs-inline-tab__label--has-content' : ''}` }, index.h("slot", { key: 'a705183b26ad7d7ad3e286939b256cfbafb78580', onSlotchange: this.onLabelSlotchange }))));
65
69
  }
66
70
  };
67
71
  BsInlineTab.style = bsInlineTabCss();