@rotki/ui-library 2.15.0 → 2.16.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/accordions/accordion/RuiAccordion.js +7 -0
- package/dist/components/accordions/accordion/RuiAccordion.js.map +1 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +9 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +88 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/accordions/accordions/RuiAccordions.js +7 -0
- package/dist/components/accordions/accordions/RuiAccordions.js.map +1 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/alerts/RuiAlert.js +7 -0
- package/dist/components/alerts/RuiAlert.js.map +1 -0
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +330 -0
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/buttons/button/RuiButton.js +7 -0
- package/dist/components/buttons/button/RuiButton.js.map +1 -0
- package/dist/components/buttons/button/RuiButton.vue.d.ts +3 -2
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +104 -0
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/buttons/button/button-props.d.ts +16 -0
- package/dist/components/buttons/button/button-props.js +20 -0
- package/dist/components/buttons/button/button-props.js.map +1 -0
- package/dist/components/buttons/button/button-styles.d.ts +229 -0
- package/dist/components/buttons/button/button-styles.js +342 -0
- package/dist/components/buttons/button/button-styles.js.map +1 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.js +7 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.js.map +1 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +246 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.js +7 -0
- package/dist/components/calendar/RuiCalendar.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +151 -0
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/calendar/RuiCalendarGrid.js +7 -0
- package/dist/components/calendar/RuiCalendarGrid.js.map +1 -0
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +155 -0
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/calendar/RuiCalendarHeader.js +7 -0
- package/dist/components/calendar/RuiCalendarHeader.js.map +1 -0
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +113 -0
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/calendar/RuiCalendarMenu.js +7 -0
- package/dist/components/calendar/RuiCalendarMenu.js.map +1 -0
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +246 -0
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/calendar/state.js +20 -21
- package/dist/components/calendar/state.js.map +1 -1
- package/dist/components/cards/RuiCard.js +7 -0
- package/dist/components/cards/RuiCard.js.map +1 -0
- package/dist/components/cards/RuiCard.vue.d.ts +9 -0
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/cards/RuiCardHeader.js +7 -0
- package/dist/components/cards/RuiCardHeader.js.map +1 -0
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/chips/RuiChip.js +7 -0
- package/dist/components/chips/RuiChip.js.map +1 -0
- package/dist/components/chips/RuiChip.vue.d.ts +10 -2
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +308 -0
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/chips/chip-props.d.ts +11 -0
- package/dist/components/chips/chip-props.js +17 -0
- package/dist/components/chips/chip-props.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.js +7 -0
- package/dist/components/color-picker/RuiColorBoard.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/color-picker/RuiColorDisplay.js +7 -0
- package/dist/components/color-picker/RuiColorDisplay.js.map +1 -0
- package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/color-picker/RuiColorHue.js +7 -0
- package/dist/components/color-picker/RuiColorHue.js.map +1 -0
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/color-picker/RuiColorInput.js +7 -0
- package/dist/components/color-picker/RuiColorInput.js.map +1 -0
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/color-picker/RuiColorPicker.js +7 -0
- package/dist/components/color-picker/RuiColorPicker.js.map +1 -0
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/color-picker/utils.d.ts +11 -8
- package/dist/components/color-picker/utils.js +179 -194
- package/dist/components/color-picker/utils.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.js +7 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +369 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.js +7 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +1 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +134 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/date-time-picker/date-time-picker-styles.d.ts +326 -0
- package/dist/components/date-time-picker/date-time-picker-styles.js +19 -0
- package/dist/components/date-time-picker/date-time-picker-styles.js.map +1 -0
- package/dist/components/date-time-picker/dayjs-setup.js +4 -1
- package/dist/components/date-time-picker/dayjs-setup.js.map +1 -1
- package/dist/components/date-time-picker/segment-config.js +42 -21
- package/dist/components/date-time-picker/segment-config.js.map +1 -1
- package/dist/components/date-time-picker/segment-utils.js +24 -31
- package/dist/components/date-time-picker/segment-utils.js.map +1 -1
- package/dist/components/date-time-picker/timezones.js +601 -600
- package/dist/components/date-time-picker/timezones.js.map +1 -1
- package/dist/components/date-time-picker/types.js +14 -14
- package/dist/components/date-time-picker/types.js.map +1 -1
- package/dist/components/date-time-picker/use-date-time-selection.js +222 -282
- package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
- package/dist/components/date-time-picker/use-input-handler.js +31 -28
- package/dist/components/date-time-picker/use-input-handler.js.map +1 -1
- package/dist/components/date-time-picker/use-keyboard-handler.js +201 -268
- package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
- package/dist/components/date-time-picker/utils.js +10 -11
- package/dist/components/date-time-picker/utils.js.map +1 -1
- package/dist/components/divider/RuiDivider.js +7 -0
- package/dist/components/divider/RuiDivider.js.map +1 -0
- package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.js +7 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +12 -2
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +566 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/auto-complete/auto-complete-styles.d.ts +324 -0
- package/dist/components/forms/auto-complete/auto-complete-styles.js +15 -0
- package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -0
- package/dist/components/forms/check-control-styles.d.ts +135 -0
- package/dist/components/forms/check-control-styles.js +126 -0
- package/dist/components/forms/check-control-styles.js.map +1 -0
- package/dist/components/forms/checkbox/RuiCheckbox.js +7 -0
- package/dist/components/forms/checkbox/RuiCheckbox.js.map +1 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +133 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.js +7 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.js.map +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js +7 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js.map +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js +7 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js.map +1 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +2 -15
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +117 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.js +7 -0
- package/dist/components/forms/select/RuiMenuSelect.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +16 -4
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +313 -0
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/select/RuiSimpleSelect.js +7 -0
- package/dist/components/forms/select/RuiSimpleSelect.js.map +1 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/select/menu-select-styles.d.ts +319 -0
- package/dist/components/forms/select/menu-select-styles.js +11 -0
- package/dist/components/forms/select/menu-select-styles.js.map +1 -0
- package/dist/components/forms/slider/RuiSlider.js +7 -0
- package/dist/components/forms/slider/RuiSlider.js.map +1 -0
- package/dist/components/forms/slider/RuiSlider.vue.d.ts +9 -0
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +222 -0
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/slider/slider-styles.d.ts +208 -0
- package/dist/components/forms/slider/slider-styles.js +235 -0
- package/dist/components/forms/slider/slider-styles.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.js +7 -0
- package/dist/components/forms/switch/RuiSwitch.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +226 -0
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/text-area/RuiTextArea.js +7 -0
- package/dist/components/forms/text-area/RuiTextArea.js.map +1 -0
- package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +8 -4
- package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +248 -0
- package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/text-area/text-area-styles.d.ts +313 -0
- package/dist/components/forms/text-area/text-area-styles.js +239 -0
- package/dist/components/forms/text-area/text-area-styles.js.map +1 -0
- package/dist/components/forms/text-field/RuiTextField.js +7 -0
- package/dist/components/forms/text-field/RuiTextField.js.map +1 -0
- package/dist/components/forms/text-field/RuiTextField.vue.d.ts +4 -3
- package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +220 -0
- package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/text-field/text-field-styles.d.ts +299 -0
- package/dist/components/forms/text-field/text-field-styles.js +251 -0
- package/dist/components/forms/text-field/text-field-styles.js.map +1 -0
- package/dist/components/forms/text-input-styles.d.ts +422 -0
- package/dist/components/forms/text-input-styles.js +250 -0
- package/dist/components/forms/text-input-styles.js.map +1 -0
- package/dist/components/helpers/RuiFormTextDetail.js +7 -0
- package/dist/components/helpers/RuiFormTextDetail.js.map +1 -0
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/icons/RuiIcon.js +7 -0
- package/dist/components/icons/RuiIcon.js.map +1 -0
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/index.d.ts +46 -46
- package/dist/components/index.js +45 -92
- package/dist/components/loaders/RuiSkeletonBase.js +7 -0
- package/dist/components/loaders/RuiSkeletonBase.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonLoader.js +7 -0
- package/dist/components/loaders/RuiSkeletonLoader.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +3 -2
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/loaders/skeleton-type.d.ts +12 -0
- package/dist/components/loaders/skeleton-type.js +16 -0
- package/dist/components/loaders/skeleton-type.js.map +1 -0
- package/dist/components/logos/RuiLogo.js +7 -0
- package/dist/components/logos/RuiLogo.js.map +1 -0
- package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/logos/logo.js +6 -0
- package/dist/components/logos/logo.js.map +1 -0
- package/dist/components/logos/use-logo-sources.d.ts +1 -1
- package/dist/components/logos/use-logo-sources.js +66 -62
- package/dist/components/logos/use-logo-sources.js.map +1 -1
- package/dist/components/overlays/badge/RuiBadge.js +7 -0
- package/dist/components/overlays/badge/RuiBadge.js.map +1 -0
- package/dist/components/overlays/badge/RuiBadge.vue.d.ts +4 -3
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +189 -0
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/badge/badge-props.d.ts +19 -0
- package/dist/components/overlays/badge/badge-props.js +21 -0
- package/dist/components/overlays/badge/badge-props.js.map +1 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js +7 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js.map +1 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.js +7 -0
- package/dist/components/overlays/dialog/RuiDialog.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +7 -0
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +163 -0
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.js +7 -0
- package/dist/components/overlays/menu/RuiMenu.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +12 -0
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +236 -0
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js +7 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +7 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +180 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/notification/RuiNotification.js +7 -0
- package/dist/components/overlays/notification/RuiNotification.js.map +1 -0
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.js +7 -0
- package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +10 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/overlays/tooltip/tooltip-styles.d.ts +91 -0
- package/dist/components/overlays/tooltip/tooltip-styles.js +40 -0
- package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -0
- package/dist/components/progress/RuiProgress.js +7 -0
- package/dist/components/progress/RuiProgress.js.map +1 -0
- package/dist/components/progress/RuiProgress.vue.d.ts +2 -1
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +254 -0
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/progress/progress-props.d.ts +6 -0
- package/dist/components/progress/progress-props.js +10 -0
- package/dist/components/progress/progress-props.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.js +7 -0
- package/dist/components/steppers/RuiFooterStepper.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.vue.d.ts +2 -1
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/steppers/RuiStepper.js +7 -0
- package/dist/components/steppers/RuiStepper.js.map +1 -0
- package/dist/components/steppers/RuiStepper.vue.d.ts +9 -0
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +232 -0
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/steppers/RuiStepperCustomIcon.js +7 -0
- package/dist/components/steppers/RuiStepperCustomIcon.js.map +1 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/steppers/RuiStepperIcon.js +7 -0
- package/dist/components/steppers/RuiStepperIcon.js.map +1 -0
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/steppers/footer-stepper-variant.d.ts +7 -0
- package/dist/components/steppers/footer-stepper-variant.js +11 -0
- package/dist/components/steppers/footer-stepper-variant.js.map +1 -0
- package/dist/components/tables/RuiDataTable.js +7 -0
- package/dist/components/tables/RuiDataTable.js.map +1 -0
- package/dist/components/tables/RuiDataTable.vue.d.ts +7 -2
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +516 -0
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/RuiExpandButton.js +7 -0
- package/dist/components/tables/RuiExpandButton.js.map +1 -0
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/RuiTableEmptyState.js +7 -0
- package/dist/components/tables/RuiTableEmptyState.js.map +1 -0
- package/dist/components/tables/RuiTableEmptyState.vue.d.ts +16 -0
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/RuiTableHead.js +7 -0
- package/dist/components/tables/RuiTableHead.js.map +1 -0
- package/dist/components/tables/RuiTableHead.vue.d.ts +6 -5
- package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +230 -0
- package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/RuiTablePagination.js +7 -0
- package/dist/components/tables/RuiTablePagination.js.map +1 -0
- package/dist/components/tables/RuiTablePagination.vue.d.ts +9 -6
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table-styles.d.ts +155 -0
- package/dist/components/tables/data-table-styles.js +36 -0
- package/dist/components/tables/data-table-styles.js.map +1 -0
- package/dist/components/tables/table-props.d.ts +20 -0
- package/dist/components/tables/table-props.js +39 -0
- package/dist/components/tables/table-props.js.map +1 -0
- package/dist/components/tables/table_no_data_placeholder.js +6 -0
- package/dist/components/tables/table_no_data_placeholder.js.map +1 -0
- package/dist/components/tables/table_no_data_placeholder_dark.js +6 -0
- package/dist/components/tables/table_no_data_placeholder_dark.js.map +1 -0
- package/dist/components/tables/use-pagination-navigation.d.ts +32 -0
- package/dist/components/tables/use-pagination-navigation.js +88 -0
- package/dist/components/tables/use-pagination-navigation.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.js +7 -0
- package/dist/components/tabs/tab/RuiTab.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.vue.d.ts +12 -3
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +175 -0
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tabs/tab/use-tab-link.d.ts +26 -0
- package/dist/components/tabs/tab/use-tab-link.js +28 -0
- package/dist/components/tabs/tab/use-tab-link.js.map +1 -0
- package/dist/components/tabs/tab-item/RuiTabItem.js +7 -0
- package/dist/components/tabs/tab-item/RuiTabItem.js.map +1 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tabs/tab-items/RuiTabItems.js +7 -0
- package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tabs/tab-props.d.ts +20 -0
- package/dist/components/tabs/tab-props.js +18 -0
- package/dist/components/tabs/tab-props.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.js +7 -0
- package/dist/components/tabs/tabs/RuiTabs.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +3 -2
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +208 -0
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tabs/tabs/use-tab-routing.d.ts +28 -0
- package/dist/components/tabs/tabs/use-tab-routing.js +43 -0
- package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -0
- package/dist/components/tabs/tabs/use-tab-scroll.d.ts +23 -0
- package/dist/components/tabs/tabs/use-tab-scroll.js +68 -0
- package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -0
- package/dist/components/time-picker/RuiTimePicker.js +7 -0
- package/dist/components/time-picker/RuiTimePicker.js.map +1 -0
- package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +382 -0
- package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/time-picker/time-picker-styles.d.ts +76 -0
- package/dist/components/time-picker/time-picker-styles.js +27 -0
- package/dist/components/time-picker/time-picker-styles.js.map +1 -0
- package/dist/composables/breakpoint.js +35 -40
- package/dist/composables/breakpoint.js.map +1 -1
- package/dist/composables/colors/common.d.ts +20 -0
- package/dist/composables/colors/index.d.ts +3 -0
- package/dist/composables/colors/text-input.d.ts +27 -0
- package/dist/composables/defaults/table.js +21 -18
- package/dist/composables/defaults/table.js.map +1 -1
- package/dist/composables/dropdown-menu.d.ts +6 -6
- package/dist/composables/dropdown-menu.js +169 -237
- package/dist/composables/dropdown-menu.js.map +1 -1
- package/dist/composables/floating.d.ts +60 -0
- package/dist/composables/floating.js +167 -0
- package/dist/composables/floating.js.map +1 -0
- package/dist/composables/forms/auto-complete/focus.d.ts +4 -4
- package/dist/composables/forms/auto-complete/focus.js +59 -79
- package/dist/composables/forms/auto-complete/focus.js.map +1 -1
- package/dist/composables/forms/auto-complete/index.js +4 -0
- package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +6 -5
- package/dist/composables/forms/auto-complete/keyboard-navigation.js +116 -136
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
- package/dist/composables/forms/auto-complete/search.d.ts +11 -10
- package/dist/composables/forms/auto-complete/search.js +80 -91
- package/dist/composables/forms/auto-complete/search.js.map +1 -1
- package/dist/composables/forms/auto-complete/value.d.ts +9 -8
- package/dist/composables/forms/auto-complete/value.js +76 -108
- package/dist/composables/forms/auto-complete/value.js.map +1 -1
- package/dist/composables/forms/use-prepend-append-width.js +24 -20
- package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
- package/dist/composables/icons.js +42 -52
- package/dist/composables/icons.js.map +1 -1
- package/dist/composables/index.js +2 -7
- package/dist/composables/popper.d.ts +5 -20
- package/dist/composables/popper.js +22 -177
- package/dist/composables/popper.js.map +1 -1
- package/dist/composables/sticky-header.js +132 -143
- package/dist/composables/sticky-header.js.map +1 -1
- package/dist/composables/tables/data-table/columns.d.ts +1 -1
- package/dist/composables/tables/data-table/columns.js +41 -49
- package/dist/composables/tables/data-table/columns.js.map +1 -1
- package/dist/composables/tables/data-table/expansion.js +29 -34
- package/dist/composables/tables/data-table/expansion.js.map +1 -1
- package/dist/composables/tables/data-table/grouping.d.ts +1 -1
- package/dist/composables/tables/data-table/grouping.js +110 -132
- package/dist/composables/tables/data-table/grouping.js.map +1 -1
- package/dist/composables/tables/data-table/pagination.d.ts +2 -2
- package/dist/composables/tables/data-table/pagination.js +98 -115
- package/dist/composables/tables/data-table/pagination.js.map +1 -1
- package/dist/composables/tables/data-table/selection.js +124 -160
- package/dist/composables/tables/data-table/selection.js.map +1 -1
- package/dist/composables/tables/data-table/sort.d.ts +2 -2
- package/dist/composables/tables/data-table/sort.js +118 -132
- package/dist/composables/tables/data-table/sort.js.map +1 -1
- package/dist/composables/tables/data-table/types.d.ts +2 -2
- package/dist/composables/tables/data-table/types.js +7 -7
- package/dist/composables/tables/data-table/types.js.map +1 -1
- package/dist/composables/theme.js +91 -66
- package/dist/composables/theme.js.map +1 -1
- package/dist/composables/timeout-manager.js +24 -19
- package/dist/composables/timeout-manager.js.map +1 -1
- package/dist/composables/use-rui-i18n.js +15 -21
- package/dist/composables/use-rui-i18n.js.map +1 -1
- package/dist/consts/colors.js +50 -47
- package/dist/consts/colors.js.map +1 -1
- package/dist/consts/time-accuracy.js +9 -8
- package/dist/consts/time-accuracy.js.map +1 -1
- package/dist/i18n/keys.js +17 -16
- package/dist/i18n/keys.js.map +1 -1
- package/dist/icons/icons_1.js +1529 -2027
- package/dist/icons/icons_1.js.map +1 -1
- package/dist/icons/icons_2.js +1529 -2027
- package/dist/icons/icons_2.js.map +1 -1
- package/dist/icons/icons_3.js +1529 -2027
- package/dist/icons/icons_3.js.map +1 -1
- package/dist/icons/icons_4.js +794 -1047
- package/dist/icons/icons_4.js.map +1 -1
- package/dist/icons/index.js +1767 -7
- package/dist/icons/index.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +87 -1907
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js +1440 -0
- package/dist/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js +91 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js.map +1 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js +217 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js.map +1 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js +33 -0
- package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js.map +1 -0
- package/dist/style.css +2780 -10260
- package/dist/theme/index.js +160 -198
- package/dist/theme/index.js.map +1 -1
- package/dist/types/class-value.d.ts +5 -0
- package/dist/types/stepper.js +16 -15
- package/dist/types/stepper.js.map +1 -1
- package/dist/types/theme.js +17 -22
- package/dist/types/theme.js.map +1 -1
- package/dist/utils/assert.js +12 -12
- package/dist/utils/assert.js.map +1 -1
- package/dist/utils/blockie.js +58 -65
- package/dist/utils/blockie.js.map +1 -1
- package/dist/utils/form-text-detail.d.ts +4 -2
- package/dist/utils/form-text-detail.js +29 -27
- package/dist/utils/form-text-detail.js.map +1 -1
- package/dist/utils/helpers.js +60 -35
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/is-equal.js +23 -33
- package/dist/utils/is-equal.js.map +1 -1
- package/dist/utils/tv.d.ts +16 -0
- package/dist/utils/tv.js +23 -0
- package/dist/utils/tv.js.map +1 -0
- package/dist/vite-plugin/index.js +144 -155
- package/dist/vite-plugin/index.js.map +1 -1
- package/dist/vite-plugin/scanner.js +46 -52
- package/dist/vite-plugin/scanner.js.map +1 -1
- package/dist/web-types.json +214 -39
- package/package.json +28 -26
- package/dist/_virtual/_plugin-vue_export-helper.js +0 -11
- package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue.js +0 -89
- package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +0 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js +0 -5
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +0 -1
- package/dist/components/accordions/accordions/RuiAccordions.vue.js +0 -79
- package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +0 -1
- package/dist/components/accordions/accordions/RuiAccordions.vue2.js +0 -5
- package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +0 -1
- package/dist/components/alerts/RuiAlert.vue.js +0 -11
- package/dist/components/alerts/RuiAlert.vue.js.map +0 -1
- package/dist/components/alerts/RuiAlert.vue2.js +0 -115
- package/dist/components/alerts/RuiAlert.vue2.js.map +0 -1
- package/dist/components/alerts/RuiAlert.vue3.js +0 -50
- package/dist/components/alerts/RuiAlert.vue3.js.map +0 -1
- package/dist/components/buttons/button/RuiButton.vue.js +0 -11
- package/dist/components/buttons/button/RuiButton.vue.js.map +0 -1
- package/dist/components/buttons/button/RuiButton.vue2.js +0 -93
- package/dist/components/buttons/button/RuiButton.vue2.js.map +0 -1
- package/dist/components/buttons/button/RuiButton.vue3.js +0 -74
- package/dist/components/buttons/button/RuiButton.vue3.js.map +0 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +0 -11
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +0 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +0 -113
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +0 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +0 -58
- package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +0 -1
- package/dist/components/calendar/RuiCalendar.vue.js +0 -139
- package/dist/components/calendar/RuiCalendar.vue.js.map +0 -1
- package/dist/components/calendar/RuiCalendar.vue3.js +0 -6
- package/dist/components/calendar/RuiCalendar.vue3.js.map +0 -1
- package/dist/components/calendar/RuiCalendarGrid.vue.js +0 -8
- package/dist/components/calendar/RuiCalendarGrid.vue.js.map +0 -1
- package/dist/components/calendar/RuiCalendarGrid.vue2.js +0 -151
- package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +0 -1
- package/dist/components/calendar/RuiCalendarHeader.vue.js +0 -8
- package/dist/components/calendar/RuiCalendarHeader.vue.js.map +0 -1
- package/dist/components/calendar/RuiCalendarHeader.vue2.js +0 -111
- package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +0 -1
- package/dist/components/calendar/RuiCalendarMenu.vue.js +0 -8
- package/dist/components/calendar/RuiCalendarMenu.vue.js.map +0 -1
- package/dist/components/calendar/RuiCalendarMenu.vue2.js +0 -269
- package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +0 -1
- package/dist/components/cards/RuiCard.vue.js +0 -11
- package/dist/components/cards/RuiCard.vue.js.map +0 -1
- package/dist/components/cards/RuiCard.vue2.js +0 -88
- package/dist/components/cards/RuiCard.vue2.js.map +0 -1
- package/dist/components/cards/RuiCard.vue3.js +0 -40
- package/dist/components/cards/RuiCard.vue3.js.map +0 -1
- package/dist/components/cards/RuiCardHeader.vue.js +0 -11
- package/dist/components/cards/RuiCardHeader.vue.js.map +0 -1
- package/dist/components/cards/RuiCardHeader.vue2.js +0 -51
- package/dist/components/cards/RuiCardHeader.vue2.js.map +0 -1
- package/dist/components/cards/RuiCardHeader.vue3.js +0 -27
- package/dist/components/cards/RuiCardHeader.vue3.js.map +0 -1
- package/dist/components/chips/RuiChip.vue.js +0 -11
- package/dist/components/chips/RuiChip.vue.js.map +0 -1
- package/dist/components/chips/RuiChip.vue2.js +0 -90
- package/dist/components/chips/RuiChip.vue2.js.map +0 -1
- package/dist/components/chips/RuiChip.vue3.js +0 -88
- package/dist/components/chips/RuiChip.vue3.js.map +0 -1
- package/dist/components/color-picker/RuiColorBoard.vue.js +0 -11
- package/dist/components/color-picker/RuiColorBoard.vue.js.map +0 -1
- package/dist/components/color-picker/RuiColorBoard.vue2.js +0 -102
- package/dist/components/color-picker/RuiColorBoard.vue2.js.map +0 -1
- package/dist/components/color-picker/RuiColorBoard.vue3.js +0 -18
- package/dist/components/color-picker/RuiColorBoard.vue3.js.map +0 -1
- package/dist/components/color-picker/RuiColorDisplay.vue.js +0 -47
- package/dist/components/color-picker/RuiColorDisplay.vue.js.map +0 -1
- package/dist/components/color-picker/RuiColorDisplay.vue2.js +0 -5
- package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +0 -1
- package/dist/components/color-picker/RuiColorHue.vue.js +0 -11
- package/dist/components/color-picker/RuiColorHue.vue.js.map +0 -1
- package/dist/components/color-picker/RuiColorHue.vue2.js +0 -92
- package/dist/components/color-picker/RuiColorHue.vue2.js.map +0 -1
- package/dist/components/color-picker/RuiColorHue.vue3.js +0 -12
- package/dist/components/color-picker/RuiColorHue.vue3.js.map +0 -1
- package/dist/components/color-picker/RuiColorInput.vue.js +0 -141
- package/dist/components/color-picker/RuiColorInput.vue.js.map +0 -1
- package/dist/components/color-picker/RuiColorInput.vue2.js +0 -5
- package/dist/components/color-picker/RuiColorInput.vue2.js.map +0 -1
- package/dist/components/color-picker/RuiColorPicker.vue.js +0 -81
- package/dist/components/color-picker/RuiColorPicker.vue.js.map +0 -1
- package/dist/components/color-picker/RuiColorPicker.vue2.js +0 -5
- package/dist/components/color-picker/RuiColorPicker.vue2.js.map +0 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +0 -11
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +0 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +0 -394
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +0 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +0 -66
- package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +0 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +0 -120
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +0 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +0 -5
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +0 -1
- package/dist/components/divider/RuiDivider.vue.js +0 -25
- package/dist/components/divider/RuiDivider.vue.js.map +0 -1
- package/dist/components/divider/RuiDivider.vue2.js +0 -5
- package/dist/components/divider/RuiDivider.vue2.js.map +0 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +0 -11
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +0 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +0 -594
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +0 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +0 -60
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +0 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue.js +0 -11
- package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +0 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +0 -148
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +0 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +0 -54
- package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +0 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +0 -11
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +0 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +0 -122
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +0 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +0 -54
- package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +0 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +0 -11
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +0 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +0 -84
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +0 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +0 -9
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +0 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +0 -84
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +0 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +0 -5
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +0 -1
- package/dist/components/forms/select/RuiMenuSelect.vue.js +0 -11
- package/dist/components/forms/select/RuiMenuSelect.vue.js.map +0 -1
- package/dist/components/forms/select/RuiMenuSelect.vue2.js +0 -310
- package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +0 -1
- package/dist/components/forms/select/RuiMenuSelect.vue3.js +0 -60
- package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +0 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue.js +0 -11
- package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +0 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js +0 -62
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +0 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue3.js +0 -21
- package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +0 -1
- package/dist/components/forms/slider/RuiSlider.vue.js +0 -11
- package/dist/components/forms/slider/RuiSlider.vue.js.map +0 -1
- package/dist/components/forms/slider/RuiSlider.vue2.js +0 -173
- package/dist/components/forms/slider/RuiSlider.vue2.js.map +0 -1
- package/dist/components/forms/slider/RuiSlider.vue3.js +0 -80
- package/dist/components/forms/slider/RuiSlider.vue3.js.map +0 -1
- package/dist/components/forms/switch/RuiSwitch.vue.js +0 -11
- package/dist/components/forms/switch/RuiSwitch.vue.js.map +0 -1
- package/dist/components/forms/switch/RuiSwitch.vue2.js +0 -99
- package/dist/components/forms/switch/RuiSwitch.vue2.js.map +0 -1
- package/dist/components/forms/switch/RuiSwitch.vue3.js +0 -54
- package/dist/components/forms/switch/RuiSwitch.vue3.js.map +0 -1
- package/dist/components/forms/text-area/RuiTextArea.vue.js +0 -11
- package/dist/components/forms/text-area/RuiTextArea.vue.js.map +0 -1
- package/dist/components/forms/text-area/RuiTextArea.vue2.js +0 -229
- package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +0 -1
- package/dist/components/forms/text-area/RuiTextArea.vue3.js +0 -92
- package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +0 -1
- package/dist/components/forms/text-field/RuiTextField.vue.js +0 -11
- package/dist/components/forms/text-field/RuiTextField.vue.js.map +0 -1
- package/dist/components/forms/text-field/RuiTextField.vue2.js +0 -202
- package/dist/components/forms/text-field/RuiTextField.vue2.js.map +0 -1
- package/dist/components/forms/text-field/RuiTextField.vue3.js +0 -89
- package/dist/components/forms/text-field/RuiTextField.vue3.js.map +0 -1
- package/dist/components/helpers/RuiFormTextDetail.vue.js +0 -50
- package/dist/components/helpers/RuiFormTextDetail.vue.js.map +0 -1
- package/dist/components/helpers/RuiFormTextDetail.vue2.js +0 -5
- package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +0 -1
- package/dist/components/icons/RuiIcon.vue.js +0 -11
- package/dist/components/icons/RuiIcon.vue.js.map +0 -1
- package/dist/components/icons/RuiIcon.vue2.js +0 -57
- package/dist/components/icons/RuiIcon.vue2.js.map +0 -1
- package/dist/components/icons/RuiIcon.vue3.js +0 -29
- package/dist/components/icons/RuiIcon.vue3.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonBase.vue.js +0 -11
- package/dist/components/loaders/RuiSkeletonBase.vue.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonBase.vue2.js +0 -22
- package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonBase.vue3.js +0 -12
- package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue.js +0 -11
- package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js +0 -47
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +0 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue3.js +0 -33
- package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +0 -1
- package/dist/components/logos/RuiLogo.vue.js +0 -148
- package/dist/components/logos/RuiLogo.vue.js.map +0 -1
- package/dist/components/logos/RuiLogo.vue2.js +0 -5
- package/dist/components/logos/RuiLogo.vue2.js.map +0 -1
- package/dist/components/logos/logo.svg.js +0 -5
- package/dist/components/logos/logo.svg.js.map +0 -1
- package/dist/components/overlays/badge/RuiBadge.vue.js +0 -11
- package/dist/components/overlays/badge/RuiBadge.vue.js.map +0 -1
- package/dist/components/overlays/badge/RuiBadge.vue2.js +0 -93
- package/dist/components/overlays/badge/RuiBadge.vue2.js.map +0 -1
- package/dist/components/overlays/badge/RuiBadge.vue3.js +0 -77
- package/dist/components/overlays/badge/RuiBadge.vue3.js.map +0 -1
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +0 -45
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +0 -1
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +0 -5
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +0 -1
- package/dist/components/overlays/dialog/RuiDialog.vue.js +0 -11
- package/dist/components/overlays/dialog/RuiDialog.vue.js.map +0 -1
- package/dist/components/overlays/dialog/RuiDialog.vue2.js +0 -195
- package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +0 -1
- package/dist/components/overlays/dialog/RuiDialog.vue3.js +0 -18
- package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +0 -1
- package/dist/components/overlays/menu/RuiMenu.vue.js +0 -11
- package/dist/components/overlays/menu/RuiMenu.vue.js.map +0 -1
- package/dist/components/overlays/menu/RuiMenu.vue2.js +0 -214
- package/dist/components/overlays/menu/RuiMenu.vue2.js.map +0 -1
- package/dist/components/overlays/menu/RuiMenu.vue3.js +0 -21
- package/dist/components/overlays/menu/RuiMenu.vue3.js.map +0 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +0 -11
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +0 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +0 -164
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +0 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +0 -28
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +0 -1
- package/dist/components/overlays/notification/RuiNotification.vue.js +0 -79
- package/dist/components/overlays/notification/RuiNotification.vue.js.map +0 -1
- package/dist/components/overlays/notification/RuiNotification.vue2.js +0 -5
- package/dist/components/overlays/notification/RuiNotification.vue2.js.map +0 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue.js +0 -11
- package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +0 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +0 -112
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +0 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +0 -27
- package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +0 -1
- package/dist/components/progress/RuiProgress.vue.js +0 -11
- package/dist/components/progress/RuiProgress.vue.js.map +0 -1
- package/dist/components/progress/RuiProgress.vue2.js +0 -92
- package/dist/components/progress/RuiProgress.vue2.js.map +0 -1
- package/dist/components/progress/RuiProgress.vue3.js +0 -48
- package/dist/components/progress/RuiProgress.vue3.js.map +0 -1
- package/dist/components/steppers/RuiFooterStepper.vue.js +0 -11
- package/dist/components/steppers/RuiFooterStepper.vue.js.map +0 -1
- package/dist/components/steppers/RuiFooterStepper.vue2.js +0 -150
- package/dist/components/steppers/RuiFooterStepper.vue2.js.map +0 -1
- package/dist/components/steppers/RuiFooterStepper.vue3.js +0 -31
- package/dist/components/steppers/RuiFooterStepper.vue3.js.map +0 -1
- package/dist/components/steppers/RuiStepper.vue.js +0 -11
- package/dist/components/steppers/RuiStepper.vue.js.map +0 -1
- package/dist/components/steppers/RuiStepper.vue2.js +0 -133
- package/dist/components/steppers/RuiStepper.vue2.js.map +0 -1
- package/dist/components/steppers/RuiStepper.vue3.js +0 -58
- package/dist/components/steppers/RuiStepper.vue3.js.map +0 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue.js +0 -11
- package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +0 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +0 -38
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +0 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +0 -15
- package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +0 -1
- package/dist/components/steppers/RuiStepperIcon.vue.js +0 -11
- package/dist/components/steppers/RuiStepperIcon.vue.js.map +0 -1
- package/dist/components/steppers/RuiStepperIcon.vue2.js +0 -43
- package/dist/components/steppers/RuiStepperIcon.vue2.js.map +0 -1
- package/dist/components/steppers/RuiStepperIcon.vue3.js +0 -21
- package/dist/components/steppers/RuiStepperIcon.vue3.js.map +0 -1
- package/dist/components/tables/RuiDataTable.vue.js +0 -11
- package/dist/components/tables/RuiDataTable.vue.js.map +0 -1
- package/dist/components/tables/RuiDataTable.vue2.js +0 -541
- package/dist/components/tables/RuiDataTable.vue2.js.map +0 -1
- package/dist/components/tables/RuiDataTable.vue3.js +0 -76
- package/dist/components/tables/RuiDataTable.vue3.js.map +0 -1
- package/dist/components/tables/RuiExpandButton.vue.js +0 -11
- package/dist/components/tables/RuiExpandButton.vue.js.map +0 -1
- package/dist/components/tables/RuiExpandButton.vue2.js +0 -44
- package/dist/components/tables/RuiExpandButton.vue2.js.map +0 -1
- package/dist/components/tables/RuiExpandButton.vue3.js +0 -15
- package/dist/components/tables/RuiExpandButton.vue3.js.map +0 -1
- package/dist/components/tables/RuiTableHead.vue.js +0 -11
- package/dist/components/tables/RuiTableHead.vue.js.map +0 -1
- package/dist/components/tables/RuiTableHead.vue2.js +0 -195
- package/dist/components/tables/RuiTableHead.vue2.js.map +0 -1
- package/dist/components/tables/RuiTableHead.vue3.js +0 -69
- package/dist/components/tables/RuiTableHead.vue3.js.map +0 -1
- package/dist/components/tables/RuiTablePagination.vue.js +0 -11
- package/dist/components/tables/RuiTablePagination.vue.js.map +0 -1
- package/dist/components/tables/RuiTablePagination.vue2.js +0 -204
- package/dist/components/tables/RuiTablePagination.vue2.js.map +0 -1
- package/dist/components/tables/RuiTablePagination.vue3.js +0 -28
- package/dist/components/tables/RuiTablePagination.vue3.js.map +0 -1
- package/dist/components/tables/table_no_data_placeholder.svg.js +0 -5
- package/dist/components/tables/table_no_data_placeholder.svg.js.map +0 -1
- package/dist/components/tables/table_no_data_placeholder_dark.svg.js +0 -5
- package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +0 -1
- package/dist/components/tabs/tab/RuiTab.vue.js +0 -11
- package/dist/components/tabs/tab/RuiTab.vue.js.map +0 -1
- package/dist/components/tabs/tab/RuiTab.vue2.js +0 -167
- package/dist/components/tabs/tab/RuiTab.vue2.js.map +0 -1
- package/dist/components/tabs/tab/RuiTab.vue3.js +0 -17
- package/dist/components/tabs/tab/RuiTab.vue3.js.map +0 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue.js +0 -11
- package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +0 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +0 -52
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +0 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +0 -9
- package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +0 -1
- package/dist/components/tabs/tab-items/RuiTabItems.vue.js +0 -11
- package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +0 -1
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +0 -90
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +0 -1
- package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +0 -9
- package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +0 -1
- package/dist/components/tabs/tabs/RuiTabs.vue.js +0 -11
- package/dist/components/tabs/tabs/RuiTabs.vue.js.map +0 -1
- package/dist/components/tabs/tabs/RuiTabs.vue2.js +0 -288
- package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +0 -1
- package/dist/components/tabs/tabs/RuiTabs.vue3.js +0 -20
- package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +0 -1
- package/dist/components/time-picker/RuiTimePicker.vue.js +0 -11
- package/dist/components/time-picker/RuiTimePicker.vue.js.map +0 -1
- package/dist/components/time-picker/RuiTimePicker.vue2.js +0 -463
- package/dist/components/time-picker/RuiTimePicker.vue2.js.map +0 -1
- package/dist/components/time-picker/RuiTimePicker.vue3.js +0 -21
- package/dist/components/time-picker/RuiTimePicker.vue3.js.map +0 -1
- package/dist/composables/forms/use-label-with-quote.js +0 -14
- package/dist/composables/forms/use-label-with-quote.js.map +0 -1
- package/dist/composables/index.js.map +0 -1
|
@@ -1,139 +1,119 @@
|
|
|
1
|
+
import { nextTick, readonly, ref, toValue, watch } from "vue";
|
|
1
2
|
import { get, set } from "@vueuse/shared";
|
|
2
|
-
|
|
3
|
+
//#region src/composables/forms/auto-complete/keyboard-navigation.ts
|
|
3
4
|
function useAutoCompleteKeyboardNavigation(options, deps) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
let activeChip = cache.get(index);
|
|
115
|
-
if (!activeChip) {
|
|
116
|
-
const activator = get(deps.activator);
|
|
117
|
-
const element = activator?.querySelector(`[data-index="${index}"]`);
|
|
118
|
-
if (element) {
|
|
119
|
-
activeChip = element;
|
|
120
|
-
cache.set(index, element);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (activeChip && "focus" in activeChip && typeof activeChip.focus === "function")
|
|
124
|
-
activeChip.focus();
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
return {
|
|
128
|
-
focusedValueIndex,
|
|
129
|
-
moveSelectedValueHighlight,
|
|
130
|
-
onEnter,
|
|
131
|
-
onInputDeletePressed,
|
|
132
|
-
onTab,
|
|
133
|
-
setValueFocus
|
|
134
|
-
};
|
|
5
|
+
const focusedValueIndex = ref(-1);
|
|
6
|
+
function setValueFocus(index) {
|
|
7
|
+
set(focusedValueIndex, index);
|
|
8
|
+
}
|
|
9
|
+
function moveSelectedValueHighlight(event, next) {
|
|
10
|
+
const multiple = toValue(options.multiple);
|
|
11
|
+
const internalSearchValue = get(deps.internalSearch);
|
|
12
|
+
if (!multiple || internalSearchValue.length > 0) return;
|
|
13
|
+
event.preventDefault();
|
|
14
|
+
const total = get(deps.value).length;
|
|
15
|
+
let current = get(focusedValueIndex);
|
|
16
|
+
if (current === -1) {
|
|
17
|
+
set(focusedValueIndex, next ? 0 : total - 1);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
current += next ? 1 : -1;
|
|
21
|
+
if (current < 0 || current >= total) {
|
|
22
|
+
set(focusedValueIndex, -1);
|
|
23
|
+
set(deps.searchInputFocused, true);
|
|
24
|
+
} else set(focusedValueIndex, current);
|
|
25
|
+
}
|
|
26
|
+
function highlightedMatchesSearch(filteredOptions, highlightedIndex, search) {
|
|
27
|
+
if (highlightedIndex < 0 || highlightedIndex >= filteredOptions.length) return false;
|
|
28
|
+
const option = filteredOptions[highlightedIndex];
|
|
29
|
+
if (typeof option === "string") return option === search;
|
|
30
|
+
if (option && typeof option === "object") return (deps.getText(option) ?? "") === search;
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
function applyCustomValue(event, multiple) {
|
|
34
|
+
deps.setSearchAsValue();
|
|
35
|
+
if (!multiple) set(deps.isOpen, false);
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
}
|
|
38
|
+
function submitClosestForm() {
|
|
39
|
+
(get(deps.activator)?.closest("form"))?.dispatchEvent(new Event("submit"));
|
|
40
|
+
}
|
|
41
|
+
function handleOpenMenuEnter(event) {
|
|
42
|
+
const filteredOptions = get(deps.filteredOptions);
|
|
43
|
+
const highlightedIndex = get(deps.highlightedIndex);
|
|
44
|
+
const customValue = toValue(options.customValue);
|
|
45
|
+
const multiple = toValue(options.multiple);
|
|
46
|
+
const internalSearch = get(deps.internalSearch);
|
|
47
|
+
if (get(deps.userNavigated) && highlightedIndex > -1 && filteredOptions.length > 0) {
|
|
48
|
+
deps.applyHighlighted();
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
if (customValue && internalSearch && !highlightedMatchesSearch(filteredOptions, highlightedIndex, internalSearch)) {
|
|
53
|
+
applyCustomValue(event, multiple);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
if (highlightedIndex > -1 && filteredOptions.length > 0) {
|
|
57
|
+
deps.applyHighlighted();
|
|
58
|
+
event.preventDefault();
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
if (filteredOptions.length === 0 && customValue && internalSearch) {
|
|
62
|
+
applyCustomValue(event, multiple);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
function onEnter(event) {
|
|
68
|
+
if (get(deps.isOpen) && handleOpenMenuEnter(event)) return;
|
|
69
|
+
if (!get(deps.isOpen) && get(deps.value).length === 0) {
|
|
70
|
+
set(deps.isOpen, true);
|
|
71
|
+
return event.preventDefault();
|
|
72
|
+
}
|
|
73
|
+
submitClosestForm();
|
|
74
|
+
}
|
|
75
|
+
function onTab(event) {
|
|
76
|
+
const isOpen = get(deps.isOpen);
|
|
77
|
+
const filteredOptions = get(deps.filteredOptions);
|
|
78
|
+
const highlightedIndex = get(deps.highlightedIndex);
|
|
79
|
+
const multiple = toValue(options.multiple);
|
|
80
|
+
if (isOpen && filteredOptions.length > 0 && highlightedIndex > -1 && !multiple) {
|
|
81
|
+
deps.applyHighlighted();
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function onInputDeletePressed() {
|
|
86
|
+
const internalSearch = get(deps.internalSearch);
|
|
87
|
+
const value = get(deps.value);
|
|
88
|
+
const total = value.length;
|
|
89
|
+
const multiple = toValue(options.multiple);
|
|
90
|
+
if (!internalSearch && total > 0) if (multiple) if (toValue(options.chips)) set(focusedValueIndex, total - 1);
|
|
91
|
+
else {
|
|
92
|
+
const lastItem = value[total - 1];
|
|
93
|
+
if (lastItem !== void 0) deps.removeValue(lastItem);
|
|
94
|
+
}
|
|
95
|
+
else deps.clear();
|
|
96
|
+
}
|
|
97
|
+
watch(deps.value, () => {
|
|
98
|
+
setValueFocus(-1);
|
|
99
|
+
});
|
|
100
|
+
watch(focusedValueIndex, async (index) => {
|
|
101
|
+
const multiple = toValue(options.multiple);
|
|
102
|
+
if (index === -1 || !multiple) return;
|
|
103
|
+
await nextTick(() => {
|
|
104
|
+
(get(deps.activator)?.querySelector(`[data-index="${index}"]`))?.focus();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
return {
|
|
108
|
+
focusedValueIndex: readonly(focusedValueIndex),
|
|
109
|
+
moveSelectedValueHighlight,
|
|
110
|
+
onEnter,
|
|
111
|
+
onInputDeletePressed,
|
|
112
|
+
onTab,
|
|
113
|
+
setValueFocus
|
|
114
|
+
};
|
|
135
115
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=keyboard-navigation.js.map
|
|
116
|
+
//#endregion
|
|
117
|
+
export { useAutoCompleteKeyboardNavigation };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=keyboard-navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-navigation.js","sources":["../../../../src/composables/forms/auto-complete/keyboard-navigation.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"keyboard-navigation.js","names":[],"sources":["../../../../src/composables/forms/auto-complete/keyboard-navigation.ts"],"sourcesContent":["import type { MaybeRefOrGetter, Ref, TemplateRef } from 'vue';\nimport { get, set } from '@vueuse/shared';\n\nexport interface UseAutoCompleteKeyboardNavigationOptions {\n /** Whether multiple items can be selected. */\n multiple: MaybeRefOrGetter<boolean>;\n /** Whether custom (free-text) values are allowed. */\n customValue: MaybeRefOrGetter<boolean>;\n /** Whether selected values are displayed as chips. */\n chips: MaybeRefOrGetter<boolean>;\n}\n\nexport interface UseAutoCompleteKeyboardNavigationDeps<TItem> {\n internalSearch: Ref<string>;\n value: Ref<TItem[]>;\n filteredOptions: Ref<TItem[]>;\n isOpen: Ref<boolean>;\n highlightedIndex: Ref<number>;\n userNavigated: Ref<boolean>;\n searchInputFocused: Ref<boolean>;\n applyHighlighted: () => void;\n clear: () => void;\n removeValue: (item: TItem) => void;\n setSearchAsValue: () => void;\n getText: (item: TItem) => string | undefined;\n activator: Ref<HTMLElement | undefined> | TemplateRef<HTMLElement>;\n}\n\nexport interface UseAutoCompleteKeyboardNavigationReturn {\n focusedValueIndex: Readonly<Ref<number>>;\n moveSelectedValueHighlight: (event: KeyboardEvent, next: boolean) => void;\n onEnter: (event: KeyboardEvent) => void;\n onTab: (event: KeyboardEvent) => void;\n onInputDeletePressed: () => void;\n setValueFocus: (index: number) => void;\n}\n\nexport function useAutoCompleteKeyboardNavigation<TItem>(\n options: UseAutoCompleteKeyboardNavigationOptions,\n deps: UseAutoCompleteKeyboardNavigationDeps<TItem>,\n): UseAutoCompleteKeyboardNavigationReturn {\n const focusedValueIndex = ref<number>(-1);\n\n function setValueFocus(index: number): void {\n set(focusedValueIndex, index);\n }\n\n function moveSelectedValueHighlight(event: KeyboardEvent, next: boolean): void {\n const multiple = toValue(options.multiple);\n const internalSearchValue = get(deps.internalSearch);\n\n if (!multiple || internalSearchValue.length > 0)\n return;\n\n event.preventDefault();\n const total = get(deps.value).length;\n\n let current = get(focusedValueIndex);\n\n if (current === -1) {\n set(focusedValueIndex, next ? 0 : total - 1);\n return;\n }\n\n const move = next ? 1 : -1;\n current += move;\n\n if (current < 0 || current >= total) {\n set(focusedValueIndex, -1);\n set(deps.searchInputFocused, true);\n }\n else {\n set(focusedValueIndex, current);\n }\n }\n\n function highlightedMatchesSearch(filteredOptions: TItem[], highlightedIndex: number, search: string): boolean {\n if (highlightedIndex < 0 || highlightedIndex >= filteredOptions.length)\n return false;\n\n const option = filteredOptions[highlightedIndex];\n if (typeof option === 'string')\n return option === search;\n\n if (option && typeof option === 'object')\n return (deps.getText(option) ?? '') === search;\n\n return false;\n }\n\n function applyCustomValue(event: KeyboardEvent, multiple: boolean): void {\n deps.setSearchAsValue();\n if (!multiple)\n set(deps.isOpen, false);\n event.preventDefault();\n }\n\n function submitClosestForm(): void {\n const activator = get(deps.activator);\n const form = activator?.closest('form');\n form?.dispatchEvent(new Event('submit'));\n }\n\n function handleOpenMenuEnter(event: KeyboardEvent): boolean {\n const filteredOptions = get(deps.filteredOptions);\n const highlightedIndex = get(deps.highlightedIndex);\n const customValue = toValue(options.customValue);\n const multiple = toValue(options.multiple);\n const internalSearch = get(deps.internalSearch);\n\n const userNavigated = get(deps.userNavigated);\n\n if (userNavigated && highlightedIndex > -1 && filteredOptions.length > 0) {\n deps.applyHighlighted();\n event.preventDefault();\n return true;\n }\n\n if (customValue && internalSearch && !highlightedMatchesSearch(filteredOptions, highlightedIndex, internalSearch)) {\n applyCustomValue(event, multiple);\n return true;\n }\n\n if (highlightedIndex > -1 && filteredOptions.length > 0) {\n deps.applyHighlighted();\n event.preventDefault();\n return true;\n }\n\n if (filteredOptions.length === 0 && customValue && internalSearch) {\n applyCustomValue(event, multiple);\n return true;\n }\n\n return false;\n }\n\n function onEnter(event: KeyboardEvent): void {\n if (get(deps.isOpen) && handleOpenMenuEnter(event))\n return;\n\n // Nothing selected, menu closed: open menu\n if (!get(deps.isOpen) && get(deps.value).length === 0) {\n set(deps.isOpen, true);\n return event.preventDefault();\n }\n\n // Fallback: submit parent form\n submitClosestForm();\n }\n\n function onTab(event: KeyboardEvent): void {\n const isOpen = get(deps.isOpen);\n const filteredOptions = get(deps.filteredOptions);\n const highlightedIndex = get(deps.highlightedIndex);\n const multiple = toValue(options.multiple);\n\n if (isOpen && filteredOptions.length > 0 && highlightedIndex > -1 && !multiple) {\n deps.applyHighlighted();\n event.preventDefault();\n }\n }\n\n function onInputDeletePressed(): void {\n const internalSearch = get(deps.internalSearch);\n const value = get(deps.value);\n const total = value.length;\n const multiple = toValue(options.multiple);\n\n if (!internalSearch && total > 0) {\n if (multiple) {\n if (toValue(options.chips)) {\n set(focusedValueIndex, total - 1);\n }\n else {\n const lastItem = value[total - 1];\n if (lastItem !== undefined)\n deps.removeValue(lastItem);\n }\n }\n else {\n deps.clear();\n }\n }\n }\n\n // Watch value changes to reset focused index\n watch(deps.value, () => {\n setValueFocus(-1);\n });\n\n // Watch focused value index to handle chip focus\n watch(focusedValueIndex, async (index) => {\n const multiple = toValue(options.multiple);\n if (index === -1 || !multiple)\n return;\n\n await nextTick(() => {\n const activator = get(deps.activator);\n const element = activator?.querySelector<HTMLElement>(`[data-index=\"${index}\"]`);\n element?.focus();\n });\n });\n\n return {\n focusedValueIndex: readonly(focusedValueIndex),\n moveSelectedValueHighlight,\n onEnter,\n onInputDeletePressed,\n onTab,\n setValueFocus,\n };\n}\n"],"mappings":";;;AAqCA,SAAgB,kCACd,SACA,MACyC;CACzC,MAAM,oBAAoB,IAAY,GAAG;CAEzC,SAAS,cAAc,OAAqB;AAC1C,MAAI,mBAAmB,MAAM;;CAG/B,SAAS,2BAA2B,OAAsB,MAAqB;EAC7E,MAAM,WAAW,QAAQ,QAAQ,SAAS;EAC1C,MAAM,sBAAsB,IAAI,KAAK,eAAe;AAEpD,MAAI,CAAC,YAAY,oBAAoB,SAAS,EAC5C;AAEF,QAAM,gBAAgB;EACtB,MAAM,QAAQ,IAAI,KAAK,MAAM,CAAC;EAE9B,IAAI,UAAU,IAAI,kBAAkB;AAEpC,MAAI,YAAY,IAAI;AAClB,OAAI,mBAAmB,OAAO,IAAI,QAAQ,EAAE;AAC5C;;AAIF,aADa,OAAO,IAAI;AAGxB,MAAI,UAAU,KAAK,WAAW,OAAO;AACnC,OAAI,mBAAmB,GAAG;AAC1B,OAAI,KAAK,oBAAoB,KAAK;QAGlC,KAAI,mBAAmB,QAAQ;;CAInC,SAAS,yBAAyB,iBAA0B,kBAA0B,QAAyB;AAC7G,MAAI,mBAAmB,KAAK,oBAAoB,gBAAgB,OAC9D,QAAO;EAET,MAAM,SAAS,gBAAgB;AAC/B,MAAI,OAAO,WAAW,SACpB,QAAO,WAAW;AAEpB,MAAI,UAAU,OAAO,WAAW,SAC9B,SAAQ,KAAK,QAAQ,OAAO,IAAI,QAAQ;AAE1C,SAAO;;CAGT,SAAS,iBAAiB,OAAsB,UAAyB;AACvE,OAAK,kBAAkB;AACvB,MAAI,CAAC,SACH,KAAI,KAAK,QAAQ,MAAM;AACzB,QAAM,gBAAgB;;CAGxB,SAAS,oBAA0B;AAGjC,GAFkB,IAAI,KAAK,UAAU,EACb,QAAQ,OAAO,GACjC,cAAc,IAAI,MAAM,SAAS,CAAC;;CAG1C,SAAS,oBAAoB,OAA+B;EAC1D,MAAM,kBAAkB,IAAI,KAAK,gBAAgB;EACjD,MAAM,mBAAmB,IAAI,KAAK,iBAAiB;EACnD,MAAM,cAAc,QAAQ,QAAQ,YAAY;EAChD,MAAM,WAAW,QAAQ,QAAQ,SAAS;EAC1C,MAAM,iBAAiB,IAAI,KAAK,eAAe;AAI/C,MAFsB,IAAI,KAAK,cAAc,IAExB,mBAAmB,MAAM,gBAAgB,SAAS,GAAG;AACxE,QAAK,kBAAkB;AACvB,SAAM,gBAAgB;AACtB,UAAO;;AAGT,MAAI,eAAe,kBAAkB,CAAC,yBAAyB,iBAAiB,kBAAkB,eAAe,EAAE;AACjH,oBAAiB,OAAO,SAAS;AACjC,UAAO;;AAGT,MAAI,mBAAmB,MAAM,gBAAgB,SAAS,GAAG;AACvD,QAAK,kBAAkB;AACvB,SAAM,gBAAgB;AACtB,UAAO;;AAGT,MAAI,gBAAgB,WAAW,KAAK,eAAe,gBAAgB;AACjE,oBAAiB,OAAO,SAAS;AACjC,UAAO;;AAGT,SAAO;;CAGT,SAAS,QAAQ,OAA4B;AAC3C,MAAI,IAAI,KAAK,OAAO,IAAI,oBAAoB,MAAM,CAChD;AAGF,MAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,GAAG;AACrD,OAAI,KAAK,QAAQ,KAAK;AACtB,UAAO,MAAM,gBAAgB;;AAI/B,qBAAmB;;CAGrB,SAAS,MAAM,OAA4B;EACzC,MAAM,SAAS,IAAI,KAAK,OAAO;EAC/B,MAAM,kBAAkB,IAAI,KAAK,gBAAgB;EACjD,MAAM,mBAAmB,IAAI,KAAK,iBAAiB;EACnD,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAE1C,MAAI,UAAU,gBAAgB,SAAS,KAAK,mBAAmB,MAAM,CAAC,UAAU;AAC9E,QAAK,kBAAkB;AACvB,SAAM,gBAAgB;;;CAI1B,SAAS,uBAA6B;EACpC,MAAM,iBAAiB,IAAI,KAAK,eAAe;EAC/C,MAAM,QAAQ,IAAI,KAAK,MAAM;EAC7B,MAAM,QAAQ,MAAM;EACpB,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAE1C,MAAI,CAAC,kBAAkB,QAAQ,EAC7B,KAAI,SACF,KAAI,QAAQ,QAAQ,MAAM,CACxB,KAAI,mBAAmB,QAAQ,EAAE;OAE9B;GACH,MAAM,WAAW,MAAM,QAAQ;AAC/B,OAAI,aAAa,KAAA,EACf,MAAK,YAAY,SAAS;;MAI9B,MAAK,OAAO;;AAMlB,OAAM,KAAK,aAAa;AACtB,gBAAc,GAAG;GACjB;AAGF,OAAM,mBAAmB,OAAO,UAAU;EACxC,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAC1C,MAAI,UAAU,MAAM,CAAC,SACnB;AAEF,QAAM,eAAe;AAGnB,IAFkB,IAAI,KAAK,UAAU,EACV,cAA2B,gBAAgB,MAAM,IAAI,GACvE,OAAO;IAChB;GACF;AAEF,QAAO;EACL,mBAAmB,SAAS,kBAAkB;EAC9C;EACA;EACA;EACA;EACA;EACD"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MaybeRefOrGetter, Ref } from 'vue';
|
|
2
2
|
export interface UseAutoCompleteSearchOptions<TItem> {
|
|
3
3
|
/** The property used as the unique identifier for each item. */
|
|
4
|
-
keyAttr?:
|
|
4
|
+
keyAttr?: MaybeRefOrGetter<keyof TItem | undefined>;
|
|
5
5
|
/** The property used to display text for each item. */
|
|
6
|
-
textAttr?:
|
|
6
|
+
textAttr?: MaybeRefOrGetter<keyof TItem | undefined>;
|
|
7
7
|
/** Whether to disable client-side filtering of options. */
|
|
8
|
-
noFilter?:
|
|
8
|
+
noFilter?: MaybeRefOrGetter<boolean>;
|
|
9
9
|
/** Custom filter function to match items against the search query. */
|
|
10
|
-
filter?:
|
|
10
|
+
filter?: MaybeRefOrGetter<((item: TItem, queryText: string) => boolean) | undefined>;
|
|
11
11
|
/** Whether custom (free-text) values are allowed. */
|
|
12
|
-
customValue?:
|
|
12
|
+
customValue?: MaybeRefOrGetter<boolean>;
|
|
13
13
|
/** Whether to hide the custom value option from the dropdown. */
|
|
14
|
-
hideCustomValue?:
|
|
14
|
+
hideCustomValue?: MaybeRefOrGetter<boolean>;
|
|
15
15
|
/** Whether to return the full item object instead of just the key. */
|
|
16
|
-
returnObject?:
|
|
16
|
+
returnObject?: MaybeRefOrGetter<boolean>;
|
|
17
17
|
}
|
|
18
18
|
export interface UseAutoCompleteSearchReturn<TItem> {
|
|
19
|
-
internalSearch: Ref<string
|
|
19
|
+
internalSearch: Readonly<Ref<string>>;
|
|
20
20
|
debouncedInternalSearch: Readonly<Ref<string>>;
|
|
21
21
|
filteredOptions: Readonly<Ref<TItem[]>>;
|
|
22
22
|
justOpened: Ref<boolean>;
|
|
23
23
|
updateInternalSearch: (value?: string) => void;
|
|
24
24
|
textValueToProperValue: (val: any, returnObject?: boolean) => TItem;
|
|
25
25
|
}
|
|
26
|
-
export declare function useAutoCompleteSearch<TItem>(options:
|
|
26
|
+
export declare function useAutoCompleteSearch<TItem>(options: MaybeRefOrGetter<TItem[]>, searchModel: Ref<string>, // eslint-disable-line @rotki/composable-input-flexibility -- needs write access
|
|
27
|
+
opts: UseAutoCompleteSearchOptions<TItem>): UseAutoCompleteSearchReturn<TItem>;
|
|
@@ -1,95 +1,84 @@
|
|
|
1
|
-
import { get, set } from "@vueuse/shared";
|
|
2
1
|
import { getTextToken } from "../../../utils/helpers.js";
|
|
3
|
-
import { shallowRef,
|
|
2
|
+
import { computed, onUnmounted, readonly, shallowRef, toValue, watch } from "vue";
|
|
4
3
|
import { refDebounced } from "@vueuse/core";
|
|
4
|
+
import { get as get$1, set as set$1 } from "@vueuse/shared";
|
|
5
|
+
//#region src/composables/forms/auto-complete/search.ts
|
|
5
6
|
function useAutoCompleteSearch(options, searchModel, opts) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return {
|
|
80
|
-
debouncedInternalSearch,
|
|
81
|
-
filteredOptions,
|
|
82
|
-
internalSearch,
|
|
83
|
-
justOpened,
|
|
84
|
-
textValueToProperValue: (val, returnObjectOverride = false) => textValueToProperValue(val, {
|
|
85
|
-
keyAttr: get(opts.keyAttr),
|
|
86
|
-
returnObject: returnObjectOverride || get(opts.returnObject),
|
|
87
|
-
textAttr: get(opts.textAttr)
|
|
88
|
-
}),
|
|
89
|
-
updateInternalSearch
|
|
90
|
-
};
|
|
7
|
+
const internalSearch = shallowRef("");
|
|
8
|
+
const debouncedInternalSearch = refDebounced(internalSearch, 50);
|
|
9
|
+
const justOpened = shallowRef(false);
|
|
10
|
+
const MAX_CACHE_SIZE = 100;
|
|
11
|
+
const tokenCache = /* @__PURE__ */ new Map();
|
|
12
|
+
const getCachedTextToken = (text) => {
|
|
13
|
+
const cached = tokenCache.get(text);
|
|
14
|
+
if (cached !== void 0) return cached;
|
|
15
|
+
if (tokenCache.size >= MAX_CACHE_SIZE) {
|
|
16
|
+
const oldest = tokenCache.keys().next().value;
|
|
17
|
+
if (oldest !== void 0) tokenCache.delete(oldest);
|
|
18
|
+
}
|
|
19
|
+
const token = getTextToken(text);
|
|
20
|
+
tokenCache.set(text, token);
|
|
21
|
+
return token;
|
|
22
|
+
};
|
|
23
|
+
const filteredOptions = computed(() => {
|
|
24
|
+
const search = get$1(debouncedInternalSearch);
|
|
25
|
+
const optionsValue = toValue(options);
|
|
26
|
+
if (toValue(opts.noFilter) || !search || get$1(justOpened)) return optionsValue;
|
|
27
|
+
const keyAttr = toValue(opts.keyAttr);
|
|
28
|
+
const textAttr = toValue(opts.textAttr);
|
|
29
|
+
const filter = toValue(opts.filter);
|
|
30
|
+
const searchToken = getCachedTextToken(search);
|
|
31
|
+
const filtered = filter ? optionsValue.filter((item) => filter(item, search)) : optionsValue.filter((item) => {
|
|
32
|
+
if (!item) return false;
|
|
33
|
+
const keywords = [getCachedTextToken(keyAttr ? String(item[keyAttr]) : item.toString())];
|
|
34
|
+
if (textAttr && typeof item === "object") keywords.push(getCachedTextToken(String(item[textAttr])));
|
|
35
|
+
return keywords.some((keyword) => keyword.includes(searchToken));
|
|
36
|
+
});
|
|
37
|
+
const customValue = toValue(opts.customValue);
|
|
38
|
+
const hideCustomValue = toValue(opts.hideCustomValue);
|
|
39
|
+
if (!customValue || hideCustomValue || !search) return filtered;
|
|
40
|
+
if (filtered.some((item) => {
|
|
41
|
+
if (!item) return false;
|
|
42
|
+
return (textAttr ? item[textAttr] : item.toString()) === search;
|
|
43
|
+
})) return filtered;
|
|
44
|
+
return [textValueToProperValue(search, {
|
|
45
|
+
keyAttr,
|
|
46
|
+
returnObject: toValue(opts.returnObject),
|
|
47
|
+
textAttr
|
|
48
|
+
}), ...filtered];
|
|
49
|
+
});
|
|
50
|
+
function textValueToProperValue(val, options) {
|
|
51
|
+
const { keyAttr, returnObject, textAttr } = options;
|
|
52
|
+
if (!keyAttr || returnObject) return val;
|
|
53
|
+
return {
|
|
54
|
+
[keyAttr]: val,
|
|
55
|
+
...textAttr ? { [textAttr]: val } : {}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function updateInternalSearch(value = "") {
|
|
59
|
+
set$1(searchModel, value);
|
|
60
|
+
set$1(internalSearch, value);
|
|
61
|
+
}
|
|
62
|
+
watch(searchModel, (search) => {
|
|
63
|
+
set$1(internalSearch, search);
|
|
64
|
+
}, { immediate: true });
|
|
65
|
+
onUnmounted(() => {
|
|
66
|
+
tokenCache.clear();
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
debouncedInternalSearch,
|
|
70
|
+
filteredOptions,
|
|
71
|
+
internalSearch: readonly(internalSearch),
|
|
72
|
+
justOpened,
|
|
73
|
+
textValueToProperValue: (val, returnObjectOverride = false) => textValueToProperValue(val, {
|
|
74
|
+
keyAttr: toValue(opts.keyAttr),
|
|
75
|
+
returnObject: returnObjectOverride || toValue(opts.returnObject),
|
|
76
|
+
textAttr: toValue(opts.textAttr)
|
|
77
|
+
}),
|
|
78
|
+
updateInternalSearch
|
|
79
|
+
};
|
|
91
80
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=search.js.map
|
|
81
|
+
//#endregion
|
|
82
|
+
export { useAutoCompleteSearch };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sources":["../../../../src/composables/forms/auto-complete/search.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"search.js","names":[],"sources":["../../../../src/composables/forms/auto-complete/search.ts"],"sourcesContent":["import type { MaybeRefOrGetter, Ref } from 'vue';\nimport { get, set } from '@vueuse/shared';\nimport { getTextToken } from '@/utils/helpers';\n\nexport interface UseAutoCompleteSearchOptions<TItem> {\n /** The property used as the unique identifier for each item. */\n keyAttr?: MaybeRefOrGetter<keyof TItem | undefined>;\n /** The property used to display text for each item. */\n textAttr?: MaybeRefOrGetter<keyof TItem | undefined>;\n /** Whether to disable client-side filtering of options. */\n noFilter?: MaybeRefOrGetter<boolean>;\n /** Custom filter function to match items against the search query. */\n filter?: MaybeRefOrGetter<((item: TItem, queryText: string) => boolean) | undefined>;\n /** Whether custom (free-text) values are allowed. */\n customValue?: MaybeRefOrGetter<boolean>;\n /** Whether to hide the custom value option from the dropdown. */\n hideCustomValue?: MaybeRefOrGetter<boolean>;\n /** Whether to return the full item object instead of just the key. */\n returnObject?: MaybeRefOrGetter<boolean>;\n}\n\nexport interface UseAutoCompleteSearchReturn<TItem> {\n internalSearch: Readonly<Ref<string>>;\n debouncedInternalSearch: Readonly<Ref<string>>;\n filteredOptions: Readonly<Ref<TItem[]>>;\n justOpened: Ref<boolean>;\n updateInternalSearch: (value?: string) => void;\n textValueToProperValue: (val: any, returnObject?: boolean) => TItem;\n}\n\nexport function useAutoCompleteSearch<TItem>(\n options: MaybeRefOrGetter<TItem[]>,\n searchModel: Ref<string>, // eslint-disable-line @rotki/composable-input-flexibility -- needs write access\n opts: UseAutoCompleteSearchOptions<TItem>,\n): UseAutoCompleteSearchReturn<TItem> {\n const internalSearch = shallowRef<string>('');\n const debouncedInternalSearch = refDebounced(internalSearch, 50);\n const justOpened = shallowRef<boolean>(false);\n\n // Memoize token computation to avoid repeated string processing.\n // Map iteration order is insertion order, so deleting the first key\n // gives us simple LRU eviction without a separate data structure.\n const MAX_CACHE_SIZE = 100;\n const tokenCache = new Map<string, string>();\n const getCachedTextToken = (text: string): string => {\n const cached = tokenCache.get(text);\n if (cached !== undefined)\n return cached;\n\n if (tokenCache.size >= MAX_CACHE_SIZE) {\n const oldest = tokenCache.keys().next().value;\n if (oldest !== undefined)\n tokenCache.delete(oldest);\n }\n\n const token = getTextToken(text);\n tokenCache.set(text, token);\n return token;\n };\n\n const filteredOptions = computed<TItem[]>(() => {\n const search = get(debouncedInternalSearch);\n const optionsValue = toValue(options);\n\n const noFilter = toValue(opts.noFilter);\n if (noFilter || !search || get(justOpened))\n return optionsValue;\n\n const keyAttr = toValue(opts.keyAttr);\n const textAttr = toValue(opts.textAttr);\n const filter = toValue(opts.filter);\n\n // Cache the search token once\n const searchToken = getCachedTextToken(search);\n\n const filtered = filter\n ? optionsValue.filter(item => filter(item, search))\n : optionsValue.filter((item) => {\n if (!item)\n return false;\n\n const keywords: string[] = [getCachedTextToken(keyAttr ? String((item as any)[keyAttr]) : item.toString())];\n\n if (textAttr && typeof item === 'object')\n keywords.push(getCachedTextToken(String((item as any)[textAttr])));\n\n return keywords.some(keyword => keyword.includes(searchToken));\n });\n\n const customValue = toValue(opts.customValue);\n const hideCustomValue = toValue(opts.hideCustomValue);\n if (!customValue || hideCustomValue || !search) {\n return filtered;\n }\n\n // Use a more efficient check for custom value inclusion\n const isCustomValueIncluded = filtered.some((item) => {\n if (!item) {\n return false;\n }\n\n const val = textAttr ? (item as any)[textAttr] : item.toString();\n return val === search;\n });\n\n if (isCustomValueIncluded) {\n return filtered;\n }\n\n return [textValueToProperValue(search, {\n keyAttr,\n returnObject: toValue(opts.returnObject),\n textAttr,\n }), ...filtered];\n });\n\n function textValueToProperValue(val: any, options: { keyAttr?: keyof TItem; textAttr?: keyof TItem; returnObject?: boolean }): TItem {\n const { keyAttr, returnObject, textAttr } = options;\n if (!keyAttr || returnObject)\n return val;\n\n return {\n [keyAttr]: val,\n ...(\n textAttr\n ? { [textAttr]: val }\n : {}\n ),\n } as TItem;\n }\n\n function updateInternalSearch(value: string = ''): void {\n set(searchModel, value);\n set(internalSearch, value);\n }\n\n watch(searchModel, (search) => {\n set(internalSearch, search);\n }, { immediate: true });\n\n // Clear token cache when component unmounts to prevent memory leaks\n onUnmounted(() => {\n tokenCache.clear();\n });\n\n return {\n debouncedInternalSearch,\n filteredOptions,\n internalSearch: readonly(internalSearch),\n justOpened, // eslint-disable-line @rotki/composable-return-readonly -- written by focus.ts onInputFocused and component setValue\n textValueToProperValue: (val: any, returnObjectOverride: boolean = false) => textValueToProperValue(val, {\n keyAttr: toValue(opts.keyAttr),\n returnObject: returnObjectOverride || toValue(opts.returnObject),\n textAttr: toValue(opts.textAttr),\n }),\n updateInternalSearch,\n };\n}\n"],"mappings":";;;;;AA8BA,SAAgB,sBACd,SACA,aACA,MACoC;CACpC,MAAM,iBAAiB,WAAmB,GAAG;CAC7C,MAAM,0BAA0B,aAAa,gBAAgB,GAAG;CAChE,MAAM,aAAa,WAAoB,MAAM;CAK7C,MAAM,iBAAiB;CACvB,MAAM,6BAAa,IAAI,KAAqB;CAC5C,MAAM,sBAAsB,SAAyB;EACnD,MAAM,SAAS,WAAW,IAAI,KAAK;AACnC,MAAI,WAAW,KAAA,EACb,QAAO;AAET,MAAI,WAAW,QAAQ,gBAAgB;GACrC,MAAM,SAAS,WAAW,MAAM,CAAC,MAAM,CAAC;AACxC,OAAI,WAAW,KAAA,EACb,YAAW,OAAO,OAAO;;EAG7B,MAAM,QAAQ,aAAa,KAAK;AAChC,aAAW,IAAI,MAAM,MAAM;AAC3B,SAAO;;CAGT,MAAM,kBAAkB,eAAwB;EAC9C,MAAM,SAAS,MAAI,wBAAwB;EAC3C,MAAM,eAAe,QAAQ,QAAQ;AAGrC,MADiB,QAAQ,KAAK,SAAS,IACvB,CAAC,UAAU,MAAI,WAAW,CACxC,QAAO;EAET,MAAM,UAAU,QAAQ,KAAK,QAAQ;EACrC,MAAM,WAAW,QAAQ,KAAK,SAAS;EACvC,MAAM,SAAS,QAAQ,KAAK,OAAO;EAGnC,MAAM,cAAc,mBAAmB,OAAO;EAE9C,MAAM,WAAW,SACb,aAAa,QAAO,SAAQ,OAAO,MAAM,OAAO,CAAC,GACjD,aAAa,QAAQ,SAAS;AAC5B,OAAI,CAAC,KACH,QAAO;GAET,MAAM,WAAqB,CAAC,mBAAmB,UAAU,OAAQ,KAAa,SAAS,GAAG,KAAK,UAAU,CAAC,CAAC;AAE3G,OAAI,YAAY,OAAO,SAAS,SAC9B,UAAS,KAAK,mBAAmB,OAAQ,KAAa,UAAU,CAAC,CAAC;AAEpE,UAAO,SAAS,MAAK,YAAW,QAAQ,SAAS,YAAY,CAAC;IAC9D;EAEN,MAAM,cAAc,QAAQ,KAAK,YAAY;EAC7C,MAAM,kBAAkB,QAAQ,KAAK,gBAAgB;AACrD,MAAI,CAAC,eAAe,mBAAmB,CAAC,OACtC,QAAO;AAaT,MAT8B,SAAS,MAAM,SAAS;AACpD,OAAI,CAAC,KACH,QAAO;AAIT,WADY,WAAY,KAAa,YAAY,KAAK,UAAU,MACjD;IACf,CAGA,QAAO;AAGT,SAAO,CAAC,uBAAuB,QAAQ;GACrC;GACA,cAAc,QAAQ,KAAK,aAAa;GACxC;GACD,CAAC,EAAE,GAAG,SAAS;GAChB;CAEF,SAAS,uBAAuB,KAAU,SAA2F;EACnI,MAAM,EAAE,SAAS,cAAc,aAAa;AAC5C,MAAI,CAAC,WAAW,aACd,QAAO;AAET,SAAO;IACJ,UAAU;GACX,GACE,WACI,GAAG,WAAW,KAAK,GACnB,EAAA;GAEP;;CAGH,SAAS,qBAAqB,QAAgB,IAAU;AACtD,QAAI,aAAa,MAAM;AACvB,QAAI,gBAAgB,MAAM;;AAG5B,OAAM,cAAc,WAAW;AAC7B,QAAI,gBAAgB,OAAO;IAC1B,EAAE,WAAW,MAAM,CAAC;AAGvB,mBAAkB;AAChB,aAAW,OAAO;GAClB;AAEF,QAAO;EACL;EACA;EACA,gBAAgB,SAAS,eAAe;EACxC;EACA,yBAAyB,KAAU,uBAAgC,UAAU,uBAAuB,KAAK;GACvG,SAAS,QAAQ,KAAK,QAAQ;GAC9B,cAAc,wBAAwB,QAAQ,KAAK,aAAa;GAChE,UAAU,QAAQ,KAAK,SAAA;GACxB,CAAC;EACF;EACD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ComputedRef,
|
|
1
|
+
import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
|
|
2
2
|
export interface UseAutoCompleteValueOptions<TItem> {
|
|
3
3
|
/** The property used as the unique identifier for each item. */
|
|
4
|
-
keyAttr?:
|
|
4
|
+
keyAttr?: MaybeRefOrGetter<keyof TItem | undefined>;
|
|
5
5
|
/** Whether to return the full item object instead of just the key. */
|
|
6
|
-
returnObject?:
|
|
6
|
+
returnObject?: MaybeRefOrGetter<boolean>;
|
|
7
7
|
/** Whether custom (free-text) values are allowed. */
|
|
8
|
-
customValue?:
|
|
8
|
+
customValue?: MaybeRefOrGetter<boolean>;
|
|
9
9
|
}
|
|
10
10
|
export interface UseAutoCompleteValueReturn<TItem> {
|
|
11
11
|
value: ComputedRef<TItem[]>;
|
|
@@ -15,9 +15,10 @@ export interface UseAutoCompleteValueDeps<TItem> {
|
|
|
15
15
|
getIdentifier: (item: TItem) => any;
|
|
16
16
|
getText: (item: TItem) => string | undefined;
|
|
17
17
|
textValueToProperValue: (val: any, returnObject?: boolean) => TItem;
|
|
18
|
-
shouldApplyValueAsSearch:
|
|
19
|
-
isOpen:
|
|
20
|
-
multiple:
|
|
18
|
+
shouldApplyValueAsSearch: MaybeRefOrGetter<boolean>;
|
|
19
|
+
isOpen: MaybeRefOrGetter<boolean>;
|
|
20
|
+
multiple: MaybeRefOrGetter<boolean>;
|
|
21
21
|
updateInternalSearch: (value?: string) => void;
|
|
22
22
|
}
|
|
23
|
-
export declare function useAutoCompleteValue<TValue, TItem>(modelValue: Ref<TValue | undefined>,
|
|
23
|
+
export declare function useAutoCompleteValue<TValue, TItem>(modelValue: Ref<TValue | undefined>, // eslint-disable-line @rotki/composable-input-flexibility -- needs write access
|
|
24
|
+
options: MaybeRefOrGetter<TItem[]>, opts: UseAutoCompleteValueOptions<TItem>, deps: UseAutoCompleteValueDeps<TItem>): UseAutoCompleteValueReturn<TItem>;
|