@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.
Files changed (215) hide show
  1. package/README.md +81 -20
  2. package/dist/chart/BarChart.vue.d.ts +6 -6
  3. package/dist/chart/ChartLegend.vue.d.ts +16 -16
  4. package/dist/chart/ChartPanel.vue +10 -6
  5. package/dist/chart/ChartPanel.vue.d.ts +6 -8
  6. package/dist/chart/ChartSummary.vue.d.ts +6 -6
  7. package/dist/chart/DoughnutChart.vue.d.ts +6 -6
  8. package/dist/chart/LineChart.vue.d.ts +6 -6
  9. package/dist/components/core/Button.vue +3 -1
  10. package/dist/components/core/Button.vue.d.ts +6 -6
  11. package/dist/components/core/FormField.vue.d.ts +6 -6
  12. package/dist/components/core/Icon.vue +9 -1
  13. package/dist/components/core/Icon.vue.d.ts +4 -4
  14. package/dist/components/core/Input.vue +6 -3
  15. package/dist/components/core/Input.vue.d.ts +18 -19
  16. package/dist/components/core/Kbd.vue.d.ts +6 -6
  17. package/dist/components/core/Root.vue.d.ts +10 -10
  18. package/dist/components/core/Spinner.vue +7 -3
  19. package/dist/components/core/Spinner.vue.d.ts +6 -7
  20. package/dist/components/core/Textarea.vue +36 -23
  21. package/dist/components/core/Textarea.vue.d.ts +31 -21
  22. package/dist/components/core/VisuallyHidden.vue.d.ts +10 -10
  23. package/dist/components/data/Avatar.vue +4 -2
  24. package/dist/components/data/Avatar.vue.d.ts +6 -6
  25. package/dist/components/data/AvatarGroup.vue +5 -2
  26. package/dist/components/data/AvatarGroup.vue.d.ts +7 -8
  27. package/dist/components/data/Badge.vue.d.ts +6 -6
  28. package/dist/components/data/DescriptionList.vue +7 -3
  29. package/dist/components/data/DescriptionList.vue.d.ts +7 -8
  30. package/dist/components/data/FilterPills.vue +13 -4
  31. package/dist/components/data/FilterPills.vue.d.ts +16 -18
  32. package/dist/components/data/Pagination.vue +23 -14
  33. package/dist/components/data/Pagination.vue.d.ts +16 -23
  34. package/dist/components/data/Stat.vue +9 -6
  35. package/dist/components/data/Stat.vue.d.ts +10 -13
  36. package/dist/components/data/Table.vue +12 -7
  37. package/dist/components/data/Tag.vue +7 -4
  38. package/dist/components/data/Tag.vue.d.ts +16 -17
  39. package/dist/components/data/Timeline.vue.d.ts +6 -6
  40. package/dist/components/data/Tree.vue +5 -2
  41. package/dist/components/data/Tree.vue.d.ts +16 -17
  42. package/dist/components/feedback/Alert.vue +5 -2
  43. package/dist/components/feedback/Alert.vue.d.ts +14 -15
  44. package/dist/components/feedback/EmptyState.vue.d.ts +7 -7
  45. package/dist/components/feedback/LoadingOverlay.vue +8 -4
  46. package/dist/components/feedback/LoadingOverlay.vue.d.ts +6 -7
  47. package/dist/components/feedback/Meter.vue.d.ts +6 -6
  48. package/dist/components/feedback/Progress.vue +6 -3
  49. package/dist/components/feedback/Progress.vue.d.ts +6 -7
  50. package/dist/components/feedback/ProgressRing.vue +5 -2
  51. package/dist/components/feedback/ProgressRing.vue.d.ts +6 -7
  52. package/dist/components/feedback/Skeleton.vue.d.ts +6 -6
  53. package/dist/components/forms/Calendar.vue +16 -11
  54. package/dist/components/forms/Calendar.vue.d.ts +17 -21
  55. package/dist/components/forms/ColorInput.vue +8 -4
  56. package/dist/components/forms/ColorInput.vue.d.ts +18 -20
  57. package/dist/components/forms/Combobox.vue +31 -19
  58. package/dist/components/forms/Combobox.vue.d.ts +2 -2
  59. package/dist/components/forms/DateInput.vue.d.ts +16 -16
  60. package/dist/components/forms/DatePicker.vue +17 -11
  61. package/dist/components/forms/DatePicker.vue.d.ts +14 -18
  62. package/dist/components/forms/FileInput.vue +23 -13
  63. package/dist/components/forms/FileInput.vue.d.ts +17 -23
  64. package/dist/components/forms/InputAddon.vue.d.ts +6 -6
  65. package/dist/components/forms/InputGroup.vue.d.ts +6 -6
  66. package/dist/components/forms/NumberInput.vue +15 -10
  67. package/dist/components/forms/NumberInput.vue.d.ts +16 -19
  68. package/dist/components/forms/PasswordInput.vue +21 -13
  69. package/dist/components/forms/PasswordInput.vue.d.ts +14 -20
  70. package/dist/components/forms/PinInput.vue +7 -2
  71. package/dist/components/forms/PinInput.vue.d.ts +18 -16
  72. package/dist/components/forms/Radio.vue.d.ts +6 -6
  73. package/dist/components/forms/Slider.vue.d.ts +18 -18
  74. package/dist/components/forms/Switch.vue.d.ts +16 -16
  75. package/dist/components/forms/TimeInput.vue.d.ts +16 -16
  76. package/dist/components/layout/Accordion.vue.d.ts +16 -16
  77. package/dist/components/layout/AppShell.vue +11 -6
  78. package/dist/components/layout/AppShell.vue.d.ts +16 -19
  79. package/dist/components/layout/Breadcrumbs.vue +5 -2
  80. package/dist/components/layout/Breadcrumbs.vue.d.ts +6 -7
  81. package/dist/components/layout/Card.vue.d.ts +8 -8
  82. package/dist/components/layout/CopyButton.vue +11 -6
  83. package/dist/components/layout/CopyButton.vue.d.ts +16 -18
  84. package/dist/components/layout/Grid.vue.d.ts +7 -7
  85. package/dist/components/layout/NavLink.vue.d.ts +10 -10
  86. package/dist/components/layout/PageHeader.vue.d.ts +6 -6
  87. package/dist/components/layout/Separator.vue.d.ts +6 -6
  88. package/dist/components/layout/Sidebar.vue +10 -5
  89. package/dist/components/layout/Sidebar.vue.d.ts +7 -11
  90. package/dist/components/layout/SidebarSection.vue.d.ts +6 -6
  91. package/dist/components/layout/Stack.vue.d.ts +10 -10
  92. package/dist/components/layout/Tabs.vue.d.ts +16 -16
  93. package/dist/components/layout/ThemeSwitch.vue +12 -6
  94. package/dist/components/layout/ThemeSwitch.vue.d.ts +6 -7
  95. package/dist/components/layout/Toolbar.vue.d.ts +6 -6
  96. package/dist/components/overlays/CommandPalette.vue +38 -24
  97. package/dist/components/overlays/CommandPalette.vue.d.ts +18 -30
  98. package/dist/components/overlays/ConfirmDialog.vue +14 -9
  99. package/dist/components/overlays/ConfirmDialog.vue.d.ts +12 -15
  100. package/dist/components/overlays/ConfirmHost.vue +6 -3
  101. package/dist/components/overlays/ConfirmHost.vue.d.ts +16 -16
  102. package/dist/components/overlays/ContextMenu.vue +6 -3
  103. package/dist/components/overlays/ContextMenu.vue.d.ts +11 -13
  104. package/dist/components/overlays/Drawer.vue +1 -1
  105. package/dist/components/overlays/Drawer.vue.d.ts +10 -11
  106. package/dist/components/overlays/DropdownMenu.vue.d.ts +10 -10
  107. package/dist/components/overlays/HoverCard.vue.d.ts +16 -16
  108. package/dist/components/overlays/Modal.vue +1 -1
  109. package/dist/components/overlays/Modal.vue.d.ts +10 -11
  110. package/dist/components/overlays/OverlayHost.vue.d.ts +1 -1
  111. package/dist/components/overlays/Popover.vue.d.ts +16 -16
  112. package/dist/components/overlays/Toaster.vue +8 -4
  113. package/dist/components/overlays/Toaster.vue.d.ts +8 -10
  114. package/dist/components/overlays/Tooltip.vue.d.ts +6 -6
  115. package/dist/components/templates/AccountMenu.vue +5 -2
  116. package/dist/components/templates/AccountMenu.vue.d.ts +18 -19
  117. package/dist/components/templates/AppearanceSettings.vue +26 -12
  118. package/dist/components/templates/AppearanceSettings.vue.d.ts +7 -11
  119. package/dist/components/templates/AuthLayout.vue +11 -7
  120. package/dist/components/templates/AuthLayout.vue.d.ts +6 -9
  121. package/dist/components/templates/Brand.vue.d.ts +10 -10
  122. package/dist/components/templates/DashboardLayout.vue +25 -16
  123. package/dist/components/templates/DashboardLayout.vue.d.ts +12 -24
  124. package/dist/components/templates/DashboardPage.vue +7 -3
  125. package/dist/components/templates/DashboardPage.vue.d.ts +6 -7
  126. package/dist/components/templates/DetailPage.vue +14 -8
  127. package/dist/components/templates/DetailPage.vue.d.ts +14 -18
  128. package/dist/components/templates/EmptyPage.vue +15 -8
  129. package/dist/components/templates/EmptyPage.vue.d.ts +7 -11
  130. package/dist/components/templates/ErrorPage.vue +32 -25
  131. package/dist/components/templates/ErrorPage.vue.d.ts +6 -6
  132. package/dist/components/templates/FormPage.vue +19 -11
  133. package/dist/components/templates/FormPage.vue.d.ts +3 -3
  134. package/dist/components/templates/ListPage.vue +39 -23
  135. package/dist/components/templates/ListPage.vue.d.ts +2 -2
  136. package/dist/components/templates/NotFoundPage.vue +4 -4
  137. package/dist/components/templates/NotFoundPage.vue.d.ts +1 -1
  138. package/dist/components/templates/SaveBar.vue +20 -11
  139. package/dist/components/templates/SaveBar.vue.d.ts +16 -19
  140. package/dist/components/templates/SettingsGroup.vue.d.ts +7 -7
  141. package/dist/components/templates/SettingsModal.vue +29 -21
  142. package/dist/components/templates/SettingsModal.vue.d.ts +15 -25
  143. package/dist/components/templates/SettingsPage.vue +8 -5
  144. package/dist/components/templates/SettingsPage.vue.d.ts +18 -21
  145. package/dist/components/templates/SettingsSection.vue +7 -3
  146. package/dist/components/templates/SettingsSection.vue.d.ts +8 -9
  147. package/dist/composables/core.d.ts +1 -0
  148. package/dist/composables/core.mjs +1 -0
  149. package/dist/composables/useAlert.mjs +3 -1
  150. package/dist/composables/useConfirm.mjs +5 -3
  151. package/dist/composables/useDirtyGuard.mjs +7 -5
  152. package/dist/composables/useForm.d.ts +4 -1
  153. package/dist/composables/useForm.mjs +33 -16
  154. package/dist/composables/useIcons.d.ts +4 -0
  155. package/dist/composables/useIcons.mjs +10 -0
  156. package/dist/composables/useLocale.d.ts +11 -0
  157. package/dist/composables/useLocale.mjs +26 -0
  158. package/dist/composables/usePasswordStrength.mjs +11 -7
  159. package/dist/composables/usePrompt.mjs +3 -1
  160. package/dist/editor/RichTextEditor.vue +20 -14
  161. package/dist/editor/RichTextEditor.vue.d.ts +22 -15
  162. package/dist/editor/index.d.ts +0 -1
  163. package/dist/editor/index.mjs +0 -1
  164. package/dist/editor/types.d.ts +3 -18
  165. package/dist/grid/DataGrid.vue +11 -2
  166. package/dist/grid/GridToolbar.vue +6 -2
  167. package/dist/grid/GridToolbar.vue.d.ts +21 -20
  168. package/dist/grid/cells/BadgeCell.vue.d.ts +6 -6
  169. package/dist/grid/cells/BooleanCell.vue +5 -2
  170. package/dist/grid/cells/BooleanCell.vue.d.ts +6 -6
  171. package/dist/grid/cells/DateCell.vue +4 -1
  172. package/dist/grid/cells/DateCell.vue.d.ts +6 -6
  173. package/dist/grid/cells/ImageCell.vue.d.ts +6 -6
  174. package/dist/grid/cells/LinkCell.vue.d.ts +6 -6
  175. package/dist/grid/index.d.ts +0 -1
  176. package/dist/grid/index.mjs +0 -1
  177. package/dist/grid/types.d.ts +5 -17
  178. package/dist/icons/collections.d.ts +39 -0
  179. package/dist/icons/collections.mjs +67 -0
  180. package/dist/index.d.ts +4 -1
  181. package/dist/index.mjs +11 -1
  182. package/dist/internal/feedback/LoadingHost.vue +6 -3
  183. package/dist/internal/feedback/LoadingHost.vue.d.ts +0 -1
  184. package/dist/internal/forms/files.mjs +1 -1
  185. package/dist/internal/forms/standard-schema.d.ts +26 -0
  186. package/dist/internal/forms/standard-schema.mjs +21 -0
  187. package/dist/internal/keys.d.ts +4 -1
  188. package/dist/internal/keys.mjs +2 -0
  189. package/dist/internal/overlays/DialogFrame.vue +5 -2
  190. package/dist/internal/overlays/DialogFrame.vue.d.ts +14 -14
  191. package/dist/internal/overlays/MenuList.vue.d.ts +16 -16
  192. package/dist/internal/overlays/OverlayView.vue.d.ts +16 -16
  193. package/dist/internal/overlays/confirm.d.ts +3 -0
  194. package/dist/locale/en.d.ts +2 -0
  195. package/dist/locale/en.mjs +284 -0
  196. package/dist/locale/index.d.ts +16 -0
  197. package/dist/locale/index.mjs +50 -0
  198. package/dist/locale/it.d.ts +2 -0
  199. package/dist/locale/it.mjs +284 -0
  200. package/dist/locale/types.d.ts +292 -0
  201. package/dist/locale/types.mjs +0 -0
  202. package/dist/nuxt/module.d.ts +18 -4
  203. package/dist/nuxt/module.mjs +138 -9
  204. package/dist/nuxt/runtime/layouts/auth.vue.d.ts +16 -16
  205. package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +16 -16
  206. package/dist/nuxt/runtime/locale.d.ts +2 -0
  207. package/dist/nuxt/runtime/locale.mjs +20 -0
  208. package/dist/nuxt/runtime/theme.mjs +3 -3
  209. package/dist/styles/core/icon.css +4 -0
  210. package/dist/styles/core/textarea.css +21 -0
  211. package/package.json +1 -1
  212. package/dist/editor/messages.d.ts +0 -2
  213. package/dist/editor/messages.mjs +0 -18
  214. package/dist/grid/messages.d.ts +0 -3
  215. 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
