@rotki/ui-library 2.12.1 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +6 -14
- package/dist/components/accordions/accordion/RuiAccordion.vue.js +3 -4
- package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +1 -1
- package/dist/components/accordions/accordions/RuiAccordions.vue.d.ts +10 -9
- package/dist/components/accordions/accordions/RuiAccordions.vue.js +27 -26
- package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +1 -1
- package/dist/components/alerts/RuiAlert.vue.d.ts +7 -17
- package/dist/components/alerts/RuiAlert.vue2.js +8 -16
- package/dist/components/alerts/RuiAlert.vue2.js.map +1 -1
- package/dist/components/buttons/button/RuiButton.vue.d.ts +5 -7
- package/dist/components/buttons/button/RuiButton.vue2.js +19 -20
- package/dist/components/buttons/button/RuiButton.vue2.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +6 -5
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +42 -41
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +1 -1
- package/dist/components/calendar/RuiCalendar.vue.d.ts +1 -6
- package/dist/components/calendar/RuiCalendar.vue.js +7 -8
- package/dist/components/calendar/RuiCalendar.vue.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.vue.js +1 -1
- package/dist/components/calendar/RuiCalendarGrid.vue2.js +20 -18
- package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +1 -1
- package/dist/components/calendar/RuiCalendarHeader.vue.js +1 -1
- package/dist/components/calendar/RuiCalendarHeader.vue2.js +3 -4
- package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue.js +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue2.js +48 -40
- package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +1 -1
- package/dist/components/cards/RuiCard.vue.d.ts +9 -24
- package/dist/components/cards/RuiCard.vue2.js +7 -7
- package/dist/components/cards/RuiCard.vue2.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.vue.d.ts +5 -10
- package/dist/components/cards/RuiCardHeader.vue2.js +1 -1
- package/dist/components/cards/RuiCardHeader.vue2.js.map +1 -1
- package/dist/components/chips/RuiChip.vue.d.ts +7 -21
- package/dist/components/chips/RuiChip.vue2.js +16 -21
- package/dist/components/chips/RuiChip.vue2.js.map +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue2.js +19 -19
- package/dist/components/color-picker/RuiColorBoard.vue2.js.map +1 -1
- package/dist/components/color-picker/RuiColorDisplay.vue.js +3 -5
- package/dist/components/color-picker/RuiColorDisplay.vue.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.vue2.js +17 -14
- package/dist/components/color-picker/RuiColorHue.vue2.js.map +1 -1
- package/dist/components/color-picker/RuiColorInput.vue.js +9 -7
- package/dist/components/color-picker/RuiColorInput.vue.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue.d.ts +7 -9
- package/dist/components/color-picker/RuiColorPicker.vue.js +23 -14
- package/dist/components/color-picker/RuiColorPicker.vue.js.map +1 -1
- package/dist/components/color-picker/utils.js +22 -5
- package/dist/components/color-picker/utils.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -44
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +75 -79
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +1 -1
- package/dist/components/date-time-picker/dayjs-setup.d.ts +1 -0
- package/dist/components/date-time-picker/dayjs-setup.js +8 -0
- package/dist/components/date-time-picker/dayjs-setup.js.map +1 -0
- package/dist/components/date-time-picker/segment-config.d.ts +14 -0
- package/dist/components/date-time-picker/segment-config.js +23 -0
- package/dist/components/date-time-picker/segment-config.js.map +1 -0
- package/dist/components/date-time-picker/segment-utils.d.ts +5 -0
- package/dist/components/date-time-picker/segment-utils.js +36 -0
- package/dist/components/date-time-picker/segment-utils.js.map +1 -0
- package/dist/components/date-time-picker/use-date-time-selection.d.ts +1 -0
- package/dist/components/date-time-picker/use-date-time-selection.js +1 -0
- package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
- package/dist/components/date-time-picker/use-keyboard-handler.d.ts +4 -8
- package/dist/components/date-time-picker/use-keyboard-handler.js +9 -54
- package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
- package/dist/components/date-time-picker/utils.d.ts +1 -0
- package/dist/components/date-time-picker/utils.js +1 -0
- package/dist/components/date-time-picker/utils.js.map +1 -1
- package/dist/components/divider/RuiDivider.vue.d.ts +1 -3
- package/dist/components/divider/RuiDivider.vue.js +6 -3
- package/dist/components/divider/RuiDivider.vue.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +10 -1138
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +153 -160
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +15 -24
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +32 -32
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +2 -2
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +19 -22
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +4 -2
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +13 -16
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +7 -13
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +10 -9
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -1
- package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +10 -785
- package/dist/components/forms/select/RuiMenuSelect.vue2.js +60 -56
- package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +11 -10
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js +21 -26
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +1 -1
- package/dist/components/forms/slider/RuiSlider.vue.d.ts +10 -26
- package/dist/components/forms/slider/RuiSlider.vue2.js +45 -48
- package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue.d.ts +12 -20
- package/dist/components/forms/switch/RuiSwitch.vue2.js +22 -21
- package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -1
- package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +5 -30
- package/dist/components/forms/text-area/RuiTextArea.vue2.js +47 -83
- package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -1
- package/dist/components/forms/text-field/RuiTextField.vue.d.ts +10 -30
- package/dist/components/forms/text-field/RuiTextField.vue2.js +36 -67
- package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -1
- package/dist/components/helpers/RuiFormTextDetail.vue.d.ts +1 -5
- package/dist/components/helpers/RuiFormTextDetail.vue.js +5 -9
- package/dist/components/helpers/RuiFormTextDetail.vue.js.map +1 -1
- package/dist/components/icons/LazyIcon.vue.d.ts +1 -3
- package/dist/components/icons/RuiIcon.vue.d.ts +1 -4
- package/dist/components/icons/RuiIcon.vue2.js +11 -14
- package/dist/components/icons/RuiIcon.vue2.js.map +1 -1
- package/dist/components/index.d.ts +4 -4
- package/dist/components/loaders/RuiSkeletonBase.vue.d.ts +1 -3
- package/dist/components/loaders/RuiSkeletonBase.vue2.js +2 -2
- package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +1 -4
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js +2 -2
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +1 -1
- package/dist/components/logos/RuiLogo.vue.d.ts +1 -7
- package/dist/components/logos/RuiLogo.vue.js +13 -13
- package/dist/components/logos/RuiLogo.vue.js.map +1 -1
- package/dist/components/overlays/badge/RuiBadge.vue.d.ts +5 -20
- package/dist/components/overlays/badge/RuiBadge.vue2.js +11 -13
- package/dist/components/overlays/badge/RuiBadge.vue2.js.map +1 -1
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.d.ts +10 -5
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +18 -7
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +1 -1
- package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +22 -27
- package/dist/components/overlays/dialog/RuiDialog.vue2.js +90 -67
- package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +1 -1
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +24 -35
- package/dist/components/overlays/menu/RuiMenu.vue2.js +71 -78
- package/dist/components/overlays/menu/RuiMenu.vue2.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +23 -30
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +78 -49
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +1 -1
- package/dist/components/overlays/notification/RuiNotification.vue.d.ts +12 -12
- package/dist/components/overlays/notification/RuiNotification.vue.js +27 -22
- package/dist/components/overlays/notification/RuiNotification.vue.js.map +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +7 -18
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +16 -9
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +1 -1
- package/dist/components/progress/RuiProgress.vue.d.ts +8 -10
- package/dist/components/progress/RuiProgress.vue2.js +18 -24
- package/dist/components/progress/RuiProgress.vue2.js.map +1 -1
- package/dist/components/steppers/RuiFooterStepper.vue.d.ts +10 -11
- package/dist/components/steppers/RuiFooterStepper.vue2.js +33 -26
- package/dist/components/steppers/RuiFooterStepper.vue2.js.map +1 -1
- package/dist/components/steppers/RuiStepper.vue.d.ts +6 -15
- package/dist/components/steppers/RuiStepper.vue2.js +39 -36
- package/dist/components/steppers/RuiStepper.vue2.js.map +1 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +1 -3
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +2 -2
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue.d.ts +1 -3
- package/dist/components/steppers/RuiStepperIcon.vue2.js +2 -2
- package/dist/components/steppers/RuiStepperIcon.vue2.js.map +1 -1
- package/dist/components/tables/RuiDataTable.vue.d.ts +29 -81
- package/dist/components/tables/RuiDataTable.vue2.js +196 -601
- package/dist/components/tables/RuiDataTable.vue2.js.map +1 -1
- package/dist/components/tables/RuiDataTable.vue3.js +24 -27
- package/dist/components/tables/RuiDataTable.vue3.js.map +1 -1
- package/dist/components/tables/RuiExpandButton.vue.d.ts +3 -6
- package/dist/components/tables/RuiExpandButton.vue2.js +4 -2
- package/dist/components/tables/RuiExpandButton.vue2.js.map +1 -1
- package/dist/components/tables/RuiTableHead.vue.d.ts +4 -7
- package/dist/components/tables/RuiTableHead.vue2.js +20 -20
- package/dist/components/tables/RuiTableHead.vue2.js.map +1 -1
- package/dist/components/tables/RuiTablePagination.vue.d.ts +10 -10
- package/dist/components/tables/RuiTablePagination.vue2.js +27 -19
- package/dist/components/tables/RuiTablePagination.vue2.js.map +1 -1
- package/dist/components/tabs/tab/RuiTab.vue.d.ts +3 -18
- package/dist/components/tabs/tab/RuiTab.vue2.js +84 -52
- package/dist/components/tabs/tab/RuiTab.vue2.js.map +1 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +3 -11
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +3 -2
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +1 -1
- package/dist/components/tabs/tab-items/RuiTabItems.vue.d.ts +2 -5
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +18 -18
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +1 -1
- package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +10 -14
- package/dist/components/tabs/tabs/RuiTabs.vue2.js +101 -94
- package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +1 -1
- package/dist/components/time-picker/RuiTimePicker.vue.d.ts +1 -4
- package/dist/components/time-picker/RuiTimePicker.vue2.js +88 -38
- package/dist/components/time-picker/RuiTimePicker.vue2.js.map +1 -1
- package/dist/composables/breakpoint.js +8 -13
- package/dist/composables/breakpoint.js.map +1 -1
- package/dist/composables/dropdown-menu.d.ts +7 -4
- package/dist/composables/dropdown-menu.js +73 -50
- package/dist/composables/dropdown-menu.js.map +1 -1
- package/dist/composables/forms/auto-complete/focus.d.ts +7 -5
- package/dist/composables/forms/auto-complete/focus.js +28 -17
- package/dist/composables/forms/auto-complete/focus.js.map +1 -1
- package/dist/composables/forms/auto-complete/index.d.ts +0 -9
- package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +8 -3
- package/dist/composables/forms/auto-complete/keyboard-navigation.js +11 -5
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
- package/dist/composables/forms/auto-complete/search.d.ts +7 -0
- package/dist/composables/forms/auto-complete/search.js +10 -8
- package/dist/composables/forms/auto-complete/search.js.map +1 -1
- package/dist/composables/forms/auto-complete/value.d.ts +4 -0
- package/dist/composables/forms/auto-complete/value.js +24 -42
- package/dist/composables/forms/auto-complete/value.js.map +1 -1
- package/dist/composables/forms/use-label-with-quote.d.ts +2 -0
- package/dist/composables/forms/use-label-with-quote.js +14 -0
- package/dist/composables/forms/use-label-with-quote.js.map +1 -0
- package/dist/composables/forms/use-prepend-append-width.d.ts +6 -0
- package/dist/composables/forms/use-prepend-append-width.js +25 -0
- package/dist/composables/forms/use-prepend-append-width.js.map +1 -0
- package/dist/composables/icons.js +1 -1
- package/dist/composables/icons.js.map +1 -1
- package/dist/composables/popper.js +63 -49
- package/dist/composables/popper.js.map +1 -1
- package/dist/composables/sticky-header.d.ts +7 -5
- package/dist/composables/sticky-header.js +51 -41
- package/dist/composables/sticky-header.js.map +1 -1
- package/dist/composables/tables/data-table/columns.d.ts +25 -0
- package/dist/composables/tables/data-table/columns.js +54 -0
- package/dist/composables/tables/data-table/columns.js.map +1 -0
- package/dist/composables/tables/data-table/expansion.d.ts +17 -0
- package/dist/composables/tables/data-table/expansion.js +38 -0
- package/dist/composables/tables/data-table/expansion.js.map +1 -0
- package/dist/composables/tables/data-table/grouping.d.ts +29 -0
- package/dist/composables/tables/data-table/grouping.js +136 -0
- package/dist/composables/tables/data-table/grouping.js.map +1 -0
- package/dist/composables/tables/data-table/pagination.d.ts +33 -0
- package/dist/composables/tables/data-table/pagination.js +119 -0
- package/dist/composables/tables/data-table/pagination.js.map +1 -0
- package/dist/composables/tables/data-table/selection.d.ts +29 -0
- package/dist/composables/tables/data-table/selection.js +164 -0
- package/dist/composables/tables/data-table/selection.js.map +1 -0
- package/dist/composables/tables/data-table/sort.d.ts +32 -0
- package/dist/composables/tables/data-table/sort.js +136 -0
- package/dist/composables/tables/data-table/sort.js.map +1 -0
- package/dist/composables/tables/data-table/types.d.ts +14 -0
- package/dist/composables/tables/data-table/types.js +11 -0
- package/dist/composables/tables/data-table/types.js.map +1 -0
- package/dist/composables/theme.js +5 -21
- package/dist/composables/theme.js.map +1 -1
- package/dist/composables/timeout-manager.d.ts +4 -2
- package/dist/composables/timeout-manager.js +2 -1
- package/dist/composables/timeout-manager.js.map +1 -1
- package/dist/icons/icons_1.d.ts +15 -15
- package/dist/icons/icons_1.js +123 -123
- package/dist/icons/icons_1.js.map +1 -1
- package/dist/icons/icons_2.d.ts +46 -46
- package/dist/icons/icons_2.js +301 -301
- package/dist/icons/icons_2.js.map +1 -1
- package/dist/icons/icons_3.d.ts +43 -43
- package/dist/icons/icons_3.js +252 -252
- package/dist/icons/icons_3.js.map +1 -1
- package/dist/icons/icons_4.d.ts +72 -2
- package/dist/icons/icons_4.js +368 -18
- package/dist/icons/icons_4.js.map +1 -1
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/icons/index.js.map +1 -1
- package/dist/index.js +105 -42
- package/dist/index.js.map +1 -1
- package/dist/style.css +189 -162
- package/dist/theme/index.js +15 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/utils/assert.d.ts +1 -1
- package/dist/utils/assert.js.map +1 -1
- package/dist/utils/form-text-detail.d.ts +9 -8
- package/dist/utils/form-text-detail.js +1 -2
- package/dist/utils/form-text-detail.js.map +1 -1
- package/dist/utils/helpers.d.ts +4 -32
- package/dist/utils/helpers.js +8 -9
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/is-equal.d.ts +1 -1
- package/dist/utils/is-equal.js +5 -3
- package/dist/utils/is-equal.js.map +1 -1
- package/dist/vite-plugin/index.js +4 -4
- package/dist/vite-plugin/index.js.map +1 -1
- package/dist/vite-plugin/scanner.js +3 -3
- package/dist/vite-plugin/scanner.js.map +1 -1
- package/dist/web-types.json +390 -371
- package/package.json +47 -44
- package/dist/utils/generate-id.d.ts +0 -5
- package/dist/utils/generate-id.js +0 -21
- package/dist/utils/generate-id.js.map +0 -1
|
@@ -5,19 +5,19 @@ export interface TablePaginationData {
|
|
|
5
5
|
limits?: number[];
|
|
6
6
|
}
|
|
7
7
|
export interface Props {
|
|
8
|
-
modelValue: TablePaginationData;
|
|
9
8
|
dense?: boolean;
|
|
10
9
|
disablePerPage?: boolean;
|
|
11
10
|
loading?: boolean;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
type __VLS_Props = Props;
|
|
13
|
+
type __VLS_ModelProps = {
|
|
14
|
+
modelValue: TablePaginationData;
|
|
15
|
+
};
|
|
16
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
17
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
|
+
"update:modelValue": (value: TablePaginationData) => any;
|
|
19
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
20
|
+
"onUpdate:modelValue"?: ((value: TablePaginationData) => any) | undefined;
|
|
21
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
22
|
declare const _default: typeof __VLS_export;
|
|
23
23
|
export default _default;
|
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, useModel, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, isRef, createBlock, createCommentVNode, toDisplayString, withCtx, mergeModels } from "vue";
|
|
2
2
|
import RuiButton from "../buttons/button/RuiButton.vue.js";
|
|
3
3
|
import RuiMenuSelect from "../forms/select/RuiMenuSelect.vue.js";
|
|
4
4
|
import RuiIcon from "../icons/RuiIcon.vue.js";
|
|
5
5
|
import { useTable } from "../../composables/defaults/table.js";
|
|
6
|
-
import { get } from "@vueuse/shared";
|
|
7
6
|
import { formatInteger } from "../../utils/helpers.js";
|
|
7
|
+
import { get, set } from "@vueuse/shared";
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
9
9
|
__name: "RuiTablePagination",
|
|
10
|
-
props: {
|
|
11
|
-
modelValue: {},
|
|
10
|
+
props: /* @__PURE__ */ mergeModels({
|
|
12
11
|
dense: { type: Boolean, default: false },
|
|
13
12
|
disablePerPage: { type: Boolean, default: false },
|
|
14
13
|
loading: { type: Boolean, default: false }
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
}, {
|
|
15
|
+
"modelValue": { required: true },
|
|
16
|
+
"modelModifiers": {}
|
|
17
|
+
}),
|
|
18
|
+
emits: ["update:modelValue"],
|
|
19
|
+
setup(__props) {
|
|
20
|
+
const modelValue = useModel(__props, "modelValue");
|
|
21
21
|
const tableDefaults = useTable();
|
|
22
|
-
const limits = computed(
|
|
22
|
+
const limits = computed(
|
|
23
|
+
() => (get(modelValue).limits ?? get(tableDefaults.limits)).map((limit) => ({ limit }))
|
|
24
|
+
);
|
|
23
25
|
const currentLimit = computed({
|
|
24
26
|
get: () => get(modelValue).limit,
|
|
25
|
-
set: (limit) =>
|
|
27
|
+
set: (limit) => set(modelValue, {
|
|
26
28
|
...get(modelValue),
|
|
27
29
|
limit: Number(limit),
|
|
28
30
|
page: 1
|
|
@@ -36,8 +38,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
36
38
|
});
|
|
37
39
|
const ranges = computed(() => {
|
|
38
40
|
const segments = [];
|
|
39
|
-
for (let page = 1; page <= get(pages); page++)
|
|
40
|
-
segments.push({ page, text: pageRangeText(page) });
|
|
41
|
+
for (let page = 1; page <= get(pages); page++) segments.push({ page, text: pageRangeText(page) });
|
|
41
42
|
return segments;
|
|
42
43
|
});
|
|
43
44
|
const indicatorText = computed(() => {
|
|
@@ -46,7 +47,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
46
47
|
});
|
|
47
48
|
const currentRange = computed({
|
|
48
49
|
get: () => get(modelValue).page,
|
|
49
|
-
set: (page) =>
|
|
50
|
+
set: (page) => set(modelValue, {
|
|
50
51
|
...get(modelValue),
|
|
51
52
|
page
|
|
52
53
|
})
|
|
@@ -54,7 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
54
55
|
const hasPrev = computed(() => get(modelValue).page > 1);
|
|
55
56
|
const hasNext = computed(() => get(pages) > get(modelValue).page);
|
|
56
57
|
function goToPage(page) {
|
|
57
|
-
|
|
58
|
+
set(modelValue, {
|
|
58
59
|
...get(modelValue),
|
|
59
60
|
page
|
|
60
61
|
});
|
|
@@ -108,7 +109,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
108
109
|
"key-attr": "limit",
|
|
109
110
|
"text-attr": "limit",
|
|
110
111
|
"hide-details": "",
|
|
111
|
-
dense: ""
|
|
112
|
+
dense: "",
|
|
113
|
+
"data-cy": "table-pagination-limit"
|
|
112
114
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
113
115
|
], 2),
|
|
114
116
|
createElementVNode("div", {
|
|
@@ -128,20 +130,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
128
130
|
"key-attr": "page",
|
|
129
131
|
"text-attr": "text",
|
|
130
132
|
"hide-details": "",
|
|
131
|
-
dense: ""
|
|
133
|
+
dense: "",
|
|
134
|
+
"data-cy": "table-pagination-ranges"
|
|
132
135
|
}, null, 8, ["modelValue", "options", "disabled"])) : createCommentVNode("", true),
|
|
133
136
|
createElementVNode("span", {
|
|
134
137
|
class: normalizeClass(_ctx.$style.indicator)
|
|
135
138
|
}, toDisplayString(unref(indicatorText)), 3)
|
|
136
139
|
], 2),
|
|
137
140
|
createElementVNode("div", {
|
|
138
|
-
class: normalizeClass(_ctx.$style.navigation)
|
|
141
|
+
class: normalizeClass(_ctx.$style.navigation),
|
|
142
|
+
"data-cy": "table-pagination-navigation"
|
|
139
143
|
}, [
|
|
140
144
|
createVNode(RuiButton, {
|
|
141
145
|
size: __props.dense ? "sm" : void 0,
|
|
142
146
|
disabled: !unref(hasPrev) || __props.loading,
|
|
143
147
|
variant: "text",
|
|
144
148
|
icon: "",
|
|
149
|
+
"data-cy": "table-pagination-first",
|
|
145
150
|
onClick: _cache[2] || (_cache[2] = ($event) => onFirst())
|
|
146
151
|
}, {
|
|
147
152
|
default: withCtx(() => [
|
|
@@ -154,6 +159,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
154
159
|
disabled: !unref(hasPrev) || __props.loading,
|
|
155
160
|
variant: "text",
|
|
156
161
|
icon: "",
|
|
162
|
+
"data-cy": "table-pagination-prev",
|
|
157
163
|
onClick: _cache[3] || (_cache[3] = ($event) => onPrev())
|
|
158
164
|
}, {
|
|
159
165
|
default: withCtx(() => [
|
|
@@ -166,6 +172,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
166
172
|
disabled: !unref(hasNext) || __props.loading,
|
|
167
173
|
variant: "text",
|
|
168
174
|
icon: "",
|
|
175
|
+
"data-cy": "table-pagination-next",
|
|
169
176
|
onClick: _cache[4] || (_cache[4] = ($event) => onNext())
|
|
170
177
|
}, {
|
|
171
178
|
default: withCtx(() => [
|
|
@@ -178,6 +185,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
178
185
|
disabled: !unref(hasNext) || __props.loading,
|
|
179
186
|
variant: "text",
|
|
180
187
|
icon: "",
|
|
188
|
+
"data-cy": "table-pagination-last",
|
|
181
189
|
onClick: _cache[5] || (_cache[5] = ($event) => onLast())
|
|
182
190
|
}, {
|
|
183
191
|
default: withCtx(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiTablePagination.vue2.js","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 RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface TablePaginationData {\n page: number;\n total: number;\n limit: number;\n limits?: number[];\n}\n\nexport interface Props {\n
|
|
1
|
+
{"version":3,"file":"RuiTablePagination.vue2.js","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 RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { useTable } from '@/composables/defaults/table';\nimport { formatInteger } from '@/utils/helpers';\n\nexport interface TablePaginationData {\n page: number;\n total: number;\n limit: number;\n limits?: number[];\n}\n\nexport interface Props {\n dense?: boolean;\n disablePerPage?: boolean;\n loading?: boolean;\n}\n\nconst modelValue = defineModel<TablePaginationData>({ required: true });\n\nconst { dense = false, loading = false, disablePerPage = false } = defineProps<Props>();\n\nconst tableDefaults = useTable();\n\nconst limits = computed<{ limit: number }[]>(() =>\n (get(modelValue).limits ?? get(tableDefaults.limits)).map(limit => ({ limit })),\n);\n\nconst currentLimit = computed<number>({\n get: () => get(modelValue).limit,\n set: limit =>\n set(modelValue, {\n ...get(modelValue),\n limit: Number(limit),\n page: 1,\n }),\n});\n\nconst pages = computed<number>(() => {\n const { limit, total } = get(modelValue);\n if (!total)\n return 0;\n\n return Math.ceil(total / limit);\n});\n\nconst ranges = computed<{ page: number; text: string }[]>(() => {\n const segments = [];\n\n for (let page = 1; page <= get(pages); page++) segments.push({ page, text: pageRangeText(page) });\n\n return segments;\n});\n\nconst indicatorText = computed<string>(() => {\n const { total } = get(modelValue);\n return `${!total ? '0 ' : ''}of ${formatInteger(total)}`;\n});\n\nconst currentRange = computed<number>({\n get: () => get(modelValue).page,\n set: page =>\n set(modelValue, {\n ...get(modelValue),\n page,\n }),\n});\n\nconst hasPrev = computed<boolean>(() => get(modelValue).page > 1);\nconst hasNext = computed<boolean>(() => get(pages) > get(modelValue).page);\n\nfunction goToPage(page: number): void {\n set(modelValue, {\n ...get(modelValue),\n page,\n });\n}\n\nfunction pageRangeText(page: number): string {\n const { limit, total } = get(modelValue);\n return `${formatInteger((page - 1) * limit + 1)} - ${formatInteger(\n Math.min(page * limit, total),\n )}`;\n}\n\nfunction onNavigate(delta: number): void {\n goToPage(get(modelValue).page + delta);\n}\n\nfunction onPrev(): void {\n if (!get(hasPrev))\n return;\n\n onNavigate(-1);\n}\n\nfunction onNext(): void {\n if (!get(hasNext))\n return;\n\n onNavigate(1);\n}\n\nfunction onFirst(): void {\n if (!get(hasPrev))\n return;\n\n goToPage(1);\n}\n\nfunction onLast(): void {\n if (!get(hasNext))\n return;\n\n goToPage(get(pages));\n}\n</script>\n\n<template>\n <div :class=\"[$style.wrapper, { [$style['wrapper-dense'] ?? '']: dense }]\">\n <div :class=\"$style.limit\">\n <span :class=\"$style.limit__text\">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-cy=\"table-pagination-limit\"\n />\n </div>\n <div :class=\"$style.ranges\">\n <span :class=\"$style.ranges__text\">Items #</span>\n <RuiMenuSelect\n v-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-cy=\"table-pagination-ranges\"\n />\n <span :class=\"$style.indicator\">\n {{ indicatorText }}\n </span>\n </div>\n <div\n :class=\"$style.navigation\"\n data-cy=\"table-pagination-navigation\"\n >\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n data-cy=\"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-cy=\"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-cy=\"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-cy=\"table-pagination-last\"\n @click=\"onLast()\"\n >\n <RuiIcon name=\"lu-chevrons-right\" />\n </RuiButton>\n </div>\n </div>\n</template>\n\n<style module lang=\"scss\">\n.wrapper {\n @apply relative flex flex-wrap items-center justify-end gap-x-4 gap-y-0;\n\n .limit {\n @apply flex items-center space-x-2 text-caption;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .ranges {\n @apply flex items-center space-x-2 text-caption pr-2;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .indicator {\n @apply text-rui-text text-caption whitespace-nowrap;\n }\n\n .navigation {\n @apply flex items-center;\n }\n\n &-dense {\n @apply gap-x-2;\n }\n}\n</style>\n"],"names":["_useModel","_createElementBlock","$style","_createElementVNode","_normalizeClass","_createVNode","_unref","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,UAAM,aAAaA,8BAAmD;AAItE,UAAM,gBAAgB,SAAA;AAEtB,UAAM,SAAS;AAAA,MAA8B,OAC1C,IAAI,UAAU,EAAE,UAAU,IAAI,cAAc,MAAM,GAAG,IAAI,CAAA,WAAU,EAAE,QAAQ;AAAA,IAAA;AAGhF,UAAM,eAAe,SAAiB;AAAA,MACpC,KAAK,MAAM,IAAI,UAAU,EAAE;AAAA,MAC3B,KAAK,CAAA,UACH,IAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB,OAAO,OAAO,KAAK;AAAA,QACnB,MAAM;AAAA,MAAA,CACP;AAAA,IAAA,CACJ;AAED,UAAM,QAAQ,SAAiB,MAAM;AACnC,YAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACvC,UAAI,CAAC;AACH,eAAO;AAET,aAAO,KAAK,KAAK,QAAQ,KAAK;AAAA,IAChC,CAAC;AAED,UAAM,SAAS,SAA2C,MAAM;AAC9D,YAAM,WAAW,CAAA;AAEjB,eAAS,OAAO,GAAG,QAAQ,IAAI,KAAK,GAAG,OAAQ,UAAS,KAAK,EAAE,MAAM,MAAM,cAAc,IAAI,GAAG;AAEhG,aAAO;AAAA,IACT,CAAC;AAED,UAAM,gBAAgB,SAAiB,MAAM;AAC3C,YAAM,EAAE,MAAA,IAAU,IAAI,UAAU;AAChC,aAAO,GAAG,CAAC,QAAQ,OAAO,EAAE,MAAM,cAAc,KAAK,CAAC;AAAA,IACxD,CAAC;AAED,UAAM,eAAe,SAAiB;AAAA,MACpC,KAAK,MAAM,IAAI,UAAU,EAAE;AAAA,MAC3B,KAAK,CAAA,SACH,IAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB;AAAA,MAAA,CACD;AAAA,IAAA,CACJ;AAED,UAAM,UAAU,SAAkB,MAAM,IAAI,UAAU,EAAE,OAAO,CAAC;AAChE,UAAM,UAAU,SAAkB,MAAM,IAAI,KAAK,IAAI,IAAI,UAAU,EAAE,IAAI;AAEzE,aAAS,SAAS,MAAoB;AACpC,UAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAAS,cAAc,MAAsB;AAC3C,YAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACvC,aAAO,GAAG,eAAe,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM;AAAA,QACnD,KAAK,IAAI,OAAO,OAAO,KAAK;AAAA,MAAA,CAC7B;AAAA,IACH;AAEA,aAAS,WAAW,OAAqB;AACvC,eAAS,IAAI,UAAU,EAAE,OAAO,KAAK;AAAA,IACvC;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,iBAAW,EAAE;AAAA,IACf;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,iBAAW,CAAC;AAAA,IACd;AAEA,aAAS,UAAgB;AACvB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,eAAS,CAAC;AAAA,IACZ;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,eAAS,IAAI,KAAK,CAAC;AAAA,IACrB;;0BAIEC,mBAgFM,OAAA;AAAA,QAhFA,uBAAQC,KAAAA,OAAO,SAAO,EAAA,CAAKA,KAAAA,gCAAgC,QAAA,MAAA,CAAK,CAAA;AAAA,MAAA;QACpEC,mBAcM,OAAA;AAAA,UAdA,OAAKC,eAAEF,KAAAA,OAAO,KAAK;AAAA,QAAA;UACvBC,mBAAuD,QAAA;AAAA,YAAhD,OAAKC,eAAEF,KAAAA,OAAO,WAAW;AAAA,UAAA,GAAE,kBAAc,CAAA;AAAA,UAChDG,YAWE,eAAA;AAAA,wBAVSC,MAAA,YAAA;AAAA,+FAAA,aAAY,QAAA,SAAA;AAAA,YACpB,SAASA,MAAA,MAAA;AAAA,YACT,UAAU,QAAA,WAAW,QAAA;AAAA,YACtB,eAAY;AAAA,YACZ,MAAK;AAAA,YACL,YAAS;AAAA,YACT,aAAU;AAAA,YACV,gBAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAQ;AAAA,UAAA;;QAGZH,mBAkBM,OAAA;AAAA,UAlBA,OAAKC,eAAEF,KAAAA,OAAO,MAAM;AAAA,QAAA;UACxBC,mBAAiD,QAAA;AAAA,YAA1C,OAAKC,eAAEF,KAAAA,OAAO,YAAY;AAAA,UAAA,GAAE,WAAO,CAAA;AAAA,UAElCI,MAAA,MAAA,EAAO,SAAM,kBADrBC,YAYE,eAAA;AAAA;wBAVSD,MAAA,YAAA;AAAA,+FAAA,aAAY,QAAA,SAAA;AAAA,YACpB,SAASA,MAAA,MAAA;AAAA,YACT,UAAU,QAAA;AAAA,YACX,eAAY;AAAA,YACZ,MAAK;AAAA,YACL,YAAS;AAAA,YACT,aAAU;AAAA,YACV,gBAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAQ;AAAA,UAAA;UAEVH,mBAEO,QAAA;AAAA,YAFA,OAAKC,eAAEF,KAAAA,OAAO,SAAS;AAAA,UAAA,mBACzBI,MAAA,aAAA,CAAa,GAAA,CAAA;AAAA,QAAA;QAGpBH,mBA4CM,OAAA;AAAA,UA3CH,OAAKC,eAAEF,KAAAA,OAAO,UAAU;AAAA,UACzB,WAAQ;AAAA,QAAA;UAERG,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,QAAA;AAAA,UAAO;6BAEf,MAAmC;AAAA,cAAnCD,YAAmC,SAAA,EAA1B,MAAK,oBAAkB;AAAA,YAAA;;;UAElCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAkC;AAAA,cAAlCD,YAAkC,SAAA,EAAzB,MAAK,mBAAiB;AAAA,YAAA;;;UAEjCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAmC;AAAA,cAAnCD,YAAmC,SAAA,EAA1B,MAAK,oBAAkB;AAAA,YAAA;;;UAElCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAoC;AAAA,cAApCD,YAAoC,SAAA,EAA3B,MAAK,qBAAmB;AAAA,YAAA;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { RouteLocationRaw } from 'vue-router';
|
|
2
1
|
import type { ContextColorsType } from '../../../consts/colors.js';
|
|
2
|
+
import { type RouteLocationRaw } from 'vue-router';
|
|
3
3
|
export interface Props {
|
|
4
4
|
color?: ContextColorsType;
|
|
5
5
|
disabled?: boolean;
|
|
@@ -21,26 +21,11 @@ type __VLS_Slots = {
|
|
|
21
21
|
prepend?: (props?: object) => any;
|
|
22
22
|
append?: (props?: object) => any;
|
|
23
23
|
};
|
|
24
|
-
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
25
25
|
click: (value: string | number) => any;
|
|
26
26
|
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
27
27
|
onClick?: ((value: string | number) => any) | undefined;
|
|
28
|
-
}>, {
|
|
29
|
-
value: number | string;
|
|
30
|
-
color: ContextColorsType;
|
|
31
|
-
link: boolean;
|
|
32
|
-
disabled: boolean;
|
|
33
|
-
active: boolean;
|
|
34
|
-
vertical: boolean;
|
|
35
|
-
align: "start" | "center" | "end";
|
|
36
|
-
target: string;
|
|
37
|
-
to: RouteLocationRaw;
|
|
38
|
-
exact: boolean;
|
|
39
|
-
grow: boolean;
|
|
40
|
-
activeClass: string;
|
|
41
|
-
exactPath: boolean;
|
|
42
|
-
indicatorPosition: "start" | "end";
|
|
43
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
44
29
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
45
30
|
declare const _default: typeof __VLS_export;
|
|
46
31
|
export default _default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { defineComponent, useSlots,
|
|
1
|
+
import { defineComponent, useSlots, useCssModule, computed, openBlock, createBlock, mergeProps, unref, createSlots, withCtx, renderSlot, createVNode, useId } from "vue";
|
|
2
|
+
import { RouterLink } from "vue-router";
|
|
2
3
|
import RuiButton from "../../buttons/button/RuiButton.vue.js";
|
|
3
|
-
import { generateId } from "../../../utils/generate-id.js";
|
|
4
|
-
import { get } from "@vueuse/shared";
|
|
5
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
5
|
...{
|
|
7
6
|
name: "RuiTab",
|
|
@@ -9,10 +8,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
9
8
|
},
|
|
10
9
|
__name: "RuiTab",
|
|
11
10
|
props: {
|
|
12
|
-
color: {
|
|
11
|
+
color: {},
|
|
13
12
|
disabled: { type: Boolean, default: false },
|
|
14
13
|
grow: { type: Boolean, default: false },
|
|
15
|
-
value: { default:
|
|
14
|
+
value: { default: () => useId() },
|
|
16
15
|
active: { type: Boolean, default: false },
|
|
17
16
|
activeClass: { default: "" },
|
|
18
17
|
link: { type: Boolean, default: false },
|
|
@@ -26,65 +25,86 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
26
25
|
},
|
|
27
26
|
emits: ["click"],
|
|
28
27
|
setup(__props, { emit: __emit }) {
|
|
29
|
-
const props = __props;
|
|
30
28
|
const emit = __emit;
|
|
31
29
|
const slots = useSlots();
|
|
32
|
-
const { target, grow, active, activeClass, disabled, vertical, align, value, indicatorPosition } = toRefs(props);
|
|
33
30
|
const css = useCssModule();
|
|
34
|
-
const isSelf = computed(() =>
|
|
31
|
+
const isSelf = computed(() => __props.target === "_self");
|
|
35
32
|
const tabClass = computed(() => [
|
|
36
33
|
css.tab,
|
|
37
|
-
css[`tab--${
|
|
38
|
-
css[`tab-indicator--${
|
|
34
|
+
css[`tab--${__props.align}`],
|
|
35
|
+
css[`tab-indicator--${__props.indicatorPosition}`],
|
|
39
36
|
{
|
|
40
|
-
[css["tab--grow"] ?? ""]:
|
|
41
|
-
[`${css["tab--active"]} active-tab ${
|
|
42
|
-
[css["tab--disabled"] ?? ""]:
|
|
43
|
-
[css["tab--vertical"] ?? ""]:
|
|
37
|
+
[css["tab--grow"] ?? ""]: __props.grow,
|
|
38
|
+
[`${css["tab--active"]} active-tab ${__props.activeClass}`]: __props.active,
|
|
39
|
+
[css["tab--disabled"] ?? ""]: __props.disabled,
|
|
40
|
+
[css["tab--vertical"] ?? ""]: __props.vertical
|
|
44
41
|
}
|
|
45
42
|
]);
|
|
46
43
|
function click() {
|
|
47
|
-
emit("click",
|
|
44
|
+
emit("click", __props.value);
|
|
48
45
|
}
|
|
49
46
|
return (_ctx, _cache) => {
|
|
50
|
-
|
|
51
|
-
return unref(disabled) ? (openBlock(), createBlock(RuiButton, mergeProps({
|
|
47
|
+
return __props.disabled ? (openBlock(), createBlock(RuiButton, mergeProps({
|
|
52
48
|
key: 0,
|
|
53
49
|
variant: "text",
|
|
54
50
|
disabled: "",
|
|
55
51
|
class: unref(tabClass),
|
|
56
52
|
"hide-focus-indicator": "",
|
|
57
53
|
tabindex: "-1",
|
|
58
|
-
role: "tab"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
role: "tab",
|
|
55
|
+
"aria-selected": __props.active
|
|
56
|
+
}, _ctx.$attrs), createSlots({
|
|
57
|
+
default: withCtx(() => [
|
|
58
|
+
renderSlot(_ctx.$slots, "default")
|
|
59
|
+
]),
|
|
60
|
+
_: 2
|
|
61
|
+
}, [
|
|
62
|
+
slots.prepend ? {
|
|
63
|
+
name: "prepend",
|
|
64
|
+
fn: withCtx(() => [
|
|
65
|
+
renderSlot(_ctx.$slots, "prepend")
|
|
66
|
+
]),
|
|
67
|
+
key: "0"
|
|
68
|
+
} : void 0,
|
|
69
|
+
slots.append ? {
|
|
70
|
+
name: "append",
|
|
71
|
+
fn: withCtx(() => [
|
|
72
|
+
renderSlot(_ctx.$slots, "append")
|
|
73
|
+
]),
|
|
74
|
+
key: "1"
|
|
75
|
+
} : void 0
|
|
76
|
+
]), 1040, ["class", "aria-selected"])) : !__props.link ? (openBlock(), createBlock(RuiButton, mergeProps({
|
|
69
77
|
key: 1,
|
|
70
78
|
class: unref(tabClass),
|
|
71
|
-
color:
|
|
72
|
-
role: "tab"
|
|
79
|
+
color: __props.active ? __props.color : void 0,
|
|
80
|
+
role: "tab",
|
|
81
|
+
"aria-selected": __props.active
|
|
73
82
|
}, _ctx.$attrs, {
|
|
74
83
|
tabindex: "-1",
|
|
75
84
|
"hide-focus-indicator": "",
|
|
76
85
|
variant: "text",
|
|
77
86
|
onClick: _cache[0] || (_cache[0] = ($event) => click())
|
|
78
|
-
}), createSlots({
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
}), createSlots({
|
|
88
|
+
default: withCtx(() => [
|
|
89
|
+
renderSlot(_ctx.$slots, "default")
|
|
90
|
+
]),
|
|
91
|
+
_: 2
|
|
92
|
+
}, [
|
|
93
|
+
slots.prepend ? {
|
|
94
|
+
name: "prepend",
|
|
95
|
+
fn: withCtx(() => [
|
|
96
|
+
renderSlot(_ctx.$slots, "prepend")
|
|
97
|
+
]),
|
|
98
|
+
key: "0"
|
|
99
|
+
} : void 0,
|
|
100
|
+
slots.append ? {
|
|
101
|
+
name: "append",
|
|
102
|
+
fn: withCtx(() => [
|
|
103
|
+
renderSlot(_ctx.$slots, "append")
|
|
104
|
+
]),
|
|
105
|
+
key: "1"
|
|
106
|
+
} : void 0
|
|
107
|
+
]), 1040, ["class", "color", "aria-selected"])) : (openBlock(), createBlock(unref(RouterLink), {
|
|
88
108
|
key: 2,
|
|
89
109
|
to: __props.to,
|
|
90
110
|
exact: __props.exact,
|
|
@@ -99,10 +119,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
99
119
|
[`${unref(css)["tab--active"]} active-tab-link`]: __props.exact ? isExactActive : isActive
|
|
100
120
|
}
|
|
101
121
|
],
|
|
102
|
-
color:
|
|
122
|
+
color: __props.active || (__props.exact ? isExactActive : isActive) ? __props.color : void 0,
|
|
103
123
|
href: unref(isSelf) ? void 0 : href,
|
|
104
|
-
target:
|
|
124
|
+
target: __props.target,
|
|
105
125
|
role: "tab",
|
|
126
|
+
"aria-selected": __props.active || (__props.exact ? isExactActive : isActive),
|
|
106
127
|
"no-outline": "",
|
|
107
128
|
tag: "a",
|
|
108
129
|
"hide-focus-indicator": "",
|
|
@@ -113,16 +134,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
113
134
|
click();
|
|
114
135
|
unref(isSelf) ? navigate($event) : void 0;
|
|
115
136
|
}
|
|
116
|
-
}), createSlots({
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
137
|
+
}), createSlots({
|
|
138
|
+
default: withCtx(() => [
|
|
139
|
+
renderSlot(_ctx.$slots, "default")
|
|
140
|
+
]),
|
|
141
|
+
_: 2
|
|
142
|
+
}, [
|
|
143
|
+
slots.prepend ? {
|
|
144
|
+
name: "prepend",
|
|
145
|
+
fn: withCtx(() => [
|
|
146
|
+
renderSlot(_ctx.$slots, "prepend")
|
|
147
|
+
]),
|
|
148
|
+
key: "0"
|
|
149
|
+
} : void 0,
|
|
150
|
+
slots.append ? {
|
|
151
|
+
name: "append",
|
|
152
|
+
fn: withCtx(() => [
|
|
153
|
+
renderSlot(_ctx.$slots, "append")
|
|
154
|
+
]),
|
|
155
|
+
key: "1"
|
|
156
|
+
} : void 0
|
|
157
|
+
]), 1040, ["class", "color", "href", "target", "aria-selected", "onClick"])
|
|
126
158
|
]),
|
|
127
159
|
_: 3
|
|
128
160
|
}, 8, ["to", "exact", "exact-path"]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiTab.vue2.js","sources":["../../../../src/components/tabs/tab/RuiTab.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {
|
|
1
|
+
{"version":3,"file":"RuiTab.vue2.js","sources":["../../../../src/components/tabs/tab/RuiTab.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport { type RouteLocationRaw, RouterLink } from 'vue-router';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\n\nexport interface Props {\n color?: ContextColorsType;\n disabled?: boolean;\n grow?: boolean;\n value?: number | string;\n active?: boolean;\n activeClass?: string;\n link?: boolean;\n target?: string;\n to?: RouteLocationRaw;\n exact?: boolean;\n exactPath?: boolean;\n vertical?: boolean;\n align?: 'start' | 'center' | 'end';\n indicatorPosition?: 'start' | 'end';\n}\n\ndefineOptions({\n name: 'RuiTab',\n inheritAttrs: false,\n});\n\nconst {\n color,\n disabled = false,\n grow = false,\n value = useId(),\n active = false,\n activeClass = '',\n link = false,\n to = '',\n target = '_self',\n exact = false,\n exactPath = false,\n vertical = false,\n align = 'center',\n indicatorPosition = 'end',\n} = defineProps<Props>();\n\nconst emit = defineEmits<{\n click: [value: string | number];\n}>();\n\nconst slots = defineSlots<{\n default?: (props?: object) => any;\n prepend?: (props?: object) => any;\n append?: (props?: object) => any;\n}>();\n\nconst css = useCssModule();\n\nconst isSelf = computed<boolean>(() => target === '_self');\n\nconst tabClass = computed<(string | undefined | Record<string, string | boolean>)[]>(() => [\n css.tab,\n css[`tab--${align}`],\n css[`tab-indicator--${indicatorPosition}`],\n {\n [css['tab--grow'] ?? '']: grow,\n [`${css['tab--active']} active-tab ${activeClass}`]: active,\n [css['tab--disabled'] ?? '']: disabled,\n [css['tab--vertical'] ?? '']: vertical,\n },\n]);\n\nfunction click(): void {\n emit('click', value);\n}\n</script>\n\n<template>\n <RuiButton\n v-if=\"disabled\"\n variant=\"text\"\n disabled\n :class=\"tabClass\"\n hide-focus-indicator\n tabindex=\"-1\"\n role=\"tab\"\n :aria-selected=\"active\"\n v-bind=\"$attrs\"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n <RuiButton\n v-else-if=\"!link\"\n :class=\"tabClass\"\n :color=\"active ? color : undefined\"\n role=\"tab\"\n :aria-selected=\"active\"\n v-bind=\"$attrs\"\n tabindex=\"-1\"\n hide-focus-indicator\n variant=\"text\"\n @click=\"click()\"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n <RouterLink\n v-else\n #default=\"{ href, navigate, isActive, isExactActive }\"\n :to=\"to\"\n :exact=\"exact\"\n :exact-path=\"exactPath\"\n custom\n >\n <RuiButton\n :class=\"[\n ...tabClass,\n {\n [`${css['tab--active']} active-tab-link`]: exact ? isExactActive : isActive,\n },\n ]\"\n :color=\"active || (exact ? isExactActive : isActive) ? color : undefined\"\n :href=\"isSelf ? undefined : href\"\n :target=\"target\"\n role=\"tab\"\n :aria-selected=\"active || (exact ? isExactActive : isActive)\"\n no-outline\n tag=\"a\"\n hide-focus-indicator\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n variant=\"text\"\n @click=\"\n click();\n isSelf ? navigate($event) : undefined;\n \"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n </RouterLink>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply h-full min-w-[90px] max-w-[360px] flex items-center rounded-none cursor-pointer relative whitespace-nowrap shrink-0;\n @apply px-4 #{!important};\n\n &--vertical {\n @apply h-[2.625rem] w-full max-w-none;\n }\n\n &--grow {\n @apply grow max-w-none;\n }\n\n &--active {\n &:after {\n content: '';\n @apply absolute h-0 w-full bottom-0 left-0 border-b-2 border-current;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply top-0 bottom-auto;\n }\n }\n\n &.tab--vertical {\n &:after {\n @apply h-full w-0 right-0 left-auto border-b-0 border-r-2;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply left-0 right-auto;\n }\n }\n }\n }\n\n &--disabled {\n @apply cursor-not-allowed;\n }\n\n &--start {\n @apply justify-start text-left rtl:justify-end rtl:text-right;\n }\n\n &--center {\n @apply justify-center text-center;\n }\n\n &--end {\n @apply justify-end text-right rtl:justify-start rtl:text-left;\n }\n}\n</style>\n"],"names":["_useSlots","_openBlock","_createBlock","_mergeProps","_unref","$attrs","_createSlots","_renderSlot","_withCtx","_createVNode"],"mappings":"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"}
|
|
@@ -4,18 +4,10 @@ export interface Props {
|
|
|
4
4
|
eager?: boolean;
|
|
5
5
|
reverse?: boolean;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
default?: (props: typeof __VLS_7) => any;
|
|
10
|
-
} & {
|
|
11
|
-
default?: (props: typeof __VLS_9) => any;
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?: () => any;
|
|
12
9
|
};
|
|
13
|
-
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
|
-
value: number | string;
|
|
15
|
-
reverse: boolean;
|
|
16
|
-
active: boolean;
|
|
17
|
-
eager: boolean;
|
|
18
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
11
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
12
|
declare const _default: typeof __VLS_export;
|
|
21
13
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, normalizeClass, createVNode, Transition, withCtx, renderSlot, createCommentVNode } from "vue";
|
|
2
2
|
const _hoisted_1 = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "w-full"
|
|
@@ -14,13 +14,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14
14
|
__name: "RuiTabItem",
|
|
15
15
|
props: {
|
|
16
16
|
active: { type: Boolean, default: false },
|
|
17
|
-
value: {
|
|
17
|
+
value: {},
|
|
18
18
|
eager: { type: Boolean, default: false },
|
|
19
19
|
reverse: { type: Boolean, default: false }
|
|
20
20
|
},
|
|
21
21
|
setup(__props) {
|
|
22
22
|
return (_ctx, _cache) => {
|
|
23
23
|
return openBlock(), createElementBlock("div", {
|
|
24
|
+
role: "tabpanel",
|
|
24
25
|
class: normalizeClass([_ctx.$style.tab, { "active-tab-item": __props.active }])
|
|
25
26
|
}, [
|
|
26
27
|
createVNode(Transition, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiTabItem.vue2.js","sources":["../../../../src/components/tabs/tab-item/RuiTabItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n active?: boolean;\n value?: number | string;\n eager?: boolean;\n reverse?: boolean;\n}\n\ndefineOptions({\n name: 'RuiTabItem',\n});\n\
|
|
1
|
+
{"version":3,"file":"RuiTabItem.vue2.js","sources":["../../../../src/components/tabs/tab-item/RuiTabItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n active?: boolean;\n value?: number | string;\n eager?: boolean;\n reverse?: boolean;\n}\n\ndefineOptions({\n name: 'RuiTabItem',\n});\n\nconst { active = false, eager = false, reverse = false } = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n</script>\n\n<template>\n <div\n role=\"tabpanel\"\n :class=\"[$style.tab, { 'active-tab-item': active }]\"\n >\n <Transition\n :enter-from-class=\"`opacity-0 ${reverse ? '-translate-x-8' : 'translate-x-8'}`\"\n :leave-to-class=\"`opacity-0 !h-0 overflow-hidden ${\n reverse ? 'translate-x-8' : '-translate-x-8'\n }`\"\n enter-active-class=\"w-full transform duration-300 transition\"\n enter-to-class=\"opacity-100 translate-x-0\"\n leave-active-class=\"w-full transform duration-300 transition !h-0 overflow-hidden\"\n leave-from-class=\"opacity-100 translate-x-0 !h-0 overflow-hidden\"\n >\n <div\n v-if=\"active\"\n class=\"w-full\"\n >\n <slot />\n </div>\n </Transition>\n <div\n v-if=\"eager && !active\"\n class=\"hidden\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply w-full;\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_createVNode","_Transition","_openBlock","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;0BAoBEA,mBA2BM,OAAA;AAAA,QA1BJ,MAAK;AAAA,QACJ,OAAKC,eAAA,CAAGC,KAAAA,OAAO,0BAA0B,QAAA,QAAM,CAAA;AAAA,MAAA;QAEhDC,YAgBaC,YAAA;AAAA,UAfV,iCAA+B,QAAA,UAAO,mBAAA,eAAA;AAAA,UACtC,kBAAc,kCAA6C,QAAA,UAAO,kBAAA;UAGnE,sBAAmB;AAAA,UACnB,kBAAe;AAAA,UACf,sBAAmB;AAAA,UACnB,oBAAiB;AAAA,QAAA;2BAEjB,MAKM;AAAA,YAJE,QAAA,UADRC,UAAA,GAAAL,mBAKM,OALN,YAKM;AAAA,cADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;;;QAIJ,QAAA,UAAU,QAAA,UADlBD,aAAAL,mBAKM,OALN,YAKM;AAAA,UADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,QAAA;;;;;"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export interface Props<T> {
|
|
2
|
-
modelValue?: T;
|
|
3
|
-
}
|
|
4
1
|
declare const __VLS_export: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
2
|
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
6
|
-
modelValue?:
|
|
3
|
+
modelValue?: T;
|
|
7
4
|
} & {
|
|
8
5
|
"onUpdate:modelValue"?: ((value: T | undefined) => any) | undefined;
|
|
9
6
|
}> & (typeof globalThis extends {
|
|
@@ -12,7 +9,7 @@ declare const __VLS_export: <T extends string | number>(__VLS_props: NonNullable
|
|
|
12
9
|
expose: (exposed: {}) => void;
|
|
13
10
|
attrs: any;
|
|
14
11
|
slots: {};
|
|
15
|
-
emit: (
|
|
12
|
+
emit: (event: "update:modelValue", value: T | undefined) => void;
|
|
16
13
|
}>) => import("vue").VNode & {
|
|
17
14
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
18
15
|
};
|