@bridge-ui/vue 0.0.8 → 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 (313) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +26 -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/Alert/Alert.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/Components/Alert/composables/useAlert.js +13 -1
  22. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +2 -0
  23. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +17 -10
  24. package/dist/Components/Autocomplete/AutocompleteOption.vue_vue_type_script_setup_true_lang.js +1 -1
  25. package/dist/Components/Autocomplete/autocomplete.types.d.ts +19 -1
  26. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +5 -0
  27. package/dist/Components/Autocomplete/composables/useAutocomplete.js +207 -179
  28. package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +1 -1
  29. package/dist/Components/Avatar/composables/useAvatar.js +13 -1
  30. package/dist/Components/Badge/Badge.vue_vue_type_script_setup_true_lang.js +1 -1
  31. package/dist/Components/Badge/composables/useBadge.js +10 -1
  32. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +2 -2
  33. package/dist/Components/BaseField/BaseFieldLabel.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/Components/BaseField/composables/useBaseField.js +10 -7
  35. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/Components/Button/composables/useButton.d.ts +1 -1
  37. package/dist/Components/Button/composables/useButton.js +10 -1
  38. package/dist/Components/Calendar/Calendar.js +5 -0
  39. package/dist/Components/Calendar/Calendar.vue.d.ts +21 -0
  40. package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +139 -0
  41. package/dist/Components/Calendar/calendar.types.d.ts +287 -0
  42. package/dist/Components/Calendar/composables/useCalendar.d.ts +875 -0
  43. package/dist/Components/Calendar/composables/useCalendar.js +173 -0
  44. package/dist/Components/Calendar/index.d.ts +3 -0
  45. package/dist/Components/Calendar/index.js +3 -0
  46. package/dist/Components/CalendarDate/CalendarDate.js +5 -0
  47. package/dist/Components/CalendarDate/CalendarDate.vue.d.ts +19 -0
  48. package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +56 -0
  49. package/dist/Components/CalendarDate/calendarDate.types.d.ts +257 -0
  50. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +39 -0
  51. package/dist/Components/CalendarDate/composables/useCalendarDate.js +181 -0
  52. package/dist/Components/CalendarDate/index.d.ts +3 -0
  53. package/dist/Components/CalendarDate/index.js +3 -0
  54. package/dist/Components/CalendarMonth/CalendarMonth.js +5 -0
  55. package/dist/Components/CalendarMonth/CalendarMonth.vue.d.ts +8 -0
  56. package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +32 -0
  57. package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +135 -0
  58. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +29 -0
  59. package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +104 -0
  60. package/dist/Components/CalendarMonth/index.d.ts +3 -0
  61. package/dist/Components/CalendarMonth/index.js +3 -0
  62. package/dist/Components/CalendarRange/CalendarRange.js +5 -0
  63. package/dist/Components/CalendarRange/CalendarRange.vue.d.ts +19 -0
  64. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +187 -0
  65. package/dist/Components/CalendarRange/calendarRange.types.d.ts +333 -0
  66. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1891 -0
  67. package/dist/Components/CalendarRange/composables/useCalendarRange.js +253 -0
  68. package/dist/Components/CalendarRange/index.d.ts +3 -0
  69. package/dist/Components/CalendarRange/index.js +3 -0
  70. package/dist/Components/CalendarYear/CalendarYear.js +5 -0
  71. package/dist/Components/CalendarYear/CalendarYear.vue.d.ts +8 -0
  72. package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +34 -0
  73. package/dist/Components/CalendarYear/calendarYear.types.d.ts +141 -0
  74. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +30 -0
  75. package/dist/Components/CalendarYear/composables/useCalendarYear.js +108 -0
  76. package/dist/Components/CalendarYear/index.d.ts +3 -0
  77. package/dist/Components/CalendarYear/index.js +3 -0
  78. package/dist/Components/Card/Card.vue_vue_type_script_setup_true_lang.js +1 -1
  79. package/dist/Components/Card/composables/useCard.js +14 -3
  80. package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +2 -2
  81. package/dist/Components/Checkbox/composables/useCheckbox.js +10 -1
  82. package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +1 -1
  83. package/dist/Components/Chip/composables/useChip.js +7 -4
  84. package/dist/Components/DateField/DateField.js +5 -0
  85. package/dist/Components/DateField/DateField.vue.d.ts +32 -0
  86. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +158 -0
  87. package/dist/Components/DateField/composables/useDateField.d.ts +725 -0
  88. package/dist/Components/DateField/composables/useDateField.js +169 -0
  89. package/dist/Components/DateField/dateField.types.d.ts +206 -0
  90. package/dist/Components/DateField/index.d.ts +3 -0
  91. package/dist/Components/DateField/index.js +3 -0
  92. package/dist/Components/DatePicker/DatePicker.js +5 -0
  93. package/dist/Components/DatePicker/DatePicker.vue.d.ts +17 -0
  94. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +104 -0
  95. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +28 -0
  96. package/dist/Components/DatePicker/composables/useDatePicker.js +91 -0
  97. package/dist/Components/DatePicker/datePicker.types.d.ts +233 -0
  98. package/dist/Components/DatePicker/index.d.ts +3 -0
  99. package/dist/Components/DatePicker/index.js +3 -0
  100. package/dist/Components/DateRangeField/DateRangeField.js +5 -0
  101. package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +32 -0
  102. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +152 -0
  103. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +723 -0
  104. package/dist/Components/DateRangeField/composables/useDateRangeField.js +143 -0
  105. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +195 -0
  106. package/dist/Components/DateRangeField/index.d.ts +3 -0
  107. package/dist/Components/DateRangeField/index.js +3 -0
  108. package/dist/Components/DateRangePicker/DateRangePicker.js +5 -0
  109. package/dist/Components/DateRangePicker/DateRangePicker.vue.d.ts +17 -0
  110. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +99 -0
  111. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +28 -0
  112. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +89 -0
  113. package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +218 -0
  114. package/dist/Components/DateRangePicker/index.d.ts +3 -0
  115. package/dist/Components/DateRangePicker/index.js +3 -0
  116. package/dist/Components/DateTimeField/DateTimeField.js +5 -0
  117. package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +31 -0
  118. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +141 -0
  119. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +724 -0
  120. package/dist/Components/DateTimeField/composables/useDateTimeField.js +151 -0
  121. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +230 -0
  122. package/dist/Components/DateTimeField/index.d.ts +3 -0
  123. package/dist/Components/DateTimeField/index.js +3 -0
  124. package/dist/Components/DateTimePicker/DateTimePicker.js +5 -0
  125. package/dist/Components/DateTimePicker/DateTimePicker.vue.d.ts +17 -0
  126. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +156 -0
  127. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +46 -0
  128. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +98 -0
  129. package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +272 -0
  130. package/dist/Components/DateTimePicker/index.d.ts +3 -0
  131. package/dist/Components/DateTimePicker/index.js +3 -0
  132. package/dist/Components/DateTimeRangeField/DateTimeRangeField.js +5 -0
  133. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +32 -0
  134. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +141 -0
  135. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +726 -0
  136. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +155 -0
  137. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +231 -0
  138. package/dist/Components/DateTimeRangeField/index.d.ts +3 -0
  139. package/dist/Components/DateTimeRangeField/index.js +3 -0
  140. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.js +5 -0
  141. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +17 -0
  142. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +209 -0
  143. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +49 -0
  144. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +112 -0
  145. package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +272 -0
  146. package/dist/Components/DateTimeRangePicker/index.d.ts +3 -0
  147. package/dist/Components/DateTimeRangePicker/index.js +3 -0
  148. package/dist/Components/Divider/Divider.vue_vue_type_script_setup_true_lang.js +1 -1
  149. package/dist/Components/Divider/composables/useDivider.js +7 -1
  150. package/dist/Components/Drawer/Drawer.vue.d.ts +6 -6
  151. package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +11 -11
  152. package/dist/Components/Drawer/composables/useDrawer.d.ts +1 -1
  153. package/dist/Components/Drawer/composables/useDrawer.js +11 -2
  154. package/dist/Components/FieldOverlay/FieldOverlay.js +5 -0
  155. package/dist/Components/FieldOverlay/FieldOverlay.vue.d.ts +26 -0
  156. package/dist/Components/FieldOverlay/FieldOverlay.vue_vue_type_script_setup_true_lang.js +63 -0
  157. package/dist/Components/FieldOverlay/composables/useFieldOverlay.d.ts +15 -0
  158. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +36 -0
  159. package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +63 -0
  160. package/dist/Components/FieldOverlay/index.d.ts +4 -0
  161. package/dist/Components/FieldOverlay/index.js +3 -0
  162. package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +2 -2
  163. package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +1 -1
  164. package/dist/Components/FormControl/composables/useFormControl.js +1 -1
  165. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  166. package/dist/Components/FormField/FormField.vue_vue_type_script_setup_true_lang.js +1 -1
  167. package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +1 -1
  168. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  169. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  170. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  171. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  172. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  173. package/dist/Components/FormField/composables/useFormField.js +19 -7
  174. package/dist/Components/Icon/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
  175. package/dist/Components/Icon/composables/useIcon.js +4 -1
  176. package/dist/Components/Label/Label.vue_vue_type_script_setup_true_lang.js +1 -1
  177. package/dist/Components/Label/composables/useLabel.js +5 -2
  178. package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +1 -1
  179. package/dist/Components/Link/composables/useLink.js +10 -1
  180. package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +1 -1
  181. package/dist/Components/List/composables/useList.js +4 -4
  182. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +1 -1
  183. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
  184. package/dist/Components/Listbox/Listbox.vue.d.ts +9 -4
  185. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +92 -71
  186. package/dist/Components/Listbox/composables/useListbox.d.ts +8 -1
  187. package/dist/Components/Listbox/composables/useListbox.js +59 -37
  188. package/dist/Components/Listbox/listbox.types.d.ts +68 -4
  189. package/dist/Components/Menu/Menu.vue.d.ts +4 -4
  190. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +12 -12
  191. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  192. package/dist/Components/Menu/composables/useMenu.js +9 -5
  193. package/dist/Components/Modal/Modal.vue.d.ts +6 -6
  194. package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +11 -11
  195. package/dist/Components/Modal/composables/useModal.d.ts +1 -1
  196. package/dist/Components/Modal/composables/useModal.js +11 -2
  197. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +3 -3
  198. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +11 -11
  199. package/dist/Components/OtpField/composables/useOtpField.js +33 -21
  200. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +3 -3
  201. package/dist/Components/Progress/Progress.vue_vue_type_script_setup_true_lang.js +1 -1
  202. package/dist/Components/Progress/composables/useProgress.js +13 -1
  203. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +11 -11
  204. package/dist/Components/Radio/composables/useRadio.js +10 -1
  205. package/dist/Components/Select/Select.vue.d.ts +2 -0
  206. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +17 -10
  207. package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +1 -1
  208. package/dist/Components/Select/composables/useSelect.d.ts +5 -0
  209. package/dist/Components/Select/composables/useSelect.js +220 -192
  210. package/dist/Components/Select/select.types.d.ts +19 -1
  211. package/dist/Components/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +1 -1
  212. package/dist/Components/Skeleton/composables/useSkeleton.js +5 -2
  213. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +13 -13
  214. package/dist/Components/Slider/composables/useSlider.d.ts +4 -1
  215. package/dist/Components/Slider/composables/useSlider.js +192 -187
  216. package/dist/Components/Slider/slider.types.d.ts +8 -0
  217. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +42 -42
  218. package/dist/Components/Snackbar/composables/useSnackbar.js +16 -3
  219. package/dist/Components/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +1 -1
  220. package/dist/Components/Spinner/composables/useSpinner.js +10 -1
  221. package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +12 -12
  222. package/dist/Components/Switch/composables/useSwitch.js +10 -1
  223. package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +1 -1
  224. package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +3 -2
  225. package/dist/Components/TabList/TabList.vue_vue_type_script_setup_true_lang.js +1 -1
  226. package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +1 -1
  227. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +8 -8
  228. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +2 -2
  229. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +2 -2
  230. package/dist/Components/Textarea/composables/useTextarea.js +4 -1
  231. package/dist/Components/TimeField/TimeField.js +5 -0
  232. package/dist/Components/TimeField/TimeField.vue.d.ts +32 -0
  233. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +134 -0
  234. package/dist/Components/TimeField/composables/useTimeField.d.ts +733 -0
  235. package/dist/Components/TimeField/composables/useTimeField.js +147 -0
  236. package/dist/Components/TimeField/index.d.ts +3 -0
  237. package/dist/Components/TimeField/index.js +3 -0
  238. package/dist/Components/TimeField/timeField.types.d.ts +155 -0
  239. package/dist/Components/TimePanel/TimePanel.js +5 -0
  240. package/dist/Components/TimePanel/TimePanel.vue.d.ts +8 -0
  241. package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +62 -0
  242. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +58 -0
  243. package/dist/Components/TimePanel/composables/useTimePanel.js +180 -0
  244. package/dist/Components/TimePanel/index.d.ts +3 -0
  245. package/dist/Components/TimePanel/index.js +3 -0
  246. package/dist/Components/TimePanel/timePanel.types.d.ts +147 -0
  247. package/dist/Components/TimePicker/TimePicker.js +5 -0
  248. package/dist/Components/TimePicker/TimePicker.vue.d.ts +10 -0
  249. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +82 -0
  250. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +31 -0
  251. package/dist/Components/TimePicker/composables/useTimePicker.js +84 -0
  252. package/dist/Components/TimePicker/index.d.ts +3 -0
  253. package/dist/Components/TimePicker/index.js +3 -0
  254. package/dist/Components/TimePicker/timePicker.types.d.ts +176 -0
  255. package/dist/Components/TimeRangeField/TimeRangeField.js +5 -0
  256. package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +32 -0
  257. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +134 -0
  258. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +725 -0
  259. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +143 -0
  260. package/dist/Components/TimeRangeField/index.d.ts +3 -0
  261. package/dist/Components/TimeRangeField/index.js +3 -0
  262. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +155 -0
  263. package/dist/Components/TimeRangePicker/TimeRangePicker.js +5 -0
  264. package/dist/Components/TimeRangePicker/TimeRangePicker.vue.d.ts +10 -0
  265. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +116 -0
  266. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +40 -0
  267. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +123 -0
  268. package/dist/Components/TimeRangePicker/index.d.ts +3 -0
  269. package/dist/Components/TimeRangePicker/index.js +3 -0
  270. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +232 -0
  271. package/dist/Components/Tooltip/Tooltip.vue.d.ts +2 -2
  272. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +14 -14
  273. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  274. package/dist/Components/Tooltip/composables/useTooltip.js +10 -1
  275. package/dist/Provider/BridgeUIProvider.vue_vue_type_script_setup_true_lang.js +4 -4
  276. package/dist/Provider/createBridgeUI.js +3 -3
  277. package/dist/Utils/slotOrProp.js +1 -1
  278. package/dist/index.d.ts +39 -0
  279. package/dist/index.js +127 -88
  280. package/dist/theme.css +8 -8
  281. package/docs/README.md +19 -1
  282. package/docs/components/Autocomplete.md +44 -30
  283. package/docs/components/BridgeUIProvider.md +22 -5
  284. package/docs/components/Calendar.md +96 -0
  285. package/docs/components/CalendarDate.md +71 -0
  286. package/docs/components/CalendarMonth.md +52 -0
  287. package/docs/components/CalendarRange.md +83 -0
  288. package/docs/components/CalendarYear.md +53 -0
  289. package/docs/components/DateField.md +103 -0
  290. package/docs/components/DatePicker.md +80 -0
  291. package/docs/components/DateRangeField.md +88 -0
  292. package/docs/components/DateRangePicker.md +70 -0
  293. package/docs/components/DateTimeField.md +92 -0
  294. package/docs/components/DateTimePicker.md +74 -0
  295. package/docs/components/DateTimeRangeField.md +90 -0
  296. package/docs/components/DateTimeRangePicker.md +74 -0
  297. package/docs/components/FieldOverlay.md +91 -0
  298. package/docs/components/Select.md +43 -29
  299. package/docs/components/TimeField.md +81 -0
  300. package/docs/components/TimePanel.md +56 -0
  301. package/docs/components/TimePicker.md +61 -0
  302. package/docs/components/TimeRangeField.md +79 -0
  303. package/docs/components/TimeRangePicker.md +64 -0
  304. package/docs/examples/date-date-fns.ts +286 -0
  305. package/docs/examples/date-dayjs.ts +327 -0
  306. package/docs/examples/date-luxon.ts +332 -0
  307. package/docs/examples/date-moment.ts +334 -0
  308. package/docs/examples/icon-fontawesome.ts +8 -0
  309. package/docs/examples/icon-heroicons.ts +8 -0
  310. package/docs/examples/icon-lucide.ts +8 -0
  311. package/docs/examples/icon-phosphor.ts +8 -0
  312. package/docs/examples/icon-tabler.ts +8 -0
  313. package/package.json +18 -12
