bitboss-ui 3.0.0-beta.47 → 3.0.0-beta.49

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 (398) hide show
  1. package/README.md +24 -7
  2. package/bin/bitboss-ui-mcp.mjs +15 -3
  3. package/bin/bitboss-ui.mjs +167 -14
  4. package/dist/ai/BbAccordion.md +1 -1
  5. package/dist/ai/BbAvatar.md +1 -1
  6. package/dist/ai/BbBreadcrumbs.md +65 -65
  7. package/dist/ai/BbButton.md +28 -8
  8. package/dist/ai/BbCheckbox.md +0 -2
  9. package/dist/ai/BbCheckboxGroup.md +13 -20
  10. package/dist/ai/BbCollapsible.md +1 -1
  11. package/dist/ai/BbColorPalette.md +1 -1
  12. package/dist/ai/BbConfirm.md +8 -0
  13. package/dist/ai/BbConfirmPortal.md +1 -1
  14. package/dist/ai/BbDatePickerInput.md +4 -2
  15. package/dist/ai/BbDialog.md +1 -8
  16. package/dist/ai/BbDropdown.md +231 -220
  17. package/dist/ai/BbDropdownButton.md +65 -65
  18. package/dist/ai/BbDropdownGroup.md +2 -2
  19. package/dist/ai/BbDropzone.md +10 -10
  20. package/dist/ai/BbForm.md +43 -52
  21. package/dist/ai/BbHoverCard.md +19 -7
  22. package/dist/ai/BbHoverCardPortal.md +1 -1
  23. package/dist/ai/BbNumberInput.md +88 -21
  24. package/dist/ai/BbPopover.md +47 -40
  25. package/dist/ai/BbPopoverPortal.md +1 -1
  26. package/dist/ai/BbProgress.md +48 -22
  27. package/dist/ai/BbRadioGroup.md +13 -19
  28. package/dist/ai/BbSelect.md +16 -36
  29. package/dist/ai/BbSelectPopover.md +14 -30
  30. package/dist/ai/BbSmoothHeight.md +0 -2
  31. package/dist/ai/BbSwitchGroup.md +13 -20
  32. package/dist/ai/BbTable.md +11 -10
  33. package/dist/ai/BbTabs.md +107 -106
  34. package/dist/ai/BbTabsList.md +2 -2
  35. package/dist/ai/BbTabsPanels.md +1 -1
  36. package/dist/ai/BbTabsRoot.md +3 -3
  37. package/dist/ai/BbTooltip.md +29 -13
  38. package/dist/ai/BbTree.md +14 -11
  39. package/dist/ai/CommonPopover.md +1 -1
  40. package/dist/ai/changelog.json +297 -6
  41. package/dist/ai/components.json +50 -45
  42. package/dist/ai/composables/useBbDropdownContext.md +16 -16
  43. package/dist/ai/composables/useBbFormField.md +5 -1
  44. package/dist/ai/composables/useBbTabsContext.md +14 -14
  45. package/dist/ai/guides/agent-contract.md +27 -27
  46. package/dist/ai/guides/ai-router.md +1 -1
  47. package/dist/ai/guides/component-picker.md +3 -3
  48. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  49. package/dist/ai/guides/icons-policy.md +10 -10
  50. package/dist/ai/guides/inertia-helpers.md +120 -67
  51. package/dist/ai/guides/installation-and-plugin-setup.md +45 -15
  52. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
  53. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
  54. package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
  55. package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
  56. package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
  57. package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
  58. package/dist/ai/guides/migration/components/bb-select.md +10 -2
  59. package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
  60. package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
  61. package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
  62. package/dist/ai/guides/migration/v2-to-v3.md +143 -28
  63. package/dist/ai/guides/migration/v3-beta-css-classes.md +29 -27
  64. package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
  65. package/dist/ai/guides/options-items-playbook.md +30 -24
  66. package/dist/ai/guides/passthrough.md +4 -4
  67. package/dist/ai/guides/preset-components.md +18 -3
  68. package/dist/ai/guides/typescript-generic-components.md +1 -1
  69. package/dist/ai/guides/validated-forms.md +11 -22
  70. package/dist/ai/guides/validation-providers.md +4 -3
  71. package/dist/ai/helpers/inertia/manifest.json +636 -0
  72. package/dist/ai/helpers/inertia/types.ts +15 -0
  73. package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
  74. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
  75. package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
  76. package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
  77. package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
  78. package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
  79. package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
  80. package/dist/ai/helpers/inertia/useLoading.ts +20 -0
  81. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
  82. package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
  83. package/dist/ai/helpers/inertia/useProp.ts +63 -0
  84. package/dist/ai/helpers/inertia/useQuery.ts +19 -0
  85. package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
  86. package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
  87. package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
  88. package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
  89. package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
  90. package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
  91. package/dist/ai/helpers/inertia/useUntil.ts +33 -0
  92. package/dist/ai/helpers/inertia/utils.ts +24 -0
  93. package/dist/ai/index.md +6 -6
  94. package/dist/ai/manifest/components/BbAccordion.json +1 -1
  95. package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
  96. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  97. package/dist/ai/manifest/components/BbButton.json +2 -1
  98. package/dist/ai/manifest/components/BbButton.tree.json +1 -1
  99. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  100. package/dist/ai/manifest/components/BbCollapsible.json +1 -1
  101. package/dist/ai/manifest/components/BbColorPalette.json +1 -1
  102. package/dist/ai/manifest/components/BbConfirmPortal.json +5 -2
  103. package/dist/ai/manifest/components/BbDropdown.json +23 -20
  104. package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
  105. package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
  106. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  107. package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
  108. package/dist/ai/manifest/components/BbForm.json +1 -0
  109. package/dist/ai/manifest/components/BbHoverCard.json +1 -1
  110. package/dist/ai/manifest/components/BbHoverCardPortal.json +2 -2
  111. package/dist/ai/manifest/components/BbNumberInput.json +6 -1
  112. package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
  113. package/dist/ai/manifest/components/BbPopover.json +2 -1
  114. package/dist/ai/manifest/components/BbPopoverPortal.json +2 -2
  115. package/dist/ai/manifest/components/BbProgress.json +6 -6
  116. package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
  117. package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
  118. package/dist/ai/manifest/components/BbSelect.json +2 -2
  119. package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
  120. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  121. package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
  122. package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
  123. package/dist/ai/manifest/components/BbTabs.json +8 -7
  124. package/dist/ai/manifest/components/BbTabsList.json +3 -3
  125. package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
  126. package/dist/ai/manifest/components/BbTabsRoot.json +6 -5
  127. package/dist/ai/manifest/components/BbTag.tree.json +1 -1
  128. package/dist/ai/manifest/components/BbTooltip.json +2 -2
  129. package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
  130. package/dist/ai/manifest/components/CommonPopover.json +1 -1
  131. package/dist/ai/manifest/index.json +2 -2
  132. package/dist/ai/manifest/meta.json +5 -0
  133. package/dist/ai/manifest/types.advanced.json +10 -9
  134. package/dist/ai/manifest/types.api.json +8 -5
  135. package/dist/ai/manifest/types.wrapper.json +1 -0
  136. package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
  137. package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
  138. package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
  139. package/dist/ai/recipes/inertia/onboarding.md +6 -10
  140. package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
  141. package/dist/ai/recipes/inertia/record-form.md +11 -11
  142. package/dist/ai/recipes/inertia/records-workspace.md +38 -41
  143. package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
  144. package/dist/ai/recipes/inertia/upload-center.md +31 -39
  145. package/dist/ai/recipes/inertia/wizard-form.md +10 -19
  146. package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
  147. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
  148. package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
  149. package/dist/ai/recipes/nuxt/onboarding.md +2 -6
  150. package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
  151. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  152. package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
  153. package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
  154. package/dist/ai/recipes/nuxt/upload-center.md +22 -29
  155. package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
  156. package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
  157. package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
  158. package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
  159. package/dist/ai/recipes/vue/onboarding.md +2 -6
  160. package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
  161. package/dist/ai/recipes/vue/record-form.md +5 -5
  162. package/dist/ai/recipes/vue/records-workspace.md +29 -31
  163. package/dist/ai/recipes/vue/settings-workspace.md +22 -34
  164. package/dist/ai/recipes/vue/upload-center.md +22 -29
  165. package/dist/ai/recipes/vue/wizard-form.md +3 -11
  166. package/dist/ai/source/BbAccordion.md +1 -1
  167. package/dist/ai/source/BbAlert.md +3 -3
  168. package/dist/ai/source/BbBadge.md +14 -10
  169. package/dist/ai/source/BbBadgeButton.md +17 -12
  170. package/dist/ai/source/BbBaseButton.md +1 -1
  171. package/dist/ai/source/BbBaseRadioIcon.md +1 -0
  172. package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
  173. package/dist/ai/source/BbBreadcrumbs.md +63 -42
  174. package/dist/ai/source/BbButton.md +84 -38
  175. package/dist/ai/source/BbCalendar.md +17 -16
  176. package/dist/ai/source/BbCheckbox.md +3 -2
  177. package/dist/ai/source/BbCheckboxGroup.md +11 -4
  178. package/dist/ai/source/BbCollapsible.md +2 -1
  179. package/dist/ai/source/BbColorInput.md +10 -9
  180. package/dist/ai/source/BbColorPalette.md +2 -1
  181. package/dist/ai/source/BbConfirm.md +18 -1
  182. package/dist/ai/source/BbConfirmPortal.md +20 -6
  183. package/dist/ai/source/BbDatePicker.md +2 -2
  184. package/dist/ai/source/BbDatePickerInput.md +47 -20
  185. package/dist/ai/source/BbDialog.md +5 -5
  186. package/dist/ai/source/BbDropdown.md +231 -158
  187. package/dist/ai/source/BbDropdownButton.md +19 -12
  188. package/dist/ai/source/BbDropdownGroup.md +127 -93
  189. package/dist/ai/source/BbForm.md +25 -1
  190. package/dist/ai/source/BbHoverCard.md +30 -3
  191. package/dist/ai/source/BbHoverCardPortal.md +18 -3
  192. package/dist/ai/source/BbIndicator.md +4 -0
  193. package/dist/ai/source/BbNumberInput.md +855 -19
  194. package/dist/ai/source/BbOffCanvas.md +27 -11
  195. package/dist/ai/source/BbPagination.md +3 -3
  196. package/dist/ai/source/BbPopover.md +185 -12
  197. package/dist/ai/source/BbPopoverPortal.md +30 -3
  198. package/dist/ai/source/BbProgress.md +82 -18
  199. package/dist/ai/source/BbRadioGroup.md +12 -5
  200. package/dist/ai/source/BbRating.md +11 -9
  201. package/dist/ai/source/BbSelect.md +16 -10
  202. package/dist/ai/source/BbSelectPopover.md +29 -23
  203. package/dist/ai/source/BbSlider.md +12 -6
  204. package/dist/ai/source/BbSwitch.md +3 -2
  205. package/dist/ai/source/BbSwitchGroup.md +5 -2
  206. package/dist/ai/source/BbTable.md +102 -18
  207. package/dist/ai/source/BbTabs.md +30 -24
  208. package/dist/ai/source/BbTabsList.md +29 -23
  209. package/dist/ai/source/BbTabsPanels.md +29 -23
  210. package/dist/ai/source/BbTabsRoot.md +28 -22
  211. package/dist/ai/source/BbTag.md +10 -9
  212. package/dist/ai/source/BbTextInput.md +5 -4
  213. package/dist/ai/source/BbTextarea.md +6 -5
  214. package/dist/ai/source/BbTimePicker.md +1 -1
  215. package/dist/ai/source/BbTimePickerInput.md +46 -9
  216. package/dist/ai/source/BbToast.md +10 -7
  217. package/dist/ai/source/BbToastPortal.md +10 -7
  218. package/dist/ai/source/BbTooltip.md +88 -11
  219. package/dist/ai/source/BbTree.md +21 -3
  220. package/dist/ai/source/CommonField.md +6 -4
  221. package/dist/ai/source/CommonFieldInput.md +15 -10
  222. package/dist/ai/source/CommonPopover.md +8 -1
  223. package/dist/ai/source/CommonTimeSelector.md +5 -4
  224. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
  225. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
  226. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
  227. package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
  228. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +88 -70
  229. package/dist/components/BbButton/toggleRoving.d.ts +6 -0
  230. package/dist/components/BbButton/toggleRoving.js +45 -0
  231. package/dist/components/BbButton/types.d.ts +12 -4
  232. package/dist/components/BbButton/types.js +5 -1
  233. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
  234. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
  235. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
  236. package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
  237. package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
  238. package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
  239. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
  240. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
  241. package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
  242. package/dist/components/BbCollapsible/types.d.ts +2 -1
  243. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
  244. package/dist/components/BbColorPalette/types.d.ts +2 -1
  245. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +2 -5
  246. package/dist/components/BbConfirm/types.d.ts +15 -0
  247. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
  248. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
  249. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
  250. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
  251. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
  252. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
  253. package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
  254. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
  255. package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
  256. package/dist/components/BbDropdown/normalizeGroups.js +60 -46
  257. package/dist/components/BbDropdown/types.d.ts +120 -88
  258. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
  259. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  260. package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
  261. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
  262. package/dist/components/BbForm/BbFormCustomField.js +1 -1
  263. package/dist/components/BbForm/bindFormField.js +2 -1
  264. package/dist/components/BbForm/formFields.d.ts +5 -0
  265. package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +145 -142
  266. package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
  267. package/dist/components/BbHoverCard/types.d.ts +14 -1
  268. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
  269. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
  270. package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
  271. package/dist/components/BbNumberInput/numberDisplay.js +499 -0
  272. package/dist/components/BbNumberInput/types.d.ts +54 -1
  273. package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
  274. package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
  275. package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
  276. package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
  277. package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
  278. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
  279. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
  280. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -162
  281. package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
  282. package/dist/components/BbPopover/types.d.ts +26 -1
  283. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
  284. package/dist/components/BbProgress/types.d.ts +23 -7
  285. package/dist/components/BbProgress/types.js +1 -1
  286. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
  287. package/dist/components/BbRadioGroup/types.d.ts +6 -2
  288. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
  289. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
  290. package/dist/components/BbSelect/types.d.ts +6 -2
  291. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  292. package/dist/components/BbSelectPopover/types.d.ts +6 -2
  293. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
  294. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
  295. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
  296. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
  297. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
  298. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
  299. package/dist/components/BbTabs/types.d.ts +28 -22
  300. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
  301. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
  302. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
  303. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
  304. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +99 -86
  305. package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
  306. package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
  307. package/dist/components/BbTooltip/types.d.ts +10 -3
  308. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
  309. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
  310. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
  311. package/dist/components/CommonPopover/types.d.ts +2 -1
  312. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
  313. package/dist/composables/formSubmitLock.d.ts +6 -0
  314. package/dist/composables/formSubmitLock.js +4 -0
  315. package/dist/composables/useBaseOptions.d.ts +7 -1
  316. package/dist/composables/useBaseOptions.js +32 -32
  317. package/dist/composables/useBbDropdownContext.d.ts +8 -8
  318. package/dist/composables/useBbFormField.d.ts +9 -0
  319. package/dist/composables/useBbFormField.js +5 -3
  320. package/dist/composables/useBbTabsContext.d.ts +10 -10
  321. package/dist/composables/useBbTabsContext.js +18 -18
  322. package/dist/composables/useFormBinding.d.ts +11 -0
  323. package/dist/composables/useFormBinding.js +15 -13
  324. package/dist/composables/useItemText.d.ts +5 -1
  325. package/dist/composables/useItemText.js +8 -3
  326. package/dist/composables/useItemValue.d.ts +5 -1
  327. package/dist/composables/useItemValue.js +8 -3
  328. package/dist/composables/useLocale.js +10 -9
  329. package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
  330. package/dist/deprecation/ai-deprecations.json.js +1 -1
  331. package/dist/deprecation/removedProps.js +1 -1
  332. package/dist/directives/bbDropdown.js +1 -1
  333. package/dist/directives/directivePortal.d.ts +13 -7
  334. package/dist/directives/directivePortal.js +1 -4
  335. package/dist/i18n/index.d.ts +7 -12
  336. package/dist/i18n/locales/cs.json +11 -14
  337. package/dist/i18n/locales/da.json +13 -16
  338. package/dist/i18n/locales/de-CH.json +137 -0
  339. package/dist/i18n/locales/de.json +14 -17
  340. package/dist/i18n/locales/el.json +10 -13
  341. package/dist/i18n/locales/en-GB.json +137 -0
  342. package/dist/i18n/locales/en.json +8 -11
  343. package/dist/i18n/locales/es-MX.json +137 -0
  344. package/dist/i18n/locales/es.json +16 -19
  345. package/dist/i18n/locales/fi.json +8 -11
  346. package/dist/i18n/locales/fr.json +23 -26
  347. package/dist/i18n/locales/hu.json +8 -11
  348. package/dist/i18n/locales/it.json +12 -15
  349. package/dist/i18n/locales/ja.json +13 -16
  350. package/dist/i18n/locales/ko.json +10 -13
  351. package/dist/i18n/locales/nb.json +13 -16
  352. package/dist/i18n/locales/nl.json +21 -24
  353. package/dist/i18n/locales/pl.json +10 -13
  354. package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
  355. package/dist/i18n/locales/pt-PT.json +137 -0
  356. package/dist/i18n/locales/ro.json +22 -25
  357. package/dist/i18n/locales/ru.json +11 -14
  358. package/dist/i18n/locales/sv.json +16 -19
  359. package/dist/i18n/locales/tr.json +14 -17
  360. package/dist/i18n/locales/uk.json +11 -14
  361. package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
  362. package/dist/i18n/locales/zh-HK.json +137 -0
  363. package/dist/i18n/locales/zh-TW.json +137 -0
  364. package/dist/i18n/regionHints.d.ts +16 -0
  365. package/dist/i18n/regionHints.js +49 -0
  366. package/dist/i18n/regions.d.ts +286 -0
  367. package/dist/i18n/regions.js +265 -0
  368. package/dist/index.d.ts +4 -4
  369. package/dist/index.js +4 -4
  370. package/dist/llms-full.txt +1914 -1714
  371. package/dist/llms-medium.txt +76 -46
  372. package/dist/llms.txt +7 -7
  373. package/dist/locale-blueprint.json +16 -13
  374. package/dist/styles.css +2 -2
  375. package/dist/types/passthrough.d.ts +1 -1
  376. package/dist/types/ptComponentMap.d.ts +2 -2
  377. package/dist/utilities/functions/slotKey.d.ts +2 -2
  378. package/dist/utils/versionCheck.js +1 -1
  379. package/dist/vite-plugin.d.ts +22 -19
  380. package/dist/vite.js +309 -297
  381. package/llms.txt +7 -7
  382. package/package.json +5 -3
  383. package/scripts/lib/agent-manifest.mjs +2 -1
  384. package/scripts/lib/eslint-disable.mjs +17 -4
  385. package/scripts/lib/eslint-plugin.d.ts +9 -1
  386. package/scripts/lib/eslint-plugin.mjs +256 -6
  387. package/scripts/lib/helper-canon.mjs +176 -0
  388. package/scripts/lib/helpers-add.mjs +1303 -0
  389. package/scripts/lib/local-components.mjs +33 -4
  390. package/scripts/lib/locale-check.mjs +165 -0
  391. package/scripts/lib/portal-names.mjs +458 -0
  392. package/scripts/lib/redundant-item-accessor.mjs +398 -0
  393. package/scripts/lib/renamed-item-field.mjs +343 -0
  394. package/scripts/lib/slot-key.mjs +2 -2
  395. package/scripts/lib/slot-renames.mjs +1 -1
  396. package/scripts/lib/unimported-components.mjs +5 -2
  397. package/scripts/lib/validate-bb-markup.mjs +123 -56
  398. package/dist/i18n/index.js +0 -27
