@brandsync/wc 1.9.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 (229) hide show
  1. package/custom-elements.json +4520 -3613
  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-29027559.entry.js → p-2e958566.entry.js} +1 -1
  10. package/dist/brandsync-wc/{p-235ae012.entry.js → p-301b2455.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-8ee0153b.entry.js → p-32cd69f1.entry.js} +1 -1
  12. package/dist/brandsync-wc/p-4f2c4929.entry.js +1 -0
  13. package/dist/brandsync-wc/{p-a0d5a620.entry.js → p-50a251a4.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-0e39b9cc.entry.js → p-5f3cd501.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-fc240aa0.entry.js → p-701ebf4a.entry.js} +1 -1
  16. package/dist/brandsync-wc/{p-0eed6813.entry.js → p-763876f5.entry.js} +1 -1
  17. package/dist/brandsync-wc/{p-f7d47c17.entry.js → p-76e1c295.entry.js} +1 -1
  18. package/dist/brandsync-wc/p-790db8b3.entry.js +1 -0
  19. package/dist/brandsync-wc/{p-4e5dcaff.entry.js → p-796a1860.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-36bf37d9.entry.js → p-806a5347.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-6331de9c.entry.js → p-8eba7f90.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-6fd7dd6a.entry.js → p-96ed9386.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-cfcf3f0a.entry.js → p-9e88f19c.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-de7c946d.entry.js → p-a71d2811.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-33e44094.entry.js → p-a8e2a829.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-3b64e3cd.entry.js → p-addfa0a0.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-4574a707.entry.js → p-af2bf957.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-6bf2f116.entry.js → p-b2074a32.entry.js} +1 -1
  29. package/dist/brandsync-wc/{p-7c94e6ae.entry.js → p-c99b6a66.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-2891d40b.entry.js → p-c9a72416.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-9f65f998.entry.js → p-d3f44cb7.entry.js} +1 -1
  32. package/dist/brandsync-wc/p-d42b1c2b.entry.js +1 -0
  33. package/dist/brandsync-wc/{p-3ec74d35.entry.js → p-daab6b22.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-107b1c5d.entry.js → p-dbcbe682.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-3176d1d3.entry.js → p-e8a5b8eb.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-062cfa34.entry.js → p-ea4e20ef.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-27bbed83.entry.js → p-f370b8fa.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-05c7de28.entry.js → p-f89de457.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-114d2fd8.entry.js → p-fd254972.entry.js} +1 -1
  40. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  41. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  42. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  43. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  44. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  45. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  46. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  47. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  48. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  49. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  50. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  51. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  52. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  53. package/dist/cjs/bs-datepicker.cjs.entry.js +410 -0
  54. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  55. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
  57. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  58. package/dist/cjs/{bs-input.cjs.entry.js → bs-input_2.cjs.entry.js} +37 -4
  59. package/dist/cjs/bs-menu.cjs.entry.js +1 -1
  60. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  61. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  62. package/dist/cjs/bs-navigation-header.cjs.entry.js +1 -1
  63. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  64. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  65. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  66. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  68. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  69. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  70. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  71. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  72. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  73. package/dist/cjs/bs-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/bs-tabs.cjs.entry.js +1 -1
  75. package/dist/cjs/bs-timepicker.cjs.entry.js +209 -0
  76. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  77. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  78. package/dist/cjs/loader.cjs.js +1 -1
  79. package/dist/collection/collection-manifest.json +2 -0
  80. package/dist/collection/components/bs-a11y.cmp.test.js +4 -0
  81. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  82. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  83. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  84. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  85. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  86. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
  87. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  88. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  89. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  90. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  91. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  92. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  93. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  94. package/dist/collection/components/bs-datepicker/bs-datepicker.cmp.test.js +182 -0
  95. package/dist/collection/components/bs-datepicker/bs-datepicker.css +315 -0
  96. package/dist/collection/components/bs-datepicker/bs-datepicker.js +782 -0
  97. package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +63 -0
  98. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  99. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  100. package/dist/collection/components/bs-input/bs-input.js +7 -4
  101. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  102. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  103. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  104. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  105. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  106. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  107. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  108. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  109. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  110. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  111. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  112. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  113. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  114. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  115. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  116. package/dist/collection/components/bs-timepicker/bs-timepicker.cmp.test.js +141 -0
  117. package/dist/collection/components/bs-timepicker/bs-timepicker.css +200 -0
  118. package/dist/collection/components/bs-timepicker/bs-timepicker.js +509 -0
  119. package/dist/collection/components/bs-timepicker/bs-timepicker.stories.js +44 -0
  120. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  121. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  122. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  123. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  124. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
  125. package/dist/components/bs-ai-disclaimer.js +1 -1
  126. package/dist/components/bs-ai-greeting.js +1 -1
  127. package/dist/components/bs-ai-thinking.js +1 -1
  128. package/dist/components/bs-attachment-list.js +1 -1
  129. package/dist/components/bs-attachment.js +1 -1
  130. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  131. package/dist/components/bs-breadcrumbs.js +1 -1
  132. package/dist/components/bs-button-skeleton.js +1 -1
  133. package/dist/components/bs-carousel.js +1 -1
  134. package/dist/components/bs-chatbot-feedback.js +1 -1
  135. package/dist/components/bs-chatbot-header.js +1 -1
  136. package/dist/components/bs-chatbot-response-action.js +1 -1
  137. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  138. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  139. package/dist/components/bs-checkbox-skeleton.js +1 -1
  140. package/dist/components/bs-datepicker.d.ts +11 -0
  141. package/dist/components/bs-datepicker.js +1 -0
  142. package/dist/components/bs-dialog.js +1 -1
  143. package/dist/components/bs-file-upload-item.js +1 -1
  144. package/dist/components/bs-file-upload.js +1 -1
  145. package/dist/components/bs-icon-button.js +1 -1
  146. package/dist/components/bs-inline-tab.js +1 -1
  147. package/dist/components/bs-input.js +1 -1
  148. package/dist/components/bs-menu-item.js +1 -1
  149. package/dist/components/bs-menu.js +1 -1
  150. package/dist/components/bs-navigation-drawer-item.js +1 -1
  151. package/dist/components/bs-navigation-drawer.js +1 -1
  152. package/dist/components/bs-navigation-header.js +1 -1
  153. package/dist/components/bs-pagination.js +1 -1
  154. package/dist/components/bs-progress-linear.js +1 -1
  155. package/dist/components/bs-progress.js +1 -1
  156. package/dist/components/bs-radio.js +1 -1
  157. package/dist/components/bs-slider.js +1 -1
  158. package/dist/components/bs-snackbar.js +1 -1
  159. package/dist/components/bs-source-link.js +1 -1
  160. package/dist/components/bs-stepper-step.js +1 -1
  161. package/dist/components/bs-stepper.js +1 -1
  162. package/dist/components/bs-switch.js +1 -1
  163. package/dist/components/bs-tab.js +1 -1
  164. package/dist/components/bs-tabs.js +1 -1
  165. package/dist/components/bs-timepicker.d.ts +11 -0
  166. package/dist/components/bs-timepicker.js +1 -0
  167. package/dist/components/bs-toast.js +1 -1
  168. package/dist/components/bs-tooltip.js +1 -1
  169. package/dist/components/{p-BA3c9Rom.js → p-B7Icv1ho.js} +1 -1
  170. package/dist/components/{p-wei0Ija2.js → p-BTvme8CE.js} +1 -1
  171. package/dist/components/{p-BoeorHNv.js → p-BYR_ZC8v.js} +1 -1
  172. package/dist/components/p-Ba860ej1.js +1 -0
  173. package/dist/components/p-CPvqZNO8.js +1 -0
  174. package/dist/components/{p-EtXc94lJ.js → p-DkIVyFOP.js} +1 -1
  175. package/dist/components/{p-BfEyD6Ku.js → p-ZK8p5zax.js} +1 -1
  176. package/dist/components/p-jDO25SfF.js +1 -0
  177. package/dist/esm/brandsync-wc.js +1 -1
  178. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  179. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  180. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  181. package/dist/esm/bs-attachment-list.entry.js +1 -1
  182. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  183. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  184. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  185. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  186. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  187. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  188. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  189. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  190. package/dist/esm/bs-datepicker.entry.js +408 -0
  191. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  192. package/dist/esm/bs-file-upload.entry.js +1 -1
  193. package/dist/esm/bs-icon-button.entry.js +1 -1
  194. package/dist/esm/bs-inline-tab.entry.js +1 -1
  195. package/dist/esm/{bs-input.entry.js → bs-input_2.entry.js} +37 -5
  196. package/dist/esm/bs-menu.entry.js +1 -1
  197. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  198. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  199. package/dist/esm/bs-navigation-header.entry.js +1 -1
  200. package/dist/esm/bs-pagination.entry.js +1 -1
  201. package/dist/esm/bs-progress-linear.entry.js +2 -2
  202. package/dist/esm/bs-progress.entry.js +2 -2
  203. package/dist/esm/bs-radio.entry.js +1 -1
  204. package/dist/esm/bs-slider.entry.js +1 -1
  205. package/dist/esm/bs-snackbar.entry.js +1 -1
  206. package/dist/esm/bs-source-link.entry.js +2 -2
  207. package/dist/esm/bs-stepper-step.entry.js +1 -1
  208. package/dist/esm/bs-stepper.entry.js +1 -1
  209. package/dist/esm/bs-switch.entry.js +1 -1
  210. package/dist/esm/bs-tab.entry.js +1 -1
  211. package/dist/esm/bs-tabs.entry.js +1 -1
  212. package/dist/esm/bs-timepicker.entry.js +207 -0
  213. package/dist/esm/bs-toast.entry.js +1 -1
  214. package/dist/esm/bs-tooltip.entry.js +1 -1
  215. package/dist/esm/loader.js +1 -1
  216. package/dist/types/components/bs-datepicker/bs-datepicker.cmp.test.d.ts +1 -0
  217. package/dist/types/components/bs-datepicker/bs-datepicker.d.ts +136 -0
  218. package/dist/types/components/bs-datepicker/bs-datepicker.stories.d.ts +20 -0
  219. package/dist/types/components/bs-timepicker/bs-timepicker.cmp.test.d.ts +1 -0
  220. package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +101 -0
  221. package/dist/types/components/bs-timepicker/bs-timepicker.stories.d.ts +14 -0
  222. package/dist/types/components.d.ts +515 -0
  223. package/package.json +1 -1
  224. package/dist/brandsync-wc/p-7b00dd36.entry.js +0 -1
  225. package/dist/brandsync-wc/p-ae978c9a.entry.js +0 -1
  226. package/dist/brandsync-wc/p-c10d2529.entry.js +0 -1
  227. package/dist/cjs/bs-menu-item.cjs.entry.js +0 -34
  228. package/dist/components/p-Buly0d5G.js +0 -1
  229. 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
  /**
@@ -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`.
@@ -2364,6 +2461,79 @@ export namespace Components {
2364
2461
  */