- emptyText
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, default: "Not set" }
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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 class="k-filter-pills" :class="`k-filter-pills-${size}`" role="group" :aria-label="label">
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="clearLabel"
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, default: "Filters" },
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, default: "Clear" },
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
- ref?: import("vue").VNodeRef | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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
- ref?: import("vue").VNodeRef | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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
- {{ ofText }}
7
+ {{ ofLabel }}
8
8
  <span class="k-pagination-strong">{{ total }}</span>
9
9
  </template>
10
- <template v-else>{{ emptyText }}</template>
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">{{ pageSizeLabel }}</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="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="previousLabel"
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="`${pageLabel} ${item.value}`"
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="nextLabel"
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, default: "Pagination" },
90
- pageLabel: { type: String, required: false, default: "Page" },
91
- previousLabel: { type: String, required: false, default: "Previous page" },
92
- nextLabel: { type: String, required: false, default: "Next page" },
93
- pageSizeLabel: { type: String, required: false, default: "Rows per page" },
94
- ofText: { type: String, required: false, default: "of" },
95
- emptyText: { type: String, required: false, default: "No results" }
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
- ref?: import("vue").VNodeRef | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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
- ref?: import("vue").VNodeRef | undefined;
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") | "page" | "step" | "date" | undefined;
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" | "tree" | "grid" | undefined;
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" | "enter" | "go" | "next" | "previous" | "send" | undefined;
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">{{ loadingText }}</span>
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, default: "Loading" },
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, default: "Increased by" },
73
- decreaseLabel: { type: String, required: false, default: "Decreased by" }
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;