bitboss-ui 3.0.0-beta.2 → 3.0.0-beta.21

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 (350) hide show
  1. package/README.md +72 -33
  2. package/dist/ai/BbAccordion.md +3 -3
  3. package/dist/ai/BbAlert.md +9 -5
  4. package/dist/ai/BbAsterisk.md +17 -0
  5. package/dist/ai/BbAvatar.md +12 -3
  6. package/dist/ai/BbBadge.md +15 -10
  7. package/dist/ai/BbBadgeButton.md +16 -16
  8. package/dist/ai/BbBaseButton.md +16 -16
  9. package/dist/ai/BbBaseCheckbox.md +8 -8
  10. package/dist/ai/BbBaseCheckboxGroup.md +13 -13
  11. package/dist/ai/BbBaseCheckboxIcon.md +26 -9
  12. package/dist/ai/BbBaseColorInput.md +11 -11
  13. package/dist/ai/BbBaseDatePicker.md +6 -6
  14. package/dist/ai/BbBaseDatePickerInput.md +15 -15
  15. package/dist/ai/BbBaseInputContainer.md +12 -12
  16. package/dist/ai/BbBaseNumberInput.md +8 -8
  17. package/dist/ai/BbBaseRadio.md +5 -5
  18. package/dist/ai/BbBaseRadioGroup.md +7 -7
  19. package/dist/ai/BbBaseRadioIcon.md +25 -9
  20. package/dist/ai/BbBaseRating.md +5 -5
  21. package/dist/ai/BbBaseSelect.md +22 -21
  22. package/dist/ai/BbBaseSlider.md +9 -9
  23. package/dist/ai/BbBaseSwitch.md +8 -8
  24. package/dist/ai/BbBaseSwitchGroup.md +13 -13
  25. package/dist/ai/BbBaseSwitchIcon.md +28 -10
  26. package/dist/ai/BbBaseTag.md +10 -10
  27. package/dist/ai/BbBaseTextInput.md +9 -9
  28. package/dist/ai/BbBaseTextarea.md +9 -9
  29. package/dist/ai/BbBaseTimePickerInput.md +13 -13
  30. package/dist/ai/BbBreadcrumbs.md +2 -2
  31. package/dist/ai/BbButton.md +15 -15
  32. package/dist/ai/BbCheckbox.md +18 -17
  33. package/dist/ai/BbCheckboxGroup.md +15 -14
  34. package/dist/ai/BbCollapsible.md +11 -9
  35. package/dist/ai/BbColorInput.md +15 -15
  36. package/dist/ai/BbColorPalette.md +12 -6
  37. package/dist/ai/BbConfirm.md +12 -5
  38. package/dist/ai/BbDatePicker.md +13 -13
  39. package/dist/ai/BbDatePickerInput.md +20 -20
  40. package/dist/ai/BbDialog.md +78 -12
  41. package/dist/ai/BbDropdown.md +132 -22
  42. package/dist/ai/BbDropdownButton.md +12 -12
  43. package/dist/ai/BbDropdownGroup.md +1 -1
  44. package/dist/ai/BbDropzone.md +4 -4
  45. package/dist/ai/BbForm.md +49 -14
  46. package/dist/ai/BbIcon.md +6 -0
  47. package/dist/ai/BbIndicator.md +5 -5
  48. package/dist/ai/BbNumberInput.md +11 -11
  49. package/dist/ai/BbOffCanvas.md +90 -20
  50. package/dist/ai/BbPagination.md +3 -3
  51. package/dist/ai/BbPopover.md +32 -17
  52. package/dist/ai/BbProgress.md +7 -4
  53. package/dist/ai/BbRadio.md +16 -15
  54. package/dist/ai/BbRadioGroup.md +20 -17
  55. package/dist/ai/BbRating.md +11 -11
  56. package/dist/ai/BbSelect.md +138 -37
  57. package/dist/ai/BbSelectPopover.md +40 -41
  58. package/dist/ai/BbSlider.md +37 -22
  59. package/dist/ai/BbSmoothHeight.md +1 -1
  60. package/dist/ai/BbSwitch.md +25 -10
  61. package/dist/ai/BbSwitchGroup.md +17 -14
  62. package/dist/ai/BbTable.md +920 -109
  63. package/dist/ai/BbTabs.md +28 -14
  64. package/dist/ai/BbTabsList.md +1 -1
  65. package/dist/ai/BbTabsPanes.md +1 -1
  66. package/dist/ai/BbTabsRoot.md +10 -10
  67. package/dist/ai/BbTag.md +14 -14
  68. package/dist/ai/BbTextInput.md +16 -15
  69. package/dist/ai/BbTextarea.md +13 -13
  70. package/dist/ai/BbTimePicker.md +10 -10
  71. package/dist/ai/BbTimePickerInput.md +17 -17
  72. package/dist/ai/BbToast.md +1 -1
  73. package/dist/ai/BbToastPortal.md +1 -1
  74. package/dist/ai/BbTooltip.md +12 -10
  75. package/dist/ai/BbTree.md +1 -1
  76. package/dist/ai/ChipsBox.md +1 -1
  77. package/dist/ai/CommonInputWrapper.md +10 -10
  78. package/dist/ai/CommonPopover.md +6 -6
  79. package/dist/ai/FlatListBox.md +5 -5
  80. package/dist/ai/GroupedListBox.md +5 -5
  81. package/dist/ai/ListBox.md +4 -4
  82. package/dist/ai/OptionsContainer.md +4 -4
  83. package/dist/ai/changelog.json +128 -2
  84. package/dist/ai/components.json +917 -100
  85. package/dist/ai/composables/useBbConfig.md +72 -11
  86. package/dist/ai/composables/useConfirm.md +5 -3
  87. package/dist/ai/guides/ai-router.md +9 -4
  88. package/dist/ai/guides/component-picker.md +18 -18
  89. package/dist/ai/guides/design-language.md +14 -14
  90. package/dist/ai/guides/design-tokens.md +25 -18
  91. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  92. package/dist/ai/guides/icons-policy.md +11 -5
  93. package/dist/ai/guides/installation-and-plugin-setup.md +85 -23
  94. package/dist/ai/guides/migration/components/bb-checkbox-group.md +30 -0
  95. package/dist/ai/guides/migration/components/bb-checkbox.md +37 -3
  96. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  97. package/dist/ai/guides/migration/components/bb-dialog.md +62 -34
  98. package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -13
  99. package/dist/ai/guides/migration/components/bb-rating.md +8 -2
  100. package/dist/ai/guides/migration/components/bb-select.md +5 -2
  101. package/dist/ai/guides/migration/components/bb-table.md +560 -28
  102. package/dist/ai/guides/migration/components/bb-text-input.md +6 -6
  103. package/dist/ai/guides/migration/v2-to-v3.md +260 -89
  104. package/dist/ai/guides/ssr-prefill.md +120 -0
  105. package/dist/ai/index.md +10 -9
  106. package/dist/ai/recipes/inertia/approvals-inbox.md +0 -1
  107. package/dist/ai/recipes/inertia/inline-edit-workspace.md +0 -1
  108. package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
  109. package/dist/ai/recipes/inertia/ownership-atlas.md +49 -29
  110. package/dist/ai/recipes/inertia/record-form.md +0 -1
  111. package/dist/ai/recipes/inertia/records-workspace.md +26 -8
  112. package/dist/ai/recipes/inertia/upload-center.md +0 -1
  113. package/dist/ai/recipes/nuxt/approvals-inbox.md +0 -1
  114. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +0 -1
  115. package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
  116. package/dist/ai/recipes/nuxt/record-form.md +0 -1
  117. package/dist/ai/recipes/nuxt/records-workspace.md +26 -8
  118. package/dist/ai/recipes/nuxt/upload-center.md +0 -1
  119. package/dist/ai/recipes/vue/approvals-inbox.md +0 -1
  120. package/dist/ai/recipes/vue/inline-edit-workspace.md +0 -1
  121. package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
  122. package/dist/ai/recipes/vue/records-workspace.md +26 -8
  123. package/dist/ai/recipes/vue/upload-center.md +0 -1
  124. package/dist/ai/source/BbAlert.md +60 -2
  125. package/dist/ai/source/BbAvatar.md +3 -3
  126. package/dist/ai/source/BbBadge.md +60 -15
  127. package/dist/ai/source/BbBadgeButton.md +8 -2
  128. package/dist/ai/source/BbBaseButton.md +3 -1
  129. package/dist/ai/source/BbBaseCheckboxGroup.md +6 -2
  130. package/dist/ai/source/BbBaseDatePicker.md +3 -1
  131. package/dist/ai/source/BbBaseDatePickerInput.md +5 -1
  132. package/dist/ai/source/BbBaseInputContainer.md +52 -1
  133. package/dist/ai/source/BbBaseRadioGroup.md +4 -0
  134. package/dist/ai/source/BbBaseRating.md +3 -1
  135. package/dist/ai/source/BbBaseSelect.md +71 -16
  136. package/dist/ai/source/BbBaseSwitchGroup.md +4 -0
  137. package/dist/ai/source/BbBaseTimePickerInput.md +5 -1
  138. package/dist/ai/source/BbBreadcrumbs.md +31 -0
  139. package/dist/ai/source/BbButton.md +51 -24
  140. package/dist/ai/source/BbCheckbox.md +15 -1
  141. package/dist/ai/source/BbCheckboxGroup.md +2 -1
  142. package/dist/ai/source/BbCollapsible.md +7 -1
  143. package/dist/ai/source/BbColorInput.md +3 -4
  144. package/dist/ai/source/BbColorPalette.md +3 -4
  145. package/dist/ai/source/BbDatePicker.md +5 -1
  146. package/dist/ai/source/BbDatePickerInput.md +5 -1
  147. package/dist/ai/source/BbDialog.md +175 -19
  148. package/dist/ai/source/BbDropdown.md +376 -69
  149. package/dist/ai/source/BbDropdownGroup.md +330 -59
  150. package/dist/ai/source/BbForm.md +93 -5
  151. package/dist/ai/source/BbIcon.md +46 -36
  152. package/dist/ai/source/BbNumberInput.md +3 -4
  153. package/dist/ai/source/BbOffCanvas.md +474 -194
  154. package/dist/ai/source/BbPopover.md +24 -17
  155. package/dist/ai/source/BbProgress.md +2 -2
  156. package/dist/ai/source/BbRadio.md +15 -1
  157. package/dist/ai/source/BbRadioGroup.md +3 -1
  158. package/dist/ai/source/BbSelect.md +50 -2
  159. package/dist/ai/source/BbSelectPopover.md +171 -23
  160. package/dist/ai/source/BbSlider.md +3 -4
  161. package/dist/ai/source/BbSwitch.md +15 -1
  162. package/dist/ai/source/BbSwitchGroup.md +8 -5
  163. package/dist/ai/source/BbTable.md +5092 -1446
  164. package/dist/ai/source/BbTabs.md +6 -7
  165. package/dist/ai/source/BbTabsList.md +6 -7
  166. package/dist/ai/source/BbTabsPanes.md +6 -7
  167. package/dist/ai/source/BbTabsRoot.md +6 -7
  168. package/dist/ai/source/BbTag.md +3 -4
  169. package/dist/ai/source/BbTextInput.md +3 -4
  170. package/dist/ai/source/BbTextarea.md +3 -4
  171. package/dist/ai/source/BbTimePicker.md +4 -1
  172. package/dist/ai/source/BbTimePickerInput.md +5 -1
  173. package/dist/ai/source/BbToast.md +3 -1
  174. package/dist/ai/source/BbTooltip.md +5 -1
  175. package/dist/ai/source/CommonInputWrapper.md +4 -0
  176. package/dist/ai/source/CommonPopover.md +6 -0
  177. package/dist/ai/source/FlatListBox.md +11 -5
  178. package/dist/ai/source/GroupedListBox.md +7 -5
  179. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +4 -4
  180. package/dist/components/BbAlert/types.d.ts +10 -1
  181. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +1 -1
  182. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +33 -33
  183. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +22 -16
  184. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +36 -15
  185. package/dist/components/BbBadge/badgeButtonContext.d.ts +21 -8
  186. package/dist/components/BbBadge/types.d.ts +8 -2
  187. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +47 -47
  188. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +14 -14
  189. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  190. package/dist/components/BbBaseCheckboxGroup/types.d.ts +2 -2
  191. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +167 -167
  192. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +9 -9
  193. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +78 -78
  194. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +64 -64
  195. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +1 -1
  196. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +138 -138
  197. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +2 -2
  198. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +24 -22
  199. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +40 -40
  200. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +74 -65
  201. package/dist/components/BbBaseSelect/types.d.ts +22 -0
  202. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +5 -5
  203. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  204. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +1 -1
  205. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +104 -104
  206. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +35 -35
  207. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +85 -81
  208. package/dist/components/BbCheckboxGroup/types.d.ts +2 -1
  209. package/dist/components/BbCollapsible/types.d.ts +7 -1
  210. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +1 -1
  211. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +18 -18
  212. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -2
  213. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +50 -50
  214. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +17 -17
  215. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
  216. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +100 -100
  217. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +21 -21
  218. package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
  219. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +133 -107
  220. package/dist/components/BbDialog/types.d.ts +29 -2
  221. package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
  222. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +99 -100
  223. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +2 -2
  224. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +208 -201
  225. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +225 -208
  226. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +21 -21
  227. package/dist/components/BbDropdown/types.d.ts +20 -5
  228. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +5 -5
  229. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +46 -46
  230. package/dist/components/BbIcon/iconCache.d.ts +33 -0
  231. package/dist/components/BbIcon/iconCache.js +17 -0
  232. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +1 -1
  233. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +15 -15
  234. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
  235. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +254 -208
  236. package/dist/components/BbOffCanvas/types.d.ts +30 -5
  237. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  238. package/dist/components/BbPopover/BbPopover.vue.d.ts +2 -2
  239. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +149 -146
  240. package/dist/components/BbPopover/types.d.ts +3 -2
  241. package/dist/components/BbRadioGroup/types.d.ts +3 -1
  242. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +27 -23
  243. package/dist/components/BbSelect/types.d.ts +32 -0
  244. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +221 -213
  245. package/dist/components/BbSlider/BbSlider.vue.d.ts +1 -1
  246. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +20 -20
  247. package/dist/components/BbTable/BbTable.vue.d.ts +10 -4
  248. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1433 -600
  249. package/dist/components/BbTable/BbTableDataRow.d.ts +162 -0
  250. package/dist/components/BbTable/BbTableDataRow.js +136 -0
  251. package/dist/components/BbTable/BbTableExpandRow.d.ts +73 -0
  252. package/dist/components/BbTable/BbTableExpandRow.js +52 -0
  253. package/dist/components/BbTable/types.d.ts +324 -111
  254. package/dist/components/BbTable/utils.d.ts +92 -4
  255. package/dist/components/BbTable/utils.js +71 -36
  256. package/dist/components/BbTabs/types.d.ts +0 -8
  257. package/dist/components/BbTag/BbTag.vue.d.ts +1 -1
  258. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +18 -18
  259. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +1 -1
  260. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +18 -18
  261. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +1 -1
  262. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +54 -54
  263. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +1 -1
  264. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +80 -80
  265. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +61 -61
  266. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +17 -17
  267. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +13 -13
  268. package/dist/components/BbTooltip/types.d.ts +5 -1
  269. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +17 -17
  270. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
  271. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  272. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +83 -83
  273. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +56 -56
  274. package/dist/composables/useBaseOptions.js +30 -20
  275. package/dist/composables/useBbConfig.d.ts +27 -6
  276. package/dist/composables/useBbConfig.js +8 -2
  277. package/dist/composables/useConfig.d.ts +59 -0
  278. package/dist/composables/useConfig.js +9 -0
  279. package/dist/composables/useItemsGetter.d.ts +11 -0
  280. package/dist/composables/useItemsGetter.js +44 -18
  281. package/dist/composables/useLocale.js +10 -7
  282. package/dist/composables/useMobile.js +5 -5
  283. package/dist/composables/usePrefill.d.ts +21 -2
  284. package/dist/composables/usePrefill.js +25 -19
  285. package/dist/composables/useSsrState.d.ts +20 -0
  286. package/dist/composables/useSsrState.js +13 -0
  287. package/dist/composables/useTableWidthContext.d.ts +24 -4
  288. package/dist/composables/useTableWidthContext.js +31 -28
  289. package/dist/composables/useToast.js +5 -5
  290. package/dist/deprecation/ai-deprecations.json.d.ts +121 -11
  291. package/dist/deprecation/ai-deprecations.json.js +1 -1
  292. package/dist/directives/bbDropdown.d.ts +15 -4
  293. package/dist/directives/bbDropdown.js +31 -9
  294. package/dist/directives/createPopoverDirective.d.ts +62 -0
  295. package/dist/directives/createPopoverDirective.js +63 -23
  296. package/dist/i18n/locales/cs.json +4 -1
  297. package/dist/i18n/locales/da.json +4 -1
  298. package/dist/i18n/locales/de.json +4 -1
  299. package/dist/i18n/locales/el.json +4 -1
  300. package/dist/i18n/locales/en.json +4 -1
  301. package/dist/i18n/locales/es.json +4 -1
  302. package/dist/i18n/locales/fi.json +4 -1
  303. package/dist/i18n/locales/fr.json +4 -1
  304. package/dist/i18n/locales/hu.json +4 -1
  305. package/dist/i18n/locales/it.json +4 -1
  306. package/dist/i18n/locales/ja.json +4 -1
  307. package/dist/i18n/locales/ko.json +4 -1
  308. package/dist/i18n/locales/nb.json +4 -1
  309. package/dist/i18n/locales/nl.json +4 -1
  310. package/dist/i18n/locales/pl.json +4 -1
  311. package/dist/i18n/locales/pt.json +4 -1
  312. package/dist/i18n/locales/ro.json +4 -1
  313. package/dist/i18n/locales/ru.json +4 -1
  314. package/dist/i18n/locales/sv.json +4 -1
  315. package/dist/i18n/locales/tr.json +4 -1
  316. package/dist/i18n/locales/uk.json +4 -1
  317. package/dist/i18n/locales/zh-cn.json +4 -1
  318. package/dist/index.d.ts +7 -2
  319. package/dist/index.js +69 -67
  320. package/dist/llms-full.txt +3997 -1458
  321. package/dist/llms-medium.txt +140 -73
  322. package/dist/llms.txt +7 -6
  323. package/dist/locale-blueprint.json +4 -1
  324. package/dist/nuxt-auto-imports.d.ts +100 -0
  325. package/dist/nuxt-auto-imports.js +55 -0
  326. package/dist/nuxt-module.d.ts +22 -1
  327. package/dist/nuxt.js +22 -8
  328. package/dist/plugin.d.ts +10 -1
  329. package/dist/plugin.js +20 -19
  330. package/dist/runtime/nuxt-plugin.js +28 -21
  331. package/dist/styles.css +1 -1
  332. package/dist/utilities/misc/listboxMetrics.d.ts +3 -3
  333. package/dist/utilities/misc/listboxMetrics.js +2 -2
  334. package/dist/utilities/misc/ssrStateInjectionKey.d.ts +42 -0
  335. package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
  336. package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +45 -27
  337. package/dist/validated/BbSelect.vue.d.ts +2 -0
  338. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
  339. package/dist/validated/useValidatedField.js +25 -23
  340. package/dist/vite.js +7 -3
  341. package/llms.txt +8 -7
  342. package/package.json +2 -2
  343. package/scripts/lib/eslint-plugin.d.ts +19 -1
  344. package/scripts/lib/eslint-plugin.mjs +155 -14
  345. package/scripts/lib/html-attributes.mjs +91 -0
  346. package/scripts/lib/validate-bb-markup.mjs +59 -11
  347. package/dist/assets/svgs/sort.svg_raw.js +0 -4
  348. package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
  349. package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
  350. package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
