@bridge-ui/vue 0.0.8 → 0.0.10
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/skills/bridge-ui-components/SKILL.md +27 -15
- package/ai/skills/bridge-ui-forms/SKILL.md +22 -14
- package/ai/skills/bridge-ui-setup/SKILL.md +9 -9
- 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/index.d.ts +1 -0
- package/dist/Adapters/index.js +4 -3
- package/dist/Components/Accordion/Accordion.js +5 -0
- package/dist/Components/Accordion/Accordion.vue.d.ts +26 -0
- package/dist/Components/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/Components/Accordion/accordion.types.d.ts +88 -0
- package/dist/Components/Accordion/accordionInjectionKey.d.ts +63 -0
- package/dist/Components/Accordion/accordionInjectionKey.js +4 -0
- package/dist/Components/Accordion/composables/useAccordion.d.ts +14 -0
- package/dist/Components/Accordion/composables/useAccordion.js +79 -0
- package/dist/Components/Accordion/index.d.ts +4 -0
- package/dist/Components/Accordion/index.js +4 -0
- package/dist/Components/AccordionItem/AccordionItem.js +5 -0
- package/dist/Components/AccordionItem/AccordionItem.vue.d.ts +11 -0
- package/dist/Components/AccordionItem/AccordionItem.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/Components/AccordionItem/accordionItem.types.d.ts +105 -0
- package/dist/Components/AccordionItem/composables/useAccordionItem.d.ts +41 -0
- package/dist/Components/AccordionItem/composables/useAccordionItem.js +123 -0
- package/dist/Components/AccordionItem/index.d.ts +3 -0
- package/dist/Components/AccordionItem/index.js +3 -0
- package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/Components/Alert/composables/useAlert.js +21 -9
- package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +2 -0
- package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +75 -64
- 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 +5 -0
- package/dist/Components/Autocomplete/composables/useAutocomplete.js +207 -179
- package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/Components/Avatar/composables/useAvatar.d.ts +0 -1
- package/dist/Components/Avatar/composables/useAvatar.js +31 -20
- package/dist/Components/Badge/Badge.vue.d.ts +11 -1
- package/dist/Components/Badge/Badge.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/Components/Badge/composables/useBadge.js +10 -1
- package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +31 -27
- package/dist/Components/BaseField/BaseFieldLabel.vue.d.ts +11 -1
- package/dist/Components/BaseField/BaseFieldLabel.vue_vue_type_script_setup_true_lang.js +11 -10
- package/dist/Components/BaseField/baseField.types.d.ts +5 -0
- package/dist/Components/BaseField/baseField.types.js +11 -0
- package/dist/Components/BaseField/composables/useBaseField.js +10 -7
- package/dist/Components/BaseField/index.d.ts +1 -0
- package/dist/Components/BaseField/index.js +4 -3
- package/dist/Components/Breadcrumb/Breadcrumb.js +5 -0
- package/dist/Components/Breadcrumb/Breadcrumb.vue.d.ts +13 -0
- package/dist/Components/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/Components/Breadcrumb/breadcrumb.types.d.ts +101 -0
- package/dist/Components/Breadcrumb/breadcrumbInjectionKey.d.ts +35 -0
- package/dist/Components/Breadcrumb/breadcrumbInjectionKey.js +4 -0
- package/dist/Components/Breadcrumb/composables/useBreadcrumb.d.ts +20 -0
- package/dist/Components/Breadcrumb/composables/useBreadcrumb.js +69 -0
- package/dist/Components/Breadcrumb/index.d.ts +4 -0
- package/dist/Components/Breadcrumb/index.js +4 -0
- package/dist/Components/BreadcrumbItem/BreadcrumbItem.js +5 -0
- package/dist/Components/BreadcrumbItem/BreadcrumbItem.vue.d.ts +14 -0
- package/dist/Components/BreadcrumbItem/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/Components/BreadcrumbItem/breadcrumbItem.types.d.ts +140 -0
- package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.d.ts +38 -0
- package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.js +87 -0
- package/dist/Components/BreadcrumbItem/index.d.ts +3 -0
- package/dist/Components/BreadcrumbItem/index.js +3 -0
- package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +17 -17
- 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 +10 -10
- package/dist/Components/Card/composables/useCard.d.ts +0 -1
- package/dist/Components/Card/composables/useCard.js +64 -55
- package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +31 -26
- package/dist/Components/Checkbox/composables/useCheckbox.js +10 -1
- package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +10 -10
- 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 +163 -0
- package/dist/Components/DateField/composables/useDateField.d.ts +735 -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 +157 -0
- package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +733 -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 +146 -0
- package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +734 -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 +146 -0
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +736 -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 +6 -6
- package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +19 -20
- 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.d.ts +2 -4
- package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +37 -23
- package/dist/Components/FormControl/FormControlLabel.vue.d.ts +11 -1
- package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +11 -10
- package/dist/Components/FormControl/composables/useFormControl.js +1 -1
- package/dist/Components/FormControl/formControl.types.d.ts +4 -0
- package/dist/Components/FormControl/formControl.types.js +9 -0
- package/dist/Components/FormControl/index.d.ts +1 -0
- package/dist/Components/FormControl/index.js +3 -2
- package/dist/Components/FormField/FilledFormField.vue.d.ts +14 -2
- package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +24 -19
- package/dist/Components/FormField/FormField.vue_vue_type_script_setup_true_lang.js +32 -27
- package/dist/Components/FormField/FormFieldLabel.vue.d.ts +11 -1
- package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +11 -10
- package/dist/Components/FormField/NotchedFormField.vue.d.ts +14 -2
- package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +23 -18
- package/dist/Components/FormField/OutlinedFormField.vue.d.ts +14 -2
- package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +24 -19
- package/dist/Components/FormField/StackedFormField.vue.d.ts +14 -2
- package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +26 -21
- package/dist/Components/FormField/UnderlinedFormField.vue.d.ts +14 -2
- package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +24 -19
- package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
- package/dist/Components/FormField/composables/useFormField.js +19 -7
- package/dist/Components/FormField/formField.types.d.ts +5 -0
- package/dist/Components/FormField/formField.types.js +11 -0
- package/dist/Components/FormField/index.d.ts +1 -0
- package/dist/Components/FormField/index.js +3 -2
- 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.d.ts +11 -1
- package/dist/Components/Label/Label.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/Components/Label/composables/useLabel.js +5 -2
- package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +23 -23
- package/dist/Components/Link/composables/useLink.js +10 -1
- package/dist/Components/List/List.vue.d.ts +11 -1
- package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/Components/List/composables/useList.js +4 -4
- package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/Components/ListItem/composables/useListItem.d.ts +1 -3
- package/dist/Components/ListItem/composables/useListItem.js +47 -55
- package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +10 -9
- package/dist/Components/ListSection/composables/useListSection.d.ts +1 -3
- package/dist/Components/ListSection/composables/useListSection.js +29 -31
- package/dist/Components/Listbox/Listbox.vue.d.ts +9 -4
- package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +103 -82
- package/dist/Components/Listbox/composables/useListbox.d.ts +8 -1
- package/dist/Components/Listbox/composables/useListbox.js +59 -37
- package/dist/Components/Listbox/listbox.types.d.ts +68 -4
- package/dist/Components/Menu/Menu.vue.d.ts +4 -4
- package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +19 -19
- 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 +6 -6
- package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +19 -20
- 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_vue_type_script_setup_true_lang.js +48 -43
- package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +27 -22
- package/dist/Components/OtpField/composables/useOtpField.js +33 -21
- package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +34 -29
- 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 +26 -21
- package/dist/Components/Radio/composables/useRadio.js +10 -1
- package/dist/Components/Select/Select.vue.d.ts +2 -0
- package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +73 -62
- package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Select/composables/useSelect.d.ts +5 -0
- package/dist/Components/Select/composables/useSelect.js +220 -192
- 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.vue_vue_type_script_setup_true_lang.js +54 -49
- package/dist/Components/Slider/composables/useSlider.d.ts +4 -1
- package/dist/Components/Slider/composables/useSlider.js +192 -187
- package/dist/Components/Slider/slider.types.d.ts +8 -0
- 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 +28 -23
- package/dist/Components/Switch/composables/useSwitch.js +10 -1
- package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +16 -16
- 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 +7 -8
- package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +31 -28
- package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +21 -16
- package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +25 -20
- package/dist/Components/Textarea/composables/useTextarea.js +4 -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 +139 -0
- package/dist/Components/TimeField/composables/useTimeField.d.ts +743 -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 +139 -0
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +735 -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 +18 -18
- 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 +1 -1
- package/dist/Utils/index.js +2 -2
- package/dist/Utils/slotOrProp.d.ts +20 -11
- package/dist/Utils/slotOrProp.js +21 -17
- package/dist/Utils/useBreakpoint.d.ts +0 -4
- package/dist/index.d.ts +47 -0
- package/dist/index.js +136 -88
- package/dist/theme.css +8 -8
- package/docs/README.md +20 -1
- package/docs/components/Accordion.md +104 -0
- package/docs/components/Autocomplete.md +44 -30
- package/docs/components/Breadcrumb.md +74 -0
- package/docs/components/BridgeUIProvider.md +22 -5
- 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/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/FieldOverlay.md +91 -0
- package/docs/components/Select.md +43 -29
- 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/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/icon-fontawesome.ts +8 -0
- package/docs/examples/icon-heroicons.ts +8 -0
- package/docs/examples/icon-lucide.ts +8 -0
- package/docs/examples/icon-phosphor.ts +8 -0
- package/docs/examples/icon-tabler.ts +8 -0
- package/package.json +18 -12
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { useDateAdapter as e, useDateAdapterContext as t } from "../../../Adapters/Date/useDateAdapter.js";
|
|
2
|
+
import { hasNamedSlot as n } from "../../../Utils/slotOrProp.js";
|
|
3
|
+
import { useBreakpoint as r } from "../../../Utils/useBreakpoint.js";
|
|
4
|
+
import { mergePartBind as i, resolveFieldAdornmentIconSize as a } from "../../../Utils/index.js";
|
|
5
|
+
import { formFieldBridgeKeys as o, useFormField as s } from "../../FormField/composables/useFormField.js";
|
|
6
|
+
import { computed as c, ref as l, useAttrs as u, useSlots as d } from "vue";
|
|
7
|
+
import { cn as f, isFieldOverlayDialog as p, resolveFieldOverlay as m, resolveFieldShowFooter as h, splitComponentProps as g } from "@bridge-ui/core";
|
|
8
|
+
import { get as _, isNil as v, omit as y } from "es-toolkit/compat";
|
|
9
|
+
import { colorProps as b } from "@bridge-ui/core/Tokens/Listbox";
|
|
10
|
+
//#region src/Components/TimeField/composables/useTimeField.ts
|
|
11
|
+
var x = [
|
|
12
|
+
"ampm",
|
|
13
|
+
"classes",
|
|
14
|
+
"maxTime",
|
|
15
|
+
"minTime",
|
|
16
|
+
"overlay",
|
|
17
|
+
"interval",
|
|
18
|
+
"timeZone",
|
|
19
|
+
"clearable",
|
|
20
|
+
"showFooter",
|
|
21
|
+
"customProps",
|
|
22
|
+
"showSeconds",
|
|
23
|
+
"defaultValue",
|
|
24
|
+
"disableTimes"
|
|
25
|
+
];
|
|
26
|
+
function S(e, t, n, r, i) {
|
|
27
|
+
return v(e) ? "" : t.formatTime(e, n, {
|
|
28
|
+
ampm: r,
|
|
29
|
+
showSeconds: i
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function C(C, w, T) {
|
|
33
|
+
let E = u(), D = d(), O = e(), k = r(), A = t(), j = l(!1), M = l(null), N = c(() => g({
|
|
34
|
+
props: {
|
|
35
|
+
...E,
|
|
36
|
+
...C
|
|
37
|
+
},
|
|
38
|
+
bridgeKeys: x
|
|
39
|
+
})), P = c(() => N.value.componentProps), F = c(() => A(P.value.timeZone)), I = c(() => w.value ?? null), L = c(() => P.value.clearable !== !1), R = c(() => !v(I.value)), z = c(() => m(P.value.overlay, k.mobile)), B = c(() => p(z.value) ? "w-full shadow-none" : void 0), ee = (e) => {
|
|
40
|
+
M.value = e instanceof HTMLElement ? e : null;
|
|
41
|
+
};
|
|
42
|
+
function V(e) {
|
|
43
|
+
j.value = e, T(e ? "open" : "close");
|
|
44
|
+
}
|
|
45
|
+
let H = c(() => y(N.value.inheritedAttrs, ["class"])), U = c(() => {
|
|
46
|
+
let e = g({
|
|
47
|
+
bridgeKeys: o,
|
|
48
|
+
props: H.value
|
|
49
|
+
}).componentProps, t = e.endIcon ?? (n(D, "end") ? void 0 : "clock"), { menu: r, clearIcon: a, timePicker: s, ...c } = P.value.customProps ?? {};
|
|
50
|
+
return {
|
|
51
|
+
...e,
|
|
52
|
+
endIcon: t,
|
|
53
|
+
classes: P.value.classes,
|
|
54
|
+
customProps: {
|
|
55
|
+
...c,
|
|
56
|
+
container: i(c.container, {}, {
|
|
57
|
+
ref: ee,
|
|
58
|
+
class: f({ "cursor-pointer": !C.disabled && !C.readonly }),
|
|
59
|
+
onClick: (e) => {
|
|
60
|
+
C.disabled || C.readonly || e.target.closest("[data-field-clear]") || V(!0);
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}), W = s(() => U.value, {
|
|
66
|
+
size: "md",
|
|
67
|
+
rounded: "md",
|
|
68
|
+
color: "primary",
|
|
69
|
+
variant: "outline",
|
|
70
|
+
showErrorIcon: !0
|
|
71
|
+
}, { componentName: "TimeField" }), G = c(() => R.value && L.value && !C.readonly && !W.isDisabled.value), K = c(() => S(I.value, O.value, F.value, P.value.ampm, P.value.showSeconds));
|
|
72
|
+
function q(e) {
|
|
73
|
+
w.value = e, T("change", e);
|
|
74
|
+
}
|
|
75
|
+
let J = c(() => h(P.value.showFooter, k.mobile));
|
|
76
|
+
function Y(e) {
|
|
77
|
+
q(e), V(!1);
|
|
78
|
+
}
|
|
79
|
+
function X() {
|
|
80
|
+
V(!1);
|
|
81
|
+
}
|
|
82
|
+
function Z(e) {
|
|
83
|
+
e?.preventDefault(), e?.stopPropagation(), !(C.disabled || C.readonly) && (q(null), T("clear"), V(!1));
|
|
84
|
+
}
|
|
85
|
+
function Q(e) {
|
|
86
|
+
e.preventDefault();
|
|
87
|
+
}
|
|
88
|
+
let $ = c(() => i({
|
|
89
|
+
readonly: !0,
|
|
90
|
+
value: K.value,
|
|
91
|
+
onFocus: (e) => {
|
|
92
|
+
W.inputBind.value.onFocus?.(e), V(!0);
|
|
93
|
+
},
|
|
94
|
+
onKeydown: (e) => {
|
|
95
|
+
W.inputBind.value.onKeydown?.(e), e.key === "Escape" && V(!1);
|
|
96
|
+
}
|
|
97
|
+
}, void 0, W.inputBind.value)), te = c(() => P.value.overlay), ne = c(() => {
|
|
98
|
+
let e = P.value.customProps?.menu;
|
|
99
|
+
return {
|
|
100
|
+
modal: P.value.customProps?.modal,
|
|
101
|
+
drawer: P.value.customProps?.drawer,
|
|
102
|
+
menu: {
|
|
103
|
+
anchorEl: M.value,
|
|
104
|
+
placement: "bottom-start",
|
|
105
|
+
...e,
|
|
106
|
+
classes: {
|
|
107
|
+
...e?.classes,
|
|
108
|
+
content: f("min-w-0", e?.classes?.content)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}), re = c(() => P.value.customProps?.timePicker), ie = c(() => a(W.merged.value.size)), ae = c(() => _(b, [W.merged.value.color ?? "primary", "clear"]) ?? "text-dark-400 hover:text-dark-600 dark:text-dark-500 dark:hover:text-dark-300");
|
|
113
|
+
return {
|
|
114
|
+
open: j,
|
|
115
|
+
overlay: te,
|
|
116
|
+
hasValue: R,
|
|
117
|
+
timeOnly: P,
|
|
118
|
+
formField: W,
|
|
119
|
+
inputBind: $,
|
|
120
|
+
clearable: L,
|
|
121
|
+
clearBind: c(() => i({}, {}, {
|
|
122
|
+
tabindex: 0,
|
|
123
|
+
role: "button",
|
|
124
|
+
"data-field-clear": !0,
|
|
125
|
+
onMousedown: Q,
|
|
126
|
+
class: f({
|
|
127
|
+
"inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm transition-colors duration-150": !0,
|
|
128
|
+
[ae.value]: !0,
|
|
129
|
+
[P.value.classes?.clear ?? ""]: !0
|
|
130
|
+
})
|
|
131
|
+
})),
|
|
132
|
+
clearValue: Z,
|
|
133
|
+
modelValue: I,
|
|
134
|
+
showFooter: J,
|
|
135
|
+
pickerClass: B,
|
|
136
|
+
containerRef: M,
|
|
137
|
+
clearIconSize: ie,
|
|
138
|
+
showClearIcon: G,
|
|
139
|
+
handleOpenChange: V,
|
|
140
|
+
handlePickerChange: Y,
|
|
141
|
+
handlePickerCancel: X,
|
|
142
|
+
overlayCustomProps: ne,
|
|
143
|
+
timePickerCustomProps: re
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
export { C as useTimeField };
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'vue';
|
|
2
|
+
import { DisableTimesInput, FieldOverlayMode, MergeHtmlProps, TimeValue } from '@bridge-ui/core';
|
|
3
|
+
import { DrawerOwnProps } from '../Drawer/drawer.types';
|
|
4
|
+
import { FormFieldClasses, FormFieldCustomProps, FormFieldOwnProps, FormFieldSlots } from '../FormField/formField.types';
|
|
5
|
+
import { IconProps } from '../Icon';
|
|
6
|
+
import { MenuOwnProps } from '../Menu/menu.types';
|
|
7
|
+
import { ModalOwnProps } from '../Modal/modal.types';
|
|
8
|
+
import { TimePickerCustomProps } from '../TimePicker/timePicker.types';
|
|
9
|
+
export interface TimeFieldClasses extends FormFieldClasses {
|
|
10
|
+
/**
|
|
11
|
+
* Classes merged onto the clear control.
|
|
12
|
+
*/
|
|
13
|
+
clear?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TimeFieldCustomProps extends FormFieldCustomProps {
|
|
16
|
+
/**
|
|
17
|
+
* Props forwarded to the clear `Icon` (`icon` is set by `TimeField`).
|
|
18
|
+
*
|
|
19
|
+
* @default undefined
|
|
20
|
+
*/
|
|
21
|
+
clearIcon?: Partial<Omit<IconProps, "icon">>;
|
|
22
|
+
/**
|
|
23
|
+
* Props forwarded to the nested `Drawer` when overlay resolves to drawer.
|
|
24
|
+
*
|
|
25
|
+
* @default undefined
|
|
26
|
+
*/
|
|
27
|
+
drawer?: Partial<DrawerOwnProps>;
|
|
28
|
+
/**
|
|
29
|
+
* Props forwarded to the floating `Menu` when overlay resolves to menu.
|
|
30
|
+
*
|
|
31
|
+
* @default undefined
|
|
32
|
+
*/
|
|
33
|
+
menu?: Partial<MenuOwnProps>;
|
|
34
|
+
/**
|
|
35
|
+
* Props forwarded to the nested `Modal` when overlay resolves to modal.
|
|
36
|
+
*
|
|
37
|
+
* @default undefined
|
|
38
|
+
*/
|
|
39
|
+
modal?: Partial<ModalOwnProps>;
|
|
40
|
+
/**
|
|
41
|
+
* Props forwarded to the nested `TimePicker`.
|
|
42
|
+
*
|
|
43
|
+
* @default undefined
|
|
44
|
+
*/
|
|
45
|
+
timePicker?: TimePickerCustomProps;
|
|
46
|
+
}
|
|
47
|
+
export interface TimeFieldEmits {
|
|
48
|
+
/**
|
|
49
|
+
* Emitted when the selected time changes.
|
|
50
|
+
*/
|
|
51
|
+
change: [value: null | TimeValue];
|
|
52
|
+
/**
|
|
53
|
+
* Emitted when the value is cleared.
|
|
54
|
+
*/
|
|
55
|
+
clear: [];
|
|
56
|
+
/**
|
|
57
|
+
* Emitted when the menu closes.
|
|
58
|
+
*/
|
|
59
|
+
close: [];
|
|
60
|
+
/**
|
|
61
|
+
* Emitted when the menu opens.
|
|
62
|
+
*/
|
|
63
|
+
open: [];
|
|
64
|
+
}
|
|
65
|
+
export interface TimeFieldOwnProps extends Omit<FormFieldOwnProps, "field" | "classes" | "customProps"> {
|
|
66
|
+
/**
|
|
67
|
+
* Uses a 12-hour clock with an AM/PM column.
|
|
68
|
+
*
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
ampm?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Classes for field / input regions.
|
|
74
|
+
*
|
|
75
|
+
* @default undefined
|
|
76
|
+
*/
|
|
77
|
+
classes?: TimeFieldClasses;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the value can be cleared.
|
|
80
|
+
*
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
clearable?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Extra props for internal parts.
|
|
86
|
+
*
|
|
87
|
+
* @default undefined
|
|
88
|
+
*/
|
|
89
|
+
customProps?: TimeFieldCustomProps;
|
|
90
|
+
/**
|
|
91
|
+
* Uncontrolled initial value.
|
|
92
|
+
*
|
|
93
|
+
* @default null
|
|
94
|
+
*/
|
|
95
|
+
defaultValue?: null | TimeValue;
|
|
96
|
+
/**
|
|
97
|
+
* Times that cannot be selected.
|
|
98
|
+
*
|
|
99
|
+
* @default undefined
|
|
100
|
+
*/
|
|
101
|
+
disableTimes?: DisableTimesInput;
|
|
102
|
+
/**
|
|
103
|
+
* Minute step between options.
|
|
104
|
+
*
|
|
105
|
+
* @default 1
|
|
106
|
+
*/
|
|
107
|
+
interval?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Latest selectable time.
|
|
110
|
+
*
|
|
111
|
+
* @default undefined
|
|
112
|
+
*/
|
|
113
|
+
maxTime?: Date;
|
|
114
|
+
/**
|
|
115
|
+
* Earliest selectable time.
|
|
116
|
+
*
|
|
117
|
+
* @default undefined
|
|
118
|
+
*/
|
|
119
|
+
minTime?: Date;
|
|
120
|
+
/**
|
|
121
|
+
* Which overlay shell opens the picker. `auto` uses `menu` on desktop and
|
|
122
|
+
* `drawer` (bottom) on mobile.
|
|
123
|
+
*
|
|
124
|
+
* @default "auto"
|
|
125
|
+
*/
|
|
126
|
+
overlay?: FieldOverlayMode;
|
|
127
|
+
/**
|
|
128
|
+
* Shows Cancel / Apply on the nested picker. When unset, defaults to `true`
|
|
129
|
+
* on mobile.
|
|
130
|
+
*
|
|
131
|
+
* @default false
|
|
132
|
+
*/
|
|
133
|
+
showFooter?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Shows seconds in the panel and formatted value.
|
|
136
|
+
*
|
|
137
|
+
* @default false
|
|
138
|
+
*/
|
|
139
|
+
showSeconds?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* IANA time zone.
|
|
142
|
+
*
|
|
143
|
+
* @default undefined
|
|
144
|
+
*/
|
|
145
|
+
timeZone?: string;
|
|
146
|
+
}
|
|
147
|
+
export interface TimeFieldSlots extends FormFieldSlots {}
|
|
148
|
+
export type TimeFieldProps = MergeHtmlProps<TimeFieldOwnProps, InputHTMLAttributes> & {
|
|
149
|
+
/**
|
|
150
|
+
* Bound with `v-model` on the component (`defineModel` internally).
|
|
151
|
+
*
|
|
152
|
+
* @default undefined
|
|
153
|
+
*/
|
|
154
|
+
modelValue?: null | TimeValue;
|
|
155
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TimePanelOwnProps } from './timePanel.types';
|
|
2
|
+
declare const __VLS_export: import('vue').DefineComponent<TimePanelOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
3
|
+
change: (value: Date | null) => any;
|
|
4
|
+
}, string, import('vue').PublicProps, Readonly<TimePanelOwnProps> & Readonly<{
|
|
5
|
+
onChange?: ((value: Date | null) => any) | undefined;
|
|
6
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useTimePanel as e } from "./composables/useTimePanel.js";
|
|
2
|
+
import { Fragment as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, guardReactiveProps as o, mergeProps as s, nextTick as c, normalizeProps as l, onBeforeUnmount as u, onMounted as d, openBlock as f, ref as p, renderList as m, toDisplayString as h, unref as g, watch as _ } from "vue";
|
|
3
|
+
import { observeTimePanelSelectedScroll as v } from "@bridge-ui/core";
|
|
4
|
+
//#region src/Components/TimePanel/TimePanel.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var y = /*@__PURE__*/ a({
|
|
6
|
+
inheritAttrs: !1,
|
|
7
|
+
__name: "TimePanel",
|
|
8
|
+
props: {
|
|
9
|
+
ampm: { type: Boolean },
|
|
10
|
+
classes: {},
|
|
11
|
+
color: {},
|
|
12
|
+
customProps: {},
|
|
13
|
+
disabled: { type: Boolean },
|
|
14
|
+
disableTimes: {},
|
|
15
|
+
interval: {},
|
|
16
|
+
maxTime: {},
|
|
17
|
+
minTime: {},
|
|
18
|
+
readOnly: { type: Boolean },
|
|
19
|
+
rounded: {},
|
|
20
|
+
showSeconds: { type: Boolean },
|
|
21
|
+
timeZone: {},
|
|
22
|
+
tokens: {},
|
|
23
|
+
value: {}
|
|
24
|
+
},
|
|
25
|
+
emits: ["change"],
|
|
26
|
+
setup(a, { emit: y }) {
|
|
27
|
+
let b = y, x = p(null), { rootBind: S, hourItems: C, columnBind: w, getHourBind: T, minuteItems: E, secondItems: D, showSeconds: O, showMeridiem: k, getMinuteBind: A, getSecondBind: j, meridiemItems: M, getMeridiemBind: N } = e(a, {
|
|
28
|
+
ampm: !1,
|
|
29
|
+
interval: 1,
|
|
30
|
+
rounded: "md",
|
|
31
|
+
color: "primary",
|
|
32
|
+
showSeconds: !1
|
|
33
|
+
}, b), P = null;
|
|
34
|
+
function F() {
|
|
35
|
+
P?.(), P = null;
|
|
36
|
+
let e = x.value;
|
|
37
|
+
e && (P = v(e));
|
|
38
|
+
}
|
|
39
|
+
return d(() => {
|
|
40
|
+
c(F);
|
|
41
|
+
}), u(() => {
|
|
42
|
+
P?.(), P = null;
|
|
43
|
+
}), _(() => [
|
|
44
|
+
C.value,
|
|
45
|
+
E.value,
|
|
46
|
+
D.value,
|
|
47
|
+
M.value
|
|
48
|
+
], () => {
|
|
49
|
+
c(F);
|
|
50
|
+
}), (e, a) => (f(), r("div", s({
|
|
51
|
+
ref_key: "rootRef",
|
|
52
|
+
ref: x
|
|
53
|
+
}, g(S)), [
|
|
54
|
+
i("div", l(o(g(w))), [(f(!0), r(t, null, m(g(C), (e) => (f(), r("button", s({ key: `hour-${e.value}` }, { ref_for: !0 }, g(T)(e)), h(e.label), 17))), 128))], 16),
|
|
55
|
+
i("div", l(o(g(w))), [(f(!0), r(t, null, m(g(E), (e) => (f(), r("button", s({ key: `minute-${e.value}` }, { ref_for: !0 }, g(A)(e)), h(e.label), 17))), 128))], 16),
|
|
56
|
+
g(O) ? (f(), r("div", l(s({ key: 0 }, g(w))), [(f(!0), r(t, null, m(g(D), (e) => (f(), r("button", s({ key: `second-${e.value}` }, { ref_for: !0 }, g(j)(e)), h(e.label), 17))), 128))], 16)) : n("", !0),
|
|
57
|
+
g(k) ? (f(), r("div", l(s({ key: 1 }, g(w))), [(f(!0), r(t, null, m(g(M), (e) => (f(), r("button", s({ key: `meridiem-${e.value}` }, { ref_for: !0 }, g(N)(e)), h(e.label), 17))), 128))], 16)) : n("", !0)
|
|
58
|
+
], 16));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { y as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { resolveCalendarDayInteractionState, LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core';
|
|
3
|
+
import { TimePanelOwnProps } from '../timePanel.types';
|
|
4
|
+
type TimePanelLibDefaults = LibDefaultsShape<TimePanelOwnProps, "ampm" | "color" | "rounded" | "interval" | "showSeconds">;
|
|
5
|
+
type TimePanelMerged = MergeLibDefaults<TimePanelOwnProps, TimePanelLibDefaults>;
|
|
6
|
+
/**
|
|
7
|
+
* Minimum outer width of one TimePanel scroll column (`w-12` tiles + scrollbar).
|
|
8
|
+
* Keep DateTime width sizers in sync with this class.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TIME_PANEL_COLUMN_WIDTH_CLASS = "w-[3.75rem]";
|
|
11
|
+
export declare const TIME_PANEL_COLUMN_MIN_WIDTH_CLASS = "min-w-[3.75rem]";
|
|
12
|
+
export type TimePanelItem = {
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
label: string;
|
|
15
|
+
selected: boolean;
|
|
16
|
+
state: ReturnType<typeof resolveCalendarDayInteractionState>;
|
|
17
|
+
value: "AM" | "PM" | number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Builds hour / minute / second / AM-PM columns and tile binds for `TimePanel`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useTimePanel(props: MaybeRefOrGetter<TimePanelOwnProps>, libDefaults: TimePanelLibDefaults, emit: (event: "change", value: Date | null) => void): {
|
|
23
|
+
merged: import('vue').ComputedRef<TimePanelMerged>;
|
|
24
|
+
rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<TimePanelOwnProps, "color" | "value" | "classes" | "tokens" | "customProps" | "rounded" | "disabled" | "readOnly" | "timeZone" | "ampm" | "disableTimes" | "interval" | "maxTime" | "minTime" | "showSeconds">>>>;
|
|
25
|
+
hourItems: import('vue').ComputedRef<TimePanelItem[]>;
|
|
26
|
+
columnBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
|
|
27
|
+
getHourBind: (item: TimePanelItem) => import('@bridge-ui/core').MergePartBind<object, "class", import('vue').ButtonHTMLAttributes | undefined, {
|
|
28
|
+
type: "button";
|
|
29
|
+
disabled: boolean;
|
|
30
|
+
"aria-pressed": boolean;
|
|
31
|
+
onClick: () => void;
|
|
32
|
+
}>;
|
|
33
|
+
minuteItems: import('vue').ComputedRef<TimePanelItem[]>;
|
|
34
|
+
secondItems: import('vue').ComputedRef<TimePanelItem[]>;
|
|
35
|
+
displayDate: import('vue').ComputedRef<Date>;
|
|
36
|
+
showSeconds: import('vue').ComputedRef<boolean>;
|
|
37
|
+
showMeridiem: import('vue').ComputedRef<boolean>;
|
|
38
|
+
getMinuteBind: (item: TimePanelItem) => import('@bridge-ui/core').MergePartBind<object, "class", import('vue').ButtonHTMLAttributes | undefined, {
|
|
39
|
+
type: "button";
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
"aria-pressed": boolean;
|
|
42
|
+
onClick: () => void;
|
|
43
|
+
}>;
|
|
44
|
+
getSecondBind: (item: TimePanelItem) => import('@bridge-ui/core').MergePartBind<object, "class", import('vue').ButtonHTMLAttributes | undefined, {
|
|
45
|
+
type: "button";
|
|
46
|
+
disabled: boolean;
|
|
47
|
+
"aria-pressed": boolean;
|
|
48
|
+
onClick: () => void;
|
|
49
|
+
}>;
|
|
50
|
+
meridiemItems: import('vue').ComputedRef<TimePanelItem[]>;
|
|
51
|
+
getMeridiemBind: (item: TimePanelItem) => import('@bridge-ui/core').MergePartBind<object, "class", import('vue').ButtonHTMLAttributes | undefined, {
|
|
52
|
+
type: "button";
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
"aria-pressed": boolean;
|
|
55
|
+
onClick: () => void;
|
|
56
|
+
}>;
|
|
57
|
+
};
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { useDateAdapter as e, useDateAdapterContext as t } from "../../../Adapters/Date/useDateAdapter.js";
|
|
2
|
+
import { mergePartBind as n, useBridgeUIComponent as r, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
|
|
3
|
+
import { computed as a, toValue as o, useAttrs as s } from "vue";
|
|
4
|
+
import { buildHourOptions as c, buildMinuteOptions as l, buildSecondOptions as u, cn as d, isTimeDisabled as f, mergeBridgeUILayeredClasses as p, resolveCalendarDayInteractionState as m, snapMinutes as ee, splitComponentProps as h, to12Hour as g, to24Hour as _, toMeridiem as v } from "@bridge-ui/core";
|
|
5
|
+
import { get as y, omit as b } from "es-toolkit/compat";
|
|
6
|
+
import { colorProps as x, roundedProps as S } from "@bridge-ui/core/Tokens/Time";
|
|
7
|
+
//#region src/Components/TimePanel/composables/useTimePanel.ts
|
|
8
|
+
var C = [
|
|
9
|
+
"ampm",
|
|
10
|
+
"color",
|
|
11
|
+
"value",
|
|
12
|
+
"tokens",
|
|
13
|
+
"classes",
|
|
14
|
+
"maxTime",
|
|
15
|
+
"minTime",
|
|
16
|
+
"rounded",
|
|
17
|
+
"disabled",
|
|
18
|
+
"interval",
|
|
19
|
+
"readOnly",
|
|
20
|
+
"timeZone",
|
|
21
|
+
"customProps",
|
|
22
|
+
"showSeconds",
|
|
23
|
+
"disableTimes"
|
|
24
|
+
], w = "w-[3.75rem]", T = "min-w-[3.75rem]";
|
|
25
|
+
function E(w, E, D) {
|
|
26
|
+
let O = s(), k = e(), A = t(), j = a(() => h({
|
|
27
|
+
bridgeKeys: C,
|
|
28
|
+
props: {
|
|
29
|
+
...O,
|
|
30
|
+
...o(w)
|
|
31
|
+
}
|
|
32
|
+
})), { merged: M } = r({
|
|
33
|
+
libDefaults: E,
|
|
34
|
+
props: () => j.value.componentProps
|
|
35
|
+
}), N = a(() => M.value.customProps), P = a(() => b(j.value.inheritedAttrs, ["onChange"])), F = i({
|
|
36
|
+
props: () => j.value.componentProps,
|
|
37
|
+
entry: a(() => {})
|
|
38
|
+
}), I = a(() => A(M.value.timeZone)), L = a(() => p(x, M.value.tokens?.color)), R = a(() => {
|
|
39
|
+
let e = p(S, M.value.tokens?.rounded);
|
|
40
|
+
return y(e, M.value.rounded);
|
|
41
|
+
}), z = a(() => y(L.value, M.value.color)), B = a(() => {
|
|
42
|
+
let e = M.value.value ?? k.value.now(I.value), t = ee(k.value.getMinutes(e, I.value), M.value.interval), n = M.value.showSeconds ? k.value.getSeconds(e, I.value) : 0, r = k.value.setHours(e, k.value.getHours(e, I.value), I.value);
|
|
43
|
+
return r = k.value.setMinutes(r, t, I.value), r = k.value.setSeconds(r, n, I.value), r;
|
|
44
|
+
}), V = a(() => c({ ampm: M.value.ampm })), te = a(() => l({ interval: M.value.interval })), H = a(() => u()), U = a(() => v(k.value.getHours(B.value, I.value))), W = (e) => !!M.value.disabled || f(e, {
|
|
45
|
+
adapter: k.value,
|
|
46
|
+
context: I.value,
|
|
47
|
+
maxTime: M.value.maxTime,
|
|
48
|
+
minTime: M.value.minTime,
|
|
49
|
+
disableTimes: M.value.disableTimes
|
|
50
|
+
}), G = (e) => {
|
|
51
|
+
M.value.disabled || M.value.readOnly || W(e) || D("change", e);
|
|
52
|
+
}, K = (e) => {
|
|
53
|
+
let t = M.value.ampm ? _(e, U.value) : e, n = k.value.setHours(B.value, t, I.value);
|
|
54
|
+
n = k.value.setMinutes(n, k.value.getMinutes(B.value, I.value), I.value), G(n);
|
|
55
|
+
}, q = (e) => {
|
|
56
|
+
let t = k.value.setMinutes(B.value, e, I.value);
|
|
57
|
+
G(t);
|
|
58
|
+
}, J = (e) => {
|
|
59
|
+
let t = k.value.setSeconds(B.value, e, I.value);
|
|
60
|
+
G(t);
|
|
61
|
+
}, Y = (e) => {
|
|
62
|
+
let t = g(k.value.getHours(B.value, I.value)), n = _(t, e), r = k.value.setHours(B.value, n, I.value);
|
|
63
|
+
r = k.value.setMinutes(r, k.value.getMinutes(B.value, I.value), I.value), G(r);
|
|
64
|
+
}, X = a(() => {
|
|
65
|
+
let e = k.value.getHours(B.value, I.value), t = M.value.ampm ? g(e) : e;
|
|
66
|
+
return V.value.map((e) => {
|
|
67
|
+
let n = M.value.ampm ? _(e, U.value) : e, r = k.value.setHours(B.value, n, I.value);
|
|
68
|
+
r = k.value.setMinutes(r, k.value.getMinutes(B.value, I.value), I.value);
|
|
69
|
+
let i = W(r), a = e === t;
|
|
70
|
+
return {
|
|
71
|
+
state: m({
|
|
72
|
+
disabled: i,
|
|
73
|
+
selected: a,
|
|
74
|
+
readOnly: M.value.readOnly
|
|
75
|
+
}),
|
|
76
|
+
selected: a,
|
|
77
|
+
value: e,
|
|
78
|
+
disabled: i || !!M.value.readOnly,
|
|
79
|
+
label: M.value.ampm ? String(e) : String(e).padStart(2, "0")
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
}), Z = a(() => {
|
|
83
|
+
let e = k.value.getMinutes(B.value, I.value);
|
|
84
|
+
return te.value.map((t) => {
|
|
85
|
+
let n = k.value.setMinutes(B.value, t, I.value), r = W(n), i = t === e;
|
|
86
|
+
return {
|
|
87
|
+
state: m({
|
|
88
|
+
disabled: r,
|
|
89
|
+
selected: i,
|
|
90
|
+
readOnly: M.value.readOnly
|
|
91
|
+
}),
|
|
92
|
+
selected: i,
|
|
93
|
+
value: t,
|
|
94
|
+
label: String(t).padStart(2, "0"),
|
|
95
|
+
disabled: r || !!M.value.readOnly
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
}), Q = a(() => {
|
|
99
|
+
if (!M.value.showSeconds) return [];
|
|
100
|
+
let e = k.value.getSeconds(B.value, I.value);
|
|
101
|
+
return H.value.map((t) => {
|
|
102
|
+
let n = k.value.setSeconds(B.value, t, I.value), r = W(n), i = t === e;
|
|
103
|
+
return {
|
|
104
|
+
state: m({
|
|
105
|
+
disabled: r,
|
|
106
|
+
selected: i,
|
|
107
|
+
readOnly: M.value.readOnly
|
|
108
|
+
}),
|
|
109
|
+
selected: i,
|
|
110
|
+
value: t,
|
|
111
|
+
label: String(t).padStart(2, "0"),
|
|
112
|
+
disabled: r || !!M.value.readOnly
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}), ne = a(() => M.value.ampm ? ["AM", "PM"].map((e) => {
|
|
116
|
+
let t = g(k.value.getHours(B.value, I.value)), n = _(t, e), r = k.value.setHours(B.value, n, I.value);
|
|
117
|
+
r = k.value.setMinutes(r, k.value.getMinutes(B.value, I.value), I.value);
|
|
118
|
+
let i = W(r), a = e === U.value;
|
|
119
|
+
return {
|
|
120
|
+
state: m({
|
|
121
|
+
disabled: i,
|
|
122
|
+
selected: a,
|
|
123
|
+
readOnly: M.value.readOnly
|
|
124
|
+
}),
|
|
125
|
+
selected: a,
|
|
126
|
+
label: e,
|
|
127
|
+
value: e,
|
|
128
|
+
disabled: i || !!M.value.readOnly
|
|
129
|
+
};
|
|
130
|
+
}) : []), re = a(() => n(N.value?.root, P.value, d({
|
|
131
|
+
"flex h-72 w-full min-w-fit flex-row gap-2": !0,
|
|
132
|
+
[F.value.root ?? ""]: !0
|
|
133
|
+
}))), ie = a(() => n(N.value?.column, {}, d({
|
|
134
|
+
"box-border flex h-full min-w-0 flex-1 flex-col items-stretch gap-1 overflow-x-hidden overflow-y-auto [scrollbar-width:thin] [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-button]:hidden [&::-webkit-scrollbar-corner]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-dark-300 dark:[&::-webkit-scrollbar-thumb]:bg-dark-600": !0,
|
|
135
|
+
[T]: !0,
|
|
136
|
+
[F.value.column ?? ""]: !0
|
|
137
|
+
}))), $ = (e, t) => {
|
|
138
|
+
let r = z.value;
|
|
139
|
+
return n(N.value?.item, {
|
|
140
|
+
type: "button",
|
|
141
|
+
disabled: e.disabled,
|
|
142
|
+
"aria-pressed": e.selected,
|
|
143
|
+
onClick: () => t(e.value)
|
|
144
|
+
}, d({
|
|
145
|
+
"w-full cursor-pointer px-3 py-2 text-sm transition-all duration-150 ease-in-out outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed": !0,
|
|
146
|
+
[R.value ?? ""]: !0,
|
|
147
|
+
[r?.base ?? ""]: e.state === "base" || e.state === "hover",
|
|
148
|
+
[r?.hover ?? ""]: e.state === "base" || e.state === "hover",
|
|
149
|
+
[r?.selected ?? ""]: e.state === "selected",
|
|
150
|
+
[r?.disabled ?? ""]: e.state === "disabled",
|
|
151
|
+
[F.value.item ?? ""]: !0
|
|
152
|
+
}));
|
|
153
|
+
}, ae = (e) => $(e, (e) => {
|
|
154
|
+
typeof e == "number" && K(e);
|
|
155
|
+
}), oe = (e) => $(e, (e) => {
|
|
156
|
+
typeof e == "number" && q(e);
|
|
157
|
+
}), se = (e) => $(e, (e) => {
|
|
158
|
+
typeof e == "number" && J(e);
|
|
159
|
+
}), ce = (e) => $(e, (e) => {
|
|
160
|
+
(e === "AM" || e === "PM") && Y(e);
|
|
161
|
+
}), le = a(() => !!M.value.ampm);
|
|
162
|
+
return {
|
|
163
|
+
merged: M,
|
|
164
|
+
rootBind: re,
|
|
165
|
+
hourItems: X,
|
|
166
|
+
columnBind: ie,
|
|
167
|
+
getHourBind: ae,
|
|
168
|
+
minuteItems: Z,
|
|
169
|
+
secondItems: Q,
|
|
170
|
+
displayDate: B,
|
|
171
|
+
showSeconds: a(() => !!M.value.showSeconds),
|
|
172
|
+
showMeridiem: le,
|
|
173
|
+
getMinuteBind: oe,
|
|
174
|
+
getSecondBind: se,
|
|
175
|
+
meridiemItems: ne,
|
|
176
|
+
getMeridiemBind: ce
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
//#endregion
|
|
180
|
+
export { T as TIME_PANEL_COLUMN_MIN_WIDTH_CLASS, w as TIME_PANEL_COLUMN_WIDTH_CLASS, E as useTimePanel };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TIME_PANEL_COLUMN_WIDTH_CLASS, useTimePanel, type TimePanelItem, } from './composables/useTimePanel';
|
|
2
|
+
export type { TimePanelClasses, TimePanelColorOverrides, TimePanelCustomProps, TimePanelEmits, TimePanelOwnProps, TimePanelProps, TimePanelRoundedOverrides, TimePanelTokens, } from './timePanel.types';
|
|
3
|
+
export { default as TimePanel } from './TimePanel.vue';
|