quasar 2.16.8 → 2.16.10
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/api/BottomSheet.json +1 -1
- package/dist/api/Dialog.json +1 -1
- package/dist/api/QTable.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/bs-BA.umd.prod.js +7 -0
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms-MY.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tl.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.client.js +45 -20
- package/dist/quasar.css +4 -1
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +5 -1
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +4 -2
- package/dist/quasar.server.prod.cjs +11 -11
- package/dist/quasar.server.prod.js +8 -8
- package/dist/quasar.umd.js +45 -20
- package/dist/quasar.umd.prod.js +11 -11
- package/dist/types/index.d.ts +4 -3
- package/dist/web-types/web-types.json +1 -1
- package/icon-set/material-symbols-outlined.js +2 -2
- package/icon-set/material-symbols-rounded.js +2 -2
- package/icon-set/material-symbols-sharp.js +2 -2
- package/icon-set/svg-material-symbols-outlined.js +3 -4
- package/icon-set/svg-material-symbols-rounded.js +3 -4
- package/icon-set/svg-material-symbols-sharp.js +3 -4
- package/lang/bs-BA.js +93 -0
- package/lang/index.json +1 -1
- package/package.json +1 -1
- package/src/components/field/__tests__/QField.cy.js +1 -1
- package/src/components/icon/QIcon.sass +3 -0
- package/src/components/input/__tests__/QInput.cy.js +1 -1
- package/src/components/item/QList.js +7 -1
- package/src/components/item/QList.test.js +170 -0
- package/src/components/select/__tests__/QSelect.cy.js +1 -1
- package/src/components/table/QTable.json +1 -1
- package/src/composables/__tests__/use-field.cy.js +1 -1
- package/src/composables/private.use-key-composition/use-key-composition.js +2 -19
- package/src/css/core/mouse.sass +1 -1
- package/src/plugins/dialog/Dialog.json +1 -1
- package/src/utils/date/date.js +38 -6
- package/src/utils/private.dialog/create-dialog.json +1 -1
|
@@ -30,7 +30,7 @@ export default {
|
|
|
30
30
|
right: 'sym_o_chevron_right',
|
|
31
31
|
up: 'sym_o_keyboard_arrow_up',
|
|
32
32
|
down: 'sym_o_keyboard_arrow_down',
|
|
33
|
-
navigationIcon: '
|
|
33
|
+
navigationIcon: 'sym_o_circle'
|
|
34
34
|
},
|
|
35
35
|
chip: {
|
|
36
36
|
remove: 'sym_o_cancel',
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
icon: 'sym_o_play_arrow'
|
|
119
119
|
},
|
|
120
120
|
uploader: {
|
|
121
|
-
done: '
|
|
121
|
+
done: 'sym_o_check',
|
|
122
122
|
clear: 'sym_o_close',
|
|
123
123
|
add: 'sym_o_add_box',
|
|
124
124
|
upload: 'sym_o_cloud_upload',
|
|
@@ -30,7 +30,7 @@ export default {
|
|
|
30
30
|
right: 'sym_r_chevron_right',
|
|
31
31
|
up: 'sym_r_keyboard_arrow_up',
|
|
32
32
|
down: 'sym_r_keyboard_arrow_down',
|
|
33
|
-
navigationIcon: '
|
|
33
|
+
navigationIcon: 'sym_r_circle'
|
|
34
34
|
},
|
|
35
35
|
chip: {
|
|
36
36
|
remove: 'sym_r_cancel',
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
icon: 'sym_r_play_arrow'
|
|
119
119
|
},
|
|
120
120
|
uploader: {
|
|
121
|
-
done: '
|
|
121
|
+
done: 'sym_r_check',
|
|
122
122
|
clear: 'sym_r_close',
|
|
123
123
|
add: 'sym_r_add_box',
|
|
124
124
|
upload: 'sym_r_cloud_upload',
|
|
@@ -30,7 +30,7 @@ export default {
|
|
|
30
30
|
right: 'sym_s_chevron_right',
|
|
31
31
|
up: 'sym_s_keyboard_arrow_up',
|
|
32
32
|
down: 'sym_s_keyboard_arrow_down',
|
|
33
|
-
navigationIcon: '
|
|
33
|
+
navigationIcon: 'sym_s_circle'
|
|
34
34
|
},
|
|
35
35
|
chip: {
|
|
36
36
|
remove: 'sym_s_cancel',
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
icon: 'sym_s_play_arrow'
|
|
119
119
|
},
|
|
120
120
|
uploader: {
|
|
121
|
-
done: '
|
|
121
|
+
done: 'sym_s_check',
|
|
122
122
|
clear: 'sym_s_close',
|
|
123
123
|
add: 'sym_s_add_box',
|
|
124
124
|
upload: 'sym_s_cloud_upload',
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
symOutlinedRefresh,
|
|
24
24
|
symOutlinedKeyboardArrowUp,
|
|
25
25
|
symOutlinedKeyboardArrowDown,
|
|
26
|
-
|
|
26
|
+
symOutlinedCircle,
|
|
27
27
|
symOutlinedCancel,
|
|
28
28
|
symOutlinedCheck,
|
|
29
29
|
symOutlinedSchedule,
|
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
symOutlinedGrade,
|
|
65
65
|
symOutlinedEdit,
|
|
66
66
|
symOutlinedPlayArrow,
|
|
67
|
-
symOutlinedDone,
|
|
68
67
|
symOutlinedAddBox,
|
|
69
68
|
symOutlinedCloudUpload,
|
|
70
69
|
symOutlinedClearAll,
|
|
@@ -103,7 +102,7 @@ export default {
|
|
|
103
102
|
right: symOutlinedChevronRight,
|
|
104
103
|
up: symOutlinedKeyboardArrowUp,
|
|
105
104
|
down: symOutlinedKeyboardArrowDown,
|
|
106
|
-
navigationIcon:
|
|
105
|
+
navigationIcon: symOutlinedCircle
|
|
107
106
|
},
|
|
108
107
|
chip: {
|
|
109
108
|
remove: symOutlinedCancel,
|
|
@@ -191,7 +190,7 @@ export default {
|
|
|
191
190
|
icon: symOutlinedPlayArrow
|
|
192
191
|
},
|
|
193
192
|
uploader: {
|
|
194
|
-
done:
|
|
193
|
+
done: symOutlinedCheck,
|
|
195
194
|
clear: symOutlinedClose,
|
|
196
195
|
add: symOutlinedAddBox,
|
|
197
196
|
upload: symOutlinedCloudUpload,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
symRoundedRefresh,
|
|
24
24
|
symRoundedKeyboardArrowUp,
|
|
25
25
|
symRoundedKeyboardArrowDown,
|
|
26
|
-
|
|
26
|
+
symRoundedCircle,
|
|
27
27
|
symRoundedCancel,
|
|
28
28
|
symRoundedCheck,
|
|
29
29
|
symRoundedSchedule,
|
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
symRoundedGrade,
|
|
65
65
|
symRoundedEdit,
|
|
66
66
|
symRoundedPlayArrow,
|
|
67
|
-
symRoundedDone,
|
|
68
67
|
symRoundedAddBox,
|
|
69
68
|
symRoundedCloudUpload,
|
|
70
69
|
symRoundedClearAll,
|
|
@@ -103,7 +102,7 @@ export default {
|
|
|
103
102
|
right: symRoundedChevronRight,
|
|
104
103
|
up: symRoundedKeyboardArrowUp,
|
|
105
104
|
down: symRoundedKeyboardArrowDown,
|
|
106
|
-
navigationIcon:
|
|
105
|
+
navigationIcon: symRoundedCircle
|
|
107
106
|
},
|
|
108
107
|
chip: {
|
|
109
108
|
remove: symRoundedCancel,
|
|
@@ -191,7 +190,7 @@ export default {
|
|
|
191
190
|
icon: symRoundedPlayArrow
|
|
192
191
|
},
|
|
193
192
|
uploader: {
|
|
194
|
-
done:
|
|
193
|
+
done: symRoundedCheck,
|
|
195
194
|
clear: symRoundedClose,
|
|
196
195
|
add: symRoundedAddBox,
|
|
197
196
|
upload: symRoundedCloudUpload,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
symSharpRefresh,
|
|
24
24
|
symSharpKeyboardArrowUp,
|
|
25
25
|
symSharpKeyboardArrowDown,
|
|
26
|
-
|
|
26
|
+
symSharpCircle,
|
|
27
27
|
symSharpCancel,
|
|
28
28
|
symSharpCheck,
|
|
29
29
|
symSharpSchedule,
|
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
symSharpGrade,
|
|
65
65
|
symSharpEdit,
|
|
66
66
|
symSharpPlayArrow,
|
|
67
|
-
symSharpDone,
|
|
68
67
|
symSharpAddBox,
|
|
69
68
|
symSharpCloudUpload,
|
|
70
69
|
symSharpClearAll,
|
|
@@ -103,7 +102,7 @@ export default {
|
|
|
103
102
|
right: symSharpChevronRight,
|
|
104
103
|
up: symSharpKeyboardArrowUp,
|
|
105
104
|
down: symSharpKeyboardArrowDown,
|
|
106
|
-
navigationIcon:
|
|
105
|
+
navigationIcon: symSharpCircle
|
|
107
106
|
},
|
|
108
107
|
chip: {
|
|
109
108
|
remove: symSharpCancel,
|
|
@@ -191,7 +190,7 @@ export default {
|
|
|
191
190
|
icon: symSharpPlayArrow
|
|
192
191
|
},
|
|
193
192
|
uploader: {
|
|
194
|
-
done:
|
|
193
|
+
done: symSharpCheck,
|
|
195
194
|
clear: symSharpClose,
|
|
196
195
|
add: symSharpAddBox,
|
|
197
196
|
upload: symSharpCloudUpload,
|
package/lang/bs-BA.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
isoName: 'bs-BA',
|
|
3
|
+
nativeName: 'Bosanski jezik',
|
|
4
|
+
label: {
|
|
5
|
+
clear: 'Očisti',
|
|
6
|
+
ok: 'OK',
|
|
7
|
+
cancel: 'Odustani',
|
|
8
|
+
close: 'Zatvori',
|
|
9
|
+
set: 'Postavi',
|
|
10
|
+
select: 'Odaberi',
|
|
11
|
+
reset: 'Poništi',
|
|
12
|
+
remove: 'Skloni',
|
|
13
|
+
update: 'Ažuriraj',
|
|
14
|
+
create: 'Dodaj',
|
|
15
|
+
search: 'Traži',
|
|
16
|
+
filter: 'Filter',
|
|
17
|
+
refresh: 'Osvježi',
|
|
18
|
+
expand: label => (label ? `Proširi "${ label }"` : 'Proširiti'),
|
|
19
|
+
collapse: label => (label ? `Sažmi "${ label }"` : 'Kolaps')
|
|
20
|
+
},
|
|
21
|
+
date: {
|
|
22
|
+
days: 'Nedjelja_Ponedjeljak_Utorak_Srijeda_Četvrtak_Petak_Subota'.split('_'),
|
|
23
|
+
daysShort: 'Ned_Pon_Uto_Sri_Čet_Pet_Sub'.split('_'),
|
|
24
|
+
months: 'Januar_Februar_Mart_April_Maj_Juni_Juli_August_Septembar_Oktobar_Novembar_Decembar'.split('_'),
|
|
25
|
+
monthsShort: 'Jan_Feb_Mar_Apr_Maj_Jun_Jul_Aug_Sep_Okt_Nov_Dec'.split('_'),
|
|
26
|
+
firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
27
|
+
format24h: true,
|
|
28
|
+
pluralDay: 'dana'
|
|
29
|
+
},
|
|
30
|
+
table: {
|
|
31
|
+
noData: 'Nema podataka',
|
|
32
|
+
noResults: 'Nema odgovarajućih rezultata',
|
|
33
|
+
loading: 'Učitavanje...',
|
|
34
|
+
selectedRecords: rows => (
|
|
35
|
+
rows > 1
|
|
36
|
+
? rows + ' odabranih redova.'
|
|
37
|
+
: (rows === 0 ? 'Nema' : '1') + ' odabranih redova.'
|
|
38
|
+
),
|
|
39
|
+
recordsPerPage: 'Redova po stranici:',
|
|
40
|
+
allRows: 'Sve',
|
|
41
|
+
pagination: (start, end, total) => start + '-' + end + ' od ' + total,
|
|
42
|
+
columns: 'Kolone'
|
|
43
|
+
},
|
|
44
|
+
editor: {
|
|
45
|
+
url: 'URL',
|
|
46
|
+
bold: 'Podebljano',
|
|
47
|
+
italic: 'Kurziv',
|
|
48
|
+
strikethrough: 'Precrtano',
|
|
49
|
+
underline: 'Podcrtano',
|
|
50
|
+
unorderedList: 'Označena lista',
|
|
51
|
+
orderedList: 'Numerirana lista',
|
|
52
|
+
subscript: 'Potpisano',
|
|
53
|
+
superscript: 'Natpisano',
|
|
54
|
+
hyperlink: 'Hiperlink',
|
|
55
|
+
toggleFullscreen: 'Puni ekran',
|
|
56
|
+
quote: 'Citat',
|
|
57
|
+
left: 'Poravnati ulijevo',
|
|
58
|
+
center: 'Centrirati',
|
|
59
|
+
right: 'Poravnati udesno',
|
|
60
|
+
justify: 'Poravnati obostrano',
|
|
61
|
+
print: 'Print',
|
|
62
|
+
outdent: 'Smanjiti uvlačenje',
|
|
63
|
+
indent: 'Povećati uvlačenje',
|
|
64
|
+
removeFormat: 'Skloniti formatiranje',
|
|
65
|
+
formatting: 'Formatirati',
|
|
66
|
+
fontSize: 'Veličina slova',
|
|
67
|
+
align: 'Poravnati',
|
|
68
|
+
hr: 'Ubaciti vodoravno ravnalo',
|
|
69
|
+
undo: 'Poništiti',
|
|
70
|
+
redo: 'Vratiti',
|
|
71
|
+
heading1: 'Naslov 1',
|
|
72
|
+
heading2: 'Naslov 2',
|
|
73
|
+
heading3: 'Naslov 3',
|
|
74
|
+
heading4: 'Naslov 4',
|
|
75
|
+
heading5: 'Naslov 5',
|
|
76
|
+
heading6: 'Naslov 6',
|
|
77
|
+
paragraph: 'Odlomak',
|
|
78
|
+
code: 'Kod',
|
|
79
|
+
size1: 'Vrlo malo',
|
|
80
|
+
size2: 'Malo manje',
|
|
81
|
+
size3: 'Normalno',
|
|
82
|
+
size4: 'Srednje',
|
|
83
|
+
size5: 'Veliko',
|
|
84
|
+
size6: 'Vrlo veliko',
|
|
85
|
+
size7: 'Najveće',
|
|
86
|
+
defaultFont: 'Zadani font',
|
|
87
|
+
viewSource: 'Pogledaj izvor'
|
|
88
|
+
},
|
|
89
|
+
tree: {
|
|
90
|
+
noNodes: 'Nema nijednog čvora',
|
|
91
|
+
noResults: 'Nema odgovarajućih čvorova'
|
|
92
|
+
}
|
|
93
|
+
}
|
package/lang/index.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"isoName":"ar-TN","nativeName":"العربية (تونس)"},{"isoName":"ar","nativeName":"العربية"},{"isoName":"az-Latn","nativeName":"Azerbaijani (latin)"},{"isoName":"bg","nativeName":"български език"},{"isoName":"bn","nativeName":"বাংলা"},{"isoName":"ca","nativeName":"Català"},{"isoName":"cs","nativeName":"Čeština"},{"isoName":"da","nativeName":"Dansk"},{"isoName":"de-CH","nativeName":"Deutsch (CH)"},{"isoName":"de-DE","nativeName":"Deutsch (DE)"},{"isoName":"de","nativeName":"Deutsch"},{"isoName":"el","nativeName":"ελληνικά"},{"isoName":"en-GB","nativeName":"English (UK)"},{"isoName":"en-US","nativeName":"English (US)"},{"isoName":"eo","nativeName":"Esperanto"},{"isoName":"es","nativeName":"Español"},{"isoName":"et","nativeName":"Eesti"},{"isoName":"eu","nativeName":"Euskara"},{"isoName":"fa-IR","nativeName":"فارسی"},{"isoName":"fa","nativeName":"فارسی"},{"isoName":"fi","nativeName":"Suomi"},{"isoName":"fr","nativeName":"Français"},{"isoName":"gn","nativeName":"Avañe'ẽ"},{"isoName":"he","nativeName":"עברית"},{"isoName":"hi","nativeName":"अमेरिकी अंग्रेज़ी"},{"isoName":"hr","nativeName":"Hrvatski jezik"},{"isoName":"hu","nativeName":"Magyar"},{"isoName":"id","nativeName":"Bahasa Indonesia"},{"isoName":"is","nativeName":"Íslenska"},{"isoName":"it","nativeName":"Italiano"},{"isoName":"ja","nativeName":"日本語 (にほんご)"},{"isoName":"kk","nativeName":"Қазақша"},{"isoName":"km","nativeName":"ខ្មែរ"},{"isoName":"ko-KR","nativeName":"한국어"},{"isoName":"kur-CKB","nativeName":"کوردی سۆرانی"},{"isoName":"lt","nativeName":"Lithuanian"},{"isoName":"lu","nativeName":"Kiluba"},{"isoName":"lv","nativeName":"Latviešu valoda"},{"isoName":"mk","nativeName":"Македонски"},{"isoName":"ml","nativeName":"മലയാളം"},{"isoName":"mm","nativeName":"မြန်မာ(ဗမာ)"},{"isoName":"ms-MY","nativeName":"Malaysia"},{"isoName":"ms","nativeName":"Bahasa Melayu"},{"isoName":"my","nativeName":"Malaysia"},{"isoName":"nb-NO","nativeName":"Norsk"},{"isoName":"nl","nativeName":"Nederlands"},{"isoName":"pl","nativeName":"Polski"},{"isoName":"pt-BR","nativeName":"Português (BR)"},{"isoName":"pt","nativeName":"Português"},{"isoName":"ro","nativeName":"Română"},{"isoName":"ru","nativeName":"русский"},{"isoName":"sk","nativeName":"Slovenčina"},{"isoName":"sl","nativeName":"Slovenski Jezik"},{"isoName":"sm","nativeName":"Fa'asāmoa"},{"isoName":"sr-CYR","nativeName":"српски језик"},{"isoName":"sr","nativeName":"srpski jezik"},{"isoName":"sv","nativeName":"Svenska"},{"isoName":"ta","nativeName":"தமிழ்"},{"isoName":"th","nativeName":"ไทย"},{"isoName":"tl","nativeName":"Tagalog"},{"isoName":"tr","nativeName":"Türkçe"},{"isoName":"ug","nativeName":"ئۇيغۇرچە"},{"isoName":"uk","nativeName":"Українська"},{"isoName":"uz-Cyrl","nativeName":"Ўзбекча (Кирил)"},{"isoName":"uz-Latn","nativeName":"O'zbekcha (Lotin)"},{"isoName":"vi","nativeName":"Tiếng Việt"},{"isoName":"zh-CN","nativeName":"中文(简体)"},{"isoName":"zh-TW","nativeName":"中文(繁體)"}]
|
|
1
|
+
[{"isoName":"ar-TN","nativeName":"العربية (تونس)"},{"isoName":"ar","nativeName":"العربية"},{"isoName":"az-Latn","nativeName":"Azerbaijani (latin)"},{"isoName":"bg","nativeName":"български език"},{"isoName":"bn","nativeName":"বাংলা"},{"isoName":"bs-BA","nativeName":"Bosanski jezik"},{"isoName":"ca","nativeName":"Català"},{"isoName":"cs","nativeName":"Čeština"},{"isoName":"da","nativeName":"Dansk"},{"isoName":"de-CH","nativeName":"Deutsch (CH)"},{"isoName":"de-DE","nativeName":"Deutsch (DE)"},{"isoName":"de","nativeName":"Deutsch"},{"isoName":"el","nativeName":"ελληνικά"},{"isoName":"en-GB","nativeName":"English (UK)"},{"isoName":"en-US","nativeName":"English (US)"},{"isoName":"eo","nativeName":"Esperanto"},{"isoName":"es","nativeName":"Español"},{"isoName":"et","nativeName":"Eesti"},{"isoName":"eu","nativeName":"Euskara"},{"isoName":"fa-IR","nativeName":"فارسی"},{"isoName":"fa","nativeName":"فارسی"},{"isoName":"fi","nativeName":"Suomi"},{"isoName":"fr","nativeName":"Français"},{"isoName":"gn","nativeName":"Avañe'ẽ"},{"isoName":"he","nativeName":"עברית"},{"isoName":"hi","nativeName":"अमेरिकी अंग्रेज़ी"},{"isoName":"hr","nativeName":"Hrvatski jezik"},{"isoName":"hu","nativeName":"Magyar"},{"isoName":"id","nativeName":"Bahasa Indonesia"},{"isoName":"is","nativeName":"Íslenska"},{"isoName":"it","nativeName":"Italiano"},{"isoName":"ja","nativeName":"日本語 (にほんご)"},{"isoName":"kk","nativeName":"Қазақша"},{"isoName":"km","nativeName":"ខ្មែរ"},{"isoName":"ko-KR","nativeName":"한국어"},{"isoName":"kur-CKB","nativeName":"کوردی سۆرانی"},{"isoName":"lt","nativeName":"Lithuanian"},{"isoName":"lu","nativeName":"Kiluba"},{"isoName":"lv","nativeName":"Latviešu valoda"},{"isoName":"mk","nativeName":"Македонски"},{"isoName":"ml","nativeName":"മലയാളം"},{"isoName":"mm","nativeName":"မြန်မာ(ဗမာ)"},{"isoName":"ms-MY","nativeName":"Malaysia"},{"isoName":"ms","nativeName":"Bahasa Melayu"},{"isoName":"my","nativeName":"Malaysia"},{"isoName":"nb-NO","nativeName":"Norsk"},{"isoName":"nl","nativeName":"Nederlands"},{"isoName":"pl","nativeName":"Polski"},{"isoName":"pt-BR","nativeName":"Português (BR)"},{"isoName":"pt","nativeName":"Português"},{"isoName":"ro","nativeName":"Română"},{"isoName":"ru","nativeName":"русский"},{"isoName":"sk","nativeName":"Slovenčina"},{"isoName":"sl","nativeName":"Slovenski Jezik"},{"isoName":"sm","nativeName":"Fa'asāmoa"},{"isoName":"sr-CYR","nativeName":"српски језик"},{"isoName":"sr","nativeName":"srpski jezik"},{"isoName":"sv","nativeName":"Svenska"},{"isoName":"ta","nativeName":"தமிழ்"},{"isoName":"th","nativeName":"ไทย"},{"isoName":"tl","nativeName":"Tagalog"},{"isoName":"tr","nativeName":"Türkçe"},{"isoName":"ug","nativeName":"ئۇيغۇرچە"},{"isoName":"uk","nativeName":"Українська"},{"isoName":"uz-Cyrl","nativeName":"Ўзбекча (Кирил)"},{"isoName":"uz-Latn","nativeName":"O'zbekcha (Lotin)"},{"isoName":"vi","nativeName":"Tiếng Việt"},{"isoName":"zh-CN","nativeName":"中文(简体)"},{"isoName":"zh-TW","nativeName":"中文(繁體)"}]
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ describe('Field API', () => {
|
|
|
17
17
|
describe('(prop): maxlength', () => {
|
|
18
18
|
it.skip(' ', () => {
|
|
19
19
|
// It is tricky to test this since it will require that we setup a control slot with v-model.
|
|
20
|
-
// This is already tested in QInput and others using use-field composable, so are not
|
|
20
|
+
// This is already tested in QInput and others using use-field composable, so are not testing it.
|
|
21
21
|
})
|
|
22
22
|
})
|
|
23
23
|
})
|
|
@@ -4,6 +4,8 @@ import { createComponent } from '../../utils/private.create/create.js'
|
|
|
4
4
|
import useDark, { useDarkProps } from '../../composables/private.use-dark/use-dark.js'
|
|
5
5
|
import { hSlot } from '../../utils/private.render/render.js'
|
|
6
6
|
|
|
7
|
+
const roleAttrExceptions = [ 'ul', 'ol' ]
|
|
8
|
+
|
|
7
9
|
export default createComponent({
|
|
8
10
|
name: 'QList',
|
|
9
11
|
|
|
@@ -25,6 +27,10 @@ export default createComponent({
|
|
|
25
27
|
const vm = getCurrentInstance()
|
|
26
28
|
const isDark = useDark(props, vm.proxy.$q)
|
|
27
29
|
|
|
30
|
+
const role = computed(() => (
|
|
31
|
+
roleAttrExceptions.includes(props.tag) ? null : 'list')
|
|
32
|
+
)
|
|
33
|
+
|
|
28
34
|
const classes = computed(() =>
|
|
29
35
|
'q-list'
|
|
30
36
|
+ (props.bordered === true ? ' q-list--bordered' : '')
|
|
@@ -34,6 +40,6 @@ export default createComponent({
|
|
|
34
40
|
+ (props.padding === true ? ' q-list--padding' : '')
|
|
35
41
|
)
|
|
36
42
|
|
|
37
|
-
return () => h(props.tag, { class: classes.value }, hSlot(slots.default))
|
|
43
|
+
return () => h(props.tag, { class: classes.value, role: role.value }, hSlot(slots.default))
|
|
38
44
|
}
|
|
39
45
|
})
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { mount, flushPromises } from '@vue/test-utils'
|
|
2
|
+
import { describe, test, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
import QList from './QList.js'
|
|
5
|
+
|
|
6
|
+
describe('[QList API]', () => {
|
|
7
|
+
describe('[Props]', () => {
|
|
8
|
+
describe('[default attributes]', () => {
|
|
9
|
+
test('has a role="list" attribute with a div', async () => {
|
|
10
|
+
const wrapper = mount(QList)
|
|
11
|
+
|
|
12
|
+
const target = wrapper.get('.q-list')
|
|
13
|
+
|
|
14
|
+
expect(target.element.getAttribute('role')).toBe('list')
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
test('does not have a role="list" attribute with a ol', async () => {
|
|
18
|
+
const wrapper = mount(QList, { props: { tag: 'ol' } })
|
|
19
|
+
|
|
20
|
+
const target = wrapper.get('.q-list')
|
|
21
|
+
|
|
22
|
+
expect(target.element.getAttribute('role')).toBe(null)
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
test('does not have a role="list" attribute with a ul', async () => {
|
|
26
|
+
const wrapper = mount(QList, { props: { tag: 'ul' } })
|
|
27
|
+
|
|
28
|
+
const target = wrapper.get('.q-list')
|
|
29
|
+
|
|
30
|
+
expect(target.element.getAttribute('role')).toBe(null)
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
describe('[(prop)bordered]', () => {
|
|
35
|
+
test('type Boolean has effect', async () => {
|
|
36
|
+
const wrapper = mount(QList)
|
|
37
|
+
|
|
38
|
+
const target = wrapper.get('.q-list')
|
|
39
|
+
|
|
40
|
+
expect(target.classes()).not.toContain('q-list--bordered')
|
|
41
|
+
|
|
42
|
+
await wrapper.setProps({ bordered: true })
|
|
43
|
+
await flushPromises()
|
|
44
|
+
|
|
45
|
+
expect(target.classes()).toContain('q-list--bordered')
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
describe('[(prop)dense]', () => {
|
|
50
|
+
test('type Boolean has effect', async () => {
|
|
51
|
+
const wrapper = mount(QList)
|
|
52
|
+
|
|
53
|
+
const target = wrapper.get('.q-list')
|
|
54
|
+
|
|
55
|
+
expect(target.classes()).not.toContain('q-list--dense')
|
|
56
|
+
|
|
57
|
+
await wrapper.setProps({ dense: true })
|
|
58
|
+
await flushPromises()
|
|
59
|
+
|
|
60
|
+
expect(target.classes()).toContain('q-list--dense')
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
describe('[(prop)separator]', () => {
|
|
65
|
+
test('type Boolean has effect', async () => {
|
|
66
|
+
const wrapper = mount(QList)
|
|
67
|
+
|
|
68
|
+
const target = wrapper.get('.q-list')
|
|
69
|
+
|
|
70
|
+
expect(target.classes()).not.toContain('q-list--separator')
|
|
71
|
+
|
|
72
|
+
await wrapper.setProps({ separator: true })
|
|
73
|
+
await flushPromises()
|
|
74
|
+
|
|
75
|
+
expect(target.classes()).toContain('q-list--separator')
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
describe('[(prop)dark]', () => {
|
|
80
|
+
test('type Boolean has effect', async () => {
|
|
81
|
+
const wrapper = mount(QList)
|
|
82
|
+
await wrapper.setProps({ dark: false })
|
|
83
|
+
|
|
84
|
+
const target = wrapper.get('.q-list')
|
|
85
|
+
|
|
86
|
+
expect(target.classes()).not.toContain('q-list--dark')
|
|
87
|
+
|
|
88
|
+
await wrapper.setProps({ dark: true })
|
|
89
|
+
await flushPromises()
|
|
90
|
+
|
|
91
|
+
expect(target.classes()).toContain('q-list--dark')
|
|
92
|
+
|
|
93
|
+
await wrapper.setProps({ dark: false })
|
|
94
|
+
await wrapper.vm.$q.dark.set(true)
|
|
95
|
+
await flushPromises()
|
|
96
|
+
|
|
97
|
+
expect(target.classes()).not.toContain('q-list--dark')
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
test('type null has effect', async () => {
|
|
101
|
+
const wrapper = mount(QList)
|
|
102
|
+
await wrapper.vm.$q.dark.set(false)
|
|
103
|
+
|
|
104
|
+
const target = wrapper.get('.q-list')
|
|
105
|
+
expect(target.classes()).not.toContain('q-list--dark')
|
|
106
|
+
|
|
107
|
+
await wrapper.setProps({ dark: null })
|
|
108
|
+
await flushPromises()
|
|
109
|
+
|
|
110
|
+
expect(target.classes()).not.toContain('q-list--dark')
|
|
111
|
+
|
|
112
|
+
await wrapper.vm.$q.dark.set(true)
|
|
113
|
+
|
|
114
|
+
expect(target.classes()).toContain('q-list--dark')
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
describe('[(prop)padding]', () => {
|
|
119
|
+
test('type Boolean has effect', async () => {
|
|
120
|
+
const wrapper = mount(QList)
|
|
121
|
+
|
|
122
|
+
const target = wrapper.get('.q-list')
|
|
123
|
+
|
|
124
|
+
expect(target.classes()).not.toContain('q-list--padding')
|
|
125
|
+
|
|
126
|
+
await wrapper.setProps({ padding: true })
|
|
127
|
+
await flushPromises()
|
|
128
|
+
|
|
129
|
+
expect(target.classes()).toContain('q-list--padding')
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
describe('[(prop)tag]', () => {
|
|
134
|
+
test('type String has effect', async () => {
|
|
135
|
+
const wrapper = mount(QList, { props: { tag: 'ol' } })
|
|
136
|
+
|
|
137
|
+
const target = wrapper.get('.q-list')
|
|
138
|
+
|
|
139
|
+
expect(
|
|
140
|
+
target.element.tagName.toLowerCase()
|
|
141
|
+
).toBe('ol')
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
test('default tag is div', async () => {
|
|
145
|
+
const wrapper = mount(QList)
|
|
146
|
+
|
|
147
|
+
const target = wrapper.get('.q-list')
|
|
148
|
+
|
|
149
|
+
expect(
|
|
150
|
+
target.element.tagName.toLowerCase()
|
|
151
|
+
).toBe('div')
|
|
152
|
+
})
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
describe('[Slots]', () => {
|
|
157
|
+
describe('[(slot)default]', () => {
|
|
158
|
+
test('renders the content', () => {
|
|
159
|
+
const slotContent = 'some-slot-content'
|
|
160
|
+
const wrapper = mount(QList, {
|
|
161
|
+
slots: {
|
|
162
|
+
default: () => slotContent
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
|
|
166
|
+
expect(wrapper.html()).toContain(slotContent)
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
})
|
|
@@ -1432,7 +1432,7 @@ describe('QSelect API', () => {
|
|
|
1432
1432
|
})
|
|
1433
1433
|
|
|
1434
1434
|
describe('(event): filter-abort', () => {
|
|
1435
|
-
it('should emit event when the
|
|
1435
|
+
it('should emit event when the filterFn has not called the doneFn yet and a new filter is requested', () => {
|
|
1436
1436
|
const fn = cy.stub()
|
|
1437
1437
|
const filterFn = cy.stub()
|
|
1438
1438
|
mountQSelect({
|
|
@@ -82,7 +82,7 @@ describe('use-field API', () => {
|
|
|
82
82
|
|
|
83
83
|
describe('Category: behavior|content', () => {
|
|
84
84
|
describe('(prop): loading', () => {
|
|
85
|
-
it('should
|
|
85
|
+
it('should set the component into a loading state', () => {
|
|
86
86
|
mountQFieldWrapper({
|
|
87
87
|
props: {
|
|
88
88
|
loading: true
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import { client } from '../../plugins/platform/Platform.js'
|
|
2
|
-
|
|
3
|
-
const isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/
|
|
4
|
-
const isChinese = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u
|
|
5
|
-
const isKorean = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/
|
|
6
|
-
const isPlainText = /[a-z0-9_ -]$/i
|
|
7
|
-
|
|
8
1
|
export default function (onInput) {
|
|
9
2
|
return function onComposition (e) {
|
|
10
3
|
if (e.type === 'compositionend' || e.type === 'change') {
|
|
@@ -12,18 +5,8 @@ export default function (onInput) {
|
|
|
12
5
|
e.target.qComposing = false
|
|
13
6
|
onInput(e)
|
|
14
7
|
}
|
|
15
|
-
else if (
|
|
16
|
-
e.
|
|
17
|
-
&& e.target.qComposing !== true
|
|
18
|
-
&& typeof e.data === 'string'
|
|
19
|
-
) {
|
|
20
|
-
const isComposing = client.is.firefox === true
|
|
21
|
-
? isPlainText.test(e.data) === false
|
|
22
|
-
: isJapanese.test(e.data) === true || isChinese.test(e.data) === true || isKorean.test(e.data) === true
|
|
23
|
-
|
|
24
|
-
if (isComposing === true) {
|
|
25
|
-
e.target.qComposing = true
|
|
26
|
-
}
|
|
8
|
+
else if (e.type === 'compositionstart') {
|
|
9
|
+
e.target.qComposing = true
|
|
27
10
|
}
|
|
28
11
|
}
|
|
29
12
|
}
|
package/src/css/core/mouse.sass
CHANGED
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
|
|
278
278
|
"componentProps": {
|
|
279
279
|
"type": "Object",
|
|
280
|
-
"desc": "User defined props which will be forwarded to underlying custom component if 'component' prop is used"
|
|
280
|
+
"desc": "User defined props which will be forwarded to underlying custom component if 'component' prop is used; May also include any built-in QDialog option such as 'persistent' or 'seamless'"
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
}
|