@bridge-ui/vue 0.0.8 → 0.0.10

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 (385) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +27 -15
  2. package/ai/skills/bridge-ui-forms/SKILL.md +22 -14
  3. package/ai/skills/bridge-ui-setup/SKILL.md +9 -9
  4. package/dist/Actions/BridgeUIHosts.vue_vue_type_script_setup_true_lang.js +1 -1
  5. package/dist/Actions/Dialog/BridgeDialogAction.vue_vue_type_script_setup_true_lang.js +1 -1
  6. package/dist/Actions/Dialog/BridgeDialogHost.vue_vue_type_script_setup_true_lang.js +1 -1
  7. package/dist/Actions/Dialog/BridgeDialogItem.vue_vue_type_script_setup_true_lang.js +5 -5
  8. package/dist/Actions/Dialog/ResolveBridgeDialogFooter.vue_vue_type_script_setup_true_lang.js +1 -1
  9. package/dist/Actions/Drawer/BridgeDrawerHost.vue_vue_type_script_setup_true_lang.js +1 -1
  10. package/dist/Actions/Modal/BridgeModalHost.vue_vue_type_script_setup_true_lang.js +1 -1
  11. package/dist/Actions/Snackbar/BridgeSnackbarAction.vue_vue_type_script_setup_true_lang.js +8 -8
  12. package/dist/Actions/Snackbar/BridgeSnackbarHost.vue_vue_type_script_setup_true_lang.js +5 -2
  13. package/dist/Actions/Snackbar/BridgeSnackbarItem.vue_vue_type_script_setup_true_lang.js +1 -1
  14. package/dist/Adapters/Date/index.d.ts +1 -0
  15. package/dist/Adapters/Date/index.js +2 -0
  16. package/dist/Adapters/Date/useDateAdapter.d.ts +17 -0
  17. package/dist/Adapters/Date/useDateAdapter.js +21 -0
  18. package/dist/Adapters/index.d.ts +1 -0
  19. package/dist/Adapters/index.js +4 -3
  20. package/dist/Components/Accordion/Accordion.js +5 -0
  21. package/dist/Components/Accordion/Accordion.vue.d.ts +26 -0
  22. package/dist/Components/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +38 -0
  23. package/dist/Components/Accordion/accordion.types.d.ts +88 -0
  24. package/dist/Components/Accordion/accordionInjectionKey.d.ts +63 -0
  25. package/dist/Components/Accordion/accordionInjectionKey.js +4 -0
  26. package/dist/Components/Accordion/composables/useAccordion.d.ts +14 -0
  27. package/dist/Components/Accordion/composables/useAccordion.js +79 -0
  28. package/dist/Components/Accordion/index.d.ts +4 -0
  29. package/dist/Components/Accordion/index.js +4 -0
  30. package/dist/Components/AccordionItem/AccordionItem.js +5 -0
  31. package/dist/Components/AccordionItem/AccordionItem.vue.d.ts +11 -0
  32. package/dist/Components/AccordionItem/AccordionItem.vue_vue_type_script_setup_true_lang.js +25 -0
  33. package/dist/Components/AccordionItem/accordionItem.types.d.ts +105 -0
  34. package/dist/Components/AccordionItem/composables/useAccordionItem.d.ts +41 -0
  35. package/dist/Components/AccordionItem/composables/useAccordionItem.js +123 -0
  36. package/dist/Components/AccordionItem/index.d.ts +3 -0
  37. package/dist/Components/AccordionItem/index.js +3 -0
  38. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +11 -11
  39. package/dist/Components/Alert/composables/useAlert.js +21 -9
  40. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +2 -0
  41. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +75 -64
  42. package/dist/Components/Autocomplete/AutocompleteOption.vue_vue_type_script_setup_true_lang.js +1 -1
  43. package/dist/Components/Autocomplete/autocomplete.types.d.ts +19 -1
  44. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +5 -0
  45. package/dist/Components/Autocomplete/composables/useAutocomplete.js +207 -179
  46. package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +5 -5
  47. package/dist/Components/Avatar/composables/useAvatar.d.ts +0 -1
  48. package/dist/Components/Avatar/composables/useAvatar.js +31 -20
  49. package/dist/Components/Badge/Badge.vue.d.ts +11 -1
  50. package/dist/Components/Badge/Badge.vue_vue_type_script_setup_true_lang.js +7 -8
  51. package/dist/Components/Badge/composables/useBadge.js +10 -1
  52. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +31 -27
  53. package/dist/Components/BaseField/BaseFieldLabel.vue.d.ts +11 -1
  54. package/dist/Components/BaseField/BaseFieldLabel.vue_vue_type_script_setup_true_lang.js +11 -10
  55. package/dist/Components/BaseField/baseField.types.d.ts +5 -0
  56. package/dist/Components/BaseField/baseField.types.js +11 -0
  57. package/dist/Components/BaseField/composables/useBaseField.js +10 -7
  58. package/dist/Components/BaseField/index.d.ts +1 -0
  59. package/dist/Components/BaseField/index.js +4 -3
  60. package/dist/Components/Breadcrumb/Breadcrumb.js +5 -0
  61. package/dist/Components/Breadcrumb/Breadcrumb.vue.d.ts +13 -0
  62. package/dist/Components/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js +49 -0
  63. package/dist/Components/Breadcrumb/breadcrumb.types.d.ts +101 -0
  64. package/dist/Components/Breadcrumb/breadcrumbInjectionKey.d.ts +35 -0
  65. package/dist/Components/Breadcrumb/breadcrumbInjectionKey.js +4 -0
  66. package/dist/Components/Breadcrumb/composables/useBreadcrumb.d.ts +20 -0
  67. package/dist/Components/Breadcrumb/composables/useBreadcrumb.js +69 -0
  68. package/dist/Components/Breadcrumb/index.d.ts +4 -0
  69. package/dist/Components/Breadcrumb/index.js +4 -0
  70. package/dist/Components/BreadcrumbItem/BreadcrumbItem.js +5 -0
  71. package/dist/Components/BreadcrumbItem/BreadcrumbItem.vue.d.ts +14 -0
  72. package/dist/Components/BreadcrumbItem/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js +47 -0
  73. package/dist/Components/BreadcrumbItem/breadcrumbItem.types.d.ts +140 -0
  74. package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.d.ts +38 -0
  75. package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.js +87 -0
  76. package/dist/Components/BreadcrumbItem/index.d.ts +3 -0
  77. package/dist/Components/BreadcrumbItem/index.js +3 -0
  78. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +17 -17
  79. package/dist/Components/Button/composables/useButton.d.ts +1 -1
  80. package/dist/Components/Button/composables/useButton.js +10 -1
  81. package/dist/Components/Calendar/Calendar.js +5 -0
  82. package/dist/Components/Calendar/Calendar.vue.d.ts +21 -0
  83. package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +139 -0
  84. package/dist/Components/Calendar/calendar.types.d.ts +287 -0
  85. package/dist/Components/Calendar/composables/useCalendar.d.ts +875 -0
  86. package/dist/Components/Calendar/composables/useCalendar.js +173 -0
  87. package/dist/Components/Calendar/index.d.ts +3 -0
  88. package/dist/Components/Calendar/index.js +3 -0
  89. package/dist/Components/CalendarDate/CalendarDate.js +5 -0
  90. package/dist/Components/CalendarDate/CalendarDate.vue.d.ts +19 -0
  91. package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +56 -0
  92. package/dist/Components/CalendarDate/calendarDate.types.d.ts +257 -0
  93. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +39 -0
  94. package/dist/Components/CalendarDate/composables/useCalendarDate.js +181 -0
  95. package/dist/Components/CalendarDate/index.d.ts +3 -0
  96. package/dist/Components/CalendarDate/index.js +3 -0
  97. package/dist/Components/CalendarMonth/CalendarMonth.js +5 -0
  98. package/dist/Components/CalendarMonth/CalendarMonth.vue.d.ts +8 -0
  99. package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +32 -0
  100. package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +135 -0
  101. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +29 -0
  102. package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +104 -0
  103. package/dist/Components/CalendarMonth/index.d.ts +3 -0
  104. package/dist/Components/CalendarMonth/index.js +3 -0
  105. package/dist/Components/CalendarRange/CalendarRange.js +5 -0
  106. package/dist/Components/CalendarRange/CalendarRange.vue.d.ts +19 -0
  107. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +187 -0
  108. package/dist/Components/CalendarRange/calendarRange.types.d.ts +333 -0
  109. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1891 -0
  110. package/dist/Components/CalendarRange/composables/useCalendarRange.js +253 -0
  111. package/dist/Components/CalendarRange/index.d.ts +3 -0
  112. package/dist/Components/CalendarRange/index.js +3 -0
  113. package/dist/Components/CalendarYear/CalendarYear.js +5 -0
  114. package/dist/Components/CalendarYear/CalendarYear.vue.d.ts +8 -0
  115. package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +34 -0
  116. package/dist/Components/CalendarYear/calendarYear.types.d.ts +141 -0
  117. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +30 -0
  118. package/dist/Components/CalendarYear/composables/useCalendarYear.js +108 -0
  119. package/dist/Components/CalendarYear/index.d.ts +3 -0
  120. package/dist/Components/CalendarYear/index.js +3 -0
  121. package/dist/Components/Card/Card.vue_vue_type_script_setup_true_lang.js +10 -10
  122. package/dist/Components/Card/composables/useCard.d.ts +0 -1
  123. package/dist/Components/Card/composables/useCard.js +64 -55
  124. package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +31 -26
  125. package/dist/Components/Checkbox/composables/useCheckbox.js +10 -1
  126. package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +10 -10
  127. package/dist/Components/Chip/composables/useChip.js +7 -4
  128. package/dist/Components/DateField/DateField.js +5 -0
  129. package/dist/Components/DateField/DateField.vue.d.ts +32 -0
  130. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +163 -0
  131. package/dist/Components/DateField/composables/useDateField.d.ts +735 -0
  132. package/dist/Components/DateField/composables/useDateField.js +169 -0
  133. package/dist/Components/DateField/dateField.types.d.ts +206 -0
  134. package/dist/Components/DateField/index.d.ts +3 -0
  135. package/dist/Components/DateField/index.js +3 -0
  136. package/dist/Components/DatePicker/DatePicker.js +5 -0
  137. package/dist/Components/DatePicker/DatePicker.vue.d.ts +17 -0
  138. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +104 -0
  139. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +28 -0
  140. package/dist/Components/DatePicker/composables/useDatePicker.js +91 -0
  141. package/dist/Components/DatePicker/datePicker.types.d.ts +233 -0
  142. package/dist/Components/DatePicker/index.d.ts +3 -0
  143. package/dist/Components/DatePicker/index.js +3 -0
  144. package/dist/Components/DateRangeField/DateRangeField.js +5 -0
  145. package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +32 -0
  146. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +157 -0
  147. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +733 -0
  148. package/dist/Components/DateRangeField/composables/useDateRangeField.js +143 -0
  149. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +195 -0
  150. package/dist/Components/DateRangeField/index.d.ts +3 -0
  151. package/dist/Components/DateRangeField/index.js +3 -0
  152. package/dist/Components/DateRangePicker/DateRangePicker.js +5 -0
  153. package/dist/Components/DateRangePicker/DateRangePicker.vue.d.ts +17 -0
  154. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +99 -0
  155. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +28 -0
  156. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +89 -0
  157. package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +218 -0
  158. package/dist/Components/DateRangePicker/index.d.ts +3 -0
  159. package/dist/Components/DateRangePicker/index.js +3 -0
  160. package/dist/Components/DateTimeField/DateTimeField.js +5 -0
  161. package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +31 -0
  162. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +146 -0
  163. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +734 -0
  164. package/dist/Components/DateTimeField/composables/useDateTimeField.js +151 -0
  165. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +230 -0
  166. package/dist/Components/DateTimeField/index.d.ts +3 -0
  167. package/dist/Components/DateTimeField/index.js +3 -0
  168. package/dist/Components/DateTimePicker/DateTimePicker.js +5 -0
  169. package/dist/Components/DateTimePicker/DateTimePicker.vue.d.ts +17 -0
  170. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +156 -0
  171. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +46 -0
  172. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +98 -0
  173. package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +272 -0
  174. package/dist/Components/DateTimePicker/index.d.ts +3 -0
  175. package/dist/Components/DateTimePicker/index.js +3 -0
  176. package/dist/Components/DateTimeRangeField/DateTimeRangeField.js +5 -0
  177. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +32 -0
  178. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +146 -0
  179. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +736 -0
  180. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +155 -0
  181. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +231 -0
  182. package/dist/Components/DateTimeRangeField/index.d.ts +3 -0
  183. package/dist/Components/DateTimeRangeField/index.js +3 -0
  184. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.js +5 -0
  185. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +17 -0
  186. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +209 -0
  187. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +49 -0
  188. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +112 -0
  189. package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +272 -0
  190. package/dist/Components/DateTimeRangePicker/index.d.ts +3 -0
  191. package/dist/Components/DateTimeRangePicker/index.js +3 -0
  192. package/dist/Components/Divider/Divider.vue_vue_type_script_setup_true_lang.js +1 -1
  193. package/dist/Components/Divider/composables/useDivider.js +7 -1
  194. package/dist/Components/Drawer/Drawer.vue.d.ts +6 -6
  195. package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +19 -20
  196. package/dist/Components/Drawer/composables/useDrawer.d.ts +1 -1
  197. package/dist/Components/Drawer/composables/useDrawer.js +11 -2
  198. package/dist/Components/FieldOverlay/FieldOverlay.js +5 -0
  199. package/dist/Components/FieldOverlay/FieldOverlay.vue.d.ts +26 -0
  200. package/dist/Components/FieldOverlay/FieldOverlay.vue_vue_type_script_setup_true_lang.js +63 -0
  201. package/dist/Components/FieldOverlay/composables/useFieldOverlay.d.ts +15 -0
  202. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +36 -0
  203. package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +63 -0
  204. package/dist/Components/FieldOverlay/index.d.ts +4 -0
  205. package/dist/Components/FieldOverlay/index.js +3 -0
  206. package/dist/Components/FormControl/FormControl.vue.d.ts +2 -4
  207. package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +37 -23
  208. package/dist/Components/FormControl/FormControlLabel.vue.d.ts +11 -1
  209. package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +11 -10
  210. package/dist/Components/FormControl/composables/useFormControl.js +1 -1
  211. package/dist/Components/FormControl/formControl.types.d.ts +4 -0
  212. package/dist/Components/FormControl/formControl.types.js +9 -0
  213. package/dist/Components/FormControl/index.d.ts +1 -0
  214. package/dist/Components/FormControl/index.js +3 -2
  215. package/dist/Components/FormField/FilledFormField.vue.d.ts +14 -2
  216. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +24 -19
  217. package/dist/Components/FormField/FormField.vue_vue_type_script_setup_true_lang.js +32 -27
  218. package/dist/Components/FormField/FormFieldLabel.vue.d.ts +11 -1
  219. package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +11 -10
  220. package/dist/Components/FormField/NotchedFormField.vue.d.ts +14 -2
  221. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +23 -18
  222. package/dist/Components/FormField/OutlinedFormField.vue.d.ts +14 -2
  223. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +24 -19
  224. package/dist/Components/FormField/StackedFormField.vue.d.ts +14 -2
  225. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +26 -21
  226. package/dist/Components/FormField/UnderlinedFormField.vue.d.ts +14 -2
  227. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +24 -19
  228. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  229. package/dist/Components/FormField/composables/useFormField.js +19 -7
  230. package/dist/Components/FormField/formField.types.d.ts +5 -0
  231. package/dist/Components/FormField/formField.types.js +11 -0
  232. package/dist/Components/FormField/index.d.ts +1 -0
  233. package/dist/Components/FormField/index.js +3 -2
  234. package/dist/Components/Icon/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
  235. package/dist/Components/Icon/composables/useIcon.js +4 -1
  236. package/dist/Components/Label/Label.vue.d.ts +11 -1
  237. package/dist/Components/Label/Label.vue_vue_type_script_setup_true_lang.js +7 -8
  238. package/dist/Components/Label/composables/useLabel.js +5 -2
  239. package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +23 -23
  240. package/dist/Components/Link/composables/useLink.js +10 -1
  241. package/dist/Components/List/List.vue.d.ts +11 -1
  242. package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +9 -10
  243. package/dist/Components/List/composables/useList.js +4 -4
  244. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +18 -18
  245. package/dist/Components/ListItem/composables/useListItem.d.ts +1 -3
  246. package/dist/Components/ListItem/composables/useListItem.js +47 -55
  247. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +10 -9
  248. package/dist/Components/ListSection/composables/useListSection.d.ts +1 -3
  249. package/dist/Components/ListSection/composables/useListSection.js +29 -31
  250. package/dist/Components/Listbox/Listbox.vue.d.ts +9 -4
  251. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +103 -82
  252. package/dist/Components/Listbox/composables/useListbox.d.ts +8 -1
  253. package/dist/Components/Listbox/composables/useListbox.js +59 -37
  254. package/dist/Components/Listbox/listbox.types.d.ts +68 -4
  255. package/dist/Components/Menu/Menu.vue.d.ts +4 -4
  256. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +19 -19
  257. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  258. package/dist/Components/Menu/composables/useMenu.js +9 -5
  259. package/dist/Components/Modal/Modal.vue.d.ts +6 -6
  260. package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +19 -20
  261. package/dist/Components/Modal/composables/useModal.d.ts +1 -1
  262. package/dist/Components/Modal/composables/useModal.js +11 -2
  263. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +48 -43
  264. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +27 -22
  265. package/dist/Components/OtpField/composables/useOtpField.js +33 -21
  266. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +34 -29
  267. package/dist/Components/Progress/Progress.vue_vue_type_script_setup_true_lang.js +1 -1
  268. package/dist/Components/Progress/composables/useProgress.js +13 -1
  269. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +26 -21
  270. package/dist/Components/Radio/composables/useRadio.js +10 -1
  271. package/dist/Components/Select/Select.vue.d.ts +2 -0
  272. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +73 -62
  273. package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +1 -1
  274. package/dist/Components/Select/composables/useSelect.d.ts +5 -0
  275. package/dist/Components/Select/composables/useSelect.js +220 -192
  276. package/dist/Components/Select/select.types.d.ts +19 -1
  277. package/dist/Components/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +1 -1
  278. package/dist/Components/Skeleton/composables/useSkeleton.js +5 -2
  279. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +54 -49
  280. package/dist/Components/Slider/composables/useSlider.d.ts +4 -1
  281. package/dist/Components/Slider/composables/useSlider.js +192 -187
  282. package/dist/Components/Slider/slider.types.d.ts +8 -0
  283. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +42 -42
  284. package/dist/Components/Snackbar/composables/useSnackbar.js +16 -3
  285. package/dist/Components/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +1 -1
  286. package/dist/Components/Spinner/composables/useSpinner.js +10 -1
  287. package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +28 -23
  288. package/dist/Components/Switch/composables/useSwitch.js +10 -1
  289. package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +16 -16
  290. package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +3 -2
  291. package/dist/Components/TabList/TabList.vue_vue_type_script_setup_true_lang.js +7 -8
  292. package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +7 -8
  293. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +31 -28
  294. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +21 -16
  295. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +25 -20
  296. package/dist/Components/Textarea/composables/useTextarea.js +4 -1
  297. package/dist/Components/TimeField/TimeField.js +5 -0
  298. package/dist/Components/TimeField/TimeField.vue.d.ts +32 -0
  299. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +139 -0
  300. package/dist/Components/TimeField/composables/useTimeField.d.ts +743 -0
  301. package/dist/Components/TimeField/composables/useTimeField.js +147 -0
  302. package/dist/Components/TimeField/index.d.ts +3 -0
  303. package/dist/Components/TimeField/index.js +3 -0
  304. package/dist/Components/TimeField/timeField.types.d.ts +155 -0
  305. package/dist/Components/TimePanel/TimePanel.js +5 -0
  306. package/dist/Components/TimePanel/TimePanel.vue.d.ts +8 -0
  307. package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +62 -0
  308. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +58 -0
  309. package/dist/Components/TimePanel/composables/useTimePanel.js +180 -0
  310. package/dist/Components/TimePanel/index.d.ts +3 -0
  311. package/dist/Components/TimePanel/index.js +3 -0
  312. package/dist/Components/TimePanel/timePanel.types.d.ts +147 -0
  313. package/dist/Components/TimePicker/TimePicker.js +5 -0
  314. package/dist/Components/TimePicker/TimePicker.vue.d.ts +10 -0
  315. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +82 -0
  316. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +31 -0
  317. package/dist/Components/TimePicker/composables/useTimePicker.js +84 -0
  318. package/dist/Components/TimePicker/index.d.ts +3 -0
  319. package/dist/Components/TimePicker/index.js +3 -0
  320. package/dist/Components/TimePicker/timePicker.types.d.ts +176 -0
  321. package/dist/Components/TimeRangeField/TimeRangeField.js +5 -0
  322. package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +32 -0
  323. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +139 -0
  324. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +735 -0
  325. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +143 -0
  326. package/dist/Components/TimeRangeField/index.d.ts +3 -0
  327. package/dist/Components/TimeRangeField/index.js +3 -0
  328. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +155 -0
  329. package/dist/Components/TimeRangePicker/TimeRangePicker.js +5 -0
  330. package/dist/Components/TimeRangePicker/TimeRangePicker.vue.d.ts +10 -0
  331. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +116 -0
  332. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +40 -0
  333. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +123 -0
  334. package/dist/Components/TimeRangePicker/index.d.ts +3 -0
  335. package/dist/Components/TimeRangePicker/index.js +3 -0
  336. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +232 -0
  337. package/dist/Components/Tooltip/Tooltip.vue.d.ts +2 -2
  338. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +18 -18
  339. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  340. package/dist/Components/Tooltip/composables/useTooltip.js +10 -1
  341. package/dist/Provider/BridgeUIProvider.vue_vue_type_script_setup_true_lang.js +4 -4
  342. package/dist/Provider/createBridgeUI.js +3 -3
  343. package/dist/Utils/index.d.ts +1 -1
  344. package/dist/Utils/index.js +2 -2
  345. package/dist/Utils/slotOrProp.d.ts +20 -11
  346. package/dist/Utils/slotOrProp.js +21 -17
  347. package/dist/Utils/useBreakpoint.d.ts +0 -4
  348. package/dist/index.d.ts +47 -0
  349. package/dist/index.js +136 -88
  350. package/dist/theme.css +8 -8
  351. package/docs/README.md +20 -1
  352. package/docs/components/Accordion.md +104 -0
  353. package/docs/components/Autocomplete.md +44 -30
  354. package/docs/components/Breadcrumb.md +74 -0
  355. package/docs/components/BridgeUIProvider.md +22 -5
  356. package/docs/components/Calendar.md +96 -0
  357. package/docs/components/CalendarDate.md +71 -0
  358. package/docs/components/CalendarMonth.md +52 -0
  359. package/docs/components/CalendarRange.md +83 -0
  360. package/docs/components/CalendarYear.md +53 -0
  361. package/docs/components/DateField.md +103 -0
  362. package/docs/components/DatePicker.md +80 -0
  363. package/docs/components/DateRangeField.md +88 -0
  364. package/docs/components/DateRangePicker.md +70 -0
  365. package/docs/components/DateTimeField.md +92 -0
  366. package/docs/components/DateTimePicker.md +74 -0
  367. package/docs/components/DateTimeRangeField.md +90 -0
  368. package/docs/components/DateTimeRangePicker.md +74 -0
  369. package/docs/components/FieldOverlay.md +91 -0
  370. package/docs/components/Select.md +43 -29
  371. package/docs/components/TimeField.md +81 -0
  372. package/docs/components/TimePanel.md +56 -0
  373. package/docs/components/TimePicker.md +61 -0
  374. package/docs/components/TimeRangeField.md +79 -0
  375. package/docs/components/TimeRangePicker.md +64 -0
  376. package/docs/examples/date-date-fns.ts +286 -0
  377. package/docs/examples/date-dayjs.ts +327 -0
  378. package/docs/examples/date-luxon.ts +332 -0
  379. package/docs/examples/date-moment.ts +334 -0
  380. package/docs/examples/icon-fontawesome.ts +8 -0
  381. package/docs/examples/icon-heroicons.ts +8 -0
  382. package/docs/examples/icon-lucide.ts +8 -0
  383. package/docs/examples/icon-phosphor.ts +8 -0
  384. package/docs/examples/icon-tabler.ts +8 -0
  385. package/package.json +18 -12
