@brandsync/wc 1.8.0 → 1.10.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 (280) hide show
  1. package/custom-elements.json +4493 -3458
  2. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  3. package/dist/brandsync-wc/{p-c4de155c.entry.js → p-0132a2d1.entry.js} +1 -1
  4. package/dist/brandsync-wc/{p-051d3064.entry.js → p-041776c0.entry.js} +1 -1
  5. package/dist/brandsync-wc/{p-a09e157f.entry.js → p-08c99a60.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-70f64b25.entry.js → p-18c3c22c.entry.js} +1 -1
  7. package/dist/brandsync-wc/p-1c3a43c7.entry.js +1 -0
  8. package/dist/brandsync-wc/{p-fddc7bd1.entry.js → p-1c427ffb.entry.js} +1 -1
  9. package/dist/brandsync-wc/p-2181378f.entry.js +1 -0
  10. package/dist/brandsync-wc/{p-29027559.entry.js → p-2e958566.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-235ae012.entry.js → p-301b2455.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-8ee0153b.entry.js → p-32cd69f1.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-4f2c4929.entry.js +1 -0
  14. package/dist/brandsync-wc/{p-a0d5a620.entry.js → p-50a251a4.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-0e39b9cc.entry.js → p-5f3cd501.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-701ebf4a.entry.js +1 -0
  17. package/dist/brandsync-wc/p-763876f5.entry.js +1 -0
  18. package/dist/brandsync-wc/{p-f7d47c17.entry.js → p-76e1c295.entry.js} +1 -1
  19. package/dist/brandsync-wc/p-790db8b3.entry.js +1 -0
  20. package/dist/brandsync-wc/{p-4e5dcaff.entry.js → p-796a1860.entry.js} +1 -1
  21. package/dist/brandsync-wc/p-806a5347.entry.js +1 -0
  22. package/dist/brandsync-wc/{p-6331de9c.entry.js → p-8eba7f90.entry.js} +1 -1
  23. package/dist/brandsync-wc/p-96ed9386.entry.js +1 -0
  24. package/dist/brandsync-wc/{p-cfcf3f0a.entry.js → p-9e88f19c.entry.js} +1 -1
  25. package/dist/brandsync-wc/p-9f6fe37d.entry.js +1 -0
  26. package/dist/brandsync-wc/{p-de7c946d.entry.js → p-a71d2811.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-33e44094.entry.js → p-a8e2a829.entry.js} +1 -1
  28. package/dist/brandsync-wc/p-addfa0a0.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-4574a707.entry.js → p-af2bf957.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-6bf2f116.entry.js → p-b2074a32.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-03b08508.entry.js → p-c3f72584.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-7c94e6ae.entry.js → p-c99b6a66.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-2891d40b.entry.js → p-c9a72416.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-9f65f998.entry.js → p-d3f44cb7.entry.js} +1 -1
  35. package/dist/brandsync-wc/p-d42b1c2b.entry.js +1 -0
  36. package/dist/brandsync-wc/{p-3ec74d35.entry.js → p-daab6b22.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-ee7da23d.entry.js → p-dbcbe682.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-3176d1d3.entry.js → p-e8a5b8eb.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-062cfa34.entry.js → p-ea4e20ef.entry.js} +1 -1
  40. package/dist/brandsync-wc/p-f370b8fa.entry.js +1 -0
  41. package/dist/brandsync-wc/{p-05c7de28.entry.js → p-f89de457.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-114d2fd8.entry.js → p-fd254972.entry.js} +1 -1
  43. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  44. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  45. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  46. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  47. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  48. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +13 -1
  49. package/dist/cjs/bs-breadcrumb.cjs.entry.js +15 -1
  50. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  51. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  52. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  53. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  54. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  55. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  56. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  57. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  58. package/dist/cjs/bs-data-table.cjs.entry.js +18 -4
  59. package/dist/cjs/bs-datepicker.cjs.entry.js +410 -0
  60. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  61. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  62. package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
  63. package/dist/cjs/bs-inline-tab.cjs.entry.js +5 -1
  64. package/dist/cjs/{bs-input.cjs.entry.js → bs-input_2.cjs.entry.js} +37 -4
  65. package/dist/cjs/bs-menu.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +118 -5
  68. package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
  69. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  70. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  71. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  72. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  73. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  76. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  77. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  78. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  79. package/dist/cjs/bs-tab.cjs.entry.js +5 -1
  80. package/dist/cjs/bs-tabs.cjs.entry.js +47 -2
  81. package/dist/cjs/bs-timepicker.cjs.entry.js +209 -0
  82. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  83. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/collection/collection-manifest.json +2 -0
  86. package/dist/collection/components/bs-a11y.cmp.test.js +4 -0
  87. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  88. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  89. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  90. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  91. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +63 -0
  92. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +32 -1
  93. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +45 -0
  94. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +30 -1
  95. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  96. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +20 -0
  97. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +21 -4
  98. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +3 -2
  99. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +10 -0
  100. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  101. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  102. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  103. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  104. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  105. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  106. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  107. package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +19 -0
  108. package/dist/collection/components/bs-data-table/bs-data-table.js +19 -5
  109. package/dist/collection/components/bs-data-table/bs-data-table.stories.js +8 -1
  110. package/dist/collection/components/bs-datepicker/bs-datepicker.cmp.test.js +182 -0
  111. package/dist/collection/components/bs-datepicker/bs-datepicker.css +315 -0
  112. package/dist/collection/components/bs-datepicker/bs-datepicker.js +782 -0
  113. package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +63 -0
  114. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  115. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  116. package/dist/collection/components/bs-input/bs-input.js +7 -4
  117. package/dist/collection/components/bs-logo/bs-logo.cmp.test.js +52 -3
  118. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  119. package/dist/collection/components/bs-menu/bs-menu.stories.js +54 -0
  120. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  121. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  122. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  123. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  124. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  125. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  126. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  127. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  128. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  129. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  130. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  131. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +24 -1
  132. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +24 -1
  133. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +88 -0
  134. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +83 -2
  135. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +24 -0
  136. package/dist/collection/components/bs-timepicker/bs-timepicker.cmp.test.js +141 -0
  137. package/dist/collection/components/bs-timepicker/bs-timepicker.css +200 -0
  138. package/dist/collection/components/bs-timepicker/bs-timepicker.js +509 -0
  139. package/dist/collection/components/bs-timepicker/bs-timepicker.stories.js +44 -0
  140. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  141. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  142. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +173 -5
  143. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +106 -34
  144. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +181 -5
  145. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +48 -0
  146. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  147. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +68 -0
  148. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +31 -17
  149. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  150. package/dist/components/bs-ai-disclaimer.js +1 -1
  151. package/dist/components/bs-ai-greeting.js +1 -1
  152. package/dist/components/bs-ai-thinking.js +1 -1
  153. package/dist/components/bs-attachment-list.js +1 -1
  154. package/dist/components/bs-attachment.js +1 -1
  155. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  156. package/dist/components/bs-breadcrumb.js +1 -1
  157. package/dist/components/bs-breadcrumbs.js +1 -1
  158. package/dist/components/bs-button-skeleton.js +1 -1
  159. package/dist/components/bs-carousel.js +1 -1
  160. package/dist/components/bs-chatbot-feedback.js +1 -1
  161. package/dist/components/bs-chatbot-header.js +1 -1
  162. package/dist/components/bs-chatbot-response-action.js +1 -1
  163. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  164. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  165. package/dist/components/bs-checkbox-skeleton.js +1 -1
  166. package/dist/components/bs-data-table.js +1 -1
  167. package/dist/components/bs-datepicker.d.ts +11 -0
  168. package/dist/components/bs-datepicker.js +1 -0
  169. package/dist/components/bs-dialog.js +1 -1
  170. package/dist/components/bs-file-upload-item.js +1 -1
  171. package/dist/components/bs-file-upload.js +1 -1
  172. package/dist/components/bs-icon-button.js +1 -1
  173. package/dist/components/bs-inline-tab.js +1 -1
  174. package/dist/components/bs-input.js +1 -1
  175. package/dist/components/bs-menu-item.js +1 -1
  176. package/dist/components/bs-menu.js +1 -1
  177. package/dist/components/bs-navigation-drawer-item.js +1 -1
  178. package/dist/components/bs-navigation-drawer.js +1 -1
  179. package/dist/components/bs-navigation-header.js +1 -1
  180. package/dist/components/bs-pagination.js +1 -1
  181. package/dist/components/bs-progress-linear.js +1 -1
  182. package/dist/components/bs-progress.js +1 -1
  183. package/dist/components/bs-radio.js +1 -1
  184. package/dist/components/bs-slider.js +1 -1
  185. package/dist/components/bs-snackbar.js +1 -1
  186. package/dist/components/bs-source-link.js +1 -1
  187. package/dist/components/bs-stepper-step.js +1 -1
  188. package/dist/components/bs-stepper.js +1 -1
  189. package/dist/components/bs-switch.js +1 -1
  190. package/dist/components/bs-tab.js +1 -1
  191. package/dist/components/bs-tabs.js +1 -1
  192. package/dist/components/bs-timepicker.d.ts +11 -0
  193. package/dist/components/bs-timepicker.js +1 -0
  194. package/dist/components/bs-toast.js +1 -1
  195. package/dist/components/bs-tooltip.js +1 -1
  196. package/dist/components/{p-BA3c9Rom.js → p-B7Icv1ho.js} +1 -1
  197. package/dist/components/{p-wei0Ija2.js → p-BTvme8CE.js} +1 -1
  198. package/dist/components/p-BYR_ZC8v.js +1 -0
  199. package/dist/components/p-Ba860ej1.js +1 -0
  200. package/dist/components/p-CPvqZNO8.js +1 -0
  201. package/dist/components/{p-EtXc94lJ.js → p-DkIVyFOP.js} +1 -1
  202. package/dist/components/{p-BfEyD6Ku.js → p-ZK8p5zax.js} +1 -1
  203. package/dist/components/p-jDO25SfF.js +1 -0
  204. package/dist/esm/brandsync-wc.js +1 -1
  205. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  206. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  207. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  208. package/dist/esm/bs-attachment-list.entry.js +1 -1
  209. package/dist/esm/bs-breadcrumb-overflow.entry.js +14 -2
  210. package/dist/esm/bs-breadcrumb.entry.js +16 -2
  211. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  212. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  213. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  214. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  215. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  216. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  217. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  218. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  219. package/dist/esm/bs-data-table.entry.js +18 -4
  220. package/dist/esm/bs-datepicker.entry.js +408 -0
  221. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  222. package/dist/esm/bs-file-upload.entry.js +1 -1
  223. package/dist/esm/bs-icon-button.entry.js +2 -2
  224. package/dist/esm/bs-inline-tab.entry.js +5 -1
  225. package/dist/esm/{bs-input.entry.js → bs-input_2.entry.js} +37 -5
  226. package/dist/esm/bs-menu.entry.js +1 -1
  227. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  228. package/dist/esm/bs-navigation-drawer.entry.js +119 -6
  229. package/dist/esm/bs-navigation-header.entry.js +2 -2
  230. package/dist/esm/bs-pagination.entry.js +1 -1
  231. package/dist/esm/bs-progress-linear.entry.js +2 -2
  232. package/dist/esm/bs-progress.entry.js +2 -2
  233. package/dist/esm/bs-radio.entry.js +1 -1
  234. package/dist/esm/bs-slider.entry.js +1 -1
  235. package/dist/esm/bs-snackbar.entry.js +1 -1
  236. package/dist/esm/bs-source-link.entry.js +2 -2
  237. package/dist/esm/bs-stepper-step.entry.js +1 -1
  238. package/dist/esm/bs-stepper.entry.js +1 -1
  239. package/dist/esm/bs-switch.entry.js +1 -1
  240. package/dist/esm/bs-tab.entry.js +5 -1
  241. package/dist/esm/bs-tabs.entry.js +48 -3
  242. package/dist/esm/bs-timepicker.entry.js +207 -0
  243. package/dist/esm/bs-toast.entry.js +1 -1
  244. package/dist/esm/bs-tooltip.entry.js +1 -1
  245. package/dist/esm/loader.js +1 -1
  246. package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +10 -0
  247. package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +8 -0
  248. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +2 -1
  249. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.stories.d.ts +1 -0
  250. package/dist/types/components/bs-data-table/bs-data-table.d.ts +16 -2
  251. package/dist/types/components/bs-datepicker/bs-datepicker.cmp.test.d.ts +1 -0
  252. package/dist/types/components/bs-datepicker/bs-datepicker.d.ts +136 -0
  253. package/dist/types/components/bs-datepicker/bs-datepicker.stories.d.ts +20 -0
  254. package/dist/types/components/bs-menu/bs-menu.stories.d.ts +1 -0
  255. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +4 -0
  256. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +4 -0
  257. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +17 -0
  258. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.stories.d.ts +1 -0
  259. package/dist/types/components/bs-timepicker/bs-timepicker.cmp.test.d.ts +1 -0
  260. package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +101 -0
  261. package/dist/types/components/bs-timepicker/bs-timepicker.stories.d.ts +14 -0
  262. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +50 -1
  263. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +2 -0
  264. package/dist/types/components.d.ts +645 -2
  265. package/package.json +1 -1
  266. package/dist/brandsync-wc/p-002d258d.entry.js +0 -1
  267. package/dist/brandsync-wc/p-153da845.entry.js +0 -1
  268. package/dist/brandsync-wc/p-2e7a1082.entry.js +0 -1
  269. package/dist/brandsync-wc/p-612cf79c.entry.js +0 -1
  270. package/dist/brandsync-wc/p-652d4068.entry.js +0 -1
  271. package/dist/brandsync-wc/p-7b00dd36.entry.js +0 -1
  272. package/dist/brandsync-wc/p-ae978c9a.entry.js +0 -1
  273. package/dist/brandsync-wc/p-bc69a96c.entry.js +0 -1
  274. package/dist/brandsync-wc/p-bf53ad52.entry.js +0 -1
  275. package/dist/brandsync-wc/p-c10d2529.entry.js +0 -1
  276. package/dist/brandsync-wc/p-c7f4c114.entry.js +0 -1
  277. package/dist/cjs/bs-menu-item.cjs.entry.js +0 -34
  278. package/dist/components/p-BkHYJIyj.js +0 -1
  279. package/dist/components/p-Buly0d5G.js +0 -1
  280. package/dist/esm/bs-menu-item.entry.js +0 -32
@@ -24,6 +24,7 @@ import { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-inpu
24
24
  import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
25
25
  import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
26
26
  import { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
27
+ import { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
27
28
  import { BsDialogSize } from "./components/bs-dialog/bs-dialog";
28
29
  import { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
29
30
  import { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
@@ -39,6 +40,7 @@ import { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState }
39
40
  import { BsSwitchSize } from "./components/bs-switch/bs-switch";
40
41
  import { BsTabIconPosition } from "./components/bs-tab/bs-tab/bs-tab";
41
42
  import { BsTabsOrientation, BsTabsType } from "./components/bs-tab/bs-tabs/bs-tabs";
43
+ import { BsTimepickerChange } from "./components/bs-timepicker/bs-timepicker";
42
44
  import { BsToastState } from "./components/bs-toast/bs-toast";
43
45
  export { BsAccordionSize } from "./components/bs-accordion/bs-accordion";
44
46
  export { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
@@ -59,6 +61,7 @@ export { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-inpu
59
61
  export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
60
62
  export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
61
63
  export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
64
+ export { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
62
65
  export { BsDialogSize } from "./components/bs-dialog/bs-dialog";
63
66
  export { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
64
67
  export { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
@@ -74,6 +77,7 @@ export { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState }
74
77
  export { BsSwitchSize } from "./components/bs-switch/bs-switch";
75
78
  export { BsTabIconPosition } from "./components/bs-tab/bs-tab/bs-tab";
76
79
  export { BsTabsOrientation, BsTabsType } from "./components/bs-tab/bs-tabs/bs-tabs";
80
+ export { BsTimepickerChange } from "./components/bs-timepicker/bs-timepicker";
77
81
  export { BsToastState } from "./components/bs-toast/bs-toast";
78
82
  export namespace Components {
79
83
  /**
@@ -1187,7 +1191,7 @@ export namespace Components {
1187
1191
  */
1188
1192
  interface BsDataTable {
1189
1193
  /**
1190
- * Optional custom cell renderer, e.g. for an actions column. Function props are JS-property-only, same as array props -- there is no attribute equivalent. Falls back to the raw cell value.
1194
+ * Optional custom cell renderer, for rich cells such as a status badge, a link or an actions column. It returns an **HTML string** that is inserted into the cell as real markup (`innerHTML`), so links, buttons, `<img>` and other web components (e.g. `<bs-badge>`) all render. **When set it renders every cell, not just the special ones** -- return the plain value for ordinary columns too. And **the returned string is not escaped or sanitized** (same trust model as React's `dangerouslySetInnerHTML`): escape any untrusted row data you put in it, plain columns included, or it will be interpreted as HTML. Without a `cellRenderer`, values are rendered as escaped text. The markup is static HTML -- attach behavior yourself, e.g. one `click` listener on the table that reads `event.composedPath()[0]` (events from inside the shadow root are retargeted to the table itself). Function props are JS-property-only, same as array props -- there is no attribute equivalent. Falls back to the raw cell value (as escaped text) when unset.
1191
1195
  */
1192
1196
  "cellRenderer"?: (row: BsDataTableRow, column: BsDataTableColumn) => string;
1193
1197
  /**
@@ -1214,6 +1218,99 @@ export namespace Components {
1214
1218
  */
1215
1219
  "sortDirection": 'asc' | 'desc';
1216
1220
  }
1221
+ /**
1222
+ * An inline calendar for picking a single date, or a start/end date range. Matches the Figma
1223
+ * "Date picker" component's two types: "Default" (month and year dropdowns above the grid) and
1224
+ * "Range" (start and end date fields above the grid, with the days between highlighted).
1225
+ * Dates are always `YYYY-MM-DD` strings, interpreted in the user's local time zone -- never full
1226
+ * ISO timestamps -- so a date can't shift by a day across time zones.
1227
+ * The calendar renders inline at a fixed width; to show it as a popover, put it inside a
1228
+ * `bs-menu` or your own overlay.
1229
+ * ## When to use
1230
+ * - Picking a date where seeing the surrounding days of the week/month helps (a booking, a
1231
+ * deadline, a report window).
1232
+ * - Picking a period (`range`) such as a start and end date.
1233
+ * ## When not to use
1234
+ * - A date the user knows by heart and can type quickly (a birth date) -- `bs-input type="date"`
1235
+ * is faster there.
1236
+ * ## Keyboard
1237
+ * Arrow keys move by day/week, Home/End jump to the start/end of the week, PageUp/PageDown move by
1238
+ * month (with Shift, by year), Enter/Space select the focused day.
1239
+ */
1240
+ interface BsDatepicker {
1241
+ /**
1242
+ * The range end (`YYYY-MM-DD`) in `range` mode.
1243
+ * @default ''
1244
+ */
1245
+ "end": string;
1246
+ /**
1247
+ * Label above the end field in `range` mode.
1248
+ * @default 'End date'
1249
+ */
1250
+ "endLabel": string;
1251
+ /**
1252
+ * First column of the grid: `0` for Sunday (the Figma spec), `1` for Monday, ... `6`.
1253
+ * @default 0
1254
+ */
1255
+ "firstDayOfWeek": number;
1256
+ /**
1257
+ * BCP 47 locale used for month names, weekday names and the title.
1258
+ * @default 'en-GB'
1259
+ */
1260
+ "locale": string;
1261
+ /**
1262
+ * Latest selectable date (`YYYY-MM-DD`). Later days render disabled.
1263
+ */
1264
+ "max"?: string;
1265
+ /**
1266
+ * Earliest selectable date (`YYYY-MM-DD`). Earlier days render disabled.
1267
+ */
1268
+ "min"?: string;
1269
+ /**
1270
+ * Accessible name for the month dropdown (single mode).
1271
+ * @default 'Month'
1272
+ */
1273
+ "monthLabel": string;
1274
+ /**
1275
+ * The `name` the value is submitted under in a surrounding `<form>`. In `range` mode the dates are submitted as `<name>-start` and `<name>-end`.
1276
+ */
1277
+ "name"?: string;
1278
+ /**
1279
+ * Accessible name for the next-month button.
1280
+ * @default 'Next month'
1281
+ */
1282
+ "nextLabel": string;
1283
+ /**
1284
+ * Accessible name for the previous-month button.
1285
+ * @default 'Previous month'
1286
+ */
1287
+ "previousLabel": string;
1288
+ /**
1289
+ * Select a start/end range instead of a single date.
1290
+ * @default false
1291
+ */
1292
+ "range": boolean;
1293
+ /**
1294
+ * The range start (`YYYY-MM-DD`) in `range` mode.
1295
+ * @default ''
1296
+ */
1297
+ "start": string;
1298
+ /**
1299
+ * Label above the start field in `range` mode.
1300
+ * @default 'Start date'
1301
+ */
1302
+ "startLabel": string;
1303
+ /**
1304
+ * The selected date (`YYYY-MM-DD`) in single mode. Mutable so a click updates it directly; `bsChange` still fires for the consumer to react. Ignored when `range` is set.
1305
+ * @default ''
1306
+ */
1307
+ "value": string;
1308
+ /**
1309
+ * Accessible name for the year dropdown (single mode).
1310
+ * @default 'Year'
1311
+ */
1312
+ "yearLabel": string;
1313
+ }
1217
1314
  /**
1218
1315
  * An overlay dialog that interrupts the current flow for a focused task or confirmation.
1219
1316
  * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
@@ -1440,6 +1537,10 @@ export namespace Components {
1440
1537
  * Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays a normal tab stop.
1441
1538
  */
1442
1539
  "tabbable"?: boolean;
1540
+ /**
1541
+ * Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its zero-based position in the group (`"0"`, `"1"`...).
1542
+ */
1543
+ "value"?: string;
1443
1544
  }
1444
1545
  /**
1445
1546
  * A single-line text field with an optional label, description, and error state. Also covers a
@@ -1680,6 +1781,13 @@ export namespace Components {
1680
1781
  * reuses the identical left-pointing "CaretLeft" asset unchanged, confirmed by directly inspecting
1681
1782
  * that state, so this deliberately does not add the same "flip on toggle" idiom the drawer item's
1682
1783
  * own disclosure chevron does (that one really is an unconfirmed addition; this one was checked).
1784
+ * **Small screens (768px and below)** switch to an off-canvas overlay instead of a permanent rail:
1785
+ * the drawer is hidden until `open` is set, then slides in over the page with a backdrop, fully
1786
+ * expanded (labels visible, nested items reachable). Escape or a click on the backdrop closes it and
1787
+ * emits `bsClose`; focus moves into it on open and back to whatever opened it on close. The
1788
+ * collapse toggle and the compact search trigger are not shown in this mode (nothing sits behind
1789
+ * them). The drawer has no trigger of its own -- put a button in your header and set `open` from it.
1790
+ * On wider screens `open` is ignored and nothing changes.
1683
1791
  */
1684
1792
  interface BsNavigationDrawer {
1685
1793
  /**
@@ -1702,6 +1810,11 @@ export namespace Components {
1702
1810
  * @default 'auto'
1703
1811
  */
1704
1812
  "logoBackground": 'auto' | 'light' | 'dark';
1813
+ /**
1814
+ * Small screens only (768px and below): whether the off-canvas overlay is shown. Mutable and reflected -- the drawer sets it back to `false` itself when the user dismisses it (Escape or the backdrop), and emits `bsClose`. Ignored on wider screens, where the drawer is always in the page flow. There is no built-in trigger: set this from your own button.
1815
+ * @default false
1816
+ */
1817
+ "open": boolean;
1705
1818
  /**
1706
1819
  * Whether to render the BrandSync logo at all. Defaults to `true`. This drawer is normally the one that owns the logo when paired with a `bs-navigation-header` (that header's own `with-navigation-drawer` alignment omits its logo for exactly this reason) -- but the reverse pairing works too: a header that keeps its own logo (`alignment="default"`) paired with this drawer set to `showLogo={false}`, so the brand mark only ever appears once.
1707
1820
  * @default true
@@ -2310,6 +2423,10 @@ export namespace Components {
2310
2423
  * Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays a normal tab stop.
2311
2424
  */
2312
2425
  "tabbable"?: boolean;
2426
+ /**
2427
+ * Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its zero-based position in the group (`"0"`, `"1"`...).
2428
+ */
2429
+ "value"?: string;
2313
2430
  }
2314
2431
  /**
2315
2432
  * A tab-group wrapper: owns `role="tablist"` and coordinates selection across its slotted
@@ -2339,6 +2456,83 @@ export namespace Components {
2339
2456
  * @default 'bs-tab'
2340
2457
  */
2341
2458
  "type": BsTabsType;
2459
+ /**
2460
+ * The selected tab's `value`. Mutable and reflected: it follows the user's selection, and setting it from outside (attribute or property) selects the matching tab -- without emitting `bsChange`, which only fires for user-driven changes. A tab's value is its own `value` prop, or, for a tab without one, its zero-based position in the group as a string (`"0"`, `"1"`...). If unset, it is read from whichever tab is already `selected` once the group loads.
2461
+ */
2462
+ "value"?: string;
2463
+ }
2464
+ /**
2465
+ * An inline time picker: hour and minute spinners (up/down carets, or the arrow keys on the value),
2466
+ * an AM/PM dropdown in 12-hour mode, a 24h switch, and Cancel/Confirm buttons. Matches the Figma
2467
+ * "Time picker" component's two formats (12h with AM/PM, and 24h).
2468
+ * The picker works on a draft: nothing is committed until the user presses Confirm, which updates
2469
+ * `value` and fires `bsChange`. Cancel discards the draft and fires `bsCancel`.
2470
+ * `value` is always 24-hour `HH:mm` (e.g. `"14:30"`), regardless of the displayed `format`.
2471
+ * The picker renders inline at a fixed width; to show it as a popover, put it in your own overlay
2472
+ * and close that overlay from `bsChange`/`bsCancel`.
2473
+ * ## When to use
2474
+ * - Picking a time of day where the user steps through hours and minutes.
2475
+ * ## When not to use
2476
+ * - A time the user can type faster than step to -- a plain `bs-input` is quicker.
2477
+ * ## Keyboard
2478
+ * Tab to the hour or minute value, then ArrowUp/ArrowDown step it (wrapping), Home/End jump to the
2479
+ * first/last value, and typing digits sets it directly.
2480
+ */
2481
+ interface BsTimepicker {
2482
+ /**
2483
+ * Label of the Cancel button.
2484
+ * @default 'Cancel'
2485
+ */
2486
+ "cancelLabel": string;
2487
+ /**
2488
+ * Label of the Confirm button.
2489
+ * @default 'Confirm'
2490
+ */
2491
+ "confirmLabel": string;
2492
+ /**
2493
+ * Display format: `12h` (with an AM/PM dropdown) or `24h`. The user can switch it with the 24h switch. Does not change `value`, which is always 24-hour.
2494
+ * @default '12h'
2495
+ */
2496
+ "format": '12h' | '24h';
2497
+ /**
2498
+ * Label of the 24h switch.
2499
+ * @default '24h'
2500
+ */
2501
+ "formatLabel": string;
2502
+ /**
2503
+ * Heading text.
2504
+ * @default 'Select Time'
2505
+ */
2506
+ "heading": string;
2507
+ /**
2508
+ * Accessible name of the hour spinner.
2509
+ * @default 'Hour'
2510
+ */
2511
+ "hourLabel": string;
2512
+ /**
2513
+ * Accessible name of the minute spinner.
2514
+ * @default 'Minute'
2515
+ */
2516
+ "minuteLabel": string;
2517
+ /**
2518
+ * Step, in minutes, of the minute spinner's carets and arrow keys. Typing is not constrained.
2519
+ * @default 1
2520
+ */
2521
+ "minuteStep": number;
2522
+ /**
2523
+ * The `name` the confirmed value is submitted under in a surrounding `<form>`.
2524
+ */
2525
+ "name"?: string;
2526
+ /**
2527
+ * Accessible name of the AM/PM dropdown.
2528
+ * @default 'AM/PM'
2529
+ */
2530
+ "periodLabel": string;
2531
+ /**
2532
+ * The confirmed time, 24-hour `HH:mm`. Empty means no time chosen yet (the picker opens on 00:00). Mutable so Confirm updates it directly; `bsChange` still fires.
2533
+ * @default ''
2534
+ */
2535
+ "value": string;
2342
2536
  }
2343
2537
  /**
2344
2538
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
@@ -2398,6 +2592,14 @@ export interface BsAttachmentCustomEvent<T> extends CustomEvent<T> {
2398
2592
  detail: T;
2399
2593
  target: HTMLBsAttachmentElement;
2400
2594
  }
2595
+ export interface BsBreadcrumbCustomEvent<T> extends CustomEvent<T> {
2596
+ detail: T;
2597
+ target: HTMLBsBreadcrumbElement;
2598
+ }
2599
+ export interface BsBreadcrumbOverflowCustomEvent<T> extends CustomEvent<T> {
2600
+ detail: T;
2601
+ target: HTMLBsBreadcrumbOverflowElement;
2602
+ }
2401
2603
  export interface BsCarouselCustomEvent<T> extends CustomEvent<T> {
2402
2604
  detail: T;
2403
2605
  target: HTMLBsCarouselElement;
@@ -2446,6 +2648,10 @@ export interface BsDataTableCustomEvent<T> extends CustomEvent<T> {
2446
2648
  detail: T;
2447
2649
  target: HTMLBsDataTableElement;
2448
2650
  }
2651
+ export interface BsDatepickerCustomEvent<T> extends CustomEvent<T> {
2652
+ detail: T;
2653
+ target: HTMLBsDatepickerElement;
2654
+ }
2449
2655
  export interface BsDialogCustomEvent<T> extends CustomEvent<T> {
2450
2656
  detail: T;
2451
2657
  target: HTMLBsDialogElement;
@@ -2506,6 +2712,14 @@ export interface BsTabCustomEvent<T> extends CustomEvent<T> {
2506
2712
  detail: T;
2507
2713
  target: HTMLBsTabElement;
2508
2714
  }
2715
+ export interface BsTabsCustomEvent<T> extends CustomEvent<T> {
2716
+ detail: T;
2717
+ target: HTMLBsTabsElement;
2718
+ }
2719
+ export interface BsTimepickerCustomEvent<T> extends CustomEvent<T> {
2720
+ detail: T;
2721
+ target: HTMLBsTimepickerElement;
2722
+ }
2509
2723
  export interface BsToastCustomEvent<T> extends CustomEvent<T> {
2510
2724
  detail: T;
2511
2725
  target: HTMLBsToastElement;
@@ -2725,6 +2939,9 @@ declare global {
2725
2939
  prototype: HTMLBsBadgeElement;
2726
2940
  new (): HTMLBsBadgeElement;
2727
2941
  };
2942
+ interface HTMLBsBreadcrumbElementEventMap {
2943
+ "bsNavigate": { href: string };
2944
+ }
2728
2945
  /**
2729
2946
  * A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
2730
2947
  * plain text, or the current-page label, depending on `current`/`href`.
@@ -2742,11 +2959,22 @@ declare global {
2742
2959
  * first-child-aware separator hiding depend on that parent structure.
2743
2960
  */
2744
2961
  interface HTMLBsBreadcrumbElement extends Components.BsBreadcrumb, HTMLStencilElement {
2962
+ addEventListener<K extends keyof HTMLBsBreadcrumbElementEventMap>(type: K, listener: (this: HTMLBsBreadcrumbElement, ev: BsBreadcrumbCustomEvent<HTMLBsBreadcrumbElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2963
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2964
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2965
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2966
+ removeEventListener<K extends keyof HTMLBsBreadcrumbElementEventMap>(type: K, listener: (this: HTMLBsBreadcrumbElement, ev: BsBreadcrumbCustomEvent<HTMLBsBreadcrumbElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2967
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2968
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2969
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2745
2970
  }
2746
2971
  var HTMLBsBreadcrumbElement: {
2747
2972
  prototype: HTMLBsBreadcrumbElement;
2748
2973
  new (): HTMLBsBreadcrumbElement;
2749
2974
  };
2975
+ interface HTMLBsBreadcrumbOverflowElementEventMap {
2976
+ "bsNavigate": { href: string };
2977
+ }
2750
2978
  /**
2751
2979
  * A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
2752
2980
  * plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
@@ -2773,6 +3001,14 @@ declare global {
2773
3001
  * - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
2774
3002
  */
2775
3003
  interface HTMLBsBreadcrumbOverflowElement extends Components.BsBreadcrumbOverflow, HTMLStencilElement {
3004
+ addEventListener<K extends keyof HTMLBsBreadcrumbOverflowElementEventMap>(type: K, listener: (this: HTMLBsBreadcrumbOverflowElement, ev: BsBreadcrumbOverflowCustomEvent<HTMLBsBreadcrumbOverflowElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3005
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3006
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3007
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3008
+ removeEventListener<K extends keyof HTMLBsBreadcrumbOverflowElementEventMap>(type: K, listener: (this: HTMLBsBreadcrumbOverflowElement, ev: BsBreadcrumbOverflowCustomEvent<HTMLBsBreadcrumbOverflowElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3009
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3010
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3011
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2776
3012
  }
2777
3013
  var HTMLBsBreadcrumbOverflowElement: {
2778
3014
  prototype: HTMLBsBreadcrumbOverflowElement;
@@ -3453,6 +3689,42 @@ declare global {
3453
3689
  prototype: HTMLBsDataTableElement;
3454
3690
  new (): HTMLBsDataTableElement;
3455
3691
  };
3692
+ interface HTMLBsDatepickerElementEventMap {
3693
+ "bsChange": BsDatepickerChange;
3694
+ }
3695
+ /**
3696
+ * An inline calendar for picking a single date, or a start/end date range. Matches the Figma
3697
+ * "Date picker" component's two types: "Default" (month and year dropdowns above the grid) and
3698
+ * "Range" (start and end date fields above the grid, with the days between highlighted).
3699
+ * Dates are always `YYYY-MM-DD` strings, interpreted in the user's local time zone -- never full
3700
+ * ISO timestamps -- so a date can't shift by a day across time zones.
3701
+ * The calendar renders inline at a fixed width; to show it as a popover, put it inside a
3702
+ * `bs-menu` or your own overlay.
3703
+ * ## When to use
3704
+ * - Picking a date where seeing the surrounding days of the week/month helps (a booking, a
3705
+ * deadline, a report window).
3706
+ * - Picking a period (`range`) such as a start and end date.
3707
+ * ## When not to use
3708
+ * - A date the user knows by heart and can type quickly (a birth date) -- `bs-input type="date"`
3709
+ * is faster there.
3710
+ * ## Keyboard
3711
+ * Arrow keys move by day/week, Home/End jump to the start/end of the week, PageUp/PageDown move by
3712
+ * month (with Shift, by year), Enter/Space select the focused day.
3713
+ */
3714
+ interface HTMLBsDatepickerElement extends Components.BsDatepicker, HTMLStencilElement {
3715
+ addEventListener<K extends keyof HTMLBsDatepickerElementEventMap>(type: K, listener: (this: HTMLBsDatepickerElement, ev: BsDatepickerCustomEvent<HTMLBsDatepickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3716
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3717
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3718
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3719
+ removeEventListener<K extends keyof HTMLBsDatepickerElementEventMap>(type: K, listener: (this: HTMLBsDatepickerElement, ev: BsDatepickerCustomEvent<HTMLBsDatepickerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3720
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3721
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3722
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3723
+ }
3724
+ var HTMLBsDatepickerElement: {
3725
+ prototype: HTMLBsDatepickerElement;
3726
+ new (): HTMLBsDatepickerElement;
3727
+ };
3456
3728
  interface HTMLBsDialogElementEventMap {
3457
3729
  "bsClose": void;
3458
3730
  }
@@ -3740,6 +4012,7 @@ declare global {
3740
4012
  interface HTMLBsNavigationDrawerElementEventMap {
3741
4013
  "bsCollapse": boolean;
3742
4014
  "bsSearchClick": void;
4015
+ "bsClose": void;
3743
4016
  }
3744
4017
  /**
3745
4018
  * A left-side persistent navigation sidebar: the BrandSync logo, a "Main Menu" title with a
@@ -3774,6 +4047,13 @@ declare global {
3774
4047
  * reuses the identical left-pointing "CaretLeft" asset unchanged, confirmed by directly inspecting
3775
4048
  * that state, so this deliberately does not add the same "flip on toggle" idiom the drawer item's
3776
4049
  * own disclosure chevron does (that one really is an unconfirmed addition; this one was checked).
4050
+ * **Small screens (768px and below)** switch to an off-canvas overlay instead of a permanent rail:
4051
+ * the drawer is hidden until `open` is set, then slides in over the page with a backdrop, fully
4052
+ * expanded (labels visible, nested items reachable). Escape or a click on the backdrop closes it and
4053
+ * emits `bsClose`; focus moves into it on open and back to whatever opened it on close. The
4054
+ * collapse toggle and the compact search trigger are not shown in this mode (nothing sits behind
4055
+ * them). The drawer has no trigger of its own -- put a button in your header and set `open` from it.
4056
+ * On wider screens `open` is ignored and nothing changes.
3777
4057
  */
3778
4058
  interface HTMLBsNavigationDrawerElement extends Components.BsNavigationDrawer, HTMLStencilElement {
3779
4059
  addEventListener<K extends keyof HTMLBsNavigationDrawerElementEventMap>(type: K, listener: (this: HTMLBsNavigationDrawerElement, ev: BsNavigationDrawerCustomEvent<HTMLBsNavigationDrawerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -4182,6 +4462,9 @@ declare global {
4182
4462
  prototype: HTMLBsTabElement;
4183
4463
  new (): HTMLBsTabElement;
4184
4464
  };
4465
+ interface HTMLBsTabsElementEventMap {
4466
+ "bsChange": { value: string };
4467
+ }
4185
4468
  /**
4186
4469
  * A tab-group wrapper: owns `role="tablist"` and coordinates selection across its slotted
4187
4470
  * `<bs-tab>` or `<bs-inline-tab>` children, so consumers no longer have to hand-roll this.
@@ -4200,11 +4483,54 @@ declare global {
4200
4483
  * directly.
4201
4484
  */
4202
4485
  interface HTMLBsTabsElement extends Components.BsTabs, HTMLStencilElement {
4486
+ addEventListener<K extends keyof HTMLBsTabsElementEventMap>(type: K, listener: (this: HTMLBsTabsElement, ev: BsTabsCustomEvent<HTMLBsTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
4487
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4488
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4489
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4490
+ removeEventListener<K extends keyof HTMLBsTabsElementEventMap>(type: K, listener: (this: HTMLBsTabsElement, ev: BsTabsCustomEvent<HTMLBsTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
4491
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4492
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4493
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4203
4494
  }
4204
4495
  var HTMLBsTabsElement: {
4205
4496
  prototype: HTMLBsTabsElement;
4206
4497
  new (): HTMLBsTabsElement;
4207
4498
  };
4499
+ interface HTMLBsTimepickerElementEventMap {
4500
+ "bsChange": BsTimepickerChange;
4501
+ "bsCancel": void;
4502
+ }
4503
+ /**
4504
+ * An inline time picker: hour and minute spinners (up/down carets, or the arrow keys on the value),
4505
+ * an AM/PM dropdown in 12-hour mode, a 24h switch, and Cancel/Confirm buttons. Matches the Figma
4506
+ * "Time picker" component's two formats (12h with AM/PM, and 24h).
4507
+ * The picker works on a draft: nothing is committed until the user presses Confirm, which updates
4508
+ * `value` and fires `bsChange`. Cancel discards the draft and fires `bsCancel`.
4509
+ * `value` is always 24-hour `HH:mm` (e.g. `"14:30"`), regardless of the displayed `format`.
4510
+ * The picker renders inline at a fixed width; to show it as a popover, put it in your own overlay
4511
+ * and close that overlay from `bsChange`/`bsCancel`.
4512
+ * ## When to use
4513
+ * - Picking a time of day where the user steps through hours and minutes.
4514
+ * ## When not to use
4515
+ * - A time the user can type faster than step to -- a plain `bs-input` is quicker.
4516
+ * ## Keyboard
4517
+ * Tab to the hour or minute value, then ArrowUp/ArrowDown step it (wrapping), Home/End jump to the
4518
+ * first/last value, and typing digits sets it directly.
4519
+ */
4520
+ interface HTMLBsTimepickerElement extends Components.BsTimepicker, HTMLStencilElement {
4521
+ addEventListener<K extends keyof HTMLBsTimepickerElementEventMap>(type: K, listener: (this: HTMLBsTimepickerElement, ev: BsTimepickerCustomEvent<HTMLBsTimepickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
4522
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4523
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4524
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4525
+ removeEventListener<K extends keyof HTMLBsTimepickerElementEventMap>(type: K, listener: (this: HTMLBsTimepickerElement, ev: BsTimepickerCustomEvent<HTMLBsTimepickerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
4526
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4527
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4528
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4529
+ }
4530
+ var HTMLBsTimepickerElement: {
4531
+ prototype: HTMLBsTimepickerElement;
4532
+ new (): HTMLBsTimepickerElement;
4533
+ };
4208
4534
  interface HTMLBsToastElementEventMap {
4209
4535
  "bsDismiss": void;
4210
4536
  }
@@ -4292,6 +4618,7 @@ declare global {
4292
4618
  "bs-composer": HTMLBsComposerElement;
4293
4619
  "bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
4294
4620
  "bs-data-table": HTMLBsDataTableElement;
4621
+ "bs-datepicker": HTMLBsDatepickerElement;
4295
4622
  "bs-dialog": HTMLBsDialogElement;
4296
4623
  "bs-file-upload": HTMLBsFileUploadElement;
4297
4624
  "bs-file-upload-item": HTMLBsFileUploadItemElement;
@@ -4316,6 +4643,7 @@ declare global {
4316
4643
  "bs-switch": HTMLBsSwitchElement;
4317
4644
  "bs-tab": HTMLBsTabElement;
4318
4645
  "bs-tabs": HTMLBsTabsElement;
4646
+ "bs-timepicker": HTMLBsTimepickerElement;
4319
4647
  "bs-toast": HTMLBsToastElement;
4320
4648
  "bs-tooltip": HTMLBsTooltipElement;
4321
4649
  }
@@ -4628,6 +4956,10 @@ declare namespace LocalJSX {
4628
4956
  * Destination for a non-current crumb. Ignored when `current` is true -- the current page is never a link, even if `href` is set (see the class JSDoc).
4629
4957
  */
4630
4958
  "href"?: string;
4959
+ /**
4960
+ * Fires when the crumb's link is clicked, before the browser navigates. **Cancelable**: call `event.preventDefault()` to stop the native navigation and route it yourself (an SPA router). Detail is `{ href }`. Only a plain primary-button click emits it -- ctrl/cmd/shift/alt-clicks and middle-clicks (open in a new tab/window) are left to the browser. Bubbles and is composed, so one listener on the surrounding `<bs-breadcrumbs>` covers every crumb.
4961
+ */
4962
+ "onBsNavigate"?: (event: BsBreadcrumbCustomEvent<{ href: string }>) => void;
4631
4963
  /**
4632
4964
  * Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- the container propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/ `bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom properties can't carry an enum that switches rules on their own. Can also be set directly on a standalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`.
4633
4965
  * @default 'md'
@@ -4665,6 +4997,10 @@ declare namespace LocalJSX {
4665
4997
  * @default []
4666
4998
  */
4667
4999
  "items"?: BsBreadcrumbOverflowItem[];
5000
+ /**
5001
+ * Fires when one of the popup's links is clicked, before the browser navigates. **Cancelable** -- see `bs-breadcrumb`'s `bsNavigate`, which this mirrors (same detail, same modified-click rule). Detail is `{ href }`.
5002
+ */
5003
+ "onBsNavigate"?: (event: BsBreadcrumbOverflowCustomEvent<{ href: string }>) => void;
4668
5004
  /**
4669
5005
  * Accessible name (`aria-label`) for the icon-only ellipsis trigger button.
4670
5006
  * @default 'Show hidden breadcrumbs'
@@ -5576,7 +5912,7 @@ declare namespace LocalJSX {
5576
5912
  */
5577
5913
  interface BsDataTable {
5578
5914
  /**
5579
- * Optional custom cell renderer, e.g. for an actions column. Function props are JS-property-only, same as array props -- there is no attribute equivalent. Falls back to the raw cell value.
5915
+ * Optional custom cell renderer, for rich cells such as a status badge, a link or an actions column. It returns an **HTML string** that is inserted into the cell as real markup (`innerHTML`), so links, buttons, `<img>` and other web components (e.g. `<bs-badge>`) all render. **When set it renders every cell, not just the special ones** -- return the plain value for ordinary columns too. And **the returned string is not escaped or sanitized** (same trust model as React's `dangerouslySetInnerHTML`): escape any untrusted row data you put in it, plain columns included, or it will be interpreted as HTML. Without a `cellRenderer`, values are rendered as escaped text. The markup is static HTML -- attach behavior yourself, e.g. one `click` listener on the table that reads `event.composedPath()[0]` (events from inside the shadow root are retargeted to the table itself). Function props are JS-property-only, same as array props -- there is no attribute equivalent. Falls back to the raw cell value (as escaped text) when unset.
5580
5916
  */
5581
5917
  "cellRenderer"?: (row: BsDataTableRow, column: BsDataTableColumn) => string;
5582
5918
  /**
@@ -5601,6 +5937,111 @@ declare namespace LocalJSX {
5601
5937
  */
5602
5938
  "sortDirection"?: 'asc' | 'desc';
5603
5939
  }
5940
+ /**
5941
+ * An inline calendar for picking a single date, or a start/end date range. Matches the Figma
5942
+ * "Date picker" component's two types: "Default" (month and year dropdowns above the grid) and
5943
+ * "Range" (start and end date fields above the grid, with the days between highlighted).
5944
+ * Dates are always `YYYY-MM-DD` strings, interpreted in the user's local time zone -- never full
5945
+ * ISO timestamps -- so a date can't shift by a day across time zones.
5946
+ * The calendar renders inline at a fixed width; to show it as a popover, put it inside a
5947
+ * `bs-menu` or your own overlay.
5948
+ * ## When to use
5949
+ * - Picking a date where seeing the surrounding days of the week/month helps (a booking, a
5950
+ * deadline, a report window).
5951
+ * - Picking a period (`range`) such as a start and end date.
5952
+ * ## When not to use
5953
+ * - A date the user knows by heart and can type quickly (a birth date) -- `bs-input type="date"`
5954
+ * is faster there.
5955
+ * ## Keyboard
5956
+ * Arrow keys move by day/week, Home/End jump to the start/end of the week, PageUp/PageDown move by
5957
+ * month (with Shift, by year), Enter/Space select the focused day.
5958
+ */
5959
+ interface BsDatepicker {
5960
+ /**
5961
+ * If `true`, the user cannot interact with the element.
5962
+ */
5963
+ "disabled"?: boolean;
5964
+ /**
5965
+ * The range end (`YYYY-MM-DD`) in `range` mode.
5966
+ * @default ''
5967
+ */
5968
+ "end"?: string;
5969
+ /**
5970
+ * Label above the end field in `range` mode.
5971
+ * @default 'End date'
5972
+ */
5973
+ "endLabel"?: string;
5974
+ /**
5975
+ * First column of the grid: `0` for Sunday (the Figma spec), `1` for Monday, ... `6`.
5976
+ * @default 0
5977
+ */
5978
+ "firstDayOfWeek"?: number;
5979
+ /**
5980
+ * The `id` of a `<form>` element to associate this element with.
5981
+ */
5982
+ "form"?: string;
5983
+ /**
5984
+ * BCP 47 locale used for month names, weekday names and the title.
5985
+ * @default 'en-GB'
5986
+ */
5987
+ "locale"?: string;
5988
+ /**
5989
+ * Latest selectable date (`YYYY-MM-DD`). Later days render disabled.
5990
+ */
5991
+ "max"?: string;
5992
+ /**
5993
+ * Earliest selectable date (`YYYY-MM-DD`). Earlier days render disabled.
5994
+ */
5995
+ "min"?: string;
5996
+ /**
5997
+ * Accessible name for the month dropdown (single mode).
5998
+ * @default 'Month'
5999
+ */
6000
+ "monthLabel"?: string;
6001
+ /**
6002
+ * The `name` the value is submitted under in a surrounding `<form>`. In `range` mode the dates are submitted as `<name>-start` and `<name>-end`.
6003
+ */
6004
+ "name"?: string;
6005
+ /**
6006
+ * Accessible name for the next-month button.
6007
+ * @default 'Next month'
6008
+ */
6009
+ "nextLabel"?: string;
6010
+ /**
6011
+ * Fires when the user changes the selection. Single mode: `{ value }`. Range mode: `{ start, end }` -- fired once for the first click (with an empty `end`) and again when the range is completed. Not fired when the props are set programmatically.
6012
+ */
6013
+ "onBsChange"?: (event: BsDatepickerCustomEvent<BsDatepickerChange>) => void;
6014
+ /**
6015
+ * Accessible name for the previous-month button.
6016
+ * @default 'Previous month'
6017
+ */
6018
+ "previousLabel"?: string;
6019
+ /**
6020
+ * Select a start/end range instead of a single date.
6021
+ * @default false
6022
+ */
6023
+ "range"?: boolean;
6024
+ /**
6025
+ * The range start (`YYYY-MM-DD`) in `range` mode.
6026
+ * @default ''
6027
+ */
6028
+ "start"?: string;
6029
+ /**
6030
+ * Label above the start field in `range` mode.
6031
+ * @default 'Start date'
6032
+ */
6033
+ "startLabel"?: string;
6034
+ /**
6035
+ * The selected date (`YYYY-MM-DD`) in single mode. Mutable so a click updates it directly; `bsChange` still fires for the consumer to react. Ignored when `range` is set.
6036
+ * @default ''
6037
+ */
6038
+ "value"?: string;
6039
+ /**
6040
+ * Accessible name for the year dropdown (single mode).
6041
+ * @default 'Year'
6042
+ */
6043
+ "yearLabel"?: string;
6044
+ }
5604
6045
  /**
5605
6046
  * An overlay dialog that interrupts the current flow for a focused task or confirmation.
5606
6047
  * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
@@ -5856,6 +6297,10 @@ declare namespace LocalJSX {
5856
6297
  * Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays a normal tab stop.
5857
6298
  */
5858
6299
  "tabbable"?: boolean;
6300
+ /**
6301
+ * Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its zero-based position in the group (`"0"`, `"1"`...).
6302
+ */
6303
+ "value"?: string;
5859
6304
  }
5860
6305
  /**
5861
6306
  * A single-line text field with an optional label, description, and error state. Also covers a
@@ -6126,6 +6571,13 @@ declare namespace LocalJSX {
6126
6571
  * reuses the identical left-pointing "CaretLeft" asset unchanged, confirmed by directly inspecting
6127
6572
  * that state, so this deliberately does not add the same "flip on toggle" idiom the drawer item's
6128
6573
  * own disclosure chevron does (that one really is an unconfirmed addition; this one was checked).
6574
+ * **Small screens (768px and below)** switch to an off-canvas overlay instead of a permanent rail:
6575
+ * the drawer is hidden until `open` is set, then slides in over the page with a backdrop, fully
6576
+ * expanded (labels visible, nested items reachable). Escape or a click on the backdrop closes it and
6577
+ * emits `bsClose`; focus moves into it on open and back to whatever opened it on close. The
6578
+ * collapse toggle and the compact search trigger are not shown in this mode (nothing sits behind
6579
+ * them). The drawer has no trigger of its own -- put a button in your header and set `open` from it.
6580
+ * On wider screens `open` is ignored and nothing changes.
6129
6581
  */
6130
6582
  interface BsNavigationDrawer {
6131
6583
  /**
@@ -6148,6 +6600,10 @@ declare namespace LocalJSX {
6148
6600
  * @default 'auto'
6149
6601
  */
6150
6602
  "logoBackground"?: 'auto' | 'light' | 'dark';
6603
+ /**
6604
+ * Fires when the user dismisses the overlay (Escape, or a click on the backdrop), after `open` has been set back to `false`. Does not fire when you set `open = false` yourself.
6605
+ */
6606
+ "onBsClose"?: (event: BsNavigationDrawerCustomEvent<void>) => void;
6151
6607
  /**
6152
6608
  * Fires with the new `collapsed` value when the collapse toggle button is clicked.
6153
6609
  */
@@ -6156,6 +6612,11 @@ declare namespace LocalJSX {
6156
6612
  * Fires when the compact search-trigger button (shown instead of the `search` slot while `collapsed`) is clicked -- e.g. to open a full search overlay. This component has no visibility into what the `search` slot actually contains, so it can't drive a real search itself once shrunk to icon size.
6157
6613
  */
6158
6614
  "onBsSearchClick"?: (event: BsNavigationDrawerCustomEvent<void>) => void;
6615
+ /**
6616
+ * Small screens only (768px and below): whether the off-canvas overlay is shown. Mutable and reflected -- the drawer sets it back to `false` itself when the user dismisses it (Escape or the backdrop), and emits `bsClose`. Ignored on wider screens, where the drawer is always in the page flow. There is no built-in trigger: set this from your own button.
6617
+ * @default false
6618
+ */
6619
+ "open"?: boolean;
6159
6620
  /**
6160
6621
  * Whether to render the BrandSync logo at all. Defaults to `true`. This drawer is normally the one that owns the logo when paired with a `bs-navigation-header` (that header's own `with-navigation-drawer` alignment omits its logo for exactly this reason) -- but the reverse pairing works too: a header that keeps its own logo (`alignment="default"`) paired with this drawer set to `showLogo={false}`, so the brand mark only ever appears once.
6161
6622
  * @default true
@@ -6820,6 +7281,10 @@ declare namespace LocalJSX {
6820
7281
  * Set by a parent `bs-tabs` to implement roving tabindex (only one tab in the group is in the Tab order; arrow keys move between them). Left `undefined` for a standalone tab, which stays a normal tab stop.
6821
7282
  */
6822
7283
  "tabbable"?: boolean;
7284
+ /**
7285
+ * Identifies this tab within a parent `bs-tabs`: the group's `value` is the selected tab's `value`, and `bsChange` reports it. Optional -- a tab without one is identified by its zero-based position in the group (`"0"`, `"1"`...).
7286
+ */
7287
+ "value"?: string;
6823
7288
  }
6824
7289
  /**
6825
7290
  * A tab-group wrapper: owns `role="tablist"` and coordinates selection across its slotted
@@ -6839,6 +7304,10 @@ declare namespace LocalJSX {
6839
7304
  * directly.
6840
7305
  */
6841
7306
  interface BsTabs {
7307
+ /**
7308
+ * Fires when the user selects a different tab (click, or arrow/Home/End), with the new `value`. Does not fire when `value` is set programmatically. `bsSelect` on the individual tab still fires as before.
7309
+ */
7310
+ "onBsChange"?: (event: BsTabsCustomEvent<{ value: string }>) => void;
6842
7311
  /**
6843
7312
  * Layout direction of the tab bar itself. Sets `aria-orientation` on the internal wrapper and switches `flex-direction`.
6844
7313
  * @default 'horizontal'
@@ -6849,6 +7318,99 @@ declare namespace LocalJSX {
6849
7318
  * @default 'bs-tab'
6850
7319
  */
6851
7320
  "type"?: BsTabsType;
7321
+ /**
7322
+ * The selected tab's `value`. Mutable and reflected: it follows the user's selection, and setting it from outside (attribute or property) selects the matching tab -- without emitting `bsChange`, which only fires for user-driven changes. A tab's value is its own `value` prop, or, for a tab without one, its zero-based position in the group as a string (`"0"`, `"1"`...). If unset, it is read from whichever tab is already `selected` once the group loads.
7323
+ */
7324
+ "value"?: string;
7325
+ }
7326
+ /**
7327
+ * An inline time picker: hour and minute spinners (up/down carets, or the arrow keys on the value),
7328
+ * an AM/PM dropdown in 12-hour mode, a 24h switch, and Cancel/Confirm buttons. Matches the Figma
7329
+ * "Time picker" component's two formats (12h with AM/PM, and 24h).
7330
+ * The picker works on a draft: nothing is committed until the user presses Confirm, which updates
7331
+ * `value` and fires `bsChange`. Cancel discards the draft and fires `bsCancel`.
7332
+ * `value` is always 24-hour `HH:mm` (e.g. `"14:30"`), regardless of the displayed `format`.
7333
+ * The picker renders inline at a fixed width; to show it as a popover, put it in your own overlay
7334
+ * and close that overlay from `bsChange`/`bsCancel`.
7335
+ * ## When to use
7336
+ * - Picking a time of day where the user steps through hours and minutes.
7337
+ * ## When not to use
7338
+ * - A time the user can type faster than step to -- a plain `bs-input` is quicker.
7339
+ * ## Keyboard
7340
+ * Tab to the hour or minute value, then ArrowUp/ArrowDown step it (wrapping), Home/End jump to the
7341
+ * first/last value, and typing digits sets it directly.
7342
+ */
7343
+ interface BsTimepicker {
7344
+ /**
7345
+ * Label of the Cancel button.
7346
+ * @default 'Cancel'
7347
+ */
7348
+ "cancelLabel"?: string;
7349
+ /**
7350
+ * Label of the Confirm button.
7351
+ * @default 'Confirm'
7352
+ */
7353
+ "confirmLabel"?: string;
7354
+ /**
7355
+ * If `true`, the user cannot interact with the element.
7356
+ */
7357
+ "disabled"?: boolean;
7358
+ /**
7359
+ * The `id` of a `<form>` element to associate this element with.
7360
+ */
7361
+ "form"?: string;
7362
+ /**
7363
+ * Display format: `12h` (with an AM/PM dropdown) or `24h`. The user can switch it with the 24h switch. Does not change `value`, which is always 24-hour.
7364
+ * @default '12h'
7365
+ */
7366
+ "format"?: '12h' | '24h';
7367
+ /**
7368
+ * Label of the 24h switch.
7369
+ * @default '24h'
7370
+ */
7371
+ "formatLabel"?: string;
7372
+ /**
7373
+ * Heading text.
7374
+ * @default 'Select Time'
7375
+ */
7376
+ "heading"?: string;
7377
+ /**
7378
+ * Accessible name of the hour spinner.
7379
+ * @default 'Hour'
7380
+ */
7381
+ "hourLabel"?: string;
7382
+ /**
7383
+ * Accessible name of the minute spinner.
7384
+ * @default 'Minute'
7385
+ */
7386
+ "minuteLabel"?: string;
7387
+ /**
7388
+ * Step, in minutes, of the minute spinner's carets and arrow keys. Typing is not constrained.
7389
+ * @default 1
7390
+ */
7391
+ "minuteStep"?: number;
7392
+ /**
7393
+ * The `name` the confirmed value is submitted under in a surrounding `<form>`.
7394
+ */
7395
+ "name"?: string;
7396
+ /**
7397
+ * Fires when the user presses Cancel. The draft is reset to `value`.
7398
+ */
7399
+ "onBsCancel"?: (event: BsTimepickerCustomEvent<void>) => void;
7400
+ /**
7401
+ * Fires when the user presses Confirm: `{ value }` as 24-hour `HH:mm`. Not fired when `value` is set programmatically.
7402
+ */
7403
+ "onBsChange"?: (event: BsTimepickerCustomEvent<BsTimepickerChange>) => void;
7404
+ /**
7405
+ * Accessible name of the AM/PM dropdown.
7406
+ * @default 'AM/PM'
7407
+ */
7408
+ "periodLabel"?: string;
7409
+ /**
7410
+ * The confirmed time, 24-hour `HH:mm`. Empty means no time chosen yet (the picker opens on 00:00). Mutable so Confirm updates it directly; `bsChange` still fires.
7411
+ * @default ''
7412
+ */
7413
+ "value"?: string;
6852
7414
  }
6853
7415
  /**
6854
7416
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
@@ -7053,6 +7615,23 @@ declare namespace LocalJSX {
7053
7615
  "sortDirection": 'asc' | 'desc';
7054
7616
  "selectable": boolean;
7055
7617
  }
7618
+ interface BsDatepickerAttributes {
7619
+ "name": string;
7620
+ "range": boolean;
7621
+ "value": string;
7622
+ "start": string;
7623
+ "end": string;
7624
+ "min": string;
7625
+ "max": string;
7626
+ "locale": string;
7627
+ "firstDayOfWeek": number;
7628
+ "startLabel": string;
7629
+ "endLabel": string;
7630
+ "monthLabel": string;
7631
+ "yearLabel": string;
7632
+ "previousLabel": string;
7633
+ "nextLabel": string;
7634
+ }
7056
7635
  interface BsDialogAttributes {
7057
7636
  "open": boolean;
7058
7637
  "heading": string;
@@ -7091,6 +7670,7 @@ declare namespace LocalJSX {
7091
7670
  "selected": boolean;
7092
7671
  "disabled": boolean;
7093
7672
  "ariaLabel": string | null;
7673
+ "value": string;
7094
7674
  "tabbable": boolean;
7095
7675
  }
7096
7676
  interface BsInputAttributes {
@@ -7139,6 +7719,7 @@ declare namespace LocalJSX {
7139
7719
  "collapsed": boolean;
7140
7720
  "logoBackground": 'auto' | 'light' | 'dark';
7141
7721
  "showLogo": boolean;
7722
+ "open": boolean;
7142
7723
  }
7143
7724
  interface BsNavigationDrawerItemAttributes {
7144
7725
  "selected": boolean;
@@ -7237,11 +7818,26 @@ declare namespace LocalJSX {
7237
7818
  "disabled": boolean;
7238
7819
  "iconPosition": BsTabIconPosition;
7239
7820
  "ariaLabel": string | null;
7821
+ "value": string;
7240
7822
  "tabbable": boolean;
7241
7823
  }
7242
7824
  interface BsTabsAttributes {
7243
7825
  "type": BsTabsType;
7244
7826
  "orientation": BsTabsOrientation;
7827
+ "value": string;
7828
+ }
7829
+ interface BsTimepickerAttributes {
7830
+ "name": string;
7831
+ "value": string;
7832
+ "format": '12h' | '24h';
7833
+ "minuteStep": number;
7834
+ "heading": string;
7835
+ "formatLabel": string;
7836
+ "confirmLabel": string;
7837
+ "cancelLabel": string;
7838
+ "hourLabel": string;
7839
+ "minuteLabel": string;
7840
+ "periodLabel": string;
7245
7841
  }
7246
7842
  interface BsToastAttributes {
7247
7843
  "state": BsToastState;
@@ -7279,6 +7875,7 @@ declare namespace LocalJSX {
7279
7875
  "bs-composer": Omit<BsComposer, keyof BsComposerAttributes> & { [K in keyof BsComposer & keyof BsComposerAttributes]?: BsComposer[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `attr:${K}`]?: BsComposerAttributes[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `prop:${K}`]?: BsComposer[K] };
7280
7876
  "bs-composer-status-banner": Omit<BsComposerStatusBanner, keyof BsComposerStatusBannerAttributes> & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes]?: BsComposerStatusBanner[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `attr:${K}`]?: BsComposerStatusBannerAttributes[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `prop:${K}`]?: BsComposerStatusBanner[K] };
7281
7877
  "bs-data-table": Omit<BsDataTable, keyof BsDataTableAttributes> & { [K in keyof BsDataTable & keyof BsDataTableAttributes]?: BsDataTable[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `attr:${K}`]?: BsDataTableAttributes[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `prop:${K}`]?: BsDataTable[K] };
7878
+ "bs-datepicker": Omit<BsDatepicker, keyof BsDatepickerAttributes> & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes]?: BsDatepicker[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `attr:${K}`]?: BsDatepickerAttributes[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `prop:${K}`]?: BsDatepicker[K] };
7282
7879
  "bs-dialog": Omit<BsDialog, keyof BsDialogAttributes> & { [K in keyof BsDialog & keyof BsDialogAttributes]?: BsDialog[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `attr:${K}`]?: BsDialogAttributes[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `prop:${K}`]?: BsDialog[K] };
7283
7880
  "bs-file-upload": Omit<BsFileUpload, keyof BsFileUploadAttributes> & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes]?: BsFileUpload[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `attr:${K}`]?: BsFileUploadAttributes[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `prop:${K}`]?: BsFileUpload[K] };
7284
7881
  "bs-file-upload-item": Omit<BsFileUploadItem, keyof BsFileUploadItemAttributes> & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes]?: BsFileUploadItem[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `attr:${K}`]?: BsFileUploadItemAttributes[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `prop:${K}`]?: BsFileUploadItem[K] };
@@ -7303,6 +7900,7 @@ declare namespace LocalJSX {
7303
7900
  "bs-switch": Omit<BsSwitch, keyof BsSwitchAttributes> & { [K in keyof BsSwitch & keyof BsSwitchAttributes]?: BsSwitch[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `attr:${K}`]?: BsSwitchAttributes[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `prop:${K}`]?: BsSwitch[K] };
7304
7901
  "bs-tab": Omit<BsTab, keyof BsTabAttributes> & { [K in keyof BsTab & keyof BsTabAttributes]?: BsTab[K] } & { [K in keyof BsTab & keyof BsTabAttributes as `attr:${K}`]?: BsTabAttributes[K] } & { [K in keyof BsTab & keyof BsTabAttributes as `prop:${K}`]?: BsTab[K] };
7305
7902
  "bs-tabs": Omit<BsTabs, keyof BsTabsAttributes> & { [K in keyof BsTabs & keyof BsTabsAttributes]?: BsTabs[K] } & { [K in keyof BsTabs & keyof BsTabsAttributes as `attr:${K}`]?: BsTabsAttributes[K] } & { [K in keyof BsTabs & keyof BsTabsAttributes as `prop:${K}`]?: BsTabs[K] };
7903
+ "bs-timepicker": Omit<BsTimepicker, keyof BsTimepickerAttributes> & { [K in keyof BsTimepicker & keyof BsTimepickerAttributes]?: BsTimepicker[K] } & { [K in keyof BsTimepicker & keyof BsTimepickerAttributes as `attr:${K}`]?: BsTimepickerAttributes[K] } & { [K in keyof BsTimepicker & keyof BsTimepickerAttributes as `prop:${K}`]?: BsTimepicker[K] };
7306
7904
  "bs-toast": Omit<BsToast, keyof BsToastAttributes> & { [K in keyof BsToast & keyof BsToastAttributes]?: BsToast[K] } & { [K in keyof BsToast & keyof BsToastAttributes as `attr:${K}`]?: BsToastAttributes[K] } & { [K in keyof BsToast & keyof BsToastAttributes as `prop:${K}`]?: BsToast[K] };
7307
7905
  "bs-tooltip": Omit<BsTooltip, keyof BsTooltipAttributes> & { [K in keyof BsTooltip & keyof BsTooltipAttributes]?: BsTooltip[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `attr:${K}`]?: BsTooltipAttributes[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `prop:${K}`]?: BsTooltip[K] };
7308
7906
  }
@@ -7938,6 +8536,26 @@ declare module "@stencil/core" {
7938
8536
  * - Deeply nested/hierarchical data — this component renders one flat row per record.
7939
8537
  */
7940
8538
  "bs-data-table": LocalJSX.IntrinsicElements["bs-data-table"] & JSXBase.HTMLAttributes<HTMLBsDataTableElement>;
8539
+ /**
8540
+ * An inline calendar for picking a single date, or a start/end date range. Matches the Figma
8541
+ * "Date picker" component's two types: "Default" (month and year dropdowns above the grid) and
8542
+ * "Range" (start and end date fields above the grid, with the days between highlighted).
8543
+ * Dates are always `YYYY-MM-DD` strings, interpreted in the user's local time zone -- never full
8544
+ * ISO timestamps -- so a date can't shift by a day across time zones.
8545
+ * The calendar renders inline at a fixed width; to show it as a popover, put it inside a
8546
+ * `bs-menu` or your own overlay.
8547
+ * ## When to use
8548
+ * - Picking a date where seeing the surrounding days of the week/month helps (a booking, a
8549
+ * deadline, a report window).
8550
+ * - Picking a period (`range`) such as a start and end date.
8551
+ * ## When not to use
8552
+ * - A date the user knows by heart and can type quickly (a birth date) -- `bs-input type="date"`
8553
+ * is faster there.
8554
+ * ## Keyboard
8555
+ * Arrow keys move by day/week, Home/End jump to the start/end of the week, PageUp/PageDown move by
8556
+ * month (with Shift, by year), Enter/Space select the focused day.
8557
+ */
8558
+ "bs-datepicker": LocalJSX.IntrinsicElements["bs-datepicker"] & JSXBase.HTMLAttributes<HTMLBsDatepickerElement>;
7941
8559
  /**
7942
8560
  * An overlay dialog that interrupts the current flow for a focused task or confirmation.
7943
8561
  * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
@@ -8136,6 +8754,13 @@ declare module "@stencil/core" {
8136
8754
  * reuses the identical left-pointing "CaretLeft" asset unchanged, confirmed by directly inspecting
8137
8755
  * that state, so this deliberately does not add the same "flip on toggle" idiom the drawer item's
8138
8756
  * own disclosure chevron does (that one really is an unconfirmed addition; this one was checked).
8757
+ * **Small screens (768px and below)** switch to an off-canvas overlay instead of a permanent rail:
8758
+ * the drawer is hidden until `open` is set, then slides in over the page with a backdrop, fully
8759
+ * expanded (labels visible, nested items reachable). Escape or a click on the backdrop closes it and
8760
+ * emits `bsClose`; focus moves into it on open and back to whatever opened it on close. The
8761
+ * collapse toggle and the compact search trigger are not shown in this mode (nothing sits behind
8762
+ * them). The drawer has no trigger of its own -- put a button in your header and set `open` from it.
8763
+ * On wider screens `open` is ignored and nothing changes.
8139
8764
  */
8140
8765
  "bs-navigation-drawer": LocalJSX.IntrinsicElements["bs-navigation-drawer"] & JSXBase.HTMLAttributes<HTMLBsNavigationDrawerElement>;
8141
8766
  /**
@@ -8393,6 +9018,24 @@ declare module "@stencil/core" {
8393
9018
  * directly.
8394
9019
  */
8395
9020
  "bs-tabs": LocalJSX.IntrinsicElements["bs-tabs"] & JSXBase.HTMLAttributes<HTMLBsTabsElement>;
9021
+ /**
9022
+ * An inline time picker: hour and minute spinners (up/down carets, or the arrow keys on the value),
9023
+ * an AM/PM dropdown in 12-hour mode, a 24h switch, and Cancel/Confirm buttons. Matches the Figma
9024
+ * "Time picker" component's two formats (12h with AM/PM, and 24h).
9025
+ * The picker works on a draft: nothing is committed until the user presses Confirm, which updates
9026
+ * `value` and fires `bsChange`. Cancel discards the draft and fires `bsCancel`.
9027
+ * `value` is always 24-hour `HH:mm` (e.g. `"14:30"`), regardless of the displayed `format`.
9028
+ * The picker renders inline at a fixed width; to show it as a popover, put it in your own overlay
9029
+ * and close that overlay from `bsChange`/`bsCancel`.
9030
+ * ## When to use
9031
+ * - Picking a time of day where the user steps through hours and minutes.
9032
+ * ## When not to use
9033
+ * - A time the user can type faster than step to -- a plain `bs-input` is quicker.
9034
+ * ## Keyboard
9035
+ * Tab to the hour or minute value, then ArrowUp/ArrowDown step it (wrapping), Home/End jump to the
9036
+ * first/last value, and typing digits sets it directly.
9037
+ */
9038
+ "bs-timepicker": LocalJSX.IntrinsicElements["bs-timepicker"] & JSXBase.HTMLAttributes<HTMLBsTimepickerElement>;
8396
9039
  /**
8397
9040
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
8398
9041
  * successfully.") -- a state-specific icon, a message, and a close button.