bitboss-ui 3.0.0-beta.48 → 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 (356) hide show
  1. package/README.md +24 -7
  2. package/bin/bitboss-ui-mcp.mjs +15 -3
  3. package/bin/bitboss-ui.mjs +115 -13
  4. package/dist/ai/BbAvatar.md +1 -1
  5. package/dist/ai/BbBreadcrumbs.md +65 -65
  6. package/dist/ai/BbButton.md +16 -5
  7. package/dist/ai/BbCheckbox.md +0 -2
  8. package/dist/ai/BbCheckboxGroup.md +13 -20
  9. package/dist/ai/BbDatePickerInput.md +4 -2
  10. package/dist/ai/BbDialog.md +1 -8
  11. package/dist/ai/BbDropdown.md +231 -220
  12. package/dist/ai/BbDropdownButton.md +65 -65
  13. package/dist/ai/BbDropdownGroup.md +2 -2
  14. package/dist/ai/BbDropzone.md +10 -10
  15. package/dist/ai/BbForm.md +43 -52
  16. package/dist/ai/BbHoverCard.md +4 -2
  17. package/dist/ai/BbNumberInput.md +88 -21
  18. package/dist/ai/BbPopover.md +29 -23
  19. package/dist/ai/BbProgress.md +48 -22
  20. package/dist/ai/BbRadioGroup.md +13 -19
  21. package/dist/ai/BbSelect.md +16 -36
  22. package/dist/ai/BbSelectPopover.md +14 -30
  23. package/dist/ai/BbSmoothHeight.md +0 -2
  24. package/dist/ai/BbSwitchGroup.md +13 -20
  25. package/dist/ai/BbTable.md +11 -10
  26. package/dist/ai/BbTabs.md +106 -105
  27. package/dist/ai/BbTabsList.md +2 -2
  28. package/dist/ai/BbTabsPanels.md +1 -1
  29. package/dist/ai/BbTabsRoot.md +2 -2
  30. package/dist/ai/BbTooltip.md +24 -10
  31. package/dist/ai/BbTree.md +14 -11
  32. package/dist/ai/changelog.json +256 -5
  33. package/dist/ai/components.json +36 -34
  34. package/dist/ai/composables/useBbDropdownContext.md +16 -16
  35. package/dist/ai/composables/useBbFormField.md +5 -1
  36. package/dist/ai/composables/useBbTabsContext.md +14 -14
  37. package/dist/ai/guides/agent-contract.md +27 -27
  38. package/dist/ai/guides/ai-router.md +1 -1
  39. package/dist/ai/guides/component-picker.md +3 -3
  40. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  41. package/dist/ai/guides/icons-policy.md +10 -10
  42. package/dist/ai/guides/inertia-helpers.md +120 -67
  43. package/dist/ai/guides/installation-and-plugin-setup.md +43 -15
  44. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
  45. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
  46. package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
  47. package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
  48. package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
  49. package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
  50. package/dist/ai/guides/migration/components/bb-select.md +10 -2
  51. package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
  52. package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
  53. package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
  54. package/dist/ai/guides/migration/v2-to-v3.md +114 -17
  55. package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
  56. package/dist/ai/guides/options-items-playbook.md +30 -24
  57. package/dist/ai/guides/passthrough.md +2 -2
  58. package/dist/ai/guides/preset-components.md +18 -3
  59. package/dist/ai/guides/typescript-generic-components.md +1 -1
  60. package/dist/ai/guides/validated-forms.md +11 -22
  61. package/dist/ai/guides/validation-providers.md +4 -3
  62. package/dist/ai/helpers/inertia/manifest.json +636 -0
  63. package/dist/ai/helpers/inertia/types.ts +15 -0
  64. package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
  65. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
  66. package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
  67. package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
  68. package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
  69. package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
  70. package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
  71. package/dist/ai/helpers/inertia/useLoading.ts +20 -0
  72. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
  73. package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
  74. package/dist/ai/helpers/inertia/useProp.ts +63 -0
  75. package/dist/ai/helpers/inertia/useQuery.ts +19 -0
  76. package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
  77. package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
  78. package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
  79. package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
  80. package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
  81. package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
  82. package/dist/ai/helpers/inertia/useUntil.ts +33 -0
  83. package/dist/ai/helpers/inertia/utils.ts +24 -0
  84. package/dist/ai/index.md +6 -6
  85. package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
  86. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  87. package/dist/ai/manifest/components/BbButton.json +1 -1
  88. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  89. package/dist/ai/manifest/components/BbDropdown.json +23 -20
  90. package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
  91. package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
  92. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  93. package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
  94. package/dist/ai/manifest/components/BbForm.json +1 -0
  95. package/dist/ai/manifest/components/BbNumberInput.json +6 -1
  96. package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
  97. package/dist/ai/manifest/components/BbPopover.json +1 -0
  98. package/dist/ai/manifest/components/BbProgress.json +6 -6
  99. package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
  100. package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
  101. package/dist/ai/manifest/components/BbSelect.json +2 -2
  102. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  103. package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
  104. package/dist/ai/manifest/components/BbTabs.json +7 -6
  105. package/dist/ai/manifest/components/BbTabsList.json +3 -3
  106. package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
  107. package/dist/ai/manifest/components/BbTabsRoot.json +5 -4
  108. package/dist/ai/manifest/components/BbTooltip.json +1 -1
  109. package/dist/ai/manifest/index.json +2 -2
  110. package/dist/ai/manifest/meta.json +2 -0
  111. package/dist/ai/manifest/types.advanced.json +10 -9
  112. package/dist/ai/manifest/types.api.json +5 -4
  113. package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
  114. package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
  115. package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
  116. package/dist/ai/recipes/inertia/onboarding.md +6 -10
  117. package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
  118. package/dist/ai/recipes/inertia/record-form.md +11 -11
  119. package/dist/ai/recipes/inertia/records-workspace.md +38 -41
  120. package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
  121. package/dist/ai/recipes/inertia/upload-center.md +31 -39
  122. package/dist/ai/recipes/inertia/wizard-form.md +10 -19
  123. package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
  124. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
  125. package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
  126. package/dist/ai/recipes/nuxt/onboarding.md +2 -6
  127. package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
  128. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  129. package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
  130. package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
  131. package/dist/ai/recipes/nuxt/upload-center.md +22 -29
  132. package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
  133. package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
  134. package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
  135. package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
  136. package/dist/ai/recipes/vue/onboarding.md +2 -6
  137. package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
  138. package/dist/ai/recipes/vue/record-form.md +5 -5
  139. package/dist/ai/recipes/vue/records-workspace.md +29 -31
  140. package/dist/ai/recipes/vue/settings-workspace.md +22 -34
  141. package/dist/ai/recipes/vue/upload-center.md +22 -29
  142. package/dist/ai/recipes/vue/wizard-form.md +3 -11
  143. package/dist/ai/source/BbAccordion.md +1 -1
  144. package/dist/ai/source/BbAlert.md +3 -3
  145. package/dist/ai/source/BbBadge.md +2 -2
  146. package/dist/ai/source/BbBadgeButton.md +5 -4
  147. package/dist/ai/source/BbBaseButton.md +1 -1
  148. package/dist/ai/source/BbBaseRadioIcon.md +1 -0
  149. package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
  150. package/dist/ai/source/BbBreadcrumbs.md +63 -42
  151. package/dist/ai/source/BbButton.md +71 -33
  152. package/dist/ai/source/BbCalendar.md +17 -16
  153. package/dist/ai/source/BbCheckbox.md +3 -2
  154. package/dist/ai/source/BbCheckboxGroup.md +11 -4
  155. package/dist/ai/source/BbColorInput.md +10 -9
  156. package/dist/ai/source/BbConfirm.md +1 -1
  157. package/dist/ai/source/BbConfirmPortal.md +1 -1
  158. package/dist/ai/source/BbDatePicker.md +2 -2
  159. package/dist/ai/source/BbDatePickerInput.md +47 -20
  160. package/dist/ai/source/BbDialog.md +5 -5
  161. package/dist/ai/source/BbDropdown.md +230 -158
  162. package/dist/ai/source/BbDropdownButton.md +19 -12
  163. package/dist/ai/source/BbDropdownGroup.md +126 -93
  164. package/dist/ai/source/BbForm.md +25 -1
  165. package/dist/ai/source/BbIndicator.md +4 -0
  166. package/dist/ai/source/BbNumberInput.md +855 -19
  167. package/dist/ai/source/BbOffCanvas.md +27 -11
  168. package/dist/ai/source/BbPagination.md +3 -3
  169. package/dist/ai/source/BbPopover.md +152 -8
  170. package/dist/ai/source/BbPopoverPortal.md +11 -0
  171. package/dist/ai/source/BbProgress.md +82 -18
  172. package/dist/ai/source/BbRadioGroup.md +12 -5
  173. package/dist/ai/source/BbRating.md +11 -9
  174. package/dist/ai/source/BbSelect.md +16 -10
  175. package/dist/ai/source/BbSelectPopover.md +29 -23
  176. package/dist/ai/source/BbSlider.md +12 -6
  177. package/dist/ai/source/BbSwitch.md +3 -2
  178. package/dist/ai/source/BbSwitchGroup.md +5 -2
  179. package/dist/ai/source/BbTable.md +102 -18
  180. package/dist/ai/source/BbTabs.md +27 -23
  181. package/dist/ai/source/BbTabsList.md +26 -22
  182. package/dist/ai/source/BbTabsPanels.md +26 -22
  183. package/dist/ai/source/BbTabsRoot.md +25 -21
  184. package/dist/ai/source/BbTag.md +10 -9
  185. package/dist/ai/source/BbTextInput.md +5 -4
  186. package/dist/ai/source/BbTextarea.md +6 -5
  187. package/dist/ai/source/BbTimePicker.md +1 -1
  188. package/dist/ai/source/BbTimePickerInput.md +46 -9
  189. package/dist/ai/source/BbToast.md +10 -7
  190. package/dist/ai/source/BbToastPortal.md +10 -7
  191. package/dist/ai/source/BbTooltip.md +54 -8
  192. package/dist/ai/source/BbTree.md +21 -3
  193. package/dist/ai/source/CommonField.md +6 -4
  194. package/dist/ai/source/CommonFieldInput.md +15 -10
  195. package/dist/ai/source/CommonPopover.md +6 -0
  196. package/dist/ai/source/CommonTimeSelector.md +5 -4
  197. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
  198. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
  199. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
  200. package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
  201. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +84 -71
  202. package/dist/components/BbButton/toggleRoving.d.ts +6 -0
  203. package/dist/components/BbButton/toggleRoving.js +45 -0
  204. package/dist/components/BbButton/types.d.ts +4 -1
  205. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
  206. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
  207. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
  208. package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
  209. package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
  210. package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
  211. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
  212. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
  213. package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
  214. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
  215. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
  216. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
  217. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
  218. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
  219. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
  220. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
  221. package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
  222. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
  223. package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
  224. package/dist/components/BbDropdown/normalizeGroups.js +60 -46
  225. package/dist/components/BbDropdown/types.d.ts +119 -88
  226. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
  227. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  228. package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
  229. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
  230. package/dist/components/BbForm/BbFormCustomField.js +1 -1
  231. package/dist/components/BbForm/bindFormField.js +2 -1
  232. package/dist/components/BbForm/formFields.d.ts +5 -0
  233. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
  234. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
  235. package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
  236. package/dist/components/BbNumberInput/numberDisplay.js +499 -0
  237. package/dist/components/BbNumberInput/types.d.ts +54 -1
  238. package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
  239. package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
  240. package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
  241. package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
  242. package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
  243. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
  244. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
  245. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -164
  246. package/dist/components/BbPopover/types.d.ts +11 -0
  247. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
  248. package/dist/components/BbProgress/types.d.ts +23 -7
  249. package/dist/components/BbProgress/types.js +1 -1
  250. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
  251. package/dist/components/BbRadioGroup/types.d.ts +6 -2
  252. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
  253. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
  254. package/dist/components/BbSelect/types.d.ts +6 -2
  255. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  256. package/dist/components/BbSelectPopover/types.d.ts +6 -2
  257. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
  258. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
  259. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
  260. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
  261. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
  262. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
  263. package/dist/components/BbTabs/types.d.ts +25 -21
  264. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
  265. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
  266. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
  267. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
  268. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +102 -97
  269. package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
  270. package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
  271. package/dist/components/BbTooltip/types.d.ts +7 -2
  272. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
  273. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
  274. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
  275. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
  276. package/dist/composables/formSubmitLock.d.ts +6 -0
  277. package/dist/composables/formSubmitLock.js +4 -0
  278. package/dist/composables/useBaseOptions.d.ts +7 -1
  279. package/dist/composables/useBaseOptions.js +32 -32
  280. package/dist/composables/useBbDropdownContext.d.ts +8 -8
  281. package/dist/composables/useBbFormField.d.ts +9 -0
  282. package/dist/composables/useBbFormField.js +5 -3
  283. package/dist/composables/useBbTabsContext.d.ts +10 -10
  284. package/dist/composables/useBbTabsContext.js +18 -18
  285. package/dist/composables/useFormBinding.d.ts +11 -0
  286. package/dist/composables/useFormBinding.js +15 -13
  287. package/dist/composables/useItemText.d.ts +5 -1
  288. package/dist/composables/useItemText.js +8 -3
  289. package/dist/composables/useItemValue.d.ts +5 -1
  290. package/dist/composables/useItemValue.js +8 -3
  291. package/dist/composables/useLocale.js +10 -9
  292. package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
  293. package/dist/deprecation/ai-deprecations.json.js +1 -1
  294. package/dist/deprecation/removedProps.js +1 -1
  295. package/dist/directives/bbDropdown.js +1 -1
  296. package/dist/i18n/index.d.ts +7 -12
  297. package/dist/i18n/locales/cs.json +11 -14
  298. package/dist/i18n/locales/da.json +13 -16
  299. package/dist/i18n/locales/de-CH.json +137 -0
  300. package/dist/i18n/locales/de.json +14 -17
  301. package/dist/i18n/locales/el.json +10 -13
  302. package/dist/i18n/locales/en-GB.json +137 -0
  303. package/dist/i18n/locales/en.json +8 -11
  304. package/dist/i18n/locales/es-MX.json +137 -0
  305. package/dist/i18n/locales/es.json +16 -19
  306. package/dist/i18n/locales/fi.json +8 -11
  307. package/dist/i18n/locales/fr.json +23 -26
  308. package/dist/i18n/locales/hu.json +8 -11
  309. package/dist/i18n/locales/it.json +12 -15
  310. package/dist/i18n/locales/ja.json +13 -16
  311. package/dist/i18n/locales/ko.json +10 -13
  312. package/dist/i18n/locales/nb.json +13 -16
  313. package/dist/i18n/locales/nl.json +21 -24
  314. package/dist/i18n/locales/pl.json +10 -13
  315. package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
  316. package/dist/i18n/locales/pt-PT.json +137 -0
  317. package/dist/i18n/locales/ro.json +22 -25
  318. package/dist/i18n/locales/ru.json +11 -14
  319. package/dist/i18n/locales/sv.json +16 -19
  320. package/dist/i18n/locales/tr.json +14 -17
  321. package/dist/i18n/locales/uk.json +11 -14
  322. package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
  323. package/dist/i18n/locales/zh-HK.json +137 -0
  324. package/dist/i18n/locales/zh-TW.json +137 -0
  325. package/dist/i18n/regionHints.d.ts +16 -0
  326. package/dist/i18n/regionHints.js +49 -0
  327. package/dist/i18n/regions.d.ts +286 -0
  328. package/dist/i18n/regions.js +265 -0
  329. package/dist/index.d.ts +1 -1
  330. package/dist/index.js +4 -4
  331. package/dist/llms-full.txt +1785 -1637
  332. package/dist/llms-medium.txt +74 -46
  333. package/dist/llms.txt +7 -7
  334. package/dist/locale-blueprint.json +16 -13
  335. package/dist/styles.css +2 -2
  336. package/dist/types/ptComponentMap.d.ts +1 -1
  337. package/dist/utilities/functions/slotKey.d.ts +2 -2
  338. package/dist/utils/versionCheck.js +1 -1
  339. package/dist/vite-plugin.d.ts +22 -19
  340. package/dist/vite.js +309 -297
  341. package/llms.txt +7 -7
  342. package/package.json +5 -3
  343. package/scripts/lib/agent-manifest.mjs +2 -1
  344. package/scripts/lib/eslint-disable.mjs +12 -4
  345. package/scripts/lib/eslint-plugin.d.ts +5 -1
  346. package/scripts/lib/eslint-plugin.mjs +187 -6
  347. package/scripts/lib/helper-canon.mjs +176 -0
  348. package/scripts/lib/helpers-add.mjs +1303 -0
  349. package/scripts/lib/local-components.mjs +33 -4
  350. package/scripts/lib/locale-check.mjs +165 -0
  351. package/scripts/lib/redundant-item-accessor.mjs +398 -0
  352. package/scripts/lib/renamed-item-field.mjs +343 -0
  353. package/scripts/lib/slot-key.mjs +2 -2
  354. package/scripts/lib/slot-renames.mjs +1 -1
  355. package/scripts/lib/validate-bb-markup.mjs +123 -56
  356. 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;