@@ -1,20 +1,21 @@
1
1
  import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
- import { hasNamedSlot as t, resolveNamedSlot as n } from "../../Utils/slotOrProp.js";
3
- import { mergeNestedComponentProps as r } from "../../Utils/index.js";
2
+ import { hasNamedSlot as t } from "../../Utils/slotOrProp.js";
3
+ import { mergeNestedComponentProps as n } from "../../Utils/index.js";
4
4
  import { useListbox as ee } from "./composables/useListbox.js";
5
- import te from "../List/List.js";
6
- import { LISTBOX_INJECTION_KEY as i } from "./listboxInjectionKey.js";
7
- import a from "../ListItem/ListItem.js";
8
- import o from "../ListSection/ListSection.js";
9
- import s from "../Menu/Menu.js";
10
- import ne from "../Progress/Progress.js";
11
- import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeProps as b, openBlock as x, provide as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as E, toDisplayString as D, unref as O, useModel as re, useSlots as ie, watch as k, withCtx as A } from "vue";
12
- import { cn as ae, entriesFromListboxOptions as oe, flattenListboxOptions as j, mapListboxEntriesToRows as M } from "@bridge-ui/core";
13
- import { isNil as N } from "es-toolkit/compat";
5
+ import r from "../Button/Button.js";
6
+ import te from "../FieldOverlay/FieldOverlay.js";
7
+ import ne from "../List/List.js";
8
+ import { LISTBOX_INJECTION_KEY as re } from "./listboxInjectionKey.js";
9
+ import i from "../ListItem/ListItem.js";
10
+ import a from "../ListSection/ListSection.js";
11
+ import ie from "../Progress/Progress.js";
12
+ import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createTextVNode as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, provide as S, ref as C, renderList as ae, renderSlot as w, toDisplayString as T, unref as E, useModel as oe, useSlots as se, watch as D, withCtx as O } from "vue";
13
+ import { cn as ce, entriesFromListboxOptions as le, flattenListboxOptions as k, mapListboxEntriesToRows as A } from "@bridge-ui/core";
14
+ import { isNil as j } from "es-toolkit/compat";
14
15
  //#region src/Components/Listbox/Listbox.vue?vue&type=script&setup=true&lang.ts
