@bridge-ui/vue 0.0.7 → 0.0.9

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 (401) hide show
  1. package/ai/AGENTS.md +31 -0
  2. package/ai/README.md +35 -0
  3. package/ai/guidelines/core.md +44 -0
  4. package/ai/llms.txt +38 -0
  5. package/ai/skills/bridge-ui-components/SKILL.md +48 -0
  6. package/ai/skills/bridge-ui-forms/SKILL.md +46 -0
  7. package/ai/skills/bridge-ui-overlays/SKILL.md +37 -0
  8. package/ai/skills/bridge-ui-setup/SKILL.md +38 -0
  9. package/bin/__tests__/ai.test.ts +319 -0
  10. package/bin/ai.mjs +469 -0
  11. package/dist/Actions/BridgeUIHosts.vue_vue_type_script_setup_true_lang.js +1 -1
  12. package/dist/Actions/Dialog/BridgeDialogAction.vue_vue_type_script_setup_true_lang.js +1 -1
  13. package/dist/Actions/Dialog/BridgeDialogHost.vue_vue_type_script_setup_true_lang.js +1 -1
  14. package/dist/Actions/Dialog/BridgeDialogItem.vue_vue_type_script_setup_true_lang.js +5 -5
  15. package/dist/Actions/Dialog/ResolveBridgeDialogFooter.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/dist/Actions/Drawer/BridgeDrawerHost.vue_vue_type_script_setup_true_lang.js +1 -1
  17. package/dist/Actions/Modal/BridgeModalHost.vue_vue_type_script_setup_true_lang.js +1 -1
  18. package/dist/Actions/Snackbar/BridgeSnackbarAction.vue_vue_type_script_setup_true_lang.js +8 -8
  19. package/dist/Actions/Snackbar/BridgeSnackbarHost.vue_vue_type_script_setup_true_lang.js +5 -2
  20. package/dist/Actions/Snackbar/BridgeSnackbarItem.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/Adapters/Date/index.d.ts +1 -0
  22. package/dist/Adapters/Date/index.js +2 -0
  23. package/dist/Adapters/Date/useDateAdapter.d.ts +17 -0
  24. package/dist/Adapters/Date/useDateAdapter.js +21 -0
  25. package/dist/Adapters/I18n/useI18nAdapter.d.ts +1 -1
  26. package/dist/Adapters/Icon/useIconAdapter.d.ts +1 -1
  27. package/dist/Adapters/index.d.ts +1 -0
  28. package/dist/Adapters/index.js +4 -3
  29. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +1 -1
  30. package/dist/Components/Alert/composables/useAlert.js +13 -1
  31. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +7 -5
  32. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +17 -10
  33. package/dist/Components/Autocomplete/AutocompleteOption.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/Components/Autocomplete/autocomplete.types.d.ts +19 -1
  35. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +8 -2
  36. package/dist/Components/Autocomplete/composables/useAutocomplete.js +213 -181
  37. package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +1 -1
  38. package/dist/Components/Avatar/composables/useAvatar.d.ts +1 -1
  39. package/dist/Components/Avatar/composables/useAvatar.js +13 -1
  40. package/dist/Components/Badge/Badge.vue_vue_type_script_setup_true_lang.js +1 -1
  41. package/dist/Components/Badge/composables/useBadge.js +10 -1
  42. package/dist/Components/BaseField/BaseField.js +5 -0
  43. package/dist/Components/BaseField/BaseField.vue.d.ts +15 -0
  44. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +41 -0
  45. package/dist/Components/BaseField/BaseFieldLabel.js +5 -0
  46. package/dist/Components/{OtpField/OtpFieldLabel.vue.d.ts → BaseField/BaseFieldLabel.vue.d.ts} +2 -2
  47. package/dist/Components/{OtpField/OtpFieldLabel.vue_vue_type_script_setup_true_lang.js → BaseField/BaseFieldLabel.vue_vue_type_script_setup_true_lang.js} +3 -3
  48. package/dist/Components/BaseField/baseField.types.d.ts +222 -0
  49. package/dist/Components/BaseField/composables/useBaseField.d.ts +55 -0
  50. package/dist/Components/BaseField/composables/useBaseField.js +134 -0
  51. package/dist/Components/BaseField/index.d.ts +4 -0
  52. package/dist/Components/BaseField/index.js +3 -0
  53. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +1 -1
  54. package/dist/Components/Button/composables/useButton.d.ts +1 -1
  55. package/dist/Components/Button/composables/useButton.js +10 -1
  56. package/dist/Components/Calendar/Calendar.js +5 -0
  57. package/dist/Components/Calendar/Calendar.vue.d.ts +21 -0
  58. package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +139 -0
  59. package/dist/Components/Calendar/calendar.types.d.ts +287 -0
  60. package/dist/Components/Calendar/composables/useCalendar.d.ts +875 -0
  61. package/dist/Components/Calendar/composables/useCalendar.js +173 -0
  62. package/dist/Components/Calendar/index.d.ts +3 -0
  63. package/dist/Components/Calendar/index.js +3 -0
  64. package/dist/Components/CalendarDate/CalendarDate.js +5 -0
  65. package/dist/Components/CalendarDate/CalendarDate.vue.d.ts +19 -0
  66. package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +56 -0
  67. package/dist/Components/CalendarDate/calendarDate.types.d.ts +257 -0
  68. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +39 -0
  69. package/dist/Components/CalendarDate/composables/useCalendarDate.js +181 -0
  70. package/dist/Components/CalendarDate/index.d.ts +3 -0
  71. package/dist/Components/CalendarDate/index.js +3 -0
  72. package/dist/Components/CalendarMonth/CalendarMonth.js +5 -0
  73. package/dist/Components/CalendarMonth/CalendarMonth.vue.d.ts +8 -0
  74. package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +32 -0
  75. package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +135 -0
  76. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +29 -0
  77. package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +104 -0
  78. package/dist/Components/CalendarMonth/index.d.ts +3 -0
  79. package/dist/Components/CalendarMonth/index.js +3 -0
  80. package/dist/Components/CalendarRange/CalendarRange.js +5 -0
  81. package/dist/Components/CalendarRange/CalendarRange.vue.d.ts +19 -0
  82. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +187 -0
  83. package/dist/Components/CalendarRange/calendarRange.types.d.ts +333 -0
  84. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1891 -0
  85. package/dist/Components/CalendarRange/composables/useCalendarRange.js +253 -0
  86. package/dist/Components/CalendarRange/index.d.ts +3 -0
  87. package/dist/Components/CalendarRange/index.js +3 -0
  88. package/dist/Components/CalendarYear/CalendarYear.js +5 -0
  89. package/dist/Components/CalendarYear/CalendarYear.vue.d.ts +8 -0
  90. package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +34 -0
  91. package/dist/Components/CalendarYear/calendarYear.types.d.ts +141 -0
  92. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +30 -0
  93. package/dist/Components/CalendarYear/composables/useCalendarYear.js +108 -0
  94. package/dist/Components/CalendarYear/index.d.ts +3 -0
  95. package/dist/Components/CalendarYear/index.js +3 -0
  96. package/dist/Components/Card/Card.vue_vue_type_script_setup_true_lang.js +1 -1
  97. package/dist/Components/Card/composables/useCard.js +14 -3
  98. package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +2 -2
  99. package/dist/Components/Checkbox/composables/useCheckbox.d.ts +1 -1
  100. package/dist/Components/Checkbox/composables/useCheckbox.js +11 -2
  101. package/dist/Components/Chip/Chip.vue.d.ts +1 -1
  102. package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +1 -1
  103. package/dist/Components/Chip/composables/useChip.d.ts +1 -1
  104. package/dist/Components/Chip/composables/useChip.js +7 -4
  105. package/dist/Components/DateField/DateField.js +5 -0
  106. package/dist/Components/DateField/DateField.vue.d.ts +32 -0
  107. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +158 -0
  108. package/dist/Components/DateField/composables/useDateField.d.ts +725 -0
  109. package/dist/Components/DateField/composables/useDateField.js +169 -0
  110. package/dist/Components/DateField/dateField.types.d.ts +206 -0
  111. package/dist/Components/DateField/index.d.ts +3 -0
  112. package/dist/Components/DateField/index.js +3 -0
  113. package/dist/Components/DatePicker/DatePicker.js +5 -0
  114. package/dist/Components/DatePicker/DatePicker.vue.d.ts +17 -0
  115. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +104 -0
  116. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +28 -0
  117. package/dist/Components/DatePicker/composables/useDatePicker.js +91 -0
  118. package/dist/Components/DatePicker/datePicker.types.d.ts +233 -0
  119. package/dist/Components/DatePicker/index.d.ts +3 -0
  120. package/dist/Components/DatePicker/index.js +3 -0
  121. package/dist/Components/DateRangeField/DateRangeField.js +5 -0
  122. package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +32 -0
  123. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +152 -0
  124. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +723 -0
  125. package/dist/Components/DateRangeField/composables/useDateRangeField.js +143 -0
  126. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +195 -0
  127. package/dist/Components/DateRangeField/index.d.ts +3 -0
  128. package/dist/Components/DateRangeField/index.js +3 -0
  129. package/dist/Components/DateRangePicker/DateRangePicker.js +5 -0
  130. package/dist/Components/DateRangePicker/DateRangePicker.vue.d.ts +17 -0
  131. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +99 -0
  132. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +28 -0
  133. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +89 -0
  134. package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +218 -0
  135. package/dist/Components/DateRangePicker/index.d.ts +3 -0
  136. package/dist/Components/DateRangePicker/index.js +3 -0
  137. package/dist/Components/DateTimeField/DateTimeField.js +5 -0
  138. package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +31 -0
  139. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +141 -0
  140. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +724 -0
  141. package/dist/Components/DateTimeField/composables/useDateTimeField.js +151 -0
  142. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +230 -0
  143. package/dist/Components/DateTimeField/index.d.ts +3 -0
  144. package/dist/Components/DateTimeField/index.js +3 -0
  145. package/dist/Components/DateTimePicker/DateTimePicker.js +5 -0
  146. package/dist/Components/DateTimePicker/DateTimePicker.vue.d.ts +17 -0
  147. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +156 -0
  148. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +46 -0
  149. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +98 -0
  150. package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +272 -0
  151. package/dist/Components/DateTimePicker/index.d.ts +3 -0
  152. package/dist/Components/DateTimePicker/index.js +3 -0
  153. package/dist/Components/DateTimeRangeField/DateTimeRangeField.js +5 -0
  154. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +32 -0
  155. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +141 -0
  156. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +726 -0
  157. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +155 -0
  158. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +231 -0
  159. package/dist/Components/DateTimeRangeField/index.d.ts +3 -0
  160. package/dist/Components/DateTimeRangeField/index.js +3 -0
  161. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.js +5 -0
  162. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +17 -0
  163. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +209 -0
  164. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +49 -0
  165. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +112 -0
  166. package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +272 -0
  167. package/dist/Components/DateTimeRangePicker/index.d.ts +3 -0
  168. package/dist/Components/DateTimeRangePicker/index.js +3 -0
  169. package/dist/Components/Divider/Divider.vue_vue_type_script_setup_true_lang.js +1 -1
  170. package/dist/Components/Divider/composables/useDivider.js +7 -1
  171. package/dist/Components/Drawer/Drawer.vue.d.ts +8 -8
  172. package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +11 -11
  173. package/dist/Components/Drawer/composables/useDrawer.d.ts +1 -1
  174. package/dist/Components/Drawer/composables/useDrawer.js +11 -2
  175. package/dist/Components/FieldOverlay/FieldOverlay.js +5 -0
  176. package/dist/Components/FieldOverlay/FieldOverlay.vue.d.ts +26 -0
  177. package/dist/Components/FieldOverlay/FieldOverlay.vue_vue_type_script_setup_true_lang.js +63 -0
  178. package/dist/Components/FieldOverlay/composables/useFieldOverlay.d.ts +15 -0
  179. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +36 -0
  180. package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +63 -0
  181. package/dist/Components/FieldOverlay/index.d.ts +4 -0
  182. package/dist/Components/FieldOverlay/index.js +3 -0
  183. package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +2 -2
  184. package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +1 -1
  185. package/dist/Components/FormControl/composables/useFormControl.d.ts +11 -2
  186. package/dist/Components/FormControl/composables/useFormControl.js +58 -54
  187. package/dist/Components/FormControl/index.d.ts +1 -1
  188. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  189. package/dist/Components/FormField/FormField.vue_vue_type_script_setup_true_lang.js +1 -1
  190. package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +1 -1
  191. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  192. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  193. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  194. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  195. package/dist/Components/FormField/composables/useFormField.d.ts +5 -1
  196. package/dist/Components/FormField/composables/useFormField.js +20 -8
  197. package/dist/Components/Icon/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
  198. package/dist/Components/Icon/composables/useIcon.js +4 -1
  199. package/dist/Components/Label/Label.vue_vue_type_script_setup_true_lang.js +1 -1
  200. package/dist/Components/Label/composables/useLabel.js +5 -2
  201. package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +1 -1
  202. package/dist/Components/Link/composables/useLink.js +10 -1
  203. package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +1 -1
  204. package/dist/Components/List/composables/useList.js +4 -4
  205. package/dist/Components/ListItem/ListItem.vue.d.ts +1 -1
  206. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +1 -1
  207. package/dist/Components/ListItem/composables/useListItem.d.ts +1 -1
  208. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
  209. package/dist/Components/Listbox/Listbox.vue.d.ts +7 -2
  210. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +93 -71
  211. package/dist/Components/Listbox/composables/useListbox.d.ts +18 -2
  212. package/dist/Components/Listbox/composables/useListbox.js +59 -37
  213. package/dist/Components/Listbox/index.d.ts +1 -0
  214. package/dist/Components/Listbox/listbox.types.d.ts +74 -4
  215. package/dist/Components/Menu/Menu.vue.d.ts +6 -6
  216. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +12 -12
  217. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  218. package/dist/Components/Menu/composables/useMenu.js +9 -5
  219. package/dist/Components/Modal/Modal.vue.d.ts +8 -8
  220. package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +11 -11
  221. package/dist/Components/Modal/composables/useModal.d.ts +1 -1
  222. package/dist/Components/Modal/composables/useModal.js +11 -2
  223. package/dist/Components/NumberField/NumberField.vue.d.ts +2 -2
  224. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +3 -3
  225. package/dist/Components/NumberField/composables/useNumberField.d.ts +2 -2
  226. package/dist/Components/NumberField/composables/useNumberField.js +4 -1
  227. package/dist/Components/OtpField/OtpField.vue.d.ts +3 -3
  228. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +34 -52
  229. package/dist/Components/OtpField/composables/useOtpField.d.ts +40 -213
  230. package/dist/Components/OtpField/composables/useOtpField.js +105 -151
  231. package/dist/Components/OtpField/otpField.types.d.ts +10 -180
  232. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +3 -3
  233. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +2 -2
  234. package/dist/Components/PasswordField/composables/usePasswordField.js +4 -1
  235. package/dist/Components/Progress/Progress.vue_vue_type_script_setup_true_lang.js +1 -1
  236. package/dist/Components/Progress/composables/useProgress.js +13 -1
  237. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +11 -11
  238. package/dist/Components/Radio/composables/useRadio.d.ts +1 -1
  239. package/dist/Components/Radio/composables/useRadio.js +11 -2
  240. package/dist/Components/Select/Select.vue.d.ts +6 -4
  241. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +17 -10
  242. package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +1 -1
  243. package/dist/Components/Select/composables/useSelect.d.ts +8 -2
  244. package/dist/Components/Select/composables/useSelect.js +226 -194
  245. package/dist/Components/Select/select.types.d.ts +19 -1
  246. package/dist/Components/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +1 -1
  247. package/dist/Components/Skeleton/composables/useSkeleton.js +5 -2
  248. package/dist/Components/Slider/Slider.js +5 -0
  249. package/dist/Components/Slider/Slider.vue.d.ts +25 -0
  250. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +113 -0
  251. package/dist/Components/Slider/composables/useSlider.d.ts +485 -0
  252. package/dist/Components/Slider/composables/useSlider.js +292 -0
  253. package/dist/Components/Slider/index.d.ts +4 -0
  254. package/dist/Components/Slider/index.js +3 -0
  255. package/dist/Components/Slider/slider.types.d.ts +177 -0
  256. package/dist/Components/Snackbar/Snackbar.vue.d.ts +2 -2
  257. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +42 -42
  258. package/dist/Components/Snackbar/composables/useSnackbar.js +16 -3
  259. package/dist/Components/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +1 -1
  260. package/dist/Components/Spinner/composables/useSpinner.js +10 -1
  261. package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +12 -12
  262. package/dist/Components/Switch/composables/useSwitch.d.ts +1 -1
  263. package/dist/Components/Switch/composables/useSwitch.js +11 -2
  264. package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +1 -1
  265. package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +3 -2
  266. package/dist/Components/TabList/TabList.vue_vue_type_script_setup_true_lang.js +1 -1
  267. package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +1 -1
  268. package/dist/Components/Tabs/Tabs.vue.d.ts +2 -2
  269. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +8 -8
  270. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +2 -2
  271. package/dist/Components/TextField/composables/useTextField.d.ts +2 -2
  272. package/dist/Components/TextField/composables/useTextField.js +1 -1
  273. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +2 -2
  274. package/dist/Components/Textarea/composables/useTextarea.d.ts +2 -2
  275. package/dist/Components/Textarea/composables/useTextarea.js +5 -1
  276. package/dist/Components/TimeField/TimeField.js +5 -0
  277. package/dist/Components/TimeField/TimeField.vue.d.ts +32 -0
  278. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +134 -0
  279. package/dist/Components/TimeField/composables/useTimeField.d.ts +733 -0
  280. package/dist/Components/TimeField/composables/useTimeField.js +147 -0
  281. package/dist/Components/TimeField/index.d.ts +3 -0
  282. package/dist/Components/TimeField/index.js +3 -0
  283. package/dist/Components/TimeField/timeField.types.d.ts +155 -0
  284. package/dist/Components/TimePanel/TimePanel.js +5 -0
  285. package/dist/Components/TimePanel/TimePanel.vue.d.ts +8 -0
  286. package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +62 -0
  287. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +58 -0
  288. package/dist/Components/TimePanel/composables/useTimePanel.js +180 -0
  289. package/dist/Components/TimePanel/index.d.ts +3 -0
  290. package/dist/Components/TimePanel/index.js +3 -0
  291. package/dist/Components/TimePanel/timePanel.types.d.ts +147 -0
  292. package/dist/Components/TimePicker/TimePicker.js +5 -0
  293. package/dist/Components/TimePicker/TimePicker.vue.d.ts +10 -0
  294. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +82 -0
  295. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +31 -0
  296. package/dist/Components/TimePicker/composables/useTimePicker.js +84 -0
  297. package/dist/Components/TimePicker/index.d.ts +3 -0
  298. package/dist/Components/TimePicker/index.js +3 -0
  299. package/dist/Components/TimePicker/timePicker.types.d.ts +176 -0
  300. package/dist/Components/TimeRangeField/TimeRangeField.js +5 -0
  301. package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +32 -0
  302. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +134 -0
  303. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +725 -0
  304. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +143 -0
  305. package/dist/Components/TimeRangeField/index.d.ts +3 -0
  306. package/dist/Components/TimeRangeField/index.js +3 -0
  307. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +155 -0
  308. package/dist/Components/TimeRangePicker/TimeRangePicker.js +5 -0
  309. package/dist/Components/TimeRangePicker/TimeRangePicker.vue.d.ts +10 -0
  310. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +116 -0
  311. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +40 -0
  312. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +123 -0
  313. package/dist/Components/TimeRangePicker/index.d.ts +3 -0
  314. package/dist/Components/TimeRangePicker/index.js +3 -0
  315. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +232 -0
  316. package/dist/Components/Tooltip/Tooltip.vue.d.ts +2 -2
  317. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +14 -14
  318. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  319. package/dist/Components/Tooltip/composables/useTooltip.js +10 -1
  320. package/dist/Provider/BridgeUIProvider.vue_vue_type_script_setup_true_lang.js +4 -4
  321. package/dist/Provider/createBridgeUI.js +3 -3
  322. package/dist/Utils/index.d.ts +3 -3
  323. package/dist/Utils/index.js +5 -2
  324. package/dist/Utils/slotOrProp.js +1 -1
  325. package/dist/augments.d.ts +29 -17
  326. package/dist/index.d.ts +44 -1
  327. package/dist/index.js +127 -84
  328. package/dist/theme.css +8 -8
  329. package/docs/README.md +74 -0
  330. package/docs/components/Alert.md +96 -0
  331. package/docs/components/Autocomplete.md +212 -0
  332. package/docs/components/Avatar.md +60 -0
  333. package/docs/components/Badge.md +47 -0
  334. package/docs/components/BaseField.md +126 -0
  335. package/docs/components/BridgeUIProvider.md +168 -0
  336. package/docs/components/Button.md +93 -0
  337. package/docs/components/Calendar.md +96 -0
  338. package/docs/components/CalendarDate.md +71 -0
  339. package/docs/components/CalendarMonth.md +52 -0
  340. package/docs/components/CalendarRange.md +83 -0
  341. package/docs/components/CalendarYear.md +53 -0
  342. package/docs/components/Card.md +287 -0
  343. package/docs/components/Checkbox.md +87 -0
  344. package/docs/components/DateField.md +103 -0
  345. package/docs/components/DatePicker.md +80 -0
  346. package/docs/components/DateRangeField.md +88 -0
  347. package/docs/components/DateRangePicker.md +70 -0
  348. package/docs/components/DateTimeField.md +92 -0
  349. package/docs/components/DateTimePicker.md +74 -0
  350. package/docs/components/DateTimeRangeField.md +90 -0
  351. package/docs/components/DateTimeRangePicker.md +74 -0
  352. package/docs/components/Divider.md +56 -0
  353. package/docs/components/Drawer.md +137 -0
  354. package/docs/components/FieldOverlay.md +91 -0
  355. package/docs/components/FormControl.md +66 -0
  356. package/docs/components/FormField.md +71 -0
  357. package/docs/components/I18n.md +125 -0
  358. package/docs/components/Icon.md +88 -0
  359. package/docs/components/Label.md +31 -0
  360. package/docs/components/Link.md +71 -0
  361. package/docs/components/List.md +167 -0
  362. package/docs/components/Menu.md +97 -0
  363. package/docs/components/Modal.md +154 -0
  364. package/docs/components/NumberField.md +80 -0
  365. package/docs/components/OtpField.md +133 -0
  366. package/docs/components/PasswordField.md +82 -0
  367. package/docs/components/Progress.md +68 -0
  368. package/docs/components/Radio.md +91 -0
  369. package/docs/components/Select.md +195 -0
  370. package/docs/components/Skeleton.md +38 -0
  371. package/docs/components/Slider.md +140 -0
  372. package/docs/components/Snackbar.md +99 -0
  373. package/docs/components/Spinner.md +61 -0
  374. package/docs/components/Switch.md +72 -0
  375. package/docs/components/Tabs.md +207 -0
  376. package/docs/components/TextField.md +72 -0
  377. package/docs/components/Textarea.md +80 -0
  378. package/docs/components/TimeField.md +81 -0
  379. package/docs/components/TimePanel.md +56 -0
  380. package/docs/components/TimePicker.md +61 -0
  381. package/docs/components/TimeRangeField.md +79 -0
  382. package/docs/components/TimeRangePicker.md +64 -0
  383. package/docs/components/Tooltip.md +125 -0
  384. package/docs/components/useBreakpoint.md +100 -0
  385. package/docs/components/useDialogAction.md +97 -0
  386. package/docs/components/useDrawerAction.md +75 -0
  387. package/docs/components/useModalAction.md +75 -0
  388. package/docs/components/useSnackbarAction.md +85 -0
  389. package/docs/examples/date-date-fns.ts +286 -0
  390. package/docs/examples/date-dayjs.ts +327 -0
  391. package/docs/examples/date-luxon.ts +332 -0
  392. package/docs/examples/date-moment.ts +334 -0
  393. package/docs/examples/i18n-dictionary.ts +48 -0
  394. package/docs/examples/i18n-vue-i18n.ts +34 -0
  395. package/docs/examples/icon-fontawesome.ts +120 -0
  396. package/docs/examples/icon-heroicons.ts +65 -0
  397. package/docs/examples/icon-lucide.ts +65 -0
  398. package/docs/examples/icon-phosphor.ts +65 -0
  399. package/docs/examples/icon-tabler.ts +65 -0
  400. package/package.json +28 -15
  401. package/dist/Components/OtpField/OtpFieldLabel.js +0 -5