@@ -1,19 +1,19 @@
1
- import { useId as e } from "../../composables/useId.js";
2
- import { useLogger as t } from "../../composables/useLogger.js";
3
- import { useMobile as n } from "../../composables/useMobile.js";
4
- import r from "../BbIcon/BbIcon.vue.js";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { useId as t } from "../../composables/useId.js";
3
+ import { useLogger as n } from "../../composables/useLogger.js";
4
+ import { useMobile as r } from "../../composables/useMobile.js";
5
5
  import { useLocale as i } from "../../composables/useLocale.js";
6
- import { hash as a } from "../../utilities/functions/hash.js";
7
- import { formatOfType as o, isCoarseType as s, unitOfType as c } from "../../types/DatePickerType.js";
8
- import { toInnerValue as l, toOuterValue as u } from "../../utilities/functions/convertDateValue.js";
9
- import { normalizeDateBound as d } from "../../utilities/functions/normalizeDateBound.js";
10
- import f from "../BbDatePicker/BbDatePicker.vue.js";
11
- import ee from "../CommonInputWrapper/CommonInputWrapper.vue.js";
12
- import { isEmpty as te } from "../../utilities/functions/empty.js";
13
- import { useSegmentedFields as ne } from "../../composables/useSegmentedFields.js";
14
- import re from "../../assets/svgs/calendar.svg_raw.js";
15
- import { isNotEmpty as ie } from "../../utilities/functions/isNotEmpty.js";
16
- import { config as ae } from "virtual:bitboss-ui/config";
6
+ import a from "../BbIcon/BbIcon.vue.js";
7
+ import { hash as o } from "../../utilities/functions/hash.js";
8
+ import { formatOfType as s, isCoarseType as c, unitOfType as l } from "../../types/DatePickerType.js";
9
+ import { toInnerValue as u, toOuterValue as d } from "../../utilities/functions/convertDateValue.js";
10
+ import { normalizeDateBound as f } from "../../utilities/functions/normalizeDateBound.js";
11
+ import ee from "../BbDatePicker/BbDatePicker.vue.js";
12
+ import te from "../CommonInputWrapper/CommonInputWrapper.vue.js";
13
+ import { isEmpty as ne } from "../../utilities/functions/empty.js";
14
+ import { useSegmentedFields as re } from "../../composables/useSegmentedFields.js";
15
+ import ie from "../../assets/svgs/calendar.svg_raw.js";
16
+ import { isNotEmpty as ae } from "../../utilities/functions/isNotEmpty.js";
17
17
  import { Fragment as oe, computed as p, createBlock as se, createCommentVNode as ce, createElementBlock as m, createElementVNode as h, createSlots as le, createVNode as ue, defineComponent as de, guardReactiveProps as fe, mergeProps as pe, normalizeClass as g, normalizeProps as me, normalizeStyle as he, onBeforeUnmount as ge, openBlock as _, ref as v, renderList as _e, renderSlot as y, toDisplayString as b, unref as x, watch as ve, watchEffect as ye, withCtx as S } from "vue";
