@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.
- package/ai/AGENTS.md +31 -0
- package/ai/README.md +35 -0
- package/ai/guidelines/core.md +44 -0
- package/ai/llms.txt +38 -0
- package/ai/skills/bridge-ui-components/SKILL.md +48 -0
- package/ai/skills/bridge-ui-forms/SKILL.md +46 -0
- package/ai/skills/bridge-ui-overlays/SKILL.md +37 -0
- package/ai/skills/bridge-ui-setup/SKILL.md +38 -0
- package/bin/__tests__/ai.test.ts +319 -0
- package/bin/ai.mjs +469 -0
- package/dist/Actions/BridgeUIHosts.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Dialog/BridgeDialogAction.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Dialog/BridgeDialogHost.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Dialog/BridgeDialogItem.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/Actions/Dialog/ResolveBridgeDialogFooter.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Drawer/BridgeDrawerHost.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Modal/BridgeModalHost.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Actions/Snackbar/BridgeSnackbarAction.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/Actions/Snackbar/BridgeSnackbarHost.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/Actions/Snackbar/BridgeSnackbarItem.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Adapters/Date/index.d.ts +1 -0
- package/dist/Adapters/Date/index.js +2 -0
- package/dist/Adapters/Date/useDateAdapter.d.ts +17 -0
- package/dist/Adapters/Date/useDateAdapter.js +21 -0
- package/dist/Adapters/I18n/useI18nAdapter.d.ts +1 -1
- package/dist/Adapters/Icon/useIconAdapter.d.ts +1 -1
- package/dist/Adapters/index.d.ts +1 -0
- package/dist/Adapters/index.js +4 -3
- package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Alert/composables/useAlert.js +13 -1
- package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +7 -5
- package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +17 -10
- package/dist/Components/Autocomplete/AutocompleteOption.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Autocomplete/autocomplete.types.d.ts +19 -1
- package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +8 -2
- package/dist/Components/Autocomplete/composables/useAutocomplete.js +213 -181
- package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Avatar/composables/useAvatar.d.ts +1 -1
- package/dist/Components/Avatar/composables/useAvatar.js +13 -1
- package/dist/Components/Badge/Badge.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Badge/composables/useBadge.js +10 -1
- package/dist/Components/BaseField/BaseField.js +5 -0
- package/dist/Components/BaseField/BaseField.vue.d.ts +15 -0
- package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/Components/BaseField/BaseFieldLabel.js +5 -0
- package/dist/Components/{OtpField/OtpFieldLabel.vue.d.ts → BaseField/BaseFieldLabel.vue.d.ts} +2 -2
- 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
- package/dist/Components/BaseField/baseField.types.d.ts +222 -0
- package/dist/Components/BaseField/composables/useBaseField.d.ts +55 -0
- package/dist/Components/BaseField/composables/useBaseField.js +134 -0
- package/dist/Components/BaseField/index.d.ts +4 -0
- package/dist/Components/BaseField/index.js +3 -0
- package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Button/composables/useButton.d.ts +1 -1
- package/dist/Components/Button/composables/useButton.js +10 -1
- package/dist/Components/Calendar/Calendar.js +5 -0
- package/dist/Components/Calendar/Calendar.vue.d.ts +21 -0
- package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +139 -0
- package/dist/Components/Calendar/calendar.types.d.ts +287 -0
- package/dist/Components/Calendar/composables/useCalendar.d.ts +875 -0
- package/dist/Components/Calendar/composables/useCalendar.js +173 -0
- package/dist/Components/Calendar/index.d.ts +3 -0
- package/dist/Components/Calendar/index.js +3 -0
- package/dist/Components/CalendarDate/CalendarDate.js +5 -0
- package/dist/Components/CalendarDate/CalendarDate.vue.d.ts +19 -0
- package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/Components/CalendarDate/calendarDate.types.d.ts +257 -0
- package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +39 -0
- package/dist/Components/CalendarDate/composables/useCalendarDate.js +181 -0
- package/dist/Components/CalendarDate/index.d.ts +3 -0
- package/dist/Components/CalendarDate/index.js +3 -0
- package/dist/Components/CalendarMonth/CalendarMonth.js +5 -0
- package/dist/Components/CalendarMonth/CalendarMonth.vue.d.ts +8 -0
- package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +135 -0
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +29 -0
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +104 -0
- package/dist/Components/CalendarMonth/index.d.ts +3 -0
- package/dist/Components/CalendarMonth/index.js +3 -0
- package/dist/Components/CalendarRange/CalendarRange.js +5 -0
- package/dist/Components/CalendarRange/CalendarRange.vue.d.ts +19 -0
- package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/Components/CalendarRange/calendarRange.types.d.ts +333 -0
- package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1891 -0
- package/dist/Components/CalendarRange/composables/useCalendarRange.js +253 -0
- package/dist/Components/CalendarRange/index.d.ts +3 -0
- package/dist/Components/CalendarRange/index.js +3 -0
- package/dist/Components/CalendarYear/CalendarYear.js +5 -0
- package/dist/Components/CalendarYear/CalendarYear.vue.d.ts +8 -0
- package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/Components/CalendarYear/calendarYear.types.d.ts +141 -0
- package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +30 -0
- package/dist/Components/CalendarYear/composables/useCalendarYear.js +108 -0
- package/dist/Components/CalendarYear/index.d.ts +3 -0
- package/dist/Components/CalendarYear/index.js +3 -0
- package/dist/Components/Card/Card.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Card/composables/useCard.js +14 -3
- package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/Checkbox/composables/useCheckbox.d.ts +1 -1
- package/dist/Components/Checkbox/composables/useCheckbox.js +11 -2
- package/dist/Components/Chip/Chip.vue.d.ts +1 -1
- package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Chip/composables/useChip.d.ts +1 -1
- package/dist/Components/Chip/composables/useChip.js +7 -4
- package/dist/Components/DateField/DateField.js +5 -0
- package/dist/Components/DateField/DateField.vue.d.ts +32 -0
- package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +158 -0
- package/dist/Components/DateField/composables/useDateField.d.ts +725 -0
- package/dist/Components/DateField/composables/useDateField.js +169 -0
- package/dist/Components/DateField/dateField.types.d.ts +206 -0
- package/dist/Components/DateField/index.d.ts +3 -0
- package/dist/Components/DateField/index.js +3 -0
- package/dist/Components/DatePicker/DatePicker.js +5 -0
- package/dist/Components/DatePicker/DatePicker.vue.d.ts +17 -0
- package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +104 -0
- package/dist/Components/DatePicker/composables/useDatePicker.d.ts +28 -0
- package/dist/Components/DatePicker/composables/useDatePicker.js +91 -0
- package/dist/Components/DatePicker/datePicker.types.d.ts +233 -0
- package/dist/Components/DatePicker/index.d.ts +3 -0
- package/dist/Components/DatePicker/index.js +3 -0
- package/dist/Components/DateRangeField/DateRangeField.js +5 -0
- package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +32 -0
- package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +152 -0
- package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +723 -0
- package/dist/Components/DateRangeField/composables/useDateRangeField.js +143 -0
- package/dist/Components/DateRangeField/dateRangeField.types.d.ts +195 -0
- package/dist/Components/DateRangeField/index.d.ts +3 -0
- package/dist/Components/DateRangeField/index.js +3 -0
- package/dist/Components/DateRangePicker/DateRangePicker.js +5 -0
- package/dist/Components/DateRangePicker/DateRangePicker.vue.d.ts +17 -0
- package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +28 -0
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +89 -0
- package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +218 -0
- package/dist/Components/DateRangePicker/index.d.ts +3 -0
- package/dist/Components/DateRangePicker/index.js +3 -0
- package/dist/Components/DateTimeField/DateTimeField.js +5 -0
- package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +31 -0
- package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +724 -0
- package/dist/Components/DateTimeField/composables/useDateTimeField.js +151 -0
- package/dist/Components/DateTimeField/dateTimeField.types.d.ts +230 -0
- package/dist/Components/DateTimeField/index.d.ts +3 -0
- package/dist/Components/DateTimeField/index.js +3 -0
- package/dist/Components/DateTimePicker/DateTimePicker.js +5 -0
- package/dist/Components/DateTimePicker/DateTimePicker.vue.d.ts +17 -0
- package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +156 -0
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +46 -0
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +98 -0
- package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +272 -0
- package/dist/Components/DateTimePicker/index.d.ts +3 -0
- package/dist/Components/DateTimePicker/index.js +3 -0
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.js +5 -0
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +32 -0
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +726 -0
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +155 -0
- package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +231 -0
- package/dist/Components/DateTimeRangeField/index.d.ts +3 -0
- package/dist/Components/DateTimeRangeField/index.js +3 -0
- package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.js +5 -0
- package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +17 -0
- package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +209 -0
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +49 -0
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +112 -0
- package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +272 -0
- package/dist/Components/DateTimeRangePicker/index.d.ts +3 -0
- package/dist/Components/DateTimeRangePicker/index.js +3 -0
- package/dist/Components/Divider/Divider.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Divider/composables/useDivider.js +7 -1
- package/dist/Components/Drawer/Drawer.vue.d.ts +8 -8
- package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/Components/Drawer/composables/useDrawer.d.ts +1 -1
- package/dist/Components/Drawer/composables/useDrawer.js +11 -2
- package/dist/Components/FieldOverlay/FieldOverlay.js +5 -0
- package/dist/Components/FieldOverlay/FieldOverlay.vue.d.ts +26 -0
- package/dist/Components/FieldOverlay/FieldOverlay.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/Components/FieldOverlay/composables/useFieldOverlay.d.ts +15 -0
- package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +36 -0
- package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +63 -0
- package/dist/Components/FieldOverlay/index.d.ts +4 -0
- package/dist/Components/FieldOverlay/index.js +3 -0
- package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/FormControl/composables/useFormControl.d.ts +11 -2
- package/dist/Components/FormControl/composables/useFormControl.js +58 -54
- package/dist/Components/FormControl/index.d.ts +1 -1
- package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormField/FormField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/FormField/composables/useFormField.d.ts +5 -1
- package/dist/Components/FormField/composables/useFormField.js +20 -8
- package/dist/Components/Icon/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Icon/composables/useIcon.js +4 -1
- package/dist/Components/Label/Label.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Label/composables/useLabel.js +5 -2
- package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Link/composables/useLink.js +10 -1
- package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/List/composables/useList.js +4 -4
- package/dist/Components/ListItem/ListItem.vue.d.ts +1 -1
- package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/ListItem/composables/useListItem.d.ts +1 -1
- package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/Components/Listbox/Listbox.vue.d.ts +7 -2
- package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +93 -71
- package/dist/Components/Listbox/composables/useListbox.d.ts +18 -2
- package/dist/Components/Listbox/composables/useListbox.js +59 -37
- package/dist/Components/Listbox/index.d.ts +1 -0
- package/dist/Components/Listbox/listbox.types.d.ts +74 -4
- package/dist/Components/Menu/Menu.vue.d.ts +6 -6
- package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
- package/dist/Components/Menu/composables/useMenu.js +9 -5
- package/dist/Components/Modal/Modal.vue.d.ts +8 -8
- package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/Components/Modal/composables/useModal.d.ts +1 -1
- package/dist/Components/Modal/composables/useModal.js +11 -2
- package/dist/Components/NumberField/NumberField.vue.d.ts +2 -2
- package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/Components/NumberField/composables/useNumberField.d.ts +2 -2
- package/dist/Components/NumberField/composables/useNumberField.js +4 -1
- package/dist/Components/OtpField/OtpField.vue.d.ts +3 -3
- package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +34 -52
- package/dist/Components/OtpField/composables/useOtpField.d.ts +40 -213
- package/dist/Components/OtpField/composables/useOtpField.js +105 -151
- package/dist/Components/OtpField/otpField.types.d.ts +10 -180
- package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/Components/PasswordField/composables/usePasswordField.d.ts +2 -2
- package/dist/Components/PasswordField/composables/usePasswordField.js +4 -1
- package/dist/Components/Progress/Progress.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Progress/composables/useProgress.js +13 -1
- package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/Components/Radio/composables/useRadio.d.ts +1 -1
- package/dist/Components/Radio/composables/useRadio.js +11 -2
- package/dist/Components/Select/Select.vue.d.ts +6 -4
- package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +17 -10
- package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Select/composables/useSelect.d.ts +8 -2
- package/dist/Components/Select/composables/useSelect.js +226 -194
- package/dist/Components/Select/select.types.d.ts +19 -1
- package/dist/Components/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Skeleton/composables/useSkeleton.js +5 -2
- package/dist/Components/Slider/Slider.js +5 -0
- package/dist/Components/Slider/Slider.vue.d.ts +25 -0
- package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +113 -0
- package/dist/Components/Slider/composables/useSlider.d.ts +485 -0
- package/dist/Components/Slider/composables/useSlider.js +292 -0
- package/dist/Components/Slider/index.d.ts +4 -0
- package/dist/Components/Slider/index.js +3 -0
- package/dist/Components/Slider/slider.types.d.ts +177 -0
- package/dist/Components/Snackbar/Snackbar.vue.d.ts +2 -2
- package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +42 -42
- package/dist/Components/Snackbar/composables/useSnackbar.js +16 -3
- package/dist/Components/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Spinner/composables/useSpinner.js +10 -1
- package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/Components/Switch/composables/useSwitch.d.ts +1 -1
- package/dist/Components/Switch/composables/useSwitch.js +11 -2
- package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/Components/TabList/TabList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Tabs/Tabs.vue.d.ts +2 -2
- package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/TextField/composables/useTextField.d.ts +2 -2
- package/dist/Components/TextField/composables/useTextField.js +1 -1
- package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/Components/Textarea/composables/useTextarea.d.ts +2 -2
- package/dist/Components/Textarea/composables/useTextarea.js +5 -1
- package/dist/Components/TimeField/TimeField.js +5 -0
- package/dist/Components/TimeField/TimeField.vue.d.ts +32 -0
- package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +134 -0
- package/dist/Components/TimeField/composables/useTimeField.d.ts +733 -0
- package/dist/Components/TimeField/composables/useTimeField.js +147 -0
- package/dist/Components/TimeField/index.d.ts +3 -0
- package/dist/Components/TimeField/index.js +3 -0
- package/dist/Components/TimeField/timeField.types.d.ts +155 -0
- package/dist/Components/TimePanel/TimePanel.js +5 -0
- package/dist/Components/TimePanel/TimePanel.vue.d.ts +8 -0
- package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/Components/TimePanel/composables/useTimePanel.d.ts +58 -0
- package/dist/Components/TimePanel/composables/useTimePanel.js +180 -0
- package/dist/Components/TimePanel/index.d.ts +3 -0
- package/dist/Components/TimePanel/index.js +3 -0
- package/dist/Components/TimePanel/timePanel.types.d.ts +147 -0
- package/dist/Components/TimePicker/TimePicker.js +5 -0
- package/dist/Components/TimePicker/TimePicker.vue.d.ts +10 -0
- package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +82 -0
- package/dist/Components/TimePicker/composables/useTimePicker.d.ts +31 -0
- package/dist/Components/TimePicker/composables/useTimePicker.js +84 -0
- package/dist/Components/TimePicker/index.d.ts +3 -0
- package/dist/Components/TimePicker/index.js +3 -0
- package/dist/Components/TimePicker/timePicker.types.d.ts +176 -0
- package/dist/Components/TimeRangeField/TimeRangeField.js +5 -0
- package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +32 -0
- package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +134 -0
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +725 -0
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +143 -0
- package/dist/Components/TimeRangeField/index.d.ts +3 -0
- package/dist/Components/TimeRangeField/index.js +3 -0
- package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +155 -0
- package/dist/Components/TimeRangePicker/TimeRangePicker.js +5 -0
- package/dist/Components/TimeRangePicker/TimeRangePicker.vue.d.ts +10 -0
- package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +116 -0
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +40 -0
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +123 -0
- package/dist/Components/TimeRangePicker/index.d.ts +3 -0
- package/dist/Components/TimeRangePicker/index.js +3 -0
- package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +232 -0
- package/dist/Components/Tooltip/Tooltip.vue.d.ts +2 -2
- package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +14 -14
- package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
- package/dist/Components/Tooltip/composables/useTooltip.js +10 -1
- package/dist/Provider/BridgeUIProvider.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/Provider/createBridgeUI.js +3 -3
- package/dist/Utils/index.d.ts +3 -3
- package/dist/Utils/index.js +5 -2
- package/dist/Utils/slotOrProp.js +1 -1
- package/dist/augments.d.ts +29 -17
- package/dist/index.d.ts +44 -1
- package/dist/index.js +127 -84
- package/dist/theme.css +8 -8
- package/docs/README.md +74 -0
- package/docs/components/Alert.md +96 -0
- package/docs/components/Autocomplete.md +212 -0
- package/docs/components/Avatar.md +60 -0
- package/docs/components/Badge.md +47 -0
- package/docs/components/BaseField.md +126 -0
- package/docs/components/BridgeUIProvider.md +168 -0
- package/docs/components/Button.md +93 -0
- package/docs/components/Calendar.md +96 -0
- package/docs/components/CalendarDate.md +71 -0
- package/docs/components/CalendarMonth.md +52 -0
- package/docs/components/CalendarRange.md +83 -0
- package/docs/components/CalendarYear.md +53 -0
- package/docs/components/Card.md +287 -0
- package/docs/components/Checkbox.md +87 -0
- package/docs/components/DateField.md +103 -0
- package/docs/components/DatePicker.md +80 -0
- package/docs/components/DateRangeField.md +88 -0
- package/docs/components/DateRangePicker.md +70 -0
- package/docs/components/DateTimeField.md +92 -0
- package/docs/components/DateTimePicker.md +74 -0
- package/docs/components/DateTimeRangeField.md +90 -0
- package/docs/components/DateTimeRangePicker.md +74 -0
- package/docs/components/Divider.md +56 -0
- package/docs/components/Drawer.md +137 -0
- package/docs/components/FieldOverlay.md +91 -0
- package/docs/components/FormControl.md +66 -0
- package/docs/components/FormField.md +71 -0
- package/docs/components/I18n.md +125 -0
- package/docs/components/Icon.md +88 -0
- package/docs/components/Label.md +31 -0
- package/docs/components/Link.md +71 -0
- package/docs/components/List.md +167 -0
- package/docs/components/Menu.md +97 -0
- package/docs/components/Modal.md +154 -0
- package/docs/components/NumberField.md +80 -0
- package/docs/components/OtpField.md +133 -0
- package/docs/components/PasswordField.md +82 -0
- package/docs/components/Progress.md +68 -0
- package/docs/components/Radio.md +91 -0
- package/docs/components/Select.md +195 -0
- package/docs/components/Skeleton.md +38 -0
- package/docs/components/Slider.md +140 -0
- package/docs/components/Snackbar.md +99 -0
- package/docs/components/Spinner.md +61 -0
- package/docs/components/Switch.md +72 -0
- package/docs/components/Tabs.md +207 -0
- package/docs/components/TextField.md +72 -0
- package/docs/components/Textarea.md +80 -0
- package/docs/components/TimeField.md +81 -0
- package/docs/components/TimePanel.md +56 -0
- package/docs/components/TimePicker.md +61 -0
- package/docs/components/TimeRangeField.md +79 -0
- package/docs/components/TimeRangePicker.md +64 -0
- package/docs/components/Tooltip.md +125 -0
- package/docs/components/useBreakpoint.md +100 -0
- package/docs/components/useDialogAction.md +97 -0
- package/docs/components/useDrawerAction.md +75 -0
- package/docs/components/useModalAction.md +75 -0
- package/docs/components/useSnackbarAction.md +85 -0
- package/docs/examples/date-date-fns.ts +286 -0
- package/docs/examples/date-dayjs.ts +327 -0
- package/docs/examples/date-luxon.ts +332 -0
- package/docs/examples/date-moment.ts +334 -0
- package/docs/examples/i18n-dictionary.ts +48 -0
- package/docs/examples/i18n-vue-i18n.ts +34 -0
- package/docs/examples/icon-fontawesome.ts +120 -0
- package/docs/examples/icon-heroicons.ts +65 -0
- package/docs/examples/icon-lucide.ts +65 -0
- package/docs/examples/icon-phosphor.ts +65 -0
- package/docs/examples/icon-tabler.ts +65 -0
- package/package.json +28 -15
- 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
|