@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,99 @@
1
+ # Snackbar
2
+
3
+ Toast notification portaled to the viewport. Sets `role="status"` and `aria-live="polite"` by default.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Snackbar } from "@bridge-ui/vue/Components/Snackbar";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Button v-on:click="open = true">Show snackbar</Button>
17
+
18
+ <Snackbar
19
+ title="Saved"
20
+ v-model="open"
21
+ description="Your changes were saved successfully."
22
+ />
23
+ ```
24
+
25
+ ### Duration and progressbar
26
+
27
+ ```vue
28
+ <Snackbar progressbar v-model="open" :duration="3000" title="Auto dismiss" />
29
+ ```
30
+
31
+ ### Slots
32
+
33
+ ```vue
34
+ <Snackbar v-model="open">
35
+ <template #icon>
36
+ <Icon size="md" :icon="Info" />
37
+ </template>
38
+
39
+ <template #actions>
40
+ <Button size="sm" variant="flat" v-on:click="open = false">
41
+ Undo
42
+ </Button>
43
+ </template>
44
+
45
+ Custom children below the description.
46
+ </Snackbar>
47
+ ```
48
+
49
+ ### customProps
50
+
51
+ ```vue
52
+ <Snackbar
53
+ v-model="open"
54
+ title="customProps"
55
+ :custom-props="{
56
+ root: { id: 'snackbar-root' },
57
+ title: { id: 'snackbar-title' },
58
+ }"
59
+ />
60
+ ```
61
+
62
+ ## Props
63
+
64
+ | Prop | Type | Default | Description |
65
+ | -------------- | ------------------------- | --------------- | ------------------------------------------------------------------------------ |
66
+ | `classes` | `SnackbarClasses` | — | The classes to apply to the snackbar. |
67
+ | `closeButton` | `boolean` | `true` | Whether to show the close button. |
68
+ | `color` | `SnackbarColor` | "primary" | Tint color for the default icon. |
69
+ | `customProps` | `SnackbarCustomProps` | — | Extra props for internal parts (`icon`, `title`, `description`, etc.). |
70
+ | `description` | `string` | — | Body text below the title. |
71
+ | `duration` | `number \| false` | 5000 | Auto-dismiss delay in ms. `false` disables the timer. |
72
+ | `icon` | `LucideIcon \| null` | — | The icon to display. Use `null` to hide the icon. |
73
+ | `img` | `string` | — | Avatar image URL (shown instead of icon when set). |
74
+ | `onShowChange` | `(show: boolean) => void` | — | Called when `v-model` visibility should change (controlled state). |
75
+ | `padding` | `SnackbarPadding` | "medium" | Padding for the content area. |
76
+ | `position` | `SnackbarPosition` | "bottom-center" | Viewport anchor when portaled (standalone). Ignored when `teleportTo={false}`. |
77
+ | `progressbar` | `boolean` | `true` | Whether to show the countdown progress bar when `duration` is set. |
78
+ | `rounded` | `SnackbarRounded` | "lg" | The roundedness of the snackbar panel. |
79
+ | `stackId` | `string` | — | Pre-assigned stack id (BridgeSnackbarHost). |
80
+ | `teleportTo` | `string \| false` | "body" | Portal target. `false` renders inline without layer stack. |
81
+ | `title` | `string` | — | Headline text. |
82
+ | `transition` | `SnackbarTransition` | "slide" | Enter/leave animation preset. |
83
+
84
+ ### v-model
85
+
86
+ | Prop / Event | Type | Default | Description |
87
+ | ------------------- | -------------------------- | ------- | ---------------------------------------------------------------------------- |
88
+ | `modelValue` | `boolean` | `false` | Whether the snackbar is visible. Bound with `v-model`. |
89
+ | `update:modelValue` | `(value: boolean) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
90
+
91
+ ## Events
92
+
93
+ | Event | Payload | Description |
94
+ | ------------ | ------- | -------------------------------------------- |
95
+ | `v-on:close` | — | Emitted when the snackbar requests to close. |
96
+
97
+ ## Related components
98
+
99
+ useSnackbarAction, Alert, Button
@@ -0,0 +1,61 @@
1
+ # Spinner
2
+
3
+ Circular progress indicator for determinate and indeterminate loading states.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Spinner } from "@bridge-ui/vue/Components/Spinner";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Indeterminate
14
+
15
+ ```vue
16
+ <Spinner aria-label="Loading…" />
17
+ ```
18
+
19
+ ### Determinate
20
+
21
+ ```vue
22
+ <Spinner :value="40" variant="determinate" aria-label="Export data" />
23
+ ```
24
+
25
+ ### With track
26
+
27
+ ```vue
28
+ <Spinner enable-track aria-label="Loading…" />
29
+ ```
30
+
31
+ ### Disable shrink
32
+
33
+ ```vue
34
+ <Spinner disable-shrink aria-label="Loading…" />
35
+ ```
36
+
37
+ ### Color and size
38
+
39
+ ```vue
40
+ <Spinner size="lg" color="success" aria-label="Saving…" />
41
+ ```
42
+
43
+ ## Props
44
+
45
+ | Prop | Type | Default | Description |
46
+ | --------------- | -------------------- | ----------------- | ------------------------------------------------- |
47
+ | `classes` | `SpinnerClasses` | — | Classes for `root`, `svg`, `circle`, and `track`. |
48
+ | `color` | `SpinnerColor` | `"primary"` | Semantic color of the circle (and track). |
49
+ | `customProps` | `SpinnerCustomProps` | — | Extra props for internal parts. |
50
+ | `disableShrink` | `boolean` | `false` | Disables indeterminate circle shrink animation. |
51
+ | `enableTrack` | `boolean` | `false` | Shows a subtle track circle behind the progress. |
52
+ | `size` | `SpinnerSize` | `"md"` | Width/height of the spinner. |
53
+ | `thickness` | `number` | `3.6` | Stroke thickness of the circle. |
54
+ | `value` | `number` | — | Progress 0–100 (`determinate` variant). |
55
+ | `variant` | `SpinnerVariant` | `"indeterminate"` | Visual mode of the indicator. |
56
+
57
+ Pass `aria-label` or `aria-labelledby` for an accessible name.
58
+
59
+ ## Related components
60
+
61
+ Progress, Skeleton
@@ -0,0 +1,72 @@
1
+ # Switch
2
+
3
+ Toggle switch. Extends FormControl props.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Switch } from "@bridge-ui/vue/Components/Switch";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Switch end-label="Dark mode" description="Use dark theme across the app." />
17
+
18
+ <Switch v-model="enabled" end-label="Enable notifications" />
19
+ ```
20
+
21
+ ### Required and error
22
+
23
+ ```vue
24
+ <Switch required end-label="Required field" />
25
+
26
+ <Switch
27
+ error
28
+ end-label="Invalid option"
29
+ error-message="You must enable this setting."
30
+ />
31
+ ```
32
+
33
+ ### customProps
34
+
35
+ ```vue
36
+ <Switch
37
+ end-label="Airplane mode"
38
+ :custom-props="{
39
+ input: { name: 'airplane' },
40
+ control: { 'data-testid': 'airplane-switch' },
41
+ }"
42
+ />
43
+ ```
44
+
45
+ ## Props
46
+
47
+ ### Switch-specific
48
+
49
+ | Prop | Type | Default | Description |
50
+ | ------------- | ------------------- | --------- | ------------------------------------------------------------------------------------------ |
51
+ | `checked` | `boolean` | — | Whether the switch is on. |
52
+ | `classes` | `SwitchClasses` | — | Classes for the form control chrome and the switch control. |
53
+ | `color` | `SwitchColor` | "primary" | The color to apply to the switch. |
54
+ | `customProps` | `SwitchCustomProps` | — | Extra props for internal parts. |
55
+ | `rounded` | `SwitchRounded` | "full" | The roundedness of the switch track. |
56
+ | `size` | `SwitchSize` | "md" | Size of the control and of form control labels (`2xs` … `2xl`, same scale as `FormField`). |
57
+ | `slots` | `SwitchSlots` | — | Chrome slots and the control slot. |
58
+
59
+ ### v-model
60
+
61
+ | Prop / Event | Type | Default | Description |
62
+ | ------------------- | -------------------------- | ------- | ---------------------------------------------------------------------------- |
63
+ | `modelValue` | `boolean` | — | Bound with `v-model`. |
64
+ | `update:modelValue` | `(value: boolean) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
65
+
66
+ ### Inherited from FormControl
67
+
68
+ See [FormControl](./FormControl.md).
69
+
70
+ ## Related components
71
+
72
+ Checkbox, FormControl
@@ -0,0 +1,207 @@
1
+ # Tabs
2
+
3
+ Organize related content into tabbed views. Use with `TabList`, `Tab`, and `TabPanel`. Selected accent uses the semantic `color` palette; inactive tabs use `dark-*`.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Tabs } from "@bridge-ui/vue/Components/Tabs";
9
+ import { Tab } from "@bridge-ui/vue/Components/Tab";
10
+ import { TabItem } from "@bridge-ui/vue/Components/TabItem";
11
+ import { TabList } from "@bridge-ui/vue/Components/TabList";
12
+ import { TabPanel } from "@bridge-ui/vue/Components/TabPanel";
13
+ ```
14
+
15
+ ## Examples
16
+
17
+ ### Usage
18
+
19
+ ```vue
20
+ <Tabs v-model="pkg">
21
+ <TabList aria-label="Package manager">
22
+ <Tab value="bun">bun</Tab>
23
+ <Tab value="npm">npm</Tab>
24
+ <Tab value="pnpm">pnpm</Tab>
25
+ </TabList>
26
+ <TabPanel value="bun">bun install</TabPanel>
27
+ <TabPanel value="npm">npm install</TabPanel>
28
+ <TabPanel value="pnpm">pnpm install</TabPanel>
29
+ </Tabs>
30
+ ```
31
+
32
+ ### TabItem shortcut
33
+
34
+ ```vue
35
+ <Tabs v-model="pkg">
36
+ <TabItem label="bun" value="bun">bun install</TabItem>
37
+ <TabItem label="npm" value="npm">npm install</TabItem>
38
+ </Tabs>
39
+ ```
40
+
41
+ ### With icons
42
+
43
+ ```vue
44
+ <Tabs v-model="section">
45
+ <TabList aria-label="Settings">
46
+ <Tab :start-icon="User" value="account">My Account</Tab>
47
+ <Tab :start-icon="Building2" value="company">Company</Tab>
48
+ <Tab :start-icon="Users" value="team">Team Members</Tab>
49
+ </TabList>
50
+ <TabPanel value="account">Account</TabPanel>
51
+ <TabPanel value="company">Company</TabPanel>
52
+ <TabPanel value="team">Team</TabPanel>
53
+ </Tabs>
54
+ ```
55
+
56
+ ### TabItem with icons and slots
57
+
58
+ ```vue
59
+ <Tabs v-model="section">
60
+ <TabItem :start-icon="Inbox" label="Inbox" value="inbox">Inbox</TabItem>
61
+ <TabItem label="Alerts" value="alerts" :end-icon="ChevronDown">
62
+ <template #start>
63
+ <Avatar size="sm" fallback="A" />
64
+ </template>
65
+ Alerts
66
+ </TabItem>
67
+ </Tabs>
68
+ ```
69
+
70
+ ### Custom start / end on Tab
71
+
72
+ ```vue
73
+ <Tabs v-model="tab">
74
+ <TabList>
75
+ <Tab value="one">
76
+ <template #start>
77
+ <Avatar size="sm" fallback="1" />
78
+ </template>
79
+ One
80
+ <template #end>
81
+ <Badge>3</Badge>
82
+ </template>
83
+ </Tab>
84
+ <Tab value="two" :end-icon="ChevronRight">Two</Tab>
85
+ </TabList>
86
+ <TabPanel value="one">First</TabPanel>
87
+ <TabPanel value="two">Second</TabPanel>
88
+ </Tabs>
89
+ ```
90
+
91
+ ### Variants
92
+
93
+ `line` (default), `plain`, `pill`, `solid`, `enclosed`.
94
+
95
+ ```vue
96
+ <Tabs v-model="tab" variant="line" color="primary">
97
+ <TabList>
98
+ <Tab value="one">One</Tab>
99
+ <Tab value="two">Two</Tab>
100
+ </TabList>
101
+ <TabPanel value="one">First</TabPanel>
102
+ <TabPanel value="two">Second</TabPanel>
103
+ </Tabs>
104
+
105
+ <Tabs color="dark" v-model="tab" variant="pill">
106
+ <TabList>
107
+ <Tab value="one">One</Tab>
108
+ <Tab value="two">Two</Tab>
109
+ </TabList>
110
+ <TabPanel value="one">First</TabPanel>
111
+ <TabPanel value="two">Second</TabPanel>
112
+ </Tabs>
113
+
114
+ <Tabs v-model="tab" variant="enclosed">
115
+ <TabList>
116
+ <Tab value="one">One</Tab>
117
+ <Tab value="two">Two</Tab>
118
+ </TabList>
119
+ <TabPanel value="one">First</TabPanel>
120
+ <TabPanel value="two">Second</TabPanel>
121
+ </Tabs>
122
+ ```
123
+
124
+ ### Vertical
125
+
126
+ ```vue
127
+ <Tabs v-model="section" orientation="vertical">
128
+ <TabList aria-label="Account">
129
+ <Tab value="account">Account</Tab>
130
+ <Tab value="settings">Settings</Tab>
131
+ </TabList>
132
+ <TabPanel value="account">Account content</TabPanel>
133
+ <TabPanel value="settings">Settings content</TabPanel>
134
+ </Tabs>
135
+ ```
136
+
137
+ ### Manual activation
138
+
139
+ ```vue
140
+ <Tabs v-model="letter" activation="manual">
141
+ <TabList>
142
+ <Tab value="a">A</Tab>
143
+ <Tab value="b">B</Tab>
144
+ </TabList>
145
+ <TabPanel value="a">Panel A</TabPanel>
146
+ <TabPanel value="b">Panel B</TabPanel>
147
+ </Tabs>
148
+ ```
149
+
150
+ ## Props (`Tabs`)
151
+
152
+ | Prop | Type | Default |
153
+ | ------------- | ----------------- | -------------- |
154
+ | `activation` | `TabsActivation` | `"automatic"` |
155
+ | `color` | `TabsColor` | `"primary"` |
156
+ | `keepMounted` | `boolean` | `true` |
157
+ | `orientation` | `TabsOrientation` | `"horizontal"` |
158
+ | `size` | `TabsSize` | `"md"` |
159
+ | `variant` | `TabsVariant` | `"line"` |
160
+
161
+ ### v-model
162
+
163
+ | Prop / Event | Type | Default | Description |
164
+ | ------------------- | ------------------------- | -------------------- | ---------------------------------------------------------------------------- |
165
+ | `modelValue` | `string` | first registered tab | The selected tab value. Bound with `v-model`. |
166
+ | `update:modelValue` | `(value: string) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
167
+
168
+ ## Events
169
+
170
+ | Event | Payload | Description |
171
+ | ------------- | ----------------- | ------------------------------------------ |
172
+ | `v-on:change` | `(value: string)` | Emitted whenever the selected tab changes. |
173
+
174
+ ## Props (`Tab`)
175
+
176
+ | Prop | Type | Default |
177
+ | ----------- | ------------ | -------- |
178
+ | `value` | `string` | required |
179
+ | `startIcon` | `LucideIcon` | — |
180
+ | `endIcon` | `LucideIcon` | — |
181
+ | `disabled` | `boolean` | `false` |
182
+
183
+ Slots: `#default` (label), `#start`, `#end`. `#start` / `#end` are used when the matching Lucide icon prop is omitted.
184
+
185
+ ## Props (`TabList`)
186
+
187
+ HTML attributes on the `role="tablist"` container (`aria-label`, `class`, etc.).
188
+
189
+ ## Props (`TabPanel`)
190
+
191
+ | Prop | Type | Default |
192
+ | ------------- | --------- | -------------------- |
193
+ | `value` | `string` | required |
194
+ | `keepMounted` | `boolean` | inherits from `Tabs` |
195
+
196
+ ## Props (`TabItem`)
197
+
198
+ | Prop | Type | Default |
199
+ | ------------- | ------------ | -------------------- |
200
+ | `value` | `string` | required |
201
+ | `label` | `string` | or `#label` slot |
202
+ | `startIcon` | `LucideIcon` | — |
203
+ | `endIcon` | `LucideIcon` | — |
204
+ | `disabled` | `boolean` | `false` |
205
+ | `keepMounted` | `boolean` | inherits from `Tabs` |
206
+
207
+ Slots: `#default` (panel), `#label`, `#start`, `#end`.
@@ -0,0 +1,72 @@
1
+ # TextField
2
+
3
+ Single-line text input with FormField chrome, icons, and adornments.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { TextField } from "@bridge-ui/vue/Components/TextField";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <TextField label="Email" placeholder="you@example.com" />
17
+
18
+ <TextField
19
+ v-model="name"
20
+ label="Display name"
21
+ description="This is how your name will appear."
22
+ />
23
+
24
+ <TextField error label="Email" error-message="Enter a valid email address." />
25
+ ```
26
+
27
+ ### Icons and adornments
28
+
29
+ ```vue
30
+ <TextField label="Search" :start-icon="Search" placeholder="Search..." />
31
+
32
+ <TextField label="Website" start="https://" placeholder="example" />
33
+
34
+ <TextField end="EUR" label="Amount" placeholder="0.00" />
35
+ ```
36
+
37
+ ### Input types
38
+
39
+ ```vue
40
+ <TextField type="email" label="Email" placeholder="you@example.com" />
41
+
42
+ <TextField type="tel" label="Phone" placeholder="+351 900 000 000" />
43
+ ```
44
+
45
+ ### customProps
46
+
47
+ ```vue
48
+ <TextField
49
+ label="Username"
50
+ placeholder="johndoe"
51
+ :custom-props="{
52
+ input: { autocomplete: 'username', name: 'username' },
53
+ }"
54
+ />
55
+ ```
56
+
57
+ ## Props
58
+
59
+ ### v-model
60
+
61
+ | Prop / Event | Type | Default | Description |
62
+ | ------------------- | --------------------------------- | ------- | ---------------------------------------------------------------------------- |
63
+ | `modelValue` | `string \| null` | — | Bound with `v-model`. |
64
+ | `update:modelValue` | `(value: string \| null) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
65
+
66
+ ### Inherited from FormField
67
+
68
+ See [FormField](./FormField.md).
69
+
70
+ ## Related components
71
+
72
+ FormField, PasswordField, NumberField, Textarea, Select
@@ -0,0 +1,80 @@
1
+ # Textarea
2
+
3
+ Multiline text input. Extends FormField props.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { Textarea } from "@bridge-ui/vue/Components/Textarea";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <Textarea :rows="3" label="Notes" placeholder="Add details..." />
17
+
18
+ <Textarea
19
+ :rows="4"
20
+ label="Bio"
21
+ v-model="bio"
22
+ description="Tell us about yourself."
23
+ />
24
+
25
+ <Textarea
26
+ error
27
+ :rows="3"
28
+ label="Message"
29
+ error-message="Please enter at least 10 characters."
30
+ />
31
+ ```
32
+
33
+ ### Autosize
34
+
35
+ ```vue
36
+ <Textarea
37
+ autosize
38
+ :rows="2"
39
+ label="Growing textarea"
40
+ placeholder="Add more lines to see autosize..."
41
+ />
42
+ ```
43
+
44
+ ### customProps
45
+
46
+ ```vue
47
+ <Textarea
48
+ :rows="3"
49
+ label="Feedback"
50
+ placeholder="maxlength 200"
51
+ :custom-props="{
52
+ input: { maxlength: 200, name: 'demo-textarea' },
53
+ }"
54
+ />
55
+ ```
56
+
57
+ ## Props
58
+
59
+ ### Textarea-specific
60
+
61
+ | Prop | Type | Default | Description |
62
+ | ----------- | ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
63
+ | `autosize` | `boolean` | — | Whether the textarea automatically resizes with its content. Defaults to `true` when `likeInput` is set; otherwise `false`. |
64
+ | `likeInput` | `boolean` | `false` | Use compact TextField-like sizing instead of the default multiline textarea profile. Enables `autosize` and `rows={1}` by default; both can be overridden explicitly. |
65
+ | `resize` | `TextareaResize` | "none" | Native resize handle (`resize` CSS). Ignored when `autosize` is `true`. |
66
+
67
+ ### v-model
68
+
69
+ | Prop / Event | Type | Default | Description |
70
+ | ------------------- | --------------------------------- | ------- | ---------------------------------------------------------------------------- |
71
+ | `modelValue` | `string \| null` | — | Bound with `v-model`. |
72
+ | `update:modelValue` | `(value: string \| null) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
73
+
74
+ ### Inherited from FormField
75
+
76
+ See [FormField](./FormField.md).
77
+
78
+ ## Related components
79
+
80
+ TextField, FormField
@@ -0,0 +1,81 @@
1
+ # TimeField
2
+
3
+ Form field that opens a `TimePicker` in an overlay (`auto` by default: `menu` on desktop, bottom `drawer` on mobile). Extends FormField props. Uses the semantic `clock` icon by default.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import { TimeField } from "@bridge-ui/vue/Components/TimeField";
9
+ ```
10
+
11
+ ## Examples
12
+
13
+ ### Usage
14
+
15
+ ```vue
16
+ <TimeField label="Start time" />
17
+
18
+ <TimeField ampm label="Meeting" :interval="5" v-model="time" />
19
+
20
+ <TimeField error label="Time" error-message="Pick a valid time." />
21
+ ```
22
+
23
+ Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `auto`).
24
+
25
+ ### customProps
26
+
27
+ ```vue
28
+ <TimeField
29
+ label="Time"
30
+ :custom-props="{
31
+ input: { name: 'time' },
32
+ timePicker: { root: { 'data-testid': 'time-picker' } },
33
+ }"
34
+ />
35
+ ```
36
+
37
+ ## Props
38
+
39
+ ### TimeField-specific
40
+
41
+ | Prop | Type | Default | Description |
42
+ | -------------- | ---------------------- | ------------------------------------- | ---------------------------------------------------- |
43
+ | `ampm` | `boolean` | `false` | Uses a 12-hour clock with an AM/PM column. |
44
+ | `classes` | `TimeFieldClasses` | — | Classes for field / input regions. |
45
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
46
+ | `customProps` | `TimeFieldCustomProps` | — | Extra props for internal parts. |
47
+ | `defaultValue` | `Date \| null` | `null` | Uncontrolled initial value. |
48
+ | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
49
+ | `interval` | `number` | `1` | Minute step between options. |
50
+ | `maxTime` | `Date` | — | Latest selectable time. |
51
+ | `minTime` | `Date` | — | Earliest selectable time. |
52
+ | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
53
+ | `showFooter` | `boolean` | `false` (`true` on mobile when unset) | Shows Cancel / Apply on the nested picker. |
54
+ | `showSeconds` | `boolean` | `false` | Shows seconds in the panel and formatted value. |
55
+ | `slots` | `TimeFieldSlots` | — | Named slots (`FormField` slots). |
56
+ | `timeZone` | `string` | — | IANA time zone. |
57
+ | `value` | `Date \| null` | — | Controlled value. |
58
+
59
+ ### v-model
60
+
61
+ | Prop / Event | Type | Default | Description |
62
+ | ------------------- | ------------------------------- | ------- | ------------------------------------- |
63
+ | `modelValue` | `Date \| null` | — | Bound with `v-model`. |
64
+ | `update:modelValue` | `(value: Date \| null) => void` | — | Emitted when `v-model` should update. |
65
+
66
+ ### Inherited from FormField
67
+
68
+ See [FormField](./FormField.md).
69
+
70
+ ## Events
71
+
72
+ | Event | Payload | Description |
73
+ | ------------- | ----------------------- | ---------------------------------- |
74
+ | `v-on:change` | `(value: Date \| null)` | Emitted when the time changes. |
75
+ | `v-on:clear` | `()` | Emitted when the value is cleared. |
76
+ | `v-on:close` | `()` | Emitted when the menu closes. |
77
+ | `v-on:open` | `()` | Emitted when the menu opens. |
78
+
79
+ ## Related components
80
+
81
+ TimePicker, FormField, DateTimeField