@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
package/bin/ai.mjs ADDED
@@ -0,0 +1,469 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Install Bridge UI agent guidelines, docs, and skills into a consumer app.
4
+ *
5
+ * Usage:
6
+ * npx bridge-ui-vue-ai install|remove [--copy] [--cwd <dir>]
7
+ */
8
+
9
+ import {
10
+ cpSync,
11
+ existsSync,
12
+ lstatSync,
13
+ mkdirSync,
14
+ readdirSync,
15
+ readFileSync,
16
+ readlinkSync,
17
+ realpathSync,
18
+ rmdirSync,
19
+ rmSync,
20
+ symlinkSync,
21
+ writeFileSync,
22
+ } from "node:fs";
23
+ import { dirname, join, relative, resolve } from "node:path";
24
+ import { fileURLToPath } from "node:url";
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // Package context
28
+ // ---------------------------------------------------------------------------
29
+
30
+ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
31
+ const pkg = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
32
+
33
+ const packageName = pkg.name;
34
+ const aiRoot = join(packageRoot, "ai");
35
+ const docsRoot = join(packageRoot, "docs");
36
+ const binName = Object.keys(pkg.bin ?? {})[0] ?? "bridge-ui-ai";
37
+
38
+ const MARK_END = "<!-- bridge-ui-ai:end -->";
39
+ const MARK_START = "<!-- bridge-ui-ai:start -->";
40
+ const MARK_BLOCK = new RegExp(`${MARK_START}[\\s\\S]*?${MARK_END}`, "m");
41
+ const MARK_BLOCK_PADDED = new RegExp(
42
+ `\\n*${MARK_START}[\\s\\S]*?${MARK_END}\\n*`,
43
+ "m",
44
+ );
45
+
46
+ /** Paths linked/copied into the consumer app (relative dest → absolute source). */
47
+ function installTargets() {
48
+ return [
49
+ { dest: ".ai/docs", src: docsRoot },
50
+ { dest: "llms.txt", src: join(aiRoot, "llms.txt") },
51
+ { dest: ".ai/AGENTS.md", src: join(aiRoot, "AGENTS.md") },
52
+ { dest: ".ai/guidelines", src: join(aiRoot, "guidelines") },
53
+ ].filter(({ src }) => existsSync(src));
54
+ }
55
+
56
+ function skillTargets() {
57
+ const skillsDir = join(aiRoot, "skills");
58
+
59
+ if (!existsSync(skillsDir)) return [];
60
+
61
+ return readdirSync(skillsDir, { withFileTypes: true })
62
+ .filter((entry) => entry.isDirectory())
63
+ .map((entry) => entry.name)
64
+ .sort()
65
+ .map((name) => ({
66
+ dest: join(".cursor", "skills", name),
67
+ src: join(skillsDir, name),
68
+ }));
69
+ }
70
+
71
+ // ---------------------------------------------------------------------------
72
+ // CLI
73
+ // ---------------------------------------------------------------------------
74
+
75
+ function printHelp() {
76
+ console.log(`Usage: ${binName} <command> [options]
77
+
78
+ Commands:
79
+ install Link (or copy) AI guidelines, docs, and skills into the app
80
+ remove Remove links/copies created by install
81
+ help Show this help
82
+
83
+ Options:
84
+ --copy Copy files instead of symlinking (Windows / PnP fallback)
85
+ --cwd App root (default: process.cwd())
86
+ `);
87
+ }
88
+
89
+ function parseArgs(argv) {
90
+ const args = { command: "help", copy: false, cwd: process.cwd() };
91
+
92
+ for (let i = 0; i < argv.length; i++) {
93
+ const arg = argv[i];
94
+
95
+ if (arg === "--copy") {
96
+ args.copy = true;
97
+ } else if (arg === "--cwd") {
98
+ args.cwd = resolve(argv[++i] ?? process.cwd());
99
+ } else if (arg === "-h" || arg === "--help") {
100
+ args.command = "help";
101
+ } else if (!arg.startsWith("-") && args.command === "help") {
102
+ args.command = arg;
103
+ }
104
+ }
105
+
106
+ return args;
107
+ }
108
+
109
+ // ---------------------------------------------------------------------------
110
+ // Filesystem helpers
111
+ // ---------------------------------------------------------------------------
112
+
113
+ function pathExists(path) {
114
+ try {
115
+ lstatSync(path);
116
+ return true;
117
+ } catch {
118
+ return false;
119
+ }
120
+ }
121
+
122
+ function removePath(path) {
123
+ if (!pathExists(path)) return;
124
+
125
+ rmSync(path, { recursive: true, force: true });
126
+ }
127
+
128
+ function linkTypeFor(target) {
129
+ if (lstatSync(target).isDirectory()) {
130
+ return process.platform === "win32" ? "junction" : "dir";
131
+ }
132
+
133
+ return "file";
134
+ }
135
+
136
+ /** @returns {"linked" | "copied"} */
137
+ function linkOrCopy(target, dest, { copy }) {
138
+ mkdirSync(dirname(dest), { recursive: true });
139
+ removePath(dest);
140
+
141
+ if (!copy) {
142
+ try {
143
+ symlinkSync(target, dest, linkTypeFor(target));
144
+ return "linked";
145
+ } catch (err) {
146
+ console.warn(`Symlink failed (${err.message}); falling back to copy.`);
147
+ }
148
+ }
149
+
150
+ cpSync(target, dest, { recursive: true });
151
+
152
+ return "copied";
153
+ }
154
+
155
+ function isSymlink(path) {
156
+ try {
157
+ return lstatSync(path).isSymbolicLink();
158
+ } catch {
159
+ return false;
160
+ }
161
+ }
162
+
163
+ function resolvesUnder(path, root, fileName) {
164
+ if (!pathExists(path)) return false;
165
+ try {
166
+ const real = realpathSync(path);
167
+
168
+ return real === join(root, fileName) || real.startsWith(`${root}/`);
169
+ } catch {
170
+ return false;
171
+ }
172
+ }
173
+
174
+ /** True when `path` is a real file whose contents match the package AGENTS.md. */
175
+ function isPackageAgentsCopy(path) {
176
+ const src = join(aiRoot, "AGENTS.md");
177
+
178
+ if (!existsSync(src) || !existsSync(path) || isSymlink(path)) {
179
+ return false;
180
+ }
181
+
182
+ try {
183
+ return readFileSync(path, "utf8") === readFileSync(src, "utf8");
184
+ } catch {
185
+ return false;
186
+ }
187
+ }
188
+
189
+ function removeEmptyDir(path) {
190
+ try {
191
+ rmdirSync(path);
192
+ return true;
193
+ } catch {
194
+ return false;
195
+ }
196
+ }
197
+
198
+ function cleanupEmptyDirs(appRoot) {
199
+ const cleaned = [];
200
+
201
+ for (const rel of [".ai", join(".cursor", "skills"), ".cursor"]) {
202
+ if (removeEmptyDir(join(appRoot, rel))) {
203
+ cleaned.push(rel.replaceAll("\\", "/"));
204
+ }
205
+ }
206
+
207
+ return cleaned;
208
+ }
209
+
210
+ function assertAiPresent() {
211
+ if (existsSync(aiRoot)) return;
212
+ console.error(`Missing AI resources in ${packageName}: expected ${aiRoot}`);
213
+
214
+ process.exit(1);
215
+ }
216
+
217
+ function logResults(title, results) {
218
+ console.log(title);
219
+
220
+ for (const { mode, dest } of results) {
221
+ console.log(` ${String(mode).padEnd(7)} ${dest}`);
222
+ }
223
+ }
224
+
225
+ // ---------------------------------------------------------------------------
226
+ // AGENTS.md / CLAUDE.md
227
+ // ---------------------------------------------------------------------------
228
+
229
+ function agentsSnippet(skills) {
230
+ const skillList = skills
231
+ .map(({ dest }) => `- \`${dest.replaceAll("\\", "/")}\``)
232
+ .join("\n");
233
+
234
+ return `${MARK_START}
235
+ ## Bridge UI
236
+
237
+ This app uses **${packageName}**. Full agent guide: \`.ai/AGENTS.md\` (also see \`llms.txt\`).
238
+
239
+ - Docs: \`.ai/docs/\` (component API and examples)
240
+ - Guidelines: \`.ai/guidelines/core.md\`
241
+ - Skills (on demand):
242
+ ${skillList}
243
+
244
+ Install/update: \`npx ${binName} install\`
245
+ ${MARK_END}
246
+ `;
247
+ }
248
+
249
+ function upsertAgentsMd(appRoot, skills) {
250
+ let next;
251
+ const snippet = agentsSnippet(skills);
252
+ const path = join(appRoot, "AGENTS.md");
253
+
254
+ // Never write through a symlink (would mutate package sources under file: installs).
255
+ if (isSymlink(path)) {
256
+ removePath(path);
257
+ }
258
+
259
+ if (!existsSync(path)) {
260
+ // Stub only — strip on remove deletes the file cleanly.
261
+ next = `${snippet.trimEnd()}\n`;
262
+ } else {
263
+ const prev = readFileSync(path, "utf8");
264
+
265
+ if (prev.includes(MARK_START) && prev.includes(MARK_END)) {
266
+ next = prev.replace(MARK_BLOCK, snippet.trimEnd());
267
+ } else {
268
+ next = `${prev.trimEnd()}\n\n${snippet}\n`;
269
+ }
270
+ }
271
+
272
+ writeFileSync(path, next.endsWith("\n") ? next : `${next}\n`);
273
+ return path;
274
+ }
275
+
276
+ function stripAgentsMd(appRoot) {
277
+ const path = join(appRoot, "AGENTS.md");
278
+
279
+ if (!pathExists(path)) return null;
280
+
281
+ // Legacy installs that linked/copied the full package guide to the root.
282
+ if (isPackageAgentsCopy(path) || resolvesUnder(path, aiRoot, "AGENTS.md")) {
283
+ removePath(path);
284
+ return path;
285
+ }
286
+
287
+ if (!existsSync(path)) return null;
288
+
289
+ const prev = readFileSync(path, "utf8");
290
+
291
+ if (!prev.includes(MARK_START)) return null;
292
+
293
+ const next = prev.replace(MARK_BLOCK_PADDED, "\n").trimEnd();
294
+
295
+ if (!next.trim()) {
296
+ rmSync(path, { force: true });
297
+ return path;
298
+ }
299
+
300
+ writeFileSync(path, `${next}\n`);
301
+
302
+ return path;
303
+ }
304
+
305
+ /**
306
+ * Root AGENTS.md is always a short stub (or inject into the app's own file).
307
+ * Full guide lives at `.ai/AGENTS.md` only.
308
+ */
309
+ function installRootAgents(appRoot, skills) {
310
+ const dest = join(appRoot, "AGENTS.md");
311
+ const rel = relative(appRoot, dest);
312
+
313
+ // Legacy full-guide link/copy or foreign Bridge symlink → replace with stub.
314
+ if (
315
+ isSymlink(dest) ||
316
+ isPackageAgentsCopy(dest) ||
317
+ resolvesUnder(dest, aiRoot, "AGENTS.md")
318
+ ) {
319
+ removePath(dest);
320
+ }
321
+
322
+ upsertAgentsMd(appRoot, skills);
323
+
324
+ return { dest: rel, mode: "updated" };
325
+ }
326
+
327
+ /** True when CLAUDE.md is our symlink/copy of the root AGENTS.md stub. */
328
+ function isClaudeBridgeManaged(appRoot, claudePath) {
329
+ const agents = join(appRoot, "AGENTS.md");
330
+
331
+ if (!pathExists(claudePath) || !pathExists(agents)) return false;
332
+
333
+ if (isSymlink(claudePath)) {
334
+ try {
335
+ return realpathSync(claudePath) === realpathSync(agents);
336
+ } catch {
337
+ try {
338
+ const target = readlinkSync(claudePath);
339
+
340
+ return resolve(dirname(claudePath), target) === agents;
341
+ } catch {
342
+ return false;
343
+ }
344
+ }
345
+ }
346
+
347
+ try {
348
+ return readFileSync(claudePath, "utf8") === readFileSync(agents, "utf8");
349
+ } catch {
350
+ return false;
351
+ }
352
+ }
353
+
354
+ function installClaudeMd(appRoot, { copy }) {
355
+ const dest = join(appRoot, "CLAUDE.md");
356
+ const agents = join(appRoot, "AGENTS.md");
357
+
358
+ if (!existsSync(agents)) return null;
359
+
360
+ // App already has its own CLAUDE.md → leave it alone.
361
+ if (pathExists(dest) && !isClaudeBridgeManaged(appRoot, dest)) {
362
+ return null;
363
+ }
364
+
365
+ return {
366
+ dest: "CLAUDE.md",
367
+ mode: linkOrCopy(agents, dest, { copy }),
368
+ };
369
+ }
370
+
371
+ function stripClaudeMd(appRoot) {
372
+ const path = join(appRoot, "CLAUDE.md");
373
+
374
+ if (!isClaudeBridgeManaged(appRoot, path)) return null;
375
+
376
+ removePath(path);
377
+ return path;
378
+ }
379
+
380
+ // ---------------------------------------------------------------------------
381
+ // Commands
382
+ // ---------------------------------------------------------------------------
383
+
384
+ function install({ cwd: appRoot, copy }) {
385
+ assertAiPresent();
386
+
387
+ const results = [];
388
+ const skills = skillTargets();
389
+
390
+ for (const { src, dest } of [...installTargets(), ...skills]) {
391
+ results.push({
392
+ dest,
393
+ mode: linkOrCopy(src, join(appRoot, dest), { copy }),
394
+ });
395
+ }
396
+
397
+ results.push(installRootAgents(appRoot, skills));
398
+
399
+ const claude = installClaudeMd(appRoot, { copy });
400
+
401
+ if (claude) results.push(claude);
402
+
403
+ logResults(`Installed Bridge UI AI resources from ${packageName}`, results);
404
+
405
+ console.log(`\nPackage AI root: ${aiRoot}`);
406
+
407
+ try {
408
+ console.log(`Resolved: ${realpathSync(aiRoot)}`);
409
+ } catch {
410
+ /* ignore */
411
+ }
412
+ }
413
+
414
+ function remove({ cwd: appRoot }) {
415
+ const removed = [];
416
+
417
+ for (const { dest } of [...installTargets(), ...skillTargets()]) {
418
+ const absolute = join(appRoot, dest);
419
+
420
+ if (!pathExists(absolute)) continue;
421
+
422
+ removePath(absolute);
423
+ removed.push(dest);
424
+ }
425
+
426
+ // CLAUDE before AGENTS so content/realpath checks still resolve.
427
+ const claude = stripClaudeMd(appRoot);
428
+ const agents = stripAgentsMd(appRoot);
429
+ const emptyDirs = cleanupEmptyDirs(appRoot);
430
+
431
+ console.log(`Removed Bridge UI AI resources for ${packageName}`);
432
+
433
+ for (const path of removed) {
434
+ console.log(` removed ${path}`);
435
+ }
436
+
437
+ if (claude) {
438
+ console.log(` cleaned ${relative(appRoot, claude)}`);
439
+ }
440
+
441
+ if (agents) {
442
+ console.log(` cleaned ${relative(appRoot, agents)}`);
443
+ }
444
+
445
+ for (const dir of emptyDirs) {
446
+ console.log(` removed ${dir}/`);
447
+ }
448
+ }
449
+
450
+ // ---------------------------------------------------------------------------
451
+ // Entry
452
+ // ---------------------------------------------------------------------------
453
+
454
+ const args = parseArgs(process.argv.slice(2));
455
+
456
+ switch (args.command) {
457
+ case "install":
458
+ install(args);
459
+ break;
460
+ case "remove":
461
+ remove(args);
462
+ break;
463
+ case "help":
464
+ printHelp();
465
+ break;
466
+ default:
467
+ printHelp();
468
+ process.exitCode = 1;
469
+ }
@@ -4,7 +4,7 @@ import n from "./Modal/BridgeModalHost.js";
4
4
  import r from "./Snackbar/BridgeSnackbarHost.js";