15
- var P = { key: 1 }, F = /* @__PURE__ */ g({
16
+ var M = { key: 1 }, N = /*@__PURE__*/ h({
16
17
  __name: "Listbox",
17
- props: /* @__PURE__ */ v({
18
+ props: /*@__PURE__*/ _({
18
19
  anchorEl: {},
19
20
  classes: {},
20
21
  color: { default: "primary" },
@@ -47,12 +48,14 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
47
48
  default: !1
48
49
  },
49
50
  options: {},
51
+ overlay: { default: "auto" },
50
52
  placement: { default: "bottom-start" },
51
53
  rounded: {},
52
54
  showCheckmark: {
53
55
  type: Boolean,
54
56
  default: !0
55
57
  },
58
+ showFooter: { type: Boolean },
56
59
  size: { default: "md" }
57
60
  }, {
58
61
  modelValue: {
@@ -61,97 +64,106 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
61
64
  },
62
65
  modelModifiers: {}
63
66
  }),
64
- emits: /* @__PURE__ */ v([
67
+ emits: /*@__PURE__*/ _([
68
+ "apply",
69
+ "cancel",
65
70
  "registered-options-change",
66
71
  "select",
67
72
  "show-change"
68
73
  ], ["update:modelValue"]),
69
- setup(g, { emit: v }) {
70
- let F = ie(), I = v, L = re(g, "modelValue");
71
- k(L, (e) => {
72
- I("show-change", e);
74
+ setup(h, { emit: _ }) {
75
+ let N = se(), P = _, F = oe(h, "modelValue");
76
+ D(F, (e) => {
77
+ P("show-change", e);
73
78
  });
74
- let R = g, z = e(), B = l(() => R.emptyMessage ?? z("No options")), V = l(() => R.loadingMessage ?? z("Loading...")), { merged: H, checkClass: U, scrollBind: W, messageBind: G, sizeClasses: K, mergedClasses: q, optionSelectedClass: se, optionHighlightedClass: ce } = ee(R, {
79
+ let I = h, L = e(), R = s(() => I.emptyMessage ?? L("No options")), z = s(() => I.loadingMessage ?? L("Loading...")), { merged: B, checkClass: V, scrollBind: H, footerBind: U, showFooter: W, applyLabel: ue, cancelLabel: de, messageBind: G, surfaceBind: fe, sizeClasses: pe, mergedClasses: K, applyButtonProps: me, cancelButtonProps: he, optionSelectedClass: ge, optionHighlightedClass: _e } = ee(I, {
75
80
  size: "md",
76
81
  color: "primary"
77
- }, { componentName: R.componentName }), le = l(() => R.options ?? []), J = l(() => R.entries ? R.entries : oe(le.value)), Y = l(() => j(J.value)), X = l(() => t(F, "default")), Z = l(() => !R.loading && !X.value && Y.value.length === 0 && R.hideEmptyMessage !== !0), ue = l(() => ae(U.value, q.value.check)), Q = C([]);
78
- function $(e) {
79
- return R.isSelected?.(e) ?? !1;
82
+ }, { componentName: I.componentName }), ve = s(() => I.options ?? []), q = s(() => I.entries ? I.entries : le(ve.value)), J = s(() => k(q.value)), Y = s(() => t(N, "default")), X = s(() => !I.loading && !Y.value && J.value.length === 0 && I.hideEmptyMessage !== !0), ye = s(() => ce(V.value, K.value.check)), Z = C([]);
83
+ function Q(e) {
84
+ return I.isSelected?.(e) ?? !1;
80
85
  }
81
- function de(e) {
82
- e.disabled || I("select", e);
86
+ function be(e) {
87
+ e.disabled || P("select", e);
83
88
  }
84
- function fe(e) {
85
- return Q.value.some((t) => String(t.value) === String(e.value)) || (Q.value = [...Q.value, e]), () => {
86
- Q.value = Q.value.filter((t) => String(t.value) !== String(e.value));
89
+ function xe(e) {
90
+ return Z.value.some((t) => String(t.value) === String(e.value)) || (Z.value = [...Z.value, e]), () => {
91
+ Z.value = Z.value.filter((t) => String(t.value) !== String(e.value));
87
92
  };
88
93
  }
89
- function pe(e) {
90
- return (X.value ? Q.value : Y.value).findIndex((t) => String(t.value) === String(e));
94
+ function Se(e) {
95
+ return (Y.value ? Z.value : J.value).findIndex((t) => String(t.value) === String(e));
91
96
  }
92
- k(Q, (e) => {
93
- X.value && I("registered-options-change", e);
94
- }, { deep: !0 }), S(i, l(() => ({
95
- getOptionIndex: pe,
96
- registerOption: fe,
97
- onSelect: de,
98
- listboxId: R.listboxId,
99
- isSelected: $,
100
- sizeClasses: K.value,
101
- showCheckmark: R.showCheckmark,
102
- checkClass: ue.value,
103
- highlightedIndex: R.highlightedIndex,
104
- optionSelectedClass: se.value,
105
- optionHighlightedClass: ce.value,
97
+ D(Z, (e) => {
98
+ Y.value && P("registered-options-change", e);
99
+ }, { deep: !0 });
100
+ let Ce = s(() => ({
101
+ getOptionIndex: Se,
102
+ registerOption: xe,
103
+ onSelect: be,
104
+ listboxId: I.listboxId,
105
+ isSelected: Q,
106
+ sizeClasses: pe.value,
107
+ showCheckmark: I.showCheckmark,
108
+ checkClass: ye.value,
109
+ highlightedIndex: I.highlightedIndex,
110
+ optionSelectedClass: ge.value,
111
+ optionHighlightedClass: _e.value,
106
112
  mergedClasses: {
107
- optionSelected: q.value.optionSelected,
108
- optionHighlighted: q.value.optionHighlighted
113
+ optionSelected: K.value.optionSelected,
114
+ optionHighlighted: K.value.optionHighlighted
109
115
  }
110
- })));
111
- let me = l(() => M(J.value, $)), he = l(() => H.value.customProps?.menu), ge = l(() => H.value.customProps?.list), _e = l(() => H.value.customProps?.listItem), ve = l(() => H.value.customProps?.progress), ye = l(() => H.value.customProps?.listSection), be = l(() => ({
112
- ...N(R.rounded) ? {} : { rounded: R.rounded },
113
- ...he.value
114
- })), xe = l(() => ({
116
+ }));
117
+ S(re, Ce);
118
+ let we = s(() => A(q.value, Q)), Te = s(() => B.value.customProps?.menu), Ee = s(() => B.value.customProps?.modal), De = s(() => B.value.customProps?.drawer), $ = s(() => B.value.customProps?.list), Oe = s(() => B.value.customProps?.listItem), ke = s(() => B.value.customProps?.progress), Ae = s(() => B.value.customProps?.listSection), je = s(() => ({
119
+ modal: Ee.value,
120
+ drawer: De.value,
121
+ menu: {
122
+ anchorEl: I.anchorEl,
123
+ placement: I.placement,
124
+ disableAutoFocus: I.disableAutoFocus,
125
+ ...j(I.rounded) ? {} : { rounded: I.rounded },
126
+ ...Te.value
127
+ }
128
+ })), Me = s(() => ({
115
129
  size: "xs",
116
130
  "aria-hidden": !0,
117
- color: H.value.color,
118
- ...r(ve.value, {
131
+ color: B.value.color,
132
+ ...n(ke.value, {
119
133
  class: "shrink-0",
120
- classes: { bar: q.value.loading }
134
+ classes: { bar: K.value.loading }
121
135
  })
122
- })), Se = l(() => ({
136
+ })), Ne = s(() => ({
123
137
  dense: !0,
124
138
  role: "listbox",
125
- id: R.listboxId,
126
- "aria-labelledby": R.labelledBy,
127
- "aria-multiselectable": R.multiple || void 0,
128
- ...r(ge.value, { class: "p-0" })
139
+ id: I.listboxId,
140
+ "aria-labelledby": I.labelledBy,
141
+ "aria-multiselectable": I.multiple || void 0,
142
+ ...n($.value, { class: "p-0" })
129
143
  }));
130
- return (e, r) => (x(), u(O(s), y({
131
- modelValue: L.value,
132
- "onUpdate:modelValue": r[0] ||= (e) => L.value = e,
133
- "anchor-el": g.anchorEl,
134
- placement: g.placement,
135
- "close-on-click-away": !0,
136
- "disable-auto-focus": g.disableAutoFocus
137
- }, be.value), {
138
- default: A(() => [
139
- O(t)(O(F), "beforeOptions") ? (x(), u(E(O(n)(O(F), "beforeOptions")), { key: 0 })) : d("", !0),
140
- g.loading ? (x(), f(c, { key: 1 }, [h(O(ne), b(_(xe.value)), null, 16), p("div", b(_(O(G))), [O(t)(O(F), "loading") ? (x(), u(E(O(n)(O(F), "loading")), { key: 0 })) : (x(), f("span", P, D(V.value), 1))], 16)], 64)) : (x(), f("div", b(y({ key: 2 }, O(W))), [h(O(te), b(_(Se.value)), {
141
- default: A(() => [X.value ? T(e.$slots, "default", { key: 0 }) : (x(!0), f(c, { key: 1 }, w(me.value, (n) => (x(), f(c, { key: n.key }, [n.kind === "section" ? (x(), u(O(o), y({
144
+ return (e, n) => (x(), c(E(te), {
145
+ modelValue: F.value,
146
+ "onUpdate:modelValue": n[2] ||= (e) => F.value = e,
147
+ overlay: h.overlay,
148
+ "custom-props": je.value
149
+ }, {
150
+ default: O(() => [d("div", { class: y(E(fe)) }, [
151
+ E(t)(E(N), "beforeOptions") ? w(e.$slots, "beforeOptions", {}, void 0, void 0, 0) : l("", !0),
152
+ h.loading ? (x(), u(o, { key: 1 }, [m(E(ie), b(g(Me.value)), null, 16), d("div", b(g(E(G))), [E(t)(E(N), "loading") ? w(e.$slots, "loading", {}, void 0, void 0, 0) : (x(), u("span", M, T(z.value), 1))], 16)], 64)) : (x(), u("div", b(v({ key: 2 }, E(H))), [m(E(ne), b(g(Ne.value)), {
153
+ default: O(() => [Y.value ? w(e.$slots, "default", {}, void 0, void 0, 0) : (x(!0), u(o, { key: 1 }, ae(we.value, (n) => (x(), u(o, { key: n.key }, [n.kind === "section" ? (x(), c(E(a), v({
142
154
  key: 0,
143
155
  title: n.title,
144
156
  sticky: n.sticky
145
- }, { ref_for: !0 }, ye.value), null, 16, ["title", "sticky"])) : (x(), u(O(a), y({
157
+ }, { ref_for: !0 }, Ae.value), null, 16, ["title", "sticky"])) : (x(), c(E(i), v({
146
158
  key: 1,
147
159
  interactive: "",
148
160
  value: n.option.value,
149
161
  disabled: n.option.disabled,
150
162
  secondary: n.option.description,
151
- primary: O(t)(O(F), "option") ? void 0 : n.option.label
152
- }, { ref_for: !0 }, _e.value), m({ _: 2 }, [O(t)(O(F), "option") ? {
163
+ primary: E(t)(E(N), "option") ? void 0 : n.option.label
164
+ }, { ref_for: !0 }, Oe.value), f({ _: 2 }, [E(t)(E(N), "option") ? {
153
165
  name: "default",
154
- fn: A(() => [T(e.$slots, "option", {
166
+ fn: O(() => [w(e.$slots, "option", {
155
167
  option: n.option,
156
168
  selected: n.selected
157
169
  })]),
@@ -164,17 +176,26 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
164
176
  ]))], 64))), 128))]),
165
177
  _: 3
166
178
  }, 16)], 16)),
167
- Z.value && !O(t)(O(F), "empty") ? (x(), f("div", b(y({ key: 3 }, O(G))), D(B.value), 17)) : Z.value && O(t)(O(F), "empty") ? (x(), u(E(O(n)(O(F), "empty")), { key: 4 })) : d("", !0),
168
- O(t)(O(F), "afterOptions") ? (x(), u(E(O(n)(O(F), "afterOptions")), { key: 5 })) : d("", !0)
169
- ]),
179
+ X.value && !E(t)(E(N), "empty") ? (x(), u("div", b(v({ key: 3 }, E(G))), T(R.value), 17)) : X.value && E(t)(E(N), "empty") ? w(e.$slots, "empty", {}, void 0, void 0, 4) : l("", !0),
180
+ E(t)(E(N), "afterOptions") ? w(e.$slots, "afterOptions", {}, void 0, void 0, 5) : l("", !0),
181
+ E(W) ? (x(), u("div", b(v({ key: 6 }, E(U))), [m(E(r), v({
182
+ variant: "flat",
183
+ color: "secondary"
184
+ }, E(he), { onClick: n[0] ||= (e) => P("cancel") }), {
185
+ default: O(() => [p(T(E(de)), 1)]),
186
+ _: 1
187
+ }, 16), m(E(r), v({ color: "primary" }, E(me), { onClick: n[1] ||= (e) => P("apply") }), {
188
+ default: O(() => [p(T(E(ue)), 1)]),
189
+ _: 1
190
+ }, 16)], 16)) : l("", !0)
191
+ ], 2)]),
170
192
  _: 3
171
- }, 16, [
193
+ }, 8, [
172
194
  "modelValue",
173
- "anchor-el",
174
- "placement",
175
- "disable-auto-focus"
195
+ "overlay",
196
+ "custom-props"
176
197
  ]));
177
198
  }
178
199
  });
179
200
  //#endregion
180
- export { F as default };
201
+ export { N as default };
@@ -1,6 +1,6 @@
1
1
  import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core';
2
2
  import { ListboxClasses, ListboxOwnProps } from '../listbox.types';
3
- export declare const listboxBridgeKeys: readonly ["size", "color", "classes", "maxHeight", "customProps", "invalidated", "disableMaxHeight"];
3
+ export declare const listboxBridgeKeys: readonly ["size", "color", "classes", "maxHeight", "showFooter", "customProps", "invalidated", "disableMaxHeight"];
4
4
  type ListboxLibDefaults = LibDefaultsShape<ListboxOwnProps, "size" | "color">;
5
5
  type ListboxMerged = MergeLibDefaults<ListboxOwnProps, ListboxLibDefaults>;
6
6
  /**
@@ -16,9 +16,16 @@ export declare function useListbox(props: ListboxOwnProps, libDefaults: ListboxL
16
16
  merged: import('vue').ComputedRef<ListboxMerged>;
17
17
  checkClass: import('vue').ComputedRef<string>;
18
18
  scrollBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
19
+ footerBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
20
+ showFooter: import('vue').ComputedRef<boolean>;
21
+ applyLabel: import('vue').ComputedRef<string>;
22
+ cancelLabel: import('vue').ComputedRef<string>;
19
23
  messageBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, {}>>;
24
+ surfaceBind: import('vue').ComputedRef<string>;
20
25
  sizeClasses: import('vue').ComputedRef<import('@bridge-ui/core').ListboxSizeItem | undefined>;
21
26
  mergedClasses: import('vue').ComputedRef<Partial<ListboxClasses>>;
27
+ applyButtonProps: import('vue').ComputedRef<Partial<import('@bridge-ui/core').MergeHtmlProps<Omit<import('../../Button').ButtonOwnProps, "as">, import('vue').ButtonHTMLAttributes>> | undefined>;
28
+ cancelButtonProps: import('vue').ComputedRef<Partial<import('@bridge-ui/core').MergeHtmlProps<Omit<import('../../Button').ButtonOwnProps, "as">, import('vue').ButtonHTMLAttributes>> | undefined>;
22
29
  optionSelectedClass: import('vue').ComputedRef<string | undefined>;
23
30
  optionHighlightedClass: import('vue').ComputedRef<string | undefined>;
24
31
  };
@@ -1,53 +1,75 @@
1
- import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
2
- import { computed as r, useAttrs as i } from "vue";
3
- import { cn as a, mergeBridgeUILayeredClasses as o, splitComponentProps as s } from "@bridge-ui/core";
4
- import { get as c } from "es-toolkit/compat";
5
- import { colorProps as l, invalidatedProps as u, sizeProps as d } from "@bridge-ui/core/Tokens/Listbox";
1
+ import { useResolveMessage as e } from "../../../Adapters/I18n/useI18nAdapter.js";
2
+ import { useBreakpoint as t } from "../../../Utils/useBreakpoint.js";
3
+ import { mergePartBind as n, useBridgeUIComponent as r, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
4
+ import { computed as a, useAttrs as o } from "vue";
5
+ import { cn as s, isFieldOverlayDialog as c, mergeBridgeUILayeredClasses as l, resolveFieldOverlay as u, resolveFieldShowFooter as d, splitComponentProps as f } from "@bridge-ui/core";
6
+ import { get as p } from "es-toolkit/compat";
7
+ import { colorProps as m, invalidatedProps as h, sizeProps as g } from "@bridge-ui/core/Tokens/Listbox";
6
8
  //#region src/Components/Listbox/composables/useListbox.ts
7
- var f = [
9
+ var _ = [
8
10
  "size",
9
11
  "color",
10
12
  "classes",
11
13
  "maxHeight",
14
+ "showFooter",
12
15
  "customProps",
13
16
  "invalidated",
14
17
  "disableMaxHeight"
15
18
  ];
16
- function p(p, m, h = {}) {
17
- let g = i(), _ = r(() => s({
19
+ function v(v, y, b = {}) {
20
+ let x = o(), S = t(), C = e(), w = a(() => f({
18
21
  props: {
19
- ...g,
20
- ...p
22
+ ...x,
23
+ ...v
21
24
  },
22
- bridgeKeys: f
23
- })), { merged: v, entry: y } = t({
24
- libDefaults: m,
25
- componentName: h.componentName,
26
- props: () => _.value.componentProps
27
- }), b = n({
28
- entry: y,
29
- props: () => _.value.componentProps
30
- }), x = r(() => c(y.value, ["tokens", "listbox"])), S = r(() => c(o(l, x.value?.color), v.value.color ?? "primary")), C = r(() => o(u, x.value?.invalidated)), w = r(() => v.value.invalidated ? C.value : S.value), T = r(() => c(o(d, x.value?.size), v.value.size ?? "md")), E = r(() => w.value?.selected), D = r(() => w.value?.highlighted);
25
+ bridgeKeys: _
26
+ })), { merged: T, entry: E } = r({
27
+ libDefaults: y,
28
+ componentName: b.componentName,
29
+ props: () => w.value.componentProps
30
+ }), D = i({
31
+ entry: E,
32
+ props: () => w.value.componentProps
33
+ }), O = a(() => T.value.customProps), k = a(() => d(T.value.showFooter, S.mobile)), A = a(() => c(u(v.overlay, S.mobile))), j = a(() => p(E.value, ["tokens", "listbox"])), M = a(() => {
34
+ let e = l(m, j.value?.color);
35
+ return p(e, T.value.color ?? "primary");
36
+ }), N = a(() => l(h, j.value?.invalidated)), P = a(() => T.value.invalidated ? N.value : M.value), F = a(() => {
37
+ let e = l(g, j.value?.size);
38
+ return p(e, T.value.size ?? "md");
39
+ }), I = a(() => P.value?.selected), L = a(() => P.value?.highlighted), R = a(() => s(F.value?.check, P.value?.check)), z = a(() => {
40
+ let e = T.value.maxHeight ?? "max-h-60", t = T.value.disableMaxHeight === !0;
41
+ return n(T.value.customProps?.scroll, {}, s({
42
+ "overflow-y-auto overscroll-contain": !t,
43
+ [e]: !t,
44
+ [D.value.scroll ?? ""]: !0
45
+ }));
46
+ }), B = a(() => n({}, {}, s({
47
+ "text-dark-500": !0,
48
+ [F.value?.message ?? ""]: !0
49
+ }))), V = a(() => s({
50
+ "overflow-hidden ring-1 ring-black/5 outline-hidden dark:ring-white/10": A.value,
51
+ "w-full rounded-lg bg-white text-dark-900 shadow-lg dark:bg-dark-800 dark:text-dark-100": A.value
52
+ }));
31
53
  return {
32
- merged: v,
33
- checkClass: r(() => a(T.value?.check, w.value?.check)),
34
- scrollBind: r(() => {
35
- let t = v.value.maxHeight ?? "max-h-60", n = v.value.disableMaxHeight === !0;
36
- return e(v.value.customProps?.scroll, {}, a({
37
- "overflow-y-auto overscroll-contain": !n,
38
- [t]: !n,
39
- [b.value.scroll ?? ""]: !0
40
- }));
41
- }),
42
- messageBind: r(() => e({}, {}, a({
43
- "text-gray-500": !0,
44
- [T.value?.message ?? ""]: !0
54
+ merged: T,
55
+ checkClass: R,
56
+ scrollBind: z,
57
+ footerBind: a(() => n(O.value?.footer, {}, s({
58
+ "flex items-center justify-end gap-2 border-t border-dark-100 bg-dark-50 px-3 py-2 dark:border-dark-800 dark:bg-dark-950/40": !0,
59
+ [D.value.footer ?? ""]: !0
45
60
  }))),
46
- sizeClasses: T,
47
- mergedClasses: b,
48
- optionSelectedClass: E,
49
- optionHighlightedClass: D
61
+ showFooter: k,
62
+ applyLabel: a(() => C("Apply")),
63
+ cancelLabel: a(() => C("Cancel")),
64
+ messageBind: B,
65
+ surfaceBind: V,
66
+ sizeClasses: F,
67
+ mergedClasses: D,
68
+ applyButtonProps: a(() => O.value?.applyButton),
69
+ cancelButtonProps: a(() => O.value?.cancelButton),
70
+ optionSelectedClass: I,
71
+ optionHighlightedClass: L
50
72
  };
51
73
  }
52
74
  //#endregion
53
- export { p as useListbox };
75
+ export { _ as listboxBridgeKeys, v as useListbox };
@@ -1,18 +1,29 @@
1
- import { HTMLAttributes, Slot } from 'vue';
2
- import { ListboxColor, ListboxEntry, ListboxOption, ListboxSize, ListboxValue, MenuRounded, MergeHtmlProps, MergeProps, PositionPlacement } from '@bridge-ui/core';
1
+ import { ButtonHTMLAttributes, HTMLAttributes, Slot } from 'vue';
2
+ import { FieldOverlayMode, ListboxColor, ListboxEntry, ListboxOption, ListboxSize, ListboxValue, MenuRounded, MergeHtmlProps, MergeProps, PositionPlacement } from '@bridge-ui/core';
3
+ import { ButtonOwnProps } from '../Button';
4
+ import { DrawerOwnProps } from '../Drawer/drawer.types';
3
5
  import { ListOwnProps } from '../List/list.types';
4
6
  import { ListItemOwnProps } from '../ListItem/listItem.types';
5
7
  import { ListSectionOwnProps } from '../ListSection/listSection.types';
6
8
  import { MenuOwnProps } from '../Menu/menu.types';
9
+ import { ModalOwnProps } from '../Modal/modal.types';
7
10
  import { ProgressOwnProps } from '../Progress/progress.types';
8
11
  export interface ListboxSizeOverrides {}
9
12
  export interface ListboxColorOverrides {}
10
13
  export interface ListboxRoundedOverrides {}
14
+ /**
15
+ * Props accepted by the footer buttons, pinned to the native `button` element.
16
+ */
17
+ type ListboxFooterButtonProps = Partial<MergeHtmlProps<Omit<ButtonOwnProps, "as">, ButtonHTMLAttributes>>;
11
18
  export interface ListboxClasses {
12
19
  /**
13
20
  * Classes merged onto the check icon.
14
21
  */
15
22
  check?: string;
23
+ /**
24
+ * Classes merged onto the Cancel / Apply footer.
25
+ */
26
+ footer?: string;
16
27
  /**
17
28
  * Classes forwarded to the loading `Progress` bar.
18
29
  */
@@ -31,6 +42,30 @@ export interface ListboxClasses {
31
42
  scroll?: string;
32
43
  }
33
44
  export interface ListboxCustomProps {
45
+ /**
46
+ * Props forwarded to the Apply button.
47
+ *
48
+ * @default undefined
49
+ */
50
+ applyButton?: ListboxFooterButtonProps;
51
+ /**
52
+ * Props forwarded to the Cancel button.
53
+ *
54
+ * @default undefined
55
+ */
56
+ cancelButton?: ListboxFooterButtonProps;
57
+ /**
58
+ * Props forwarded to the nested `Drawer` when `overlay` resolves to `drawer`.
59
+ *
60
+ * @default undefined
61
+ */
62
+ drawer?: Partial<DrawerOwnProps>;
63
+ /**
64
+ * Props forwarded to the Cancel / Apply footer.
65
+ *
66
+ * @default undefined
67
+ */
68
+ footer?: HTMLAttributes;
34
69
  /**
35
70
  * Props forwarded to the internal `List`.
36
71
  *
@@ -51,12 +86,18 @@ export interface ListboxCustomProps {
51
86
  */
52
87
  listSection?: Partial<Omit<ListSectionOwnProps, "title">>;
53
88
  /**
54
- * Props forwarded to the floating `Menu`.
89
+ * Props forwarded to the floating `Menu` when `overlay` resolves to `menu`.
55
90
  * Merged last so they override Listbox defaults.
56
91
  *
57
92
  * @default undefined
58
93
  */
59
94
  menu?: Partial<MenuOwnProps>;
95
+ /**
96
+ * Props forwarded to the nested `Modal` when `overlay` resolves to `modal`.
97
+ *
98
+ * @default undefined
99
+ */
100
+ modal?: Partial<ModalOwnProps>;
60
101
  /**
61
102
  * Props forwarded to the loading `Progress`.
62
103
  *
@@ -72,6 +113,14 @@ export interface ListboxCustomProps {
72
113
  }
73
114
  export type { ListboxEntry, ListboxOption, ListboxValue, } from '@bridge-ui/core';
74
115
  export interface ListboxEmits {
116
+ /**
117
+ * Emitted when Apply is pressed (`showFooter`).
118
+ */
119
+ apply: [];
120
+ /**
121
+ * Emitted when Cancel is pressed (`showFooter`).
122
+ */
123
+ cancel: [];
75
124
  /**
76
125
  * Emitted when composed `ListItem` options register or unregister.
77
126
  */
@@ -109,7 +158,8 @@ export interface ListboxOwnProps {
109
158
  componentName?: "Select" | "Autocomplete";
110
159
  /**
111
160
  * Extra props for internal parts (`list`, `listItem`, `listSection`, `menu`,
112
- * `progress`, `scroll`).
161
+ * `modal`, `drawer`, `progress`, `scroll`, `footer`, `applyButton`,
162
+ * `cancelButton`).
113
163
  *
114
164
  * @default undefined
115
165
  */
@@ -200,6 +250,13 @@ export interface ListboxOwnProps {
200
250
  * @default []
201
251
  */
202
252
  options?: ListboxOption[];
253
+ /**
254
+ * Which overlay shell opens the options panel. `auto` uses `menu` on desktop
255
+ * and `drawer` (bottom) on mobile.
256
+ *
257
+ * @default "auto"
258
+ */
259
+ overlay?: FieldOverlayMode;
203
260
  /**
204
261
  * Preferred placement of the panel relative to the anchor.
205
262
  *
@@ -220,6 +277,13 @@ export interface ListboxOwnProps {
220
277
  * @default true
221
278
  */
222
279
  showCheckmark?: boolean;
280
+ /**
281
+ * Shows Cancel / Apply footer. When unset, defaults to `true` on mobile.
282
+ * Parents (e.g. Select) typically keep selection as draft until Apply.
283
+ *
284
+ * @default false
285
+ */
286
+ showFooter?: boolean;
223
287
  /**
224
288
  * Typography and option padding scale, aligned with `FormField` / `Select`.
225
289
  *
@@ -15,16 +15,16 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
15
15
  offset: number;
16
16
  rounded: import('@bridge-ui/core').MergeProps<import('@bridge-ui/core').MenuRounded, import('./menu.types').MenuRoundedOverrides>;
17
17
  shadow: import('@bridge-ui/core').MergeProps<import('@bridge-ui/core').MenuShadow, import('./menu.types').MenuShadowOverrides>;
18
- anchorEl: null | HTMLElement;
19
- closeOnClickAway: boolean;
20
18
  closeOnEscape: boolean;
21
- disableAutoFocus: boolean;
22
19
  disableScrollLock: boolean;
23
20
  keepMounted: boolean;
24
21
  persistent: boolean;
25
22
  placement: import('@floating-ui/utils').Placement;
26
- strategy: import('@bridge-ui/core').PositionStrategy;
27
23
  teleportTo: false | string;
24
+ anchorEl: null | HTMLElement;
25
+ closeOnClickAway: boolean;
26
+ disableAutoFocus: boolean;
27
+ strategy: import('@bridge-ui/core').PositionStrategy;
28
28
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;
@@ -1,11 +1,11 @@
1
- import { hasNamedSlot as e, resolveNamedSlot as t } from "../../Utils/slotOrProp.js";
2
- import { useMenu as n } from "./composables/useMenu.js";
3
- import { Fragment as r, Teleport as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeProps as p, openBlock as m, resolveDynamicComponent as h, unref as g, useModel as _, useSlots as v } from "vue";
1
+ import { hasNamedSlot as e } from "../../Utils/slotOrProp.js";
2
+ import { useMenu as t } from "./composables/useMenu.js";
3
+ import { Fragment as n, Teleport as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, mergeModels as u, mergeProps as d, normalizeProps as f, openBlock as p, renderSlot as m, unref as h, useModel as g, useSlots as _ } from "vue";
4
4
  //#region src/Components/Menu/Menu.vue?vue&type=script&setup=true&lang.ts
5
- var y = /* @__PURE__ */ u({
5
+ var v = /*@__PURE__*/ l({
6
6
  inheritAttrs: !1,
7
7
  __name: "Menu",
8
- props: /* @__PURE__ */ d({
8
+ props: /*@__PURE__*/ u({
9
9
  anchorEl: { default: null },
10
10
  classes: {},
11
11
  closeOnClickAway: {
@@ -50,9 +50,9 @@ var y = /* @__PURE__ */ u({
50
50
  },
51
51
  modelModifiers: {}
52
52
  }),
53
- emits: /* @__PURE__ */ d(["close"], ["update:modelValue"]),
54
- setup(u, { emit: d }) {
55
- let y = v(), b = d, x = u, { merged: S, mounted: C, rootBind: w, triggerBind: T, contentBind: E, setTriggerRef: D, setContentRef: O } = n(x, {
53
+ emits: /*@__PURE__*/ u(["close"], ["update:modelValue"]),
54
+ setup(l, { emit: u }) {
55
+ let v = _(), y = u, b = l, x = g(l, "modelValue"), { merged: S, mounted: C, rootBind: w, triggerBind: T, contentBind: E, setTriggerRef: D, setContentRef: O } = t(b, {
56
56
  offset: 4,
57
57
  shadow: "md",
58
58
  rounded: "md",
@@ -63,18 +63,18 @@ var y = /* @__PURE__ */ u({
63
63
  disableScrollLock: !0,
64
64
  placement: "bottom-start"
65
65
  }, {
66
- show: _(u, "modelValue"),
67
- onClose: () => b("close"),
68
- onShowChange: (e) => x.onShowChange?.(e)
69
- }), k = a(() => e(y, "trigger")), A = a(() => S.value.teleportTo === !1), j = a(() => S.value.teleportTo === !1 ? "body" : S.value.teleportTo);
70
- return (e, n) => (m(), c(r, null, [k.value ? (m(), c("div", p(f({ key: 0 }, g(w))), [l("div", f({ ref: g(D) }, g(T)), [(m(), o(h(g(t)(g(y), "trigger"))))], 16)], 16)) : s("", !0), (m(), o(i, {
71
- to: j.value,
72
- disabled: A.value
73
- }, [g(C) ? (m(), c("div", f({
66
+ show: x,
67
+ onClose: () => y("close"),
68
+ onShowChange: (e) => b.onShowChange?.(e)
69
+ }), k = i(() => S.value.teleportTo === !1), A = i(() => S.value.teleportTo === !1 ? "body" : S.value.teleportTo);
70
+ return (t, i) => (p(), s(n, null, [h(e)(h(v), "trigger") ? (p(), s("div", f(d({ key: 0 }, h(w))), [c("div", d({ ref: h(D) }, h(T)), [m(t.$slots, "trigger")], 16)], 16)) : o("", !0), (p(), a(r, {
71
+ to: A.value,
72
+ disabled: k.value
73
+ }, [h(C) ? (p(), s("div", d({
74
74
  key: 0,
75
- ref: g(O)
76
- }, g(E)), [(m(), o(h(g(t)(g(y), "default"))))], 16)) : s("", !0)], 8, ["to", "disabled"]))], 64));
75
+ ref: h(O)
76
+ }, h(E)), [m(t.$slots, "default")], 16)) : o("", !0)], 8, ["to", "disabled"]))], 64));
77
77
  }
78
78
  });
79
79
  //#endregion
80
- export { y as default };
80
+ export { v as default };
@@ -24,7 +24,7 @@ export declare function useMenu(props: MenuOwnProps, libDefaults: MenuLibDefault
24
24
  merged: import('vue').ComputedRef<MenuMerged>;
25
25
  menuId: string;
26
26
  mounted: Ref<boolean, boolean>;
27
- rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<MenuProps, "offset" | "classes" | "customProps" | "rounded" | "shadow" | "closeOnClickAway" | "closeOnEscape" | "disableAutoFocus" | "disableScrollLock" | "keepMounted" | "persistent" | "placement" | "strategy" | "teleportTo">, "anchorEl" | "onShowChange">>>;
27
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<MenuProps, "offset" | "classes" | "customProps" | "rounded" | "shadow" | "closeOnEscape" | "disableScrollLock" | "keepMounted" | "persistent" | "placement" | "teleportTo" | "closeOnClickAway" | "disableAutoFocus" | "strategy">, "anchorEl" | "onShowChange">>>;
28
28
  isPortaled: import('vue').ComputedRef<boolean>;
29
29
  triggerBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<{
30
30
  tabindex: number;