quasar 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/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/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/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-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 +6 -0
- 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-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.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.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/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.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/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/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/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/ml.umd.prod.js +1 -1
- package/dist/lang/ms.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/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/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/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.cjs.prod.js +2 -2
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +18 -11
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/composables.d.ts +5 -1
- package/dist/types/extras/icon-set.d.ts +1 -0
- package/dist/web-types/web-types.json +1 -1
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/package.json +2 -2
- package/src/components/editor/QEditor.js +2 -2
- package/src/components/icon/QIcon.js +1 -1
- package/src/components/scroll-area/QScrollArea.js +1 -1
- package/src/components/select/QSelect.js +1 -1
- package/src/composables/private/use-field.js +2 -2
- package/src/composables/private/use-split-attrs.js +7 -1
- package/src/composables/use-dialog-plugin-component.js +1 -0
|
@@ -12,7 +12,11 @@ interface useDialogPluginComponent {
|
|
|
12
12
|
onDialogOK: (payload?: any) => void;
|
|
13
13
|
onDialogCancel: () => void;
|
|
14
14
|
};
|
|
15
|
-
emits:
|
|
15
|
+
emits: ['ok', 'hide'];
|
|
16
|
+
emitsObject: {
|
|
17
|
+
ok: () => true;
|
|
18
|
+
hide: () => true;
|
|
19
|
+
}
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
export const useDialogPluginComponent: useDialogPluginComponent;
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
|
|
2
|
+
import {
|
|
3
|
+
ionCheckmark,
|
|
4
|
+
ionAlert,
|
|
5
|
+
ionInformationCircleOutline,
|
|
6
|
+
ionArrowUp,
|
|
7
|
+
ionArrowForward,
|
|
8
|
+
ionArrowDown,
|
|
9
|
+
ionArrowBack,
|
|
10
|
+
ionCaretDownOutline,
|
|
11
|
+
ionAperture,
|
|
12
|
+
ionOptions,
|
|
13
|
+
ionApps,
|
|
14
|
+
ionRefresh,
|
|
15
|
+
ionSquare,
|
|
16
|
+
ionCloseCircle,
|
|
17
|
+
ionTime,
|
|
18
|
+
ionCalendar,
|
|
19
|
+
ionLink,
|
|
20
|
+
ionExpand,
|
|
21
|
+
ionChatboxEllipses,
|
|
22
|
+
ionPrint,
|
|
23
|
+
ionArrowUndo,
|
|
24
|
+
ionArrowRedo,
|
|
25
|
+
ionCodeSlash,
|
|
26
|
+
ionAdd,
|
|
27
|
+
ionClose,
|
|
28
|
+
ionPlaySkipBackCircle,
|
|
29
|
+
ionPlaySkipForwardCircle,
|
|
30
|
+
ionStar,
|
|
31
|
+
ionCreate,
|
|
32
|
+
ionWarning,
|
|
33
|
+
ionPlay,
|
|
34
|
+
ionAddCircle,
|
|
35
|
+
ionCloudUpload,
|
|
36
|
+
ionTrash,
|
|
37
|
+
ionCheckmarkDone,
|
|
38
|
+
ionChevronDown,
|
|
39
|
+
ionChevronUp,
|
|
40
|
+
ionChevronBack,
|
|
41
|
+
ionChevronForward,
|
|
42
|
+
ionChevronBackCircle,
|
|
43
|
+
ionChevronForwardCircle
|
|
44
|
+
} from '@quasar/extras/ionicons-v6'
|
|
45
|
+
|
|
46
|
+
// there are some icons that are needed but not available
|
|
47
|
+
// so we import them from MDI as svgs
|
|
48
|
+
|
|
49
|
+
import {
|
|
50
|
+
mdiFormatBold,
|
|
51
|
+
mdiFormatItalic,
|
|
52
|
+
mdiFormatStrikethroughVariant,
|
|
53
|
+
mdiFormatUnderline,
|
|
54
|
+
mdiFormatListBulleted,
|
|
55
|
+
mdiFormatListNumbered,
|
|
56
|
+
mdiFormatSubscript,
|
|
57
|
+
mdiFormatSuperscript,
|
|
58
|
+
mdiFormatAlignLeft,
|
|
59
|
+
mdiFormatAlignCenter,
|
|
60
|
+
mdiFormatAlignRight,
|
|
61
|
+
mdiFormatAlignJustify,
|
|
62
|
+
mdiFormatIndentDecrease,
|
|
63
|
+
mdiFormatIndentIncrease,
|
|
64
|
+
mdiFormatClear,
|
|
65
|
+
mdiFormatColorText,
|
|
66
|
+
mdiFormatSize,
|
|
67
|
+
mdiMinus,
|
|
68
|
+
mdiFormatHeader1,
|
|
69
|
+
mdiFormatHeader2,
|
|
70
|
+
mdiFormatHeader3,
|
|
71
|
+
mdiFormatHeader4,
|
|
72
|
+
mdiFormatHeader5,
|
|
73
|
+
mdiFormatHeader6,
|
|
74
|
+
mdiNumeric1Box,
|
|
75
|
+
mdiNumeric2Box,
|
|
76
|
+
mdiNumeric3Box,
|
|
77
|
+
mdiNumeric4Box,
|
|
78
|
+
mdiNumeric5Box,
|
|
79
|
+
mdiNumeric6Box,
|
|
80
|
+
mdiNumeric7Box,
|
|
81
|
+
mdiFormatFont
|
|
82
|
+
} from '@quasar/extras/mdi-v6'
|
|
83
|
+
|
|
84
|
+
export default {
|
|
85
|
+
name: 'svg-ionicons-v6',
|
|
86
|
+
type: {
|
|
87
|
+
positive: ionCheckmark,
|
|
88
|
+
negative: ionAlert,
|
|
89
|
+
info: ionInformationCircleOutline,
|
|
90
|
+
warning: ionAlert
|
|
91
|
+
},
|
|
92
|
+
arrow: {
|
|
93
|
+
up: ionArrowUp,
|
|
94
|
+
right: ionArrowForward,
|
|
95
|
+
down: ionArrowDown,
|
|
96
|
+
left: ionArrowBack,
|
|
97
|
+
dropdown: ionCaretDownOutline
|
|
98
|
+
},
|
|
99
|
+
chevron: {
|
|
100
|
+
left: ionArrowBack,
|
|
101
|
+
right: ionArrowForward
|
|
102
|
+
},
|
|
103
|
+
colorPicker: {
|
|
104
|
+
spectrum: ionAperture,
|
|
105
|
+
tune: ionOptions,
|
|
106
|
+
palette: ionApps
|
|
107
|
+
},
|
|
108
|
+
pullToRefresh: {
|
|
109
|
+
icon: ionRefresh
|
|
110
|
+
},
|
|
111
|
+
carousel: {
|
|
112
|
+
left: ionChevronBack,
|
|
113
|
+
right: ionChevronForward,
|
|
114
|
+
up: ionChevronUp,
|
|
115
|
+
down: ionChevronDown,
|
|
116
|
+
navigationIcon: ionSquare
|
|
117
|
+
},
|
|
118
|
+
chip: {
|
|
119
|
+
remove: ionCloseCircle,
|
|
120
|
+
selected: ionCheckmark
|
|
121
|
+
},
|
|
122
|
+
datetime: {
|
|
123
|
+
arrowLeft: ionChevronBack,
|
|
124
|
+
arrowRight: ionChevronForward,
|
|
125
|
+
now: ionTime,
|
|
126
|
+
today: ionCalendar
|
|
127
|
+
},
|
|
128
|
+
editor: { // requires Material icons for some as Ionicons simply does not have everything needed
|
|
129
|
+
hyperlink: ionLink,
|
|
130
|
+
toggleFullscreen: ionExpand,
|
|
131
|
+
quote: ionChatboxEllipses,
|
|
132
|
+
print: ionPrint,
|
|
133
|
+
undo: ionArrowUndo,
|
|
134
|
+
redo: ionArrowRedo,
|
|
135
|
+
code: ionCodeSlash,
|
|
136
|
+
viewSource: ionCodeSlash,
|
|
137
|
+
|
|
138
|
+
bold: mdiFormatBold,
|
|
139
|
+
italic: mdiFormatItalic,
|
|
140
|
+
strikethrough: mdiFormatStrikethroughVariant,
|
|
141
|
+
underline: mdiFormatUnderline,
|
|
142
|
+
unorderedList: mdiFormatListBulleted,
|
|
143
|
+
orderedList: mdiFormatListNumbered,
|
|
144
|
+
subscript: mdiFormatSubscript,
|
|
145
|
+
superscript: mdiFormatSuperscript,
|
|
146
|
+
left: mdiFormatAlignLeft,
|
|
147
|
+
center: mdiFormatAlignCenter,
|
|
148
|
+
right: mdiFormatAlignRight,
|
|
149
|
+
justify: mdiFormatAlignJustify,
|
|
150
|
+
outdent: mdiFormatIndentDecrease,
|
|
151
|
+
indent: mdiFormatIndentIncrease,
|
|
152
|
+
removeFormat: mdiFormatClear,
|
|
153
|
+
formatting: mdiFormatColorText,
|
|
154
|
+
fontSize: mdiFormatSize,
|
|
155
|
+
align: mdiFormatAlignLeft,
|
|
156
|
+
hr: mdiMinus,
|
|
157
|
+
heading: mdiFormatSize,
|
|
158
|
+
heading1: mdiFormatHeader1,
|
|
159
|
+
heading2: mdiFormatHeader2,
|
|
160
|
+
heading3: mdiFormatHeader3,
|
|
161
|
+
heading4: mdiFormatHeader4,
|
|
162
|
+
heading5: mdiFormatHeader5,
|
|
163
|
+
heading6: mdiFormatHeader6,
|
|
164
|
+
size: mdiFormatSize,
|
|
165
|
+
size1: mdiNumeric1Box,
|
|
166
|
+
size2: mdiNumeric2Box,
|
|
167
|
+
size3: mdiNumeric3Box,
|
|
168
|
+
size4: mdiNumeric4Box,
|
|
169
|
+
size5: mdiNumeric5Box,
|
|
170
|
+
size6: mdiNumeric6Box,
|
|
171
|
+
size7: mdiNumeric7Box,
|
|
172
|
+
font: mdiFormatFont
|
|
173
|
+
},
|
|
174
|
+
expansionItem: {
|
|
175
|
+
icon: ionCaretDownOutline,
|
|
176
|
+
denseIcon: ionCaretDownOutline
|
|
177
|
+
},
|
|
178
|
+
fab: {
|
|
179
|
+
icon: ionAdd,
|
|
180
|
+
activeIcon: ionClose
|
|
181
|
+
},
|
|
182
|
+
field: {
|
|
183
|
+
clear: ionCloseCircle,
|
|
184
|
+
error: ionAlert
|
|
185
|
+
},
|
|
186
|
+
pagination: {
|
|
187
|
+
first: ionPlaySkipBackCircle,
|
|
188
|
+
prev: ionChevronBackCircle,
|
|
189
|
+
next: ionChevronForwardCircle,
|
|
190
|
+
last: ionPlaySkipForwardCircle
|
|
191
|
+
},
|
|
192
|
+
rating: {
|
|
193
|
+
icon: ionStar
|
|
194
|
+
},
|
|
195
|
+
stepper: {
|
|
196
|
+
done: ionCheckmark,
|
|
197
|
+
active: ionCreate,
|
|
198
|
+
error: ionWarning
|
|
199
|
+
},
|
|
200
|
+
tabs: {
|
|
201
|
+
left: ionChevronBack,
|
|
202
|
+
right: ionChevronForward,
|
|
203
|
+
up: ionChevronUp,
|
|
204
|
+
down: ionChevronDown
|
|
205
|
+
},
|
|
206
|
+
table: {
|
|
207
|
+
arrowUp: ionArrowUp,
|
|
208
|
+
warning: ionWarning,
|
|
209
|
+
firstPage: ionPlaySkipBackCircle,
|
|
210
|
+
prevPage: ionChevronBackCircle,
|
|
211
|
+
nextPage: ionChevronForwardCircle,
|
|
212
|
+
lastPage: ionPlaySkipForwardCircle
|
|
213
|
+
},
|
|
214
|
+
tree: {
|
|
215
|
+
icon: ionPlay
|
|
216
|
+
},
|
|
217
|
+
uploader: {
|
|
218
|
+
done: ionCheckmark,
|
|
219
|
+
clear: ionClose,
|
|
220
|
+
add: ionAddCircle,
|
|
221
|
+
upload: ionCloudUpload,
|
|
222
|
+
removeQueue: ionTrash,
|
|
223
|
+
removeUploaded: ionCheckmarkDone
|
|
224
|
+
}
|
|
225
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quasar",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
|
|
5
5
|
"main": "dist/quasar.cjs.prod.js",
|
|
6
6
|
"module": "dist/quasar.esm.prod.js",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@babel/eslint-parser": "^7.13.14",
|
|
65
65
|
"@quasar/app": "^3.0.0",
|
|
66
|
-
"@quasar/extras": "^1.
|
|
66
|
+
"@quasar/extras": "^1.12.0",
|
|
67
67
|
"@rollup/plugin-node-resolve": "^11.2.1",
|
|
68
68
|
"@rollup/plugin-replace": "^2.3.3",
|
|
69
69
|
"babel-preset-es2015-rollup": "^3.0.0",
|
|
@@ -80,12 +80,12 @@ export default createComponent({
|
|
|
80
80
|
],
|
|
81
81
|
|
|
82
82
|
setup (props, { slots, emit, attrs }) {
|
|
83
|
-
const { proxy } = getCurrentInstance()
|
|
83
|
+
const { proxy, vnode } = getCurrentInstance()
|
|
84
84
|
const { $q } = proxy
|
|
85
85
|
|
|
86
86
|
const isDark = useDark(props, $q)
|
|
87
87
|
const { inFullscreen, toggleFullscreen } = useFullscreen()
|
|
88
|
-
const splitAttrs = useSplitAttrs(attrs)
|
|
88
|
+
const splitAttrs = useSplitAttrs(attrs, vnode)
|
|
89
89
|
|
|
90
90
|
const rootRef = ref(null)
|
|
91
91
|
const contentRef = ref(null)
|
|
@@ -173,7 +173,7 @@ export default createComponent({
|
|
|
173
173
|
)
|
|
174
174
|
|
|
175
175
|
const mainStyle = computed(() => (
|
|
176
|
-
scroll.vertical.thumbHidden.value === true
|
|
176
|
+
scroll.vertical.thumbHidden.value === true && scroll.horizontal.thumbHidden.value === true
|
|
177
177
|
? props.contentStyle
|
|
178
178
|
: props.contentActiveStyle
|
|
179
179
|
))
|
|
@@ -1173,7 +1173,7 @@ export default createComponent({
|
|
|
1173
1173
|
function getDialog () {
|
|
1174
1174
|
const content = [
|
|
1175
1175
|
h(QField, {
|
|
1176
|
-
class: `col-auto ${ state.fieldClass }`,
|
|
1176
|
+
class: `col-auto ${ state.fieldClass.value }`,
|
|
1177
1177
|
...innerFieldProps.value,
|
|
1178
1178
|
for: state.targetUid.value,
|
|
1179
1179
|
dark: isOptionsDark.value,
|
|
@@ -75,7 +75,7 @@ export const useFieldProps = {
|
|
|
75
75
|
export const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popup-show', 'popup-hide' ]
|
|
76
76
|
|
|
77
77
|
export function useFieldState () {
|
|
78
|
-
const { props, attrs, proxy } = getCurrentInstance()
|
|
78
|
+
const { props, attrs, proxy, vnode } = getCurrentInstance()
|
|
79
79
|
|
|
80
80
|
const isDark = useDark(props, proxy.$q)
|
|
81
81
|
|
|
@@ -90,7 +90,7 @@ export function useFieldState () {
|
|
|
90
90
|
focused: ref(false),
|
|
91
91
|
hasPopupOpen: false,
|
|
92
92
|
|
|
93
|
-
splitAttrs: useSplitAttrs(attrs),
|
|
93
|
+
splitAttrs: useSplitAttrs(attrs, vnode),
|
|
94
94
|
targetUid: ref(getTargetUid(props.for)),
|
|
95
95
|
|
|
96
96
|
rootRef: ref(null),
|
|
@@ -2,7 +2,7 @@ import { ref, onBeforeUpdate } from 'vue'
|
|
|
2
2
|
|
|
3
3
|
const listenerRE = /^on[A-Z]/
|
|
4
4
|
|
|
5
|
-
export default function (attrs) {
|
|
5
|
+
export default function (attrs, vnode) {
|
|
6
6
|
const acc = {
|
|
7
7
|
listeners: ref({}),
|
|
8
8
|
attributes: ref({})
|
|
@@ -21,6 +21,12 @@ export default function (attrs) {
|
|
|
21
21
|
}
|
|
22
22
|
})
|
|
23
23
|
|
|
24
|
+
Object.keys(vnode.props).forEach(key => {
|
|
25
|
+
if (listenerRE.test(key) === true) {
|
|
26
|
+
listeners[ key ] = vnode.props[ key ]
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
|
|
24
30
|
acc.listeners.value = listeners
|
|
25
31
|
acc.attributes.value = attributes
|
|
26
32
|
}
|