5
5
  import { createBlock as i, createVNode as a, defineComponent as o, guardReactiveProps as s, normalizeProps as c, openBlock as l, renderSlot as u, unref as d, withCtx as f } from "vue";
6
6
  //#region src/Actions/BridgeUIHosts.vue?vue&type=script&setup=true&lang.ts
7
- var p = /* @__PURE__ */ o({
7
+ var p = /*@__PURE__*/ o({
8
8
  __name: "BridgeUIHosts",
9
9
  props: {
10
10
  dialog: { default: () => ({}) },
@@ -3,7 +3,7 @@ import t from "../../Components/Button/Button.js";
3
3
  import n from "../../Components/Link/Link.js";
4
4
  import { computed as r, createBlock as i, createTextVNode as a, defineComponent as o, mergeProps as s, openBlock as c, toDisplayString as l, unref as u, withCtx as d } from "vue";
5
5
  //#region src/Actions/Dialog/BridgeDialogAction.vue?vue&type=script&setup=true&lang.ts
6
- var f = /* @__PURE__ */ o({
6
+ var f = /*@__PURE__*/ o({
7
7
  __name: "BridgeDialogAction",
8
8
  props: {
9
9
  acceptColor: {},
@@ -3,7 +3,7 @@ import t from "./BridgeDialogItem.js";
3
3
  import { createBridgeDialogApi as n } from "./createBridgeDialogApi.js";
4
4
  import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, defineComponent as s, inject as c, openBlock as l, provide as u, renderList as d, renderSlot as f, unref as p } from "vue";
5
5
  //#region src/Actions/Dialog/BridgeDialogHost.vue?vue&type=script&setup=true&lang.ts
6
- var m = "[Bridge UI] Nested <BridgeDialogHost /> detected. useDialogAction() will target the nearest host only. Remove the extra host.", h = /* @__PURE__ */ s({
6
+ var m = "[Bridge UI] Nested <BridgeDialogHost /> detected. useDialogAction() will target the nearest host only. Remove the extra host.", h = /*@__PURE__*/ s({
7
7
  __name: "BridgeDialogHost",
8
8
  props: { modal: {} },
9
9
  setup(s) {
@@ -1,5 +1,5 @@
1
- import e from "../../Components/Card/Card.js";
2
- import t from "../../Components/Modal/Modal.js";
1
+ import e from "../../Components/Modal/Modal.js";
2
+ import t from "../../Components/Card/Card.js";
3
3
  import n from "./ResolveBridgeDialogFooter.js";
4
4
  import { computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createSlots as s, createVNode as c, defineComponent as l, mergeProps as u, openBlock as d, toDisplayString as f, unref as p, withCtx as m } from "vue";
5
5
  import { completeLayerHide as h, invokeLayerDismiss as g, mergeLayerShellProps as _ } from "@bridge-ui/core";
@@ -7,7 +7,7 @@ import { completeLayerHide as h, invokeLayerDismiss as g, mergeLayerShellProps a
7
7
  var v = {
8
8
  key: 0,
9
9
  class: "text-sm text-dark-500 dark:text-dark-400"
10
- }, y = /* @__PURE__ */ l({
10
+ }, y = /*@__PURE__*/ l({
11
11
  __name: "BridgeDialogItem",
12
12
  props: {
13
13
  api: {},
@@ -20,14 +20,14 @@ var v = {
20
20
  }, C = () => {
21
21
  y.api.close(y.entry.id);
22
22
  };
23
- return (r, g) => (d(), i(p(t), u(x.value, {
23
+ return (r, g) => (d(), i(p(e), u(x.value, {
24
24
  "stack-id": l.entry.id,
25
25
  "model-value": l.entry.show,
26
26
  onClose: S,
27
27
  "onUpdate:modelValue": g[0] ||= (e) => l.api.syncShow(l.entry.id, e),
28
28
  onShowChange: g[1] ||= (e) => p(h)(l.api.entries.value, l.entry.id, e, l.api.removeEntry)
29
29
  }), {
30
- default: m(() => [c(p(e), u({ title: l.entry.props.title }, l.entry.props.card), s({
30
+ default: m(() => [c(p(t), u({ title: l.entry.props.title }, l.entry.props.card), s({
31
31
  default: m(() => [l.entry.props.description ? (d(), o("p", v, f(l.entry.props.description), 1)) : a("", !0)]),
32
32
  _: 2
33
33
  }, [l.entry.props.actions?.accept || l.entry.props.actions?.reject ? {
@@ -4,7 +4,7 @@ import { createBlock as t, createCommentVNode as n, createElementBlock as r, def
4
4
  var o = {
5
5
  key: 0,
6
6
  class: "flex justify-end gap-2"
7
- }, s = /* @__PURE__ */ i({
7
+ }, s = /*@__PURE__*/ i({
8
8
  __name: "ResolveBridgeDialogFooter",
9
9
  props: {
10
10
  acceptColor: {},
@@ -4,7 +4,7 @@ import { createBridgeDrawerApi as n } from "./createBridgeDrawerApi.js";
4
4
  import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, defineComponent as s, inject as c, mergeProps as l, openBlock as u, provide as d, renderList as f, renderSlot as p, resolveDynamicComponent as m, unref as h, withCtx as g } from "vue";
5
5
  import { completeLayerHide as _, invokeLayerDismiss as v, mergeLayerShellProps as y } from "@bridge-ui/core";
6
6
  //#region src/Actions/Drawer/BridgeDrawerHost.vue?vue&type=script&setup=true&lang.ts
7
- var b = "[Bridge UI] Nested <BridgeDrawerHost /> detected. useDrawerAction() will target the nearest host only. Remove the extra host.", x = /* @__PURE__ */ s({
7
+ var b = "[Bridge UI] Nested <BridgeDrawerHost /> detected. useDrawerAction() will target the nearest host only. Remove the extra host.", x = /*@__PURE__*/ s({
8
8
  __name: "BridgeDrawerHost",
9
9
  props: { drawer: {} },
10
10
  setup(s) {
@@ -4,7 +4,7 @@ import { createBridgeModalApi as n } from "./createBridgeModalApi.js";
4
4
  import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, defineComponent as s, inject as c, mergeProps as l, openBlock as u, provide as d, renderList as f, renderSlot as p, resolveDynamicComponent as m, unref as h, withCtx as g } from "vue";
5
5
  import { completeLayerHide as _, invokeLayerDismiss as v, mergeLayerShellProps as y } from "@bridge-ui/core";
6
6
  //#region src/Actions/Modal/BridgeModalHost.vue?vue&type=script&setup=true&lang.ts
7
- var b = "[Bridge UI] Nested <BridgeModalHost /> detected. useModalAction() will target the nearest host only. Remove the extra host.", x = /* @__PURE__ */ s({
7
+ var b = "[Bridge UI] Nested <BridgeModalHost /> detected. useModalAction() will target the nearest host only. Remove the extra host.", x = /*@__PURE__*/ s({
8
8
  __name: "BridgeModalHost",
9
9
  props: { modal: {} },
10
10
  setup(s) {
@@ -5,7 +5,7 @@ import { computed as r, createBlock as i, createTextVNode as a, defineComponent
5
5
  import { cn as f, snackbarRoundedProps as p } from "@bridge-ui/core";
6
6
  import { get as m } from "es-toolkit/compat";
7
7
  //#region src/Actions/Snackbar/BridgeSnackbarAction.vue?vue&type=script&setup=true&lang.ts
8
- var h = /* @__PURE__ */ o({
8
+ var h = /*@__PURE__*/ o({
9
9
  __name: "BridgeSnackbarAction",
10
10
  props: {
11
11
  action: {},
@@ -23,20 +23,20 @@ var h = /* @__PURE__ */ o({
23
23
  let { onClick: e, ...t } = g.action.link;
24
24
  return t;
25
25
  }), x = r(() => {
26
- let e = m(p, g.snackbarRounded ?? "lg"), t = m(e, "tr"), n = m(e, "br");
27
- return m({
26
+ let e = g.snackbarRounded ?? "lg", t = m(p, e), n = m(t, "tr"), r = m(t, "br"), i = {
28
27
  trailing: "mr-4 shrink-0",
29
28
  "right-accept": f({
30
29
  "w-full rounded-none": !0,
31
- [t ?? ""]: !0,
32
- [n ?? ""]: !g.hasReject
30
+ [n ?? ""]: !0,
31
+ [r ?? ""]: !g.hasReject
33
32
  }),
34
33
  "right-reject": f({
35
34
  "w-full rounded-none": !0,
36
- [n ?? ""]: !0,
37
- [t ?? ""]: !g.hasAccept
35
+ [r ?? ""]: !0,
36
+ [n ?? ""]: !g.hasAccept
38
37
  })
39
- }, g.layout, "");
38
+ };
39
+ return m(i, g.layout, "");
40
40
  }), S = r(() => f({
41
41
  [x.value]: !0,
42
42
  [g.action.className ?? ""]: !0
@@ -6,7 +6,7 @@ import { Fragment as i, Teleport as a, computed as o, createBlock as s, createEl
6
6
  import { cn as v, mergeBridgeUILayeredClasses as y, snackbarPositionProps as b } from "@bridge-ui/core";
7
7
  import { get as x } from "es-toolkit/compat";
8
8
  //#region src/Actions/Snackbar/BridgeSnackbarHost.vue?vue&type=script&setup=true&lang.ts
9
- var S = "[Bridge UI] Nested <BridgeSnackbarHost /> detected. useSnackbarAction() will target the nearest host only. Remove the extra host.", C = /* @__PURE__ */ u({
9
+ var S = "[Bridge UI] Nested <BridgeSnackbarHost /> detected. useSnackbarAction() will target the nearest host only. Remove the extra host.", C = /*@__PURE__*/ u({
10
10
  __name: "BridgeSnackbarHost",
11
11
  props: {
12
12
  max: {},
@@ -26,7 +26,10 @@ var S = "[Bridge UI] Nested <BridgeSnackbarHost /> detected. useSnackbarAction()
26
26
  timeout: C.timeout
27
27
  }), T = e();
28
28
  m(t, w);
29
- let E = o(() => w.entries.value), D = o(() => T?.components.value.Snackbar), O = o(() => C.position ?? D.value?.defaultProps?.position ?? "bottom-center"), k = o(() => x(y(b, D.value?.tokens?.position), O.value)), A = o(() => C.teleportTo === !1), j = o(() => C.teleportTo === !1 ? "body" : C.teleportTo), M = o(() => O.value.startsWith("top") ? "flex-col" : "flex-col-reverse");
29
+ let E = o(() => w.entries.value), D = o(() => T?.components.value.Snackbar), O = o(() => C.position ?? D.value?.defaultProps?.position ?? "bottom-center"), k = o(() => {
30
+ let e = y(b, D.value?.tokens?.position);
31
+ return x(e, O.value);
32
+ }), A = o(() => C.teleportTo === !1), j = o(() => C.teleportTo === !1 ? "body" : C.teleportTo), M = o(() => O.value.startsWith("top") ? "flex-col" : "flex-col-reverse");
30
33
  return (e, t) => (p(), c(i, null, [g(e.$slots, "default"), (p(), s(a, {
31
34
  to: j.value,
32
35
  disabled: A.value
@@ -6,7 +6,7 @@ import { completeLayerHide as h, invokeLayerDismiss as g, mergeLayerShellProps a
6
6
  var y = { class: "flex flex-col border-l border-dark-200 dark:border-dark-700" }, b = {
7
7
  key: 1,
8
8
  class: "flex flex-1 h-0"
9
- }, x = /* @__PURE__ */ l({
9
+ }, x = /*@__PURE__*/ l({
10
10
  __name: "BridgeSnackbarItem",
11
11
  props: {
12
12
  api: {},
@@ -0,0 +1 @@
1
+ export { setDateAdapterForTests, useDateAdapter, useDateAdapterContext, } from './useDateAdapter';
@@ -0,0 +1,2 @@
1
+ import { setDateAdapterForTests as e, useDateAdapter as t, useDateAdapterContext as n } from "./useDateAdapter.js";
2
+ export { e as setDateAdapterForTests, t as useDateAdapter, n as useDateAdapterContext };
@@ -0,0 +1,17 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { DateAdapter, DateAdapterContext } from '@bridge-ui/core';
3
+ /**
4
+ * Sets a process-wide date adapter fallback. For tests only.
5
+ */
6
+ export declare function setDateAdapterForTests(adapter: undefined | DateAdapter): void;
7
+ /**
8
+ * Returns the active date adapter from {@link BridgeUIProvider}.
9
+ * Falls back to {@link defaultNativeDateAdapter} when unset.
10
+ */
11
+ export declare function useDateAdapter(): ComputedRef<DateAdapter>;
12
+ /**
13
+ * Returns a builder for {@link DateAdapterContext} from Bridge global config.
14
+ * Locale always comes from the provider — calendar / date components never
15
+ * accept a `locale` prop. Only `timeZone` may be overridden per instance.
16
+ */
17
+ export declare function useDateAdapterContext(): (timeZone?: string) => DateAdapterContext;
@@ -0,0 +1,21 @@
1
+ import { useBridgeUI as e } from "../../Provider/useBridgeUI.js";
2
+ import { computed as t } from "vue";
3
+ import { defaultNativeDateAdapter as n } from "@bridge-ui/core";
4
+ //#region src/Adapters/Date/useDateAdapter.ts
5
+ var r;
6
+ function i(e) {
7
+ r = e;
8
+ }
9
+ function a() {
10
+ let i = e();
11
+ return t(() => i?.global.value.dates ?? r ?? n);
12
+ }
13
+ function o() {
14
+ let t = e();
15
+ return (e) => ({
16
+ locale: t?.global.value.locale,
17
+ timeZone: e ?? t?.global.value.timeZone
18
+ });
19
+ }
20
+ //#endregion
21
+ export { i as setDateAdapterForTests, a as useDateAdapter, o as useDateAdapterContext };