@xleddyl/443-components-vue 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -6
- package/dist/chart/BarChart.vue +11 -4
- package/dist/chart/BarChart.vue.d.ts +2 -0
- package/dist/chart/ChartLegend.vue +43 -4
- package/dist/chart/ChartLegend.vue.d.ts +4 -2
- package/dist/chart/ChartPanel.vue +10 -10
- package/dist/chart/ChartPanel.vue.d.ts +11 -8
- package/dist/chart/ChartSummary.vue +8 -3
- package/dist/chart/ChartSummary.vue.d.ts +3 -1
- package/dist/chart/DoughnutChart.vue +11 -4
- package/dist/chart/LineChart.vue +8 -2
- package/dist/chart/LineChart.vue.d.ts +2 -0
- package/dist/chart/chart.css +19 -0
- package/dist/chart/patterns.d.ts +6 -0
- package/dist/chart/patterns.mjs +79 -0
- package/dist/chart/types.d.ts +5 -0
- package/dist/chart/useChartColors.mjs +1 -1
- package/dist/components/core/Button.vue +11 -1
- package/dist/components/core/Button.vue.d.ts +1 -1
- package/dist/components/core/FieldMessage.vue +6 -0
- package/dist/components/core/FieldMessage.vue.d.ts +1 -1
- package/dist/components/core/Form.vue +18 -1
- package/dist/components/core/FormAlerts.vue +41 -3
- package/dist/components/core/FormField.vue +43 -24
- package/dist/components/core/Input.vue.d.ts +6 -6
- package/dist/components/core/Root.vue +6 -1
- package/dist/components/core/Root.vue.d.ts +2 -2
- package/dist/components/core/Spinner.vue +6 -11
- package/dist/components/core/Spinner.vue.d.ts +2 -2
- package/dist/components/core/Textarea.vue.d.ts +2 -2
- package/dist/components/core/VisuallyHidden.vue.d.ts +2 -2
- package/dist/components/data/Avatar.vue +8 -5
- package/dist/components/data/AvatarGroup.vue +6 -3
- package/dist/components/data/Badge.vue.d.ts +1 -1
- package/dist/components/data/FilterPills.vue +18 -2
- package/dist/components/data/Pagination.vue +24 -18
- package/dist/components/data/Pagination.vue.d.ts +2 -2
- package/dist/components/data/SelectionBar.vue +32 -3
- package/dist/components/data/Stat.vue +7 -1
- package/dist/components/data/Stat.vue.d.ts +2 -2
- package/dist/components/data/Table.vue +62 -14
- package/dist/components/data/Tag.vue +24 -4
- package/dist/components/data/Tag.vue.d.ts +3 -3
- package/dist/components/data/Timeline.vue +12 -1
- package/dist/components/data/Tree.vue +137 -36
- package/dist/components/data/Tree.vue.d.ts +13 -14
- package/dist/components/data/types.d.ts +2 -1
- package/dist/components/feedback/Alert.vue +18 -9
- package/dist/components/feedback/Alert.vue.d.ts +2 -2
- package/dist/components/feedback/LoadingOverlay.vue +35 -3
- package/dist/components/feedback/Meter.vue +28 -3
- package/dist/components/feedback/Progress.vue +2 -7
- package/dist/components/feedback/Progress.vue.d.ts +1 -1
- package/dist/components/feedback/ProgressRing.vue +2 -6
- package/dist/components/feedback/ProgressRing.vue.d.ts +1 -1
- package/dist/components/forms/Calendar.vue +49 -26
- package/dist/components/forms/Calendar.vue.d.ts +9 -5
- package/dist/components/forms/CheckboxGroup.vue +14 -4
- package/dist/components/forms/CheckboxGroup.vue.d.ts +1 -0
- package/dist/components/forms/ColorInput.vue +68 -15
- package/dist/components/forms/ColorInput.vue.d.ts +16 -13
- package/dist/components/forms/Combobox.vue +18 -4
- package/dist/components/forms/DateInput.vue.d.ts +6 -6
- package/dist/components/forms/DatePicker.vue +23 -7
- package/dist/components/forms/DatePicker.vue.d.ts +4 -2
- package/dist/components/forms/FileInput.vue +31 -13
- package/dist/components/forms/FileInput.vue.d.ts +2 -2
- package/dist/components/forms/InputAddon.vue +18 -2
- package/dist/components/forms/InputGroup.vue +27 -0
- package/dist/components/forms/InputGroup.vue.d.ts +2 -0
- package/dist/components/forms/NumberInput.vue +6 -7
- package/dist/components/forms/NumberInput.vue.d.ts +6 -6
- package/dist/components/forms/PasswordInput.vue +12 -6
- package/dist/components/forms/PasswordInput.vue.d.ts +6 -7
- package/dist/components/forms/PinInput.vue +11 -1
- package/dist/components/forms/PinInput.vue.d.ts +8 -6
- package/dist/components/forms/RadioGroup.vue +15 -5
- package/dist/components/forms/RadioGroup.vue.d.ts +1 -0
- package/dist/components/forms/SegmentedControl.vue +15 -10
- package/dist/components/forms/SegmentedControl.vue.d.ts +1 -0
- package/dist/components/forms/Slider.vue +9 -0
- package/dist/components/forms/Slider.vue.d.ts +8 -6
- package/dist/components/forms/Switch.vue +7 -0
- package/dist/components/forms/Switch.vue.d.ts +2 -2
- package/dist/components/forms/TimeInput.vue.d.ts +6 -6
- package/dist/components/forms/types.d.ts +4 -0
- package/dist/components/layout/Accordion.vue.d.ts +2 -2
- package/dist/components/layout/AppShell.vue +40 -18
- package/dist/components/layout/AppShell.vue.d.ts +11 -9
- package/dist/components/layout/Card.vue +50 -16
- package/dist/components/layout/Card.vue.d.ts +13 -11
- package/dist/components/layout/CopyButton.vue +13 -5
- package/dist/components/layout/CopyButton.vue.d.ts +3 -3
- package/dist/components/layout/NavLink.vue +10 -1
- package/dist/components/layout/NavLink.vue.d.ts +2 -2
- package/dist/components/layout/PageHeader.vue +2 -2
- package/dist/components/layout/Separator.vue +6 -3
- package/dist/components/layout/Sidebar.vue +14 -7
- package/dist/components/layout/Sidebar.vue.d.ts +0 -2
- package/dist/components/layout/SidebarNav.vue +16 -44
- package/dist/components/layout/Stack.vue.d.ts +2 -2
- package/dist/components/layout/Tabs.vue +10 -18
- package/dist/components/layout/Tabs.vue.d.ts +2 -2
- package/dist/components/layout/Toolbar.vue +10 -4
- package/dist/components/layout/Toolbar.vue.d.ts +1 -0
- package/dist/components/layout/types.d.ts +1 -0
- package/dist/components/overlays/CommandPalette.vue +8 -4
- package/dist/components/overlays/CommandPalette.vue.d.ts +3 -8
- package/dist/components/overlays/ConfirmDialog.vue +7 -5
- package/dist/components/overlays/ConfirmDialog.vue.d.ts +12 -8
- package/dist/components/overlays/ConfirmHost.vue +22 -19
- package/dist/components/overlays/ConfirmHost.vue.d.ts +8 -6
- package/dist/components/overlays/ContextMenu.vue +9 -11
- package/dist/components/overlays/ContextMenu.vue.d.ts +2 -2
- package/dist/components/overlays/Drawer.vue +2 -0
- package/dist/components/overlays/Drawer.vue.d.ts +4 -2
- package/dist/components/overlays/DropdownMenu.vue +13 -21
- package/dist/components/overlays/DropdownMenu.vue.d.ts +2 -2
- package/dist/components/overlays/HoverCard.vue +8 -2
- package/dist/components/overlays/HoverCard.vue.d.ts +2 -2
- package/dist/components/overlays/Modal.vue +2 -0
- package/dist/components/overlays/Modal.vue.d.ts +4 -2
- package/dist/components/overlays/Popover.vue +19 -4
- package/dist/components/overlays/Popover.vue.d.ts +2 -2
- package/dist/components/overlays/Toaster.vue +71 -8
- package/dist/components/overlays/Toaster.vue.d.ts +3 -0
- package/dist/components/overlays/Tooltip.vue +39 -14
- package/dist/components/overlays/types.d.ts +7 -0
- package/dist/components/templates/AccountMenu.vue.d.ts +2 -2
- package/dist/components/templates/AppearanceSettings.vue +83 -77
- package/dist/components/templates/AppearanceSettings.vue.d.ts +2 -2
- package/dist/components/templates/AuthLayout.vue +2 -2
- package/dist/components/templates/Brand.vue.d.ts +2 -2
- package/dist/components/templates/DashboardLayout.vue +3 -7
- package/dist/components/templates/DashboardLayout.vue.d.ts +8 -18
- package/dist/components/templates/DetailPage.vue +3 -1
- package/dist/components/templates/DetailPage.vue.d.ts +2 -2
- package/dist/components/templates/ErrorPage.vue +11 -5
- package/dist/components/templates/ErrorPage.vue.d.ts +10 -6
- package/dist/components/templates/FormPage.vue +16 -3
- package/dist/components/templates/ListPage.vue +19 -6
- package/dist/components/templates/ListPage.vue.d.ts +1 -0
- package/dist/components/templates/NotFoundPage.vue +2 -0
- package/dist/components/templates/NotFoundPage.vue.d.ts +4 -0
- package/dist/components/templates/SaveBar.vue +18 -3
- package/dist/components/templates/SaveBar.vue.d.ts +5 -5
- package/dist/components/templates/SettingsGroup.vue +1 -1
- package/dist/components/templates/SettingsGroup.vue.d.ts +3 -1
- package/dist/components/templates/SettingsModal.vue +73 -46
- package/dist/components/templates/SettingsModal.vue.d.ts +9 -11
- package/dist/components/templates/SettingsPage.vue.d.ts +2 -2
- package/dist/components/templates/SettingsSection.vue.d.ts +4 -2
- package/dist/components/templates/types.d.ts +4 -0
- package/dist/composables/useAlert.mjs +5 -10
- package/dist/composables/useConfirm.mjs +5 -5
- package/dist/composables/useField.d.ts +4 -0
- package/dist/composables/useField.mjs +16 -5
- package/dist/composables/useFileDrop.mjs +2 -1
- package/dist/composables/useOverlay.mjs +2 -1
- package/dist/composables/usePreset.mjs +4 -10
- package/dist/composables/usePrompt.mjs +6 -13
- package/dist/composables/useScrollLock.mjs +4 -3
- package/dist/composables/useTheme.mjs +3 -11
- package/dist/composables/useToast.mjs +2 -1
- package/dist/editor/RichTextEditor.vue +31 -6
- package/dist/editor/RichTextEditor.vue.d.ts +2 -2
- package/dist/editor/rich-text-editor.css +9 -4
- package/dist/grid/DataGrid.vue +72 -12
- package/dist/grid/GridToolbar.vue +1 -1
- package/dist/grid/GridToolbar.vue.d.ts +2 -2
- package/dist/grid/cells/BadgeCell.vue +3 -1
- package/dist/grid/cells/BadgeCell.vue.d.ts +17 -3
- package/dist/grid/cells/DateCell.vue +3 -1
- package/dist/grid/cells/DateCell.vue.d.ts +17 -3
- package/dist/grid/cells/EmptyCell.vue +15 -0
- package/dist/grid/cells/EmptyCell.vue.d.ts +392 -0
- package/dist/grid/cells/LinkCell.vue +9 -2
- package/dist/grid/cells/LinkCell.vue.d.ts +17 -3
- package/dist/grid/data-grid.css +5 -5
- package/dist/grid/types.d.ts +2 -0
- package/dist/internal/core/ButtonContent.vue +3 -0
- package/dist/internal/core/LiveRegion.vue +26 -0
- package/dist/internal/core/LiveRegion.vue.d.ts +393 -0
- package/dist/internal/core/copy.d.ts +6 -0
- package/dist/internal/core/copy.mjs +14 -0
- package/dist/internal/core/focus.d.ts +6 -0
- package/dist/internal/core/focus.mjs +46 -0
- package/dist/internal/core/intl.d.ts +4 -2
- package/dist/internal/core/intl.mjs +23 -22
- package/dist/internal/core/live.d.ts +6 -0
- package/dist/internal/core/live.mjs +22 -0
- package/dist/internal/core/preset.d.ts +0 -1
- package/dist/internal/core/preset.mjs +4 -14
- package/dist/internal/core/resize.d.ts +1 -0
- package/dist/internal/core/resize.mjs +11 -0
- package/dist/internal/core/roving.d.ts +7 -0
- package/dist/internal/core/roving.mjs +19 -1
- package/dist/internal/core/scroll-edges.d.ts +5 -0
- package/dist/internal/core/scroll-edges.mjs +63 -0
- package/dist/internal/core/storage.d.ts +2 -0
- package/dist/internal/core/storage.mjs +8 -0
- package/dist/internal/core/theme.d.ts +0 -1
- package/dist/internal/core/theme.mjs +4 -13
- package/dist/internal/core/tone.d.ts +1 -0
- package/dist/internal/core/tone.mjs +4 -0
- package/dist/internal/core/transition.d.ts +1 -0
- package/dist/internal/core/transition.mjs +20 -0
- package/dist/internal/data/rows.mjs +6 -5
- package/dist/internal/data/tree.d.ts +2 -3
- package/dist/internal/feedback/LoadingHost.vue +16 -6
- package/dist/internal/feedback/loading.mjs +2 -1
- package/dist/internal/feedback/progress.d.ts +12 -0
- package/dist/internal/feedback/progress.mjs +13 -0
- package/dist/internal/floating/layer.d.ts +1 -1
- package/dist/internal/floating/layer.mjs +17 -10
- package/dist/internal/forms/keys.d.ts +4 -0
- package/dist/internal/forms/keys.mjs +1 -0
- package/dist/internal/forms/name.d.ts +2 -0
- package/dist/internal/forms/name.mjs +12 -0
- package/dist/internal/forms/standard-schema.d.ts +0 -2
- package/dist/internal/forms/standard-schema.mjs +0 -18
- package/dist/internal/layout/NavGroup.vue +104 -0
- package/dist/internal/layout/NavGroup.vue.d.ts +412 -0
- package/dist/internal/layout/route.mjs +1 -1
- package/dist/internal/overlays/DialogFrame.vue +53 -6
- package/dist/internal/overlays/DialogFrame.vue.d.ts +5 -2
- package/dist/internal/overlays/MenuList.vue +4 -11
- package/dist/internal/overlays/MenuList.vue.d.ts +6 -6
- package/dist/internal/overlays/OverlayView.vue +2 -0
- package/dist/internal/overlays/OverlayView.vue.d.ts +8 -6
- package/dist/internal/overlays/confirm.d.ts +6 -1
- package/dist/internal/overlays/confirm.mjs +5 -2
- package/dist/internal/overlays/dialog.d.ts +1 -0
- package/dist/internal/overlays/dialog.mjs +9 -9
- package/dist/internal/overlays/hover.d.ts +1 -0
- package/dist/internal/overlays/hover.mjs +20 -3
- package/dist/internal/overlays/menu.d.ts +9 -0
- package/dist/internal/overlays/menu.mjs +15 -0
- package/dist/internal/overlays/stack.d.ts +1 -0
- package/dist/locale/en.mjs +72 -19
- package/dist/locale/index.d.ts +1 -1
- package/dist/locale/index.mjs +5 -11
- package/dist/locale/it.mjs +72 -19
- package/dist/locale/types.d.ts +55 -2
- package/dist/nuxt/module.mjs +1 -1
- package/dist/nuxt/runtime/RouteAnnouncer.vue +21 -0
- package/dist/nuxt/runtime/RouteAnnouncer.vue.d.ts +3 -0
- package/dist/nuxt/runtime/layout-head.d.ts +2 -0
- package/dist/nuxt/runtime/layout-head.mjs +13 -0
- package/dist/nuxt/runtime/layouts/auth.vue +4 -0
- package/dist/nuxt/runtime/layouts/auth.vue.d.ts +2 -2
- package/dist/nuxt/runtime/layouts/dashboard.vue +4 -0
- package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +2 -2
- package/dist/nuxt/runtime/locale.mjs +8 -1
- package/dist/nuxt/runtime/theme.mjs +17 -12
- package/dist/styles/base.css +0 -13
- package/dist/styles/core/button.css +8 -8
- package/dist/styles/core/field-message.css +2 -2
- package/dist/styles/core/form-field.css +13 -4
- package/dist/styles/core/input.css +4 -7
- package/dist/styles/core/kbd.css +0 -1
- package/dist/styles/data/badge.css +8 -4
- package/dist/styles/data/description-list.css +7 -5
- package/dist/styles/data/filter-pills.css +5 -8
- package/dist/styles/data/pagination.css +2 -2
- package/dist/styles/data/stat.css +3 -3
- package/dist/styles/data/table.css +3 -2
- package/dist/styles/data/tag.css +1 -2
- package/dist/styles/data/timeline.css +2 -1
- package/dist/styles/data/tree.css +31 -10
- package/dist/styles/feedback/alert.css +1 -3
- package/dist/styles/feedback/empty-state.css +6 -4
- package/dist/styles/feedback/loading-host.css +4 -0
- package/dist/styles/feedback/loading-overlay.css +4 -0
- package/dist/styles/forced-colors.css +215 -0
- package/dist/styles/forms/calendar.css +2 -2
- package/dist/styles/forms/choice.css +2 -2
- package/dist/styles/forms/color-input.css +1 -1
- package/dist/styles/forms/combobox.css +2 -24
- package/dist/styles/forms/date-input.css +2 -2
- package/dist/styles/forms/date-picker.css +3 -7
- package/dist/styles/forms/file-input.css +4 -3
- package/dist/styles/forms/input-group.css +6 -0
- package/dist/styles/forms/number-input.css +2 -2
- package/dist/styles/forms/password-input.css +5 -2
- package/dist/styles/forms/pin-input.css +4 -2
- package/dist/styles/forms/segmented.css +2 -2
- package/dist/styles/forms/select.css +6 -6
- package/dist/styles/forms/slider.css +5 -4
- package/dist/styles/forms/switch.css +5 -1
- package/dist/styles/index.css +1 -0
- package/dist/styles/layout/accordion.css +1 -1
- package/dist/styles/layout/app-shell.css +15 -3
- package/dist/styles/layout/card.css +12 -2
- package/dist/styles/layout/copy-button.css +1 -1
- package/dist/styles/layout/nav-link.css +1 -33
- package/dist/styles/layout/page-header.css +2 -1
- package/dist/styles/layout/separator.css +1 -1
- package/dist/styles/layout/sidebar-nav.css +15 -4
- package/dist/styles/layout/sidebar.css +20 -6
- package/dist/styles/layout/tabs.css +9 -4
- package/dist/styles/layout/theme-switch.css +0 -6
- package/dist/styles/overlays/command.css +9 -15
- package/dist/styles/overlays/confirm.css +1 -1
- package/dist/styles/overlays/drawer.css +23 -3
- package/dist/styles/overlays/menu.css +2 -17
- package/dist/styles/overlays/modal.css +33 -9
- package/dist/styles/overlays/toast.css +1 -2
- package/dist/styles/presets.css +4 -4
- package/dist/styles/shared.css +96 -3
- package/dist/styles/templates/account-menu.css +3 -3
- package/dist/styles/templates/auth-layout.css +5 -1
- package/dist/styles/templates/brand.css +3 -3
- package/dist/styles/templates/empty-page.css +5 -1
- package/dist/styles/templates/error-page.css +4 -0
- package/dist/styles/templates/form-page.css +10 -0
- package/dist/styles/templates/save-bar.css +10 -0
- package/dist/styles/templates/settings-modal.css +46 -45
- package/dist/styles/templates/settings-page.css +3 -3
- package/dist/styles/tokens.css +12 -2
- package/package.json +1 -1
- package/dist/internal/overlays/focus.d.ts +0 -1
- package/dist/internal/overlays/focus.mjs +0 -24
package/dist/locale/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { pluralRules } from "../internal/core/intl.mjs";
|
|
1
2
|
import { formatMessage } from "../internal/core/text.mjs";
|
|
2
3
|
import { en } from "./en.mjs";
|
|
3
4
|
import { it } from "./it.mjs";
|
|
@@ -21,19 +22,9 @@ export function defineLocale(options) {
|
|
|
21
22
|
messages: mergeMessages(base.messages, options.messages)
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
|
-
export function resolveBuiltinLocale(code) {
|
|
25
|
-
if (!code) return en;
|
|
26
|
-
return builtinLocales[code] ?? builtinLocales[code.split("-")[0]] ?? en;
|
|
27
|
-
}
|
|
28
|
-
const pluralRules = /* @__PURE__ */ new Map();
|
|
29
25
|
function pluralForm(code, forms, count) {
|
|
30
26
|
if (forms.length === 3 && count === 0) return forms[0];
|
|
31
|
-
|
|
32
|
-
if (!rules) {
|
|
33
|
-
rules = new Intl.PluralRules(code);
|
|
34
|
-
pluralRules.set(code, rules);
|
|
35
|
-
}
|
|
36
|
-
const one = rules.select(count) === "one";
|
|
27
|
+
const one = pluralRules(code).select(count) === "one";
|
|
37
28
|
const singular = forms.length === 3 ? forms[1] : forms[0];
|
|
38
29
|
return one ? singular : forms[forms.length - 1];
|
|
39
30
|
}
|
|
@@ -48,3 +39,6 @@ export function translate(locale, key, params = {}) {
|
|
|
48
39
|
const template = locale.messages[group][name] ?? key;
|
|
49
40
|
return formatLocaleMessage(locale.code, template, params);
|
|
50
41
|
}
|
|
42
|
+
export function translateOr(locale, template, key, params = {}) {
|
|
43
|
+
return template ? formatLocaleMessage(locale.code, template, params) : translate(locale, key, params);
|
|
44
|
+
}
|
package/dist/locale/it.mjs
CHANGED
|
@@ -23,7 +23,12 @@ export const it = {
|
|
|
23
23
|
retry: "Riprova",
|
|
24
24
|
unsavedChanges: "Modifiche non salvate",
|
|
25
25
|
somethingWentWrong: "Qualcosa \xE8 andato storto",
|
|
26
|
-
selected: "{count} selezionato | {count} selezionati"
|
|
26
|
+
selected: "{count} selezionato | {count} selezionati",
|
|
27
|
+
removeItem: "Rimuovi {label}",
|
|
28
|
+
opensInNewTab: "(si apre in una nuova scheda)",
|
|
29
|
+
copyFailed: "Impossibile copiare",
|
|
30
|
+
readonly: "Sola lettura",
|
|
31
|
+
empty: "Vuoto"
|
|
27
32
|
},
|
|
28
33
|
form: {
|
|
29
34
|
required: "Campo obbligatorio",
|
|
@@ -34,7 +39,8 @@ export const it = {
|
|
|
34
39
|
minItems: "Seleziona almeno {count} elemento | Seleziona almeno {count} elementi",
|
|
35
40
|
maxItems: "Seleziona al massimo {count} elemento | Seleziona al massimo {count} elementi",
|
|
36
41
|
pattern: "Formato non valido",
|
|
37
|
-
invalid: "Valore non valido"
|
|
42
|
+
invalid: "Valore non valido",
|
|
43
|
+
requiredHint: "(obbligatorio)"
|
|
38
44
|
},
|
|
39
45
|
editor: {
|
|
40
46
|
bold: "Grassetto",
|
|
@@ -52,7 +58,9 @@ export const it = {
|
|
|
52
58
|
linkUrl: "URL del link",
|
|
53
59
|
applyLink: "Applica",
|
|
54
60
|
removeLink: "Rimuovi link",
|
|
55
|
-
characters: "{count} carattere | {count} caratteri"
|
|
61
|
+
characters: "{count} carattere | {count} caratteri",
|
|
62
|
+
limit: "{count} di {max} caratteri",
|
|
63
|
+
limitReached: "Limite di caratteri raggiunto"
|
|
56
64
|
},
|
|
57
65
|
grid: {
|
|
58
66
|
noRows: "Nessuna riga da mostrare",
|
|
@@ -67,10 +75,23 @@ export const it = {
|
|
|
67
75
|
previousPage: "Pagina precedente",
|
|
68
76
|
nextPage: "Pagina successiva",
|
|
69
77
|
pageStatus: "{from}-{to} di {total}",
|
|
70
|
-
selected: "{count} selezionati",
|
|
78
|
+
selected: "{count} selezionato | {count} selezionati",
|
|
71
79
|
copied: "Copiato negli appunti",
|
|
72
80
|
yes: "S\xEC",
|
|
73
|
-
no: "No"
|
|
81
|
+
no: "No",
|
|
82
|
+
label: "Griglia dati",
|
|
83
|
+
rowCount: "Nessuna riga | {count} riga | {count} righe",
|
|
84
|
+
checked: "selezionato",
|
|
85
|
+
unchecked: "non selezionato",
|
|
86
|
+
indeterminate: "parzialmente selezionato",
|
|
87
|
+
selectRowHint: "Premi Spazio per selezionare questa riga",
|
|
88
|
+
deselectRowHint: "Premi Spazio per deselezionare questa riga",
|
|
89
|
+
toggleRowHint: "Premi Spazio per selezionare o deselezionare la riga",
|
|
90
|
+
rowSelectionDisabled: "Questa riga non pu\xF2 essere selezionata",
|
|
91
|
+
selectAllHint: "Premi Spazio per selezionare o deselezionare tutte le righe",
|
|
92
|
+
selectAllRows: "Seleziona tutte le righe",
|
|
93
|
+
sortHint: "Premi Invio per ordinare",
|
|
94
|
+
tooltip: "Suggerimento"
|
|
74
95
|
},
|
|
75
96
|
account: {
|
|
76
97
|
label: "Account"
|
|
@@ -95,22 +116,26 @@ export const it = {
|
|
|
95
116
|
offline: "offline"
|
|
96
117
|
},
|
|
97
118
|
avatarGroup: {
|
|
98
|
-
more: "altri"
|
|
119
|
+
more: "altri {count}"
|
|
99
120
|
},
|
|
100
121
|
breadcrumbs: {
|
|
101
122
|
label: "Percorso"
|
|
102
123
|
},
|
|
103
124
|
calendar: {
|
|
104
125
|
previousMonth: "Mese precedente",
|
|
105
|
-
nextMonth: "Mese successivo"
|
|
126
|
+
nextMonth: "Mese successivo",
|
|
127
|
+
rangeStart: "inizio intervallo",
|
|
128
|
+
rangeEnd: "fine intervallo"
|
|
106
129
|
},
|
|
107
130
|
chart: {
|
|
108
131
|
empty: "Nessun dato da mostrare",
|
|
109
|
-
loading: "Caricamento grafico"
|
|
132
|
+
loading: "Caricamento grafico",
|
|
133
|
+
legend: "Legenda"
|
|
110
134
|
},
|
|
111
135
|
colorInput: {
|
|
112
136
|
pick: "Scegli un colore",
|
|
113
|
-
swatches: "Colori predefiniti"
|
|
137
|
+
swatches: "Colori predefiniti",
|
|
138
|
+
invalid: "Inserisci un colore esadecimale, ad esempio #3366ff"
|
|
114
139
|
},
|
|
115
140
|
combobox: {
|
|
116
141
|
clear: "Cancella selezione",
|
|
@@ -144,7 +169,8 @@ export const it = {
|
|
|
144
169
|
placeholder: "Scegli una data",
|
|
145
170
|
clear: "Cancella data",
|
|
146
171
|
dialog: "Scegli la data",
|
|
147
|
-
range: "{start} - {end}"
|
|
172
|
+
range: "{start} - {end}",
|
|
173
|
+
rangePending: "{start} - ..."
|
|
148
174
|
},
|
|
149
175
|
descriptionList: {
|
|
150
176
|
empty: "Non impostato"
|
|
@@ -192,7 +218,8 @@ export const it = {
|
|
|
192
218
|
mixedTitle: "Trascina file o cartelle qui o fai clic per sfogliare",
|
|
193
219
|
browseDirectory: "Carica una cartella",
|
|
194
220
|
loading: "Caricamento in corso",
|
|
195
|
-
added: "{count} file aggiunto | {count} file aggiunti"
|
|
221
|
+
added: "{count} file aggiunto | {count} file aggiunti",
|
|
222
|
+
rejected: "{count} file non accettato | {count} file non accettati"
|
|
196
223
|
},
|
|
197
224
|
filterPills: {
|
|
198
225
|
label: "Filtri"
|
|
@@ -201,7 +228,8 @@ export const it = {
|
|
|
201
228
|
toolbar: "Filtra i risultati",
|
|
202
229
|
emptyTitle: "Ancora niente qui",
|
|
203
230
|
noResultsDescription: "Prova una ricerca diversa o cancella i filtri.",
|
|
204
|
-
clearFilters: "Cancella filtri"
|
|
231
|
+
clearFilters: "Cancella filtri",
|
|
232
|
+
results: "Nessun risultato | {count} risultato | {count} risultati"
|
|
205
233
|
},
|
|
206
234
|
numberInput: {
|
|
207
235
|
increase: "Aumenta",
|
|
@@ -209,7 +237,7 @@ export const it = {
|
|
|
209
237
|
},
|
|
210
238
|
pagination: {
|
|
211
239
|
label: "Paginazione",
|
|
212
|
-
page: "Pagina",
|
|
240
|
+
page: "Pagina {page}",
|
|
213
241
|
previous: "Pagina precedente",
|
|
214
242
|
next: "Pagina successiva",
|
|
215
243
|
pageSize: "Righe per pagina",
|
|
@@ -267,17 +295,24 @@ export const it = {
|
|
|
267
295
|
openNavigation: "Apri navigazione",
|
|
268
296
|
skipToContent: "Vai al contenuto",
|
|
269
297
|
main: "Principale",
|
|
270
|
-
|
|
271
|
-
|
|
298
|
+
closeNavigation: "Chiudi navigazione",
|
|
299
|
+
navigation: "Navigazione"
|
|
272
300
|
},
|
|
273
301
|
stat: {
|
|
274
302
|
increased: "Aumento di",
|
|
275
|
-
decreased: "Diminuzione di"
|
|
303
|
+
decreased: "Diminuzione di",
|
|
304
|
+
favorable: "favorevole",
|
|
305
|
+
unfavorable: "sfavorevole"
|
|
276
306
|
},
|
|
277
307
|
table: {
|
|
278
308
|
selectAll: "Seleziona tutte le righe",
|
|
279
309
|
loading: "Caricamento righe",
|
|
280
|
-
selectRow: "Seleziona riga {index}"
|
|
310
|
+
selectRow: "Seleziona riga {index}",
|
|
311
|
+
label: "Tabella",
|
|
312
|
+
sortedBy: "Ordinata per {column}, {direction}",
|
|
313
|
+
ascending: "crescente",
|
|
314
|
+
descending: "decrescente",
|
|
315
|
+
sortCleared: "Ordinamento rimosso"
|
|
281
316
|
},
|
|
282
317
|
theme: {
|
|
283
318
|
label: "Tema",
|
|
@@ -287,7 +322,8 @@ export const it = {
|
|
|
287
322
|
},
|
|
288
323
|
toaster: {
|
|
289
324
|
label: "Notifiche",
|
|
290
|
-
dismiss: "Chiudi notifica"
|
|
325
|
+
dismiss: "Chiudi notifica",
|
|
326
|
+
actionHint: "Premi {hotkey} per raggiungere {action}"
|
|
291
327
|
},
|
|
292
328
|
tree: {
|
|
293
329
|
label: "Albero",
|
|
@@ -295,7 +331,24 @@ export const it = {
|
|
|
295
331
|
reorderHint: "Premi Alt con la freccia su o gi\xF9 per spostare",
|
|
296
332
|
reorderNestedHint: "Premi Alt con le frecce per spostare: su e gi\xF9 cambiano la posizione, sinistra e destra il livello",
|
|
297
333
|
moved: "{label} ora in posizione {position} di {count}",
|
|
298
|
-
movedInto: "{label} ora dentro {parent}, in posizione {position} di {count}"
|
|
334
|
+
movedInto: "{label} ora dentro {parent}, in posizione {position} di {count}",
|
|
335
|
+
moveUp: "Sposta {label} in su",
|
|
336
|
+
moveDown: "Sposta {label} in gi\xF9",
|
|
337
|
+
indent: "Aumenta il rientro di {label}",
|
|
338
|
+
outdent: "Riduci il rientro di {label}"
|
|
339
|
+
},
|
|
340
|
+
meter: {
|
|
341
|
+
label: "Indicatore",
|
|
342
|
+
valueText: "{value}, {state}",
|
|
343
|
+
good: "buono",
|
|
344
|
+
fair: "discreto",
|
|
345
|
+
poor: "scarso"
|
|
346
|
+
},
|
|
347
|
+
tone: {
|
|
348
|
+
danger: "Errore",
|
|
349
|
+
warning: "Avviso",
|
|
350
|
+
info: "Informazione",
|
|
351
|
+
success: "Operazione riuscita"
|
|
299
352
|
}
|
|
300
353
|
}
|
|
301
354
|
};
|
package/dist/locale/types.d.ts
CHANGED
|
@@ -22,6 +22,11 @@ export interface KMessages {
|
|
|
22
22
|
unsavedChanges: string;
|
|
23
23
|
somethingWentWrong: string;
|
|
24
24
|
selected: string;
|
|
25
|
+
removeItem: string;
|
|
26
|
+
opensInNewTab: string;
|
|
27
|
+
copyFailed: string;
|
|
28
|
+
readonly: string;
|
|
29
|
+
empty: string;
|
|
25
30
|
};
|
|
26
31
|
form: {
|
|
27
32
|
required: string;
|
|
@@ -33,6 +38,7 @@ export interface KMessages {
|
|
|
33
38
|
maxItems: string;
|
|
34
39
|
pattern: string;
|
|
35
40
|
invalid: string;
|
|
41
|
+
requiredHint: string;
|
|
36
42
|
};
|
|
37
43
|
editor: {
|
|
38
44
|
bold: string;
|
|
@@ -51,6 +57,8 @@ export interface KMessages {
|
|
|
51
57
|
applyLink: string;
|
|
52
58
|
removeLink: string;
|
|
53
59
|
characters: string;
|
|
60
|
+
limit: string;
|
|
61
|
+
limitReached: string;
|
|
54
62
|
};
|
|
55
63
|
grid: {
|
|
56
64
|
noRows: string;
|
|
@@ -69,6 +77,19 @@ export interface KMessages {
|
|
|
69
77
|
copied: string;
|
|
70
78
|
yes: string;
|
|
71
79
|
no: string;
|
|
80
|
+
label: string;
|
|
81
|
+
rowCount: string;
|
|
82
|
+
checked: string;
|
|
83
|
+
unchecked: string;
|
|
84
|
+
indeterminate: string;
|
|
85
|
+
selectRowHint: string;
|
|
86
|
+
deselectRowHint: string;
|
|
87
|
+
toggleRowHint: string;
|
|
88
|
+
rowSelectionDisabled: string;
|
|
89
|
+
selectAllHint: string;
|
|
90
|
+
selectAllRows: string;
|
|
91
|
+
sortHint: string;
|
|
92
|
+
tooltip: string;
|
|
72
93
|
};
|
|
73
94
|
account: {
|
|
74
95
|
label: string;
|
|
@@ -101,14 +122,18 @@ export interface KMessages {
|
|
|
101
122
|
calendar: {
|
|
102
123
|
previousMonth: string;
|
|
103
124
|
nextMonth: string;
|
|
125
|
+
rangeStart: string;
|
|
126
|
+
rangeEnd: string;
|
|
104
127
|
};
|
|
105
128
|
chart: {
|
|
106
129
|
empty: string;
|
|
107
130
|
loading: string;
|
|
131
|
+
legend: string;
|
|
108
132
|
};
|
|
109
133
|
colorInput: {
|
|
110
134
|
pick: string;
|
|
111
135
|
swatches: string;
|
|
136
|
+
invalid: string;
|
|
112
137
|
};
|
|
113
138
|
combobox: {
|
|
114
139
|
clear: string;
|
|
@@ -143,6 +168,7 @@ export interface KMessages {
|
|
|
143
168
|
clear: string;
|
|
144
169
|
dialog: string;
|
|
145
170
|
range: string;
|
|
171
|
+
rangePending: string;
|
|
146
172
|
};
|
|
147
173
|
descriptionList: {
|
|
148
174
|
empty: string;
|
|
@@ -191,6 +217,7 @@ export interface KMessages {
|
|
|
191
217
|
browseDirectory: string;
|
|
192
218
|
loading: string;
|
|
193
219
|
added: string;
|
|
220
|
+
rejected: string;
|
|
194
221
|
};
|
|
195
222
|
filterPills: {
|
|
196
223
|
label: string;
|
|
@@ -200,6 +227,7 @@ export interface KMessages {
|
|
|
200
227
|
emptyTitle: string;
|
|
201
228
|
noResultsDescription: string;
|
|
202
229
|
clearFilters: string;
|
|
230
|
+
results: string;
|
|
203
231
|
};
|
|
204
232
|
numberInput: {
|
|
205
233
|
increase: string;
|
|
@@ -265,17 +293,24 @@ export interface KMessages {
|
|
|
265
293
|
openNavigation: string;
|
|
266
294
|
skipToContent: string;
|
|
267
295
|
main: string;
|
|
268
|
-
|
|
269
|
-
|
|
296
|
+
closeNavigation: string;
|
|
297
|
+
navigation: string;
|
|
270
298
|
};
|
|
271
299
|
stat: {
|
|
272
300
|
increased: string;
|
|
273
301
|
decreased: string;
|
|
302
|
+
favorable: string;
|
|
303
|
+
unfavorable: string;
|
|
274
304
|
};
|
|
275
305
|
table: {
|
|
276
306
|
selectAll: string;
|
|
277
307
|
loading: string;
|
|
278
308
|
selectRow: string;
|
|
309
|
+
label: string;
|
|
310
|
+
sortedBy: string;
|
|
311
|
+
ascending: string;
|
|
312
|
+
descending: string;
|
|
313
|
+
sortCleared: string;
|
|
279
314
|
};
|
|
280
315
|
theme: {
|
|
281
316
|
label: string;
|
|
@@ -286,6 +321,7 @@ export interface KMessages {
|
|
|
286
321
|
toaster: {
|
|
287
322
|
label: string;
|
|
288
323
|
dismiss: string;
|
|
324
|
+
actionHint: string;
|
|
289
325
|
};
|
|
290
326
|
tree: {
|
|
291
327
|
label: string;
|
|
@@ -294,6 +330,23 @@ export interface KMessages {
|
|
|
294
330
|
reorderNestedHint: string;
|
|
295
331
|
moved: string;
|
|
296
332
|
movedInto: string;
|
|
333
|
+
moveUp: string;
|
|
334
|
+
moveDown: string;
|
|
335
|
+
indent: string;
|
|
336
|
+
outdent: string;
|
|
337
|
+
};
|
|
338
|
+
meter: {
|
|
339
|
+
label: string;
|
|
340
|
+
valueText: string;
|
|
341
|
+
good: string;
|
|
342
|
+
fair: string;
|
|
343
|
+
poor: string;
|
|
344
|
+
};
|
|
345
|
+
tone: {
|
|
346
|
+
danger: string;
|
|
347
|
+
warning: string;
|
|
348
|
+
info: string;
|
|
349
|
+
success: string;
|
|
297
350
|
};
|
|
298
351
|
}
|
|
299
352
|
export interface KLocale {
|
package/dist/nuxt/module.mjs
CHANGED
|
@@ -292,7 +292,7 @@ function filterCollection(data, option) {
|
|
|
292
292
|
([name, alias]) => keep(name) && alias.parent in icons
|
|
293
293
|
)
|
|
294
294
|
);
|
|
295
|
-
return { prefix:
|
|
295
|
+
return { prefix: option.prefix, icons, aliases, width: data.width, height: data.height };
|
|
296
296
|
}
|
|
297
297
|
function collectionSvg(collections, name) {
|
|
298
298
|
const index = name.indexOf(":");
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span
|
|
3
|
+
v-if="announce"
|
|
4
|
+
class="k-route-announcer k-visually-hidden"
|
|
5
|
+
:role="politeness === 'assertive' ? 'alert' : 'status'"
|
|
6
|
+
:aria-live="politeness"
|
|
7
|
+
>{{ message }}</span
|
|
8
|
+
>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script setup>
|
|
12
|
+
import { useRouteAnnouncer } from "nuxt/app";
|
|
13
|
+
import { onMounted, ref } from "vue";
|
|
14
|
+
const { message, politeness } = useRouteAnnouncer();
|
|
15
|
+
const announce = ref(false);
|
|
16
|
+
onMounted(
|
|
17
|
+
() => requestAnimationFrame(() => {
|
|
18
|
+
announce.value = !document.querySelector(".nuxt-route-announcer, .k-route-announcer");
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
</script>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<Partial<import("vue").HTMLAttributes & import("vue").ReservedProps>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Partial<import("vue").HTMLAttributes & import("vue").ReservedProps>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useHead, useRoute } from "nuxt/app";
|
|
2
|
+
import { toValue } from "vue";
|
|
3
|
+
export function useLayoutHead(brandName) {
|
|
4
|
+
const route = useRoute();
|
|
5
|
+
useHead({
|
|
6
|
+
title: () => typeof route.meta.title === "string" ? route.meta.title : void 0,
|
|
7
|
+
titleTemplate: (title) => {
|
|
8
|
+
const brand = toValue(brandName);
|
|
9
|
+
if (!brand) return title ?? null;
|
|
10
|
+
return title && title !== brand ? `${title} \xB7 ${brand}` : brand;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
<slot />
|
|
18
18
|
</AuthLayout>
|
|
19
19
|
<OverlayHost v-if="config.toaster !== false" />
|
|
20
|
+
<RouteAnnouncer />
|
|
20
21
|
</Root>
|
|
21
22
|
</template>
|
|
22
23
|
|
|
@@ -26,10 +27,13 @@ import { computed } from "vue";
|
|
|
26
27
|
import Root from "../../../components/core/Root.vue";
|
|
27
28
|
import OverlayHost from "../../../components/overlays/OverlayHost.vue";
|
|
28
29
|
import AuthLayout from "../../../components/templates/AuthLayout.vue";
|
|
30
|
+
import { useLayoutHead } from "../layout-head";
|
|
31
|
+
import RouteAnnouncer from "../RouteAnnouncer.vue";
|
|
29
32
|
const appConfig = useAppConfig();
|
|
30
33
|
const route = useRoute();
|
|
31
34
|
const config = computed(() => appConfig.k ?? {});
|
|
32
35
|
const brand = computed(() => config.value.brand ?? {});
|
|
36
|
+
useLayoutHead(() => brand.value.name);
|
|
33
37
|
const auth = computed(() => config.value.auth ?? {});
|
|
34
38
|
const title = computed(() => typeof route.meta.title === "string" ? route.meta.title : void 0);
|
|
35
39
|
const description = computed(
|
|
@@ -21,6 +21,7 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
21
21
|
readonly results?: (string | number) | undefined;
|
|
22
22
|
readonly placeholder?: string | undefined | undefined;
|
|
23
23
|
readonly bind?: Record<string, unknown> | undefined;
|
|
24
|
+
readonly dir?: string | undefined | undefined;
|
|
24
25
|
readonly class?: import("vue").ClassValue;
|
|
25
26
|
readonly role?: string | undefined | undefined;
|
|
26
27
|
readonly 'aria-label'?: string | undefined | undefined;
|
|
@@ -180,7 +181,6 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
180
181
|
readonly accesskey?: string | undefined | undefined;
|
|
181
182
|
readonly contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
182
183
|
readonly contextmenu?: string | undefined | undefined;
|
|
183
|
-
readonly dir?: string | undefined | undefined;
|
|
184
184
|
readonly draggable?: (boolean | "true" | "false") | undefined;
|
|
185
185
|
readonly enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
186
186
|
readonly enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
@@ -239,6 +239,7 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
239
239
|
readonly results?: (string | number) | undefined;
|
|
240
240
|
readonly placeholder?: string | undefined | undefined;
|
|
241
241
|
readonly bind?: Record<string, unknown> | undefined;
|
|
242
|
+
readonly dir?: string | undefined | undefined;
|
|
242
243
|
readonly class?: import("vue").ClassValue;
|
|
243
244
|
readonly role?: string | undefined | undefined;
|
|
244
245
|
readonly 'aria-label'?: string | undefined | undefined;
|
|
@@ -398,7 +399,6 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
398
399
|
readonly accesskey?: string | undefined | undefined;
|
|
399
400
|
readonly contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
400
401
|
readonly contextmenu?: string | undefined | undefined;
|
|
401
|
-
readonly dir?: string | undefined | undefined;
|
|
402
402
|
readonly draggable?: (boolean | "true" | "false") | undefined;
|
|
403
403
|
readonly enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
404
404
|
readonly enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
<slot />
|
|
25
25
|
</DashboardLayout>
|
|
26
26
|
<OverlayHost v-if="config.toaster !== false" />
|
|
27
|
+
<RouteAnnouncer />
|
|
27
28
|
</Root>
|
|
28
29
|
</template>
|
|
29
30
|
|
|
@@ -33,6 +34,8 @@ import { computed } from "vue";
|
|
|
33
34
|
import Root from "../../../components/core/Root.vue";
|
|
34
35
|
import OverlayHost from "../../../components/overlays/OverlayHost.vue";
|
|
35
36
|
import DashboardLayout from "../../../components/templates/DashboardLayout.vue";
|
|
37
|
+
import { useLayoutHead } from "../layout-head";
|
|
38
|
+
import RouteAnnouncer from "../RouteAnnouncer.vue";
|
|
36
39
|
import { navBreadcrumbs, navTarget, toNavSections } from "../../../internal/layout/navigation";
|
|
37
40
|
import { useDashboard } from "../dashboard";
|
|
38
41
|
const appConfig = useAppConfig();
|
|
@@ -40,6 +43,7 @@ const route = useRoute();
|
|
|
40
43
|
const state = useDashboard();
|
|
41
44
|
const config = computed(() => appConfig.k ?? {});
|
|
42
45
|
const brand = computed(() => config.value.brand ?? {});
|
|
46
|
+
useLayoutHead(() => brand.value.name);
|
|
43
47
|
const dashboard = computed(() => config.value.dashboard ?? {});
|
|
44
48
|
const account = computed(() => state.value.account ?? config.value.account);
|
|
45
49
|
const settings = computed(() => config.value.settings ?? {});
|
|
@@ -21,6 +21,7 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
21
21
|
readonly results?: (string | number) | undefined;
|
|
22
22
|
readonly placeholder?: string | undefined | undefined;
|
|
23
23
|
readonly bind?: Record<string, unknown> | undefined;
|
|
24
|
+
readonly dir?: string | undefined | undefined;
|
|
24
25
|
readonly class?: import("vue").ClassValue;
|
|
25
26
|
readonly role?: string | undefined | undefined;
|
|
26
27
|
readonly 'aria-label'?: string | undefined | undefined;
|
|
@@ -180,7 +181,6 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
180
181
|
readonly accesskey?: string | undefined | undefined;
|
|
181
182
|
readonly contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
182
183
|
readonly contextmenu?: string | undefined | undefined;
|
|
183
|
-
readonly dir?: string | undefined | undefined;
|
|
184
184
|
readonly draggable?: (boolean | "true" | "false") | undefined;
|
|
185
185
|
readonly enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
186
186
|
readonly enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
@@ -239,6 +239,7 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
239
239
|
readonly results?: (string | number) | undefined;
|
|
240
240
|
readonly placeholder?: string | undefined | undefined;
|
|
241
241
|
readonly bind?: Record<string, unknown> | undefined;
|
|
242
|
+
readonly dir?: string | undefined | undefined;
|
|
242
243
|
readonly class?: import("vue").ClassValue;
|
|
243
244
|
readonly role?: string | undefined | undefined;
|
|
244
245
|
readonly 'aria-label'?: string | undefined | undefined;
|
|
@@ -398,7 +399,6 @@ declare const __VLS_base: import("vue").DefineComponent<Partial<NonNullable<{
|
|
|
398
399
|
readonly accesskey?: string | undefined | undefined;
|
|
399
400
|
readonly contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
400
401
|
readonly contextmenu?: string | undefined | undefined;
|
|
401
|
-
readonly dir?: string | undefined | undefined;
|
|
402
402
|
readonly draggable?: (boolean | "true" | "false") | undefined;
|
|
403
403
|
readonly enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
404
404
|
readonly enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineNuxtPlugin, useRuntimeConfig } from "nuxt/app";
|
|
1
|
+
import { defineNuxtPlugin, useHead, useRuntimeConfig } from "nuxt/app";
|
|
2
2
|
import { computed } from "vue";
|
|
3
3
|
import { LOCALE_KEY } from "../../internal/keys.mjs";
|
|
4
4
|
import { defineLocale } from "../../locale/index.mjs";
|
|
@@ -16,5 +16,12 @@ export default defineNuxtPlugin({
|
|
|
16
16
|
return defineLocale({ code: code.value, base, messages: config.messages?.[code.value] });
|
|
17
17
|
});
|
|
18
18
|
nuxtApp.vueApp.provide(LOCALE_KEY, locale);
|
|
19
|
+
const owned = () => !nuxtApp.$i18n;
|
|
20
|
+
useHead({
|
|
21
|
+
htmlAttrs: {
|
|
22
|
+
lang: () => owned() ? locale.value.code : void 0,
|
|
23
|
+
dir: () => owned() ? locale.value.dir : void 0
|
|
24
|
+
}
|
|
25
|
+
});
|
|
19
26
|
}
|
|
20
27
|
});
|
|
@@ -4,22 +4,27 @@ import { isThemePreference, THEME_STORAGE_KEY } from "../../composables/useTheme
|
|
|
4
4
|
import { isThemePreset, PRESET_STORAGE_KEY } from "../../internal/core/preset-data.mjs";
|
|
5
5
|
import { PRESET_KEY, THEME_KEY } from "../../internal/keys.mjs";
|
|
6
6
|
import { persistentCookieOptions } from "./cookie.mjs";
|
|
7
|
+
function preferenceRef(cookieName, key, isValid, fallback) {
|
|
8
|
+
const store = cookieName === false ? useState(key, () => fallback) : useCookie(cookieName ?? key, { ...persistentCookieOptions, default: () => fallback });
|
|
9
|
+
if (!isValid(store.value)) store.value = fallback;
|
|
10
|
+
return store;
|
|
11
|
+
}
|
|
7
12
|
export default defineNuxtPlugin({
|
|
8
13
|
name: "k:theme",
|
|
9
14
|
setup(nuxtApp) {
|
|
10
15
|
const config = useRuntimeConfig().public.k ?? {};
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
const cookie = preferenceRef(
|
|
17
|
+
config.themeCookie,
|
|
18
|
+
THEME_STORAGE_KEY,
|
|
19
|
+
isThemePreference,
|
|
20
|
+
isThemePreference(config.themeDefault) ? config.themeDefault : "system"
|
|
21
|
+
);
|
|
22
|
+
const presetCookie = preferenceRef(
|
|
23
|
+
config.presetCookie,
|
|
24
|
+
PRESET_STORAGE_KEY,
|
|
25
|
+
isThemePreset,
|
|
26
|
+
isThemePreset(config.presetDefault) ? config.presetDefault : "default"
|
|
27
|
+
);
|
|
23
28
|
nuxtApp.vueApp.provide(THEME_KEY, cookie);
|
|
24
29
|
nuxtApp.vueApp.provide(PRESET_KEY, presetCookie);
|
|
25
30
|
if (config.global) {
|
package/dist/styles/base.css
CHANGED
|
@@ -153,19 +153,6 @@ html.k-root > body {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
@keyframes k-icon-spin {
|
|
157
|
-
from {
|
|
158
|
-
transform: rotate(-60deg) scale(0.6);
|
|
159
|
-
opacity: 0.4;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
@keyframes k-float {
|
|
164
|
-
50% {
|
|
165
|
-
transform: translateY(-3px);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
156
|
@keyframes k-pulse {
|
|
170
157
|
50% {
|
|
171
158
|
opacity: 0.45;
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
display: inline-flex;
|
|
60
60
|
align-items: center;
|
|
61
61
|
min-width: 0;
|
|
62
|
-
overflow:
|
|
62
|
+
overflow-x: clip;
|
|
63
63
|
text-overflow: ellipsis;
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
--k-btn-size: var(--k-size-sm);
|
|
91
91
|
font-size: 0.8125rem;
|
|
92
92
|
padding: 0.25rem 0.625rem;
|
|
93
|
-
border-radius:
|
|
93
|
+
border-radius: var(--k-radius-sm);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
.k-btn-md {
|
|
@@ -109,25 +109,25 @@
|
|
|
109
109
|
|
|
110
110
|
.k-btn-danger {
|
|
111
111
|
--k-btn-tone: var(--k-danger);
|
|
112
|
-
--k-btn-tone-text: var(--k-danger);
|
|
112
|
+
--k-btn-tone-text: var(--k-danger-text);
|
|
113
113
|
--k-btn-on-tone: var(--k-text-inverted);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.k-btn-info {
|
|
117
117
|
--k-btn-tone: var(--k-info);
|
|
118
|
-
--k-btn-tone-text: var(--k-info);
|
|
118
|
+
--k-btn-tone-text: var(--k-info-text);
|
|
119
119
|
--k-btn-on-tone: var(--k-text-inverted);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
.k-btn-success {
|
|
123
|
-
--k-btn-tone: var(--k-success);
|
|
124
|
-
--k-btn-tone-text: var(--k-success);
|
|
123
|
+
--k-btn-tone: light-dark(color-mix(in oklab, var(--k-success) 94%, black), var(--k-success));
|
|
124
|
+
--k-btn-tone-text: var(--k-success-text);
|
|
125
125
|
--k-btn-on-tone: var(--k-text-inverted);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
.k-btn-warning {
|
|
129
|
-
--k-btn-tone: var(--k-warning);
|
|
130
|
-
--k-btn-tone-text: var(--k-warning);
|
|
129
|
+
--k-btn-tone: light-dark(color-mix(in oklab, var(--k-warning) 94%, black), var(--k-warning));
|
|
130
|
+
--k-btn-tone-text: var(--k-warning-text);
|
|
131
131
|
--k-btn-on-tone: var(--k-text-inverted);
|
|
132
132
|
}
|
|
133
133
|
|