@xleddyl/443-components-vue 0.1.0 → 0.2.2
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/README.md +81 -20
- package/dist/chart/BarChart.vue.d.ts +6 -6
- package/dist/chart/ChartLegend.vue.d.ts +16 -16
- package/dist/chart/ChartPanel.vue +10 -6
- package/dist/chart/ChartPanel.vue.d.ts +6 -8
- package/dist/chart/ChartSummary.vue.d.ts +6 -6
- package/dist/chart/DoughnutChart.vue.d.ts +6 -6
- package/dist/chart/LineChart.vue.d.ts +6 -6
- package/dist/components/core/Button.vue +3 -1
- package/dist/components/core/Button.vue.d.ts +6 -6
- package/dist/components/core/FormField.vue.d.ts +6 -6
- package/dist/components/core/Icon.vue +9 -1
- package/dist/components/core/Icon.vue.d.ts +4 -4
- package/dist/components/core/Input.vue +6 -3
- package/dist/components/core/Input.vue.d.ts +18 -19
- package/dist/components/core/Kbd.vue.d.ts +6 -6
- package/dist/components/core/Root.vue.d.ts +10 -10
- package/dist/components/core/Spinner.vue +7 -3
- package/dist/components/core/Spinner.vue.d.ts +6 -7
- package/dist/components/core/Textarea.vue +36 -23
- package/dist/components/core/Textarea.vue.d.ts +31 -21
- package/dist/components/core/VisuallyHidden.vue.d.ts +10 -10
- package/dist/components/data/Avatar.vue +4 -2
- package/dist/components/data/Avatar.vue.d.ts +6 -6
- package/dist/components/data/AvatarGroup.vue +5 -2
- package/dist/components/data/AvatarGroup.vue.d.ts +7 -8
- package/dist/components/data/Badge.vue.d.ts +6 -6
- package/dist/components/data/DescriptionList.vue +7 -3
- package/dist/components/data/DescriptionList.vue.d.ts +7 -8
- package/dist/components/data/FilterPills.vue +13 -4
- package/dist/components/data/FilterPills.vue.d.ts +16 -18
- package/dist/components/data/Pagination.vue +23 -14
- package/dist/components/data/Pagination.vue.d.ts +16 -23
- package/dist/components/data/Stat.vue +9 -6
- package/dist/components/data/Stat.vue.d.ts +10 -13
- package/dist/components/data/Table.vue +12 -7
- package/dist/components/data/Tag.vue +7 -4
- package/dist/components/data/Tag.vue.d.ts +16 -17
- package/dist/components/data/Timeline.vue.d.ts +6 -6
- package/dist/components/data/Tree.vue +5 -2
- package/dist/components/data/Tree.vue.d.ts +16 -17
- package/dist/components/feedback/Alert.vue +5 -2
- package/dist/components/feedback/Alert.vue.d.ts +14 -15
- package/dist/components/feedback/EmptyState.vue.d.ts +7 -7
- package/dist/components/feedback/LoadingOverlay.vue +8 -4
- package/dist/components/feedback/LoadingOverlay.vue.d.ts +6 -7
- package/dist/components/feedback/Meter.vue.d.ts +6 -6
- package/dist/components/feedback/Progress.vue +6 -3
- package/dist/components/feedback/Progress.vue.d.ts +6 -7
- package/dist/components/feedback/ProgressRing.vue +5 -2
- package/dist/components/feedback/ProgressRing.vue.d.ts +6 -7
- package/dist/components/feedback/Skeleton.vue.d.ts +6 -6
- package/dist/components/forms/Calendar.vue +16 -11
- package/dist/components/forms/Calendar.vue.d.ts +17 -21
- package/dist/components/forms/ColorInput.vue +8 -4
- package/dist/components/forms/ColorInput.vue.d.ts +18 -20
- package/dist/components/forms/Combobox.vue +31 -19
- package/dist/components/forms/Combobox.vue.d.ts +2 -2
- package/dist/components/forms/DateInput.vue.d.ts +16 -16
- package/dist/components/forms/DatePicker.vue +17 -11
- package/dist/components/forms/DatePicker.vue.d.ts +14 -18
- package/dist/components/forms/FileInput.vue +23 -13
- package/dist/components/forms/FileInput.vue.d.ts +17 -23
- package/dist/components/forms/InputAddon.vue.d.ts +6 -6
- package/dist/components/forms/InputGroup.vue.d.ts +6 -6
- package/dist/components/forms/NumberInput.vue +15 -10
- package/dist/components/forms/NumberInput.vue.d.ts +16 -19
- package/dist/components/forms/PasswordInput.vue +21 -13
- package/dist/components/forms/PasswordInput.vue.d.ts +14 -20
- package/dist/components/forms/PinInput.vue +7 -2
- package/dist/components/forms/PinInput.vue.d.ts +18 -16
- package/dist/components/forms/Radio.vue.d.ts +6 -6
- package/dist/components/forms/Slider.vue.d.ts +18 -18
- package/dist/components/forms/Switch.vue.d.ts +16 -16
- package/dist/components/forms/TimeInput.vue.d.ts +16 -16
- package/dist/components/layout/Accordion.vue.d.ts +16 -16
- package/dist/components/layout/AppShell.vue +11 -6
- package/dist/components/layout/AppShell.vue.d.ts +16 -19
- package/dist/components/layout/Breadcrumbs.vue +5 -2
- package/dist/components/layout/Breadcrumbs.vue.d.ts +6 -7
- package/dist/components/layout/Card.vue.d.ts +8 -8
- package/dist/components/layout/CopyButton.vue +11 -6
- package/dist/components/layout/CopyButton.vue.d.ts +16 -18
- package/dist/components/layout/Grid.vue.d.ts +7 -7
- package/dist/components/layout/NavLink.vue.d.ts +10 -10
- package/dist/components/layout/PageHeader.vue.d.ts +6 -6
- package/dist/components/layout/Separator.vue.d.ts +6 -6
- package/dist/components/layout/Sidebar.vue +10 -5
- package/dist/components/layout/Sidebar.vue.d.ts +7 -11
- package/dist/components/layout/SidebarSection.vue.d.ts +6 -6
- package/dist/components/layout/Stack.vue.d.ts +10 -10
- package/dist/components/layout/Tabs.vue.d.ts +16 -16
- package/dist/components/layout/ThemeSwitch.vue +12 -6
- package/dist/components/layout/ThemeSwitch.vue.d.ts +6 -7
- package/dist/components/layout/Toolbar.vue.d.ts +6 -6
- package/dist/components/overlays/CommandPalette.vue +38 -24
- package/dist/components/overlays/CommandPalette.vue.d.ts +18 -30
- package/dist/components/overlays/ConfirmDialog.vue +14 -9
- package/dist/components/overlays/ConfirmDialog.vue.d.ts +12 -15
- package/dist/components/overlays/ConfirmHost.vue +6 -3
- package/dist/components/overlays/ConfirmHost.vue.d.ts +16 -16
- package/dist/components/overlays/ContextMenu.vue +6 -3
- package/dist/components/overlays/ContextMenu.vue.d.ts +11 -13
- package/dist/components/overlays/Drawer.vue +1 -1
- package/dist/components/overlays/Drawer.vue.d.ts +10 -11
- package/dist/components/overlays/DropdownMenu.vue.d.ts +10 -10
- package/dist/components/overlays/HoverCard.vue.d.ts +16 -16
- package/dist/components/overlays/Modal.vue +1 -1
- package/dist/components/overlays/Modal.vue.d.ts +10 -11
- package/dist/components/overlays/OverlayHost.vue.d.ts +1 -1
- package/dist/components/overlays/Popover.vue.d.ts +16 -16
- package/dist/components/overlays/Toaster.vue +8 -4
- package/dist/components/overlays/Toaster.vue.d.ts +8 -10
- package/dist/components/overlays/Tooltip.vue.d.ts +6 -6
- package/dist/components/templates/AccountMenu.vue +5 -2
- package/dist/components/templates/AccountMenu.vue.d.ts +18 -19
- package/dist/components/templates/AppearanceSettings.vue +26 -12
- package/dist/components/templates/AppearanceSettings.vue.d.ts +7 -11
- package/dist/components/templates/AuthLayout.vue +11 -7
- package/dist/components/templates/AuthLayout.vue.d.ts +6 -9
- package/dist/components/templates/Brand.vue.d.ts +10 -10
- package/dist/components/templates/DashboardLayout.vue +25 -16
- package/dist/components/templates/DashboardLayout.vue.d.ts +12 -24
- package/dist/components/templates/DashboardPage.vue +7 -3
- package/dist/components/templates/DashboardPage.vue.d.ts +6 -7
- package/dist/components/templates/DetailPage.vue +14 -8
- package/dist/components/templates/DetailPage.vue.d.ts +14 -18
- package/dist/components/templates/EmptyPage.vue +15 -8
- package/dist/components/templates/EmptyPage.vue.d.ts +7 -11
- package/dist/components/templates/ErrorPage.vue +32 -25
- package/dist/components/templates/ErrorPage.vue.d.ts +6 -6
- package/dist/components/templates/FormPage.vue +19 -11
- package/dist/components/templates/FormPage.vue.d.ts +3 -3
- package/dist/components/templates/ListPage.vue +39 -23
- package/dist/components/templates/ListPage.vue.d.ts +2 -2
- package/dist/components/templates/NotFoundPage.vue +4 -4
- package/dist/components/templates/NotFoundPage.vue.d.ts +1 -1
- package/dist/components/templates/SaveBar.vue +20 -11
- package/dist/components/templates/SaveBar.vue.d.ts +16 -19
- package/dist/components/templates/SettingsGroup.vue.d.ts +7 -7
- package/dist/components/templates/SettingsModal.vue +29 -21
- package/dist/components/templates/SettingsModal.vue.d.ts +15 -25
- package/dist/components/templates/SettingsPage.vue +8 -5
- package/dist/components/templates/SettingsPage.vue.d.ts +18 -21
- package/dist/components/templates/SettingsSection.vue +7 -3
- package/dist/components/templates/SettingsSection.vue.d.ts +8 -9
- package/dist/composables/core.d.ts +1 -0
- package/dist/composables/core.mjs +1 -0
- package/dist/composables/useAlert.mjs +3 -1
- package/dist/composables/useConfirm.mjs +5 -3
- package/dist/composables/useDirtyGuard.mjs +7 -5
- package/dist/composables/useForm.d.ts +4 -1
- package/dist/composables/useForm.mjs +33 -16
- package/dist/composables/useIcons.d.ts +4 -0
- package/dist/composables/useIcons.mjs +10 -0
- package/dist/composables/useLocale.d.ts +11 -0
- package/dist/composables/useLocale.mjs +26 -0
- package/dist/composables/usePasswordStrength.mjs +11 -7
- package/dist/composables/usePrompt.mjs +3 -1
- package/dist/editor/RichTextEditor.vue +20 -14
- package/dist/editor/RichTextEditor.vue.d.ts +22 -15
- package/dist/editor/index.d.ts +0 -1
- package/dist/editor/index.mjs +0 -1
- package/dist/editor/types.d.ts +3 -18
- package/dist/grid/DataGrid.vue +11 -2
- package/dist/grid/GridToolbar.vue +6 -2
- package/dist/grid/GridToolbar.vue.d.ts +21 -20
- package/dist/grid/cells/BadgeCell.vue.d.ts +6 -6
- package/dist/grid/cells/BooleanCell.vue +5 -2
- package/dist/grid/cells/BooleanCell.vue.d.ts +6 -6
- package/dist/grid/cells/DateCell.vue +4 -1
- package/dist/grid/cells/DateCell.vue.d.ts +6 -6
- package/dist/grid/cells/ImageCell.vue.d.ts +6 -6
- package/dist/grid/cells/LinkCell.vue.d.ts +6 -6
- package/dist/grid/index.d.ts +0 -1
- package/dist/grid/index.mjs +0 -1
- package/dist/grid/types.d.ts +5 -17
- package/dist/icons/collections.d.ts +39 -0
- package/dist/icons/collections.mjs +67 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.mjs +11 -1
- package/dist/internal/feedback/LoadingHost.vue +6 -3
- package/dist/internal/feedback/LoadingHost.vue.d.ts +0 -1
- package/dist/internal/forms/files.mjs +1 -1
- package/dist/internal/forms/standard-schema.d.ts +26 -0
- package/dist/internal/forms/standard-schema.mjs +21 -0
- package/dist/internal/keys.d.ts +4 -1
- package/dist/internal/keys.mjs +2 -0
- package/dist/internal/overlays/DialogFrame.vue +5 -2
- package/dist/internal/overlays/DialogFrame.vue.d.ts +14 -14
- package/dist/internal/overlays/MenuList.vue.d.ts +16 -16
- package/dist/internal/overlays/OverlayView.vue.d.ts +16 -16
- package/dist/internal/overlays/confirm.d.ts +3 -0
- package/dist/locale/en.d.ts +2 -0
- package/dist/locale/en.mjs +284 -0
- package/dist/locale/index.d.ts +16 -0
- package/dist/locale/index.mjs +50 -0
- package/dist/locale/it.d.ts +2 -0
- package/dist/locale/it.mjs +284 -0
- package/dist/locale/types.d.ts +292 -0
- package/dist/locale/types.mjs +0 -0
- package/dist/nuxt/module.d.ts +18 -4
- package/dist/nuxt/module.mjs +138 -9
- package/dist/nuxt/runtime/layouts/auth.vue.d.ts +16 -16
- package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +16 -16
- package/dist/nuxt/runtime/locale.d.ts +2 -0
- package/dist/nuxt/runtime/locale.mjs +20 -0
- package/dist/nuxt/runtime/theme.mjs +3 -3
- package/dist/styles/core/icon.css +4 -0
- package/dist/styles/core/textarea.css +21 -0
- package/package.json +1 -1
- package/dist/editor/messages.d.ts +0 -2
- package/dist/editor/messages.mjs +0 -18
- package/dist/grid/messages.d.ts +0 -3
- package/dist/grid/messages.mjs +0 -21
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<slot :name="`value-${item.key ?? item.label}`" :item="item">
|
|
19
19
|
<slot name="value" :item="item">
|
|
20
20
|
<span v-if="isEmpty(item.value)" class="k-description-empty">{{
|
|
21
|
-
|
|
21
|
+
emptyLabel
|
|
22
22
|
}}</span>
|
|
23
23
|
<template v-else>{{ item.value }}</template>
|
|
24
24
|
</slot>
|
|
@@ -31,14 +31,18 @@
|
|
|
31
31
|
</template>
|
|
32
32
|
|
|
33
33
|
<script setup>
|
|
34
|
+
import { computed } from "vue";
|
|
35
|
+
import { useLocale } from "../../composables/useLocale";
|
|
34
36
|
import { rowDelay } from "../../internal/data/stagger";
|
|
35
|
-
defineProps({
|
|
37
|
+
const props = defineProps({
|
|
36
38
|
items: { type: Array, required: false, default: () => [] },
|
|
37
39
|
layout: { type: String, required: false, default: "inline" },
|
|
38
40
|
columns: { type: Number, required: false, default: 2 },
|
|
39
41
|
divided: { type: Boolean, required: false, default: true },
|
|
40
|
-
emptyText: { type: String, required: false
|
|
42
|
+
emptyText: { type: String, required: false }
|
|
41
43
|
});
|
|
44
|
+
const { t } = useLocale();
|
|
45
|
+
const emptyLabel = computed(() => props.emptyText ?? t("descriptionList.empty"));
|
|
42
46
|
defineSlots();
|
|
43
47
|
function isEmpty(value) {
|
|
44
48
|
return value === null || value === void 0 || value === "";
|
|
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
27
27
|
dir?: string | undefined | undefined;
|
|
28
28
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
29
29
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
30
|
-
enterKeyHint?: "search" | "done" | "
|
|
30
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
31
31
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
32
32
|
id?: string | undefined | undefined;
|
|
33
33
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -73,7 +73,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
73
73
|
'aria-colindex'?: (string | number) | undefined;
|
|
74
74
|
'aria-colspan'?: (string | number) | undefined;
|
|
75
75
|
'aria-controls'?: string | undefined | undefined;
|
|
76
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
76
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
77
77
|
'aria-describedby'?: string | undefined | undefined;
|
|
78
78
|
'aria-details'?: string | undefined | undefined;
|
|
79
79
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -82,7 +82,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
82
82
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
83
83
|
'aria-flowto'?: string | undefined | undefined;
|
|
84
84
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
85
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
85
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
86
86
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
87
87
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
88
88
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -225,7 +225,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
225
225
|
dir?: string | undefined | undefined;
|
|
226
226
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
227
227
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
228
|
-
enterKeyHint?: "search" | "done" | "
|
|
228
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
229
229
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
230
230
|
id?: string | undefined | undefined;
|
|
231
231
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -271,7 +271,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
271
271
|
'aria-colindex'?: (string | number) | undefined;
|
|
272
272
|
'aria-colspan'?: (string | number) | undefined;
|
|
273
273
|
'aria-controls'?: string | undefined | undefined;
|
|
274
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
274
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
275
275
|
'aria-describedby'?: string | undefined | undefined;
|
|
276
276
|
'aria-details'?: string | undefined | undefined;
|
|
277
277
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -280,7 +280,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
280
280
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
281
281
|
'aria-flowto'?: string | undefined | undefined;
|
|
282
282
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
283
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
283
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
284
284
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
285
285
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
286
286
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -409,11 +409,10 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
409
409
|
ref_for?: boolean | undefined | undefined;
|
|
410
410
|
ref_key?: string | undefined | undefined;
|
|
411
411
|
}> & Readonly<{}>, {
|
|
412
|
+
columns: number;
|
|
412
413
|
items: DescriptionItem[];
|
|
413
414
|
layout: DescriptionLayout;
|
|
414
|
-
columns: number;
|
|
415
415
|
divided: boolean;
|
|
416
|
-
emptyText: string;
|
|
417
416
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
418
417
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
419
418
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
class="k-filter-pills"
|
|
4
|
+
:class="`k-filter-pills-${size}`"
|
|
5
|
+
role="group"
|
|
6
|
+
:aria-label="groupLabel"
|
|
7
|
+
>
|
|
3
8
|
<button
|
|
4
9
|
v-for="option in options"
|
|
5
10
|
:key="option.value"
|
|
@@ -22,7 +27,7 @@
|
|
|
22
27
|
variant="link"
|
|
23
28
|
tone="neutral"
|
|
24
29
|
size="xs"
|
|
25
|
-
:label="
|
|
30
|
+
:label="clearText"
|
|
26
31
|
@click="clear"
|
|
27
32
|
/>
|
|
28
33
|
</div>
|
|
@@ -30,17 +35,21 @@
|
|
|
30
35
|
|
|
31
36
|
<script setup>
|
|
32
37
|
import { computed } from "vue";
|
|
38
|
+
import { useLocale } from "../../composables/useLocale";
|
|
33
39
|
import Button from "../core/Button.vue";
|
|
34
40
|
import Icon from "../core/Icon.vue";
|
|
35
41
|
const props = defineProps({
|
|
36
42
|
options: { type: Array, required: true },
|
|
37
43
|
multiple: { type: Boolean, required: false },
|
|
38
|
-
label: { type: String, required: false
|
|
44
|
+
label: { type: String, required: false },
|
|
39
45
|
size: { type: String, required: false, default: "md" },
|
|
40
46
|
clearable: { type: Boolean, required: false },
|
|
41
|
-
clearLabel: { type: String, required: false
|
|
47
|
+
clearLabel: { type: String, required: false },
|
|
42
48
|
disabled: { type: Boolean, required: false }
|
|
43
49
|
});
|
|
50
|
+
const { t } = useLocale();
|
|
51
|
+
const groupLabel = computed(() => props.label ?? t("filterPills.label"));
|
|
52
|
+
const clearText = computed(() => props.clearLabel ?? t("common.clear"));
|
|
44
53
|
const model = defineModel({ type: [String, Number, Array, null], ...{ default: null } });
|
|
45
54
|
const activeValues = computed(() => {
|
|
46
55
|
if (Array.isArray(model.value)) return model.value;
|
|
@@ -10,14 +10,16 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
10
10
|
disabled?: boolean;
|
|
11
11
|
modelValue?: Value | Value[] | null;
|
|
12
12
|
key?: PropertyKey | undefined;
|
|
13
|
-
|
|
13
|
+
prefix?: string | undefined | undefined;
|
|
14
|
+
title?: string | undefined | undefined;
|
|
15
|
+
style?: import("vue").StyleValue;
|
|
16
|
+
results?: (string | number) | undefined;
|
|
14
17
|
placeholder?: string | undefined | undefined;
|
|
18
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
15
19
|
class?: import("vue").ClassValue;
|
|
16
20
|
role?: string | undefined | undefined;
|
|
17
21
|
'aria-label'?: string | undefined | undefined;
|
|
18
22
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
19
|
-
style?: import("vue").StyleValue;
|
|
20
|
-
title?: string | undefined | undefined;
|
|
21
23
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
22
24
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
23
25
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -126,7 +128,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
126
128
|
'aria-colindex'?: (string | number) | undefined;
|
|
127
129
|
'aria-colspan'?: (string | number) | undefined;
|
|
128
130
|
'aria-controls'?: string | undefined | undefined;
|
|
129
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
131
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
130
132
|
'aria-describedby'?: string | undefined | undefined;
|
|
131
133
|
'aria-details'?: string | undefined | undefined;
|
|
132
134
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -135,7 +137,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
135
137
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
136
138
|
'aria-flowto'?: string | undefined | undefined;
|
|
137
139
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
138
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
140
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
139
141
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
140
142
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
141
143
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -171,7 +173,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
171
173
|
dir?: string | undefined | undefined;
|
|
172
174
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
173
175
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
174
|
-
enterKeyHint?: "search" | "done" | "
|
|
176
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
175
177
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
176
178
|
inert?: (boolean | "true" | "false") | undefined;
|
|
177
179
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -180,7 +182,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
180
182
|
about?: string | undefined | undefined;
|
|
181
183
|
datatype?: string | undefined | undefined;
|
|
182
184
|
inlist?: any;
|
|
183
|
-
prefix?: string | undefined | undefined;
|
|
184
185
|
property?: string | undefined | undefined;
|
|
185
186
|
resource?: string | undefined | undefined;
|
|
186
187
|
typeof?: string | undefined | undefined;
|
|
@@ -193,7 +194,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
193
194
|
itemtype?: string | undefined | undefined;
|
|
194
195
|
itemid?: string | undefined | undefined;
|
|
195
196
|
itemref?: string | undefined | undefined;
|
|
196
|
-
results?: (string | number) | undefined;
|
|
197
197
|
security?: string | undefined | undefined;
|
|
198
198
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
199
199
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -213,14 +213,16 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
213
213
|
disabled?: boolean;
|
|
214
214
|
modelValue?: Value | Value[] | null;
|
|
215
215
|
key?: PropertyKey | undefined;
|
|
216
|
-
|
|
216
|
+
prefix?: string | undefined | undefined;
|
|
217
|
+
title?: string | undefined | undefined;
|
|
218
|
+
style?: import("vue").StyleValue;
|
|
219
|
+
results?: (string | number) | undefined;
|
|
217
220
|
placeholder?: string | undefined | undefined;
|
|
221
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
218
222
|
class?: import("vue").ClassValue;
|
|
219
223
|
role?: string | undefined | undefined;
|
|
220
224
|
'aria-label'?: string | undefined | undefined;
|
|
221
225
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
222
|
-
style?: import("vue").StyleValue;
|
|
223
|
-
title?: string | undefined | undefined;
|
|
224
226
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
225
227
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
226
228
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -329,7 +331,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
329
331
|
'aria-colindex'?: (string | number) | undefined;
|
|
330
332
|
'aria-colspan'?: (string | number) | undefined;
|
|
331
333
|
'aria-controls'?: string | undefined | undefined;
|
|
332
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
334
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
333
335
|
'aria-describedby'?: string | undefined | undefined;
|
|
334
336
|
'aria-details'?: string | undefined | undefined;
|
|
335
337
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -338,7 +340,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
338
340
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
339
341
|
'aria-flowto'?: string | undefined | undefined;
|
|
340
342
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
341
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
343
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
342
344
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
343
345
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
344
346
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -374,7 +376,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
374
376
|
dir?: string | undefined | undefined;
|
|
375
377
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
376
378
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
377
|
-
enterKeyHint?: "search" | "done" | "
|
|
379
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
378
380
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
379
381
|
inert?: (boolean | "true" | "false") | undefined;
|
|
380
382
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -383,7 +385,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
383
385
|
about?: string | undefined | undefined;
|
|
384
386
|
datatype?: string | undefined | undefined;
|
|
385
387
|
inlist?: any;
|
|
386
|
-
prefix?: string | undefined | undefined;
|
|
387
388
|
property?: string | undefined | undefined;
|
|
388
389
|
resource?: string | undefined | undefined;
|
|
389
390
|
typeof?: string | undefined | undefined;
|
|
@@ -396,7 +397,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
396
397
|
itemtype?: string | undefined | undefined;
|
|
397
398
|
itemid?: string | undefined | undefined;
|
|
398
399
|
itemref?: string | undefined | undefined;
|
|
399
|
-
results?: (string | number) | undefined;
|
|
400
400
|
security?: string | undefined | undefined;
|
|
401
401
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
402
402
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -408,8 +408,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
408
408
|
"onUpdate:modelValue"?: ((value: string | number | (string | number)[] | null) => any) | undefined;
|
|
409
409
|
}>, {
|
|
410
410
|
size: "sm" | "md";
|
|
411
|
-
label: string;
|
|
412
|
-
clearLabel: string;
|
|
413
411
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
414
412
|
declare const _default: typeof __VLS_export;
|
|
415
413
|
export default _default;
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
<slot name="summary" :start="range.start" :end="range.end" :total="total">
|
|
5
5
|
<template v-if="total > 0">
|
|
6
6
|
<span class="k-pagination-strong">{{ range.start }}-{{ range.end }}</span>
|
|
7
|
-
{{
|
|
7
|
+
{{ ofLabel }}
|
|
8
8
|
<span class="k-pagination-strong">{{ total }}</span>
|
|
9
9
|
</template>
|
|
10
|
-
<template v-else>{{
|
|
10
|
+
<template v-else>{{ emptyLabel }}</template>
|
|
11
11
|
</slot>
|
|
12
12
|
</p>
|
|
13
13
|
<div v-if="pageSizes?.length" class="k-pagination-size">
|
|
14
|
-
<label :for="sizeId" class="k-pagination-size-label">{{
|
|
14
|
+
<label :for="sizeId" class="k-pagination-size-label">{{ pageSizeText }}</label>
|
|
15
15
|
<span class="k-pagination-select">
|
|
16
16
|
<select
|
|
17
17
|
:id="sizeId"
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
<Icon name="chevron-up-down" class="k-pagination-select-icon" />
|
|
28
28
|
</span>
|
|
29
29
|
</div>
|
|
30
|
-
<nav class="k-pagination-nav" :aria-label="
|
|
30
|
+
<nav class="k-pagination-nav" :aria-label="navLabel">
|
|
31
31
|
<Button
|
|
32
32
|
variant="ghost"
|
|
33
33
|
tone="neutral"
|
|
34
34
|
:size="buttonSize"
|
|
35
35
|
icon="chevron-left"
|
|
36
36
|
:disabled="disabled || page <= 1"
|
|
37
|
-
:aria-label="
|
|
37
|
+
:aria-label="previousText"
|
|
38
38
|
@click="go(page - 1)"
|
|
39
39
|
/>
|
|
40
40
|
<ul v-if="!compact" role="list" class="k-pagination-list">
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
type="button"
|
|
52
52
|
class="k-pagination-page"
|
|
53
53
|
:aria-current="item.value === page ? 'page' : void 0"
|
|
54
|
-
:aria-label="`${
|
|
54
|
+
:aria-label="`${pageText} ${item.value}`"
|
|
55
55
|
:disabled="disabled"
|
|
56
56
|
@click="go(item.value)"
|
|
57
57
|
>
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
:size="buttonSize"
|
|
67
67
|
icon="chevron-right"
|
|
68
68
|
:disabled="disabled || page >= pageCount"
|
|
69
|
-
:aria-label="
|
|
69
|
+
:aria-label="nextText"
|
|
70
70
|
@click="go(page + 1)"
|
|
71
71
|
/>
|
|
72
72
|
</nav>
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
<script setup>
|
|
77
77
|
import { computed, useId, watch } from "vue";
|
|
78
78
|
import { paginationItems } from "../../internal/data/pagination";
|
|
79
|
+
import { useLocale } from "../../composables/useLocale";
|
|
79
80
|
import Button from "../core/Button.vue";
|
|
80
81
|
import Icon from "../core/Icon.vue";
|
|
81
82
|
const props = defineProps({
|
|
@@ -86,14 +87,22 @@ const props = defineProps({
|
|
|
86
87
|
compact: { type: Boolean, required: false },
|
|
87
88
|
disabled: { type: Boolean, required: false },
|
|
88
89
|
showSummary: { type: Boolean, required: false, default: true },
|
|
89
|
-
label: { type: String, required: false
|
|
90
|
-
pageLabel: { type: String, required: false
|
|
91
|
-
previousLabel: { type: String, required: false
|
|
92
|
-
nextLabel: { type: String, required: false
|
|
93
|
-
pageSizeLabel: { type: String, required: false
|
|
94
|
-
ofText: { type: String, required: false
|
|
95
|
-
emptyText: { type: String, required: false
|
|
90
|
+
label: { type: String, required: false },
|
|
91
|
+
pageLabel: { type: String, required: false },
|
|
92
|
+
previousLabel: { type: String, required: false },
|
|
93
|
+
nextLabel: { type: String, required: false },
|
|
94
|
+
pageSizeLabel: { type: String, required: false },
|
|
95
|
+
ofText: { type: String, required: false },
|
|
96
|
+
emptyText: { type: String, required: false }
|
|
96
97
|
});
|
|
98
|
+
const { t } = useLocale();
|
|
99
|
+
const navLabel = computed(() => props.label ?? t("pagination.label"));
|
|
100
|
+
const pageText = computed(() => props.pageLabel ?? t("pagination.page"));
|
|
101
|
+
const previousText = computed(() => props.previousLabel ?? t("pagination.previous"));
|
|
102
|
+
const nextText = computed(() => props.nextLabel ?? t("pagination.next"));
|
|
103
|
+
const pageSizeText = computed(() => props.pageSizeLabel ?? t("pagination.pageSize"));
|
|
104
|
+
const ofLabel = computed(() => props.ofText ?? t("pagination.of"));
|
|
105
|
+
const emptyLabel = computed(() => props.emptyText ?? t("common.noResults"));
|
|
97
106
|
const page = defineModel("page", { type: Number, ...{ default: 1 } });
|
|
98
107
|
const pageSize = defineModel("pageSize", { type: Number, ...{ default: 20 } });
|
|
99
108
|
const sizeId = useId();
|
|
@@ -24,14 +24,16 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
24
24
|
page?: number;
|
|
25
25
|
pageSize?: number;
|
|
26
26
|
key?: PropertyKey | undefined;
|
|
27
|
-
|
|
27
|
+
prefix?: string | undefined | undefined;
|
|
28
|
+
title?: string | undefined | undefined;
|
|
29
|
+
style?: import("vue").StyleValue;
|
|
30
|
+
results?: (string | number) | undefined;
|
|
28
31
|
placeholder?: string | undefined | undefined;
|
|
32
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
29
33
|
class?: import("vue").ClassValue;
|
|
30
34
|
role?: string | undefined | undefined;
|
|
31
35
|
'aria-label'?: string | undefined | undefined;
|
|
32
36
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
33
|
-
style?: import("vue").StyleValue;
|
|
34
|
-
title?: string | undefined | undefined;
|
|
35
37
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
36
38
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
37
39
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -140,7 +142,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
140
142
|
'aria-colindex'?: (string | number) | undefined;
|
|
141
143
|
'aria-colspan'?: (string | number) | undefined;
|
|
142
144
|
'aria-controls'?: string | undefined | undefined;
|
|
143
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
145
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
144
146
|
'aria-describedby'?: string | undefined | undefined;
|
|
145
147
|
'aria-details'?: string | undefined | undefined;
|
|
146
148
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -149,7 +151,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
149
151
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
150
152
|
'aria-flowto'?: string | undefined | undefined;
|
|
151
153
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
152
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
154
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
153
155
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
154
156
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
155
157
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -185,7 +187,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
185
187
|
dir?: string | undefined | undefined;
|
|
186
188
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
187
189
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
188
|
-
enterKeyHint?: "search" | "done" | "
|
|
190
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
189
191
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
190
192
|
inert?: (boolean | "true" | "false") | undefined;
|
|
191
193
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -194,7 +196,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
194
196
|
about?: string | undefined | undefined;
|
|
195
197
|
datatype?: string | undefined | undefined;
|
|
196
198
|
inlist?: any;
|
|
197
|
-
prefix?: string | undefined | undefined;
|
|
198
199
|
property?: string | undefined | undefined;
|
|
199
200
|
resource?: string | undefined | undefined;
|
|
200
201
|
typeof?: string | undefined | undefined;
|
|
@@ -207,7 +208,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
207
208
|
itemtype?: string | undefined | undefined;
|
|
208
209
|
itemid?: string | undefined | undefined;
|
|
209
210
|
itemref?: string | undefined | undefined;
|
|
210
|
-
results?: (string | number) | undefined;
|
|
211
211
|
security?: string | undefined | undefined;
|
|
212
212
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
213
213
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -236,14 +236,16 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
236
236
|
page?: number;
|
|
237
237
|
pageSize?: number;
|
|
238
238
|
key?: PropertyKey | undefined;
|
|
239
|
-
|
|
239
|
+
prefix?: string | undefined | undefined;
|
|
240
|
+
title?: string | undefined | undefined;
|
|
241
|
+
style?: import("vue").StyleValue;
|
|
242
|
+
results?: (string | number) | undefined;
|
|
240
243
|
placeholder?: string | undefined | undefined;
|
|
244
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
241
245
|
class?: import("vue").ClassValue;
|
|
242
246
|
role?: string | undefined | undefined;
|
|
243
247
|
'aria-label'?: string | undefined | undefined;
|
|
244
248
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
245
|
-
style?: import("vue").StyleValue;
|
|
246
|
-
title?: string | undefined | undefined;
|
|
247
249
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
248
250
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
249
251
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -352,7 +354,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
352
354
|
'aria-colindex'?: (string | number) | undefined;
|
|
353
355
|
'aria-colspan'?: (string | number) | undefined;
|
|
354
356
|
'aria-controls'?: string | undefined | undefined;
|
|
355
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
357
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
356
358
|
'aria-describedby'?: string | undefined | undefined;
|
|
357
359
|
'aria-details'?: string | undefined | undefined;
|
|
358
360
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -361,7 +363,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
361
363
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
362
364
|
'aria-flowto'?: string | undefined | undefined;
|
|
363
365
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
364
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
366
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
365
367
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
366
368
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
367
369
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -397,7 +399,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
397
399
|
dir?: string | undefined | undefined;
|
|
398
400
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
399
401
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
400
|
-
enterKeyHint?: "search" | "done" | "
|
|
402
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
401
403
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
402
404
|
inert?: (boolean | "true" | "false") | undefined;
|
|
403
405
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -406,7 +408,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
406
408
|
about?: string | undefined | undefined;
|
|
407
409
|
datatype?: string | undefined | undefined;
|
|
408
410
|
inlist?: any;
|
|
409
|
-
prefix?: string | undefined | undefined;
|
|
410
411
|
property?: string | undefined | undefined;
|
|
411
412
|
resource?: string | undefined | undefined;
|
|
412
413
|
typeof?: string | undefined | undefined;
|
|
@@ -419,7 +420,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
419
420
|
itemtype?: string | undefined | undefined;
|
|
420
421
|
itemid?: string | undefined | undefined;
|
|
421
422
|
itemref?: string | undefined | undefined;
|
|
422
|
-
results?: (string | number) | undefined;
|
|
423
423
|
security?: string | undefined | undefined;
|
|
424
424
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
425
425
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -432,15 +432,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
432
432
|
"onUpdate:pageSize"?: ((value: number) => any) | undefined;
|
|
433
433
|
}>, {
|
|
434
434
|
size: "sm" | "md";
|
|
435
|
-
label: string;
|
|
436
|
-
emptyText: string;
|
|
437
435
|
siblings: number;
|
|
438
436
|
showSummary: boolean;
|
|
439
|
-
pageLabel: string;
|
|
440
|
-
previousLabel: string;
|
|
441
|
-
nextLabel: string;
|
|
442
|
-
pageSizeLabel: string;
|
|
443
|
-
ofText: string;
|
|
444
437
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
445
438
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
446
439
|
declare const _default: typeof __VLS_export;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<template v-if="loading">
|
|
19
19
|
<span class="k-stat-skeleton is-value" aria-hidden="true" />
|
|
20
20
|
<span class="k-stat-skeleton is-meta" aria-hidden="true" />
|
|
21
|
-
<span class="k-visually-hidden">{{
|
|
21
|
+
<span class="k-visually-hidden">{{ loadingLabel }}</span>
|
|
22
22
|
</template>
|
|
23
23
|
<template v-else>
|
|
24
24
|
<div class="k-stat-body">
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
import { useLinkResolver } from "../../internal/core/link";
|
|
52
52
|
import { Polymorphic } from "../../internal/core/Polymorphic";
|
|
53
53
|
import { computed } from "vue";
|
|
54
|
+
import { useLocale } from "../../composables/useLocale";
|
|
54
55
|
import Icon from "../core/Icon.vue";
|
|
55
56
|
defineOptions({ inheritAttrs: false });
|
|
56
57
|
const props = defineProps({
|
|
@@ -65,13 +66,15 @@ const props = defineProps({
|
|
|
65
66
|
hint: { type: String, required: false },
|
|
66
67
|
icon: { type: null, required: false },
|
|
67
68
|
loading: { type: Boolean, required: false },
|
|
68
|
-
loadingText: { type: String, required: false
|
|
69
|
+
loadingText: { type: String, required: false },
|
|
69
70
|
plain: { type: Boolean, required: false },
|
|
70
71
|
to: { type: [String, Object], required: false },
|
|
71
72
|
href: { type: String, required: false },
|
|
72
|
-
increaseLabel: { type: String, required: false
|
|
73
|
-
decreaseLabel: { type: String, required: false
|
|
73
|
+
increaseLabel: { type: String, required: false },
|
|
74
|
+
decreaseLabel: { type: String, required: false }
|
|
74
75
|
});
|
|
76
|
+
const { t } = useLocale();
|
|
77
|
+
const loadingLabel = computed(() => props.loadingText ?? t("common.loading"));
|
|
75
78
|
const { resolveLink } = useLinkResolver();
|
|
76
79
|
const link = computed(() => resolveLink(props));
|
|
77
80
|
const rootTag = computed(() => link.value?.is ?? "div");
|
|
@@ -101,8 +104,8 @@ const deltaText = computed(() => {
|
|
|
101
104
|
return `${sign}${absolute}${props.deltaSuffix}`;
|
|
102
105
|
});
|
|
103
106
|
const trendText = computed(() => {
|
|
104
|
-
if (trend.value === "up") return props.increaseLabel;
|
|
105
|
-
if (trend.value === "down") return props.decreaseLabel;
|
|
107
|
+
if (trend.value === "up") return props.increaseLabel ?? t("stat.increased");
|
|
108
|
+
if (trend.value === "down") return props.decreaseLabel ?? t("stat.decreased");
|
|
106
109
|
return "";
|
|
107
110
|
});
|
|
108
111
|
</script>
|
|
@@ -34,17 +34,19 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
34
34
|
inlist?: any;
|
|
35
35
|
download?: any;
|
|
36
36
|
key?: PropertyKey | undefined;
|
|
37
|
+
prefix?: string | undefined;
|
|
38
|
+
title?: string | undefined;
|
|
39
|
+
style?: import("vue").StyleValue;
|
|
40
|
+
results?: (string | number) | undefined;
|
|
41
|
+
placeholder?: string | undefined;
|
|
37
42
|
bind?: Record<string, unknown>;
|
|
38
43
|
type?: string | undefined;
|
|
39
44
|
ref?: import("vue").VNodeRef | undefined;
|
|
40
|
-
placeholder?: string | undefined;
|
|
41
45
|
target?: string | undefined;
|
|
42
46
|
class?: import("vue").ClassValue;
|
|
43
47
|
role?: string | undefined;
|
|
44
48
|
'aria-label'?: string | undefined;
|
|
45
49
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
46
|
-
style?: import("vue").StyleValue;
|
|
47
|
-
title?: string | undefined;
|
|
48
50
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
49
51
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
50
52
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -207,7 +209,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
207
209
|
radiogroup?: string | undefined;
|
|
208
210
|
about?: string | undefined;
|
|
209
211
|
datatype?: string | undefined;
|
|
210
|
-
prefix?: string | undefined;
|
|
211
212
|
property?: string | undefined;
|
|
212
213
|
resource?: string | undefined;
|
|
213
214
|
typeof?: string | undefined;
|
|
@@ -220,7 +221,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
220
221
|
itemtype?: string | undefined;
|
|
221
222
|
itemid?: string | undefined;
|
|
222
223
|
itemref?: string | undefined;
|
|
223
|
-
results?: (string | number) | undefined;
|
|
224
224
|
security?: string | undefined;
|
|
225
225
|
unselectable?: "on" | "off" | undefined;
|
|
226
226
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
|
|
@@ -260,17 +260,19 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
260
260
|
inlist?: any;
|
|
261
261
|
download?: any;
|
|
262
262
|
key?: PropertyKey | undefined;
|
|
263
|
+
prefix?: string | undefined;
|
|
264
|
+
title?: string | undefined;
|
|
265
|
+
style?: import("vue").StyleValue;
|
|
266
|
+
results?: (string | number) | undefined;
|
|
267
|
+
placeholder?: string | undefined;
|
|
263
268
|
bind?: Record<string, unknown>;
|
|
264
269
|
type?: string | undefined;
|
|
265
270
|
ref?: import("vue").VNodeRef | undefined;
|
|
266
|
-
placeholder?: string | undefined;
|
|
267
271
|
target?: string | undefined;
|
|
268
272
|
class?: import("vue").ClassValue;
|
|
269
273
|
role?: string | undefined;
|
|
270
274
|
'aria-label'?: string | undefined;
|
|
271
275
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
272
|
-
style?: import("vue").StyleValue;
|
|
273
|
-
title?: string | undefined;
|
|
274
276
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
275
277
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
276
278
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -433,7 +435,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
433
435
|
radiogroup?: string | undefined;
|
|
434
436
|
about?: string | undefined;
|
|
435
437
|
datatype?: string | undefined;
|
|
436
|
-
prefix?: string | undefined;
|
|
437
438
|
property?: string | undefined;
|
|
438
439
|
resource?: string | undefined;
|
|
439
440
|
typeof?: string | undefined;
|
|
@@ -446,7 +447,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
446
447
|
itemtype?: string | undefined;
|
|
447
448
|
itemid?: string | undefined;
|
|
448
449
|
itemref?: string | undefined;
|
|
449
|
-
results?: (string | number) | undefined;
|
|
450
450
|
security?: string | undefined;
|
|
451
451
|
unselectable?: "on" | "off" | undefined;
|
|
452
452
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
|
|
@@ -467,9 +467,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
467
467
|
onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
|
|
468
468
|
}> & Readonly<{}>, {
|
|
469
469
|
deltaSuffix: string;
|
|
470
|
-
loadingText: string;
|
|
471
|
-
increaseLabel: string;
|
|
472
|
-
decreaseLabel: string;
|
|
473
470
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
474
471
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
475
472
|
declare const _default: typeof __VLS_export;
|