18
18
  import C from "dayjs";
19
19
  import be from "dayjs/plugin/customParseFormat";
@@ -99,41 +99,41 @@ var we = ["data-value"], Te = [
99
99
  "update:time"
100
100
  ],
101
101
  setup(de, { emit: ke }) {
102
- let T = de, E = ke, D = p(() => T.type === "datetime"), O = p(() => s(T.type)), Ae = p(() => T.floating || O.value), k = p(() => c(T.type)), je = p(() => o(T.type));
102
+ let T = de, E = ke, Ae = e(), D = p(() => T.type === "datetime"), O = p(() => c(T.type)), je = p(() => T.floating || O.value), k = p(() => l(T.type)), Me = p(() => s(T.type));
103
103
  C.extend(be), C.extend(xe), C.extend(Se), ye(() => {
104
- C.locale(Ce[ae.locale] ?? "en");
104
+ C.locale(Ce[Ae.locale] ?? "en");
105
105
  });
106
- let { t: A } = i(), j = t(), M = v(null), Me = v(null), N = T.id || `bdpi-${e().id.value}`, Ne = `bdpi-description_${N}`, Pe = p(() => {
107
- let e = [T.ariaDescribedby, Ne].filter((e) => !!e?.trim()).flatMap((e) => e.split(/\s+/)).filter(Boolean);
106
+ let { t: A } = i(), j = n(), M = v(null), Ne = v(null), N = T.id || `bdpi-${t().id.value}`, Pe = `bdpi-description_${N}`, Fe = p(() => {
107
+ let e = [T.ariaDescribedby, Pe].filter((e) => !!e?.trim()).flatMap((e) => e.split(/\s+/)).filter(Boolean);
108
108
  return Array.from(new Set(e)).join(" ");
109
- }), Fe = p(() => ie(T.modelValue)), { isMobile: P } = n(), Ie = p(() => T.disableWriting === "mobile" ? !P.value : T.disableWriting === "desktop" ? P.value : !T.disableWriting), Le = p(() => T.disableCalendar === "mobile" ? P.value : T.disableCalendar === "desktop" ? !P.value : !!T.disableCalendar), Re = p(() => !!T.readonly || !Ie.value), ze = (e) => Ie.value ? dt.value[e].kind === "enum" ? "none" : "numeric" : "none", F = (e) => e.includes("T"), I = (e) => {
109
+ }), Ie = p(() => ae(T.modelValue)), { isMobile: P } = r(), Le = p(() => T.disableWriting === "mobile" ? !P.value : T.disableWriting === "desktop" ? P.value : !T.disableWriting), Re = p(() => T.disableCalendar === "mobile" ? P.value : T.disableCalendar === "desktop" ? !P.value : !!T.disableCalendar), ze = p(() => !!T.readonly || !Le.value), Be = (e) => Le.value ? ft.value[e].kind === "enum" ? "none" : "numeric" : "none", F = (e) => e.includes("T"), I = (e) => {
110
110
  if (O.value) {
111
- let t = C(e, je.value, !0);
111
+ let t = C(e, Me.value, !0);
112
112
  return t.isValid() ? t : C(e);
113
113
  }
114
114
  return F(e) ? C(e, Oe, !0) : C(e, w, !0);
115
- }, Be = p(() => d(T.min, T.type, "min", (e) => j.warn(`BaseDatePickerInput: ${e}`))), Ve = p(() => d(T.max, T.type, "max", (e) => j.warn(`BaseDatePickerInput: ${e}`)));
116
- for (let [e, t] of [["min", T.min], ["max", T.max]]) if (t && (I(t).isValid() || j.throw(O.value ? `BaseDatePickerInput: ${e} must be a ${je.value} value (a longer date is accepted and rounded to the ${k.value}) with type="${T.type}"` : `BaseDatePickerInput: ${e} must be in the format YYYY-MM-DD or YYYY-MM-DDTHH:mm`), O.value)) {
117
- e === "min" ? Be.value : Ve.value;
115
+ }, Ve = p(() => f(T.min, T.type, "min", (e) => j.warn(`BaseDatePickerInput: ${e}`))), He = p(() => f(T.max, T.type, "max", (e) => j.warn(`BaseDatePickerInput: ${e}`)));
116
+ for (let [e, t] of [["min", T.min], ["max", T.max]]) if (t && (I(t).isValid() || j.throw(O.value ? `BaseDatePickerInput: ${e} must be a ${Me.value} value (a longer date is accepted and rounded to the ${k.value}) with type="${T.type}"` : `BaseDatePickerInput: ${e} must be in the format YYYY-MM-DD or YYYY-MM-DDTHH:mm`), O.value)) {
117
+ e === "min" ? Ve.value : He.value;
118
118
  continue;
119
119
  }
120
- let He = T.disableWriting !== !0 && T.disableWriting !== "desktop", Ue = T.disableCalendar !== !0 && T.disableCalendar !== "desktop", We = T.disableWriting !== !0 && T.disableWriting !== "mobile", Ge = T.disableCalendar !== !0 && T.disableCalendar !== "mobile";
121
- !He && !Ue && j.throw("BaseDatePickerInput: desktop users would have no interaction method — disableWriting:true (or \"desktop\") and disableCalendar:true (or \"desktop\") cannot be combined."), !We && !Ge && j.throw("BaseDatePickerInput: mobile users would have no interaction method — combine disableWriting:\"mobile\" with disableCalendar:\"desktop\" to keep calendar interaction on mobile while staying keyboard-first on desktop.");
122
- let Ke = p(() => ({
123
- floating: Ae.value,
120
+ let Ue = T.disableWriting !== !0 && T.disableWriting !== "desktop", We = T.disableCalendar !== !0 && T.disableCalendar !== "desktop", Ge = T.disableWriting !== !0 && T.disableWriting !== "mobile", Ke = T.disableCalendar !== !0 && T.disableCalendar !== "mobile";
121
+ !Ue && !We && j.throw("BaseDatePickerInput: desktop users would have no interaction method — disableWriting:true (or \"desktop\") and disableCalendar:true (or \"desktop\") cannot be combined."), !Ge && !Ke && j.throw("BaseDatePickerInput: mobile users would have no interaction method — combine disableWriting:\"mobile\" with disableCalendar:\"desktop\" to keep calendar interaction on mobile while staying keyboard-first on desktop.");
122
+ let qe = p(() => ({
123
+ floating: je.value,
124
124
  utc: T.utc,
125
125
  type: T.type
126
- })), L = (e) => u(e, Ke.value), R = (e) => l(e, Ke.value), z = v(!1), qe = () => {
126
+ })), L = (e) => d(e, qe.value), R = (e) => u(e, qe.value), z = v(!1), Je = () => {
127
127
  z.value || (E("active"), z.value = !0, document.addEventListener("focusin", B), document.addEventListener("click", B));
128
128
  }, B = (e) => {
129
129
  let t = e.target;
130
- t instanceof HTMLElement && M.value?.$el && (M.value.$el.contains(t) || Me.value?.calendarEl?.contains(t) || ($({ finalize: !0 }), Ut() && (Vt(), K()), z.value = !1, E("inactive"), document.removeEventListener("focusin", B), document.removeEventListener("click", B)));
131
- }, Je = (e, t) => {
130
+ t instanceof HTMLElement && M.value?.$el && (M.value.$el.contains(t) || Ne.value?.calendarEl?.contains(t) || ($({ finalize: !0 }), Wt() && (Ht(), K()), z.value = !1, E("inactive"), document.removeEventListener("focusin", B), document.removeEventListener("click", B)));
131
+ }, Ye = (e, t) => {
132
132
  let n = R(t);
133
133
  if (!n.isValid()) return;
134
134
  let r = W.value[e];
135
135
  r.day = n.format("DD"), r.month = n.format("MM"), r.year = n.format("YYYY");
136
- }, Ye = { "onUpdate:modelValue": (e) => {
136
+ }, Xe = { "onUpdate:modelValue": (e) => {
137
137
  if (!D.value) {
138
138
  E("update:modelValue", e);
139
139
  return;
@@ -144,48 +144,48 @@ var we = ["data-value"], Te = [
144
144
  }
145
145
  if (Array.isArray(e)) {
146
146
  let [t, n] = e;
147
- t ? Je("start", t) : W.value.start = G(), n ? Je("end", n) : W.value.end = G(), K(), $({ finalize: !1 });
147
+ t ? Ye("start", t) : W.value.start = G(), n ? Ye("end", n) : W.value.end = G(), K(), $({ finalize: !1 });
148
148
  return;
149
149
  }
150
- Je("start", e), K(), $({ finalize: !1 });
151
- } }, Xe = (e) => {
150
+ Ye("start", e), K(), $({ finalize: !1 });
151
+ } }, Ze = (e) => {
152
152
  let t = W.value[e];
153
153
  return !!(t.day && t.month && t.year && t.year.length === 4);
154
- }, Ze = v("start"), Qe = (e) => {
155
- Ze.value = e.segment, St(e);
156
- }, $e = p(() => T.range ? Xe(Ze.value) ? Ze.value : Xe("end") ? "end" : "start" : "start"), et = ({ unit: e, value: t }) => {
157
- let n = W.value[$e.value];
154
+ }, Qe = v("start"), $e = (e) => {
155
+ Qe.value = e.segment, Ct(e);
156
+ }, et = p(() => T.range ? Ze(Qe.value) ? Qe.value : Ze("end") ? "end" : "start" : "start"), tt = ({ unit: e, value: t }) => {
157
+ let n = W.value[et.value];
158
158
  e === "hour" ? J(n, parseInt(t, 10)) : n[e] = t, n.hour || (T.ampm ? n.hour = "12" : n.hour = "00"), T.ampm && !n.meridiem && (n.meridiem = "AM"), n.minute ||= "00", T.seconds && !n.second && (n.second = "00"), K(), $({ finalize: !1 });
159
- }, tt = p(() => T.type === "year" ? "YYYY" : T.type === "month" ? "MMMM YYYY" : D.value ? T.ampm ? T.seconds ? "D MMMM YYYY h:mm:ss A" : "D MMMM YYYY h:mm A" : T.seconds ? "D MMMM YYYY HH:mm:ss" : "D MMMM YYYY HH:mm" : "D MMMM YYYY"), nt = p(() => {
159
+ }, nt = p(() => T.type === "year" ? "YYYY" : T.type === "month" ? "MMMM YYYY" : D.value ? T.ampm ? T.seconds ? "D MMMM YYYY h:mm:ss A" : "D MMMM YYYY h:mm A" : T.seconds ? "D MMMM YYYY HH:mm:ss" : "D MMMM YYYY HH:mm" : "D MMMM YYYY"), rt = p(() => {
160
160
  if (T.range) {
161
161
  let [e, t] = Array.isArray(T.modelValue) ? T.modelValue : [];
162
162
  if (!e || !t) return A("baseDatePickerInput.emptyRange").value;
163
163
  let n = R(e), r = R(t);
164
- return !n.isValid() || !r.isValid() ? A("baseDatePickerInput.emptyRange").value : A("baseDatePickerInput.changeSelectionRange", n.format(tt.value), r.format(tt.value)).value;
164
+ return !n.isValid() || !r.isValid() ? A("baseDatePickerInput.emptyRange").value : A("baseDatePickerInput.changeSelectionRange", n.format(nt.value), r.format(nt.value)).value;
165
165
  }
166
166
  if (typeof T.modelValue == "string") {
167
167
  let e = R(T.modelValue);
168
- return e.isValid() ? A("baseDatePickerInput.changeSelection", e.format(tt.value)).value : A("baseDatePickerInput.emptySelection").value;
168
+ return e.isValid() ? A("baseDatePickerInput.changeSelection", e.format(nt.value)).value : A("baseDatePickerInput.emptySelection").value;
169
169
  }
170
170
  return A("baseDatePickerInput.emptySelection").value;
171
171
  }), V = (e) => {
172
172
  if (!e.isValid()) return !0;
173
- let t = !0, n = (e) => O.value ? k.value : D.value && F(e) ? "minute" : "day", r = Be.value, i = Ve.value;
173
+ let t = !0, n = (e) => O.value ? k.value : D.value && F(e) ? "minute" : "day", r = Ve.value, i = He.value;
174
174
  return r && (t &&= e.isSameOrAfter(I(r), n(r))), i && (t &&= e.isSameOrBefore(I(i), n(i))), typeof T.selectable == "function" && (t &&= T.selectable(L(e))), !t;
175
- }, rt = () => {
175
+ }, it = () => {
176
176
  T.range ? (E("update:modelValue", []), D.value && (Z.value = [], E("update:time", []))) : (E("update:modelValue", null), D.value && (Z.value = null, E("update:time", null)));
177
- }, it = /* @__PURE__ */ new Set([
177
+ }, at = /* @__PURE__ */ new Set([
178
178
  "hour",
179
179
  "minute",
180
180
  "second",
181
181
  "meridiem"
182
- ]), at = (e, t) => t === "PM" ? e === 12 ? 12 : e + 12 : e === 12 ? 0 : e, ot = (e) => {
182
+ ]), ot = (e, t) => t === "PM" ? e === 12 ? 12 : e + 12 : e === 12 ? 0 : e, st = (e) => {
183
183
  let t = e >= 12 ? "PM" : "AM", n = e % 12;
184
184
  return n === 0 && (n = 12), {
185
185
  hour: String(n).padStart(2, "0"),
186
186
  meridiem: t
187
187
  };
188
- }, st = p(() => T.type === "year" ? ["year"] : T.type === "month" ? ["month", "year"] : ae.locale === "en" ? [
188
+ }, ct = p(() => T.type === "year" ? ["year"] : T.type === "month" ? ["month", "year"] : Ae.locale === "en" ? [
189
189
  "month",
190
190
  "day",
191
191
  "year"
@@ -193,12 +193,12 @@ var we = ["data-value"], Te = [
193
193
  "day",
194
194
  "month",
195
195
  "year"
196
- ]), H = p(() => new Set(st.value)), ct = p(() => {
196
+ ]), H = p(() => new Set(ct.value)), lt = p(() => {
197
197
  if (!D.value) return [];
198
198
  let e = ["hour", "minute"];
199
199
  return T.seconds && e.push("second"), T.ampm && e.push("meridiem"), e;
200
200
  }), U = p(() => {
201
- let e = [...st.value, ...ct.value], t = e.map((e) => ({
201
+ let e = [...ct.value, ...lt.value], t = e.map((e) => ({
202
202
  segment: "start",
203
203
  field: e
204
204
  }));
@@ -208,12 +208,12 @@ var we = ["data-value"], Te = [
208
208
  field: e
209
209
  }));
210
210
  return [...t, ...n];
211
- }), lt = p(() => {
211
+ }), ut = p(() => {
212
212
  let e = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
213
213
  return U.value.forEach((n, r) => {
214
214
  e.has(n.segment) || (e.add(n.segment), t.add(r));
215
215
  }), t;
216
- }), ut = (e) => lt.value.has(e), dt = p(() => ({
216
+ }), dt = (e) => ut.value.has(e), ft = p(() => ({
217
217
  day: {
218
218
  kind: "numeric",
219
219
  maxLength: 2,
@@ -283,14 +283,14 @@ var we = ["data-value"], Te = [
283
283
  sizerMin: "AM",
284
284
  label: "AM/PM"
285
285
  }
286
- })), ft = (e, t) => {
286
+ })), pt = (e, t) => {
287
287
  if (e.segment !== t.segment) return "–";
288
288
  if (t.field === "meridiem") return "\xA0";
289
- let n = it.has(e.field), r = it.has(t.field);
289
+ let n = at.has(e.field), r = at.has(t.field);
290
290
  return n && r ? ":" : !n && r ? "\xA0" : "/";
291
- }, { fields: W, fieldRefs: pt, descriptorKey: mt, emptyFieldGroup: G, getSizedValue: ht, minChars: gt, updateAllSizedValues: K, isOwnField: _t, focusField: vt, focusFirstField: yt, segmentStatus: q, onFieldInput: bt, onFieldKeydown: xt, onFieldFocus: St, onFieldBlur: Ct, onFieldPaste: wt } = ne({
291
+ }, { fields: W, fieldRefs: mt, descriptorKey: ht, emptyFieldGroup: G, getSizedValue: gt, minChars: _t, updateAllSizedValues: K, isOwnField: vt, focusField: yt, focusFirstField: bt, segmentStatus: q, onFieldInput: xt, onFieldKeydown: St, onFieldFocus: Ct, onFieldBlur: wt, onFieldPaste: Tt } = re({
292
292
  fieldOrder: U,
293
- specs: dt,
293
+ specs: ft,
294
294
  segments: ["start", "end"],
295
295
  fieldKeys: [
296
296
  "day",
@@ -307,9 +307,9 @@ var we = ["data-value"], Te = [
307
307
  "meridiem"
308
308
  ], ["second"]],
309
309
  onDirty: () => $({ finalize: !1 })
310
- }), Tt = (e) => T.range ? `${N}-${e.segment}-${e.field}` : `${N}-${e.field}`, Et = (e) => {
310
+ }), Et = (e) => T.range ? `${N}-${e.segment}-${e.field}` : `${N}-${e.field}`, Dt = (e) => {
311
311
  if (T.name) return T.range ? `${T.name}-${e.segment}-${e.field}` : `${T.name}-${e.field}`;
312
- }, Dt = {
312
+ }, Ot = {
313
313
  day: "baseDatePickerInput.dayField",
314
314
  month: "baseDatePickerInput.monthField",
315
315
  year: "baseDatePickerInput.yearField",
@@ -317,23 +317,23 @@ var we = ["data-value"], Te = [
317
317
  minute: "baseDatePickerInput.minuteField",
318
318
  second: "baseDatePickerInput.secondField",
319
319
  meridiem: "baseDatePickerInput.meridiemField"
320
- }, Ot = (e) => {
321
- let t = A(Dt[e.field]).value;
320
+ }, kt = (e) => {
321
+ let t = A(Ot[e.field]).value;
322
322
  return T.range ? A(e.segment === "start" ? "baseDatePickerInput.startFieldLabel" : "baseDatePickerInput.endFieldLabel", t).value : t;
323
323
  }, J = (e, t) => {
324
324
  if (!T.ampm) {
325
325
  e.hour = String(t).padStart(2, "0");
326
326
  return;
327
327
  }
328
- let n = ot(t);
328
+ let n = st(t);
329
329
  e.hour = n.hour, e.meridiem = n.meridiem;
330
- }, kt = (e) => {
330
+ }, At = (e) => {
331
331
  if (!e.hour) return 0;
332
332
  let t = parseInt(e.hour, 10);
333
- return T.ampm ? at(t, e.meridiem || "AM") : t;
334
- }, At = p(() => T.seconds ? "HH:mm:ss" : "HH:mm"), jt = (e) => e.format(At.value), Mt = /^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/, Nt = (e) => {
333
+ return T.ampm ? ot(t, e.meridiem || "AM") : t;
334
+ }, jt = p(() => T.seconds ? "HH:mm:ss" : "HH:mm"), Mt = (e) => e.format(jt.value), Nt = /^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/, Pt = (e) => {
335
335
  if (!e) return null;
336
- let t = Mt.exec(e);
336
+ let t = Nt.exec(e);
337
337
  if (!t) return null;
338
338
  let [, n, r, i] = t;
339
339
  return parseInt(n, 10) > 23 || parseInt(r, 10) > 59 || i && parseInt(i, 10) > 59 ? null : {
@@ -341,29 +341,29 @@ var we = ["data-value"], Te = [
341
341
  minute: r.padStart(2, "0"),
342
342
  second: (i ?? "").padStart(i ? 2 : 0, "0")
343
343
  };
344
- }, Pt = (e, t) => {
344
+ }, Ft = (e, t) => {
345
345
  if (!D.value) return;
346
- let n = Nt(t);
346
+ let n = Pt(t);
347
347
  if (!n) {
348
348
  e.hour = "", e.minute = "", e.second = "", e.meridiem = "";
349
349
  return;
350
350
  }
351
351
  J(e, parseInt(n.hour, 10)), e.minute = n.minute, e.second = T.seconds ? n.second : "";
352
- }, Ft = p(() => T.seconds ? "baseDatePickerInput.timeFormatSeconds" : "baseDatePickerInput.timeFormat"), It = p(() => {
352
+ }, It = p(() => T.seconds ? "baseDatePickerInput.timeFormatSeconds" : "baseDatePickerInput.timeFormat"), Lt = p(() => {
353
353
  if (T.type === "month" || T.type === "year") {
354
354
  let e = T.type === "month" ? "month" : "year";
355
355
  return A(T.range ? `baseDatePickerInput.${e}FormatRange` : `baseDatePickerInput.${e}FormatSingle`).value;
356
356
  }
357
357
  if (!D.value) return A(T.range ? "baseDatePickerInput.dateFormatRange" : "baseDatePickerInput.dateFormatSingle").value;
358
- let e = `${A("baseDatePickerInput.dateFormatSingle").value} ${A(Ft.value).value}`;
358
+ let e = `${A("baseDatePickerInput.dateFormatSingle").value} ${A(It.value).value}`;
359
359
  return T.range ? `${e} – ${e}` : e;
360
- }), Lt = p(() => T.placeholder || It.value), Rt = p(() => U.value.every((e) => !W.value[e.segment][e.field])), zt = (e) => {
360
+ }), Rt = p(() => T.placeholder || Lt.value), zt = p(() => U.value.every((e) => !W.value[e.segment][e.field])), Bt = (e) => {
361
361
  if (!e) return G();
362
362
  let t = R(e);
363
363
  if (!t.isValid()) return G();
364
364
  let n = G();
365
365
  return H.value.has("day") && (n.day = t.format("DD")), H.value.has("month") && (n.month = t.format("MM")), n.year = t.format("YYYY"), D.value && !T.floating && (J(n, t.hour()), n.minute = t.format("mm"), n.second = T.seconds ? t.format("ss") : ""), n;
366
- }, Bt = (e) => Array.isArray(T.time) ? T.time[e === "start" ? 0 : 1] : e === "start" ? T.time : void 0, Y = (e) => {
366
+ }, Vt = (e) => Array.isArray(T.time) ? T.time[e === "start" ? 0 : 1] : e === "start" ? T.time : void 0, Y = (e) => {
367
367
  if (!e) {
368
368
  W.value = {
369
369
  start: G(),
@@ -374,49 +374,49 @@ var we = ["data-value"], Te = [
374
374
  if (T.range) {
375
375
  let [t, n] = Array.isArray(e) ? e : [];
376
376
  W.value = {
377
- start: zt(t),
378
- end: zt(n)
377
+ start: Bt(t),
378
+ end: Bt(n)
379
379
  };
380
380
  } else Array.isArray(e) ? W.value = {
381
381
  start: G(),
382
382
  end: G()
383
383
  } : W.value = {
384
- start: zt(e),
384
+ start: Bt(e),
385
385
  end: G()
386
386
  };
387
387
  if (D.value && T.floating) for (let e of ["start", "end"]) {
388
388
  let t = W.value[e];
389
- t.day && Pt(t, Bt(e));
389
+ t.day && Ft(t, Vt(e));
390
390
  }
391
- }, Vt = () => {
391
+ }, Ht = () => {
392
392
  Y(T.modelValue);
393
393
  };
394
394
  Y(T.modelValue), K();
395
- let Ht = (e) => {
395
+ let Ut = (e) => {
396
396
  if (!D.value || T.floating) return;
397
397
  let t;
398
- t = e ? Array.isArray(e) ? e.map((e) => jt(R(e))) : jt(R(e)) : null, Z.value = t, E("update:time", t);
398
+ t = e ? Array.isArray(e) ? e.map((e) => Mt(R(e))) : Mt(R(e)) : null, Z.value = t, E("update:time", t);
399
399
  };
400
400
  ve(() => T.modelValue, (e) => {
401
401
  if (e === null || Array.isArray(e) && e.length === 0) {
402
- Y(e), K(), Ht(e);
402
+ Y(e), K(), Ut(e);
403
403
  return;
404
404
  }
405
405
  let t = document.activeElement;
406
- t && _t(t) || (Y(e), K(), Ht(e));
406
+ t && vt(t) || (Y(e), K(), Ut(e));
407
407
  }), ve(() => T.time, (e) => {
408
- if (!D.value || a(e ?? null) === a(Z.value ?? null)) return;
408
+ if (!D.value || o(e ?? null) === o(Z.value ?? null)) return;
409
409
  let t = document.activeElement;
410
- if (!(t && _t(t))) {
410
+ if (!(t && vt(t))) {
411
411
  for (let e of ["start", "end"]) {
412
412
  if (e === "end" && !T.range) break;
413
- let t = Bt(e), n = W.value[e];
414
- t !== void 0 && Pt(n, t);
413
+ let t = Vt(e), n = W.value[e];
414
+ t !== void 0 && Ft(n, t);
415
415
  }
416
416
  K(), $({ finalize: !1 });
417
417
  }
418
418
  });
419
- let Ut = () => q("start") === "partial" ? !0 : T.range ? q("end") === "partial" : !1, Wt = (e) => {
419
+ let Wt = () => q("start") === "partial" ? !0 : T.range ? q("end") === "partial" : !1, Gt = (e) => {
420
420
  let t = W.value[e], n = H.value;
421
421
  if (n.has("day") && !t.day || n.has("month") && !t.month || !t.year) return null;
422
422
  let r = n.has("day") ? parseInt(t.day, 10) : 1, i = n.has("month") ? parseInt(t.month, 10) : 1, a = parseInt(t.year, 10);
@@ -427,7 +427,7 @@ var we = ["data-value"], Te = [
427
427
  let e = parseInt(t.hour, 10);
428
428
  if (e < 1 || e > 12) return null;
429
429
  }
430
- let e = String(kt(t)).padStart(2, "0"), n = (t.minute || "0").padStart(2, "0"), r = ((T.seconds ? t.second : "") || "0").padStart(2, "0");
430
+ let e = String(At(t)).padStart(2, "0"), n = (t.minute || "0").padStart(2, "0"), r = ((T.seconds ? t.second : "") || "0").padStart(2, "0");
431
431
  if (parseInt(e, 10) > 23 || parseInt(n, 10) > 59 || parseInt(r, 10) > 59) return null;
432
432
  l = `T${e}:${n}:${r}`, u = "THH:mm:ss";
433
433
  }
@@ -437,11 +437,11 @@ var we = ["data-value"], Te = [
437
437
  d = C(`${o}-${s}-${String(n).padStart(2, "0")}${l}`, w + u, !0), W.value[e].day = String(n).padStart(2, "0");
438
438
  }
439
439
  return d.isValid() ? d : null;
440
- }, Gt = (e) => {
440
+ }, Kt = (e) => {
441
441
  let t = G();
442
442
  return H.value.has("day") && (t.day = e.format("DD")), H.value.has("month") && (t.month = e.format("MM")), t.year = e.format("YYYY"), D.value && (J(t, e.hour()), t.minute = e.format("mm"), t.second = T.seconds ? e.format("ss") : ""), t;
443
- }, Kt = (e) => {
444
- let t = (t, n) => D.value && !n ? t.hour(e.hour()).minute(e.minute()).second(e.second()) : t, n = O.value ? k.value : D.value ? "minute" : "day", r = e, i = Be.value, a = Ve.value;
443
+ }, qt = (e) => {
444
+ let t = (t, n) => D.value && !n ? t.hour(e.hour()).minute(e.minute()).second(e.second()) : t, n = O.value ? k.value : D.value ? "minute" : "day", r = e, i = Ve.value, a = He.value;
445
445
  if (i) {
446
446
  let e = F(i), n = I(i);
447
447
  r.isBefore(n, O.value ? k.value : D.value && e ? "minute" : "day") && (r = O.value ? n : t(n, e));
@@ -453,13 +453,13 @@ var we = ["data-value"], Te = [
453
453
  return r.isSame(e, n) || V(r) ? null : r;
454
454
  }, X = (e) => {
455
455
  E("error", e);
456
- }, qt = (e) => {
457
- let t = W.value[e], n = String(kt(t)).padStart(2, "0"), r = (t.minute || "0").padStart(2, "0");
456
+ }, Jt = (e) => {
457
+ let t = W.value[e], n = String(At(t)).padStart(2, "0"), r = (t.minute || "0").padStart(2, "0");
458
458
  return T.seconds ? `${n}:${r}:${(t.second || "0").padStart(2, "0")}` : `${n}:${r}`;
459
459
  }, Z = v(void 0), Q = (e) => {
460
460
  if (E("update:modelValue", e), !D.value) return;
461
461
  let t;
462
- t = e === null ? null : Array.isArray(e) ? e.map((e, t) => qt(t === 0 ? "start" : "end")) : qt("start"), Z.value = t, E("update:time", t);
462
+ t = e === null ? null : Array.isArray(e) ? e.map((e, t) => Jt(t === 0 ? "start" : "end")) : Jt("start"), Z.value = t, E("update:time", t);
463
463
  }, $ = (e = {}) => {
464
464
  let t = !!e.finalize, n = q("start");
465
465
  if (!T.range) {
@@ -468,14 +468,14 @@ var we = ["data-value"], Te = [
468
468
  return;
469
469
  }
470
470
  if (n === "partial") return;
471
- let e = Wt("start");
471
+ let e = Gt("start");
472
472
  if (!e) return;
473
473
  if (V(e)) {
474
474
  if (!t) return;
475
- let n = L(e), r = Kt(e);
475
+ let n = L(e), r = qt(e);
476
476
  if (r) {
477
477
  let e = L(r);
478
- W.value.start = Gt(r), Q(e), X({
478
+ W.value.start = Kt(r), Q(e), X({
479
479
  code: "disabled_date",
480
480
  original: n,
481
481
  normalized: e
@@ -496,12 +496,12 @@ var we = ["data-value"], Te = [
496
496
  return;
497
497
  }
498
498
  if (n === "partial" || r === "partial" || n === "empty") return;
499
- let i = Wt("start");
499
+ let i = Gt("start");
500
500
  if (!i) return;
501
- let a = r === "empty" ? null : Wt("end"), o = L(i), s = a ? L(a) : null, c = i, l = !1;
501
+ let a = r === "empty" ? null : Gt("end"), o = L(i), s = a ? L(a) : null, c = i, l = !1;
502
502
  if (V(i)) {
503
503
  if (!t) return;
504
- let e = Kt(i), n = s ? [o, s] : [o];
504
+ let e = qt(i), n = s ? [o, s] : [o];
505
505
  if (!e) {
506
506
  W.value.start = G(), W.value.end = G(), Q(null), X({
507
507
  code: "disabled_range_start",
@@ -510,7 +510,7 @@ var we = ["data-value"], Te = [
510
510
  });
511
511
  return;
512
512
  }
513
- if (c = e, l = !0, W.value.start = Gt(e), !a) {
513
+ if (c = e, l = !0, W.value.start = Kt(e), !a) {
514
514
  let t = [L(e)];
515
515
  Q(t), X({
516
516
  code: "disabled_range_start",
@@ -527,7 +527,7 @@ var we = ["data-value"], Te = [
527
527
  let u = a, d = !1;
528
528
  if (V(a)) {
529
529
  if (!t) return;
530
- let e = Kt(a), n = [o, s];
530
+ let e = qt(a), n = [o, s];
531
531
  if (!e) {
532
532
  let e = [L(c)];
533
533
  W.value.end = G(), Q(e), l && X({
@@ -541,7 +541,7 @@ var we = ["data-value"], Te = [
541
541
  });
542
542
  return;
543
543
  }
544
- u = e, d = !0, W.value.end = Gt(e);
544
+ u = e, d = !0, W.value.end = Kt(e);
545
545
  }
546
546
  if (u.isBefore(c, D.value ? "second" : "day")) {
547
547
  if (!t) return;
@@ -574,38 +574,38 @@ var we = ["data-value"], Te = [
574
574
  };
575
575
  return ge(() => {
576
576
  document.removeEventListener("focusin", B), document.removeEventListener("click", B);
577
- }), (e, t) => (_(), se(ee, {
577
+ }), (e, t) => (_(), se(te, {
578
578
  ref_key: "wrapper",
579
579
  ref: M,
580
580
  active: z.value,
581
581
  "append:icon": T["append:icon"],
582
582
  class: g(["bb-base-date-picker-input", { "bb-base-date-picker-input--range": T.range }]),
583
- clearable: T.clearable && !x(te)(e.modelValue),
583
+ clearable: T.clearable && !x(ne)(e.modelValue),
584
584
  compact: T.compact,
585
585
  disabled: T.disabled,
586
586
  "has-errors": T.hasErrors,
587
- "has-value": Fe.value,
587
+ "has-value": Ie.value,
588
588
  "has-warning": T.hasWarning,
589
589
  loading: T.loading,
590
590
  "prepend:icon": T["prepend:icon"],
591
591
  readonly: T.readonly,
592
- "onClick:clear": rt,
593
- onFocusin: qe
592
+ "onClick:clear": it,
593
+ onFocusin: Je
594
594
  }, le({
595
595
  "prepend-outer": S(() => [y(e.$slots, "prepend-outer")]),
596
596
  prepend: S(() => [y(e.$slots, "prepend")]),
597
- append: S(() => [Le.value ? ce("", !0) : (_(), se(f, {
597
+ append: S(() => [Re.value ? ce("", !0) : (_(), se(ee, {
598
598
  key: 0,
599
599
  ref_key: "datePicker",
600
- ref: Me,
601
- "active-segment": $e.value,
600
+ ref: Ne,
601
+ "active-segment": et.value,
602
602
  adaptive: e.adaptive,
603
603
  ampm: e.ampm,
604
604
  anchor: M.value,
605
605
  disabled: e.disabled,
606
606
  "first-day-of-week": e.firstDayOfWeek,
607
607
  floating: e.floating,
608
- label: nt.value,
608
+ label: rt.value,
609
609
  max: e.max,
610
610
  min: e.min,
611
611
  "model-value": e.modelValue,
@@ -619,16 +619,16 @@ var we = ["data-value"], Te = [
619
619
  "transition-duration": e.transitionDuration,
620
620
  type: e.type,
621
621
  utc: e.utc,
622
- onGridPick: Ye["onUpdate:modelValue"],
623
- onTimePick: et
622
+ onGridPick: Xe["onUpdate:modelValue"],
623
+ onTimePick: tt
624
624
  }, {
625
625
  activator: S(({ props: t }) => [h("button", pe(t, {
626
626
  class: "bb-segmented-field__trigger-btn",
627
627
  disabled: e.disabled || e.readonly,
628
628
  type: "button"
629
- }), [ue(r, {
629
+ }), [ue(a, {
630
630
  class: "bb-segmented-field__trigger-icon",
631
- icon: x(re)
631
+ icon: x(ie)
632
632
  }, null, 8, ["icon"])], 16, De)]),
633
633
  day: S((t) => [y(e.$slots, "day", me(fe(t)))]),
634
634
  "append:day": S((t) => [y(e.$slots, "append:day", me(fe(t)))]),
@@ -660,54 +660,54 @@ var we = ["data-value"], Te = [
660
660
  "append-outer": S(() => [y(e.$slots, "append-outer")]),
661
661
  default: S(() => [h("div", {
662
662
  class: g(["bb-segmented-field__fields", {
663
- "bb-segmented-field__fields--empty": Rt.value,
663
+ "bb-segmented-field__fields--empty": zt.value,
664
664
  "bb-segmented-field__fields--range": e.range
665
665
  }]),
666
- style: he({ "--fields-min-ch": x(gt) })
667
- }, [Rt.value ? (_(), m("span", {
666
+ style: he({ "--fields-min-ch": x(_t) })
667
+ }, [zt.value ? (_(), m("span", {
668
668
  key: 0,
669
669
  "aria-hidden": "true",
670
670
  class: "bb-segmented-field__placeholder",
671
- onClick: t[0] ||= (...e) => x(yt) && x(yt)(...e)
672
- }, b(Lt.value), 1)) : ce("", !0), (_(!0), m(oe, null, _e(U.value, (t, n) => (_(), m(oe, { key: x(mt)(t) }, [h("span", {
671
+ onClick: t[0] ||= (...e) => x(bt) && x(bt)(...e)
672
+ }, b(Rt.value), 1)) : ce("", !0), (_(!0), m(oe, null, _e(U.value, (t, n) => (_(), m(oe, { key: x(ht)(t) }, [h("span", {
673
673
  class: "bb-segmented-field__field-sizer",
674
- "data-value": x(ht)(t)
674
+ "data-value": x(gt)(t)
675
675
  }, [h("input", {
676
- id: n === 0 ? x(N) : Tt(t),
676
+ id: n === 0 ? x(N) : Et(t),
677
677
  ref_for: !0,
678
- ref: (e) => x(pt)[x(mt)(t)] = e,
679
- "aria-describedby": Pe.value,
678
+ ref: (e) => x(mt)[x(ht)(t)] = e,
679
+ "aria-describedby": Fe.value,
680
680
  "aria-disabled": e.disabled || void 0,
681
681
  "aria-invalid": T.hasErrors ? "true" : void 0,
682
- "aria-label": Ot(t),
683
- "aria-readonly": Re.value || void 0,
682
+ "aria-label": kt(t),
683
+ "aria-readonly": ze.value || void 0,
684
684
  autocomplete: e.autocomplete,
685
685
  autofocus: e.autofocus && n === 0,
686
686
  class: g(["bb-segmented-field__field", [`bb-segmented-field__field--${t.field}`, `bb-segmented-field__field--${t.segment}`]]),
687
687
  disabled: e.disabled,
688
- inputmode: ze(t.field),
689
- maxlength: dt.value[t.field].maxLength,
690
- name: Et(t),
691
- readonly: Re.value,
688
+ inputmode: Be(t.field),
689
+ maxlength: ft.value[t.field].maxLength,
690
+ name: Dt(t),
691
+ readonly: ze.value,
692
692
  required: e.required,
693
- tabindex: ut(n) ? 0 : -1,
693
+ tabindex: dt(n) ? 0 : -1,
694
694
  type: "text",
695
695
  value: x(W)[t.segment][t.field],
696
- onBlur: (e) => x(Ct)(t),
697
- onFocus: (e) => Qe(t),
698
- onInput: (e) => x(bt)(t, e),
699
- onKeydown: (e) => x(xt)(t, e),
700
- onPaste: (e) => x(wt)(t, e)
696
+ onBlur: (e) => x(wt)(t),
697
+ onFocus: (e) => $e(t),
698
+ onInput: (e) => x(xt)(t, e),
699
+ onKeydown: (e) => x(St)(t, e),
700
+ onPaste: (e) => x(Tt)(t, e)
701
701
  }, null, 42, Te)], 8, we), n < U.value.length - 1 ? (_(), m("span", {
702
702
  key: 0,
703
703
  "aria-hidden": "true",
704
704
  class: g(["bb-segmented-field__separator", { "bb-segmented-field__separator--range": U.value[n].segment !== U.value[n + 1].segment }]),
705
705
  role: "presentation",
706
- onClick: (e) => x(vt)(U.value[n + 1], { select: !0 })
707
- }, b(ft(U.value[n], U.value[n + 1])), 11, Ee)) : ce("", !0)], 64))), 128))], 6), h("span", {
708
- id: Ne,
706
+ onClick: (e) => x(yt)(U.value[n + 1], { select: !0 })
707
+ }, b(pt(U.value[n], U.value[n + 1])), 11, Ee)) : ce("", !0)], 64))), 128))], 6), h("span", {
708
+ id: Pe,
709
709
  class: "bb-base-date-picker-input__accessible-description sr-only"
710
- }, b(x(A)("baseDatePickerInput.dateFormat")) + " " + b(It.value), 1)]),
710
+ }, b(x(A)("baseDatePickerInput.dateFormat")) + " " + b(Lt.value), 1)]),
711
711
  _: 2
712
712
  }, [e.$slots.prefix ? {
713
713
  name: "prefix",
@@ -1,7 +1,7 @@
1
1
  import { useId as e } from "../../composables/useId.js";
2
2
  import { useLogger as t } from "../../composables/useLogger.js";
3
- import { getAsPercentage as n } from "../../utilities/functions/percentage.js";
4
3
  import "../../utilities/functions/noop.js";
4
+ import { getAsPercentage as n } from "../../utilities/functions/percentage.js";
5
5
  import { deburr as r } from "../../utilities/functions/deburr.js";
6
6
  import { Fragment as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as ee, createVNode as d, defineComponent as f, guardReactiveProps as p, nextTick as te, normalizeClass as ne, normalizeProps as m, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveDynamicComponent as y, toDisplayString as b, unref as x, vShow as S, watch as C, withCtx as w, withDirectives as T } from "vue";
7
7
  //#region src/components/BbBaseInputContainer/BbBaseInputContainer.vue?vue&type=script&setup=true&lang.ts
@@ -76,7 +76,7 @@ var E = ["id"], D = ["id"], O = ["id"], re = { class: "bb-base-input-container__
76
76
  else if (/^[\S]+\s[\S]+$/g.test(L.value)) {
77
77
  let [t, r] = L.value.split(/\s+/).map((e) => e.length), i = n(t, t + r) + "%", a = n(r, r + t) + "%";
78
78
  k.reverse ? (e.label = a, e.input = i) : (e.label = i, e.input = a);
79
- } else ie.warn(`Invalid direction: "${L.value}". Expected 'auto', 'vertical', 'horizontal', or a two-token ratio like '1 2'. Falling back to 'auto'.`);
79
+ } else ie.warn(`Invalid direction: "${L.value}". Expected 'auto', 'vertical', 'horizontal', or a two-token pattern whose TOKEN LENGTHS are the ratio, like 'x xx' for 1:2. Falling back to 'auto'.`);
80
80
  return e;
81
81
  }), W = o(() => k.errors ? [].concat(k.errors) : []), G = o(() => !!W.value.length || k.hasErrors), K = o(() => k.warnings ? [].concat(k.warnings) : []), q = o(() => (!!k.hasWarning || !!K.value.length) && !G.value), J = o(() => q.value ? K.value : []), oe = o(() => [
82
82
  W.value.length ? P : void 0,