@rotki/ui-library 2.14.1 → 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 +21 -2
- package/dist/components/logos/use-logo-sources.js +79 -30
- 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 +2791 -10271
- 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 +30 -31
- 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 -110
- 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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface TableEmptyStateProps {
|
|
2
|
+
label?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
}
|
|
5
|
+
type __VLS_Slots = {
|
|
6
|
+
description?: () => any;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<TableEmptyStateProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TableEmptyStateProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useRotkiTheme } from "../../composables/theme.js";
|
|
2
|
+
import { tv } from "../../utils/tv.js";
|
|
3
|
+
import table_no_data_placeholder_default from "./table_no_data_placeholder.js";
|
|
4
|
+
import table_no_data_placeholder_dark_default from "./table_no_data_placeholder_dark.js";
|
|
5
|
+
import { createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref } from "vue";
|
|
6
|
+
//#region src/components/tables/RuiTableEmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = ["src", "alt"];
|
|
8
|
+
var RuiTableEmptyState_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "RuiTableEmptyState",
|
|
10
|
+
__name: "RuiTableEmptyState",
|
|
11
|
+
props: {
|
|
12
|
+
label: {},
|
|
13
|
+
description: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { isDark } = useRotkiTheme();
|
|
17
|
+
const ui = tv({ slots: {
|
|
18
|
+
root: "flex flex-col gap-3 items-center justify-center flex-1 min-h-56 my-4",
|
|
19
|
+
title: "text-body-1 leading-none font-bold text-center text-current pb-0 mb-0",
|
|
20
|
+
subtitle: "text-body-2 text-center text-rui-text-secondary pb-0 mb-0"
|
|
21
|
+
} })();
|
|
22
|
+
return (_ctx, _cache) => {
|
|
23
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(ui).root()) }, [
|
|
24
|
+
createElementVNode("img", {
|
|
25
|
+
src: unref(isDark) ? unref(table_no_data_placeholder_dark_default) : unref(table_no_data_placeholder_default),
|
|
26
|
+
alt: __props.label,
|
|
27
|
+
class: "h-32"
|
|
28
|
+
}, null, 8, _hoisted_1),
|
|
29
|
+
__props.label ? (openBlock(), createElementBlock("p", {
|
|
30
|
+
key: 0,
|
|
31
|
+
class: normalizeClass(unref(ui).title()),
|
|
32
|
+
"data-id": "empty-label"
|
|
33
|
+
}, toDisplayString(__props.label), 3)) : createCommentVNode("", true),
|
|
34
|
+
renderSlot(_ctx.$slots, "description", {}, () => [__props.description ? (openBlock(), createElementBlock("p", {
|
|
35
|
+
key: 0,
|
|
36
|
+
class: normalizeClass(unref(ui).subtitle()),
|
|
37
|
+
"data-id": "empty-description"
|
|
38
|
+
}, toDisplayString(__props.description), 3)) : createCommentVNode("", true)])
|
|
39
|
+
], 2);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
//#endregion
|
|
44
|
+
export { RuiTableEmptyState_vue_vue_type_script_setup_true_lang_default as default };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/tables/RuiTableEmptyState.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useRotkiTheme } from '@/composables/theme';\nimport { tv } from '@/utils/tv';\nimport noDataPlaceholder from './table_no_data_placeholder.svg';\nimport noDataPlaceholderDark from './table_no_data_placeholder_dark.svg';\n\nexport interface TableEmptyStateProps {\n label?: string;\n description?: string;\n}\n\ndefineOptions({\n name: 'RuiTableEmptyState',\n});\n\nconst { label, description } = defineProps<TableEmptyStateProps>();\n\ndefineSlots<{\n description?: () => any;\n}>();\n\nconst { isDark } = useRotkiTheme();\n\nconst emptyStyles = tv({\n slots: {\n root: 'flex flex-col gap-3 items-center justify-center flex-1 min-h-56 my-4',\n title: 'text-body-1 leading-none font-bold text-center text-current pb-0 mb-0',\n subtitle: 'text-body-2 text-center text-rui-text-secondary pb-0 mb-0',\n },\n});\n\nconst ui = emptyStyles();\n</script>\n\n<template>\n <div :class=\"ui.root()\">\n <img\n :src=\"isDark ? noDataPlaceholderDark : noDataPlaceholder\"\n :alt=\"label\"\n class=\"h-32\"\n />\n <p\n v-if=\"label\"\n :class=\"ui.title()\"\n data-id=\"empty-label\"\n >\n {{ label }}\n </p>\n <slot name=\"description\">\n <p\n v-if=\"description\"\n :class=\"ui.subtitle()\"\n data-id=\"empty-description\"\n >\n {{ description }}\n </p>\n </slot>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAqBA,MAAM,EAAE,WAAW,eAAe;EAUlC,MAAM,KARc,GAAG,EACrB,OAAO;GACL,MAAM;GACN,OAAO;GACP,UAAU;GACX,EACF,CAAC,EAEsB;;uBAItB,mBAsBM,OAAA,EAtBA,OAAK,eAAE,MAAA,GAAE,CAAC,MAAI,CAAA,EAAA,EAAA;IAClB,mBAIE,OAAA;KAHC,KAAK,MAAA,OAAM,GAAG,MAAA,uCAAqB,GAAG,MAAA,kCAAiB;KACvD,KAAK,QAAA;KACN,OAAM;;IAGA,QAAA,SAAA,WAAA,EADR,mBAMI,KAAA;;KAJD,OAAK,eAAE,MAAA,GAAE,CAAC,OAAK,CAAA;KAChB,WAAQ;uBAEL,QAAA,MAAK,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IAEV,WAQO,KAAA,QAAA,eAAA,EAAA,QAAA,CANG,QAAA,eAAA,WAAA,EADR,mBAMI,KAAA;;KAJD,OAAK,eAAE,MAAA,GAAE,CAAC,UAAQ,CAAA;KACnB,WAAQ;uBAEL,QAAA,YAAW,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import RuiTableHead_vue_vue_type_script_setup_true_lang_default from "./RuiTableHead.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/tables/RuiTableHead.vue
|
|
3
|
+
var RuiTableHead_default = RuiTableHead_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { RuiTableHead_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=RuiTableHead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiTableHead.js","names":[],"sources":["../../../src/components/tables/RuiTableHead.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends object, K extends keyof T = keyof T\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiCheckbox from '@/components/forms/checkbox/RuiCheckbox.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiBadge from '@/components/overlays/badge/RuiBadge.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\nimport { getAlignClass, getSortButtonAlignClass, SortDirection, TableAlign } from '@/components/tables/table-props';\nimport { tv } from '@/utils/tv';\n\n/**\n * Represents a sortable column name for a given type.\n * The column name must be a key of the passed data object type.\n * @template T - The type of the data in the column.\n */\nexport type TableRowKey<T> = keyof T extends string ? keyof T : never;\n\nexport interface BaseTableColumn<T> {\n key: TableRowKey<T> | string;\n sortable?: boolean;\n direction?: SortDirection;\n align?: TableAlign;\n class?: string;\n cellClass?: string;\n colspan?: string | number;\n rowspan?: string | number;\n\n [key: string]: any;\n}\n\n/**\n * Represents a sortable table column.\n * This is used to ensure that when using sortable with a true value,\n * the key matches to an actual property of the object passed.\n *\n * @template T - The type of data in the table column.\n */\nexport interface SortableTableColumn<T> extends BaseTableColumn<T> {\n sortable: true;\n}\n\n/**\n * An interface representing a column in a table that cannot be sorted.\n * This can be mapped to an actual property of the object or to a virtual column.\n *\n * @typeparam T - The type of data in the table.\n */\nexport interface NoneSortableTableColumn<T> extends BaseTableColumn<T> {\n sortable?: false;\n}\n\nexport type TableColumn<T> = SortableTableColumn<T> | NoneSortableTableColumn<T>;\n\nexport interface SortColumn<T> {\n column?: TableRowKey<T>;\n direction: SortDirection;\n}\n\nexport type TableSortData<T> = SortColumn<T> | SortColumn<T>[] | undefined;\n\nexport type TableRowKeyData<T> = TableRowKey<T> | TableRowKey<T>[] | undefined;\n\nexport interface GroupData<T> {\n key: string;\n value?: Partial<T>;\n}\n\nexport type GroupKey<T> = TableColumn<T>['key'];\n\nexport type GroupKeys<T> = GroupKey<T> | GroupKey<T>[] | undefined;\n\nexport interface Props<T> {\n loading?: boolean;\n stickyHeader?: boolean;\n stick?: boolean;\n selectable?: boolean;\n disableCheckAll?: boolean;\n noData?: boolean;\n colspan?: number;\n columns?: TableColumn<T>[];\n capitalizeHeaders?: boolean;\n isAllSelected?: boolean;\n indeterminate?: boolean;\n dense?: boolean;\n sortedMap?: Partial<Record<TableRowKey<T>, SortColumn<T>>>;\n sortData?: TableSortData<T>;\n columnAttr?: keyof TableColumn<T>;\n dataId?: string;\n}\n\nconst {\n loading = false,\n stickyHeader = false,\n stick = false,\n selectable = false,\n disableCheckAll = false,\n colspan = 0,\n columns,\n capitalizeHeaders = false,\n isAllSelected = false,\n indeterminate = false,\n dense = false,\n sortedMap = {} as Partial<Record<TableRowKey<T>, SortColumn<T>>>,\n columnAttr = 'label',\n sortData,\n dataId = 'head-main',\n} = defineProps<Props<T>>();\n\nconst emit = defineEmits<{\n 'select:all': [value: boolean];\n 'sort': [value: { key: TableRowKey<T>; direction?: SortDirection }];\n}>();\n\nconst tableHeadStyles = tv({\n slots: {\n thead: 'divide-y divide-black/[0.12] dark:divide-white/[0.12]',\n checkbox: 'px-2 w-[3.625rem] max-w-[3.625rem] [&_label]:ml-0',\n th: 'p-4',\n columnText: 'text-rui-text dark:text-white font-medium text-sm leading-6',\n sortButton: 'inline-flex group/sort',\n sortIcon: 'transition opacity-0 rotate-180 group-hover/sort:opacity-60',\n loaderRow: 'border-none',\n progress: 'p-0 h-0',\n progressWrapper: 'h-0 -mt-1',\n },\n variants: {\n position: {\n default: {},\n sticky: { thead: 'top-0 z-10 absolute' },\n fixed: {\n thead: 'top-0 z-10 fixed',\n th: 'bg-white dark:bg-[#121212] border-b border-b-black/[0.12] dark:border-b-white/[0.12]',\n },\n },\n dense: {\n true: { th: 'py-[0.38rem]' },\n },\n },\n defaultVariants: {\n position: 'default',\n },\n});\n\nconst headerPosition = computed<'default' | 'sticky' | 'fixed'>(() => {\n if (stickyHeader && stick)\n return 'fixed';\n if (stickyHeader)\n return 'sticky';\n return 'default';\n});\n\nconst ui = computed<ReturnType<typeof tableHeadStyles>>(() => tableHeadStyles({\n position: get(headerPosition),\n dense,\n}));\n\nfunction getSortIconClass(key: TableColumn<T>['key']): string | undefined {\n if (!isSortedBy(key))\n return undefined;\n const direction = getSortDirection(key);\n return `!opacity-100 ${direction === SortDirection.asc ? '!rotate-180' : '!rotate-0'}`;\n}\n\nfunction onSort({ key, direction }: TableColumn<T>): void {\n return emit('sort', {\n key: key as TableRowKey<T>,\n direction: direction ?? SortDirection.asc,\n });\n}\n\nfunction onToggleAll(checked: boolean) {\n return emit('select:all', checked);\n}\n\nfunction isSortedBy(key: TableColumn<T>['key']): boolean {\n return key in sortedMap;\n}\n\nfunction getSortIndex(key: TableColumn<T>['key']): number {\n if (!sortData || !Array.isArray(sortData) || !isSortedBy(key))\n return -1;\n\n return sortData.findIndex(sort => sort.column === key);\n}\n\nfunction getSortDirection(key: TableColumn<T>['key']): SortDirection | undefined {\n return sortedMap[key]?.direction;\n}\n</script>\n\n<template>\n <thead\n :data-id=\"dataId\"\n :class=\"ui.thead()\"\n >\n <tr>\n <th\n v-if=\"selectable\"\n :class=\"ui.checkbox()\"\n scope=\"col\"\n colspan=\"1\"\n rowspan=\"1\"\n >\n <RuiCheckbox\n :disabled=\"disableCheckAll\"\n :indeterminate=\"indeterminate\"\n :model-value=\"isAllSelected\"\n :size=\"dense ? 'sm' : undefined\"\n color=\"primary\"\n data-id=\"table-toggle-check-all\"\n hide-details\n @update:model-value=\"onToggleAll($event)\"\n />\n </th>\n\n <th\n v-for=\"column in columns\"\n :key=\"column.key\"\n :class=\"[\n ui.th({ class: getAlignClass(column.align, column.sortable) }),\n column.class,\n { capitalize: !capitalizeHeaders },\n ]\"\n scope=\"col\"\n :colspan=\"column.colspan ?? 1\"\n :rowspan=\"column.rowspan ?? 1\"\n :data-id=\"column.sortable ? 'column-sortable' : undefined\"\n >\n <slot\n :column=\"column\"\n :name=\"`header.${column.key.toString()}`\"\n >\n <RuiBadge\n v-if=\"column.sortable\"\n :model-value=\"getSortIndex(column.key) >= 0\"\n :text=\"`${getSortIndex(column.key) + 1}`\"\n :offset-y=\"dense ? 8 : 0\"\n color=\"secondary\"\n size=\"sm\"\n >\n <RuiButton\n :class=\"ui.sortButton({ class: getSortButtonAlignClass(column.align) })\"\n :data-sorted=\"isSortedBy(column.key) || undefined\"\n :data-direction=\"getSortDirection(column.key)\"\n size=\"sm\"\n variant=\"text\"\n @click=\"onSort(column)\"\n >\n <span\n :class=\"ui.columnText()\"\n data-id=\"column-text\"\n >\n <slot\n :name=\"`header.text.${column.key.toString()}`\"\n :column=\"column\"\n >\n {{ column[columnAttr] }}\n </slot>\n </span>\n\n <template\n v-if=\"column.align === TableAlign.end\"\n #prepend\n >\n <RuiIcon\n :class=\"ui.sortIcon({ class: getSortIconClass(column.key) })\"\n name=\"lu-arrow-down\"\n size=\"18\"\n />\n </template>\n\n <template #append>\n <RuiIcon\n v-if=\"column.align !== TableAlign.end\"\n :class=\"ui.sortIcon({ class: getSortIconClass(column.key) })\"\n name=\"lu-arrow-down\"\n size=\"18\"\n />\n </template>\n </RuiButton>\n </RuiBadge>\n <span\n v-else\n :class=\"ui.columnText()\"\n data-id=\"column-text\"\n >\n <slot\n :name=\"`header.text.${column.key.toString()}`\"\n :column=\"column\"\n >\n {{ column[columnAttr] }}\n </slot>\n </span>\n </slot>\n </th>\n </tr>\n <tr\n v-if=\"loading\"\n :class=\"ui.loaderRow()\"\n data-id=\"thead-loader\"\n >\n <th\n :class=\"ui.progress()\"\n :colspan=\"colspan\"\n scope=\"col\"\n >\n <div :class=\"ui.progressWrapper()\">\n <RuiProgress\n color=\"primary\"\n variant=\"indeterminate\"\n />\n </div>\n </th>\n </tr>\n </thead>\n</template>\n"],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SortDirection, TableAlign } from '../../components/tables/table-props.js';
|
|
1
2
|
/**
|
|
2
3
|
* Represents a sortable column name for a given type.
|
|
3
4
|
* The column name must be a key of the passed data object type.
|
|
@@ -7,8 +8,8 @@ export type TableRowKey<T> = keyof T extends string ? keyof T : never;
|
|
|
7
8
|
export interface BaseTableColumn<T> {
|
|
8
9
|
key: TableRowKey<T> | string;
|
|
9
10
|
sortable?: boolean;
|
|
10
|
-
direction?:
|
|
11
|
-
align?:
|
|
11
|
+
direction?: SortDirection;
|
|
12
|
+
align?: TableAlign;
|
|
12
13
|
class?: string;
|
|
13
14
|
cellClass?: string;
|
|
14
15
|
colspan?: string | number;
|
|
@@ -37,7 +38,7 @@ export interface NoneSortableTableColumn<T> extends BaseTableColumn<T> {
|
|
|
37
38
|
export type TableColumn<T> = SortableTableColumn<T> | NoneSortableTableColumn<T>;
|
|
38
39
|
export interface SortColumn<T> {
|
|
39
40
|
column?: TableRowKey<T>;
|
|
40
|
-
direction:
|
|
41
|
+
direction: SortDirection;
|
|
41
42
|
}
|
|
42
43
|
export type TableSortData<T> = SortColumn<T> | SortColumn<T>[] | undefined;
|
|
43
44
|
export type TableRowKeyData<T> = TableRowKey<T> | TableRowKey<T>[] | undefined;
|
|
@@ -69,7 +70,7 @@ declare const __VLS_export: <T extends object, K extends keyof T = keyof T>(__VL
|
|
|
69
70
|
props: import("vue").PublicProps & __VLS_PrettifyLocal<Props<T> & {
|
|
70
71
|
onSort?: ((value: {
|
|
71
72
|
key: TableRowKey<T>;
|
|
72
|
-
direction?:
|
|
73
|
+
direction?: SortDirection;
|
|
73
74
|
}) => any) | undefined;
|
|
74
75
|
"onSelect:all"?: ((value: boolean) => any) | undefined;
|
|
75
76
|
}> & (typeof globalThis extends {
|
|
@@ -92,7 +93,7 @@ declare const __VLS_export: <T extends object, K extends keyof T = keyof T>(__VL
|
|
|
92
93
|
};
|
|
93
94
|
emit: ((evt: "sort", value: {
|
|
94
95
|
key: TableRowKey<T>;
|
|
95
|
-
direction?:
|
|
96
|
+
direction?: SortDirection;
|
|
96
97
|
}) => void) & ((evt: "select:all", value: boolean) => void);
|
|
97
98
|
}>) => import("vue").VNode & {
|
|
98
99
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { tv } from "../../utils/tv.js";
|
|
2
|
+
import RuiIcon_default from "../icons/RuiIcon.js";
|
|
3
|
+
import RuiProgress_default from "../progress/RuiProgress.js";
|
|
4
|
+
import RuiButton_default from "../buttons/button/RuiButton.js";
|
|
5
|
+
import RuiCheckbox_default from "../forms/checkbox/RuiCheckbox.js";
|
|
6
|
+
import RuiBadge_default from "../overlays/badge/RuiBadge.js";
|
|
7
|
+
import { SortDirection, TableAlign, getAlignClass, getSortButtonAlignClass } from "./table-props.js";
|
|
8
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, renderList, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
9
|
+
import { get } from "@vueuse/shared";
|
|
10
|
+
//#region src/components/tables/RuiTableHead.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
+
var _hoisted_1 = ["data-id"];
|
|
12
|
+
var _hoisted_2 = [
|
|
13
|
+
"colspan",
|
|
14
|
+
"rowspan",
|
|
15
|
+
"data-id"
|
|
16
|
+
];
|
|
17
|
+
var _hoisted_3 = ["colspan"];
|
|
18
|
+
var RuiTableHead_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
19
|
+
__name: "RuiTableHead",
|
|
20
|
+
props: {
|
|
21
|
+
loading: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: false
|
|
24
|
+
},
|
|
25
|
+
stickyHeader: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false
|
|
28
|
+
},
|
|
29
|
+
stick: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
selectable: {
|
|
34
|
+
type: Boolean,
|
|
35
|
+
default: false
|
|
36
|
+
},
|
|
37
|
+
disableCheckAll: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false
|
|
40
|
+
},
|
|
41
|
+
noData: { type: Boolean },
|
|
42
|
+
colspan: { default: 0 },
|
|
43
|
+
columns: {},
|
|
44
|
+
capitalizeHeaders: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: false
|
|
47
|
+
},
|
|
48
|
+
isAllSelected: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: false
|
|
51
|
+
},
|
|
52
|
+
indeterminate: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false
|
|
55
|
+
},
|
|
56
|
+
dense: {
|
|
57
|
+
type: Boolean,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
60
|
+
sortedMap: { default: () => ({}) },
|
|
61
|
+
sortData: {},
|
|
62
|
+
columnAttr: { default: "label" },
|
|
63
|
+
dataId: { default: "head-main" }
|
|
64
|
+
},
|
|
65
|
+
emits: ["select:all", "sort"],
|
|
66
|
+
setup(__props, { emit: __emit }) {
|
|
67
|
+
const emit = __emit;
|
|
68
|
+
const tableHeadStyles = tv({
|
|
69
|
+
slots: {
|
|
70
|
+
thead: "divide-y divide-black/[0.12] dark:divide-white/[0.12]",
|
|
71
|
+
checkbox: "px-2 w-[3.625rem] max-w-[3.625rem] [&_label]:ml-0",
|
|
72
|
+
th: "p-4",
|
|
73
|
+
columnText: "text-rui-text dark:text-white font-medium text-sm leading-6",
|
|
74
|
+
sortButton: "inline-flex group/sort",
|
|
75
|
+
sortIcon: "transition opacity-0 rotate-180 group-hover/sort:opacity-60",
|
|
76
|
+
loaderRow: "border-none",
|
|
77
|
+
progress: "p-0 h-0",
|
|
78
|
+
progressWrapper: "h-0 -mt-1"
|
|
79
|
+
},
|
|
80
|
+
variants: {
|
|
81
|
+
position: {
|
|
82
|
+
default: {},
|
|
83
|
+
sticky: { thead: "top-0 z-10 absolute" },
|
|
84
|
+
fixed: {
|
|
85
|
+
thead: "top-0 z-10 fixed",
|
|
86
|
+
th: "bg-white dark:bg-[#121212] border-b border-b-black/[0.12] dark:border-b-white/[0.12]"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
dense: { true: { th: "py-[0.38rem]" } }
|
|
90
|
+
},
|
|
91
|
+
defaultVariants: { position: "default" }
|
|
92
|
+
});
|
|
93
|
+
const headerPosition = computed(() => {
|
|
94
|
+
if (__props.stickyHeader && __props.stick) return "fixed";
|
|
95
|
+
if (__props.stickyHeader) return "sticky";
|
|
96
|
+
return "default";
|
|
97
|
+
});
|
|
98
|
+
const ui = computed(() => tableHeadStyles({
|
|
99
|
+
position: get(headerPosition),
|
|
100
|
+
dense: __props.dense
|
|
101
|
+
}));
|
|
102
|
+
function getSortIconClass(key) {
|
|
103
|
+
if (!isSortedBy(key)) return void 0;
|
|
104
|
+
return `!opacity-100 ${getSortDirection(key) === SortDirection.asc ? "!rotate-180" : "!rotate-0"}`;
|
|
105
|
+
}
|
|
106
|
+
function onSort({ key, direction }) {
|
|
107
|
+
return emit("sort", {
|
|
108
|
+
key,
|
|
109
|
+
direction: direction ?? SortDirection.asc
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function onToggleAll(checked) {
|
|
113
|
+
return emit("select:all", checked);
|
|
114
|
+
}
|
|
115
|
+
function isSortedBy(key) {
|
|
116
|
+
return key in __props.sortedMap;
|
|
117
|
+
}
|
|
118
|
+
function getSortIndex(key) {
|
|
119
|
+
if (!__props.sortData || !Array.isArray(__props.sortData) || !isSortedBy(key)) return -1;
|
|
120
|
+
return __props.sortData.findIndex((sort) => sort.column === key);
|
|
121
|
+
}
|
|
122
|
+
function getSortDirection(key) {
|
|
123
|
+
return __props.sortedMap[key]?.direction;
|
|
124
|
+
}
|
|
125
|
+
return (_ctx, _cache) => {
|
|
126
|
+
return openBlock(), createElementBlock("thead", {
|
|
127
|
+
"data-id": __props.dataId,
|
|
128
|
+
class: normalizeClass(unref(ui).thead())
|
|
129
|
+
}, [createElementVNode("tr", null, [__props.selectable ? (openBlock(), createElementBlock("th", {
|
|
130
|
+
key: 0,
|
|
131
|
+
class: normalizeClass(unref(ui).checkbox()),
|
|
132
|
+
scope: "col",
|
|
133
|
+
colspan: "1",
|
|
134
|
+
rowspan: "1"
|
|
135
|
+
}, [createVNode(RuiCheckbox_default, {
|
|
136
|
+
disabled: __props.disableCheckAll,
|
|
137
|
+
indeterminate: __props.indeterminate,
|
|
138
|
+
"model-value": __props.isAllSelected,
|
|
139
|
+
size: __props.dense ? "sm" : void 0,
|
|
140
|
+
color: "primary",
|
|
141
|
+
"data-id": "table-toggle-check-all",
|
|
142
|
+
"hide-details": "",
|
|
143
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => onToggleAll($event))
|
|
144
|
+
}, null, 8, [
|
|
145
|
+
"disabled",
|
|
146
|
+
"indeterminate",
|
|
147
|
+
"model-value",
|
|
148
|
+
"size"
|
|
149
|
+
])], 2)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
150
|
+
return openBlock(), createElementBlock("th", {
|
|
151
|
+
key: column.key,
|
|
152
|
+
class: normalizeClass([
|
|
153
|
+
unref(ui).th({ class: unref(getAlignClass)(column.align, column.sortable) }),
|
|
154
|
+
column.class,
|
|
155
|
+
{ capitalize: !__props.capitalizeHeaders }
|
|
156
|
+
]),
|
|
157
|
+
scope: "col",
|
|
158
|
+
colspan: column.colspan ?? 1,
|
|
159
|
+
rowspan: column.rowspan ?? 1,
|
|
160
|
+
"data-id": column.sortable ? "column-sortable" : void 0
|
|
161
|
+
}, [renderSlot(_ctx.$slots, `header.${column.key.toString()}`, { column }, () => [column.sortable ? (openBlock(), createBlock(RuiBadge_default, {
|
|
162
|
+
key: 0,
|
|
163
|
+
"model-value": getSortIndex(column.key) >= 0,
|
|
164
|
+
text: `${getSortIndex(column.key) + 1}`,
|
|
165
|
+
"offset-y": __props.dense ? 8 : 0,
|
|
166
|
+
color: "secondary",
|
|
167
|
+
size: "sm"
|
|
168
|
+
}, {
|
|
169
|
+
default: withCtx(() => [createVNode(RuiButton_default, {
|
|
170
|
+
class: normalizeClass(unref(ui).sortButton({ class: unref(getSortButtonAlignClass)(column.align) })),
|
|
171
|
+
"data-sorted": isSortedBy(column.key) || void 0,
|
|
172
|
+
"data-direction": getSortDirection(column.key),
|
|
173
|
+
size: "sm",
|
|
174
|
+
variant: "text",
|
|
175
|
+
onClick: ($event) => onSort(column)
|
|
176
|
+
}, createSlots({
|
|
177
|
+
append: withCtx(() => [column.align !== unref(TableAlign).end ? (openBlock(), createBlock(RuiIcon_default, {
|
|
178
|
+
key: 0,
|
|
179
|
+
class: normalizeClass(unref(ui).sortIcon({ class: getSortIconClass(column.key) })),
|
|
180
|
+
name: "lu-arrow-down",
|
|
181
|
+
size: "18"
|
|
182
|
+
}, null, 8, ["class"])) : createCommentVNode("", true)]),
|
|
183
|
+
default: withCtx(() => [createElementVNode("span", {
|
|
184
|
+
class: normalizeClass(unref(ui).columnText()),
|
|
185
|
+
"data-id": "column-text"
|
|
186
|
+
}, [renderSlot(_ctx.$slots, `header.text.${column.key.toString()}`, { column }, () => [createTextVNode(toDisplayString(column[__props.columnAttr]), 1)])], 2)]),
|
|
187
|
+
_: 2
|
|
188
|
+
}, [column.align === unref(TableAlign).end ? {
|
|
189
|
+
name: "prepend",
|
|
190
|
+
fn: withCtx(() => [createVNode(RuiIcon_default, {
|
|
191
|
+
class: normalizeClass(unref(ui).sortIcon({ class: getSortIconClass(column.key) })),
|
|
192
|
+
name: "lu-arrow-down",
|
|
193
|
+
size: "18"
|
|
194
|
+
}, null, 8, ["class"])]),
|
|
195
|
+
key: "0"
|
|
196
|
+
} : void 0]), 1032, [
|
|
197
|
+
"class",
|
|
198
|
+
"data-sorted",
|
|
199
|
+
"data-direction",
|
|
200
|
+
"onClick"
|
|
201
|
+
])]),
|
|
202
|
+
_: 2
|
|
203
|
+
}, 1032, [
|
|
204
|
+
"model-value",
|
|
205
|
+
"text",
|
|
206
|
+
"offset-y"
|
|
207
|
+
])) : (openBlock(), createElementBlock("span", {
|
|
208
|
+
key: 1,
|
|
209
|
+
class: normalizeClass(unref(ui).columnText()),
|
|
210
|
+
"data-id": "column-text"
|
|
211
|
+
}, [renderSlot(_ctx.$slots, `header.text.${column.key.toString()}`, { column }, () => [createTextVNode(toDisplayString(column[__props.columnAttr]), 1)])], 2))])], 10, _hoisted_2);
|
|
212
|
+
}), 128))]), __props.loading ? (openBlock(), createElementBlock("tr", {
|
|
213
|
+
key: 0,
|
|
214
|
+
class: normalizeClass(unref(ui).loaderRow()),
|
|
215
|
+
"data-id": "thead-loader"
|
|
216
|
+
}, [createElementVNode("th", {
|
|
217
|
+
class: normalizeClass(unref(ui).progress()),
|
|
218
|
+
colspan: __props.colspan,
|
|
219
|
+
scope: "col"
|
|
220
|
+
}, [createElementVNode("div", { class: normalizeClass(unref(ui).progressWrapper()) }, [createVNode(RuiProgress_default, {
|
|
221
|
+
color: "primary",
|
|
222
|
+
variant: "indeterminate"
|
|
223
|
+
})], 2)], 10, _hoisted_3)], 2)) : createCommentVNode("", true)], 10, _hoisted_1);
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
//#endregion
|
|
228
|
+
export { RuiTableHead_vue_vue_type_script_setup_true_lang_default as default };
|
|
229
|
+
|
|
230
|
+
//# sourceMappingURL=RuiTableHead.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiTableHead.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/tables/RuiTableHead.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends object, K extends keyof T = keyof T\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiCheckbox from '@/components/forms/checkbox/RuiCheckbox.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiBadge from '@/components/overlays/badge/RuiBadge.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\nimport { getAlignClass, getSortButtonAlignClass, SortDirection, TableAlign } from '@/components/tables/table-props';\nimport { tv } from '@/utils/tv';\n\n/**\n * Represents a sortable column name for a given type.\n * The column name must be a key of the passed data object type.\n * @template T - The type of the data in the column.\n */\nexport type TableRowKey<T> = keyof T extends string ? keyof T : never;\n\nexport interface BaseTableColumn<T> {\n key: TableRowKey<T> | string;\n sortable?: boolean;\n direction?: SortDirection;\n align?: TableAlign;\n class?: string;\n cellClass?: string;\n colspan?: string | number;\n rowspan?: string | number;\n\n [key: string]: any;\n}\n\n/**\n * Represents a sortable table column.\n * This is used to ensure that when using sortable with a true value,\n * the key matches to an actual property of the object passed.\n *\n * @template T - The type of data in the table column.\n */\nexport interface SortableTableColumn<T> extends BaseTableColumn<T> {\n sortable: true;\n}\n\n/**\n * An interface representing a column in a table that cannot be sorted.\n * This can be mapped to an actual property of the object or to a virtual column.\n *\n * @typeparam T - The type of data in the table.\n */\nexport interface NoneSortableTableColumn<T> extends BaseTableColumn<T> {\n sortable?: false;\n}\n\nexport type TableColumn<T> = SortableTableColumn<T> | NoneSortableTableColumn<T>;\n\nexport interface SortColumn<T> {\n column?: TableRowKey<T>;\n direction: SortDirection;\n}\n\nexport type TableSortData<T> = SortColumn<T> | SortColumn<T>[] | undefined;\n\nexport type TableRowKeyData<T> = TableRowKey<T> | TableRowKey<T>[] | undefined;\n\nexport interface GroupData<T> {\n key: string;\n value?: Partial<T>;\n}\n\nexport type GroupKey<T> = TableColumn<T>['key'];\n\nexport type GroupKeys<T> = GroupKey<T> | GroupKey<T>[] | undefined;\n\nexport interface Props<T> {\n loading?: boolean;\n stickyHeader?: boolean;\n stick?: boolean;\n selectable?: boolean;\n disableCheckAll?: boolean;\n noData?: boolean;\n colspan?: number;\n columns?: TableColumn<T>[];\n capitalizeHeaders?: boolean;\n isAllSelected?: boolean;\n indeterminate?: boolean;\n dense?: boolean;\n sortedMap?: Partial<Record<TableRowKey<T>, SortColumn<T>>>;\n sortData?: TableSortData<T>;\n columnAttr?: keyof TableColumn<T>;\n dataId?: string;\n}\n\nconst {\n loading = false,\n stickyHeader = false,\n stick = false,\n selectable = false,\n disableCheckAll = false,\n colspan = 0,\n columns,\n capitalizeHeaders = false,\n isAllSelected = false,\n indeterminate = false,\n dense = false,\n sortedMap = {} as Partial<Record<TableRowKey<T>, SortColumn<T>>>,\n columnAttr = 'label',\n sortData,\n dataId = 'head-main',\n} = defineProps<Props<T>>();\n\nconst emit = defineEmits<{\n 'select:all': [value: boolean];\n 'sort': [value: { key: TableRowKey<T>; direction?: SortDirection }];\n}>();\n\nconst tableHeadStyles = tv({\n slots: {\n thead: 'divide-y divide-black/[0.12] dark:divide-white/[0.12]',\n checkbox: 'px-2 w-[3.625rem] max-w-[3.625rem] [&_label]:ml-0',\n th: 'p-4',\n columnText: 'text-rui-text dark:text-white font-medium text-sm leading-6',\n sortButton: 'inline-flex group/sort',\n sortIcon: 'transition opacity-0 rotate-180 group-hover/sort:opacity-60',\n loaderRow: 'border-none',\n progress: 'p-0 h-0',\n progressWrapper: 'h-0 -mt-1',\n },\n variants: {\n position: {\n default: {},\n sticky: { thead: 'top-0 z-10 absolute' },\n fixed: {\n thead: 'top-0 z-10 fixed',\n th: 'bg-white dark:bg-[#121212] border-b border-b-black/[0.12] dark:border-b-white/[0.12]',\n },\n },\n dense: {\n true: { th: 'py-[0.38rem]' },\n },\n },\n defaultVariants: {\n position: 'default',\n },\n});\n\nconst headerPosition = computed<'default' | 'sticky' | 'fixed'>(() => {\n if (stickyHeader && stick)\n return 'fixed';\n if (stickyHeader)\n return 'sticky';\n return 'default';\n});\n\nconst ui = computed<ReturnType<typeof tableHeadStyles>>(() => tableHeadStyles({\n position: get(headerPosition),\n dense,\n}));\n\nfunction getSortIconClass(key: TableColumn<T>['key']): string | undefined {\n if (!isSortedBy(key))\n return undefined;\n const direction = getSortDirection(key);\n return `!opacity-100 ${direction === SortDirection.asc ? '!rotate-180' : '!rotate-0'}`;\n}\n\nfunction onSort({ key, direction }: TableColumn<T>): void {\n return emit('sort', {\n key: key as TableRowKey<T>,\n direction: direction ?? SortDirection.asc,\n });\n}\n\nfunction onToggleAll(checked: boolean) {\n return emit('select:all', checked);\n}\n\nfunction isSortedBy(key: TableColumn<T>['key']): boolean {\n return key in sortedMap;\n}\n\nfunction getSortIndex(key: TableColumn<T>['key']): number {\n if (!sortData || !Array.isArray(sortData) || !isSortedBy(key))\n return -1;\n\n return sortData.findIndex(sort => sort.column === key);\n}\n\nfunction getSortDirection(key: TableColumn<T>['key']): SortDirection | undefined {\n return sortedMap[key]?.direction;\n}\n</script>\n\n<template>\n <thead\n :data-id=\"dataId\"\n :class=\"ui.thead()\"\n >\n <tr>\n <th\n v-if=\"selectable\"\n :class=\"ui.checkbox()\"\n scope=\"col\"\n colspan=\"1\"\n rowspan=\"1\"\n >\n <RuiCheckbox\n :disabled=\"disableCheckAll\"\n :indeterminate=\"indeterminate\"\n :model-value=\"isAllSelected\"\n :size=\"dense ? 'sm' : undefined\"\n color=\"primary\"\n data-id=\"table-toggle-check-all\"\n hide-details\n @update:model-value=\"onToggleAll($event)\"\n />\n </th>\n\n <th\n v-for=\"column in columns\"\n :key=\"column.key\"\n :class=\"[\n ui.th({ class: getAlignClass(column.align, column.sortable) }),\n column.class,\n { capitalize: !capitalizeHeaders },\n ]\"\n scope=\"col\"\n :colspan=\"column.colspan ?? 1\"\n :rowspan=\"column.rowspan ?? 1\"\n :data-id=\"column.sortable ? 'column-sortable' : undefined\"\n >\n <slot\n :column=\"column\"\n :name=\"`header.${column.key.toString()}`\"\n >\n <RuiBadge\n v-if=\"column.sortable\"\n :model-value=\"getSortIndex(column.key) >= 0\"\n :text=\"`${getSortIndex(column.key) + 1}`\"\n :offset-y=\"dense ? 8 : 0\"\n color=\"secondary\"\n size=\"sm\"\n >\n <RuiButton\n :class=\"ui.sortButton({ class: getSortButtonAlignClass(column.align) })\"\n :data-sorted=\"isSortedBy(column.key) || undefined\"\n :data-direction=\"getSortDirection(column.key)\"\n size=\"sm\"\n variant=\"text\"\n @click=\"onSort(column)\"\n >\n <span\n :class=\"ui.columnText()\"\n data-id=\"column-text\"\n >\n <slot\n :name=\"`header.text.${column.key.toString()}`\"\n :column=\"column\"\n >\n {{ column[columnAttr] }}\n </slot>\n </span>\n\n <template\n v-if=\"column.align === TableAlign.end\"\n #prepend\n >\n <RuiIcon\n :class=\"ui.sortIcon({ class: getSortIconClass(column.key) })\"\n name=\"lu-arrow-down\"\n size=\"18\"\n />\n </template>\n\n <template #append>\n <RuiIcon\n v-if=\"column.align !== TableAlign.end\"\n :class=\"ui.sortIcon({ class: getSortIconClass(column.key) })\"\n name=\"lu-arrow-down\"\n size=\"18\"\n />\n </template>\n </RuiButton>\n </RuiBadge>\n <span\n v-else\n :class=\"ui.columnText()\"\n data-id=\"column-text\"\n >\n <slot\n :name=\"`header.text.${column.key.toString()}`\"\n :column=\"column\"\n >\n {{ column[columnAttr] }}\n </slot>\n </span>\n </slot>\n </th>\n </tr>\n <tr\n v-if=\"loading\"\n :class=\"ui.loaderRow()\"\n data-id=\"thead-loader\"\n >\n <th\n :class=\"ui.progress()\"\n :colspan=\"colspan\"\n scope=\"col\"\n >\n <div :class=\"ui.progressWrapper()\">\n <RuiProgress\n color=\"primary\"\n variant=\"indeterminate\"\n />\n </div>\n </th>\n </tr>\n </thead>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2GA,MAAM,OAAO;EAKb,MAAM,kBAAkB,GAAG;GACzB,OAAO;IACL,OAAO;IACP,UAAU;IACV,IAAI;IACJ,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;IACX,UAAU;IACV,iBAAiB;IAClB;GACD,UAAU;IACR,UAAU;KACR,SAAS,EAAE;KACX,QAAQ,EAAE,OAAO,uBAAuB;KACxC,OAAO;MACL,OAAO;MACP,IAAI;;KAEP;IACD,OAAO,EACL,MAAM,EAAE,IAAI,gBAAgB,EAAA;IAE/B;GACD,iBAAiB,EACf,UAAU,WAAA;GAEb,CAAC;EAEF,MAAM,iBAAiB,eAA+C;AACpE,OAAI,QAAA,gBAAgB,QAAA,MAClB,QAAO;AACT,OAAI,QAAA,aACF,QAAO;AACT,UAAO;IACP;EAEF,MAAM,KAAK,eAAmD,gBAAgB;GAC5E,UAAU,IAAI,eAAe;GAC7B,OAAI,QAAA;GACL,CAAC,CAAC;EAEH,SAAS,iBAAiB,KAAgD;AACxE,OAAI,CAAC,WAAW,IAAI,CAClB,QAAO,KAAA;AAET,UAAO,gBADW,iBAAiB,IAAI,KACF,cAAc,MAAM,gBAAgB;;EAG3E,SAAS,OAAO,EAAE,KAAK,aAAmC;AACxD,UAAO,KAAK,QAAQ;IACb;IACL,WAAW,aAAa,cAAc;IACvC,CAAC;;EAGJ,SAAS,YAAY,SAAkB;AACrC,UAAO,KAAK,cAAc,QAAQ;;EAGpC,SAAS,WAAW,KAAqC;AACvD,UAAO,OAAO,QAAA;;EAGhB,SAAS,aAAa,KAAoC;AACxD,OAAI,CAAC,QAAA,YAAY,CAAC,MAAM,QAAQ,QAAA,SAAS,IAAI,CAAC,WAAW,IAAI,CAC3D,QAAO;AAET,UAAO,QAAA,SAAS,WAAU,SAAQ,KAAK,WAAW,IAAI;;EAGxD,SAAS,iBAAiB,KAAuD;AAC/E,UAAO,QAAA,UAAU,MAAM;;;uBAKvB,mBA2HQ,SAAA;IA1HL,WAAS,QAAA;IACT,OAAK,eAAE,MAAA,GAAE,CAAC,OAAK,CAAA;OAEhB,mBAoGK,MAAA,MAAA,CAlGK,QAAA,cAAA,WAAA,EADR,mBAiBK,MAAA;;IAfF,OAAK,eAAE,MAAA,GAAE,CAAC,UAAQ,CAAA;IACnB,OAAM;IACN,SAAQ;IACR,SAAQ;OAER,YASE,qBAAA;IARC,UAAU,QAAA;IACV,eAAe,QAAA;IACf,eAAa,QAAA;IACb,MAAM,QAAA,QAAK,OAAU,KAAA;IACtB,OAAM;IACN,WAAQ;IACR,gBAAA;IACC,uBAAkB,OAAA,OAAA,OAAA,MAAA,WAAE,YAAY,OAAM;;;;;;8DAI3C,mBA+EK,UAAA,MAAA,WA9Ec,QAAA,UAAV,WAAM;wBADf,mBA+EK,MAAA;KA7EF,KAAK,OAAO;KACZ,OAAK,eAAA;MAAc,MAAA,GAAE,CAAC,GAAE,EAAA,OAAU,MAAA,cAAa,CAAC,OAAO,OAAO,OAAO,SAAQ,EAAA,CAAA;MAAgB,OAAO;qBAAgC,QAAA,mBAAA;;KAKrI,OAAM;KACL,SAAS,OAAO,WAAO;KACvB,SAAS,OAAO,WAAO;KACvB,WAAS,OAAO,WAAQ,oBAAuB,KAAA;QAEhD,WAiEO,KAAA,QAAA,UA/DY,OAAO,IAAI,UAAQ,IAAA,EAD3B,QAAM,QAgEV,CA5DG,OAAO,YAAA,WAAA,EADf,YAgDW,kBAAA;;KA9CR,eAAa,aAAa,OAAO,IAAG,IAAA;KACpC,MAAI,GAAK,aAAa,OAAO,IAAG,GAAA;KAChC,YAAU,QAAA,QAAK,IAAA;KAChB,OAAM;KACN,MAAK;;4BAyCO,CAvCZ,YAuCY,mBAAA;MAtCT,OAAK,eAAE,MAAA,GAAE,CAAC,WAAU,EAAA,OAAU,MAAA,wBAAuB,CAAC,OAAO,MAAK,EAAA,CAAA,CAAA;MAClE,eAAa,WAAW,OAAO,IAAG,IAAK,KAAA;MACvC,kBAAgB,iBAAiB,OAAO,IAAG;MAC5C,MAAK;MACL,SAAQ;MACP,UAAK,WAAE,OAAO,OAAA;;MAyBJ,QAAM,cAMb,CAJM,OAAO,UAAU,MAAA,WAAU,CAAC,OAAA,WAAA,EADpC,YAKE,iBAAA;;OAHC,OAAK,eAAE,MAAA,GAAE,CAAC,SAAQ,EAAA,OAAU,iBAAiB,OAAO,IAAG,EAAA,CAAA,CAAA;OACxD,MAAK;OACL,MAAK;;6BAlBF,CAVP,mBAUO,QAAA;OATJ,OAAK,eAAE,MAAA,GAAE,CAAC,YAAU,CAAA;OACrB,WAAQ;UAER,WAKO,KAAA,QAAA,eAJiB,OAAO,IAAI,UAAQ,IAAA,EAChC,QAAM,QAGV,CAAA,gBAAA,gBADF,OAAO,QAAA,YAAU,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;SAKhB,OAAO,UAAU,MAAA,WAAU,CAAC,MAAA;YACjC;wBAMC,CAJF,YAIE,iBAAA;OAHC,OAAK,eAAE,MAAA,GAAE,CAAC,SAAQ,EAAA,OAAU,iBAAiB,OAAO,IAAG,EAAA,CAAA,CAAA;OACxD,MAAK;OACL,MAAK;;;;;;;;;;;;;;wBAcb,mBAWO,QAAA;;KATJ,OAAK,eAAE,MAAA,GAAE,CAAC,YAAU,CAAA;KACrB,WAAQ;QAER,WAKO,KAAA,QAAA,eAJiB,OAAO,IAAI,UAAQ,IAAA,EAChC,QAAM,QAGV,CAAA,gBAAA,gBADF,OAAO,QAAA,YAAU,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,IAAA,WAAA;gBAOtB,QAAA,WAAA,WAAA,EADR,mBAiBK,MAAA;;IAfF,OAAK,eAAE,MAAA,GAAE,CAAC,WAAS,CAAA;IACpB,WAAQ;OAER,mBAWK,MAAA;IAVF,OAAK,eAAE,MAAA,GAAE,CAAC,UAAQ,CAAA;IAClB,SAAS,QAAA;IACV,OAAM;OAEN,mBAKM,OAAA,EALA,OAAK,eAAE,MAAA,GAAE,CAAC,iBAAe,CAAA,EAAA,EAAA,CAC7B,YAGE,qBAAA;IAFA,OAAM;IACN,SAAQ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import RuiTablePagination_vue_vue_type_script_setup_true_lang_default from "./RuiTablePagination.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/tables/RuiTablePagination.vue
|
|
3
|
+
var RuiTablePagination_default = RuiTablePagination_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { RuiTablePagination_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=RuiTablePagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiTablePagination.js","names":[],"sources":["../../../src/components/tables/RuiTablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiMenuSelect from '@/components/forms/select/RuiMenuSelect.vue';\nimport RuiTextField from '@/components/forms/text-field/RuiTextField.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { type TablePaginationData, usePaginationNavigation } from '@/components/tables/use-pagination-navigation';\nimport { useTable } from '@/composables/defaults/table';\nimport { tv } from '@/utils/tv';\n\nexport type { TablePaginationData };\n\nexport interface Props {\n dense?: boolean;\n disablePerPage?: boolean;\n loading?: boolean;\n /**\n * Maximum number of pages before the jump-to-page dropdown is replaced\n * with a numeric input. Set to `0` to always use the input, or a very\n * large number to always use the dropdown. Defaults to `500` — past that\n * materialising the full range list stalls the main thread.\n */\n rangesThreshold?: number;\n}\n\nconst modelValue = defineModel<TablePaginationData>({ required: true });\n\nconst {\n dense = false,\n loading = false,\n disablePerPage = false,\n rangesThreshold = 500,\n} = defineProps<Props>();\n\nconst paginationStyles = tv({\n slots: {\n wrapper: 'relative flex flex-wrap items-center justify-end gap-x-4 gap-y-0',\n limit: 'flex items-center space-x-2 text-caption',\n ranges: 'flex items-center space-x-2 text-caption pr-2',\n pageInput: 'w-20',\n sectionLabel: 'text-rui-text-secondary whitespace-nowrap py-3',\n indicator: 'text-rui-text text-caption whitespace-nowrap',\n navigation: 'flex items-center',\n },\n variants: {\n dense: {\n true: {\n wrapper: 'gap-x-2',\n },\n },\n },\n});\n\nconst ui = computed<ReturnType<typeof paginationStyles>>(() => paginationStyles({ dense }));\n\nconst tableDefaults = useTable();\n\nconst {\n limits,\n currentLimit,\n pages,\n ranges,\n indicatorText,\n currentRange,\n useInputJump,\n hasPrev,\n hasNext,\n onPrev,\n onNext,\n onFirst,\n onLast,\n} = usePaginationNavigation(modelValue, tableDefaults, () => rangesThreshold);\n\nconst pageDraft = ref<string>(String(get(currentRange)));\n\nwatch(currentRange, (value) => {\n set(pageDraft, String(value));\n});\n\nfunction commitPageInput(): void {\n const parsed = Number.parseInt(get(pageDraft), 10);\n const maxPage = get(pages);\n if (!Number.isFinite(parsed) || maxPage === 0) {\n set(pageDraft, String(get(currentRange)));\n return;\n }\n const clamped = Math.min(Math.max(parsed, 1), maxPage);\n if (clamped !== get(currentRange))\n set(currentRange, clamped);\n set(pageDraft, String(clamped));\n}\n</script>\n\n<template>\n <div :class=\"ui.wrapper()\">\n <div\n :class=\"ui.limit()\"\n data-id=\"table-pagination-limit-section\"\n >\n <span :class=\"ui.sectionLabel()\">Rows per page:</span>\n <RuiMenuSelect\n v-model=\"currentLimit\"\n :options=\"limits\"\n :disabled=\"loading || disablePerPage\"\n label-class=\"!text-xs !min-h-8\"\n name=\"limit\"\n key-attr=\"limit\"\n text-attr=\"limit\"\n hide-details\n dense\n data-id=\"table-pagination-limit\"\n />\n </div>\n <div\n :class=\"ui.ranges()\"\n data-id=\"table-pagination-ranges-section\"\n >\n <span :class=\"ui.sectionLabel()\">{{ useInputJump ? 'Page' : 'Items #' }}</span>\n <RuiTextField\n v-if=\"useInputJump\"\n v-model=\"pageDraft\"\n :disabled=\"loading\"\n :class=\"ui.pageInput()\"\n type=\"number\"\n min=\"1\"\n :max=\"pages\"\n inputmode=\"numeric\"\n hide-details\n dense\n variant=\"outlined\"\n data-id=\"table-pagination-ranges-input\"\n @blur=\"commitPageInput()\"\n @keydown.enter=\"commitPageInput()\"\n />\n <RuiMenuSelect\n v-else-if=\"ranges.length > 0\"\n v-model=\"currentRange\"\n :options=\"ranges\"\n :disabled=\"loading\"\n label-class=\"!text-xs !min-h-8\"\n name=\"ranges\"\n key-attr=\"page\"\n text-attr=\"text\"\n hide-details\n dense\n data-id=\"table-pagination-ranges\"\n />\n <span :class=\"ui.indicator()\">\n {{ indicatorText }}\n </span>\n </div>\n <div\n :class=\"ui.navigation()\"\n data-id=\"table-pagination-navigation\"\n >\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n data-id=\"table-pagination-first\"\n @click=\"onFirst()\"\n >\n <RuiIcon name=\"lu-chevrons-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n data-id=\"table-pagination-prev\"\n @click=\"onPrev()\"\n >\n <RuiIcon name=\"lu-chevron-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n data-id=\"table-pagination-next\"\n @click=\"onNext()\"\n >\n <RuiIcon name=\"lu-chevron-right\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n data-id=\"table-pagination-last\"\n @click=\"onLast()\"\n >\n <RuiIcon name=\"lu-chevrons-right\" />\n </RuiButton>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
total: number;
|
|
4
|
-
limit: number;
|
|
5
|
-
limits?: number[];
|
|
6
|
-
}
|
|
1
|
+
import { type TablePaginationData } from '../../components/tables/use-pagination-navigation.js';
|
|
2
|
+
export type { TablePaginationData };
|
|
7
3
|
export interface Props {
|
|
8
4
|
dense?: boolean;
|
|
9
5
|
disablePerPage?: boolean;
|
|
10
6
|
loading?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Maximum number of pages before the jump-to-page dropdown is replaced
|
|
9
|
+
* with a numeric input. Set to `0` to always use the input, or a very
|
|
10
|
+
* large number to always use the dropdown. Defaults to `500` — past that
|
|
11
|
+
* materialising the full range list stalls the main thread.
|
|
12
|
+
*/
|
|
13
|
+
rangesThreshold?: number;
|
|
11
14
|
}
|
|
12
15
|
type __VLS_Props = Props;
|
|
13
16
|
type __VLS_ModelProps = {
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { useTable } from "../../composables/defaults/table.js";
|
|
2
|
+
import { tv } from "../../utils/tv.js";
|
|
3
|
+
import RuiIcon_default from "../icons/RuiIcon.js";
|
|
4
|
+
import RuiButton_default from "../buttons/button/RuiButton.js";
|
|
5
|
+
import RuiTextField_default from "../forms/text-field/RuiTextField.js";
|
|
6
|
+
import RuiMenuSelect_default from "../forms/select/RuiMenuSelect.js";
|
|
7
|
+
import { usePaginationNavigation } from "./use-pagination-navigation.js";
|
|
8
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, isRef, mergeModels, normalizeClass, openBlock, ref, toDisplayString, unref, useModel, watch, withCtx, withKeys } from "vue";
|
|
9
|
+
import { get, set } from "@vueuse/shared";
|
|
10
|
+
//#region src/components/tables/RuiTablePagination.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
+
var RuiTablePagination_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
12
|
+
__name: "RuiTablePagination",
|
|
13
|
+
props: /* @__PURE__ */ mergeModels({
|
|
14
|
+
dense: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: false
|
|
17
|
+
},
|
|
18
|
+
disablePerPage: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
loading: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
rangesThreshold: { default: 500 }
|
|
27
|
+
}, {
|
|
28
|
+
"modelValue": { required: true },
|
|
29
|
+
"modelModifiers": {}
|
|
30
|
+
}),
|
|
31
|
+
emits: ["update:modelValue"],
|
|
32
|
+
setup(__props) {
|
|
33
|
+
const modelValue = useModel(__props, "modelValue");
|
|
34
|
+
const paginationStyles = tv({
|
|
35
|
+
slots: {
|
|
36
|
+
wrapper: "relative flex flex-wrap items-center justify-end gap-x-4 gap-y-0",
|
|
37
|
+
limit: "flex items-center space-x-2 text-caption",
|
|
38
|
+
ranges: "flex items-center space-x-2 text-caption pr-2",
|
|
39
|
+
pageInput: "w-20",
|
|
40
|
+
sectionLabel: "text-rui-text-secondary whitespace-nowrap py-3",
|
|
41
|
+
indicator: "text-rui-text text-caption whitespace-nowrap",
|
|
42
|
+
navigation: "flex items-center"
|
|
43
|
+
},
|
|
44
|
+
variants: { dense: { true: { wrapper: "gap-x-2" } } }
|
|
45
|
+
});
|
|
46
|
+
const ui = computed(() => paginationStyles({ dense: __props.dense }));
|
|
47
|
+
const { limits, currentLimit, pages, ranges, indicatorText, currentRange, useInputJump, hasPrev, hasNext, onPrev, onNext, onFirst, onLast } = usePaginationNavigation(modelValue, useTable(), () => __props.rangesThreshold);
|
|
48
|
+
const pageDraft = ref(String(get(currentRange)));
|
|
49
|
+
watch(currentRange, (value) => {
|
|
50
|
+
set(pageDraft, String(value));
|
|
51
|
+
});
|
|
52
|
+
function commitPageInput() {
|
|
53
|
+
const parsed = Number.parseInt(get(pageDraft), 10);
|
|
54
|
+
const maxPage = get(pages);
|
|
55
|
+
if (!Number.isFinite(parsed) || maxPage === 0) {
|
|
56
|
+
set(pageDraft, String(get(currentRange)));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const clamped = Math.min(Math.max(parsed, 1), maxPage);
|
|
60
|
+
if (clamped !== get(currentRange)) set(currentRange, clamped);
|
|
61
|
+
set(pageDraft, String(clamped));
|
|
62
|
+
}
|
|
63
|
+
return (_ctx, _cache) => {
|
|
64
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(ui).wrapper()) }, [
|
|
65
|
+
createElementVNode("div", {
|
|
66
|
+
class: normalizeClass(unref(ui).limit()),
|
|
67
|
+
"data-id": "table-pagination-limit-section"
|
|
68
|
+
}, [createElementVNode("span", { class: normalizeClass(unref(ui).sectionLabel()) }, "Rows per page:", 2), createVNode(RuiMenuSelect_default, {
|
|
69
|
+
modelValue: unref(currentLimit),
|
|
70
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(currentLimit) ? currentLimit.value = $event : null),
|
|
71
|
+
options: unref(limits),
|
|
72
|
+
disabled: __props.loading || __props.disablePerPage,
|
|
73
|
+
"label-class": "!text-xs !min-h-8",
|
|
74
|
+
name: "limit",
|
|
75
|
+
"key-attr": "limit",
|
|
76
|
+
"text-attr": "limit",
|
|
77
|
+
"hide-details": "",
|
|
78
|
+
dense: "",
|
|
79
|
+
"data-id": "table-pagination-limit"
|
|
80
|
+
}, null, 8, [
|
|
81
|
+
"modelValue",
|
|
82
|
+
"options",
|
|
83
|
+
"disabled"
|
|
84
|
+
])], 2),
|
|
85
|
+
createElementVNode("div", {
|
|
86
|
+
class: normalizeClass(unref(ui).ranges()),
|
|
87
|
+
"data-id": "table-pagination-ranges-section"
|
|
88
|
+
}, [
|
|
89
|
+
createElementVNode("span", { class: normalizeClass(unref(ui).sectionLabel()) }, toDisplayString(unref(useInputJump) ? "Page" : "Items #"), 3),
|
|
90
|
+
unref(useInputJump) ? (openBlock(), createBlock(RuiTextField_default, {
|
|
91
|
+
key: 0,
|
|
92
|
+
modelValue: unref(pageDraft),
|
|
93
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(pageDraft) ? pageDraft.value = $event : null),
|
|
94
|
+
disabled: __props.loading,
|
|
95
|
+
class: normalizeClass(unref(ui).pageInput()),
|
|
96
|
+
type: "number",
|
|
97
|
+
min: "1",
|
|
98
|
+
max: unref(pages),
|
|
99
|
+
inputmode: "numeric",
|
|
100
|
+
"hide-details": "",
|
|
101
|
+
dense: "",
|
|
102
|
+
variant: "outlined",
|
|
103
|
+
"data-id": "table-pagination-ranges-input",
|
|
104
|
+
onBlur: _cache[2] || (_cache[2] = ($event) => commitPageInput()),
|
|
105
|
+
onKeydown: _cache[3] || (_cache[3] = withKeys(($event) => commitPageInput(), ["enter"]))
|
|
106
|
+
}, null, 8, [
|
|
107
|
+
"modelValue",
|
|
108
|
+
"disabled",
|
|
109
|
+
"class",
|
|
110
|
+
"max"
|
|
111
|
+
])) : unref(ranges).length > 0 ? (openBlock(), createBlock(RuiMenuSelect_default, {
|
|
112
|
+
key: 1,
|
|
113
|
+
modelValue: unref(currentRange),
|
|
114
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isRef(currentRange) ? currentRange.value = $event : null),
|
|
115
|
+
options: unref(ranges),
|
|
116
|
+
disabled: __props.loading,
|
|
117
|
+
"label-class": "!text-xs !min-h-8",
|
|
118
|
+
name: "ranges",
|
|
119
|
+
"key-attr": "page",
|
|
120
|
+
"text-attr": "text",
|
|
121
|
+
"hide-details": "",
|
|
122
|
+
dense: "",
|
|
123
|
+
"data-id": "table-pagination-ranges"
|
|
124
|
+
}, null, 8, [
|
|
125
|
+
"modelValue",
|
|
126
|
+
"options",
|
|
127
|
+
"disabled"
|
|
128
|
+
])) : createCommentVNode("", true),
|
|
129
|
+
createElementVNode("span", { class: normalizeClass(unref(ui).indicator()) }, toDisplayString(unref(indicatorText)), 3)
|
|
130
|
+
], 2),
|
|
131
|
+
createElementVNode("div", {
|
|
132
|
+
class: normalizeClass(unref(ui).navigation()),
|
|
133
|
+
"data-id": "table-pagination-navigation"
|
|
134
|
+
}, [
|
|
135
|
+
createVNode(RuiButton_default, {
|
|
136
|
+
size: __props.dense ? "sm" : void 0,
|
|
137
|
+
disabled: !unref(hasPrev) || __props.loading,
|
|
138
|
+
variant: "text",
|
|
139
|
+
icon: "",
|
|
140
|
+
"data-id": "table-pagination-first",
|
|
141
|
+
onClick: _cache[5] || (_cache[5] = ($event) => unref(onFirst)())
|
|
142
|
+
}, {
|
|
143
|
+
default: withCtx(() => [createVNode(RuiIcon_default, { name: "lu-chevrons-left" })]),
|
|
144
|
+
_: 1
|
|
145
|
+
}, 8, ["size", "disabled"]),
|
|
146
|
+
createVNode(RuiButton_default, {
|
|
147
|
+
size: __props.dense ? "sm" : void 0,
|
|
148
|
+
disabled: !unref(hasPrev) || __props.loading,
|
|
149
|
+
variant: "text",
|
|
150
|
+
icon: "",
|
|
151
|
+
"data-id": "table-pagination-prev",
|
|
152
|
+
onClick: _cache[6] || (_cache[6] = ($event) => unref(onPrev)())
|
|
153
|
+
}, {
|
|
154
|
+
default: withCtx(() => [createVNode(RuiIcon_default, { name: "lu-chevron-left" })]),
|
|
155
|
+
_: 1
|
|
156
|
+
}, 8, ["size", "disabled"]),
|
|
157
|
+
createVNode(RuiButton_default, {
|
|
158
|
+
size: __props.dense ? "sm" : void 0,
|
|
159
|
+
disabled: !unref(hasNext) || __props.loading,
|
|
160
|
+
variant: "text",
|
|
161
|
+
icon: "",
|
|
162
|
+
"data-id": "table-pagination-next",
|
|
163
|
+
onClick: _cache[7] || (_cache[7] = ($event) => unref(onNext)())
|
|
164
|
+
}, {
|
|
165
|
+
default: withCtx(() => [createVNode(RuiIcon_default, { name: "lu-chevron-right" })]),
|
|
166
|
+
_: 1
|
|
167
|
+
}, 8, ["size", "disabled"]),
|
|
168
|
+
createVNode(RuiButton_default, {
|
|
169
|
+
size: __props.dense ? "sm" : void 0,
|
|
170
|
+
disabled: !unref(hasNext) || __props.loading,
|
|
171
|
+
variant: "text",
|
|
172
|
+
icon: "",
|
|
173
|
+
"data-id": "table-pagination-last",
|
|
174
|
+
onClick: _cache[8] || (_cache[8] = ($event) => unref(onLast)())
|
|
175
|
+
}, {
|
|
176
|
+
default: withCtx(() => [createVNode(RuiIcon_default, { name: "lu-chevrons-right" })]),
|
|
177
|
+
_: 1
|
|
178
|
+
}, 8, ["size", "disabled"])
|
|
179
|
+
], 2)
|
|
180
|
+
], 2);
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
//#endregion
|
|
185
|
+
export { RuiTablePagination_vue_vue_type_script_setup_true_lang_default as default };
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map
|