@m3ui-vue/m3ui-vue 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MMenuItem-CIDblhtb.js → MMenuItem-DpoEsH91.js} +195 -114
- package/dist/MMenuItem-DpoEsH91.js.map +1 -0
- package/dist/components/MAlert.vue.d.ts +1 -0
- package/dist/components/MButton.vue.d.ts +1 -1
- package/dist/components/MCalendar.vue.d.ts +3 -0
- package/dist/components/MChip.vue.d.ts +3 -3
- package/dist/components/MCommandPalette.vue.d.ts +3 -2
- package/dist/components/MConfirmDialog.vue.d.ts +0 -2
- package/dist/components/MDataTable.vue.d.ts +8 -2
- package/dist/components/MDatePicker.vue.d.ts +2 -0
- package/dist/components/MDateRangePicker.vue.d.ts +5 -0
- package/dist/components/MDialog.vue.d.ts +1 -0
- package/dist/components/MFileUpload.vue.d.ts +15 -1
- package/dist/components/MInfiniteScroll.vue.d.ts +7 -5
- package/dist/components/MMultiSelect.vue.d.ts +13 -1
- package/dist/components/MRichTextEditor.vue.d.ts +28 -1
- package/dist/components/MScheduler.vue.d.ts +5 -0
- package/dist/components/MSnackbar.vue.d.ts +4 -1
- package/dist/components/MSpinner.vue.d.ts +1 -0
- package/dist/components/MSpotlightSearch.vue.d.ts +3 -2
- package/dist/components/MTable.vue.d.ts +2 -1
- package/dist/components/MTimePicker.vue.d.ts +1 -0
- package/dist/components/MTour.vue.d.ts +3 -0
- package/dist/components/MTransferList.vue.d.ts +19 -3
- package/dist/components/MTree.vue.d.ts +1 -1
- package/dist/composables/useLocale.d.ts +74 -0
- package/dist/index.d.ts +2 -0
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/es.d.ts +2 -0
- package/dist/locales/fr.d.ts +2 -0
- package/dist/locales/index.d.ts +8 -0
- package/dist/locales/ja.d.ts +2 -0
- package/dist/locales/ko.d.ts +2 -0
- package/dist/locales/pt.d.ts +2 -0
- package/dist/locales/zh.d.ts +2 -0
- package/dist/m3ui-vue.css +1 -1
- package/dist/m3ui.js +2734 -2647
- package/dist/m3ui.js.map +1 -1
- package/dist/plugin.d.ts +3 -1
- package/dist/rich-text-editor.d.ts +1 -0
- package/dist/rich-text-editor.js +141 -113
- package/dist/rich-text-editor.js.map +1 -1
- package/dist/styles/palettes.css +660 -0
- package/dist/styles.css +1 -1
- package/package.json +6 -2
- package/src/components/MAlert.vue +5 -1
- package/src/components/MCalendar.vue +14 -5
- package/src/components/MCommandPalette.vue +11 -7
- package/src/components/MConfirmDialog.vue +6 -5
- package/src/components/MDataTable.vue +18 -9
- package/src/components/MDatePicker.vue +11 -4
- package/src/components/MDateRangePicker.vue +15 -5
- package/src/components/MDialog.vue +5 -1
- package/src/components/MFileUpload.vue +22 -10
- package/src/components/MInfiniteScroll.vue +14 -9
- package/src/components/MMultiSelect.vue +11 -7
- package/src/components/MRichTextEditor.vue +95 -34
- package/src/components/MScheduler.vue +12 -4
- package/src/components/MSnackbar.vue +8 -1
- package/src/components/MSpinner.vue +5 -1
- package/src/components/MSpotlightSearch.vue +11 -7
- package/src/components/MTable.vue +8 -4
- package/src/components/MTimePicker.vue +5 -1
- package/src/components/MTour.vue +12 -9
- package/src/components/MTransferList.vue +30 -15
- package/src/composables/useColorPalette.ts +30 -20
- package/src/composables/useLocale.ts +181 -0
- package/src/index.ts +2 -0
- package/src/locales/de.ts +93 -0
- package/src/locales/es.ts +93 -0
- package/src/locales/fr.ts +93 -0
- package/src/locales/index.ts +8 -0
- package/src/locales/ja.ts +93 -0
- package/src/locales/ko.ts +93 -0
- package/src/locales/pt.ts +93 -0
- package/src/locales/zh.ts +93 -0
- package/src/plugin.ts +7 -1
- package/src/rich-text-editor.ts +1 -0
- package/src/styles/palettes.css +660 -0
- package/dist/MMenuItem-CIDblhtb.js.map +0 -1
|
@@ -3,6 +3,9 @@ import { computed, ref } from 'vue'
|
|
|
3
3
|
import MIcon from './MIcon.vue'
|
|
4
4
|
import MIconButton from './MIconButton.vue'
|
|
5
5
|
import MCheckbox from './MCheckbox.vue'
|
|
6
|
+
import { useLocale } from '../composables/useLocale'
|
|
7
|
+
|
|
8
|
+
const locale = useLocale()
|
|
6
9
|
|
|
7
10
|
export interface TransferItem {
|
|
8
11
|
value: string | number
|
|
@@ -16,7 +19,15 @@ const props = withDefaults(defineProps<{
|
|
|
16
19
|
sourceTitle?: string
|
|
17
20
|
targetTitle?: string
|
|
18
21
|
filterable?: boolean
|
|
19
|
-
|
|
22
|
+
searchPlaceholder?: string
|
|
23
|
+
emptyText?: string
|
|
24
|
+
moveAllRightLabel?: string
|
|
25
|
+
moveRightLabel?: string
|
|
26
|
+
moveLeftLabel?: string
|
|
27
|
+
moveAllLeftLabel?: string
|
|
28
|
+
}>(), {
|
|
29
|
+
filterable: false,
|
|
30
|
+
})
|
|
20
31
|
|
|
21
32
|
const emit = defineEmits<{ 'update:modelValue': [(string | number)[]] }>()
|
|
22
33
|
|
|
@@ -83,14 +94,14 @@ function moveAllLeft() {
|
|
|
83
94
|
<!-- Source list -->
|
|
84
95
|
<div class="flex min-w-0 flex-1 flex-col overflow-hidden rounded-lg border border-outline-variant">
|
|
85
96
|
<div class="flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-2">
|
|
86
|
-
<span class="text-label-large font-medium text-on-surface">{{ sourceTitle }}</span>
|
|
97
|
+
<span class="text-label-large font-medium text-on-surface">{{ sourceTitle ?? locale.available }}</span>
|
|
87
98
|
<span class="text-label-small text-on-surface-variant">{{ sourceItems.length }}</span>
|
|
88
99
|
</div>
|
|
89
100
|
<div v-if="filterable" class="border-b border-outline-variant px-3 py-2">
|
|
90
101
|
<input
|
|
91
102
|
v-model="sourceSearch"
|
|
92
103
|
type="text"
|
|
93
|
-
placeholder="
|
|
104
|
+
:placeholder="searchPlaceholder ?? locale.search"
|
|
94
105
|
class="w-full bg-transparent text-body-medium text-on-surface outline-none placeholder:text-on-surface-variant/50"
|
|
95
106
|
/>
|
|
96
107
|
</div>
|
|
@@ -106,9 +117,11 @@ function moveAllLeft() {
|
|
|
106
117
|
<MIcon v-if="item.icon" :name="item.icon" :size="18" class="shrink-0 text-on-surface-variant" />
|
|
107
118
|
<span class="flex-1 truncate text-body-medium text-on-surface">{{ item.label }}</span>
|
|
108
119
|
</button>
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
120
|
+
<slot v-if="!sourceItems.length" name="source-empty">
|
|
121
|
+
<p class="px-3 py-4 text-center text-body-small text-on-surface-variant">
|
|
122
|
+
{{ emptyText ?? locale.noItems }}
|
|
123
|
+
</p>
|
|
124
|
+
</slot>
|
|
112
125
|
</div>
|
|
113
126
|
</div>
|
|
114
127
|
|
|
@@ -116,14 +129,14 @@ function moveAllLeft() {
|
|
|
116
129
|
<div class="flex flex-col items-center justify-center gap-1">
|
|
117
130
|
<MIconButton
|
|
118
131
|
icon="keyboard_double_arrow_right"
|
|
119
|
-
label="
|
|
132
|
+
:label="moveAllRightLabel ?? locale.moveAllRight"
|
|
120
133
|
:size="36"
|
|
121
134
|
:disabled="!sourceItems.length"
|
|
122
135
|
@click="moveAllRight"
|
|
123
136
|
/>
|
|
124
137
|
<MIconButton
|
|
125
138
|
icon="chevron_right"
|
|
126
|
-
label="
|
|
139
|
+
:label="moveRightLabel ?? locale.moveRight"
|
|
127
140
|
variant="tonal"
|
|
128
141
|
:size="36"
|
|
129
142
|
:disabled="!checkedSource.size"
|
|
@@ -131,7 +144,7 @@ function moveAllLeft() {
|
|
|
131
144
|
/>
|
|
132
145
|
<MIconButton
|
|
133
146
|
icon="chevron_left"
|
|
134
|
-
label="
|
|
147
|
+
:label="moveLeftLabel ?? locale.moveLeft"
|
|
135
148
|
variant="tonal"
|
|
136
149
|
:size="36"
|
|
137
150
|
:disabled="!checkedTarget.size"
|
|
@@ -139,7 +152,7 @@ function moveAllLeft() {
|
|
|
139
152
|
/>
|
|
140
153
|
<MIconButton
|
|
141
154
|
icon="keyboard_double_arrow_left"
|
|
142
|
-
label="
|
|
155
|
+
:label="moveAllLeftLabel ?? locale.moveAllLeft"
|
|
143
156
|
:size="36"
|
|
144
157
|
:disabled="!targetItems.length"
|
|
145
158
|
@click="moveAllLeft"
|
|
@@ -149,14 +162,14 @@ function moveAllLeft() {
|
|
|
149
162
|
<!-- Target list -->
|
|
150
163
|
<div class="flex min-w-0 flex-1 flex-col overflow-hidden rounded-lg border border-outline-variant">
|
|
151
164
|
<div class="flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-2">
|
|
152
|
-
<span class="text-label-large font-medium text-on-surface">{{ targetTitle }}</span>
|
|
165
|
+
<span class="text-label-large font-medium text-on-surface">{{ targetTitle ?? locale.selected }}</span>
|
|
153
166
|
<span class="text-label-small text-on-surface-variant">{{ targetItems.length }}</span>
|
|
154
167
|
</div>
|
|
155
168
|
<div v-if="filterable" class="border-b border-outline-variant px-3 py-2">
|
|
156
169
|
<input
|
|
157
170
|
v-model="targetSearch"
|
|
158
171
|
type="text"
|
|
159
|
-
placeholder="
|
|
172
|
+
:placeholder="searchPlaceholder ?? locale.search"
|
|
160
173
|
class="w-full bg-transparent text-body-medium text-on-surface outline-none placeholder:text-on-surface-variant/50"
|
|
161
174
|
/>
|
|
162
175
|
</div>
|
|
@@ -172,9 +185,11 @@ function moveAllLeft() {
|
|
|
172
185
|
<MIcon v-if="item.icon" :name="item.icon" :size="18" class="shrink-0 text-on-surface-variant" />
|
|
173
186
|
<span class="flex-1 truncate text-body-medium text-on-surface">{{ item.label }}</span>
|
|
174
187
|
</button>
|
|
175
|
-
<
|
|
176
|
-
|
|
177
|
-
|
|
188
|
+
<slot v-if="!targetItems.length" name="target-empty">
|
|
189
|
+
<p class="px-3 py-4 text-center text-body-small text-on-surface-variant">
|
|
190
|
+
{{ emptyText ?? locale.noItems }}
|
|
191
|
+
</p>
|
|
192
|
+
</slot>
|
|
178
193
|
</div>
|
|
179
194
|
</div>
|
|
180
195
|
</div>
|
|
@@ -7,26 +7,36 @@ export interface Palette {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export const palettes: Palette[] = [
|
|
10
|
-
{ id: 'purple', label: '
|
|
11
|
-
{ id: 'indigo', label: '
|
|
12
|
-
{ id: 'navy', label: '
|
|
13
|
-
{ id: 'blue', label: '
|
|
14
|
-
{ id: 'cyan', label: '
|
|
15
|
-
{ id: 'teal', label: 'Teal',
|
|
16
|
-
{ id: 'green', label: '
|
|
17
|
-
{ id: 'lime', label: '
|
|
18
|
-
{ id: 'olive', label: '
|
|
19
|
-
{ id: 'amber', label: '
|
|
20
|
-
{ id: 'sand', label: '
|
|
21
|
-
{ id: 'orange', label: '
|
|
22
|
-
{ id: 'deep-orange', label: '
|
|
23
|
-
{ id: 'brown', label: '
|
|
24
|
-
{ id: 'red', label: '
|
|
25
|
-
{ id: 'coral', label: 'Coral',
|
|
26
|
-
{ id: 'crimson', label: '
|
|
27
|
-
{ id: 'pink', label: '
|
|
28
|
-
{ id: 'violet', label: '
|
|
29
|
-
{ id: 'slate', label: '
|
|
10
|
+
{ id: 'purple', label: 'Purple', seed: '#6750A4' },
|
|
11
|
+
{ id: 'indigo', label: 'Indigo', seed: '#4355B9' },
|
|
12
|
+
{ id: 'navy', label: 'Navy', seed: '#354BA0' },
|
|
13
|
+
{ id: 'blue', label: 'Blue', seed: '#005AC1' },
|
|
14
|
+
{ id: 'cyan', label: 'Cyan', seed: '#006874' },
|
|
15
|
+
{ id: 'teal', label: 'Teal', seed: '#006B5F' },
|
|
16
|
+
{ id: 'green', label: 'Green', seed: '#386A20' },
|
|
17
|
+
{ id: 'lime', label: 'Lime', seed: '#4C6706' },
|
|
18
|
+
{ id: 'olive', label: 'Olive', seed: '#636118' },
|
|
19
|
+
{ id: 'amber', label: 'Amber', seed: '#785900' },
|
|
20
|
+
{ id: 'sand', label: 'Sand', seed: '#715C2E' },
|
|
21
|
+
{ id: 'orange', label: 'Orange', seed: '#8B5000' },
|
|
22
|
+
{ id: 'deep-orange', label: 'Deep Orange', seed: '#96480A' },
|
|
23
|
+
{ id: 'brown', label: 'Brown', seed: '#6E4C32' },
|
|
24
|
+
{ id: 'red', label: 'Red', seed: '#B82000' },
|
|
25
|
+
{ id: 'coral', label: 'Coral', seed: '#A03530' },
|
|
26
|
+
{ id: 'crimson', label: 'Crimson', seed: '#9C4068' },
|
|
27
|
+
{ id: 'pink', label: 'Pink', seed: '#9C4057' },
|
|
28
|
+
{ id: 'violet', label: 'Violet', seed: '#7C39A4' },
|
|
29
|
+
{ id: 'slate', label: 'Slate', seed: '#4A6269' },
|
|
30
|
+
{ id: 'graphite', label: 'Graphite', seed: '#5C5C5C' },
|
|
31
|
+
{ id: 'charcoal', label: 'Charcoal', seed: '#3C3C3C' },
|
|
32
|
+
{ id: 'steel', label: 'Steel', seed: '#5A6A72' },
|
|
33
|
+
{ id: 'ash', label: 'Ash', seed: '#6B6560' },
|
|
34
|
+
{ id: 'iron', label: 'Iron', seed: '#505864' },
|
|
35
|
+
{ id: 'fog', label: 'Fog', seed: '#625E6E' },
|
|
36
|
+
{ id: 'pewter', label: 'Pewter', seed: '#5A6360' },
|
|
37
|
+
{ id: 'smoke', label: 'Smoke', seed: '#4D5C66' },
|
|
38
|
+
{ id: 'stone', label: 'Stone', seed: '#68635A' },
|
|
39
|
+
{ id: 'zinc', label: 'Zinc', seed: '#585B5E' },
|
|
30
40
|
]
|
|
31
41
|
|
|
32
42
|
const current = ref(localStorage.getItem('m3-palette') ?? 'purple')
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { inject, type InjectionKey } from 'vue'
|
|
2
|
+
|
|
3
|
+
export interface M3Locale {
|
|
4
|
+
// Common
|
|
5
|
+
search: string
|
|
6
|
+
noResults: string
|
|
7
|
+
close: string
|
|
8
|
+
cancel: string
|
|
9
|
+
confirm: string
|
|
10
|
+
loading: string
|
|
11
|
+
|
|
12
|
+
// Navigation
|
|
13
|
+
previous: string
|
|
14
|
+
next: string
|
|
15
|
+
today: string
|
|
16
|
+
more: string
|
|
17
|
+
|
|
18
|
+
// Tables
|
|
19
|
+
selectedCount: string
|
|
20
|
+
recordCount: string
|
|
21
|
+
expand: string
|
|
22
|
+
columns: string
|
|
23
|
+
exportCsv: string
|
|
24
|
+
noGroup: string
|
|
25
|
+
|
|
26
|
+
// Tour
|
|
27
|
+
finish: string
|
|
28
|
+
|
|
29
|
+
// File upload
|
|
30
|
+
dropText: string
|
|
31
|
+
selectText: string
|
|
32
|
+
maxSizePrefix: string
|
|
33
|
+
remove: string
|
|
34
|
+
|
|
35
|
+
// Pickers
|
|
36
|
+
selectDate: string
|
|
37
|
+
selectTime: string
|
|
38
|
+
selectRange: string
|
|
39
|
+
pickStart: string
|
|
40
|
+
pickEnd: string
|
|
41
|
+
previousMonth: string
|
|
42
|
+
nextMonth: string
|
|
43
|
+
|
|
44
|
+
// Scheduler
|
|
45
|
+
dayView: string
|
|
46
|
+
weekView: string
|
|
47
|
+
|
|
48
|
+
// Transfer list
|
|
49
|
+
available: string
|
|
50
|
+
selected: string
|
|
51
|
+
noItems: string
|
|
52
|
+
moveAllRight: string
|
|
53
|
+
moveRight: string
|
|
54
|
+
moveLeft: string
|
|
55
|
+
moveAllLeft: string
|
|
56
|
+
|
|
57
|
+
// Command palette / Spotlight
|
|
58
|
+
searchCommand: string
|
|
59
|
+
navigateHint: string
|
|
60
|
+
selectHint: string
|
|
61
|
+
openHint: string
|
|
62
|
+
closeHint: string
|
|
63
|
+
|
|
64
|
+
// Infinite scroll
|
|
65
|
+
loadingMore: string
|
|
66
|
+
noMoreItems: string
|
|
67
|
+
|
|
68
|
+
// Rich text editor
|
|
69
|
+
bold: string
|
|
70
|
+
italic: string
|
|
71
|
+
underline: string
|
|
72
|
+
strikethrough: string
|
|
73
|
+
highlight: string
|
|
74
|
+
bulletList: string
|
|
75
|
+
orderedList: string
|
|
76
|
+
blockquote: string
|
|
77
|
+
code: string
|
|
78
|
+
alignLeft: string
|
|
79
|
+
alignCenter: string
|
|
80
|
+
alignRight: string
|
|
81
|
+
undo: string
|
|
82
|
+
redo: string
|
|
83
|
+
link: string
|
|
84
|
+
image: string
|
|
85
|
+
paragraph: string
|
|
86
|
+
heading1: string
|
|
87
|
+
heading2: string
|
|
88
|
+
heading3: string
|
|
89
|
+
insertLink: string
|
|
90
|
+
insertImage: string
|
|
91
|
+
imageUrlLabel: string
|
|
92
|
+
insert: string
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export const defaultLocale: M3Locale = {
|
|
96
|
+
search: 'Search...',
|
|
97
|
+
noResults: 'No results',
|
|
98
|
+
close: 'Close',
|
|
99
|
+
cancel: 'Cancel',
|
|
100
|
+
confirm: 'Confirm',
|
|
101
|
+
loading: 'Loading',
|
|
102
|
+
|
|
103
|
+
previous: 'Previous',
|
|
104
|
+
next: 'Next',
|
|
105
|
+
today: 'Today',
|
|
106
|
+
more: 'more',
|
|
107
|
+
|
|
108
|
+
selectedCount: 'selected',
|
|
109
|
+
recordCount: 'record',
|
|
110
|
+
expand: 'Expand',
|
|
111
|
+
columns: 'Columns',
|
|
112
|
+
exportCsv: 'Export CSV',
|
|
113
|
+
noGroup: 'No group',
|
|
114
|
+
|
|
115
|
+
finish: 'Finish',
|
|
116
|
+
|
|
117
|
+
dropText: 'Drop files here or',
|
|
118
|
+
selectText: 'browse',
|
|
119
|
+
maxSizePrefix: 'Max.',
|
|
120
|
+
remove: 'Remove',
|
|
121
|
+
|
|
122
|
+
selectDate: 'Select date',
|
|
123
|
+
selectTime: 'Select time',
|
|
124
|
+
selectRange: 'Select range',
|
|
125
|
+
pickStart: 'Select start',
|
|
126
|
+
pickEnd: 'Select end',
|
|
127
|
+
previousMonth: 'Previous month',
|
|
128
|
+
nextMonth: 'Next month',
|
|
129
|
+
|
|
130
|
+
dayView: 'Day',
|
|
131
|
+
weekView: 'Week',
|
|
132
|
+
|
|
133
|
+
available: 'Available',
|
|
134
|
+
selected: 'Selected',
|
|
135
|
+
noItems: 'No items',
|
|
136
|
+
moveAllRight: 'Move all right',
|
|
137
|
+
moveRight: 'Move selected right',
|
|
138
|
+
moveLeft: 'Move selected left',
|
|
139
|
+
moveAllLeft: 'Move all left',
|
|
140
|
+
|
|
141
|
+
searchCommand: 'Search command...',
|
|
142
|
+
navigateHint: 'navigate',
|
|
143
|
+
selectHint: 'select',
|
|
144
|
+
openHint: 'open',
|
|
145
|
+
closeHint: 'close',
|
|
146
|
+
|
|
147
|
+
loadingMore: 'Loading...',
|
|
148
|
+
noMoreItems: 'No more items',
|
|
149
|
+
|
|
150
|
+
bold: 'Bold',
|
|
151
|
+
italic: 'Italic',
|
|
152
|
+
underline: 'Underline',
|
|
153
|
+
strikethrough: 'Strikethrough',
|
|
154
|
+
highlight: 'Highlight',
|
|
155
|
+
bulletList: 'Bullet list',
|
|
156
|
+
orderedList: 'Ordered list',
|
|
157
|
+
blockquote: 'Blockquote',
|
|
158
|
+
code: 'Code',
|
|
159
|
+
alignLeft: 'Align left',
|
|
160
|
+
alignCenter: 'Align center',
|
|
161
|
+
alignRight: 'Align right',
|
|
162
|
+
undo: 'Undo',
|
|
163
|
+
redo: 'Redo',
|
|
164
|
+
link: 'Link',
|
|
165
|
+
image: 'Image',
|
|
166
|
+
paragraph: 'Paragraph',
|
|
167
|
+
heading1: 'Heading 1',
|
|
168
|
+
heading2: 'Heading 2',
|
|
169
|
+
heading3: 'Heading 3',
|
|
170
|
+
insertLink: 'Insert link',
|
|
171
|
+
insertImage: 'Insert image',
|
|
172
|
+
imageUrlLabel: 'Image URL',
|
|
173
|
+
insert: 'Insert',
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export const M3_LOCALE_KEY: InjectionKey<Partial<M3Locale>> = Symbol('m3-locale')
|
|
177
|
+
|
|
178
|
+
export function useLocale(): M3Locale {
|
|
179
|
+
const provided = inject(M3_LOCALE_KEY, {})
|
|
180
|
+
return { ...defaultLocale, ...provided }
|
|
181
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -10,6 +10,8 @@ export type { Palette } from './composables/useColorPalette'
|
|
|
10
10
|
export { useToast } from './composables/useToast'
|
|
11
11
|
export type { Toast, ToastVariant, ToastPosition, ToastAction, ToastOptions } from './composables/useToast'
|
|
12
12
|
export { useFieldBg } from './composables/useFieldBg'
|
|
13
|
+
export { useLocale, defaultLocale } from './composables/useLocale'
|
|
14
|
+
export type { M3Locale } from './composables/useLocale'
|
|
13
15
|
|
|
14
16
|
// Components
|
|
15
17
|
export { default as MAbsolute } from './components/MAbsolute.vue'
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { M3Locale } from '../composables/useLocale'
|
|
2
|
+
|
|
3
|
+
export const deLocale: M3Locale = {
|
|
4
|
+
// Common
|
|
5
|
+
search: 'Suchen...',
|
|
6
|
+
noResults: 'Keine Ergebnisse',
|
|
7
|
+
close: 'Schließen',
|
|
8
|
+
cancel: 'Abbrechen',
|
|
9
|
+
confirm: 'Bestätigen',
|
|
10
|
+
loading: 'Laden',
|
|
11
|
+
|
|
12
|
+
// Navigation
|
|
13
|
+
previous: 'Zurück',
|
|
14
|
+
next: 'Weiter',
|
|
15
|
+
today: 'Heute',
|
|
16
|
+
more: 'mehr',
|
|
17
|
+
|
|
18
|
+
// Tables
|
|
19
|
+
selectedCount: 'ausgewählt',
|
|
20
|
+
recordCount: 'Datensatz',
|
|
21
|
+
expand: 'Erweitern',
|
|
22
|
+
columns: 'Spalten',
|
|
23
|
+
exportCsv: 'CSV exportieren',
|
|
24
|
+
noGroup: 'Keine Gruppe',
|
|
25
|
+
|
|
26
|
+
// Tour
|
|
27
|
+
finish: 'Fertig',
|
|
28
|
+
|
|
29
|
+
// File upload
|
|
30
|
+
dropText: 'Dateien hierher ziehen oder',
|
|
31
|
+
selectText: 'durchsuchen',
|
|
32
|
+
maxSizePrefix: 'Max.',
|
|
33
|
+
remove: 'Entfernen',
|
|
34
|
+
|
|
35
|
+
// Pickers
|
|
36
|
+
selectDate: 'Datum auswählen',
|
|
37
|
+
selectTime: 'Uhrzeit auswählen',
|
|
38
|
+
selectRange: 'Bereich auswählen',
|
|
39
|
+
pickStart: 'Anfang auswählen',
|
|
40
|
+
pickEnd: 'Ende auswählen',
|
|
41
|
+
previousMonth: 'Vorheriger Monat',
|
|
42
|
+
nextMonth: 'Nächster Monat',
|
|
43
|
+
|
|
44
|
+
// Scheduler
|
|
45
|
+
dayView: 'Tag',
|
|
46
|
+
weekView: 'Woche',
|
|
47
|
+
|
|
48
|
+
// Transfer list
|
|
49
|
+
available: 'Verfügbar',
|
|
50
|
+
selected: 'Ausgewählt',
|
|
51
|
+
noItems: 'Keine Elemente',
|
|
52
|
+
moveAllRight: 'Alle nach rechts verschieben',
|
|
53
|
+
moveRight: 'Auswahl nach rechts verschieben',
|
|
54
|
+
moveLeft: 'Auswahl nach links verschieben',
|
|
55
|
+
moveAllLeft: 'Alle nach links verschieben',
|
|
56
|
+
|
|
57
|
+
// Command palette / Spotlight
|
|
58
|
+
searchCommand: 'Befehl suchen...',
|
|
59
|
+
navigateHint: 'navigieren',
|
|
60
|
+
selectHint: 'auswählen',
|
|
61
|
+
openHint: 'öffnen',
|
|
62
|
+
closeHint: 'schließen',
|
|
63
|
+
|
|
64
|
+
// Infinite scroll
|
|
65
|
+
loadingMore: 'Laden...',
|
|
66
|
+
noMoreItems: 'Keine weiteren Elemente',
|
|
67
|
+
|
|
68
|
+
// Rich text editor
|
|
69
|
+
bold: 'Fett',
|
|
70
|
+
italic: 'Kursiv',
|
|
71
|
+
underline: 'Unterstrichen',
|
|
72
|
+
strikethrough: 'Durchgestrichen',
|
|
73
|
+
highlight: 'Hervorheben',
|
|
74
|
+
bulletList: 'Aufzählungsliste',
|
|
75
|
+
orderedList: 'Nummerierte Liste',
|
|
76
|
+
blockquote: 'Zitat',
|
|
77
|
+
code: 'Code',
|
|
78
|
+
alignLeft: 'Linksbündig',
|
|
79
|
+
alignCenter: 'Zentriert',
|
|
80
|
+
alignRight: 'Rechtsbündig',
|
|
81
|
+
undo: 'Rückgängig',
|
|
82
|
+
redo: 'Wiederholen',
|
|
83
|
+
link: 'Link',
|
|
84
|
+
image: 'Bild',
|
|
85
|
+
paragraph: 'Absatz',
|
|
86
|
+
heading1: 'Überschrift 1',
|
|
87
|
+
heading2: 'Überschrift 2',
|
|
88
|
+
heading3: 'Überschrift 3',
|
|
89
|
+
insertLink: 'Link einfügen',
|
|
90
|
+
insertImage: 'Bild einfügen',
|
|
91
|
+
imageUrlLabel: 'Bild-URL',
|
|
92
|
+
insert: 'Einfügen',
|
|
93
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { M3Locale } from '../composables/useLocale'
|
|
2
|
+
|
|
3
|
+
export const esLocale: M3Locale = {
|
|
4
|
+
// Common
|
|
5
|
+
search: 'Buscar...',
|
|
6
|
+
noResults: 'Sin resultados',
|
|
7
|
+
close: 'Cerrar',
|
|
8
|
+
cancel: 'Cancelar',
|
|
9
|
+
confirm: 'Confirmar',
|
|
10
|
+
loading: 'Cargando',
|
|
11
|
+
|
|
12
|
+
// Navigation
|
|
13
|
+
previous: 'Anterior',
|
|
14
|
+
next: 'Siguiente',
|
|
15
|
+
today: 'Hoy',
|
|
16
|
+
more: 'más',
|
|
17
|
+
|
|
18
|
+
// Tables
|
|
19
|
+
selectedCount: 'seleccionados',
|
|
20
|
+
recordCount: 'registro',
|
|
21
|
+
expand: 'Expandir',
|
|
22
|
+
columns: 'Columnas',
|
|
23
|
+
exportCsv: 'Exportar CSV',
|
|
24
|
+
noGroup: 'Sin grupo',
|
|
25
|
+
|
|
26
|
+
// Tour
|
|
27
|
+
finish: 'Finalizar',
|
|
28
|
+
|
|
29
|
+
// File upload
|
|
30
|
+
dropText: 'Arrastra archivos aquí o',
|
|
31
|
+
selectText: 'explorar',
|
|
32
|
+
maxSizePrefix: 'Máx.',
|
|
33
|
+
remove: 'Eliminar',
|
|
34
|
+
|
|
35
|
+
// Pickers
|
|
36
|
+
selectDate: 'Seleccionar fecha',
|
|
37
|
+
selectTime: 'Seleccionar hora',
|
|
38
|
+
selectRange: 'Seleccionar rango',
|
|
39
|
+
pickStart: 'Seleccionar inicio',
|
|
40
|
+
pickEnd: 'Seleccionar fin',
|
|
41
|
+
previousMonth: 'Mes anterior',
|
|
42
|
+
nextMonth: 'Mes siguiente',
|
|
43
|
+
|
|
44
|
+
// Scheduler
|
|
45
|
+
dayView: 'Día',
|
|
46
|
+
weekView: 'Semana',
|
|
47
|
+
|
|
48
|
+
// Transfer list
|
|
49
|
+
available: 'Disponibles',
|
|
50
|
+
selected: 'Seleccionados',
|
|
51
|
+
noItems: 'Sin elementos',
|
|
52
|
+
moveAllRight: 'Mover todos a la derecha',
|
|
53
|
+
moveRight: 'Mover seleccionados a la derecha',
|
|
54
|
+
moveLeft: 'Mover seleccionados a la izquierda',
|
|
55
|
+
moveAllLeft: 'Mover todos a la izquierda',
|
|
56
|
+
|
|
57
|
+
// Command palette / Spotlight
|
|
58
|
+
searchCommand: 'Buscar comando...',
|
|
59
|
+
navigateHint: 'navegar',
|
|
60
|
+
selectHint: 'seleccionar',
|
|
61
|
+
openHint: 'abrir',
|
|
62
|
+
closeHint: 'cerrar',
|
|
63
|
+
|
|
64
|
+
// Infinite scroll
|
|
65
|
+
loadingMore: 'Cargando...',
|
|
66
|
+
noMoreItems: 'No hay más elementos',
|
|
67
|
+
|
|
68
|
+
// Rich text editor
|
|
69
|
+
bold: 'Negrita',
|
|
70
|
+
italic: 'Cursiva',
|
|
71
|
+
underline: 'Subrayado',
|
|
72
|
+
strikethrough: 'Tachado',
|
|
73
|
+
highlight: 'Resaltar',
|
|
74
|
+
bulletList: 'Lista con viñetas',
|
|
75
|
+
orderedList: 'Lista ordenada',
|
|
76
|
+
blockquote: 'Cita',
|
|
77
|
+
code: 'Código',
|
|
78
|
+
alignLeft: 'Alinear a la izquierda',
|
|
79
|
+
alignCenter: 'Centrar',
|
|
80
|
+
alignRight: 'Alinear a la derecha',
|
|
81
|
+
undo: 'Deshacer',
|
|
82
|
+
redo: 'Rehacer',
|
|
83
|
+
link: 'Enlace',
|
|
84
|
+
image: 'Imagen',
|
|
85
|
+
paragraph: 'Párrafo',
|
|
86
|
+
heading1: 'Encabezado 1',
|
|
87
|
+
heading2: 'Encabezado 2',
|
|
88
|
+
heading3: 'Encabezado 3',
|
|
89
|
+
insertLink: 'Insertar enlace',
|
|
90
|
+
insertImage: 'Insertar imagen',
|
|
91
|
+
imageUrlLabel: 'URL de la imagen',
|
|
92
|
+
insert: 'Insertar',
|
|
93
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { M3Locale } from '../composables/useLocale'
|
|
2
|
+
|
|
3
|
+
export const frLocale: M3Locale = {
|
|
4
|
+
// Common
|
|
5
|
+
search: 'Rechercher...',
|
|
6
|
+
noResults: 'Aucun résultat',
|
|
7
|
+
close: 'Fermer',
|
|
8
|
+
cancel: 'Annuler',
|
|
9
|
+
confirm: 'Confirmer',
|
|
10
|
+
loading: 'Chargement',
|
|
11
|
+
|
|
12
|
+
// Navigation
|
|
13
|
+
previous: 'Précédent',
|
|
14
|
+
next: 'Suivant',
|
|
15
|
+
today: "Aujourd'hui",
|
|
16
|
+
more: 'plus',
|
|
17
|
+
|
|
18
|
+
// Tables
|
|
19
|
+
selectedCount: 'sélectionnés',
|
|
20
|
+
recordCount: 'enregistrement',
|
|
21
|
+
expand: 'Développer',
|
|
22
|
+
columns: 'Colonnes',
|
|
23
|
+
exportCsv: 'Exporter CSV',
|
|
24
|
+
noGroup: 'Sans groupe',
|
|
25
|
+
|
|
26
|
+
// Tour
|
|
27
|
+
finish: 'Terminer',
|
|
28
|
+
|
|
29
|
+
// File upload
|
|
30
|
+
dropText: 'Déposez les fichiers ici ou',
|
|
31
|
+
selectText: 'parcourir',
|
|
32
|
+
maxSizePrefix: 'Max.',
|
|
33
|
+
remove: 'Supprimer',
|
|
34
|
+
|
|
35
|
+
// Pickers
|
|
36
|
+
selectDate: 'Sélectionner la date',
|
|
37
|
+
selectTime: "Sélectionner l'heure",
|
|
38
|
+
selectRange: 'Sélectionner la plage',
|
|
39
|
+
pickStart: 'Sélectionner le début',
|
|
40
|
+
pickEnd: 'Sélectionner la fin',
|
|
41
|
+
previousMonth: 'Mois précédent',
|
|
42
|
+
nextMonth: 'Mois suivant',
|
|
43
|
+
|
|
44
|
+
// Scheduler
|
|
45
|
+
dayView: 'Jour',
|
|
46
|
+
weekView: 'Semaine',
|
|
47
|
+
|
|
48
|
+
// Transfer list
|
|
49
|
+
available: 'Disponibles',
|
|
50
|
+
selected: 'Sélectionnés',
|
|
51
|
+
noItems: 'Aucun élément',
|
|
52
|
+
moveAllRight: 'Tout déplacer à droite',
|
|
53
|
+
moveRight: 'Déplacer la sélection à droite',
|
|
54
|
+
moveLeft: 'Déplacer la sélection à gauche',
|
|
55
|
+
moveAllLeft: 'Tout déplacer à gauche',
|
|
56
|
+
|
|
57
|
+
// Command palette / Spotlight
|
|
58
|
+
searchCommand: 'Rechercher une commande...',
|
|
59
|
+
navigateHint: 'naviguer',
|
|
60
|
+
selectHint: 'sélectionner',
|
|
61
|
+
openHint: 'ouvrir',
|
|
62
|
+
closeHint: 'fermer',
|
|
63
|
+
|
|
64
|
+
// Infinite scroll
|
|
65
|
+
loadingMore: 'Chargement...',
|
|
66
|
+
noMoreItems: "Plus d'éléments",
|
|
67
|
+
|
|
68
|
+
// Rich text editor
|
|
69
|
+
bold: 'Gras',
|
|
70
|
+
italic: 'Italique',
|
|
71
|
+
underline: 'Souligné',
|
|
72
|
+
strikethrough: 'Barré',
|
|
73
|
+
highlight: 'Surligner',
|
|
74
|
+
bulletList: 'Liste à puces',
|
|
75
|
+
orderedList: 'Liste numérotée',
|
|
76
|
+
blockquote: 'Citation',
|
|
77
|
+
code: 'Code',
|
|
78
|
+
alignLeft: 'Aligner à gauche',
|
|
79
|
+
alignCenter: 'Centrer',
|
|
80
|
+
alignRight: 'Aligner à droite',
|
|
81
|
+
undo: 'Annuler',
|
|
82
|
+
redo: 'Rétablir',
|
|
83
|
+
link: 'Lien',
|
|
84
|
+
image: 'Image',
|
|
85
|
+
paragraph: 'Paragraphe',
|
|
86
|
+
heading1: 'Titre 1',
|
|
87
|
+
heading2: 'Titre 2',
|
|
88
|
+
heading3: 'Titre 3',
|
|
89
|
+
insertLink: 'Insérer un lien',
|
|
90
|
+
insertImage: 'Insérer une image',
|
|
91
|
+
imageUrlLabel: "URL de l'image",
|
|
92
|
+
insert: 'Insérer',
|
|
93
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { esLocale } from './es'
|
|
2
|
+
export { frLocale } from './fr'
|
|
3
|
+
export { ptLocale } from './pt'
|
|
4
|
+
export { deLocale } from './de'
|
|
5
|
+
export { jaLocale } from './ja'
|
|
6
|
+
export { zhLocale } from './zh'
|
|
7
|
+
export { koLocale } from './ko'
|
|
8
|
+
export type { M3Locale } from '../composables/useLocale'
|