2365
2462
  "value"?: string;
2366
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;
2536
+ }
2367
2537
  /**
2368
2538
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
2369
2539
  * successfully.") -- a state-specific icon, a message, and a close button.
@@ -2478,6 +2648,10 @@ export interface BsDataTableCustomEvent<T> extends CustomEvent<T> {
2478
2648
  detail: T;
2479
2649
  target: HTMLBsDataTableElement;
2480
2650
  }
2651
+ export interface BsDatepickerCustomEvent<T> extends CustomEvent<T> {
2652
+ detail: T;
2653
+ target: HTMLBsDatepickerElement;
2654
+ }
2481
2655
  export interface BsDialogCustomEvent<T> extends CustomEvent<T> {
2482
2656
  detail: T;
2483
2657
  target: HTMLBsDialogElement;
@@ -2542,6 +2716,10 @@ export interface BsTabsCustomEvent<T> extends CustomEvent<T> {
2542
2716
  detail: T;
2543
2717
  target: HTMLBsTabsElement;
2544
2718
  }
2719
+ export interface BsTimepickerCustomEvent<T> extends CustomEvent<T> {
2720
+ detail: T;
2721
+ target: HTMLBsTimepickerElement;
2722
+ }
2545
2723
  export interface BsToastCustomEvent<T> extends CustomEvent<T> {
2546
2724
  detail: T;
2547
2725
  target: HTMLBsToastElement;
@@ -3511,6 +3689,42 @@ declare global {
3511
3689
  prototype: HTMLBsDataTableElement;
3512
3690
  new (): HTMLBsDataTableElement;
3513
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
+ };
3514
3728
  interface HTMLBsDialogElementEventMap {
3515
3729
  "bsClose": void;
3516
3730
  }
@@ -4282,6 +4496,41 @@ declare global {
4282
4496
  prototype: HTMLBsTabsElement;
4283
4497
  new (): HTMLBsTabsElement;
4284
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
+ };
4285
4534
  interface HTMLBsToastElementEventMap {
4286
4535
  "bsDismiss": void;
4287
4536
  }
@@ -4369,6 +4618,7 @@ declare global {
4369
4618
  "bs-composer": HTMLBsComposerElement;
4370
4619
  "bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
4371
4620
  "bs-data-table": HTMLBsDataTableElement;
4621
+ "bs-datepicker": HTMLBsDatepickerElement;
4372
4622
  "bs-dialog": HTMLBsDialogElement;
4373
4623
  "bs-file-upload": HTMLBsFileUploadElement;
4374
4624
  "bs-file-upload-item": HTMLBsFileUploadItemElement;
@@ -4393,6 +4643,7 @@ declare global {
4393
4643
  "bs-switch": HTMLBsSwitchElement;
4394
4644
  "bs-tab": HTMLBsTabElement;
4395
4645
  "bs-tabs": HTMLBsTabsElement;
4646
+ "bs-timepicker": HTMLBsTimepickerElement;
4396
4647
  "bs-toast": HTMLBsToastElement;
4397
4648
  "bs-tooltip": HTMLBsTooltipElement;
4398
4649
  }
@@ -5686,6 +5937,111 @@ declare namespace LocalJSX {
5686
5937
  */
