vectis-ui 0.11.0 → 0.13.0
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/dist/components/VAccordion/VAccordion.css +1 -1
- package/dist/components/VAccordion/VAccordion.d.ts +6 -5
- package/dist/components/VAccordion/VAccordion.js.map +1 -1
- package/dist/components/VAccordion/VAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VAccordion/VAccordionItem.css +1 -1
- package/dist/components/VAccordion/VAccordionItem.d.ts +1 -1
- package/dist/components/VAccordion/VAccordionItem.js.map +1 -1
- package/dist/components/VAccordion/VAccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VAlert/VAlert.css +2 -0
- package/dist/components/VAlert/VAlert.d.ts +73 -0
- package/dist/components/VAlert/VAlert.js +9 -0
- package/dist/components/VAlert/VAlert.js.map +1 -0
- package/dist/components/VAlert/VAlert.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/VAlert/VAlert.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VAvatar/VAvatar.d.ts +2 -2
- package/dist/components/VAvatar/VAvatarGroup.d.ts +1 -1
- package/dist/components/VAvatar/VAvatarGroup.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/VBadge/VBadge.d.ts +3 -3
- package/dist/components/VBreadcrumb/VBreadcrumb.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/components/VButton/VButton.d.ts +4 -4
- package/dist/components/VButton/VButtonGroup.css +1 -1
- package/dist/components/VButton/VButtonGroup.d.ts +2 -2
- package/dist/components/VButton/VButtonGroup.js.map +1 -1
- package/dist/components/VButton/VButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/VCalendar.css +1 -1
- package/dist/components/VCalendar/VCalendar.d.ts +7 -1
- package/dist/components/VCalendar/VCalendar.js.map +1 -1
- package/dist/components/VCalendar/VCalendar.vue_vue_type_script_setup_true_lang.js +20 -18
- package/dist/components/VCalendar/VCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/VCalendarEvent.js.map +1 -1
- package/dist/components/VCalendar/VCalendarEvent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/VCalendarMonth.css +1 -1
- package/dist/components/VCalendar/VCalendarMonth.d.ts +2 -2
- package/dist/components/VCalendar/VCalendarMonth.js.map +1 -1
- package/dist/components/VCalendar/VCalendarMonth.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/VCalendarTimeGrid.css +1 -1
- package/dist/components/VCalendar/VCalendarTimeGrid.d.ts +3 -3
- package/dist/components/VCalendar/VCalendarTimeGrid.js.map +1 -1
- package/dist/components/VCalendar/VCalendarTimeGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/VCalendarYear.css +1 -1
- package/dist/components/VCalendar/VCalendarYear.js.map +1 -1
- package/dist/components/VCalendar/VCalendarYear.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCalendar/gesture.d.ts +1 -16
- package/dist/components/VCalendar/gesture.js +1 -1
- package/dist/components/VCalendar/gesture.js.map +1 -1
- package/dist/components/VCalendar/types.d.ts +2 -0
- package/dist/components/VCard/VCard.css +2 -0
- package/dist/components/VCard/VCard.d.ts +87 -0
- package/dist/components/VCard/VCard.js +9 -0
- package/dist/components/VCard/VCard.js.map +1 -0
- package/dist/components/VCard/VCard.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/components/VCard/VCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VCarousel/VCarousel.d.ts +1 -1
- package/dist/components/VCarousel/VCarousel.js.map +1 -1
- package/dist/components/VCarousel/VCarousel.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/components/VCarousel/VCarousel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCheckbox/VCheckMark.css +2 -0
- package/dist/components/VCheckbox/VCheckMark.js +9 -0
- package/dist/components/VCheckbox/VCheckMark.js.map +1 -0
- package/dist/components/VCheckbox/VCheckMark.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/VCheckbox/VCheckMark.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VCheckbox/VCheckbox.css +1 -1
- package/dist/components/VCheckbox/VCheckbox.d.ts +8 -3
- package/dist/components/VCheckbox/VCheckbox.js.map +1 -1
- package/dist/components/VCheckbox/VCheckbox.vue_vue_type_script_setup_true_lang.js +54 -69
- package/dist/components/VCheckbox/VCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VChip/VChip.d.ts +6 -6
- package/dist/components/VChip/VChip.js.map +1 -1
- package/dist/components/VChip/VChip.vue_vue_type_script_setup_true_lang.js +26 -26
- package/dist/components/VChip/VChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VColorInput/VColorInput.css +2 -0
- package/dist/components/VColorInput/VColorInput.d.ts +113 -0
- package/dist/components/VColorInput/VColorInput.js +9 -0
- package/dist/components/VColorInput/VColorInput.js.map +1 -0
- package/dist/components/VColorInput/VColorInput.vue_vue_type_script_setup_true_lang.js +230 -0
- package/dist/components/VColorInput/VColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VColorPicker/VColorPicker.css +2 -0
- package/dist/components/VColorPicker/VColorPicker.d.ts +67 -0
- package/dist/components/VColorPicker/VColorPicker.js +9 -0
- package/dist/components/VColorPicker/VColorPicker.js.map +1 -0
- package/dist/components/VColorPicker/VColorPicker.vue_vue_type_script_setup_true_lang.js +390 -0
- package/dist/components/VColorPicker/VColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VColorPicker/color.d.ts +42 -0
- package/dist/components/VColorPicker/color.js +158 -0
- package/dist/components/VColorPicker/color.js.map +1 -0
- package/dist/components/VCombobox/VCombobox.css +1 -1
- package/dist/components/VCombobox/VCombobox.d.ts +46 -60
- package/dist/components/VCombobox/VCombobox.js.map +1 -1
- package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js +271 -372
- package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VCommandPalette/VCommandPalette.css +2 -0
- package/dist/components/VCommandPalette/VCommandPalette.d.ts +163 -0
- package/dist/components/VCommandPalette/VCommandPalette.js +9 -0
- package/dist/components/VCommandPalette/VCommandPalette.js.map +1 -0
- package/dist/components/VCommandPalette/VCommandPalette.vue_vue_type_script_setup_true_lang.js +321 -0
- package/dist/components/VCommandPalette/VCommandPalette.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.css +2 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.d.ts +38 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.js +9 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.js.map +1 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/components/VCommandPalette/VCommandPaletteItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VContextMenu/VContextMenu.css +2 -0
- package/dist/components/VContextMenu/VContextMenu.d.ts +66 -0
- package/dist/components/VContextMenu/VContextMenu.js +9 -0
- package/dist/components/VContextMenu/VContextMenu.js.map +1 -0
- package/dist/components/VContextMenu/VContextMenu.vue_vue_type_script_setup_true_lang.js +148 -0
- package/dist/components/VContextMenu/VContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VDataTable/VDataTable.css +1 -1
- package/dist/components/VDataTable/VDataTable.d.ts +41 -23
- package/dist/components/VDataTable/VDataTable.js.map +1 -1
- package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js +291 -186
- package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VDateInput/VDateInput.d.ts +27 -7
- package/dist/components/VDateInput/VDateInput.js.map +1 -1
- package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js +170 -162
- package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VDatePicker/VDatePicker.d.ts +3 -3
- package/dist/components/VDatePicker/VDatePicker.js.map +1 -1
- package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js +228 -227
- package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VDatePicker/keyboard.d.ts +7 -7
- package/dist/components/VDatePicker/keyboard.js +8 -6
- package/dist/components/VDatePicker/keyboard.js.map +1 -1
- package/dist/components/VDatePicker/names.js +16 -20
- package/dist/components/VDatePicker/names.js.map +1 -1
- package/dist/components/VDialog/VDialog.d.ts +2 -4
- package/dist/components/VDialog/VDialog.js.map +1 -1
- package/dist/components/VDialog/VDialog.vue_vue_type_script_setup_true_lang.js +46 -77
- package/dist/components/VDialog/VDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VDrawer/VDrawer.css +2 -0
- package/dist/components/VDrawer/VDrawer.d.ts +102 -0
- package/dist/components/VDrawer/VDrawer.js +9 -0
- package/dist/components/VDrawer/VDrawer.js.map +1 -0
- package/dist/components/VDrawer/VDrawer.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/components/VDrawer/VDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VEmptyState/VEmptyState.css +2 -0
- package/dist/components/VEmptyState/VEmptyState.d.ts +43 -0
- package/dist/components/VEmptyState/VEmptyState.js +9 -0
- package/dist/components/VEmptyState/VEmptyState.js.map +1 -0
- package/dist/components/VEmptyState/VEmptyState.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/VEmptyState/VEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VField/VField.css +2 -0
- package/dist/components/VField/VField.d.ts +84 -0
- package/dist/components/VField/VField.js +9 -0
- package/dist/components/VField/VField.js.map +1 -0
- package/dist/components/VField/VField.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/components/VField/VField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VField/VFieldAnnouncer.d.ts +7 -0
- package/dist/components/VField/VFieldAnnouncer.js +7 -0
- package/dist/components/VField/VFieldAnnouncer.js.map +1 -0
- package/dist/components/VField/VFieldAnnouncer.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/VField/VFieldAnnouncer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VField/VFieldMessage.d.ts +11 -0
- package/dist/components/VField/VFieldMessage.js +7 -0
- package/dist/components/VField/VFieldMessage.js.map +1 -0
- package/dist/components/VField/VFieldMessage.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/VField/VFieldMessage.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VFieldset/VFieldset.css +2 -0
- package/dist/components/VFieldset/VFieldset.d.ts +52 -0
- package/dist/components/VFieldset/VFieldset.js +9 -0
- package/dist/components/VFieldset/VFieldset.js.map +1 -0
- package/dist/components/VFieldset/VFieldset.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/VFieldset/VFieldset.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VFileInput/VFileInput.css +1 -1
- package/dist/components/VFileInput/VFileInput.d.ts +31 -7
- package/dist/components/VFileInput/VFileInput.js.map +1 -1
- package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js +168 -161
- package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VFilePicker/VFilePicker.d.ts +4 -4
- package/dist/components/VHotkeys/VHotkeys.css +1 -1
- package/dist/components/VHotkeys/VHotkeys.js.map +1 -1
- package/dist/components/VHotkeys/VHotkeys.vue_vue_type_script_setup_true_lang.js +27 -30
- package/dist/components/VHotkeys/VHotkeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VHotkeys/platform.d.ts +2 -0
- package/dist/components/VHotkeys/platform.js +24 -5
- package/dist/components/VHotkeys/platform.js.map +1 -1
- package/dist/components/VHoverCard/VHoverCard.css +2 -0
- package/dist/components/VHoverCard/VHoverCard.d.ts +62 -0
- package/dist/components/VHoverCard/VHoverCard.js +9 -0
- package/dist/components/VHoverCard/VHoverCard.js.map +1 -0
- package/dist/components/VHoverCard/VHoverCard.vue_vue_type_script_setup_true_lang.js +97 -0
- package/dist/components/VHoverCard/VHoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VIcon/icons/add.d.ts +5 -0
- package/dist/components/VIcon/icons/add.js +9 -0
- package/dist/components/VIcon/icons/add.js.map +1 -0
- package/dist/components/VIcon/icons/colorize.d.ts +5 -0
- package/dist/components/VIcon/icons/colorize.js +9 -0
- package/dist/components/VIcon/icons/colorize.js.map +1 -0
- package/dist/components/VIcon/icons/inbox.d.ts +5 -0
- package/dist/components/VIcon/icons/inbox.js +9 -0
- package/dist/components/VIcon/icons/inbox.js.map +1 -0
- package/dist/components/VIcon/icons/index.d.ts +42 -2
- package/dist/components/VIcon/icons/index.js +88 -72
- package/dist/components/VIcon/icons/index.js.map +1 -1
- package/dist/components/VIcon/icons/names.d.ts +2 -2
- package/dist/components/VIcon/icons/names.js +1 -1
- package/dist/components/VIcon/icons/names.js.map +1 -1
- package/dist/components/VIcon/icons/open_in_new.d.ts +5 -0
- package/dist/components/VIcon/icons/open_in_new.js +9 -0
- package/dist/components/VIcon/icons/open_in_new.js.map +1 -0
- package/dist/components/VIcon/icons/priority_high.d.ts +5 -0
- package/dist/components/VIcon/icons/priority_high.js +9 -0
- package/dist/components/VIcon/icons/priority_high.js.map +1 -0
- package/dist/components/VIcon/icons/remove.d.ts +5 -0
- package/dist/components/VIcon/icons/remove.js +9 -0
- package/dist/components/VIcon/icons/remove.js.map +1 -0
- package/dist/components/VIcon/icons/search_off.d.ts +5 -0
- package/dist/components/VIcon/icons/search_off.js +9 -0
- package/dist/components/VIcon/icons/search_off.js.map +1 -0
- package/dist/components/VIcon/icons/star.d.ts +5 -0
- package/dist/components/VIcon/icons/star.js +9 -0
- package/dist/components/VIcon/icons/star.js.map +1 -0
- package/dist/components/VIconButton/VIconButton.d.ts +4 -4
- package/dist/components/VInput/VInput.css +1 -1
- package/dist/components/VInput/VInput.d.ts +51 -2
- package/dist/components/VInput/VInput.js.map +1 -1
- package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js +129 -106
- package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VInput/VInputGroup.css +1 -1
- package/dist/components/VInput/VInputGroup.d.ts +20 -0
- package/dist/components/VInput/VInputGroup.js.map +1 -1
- package/dist/components/VInput/VInputGroup.vue_vue_type_script_setup_true_lang.js +50 -51
- package/dist/components/VInput/VInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VInputOTP/VInputOTP.css +1 -1
- package/dist/components/VInputOTP/VInputOTP.d.ts +27 -4
- package/dist/components/VInputOTP/VInputOTP.js.map +1 -1
- package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js +131 -113
- package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VLink/VLink.css +2 -0
- package/dist/components/VLink/VLink.d.ts +53 -0
- package/dist/components/VLink/VLink.js +9 -0
- package/dist/components/VLink/VLink.js.map +1 -0
- package/dist/components/VLink/VLink.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/VLink/VLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxChevron.css +2 -0
- package/dist/components/VListbox/VListboxChevron.d.ts +12 -0
- package/dist/components/VListbox/VListboxChevron.js +9 -0
- package/dist/components/VListbox/VListboxChevron.js.map +1 -0
- package/dist/components/VListbox/VListboxChevron.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/VListbox/VListboxChevron.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxGroup.css +2 -0
- package/dist/components/VListbox/VListboxGroup.d.ts +27 -0
- package/dist/components/VListbox/VListboxGroup.js +9 -0
- package/dist/components/VListbox/VListboxGroup.js.map +1 -0
- package/dist/components/VListbox/VListboxGroup.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/VListbox/VListboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxOption.css +2 -0
- package/dist/components/{VCombobox/VComboboxOption.d.ts → VListbox/VListboxOption.d.ts} +4 -4
- package/dist/components/VListbox/VListboxOption.js +9 -0
- package/dist/components/VListbox/VListboxOption.js.map +1 -0
- package/dist/components/{VCombobox/VComboboxOption.vue_vue_type_script_setup_true_lang.js → VListbox/VListboxOption.vue_vue_type_script_setup_true_lang.js} +6 -6
- package/dist/components/VListbox/VListboxOption.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxPanel.css +2 -0
- package/dist/components/VListbox/VListboxPanel.d.ts +59 -0
- package/dist/components/VListbox/VListboxPanel.js +9 -0
- package/dist/components/VListbox/VListboxPanel.js.map +1 -0
- package/dist/components/VListbox/VListboxPanel.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/components/VListbox/VListboxPanel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxSeparator.css +2 -0
- package/dist/components/VListbox/VListboxSeparator.d.ts +3 -0
- package/dist/components/VListbox/VListboxSeparator.js +9 -0
- package/dist/components/VListbox/VListboxSeparator.js.map +1 -0
- package/dist/components/{VCombobox/VComboboxSeparator.vue_vue_type_script_setup_true_lang.js → VListbox/VListboxSeparator.vue_vue_type_script_setup_true_lang.js} +4 -4
- package/dist/components/VListbox/VListboxSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VListbox/VListboxValues.css +2 -0
- package/dist/components/VListbox/VListboxValues.d.ts +52 -0
- package/dist/components/VListbox/VListboxValues.js +9 -0
- package/dist/components/VListbox/VListboxValues.js.map +1 -0
- package/dist/components/VListbox/VListboxValues.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/components/VListbox/VListboxValues.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VMenu/VMenu.d.ts +1 -1
- package/dist/components/VMenu/VMenu.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/components/VMenu/VMenuItem.d.ts +1 -1
- package/dist/components/VMenu/VMenuItem.vue_vue_type_script_setup_true_lang.js +16 -16
- package/dist/components/VMenu/VMenuPanel.d.ts +2 -2
- package/dist/components/VMenu/VMenuPanel.js.map +1 -1
- package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VMeter/VMeter.css +2 -0
- package/dist/components/VMeter/VMeter.d.ts +77 -0
- package/dist/components/VMeter/VMeter.js +9 -0
- package/dist/components/VMeter/VMeter.js.map +1 -0
- package/dist/components/VMeter/VMeter.vue_vue_type_script_setup_true_lang.js +113 -0
- package/dist/components/VMeter/VMeter.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VNumberInput/VNumberInput.css +2 -0
- package/dist/components/VNumberInput/VNumberInput.d.ts +114 -0
- package/dist/components/VNumberInput/VNumberInput.js +9 -0
- package/dist/components/VNumberInput/VNumberInput.js.map +1 -0
- package/dist/components/VNumberInput/VNumberInput.vue_vue_type_script_setup_true_lang.js +251 -0
- package/dist/components/VNumberInput/VNumberInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VNumberInput/number.d.ts +30 -0
- package/dist/components/VNumberInput/number.js +38 -0
- package/dist/components/VNumberInput/number.js.map +1 -0
- package/dist/components/VPagination/VPagination.css +1 -1
- package/dist/components/VPagination/VPagination.d.ts +4 -12
- package/dist/components/VPagination/VPagination.js.map +1 -1
- package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js +89 -96
- package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VProgressCircular/VProgressCircular.d.ts +2 -2
- package/dist/components/VProgressLinear/VProgressLinear.css +1 -1
- package/dist/components/VProgressLinear/VProgressLinear.d.ts +10 -7
- package/dist/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/dist/components/VProgressLinear/VProgressLinear.vue_vue_type_script_setup_true_lang.js +52 -34
- package/dist/components/VProgressLinear/VProgressLinear.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VRadio/VRadio.d.ts +8 -3
- package/dist/components/VRadio/VRadio.js.map +1 -1
- package/dist/components/VRadio/VRadio.vue_vue_type_script_setup_true_lang.js +52 -46
- package/dist/components/VRadio/VRadio.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VRating/VRating.css +2 -0
- package/dist/components/VRating/VRating.d.ts +92 -0
- package/dist/components/VRating/VRating.js +9 -0
- package/dist/components/VRating/VRating.js.map +1 -0
- package/dist/components/VRating/VRating.vue_vue_type_script_setup_true_lang.js +158 -0
- package/dist/components/VRating/VRating.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VResizable/VResizable.css +2 -0
- package/dist/components/VResizable/VResizable.d.ts +50 -0
- package/dist/components/VResizable/VResizable.js +9 -0
- package/dist/components/VResizable/VResizable.js.map +1 -0
- package/dist/components/VResizable/VResizable.vue_vue_type_script_setup_true_lang.js +225 -0
- package/dist/components/VResizable/VResizable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VResizable/VResizablePanel.css +2 -0
- package/dist/components/VResizable/VResizablePanel.d.ts +60 -0
- package/dist/components/VResizable/VResizablePanel.js +9 -0
- package/dist/components/VResizable/VResizablePanel.js.map +1 -0
- package/dist/components/VResizable/VResizablePanel.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/VResizable/VResizablePanel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VResizable/context.d.ts +24 -0
- package/dist/components/VResizable/context.js +6 -0
- package/dist/components/VResizable/context.js.map +1 -0
- package/dist/components/VResizable/layout.d.ts +28 -0
- package/dist/components/VResizable/layout.js +41 -0
- package/dist/components/VResizable/layout.js.map +1 -0
- package/dist/components/VSelect/VSelect.css +2 -0
- package/dist/components/VSelect/VSelect.d.ts +193 -0
- package/dist/components/VSelect/VSelect.js +9 -0
- package/dist/components/VSelect/VSelect.js.map +1 -0
- package/dist/components/VSelect/VSelect.vue_vue_type_script_setup_true_lang.js +424 -0
- package/dist/components/VSelect/VSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VSeparator/VSeparator.js.map +1 -1
- package/dist/components/VSeparator/VSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VSideNavigation/VSideNavigation.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/VSideNavigation/VSideNavigationItem.d.ts +2 -2
- package/dist/components/VSideNavigation/VSideNavigationItem.js.map +1 -1
- package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VSkeletonLoader/VSkeletonLoader.d.ts +3 -3
- package/dist/components/VSlider/VSlider.css +1 -1
- package/dist/components/VSlider/VSlider.d.ts +34 -8
- package/dist/components/VSlider/VSlider.js.map +1 -1
- package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js +236 -215
- package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VSnackbar/VSnackbar.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/VSnackbar/state.js.map +1 -1
- package/dist/components/VSplitButton/VSplitButton.css +2 -0
- package/dist/components/VSplitButton/VSplitButton.d.ts +114 -0
- package/dist/components/VSplitButton/VSplitButton.js +9 -0
- package/dist/components/VSplitButton/VSplitButton.js.map +1 -0
- package/dist/components/VSplitButton/VSplitButton.vue_vue_type_script_setup_true_lang.js +148 -0
- package/dist/components/VSplitButton/VSplitButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VStepper/VStepper.css +2 -0
- package/dist/components/VStepper/VStepper.d.ts +73 -0
- package/dist/components/VStepper/VStepper.js +9 -0
- package/dist/components/VStepper/VStepper.js.map +1 -0
- package/dist/components/VStepper/VStepper.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/VStepper/VStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VSwitch/VSwitch.d.ts +8 -3
- package/dist/components/VSwitch/VSwitch.js.map +1 -1
- package/dist/components/VSwitch/VSwitch.vue_vue_type_script_setup_true_lang.js +53 -47
- package/dist/components/VSwitch/VSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTabs/VTab.css +1 -1
- package/dist/components/VTabs/VTab.d.ts +1 -1
- package/dist/components/VTabs/VTab.js.map +1 -1
- package/dist/components/VTabs/VTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTabs/VTabs.css +1 -1
- package/dist/components/VTabs/VTabs.d.ts +13 -5
- package/dist/components/VTabs/VTabs.js.map +1 -1
- package/dist/components/VTabs/VTabs.vue_vue_type_script_setup_true_lang.js +20 -20
- package/dist/components/VTabs/VTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTextarea/VTextarea.css +1 -1
- package/dist/components/VTextarea/VTextarea.d.ts +22 -2
- package/dist/components/VTextarea/VTextarea.js.map +1 -1
- package/dist/components/VTextarea/VTextarea.vue_vue_type_script_setup_true_lang.js +108 -100
- package/dist/components/VTextarea/VTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTimeInput/VTimeInput.d.ts +27 -7
- package/dist/components/VTimeInput/VTimeInput.js.map +1 -1
- package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js +187 -171
- package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTimePicker/VTimePicker.d.ts +2 -2
- package/dist/components/VTimePicker/VTimePicker.js.map +1 -1
- package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTimeline/VTimeline.css +2 -0
- package/dist/components/VTimeline/VTimeline.d.ts +59 -0
- package/dist/components/VTimeline/VTimeline.js +9 -0
- package/dist/components/VTimeline/VTimeline.js.map +1 -0
- package/dist/components/VTimeline/VTimeline.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/VTimeline/VTimeline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VTimeline/VTimelineItem.css +2 -0
- package/dist/components/VTimeline/VTimelineItem.d.ts +48 -0
- package/dist/components/VTimeline/VTimelineItem.js +9 -0
- package/dist/components/VTimeline/VTimelineItem.js.map +1 -0
- package/dist/components/VTimeline/VTimelineItem.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/VTimeline/VTimelineItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VTimeline/context.d.ts +11 -0
- package/dist/components/VTimeline/context.js +6 -0
- package/dist/components/VTimeline/context.js.map +1 -0
- package/dist/components/VTimeline/datetime.d.ts +8 -0
- package/dist/components/VTimeline/datetime.js +36 -0
- package/dist/components/VTimeline/datetime.js.map +1 -0
- package/dist/components/VToast/VToast.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/VToast/VToaster.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/components/VToggle/VToggle.d.ts +4 -4
- package/dist/components/VToggle/VToggleItem.d.ts +1 -1
- package/dist/components/VTooltip/VTooltip.d.ts +8 -2
- package/dist/components/VTooltip/VTooltip.js.map +1 -1
- package/dist/components/VTooltip/VTooltip.vue_vue_type_script_setup_true_lang.js +45 -43
- package/dist/components/VTooltip/VTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/VTreeView/VTreeView.css +2 -0
- package/dist/components/VTreeView/VTreeView.d.ts +112 -0
- package/dist/components/VTreeView/VTreeView.js +9 -0
- package/dist/components/VTreeView/VTreeView.js.map +1 -0
- package/dist/components/VTreeView/VTreeView.vue_vue_type_script_setup_true_lang.js +321 -0
- package/dist/components/VTreeView/VTreeView.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/VTypography/VTypography.d.ts +1 -1
- package/dist/components/VVirtualList/VVirtualList.css +2 -0
- package/dist/components/VVirtualList/VVirtualList.d.ts +78 -0
- package/dist/components/VVirtualList/VVirtualList.js +9 -0
- package/dist/components/VVirtualList/VVirtualList.js.map +1 -0
- package/dist/components/VVirtualList/VVirtualList.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/components/VVirtualList/VVirtualList.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composables/useChoice.d.ts +28 -0
- package/dist/composables/useChoice.js +28 -0
- package/dist/composables/useChoice.js.map +1 -0
- package/dist/composables/useDebouncedSearch.d.ts +17 -0
- package/dist/composables/useDebouncedSearch.js +18 -0
- package/dist/composables/useDebouncedSearch.js.map +1 -0
- package/dist/composables/useEscapeDismiss.d.ts +8 -0
- package/dist/composables/useEscapeDismiss.js +16 -0
- package/dist/composables/useEscapeDismiss.js.map +1 -0
- package/dist/composables/useFieldIds.d.ts +2 -1
- package/dist/composables/useFieldIds.js +7 -6
- package/dist/composables/useFieldIds.js.map +1 -1
- package/dist/composables/useFieldPanel.d.ts +1 -0
- package/dist/composables/useFieldPanel.js +52 -42
- package/dist/composables/useFieldPanel.js.map +1 -1
- package/dist/composables/useFileField.d.ts +1 -3
- package/dist/composables/useFileField.js +48 -50
- package/dist/composables/useFileField.js.map +1 -1
- package/dist/composables/useHotkeyListener.d.ts +17 -0
- package/dist/composables/useHotkeyListener.js +26 -0
- package/dist/composables/useHotkeyListener.js.map +1 -0
- package/dist/composables/useIconClickHandlers.d.ts +2 -10
- package/dist/composables/useIconClickHandlers.js +1 -1
- package/dist/composables/useIconClickHandlers.js.map +1 -1
- package/dist/{components/VCombobox/infiniteScroll.d.ts → composables/useInfiniteScroll.d.ts} +6 -0
- package/dist/{components/VCombobox/infiniteScroll.js → composables/useInfiniteScroll.js} +7 -7
- package/dist/composables/useInfiniteScroll.js.map +1 -0
- package/dist/composables/useListbox.d.ts +132 -0
- package/dist/composables/useListbox.js +227 -0
- package/dist/composables/useListbox.js.map +1 -0
- package/dist/composables/useModalDialog.d.ts +28 -0
- package/dist/composables/useModalDialog.js +60 -0
- package/dist/composables/useModalDialog.js.map +1 -0
- package/dist/composables/useRootAttrs.d.ts +2 -3
- package/dist/composables/useRootAttrs.js.map +1 -1
- package/dist/composables/useVirtualList.d.ts +46 -0
- package/dist/composables/useVirtualList.js +145 -0
- package/dist/composables/useVirtualList.js.map +1 -0
- package/dist/i18n/en.js +50 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.js +50 -0
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/types.d.ts +103 -2
- package/dist/icons.js +45 -37
- package/dist/index.d.ts +50 -4
- package/dist/index.js +80 -56
- package/dist/styles.css +1 -1
- package/dist/tokens/index.d.ts +43 -0
- package/dist/tokens/semantic.d.ts +42 -0
- package/dist/tokens/semantic.js +43 -1
- package/dist/tokens/semantic.js.map +1 -1
- package/dist/tokens/themes/dark.d.ts +1 -0
- package/dist/tokens/themes/dark.js +1 -0
- package/dist/tokens/themes/dark.js.map +1 -1
- package/dist/tokens.json +215 -1
- package/dist/types.d.ts +57 -4
- package/dist/utils/arrowNav.js.map +1 -1
- package/dist/utils/attrs.d.ts +9 -0
- package/dist/utils/attrs.js +14 -0
- package/dist/utils/attrs.js.map +1 -0
- package/dist/utils/date.d.ts +1 -0
- package/dist/utils/date.js +2 -2
- package/dist/utils/date.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/VCombobox/VComboboxGroup.css +0 -2
- package/dist/components/VCombobox/VComboboxGroup.d.ts +0 -17
- package/dist/components/VCombobox/VComboboxGroup.js +0 -9
- package/dist/components/VCombobox/VComboboxGroup.js.map +0 -1
- package/dist/components/VCombobox/VComboboxGroup.vue_vue_type_script_setup_true_lang.js +0 -21
- package/dist/components/VCombobox/VComboboxGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/VCombobox/VComboboxOption.css +0 -2
- package/dist/components/VCombobox/VComboboxOption.js +0 -9
- package/dist/components/VCombobox/VComboboxOption.js.map +0 -1
- package/dist/components/VCombobox/VComboboxOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/VCombobox/VComboboxSeparator.css +0 -2
- package/dist/components/VCombobox/VComboboxSeparator.js +0 -9
- package/dist/components/VCombobox/VComboboxSeparator.js.map +0 -1
- package/dist/components/VCombobox/VComboboxSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/VCombobox/infiniteScroll.js.map +0 -1
- /package/dist/components/{VCombobox/VComboboxSeparator.d.ts → VCheckbox/VCheckMark.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/VTimeline/context.ts"],"sourcesContent":["/**\n * What a VTimeline shares with its events: how they are laid out, which an event marks on itself\n * so that a timeline nested in its content keeps its own layout, and how titles and dates are\n * written.\n */\n\nimport type { InjectionKey } from 'vue'\n\n/** The heading level the titles of the events are rendered at. */\nexport type TimelineHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6\n\nexport interface TimelineContext {\n orientation: 'vertical' | 'horizontal'\n layout: 'stacked' | 'split' | 'alternate'\n headingLevel: TimelineHeadingLevel | undefined\n locale: string | undefined\n formatOptions: Intl.DateTimeFormatOptions | undefined\n}\n\nexport const timelineKey: InjectionKey<TimelineContext> = Symbol('v-timeline')\n"],"mappings":";AAmBA,IAAa,IAA6C,OAAO,YAAY"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Writes out the moment of a timeline event at the precision its ISO string gives. */
|
|
2
|
+
/**
|
|
3
|
+
* The text shown for `datetime`. A year (`2019`) is written as a year and a month (`2026-10`) as
|
|
4
|
+
* a month; `options` replaces the format of a day (`2026-10-06`) or of a moment
|
|
5
|
+
* (`2026-10-06T14:30`), which are `dateStyle: 'medium'`, plus `timeStyle: 'short'` for a moment.
|
|
6
|
+
* A value the browser cannot read is shown as it is.
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatTimelineDate(datetime: string, locale: string, options?: Intl.DateTimeFormatOptions): string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { memo as e } from "../../utils/memo.js";
|
|
2
|
+
import { parseISO as t } from "../../utils/date.js";
|
|
3
|
+
//#region src/components/VTimeline/datetime.ts
|
|
4
|
+
var n = /^(\d{4})$/, r = /^(\d{4})-(\d{2})$/, i = /^\d{4}-\d{2}-\d{2}$/, a = { year: "numeric" }, o = {
|
|
5
|
+
year: "numeric",
|
|
6
|
+
month: "long"
|
|
7
|
+
}, s = { dateStyle: "medium" }, c = {
|
|
8
|
+
dateStyle: "medium",
|
|
9
|
+
timeStyle: "short"
|
|
10
|
+
}, l = /* @__PURE__ */ new Map();
|
|
11
|
+
function u(t, n) {
|
|
12
|
+
return e(l, `${t}|${JSON.stringify(n)}`, () => new Intl.DateTimeFormat(t, n));
|
|
13
|
+
}
|
|
14
|
+
function d(e, t) {
|
|
15
|
+
let n = new Date(2e3, t, 1);
|
|
16
|
+
return n.setFullYear(e, t, 1), n;
|
|
17
|
+
}
|
|
18
|
+
function f(e, l, f) {
|
|
19
|
+
let p = n.exec(e);
|
|
20
|
+
if (p) return u(l, a).format(d(Number(p[1]), 0));
|
|
21
|
+
let m = r.exec(e);
|
|
22
|
+
if (m) {
|
|
23
|
+
let t = Number(m[2]) - 1;
|
|
24
|
+
return t < 0 || t > 11 ? e : u(l, o).format(d(Number(m[1]), t));
|
|
25
|
+
}
|
|
26
|
+
if (i.test(e)) {
|
|
27
|
+
let n = t(e);
|
|
28
|
+
return n ? u(l, f ?? s).format(n) : e;
|
|
29
|
+
}
|
|
30
|
+
let h = new Date(e);
|
|
31
|
+
return Number.isNaN(h.getTime()) ? e : u(l, f ?? c).format(h);
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { f as formatTimelineDate };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","names":[],"sources":["../../../src/components/VTimeline/datetime.ts"],"sourcesContent":["// @ssr\n/** Writes out the moment of a timeline event at the precision its ISO string gives. */\n\nimport { parseISO } from '../../utils/date'\nimport { memo } from '../../utils/memo'\n\nconst YEAR_RE = /^(\\d{4})$/\nconst MONTH_RE = /^(\\d{4})-(\\d{2})$/\nconst DAY_RE = /^\\d{4}-\\d{2}-\\d{2}$/\n\nconst YEAR_FORMAT: Intl.DateTimeFormatOptions = { year: 'numeric' }\nconst MONTH_FORMAT: Intl.DateTimeFormatOptions = { year: 'numeric', month: 'long' }\nconst DAY_FORMAT: Intl.DateTimeFormatOptions = { dateStyle: 'medium' }\nconst DATETIME_FORMAT: Intl.DateTimeFormatOptions = { dateStyle: 'medium', timeStyle: 'short' }\n\nconst formatters = new Map<string, Intl.DateTimeFormat>()\n\nfunction formatterFor(locale: string, options: Intl.DateTimeFormatOptions): Intl.DateTimeFormat {\n return memo(\n formatters,\n `${locale}|${JSON.stringify(options)}`,\n () => new Intl.DateTimeFormat(locale, options),\n )\n}\n\n/** A year or a month read at local time, like a calendar date. */\nfunction localMonth(year: number, month0: number): Date {\n const date = new Date(2000, month0, 1)\n date.setFullYear(year, month0, 1)\n return date\n}\n\n/**\n * The text shown for `datetime`. A year (`2019`) is written as a year and a month (`2026-10`) as\n * a month; `options` replaces the format of a day (`2026-10-06`) or of a moment\n * (`2026-10-06T14:30`), which are `dateStyle: 'medium'`, plus `timeStyle: 'short'` for a moment.\n * A value the browser cannot read is shown as it is.\n */\nexport function formatTimelineDate(\n datetime: string,\n locale: string,\n options?: Intl.DateTimeFormatOptions,\n): string {\n const year = YEAR_RE.exec(datetime)\n if (year) return formatterFor(locale, YEAR_FORMAT).format(localMonth(Number(year[1]), 0))\n\n const month = MONTH_RE.exec(datetime)\n if (month) {\n const month0 = Number(month[2]) - 1\n if (month0 < 0 || month0 > 11) return datetime\n return formatterFor(locale, MONTH_FORMAT).format(localMonth(Number(month[1]), month0))\n }\n\n if (DAY_RE.test(datetime)) {\n const day = parseISO(datetime)\n return day ? formatterFor(locale, options ?? DAY_FORMAT).format(day) : datetime\n }\n\n // A moment without an offset is read at local time, one with an offset (`Z`, `+02:00`) as the\n // instant it names, shown in the time zone the code runs in unless `options` sets one.\n const moment = new Date(datetime)\n if (Number.isNaN(moment.getTime())) return datetime\n return formatterFor(locale, options ?? DATETIME_FORMAT).format(moment)\n}\n"],"mappings":";;;AAMA,IAAM,IAAU,aACV,IAAW,qBACX,IAAS,uBAET,IAA0C,EAAE,MAAM,UAAU,GAC5D,IAA2C;CAAE,MAAM;CAAW,OAAO;AAAO,GAC5E,IAAyC,EAAE,WAAW,SAAS,GAC/D,IAA8C;CAAE,WAAW;CAAU,WAAW;AAAQ,GAExF,oBAAa,IAAI,IAAiC;AAExD,SAAS,EAAa,GAAgB,GAA0D;CAC9F,OAAO,EACL,GACA,GAAG,EAAO,GAAG,KAAK,UAAU,CAAO,WAC7B,IAAI,KAAK,eAAe,GAAQ,CAAO,CAC/C;AACF;AAGA,SAAS,EAAW,GAAc,GAAsB;CACtD,IAAM,IAAO,IAAI,KAAK,KAAM,GAAQ,CAAC;CAErC,OADA,EAAK,YAAY,GAAM,GAAQ,CAAC,GACzB;AACT;AAQA,SAAgB,EACd,GACA,GACA,GACQ;CACR,IAAM,IAAO,EAAQ,KAAK,CAAQ;CAClC,IAAI,GAAM,OAAO,EAAa,GAAQ,CAAW,CAAC,CAAC,OAAO,EAAW,OAAO,EAAK,EAAE,GAAG,CAAC,CAAC;CAExF,IAAM,IAAQ,EAAS,KAAK,CAAQ;CACpC,IAAI,GAAO;EACT,IAAM,IAAS,OAAO,EAAM,EAAE,IAAI;EAElC,OADI,IAAS,KAAK,IAAS,KAAW,IAC/B,EAAa,GAAQ,CAAY,CAAC,CAAC,OAAO,EAAW,OAAO,EAAM,EAAE,GAAG,CAAM,CAAC;CACvF;CAEA,IAAI,EAAO,KAAK,CAAQ,GAAG;EACzB,IAAM,IAAM,EAAS,CAAQ;EAC7B,OAAO,IAAM,EAAa,GAAQ,KAAW,CAAU,CAAC,CAAC,OAAO,CAAG,IAAI;CACzE;CAIA,IAAM,IAAS,IAAI,KAAK,CAAQ;CAEhC,OADI,OAAO,MAAM,EAAO,QAAQ,CAAC,IAAU,IACpC,EAAa,GAAQ,KAAW,CAAe,CAAC,CAAC,OAAO,CAAM;AACvE"}
|
|
@@ -2,9 +2,9 @@ import { iconProps as e } from "../VIcon/iconProps.js";
|
|
|
2
2
|
import { cssSize as t } from "../../utils/css.js";
|
|
3
3
|
import n from "../VIcon/VIcon.js";
|
|
4
4
|
import r from "../VIconButton/VIconButton.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { error as i } from "../VIcon/icons/error.js";
|
|
6
|
+
import { close as a } from "../VIcon/icons/close.js";
|
|
7
|
+
import { check_circle as o } from "../VIcon/icons/check_circle.js";
|
|
8
8
|
import { info as s } from "../VIcon/icons/info.js";
|
|
9
9
|
import { notifications as c } from "../VIcon/icons/notifications.js";
|
|
10
10
|
import { warning as l } from "../VIcon/icons/warning.js";
|
|
@@ -24,11 +24,11 @@ var C = ["data-tone", "data-variant"], w = { class: "v-banner-text v-toast-body"
|
|
|
24
24
|
let O = g, k = D, A = {
|
|
25
25
|
neutral: c,
|
|
26
26
|
accent: s,
|
|
27
|
-
success:
|
|
28
|
-
danger:
|
|
27
|
+
success: o,
|
|
28
|
+
danger: i,
|
|
29
29
|
warning: l
|
|
30
30
|
}, j = u(() => O.item.icon === !1 ? void 0 : e(O.item.icon ?? A[O.item.tone]));
|
|
31
|
-
return (e,
|
|
31
|
+
return (e, i) => (y(), p("div", {
|
|
32
32
|
class: "v-banner v-toast v-tone",
|
|
33
33
|
"data-tone": g.item.tone,
|
|
34
34
|
"data-variant": g.item.variant,
|
|
@@ -44,9 +44,9 @@ var C = ["data-tone", "data-variant"], w = { class: "v-banner-text v-toast-body"
|
|
|
44
44
|
class: "v-banner-control v-toast-close",
|
|
45
45
|
label: g.closeLabel,
|
|
46
46
|
size: "sm",
|
|
47
|
-
onClick:
|
|
47
|
+
onClick: i[0] ||= (e) => k("close", g.item.id)
|
|
48
48
|
}, {
|
|
49
|
-
default: S(() => [h(n, { name: x(
|
|
49
|
+
default: S(() => [h(n, { name: x(a) }, null, 8, ["name"])]),
|
|
50
50
|
_: 1
|
|
51
51
|
}, 8, ["label"]))
|
|
52
52
|
], 12, C));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useMessages as e } from "../../i18n/state.js";
|
|
2
2
|
import { usePopover as t } from "../../composables/usePopover.js";
|
|
3
3
|
import { useAriaLabel as n } from "../../composables/useAriaLabel.js";
|
|
4
|
-
import r from "
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
4
|
+
import { useLiveAnnouncer as r } from "../../composables/useLiveAnnouncer.js";
|
|
5
|
+
import i from "./VToast.js";
|
|
6
|
+
import { dismissToast as a, toasts as o } from "./state.js";
|
|
7
7
|
import { Fragment as s, computed as c, createBlock as l, createElementBlock as u, createElementVNode as d, defineComponent as f, nextTick as p, onBeforeUnmount as m, onMounted as h, openBlock as g, ref as _, renderList as v, toDisplayString as y, unref as b, watch as x } from "vue";
|
|
8
8
|
//#region src/components/VToast/VToaster.vue?vue&type=script&setup=true&lang.ts
|
|
9
9
|
var S = [
|
|
@@ -39,7 +39,7 @@ var S = [
|
|
|
39
39
|
"bottom-right"
|
|
40
40
|
], A = c(() => {
|
|
41
41
|
let e = /* @__PURE__ */ new Map();
|
|
42
|
-
for (let t of
|
|
42
|
+
for (let t of o) {
|
|
43
43
|
let n = L(t), r = e.get(n);
|
|
44
44
|
r ? r.push(t) : e.set(n, [t]);
|
|
45
45
|
}
|
|
@@ -66,16 +66,16 @@ var S = [
|
|
|
66
66
|
function B(e) {
|
|
67
67
|
let t = e.duration ?? T.duration;
|
|
68
68
|
t <= 0 || P.has(e.id) || P.set(e.id, setTimeout(() => {
|
|
69
|
-
P.delete(e.id),
|
|
69
|
+
P.delete(e.id), a(e.id);
|
|
70
70
|
}, t));
|
|
71
71
|
}
|
|
72
72
|
function V() {
|
|
73
|
-
let e = new Set(
|
|
73
|
+
let e = new Set(o.map((e) => e.id));
|
|
74
74
|
for (let t of P.keys()) e.has(t) || z(t);
|
|
75
75
|
for (let t of q) e.has(t) || q.delete(t);
|
|
76
|
-
for (let e of
|
|
76
|
+
for (let e of o) q.has(e.id) || (q.add(e.id), K([e.title, e.message].filter(Boolean).join(". "), e.tone === "danger" || e.tone === "warning"));
|
|
77
77
|
for (let e of k) (M.get(e)?.el.value)?.contains(document.activeElement) || I.delete(e), (A.value.get(e)?.length ?? 0) === 0 && F.delete(e);
|
|
78
|
-
for (let e of
|
|
78
|
+
for (let e of o) R(L(e)) ? z(e.id) : B(e);
|
|
79
79
|
for (let e of k) {
|
|
80
80
|
let t = M.get(e);
|
|
81
81
|
t?.el.value && ((A.value.get(e)?.length ?? 0) > 0 ? t.show() : t.hide());
|
|
@@ -89,14 +89,14 @@ var S = [
|
|
|
89
89
|
function U(e, t) {
|
|
90
90
|
if ((t === "pointer" ? F : I).delete(e), !R(e)) for (let t of A.value.get(e) ?? []) B(t);
|
|
91
91
|
}
|
|
92
|
-
let { polite: W, assertive: G, announce: K } =
|
|
92
|
+
let { polite: W, assertive: G, announce: K } = r(), q = /* @__PURE__ */ new Set(), J = /* @__PURE__ */ new Map();
|
|
93
93
|
function Y(e, t) {
|
|
94
94
|
let n = t.relatedTarget, r = M.get(e)?.el.value;
|
|
95
95
|
n && !r?.contains(n) && J.set(e, n), H(e, "focus");
|
|
96
96
|
}
|
|
97
97
|
function X(e) {
|
|
98
|
-
let t =
|
|
99
|
-
|
|
98
|
+
let t = o.find((t) => t.id === e), n = t ? L(t) : void 0, r = n ? M.get(n)?.el.value : null, i = !!r?.contains(document.activeElement);
|
|
99
|
+
a(e), !(!i || !n) && p(() => {
|
|
100
100
|
let e = r?.querySelector(".v-toast-close"), t = J.get(n);
|
|
101
101
|
e ? e.focus() : t?.isConnected && t.focus();
|
|
102
102
|
});
|
|
@@ -126,7 +126,7 @@ var S = [
|
|
|
126
126
|
onFocusout: (t) => U(e, "focus"),
|
|
127
127
|
onBeforetoggle: (t) => N(e, t),
|
|
128
128
|
onToggle: (t) => N(e, t)
|
|
129
|
-
}, [(g(!0), u(s, null, v(A.value.get(e) ?? [], (e) => (g(), l(
|
|
129
|
+
}, [(g(!0), u(s, null, v(A.value.get(e) ?? [], (e) => (g(), l(i, {
|
|
130
130
|
key: e.id,
|
|
131
131
|
item: e,
|
|
132
132
|
"close-label": O.value,
|
|
@@ -107,17 +107,17 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
107
107
|
label: string;
|
|
108
108
|
size: ToggleSize;
|
|
109
109
|
tone: ToggleTone;
|
|
110
|
+
compact: boolean;
|
|
111
|
+
disabled: boolean;
|
|
112
|
+
mandatory: boolean;
|
|
113
|
+
multiple: boolean;
|
|
110
114
|
orientation: ToggleOrientation;
|
|
111
115
|
elevated: boolean;
|
|
112
|
-
compact: boolean;
|
|
113
116
|
fullWidth: boolean;
|
|
114
|
-
disabled: boolean;
|
|
115
117
|
detached: boolean;
|
|
116
118
|
bordered: boolean;
|
|
117
119
|
itemVariant: ToggleItemVariant;
|
|
118
120
|
selectedVariant: ToggleSelectedVariant;
|
|
119
|
-
multiple: boolean;
|
|
120
|
-
mandatory: boolean;
|
|
121
121
|
selectedIconFilled: boolean;
|
|
122
122
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
123
123
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -30,10 +30,10 @@ type __VLS_Slots = {
|
|
|
30
30
|
};
|
|
31
31
|
declare const __VLS_base: import('vue').DefineComponent<ToggleItemProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ToggleItemProps> & Readonly<{}>, {
|
|
32
32
|
label: string;
|
|
33
|
-
disabled: boolean;
|
|
34
33
|
iconStart: IconSource;
|
|
35
34
|
iconEnd: IconSource;
|
|
36
35
|
iconFilled: boolean;
|
|
36
|
+
disabled: boolean;
|
|
37
37
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
38
38
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
39
|
declare const _default: typeof __VLS_export;
|
|
@@ -13,7 +13,12 @@ interface TooltipProps {
|
|
|
13
13
|
*/
|
|
14
14
|
placement?: TooltipPlacement;
|
|
15
15
|
/** How long the pointer must rest on the element before the tooltip appears, in milliseconds. */
|
|
16
|
-
|
|
16
|
+
openDelay?: number;
|
|
17
|
+
/**
|
|
18
|
+
* How long the tooltip stays once the pointer has left both the element and the tooltip, in
|
|
19
|
+
* milliseconds. It is the time to cross the gap between them.
|
|
20
|
+
*/
|
|
21
|
+
closeDelay?: number;
|
|
17
22
|
}
|
|
18
23
|
type __VLS_Slots = {
|
|
19
24
|
/** The element the tooltip describes. */
|
|
@@ -34,7 +39,8 @@ declare const __VLS_base: import('vue').DefineComponent<TooltipProps, {
|
|
|
34
39
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<TooltipProps> & Readonly<{}>, {
|
|
35
40
|
text: string;
|
|
36
41
|
placement: TooltipPlacement;
|
|
37
|
-
|
|
42
|
+
openDelay: number;
|
|
43
|
+
closeDelay: number;
|
|
38
44
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
39
45
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
40
46
|
declare const _default: typeof __VLS_export;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTooltip.js","names":[],"sources":["../../../src/components/VTooltip/VTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Use a manual VPopover because tooltip hover, focus, delay and Escape policies differ from\n * native light dismissal. Pointer movement may require keeping the bubble open.\n */\n\nimport { computed,
|
|
1
|
+
{"version":3,"file":"VTooltip.js","names":[],"sources":["../../../src/components/VTooltip/VTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Use a manual VPopover because tooltip hover, focus, delay and Escape policies differ from\n * native light dismissal. Pointer movement may require keeping the bubble open.\n */\n\nimport { computed, ref, useId } from 'vue'\n\nimport VPopover from '../VPopover/VPopover.vue'\n\nimport { useEscapeDismiss } from '../../composables/useEscapeDismiss'\nimport { useTimer } from '../../composables/useTimer'\nimport { isKeyboardFocus } from '../../utils/focus'\n\n/** Which side of the element the tooltip appears on. */\nexport type TooltipPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n\n/** What the described element has to carry: the link to the tooltip that describes it. */\nexport type TooltipTriggerProps = {\n 'aria-describedby': string\n}\n\ninterface TooltipProps {\n /** What the tooltip says. The `#content` slot replaces it when both are given. */\n text?: string\n /**\n * Which side of the element the tooltip appears on. The browser flips it to the\n * opposite side by itself when there is not enough room.\n */\n placement?: TooltipPlacement\n /** How long the pointer must rest on the element before the tooltip appears, in milliseconds. */\n openDelay?: number\n /**\n * How long the tooltip stays once the pointer has left both the element and the tooltip, in\n * milliseconds. It is the time to cross the gap between them.\n */\n closeDelay?: number\n}\n\nconst props = withDefaults(defineProps<TooltipProps>(), {\n text: undefined,\n placement: 'top',\n openDelay: 300,\n closeDelay: 100,\n})\n\ndefineSlots<{\n /** The element the tooltip describes. */\n default(props: { triggerProps: TooltipTriggerProps }): unknown\n /** Content richer than a plain string: formatting, a keyboard shortcut, an icon. */\n content?(): unknown\n}>()\n\nconst tooltipId = useId()\n// @a11y\n/*\n * Keyboard focus has to open it synchronously, and a model would go through VPopover's watcher,\n * hence through a tick. There is nothing lost either way: a tooltip publishes no open state\n * anyone needs to read.\n */\nconst popoverRef = ref<InstanceType<typeof VPopover> | null>(null)\n\n// The delay before appearing. useTimer is what makes it re-armable and cancels it\n// when the component goes away.\nconst timer = useTimer()\n\nlet hovered = false\nlet focused = false\n\n// @core\nfunction show(immediate = false) {\n // A delay of 0 runs the callback synchronously; the design system's convention, and what lets\n // keyboard focus share this code path without waiting a tick.\n timer.start(() => popoverRef.value?.show(), immediate ? 0 : props.openDelay)\n}\n\nfunction hide() {\n timer.cancel()\n popoverRef.value?.close()\n}\n\nfunction onPointerEnter() {\n hovered = true\n show()\n}\n\nfunction onPointerLeave() {\n hovered = false\n if (focused) return\n timer.start(() => popoverRef.value?.close(), props.closeDelay)\n}\n\nfunction onPointerDown() {\n hovered = false\n focused = false\n hide()\n}\n\nfunction onFocusOut() {\n focused = false\n if (!hovered) hide()\n}\n\n// @a11y\n/*\n * The tooltip belongs to the KEYBOARD focus, and a `focusin` says the focus arrived, never how\n * it got there. `:focus-visible` is the browser's own answer to the question, the same one\n * VMenu asks to decide where a menu's focus lands.\n */\nfunction onFocusIn(event: FocusEvent) {\n if (!isKeyboardFocus(event.target)) return\n focused = true\n show(true)\n}\n\n// Escape hides the tooltip without moving the focus anywhere.\nconst onOpenChange = useEscapeDismiss(() => {\n hovered = false\n focused = false\n hide()\n})\n\ndefineExpose({\n /** Shows the tooltip at once, without the hover delay. */\n show: () => show(true),\n /** Hides the tooltip. */\n close: hide,\n /** The tooltip bubble. */\n el: computed(() => popoverRef.value?.el ?? null),\n})\n</script>\n\n<template>\n <!--\n Close on pointerdown so a tooltip cannot remain above a dialog or menu opened by its\n trigger.\n -->\n <span\n class=\"v-tooltip\"\n @pointerenter=\"onPointerEnter\"\n @pointerleave=\"onPointerLeave\"\n @pointerdown=\"onPointerDown\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\"\n >\n <slot :trigger-props=\"{ 'aria-describedby': tooltipId }\" />\n <VPopover\n :id=\"tooltipId\"\n ref=\"popoverRef\"\n mode=\"manual\"\n anchor=\"--tooltip-anchor\"\n :placement=\"placement\"\n bare\n role=\"tooltip\"\n class=\"v-tooltip-panel\"\n @update:open=\"onOpenChange\"\n >\n <slot name=\"content\">{{ text }}</slot>\n </VPopover>\n </span>\n</template>\n\n<style>\n@layer vectis.components {\n /*\n * A wrapper stretched by a parent in `align-items: stretch` would otherwise stretch the\n * trigger with it, where the inline-block form left it at its natural height.\n */\n .v-tooltip {\n display: inline-flex;\n align-items: center;\n anchor-name: --tooltip-anchor;\n /*\n * Confining the name to this subtree is indispensable: a visible panel moves to the top\n * layer, where anchor resolution treats it as coming after the whole document, so without\n * it every tooltip would attach to the last wrapper carrying this name.\n */\n anchor-scope: --tooltip-anchor;\n }\n\n /*\n * Compound the panel classes so chrome overrides remain independent of VPopover stylesheet\n * order, including if bare changes.\n */\n .v-popover-panel.v-tooltip-panel {\n inline-size: max-content;\n max-inline-size: min(\n var(--vectis-control-size-tooltip-max),\n calc(100dvi - var(--vectis-space-8))\n );\n padding: var(--vectis-space-1) var(--vectis-space-2);\n /* The tooltip is painted against the page rather than with it: a dark surface in\n both themes, darker still in the dark one, so it reads as an overlay whatever\n it happens to cover. */\n background: var(--vectis-color-surface-inverse);\n color: var(--vectis-color-text-on-inverse);\n border: none;\n /* The control radius capped at half the height of a ONE-line bubble, the row recipe\n of VSideNavigationItem: a tooltip wraps past its max-inline-size, and under a pill\n override a two-line bubble would otherwise round to half of its own height. */\n border-radius: min(var(--vectis-radius-interactive), calc(0.5lh + var(--vectis-space-1)));\n box-shadow: var(--vectis-shadow-sm);\n font-family: var(--vectis-text-family);\n font-size: var(--vectis-text-caption-size);\n line-height: var(--vectis-text-caption-leading);\n }\n\n /* An outline draws one without moving the layout by a pixel. */\n @media (forced-colors: active) {\n .v-popover-panel.v-tooltip-panel {\n outline: 1px solid CanvasText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,74 +1,76 @@
|
|
|
1
1
|
import e from "../VPopover/VPopover.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { isKeyboardFocus as t } from "../../utils/focus.js";
|
|
3
|
+
import { useTimer as n } from "../../composables/useTimer.js";
|
|
4
|
+
import { useEscapeDismiss as r } from "../../composables/useEscapeDismiss.js";
|
|
5
|
+
import { computed as i, createElementBlock as a, createTextVNode as o, createVNode as s, defineComponent as c, openBlock as l, ref as u, renderSlot as d, toDisplayString as f, unref as p, useId as m, withCtx as h } from "vue";
|
|
5
6
|
//#region src/components/VTooltip/VTooltip.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var g =
|
|
7
|
+
var g = /*@__PURE__*/ c({
|
|
7
8
|
__name: "VTooltip",
|
|
8
9
|
props: {
|
|
9
10
|
text: { default: void 0 },
|
|
10
11
|
placement: { default: "top" },
|
|
11
|
-
|
|
12
|
+
openDelay: { default: 300 },
|
|
13
|
+
closeDelay: { default: 100 }
|
|
12
14
|
},
|
|
13
|
-
setup(
|
|
14
|
-
let
|
|
15
|
-
function
|
|
16
|
-
|
|
15
|
+
setup(c, { expose: g }) {
|
|
16
|
+
let _ = c, v = m(), y = u(null), b = n(), x = !1, S = !1;
|
|
17
|
+
function C(e = !1) {
|
|
18
|
+
b.start(() => y.value?.show(), e ? 0 : _.openDelay);
|
|
19
|
+
}
|
|
20
|
+
function w() {
|
|
21
|
+
b.cancel(), y.value?.close();
|
|
17
22
|
}
|
|
18
23
|
function T() {
|
|
19
|
-
x
|
|
24
|
+
x = !0, C();
|
|
20
25
|
}
|
|
21
26
|
function E() {
|
|
22
|
-
|
|
27
|
+
x = !1, !S && b.start(() => y.value?.close(), _.closeDelay);
|
|
23
28
|
}
|
|
24
29
|
function D() {
|
|
25
|
-
|
|
30
|
+
x = !1, S = !1, w();
|
|
26
31
|
}
|
|
27
32
|
function O() {
|
|
28
|
-
S = !1,
|
|
29
|
-
}
|
|
30
|
-
function k() {
|
|
31
|
-
C = !1, S || T();
|
|
32
|
-
}
|
|
33
|
-
function A(e) {
|
|
34
|
-
n(e.target) && (C = !0, w(!0));
|
|
35
|
-
}
|
|
36
|
-
function j(e) {
|
|
37
|
-
e.key !== "Escape" || e.defaultPrevented || (e.preventDefault(), S = !1, C = !1, T());
|
|
33
|
+
S = !1, x || w();
|
|
38
34
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
e !== M && (M = e, e ? document.addEventListener("keydown", j) : document.removeEventListener("keydown", j));
|
|
35
|
+
function k(e) {
|
|
36
|
+
t(e.target) && (S = !0, C(!0));
|
|
42
37
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
let A = r(() => {
|
|
39
|
+
x = !1, S = !1, w();
|
|
40
|
+
});
|
|
41
|
+
return g({
|
|
42
|
+
show: () => C(!0),
|
|
43
|
+
close: w,
|
|
44
|
+
el: i(() => y.value?.el ?? null)
|
|
45
|
+
}), (t, n) => (l(), a("span", {
|
|
48
46
|
class: "v-tooltip",
|
|
49
|
-
onPointerenter:
|
|
50
|
-
onPointerleave:
|
|
51
|
-
onPointerdown:
|
|
52
|
-
onFocusin:
|
|
53
|
-
onFocusout:
|
|
54
|
-
}, [d(t.$slots, "default", { triggerProps: { "aria-describedby": p(
|
|
55
|
-
id: p(
|
|
47
|
+
onPointerenter: T,
|
|
48
|
+
onPointerleave: E,
|
|
49
|
+
onPointerdown: D,
|
|
50
|
+
onFocusin: k,
|
|
51
|
+
onFocusout: O
|
|
52
|
+
}, [d(t.$slots, "default", { triggerProps: { "aria-describedby": p(v) } }), s(e, {
|
|
53
|
+
id: p(v),
|
|
56
54
|
ref_key: "popoverRef",
|
|
57
|
-
ref:
|
|
55
|
+
ref: y,
|
|
58
56
|
mode: "manual",
|
|
59
57
|
anchor: "--tooltip-anchor",
|
|
60
|
-
placement:
|
|
58
|
+
placement: c.placement,
|
|
61
59
|
bare: "",
|
|
62
60
|
role: "tooltip",
|
|
63
61
|
class: "v-tooltip-panel",
|
|
64
|
-
"onUpdate:open":
|
|
62
|
+
"onUpdate:open": p(A)
|
|
65
63
|
}, {
|
|
66
|
-
default: h(() => [d(t.$slots, "content", {}, () => [
|
|
64
|
+
default: h(() => [d(t.$slots, "content", {}, () => [o(f(c.text), 1)])]),
|
|
67
65
|
_: 3
|
|
68
|
-
}, 8, [
|
|
66
|
+
}, 8, [
|
|
67
|
+
"id",
|
|
68
|
+
"placement",
|
|
69
|
+
"onUpdate:open"
|
|
70
|
+
])], 32));
|
|
69
71
|
}
|
|
70
72
|
});
|
|
71
73
|
//#endregion
|
|
72
|
-
export {
|
|
74
|
+
export { g as default };
|
|
73
75
|
|
|
74
76
|
//# sourceMappingURL=VTooltip.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTooltip.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/VTooltip/VTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Use a manual VPopover because tooltip hover, focus, delay and Escape policies differ from\n * native light dismissal. Pointer movement may require keeping the bubble open.\n */\n\nimport { computed,
|
|
1
|
+
{"version":3,"file":"VTooltip.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/VTooltip/VTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Use a manual VPopover because tooltip hover, focus, delay and Escape policies differ from\n * native light dismissal. Pointer movement may require keeping the bubble open.\n */\n\nimport { computed, ref, useId } from 'vue'\n\nimport VPopover from '../VPopover/VPopover.vue'\n\nimport { useEscapeDismiss } from '../../composables/useEscapeDismiss'\nimport { useTimer } from '../../composables/useTimer'\nimport { isKeyboardFocus } from '../../utils/focus'\n\n/** Which side of the element the tooltip appears on. */\nexport type TooltipPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n\n/** What the described element has to carry: the link to the tooltip that describes it. */\nexport type TooltipTriggerProps = {\n 'aria-describedby': string\n}\n\ninterface TooltipProps {\n /** What the tooltip says. The `#content` slot replaces it when both are given. */\n text?: string\n /**\n * Which side of the element the tooltip appears on. The browser flips it to the\n * opposite side by itself when there is not enough room.\n */\n placement?: TooltipPlacement\n /** How long the pointer must rest on the element before the tooltip appears, in milliseconds. */\n openDelay?: number\n /**\n * How long the tooltip stays once the pointer has left both the element and the tooltip, in\n * milliseconds. It is the time to cross the gap between them.\n */\n closeDelay?: number\n}\n\nconst props = withDefaults(defineProps<TooltipProps>(), {\n text: undefined,\n placement: 'top',\n openDelay: 300,\n closeDelay: 100,\n})\n\ndefineSlots<{\n /** The element the tooltip describes. */\n default(props: { triggerProps: TooltipTriggerProps }): unknown\n /** Content richer than a plain string: formatting, a keyboard shortcut, an icon. */\n content?(): unknown\n}>()\n\nconst tooltipId = useId()\n// @a11y\n/*\n * Keyboard focus has to open it synchronously, and a model would go through VPopover's watcher,\n * hence through a tick. There is nothing lost either way: a tooltip publishes no open state\n * anyone needs to read.\n */\nconst popoverRef = ref<InstanceType<typeof VPopover> | null>(null)\n\n// The delay before appearing. useTimer is what makes it re-armable and cancels it\n// when the component goes away.\nconst timer = useTimer()\n\nlet hovered = false\nlet focused = false\n\n// @core\nfunction show(immediate = false) {\n // A delay of 0 runs the callback synchronously; the design system's convention, and what lets\n // keyboard focus share this code path without waiting a tick.\n timer.start(() => popoverRef.value?.show(), immediate ? 0 : props.openDelay)\n}\n\nfunction hide() {\n timer.cancel()\n popoverRef.value?.close()\n}\n\nfunction onPointerEnter() {\n hovered = true\n show()\n}\n\nfunction onPointerLeave() {\n hovered = false\n if (focused) return\n timer.start(() => popoverRef.value?.close(), props.closeDelay)\n}\n\nfunction onPointerDown() {\n hovered = false\n focused = false\n hide()\n}\n\nfunction onFocusOut() {\n focused = false\n if (!hovered) hide()\n}\n\n// @a11y\n/*\n * The tooltip belongs to the KEYBOARD focus, and a `focusin` says the focus arrived, never how\n * it got there. `:focus-visible` is the browser's own answer to the question, the same one\n * VMenu asks to decide where a menu's focus lands.\n */\nfunction onFocusIn(event: FocusEvent) {\n if (!isKeyboardFocus(event.target)) return\n focused = true\n show(true)\n}\n\n// Escape hides the tooltip without moving the focus anywhere.\nconst onOpenChange = useEscapeDismiss(() => {\n hovered = false\n focused = false\n hide()\n})\n\ndefineExpose({\n /** Shows the tooltip at once, without the hover delay. */\n show: () => show(true),\n /** Hides the tooltip. */\n close: hide,\n /** The tooltip bubble. */\n el: computed(() => popoverRef.value?.el ?? null),\n})\n</script>\n\n<template>\n <!--\n Close on pointerdown so a tooltip cannot remain above a dialog or menu opened by its\n trigger.\n -->\n <span\n class=\"v-tooltip\"\n @pointerenter=\"onPointerEnter\"\n @pointerleave=\"onPointerLeave\"\n @pointerdown=\"onPointerDown\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\"\n >\n <slot :trigger-props=\"{ 'aria-describedby': tooltipId }\" />\n <VPopover\n :id=\"tooltipId\"\n ref=\"popoverRef\"\n mode=\"manual\"\n anchor=\"--tooltip-anchor\"\n :placement=\"placement\"\n bare\n role=\"tooltip\"\n class=\"v-tooltip-panel\"\n @update:open=\"onOpenChange\"\n >\n <slot name=\"content\">{{ text }}</slot>\n </VPopover>\n </span>\n</template>\n\n<style>\n@layer vectis.components {\n /*\n * A wrapper stretched by a parent in `align-items: stretch` would otherwise stretch the\n * trigger with it, where the inline-block form left it at its natural height.\n */\n .v-tooltip {\n display: inline-flex;\n align-items: center;\n anchor-name: --tooltip-anchor;\n /*\n * Confining the name to this subtree is indispensable: a visible panel moves to the top\n * layer, where anchor resolution treats it as coming after the whole document, so without\n * it every tooltip would attach to the last wrapper carrying this name.\n */\n anchor-scope: --tooltip-anchor;\n }\n\n /*\n * Compound the panel classes so chrome overrides remain independent of VPopover stylesheet\n * order, including if bare changes.\n */\n .v-popover-panel.v-tooltip-panel {\n inline-size: max-content;\n max-inline-size: min(\n var(--vectis-control-size-tooltip-max),\n calc(100dvi - var(--vectis-space-8))\n );\n padding: var(--vectis-space-1) var(--vectis-space-2);\n /* The tooltip is painted against the page rather than with it: a dark surface in\n both themes, darker still in the dark one, so it reads as an overlay whatever\n it happens to cover. */\n background: var(--vectis-color-surface-inverse);\n color: var(--vectis-color-text-on-inverse);\n border: none;\n /* The control radius capped at half the height of a ONE-line bubble, the row recipe\n of VSideNavigationItem: a tooltip wraps past its max-inline-size, and under a pill\n override a two-line bubble would otherwise round to half of its own height. */\n border-radius: min(var(--vectis-radius-interactive), calc(0.5lh + var(--vectis-space-1)));\n box-shadow: var(--vectis-shadow-sm);\n font-family: var(--vectis-text-family);\n font-size: var(--vectis-text-caption-size);\n line-height: var(--vectis-text-caption-leading);\n }\n\n /* An outline draws one without moving the layout by a pixel. */\n @media (forced-colors: active) {\n .v-popover-panel.v-tooltip-panel {\n outline: 1px solid CanvasText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;EAmDA,IAAM,IAAQ,GAcR,IAAY,EAAM,GAOlB,IAAa,EAA0C,IAAI,GAI3D,IAAQ,EAAS,GAEnB,IAAU,IACV,IAAU;EAGd,SAAS,EAAK,IAAY,IAAO;GAG/B,EAAM,YAAY,EAAW,OAAO,KAAK,GAAG,IAAY,IAAI,EAAM,SAAS;EAC7E;EAEA,SAAS,IAAO;GAEd,AADA,EAAM,OAAO,GACb,EAAW,OAAO,MAAM;EAC1B;EAEA,SAAS,IAAiB;GAExB,AADA,IAAU,IACV,EAAK;EACP;EAEA,SAAS,IAAiB;GACxB,IAAU,IACN,MACJ,EAAM,YAAY,EAAW,OAAO,MAAM,GAAG,EAAM,UAAU;EAC/D;EAEA,SAAS,IAAgB;GAGvB,AAFA,IAAU,IACV,IAAU,IACV,EAAK;EACP;EAEA,SAAS,IAAa;GAEpB,AADA,IAAU,IACL,KAAS,EAAK;EACrB;EAQA,SAAS,EAAU,GAAmB;GAC/B,EAAgB,EAAM,MAAM,MACjC,IAAU,IACV,EAAK,EAAI;EACX;EAGA,IAAM,IAAe,QAAuB;GAG1C,AAFA,IAAU,IACV,IAAU,IACV,EAAK;EACP,CAAC;SAED,EAAa;GAEX,YAAY,EAAK,EAAI;GAErB,OAAO;GAEP,IAAI,QAAe,EAAW,OAAO,MAAM,IAAI;EACjD,CAAC,mBAQC,EAsBO,QAAA;GArBL,OAAM;GACL,gBAAc;GACd,gBAAc;GACd,eAAa;GACb,WAAS;GACT,YAAU;MAEX,EAA2D,EAAA,QAAA,WAAA,EAApD,cAAa,EAAA,oBAAwB,EAAA,CAAA,EAAS,EAAA,CAAA,GACrD,EAYW,GAAA;GAXR,IAAI,EAAA,CAAA;YACD;GAAJ,KAAI;GACJ,MAAK;GACL,QAAO;GACN,WAAW,EAAA;GACZ,MAAA;GACA,MAAK;GACL,OAAM;GACL,iBAAa,EAAA,CAAA;;oBAEwB,CAAtC,EAAsC,EAAA,QAAA,WAAA,CAAA,SAAA,CAAA,EAAA,EAAd,EAAA,IAAI,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@layer vectis.reset, vectis.tokens, vectis.components, vectis.utilities;
|
|
2
|
+
@layer vectis.components{.v-tree{--tree-indent:calc(var(--vectis-icon-size) + var(--control-gap));font-family:var(--vectis-text-family);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.v-tree-row{--tree-row-radius:min(var(--vectis-radius-interactive), calc(var(--control-height) / 2));align-items:center;gap:var(--control-gap);min-block-size:var(--control-height);padding-block:var(--vectis-space-1);padding-inline:calc(var(--vectis-space-2) + var(--tree-level,0) * var(--tree-indent)) var(--vectis-space-2);border-radius:var(--tree-row-radius);color:var(--vectis-color-text);font-size:var(--control-font-size);font-weight:var(--vectis-text-body-md-weight);line-height:var(--vectis-text-body-md-leading);cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;display:flex}.v-tree-row:hover:not([aria-disabled=true]){background:var(--vectis-color-surface-muted)}.v-tree-row:focus-visible{outline:var(--vectis-focus-ring-width) solid var(--vectis-focus-ring-color);outline-offset:calc(-1 * var(--vectis-focus-ring-width))}.v-tree-row:is([aria-selected=true],[data-current]){background:var(--vectis-color-accent-surface);color:var(--vectis-color-accent-text)}.v-tree-row:is([aria-selected=true],[data-current]):hover:not([aria-disabled=true]){background:color-mix(in oklab, var(--vectis-color-accent-surface), var(--vectis-color-accent-text) 8%)}.v-tree-row:is([aria-selected=true],[data-current]) :is(.v-tree-icon,.v-tree-toggle){color:inherit}.v-tree-row[data-current] .v-tree-label{font-weight:var(--vectis-text-label-weight)}.v-tree-toggle{inline-size:var(--vectis-icon-size);block-size:var(--vectis-icon-size);color:var(--vectis-color-text-muted);flex:none;place-items:center;display:inline-grid}.v-tree-chevron{transition:rotate var(--vectis-duration-base) var(--vectis-ease-default)}.v-tree-row[aria-expanded=true] .v-tree-chevron{rotate:90deg}.v-tree-row[aria-expanded=true] .v-tree-chevron:dir(rtl){rotate:-90deg}.v-tree-icon{color:var(--vectis-color-text-muted);flex:none}.v-tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-inline-size:0;overflow:hidden}.v-tree-end{align-items:center;gap:var(--vectis-space-1);color:var(--vectis-color-text-muted);flex:none;display:flex}.v-tree-error{color:var(--vectis-color-danger-text);flex:none}.v-tree-row:is([aria-checked=true],[aria-checked=mixed]) .v-check-mark{background:var(--vectis-color-accent);border-color:var(--vectis-color-accent)}.v-tree-row[aria-checked=true] .v-check-mark-tick,.v-tree-row[aria-checked=mixed] .v-check-mark-dash{opacity:1}.v-tree-row[aria-disabled=true]{color:var(--vectis-color-text-subtle);cursor:not-allowed}.v-tree-row[aria-disabled=true] :is(.v-tree-icon,.v-tree-toggle,.v-tree-end){color:inherit}.v-tree-row[aria-disabled=true] .v-check-mark{background:var(--vectis-color-surface-muted);border-color:var(--vectis-color-border);color:var(--vectis-color-text-subtle)}@media (forced-colors:active){.v-tree-row.v-tree-row:is([aria-selected=true],[data-current]):not([aria-disabled=true]){forced-color-adjust:none;color:highlighttext;background:highlight}.v-tree-row:is([aria-checked=true],[aria-checked=mixed]):not([aria-disabled=true]) .v-check-mark{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}}@media (prefers-reduced-motion:reduce){.v-tree-chevron{transition:none}}}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { IconSource } from '../VIcon/types.js';
|
|
2
|
+
import { ItemValue } from '../../types.js';
|
|
3
|
+
/** Whether nodes can be selected: not at all, one at a time, or several with checkboxes. */
|
|
4
|
+
export type TreeSelectionMode = 'none' | 'single' | 'multiple';
|
|
5
|
+
/** The height of the rows: 32 or 40 pixels. */
|
|
6
|
+
export type TreeViewSize = 'sm' | 'md';
|
|
7
|
+
/**
|
|
8
|
+
* What is selected, and its shape follows `selectionMode`: a single value (or `null`) in `single`
|
|
9
|
+
* mode, an array in `multiple` mode.
|
|
10
|
+
*/
|
|
11
|
+
export type TreeViewModelValue = ItemValue | ItemValue[] | null;
|
|
12
|
+
/** One node of the tree. */
|
|
13
|
+
export interface TreeItem {
|
|
14
|
+
/** What identifies the node, in the selection and expansion models. Unique across the tree. */
|
|
15
|
+
value: ItemValue;
|
|
16
|
+
/** What the row says. It is also what typeahead matches. */
|
|
17
|
+
label: string;
|
|
18
|
+
/** An icon before the label: an icon name, or an explicit render. */
|
|
19
|
+
icon?: IconSource;
|
|
20
|
+
/** The child nodes, which make this node a branch. */
|
|
21
|
+
children?: TreeItem[];
|
|
22
|
+
/**
|
|
23
|
+
* Marks a branch whose children `loadChildren` fetches on its first expansion. Ignored when
|
|
24
|
+
* `children` is set or when the tree has no `loadChildren`.
|
|
25
|
+
*/
|
|
26
|
+
lazy?: boolean;
|
|
27
|
+
/** Where the node leads, which makes the row a link. */
|
|
28
|
+
href?: string;
|
|
29
|
+
/** Marks the node as the page being viewed (`aria-current`). */
|
|
30
|
+
current?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Keeps the node focusable, so it is still found, but it cannot be selected, activated, expanded
|
|
33
|
+
* or collapsed.
|
|
34
|
+
*/
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** What the `#icon`, `#label` and `#end` slots receive. */
|
|
38
|
+
export interface TreeItemSlotProps {
|
|
39
|
+
item: TreeItem;
|
|
40
|
+
/** The depth of the node, from 1. */
|
|
41
|
+
level: number;
|
|
42
|
+
/** Whether the node's children are shown. */
|
|
43
|
+
expanded: boolean;
|
|
44
|
+
}
|
|
45
|
+
interface TreeViewProps {
|
|
46
|
+
/** The first level of the tree. */
|
|
47
|
+
items: TreeItem[];
|
|
48
|
+
/**
|
|
49
|
+
* Whether nodes can be selected. In `multiple` mode each row has a checkbox, and checking a
|
|
50
|
+
* branch checks everything under it.
|
|
51
|
+
*/
|
|
52
|
+
selectionMode?: TreeSelectionMode;
|
|
53
|
+
/**
|
|
54
|
+
* Fetches the children of a `lazy` node, on its first expansion. The tree keeps them; a failure
|
|
55
|
+
* collapses the node again, and the next expansion retries.
|
|
56
|
+
*/
|
|
57
|
+
loadChildren?: (item: TreeItem) => Promise<TreeItem[]>;
|
|
58
|
+
/** The height of the rows, 32 or 40 pixels. */
|
|
59
|
+
size?: TreeViewSize;
|
|
60
|
+
/** What screen readers announce for the tree. It falls back to the design system dictionary. */
|
|
61
|
+
label?: string;
|
|
62
|
+
}
|
|
63
|
+
type __VLS_Props = TreeViewProps;
|
|
64
|
+
type __VLS_Slots = {
|
|
65
|
+
/** Replaces the icon of a node, for instance to show an open folder when it is expanded. */
|
|
66
|
+
icon?(props: TreeItemSlotProps): unknown;
|
|
67
|
+
/** Replaces the label of a node. */
|
|
68
|
+
label?(props: TreeItemSlotProps): unknown;
|
|
69
|
+
/**
|
|
70
|
+
* Content at the end of a row: a count, a badge. It must not be focusable: a row is a single
|
|
71
|
+
* control.
|
|
72
|
+
*/
|
|
73
|
+
end?(props: TreeItemSlotProps): unknown;
|
|
74
|
+
};
|
|
75
|
+
type __VLS_ModelProps = {
|
|
76
|
+
/**
|
|
77
|
+
* What is selected. In `single` mode, a value or `null`; in `multiple` mode, the checked nodes in
|
|
78
|
+
* tree order, a branch included when everything under it is checked. A value given for a branch
|
|
79
|
+
* checks its whole subtree. A shape that does not match the mode reads as an empty selection.
|
|
80
|
+
*/
|
|
81
|
+
modelValue?: TreeViewModelValue;
|
|
82
|
+
/** The values of the expanded nodes. Left unbound, the tree keeps that state itself. */
|
|
83
|
+
'expanded'?: ItemValue[];
|
|
84
|
+
};
|
|
85
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
86
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
87
|
+
/** Moves the focus to the tree's tab stop: the last focused node, else the selected or current one. */
|
|
88
|
+
focus: (options?: FocusOptions) => false | void | undefined;
|
|
89
|
+
/** The `role="tree"` element, which also receives the consumer's attributes. */
|
|
90
|
+
el: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
|
|
91
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
92
|
+
"update:modelValue": (value: TreeViewModelValue) => any;
|
|
93
|
+
activate: (item: TreeItem, event: MouseEvent | KeyboardEvent) => any;
|
|
94
|
+
"update:expanded": (value: ItemValue[]) => any;
|
|
95
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
96
|
+
"onUpdate:modelValue"?: ((value: TreeViewModelValue) => any) | undefined;
|
|
97
|
+
onActivate?: ((item: TreeItem, event: MouseEvent | KeyboardEvent) => any) | undefined;
|
|
98
|
+
"onUpdate:expanded"?: ((value: ItemValue[]) => any) | undefined;
|
|
99
|
+
}>, {
|
|
100
|
+
label: string;
|
|
101
|
+
size: TreeViewSize;
|
|
102
|
+
selectionMode: TreeSelectionMode;
|
|
103
|
+
loadChildren: (item: TreeItem) => Promise<TreeItem[]>;
|
|
104
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
105
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
106
|
+
declare const _default: typeof __VLS_export;
|
|
107
|
+
export default _default;
|
|
108
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
109
|
+
new (): {
|
|
110
|
+
$slots: S;
|
|
111
|
+
};
|
|
112
|
+
};
|