@@ -1,6 +1,6 @@
1
1
  import { useConfig as e } from "../../composables/useConfig.js";
2
- import t from "../BbBaseButton/BbBaseButton.vue.js";
3
- import { useLocale as n } from "../../composables/useLocale.js";
2
+ import { useLocale as t } from "../../composables/useLocale.js";
3
+ import n from "../BbBaseButton/BbBaseButton.vue.js";
4
4
  import { useTypeahead as r } from "../../composables/useTypeahead.js";
5
5
  import { chunk as i } from "../../utilities/functions/chunk.js";
6
6
  import { useCalendarContext as a } from "./useCalendarContext.js";
@@ -9,7 +9,7 @@ import { Fragment as o, computed as s, createBlock as c, createElementBlock as l
9
9
  var D = ["aria-label", "role"], O = ["role"], k = ["role"], A = 3, j = /*@__PURE__*/ f({
10
10
  __name: "CalendarMonthPanel",
11
11
  setup(f, { expose: j }) {
12
- let M = e(), N = a(), { t: P } = n(), { cursor: F, disabled: I, monthOptions: L, typeaheadResetKey: R } = N, z = s(() => F.value.month()), B = s(() => N.terminalUnit.value === "month"), V = (e) => F.value.set("month", e), H = y(null), U = s(() => L.value.map((e) => {
12
+ let M = e(), N = a(), { t: P } = t(), { cursor: F, disabled: I, monthOptions: L, typeaheadResetKey: R } = N, z = s(() => F.value.month()), B = s(() => N.terminalUnit.value === "month"), V = (e) => F.value.set("month", e), H = y(null), U = s(() => L.value.map((e) => {
13
13
  if (!B.value) return {
14
14
  ...e,
15
15
  selected: e.value === (H.value ?? z.value),
@@ -51,24 +51,24 @@ var D = ["aria-label", "role"], O = ["role"], k = ["role"], A = 3, j = /*@__PURE
51
51
  await m(), B.value || K(z.value);
52
52
  }), g(() => {
53
53
  X();
54
- }), j({ processKey: Y }), (e, n) => (v(), l("div", {
54
+ }), j({ processKey: Y }), (e, t) => (v(), l("div", {
55
55
  ref_key: "container",
56
56
  ref: G,
57
57
  "aria-label": S(P)("datePicker.monthSelectorLabel").value,
58
58
  class: h(["bb-calendar__button-menu bb-calendar__month-selector", { "bb-calendar__button-menu--terminal": B.value }]),
59
59
  role: B.value ? "grid" : "group",
60
- onKeydownCapture: n[0] ||= (...e) => S(Y) && S(Y)(...e),
60
+ onKeydownCapture: t[0] ||= (...e) => S(Y) && S(Y)(...e),
61
61
  onKeydown: [
62
- n[1] ||= T(E((e) => B.value && q(3), ["prevent"]), ["down"]),
63
- n[2] ||= T(E((e) => B.value && K(11), ["prevent"]), ["end"]),
64
- n[3] ||= T(E((e) => B.value && K(0), ["prevent"]), ["home"]),
65
- n[4] ||= T(E((e) => B.value && q(-1), ["prevent"]), ["left"]),
66
- n[5] ||= T(E((e) => B.value && J(1), ["prevent"]), ["page-down"]),
67
- n[6] ||= T(E((e) => B.value && J(-1), ["prevent"]), ["page-up"]),
68
- n[7] ||= T(E((e) => B.value && q(1), ["prevent"]), ["right"]),
69
- n[8] ||= T(E((e) => B.value && q(-3), ["prevent"]), ["up"])
62
+ t[1] ||= T(E((e) => B.value && q(3), ["prevent"]), ["down"]),
63
+ t[2] ||= T(E((e) => B.value && K(11), ["prevent"]), ["end"]),
64
+ t[3] ||= T(E((e) => B.value && K(0), ["prevent"]), ["home"]),
65
+ t[4] ||= T(E((e) => B.value && q(-1), ["prevent"]), ["left"]),
66
+ t[5] ||= T(E((e) => B.value && J(1), ["prevent"]), ["page-down"]),
67
+ t[6] ||= T(E((e) => B.value && J(-1), ["prevent"]), ["page-up"]),
68
+ t[7] ||= T(E((e) => B.value && q(1), ["prevent"]), ["right"]),
69
+ t[8] ||= T(E((e) => B.value && q(-3), ["prevent"]), ["up"])
70
70
  ],
71
- onMouseleave: n[9] ||= (e) => B.value && S(N).setHoveredUnit(null)
71
+ onMouseleave: t[9] ||= (e) => B.value && S(N).setHoveredUnit(null)
72
72
  }, [u("div", {
73
73
  class: "bb-calendar__menu-grid",
74
74
  role: B.value ? "none" : void 0
@@ -76,7 +76,7 @@ var D = ["aria-label", "role"], O = ["role"], k = ["role"], A = 3, j = /*@__PURE
76
76
  key: e[0].key,
77
77
  class: "bb-calendar__menu-row",
78
78
  role: B.value ? "row" : void 0
79
- }, [(v(!0), l(o, null, b(e, (e) => (v(), c(t, p({
79
+ }, [(v(!0), l(o, null, b(e, (e) => (v(), c(n, p({
80
80
  key: e.key,
81
81
  "aria-current": e.cursored ? "date" : void 0,
82
82
  "aria-label": e.ariaLabel,
@@ -1,5 +1,5 @@
1
- import e from "../BbBaseButton/BbBaseButton.vue.js";
2
- import { useLocale as t } from "../../composables/useLocale.js";
1
+ import { useLocale as e } from "../../composables/useLocale.js";
2
+ import t from "../BbBaseButton/BbBaseButton.vue.js";
3
3
  import { useTypeahead as n } from "../../composables/useTypeahead.js";
4
4
  import { chunk as r } from "../../utilities/functions/chunk.js";
5
5
  import { useCalendarContext as i } from "./useCalendarContext.js";
@@ -9,7 +9,7 @@ import { Fragment as o, computed as s, createBlock as c, createElementBlock as l
9
9
  var T = ["aria-label", "role"], E = ["role"], D = ["role"], O = 10, k = 3, A = 2, j = /*@__PURE__*/ f({
10
10
  __name: "CalendarYearPanel",
11
11
  setup(f, { expose: j }) {
12
- let M = i(), { t: N } = t(), { boundYears: P, cursor: F, disabled: I, yearToken: L, typeaheadResetKey: R } = M, z = s(() => F.value.year()), B = s(() => M.terminalUnit.value === "year"), V = (e) => F.value.set("year", e), H = y(null), U = y(z.value - A * k), W = y(z.value + O * k), G = s(() => a(U.value, W.value + 1).map((e) => {
12
+ let M = i(), { t: N } = e(), { boundYears: P, cursor: F, disabled: I, yearToken: L, typeaheadResetKey: R } = M, z = s(() => F.value.year()), B = s(() => M.terminalUnit.value === "year"), V = (e) => F.value.set("year", e), H = y(null), U = y(z.value - A * k), W = y(z.value + O * k), G = s(() => a(U.value, W.value + 1).map((e) => {
13
13
  let t = {
14
14
  key: e,
15
15
  text: e,
@@ -66,7 +66,7 @@ var T = ["aria-label", "role"], E = ["role"], D = ["role"], O = 10, k = 3, A = 2
66
66
  q.value && (await Q(), B.value || J(z.value));
67
67
  }), g(() => {
68
68
  X();
69
- }), j({ processKey: Y }), (t, n) => (v(), l("div", {
69
+ }), j({ processKey: Y }), (e, n) => (v(), l("div", {
70
70
  ref_key: "container",
71
71
  ref: q,
72
72
  "aria-label": S(N)("datePicker.yearSelectorLabel").value,
@@ -79,38 +79,38 @@ var T = ["aria-label", "role"], E = ["role"], D = ["role"], O = 10, k = 3, A = 2
79
79
  "data-bb-no-drag": "",
80
80
  role: B.value ? "none" : void 0,
81
81
  onScrollPassive: $
82
- }, [(v(!0), l(o, null, b(K.value, (t) => (v(), l("div", {
83
- key: t[0].key,
82
+ }, [(v(!0), l(o, null, b(K.value, (e) => (v(), l("div", {
83
+ key: e[0].key,
84
84
  class: "bb-calendar__menu-row",
85
85
  role: B.value ? "row" : void 0
86
- }, [(v(!0), l(o, null, b(t, (t) => (v(), c(e, p({
87
- key: t.key,
88
- "aria-current": t.cursored ? "date" : void 0,
89
- "aria-pressed": B.value ? void 0 : t.selected,
90
- "aria-selected": B.value ? t.selected : void 0,
86
+ }, [(v(!0), l(o, null, b(e, (e) => (v(), c(t, p({
87
+ key: e.key,
88
+ "aria-current": e.cursored ? "date" : void 0,
89
+ "aria-pressed": B.value ? void 0 : e.selected,
90
+ "aria-selected": B.value ? e.selected : void 0,
91
91
  class: ["bb-calendar__year-item bb-calendar__menu-btn", {
92
- "bb-calendar__menu-btn--selected": t.selected,
93
- "bb-calendar__menu-btn--first": t.first,
94
- "bb-calendar__menu-btn--highlighted": t.cursored,
95
- "bb-calendar__menu-btn--last": t.last,
96
- "bb-calendar__menu-btn--middle": t.middle,
97
- "bb-calendar__menu-btn--preview": t.preview
92
+ "bb-calendar__menu-btn--selected": e.selected,
93
+ "bb-calendar__menu-btn--first": e.first,
94
+ "bb-calendar__menu-btn--highlighted": e.cursored,
95
+ "bb-calendar__menu-btn--last": e.last,
96
+ "bb-calendar__menu-btn--middle": e.middle,
97
+ "bb-calendar__menu-btn--preview": e.preview
98
98
  }],
99
- "data-year": t.value,
100
- disabled: S(I) || t.disabled,
99
+ "data-year": e.value,
100
+ disabled: S(I) || e.disabled,
101
101
  role: B.value ? "gridcell" : void 0,
102
- onClick: (e) => S(M).selectYear(t.value),
103
- onMouseenter: (e) => B.value && S(M).setHoveredUnit(V(t.value)),
102
+ onClick: (t) => S(M).selectYear(e.value),
103
+ onMouseenter: (t) => B.value && S(M).setHoveredUnit(V(e.value)),
104
104
  ref_for: !0
105
105
  }, S(M).passthrough?.part?.("yearItem", {
106
- inRange: t.middle,
107
- selected: t.selected,
108
- rangeStart: t.first,
109
- rangeEnd: t.last,
110
- disabled: t.disabled || void 0,
111
- highlighted: t.cursored
106
+ inRange: e.middle,
107
+ selected: e.selected,
108
+ rangeStart: e.first,
109
+ rangeEnd: e.last,
110
+ disabled: e.disabled || void 0,
111
+ highlighted: e.cursored
112
112
  })), {
113
- default: w(() => [d(x(t.text), 1)]),
113
+ default: w(() => [d(x(e.text), 1)]),
114
114
  _: 2
115
115
  }, 1040, [
116
116
  "aria-current",
@@ -6,101 +6,103 @@ import { normalizeSearchToken as i, useTypeahead as a } from "../../composables/
6
6
  import { isCoarseType as o, unitOfType as s } from "../../types/DatePickerType.js";
7
7
  import { toInnerValue as c, toOuterValue as l } from "../../utilities/functions/convertDateValue.js";
8
8
  import { provideCalendarContext as u } from "./useCalendarContext.js";
9
- import { dayjsLocaleOf as d } from "./useDayjsLocale.js";
9
+ import { dayjsLocaleOf as d, formatDateOf as f } from "./useDayjsLocale.js";
10
10
  import { useToday as ee } from "./useToday.js";
11
11
  import { identity as te } from "../../utilities/functions/identity.js";
12
12
  import { isDateDisabled as ne } from "../../utilities/functions/isDateDisabled.js";
13
13
  import { isNotNil as re } from "../../utilities/functions/isNotNil.js";
14
14
  import { last as ie } from "../../utilities/functions/last.js";
15
- import { normalizeDateBound as f } from "../../utilities/functions/normalizeDateBound.js";
16
- import { sort as p } from "../../utilities/functions/sort.js";
17
- import { validateDateFormat as m } from "../../utilities/functions/validateDateFormat.js";
18
- import { computed as h, nextTick as g, ref as _, watch as v } from "vue";
15
+ import { normalizeDateBound as p } from "../../utilities/functions/normalizeDateBound.js";
16
+ import { sort as m } from "../../utilities/functions/sort.js";
17
+ import { validateDateFormat as h } from "../../utilities/functions/validateDateFormat.js";
18
+ import { computed as g, nextTick as ae, ref as _, watch as v } from "vue";
19
19
  import y from "dayjs";
20
- import ae from "dayjs/plugin/isSameOrAfter";
21
- import oe from "dayjs/plugin/isSameOrBefore";
22
- import se from "dayjs/plugin/weekOfYear";
20
+ import oe from "dayjs/plugin/isSameOrAfter";
21
+ import se from "dayjs/plugin/isSameOrBefore";
22
+ import ce from "dayjs/plugin/weekOfYear";
23
23
  //#region src/components/BbCalendar/useCalendarGrid.ts
24
- var b = ({ props: b, firstDayOfWeek: x, floating: S, min: ce, max: C, modelValue: w, pick: le, passthrough: ue }) => {
25
- y.extend(se), y.extend(ae), y.extend(oe);
26
- let T = t(), { t: E } = r(), D = e();
27
- b.multiple && b.range && D.throw("Date picker cannot be both multiple and range.");
28
- let O = h(() => o(b.type)), k = h(() => s(b.type)), A = h(() => f(ce(), b.type, "min", (e) => D.warn(`Date picker: ${e}`))), j = h(() => f(C(), b.type, "max", (e) => D.warn(`Date picker: ${e}`)));
29
- if (!O.value) {
30
- let e = ce();
31
- e && m(e, "Min");
32
- let t = C();
33
- t && m(t, "Max");
24
+ var b = ({ props: b, firstDayOfWeek: x, floating: S, min: C, max: w, modelValue: T, pick: le, passthrough: ue }) => {
25
+ y.extend(ce), y.extend(oe), y.extend(se);
26
+ let E = t(), { t: D } = r(), O = e();
27
+ b.multiple && b.range && O.throw("Date picker cannot be both multiple and range.");
28
+ let k = g(() => o(b.type)), A = g(() => s(b.type)), j = g(() => p(C(), b.type, "min", (e) => O.warn(`Date picker: ${e}`))), M = g(() => p(w(), b.type, "max", (e) => O.warn(`Date picker: ${e}`)));
29
+ if (!k.value) {
30
+ let e = C();
31
+ e && h(e, "Min");
32
+ let t = w();
33
+ t && h(t, "Max");
34
34
  }
35
- let M = h(() => ({
35
+ let de = g(() => ({
36
36
  floating: S(),
37
37
  utc: b.utc,
38
38
  type: b.type
39
- })), N = (e) => c(e, M.value), { today: de, isHydrated: fe } = ee(), P = _(de.value), F = (e) => {
39
+ })), N = (e) => c(e, de.value), { today: P, isHydrated: fe } = ee(), F = _(P.value), I = (e) => {
40
40
  if (!e) return null;
41
41
  let t = N(e);
42
42
  return t.isValid() ? t : null;
43
- }, I = () => {
44
- let e = de.value, t = F(A.value), n = F(j.value);
45
- return t && e.isBefore(t, k.value) ? t.startOf(k.value) : n && e.isAfter(n, k.value) ? n.startOf(k.value) : e;
46
- }, L = (e) => {
43
+ }, L = () => {
44
+ let e = P.value, t = I(j.value), n = I(M.value);
45
+ return t && e.isBefore(t, A.value) ? t.startOf(A.value) : n && e.isAfter(n, A.value) ? n.startOf(A.value) : e;
46
+ }, R = (e) => {
47
47
  if (!e) {
48
- P.value = I();
48
+ F.value = L();
49
49
  return;
50
50
  }
51
51
  if (Array.isArray(e)) {
52
52
  if (e.length === 0) {
53
- P.value = I();
53
+ F.value = L();
54
54
  return;
55
55
  }
56
- let t = e.map((e) => N(e).startOf(k.value).valueOf()), n = P.value.valueOf();
56
+ let t = e.map((e) => N(e).startOf(A.value).valueOf()), n = F.value.valueOf();
57
57
  if (t.includes(n)) return;
58
- P.value = N(ie(e) ?? "").startOf(k.value);
58
+ F.value = N(ie(e) ?? "").startOf(A.value);
59
59
  return;
60
60
  }
61
- P.value = N(e).startOf(k.value);
61
+ F.value = N(e).startOf(A.value);
62
62
  };
63
- L(w());
64
- let pe = P.value, me = (e) => !e || Array.isArray(e) && e.length === 0;
63
+ R(T());
64
+ let pe = F.value, me = (e) => !e || Array.isArray(e) && e.length === 0;
65
65
  v(fe, (e) => {
66
- !e || !me(w()) || P.value.isSame(pe) && (P.value = I());
66
+ !e || !me(T()) || F.value.isSame(pe) && (F.value = L());
67
67
  });
68
- let R = h(() => O.value ? k.value : "day"), z = _(R.value);
69
- v(R, (e) => {
70
- z.value = e;
71
- });
72
- let B = _(null), V = _(null), he = (e) => {
68
+ let z = g(() => k.value ? A.value : "day"), B = _(z.value);
69
+ v(z, (e) => {
73
70
  B.value = e;
74
- }, ge = (e) => {
71
+ });
72
+ let V = _(null), H = _(null), he = (e) => {
75
73
  V.value = e;
76
- }, H = _(0), U = () => {
77
- H.value += 1;
74
+ }, ge = (e) => {
75
+ H.value = e;
76
+ }, U = _(0), W = () => {
77
+ U.value += 1;
78
78
  }, _e = (e) => {
79
- e === R.value || b.type === "year" || (z.value = z.value === e ? R.value : e, U());
80
- }, W = h(() => P.value.locale(d(T.locale)).format("MMMM")), G = h(() => P.value.format("YYYY")), ve = h(() => `${W.value}, ${E("datePicker.monthLabel").value}`), ye = h(() => `${G.value}, ${E("datePicker.yearLabel").value}`), be = h(() => {
81
- let e = P.value.startOf("month"), t = P.value.endOf("month"), n = (e.day() - x() + 7) % 7, r = ((x() + 6) % 7 - t.day() + 7) % 7 + 1;
82
- return (P.value.daysInMonth() - 1 + n + r) / 7;
83
- }), xe = h(() => z.value === "month" ? E("datePicker.selectingMonth").value : z.value === "year" ? E("datePicker.selectingYear").value : ""), Se = h(() => {
84
- if (b.type === "year") return G.value;
85
- if (b.type === "month") return `${W.value} ${G.value}`;
86
- let e = P.value.locale(d(T.locale));
87
- return `${e.format("ddd")}, ${e.format("D")} ${W.value}`;
88
- }), K = (e) => {
89
- P.value = P.value.set("month", e);
90
- }, q = h(() => b.type === "month" ? "year" : "month"), Ce = () => {
91
- Z.value = null, P.value = P.value.subtract(1, q.value);
92
- }, we = () => {
93
- Z.value = null, P.value = P.value.add(1, q.value);
94
- }, Te = (e) => {
95
- let t = F(A.value);
96
- return !t || t.isBefore(P.value.startOf(e));
79
+ e === z.value || b.type === "year" || (B.value = B.value === e ? z.value : e, W());
80
+ }, ve = g(() => F.value.locale(d(E.locale)).format("MMMM")), G = g(() => F.value.format("YYYY")), ye = g(() => `${ve.value}, ${D("datePicker.monthLabel").value}`), be = g(() => `${G.value}, ${D("datePicker.yearLabel").value}`), xe = g(() => {
81
+ let e = F.value.startOf("month"), t = F.value.endOf("month"), n = (e.day() - x() + 7) % 7, r = ((x() + 6) % 7 - t.day() + 7) % 7 + 1;
82
+ return (F.value.daysInMonth() - 1 + n + r) / 7;
83
+ }), Se = g(() => B.value === "month" ? D("datePicker.selectingMonth").value : B.value === "year" ? D("datePicker.selectingYear").value : ""), Ce = g(() => b.type === "year" ? G.value : b.type === "month" ? f(F.value, E.locale, {
84
+ year: "numeric",
85
+ month: "long"
86
+ }) : f(F.value, E.locale, {
87
+ weekday: "short",
88
+ day: "numeric",
89
+ month: "long"
90
+ })), K = (e) => {
91
+ F.value = F.value.set("month", e);
92
+ }, q = g(() => b.type === "month" ? "year" : "month"), we = () => {
93
+ Z.value = null, F.value = F.value.subtract(1, q.value);
94
+ }, Te = () => {
95
+ Z.value = null, F.value = F.value.add(1, q.value);
97
96
  }, Ee = (e) => {
98
- let t = F(j.value);
99
- return !t || t.isAfter(P.value.endOf(e));
100
- }, De = h(() => Te(q.value)), Oe = h(() => Ee(q.value)), ke = h(() => Te("year") || Ee("year")), Ae = h(() => O.value ? E("datePicker.previousYearLabel").value : E("datePicker.previousMonthLabel").value), je = h(() => O.value ? E("datePicker.nextYearLabel").value : E("datePicker.nextMonthLabel").value), J = (e) => {
101
- P.value = P.value.set("year", e);
102
- }, Y = h(() => {
103
- let e = P.value.startOf("year"), t = T.locale;
97
+ let t = I(j.value);
98
+ return !t || t.isBefore(F.value.startOf(e));
99
+ }, De = (e) => {
100
+ let t = I(M.value);
101
+ return !t || t.isAfter(F.value.endOf(e));
102
+ }, Oe = g(() => Ee(q.value)), ke = g(() => De(q.value)), Ae = g(() => Ee("year") || De("year")), je = g(() => k.value ? D("datePicker.previousYearLabel").value : D("datePicker.previousMonthLabel").value), Me = g(() => k.value ? D("datePicker.nextYearLabel").value : D("datePicker.nextMonthLabel").value), J = (e) => {
103
+ F.value = F.value.set("year", e);
104
+ }, Y = g(() => {
105
+ let e = F.value.startOf("year"), t = E.locale;
104
106
  return Array.from({ length: 12 }, (n, r) => {
105
107
  let a = e.add(r, "month"), o = a.locale(d(t)), s = o.format("MMMM"), c = o.format("MMM");
106
108
  return {
@@ -116,8 +118,8 @@ var b = ({ props: b, firstDayOfWeek: x, floating: S, min: ce, max: C, modelValue
116
118
  value: r
117
119
  };
118
120
  });
119
- }), Me = (e) => i(String(e), "en"), Ne = h(() => {
120
- let e = [].concat(w()).filter(te).map((e) => N(e).startOf(k.value).valueOf()), t = e.length ? Math.min(...e) : Infinity, n = e.length ? Math.max(...e) : -Infinity, r = {};
121
+ }), Ne = (e) => i(String(e), "en"), Pe = g(() => {
122
+ let e = [].concat(T()).filter(te).map((e) => N(e).startOf(A.value).valueOf()), t = e.length ? Math.min(...e) : Infinity, n = e.length ? Math.max(...e) : -Infinity, r = {};
121
123
  return e.forEach((e, t) => {
122
124
  r[e] = t;
123
125
  }), {
@@ -128,151 +130,151 @@ var b = ({ props: b, firstDayOfWeek: x, floating: S, min: ce, max: C, modelValue
128
130
  isLast: (e) => e.valueOf() === n,
129
131
  isBetween: (e) => e.valueOf() > t && e.valueOf() < n
130
132
  };
131
- }), X = h(() => {
132
- let e = w();
133
+ }), X = g(() => {
134
+ let e = T();
133
135
  return !!b.range && Array.isArray(e) && e.length === 1;
134
- }), Z = _(null), Pe = (e) => {
136
+ }), Z = _(null), Fe = (e) => {
135
137
  Z.value = X.value && e ? e.valueOf() : null;
136
- }, Fe = (e) => ne(e, {
137
- min: A.value,
138
- max: j.value,
138
+ }, Ie = (e) => ne(e, {
139
+ min: j.value,
140
+ max: M.value,
139
141
  selectable: b.selectable,
140
142
  floating: S(),
141
143
  utc: b.utc,
142
144
  type: b.type
143
- }), Ie = (e) => {
144
- let t = e.startOf(k.value), n = Ne.value, r = t.valueOf(), i = n.selected(t), a = !!b.range && n.isFirst(t), o = !!b.range && n.isLast(t), s = X.value ? n.min : null, c = X.value ? Z.value : null, l = s !== null && c !== null ? Math.min(s, c) : null, u = s !== null && c !== null ? Math.max(s, c) : null;
145
+ }), Le = (e) => {
146
+ let t = e.startOf(A.value), n = Pe.value, r = t.valueOf(), i = n.selected(t), a = !!b.range && n.isFirst(t), o = !!b.range && n.isLast(t), s = X.value ? n.min : null, c = X.value ? Z.value : null, l = s !== null && c !== null ? Math.min(s, c) : null, u = s !== null && c !== null ? Math.max(s, c) : null;
145
147
  return {
146
148
  selected: i,
147
149
  first: a,
148
150
  last: o,
149
151
  middle: !!b.range && !a && !o && n.isBetween(t),
150
152
  preview: l !== null && u !== null && l !== u && r >= l && r <= u,
151
- disabled: b.disabled === !0 || Fe(t)
153
+ disabled: b.disabled === !0 || Ie(t)
152
154
  };
153
- }, Le = (e) => {
155
+ }, Re = (e) => {
154
156
  if (b.readonly) return;
155
- let t = e.startOf(k.value);
156
- if (Fe(t)) return;
157
- let n = l(t, M.value), r = Ie(t), i = w();
157
+ let t = e.startOf(A.value);
158
+ if (Ie(t)) return;
159
+ let n = l(t, de.value), r = Le(t), i = T();
158
160
  if (b.range) {
159
161
  if (!Array.isArray(i)) return;
160
- i.length === 1 ? $(p([i[0], n])) : $([n]), Z.value = null;
162
+ i.length === 1 ? $(m([i[0], n])) : $([n]), Z.value = null;
161
163
  return;
162
164
  }
163
165
  if (b.multiple) {
164
166
  if (!Array.isArray(i)) return;
165
- $(r.selected ? i.filter((e) => e !== n) : p([...i, n]));
167
+ $(r.selected ? i.filter((e) => e !== n) : m([...i, n]));
166
168
  return;
167
169
  }
168
170
  $(r.selected ? null : n);
169
171
  };
170
172
  u({
171
173
  passthrough: ue,
172
- cursor: P,
173
- disabled: h(() => b.disabled === !0),
174
+ cursor: F,
175
+ disabled: g(() => b.disabled === !0),
174
176
  monthOptions: Y,
175
- yearToken: Me,
176
- typeaheadResetKey: H,
177
+ yearToken: Ne,
178
+ typeaheadResetKey: U,
177
179
  selectMonth: (e) => {
178
- if (O.value) {
179
- Le(P.value.set("month", e)), K(e);
180
+ if (k.value) {
181
+ Re(F.value.set("month", e)), K(e);
180
182
  return;
181
183
  }
182
- K(e), U(), z.value = R.value, g(() => {
183
- B.value?.$el instanceof HTMLElement && B.value.$el.focus();
184
+ K(e), W(), B.value = z.value, ae(() => {
185
+ V.value?.$el instanceof HTMLElement && V.value.$el.focus();
184
186
  });
185
187
  },
186
188
  selectYear: (e) => {
187
189
  if (b.type === "year") {
188
- Le(P.value.set("year", e)), J(e);
190
+ Re(F.value.set("year", e)), J(e);
189
191
  return;
190
192
  }
191
- J(e), U(), z.value = R.value, g(() => {
192
- V.value?.$el instanceof HTMLElement && V.value.$el.focus();
193
+ J(e), W(), B.value = z.value, ae(() => {
194
+ H.value?.$el instanceof HTMLElement && H.value.$el.focus();
193
195
  });
194
196
  },
195
- terminalUnit: h(() => b.type === "month" || b.type === "year" ? b.type : null),
196
- boundYears: h(() => {
197
+ terminalUnit: g(() => b.type === "month" || b.type === "year" ? b.type : null),
198
+ boundYears: g(() => {
197
199
  let e = (e) => {
198
200
  if (!e) return null;
199
201
  let t = N(e);
200
202
  return t.isValid() ? t.year() : null;
201
203
  };
202
204
  return {
203
- min: e(A.value),
204
- max: e(j.value)
205
+ min: e(j.value),
206
+ max: e(M.value)
205
207
  };
206
208
  }),
207
- unitState: Ie,
208
- setHoveredUnit: Pe
209
+ unitState: Le,
210
+ setHoveredUnit: Fe
209
211
  });
210
- let { onKeydown: Re, reset: ze } = a({
212
+ let { onKeydown: ze, reset: Be } = a({
211
213
  candidates: () => Y.value,
212
214
  getTokens: (e) => e.tokens,
213
- getCurrent: () => Y.value.find((e) => e.value === P.value.month()),
215
+ getCurrent: () => Y.value.find((e) => e.value === F.value.month()),
214
216
  onMatch: () => {},
215
217
  onCommit: (e) => K(e.value),
216
218
  autoCommit: !0,
217
- locale: () => T.locale
218
- }), Be = (e) => {
219
- e.key === "Enter" || z.value !== R.value || Re(e);
220
- }, Ve = h(() => {
221
- let e = P.value.year(), t = [];
219
+ locale: () => E.locale
220
+ }), Ve = (e) => {
221
+ e.key === "Enter" || B.value !== z.value || ze(e);
222
+ }, He = g(() => {
223
+ let e = F.value.year(), t = [];
222
224
  for (let n = e - 100; n <= e + 100; n++) t.push({
223
225
  value: n,
224
- token: Me(n)
226
+ token: Ne(n)
225
227
  });
226
228
  return t;
227
- }), { onKeydown: He, reset: Ue } = a({
228
- candidates: () => Ve.value,
229
+ }), { onKeydown: Ue, reset: We } = a({
230
+ candidates: () => He.value,
229
231
  getTokens: (e) => [e.token],
230
- getCurrent: () => Ve.value.find((e) => e.value === P.value.year()),
232
+ getCurrent: () => He.value.find((e) => e.value === F.value.year()),
231
233
  onMatch: () => {},
232
234
  onCommit: (e) => J(e.value),
233
235
  autoCommit: !0,
234
236
  locale: () => "en"
235
- }), We = (e) => {
236
- e.key === "Enter" || z.value !== R.value || He(e);
237
+ }), Ge = (e) => {
238
+ e.key === "Enter" || B.value !== z.value || Ue(e);
237
239
  };
238
- v(H, () => {
239
- ze(), Ue();
240
+ v(U, () => {
241
+ Be(), We();
240
242
  });
241
- let Ge = (e) => {
242
- P.value = e;
243
- }, Q = _(w()), $ = (e) => {
243
+ let Ke = (e) => {
244
+ F.value = e;
245
+ }, Q = _(T()), $ = (e) => {
244
246
  Q.value = e, le(e);
245
247
  };
246
- return v(() => w(), () => {
247
- n(w()) !== n(Q.value) && (Q.value = w(), L(w()));
248
+ return v(() => T(), () => {
249
+ n(T()) !== n(Q.value) && (Q.value = T(), R(T()));
248
250
  }), {
249
- isCoarse: O,
250
- homeMode: R,
251
- mode: z,
252
- cursor: P,
253
- weeksInMonth: be,
254
- formattedMonth: W,
251
+ isCoarse: k,
252
+ homeMode: z,
253
+ mode: B,
254
+ cursor: F,
255
+ weeksInMonth: xe,
256
+ formattedMonth: ve,
255
257
  formattedYear: G,
256
- monthHeadingLabel: ve,
257
- yearHeadingLabel: ye,
258
- cursorAnnouncement: Se,
259
- modeAnnouncement: xe,
260
- previousPageLabel: Ae,
261
- nextPageLabel: je,
262
- canPagePrevious: De,
263
- canPageNext: Oe,
264
- canOpenYearPanel: ke,
265
- goToPreviousPage: Ce,
266
- goToNextPage: we,
258
+ monthHeadingLabel: ye,
259
+ yearHeadingLabel: be,
260
+ cursorAnnouncement: Ce,
261
+ modeAnnouncement: Se,
262
+ previousPageLabel: je,
263
+ nextPageLabel: Me,
264
+ canPagePrevious: Oe,
265
+ canPageNext: ke,
266
+ canOpenYearPanel: Ae,
267
+ goToPreviousPage: we,
268
+ goToNextPage: Te,
267
269
  toggleMode: _e,
268
- onMonthHeadingKeydown: Be,
269
- onYearHeadingKeydown: We,
270
+ onMonthHeadingKeydown: Ve,
271
+ onYearHeadingKeydown: Ge,
270
272
  setMonthHeadingButton: he,
271
273
  setYearHeadingButton: ge,
272
- handleCursorUpdate: Ge,
274
+ handleCursorUpdate: Ke,
273
275
  updateModelValue: $,
274
276
  resetStatus: () => {
275
- z.value = R.value;
277
+ B.value = z.value;
276
278
  }
277
279
  };
278
280
  }, x = Symbol("BbCalendarGrid");
@@ -10,32 +10,55 @@ import { Dayjs } from 'dayjs';
10
10
  */
11
11
  export declare const useDayjsLocale: () => void;
12
12
  /**
13
- * The dayjs name of a library locale key (`pt` → `pt-br`), for the explicit
14
- * `.locale()` calls: a Dayjs instance keeps the locale it was made in, so a
15
- * key dayjs doesn't know (`pt`) would leave it in the previous language.
13
+ * The dayjs name of a library locale key (`pt-BR` → `pt-br`), for the
14
+ * explicit `.locale()` calls: a Dayjs instance keeps the locale it was made
15
+ * in, so a key dayjs doesn't know (`pt-BR`) would leave it in the previous
16
+ * language.
16
17
  */
17
18
  export declare const dayjsLocaleOf: (key: string) => string;
18
19
  /**
19
20
  * The first day of the week of a library locale key (0 = Sunday … 6 =
20
21
  * Saturday), from the dayjs pack the plugin bundled — the `firstDayOfWeek`
21
22
  * default (Q60.13, owner 2026-10-06). A pack without `weekStart` means Sunday,
22
- * which is dayjs's own convention and CLDR's for the default regions: bare
23
- * `en` (dayjs core) is US English, `pt` is the pt-br pack (Brazil). A key with
24
- * no pack falls back to `en` like the names do. Not `Intl.Locale` week info:
25
- * Firefox has none.
23
+ * which is dayjs's own convention and CLDR's for the regions that use it: bare
24
+ * `en` (dayjs core) is US English, `pt-BR` and `zh-TW` are Sunday packs,
25
+ * `fr-CA` / `en-CA` too. Where a pack disagrees with CLDR the locale table
26
+ * says so (`weekStart`: pt-PT is Sunday, its pack Monday). A key with no pack
27
+ * falls back to `en` like the names do. Not `Intl.Locale` week info: Firefox
28
+ * has none.
26
29
  */
27
30
  export declare const weekStartOf: (key: string) => number;
28
31
  /**
29
- * The date half of a locale's `LLLL` (weekday + date + time): everything
30
- * before the first time token outside a `[literal]`, minus the trailing
31
- * separators and literals that only led into the time (`, [klo]`, `[às]`).
32
- * `it` 'dddd D MMMM YYYY HH:mm' → 'dddd D MMMM YYYY'; `ja`
33
- * 'YYYY年M月D日 dddd HH:mm' → 'YYYY年M月D日 dddd'.
32
+ * The BCP 47 tag of a library locale key, full code, from the locale table
33
+ * (`it` → `it-IT`, `pt` → `pt-BR`, `zh-cn` → `zh-CN`, `de-CH` → `de-CH`):
34
+ * dates, numbers and week data follow the region. THE seam: everything that
35
+ * formats through `Intl` reads the locale here. `en-US` for a key the bundle
36
+ * did not enable (no pack, like the names) or the table does not know.
34
37
  */
35
- export declare const longDatePattern: (llll: string | undefined) => string;
38
+ export declare const intlLocaleOf: (key: string) => string;
39
+ /**
40
+ * A date (and time) spelled the locale's way, for accessible names and
41
+ * announcements, through `Intl` — CLDR, not the dayjs pack's `LL` / `LLLL`.
42
+ * The packs get the grammar wrong where it matters to a listener: cs and el
43
+ * write the month in the nominative inside a date ("7. říjen 2026" for
44
+ * "7. října 2026"), ro capitalises it, and none of them has a month-year
45
+ * format (fi `LL` minus the day reads "lokakuuta 2026", a genitive). The
46
+ * visible names (headings, month panel, weekday headers) stay dayjs.
47
+ */
48
+ export declare const formatDateOf: (date: Dayjs | Date, key: string, options: Intl.DateTimeFormatOptions) => string;
36
49
  /**
37
50
  * A day as the locale writes a full date, weekday included — "Thursday,
38
- * October 1, 2026", "giovedì 1 ottobre 2026", "2026年10月1日 木曜日" — for the
39
- * calendar's day names, from the locale pack's own `LLLL`.
51
+ * October 1, 2026", "giovedì 1 ottobre 2026", "2026年10月1日木曜日",
52
+ * "středa 7. října 2026" — for the calendar's day names.
53
+ */
54
+ /**
55
+ * The time fields of a spoken value, 12- or 24-hour as the field shows it.
56
+ * Spoken apart from the date and joined with a space by the caller: a
57
+ * combined date-time pattern carries a glue word that differs between ICU
58
+ * versions (es "…de 2026, 3:05" in Node 24, "…de 2026 a las 3:05" in
59
+ * Chromium), which would make the server-rendered name mismatch the
60
+ * hydrated one; and `dateStyle` + `timeStyle` + `h12` turns the ja date
61
+ * numeric ("2026/10/7 午後3:05").
40
62
  */
63
+ export declare const timeFieldsOf: (ampm: boolean, seconds: boolean) => Intl.DateTimeFormatOptions;
41
64
  export declare const longDateOf: (date: Dayjs, key: string) => string;