@@ -24,12 +24,12 @@ function f(f) {
24
24
  }), _ = i(() => h.value.customProps), v = n({
25
25
  entry: g,
26
26
  props: () => m.value.componentProps
27
- });
28
- a(r, i(() => ({ dense: h.value.dense === !0 })));
29
- let y = i(() => u(m.value.inheritedAttrs, []));
27
+ }), y = i(() => ({ dense: h.value.dense === !0 }));
28
+ a(r, y);
29
+ let b = i(() => u(m.value.inheritedAttrs, []));
30
30
  return {
31
31
  merged: h,
32
- rootBind: i(() => e(_.value?.root, y.value, s({
32
+ rootBind: i(() => e(_.value?.root, b.value, s({
33
33
  "m-0 list-none py-2 text-dark-900 dark:text-dark-100": !0,
34
34
  "pl-4": h.value.nested,
35
35
  [l(v.value, "root") ?? ""]: !0
@@ -2,8 +2,8 @@ import { ListItemOwnProps, ListItemSlots } from './listItem.types';
2
2
  type __VLS_Slots = ListItemSlots;
3
3
  declare const __VLS_base: import('vue').DefineComponent<ListItemOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ListItemOwnProps> & Readonly<{}>, {
4
4
  role: "button" | "option" | "menuitem";
5
- as: "li" | "div";
6
5
  disabled: boolean;
6
+ as: "li" | "div";
7
7
  divider: boolean;
8
8
  interactive: boolean;
9
9
  selected: boolean;
@@ -3,7 +3,7 @@ import r from "../Icon/Icon.js";
3
3
  import { resolveListItemPrimary as i, useListItem as a } from "./composables/useListItem.js";
4
4
  import { computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, guardReactiveProps as f, mergeProps as p, normalizeClass as m, normalizeProps as h, openBlock as g, resolveDynamicComponent as _, unref as v, useSlots as y, withCtx as b } from "vue";
5
5
  //#region src/Components/ListItem/ListItem.vue?vue&type=script&setup=true&lang.ts
6
- var x = /* @__PURE__ */ d({
6
+ var x = /*@__PURE__*/ d({
7
7
  inheritAttrs: !1,
8
8
  __name: "ListItem",
9
9
  props: {
@@ -11,7 +11,7 @@ export declare function useListItem(props: ListItemOwnProps, libDefaults: ListIt
11
11
  rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<{
12
12
  class: string;
13
13
  id: string | undefined;
14
- }, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<ListItemProps, "role" | "value" | "classes" | "customProps" | "primary" | "secondary" | "as" | "disabled" | "dense" | "divider" | "interactive" | "selected" | "selectedIcon">, never>>>;
14
+ }, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<ListItemProps, "role" | "value" | "classes" | "customProps" | "primary" | "secondary" | "disabled" | "as" | "dense" | "divider" | "interactive" | "selected" | "selectedIcon">, never>>>;
15
15
  rowClass: import('vue').ComputedRef<string>;
16
16
  hasStart: import('vue').ComputedRef<boolean>;
17
17
  startBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
@@ -1,7 +1,7 @@
1
1
  import { useListSection as e } from "./composables/useListSection.js";
2
2
  import { computed as t, createBlock as n, createElementBlock as r, createElementVNode as i, defineComponent as a, guardReactiveProps as o, mergeProps as s, normalizeProps as c, openBlock as l, resolveDynamicComponent as u, unref as d, useSlots as f, withCtx as p } from "vue";
3
3
  //#region src/Components/ListSection/ListSection.vue?vue&type=script&setup=true&lang.ts
4
- var m = /* @__PURE__ */ a({
4
+ var m = /*@__PURE__*/ a({
5
5
  inheritAttrs: !1,
6
6
  __name: "ListSection",
7
7
  props: {
@@ -19,9 +19,9 @@ var m = /* @__PURE__ */ a({
19
19
  title: {}
20
20
  },
21
21
  setup(a) {
22
- let { label: m, merged: h, rootBind: g, titleBind: _ } = e(a, f()), v = t(() => h.value.as ?? "li");
23
- return (e, t) => v.value === "div" ? (l(), r("div", c(s({ key: 0 }, d(_))), [(l(), n(u(d(m))))], 16)) : (l(), n(u(v.value), c(s({ key: 1 }, d(g))), {
24
- default: p(() => [i("div", c(o(d(_))), [(l(), n(u(d(m))))], 16)]),
22
+ let m = f(), { label: h, merged: g, rootBind: _, titleBind: v } = e(a, m), y = t(() => g.value.as ?? "li");
23
+ return (e, t) => y.value === "div" ? (l(), r("div", c(s({ key: 0 }, d(v))), [(l(), n(u(d(h))))], 16)) : (l(), n(u(y.value), c(s({ key: 1 }, d(_))), {
24
+ default: p(() => [i("div", c(o(d(v))), [(l(), n(u(d(h))))], 16)]),
25
25
  _: 1
26
26
  }, 16));
27
27
  }
@@ -8,23 +8,28 @@ type __VLS_ModelProps = {
8
8
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
9
  declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
10
  select: (option: ListboxOption) => any;
11
+ cancel: () => any;
11
12
  "update:modelValue": (value: boolean) => any;
12
13
  "show-change": (show: boolean) => any;
14
+ apply: () => any;
13
15
  "registered-options-change": (options: ListboxOption[]) => any;
14
16
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
17
  onSelect?: ((option: ListboxOption) => any) | undefined;
18
+ onCancel?: (() => any) | undefined;
16
19
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
20
  "onShow-change"?: ((show: boolean) => any) | undefined;
21
+ onApply?: (() => any) | undefined;
18
22
  "onRegistered-options-change"?: ((options: ListboxOption[]) => any) | undefined;
19
23
  }>, {
20
24
  color: import('@bridge-ui/core').MergeProps<import('@bridge-ui/core').ListboxColor, import('./listbox.types').ListboxColorOverrides>;
21
25
  size: import('@bridge-ui/core').MergeProps<import('@bridge-ui/core').ListboxSize, import('./listbox.types').ListboxSizeOverrides>;
22
- loading: boolean;
23
26
  multiple: boolean;
24
- disableAutoFocus: boolean;
27
+ loading: boolean;
25
28
  placement: import('@floating-ui/utils').Placement;
29
+ disableAutoFocus: boolean;
26
30
  hideEmptyMessage: boolean;
27
31
  highlightedIndex: number;
32
+ overlay: import('@bridge-ui/core').FieldOverlayMode;
28
33
  showCheckmark: boolean;
29
34
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
30
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -2,22 +2,24 @@ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { hasNamedSlot as t, resolveNamedSlot as n } from "../../Utils/slotOrProp.js";
3
3
  import { mergeNestedComponentProps as r } 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 i 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 ie from "../ListItem/ListItem.js";
10
+ import a from "../ListSection/ListSection.js";
11
+ import o from "../Progress/Progress.js";
12
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, provide as C, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as D, toDisplayString as O, unref as k, useModel as ae, useSlots as oe, watch as A, withCtx as j } from "vue";
13
+ import { cn as se, entriesFromListboxOptions as ce, flattenListboxOptions as M, mapListboxEntriesToRows as N } from "@bridge-ui/core";
14
+ import { isNil as P } 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 F = { key: 1 }, I = /*@__PURE__*/ g({
16
17
  __name: "Listbox",
17
- props: /* @__PURE__ */ v({
18
+ props: /*@__PURE__*/ v({
18
19
  anchorEl: {},
19
20
  classes: {},
20
21
  color: { default: "primary" },
22
+ componentName: {},
21
23
  customProps: {},
22
24
  disableAutoFocus: {
23
25
  type: Boolean,
@@ -46,12 +48,14 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
46
48
  default: !1
47
49
  },
48
50
  options: {},
51
+ overlay: { default: "auto" },
49
52
  placement: { default: "bottom-start" },
50
53
  rounded: {},
51
54
  showCheckmark: {
52
55
  type: Boolean,
53
56
  default: !0
54
57
  },
58
+ showFooter: { type: Boolean },
55
59
  size: { default: "md" }
56
60
  }, {
57
61
  modelValue: {
@@ -60,97 +64,106 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
60
64
  },
61
65
  modelModifiers: {}
62
66
  }),
63
- emits: /* @__PURE__ */ v([
67
+ emits: /*@__PURE__*/ v([
68
+ "apply",
69
+ "cancel",
64
70
  "registered-options-change",
65
71
  "select",
66
72
  "show-change"
67
73
  ], ["update:modelValue"]),
68
74
  setup(g, { emit: v }) {
69
- let F = ie(), I = v, L = re(g, "modelValue");
70
- k(L, (e) => {
71
- I("show-change", e);
75
+ let I = oe(), L = v, R = ae(g, "modelValue");
76
+ A(R, (e) => {
77
+ L("show-change", e);
72
78
  });
73
- 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 z = g, B = e(), V = c(() => z.emptyMessage ?? B("No options")), H = c(() => z.loadingMessage ?? B("Loading...")), { merged: U, checkClass: W, scrollBind: G, footerBind: le, showFooter: ue, applyLabel: de, cancelLabel: fe, messageBind: K, surfaceBind: pe, sizeClasses: me, mergedClasses: q, applyButtonProps: he, cancelButtonProps: ge, optionSelectedClass: _e, optionHighlightedClass: ve } = ee(z, {
74
80
  size: "md",
75
81
  color: "primary"
76
- }), 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([]);
82
+ }, { componentName: z.componentName }), ye = c(() => z.options ?? []), J = c(() => z.entries ? z.entries : ce(ye.value)), Y = c(() => M(J.value)), X = c(() => t(I, "default")), Z = c(() => !z.loading && !X.value && Y.value.length === 0 && z.hideEmptyMessage !== !0), be = c(() => se(W.value, q.value.check)), Q = w([]);
77
83
  function $(e) {
78
- return R.isSelected?.(e) ?? !1;
84
+ return z.isSelected?.(e) ?? !1;
79
85
  }
80
- function de(e) {
81
- e.disabled || I("select", e);
86
+ function xe(e) {
87
+ e.disabled || L("select", e);
82
88
  }
83
- function fe(e) {
89
+ function Se(e) {
84
90
  return Q.value.some((t) => String(t.value) === String(e.value)) || (Q.value = [...Q.value, e]), () => {
85
91
  Q.value = Q.value.filter((t) => String(t.value) !== String(e.value));
86
92
  };
87
93
  }
88
- function pe(e) {
94
+ function Ce(e) {
89
95
  return (X.value ? Q.value : Y.value).findIndex((t) => String(t.value) === String(e));
90
96
  }
91
- k(Q, (e) => {
92
- X.value && I("registered-options-change", e);
93
- }, { deep: !0 }), S(i, l(() => ({
94
- getOptionIndex: pe,
95
- registerOption: fe,
96
- onSelect: de,
97
- listboxId: R.listboxId,
97
+ A(Q, (e) => {
98
+ X.value && L("registered-options-change", e);
99
+ }, { deep: !0 });
100
+ let we = c(() => ({
101
+ getOptionIndex: Ce,
102
+ registerOption: Se,
103
+ onSelect: xe,
104
+ listboxId: z.listboxId,
98
105
  isSelected: $,
99
- sizeClasses: K.value,
100
- showCheckmark: R.showCheckmark,
101
- checkClass: ue.value,
102
- highlightedIndex: R.highlightedIndex,
103
- optionSelectedClass: se.value,
104
- optionHighlightedClass: ce.value,
106
+ sizeClasses: me.value,
107
+ showCheckmark: z.showCheckmark,
108
+ checkClass: be.value,
109
+ highlightedIndex: z.highlightedIndex,
110
+ optionSelectedClass: _e.value,
111
+ optionHighlightedClass: ve.value,
105
112
  mergedClasses: {
106
113
  optionSelected: q.value.optionSelected,
107
114
  optionHighlighted: q.value.optionHighlighted
108
115
  }
109
- })));
110
- 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(() => ({
111
- ...N(R.rounded) ? {} : { rounded: R.rounded },
112
- ...he.value
113
- })), xe = l(() => ({
116
+ }));
117
+ C(re, we);
118
+ let Te = c(() => N(J.value, $)), Ee = c(() => U.value.customProps?.menu), De = c(() => U.value.customProps?.modal), Oe = c(() => U.value.customProps?.drawer), ke = c(() => U.value.customProps?.list), Ae = c(() => U.value.customProps?.listItem), je = c(() => U.value.customProps?.progress), Me = c(() => U.value.customProps?.listSection), Ne = c(() => ({
119
+ modal: De.value,
120
+ drawer: Oe.value,
121
+ menu: {
122
+ anchorEl: z.anchorEl,
123
+ placement: z.placement,
124
+ disableAutoFocus: z.disableAutoFocus,
125
+ ...P(z.rounded) ? {} : { rounded: z.rounded },
126
+ ...Ee.value
127
+ }
128
+ })), Pe = c(() => ({
114
129
  size: "xs",
115
130
  "aria-hidden": !0,
116
- color: H.value.color,
117
- ...r(ve.value, {
131
+ color: U.value.color,
132
+ ...r(je.value, {
118
133
  class: "shrink-0",
119
134
  classes: { bar: q.value.loading }
120
135
  })
121
- })), Se = l(() => ({
136
+ })), Fe = c(() => ({
122
137
  dense: !0,
123
138
  role: "listbox",
124
- id: R.listboxId,
125
- "aria-labelledby": R.labelledBy,
126
- "aria-multiselectable": R.multiple || void 0,
127
- ...r(ge.value, { class: "p-0" })
139
+ id: z.listboxId,
140
+ "aria-labelledby": z.labelledBy,
141
+ "aria-multiselectable": z.multiple || void 0,
142
+ ...r(ke.value, { class: "p-0" })
128
143
  }));
129
- return (e, r) => (x(), u(O(s), y({
130
- modelValue: L.value,
131
- "onUpdate:modelValue": r[0] ||= (e) => L.value = e,
132
- "anchor-el": g.anchorEl,
133
- placement: g.placement,
134
- "close-on-click-away": !0,
135
- "disable-auto-focus": g.disableAutoFocus
136
- }, be.value), {
137
- default: A(() => [
138
- O(t)(O(F), "beforeOptions") ? (x(), u(E(O(n)(O(F), "beforeOptions")), { key: 0 })) : d("", !0),
139
- 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)), {
140
- 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, r) => (S(), l(k(te), {
145
+ modelValue: R.value,
146
+ "onUpdate:modelValue": r[2] ||= (e) => R.value = e,
147
+ overlay: g.overlay,
148
+ "custom-props": Ne.value
149
+ }, {
150
+ default: j(() => [f("div", { class: b(k(pe)) }, [
151
+ k(t)(k(I), "beforeOptions") ? (S(), l(D(k(n)(k(I), "beforeOptions")), { key: 0 })) : u("", !0),
152
+ g.loading ? (S(), d(s, { key: 1 }, [h(k(o), x(_(Pe.value)), null, 16), f("div", x(_(k(K))), [k(t)(k(I), "loading") ? (S(), l(D(k(n)(k(I), "loading")), { key: 0 })) : (S(), d("span", F, O(H.value), 1))], 16)], 64)) : (S(), d("div", x(y({ key: 2 }, k(G))), [h(k(ne), x(_(Fe.value)), {
153
+ default: j(() => [X.value ? E(e.$slots, "default", {}, void 0, void 0, 0) : (S(!0), d(s, { key: 1 }, T(Te.value, (n) => (S(), d(s, { key: n.key }, [n.kind === "section" ? (S(), l(k(a), y({
141
154
  key: 0,
142
155
  title: n.title,
143
156
  sticky: n.sticky
144
- }, { ref_for: !0 }, ye.value), null, 16, ["title", "sticky"])) : (x(), u(O(a), y({
157
+ }, { ref_for: !0 }, Me.value), null, 16, ["title", "sticky"])) : (S(), l(k(ie), y({
145
158
  key: 1,
146
159
  interactive: "",
147
160
  value: n.option.value,
148
161
  disabled: n.option.disabled,
149
162
  secondary: n.option.description,
150
- primary: O(t)(O(F), "option") ? void 0 : n.option.label
151
- }, { ref_for: !0 }, _e.value), m({ _: 2 }, [O(t)(O(F), "option") ? {
163
+ primary: k(t)(k(I), "option") ? void 0 : n.option.label
164
+ }, { ref_for: !0 }, Ae.value), p({ _: 2 }, [k(t)(k(I), "option") ? {
152
165
  name: "default",
153
- fn: A(() => [T(e.$slots, "option", {
166
+ fn: j(() => [E(e.$slots, "option", {
154
167
  option: n.option,
155
168
  selected: n.selected
156
169
  })]),
@@ -163,17 +176,26 @@ var P = { key: 1 }, F = /* @__PURE__ */ g({
163
176
  ]))], 64))), 128))]),
164
177
  _: 3
165
178
  }, 16)], 16)),
166
- 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),
167
- O(t)(O(F), "afterOptions") ? (x(), u(E(O(n)(O(F), "afterOptions")), { key: 5 })) : d("", !0)
168
- ]),
179
+ Z.value && !k(t)(k(I), "empty") ? (S(), d("div", x(y({ key: 3 }, k(K))), O(V.value), 17)) : Z.value && k(t)(k(I), "empty") ? (S(), l(D(k(n)(k(I), "empty")), { key: 4 })) : u("", !0),
180
+ k(t)(k(I), "afterOptions") ? (S(), l(D(k(n)(k(I), "afterOptions")), { key: 5 })) : u("", !0),
181
+ k(ue) ? (S(), d("div", x(y({ key: 6 }, k(le))), [h(k(i), y({
182
+ variant: "flat",
183
+ color: "secondary"
184
+ }, k(ge), { onClick: r[0] ||= (e) => L("cancel") }), {
185
+ default: j(() => [m(O(k(fe)), 1)]),
186
+ _: 1
187
+ }, 16), h(k(i), y({ color: "primary" }, k(he), { onClick: r[1] ||= (e) => L("apply") }), {
188
+ default: j(() => [m(O(k(de)), 1)]),
189
+ _: 1
190
+ }, 16)], 16)) : u("", !0)
191
+ ], 2)]),
169
192
  _: 3
170
- }, 16, [
193
+ }, 8, [
171
194
  "modelValue",
172
- "anchor-el",
173
- "placement",
174
- "disable-auto-focus"
195
+ "overlay",
196
+ "custom-props"
175
197
  ]));
176
198
  }
177
199
  });
178
200
  //#endregion
179
- export { F as default };
201
+ export { I as default };
@@ -1,15 +1,31 @@
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
- export declare function useListbox(props: ListboxOwnProps, libDefaults: ListboxLibDefaults): {
6
+ /**
7
+ * Options for {@link useListbox}.
8
+ */
9
+ export type ListboxOptions = {
10
+ /**
11
+ * Public registry key that owns nested `tokens.listbox` defaults.
12
+ */
13
+ componentName?: "Select" | "Autocomplete";
14
+ };
15
+ export declare function useListbox(props: ListboxOwnProps, libDefaults: ListboxLibDefaults, options?: ListboxOptions): {
7
16
  merged: import('vue').ComputedRef<ListboxMerged>;
8
17
  checkClass: import('vue').ComputedRef<string>;
9
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>;
10
23
  messageBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, {}>>;
24
+ surfaceBind: import('vue').ComputedRef<string>;
11
25
  sizeClasses: import('vue').ComputedRef<import('@bridge-ui/core').ListboxSizeItem | undefined>;
12
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>;
13
29
  optionSelectedClass: import('vue').ComputedRef<string | undefined>;
14
30
  optionHighlightedClass: import('vue').ComputedRef<string | undefined>;
15
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) {
17
- let h = i(), g = r(() => s({
19
+ function v(v, y, b = {}) {
20
+ let x = o(), S = t(), C = e(), w = a(() => f({
18
21
  props: {
19
- ...h,
20
- ...p
22
+ ...x,
23
+ ...v
21
24
  },
22
- bridgeKeys: f
23
- })), { merged: _, entry: v } = t({
24
- libDefaults: m,
25
- componentName: "Listbox",
26
- props: () => g.value.componentProps
27
- }), y = n({
28
- entry: v,
29
- props: () => g.value.componentProps
30
- }), b = r(() => c(o(l, v.value?.tokens?.color), _.value.color ?? "primary")), x = r(() => o(u, v.value?.tokens?.invalidated)), S = r(() => _.value.invalidated ? x.value : b.value), C = r(() => c(o(d, v.value?.tokens?.size), _.value.size ?? "md")), w = r(() => S.value?.selected), T = r(() => S.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: _,
33
- checkClass: r(() => a(C.value?.check, S.value?.check)),
34
- scrollBind: r(() => {
35
- let t = _.value.maxHeight ?? "max-h-60", n = _.value.disableMaxHeight === !0;
36
- return e(_.value.customProps?.scroll, {}, a({
37
- "overflow-y-auto overscroll-contain": !n,
38
- [t]: !n,
39
- [y.value.scroll ?? ""]: !0
40
- }));
41
- }),
42
- messageBind: r(() => e({}, {}, a({
43
- "text-gray-500": !0,
44
- [C.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: C,
47
- mergedClasses: y,
48
- optionSelectedClass: w,
49
- optionHighlightedClass: T
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,4 +1,5 @@
1
1
  export { useListbox } from './composables/useListbox';
2
+ export type { ListboxOptions } from './composables/useListbox';
2
3
  export { findFirstEnabledOptionIndex, findLastEnabledOptionIndex, getListboxActiveDescendantId, getListboxOptionId, moveListboxHighlight, useListboxNavigation, } from './composables/useListboxNavigation';
3
4
  export type { ListboxClasses, ListboxColorOverrides, ListboxCustomProps, ListboxEmits, ListboxEntry, ListboxOption, ListboxOwnProps, ListboxProps, ListboxSlots, ListboxValue, } from './listbox.types';
4
5
  export { default as Listbox } from './Listbox.vue';