@@ -1,22 +1,25 @@
1
1
  import { useResolveMessage as e } from "../../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { hasNamedSlot as t } from "../../../Utils/slotOrProp.js";
3
- import { mergePartBind as n, resolveFieldAdornmentIconSize as r, useBridgeUIComponent as ee, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
4
- import { formFieldBridgeKeys as te, useFormField as ne } from "../../FormField/composables/useFormField.js";
5
- import { useListboxNavigation as re } from "../../Listbox/composables/useListboxNavigation.js";
6
- import { Comment as ie, Text as ae, computed as a, nextTick as oe, onBeforeUnmount as se, onMounted as ce, ref as o, useAttrs as le, useId as ue, useSlots as de, watch as s } from "vue";
7
- import { adjustAutosizeTextareaHeight as fe, cn as c, createSelectAsyncSearch as pe, filterListboxEntries as me, flattenListboxOptions as l, mergeBridgeUILayeredClasses as u, normalizeListboxEntries as he, normalizeSelectOptions as ge, resolveSelectAsyncDebounce as _e, resolveSelectAsyncOptions as ve, selectValuesEqual as d, splitComponentProps as ye } from "@bridge-ui/core";
8
- import { get as f, isNil as be, omit as xe } from "es-toolkit/compat";
9
- import { colorProps as Se, invalidatedProps as Ce } from "@bridge-ui/core/Tokens/Listbox";
3
+ import { useBreakpoint as n } from "../../../Utils/useBreakpoint.js";
4
+ import { mergePartBind as r, resolveFieldAdornmentIconSize as ee, useBridgeUIComponent as te, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
5
+ import { formFieldBridgeKeys as ne, useFormField as re } from "../../FormField/composables/useFormField.js";
6
+ import { useListboxNavigation as ie } from "../../Listbox/composables/useListboxNavigation.js";
7
+ import { Comment as ae, Text as oe, computed as a, nextTick as o, onBeforeUnmount as se, onMounted as ce, ref as s, useAttrs as le, useId as ue, useSlots as de, watch as c } from "vue";
8
+ import { adjustAutosizeTextareaHeight as fe, cn as l, createSelectAsyncSearch as pe, filterListboxEntries as me, flattenListboxOptions as u, mergeBridgeUILayeredClasses as d, normalizeListboxEntries as he, normalizeSelectOptions as ge, resolveFieldShowFooter as _e, resolveSelectAsyncDebounce as ve, resolveSelectAsyncOptions as ye, selectValuesEqual as f, splitComponentProps as be } from "@bridge-ui/core";
9
+ import { get as p, isNil as xe, omit as Se } from "es-toolkit/compat";
10
+ import { colorProps as Ce, invalidatedProps as we } from "@bridge-ui/core/Tokens/Listbox";
10
11
  //#region src/Components/Select/composables/useSelect.ts
11
- var we = [
12
+ var Te = [
12
13
  "classes",
13
14
  "loading",
14
15
  "options",
16
+ "overlay",
15
17
  "multiple",
16
18
  "asyncData",
17
19
  "clearable",
18
20
  "maxHeight",
19
21
  "searchable",
22
+ "showFooter",
20
23
  "flipOptions",
21
24
  "optionLabel",
22
25
  "optionValue",
@@ -29,106 +32,106 @@ var we = [
29
32
  "minItemsForSearch",
30
33
  "optionDescription"
31
34
  ];
32
- function p(p, m, h, g, _) {
33
- let Te = le(), v = de(), y = ue(), b = e(), x = o(!1), S = o(""), C = o(-1), w = o(null), T = o(!1), E = o([]), D = null, O = o([]), k = a(() => ye({
34
- bridgeKeys: we,
35
+ function m(m, h, g, _, Ee) {
36
+ let De = le(), v = de(), y = ue(), Oe = n(), b = e(), x = s(!1), S = s(""), C = s(-1), w = s([]), T = s(null), E = s(!1), D = s([]), O = null, k = s([]), ke = a(() => be({
37
+ bridgeKeys: Te,
35
38
  props: {
36
- ...Te,
37
- ...p
39
+ ...De,
40
+ ...m
38
41
  }
39
- })), A = a(() => k.value.componentProps), j = a(() => ({ classes: A.value.classes })), { components: M, entry: Ee } = ee({
42
+ })), A = a(() => ke.value.componentProps), Ae = a(() => ({ classes: A.value.classes })), { components: je, entry: Me } = te({
40
43
  componentName: "Select",
41
- props: () => j.value
42
- }), N = i({
43
- entry: Ee,
44
- props: () => j.value
45
- }), P = a(() => !!A.value.multiple), F = a(() => ({
44
+ props: () => Ae.value
45
+ }), j = i({
46
+ entry: Me,
47
+ props: () => Ae.value
48
+ }), M = a(() => !!A.value.multiple), N = a(() => ({
46
49
  optionLabel: A.value.optionLabel ?? "label",
47
50
  optionValue: A.value.optionValue ?? "value",
48
51
  optionDescription: A.value.optionDescription ?? "description"
49
- })), I = a(() => _.value.length > 0 ? _.value.map((e) => ({
52
+ })), P = a(() => Ee.value.length > 0 ? Ee.value.map((e) => ({
50
53
  option: e,
51
54
  type: "option"
52
- })) : he(A.value.options, F.value)), De = a(() => l(I.value)), L = o([]);
53
- function Oe(e) {
55
+ })) : he(A.value.options, N.value)), Ne = a(() => u(P.value)), F = s([]);
56
+ function Pe(e) {
54
57
  if (!e || typeof e != "object") return !1;
55
58
  let t = e.type;
56
59
  if (!t || typeof t != "object") return !1;
57
60
  let n = t.name, r = t.__name;
58
61
  return n === "SelectOption" || r === "SelectOption";
59
62
  }
60
- function ke() {
63
+ function Fe() {
61
64
  return t(v, "default") ? (v.default?.({}) ?? []).some((e) => {
62
65
  if (!e || typeof e != "object") return !1;
63
66
  let t = e.type;
64
- return t === ie || t === ae || t === void 0 || typeof t == "symbol" ? !1 : !Oe(e);
67
+ return t === ae || t === oe || t === void 0 || typeof t == "symbol" ? !1 : !Pe(e);
65
68
  }) : !1;
66
69
  }
67
- let R = a(() => ke() && !A.value.options?.length), z = a(() => {
68
- if (R.value) return [];
69
- if (E.value.length > 0) {
70
- let e = he(E.value, F.value);
70
+ let I = a(() => Fe() && !A.value.options?.length), L = a(() => {
71
+ if (I.value) return [];
72
+ if (D.value.length > 0) {
73
+ let e = he(D.value, N.value);
71
74
  return A.value.flipOptions ? [...e].reverse() : e;
72
75
  }
73
- return A.value.flipOptions ? [...I.value].reverse().map((e) => e.type === "section" ? {
76
+ return A.value.flipOptions ? [...P.value].reverse().map((e) => e.type === "section" ? {
74
77
  ...e,
75
78
  options: [...e.options].reverse()
76
- } : e) : I.value;
77
- }), Ae = a(() => R.value ? L.value : l(z.value)), B = a(() => {
78
- let e = m.value;
79
- return P.value ? Array.isArray(e) ? e : [] : !be(e) && e !== "" ? [e] : [];
80
- }), V = a(() => {
79
+ } : e) : P.value;
80
+ }), Ie = a(() => I.value ? F.value : u(L.value)), R = a(() => {
81
+ let e = h.value;
82
+ return M.value ? Array.isArray(e) ? e : [] : !xe(e) && e !== "" ? [e] : [];
83
+ }), Le = a(() => _e(A.value.showFooter, Oe.mobile)), Re = a(() => Le.value ? w.value : R.value), z = a(() => {
81
84
  let e = /* @__PURE__ */ new Map();
82
- for (let t of [...Ae.value, ...O.value]) e.set(t.value, t);
83
- return B.value.map((t) => e.get(t) ?? {
85
+ for (let t of [...Ie.value, ...k.value]) e.set(t.value, t);
86
+ return R.value.map((t) => e.get(t) ?? {
84
87
  value: t,
85
88
  label: String(t)
86
89
  });
87
- }), je = a(() => B.value.length > 0), Me = a(() => A.value.clearable !== !1), H = a(() => !!A.value.asyncData), U = a(() => {
88
- if (H.value || A.value.searchable) return !0;
90
+ }), B = a(() => R.value.length > 0), ze = a(() => A.value.clearable !== !1), V = a(() => !!A.value.asyncData), H = a(() => {
91
+ if (V.value || A.value.searchable) return !0;
89
92
  let e = A.value.minItemsForSearch ?? 11;
90
- return De.value.length >= e;
91
- }), W = a(() => x.value && U.value), Ne = a(() => !!A.value.loading || T.value), Pe = a(() => {
92
- if (R.value) return [];
93
- if (!W.value || !S.value.trim()) return z.value;
93
+ return Ne.value.length >= e;
94
+ }), U = a(() => x.value && H.value), Be = a(() => !!A.value.loading || E.value), Ve = a(() => {
95
+ if (I.value) return [];
96
+ if (!U.value || !S.value.trim()) return L.value;
94
97
  let e = S.value.trim().toLowerCase();
95
- return me(z.value, (t) => t.label.toLowerCase().includes(e));
96
- }), G = a(() => R.value ? L.value : l(Pe.value)), K = re(() => G.value, C, y), Fe = a(() => p.readonly || p.disabled ? !0 : !W.value), Ie = a(() => W.value || P.value ? S.value : V.value[0]?.label ?? ""), Le = (e) => {
97
- w.value = e instanceof HTMLElement ? e : null;
98
+ return me(L.value, (t) => t.label.toLowerCase().includes(e));
99
+ }), W = a(() => I.value ? F.value : u(Ve.value)), G = ie(() => W.value, C, y), He = a(() => m.readonly || m.disabled ? !0 : !U.value), Ue = a(() => U.value || M.value ? S.value : z.value[0]?.label ?? ""), We = (e) => {
100
+ T.value = e instanceof HTMLElement ? e : null;
98
101
  };
99
- function Re(e) {
102
+ function Ge(e) {
100
103
  e.preventDefault();
101
104
  }
102
- function ze(e) {
103
- if (p.disabled || p.readonly) return;
105
+ function Ke(e) {
106
+ if (m.disabled || m.readonly) return;
104
107
  let t = e.target;
105
108
  if (!t.closest("[data-select-clear]") && !(t.closest(".wrapper-start-slot") || t.closest(".wrapper-end-slot"))) {
106
109
  if (!x.value) {
107
- Q();
110
+ X();
108
111
  return;
109
112
  }
110
- W.value || ($(), h.value?.focus({ preventScroll: !0 }));
113
+ U.value || (Z(), g.value?.focus({ preventScroll: !0 }));
111
114
  }
112
115
  }
113
- let Be = a(() => {
114
- let e = ye({
115
- bridgeKeys: te,
116
- props: xe(k.value.inheritedAttrs, ["class"])
117
- }).componentProps, r = e.endIcon ?? (t(v, "end") ? void 0 : "chevronUpDown"), { listbox: ee, ...i } = e.customProps ?? {};
116
+ let qe = a(() => {
117
+ let e = Se(ke.value.inheritedAttrs, ["class"]), n = be({
118
+ bridgeKeys: ne,
119
+ props: e
120
+ }).componentProps, ee = n.endIcon ?? (t(v, "end") ? void 0 : "chevronUpDown"), { listbox: te, ...i } = n.customProps ?? {};
118
121
  return {
119
- ...e,
120
- endIcon: r,
121
- classes: N.value,
122
+ ...n,
123
+ endIcon: ee,
124
+ classes: j.value,
122
125
  customProps: {
123
126
  ...i,
124
- container: n(i.container, {}, {
125
- ref: Le,
126
- onClick: ze,
127
- class: c({ "cursor-pointer": !p.disabled && !p.readonly && !W.value })
127
+ container: r(i.container, {}, {
128
+ ref: We,
129
+ onClick: Ke,
130
+ class: l({ "cursor-pointer": !m.disabled && !m.readonly && !U.value })
128
131
  })
129
132
  }
130
133
  };
131
- }), Ve = a(() => p.customProps?.listbox), q = ne(() => Be.value, {
134
+ }), Je = a(() => m.customProps?.listbox), K = re(() => qe.value, {
132
135
  size: "md",
133
136
  rounded: "md",
134
137
  color: "primary",
@@ -136,230 +139,255 @@ function p(p, m, h, g, _) {
136
139
  showErrorIcon: !0
137
140
  }, {
138
141
  componentName: "Select",
139
- likeInput: () => P.value,
140
- control: () => P.value ? "textarea" : "input"
141
- }), J = (e) => {
142
- !e || !P.value || fe(e);
142
+ likeInput: () => M.value,
143
+ control: () => M.value ? "textarea" : "input"
144
+ }), Ye = a(() => B.value && ze.value && !m.readonly && !K.isDisabled.value), q = (e) => {
145
+ !e || !M.value || fe(e);
143
146
  };
144
- function Y(e) {
145
- return B.value.some((t) => d(t, e));
147
+ function Xe(e) {
148
+ return Re.value.some((t) => f(t, e));
146
149
  }
147
- function X(e) {
148
- m.value = e;
150
+ function J(e) {
151
+ h.value = e;
149
152
  }
150
- function Z(e) {
151
- if (P.value) {
153
+ function Y(e) {
154
+ if (M.value) {
152
155
  let t = Array.isArray(e) ? e : [];
153
- g("update:modelValue", t), g("change", t);
156
+ _("update:modelValue", t), _("change", t);
154
157
  return;
155
158
  }
156
159
  let t = e ?? "";
157
- g("update:modelValue", t), g("change", t);
160
+ _("update:modelValue", t), _("change", t);
158
161
  }
159
- function Q() {
160
- p.disabled || p.readonly || x.value || (x.value = !0, S.value = "", K.highlightCurrentSelection(Y), g("open"), H.value && A.value.asyncData && D?.searchImmediate(""));
162
+ function X() {
163
+ m.disabled || m.readonly || x.value || (w.value = [...R.value], x.value = !0, S.value = "", G.highlightCurrentSelection((e) => R.value.some((t) => f(t, e))), _("open"), V.value && A.value.asyncData && O?.searchImmediate(""));
161
164
  }
162
- function $() {
163
- D?.cancel(), x.value && (x.value = !1, S.value = "", C.value = -1, g("close"));
165
+ function Z() {
166
+ O?.cancel(), x.value && (x.value = !1, S.value = "", C.value = -1, _("close"));
164
167
  }
165
- function He(e) {
168
+ function Ze(e) {
166
169
  if (!e.disabled) {
167
- if (P.value) {
168
- let t = [...B.value], n = t.findIndex((t) => d(t, e.value));
169
- n >= 0 ? (t.splice(n, 1), g("deselect", e)) : (t.push(e.value), g("select", e)), X(t), Z(t), S.value = "", C.value = -1, oe(() => {
170
- J(h.value), h.value?.focus({ preventScroll: !0 });
170
+ if (Le.value) {
171
+ if (M.value) {
172
+ let t = [...w.value], n = t.findIndex((t) => f(t, e.value));
173
+ n >= 0 ? (t.splice(n, 1), _("deselect", e)) : (t.push(e.value), _("select", e)), w.value = t, S.value = "", C.value = -1, o(() => {
174
+ g.value?.focus({ preventScroll: !0 });
175
+ });
176
+ return;
177
+ }
178
+ w.value = [e.value], _("select", e), S.value = "", C.value = -1;
179
+ return;
180
+ }
181
+ if (M.value) {
182
+ let t = [...R.value], n = t.findIndex((t) => f(t, e.value));
183
+ n >= 0 ? (t.splice(n, 1), _("deselect", e)) : (t.push(e.value), _("select", e)), J(t), Y(t), S.value = "", C.value = -1, o(() => {
184
+ q(g.value), g.value?.focus({ preventScroll: !0 });
171
185
  });
172
186
  return;
173
187
  }
174
- X(e.value), Z(e.value), g("select", e), $();
188
+ J(e.value), Y(e.value), _("select", e), Z();
175
189
  }
176
190
  }
177
- function Ue(e) {
178
- e?.preventDefault(), e?.stopPropagation(), P.value ? (X([]), Z([])) : (X(null), Z(null)), g("clear"), $();
191
+ function Qe() {
192
+ if (M.value) J(w.value), Y(w.value);
193
+ else {
194
+ let e = w.value[0] ?? null;
195
+ J(e), Y(e);
196
+ }
197
+ Z();
179
198
  }
180
- function We(e, t) {
181
- if (t.preventDefault(), t.stopPropagation(), !P.value) return;
182
- let n = B.value.filter((t) => !d(t, e.value));
183
- X(n), Z(n), g("deselect", e), oe(() => J(h.value));
199
+ function $e() {
200
+ w.value = [...R.value], Z(), _("cancel");
184
201
  }
185
- function Ge() {
186
- let e = K.getHighlightedOption();
187
- e && He(e);
202
+ function et(e) {
203
+ e?.preventDefault(), e?.stopPropagation(), !(m.disabled || m.readonly) && (M.value ? (J([]), Y([])) : (J(null), Y(null)), _("clear"), Z());
188
204
  }
189
- function Ke(e) {
190
- S.value = e.target.value, g("search", S.value), x.value || Q(), K.resetHighlight(), H.value && D?.searchDebounced(S.value);
205
+ function tt(e, t) {
206
+ if (t.preventDefault(), t.stopPropagation(), !M.value) return;
207
+ let n = R.value.filter((t) => !f(t, e.value));
208
+ J(n), Y(n), _("deselect", e), o(() => q(g.value));
209
+ }
210
+ function nt() {
211
+ let e = G.getHighlightedOption();
212
+ e && Ze(e);
191
213
  }
192
- function qe(e) {
193
- if (!(p.disabled || p.readonly)) switch (e.key) {
214
+ function Q(e) {
215
+ let t = e.target;
216
+ S.value = t.value, _("search", S.value), x.value || X(), G.resetHighlight(), V.value && O?.searchDebounced(S.value);
217
+ }
218
+ function rt(e) {
219
+ if (!(m.disabled || m.readonly)) switch (e.key) {
194
220
  case "ArrowDown":
195
- e.preventDefault(), x.value ? K.moveHighlight(1) : Q();
221
+ e.preventDefault(), x.value ? G.moveHighlight(1) : X();
196
222
  break;
197
223
  case "ArrowUp":
198
- e.preventDefault(), x.value ? K.moveHighlight(-1) : Q();
224
+ e.preventDefault(), x.value ? G.moveHighlight(-1) : X();
199
225
  break;
200
226
  case "Enter":
201
- e.preventDefault(), x.value ? Ge() : Q();
227
+ e.preventDefault(), x.value ? nt() : X();
202
228
  break;
203
229
  case "Escape":
204
- e.preventDefault(), $();
230
+ e.preventDefault(), Z();
205
231
  break;
206
232
  case "Home":
207
- x.value && (e.preventDefault(), K.highlightFirst());
233
+ x.value && (e.preventDefault(), G.highlightFirst());
208
234
  break;
209
235
  case "End":
210
- x.value && (e.preventDefault(), K.highlightLast());
236
+ x.value && (e.preventDefault(), G.highlightLast());
211
237
  break;
212
238
  case "Backspace":
213
- if (P.value && !S.value && V.value.length > 0) {
239
+ if (M.value && !S.value && z.value.length > 0) {
214
240
  e.preventDefault();
215
- let t = V.value.at(-1);
216
- t && We(t, e);
241
+ let t = z.value.at(-1);
242
+ t && tt(t, e);
217
243
  }
218
244
  break;
219
- case "Tab":
220
- $();
221
- break;
222
- default: break;
245
+ case "Tab": Z();
223
246
  }
224
247
  }
225
- async function Je(e) {
248
+ async function it(e) {
226
249
  let t = A.value.asyncData;
227
250
  if (t) {
228
- T.value = !0;
251
+ E.value = !0;
229
252
  try {
230
- let { options: n, resolvedSelected: r } = await ve(t, e, B.value, (e) => ge(e, F.value));
231
- r.length > 0 && (O.value = r), E.value = n;
253
+ let { options: n, resolvedSelected: r } = await ye(t, e, R.value, (e) => ge(e, N.value));
254
+ r.length > 0 && (k.value = r), D.value = n;
232
255
  } finally {
233
- T.value = !1;
256
+ E.value = !1;
234
257
  }
235
258
  }
236
259
  }
237
- async function Ye() {
260
+ async function at() {
238
261
  let e = A.value.asyncData;
239
- !e?.resolve || B.value.length === 0 || (O.value = ge(await e.resolve(B.value), F.value));
262
+ !e?.resolve || R.value.length === 0 || (k.value = ge(await e.resolve(R.value), N.value));
240
263
  }
241
- let Xe = a(() => {
242
- let e = f(u(Se, f(M.value, [
264
+ let $ = a(() => {
265
+ let e = d(Ce, p(je.value, [
243
266
  "Select",
244
267
  "tokens",
245
268
  "listbox",
246
269
  "color"
247
- ])), q.merged.value.color ?? "primary");
248
- return q.invalidated.value ? u(Ce, f(M.value, [
270
+ ])), t = p(e, K.merged.value.color ?? "primary");
271
+ return K.invalidated.value ? d(we, p(je.value, [
249
272
  "Select",
250
273
  "tokens",
251
274
  "listbox",
252
275
  "invalidated"
253
- ])) : e;
254
- }), Ze = a(() => Xe.value?.value), Qe = a(() => {
255
- let e = !p.disabled && !p.readonly && !W.value, t = !p.disabled && !p.readonly && W.value && U.value, r = je.value && !P.value && !W.value;
256
- return n({
276
+ ])) : t;
277
+ }), ot = a(() => $.value?.value), st = a(() => {
278
+ let e = !m.disabled && !m.readonly && !U.value, t = !m.disabled && !m.readonly && U.value && H.value, n = B.value && !M.value && !U.value;
279
+ return r({
257
280
  role: "combobox",
258
- value: Ie.value,
281
+ value: Ue.value,
259
282
  "aria-controls": y,
260
283
  "aria-expanded": x.value,
261
- readonly: Fe.value,
262
- onKeydown: qe,
284
+ readonly: He.value,
285
+ onKeydown: rt,
263
286
  placeholder: A.value.placeholder,
264
- "aria-autocomplete": U.value ? "list" : void 0,
265
- "aria-activedescendant": x.value ? K.activeDescendantId.value : void 0,
266
- ...P.value ? {
287
+ "aria-autocomplete": H.value ? "list" : void 0,
288
+ "aria-activedescendant": x.value ? G.activeDescendantId.value : void 0,
289
+ ...M.value ? {
267
290
  rows: 1,
268
291
  onInput: (e) => {
269
- Ke(e), J(e.target);
292
+ Q(e), q(e.target);
270
293
  }
271
- } : { onInput: Ke }
272
- }, q.inputBind.value, c({
294
+ } : { onInput: Q }
295
+ }, K.inputBind.value, l({
273
296
  "cursor-text": t,
274
297
  "cursor-pointer": e,
275
- "resize-none overflow-hidden": P.value,
276
- [c(Ze.value, N.value.value) ?? ""]: r
298
+ "resize-none overflow-hidden": M.value,
299
+ [l(ot.value, j.value.value) ?? ""]: n
277
300
  }));
278
301
  });
279
- s(() => [
302
+ c(() => [
280
303
  x.value,
281
- P.value,
282
- h.value
304
+ M.value,
305
+ g.value
283
306
  ], () => {
284
- J(h.value);
285
- }, { immediate: !0 }), s(() => m.value, () => {
286
- Ye();
287
- }, { immediate: !0 }), s(() => A.value.asyncData, (e) => {
288
- if (D?.cancel(), E.value = [], Ye(), !e) {
289
- D = null;
307
+ q(g.value);
308
+ }, { immediate: !0 }), c(() => h.value, () => {
309
+ at();
310
+ }, { immediate: !0 }), c(() => A.value.asyncData, (e) => {
311
+ if (O?.cancel(), D.value = [], at(), !e) {
312
+ O = null;
290
313
  return;
291
314
  }
292
- D = pe((e) => void Je(e), _e(e));
315
+ O = pe((e) => void it(e), ve(e));
293
316
  }, { immediate: !0 }), se(() => {
294
- D?.cancel();
317
+ O?.cancel();
295
318
  }), ce(() => {
296
- J(h.value);
319
+ q(g.value);
297
320
  });
298
- let $e = a(() => r(q.merged.value.size)), et = a(() => n({}, {}, {
321
+ let ct = a(() => ee(K.merged.value.size)), lt = a(() => r({}, {}, {
299
322
  tabindex: 0,
300
323
  role: "button",
301
324
  "data-select-clear": !0,
302
- onMousedown: Re,
303
- class: c({
325
+ onMousedown: Ge,
326
+ class: l({
304
327
  "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm transition-colors duration-150": !0,
305
- [Xe.value?.clear ?? ""]: !0,
306
- [N.value.clear ?? ""]: !0
328
+ [$.value?.clear ?? ""]: !0,
329
+ [j.value.clear ?? ""]: !0
307
330
  })
308
- })), tt = a(() => ({
331
+ })), ut = a(() => ({
309
332
  listboxId: y,
310
- isSelected: Y,
333
+ isSelected: Xe,
311
334
  disableAutoFocus: !0,
312
- loading: Ne.value,
313
- multiple: P.value,
314
- maxHeight: p.maxHeight,
315
- entries: Pe.value,
316
- options: G.value,
335
+ overlay: m.overlay,
336
+ loading: Be.value,
337
+ multiple: M.value,
338
+ maxHeight: m.maxHeight,
339
+ entries: Ve.value,
340
+ options: W.value,
317
341
  componentName: "Select",
318
- size: q.merged.value.size,
319
- color: q.merged.value.color,
320
- labelledBy: q.controlId.value,
321
- rounded: q.merged.value.rounded,
322
- invalidated: q.invalidated.value,
342
+ size: K.merged.value.size,
343
+ color: K.merged.value.color,
344
+ labelledBy: K.controlId.value,
345
+ rounded: K.merged.value.rounded,
346
+ invalidated: K.invalidated.value,
323
347
  highlightedIndex: C.value,
324
- disableMaxHeight: p.disableMaxHeight === !0,
348
+ showFooter: A.value.showFooter,
349
+ disableMaxHeight: m.disableMaxHeight === !0,
325
350
  hideEmptyMessage: A.value.hideEmptyMessage === !0,
326
351
  emptyMessage: A.value.emptyMessage ?? b("No options"),
327
352
  loadingMessage: A.value.loadingMessage ?? b("Loading..."),
328
- ...Ve.value
353
+ ...Je.value
329
354
  }));
330
- function nt(e) {
331
- let t = L.value;
332
- t.length === e.length && t.every((t, n) => String(t.value) === String(e[n]?.value)) || (L.value = e);
355
+ function dt(e) {
356
+ let t = F.value;
357
+ t.length === e.length && t.every((t, n) => String(t.value) === String(e[n]?.value)) || (F.value = e);
333
358
  }
334
359
  return {
335
360
  open: x,
336
361
  slots: v,
337
- hasValue: je,
338
- multiple: P,
362
+ hasValue: B,
363
+ multiple: M,
339
364
  listboxId: y,
340
- formField: q,
341
- isLoading: Ne,
342
- clearable: Me,
343
- clearBind: et,
344
- isSelected: Y,
345
- clearValue: Ue,
346
- removeChip: We,
347
- triggerBind: Qe,
348
- selectOption: He,
349
- containerRef: w,
350
- listboxProps: tt,
351
- clearIconSize: $e,
352
- mergedClasses: N,
353
- visibleOptions: G,
354
- isSearchActive: W,
355
- selectedOptions: V,
356
- hasComposedList: R,
365
+ formField: K,
366
+ isLoading: Be,
367
+ clearable: ze,
368
+ clearBind: lt,
369
+ isSelected: Xe,
370
+ clearValue: et,
371
+ removeChip: tt,
372
+ triggerBind: st,
373
+ handleApply: Qe,
374
+ selectOption: Ze,
375
+ handleCancel: $e,
376
+ containerRef: T,
377
+ listboxProps: ut,
378
+ clearIconSize: ct,
379
+ mergedClasses: j,
380
+ showClearIcon: Ye,
381
+ visibleOptions: W,
382
+ isSearchActive: U,
383
+ selectedOptions: z,
384
+ hasComposedList: I,
357
385
  highlightedIndex: C,
358
- handleRegisteredOptionsChange: nt,
386
+ handleRegisteredOptionsChange: dt,
359
387
  hideEmptyMessage: a(() => A.value.hideEmptyMessage === !0),
360
388
  emptyMessage: a(() => A.value.emptyMessage ?? b("No options")),
361
389
  loadingMessage: a(() => A.value.loadingMessage ?? b("Loading..."))
362
390
  };
363
391
  }
364
392
  //#endregion
365
- export { p as useSelect };
393
+ export { m as useSelect };
@@ -1,5 +1,5 @@
1
1
  import { InputHTMLAttributes, Slot, TextareaHTMLAttributes } from 'vue';
2
- import { ListboxOptionsInput, MergeHtmlProps, SelectAsyncData, SelectModel, SelectOption, SelectValue } from '@bridge-ui/core';
2
+ import { FieldOverlayMode, ListboxOptionsInput, MergeHtmlProps, SelectAsyncData, SelectModel, SelectOption, SelectValue } from '@bridge-ui/core';
3
3
  import { ChipOwnProps } from '../Chip/chip.types';
4
4
  import { FormFieldClasses, FormFieldCustomProps, FormFieldOwnProps, FormFieldSlots } from '../FormField/formField.types';
5
5
  import { IconProps } from '../Icon';
@@ -50,6 +50,10 @@ export interface SelectCustomProps extends FormFieldCustomProps {
50
50
  listbox?: Partial<ListboxOwnProps>;
51
51
  }
52
52
  export interface SelectEmits {
53
+ /**
54
+ * Emitted when Cancel is pressed on the listbox footer (`showFooter`).
55
+ */
56
+ cancel: [];
53
57
  /**
54
58
  * Emitted when the selection changes.
55
59
  */
@@ -203,6 +207,13 @@ export interface SelectOwnProps extends Omit<FormFieldOwnProps, "field"> {
203
207
  * @default "value"
204
208
  */
205
209
  optionValue?: string;
210
+ /**
211
+ * Which overlay shell opens the options panel. `auto` uses `menu` on desktop
212
+ * and `drawer` (bottom) on mobile. Forwarded to the internal `Listbox`.
213
+ *
214
+ * @default "auto"
215
+ */
216
+ overlay?: FieldOverlayMode;
206
217
  /**
207
218
  * Placeholder shown when no value is selected.
208
219
  */
@@ -213,6 +224,13 @@ export interface SelectOwnProps extends Omit<FormFieldOwnProps, "field"> {
213
224
  * @default false
214
225
  */
215
226
  searchable?: boolean;
227
+ /**
228
+ * Shows Cancel / Apply on the nested listbox. When unset, defaults to `true`
229
+ * on mobile. Selection stays draft until Apply.
230
+ *
231
+ * @default false
232
+ */
233
+ showFooter?: boolean;
216
234
  }
217
235
  export interface SelectSlots extends FormFieldSlots {
218
236
  /**
@@ -1,7 +1,7 @@
1
1
  import { useSkeleton as e } from "./composables/useSkeleton.js";
2
2
  import { createElementBlock as t, defineComponent as n, guardReactiveProps as r, normalizeProps as i, openBlock as a, unref as o } from "vue";
3
3
  //#region src/Components/Skeleton/Skeleton.vue?vue&type=script&setup=true&lang.ts
4
- var s = /* @__PURE__ */ n({
4
+ var s = /*@__PURE__*/ n({
5
5
  inheritAttrs: !1,
6
6
  __name: "Skeleton",
7
7
  props: {