5687
5938
  "sortDirection"?: 'asc' | 'desc';
5688
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
+ }
5689
6045
  /**
5690
6046
  * An overlay dialog that interrupts the current flow for a focused task or confirmation.
5691
6047
  * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
@@ -6967,6 +7323,95 @@ declare namespace LocalJSX {
6967
7323
  */
6968
7324
  "value"?: string;
6969
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;
7414
+ }
6970
7415
  /**
6971
7416
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
6972
7417
  * successfully.") -- a state-specific icon, a message, and a close button.
@@ -7170,6 +7615,23 @@ declare namespace LocalJSX {
7170
7615
  "sortDirection": 'asc' | 'desc';
7171
7616
  "selectable": boolean;
7172
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
+ }
7173
7635
  interface BsDialogAttributes {
7174
7636
  "open": boolean;
7175
7637
  "heading": string;
@@ -7364,6 +7826,19 @@ declare namespace LocalJSX {
7364
7826
  "orientation": BsTabsOrientation;
7365
7827
  "value": string;
7366
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;
7841
+ }
7367
7842
  interface BsToastAttributes {
7368
7843
  "state": BsToastState;
7369
7844
  }
@@ -7400,6 +7875,7 @@ declare namespace LocalJSX {
7400
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] };
7401
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] };
7402
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] };
7403
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] };
7404
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] };
7405
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] };
@@ -7424,6 +7900,7 @@ declare namespace LocalJSX {
7424
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] };
7425
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] };
7426
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] };
7427
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] };
7428
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] };
7429
7906
  }
@@ -8059,6 +8536,26 @@ declare module "@stencil/core" {
8059
8536
  * - Deeply nested/hierarchical data — this component renders one flat row per record.
8060
8537
  */
