@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,287 @@
|
|
|
1
|
+
# Card
|
|
2
|
+
|
|
3
|
+
Surface container with optional title, action, and footer.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Card } from "@bridge-ui/vue/Components/Card";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<Card title="Card title">
|
|
17
|
+
Card body content goes here.
|
|
18
|
+
</Card>
|
|
19
|
+
|
|
20
|
+
<Card variant="outlined" title="Outlined card">
|
|
21
|
+
Outlined surface with a visible border.
|
|
22
|
+
</Card>
|
|
23
|
+
|
|
24
|
+
<Card title="Confirm changes">
|
|
25
|
+
Review your changes before saving.
|
|
26
|
+
|
|
27
|
+
<template #footer>
|
|
28
|
+
<div class="flex justify-end gap-2">
|
|
29
|
+
<Button size="sm" variant="flat">Cancel</Button>
|
|
30
|
+
|
|
31
|
+
<Button size="sm">Save</Button>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
</Card>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Borderless
|
|
38
|
+
|
|
39
|
+
```vue
|
|
40
|
+
<div class="grid gap-4 sm:grid-cols-2">
|
|
41
|
+
<Card title="With dividers (default)">
|
|
42
|
+
Default card with header and footer dividers.
|
|
43
|
+
|
|
44
|
+
<template #footer>
|
|
45
|
+
<div class="flex justify-end gap-2">
|
|
46
|
+
<Button size="sm" variant="flat">Cancel</Button>
|
|
47
|
+
|
|
48
|
+
<Button size="sm">Save</Button>
|
|
49
|
+
</div>
|
|
50
|
+
</template>
|
|
51
|
+
</Card>
|
|
52
|
+
|
|
53
|
+
<Card borderless title="Borderless">
|
|
54
|
+
Header and footer borders are removed.
|
|
55
|
+
|
|
56
|
+
<template #footer>
|
|
57
|
+
<Button size="sm" variant="flat">Cancel</Button>
|
|
58
|
+
|
|
59
|
+
<Button size="sm">Save</Button>
|
|
60
|
+
</template>
|
|
61
|
+
</Card>
|
|
62
|
+
</div>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Title
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<Card title="Via title prop">
|
|
69
|
+
Content rendered via the title prop.
|
|
70
|
+
</Card>
|
|
71
|
+
|
|
72
|
+
<Card>
|
|
73
|
+
<template #title>
|
|
74
|
+
<span class="text-primary-600">Custom title slot</span>
|
|
75
|
+
</template>
|
|
76
|
+
|
|
77
|
+
Content with a custom title slot.
|
|
78
|
+
</Card>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Action slot
|
|
82
|
+
|
|
83
|
+
```vue
|
|
84
|
+
<Card title="Card with actions">
|
|
85
|
+
<template #action>
|
|
86
|
+
<Button
|
|
87
|
+
size="sm"
|
|
88
|
+
variant="flat"
|
|
89
|
+
density="mini"
|
|
90
|
+
aria-label="More options"
|
|
91
|
+
>
|
|
92
|
+
<MoreHorizontal class="size-4" />
|
|
93
|
+
</Button>
|
|
94
|
+
</template>
|
|
95
|
+
|
|
96
|
+
Use the action slot for header controls.
|
|
97
|
+
</Card>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Footer slot
|
|
101
|
+
|
|
102
|
+
```vue
|
|
103
|
+
<Card title="Confirm changes">
|
|
104
|
+
Are you sure you want to proceed?
|
|
105
|
+
|
|
106
|
+
<template #footer>
|
|
107
|
+
<Button size="sm" variant="flat">Cancel</Button>
|
|
108
|
+
|
|
109
|
+
<Button size="sm" color="primary">Confirm</Button>
|
|
110
|
+
</template>
|
|
111
|
+
</Card>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Custom header slot
|
|
115
|
+
|
|
116
|
+
```vue
|
|
117
|
+
<Card>
|
|
118
|
+
<template #header>
|
|
119
|
+
<div
|
|
120
|
+
class="border-secondary-200 bg-primary-50 dark:border-secondary-600 dark:bg-primary-950/30 flex items-center gap-3 border-b px-4 py-3"
|
|
121
|
+
>
|
|
122
|
+
<div
|
|
123
|
+
class="bg-primary-500 flex size-10 items-center justify-center rounded-full text-sm font-semibold text-white"
|
|
124
|
+
>
|
|
125
|
+
JD
|
|
126
|
+
</div>
|
|
127
|
+
<div>
|
|
128
|
+
<p class="font-medium">Jane Doe</p>
|
|
129
|
+
<p class="text-secondary-500 text-sm">Custom header area</p>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
</template>
|
|
133
|
+
|
|
134
|
+
Replaces the default title row entirely.
|
|
135
|
+
</Card>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Full composition
|
|
139
|
+
|
|
140
|
+
```vue
|
|
141
|
+
<Card shadow="lg" rounded="2xl" title="Project settings">
|
|
142
|
+
<template #action>
|
|
143
|
+
<Button size="sm" variant="outline">Edit</Button>
|
|
144
|
+
</template>
|
|
145
|
+
|
|
146
|
+
Title, action, body, and footer together with elevated styling.
|
|
147
|
+
|
|
148
|
+
<template #footer>
|
|
149
|
+
<Button size="sm" color="error" variant="flat">Delete</Button>
|
|
150
|
+
|
|
151
|
+
<Button size="sm" color="primary">Save changes</Button>
|
|
152
|
+
</template>
|
|
153
|
+
</Card>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Partial layouts
|
|
157
|
+
|
|
158
|
+
```vue
|
|
159
|
+
<Card title="Title only (no body children)" />
|
|
160
|
+
|
|
161
|
+
<Card>Card with body content only.</Card>
|
|
162
|
+
|
|
163
|
+
<Card>
|
|
164
|
+
<template #footer>
|
|
165
|
+
<p class="text-secondary-500 text-sm">Footer only</p>
|
|
166
|
+
</template>
|
|
167
|
+
</Card>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Classes
|
|
171
|
+
|
|
172
|
+
```vue
|
|
173
|
+
<Card
|
|
174
|
+
title="Styled parts"
|
|
175
|
+
:classes="{
|
|
176
|
+
footer: 'bg-secondary-50',
|
|
177
|
+
body: 'text-secondary-600',
|
|
178
|
+
root: 'ring-2 ring-primary-200',
|
|
179
|
+
title: 'text-xl font-bold tracking-tight',
|
|
180
|
+
header: 'bg-primary-50 dark:bg-primary-950/20',
|
|
181
|
+
}"
|
|
182
|
+
>
|
|
183
|
+
Body text with custom classes applied.
|
|
184
|
+
|
|
185
|
+
<template #footer>
|
|
186
|
+
<span class="text-sm">Custom footer classes</span>
|
|
187
|
+
</template>
|
|
188
|
+
</Card>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### customProps
|
|
192
|
+
|
|
193
|
+
```vue
|
|
194
|
+
<Card
|
|
195
|
+
title="Forwarded part attributes"
|
|
196
|
+
:custom-props="{
|
|
197
|
+
title: { id: 'card-demo-title' },
|
|
198
|
+
root: { 'data-testid': 'card-root' },
|
|
199
|
+
header: { 'aria-label': 'Card header' },
|
|
200
|
+
footer: { 'data-testid': 'card-footer' },
|
|
201
|
+
body: { role: 'region', 'aria-labelledby': 'card-demo-title' },
|
|
202
|
+
}"
|
|
203
|
+
>
|
|
204
|
+
Card body with forwarded attributes on each part.
|
|
205
|
+
|
|
206
|
+
<template #footer>
|
|
207
|
+
<span>Inspect DOM for data attributes on each part.</span>
|
|
208
|
+
</template>
|
|
209
|
+
</Card>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Root HTML attributes
|
|
213
|
+
|
|
214
|
+
```vue
|
|
215
|
+
<Card
|
|
216
|
+
id="demo-card"
|
|
217
|
+
role="article"
|
|
218
|
+
class="max-w-md"
|
|
219
|
+
title="Root attrs"
|
|
220
|
+
aria-label="Demo card"
|
|
221
|
+
>
|
|
222
|
+
class and other root HTML props are merged onto the root element.
|
|
223
|
+
</Card>
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Combined
|
|
227
|
+
|
|
228
|
+
```vue
|
|
229
|
+
<Card
|
|
230
|
+
borderless
|
|
231
|
+
shadow="xl"
|
|
232
|
+
rounded="2xl"
|
|
233
|
+
padding="large"
|
|
234
|
+
variant="tonal"
|
|
235
|
+
title="Tonal card"
|
|
236
|
+
:classes="{ body: 'leading-relaxed' }"
|
|
237
|
+
>
|
|
238
|
+
Large padding, 2xl rounded, xl shadow (elevated only — here variant is
|
|
239
|
+
tonal so shadow is ignored), borderless, and custom body classes.
|
|
240
|
+
|
|
241
|
+
<template #action>
|
|
242
|
+
<Button size="sm" variant="flat">Options</Button>
|
|
243
|
+
</template>
|
|
244
|
+
|
|
245
|
+
<template #footer>
|
|
246
|
+
<Button full size="sm">Continue</Button>
|
|
247
|
+
</template>
|
|
248
|
+
</Card>
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### customProps
|
|
252
|
+
|
|
253
|
+
```vue
|
|
254
|
+
<Card
|
|
255
|
+
title="Forwarded part attributes"
|
|
256
|
+
:custom-props="{
|
|
257
|
+
title: { id: 'card-demo-title' },
|
|
258
|
+
root: { 'data-testid': 'card-root' },
|
|
259
|
+
header: { 'aria-label': 'Card header' },
|
|
260
|
+
footer: { 'data-testid': 'card-footer' },
|
|
261
|
+
body: { role: 'region', 'aria-labelledby': 'card-demo-title' },
|
|
262
|
+
}"
|
|
263
|
+
>
|
|
264
|
+
Card body with forwarded attributes on each part.
|
|
265
|
+
|
|
266
|
+
<template #footer>
|
|
267
|
+
<span>Inspect DOM for data attributes on each part.</span>
|
|
268
|
+
</template>
|
|
269
|
+
</Card>
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Props
|
|
273
|
+
|
|
274
|
+
| Prop | Type | Default | Description |
|
|
275
|
+
| ------------- | ----------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
276
|
+
| `borderless` | `boolean` | `false` | Removes header and footer borders. |
|
|
277
|
+
| `classes` | `CardClasses` | — | The classes to apply to the card. |
|
|
278
|
+
| `customProps` | `CardCustomProps` | — | Extra props for internal parts (`header`, `title`, `body`, `footer`, etc.). Root HTML attributes stay on the component top level. |
|
|
279
|
+
| `padding` | `CardPadding` | "medium" | Padding for header, body, and footer (horizontal alignment is shared). |
|
|
280
|
+
| `rounded` | `CardRounded` | "sm" | The roundedness of the card. |
|
|
281
|
+
| `shadow` | `CardShadow` | "sm" | Shadow size. Only applied when `variant` is `elevated`. |
|
|
282
|
+
| `title` | `string` | — | The title to apply to the card. |
|
|
283
|
+
| `variant` | `CardVariant` | "elevated" | Visual style of the card. |
|
|
284
|
+
|
|
285
|
+
## Related components
|
|
286
|
+
|
|
287
|
+
Modal, List
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Checkbox
|
|
2
|
+
|
|
3
|
+
Checkbox input with labels and form chrome. Extends FormControl props.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Checkbox } from "@bridge-ui/vue/Components/Checkbox";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<Checkbox
|
|
17
|
+
end-label="Accept terms"
|
|
18
|
+
description="Receive updates about your account."
|
|
19
|
+
/>
|
|
20
|
+
|
|
21
|
+
<Checkbox v-model="terms" end-label="Remember me" />
|
|
22
|
+
|
|
23
|
+
<Checkbox indeterminate end-label="Select all" />
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Required and error
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<Checkbox required end-label="Required field" />
|
|
30
|
+
|
|
31
|
+
<Checkbox
|
|
32
|
+
error
|
|
33
|
+
end-label="Invalid option"
|
|
34
|
+
error-message="You must accept to continue."
|
|
35
|
+
/>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### States
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<Checkbox disabled :model-value="true" end-label="Disabled" />
|
|
42
|
+
|
|
43
|
+
<Checkbox readonly :model-value="true" end-label="Read-only" />
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### customProps
|
|
47
|
+
|
|
48
|
+
```vue
|
|
49
|
+
<Checkbox
|
|
50
|
+
end-label="Accept terms"
|
|
51
|
+
:custom-props="{
|
|
52
|
+
icon: { 'aria-hidden': true },
|
|
53
|
+
input: { name: 'terms', value: 'yes' },
|
|
54
|
+
control: { 'data-testid': 'terms-control' },
|
|
55
|
+
}"
|
|
56
|
+
/>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Props
|
|
60
|
+
|
|
61
|
+
### Checkbox-specific
|
|
62
|
+
|
|
63
|
+
| Prop | Type | Default | Description |
|
|
64
|
+
| --------------- | --------------------- | --------- | ------------------------------------------------------------------------------------------ |
|
|
65
|
+
| `checked` | `boolean` | — | Whether the checkbox is checked. |
|
|
66
|
+
| `classes` | `CheckboxClasses` | — | Classes for the form control chrome and the checkbox control. |
|
|
67
|
+
| `color` | `CheckboxColor` | "primary" | The color to apply to the checkbox. |
|
|
68
|
+
| `customProps` | `CheckboxCustomProps` | — | Extra props for internal parts. |
|
|
69
|
+
| `indeterminate` | `boolean` | `false` | Whether the checkbox is in an indeterminate state. |
|
|
70
|
+
| `rounded` | `CheckboxRounded` | "sm" | The roundedness of the checkbox control. |
|
|
71
|
+
| `size` | `CheckboxSize` | "md" | Size of the control and of form control labels (`2xs` … `2xl`, same scale as `FormField`). |
|
|
72
|
+
| `slots` | `CheckboxSlots` | — | Chrome slots and the control slot. |
|
|
73
|
+
|
|
74
|
+
### v-model
|
|
75
|
+
|
|
76
|
+
| Prop / Event | Type | Default | Description |
|
|
77
|
+
| ------------------- | -------------------------- | ------- | ---------------------------------------------------------------------------- |
|
|
78
|
+
| `modelValue` | `boolean` | — | Bound with `v-model`. |
|
|
79
|
+
| `update:modelValue` | `(value: boolean) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
|
|
80
|
+
|
|
81
|
+
### Inherited from FormControl
|
|
82
|
+
|
|
83
|
+
See [FormControl](./FormControl.md).
|
|
84
|
+
|
|
85
|
+
## Related components
|
|
86
|
+
|
|
87
|
+
FormControl, Radio, Switch
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# DateField
|
|
2
|
+
|
|
3
|
+
Form field that opens a `DatePicker` in an overlay (`auto` by default: `menu` on desktop, bottom `drawer` on mobile). Extends FormField props.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { DateField } from "@bridge-ui/vue/Components/DateField";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<DateField label="Start date" />
|
|
17
|
+
|
|
18
|
+
<DateField
|
|
19
|
+
label="Birthday"
|
|
20
|
+
v-model="date"
|
|
21
|
+
description="Stored as a local calendar date."
|
|
22
|
+
/>
|
|
23
|
+
|
|
24
|
+
<DateField error label="Date" error-message="Pick a valid date." />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Range
|
|
28
|
+
|
|
29
|
+
```vue
|
|
30
|
+
<DateField range label="Trip" v-model="range" />
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Overlay
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<DateField label="Date" overlay="auto" />
|
|
37
|
+
|
|
38
|
+
<DateField label="Date" overlay="drawer" />
|
|
39
|
+
|
|
40
|
+
<DateField
|
|
41
|
+
label="Date"
|
|
42
|
+
overlay="modal"
|
|
43
|
+
:custom-props="{
|
|
44
|
+
modal: { size: 'sm', transition: 'none' },
|
|
45
|
+
}"
|
|
46
|
+
/>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Default `overlay` is `auto`: `menu` on desktop and bottom `drawer` on mobile.
|
|
50
|
+
When unset, `showFooter` defaults to `true` on mobile (`false` on desktop).
|
|
51
|
+
|
|
52
|
+
## Props
|
|
53
|
+
|
|
54
|
+
### DateField-specific
|
|
55
|
+
|
|
56
|
+
| Prop | Type | Default | Description |
|
|
57
|
+
| ----------------- | ---------------------- | ------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
58
|
+
| `classes` | `DateFieldClasses` | — | Classes for field / input regions. |
|
|
59
|
+
| `clearable` | `boolean` | `true` | Whether the value can be cleared. |
|
|
60
|
+
| `customProps` | `DateFieldCustomProps` | — | Extra props for internal parts (`input`, `menu`, `modal`, `drawer`, `datePicker`, …). |
|
|
61
|
+
| `defaultValue` | `DatePickerModel` | `null` | Uncontrolled initial value. |
|
|
62
|
+
| `defaultView` | `CalendarView` | `"date"` | Initial calendar panel view. |
|
|
63
|
+
| `disableDates` | `Date[]` | — | Dates that cannot be selected. |
|
|
64
|
+
| `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
|
|
65
|
+
| `disableYears` | `number[]` | — | Years that cannot be selected. |
|
|
66
|
+
| `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
|
|
67
|
+
| `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
|
|
68
|
+
| `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
|
|
69
|
+
| `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
|
|
70
|
+
| `maxDate` | `Date` | — | Latest selectable date. |
|
|
71
|
+
| `minDate` | `Date` | — | Earliest selectable date. |
|
|
72
|
+
| `multiple` | `boolean` | `false` | Allows selecting multiple dates. |
|
|
73
|
+
| `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
|
|
74
|
+
| `range` | `boolean` | `false` | Selects a date range. |
|
|
75
|
+
| `showFooter` | `boolean` | `false` (`true` on mobile when unset) | Shows Cancel / Apply on the nested picker. |
|
|
76
|
+
| `slots` | `DateFieldSlots` | — | Named slots (`FormField` slots + calendar `day`). |
|
|
77
|
+
| `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
|
|
78
|
+
| `timeZone` | `string` | — | IANA time zone. |
|
|
79
|
+
| `value` | `DatePickerModel` | — | Controlled value. |
|
|
80
|
+
|
|
81
|
+
### v-model
|
|
82
|
+
|
|
83
|
+
| Prop / Event | Type | Default | Description |
|
|
84
|
+
| ------------------- | ---------------------------------- | ------- | ------------------------------------- |
|
|
85
|
+
| `modelValue` | `DatePickerModel` | — | Bound with `v-model`. |
|
|
86
|
+
| `update:modelValue` | `(value: DatePickerModel) => void` | — | Emitted when `v-model` should update. |
|
|
87
|
+
|
|
88
|
+
### Inherited from FormField
|
|
89
|
+
|
|
90
|
+
See [FormField](./FormField.md).
|
|
91
|
+
|
|
92
|
+
## Events
|
|
93
|
+
|
|
94
|
+
| Event | Payload | Description |
|
|
95
|
+
| ------------- | -------------------------- | ----------------------------------------- |
|
|
96
|
+
| `v-on:change` | `(value: DatePickerModel)` | Emitted when the selection model changes. |
|
|
97
|
+
| `v-on:clear` | `()` | Emitted when the value is cleared. |
|
|
98
|
+
| `v-on:close` | `()` | Emitted when the menu closes. |
|
|
99
|
+
| `v-on:open` | `()` | Emitted when the menu opens. |
|
|
100
|
+
|
|
101
|
+
## Related components
|
|
102
|
+
|
|
103
|
+
DatePicker, FormField, DateRangeField
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# DatePicker
|
|
2
|
+
|
|
3
|
+
Inline calendar picker for a single date, multiple dates, or a range. Optional Cancel / Apply footer.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { DatePicker } from "@bridge-ui/vue/Components/DatePicker";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<DatePicker />
|
|
17
|
+
|
|
18
|
+
<DatePicker v-model="date" />
|
|
19
|
+
|
|
20
|
+
<DatePicker range show-footer v-model="range" @cancel="() => {}" />
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### customProps
|
|
24
|
+
|
|
25
|
+
```vue
|
|
26
|
+
<DatePicker
|
|
27
|
+
:custom-props="{
|
|
28
|
+
root: { 'data-testid': 'date-picker' },
|
|
29
|
+
applyButton: { type: 'button' },
|
|
30
|
+
}"
|
|
31
|
+
/>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Props
|
|
35
|
+
|
|
36
|
+
| Prop | Type | Default | Description |
|
|
37
|
+
| ----------------- | ----------------------- | ----------- | ----------------------------------------------------- |
|
|
38
|
+
| `classes` | `DatePickerClasses` | — | Classes for picker regions. |
|
|
39
|
+
| `color` | `CalendarColor` | `"primary"` | Accent color. |
|
|
40
|
+
| `customProps` | `DatePickerCustomProps` | — | Extra props for internal parts. |
|
|
41
|
+
| `defaultValue` | `DatePickerModel` | `null` | Uncontrolled initial value. |
|
|
42
|
+
| `defaultView` | `CalendarView` | `"date"` | Initial calendar panel view. |
|
|
43
|
+
| `disabled` | `boolean` | `false` | Disables the picker. |
|
|
44
|
+
| `disableDates` | `Date[]` | — | Dates that cannot be selected. |
|
|
45
|
+
| `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
|
|
46
|
+
| `disableYears` | `number[]` | — | Years that cannot be selected. |
|
|
47
|
+
| `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
|
|
48
|
+
| `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
|
|
49
|
+
| `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
|
|
50
|
+
| `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
|
|
51
|
+
| `maxDate` | `Date` | — | Latest selectable date. |
|
|
52
|
+
| `minDate` | `Date` | — | Earliest selectable date. |
|
|
53
|
+
| `multiple` | `boolean` | `false` | Allows selecting multiple dates. |
|
|
54
|
+
| `range` | `boolean` | `false` | Selects a date range. |
|
|
55
|
+
| `readOnly` | `boolean` | `false` | Prevents selection. |
|
|
56
|
+
| `rounded` | `CalendarRounded` | `"md"` | Border radius of calendar tiles and chrome. |
|
|
57
|
+
| `showFooter` | `boolean` | `false` | Shows Cancel / Apply. Selection is draft until Apply. |
|
|
58
|
+
| `slots` | `CalendarDateSlots` | — | Named slots forwarded to `Calendar` (`day`). |
|
|
59
|
+
| `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
|
|
60
|
+
| `timeZone` | `string` | — | IANA time zone. |
|
|
61
|
+
| `tokens` | `DatePickerTokens` | — | Token overrides. |
|
|
62
|
+
| `value` | `DatePickerModel` | — | Controlled value. |
|
|
63
|
+
|
|
64
|
+
### v-model
|
|
65
|
+
|
|
66
|
+
| Prop / Event | Type | Default | Description |
|
|
67
|
+
| ------------------- | ---------------------------------- | ------- | ------------------------------------- |
|
|
68
|
+
| `modelValue` | `DatePickerModel` | — | Bound with `v-model`. |
|
|
69
|
+
| `update:modelValue` | `(value: DatePickerModel) => void` | — | Emitted when `v-model` should update. |
|
|
70
|
+
|
|
71
|
+
## Events
|
|
72
|
+
|
|
73
|
+
| Event | Payload | Description |
|
|
74
|
+
| ------------- | -------------------------- | ----------------------------------------------------------------------- |
|
|
75
|
+
| `v-on:cancel` | `()` | Emitted when Cancel is pressed. |
|
|
76
|
+
| `v-on:change` | `(value: DatePickerModel)` | Emitted when Apply is pressed (`showFooter`) or when the value commits. |
|
|
77
|
+
|
|
78
|
+
## Related components
|
|
79
|
+
|
|
80
|
+
Calendar, DateField, DateRangePicker
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# DateRangeField
|
|
2
|
+
|
|
3
|
+
Form field that opens a `DateRangePicker` in an overlay (`auto` by default: `menu` on desktop, bottom `drawer` on mobile). Extends FormField props.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { DateRangeField } from "@bridge-ui/vue/Components/DateRangeField";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<DateRangeField label="Stay" />
|
|
17
|
+
|
|
18
|
+
<DateRangeField label="Trip" v-model="range" />
|
|
19
|
+
|
|
20
|
+
<DateRangeField error label="Dates" error-message="Select a valid range." />
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `auto`).
|
|
24
|
+
On mobile, `drawer` / `modal` overlays use vertical dual-calendar layout when
|
|
25
|
+
`orientation` is unset.
|
|
26
|
+
|
|
27
|
+
### customProps
|
|
28
|
+
|
|
29
|
+
```vue
|
|
30
|
+
<DateRangeField
|
|
31
|
+
label="Stay"
|
|
32
|
+
:custom-props="{
|
|
33
|
+
input: { name: 'stay' },
|
|
34
|
+
dateRangePicker: { root: { 'data-testid': 'range-picker' } },
|
|
35
|
+
}"
|
|
36
|
+
/>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Props
|
|
40
|
+
|
|
41
|
+
### DateRangeField-specific
|
|
42
|
+
|
|
43
|
+
| Prop | Type | Default | Description |
|
|
44
|
+
| ----------------- | ---------------------------- | ------------------------------------- | --------------------------------------------------------------------------------- |
|
|
45
|
+
| `classes` | `DateRangeFieldClasses` | — | Classes for field / input regions. |
|
|
46
|
+
| `clearable` | `boolean` | `true` | Whether the value can be cleared. |
|
|
47
|
+
| `customProps` | `DateRangeFieldCustomProps` | — | Extra props for internal parts. |
|
|
48
|
+
| `defaultValue` | `DateRangeValue \| null` | `null` | Uncontrolled initial value. |
|
|
49
|
+
| `disableDates` | `Date[]` | — | Dates that cannot be selected. |
|
|
50
|
+
| `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
|
|
51
|
+
| `disableYears` | `number[]` | — | Years that cannot be selected. |
|
|
52
|
+
| `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
|
|
53
|
+
| `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
|
|
54
|
+
| `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
|
|
55
|
+
| `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
|
|
56
|
+
| `maxDate` | `Date` | — | Latest selectable date. |
|
|
57
|
+
| `minDate` | `Date` | — | Earliest selectable date. |
|
|
58
|
+
| `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Dual calendar layout. Mobile `drawer` / `modal` default to `vertical` when unset. |
|
|
59
|
+
| `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
|
|
60
|
+
| `showFooter` | `boolean` | `false` (`true` on mobile when unset) | Shows Cancel / Apply on the nested picker. |
|
|
61
|
+
| `slots` | `DateRangeFieldSlots` | — | Named slots (`FormField` slots + calendar `day`). |
|
|
62
|
+
| `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
|
|
63
|
+
| `timeZone` | `string` | — | IANA time zone. |
|
|
64
|
+
| `value` | `DateRangeValue \| null` | — | Controlled value. |
|
|
65
|
+
|
|
66
|
+
### v-model
|
|
67
|
+
|
|
68
|
+
| Prop / Event | Type | Default | Description |
|
|
69
|
+
| ------------------- | ----------------------------------------- | ------- | ------------------------------------- |
|
|
70
|
+
| `modelValue` | `DateRangeValue \| null` | — | Bound with `v-model`. |
|
|
71
|
+
| `update:modelValue` | `(value: DateRangeValue \| null) => void` | — | Emitted when `v-model` should update. |
|
|
72
|
+
|
|
73
|
+
### Inherited from FormField
|
|
74
|
+
|
|
75
|
+
See [FormField](./FormField.md).
|
|
76
|
+
|
|
77
|
+
## Events
|
|
78
|
+
|
|
79
|
+
| Event | Payload | Description |
|
|
80
|
+
| ------------- | --------------------------------- | ---------------------------------- |
|
|
81
|
+
| `v-on:change` | `(value: DateRangeValue \| null)` | Emitted when the range changes. |
|
|
82
|
+
| `v-on:clear` | `()` | Emitted when the value is cleared. |
|
|
83
|
+
| `v-on:close` | `()` | Emitted when the menu closes. |
|
|
84
|
+
| `v-on:open` | `()` | Emitted when the menu opens. |
|
|
85
|
+
|
|
86
|
+
## Related components
|
|
87
|
+
|
|
88
|
+
DateRangePicker, FormField, DateField
|