@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,91 @@
|
|
|
1
|
+
# FieldOverlay
|
|
2
|
+
|
|
3
|
+
Switches between `Menu`, `Modal`, and `Drawer` shells for field pickers and listboxes.
|
|
4
|
+
Dialog shells (`modal` / `drawer`) always center the picker and size the drawer
|
|
5
|
+
panel to its content (up to `90dvh`) so dual-month and dual-time pickers are not
|
|
6
|
+
clipped.
|
|
7
|
+
|
|
8
|
+
## Import
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
import { FieldOverlay } from "@bridge-ui/vue/Components/FieldOverlay";
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Examples
|
|
15
|
+
|
|
16
|
+
### Usage
|
|
17
|
+
|
|
18
|
+
```vue
|
|
19
|
+
<FieldOverlay v-model="open" overlay="menu">
|
|
20
|
+
<PickerContent />
|
|
21
|
+
</FieldOverlay>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Overlay modes
|
|
25
|
+
|
|
26
|
+
`overlay` accepts `menu` | `modal` | `drawer` | `auto`. Default is `auto` (`menu` on desktop, bottom `drawer` on mobile).
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<FieldOverlay v-model="open" overlay="auto">
|
|
30
|
+
<PickerContent />
|
|
31
|
+
</FieldOverlay>
|
|
32
|
+
|
|
33
|
+
<FieldOverlay v-model="open" overlay="drawer">
|
|
34
|
+
<PickerContent />
|
|
35
|
+
</FieldOverlay>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### customProps
|
|
39
|
+
|
|
40
|
+
Forward props to the active shell via `customProps.menu`, `customProps.modal`, or `customProps.drawer`. Menu-only options such as `anchorEl`, `placement`, `disableAutoFocus`, and `rounded` go through `customProps.menu`.
|
|
41
|
+
|
|
42
|
+
```vue
|
|
43
|
+
<FieldOverlay
|
|
44
|
+
v-model="open"
|
|
45
|
+
overlay="menu"
|
|
46
|
+
:custom-props="{
|
|
47
|
+
menu: {
|
|
48
|
+
anchorEl,
|
|
49
|
+
rounded: 'lg',
|
|
50
|
+
placement: 'bottom-start',
|
|
51
|
+
},
|
|
52
|
+
}"
|
|
53
|
+
>
|
|
54
|
+
<PickerContent />
|
|
55
|
+
</FieldOverlay>
|
|
56
|
+
|
|
57
|
+
<FieldOverlay
|
|
58
|
+
v-model="open"
|
|
59
|
+
overlay="modal"
|
|
60
|
+
:custom-props="{
|
|
61
|
+
modal: { size: 'sm', transition: 'none' },
|
|
62
|
+
}"
|
|
63
|
+
>
|
|
64
|
+
<PickerContent />
|
|
65
|
+
</FieldOverlay>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Props
|
|
69
|
+
|
|
70
|
+
| Prop | Type | Default | Description |
|
|
71
|
+
| ------------- | ------------------------- | -------- | ---------------------------------------------------------- |
|
|
72
|
+
| `customProps` | `FieldOverlayCustomProps` | — | Extra props for nested shells (`menu`, `modal`, `drawer`). |
|
|
73
|
+
| `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
|
|
74
|
+
|
|
75
|
+
### v-model
|
|
76
|
+
|
|
77
|
+
| Prop / Event | Type | Default | Description |
|
|
78
|
+
| ------------------- | -------------------------- | ------- | ---------------------------------------------------------------------------- |
|
|
79
|
+
| `modelValue` | `boolean` | `false` | Whether the overlay is open. Bound with `v-model`. |
|
|
80
|
+
| `update:modelValue` | `(value: boolean) => void` | — | Emitted when `v-model` should update. Listen with `v-on:update:model-value`. |
|
|
81
|
+
|
|
82
|
+
## Events
|
|
83
|
+
|
|
84
|
+
| Event | Payload | Description |
|
|
85
|
+
| ------------------ | ----------------- | -------------------------------------------- |
|
|
86
|
+
| `v-on:close` | — | Emitted when the user dismisses the overlay. |
|
|
87
|
+
| `v-on:show-change` | `(show: boolean)` | Emitted when open state should change. |
|
|
88
|
+
|
|
89
|
+
## Related components
|
|
90
|
+
|
|
91
|
+
Menu, Modal, Drawer, Select, Autocomplete, DateField, TimeField, DateTimeField, DateRangeField, TimeRangeField, DateTimeRangeField, Listbox
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# FormControl
|
|
2
|
+
|
|
3
|
+
> Building block for toggle-row chrome. Prefer `Checkbox`, `Radio`, and `Switch` in apps; FormControl remains exported for advanced composition. Not a registry key — theme chrome via `tokens.formControl` on the public parent (e.g. `components.Checkbox.tokens.formControl`).
|
|
4
|
+
|
|
5
|
+
Low-level form control chrome (labels, description, error) for Checkbox, Radio, and Switch.
|
|
6
|
+
|
|
7
|
+
Control tokens stay on the parent (`tokens.color`, `tokens.invalidated`, …).
|
|
8
|
+
|
|
9
|
+
## Import
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { FormControl } from "@bridge-ui/vue";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
### Usage
|
|
18
|
+
|
|
19
|
+
```vue
|
|
20
|
+
<FormControl
|
|
21
|
+
end-label="Email notifications"
|
|
22
|
+
description="Receive product updates."
|
|
23
|
+
>
|
|
24
|
+
<Checkbox :default-checked="true" />
|
|
25
|
+
</FormControl>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### customProps
|
|
29
|
+
|
|
30
|
+
```vue
|
|
31
|
+
<FormControl
|
|
32
|
+
end-label="Email notifications"
|
|
33
|
+
description="Receive product updates."
|
|
34
|
+
:custom-props="{
|
|
35
|
+
root: { id: 'notify-control' },
|
|
36
|
+
endLabel: { id: 'notify-label' },
|
|
37
|
+
description: { id: 'notify-desc', 'aria-live': 'polite' },
|
|
38
|
+
}"
|
|
39
|
+
>
|
|
40
|
+
<Checkbox :default-checked="true" />
|
|
41
|
+
</FormControl>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Props
|
|
45
|
+
|
|
46
|
+
| Prop | Type | Default | Description |
|
|
47
|
+
| ------------------ | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
48
|
+
| `classes` | `FormControlClasses` | — | Classes for labels, description, error, and layout chrome. |
|
|
49
|
+
| `controlId` | `string` | — | Associates labels and helper text with a form control. When omitted, an id is generated automatically. |
|
|
50
|
+
| `customProps` | `FormControlCustomProps` | — | Extra props for internal parts (`row`, `endLabel`, `description`, …). |
|
|
51
|
+
| `description` | `string` | — | Helper text below the control row (hidden when invalid). |
|
|
52
|
+
| `disabled` | `boolean` | `false` | Whether the control is disabled. |
|
|
53
|
+
| `endLabel` | `string` | — | Inline-end label after the control (right in LTR, left in RTL). |
|
|
54
|
+
| `error` | `boolean` | `false` | When `true`, applies invalid styling on labels and hides description. |
|
|
55
|
+
| `errorMessage` | `string` | — | Error message below the control row. |
|
|
56
|
+
| `field` | `UseFormControlReturn` | — | Pre-composed form control API from a parent composable. Used by `<FormControl :field="…" />`; not set on Checkbox, Radio, or Switch. |
|
|
57
|
+
| `hideErrorMessage` | `boolean` | `false` | When `true`, does not reserve space below the row for error messages. |
|
|
58
|
+
| `readonly` | `boolean` | `false` | Whether the control is read-only. |
|
|
59
|
+
| `required` | `boolean` | `false` | Sets the native `required` attribute on the control and shows a required asterisk on labels. |
|
|
60
|
+
| `size` | `LabelSize` | "md" | Typography scale for labels, description, and error text (aligned with `FormField` / `Label`). |
|
|
61
|
+
| `slots` | `FormControlSlots` | — | Chrome slots (`startLabel`, `endLabel`, `description`, `errorMessage`, …) and the control. |
|
|
62
|
+
| `startLabel` | `string` | — | Inline-start label before the control (left in LTR, right in RTL). |
|
|
63
|
+
|
|
64
|
+
## Related components
|
|
65
|
+
|
|
66
|
+
Checkbox, Radio, Switch, Label
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# FormField
|
|
2
|
+
|
|
3
|
+
> Building block for field chrome. Prefer public fields (`TextField`, `Select`, …) in apps; FormField remains exported for advanced composition. Not a `BridgeUIComponentsConfig` key — theme via the public parent (`components.TextField`, `components.Select`, …).
|
|
4
|
+
|
|
5
|
+
Form field chrome (label, adornments, error) used by TextField, Select, and other inputs.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { FormField } from "@bridge-ui/vue";
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Usage
|
|
16
|
+
|
|
17
|
+
```vue
|
|
18
|
+
<FormField label="Email" description="We never share your email.">
|
|
19
|
+
<input type="email" class="w-full rounded border px-3 py-2" />
|
|
20
|
+
</FormField>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### customProps
|
|
24
|
+
|
|
25
|
+
```vue
|
|
26
|
+
<FormField
|
|
27
|
+
label="Email"
|
|
28
|
+
description="We never share your email."
|
|
29
|
+
:custom-props="{
|
|
30
|
+
root: { id: 'email-field' },
|
|
31
|
+
description: { id: 'email-desc' },
|
|
32
|
+
label: { id: 'email-label', for: 'email-input' },
|
|
33
|
+
input: { id: 'email-input', autocomplete: 'email', name: 'email' },
|
|
34
|
+
}"
|
|
35
|
+
>
|
|
36
|
+
<input type="email" class="w-full rounded border px-3 py-2" />
|
|
37
|
+
</FormField>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Props
|
|
41
|
+
|
|
42
|
+
| Prop | Type | Default | Description |
|
|
43
|
+
| ------------------ | ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `classes` | `FormFieldClasses` | — | Classes for the field chrome and the control (includes label, container, adornments). |
|
|
45
|
+
| `color` | `FormFieldColor` | "primary" | The color to apply to the field control. |
|
|
46
|
+
| `controlId` | `string` | — | Associates labels and helper text with a form control. When omitted, an id is generated automatically. |
|
|
47
|
+
| `corner` | `string` | — | Secondary label text at the inline end of the header row. |
|
|
48
|
+
| `customProps` | `FormFieldCustomProps` | — | Extra props for internal parts (`header`, `label`, `input`, `container`, …). |
|
|
49
|
+
| `description` | `string` | — | Helper text below the control (hidden when the field is invalid). |
|
|
50
|
+
| `disabled` | `boolean` | `false` | Whether the control is disabled. |
|
|
51
|
+
| `end` | `string` | — | Inline-end text inside the field (suffix), e.g. `@mail.com`. |
|
|
52
|
+
| `endIcon` | `LucideIcon` | — | Icon at the **inline end** (physical right in `ltr`, physical left in `rtl`). |
|
|
53
|
+
| `error` | `boolean` | `false` | When `true`, applies invalid styling on the label and hides description. |
|
|
54
|
+
| `errorIcon` | `LucideIcon` | CircleAlert | Icon used when `showErrorIcon` is enabled and the field is invalid. |
|
|
55
|
+
| `errorMessage` | `string` | — | Error message below the control. Shown only when set (or via `#errorMessage` slot). |
|
|
56
|
+
| `field` | `UseFormFieldReturn` | — | Pre-composed field API from a parent composable (e.g. `useTextField`). Used by `<FormField :field="…" />`; not set on field wrappers such as TextField. |
|
|
57
|
+
| `hideErrorMessage` | `boolean` | `false` | When `true`, does not reserve space below the control for error messages. |
|
|
58
|
+
| `label` | `string` | — | The primary label text above the control. |
|
|
59
|
+
| `readonly` | `boolean` | `false` | Whether the control is read-only. |
|
|
60
|
+
| `required` | `boolean` | `false` | Shows a red asterisk on the label. |
|
|
61
|
+
| `rounded` | `FormFieldRounded` | "md" | The roundedness of the field control. |
|
|
62
|
+
| `showErrorIcon` | `boolean` | `true` | When `true` and the field is invalid, shows an error icon at the inline end when no `endIcon` or `end` slot is present. |
|
|
63
|
+
| `size` | `FormFieldSize` | "md" | Typography scale for label, corner, description, and error message, and control sizing (input, container, icons). |
|
|
64
|
+
| `slots` | `FormFieldSlots` | — | Chrome slots (`label`, `description`, `errorMessage`, …) via `#slot` or prop; inline adornments use `#start` / `#end`. |
|
|
65
|
+
| `start` | `string` | — | Inline-start text inside the field (prefix), e.g. `https://`. |
|
|
66
|
+
| `startIcon` | `LucideIcon` | — | Icon at the **inline start** (physical left in `ltr`, physical right in `rtl`). |
|
|
67
|
+
| `variant` | `FormFieldVariant` | "outline" | The visual variant of the field shell and control. |
|
|
68
|
+
|
|
69
|
+
## Related components
|
|
70
|
+
|
|
71
|
+
TextField, Select, NumberField, Textarea, PasswordField
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# i18n
|
|
2
|
+
|
|
3
|
+
Bridge chrome strings (aria-labels, empty/loading copy) resolve through an optional i18n adapter on `BridgeUIProvider` / `createBridgeUI` (`global.i18n`). Without an adapter, the English source string is returned as-is.
|
|
4
|
+
|
|
5
|
+
Lookup is **gettext-style**: the source English text is the key. Multi-locale
|
|
6
|
+
adapters can keep the active locale internally via optional `setLocale`.
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const resolveMessage = useResolveMessage();
|
|
10
|
+
|
|
11
|
+
resolveMessage("Hide password");
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
`useResolveMessage` reads the active adapter from context. **Interpolation and
|
|
15
|
+
pluralization are the adapter’s job** (vue-i18n, i18next, or a custom `t`).
|
|
16
|
+
Bridge `setLocale` updates `global.locale` and calls optional `adapter.setLocale`
|
|
17
|
+
— persistence (localStorage, backend) stays in the app.
|
|
18
|
+
|
|
19
|
+
Implement `I18nAdapter` as a plain object — Bridge only defines the interface.
|
|
20
|
+
|
|
21
|
+
## Import
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { useResolveMessage, type I18nAdapter } from "@bridge-ui/vue";
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
### Resolve in a component
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<script setup lang="ts">
|
|
33
|
+
import { useResolveMessage } from "@bridge-ui/vue";
|
|
34
|
+
|
|
35
|
+
const resolveMessage = useResolveMessage();
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<template>
|
|
39
|
+
<button type="button" :aria-label="resolveMessage('Clear selection')">
|
|
40
|
+
Clear
|
|
41
|
+
</button>
|
|
42
|
+
</template>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Dictionary adapter
|
|
46
|
+
|
|
47
|
+
Locale-keyed source→string map (no replace/plural). Optional `setLocale`
|
|
48
|
+
updates the active locale used by `t`.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { createBridgeUI } from "@bridge-ui/vue";
|
|
52
|
+
import { createDictionaryI18nAdapter } from "@examples/i18n-dictionary";
|
|
53
|
+
|
|
54
|
+
const i18n = createDictionaryI18nAdapter();
|
|
55
|
+
|
|
56
|
+
const bridge = createBridgeUI({
|
|
57
|
+
global: { i18n, locale: "pt-BR" },
|
|
58
|
+
});
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Custom adapter
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
import { get } from "es-toolkit/compat";
|
|
65
|
+
import type { I18nAdapter } from "@bridge-ui/vue";
|
|
66
|
+
|
|
67
|
+
const messages: Record<string, Record<string, string>> = {
|
|
68
|
+
"pt-BR": {
|
|
69
|
+
Close: "Fechar",
|
|
70
|
+
"Hide password": "Ocultar senha",
|
|
71
|
+
"Clear selection": "Limpar seleção",
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
let locale = "en-US";
|
|
76
|
+
|
|
77
|
+
const i18n: I18nAdapter = {
|
|
78
|
+
setLocale(next) {
|
|
79
|
+
locale = next;
|
|
80
|
+
},
|
|
81
|
+
t(message) {
|
|
82
|
+
return get(messages, [locale, message], message);
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### vue-i18n (replace & plural)
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import { createI18n } from "vue-i18n";
|
|
91
|
+
import { createVueI18nAdapter } from "@examples/i18n-vue-i18n";
|
|
92
|
+
|
|
93
|
+
const vueI18n = createI18n({ legacy: false, locale: "en-US", messages: {} });
|
|
94
|
+
const i18n = createVueI18nAdapter(vueI18n.global);
|
|
95
|
+
|
|
96
|
+
const resolveMessage = useResolveMessage();
|
|
97
|
+
resolveMessage("{count} item", { count: 3 });
|
|
98
|
+
// → vue-i18n handles interpolation / plural rules
|
|
99
|
+
|
|
100
|
+
setLocale("pt-BR"); // Bridge locale + i18n.locale via adapter.setLocale
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Other ready examples:
|
|
104
|
+
|
|
105
|
+
| File | Library | Replace / plural |
|
|
106
|
+
| -------------------- | -------------------- | ---------------- |
|
|
107
|
+
| `i18n-dictionary.ts` | In-memory dictionary | No (static map) |
|
|
108
|
+
| `i18n-vue-i18n.ts` | vue-i18n | Yes (via lib) |
|
|
109
|
+
|
|
110
|
+
## Chrome strings
|
|
111
|
+
|
|
112
|
+
| Source (key) |
|
|
113
|
+
| ----------------- |
|
|
114
|
+
| `Close` |
|
|
115
|
+
| `Loading...` |
|
|
116
|
+
| `No options` |
|
|
117
|
+
| `Show password` |
|
|
118
|
+
| `Hide password` |
|
|
119
|
+
| `Clear selection` |
|
|
120
|
+
| `Increment value` |
|
|
121
|
+
| `Decrement value` |
|
|
122
|
+
|
|
123
|
+
## Related components
|
|
124
|
+
|
|
125
|
+
BridgeUIProvider, PasswordField, NumberField, Select, Listbox, Snackbar
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Icon
|
|
2
|
+
|
|
3
|
+
Renders an icon from a semantic name (via the icon adapter) or a concrete icon component, with design-system sizing.
|
|
4
|
+
|
|
5
|
+
Semantic names require an icon adapter on `BridgeUIProvider` / `createBridgeUI` (`global.icons`). Bridge only defines the `IconAdapter` interface — copy an example from `packages/vue/docs/examples/`.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { Icon } from "@bridge-ui/vue/Components/Icon";
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Icon component
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { Info } from "@lucide/vue";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```vue
|
|
22
|
+
<Icon size="md" :icon="Info" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Semantic name + adapter
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
import { createBridgeUI } from "@bridge-ui/vue";
|
|
29
|
+
import { createLucideIconAdapter } from "@examples/icon-lucide";
|
|
30
|
+
|
|
31
|
+
const icons = createLucideIconAdapter();
|
|
32
|
+
|
|
33
|
+
app.use(
|
|
34
|
+
createBridgeUI({
|
|
35
|
+
global: { icons },
|
|
36
|
+
}),
|
|
37
|
+
);
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<Icon size="md" icon="info" />
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Other ready examples (same `create*IconAdapter()` shape):
|
|
45
|
+
|
|
46
|
+
| File | Library |
|
|
47
|
+
| --------------------- | --------------------------- |
|
|
48
|
+
| `icon-lucide.ts` | Lucide |
|
|
49
|
+
| `icon-heroicons.ts` | Heroicons (24 outline) |
|
|
50
|
+
| `icon-tabler.ts` | Tabler Icons |
|
|
51
|
+
| `icon-phosphor.ts` | Phosphor Icons |
|
|
52
|
+
| `icon-fontawesome.ts` | Font Awesome 6 (free solid) |
|
|
53
|
+
|
|
54
|
+
### Font Awesome definitions
|
|
55
|
+
|
|
56
|
+
With the Font Awesome adapter, pass definitions directly — `normalize` wraps them:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import { createBridgeUI } from "@bridge-ui/vue";
|
|
60
|
+
import { faCoffee } from "@fortawesome/free-solid-svg-icons";
|
|
61
|
+
import { createFontAwesomeIconAdapter } from "@examples/icon-fontawesome";
|
|
62
|
+
|
|
63
|
+
const icons = createFontAwesomeIconAdapter();
|
|
64
|
+
|
|
65
|
+
app.use(
|
|
66
|
+
createBridgeUI({
|
|
67
|
+
global: { icons },
|
|
68
|
+
}),
|
|
69
|
+
);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```vue
|
|
73
|
+
<Icon :icon="faCoffee" />
|
|
74
|
+
<Icon icon="info" />
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The example also exports `wrapFaIcon` if you need a component outside `<Icon />`.
|
|
78
|
+
|
|
79
|
+
## Props
|
|
80
|
+
|
|
81
|
+
| Prop | Type | Default | Description |
|
|
82
|
+
| ------ | ------------ | ------- | ---------------------------------------------------------------------------- |
|
|
83
|
+
| `icon` | `IconSource` | — | Semantic name, icon component, or adapter-normalized native value (e.g. FA). |
|
|
84
|
+
| `size` | `IconSize` | "md" | The size of the icon. |
|
|
85
|
+
|
|
86
|
+
## Related components
|
|
87
|
+
|
|
88
|
+
Button, Alert, TextField, BridgeUIProvider
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Label
|
|
2
|
+
|
|
3
|
+
Accessible label element with required and error styling.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Label } from "@bridge-ui/vue/Components/Label";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<Label required for="email">Email</Label>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
| ---------- | -------------- | ------- | --------------------------------------------------- |
|
|
23
|
+
| `classes` | `LabelClasses` | — | The classes to apply to the label. |
|
|
24
|
+
| `error` | `boolean` | `false` | Applies error label colors. |
|
|
25
|
+
| `for` | `string` | — | Associates the label with a form control. |
|
|
26
|
+
| `required` | `boolean` | `false` | Shows a red required asterisk after the label text. |
|
|
27
|
+
| `size` | `LabelSize` | "md" | Typography scale aligned with TextField sizes. |
|
|
28
|
+
|
|
29
|
+
## Related components
|
|
30
|
+
|
|
31
|
+
FormField, FormControl
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Link
|
|
2
|
+
|
|
3
|
+
Styled anchor for in-app and external navigation.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Link } from "@bridge-ui/vue/Components/Link";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<Link href="/dashboard">Dashboard</Link>
|
|
17
|
+
|
|
18
|
+
<Link color="primary" underline="hover" href="https://example.com">
|
|
19
|
+
External link
|
|
20
|
+
</Link>
|
|
21
|
+
|
|
22
|
+
<Link href="#" :left-icon="Info">
|
|
23
|
+
With icon
|
|
24
|
+
</Link>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### States
|
|
28
|
+
|
|
29
|
+
```vue
|
|
30
|
+
<Link disabled href="/button">
|
|
31
|
+
Disabled
|
|
32
|
+
</Link>
|
|
33
|
+
|
|
34
|
+
<Link external href="https://example.com">
|
|
35
|
+
External
|
|
36
|
+
</Link>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### customProps
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<Link
|
|
43
|
+
href="#"
|
|
44
|
+
:left-icon="ExternalLink"
|
|
45
|
+
:custom-props="{
|
|
46
|
+
leftIcon: { 'aria-hidden': true },
|
|
47
|
+
root: { id: 'docs-link', target: '_blank', rel: 'noopener noreferrer' },
|
|
48
|
+
}"
|
|
49
|
+
>
|
|
50
|
+
Open documentation
|
|
51
|
+
</Link>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Props
|
|
55
|
+
|
|
56
|
+
| Prop | Type | Default | Description |
|
|
57
|
+
| ------------- | ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| `classes` | `LinkClasses` | — | The classes to apply to the link. |
|
|
59
|
+
| `color` | `LinkColor` | "primary" | The color to apply to the link. |
|
|
60
|
+
| `customProps` | `LinkCustomProps` | — | Extra props for internal parts (`leftIcon`, `rightIcon`, etc.). Root HTML attributes stay on the component top level. |
|
|
61
|
+
| `disabled` | `boolean` | `false` | Whether the link is disabled. |
|
|
62
|
+
| `external` | `boolean` | `false` | Whether the link opens in a new tab. |
|
|
63
|
+
| `href` | `string` | — | The URL the link points to. |
|
|
64
|
+
| `leftIcon` | `LucideIcon` | — | The icon to display before the link text. |
|
|
65
|
+
| `rightIcon` | `LucideIcon` | — | The icon to display after the link text. |
|
|
66
|
+
| `size` | `LinkSize` | "md" | The size of the link. |
|
|
67
|
+
| `underline` | `LinkUnderline` | "hover" | The underline behavior of the link. |
|
|
68
|
+
|
|
69
|
+
## Related components
|
|
70
|
+
|
|
71
|
+
Button
|