8061
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>;
8062
8559
  /**
8063
8560
  * An overlay dialog that interrupts the current flow for a focused task or confirmation.
8064
8561
  * Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
@@ -8521,6 +9018,24 @@ declare module "@stencil/core" {
8521
9018
  * directly.
8522
9019
  */
8523
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>;
8524
9039
  /**
8525
9040
  * A transient status message for confirming the result of an action (e.g. "Files uploaded
8526
9041
  * successfully.") -- a state-specific icon, a message, and a close button.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brandsync/wc",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1 +0,0 @@
1
- import{r as e,c as i,h as s}from"./p-AgoOSYvW.js";const n=class{constructor(s){e(this,s),this.bsSelect=i(this,"bsSelect")}disabled=!1;hasIcon=!1;bsSelect;onIconSlotchange=e=>{this.hasIcon=e.target.assignedNodes().length>0};onClick=()=>{this.disabled||this.bsSelect.emit()};render(){return s("button",{key:"02e1255e64ab0bd0b283927f1321fb5e660c78b6",type:"button",part:"item",role:"menuitem",class:"bs-menu-item "+(this.disabled?"bs-menu-item--disabled":""),disabled:this.disabled,"aria-disabled":this.disabled?"true":void 0,onClick:this.onClick},s("span",{key:"fb36594dd48bd601a26d9debda9fb1c9bde37f88",part:"icon",class:"bs-menu-item__icon "+(this.hasIcon?"bs-menu-item__icon--has-content":"")},s("slot",{key:"19049f5f1f79e6136cd9cc8bcb3669ff97d79c18",name:"icon",onSlotchange:this.onIconSlotchange})),s("span",{key:"6ac351a3d3a07bea5bbb5f69bd58c1a7189283fe",part:"label",class:"bs-menu-item__label"},s("slot",{key:"04215578eb545d824c090cb72f1e493474dca409"})))}};n.style=":host{display:block;--bs-menu-item-radius:var(--bs-border-radius-100);--bs-menu-item-padding-y:var(--bs-spacing-100);--bs-menu-item-padding-x:var(--bs-spacing-150);--bs-menu-item-gap:var(--bs-spacing-100);--bs-menu-item-hover:var(--bs-color-neutral-container-hover);--bs-menu-item-pressed:var(--bs-color-neutral-container-pressed);--bs-menu-item-disabled-bg:var(--bs-surface-action-disabled);--bs-menu-item-icon-color:var(--bs-icon-default);--bs-menu-item-icon-color-disabled:var(--bs-icon-disabled);--bs-menu-item-color:var(--bs-text-muted);--bs-menu-item-color-disabled:var(--bs-text-on-disabled);--bs-menu-item-font-size:var(--bs-font-size-md);--bs-menu-item-line-height:var(--bs-line-height-body-md)}.bs-menu-item{box-sizing:border-box;display:flex;align-items:center;width:100%;height:48px;border:none;cursor:pointer;background:transparent;color:var(--bs-menu-item-color);font-family:inherit;border-radius:var(--bs-menu-item-radius);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);gap:var(--bs-menu-item-gap);transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-menu-item:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-menu-item:hover{background:var(--bs-menu-item-hover)}.bs-menu-item:active{background:var(--bs-menu-item-pressed)}.bs-menu-item--disabled{background:var(--bs-menu-item-disabled-bg);color:var(--bs-menu-item-color-disabled);cursor:not-allowed}.bs-menu-item--disabled:hover,.bs-menu-item--disabled:active{background:var(--bs-menu-item-disabled-bg)}.bs-menu-item--disabled .bs-menu-item__icon{color:var(--bs-menu-item-icon-color-disabled)}.bs-menu-item__icon{display:none;width:24px;height:24px;flex-shrink:0;color:var(--bs-menu-item-icon-color)}.bs-menu-item__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-menu-item__icon ::slotted(svg){width:24px;height:24px}.bs-menu-item__label{font-size:var(--bs-menu-item-font-size);line-height:calc(var(--bs-menu-item-line-height) * 1px);white-space:nowrap}";export{n as bs_menu_item}