@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
@@ -0,0 +1,82 @@
1
+ # PasswordField
2
+
3
+ Password input with visibility toggle. Extends FormField props.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { PasswordField } from "@bridge-ui/vue/Components/PasswordField";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <PasswordField label="Password" placeholder="Enter password..." />
17
+
18
+ <PasswordField
19
+ v-model="password"
20
+ label="New password"
21
+ description="Use at least 8 characters."
22
+ />
23
+
24
+ <PasswordField error label="Password" error-message="Password is too weak." />
25
+ ```
26
+
27
+ ### Controlled visibility
28
+
29
+ ```vue
30
+ <PasswordField
31
+ label="Password"
32
+ :visible="visible"
33
+ placeholder="••••••••"
34
+ v-on:visibility-change="visible = $event"
35
+ description="visible is bound to parent state."
36
+ />
37
+ ```
38
+
39
+ ### customProps
40
+
41
+ ```vue
42
+ <PasswordField
43
+ label="Password"
44
+ placeholder="••••••••"
45
+ :custom-props="{
46
+ input: {
47
+ name: 'demo-password',
48
+ autocomplete: 'new-password',
49
+ },
50
+ }"
51
+ />
52
+ ```
53
+
54
+ ## Props
55
+
56
+ ### PasswordField-specific
57
+
58
+ | Prop | Type | Default | Description |
59
+ | --------- | ---------------------- | ------- | ------------------------------------------------------------ |
60
+ | `classes` | `PasswordFieldClasses` | — | The classes to apply to the password field. |
61
+ | `visible` | `boolean \| null` | — | Whether the password is visible. Omit for uncontrolled mode. |
62
+
63
+ ### v-model
64
+
65
+ | Prop / Event | Type | Default | Description |
66
+ | ------------------- | --------------------------------- | ------- | ---------------------------------------------------------------------------- |
67
+ | `modelValue` | `string \| null` | — | Bound with `v-model`. |
68
+ | `update:modelValue` | `(value: string \| null) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
69
+
70
+ ### Inherited from FormField
71
+
72
+ See [FormField](./FormField.md).
73
+
74
+ ## Events
75
+
76
+ | Event | Payload | Description |
77
+ | ------------------------ | -------------------- | ----------------------------------------- |
78
+ | `v-on:visibility-change` | `(visible: boolean)` | Emitted when password visibility changes. |
79
+
80
+ ## Related components
81
+
82
+ TextField, FormField
@@ -0,0 +1,68 @@
1
+ # Progress
2
+
3
+ Linear progress indicator for determinate, indeterminate, buffer, and query loading states.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Progress } from "@bridge-ui/vue/Components/Progress";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Indeterminate
14
+
15
+ ```vue
16
+ <Progress aria-label="Loading…" />
17
+ ```
18
+
19
+ ### Determinate
20
+
21
+ ```vue
22
+ <Progress :value="40" variant="determinate" aria-label="Export data" />
23
+ ```
24
+
25
+ ### Buffer
26
+
27
+ ```vue
28
+ <Progress
29
+ :value="30"
30
+ variant="buffer"
31
+ :value-buffer="60"
32
+ aria-label="Loading…"
33
+ />
34
+ ```
35
+
36
+ ### Query
37
+
38
+ ```vue
39
+ <Progress variant="query" aria-label="Loading…" />
40
+ ```
41
+
42
+ ### Color and size
43
+
44
+ ```vue
45
+ <Progress size="lg" color="success" aria-label="Saving…" />
46
+ <Progress size="2xs" rounded="md" aria-label="Syncing…" />
47
+ ```
48
+
49
+ `size` uses the shared scale (`2xs` … `2xl`). `rounded` uses the shared radius scale (`none` / `xs` … `4xl` / `full`).
50
+
51
+ ## Props
52
+
53
+ | Prop | Type | Default | Description |
54
+ | ------------- | --------------------- | ----------------- | ------------------------------------------------- |
55
+ | `classes` | `ProgressClasses` | — | Classes for `root`, `track`, `bar`, and `buffer`. |
56
+ | `color` | `ProgressColor` | `"primary"` | Semantic color of the bar and track. |
57
+ | `customProps` | `ProgressCustomProps` | — | Extra props for internal parts. |
58
+ | `rounded` | `ProgressRounded` | `"full"` | Border radius of the bar. |
59
+ | `size` | `ProgressSize` | `"md"` | Height of the progress bar. |
60
+ | `value` | `number` | — | Progress 0–100 (`determinate` / `buffer`). |
61
+ | `valueBuffer` | `number` | — | Buffer 0–100 (`buffer` variant). |
62
+ | `variant` | `ProgressVariant` | `"indeterminate"` | Visual mode of the indicator. |
63
+
64
+ Pass `aria-label` or `aria-labelledby` for an accessible name.
65
+
66
+ ## Related components
67
+
68
+ Spinner, Skeleton, Snackbar
@@ -0,0 +1,91 @@
1
+ # Radio
2
+
3
+ Radio input for mutually exclusive choices. Extends FormControl props.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Radio } from "@bridge-ui/vue/Components/Radio";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Radio
17
+ name="plan"
18
+ v-model="plan"
19
+ value="starter"
20
+ end-label="Starter"
21
+ description="Free tier for individuals."
22
+ />
23
+
24
+ <Radio
25
+ name="plan"
26
+ value="pro"
27
+ v-model="plan"
28
+ end-label="Pro"
29
+ description="For growing teams."
30
+ />
31
+ ```
32
+
33
+ ### Required and error
34
+
35
+ ```vue
36
+ <Radio required value="req" name="required" end-label="Required field" />
37
+
38
+ <Radio
39
+ error
40
+ value="err"
41
+ name="error"
42
+ end-label="Invalid option"
43
+ error-message="Please select a valid option."
44
+ />
45
+ ```
46
+
47
+ ### customProps
48
+
49
+ ```vue
50
+ <Radio
51
+ name="plan"
52
+ value="pro"
53
+ end-label="Pro plan"
54
+ :custom-props="{
55
+ input: { id: 'plan-pro' },
56
+ dot: { 'aria-hidden': true },
57
+ control: { 'data-testid': 'plan-pro-control' },
58
+ }"
59
+ />
60
+ ```
61
+
62
+ ## Props
63
+
64
+ ### Radio-specific
65
+
66
+ | Prop | Type | Default | Description |
67
+ | ------------- | ------------------ | --------- | ------------------------------------------------------------------------------------------ |
68
+ | `checked` | `boolean` | — | Whether the radio is checked. |
69
+ | `classes` | `RadioClasses` | — | Classes for the form control chrome and the radio control. |
70
+ | `color` | `RadioColor` | "primary" | The color to apply to the radio. |
71
+ | `customProps` | `RadioCustomProps` | — | Extra props for internal parts. |
72
+ | `name` | `string` | — | The `name` attribute shared by radios in the same group. |
73
+ | `rounded` | `RadioRounded` | "full" | The roundedness of the radio control. |
74
+ | `size` | `RadioSize` | "md" | Size of the control and of form control labels (`2xs` … `2xl`, same scale as `FormField`). |
75
+ | `slots` | `RadioSlots` | — | Chrome slots and the control slot. |
76
+ | `value` | `string \| number` | — | The value of this radio option. |
77
+
78
+ ### v-model
79
+
80
+ | Prop / Event | Type | Default | Description |
81
+ | ------------------- | ----------------------------------- | ------- | ---------------------------------------------------------------------------- |
82
+ | `modelValue` | `string \| number` | — | Bound with `v-model`. |
83
+ | `update:modelValue` | `(value: string \| number) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
84
+
85
+ ### Inherited from FormControl
86
+
87
+ See [FormControl](./FormControl.md).
88
+
89
+ ## Related components
90
+
91
+ Checkbox, FormControl
@@ -0,0 +1,195 @@
1
+ # Select
2
+
3
+ Dropdown select with single/multiple value, search, and async data.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Select } from "@bridge-ui/vue/Components/Select";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Select label="Country" :options="countries" placeholder="Select a country" />
17
+
18
+ <Select
19
+ multiple
20
+ searchable
21
+ label="Frameworks"
22
+ v-model="selected"
23
+ :options="frameworks"
24
+ />
25
+
26
+ <Select error label="Country" error-message="Please select a valid country." />
27
+ ```
28
+
29
+ ### Searchable
30
+
31
+ ```vue
32
+ <Select
33
+ searchable
34
+ label="Country"
35
+ :options="countries"
36
+ placeholder="Type to filter..."
37
+ />
38
+ ```
39
+
40
+ ### Async data
41
+
42
+ ```vue
43
+ <Select
44
+ label="City (async)"
45
+ placeholder="Type to search cities..."
46
+ :async-data="{
47
+ search: asyncSearch,
48
+ resolve: asyncResolveSelected,
49
+ }"
50
+ />
51
+ ```
52
+
53
+ ### Custom option slot
54
+
55
+ ```vue
56
+ <Select
57
+ label="Framework"
58
+ :options="frameworks"
59
+ placeholder="Custom rendered options"
60
+ >
61
+ <template #option="{ option, selected }">
62
+ <span class="flex w-full items-center justify-between gap-2">
63
+ <span class="truncate font-medium">{{ option.label }}</span>
64
+
65
+ <span v-if="selected" class="text-primary-600 shrink-0 text-xs font-semibold">
66
+ Selected
67
+ </span>
68
+ </span>
69
+ </template>
70
+ </Select>
71
+ ```
72
+
73
+ ### Grouped options
74
+
75
+ `options` may mix standalone options and section groups (`{ title, options, sticky? }`). Search filters within sections and drops empty ones.
76
+
77
+ ```vue
78
+ <Select
79
+ searchable
80
+ label="Produce"
81
+ :options="[
82
+ {
83
+ title: 'Fruits',
84
+ sticky: true,
85
+ options: [
86
+ { label: 'Apple', value: 'apple' },
87
+ { label: 'Banana', value: 'banana' },
88
+ ],
89
+ },
90
+ {
91
+ title: 'Vegetables',
92
+ options: [{ label: 'Carrot', value: 'carrot' }],
93
+ },
94
+ { label: 'Other', value: 'other' },
95
+ ]"
96
+ />
97
+ ```
98
+
99
+ ### Composed list (default slot)
100
+
101
+ Use the default slot with `ListSection` / `ListItem` to build the dropdown list manually. Set `value` on each `ListItem` so it registers as a selectable option. Declarative `SelectOption` children still feed the `options` data path; only `ListSection` / `ListItem` (and similar) count as composed list content. The `#option` slot remains for customizing items rendered from the `options` prop.
102
+
103
+ ```vue
104
+ <Select label="Status" v-model="status">
105
+ <ListSection sticky title="Workflow" />
106
+ <ListItem value="open" primary="Open" />
107
+ <ListItem value="closed" primary="Closed" />
108
+ </Select>
109
+ ```
110
+
111
+ ### Overlay
112
+
113
+ ```vue
114
+ <Select overlay="auto" label="Country" :options="countries" />
115
+
116
+ <Select label="Country" overlay="drawer" :options="countries" />
117
+ ```
118
+
119
+ Default `overlay` is `auto`: `menu` on desktop and bottom `drawer` on mobile.
120
+ When unset, `showFooter` defaults to `true` on mobile (`false` on desktop). Selection stays draft until Apply.
121
+
122
+ ### customProps
123
+
124
+ ```vue
125
+ <Select
126
+ label="Country"
127
+ :options="countries"
128
+ placeholder="Select a country"
129
+ :custom-props="{
130
+ root: { id: 'country-field' },
131
+ input: { name: 'country', autocomplete: 'country' },
132
+ }"
133
+ />
134
+ ```
135
+
136
+ ## Props
137
+
138
+ ### Select-specific
139
+
140
+ | Prop | Type | Default | Description |
141
+ | ------------------- | --------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------- |
142
+ | `asyncData` | `SelectAsyncData` | — | Remote data source. Implies `searchable`. |
143
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
144
+ | `defaultValue` | `SelectModel` | — | Initial value when uncontrolled. |
145
+ | `disableMaxHeight` | `boolean` | `false` | When true, the dropdown options list is not height-limited. Forwarded to the internal `Listbox`. |
146
+ | `emptyMessage` | `string` | "No options" | Message when the filtered list is empty. |
147
+ | `flipOptions` | `boolean` | `false` | Inverts the visual order of options. |
148
+ | `hideEmptyMessage` | `boolean` | `false` | Hides the empty-state message. |
149
+ | `loading` | `boolean` | — | External or async loading state. |
150
+ | `maxHeight` | `string` | "max-h-60" | Tailwind max-height class for the dropdown options area. Forwarded to the internal `Listbox`. |
151
+ | `minItemsForSearch` | `number` | 11 | Minimum option count before search UI is enabled. |
152
+ | `multiple` | `boolean` | `false` | Whether multiple values can be selected. |
153
+ | `optionDescription` | `string` | "description" | Key used to read the description from option objects. |
154
+ | `optionLabel` | `string` | "label" | Key used to read the label from option objects. |
155
+ | `options` | `ListboxOptionsInput` | — | Options to display. May include section groups (`{ title, options, sticky? }`) mixed with flat options. |
156
+ | `optionValue` | `string` | "value" | Key used to read the value from option objects. |
157
+ | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
158
+ | `placeholder` | `string` | — | Placeholder shown when no value is selected. |
159
+ | `searchable` | `boolean` | `false` | Whether options can be filtered via the trigger input. |
160
+ | `showFooter` | `boolean` | `false` (`true` on mobile when unset) | Shows Cancel / Apply on the nested listbox. Selection stays draft until Apply. |
161
+
162
+ ### v-model
163
+
164
+ | Prop / Event | Type | Default | Description |
165
+ | ------------------- | ------------------------------------------------------- | ------- | ---------------------------------------------------------------------------- |
166
+ | `modelValue` | `SelectValue \| SelectValue[] \| null` | — | Bound with `v-model`. |
167
+ | `update:modelValue` | `(value: SelectValue \| SelectValue[] \| null) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
168
+
169
+ ### Inherited from FormField
170
+
171
+ See [FormField](./FormField.md) (building-block chrome). Field tokens live on `components.Select` (`size`, `color`, `rounded`, `variant`, …). Dropdown option tokens are nested under `components.Select.tokens.listbox`.
172
+
173
+ ## Slots
174
+
175
+ | Slot | Scope | Description |
176
+ | --------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
177
+ | `default` | — | Composed list content (`ListSection` / `ListItem` with `value`). Replaces mapped `options` in the listbox. |
178
+ | `option` | `{ option: SelectOption; selected: boolean }` | Custom option content when rendering from the `options` prop. |
179
+
180
+ ## Events
181
+
182
+ | Event | Payload | Description |
183
+ | --------------- | ------------------------ | -------------------------------------------------------------------- |
184
+ | `v-on:cancel` | — | Emitted when Cancel is pressed on the listbox footer (`showFooter`). |
185
+ | `v-on:change` | `(value: SelectModel)` | Emitted when the selection changes. |
186
+ | `v-on:clear` | — | Emitted when the value is cleared. |
187
+ | `v-on:close` | — | Emitted when the menu closes. |
188
+ | `v-on:deselect` | `(option: SelectOption)` | Emitted when an option is deselected (multiple mode). |
189
+ | `v-on:open` | — | Emitted when the menu opens. |
190
+ | `v-on:search` | `(query: string)` | Emitted when the search query changes. |
191
+ | `v-on:select` | `(option: SelectOption)` | Emitted when an option is selected. |
192
+
193
+ ## Related components
194
+
195
+ Menu, Modal, Drawer, FieldOverlay, List, ListItem, ListSection, FormField
@@ -0,0 +1,38 @@
1
+ # Skeleton
2
+
3
+ Placeholder block for loading states. Size it with Tailwind height/width classes.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Skeleton } from "@bridge-ui/vue/Components/Skeleton";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Skeleton class="h-4 w-32" />
17
+
18
+ <Skeleton rounded="full" class="h-10 w-10" />
19
+
20
+ <Skeleton rounded="lg" class="h-24 w-full" />
21
+ ```
22
+
23
+ ### Custom classes
24
+
25
+ ```vue
26
+ <Skeleton class="h-4 w-48 bg-primary-200 dark:bg-primary-800" />
27
+ ```
28
+
29
+ ## Props
30
+
31
+ | Prop | Type | Default | Description |
32
+ | --------- | ----------------- | ------- | ------------------------------------- |
33
+ | `classes` | `SkeletonClasses` | — | The classes to apply to the skeleton. |
34
+ | `rounded` | `SkeletonRounded` | `"md"` | The roundedness of the skeleton. |
35
+
36
+ ## Related components
37
+
38
+ Avatar, Card
@@ -0,0 +1,140 @@
1
+ # Slider
2
+
3
+ Horizontal slider for selecting a single value or a range. Label, corner,
4
+ start/end slots, description, and error chrome are rendered via the shared
5
+ `BaseField` layout; tooltips and stop marks are optional.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import { Slider } from "@bridge-ui/vue/Components/Slider";
11
+ ```
12
+
13
+ ## Examples
14
+
15
+ ### Usage
16
+
17
+ ```vue
18
+ <Slider label="Volume" />
19
+
20
+ <Slider
21
+ v-model="opacity"
22
+ label="Opacity"
23
+ corner="%"
24
+ description="Adjust transparency."
25
+ />
26
+
27
+ <Slider error label="Volume" error-message="Value is required." />
28
+ ```
29
+
30
+ ### Range
31
+
32
+ ```vue
33
+ <Slider range v-model="range" label="Price range" />
34
+
35
+ <Slider range :default-value="[20, 80]" label="Range" />
36
+ ```
37
+
38
+ ### Min, max, and step
39
+
40
+ ```vue
41
+ <Slider :min="0" :max="100" :step="10" label="Rating" />
42
+ ```
43
+
44
+ ### Colors and sizes
45
+
46
+ ```vue
47
+ <Slider color="primary" label="Primary" />
48
+ <Slider color="secondary" label="Secondary" />
49
+ <Slider size="sm" label="Small" />
50
+ <Slider size="lg" label="Large" />
51
+ ```
52
+
53
+ ### Stops and tooltips
54
+
55
+ ```vue
56
+ <Slider
57
+ show-stops
58
+ label="Rating"
59
+ :stops="[
60
+ { value: 0, label: 'Low' },
61
+ { value: 100, label: 'High' },
62
+ ]"
63
+ />
64
+
65
+ <Slider :show-tooltip="false" label="Volume" />
66
+ ```
67
+
68
+ ### customProps
69
+
70
+ ```vue
71
+ <Slider
72
+ label="Volume"
73
+ description="Track uses name via customProps."
74
+ :custom-props="{
75
+ track: { 'data-testid': 'volume-track' },
76
+ }"
77
+ />
78
+ ```
79
+
80
+ ## Props
81
+
82
+ ### Slider-specific
83
+
84
+ | Prop | Type | Default | Description |
85
+ | -------------- | ---------------------------- | ----------- | ------------------------------------------------------- |
86
+ | `classes` | `SliderClasses` | — | Classes for the field chrome and slider control. |
87
+ | `color` | token | `"primary"` | Bar and thumb color. |
88
+ | `defaultValue` | `number \| [number, number]` | min | Initial value when `v-model` is unbound. |
89
+ | `max` | `number` | `100` | Maximum value. |
90
+ | `min` | `number` | `0` | Minimum value. |
91
+ | `range` | `boolean` | `false` | Two-thumb range selection. |
92
+ | `rounded` | token | `"full"` | Track and bar border radius. |
93
+ | `showStops` | `boolean` | `false` | Render stop marks on the track. |
94
+ | `showTooltip` | `boolean` | `true` | Show value tooltip on each thumb while focused/hovered. |
95
+ | `size` | token | `"md"` | Track/thumb size and chrome typography. |
96
+ | `step` | `number` | `1` | Step increment between values. |
97
+ | `stops` | `SliderStopInput[]` | — | Custom stop marks (numbers become `{ value }`). |
98
+
99
+ ### Binding
100
+
101
+ | Prop | Type | Default | Description |
102
+ | ------------ | ---------------------------- | ------- | -------------------------- |
103
+ | `modelValue` | `number \| [number, number]` | — | Current value (`v-model`). |
104
+
105
+ ### Field chrome
106
+
107
+ | Prop | Type | Default | Description |
108
+ | ------------------ | --------- | ------- | --------------------------------------- |
109
+ | `controlId` | `string` | auto | Id for the control and related labels. |
110
+ | `corner` | `string` | — | Secondary header text. |
111
+ | `customProps` | object | — | Extra props for internal parts. |
112
+ | `description` | `string` | — | Helper text below the control. |
113
+ | `disabled` | `boolean` | `false` | Disables interaction. |
114
+ | `error` | `boolean` | `false` | Invalid styling. |
115
+ | `errorMessage` | `string` | — | Error message below the control. |
116
+ | `hideErrorMessage` | `boolean` | `false` | Hides the error message row. |
117
+ | `label` | `string` | — | Primary label above the control. |
118
+ | `readonly` | `boolean` | `false` | Read-only (no pointer interaction). |
119
+ | `required` | `boolean` | `false` | Shows a required asterisk on the label. |
120
+
121
+ ## Slots
122
+
123
+ | Slot | Description |
124
+ | --------------- | ---------------------------------------- |
125
+ | `#label` | Primary label content. |
126
+ | `#corner` | Secondary header text at the inline end. |
127
+ | `#description` | Helper text below the control. |
128
+ | `#errorMessage` | Error message below the control. |
129
+ | `#thumb` | Custom thumb content (replaces knob). |
130
+
131
+ ## Events
132
+
133
+ | Event | Payload | Description |
134
+ | ------------------- | ---------------------------- | ------------------------------- |
135
+ | `change` | `number \| [number, number]` | Emitted when the value changes. |
136
+ | `update:modelValue` | `number \| [number, number]` | Emitted for `v-model` updates. |
137
+
138
+ ## Related components
139
+
140
+ BaseField, OtpField, NumberField, Label