quasar 2.2.4 → 2.3.3
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/AppFullscreen.json +15 -8
- package/dist/api/BottomSheet.json +23 -2
- package/dist/api/Cookies.json +4 -3
- package/dist/api/Dialog.json +40 -11
- package/dist/api/Loading.json +4 -2
- package/dist/api/LoadingBar.json +8 -3
- package/dist/api/LocalStorage.json +8 -0
- package/dist/api/Morph.json +14 -7
- package/dist/api/Mutation.json +1 -1
- package/dist/api/Notify.json +41 -27
- package/dist/api/QAjaxBar.json +6 -3
- package/dist/api/QBreadcrumbs.json +8 -4
- package/dist/api/QBreadcrumbsEl.json +4 -2
- package/dist/api/QBtn.json +6 -3
- package/dist/api/QBtnDropdown.json +10 -5
- package/dist/api/QBtnToggle.json +4 -2
- package/dist/api/QCard.json +2 -1
- package/dist/api/QCardActions.json +2 -1
- package/dist/api/QCardSection.json +2 -1
- package/dist/api/QCarousel.json +10 -5
- package/dist/api/QCarouselControl.json +4 -2
- package/dist/api/QChatMessage.json +8 -4
- package/dist/api/QCheckbox.json +8 -4
- package/dist/api/QChip.json +2 -1
- package/dist/api/QCircularProgress.json +27 -6
- package/dist/api/QColor.json +6 -3
- package/dist/api/QDate.json +79 -5
- package/dist/api/QDialog.json +8 -4
- package/dist/api/QDrawer.json +10 -5
- package/dist/api/QEditor.json +17 -7
- package/dist/api/QExpansionItem.json +2 -1
- package/dist/api/QFab.json +8 -4
- package/dist/api/QFabAction.json +4 -2
- package/dist/api/QField.json +2 -1
- package/dist/api/QFile.json +3 -0
- package/dist/api/QFooter.json +3 -2
- package/dist/api/QHeader.json +5 -3
- package/dist/api/QIcon.json +2 -1
- package/dist/api/QImg.json +8 -4
- package/dist/api/QInfiniteScroll.json +6 -3
- package/dist/api/QInnerLoading.json +8 -4
- package/dist/api/QInput.json +2 -1
- package/dist/api/QIntersection.json +17 -1
- package/dist/api/QItem.json +2 -1
- package/dist/api/QKnob.json +8 -4
- package/dist/api/QLayout.json +9 -1
- package/dist/api/QLinearProgress.json +17 -1
- package/dist/api/QMarkupTable.json +2 -1
- package/dist/api/QMenu.json +8 -4
- package/dist/api/QNoSsr.json +2 -1
- package/dist/api/QOptionGroup.json +2 -1
- package/dist/api/QPage.json +2 -1
- package/dist/api/QPageScroller.json +8 -4
- package/dist/api/QPageSticky.json +2 -1
- package/dist/api/QPagination.json +10 -6
- package/dist/api/QParallax.json +2 -1
- package/dist/api/QPopupEdit.json +5 -2
- package/dist/api/QPopupProxy.json +4 -2
- package/dist/api/QRange.json +8 -4
- package/dist/api/QRating.json +2 -1
- package/dist/api/QResizeObserver.json +4 -1
- package/dist/api/QRouteTab.json +5 -26
- package/dist/api/QScrollArea.json +29 -4
- package/dist/api/QScrollObserver.json +13 -1
- package/dist/api/QSelect.json +135 -37
- package/dist/api/QSeparator.json +2 -1
- package/dist/api/QSkeleton.json +9 -5
- package/dist/api/QSlideItem.json +9 -0
- package/dist/api/QSlideTransition.json +2 -1
- package/dist/api/QSlider.json +8 -4
- package/dist/api/QSpinner.json +2 -1
- package/dist/api/QSplitter.json +4 -2
- package/dist/api/QStep.json +2 -1
- package/dist/api/QStepper.json +6 -3
- package/dist/api/QTab.json +4 -2
- package/dist/api/QTabPanels.json +6 -3
- package/dist/api/QTable.json +216 -93
- package/dist/api/QTabs.json +4 -2
- package/dist/api/QTime.json +16 -4
- package/dist/api/QTimeline.json +4 -2
- package/dist/api/QTimelineEntry.json +4 -2
- package/dist/api/QToggle.json +8 -4
- package/dist/api/QTooltip.json +18 -9
- package/dist/api/QTree.json +26 -15
- package/dist/api/QUploader.json +93 -5
- package/dist/api/QVirtualScroll.json +23 -9
- package/dist/api/ScrollFire.json +1 -1
- package/dist/api/SessionStorage.json +8 -0
- package/dist/api/TouchHold.json +2 -1
- package/dist/api/TouchRepeat.json +2 -1
- package/dist/api/TouchSwipe.json +2 -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/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.css +7 -2
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +7 -2
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +6 -3
- package/dist/quasar.umd.js +185 -105
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/api/cookies.d.ts +1 -1
- package/dist/types/composables.d.ts +5 -1
- package/dist/types/extras/icon-set.d.ts +1 -0
- package/dist/types/index.d.ts +516 -176
- package/dist/vetur/quasar-attributes.json +14 -2
- package/dist/vetur/quasar-tags.json +5 -2
- package/dist/web-types/web-types.json +43 -8
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/package.json +5 -2
- package/src/api.extends.json +7 -0
- package/src/body.js +14 -4
- package/src/components/btn/QBtn.js +1 -0
- package/src/components/circular-progress/QCircularProgress.js +6 -1
- package/src/components/circular-progress/QCircularProgress.json +6 -0
- package/src/components/date/QDate.json +59 -1
- package/src/components/editor/QEditor.js +2 -2
- package/src/components/editor/QEditor.json +6 -2
- package/src/components/field/QField.json +3 -3
- package/src/components/file/QFile.json +3 -0
- package/src/components/footer/QFooter.json +1 -1
- package/src/components/header/QHeader.json +1 -1
- package/src/components/icon/QIcon.js +1 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +48 -31
- package/src/components/intersection/QIntersection.js +9 -1
- package/src/components/intersection/QIntersection.json +9 -0
- package/src/components/layout/QLayout.json +8 -1
- package/src/components/linear-progress/QLinearProgress.js +10 -1
- package/src/components/linear-progress/QLinearProgress.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +3 -2
- package/src/components/pagination/QPagination.json +0 -1
- package/src/components/popup-edit/QPopupEdit.json +1 -0
- package/src/components/popup-proxy/QPopupProxy.js +6 -15
- package/src/components/resize-observer/QResizeObserver.json +2 -0
- package/src/components/scroll-area/QScrollArea.js +8 -13
- package/src/components/scroll-area/QScrollArea.json +28 -4
- package/src/components/scroll-observer/QScrollObserver.json +11 -0
- package/src/components/select/QSelect.js +7 -3
- package/src/components/select/QSelect.json +71 -11
- package/src/components/skeleton/QSkeleton.json +1 -4
- package/src/components/slide-item/QSlideItem.json +9 -0
- package/src/components/slider/use-slider.js +3 -3
- package/src/components/table/QTable.json +155 -60
- package/src/components/table/table-pagination.js +6 -2
- package/src/components/tabs/QRouteTab.json +1 -23
- package/src/components/time/QTime.json +8 -0
- package/src/components/tree/QTree.json +14 -9
- package/src/components/uploader/xhr-uploader-plugin.json +105 -4
- package/src/components/virtual-scroll/use-virtual-scroll.js +17 -1
- package/src/components/virtual-scroll/use-virtual-scroll.json +5 -0
- package/src/composables/private/use-field.js +4 -4
- package/src/composables/private/use-refocus-target.js +12 -3
- package/src/composables/private/use-split-attrs.js +10 -7
- package/src/composables/use-dialog-plugin-component.js +7 -1
- package/src/css/core/transitions.sass +3 -1
- package/src/directives/Mutation.json +2 -3
- package/src/directives/ScrollFire.json +2 -3
- package/src/install-quasar.js +1 -0
- package/src/plugins/AppFullscreen.json +8 -8
- package/src/plugins/Cookies.json +2 -2
- package/src/plugins/Dialog.json +4 -2
- package/src/plugins/LoadingBar.json +4 -3
- package/src/plugins/Notify.json +13 -19
- package/src/utils/create-uploader-component.js +6 -4
- package/src/utils/private/get-emits-object.js +11 -0
- package/src/utils/private/global-dialog.json +16 -2
- package/src/utils/private/vm.js +3 -3
- package/src/utils/private/web-storage.json +10 -0
- package/wrappers/index.js +4 -0
|
@@ -61,6 +61,17 @@
|
|
|
61
61
|
"events": {
|
|
62
62
|
"type": [ "Array", "Function" ],
|
|
63
63
|
"desc": "A list of events to highlight on the calendar; If using a function, it receives the date as a String and must return a Boolean (matches or not); If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
64
|
+
"params": {
|
|
65
|
+
"date": {
|
|
66
|
+
"type": "String",
|
|
67
|
+
"desc": "The current date being processed.",
|
|
68
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"returns": {
|
|
72
|
+
"type": "Boolean",
|
|
73
|
+
"desc": "If true, the current date will be highlighted"
|
|
74
|
+
},
|
|
64
75
|
"examples": [
|
|
65
76
|
":events=\"['2018/11/05', '2018/11/06', '2018/11/09', '2018/11/23']\"",
|
|
66
77
|
":events=\"date => date[9] % 3 === 0\""
|
|
@@ -71,6 +82,18 @@
|
|
|
71
82
|
"event-color": {
|
|
72
83
|
"type": [ "String", "Function" ],
|
|
73
84
|
"desc": "Color name (from the Quasar Color Palette); If using a function, it receives the date as a String and must return a String (color for the received date); If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
85
|
+
"params": {
|
|
86
|
+
"date": {
|
|
87
|
+
"type": "String",
|
|
88
|
+
"desc": "The current date being processed.",
|
|
89
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"returns": {
|
|
93
|
+
"type": "String",
|
|
94
|
+
"desc": "Color for the current date.",
|
|
95
|
+
"examples": [ "teal", "orange" ]
|
|
96
|
+
},
|
|
74
97
|
"examples": [
|
|
75
98
|
"teal-10",
|
|
76
99
|
":event-color=\"(date) => date[9] % 2 === 0 ? 'teal' : 'orange'\""
|
|
@@ -81,6 +104,17 @@
|
|
|
81
104
|
"options": {
|
|
82
105
|
"type": [ "Array", "Function" ],
|
|
83
106
|
"desc": "Optionally configure the days that are selectable; If using a function, it receives the date as a String and must return a Boolean (is date acceptable or not); If using a function then for best performance, reference it from your scope and do not define it inline; Incompatible with 'range' prop",
|
|
107
|
+
"params": {
|
|
108
|
+
"date": {
|
|
109
|
+
"type": "String",
|
|
110
|
+
"desc": "The current date being processed.",
|
|
111
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"returns": {
|
|
115
|
+
"type": "Boolean",
|
|
116
|
+
"desc": "If true, the current date will be made available for selection"
|
|
117
|
+
},
|
|
84
118
|
"examples": [
|
|
85
119
|
":options=\"['2018/11/05', '2018/11/12', '2018/11/19', '2018/11/26' ]\"",
|
|
86
120
|
":options=\"date => date[9] % 3 === 0\"",
|
|
@@ -175,35 +209,42 @@
|
|
|
175
209
|
"definition": {
|
|
176
210
|
"year": {
|
|
177
211
|
"type": "Number",
|
|
212
|
+
"required": true,
|
|
178
213
|
"desc": "The year of the date that the user has clicked/tapped on",
|
|
179
214
|
"__exemption": [ "examples" ]
|
|
180
215
|
},
|
|
181
216
|
"month": {
|
|
182
217
|
"type": "Number",
|
|
218
|
+
"required": true,
|
|
183
219
|
"desc": "The month of the date that the user has clicked/tapped on",
|
|
184
220
|
"__exemption": [ "examples" ]
|
|
185
221
|
},
|
|
186
222
|
"day": {
|
|
187
223
|
"type": "Number",
|
|
224
|
+
"required": true,
|
|
188
225
|
"desc": "The day of the month that the user has clicked/tapped on",
|
|
189
226
|
"__exemption": [ "examples" ]
|
|
190
227
|
},
|
|
191
228
|
"from": {
|
|
192
229
|
"type": "Object",
|
|
230
|
+
"required": false,
|
|
193
231
|
"desc": "Object of properties of the range starting point (only if range)",
|
|
194
232
|
"definition": {
|
|
195
233
|
"year": {
|
|
196
234
|
"type": "Number",
|
|
235
|
+
"required": true,
|
|
197
236
|
"desc": "The year",
|
|
198
237
|
"__exemption": [ "examples" ]
|
|
199
238
|
},
|
|
200
239
|
"month": {
|
|
201
240
|
"type": "Number",
|
|
241
|
+
"required": true,
|
|
202
242
|
"desc": "The month",
|
|
203
243
|
"__exemption": [ "examples" ]
|
|
204
244
|
},
|
|
205
245
|
"day": {
|
|
206
246
|
"type": "Number",
|
|
247
|
+
"required": true,
|
|
207
248
|
"desc": "The day of month",
|
|
208
249
|
"__exemption": [ "examples" ]
|
|
209
250
|
}
|
|
@@ -211,20 +252,24 @@
|
|
|
211
252
|
},
|
|
212
253
|
"to": {
|
|
213
254
|
"type": "Object",
|
|
255
|
+
"required": false,
|
|
214
256
|
"desc": "Object of properties of the range ending point (only if range)",
|
|
215
257
|
"definition": {
|
|
216
258
|
"year": {
|
|
217
259
|
"type": "Number",
|
|
260
|
+
"required": true,
|
|
218
261
|
"desc": "The year",
|
|
219
262
|
"__exemption": [ "examples" ]
|
|
220
263
|
},
|
|
221
264
|
"month": {
|
|
222
265
|
"type": "Number",
|
|
266
|
+
"required": true,
|
|
223
267
|
"desc": "The month",
|
|
224
268
|
"__exemption": [ "examples" ]
|
|
225
269
|
},
|
|
226
270
|
"day": {
|
|
227
271
|
"type": "Number",
|
|
272
|
+
"required": true,
|
|
228
273
|
"desc": "The day of month",
|
|
229
274
|
"__exemption": [ "examples" ]
|
|
230
275
|
}
|
|
@@ -244,11 +289,13 @@
|
|
|
244
289
|
"definition": {
|
|
245
290
|
"year": {
|
|
246
291
|
"type": "Number",
|
|
292
|
+
"required": true,
|
|
247
293
|
"desc": "The year",
|
|
248
294
|
"__exemption": [ "examples" ]
|
|
249
295
|
},
|
|
250
296
|
"month": {
|
|
251
297
|
"type": "Number",
|
|
298
|
+
"required": true,
|
|
252
299
|
"desc": "The month",
|
|
253
300
|
"__exemption": [ "examples" ]
|
|
254
301
|
}
|
|
@@ -266,16 +313,19 @@
|
|
|
266
313
|
"definition": {
|
|
267
314
|
"year": {
|
|
268
315
|
"type": "Number",
|
|
316
|
+
"required": true,
|
|
269
317
|
"desc": "The year",
|
|
270
318
|
"__exemption": [ "examples" ]
|
|
271
319
|
},
|
|
272
320
|
"month": {
|
|
273
321
|
"type": "Number",
|
|
322
|
+
"required": true,
|
|
274
323
|
"desc": "The month",
|
|
275
324
|
"__exemption": [ "examples" ]
|
|
276
325
|
},
|
|
277
326
|
"day": {
|
|
278
327
|
"type": "Number",
|
|
328
|
+
"required": true,
|
|
279
329
|
"desc": "The day of month",
|
|
280
330
|
"__exemption": [ "examples" ]
|
|
281
331
|
}
|
|
@@ -293,20 +343,24 @@
|
|
|
293
343
|
"definition": {
|
|
294
344
|
"from": {
|
|
295
345
|
"type": "Object",
|
|
346
|
+
"required": true,
|
|
296
347
|
"desc": "Definition of date from where the range begins",
|
|
297
348
|
"definition": {
|
|
298
349
|
"year": {
|
|
299
350
|
"type": "Number",
|
|
351
|
+
"required": true,
|
|
300
352
|
"desc": "The year",
|
|
301
353
|
"__exemption": [ "examples" ]
|
|
302
354
|
},
|
|
303
355
|
"month": {
|
|
304
356
|
"type": "Number",
|
|
357
|
+
"required": true,
|
|
305
358
|
"desc": "The month",
|
|
306
359
|
"__exemption": [ "examples" ]
|
|
307
360
|
},
|
|
308
361
|
"day": {
|
|
309
362
|
"type": "Number",
|
|
363
|
+
"required": true,
|
|
310
364
|
"desc": "The day of month",
|
|
311
365
|
"__exemption": [ "examples" ]
|
|
312
366
|
}
|
|
@@ -314,20 +368,24 @@
|
|
|
314
368
|
},
|
|
315
369
|
"to": {
|
|
316
370
|
"type": "Object",
|
|
371
|
+
"required": true,
|
|
317
372
|
"desc": "Definition of date to where the range ends",
|
|
318
373
|
"definition": {
|
|
319
374
|
"year": {
|
|
320
375
|
"type": "Number",
|
|
376
|
+
"required": true,
|
|
321
377
|
"desc": "The year",
|
|
322
378
|
"__exemption": [ "examples" ]
|
|
323
379
|
},
|
|
324
380
|
"month": {
|
|
325
381
|
"type": "Number",
|
|
382
|
+
"required": true,
|
|
326
383
|
"desc": "The month",
|
|
327
384
|
"__exemption": [ "examples" ]
|
|
328
385
|
},
|
|
329
386
|
"day": {
|
|
330
387
|
"type": "Number",
|
|
388
|
+
"required": true,
|
|
331
389
|
"desc": "The day of month",
|
|
332
390
|
"__exemption": [ "examples" ]
|
|
333
391
|
}
|
|
@@ -349,8 +407,8 @@
|
|
|
349
407
|
"params": {
|
|
350
408
|
"view": {
|
|
351
409
|
"type": "String",
|
|
352
|
-
"desc": "QDate view name",
|
|
353
410
|
"required": true,
|
|
411
|
+
"desc": "QDate view name",
|
|
354
412
|
"values": [ "Calendar", "Months", "Years" ]
|
|
355
413
|
}
|
|
356
414
|
}
|
|
@@ -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)
|
|
@@ -120,8 +120,12 @@
|
|
|
120
120
|
},
|
|
121
121
|
"disable": {
|
|
122
122
|
"type": [ "Boolean", "Function" ],
|
|
123
|
-
"desc": "Is button disabled?
|
|
124
|
-
"
|
|
123
|
+
"desc": "Is button disabled?",
|
|
124
|
+
"returns": {
|
|
125
|
+
"type": "Boolean",
|
|
126
|
+
"desc": "If true, the button will be disabled"
|
|
127
|
+
},
|
|
128
|
+
"examples": [ "!user.active", "() => !checkIfUserIsActive()" ]
|
|
125
129
|
},
|
|
126
130
|
"type": {
|
|
127
131
|
"type": "String",
|
|
@@ -30,9 +30,8 @@
|
|
|
30
30
|
"examples": [ "qf_363270c0-7a83-62b1-8dcf-6dfd64ee38fa" ]
|
|
31
31
|
},
|
|
32
32
|
"field": {
|
|
33
|
-
"type": "
|
|
34
|
-
"desc": "DOM element of the field"
|
|
35
|
-
"__exemption": [ "examples" ]
|
|
33
|
+
"type": "Element",
|
|
34
|
+
"desc": "DOM element of the field"
|
|
36
35
|
},
|
|
37
36
|
"editable": {
|
|
38
37
|
"type": "Boolean",
|
|
@@ -57,6 +56,7 @@
|
|
|
57
56
|
"params": {
|
|
58
57
|
"value": {
|
|
59
58
|
"type": "Any",
|
|
59
|
+
"required": true,
|
|
60
60
|
"desc": "Value to be emitted",
|
|
61
61
|
"examples": [ 0, "Changed text" ]
|
|
62
62
|
}
|
|
@@ -42,16 +42,19 @@
|
|
|
42
42
|
"definition": {
|
|
43
43
|
"totalSize": {
|
|
44
44
|
"type": "String",
|
|
45
|
+
"required": true,
|
|
45
46
|
"desc": "The total size of files in human readable format",
|
|
46
47
|
"examples": [ "1.42MB" ]
|
|
47
48
|
},
|
|
48
49
|
"filesNumber": {
|
|
49
50
|
"type": "Number",
|
|
51
|
+
"required": true,
|
|
50
52
|
"desc": "Number of picked files",
|
|
51
53
|
"examples": [ 5 ]
|
|
52
54
|
},
|
|
53
55
|
"maxFiles": {
|
|
54
56
|
"type": [ "Number", "String" ],
|
|
57
|
+
"required": true,
|
|
55
58
|
"desc": "Maximum number of files (same as 'max-files' prop, if specified); When 'max-files' is not specified, this has 'void 0' as value",
|
|
56
59
|
"examples": [ 5 ]
|
|
57
60
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
|
|
1
|
+
import { h, ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { createComponent } from '../../utils/private/create.js'
|
|
4
4
|
import debounce from '../../utils/debounce.js'
|
|
@@ -7,6 +7,8 @@ import { getScrollTarget, getScrollHeight, getVerticalScrollPosition, setVertica
|
|
|
7
7
|
import { listenOpts } from '../../utils/event.js'
|
|
8
8
|
import { hSlot, hUniqueSlot } from '../../utils/private/render.js'
|
|
9
9
|
|
|
10
|
+
const { passive } = listenOpts
|
|
11
|
+
|
|
10
12
|
export default createComponent({
|
|
11
13
|
name: 'QInfiniteScroll',
|
|
12
14
|
|
|
@@ -34,20 +36,21 @@ export default createComponent({
|
|
|
34
36
|
emits: [ 'load' ],
|
|
35
37
|
|
|
36
38
|
setup (props, { slots, emit }) {
|
|
37
|
-
const
|
|
39
|
+
const isFetching = ref(false)
|
|
40
|
+
const isWorking = ref(true)
|
|
38
41
|
const rootRef = ref(null)
|
|
39
42
|
|
|
40
43
|
let index = props.initialIndex || 0
|
|
41
|
-
let
|
|
44
|
+
let scrollPos = false
|
|
42
45
|
let localScrollTarget, poll
|
|
43
46
|
|
|
44
47
|
const classes = computed(() =>
|
|
45
48
|
'q-infinite-scroll__loading'
|
|
46
|
-
+ (
|
|
49
|
+
+ (isFetching.value === true ? '' : ' invisible')
|
|
47
50
|
)
|
|
48
51
|
|
|
49
52
|
function immediatePoll () {
|
|
50
|
-
if (props.disable === true ||
|
|
53
|
+
if (props.disable === true || isFetching.value === true || isWorking.value === false) {
|
|
51
54
|
return
|
|
52
55
|
}
|
|
53
56
|
|
|
@@ -69,18 +72,18 @@ export default createComponent({
|
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
function trigger () {
|
|
72
|
-
if (props.disable === true ||
|
|
75
|
+
if (props.disable === true || isFetching.value === true || isWorking.value === false) {
|
|
73
76
|
return
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
index++
|
|
77
|
-
|
|
80
|
+
isFetching.value = true
|
|
78
81
|
|
|
79
82
|
const heightBefore = getScrollHeight(localScrollTarget)
|
|
80
83
|
|
|
81
84
|
emit('load', index, isDone => {
|
|
82
|
-
if (isWorking === true) {
|
|
83
|
-
|
|
85
|
+
if (isWorking.value === true) {
|
|
86
|
+
isFetching.value = false
|
|
84
87
|
nextTick(() => {
|
|
85
88
|
if (props.reverse === true) {
|
|
86
89
|
const
|
|
@@ -107,31 +110,31 @@ export default createComponent({
|
|
|
107
110
|
}
|
|
108
111
|
|
|
109
112
|
function resume () {
|
|
110
|
-
if (isWorking === false) {
|
|
111
|
-
isWorking = true
|
|
112
|
-
localScrollTarget.addEventListener('scroll', poll,
|
|
113
|
+
if (isWorking.value === false) {
|
|
114
|
+
isWorking.value = true
|
|
115
|
+
localScrollTarget.addEventListener('scroll', poll, passive)
|
|
113
116
|
}
|
|
114
117
|
|
|
115
118
|
immediatePoll()
|
|
116
119
|
}
|
|
117
120
|
|
|
118
121
|
function stop () {
|
|
119
|
-
if (isWorking === true) {
|
|
120
|
-
isWorking = false
|
|
121
|
-
|
|
122
|
-
localScrollTarget.removeEventListener('scroll', poll,
|
|
122
|
+
if (isWorking.value === true) {
|
|
123
|
+
isWorking.value = false
|
|
124
|
+
isFetching.value = false
|
|
125
|
+
localScrollTarget.removeEventListener('scroll', poll, passive)
|
|
123
126
|
}
|
|
124
127
|
}
|
|
125
128
|
|
|
126
129
|
function updateScrollTarget () {
|
|
127
|
-
if (localScrollTarget && isWorking === true) {
|
|
128
|
-
localScrollTarget.removeEventListener('scroll', poll,
|
|
130
|
+
if (localScrollTarget && isWorking.value === true) {
|
|
131
|
+
localScrollTarget.removeEventListener('scroll', poll, passive)
|
|
129
132
|
}
|
|
130
133
|
|
|
131
134
|
localScrollTarget = getScrollTarget(rootRef.value, props.scrollTarget)
|
|
132
135
|
|
|
133
|
-
if (isWorking === true) {
|
|
134
|
-
localScrollTarget.addEventListener('scroll', poll,
|
|
136
|
+
if (isWorking.value === true) {
|
|
137
|
+
localScrollTarget.addEventListener('scroll', poll, passive)
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
140
|
|
|
@@ -155,30 +158,44 @@ export default createComponent({
|
|
|
155
158
|
? immediatePoll
|
|
156
159
|
: debounce(immediatePoll, isNaN(val) === true ? 100 : val)
|
|
157
160
|
|
|
158
|
-
if (localScrollTarget && isWorking === true) {
|
|
161
|
+
if (localScrollTarget && isWorking.value === true) {
|
|
159
162
|
if (oldPoll !== void 0) {
|
|
160
|
-
localScrollTarget.removeEventListener('scroll', oldPoll,
|
|
163
|
+
localScrollTarget.removeEventListener('scroll', oldPoll, passive)
|
|
161
164
|
}
|
|
162
165
|
|
|
163
|
-
localScrollTarget.addEventListener('scroll', poll,
|
|
166
|
+
localScrollTarget.addEventListener('scroll', poll, passive)
|
|
164
167
|
}
|
|
165
168
|
}
|
|
166
169
|
|
|
167
170
|
watch(() => props.disable, val => {
|
|
168
|
-
if (val === true) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
if (val === true) { stop() }
|
|
172
|
+
else { resume() }
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
watch(() => props.reverse, val => {
|
|
176
|
+
if (isFetching.value === false && isWorking.value === true) {
|
|
177
|
+
immediatePoll()
|
|
173
178
|
}
|
|
174
179
|
})
|
|
175
180
|
|
|
176
181
|
watch(() => props.scrollTarget, updateScrollTarget)
|
|
177
182
|
watch(() => props.debounce, setDebounce)
|
|
178
183
|
|
|
184
|
+
onActivated(() => {
|
|
185
|
+
if (localScrollTarget && scrollPos !== false) {
|
|
186
|
+
setVerticalScrollPosition(localScrollTarget, scrollPos)
|
|
187
|
+
}
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
onDeactivated(() => {
|
|
191
|
+
scrollPos = localScrollTarget
|
|
192
|
+
? getVerticalScrollPosition(localScrollTarget)
|
|
193
|
+
: false
|
|
194
|
+
})
|
|
195
|
+
|
|
179
196
|
onBeforeUnmount(() => {
|
|
180
|
-
if (isWorking === true) {
|
|
181
|
-
localScrollTarget.removeEventListener('scroll', poll,
|
|
197
|
+
if (isWorking.value === true) {
|
|
198
|
+
localScrollTarget.removeEventListener('scroll', poll, passive)
|
|
182
199
|
}
|
|
183
200
|
})
|
|
184
201
|
|
|
@@ -201,7 +218,7 @@ export default createComponent({
|
|
|
201
218
|
return () => {
|
|
202
219
|
const child = hUniqueSlot(slots.default, [])
|
|
203
220
|
|
|
204
|
-
if (props.disable !== true && isWorking === true) {
|
|
221
|
+
if (props.disable !== true && isWorking.value === true) {
|
|
205
222
|
child[ props.reverse === false ? 'push' : 'unshift' ](
|
|
206
223
|
h('div', { class: classes.value }, hSlot(slots.loading))
|
|
207
224
|
)
|
|
@@ -18,6 +18,10 @@ export default createComponent({
|
|
|
18
18
|
|
|
19
19
|
once: Boolean,
|
|
20
20
|
transition: String,
|
|
21
|
+
transitionDuration: {
|
|
22
|
+
type: [ String, Number ],
|
|
23
|
+
default: 300
|
|
24
|
+
},
|
|
21
25
|
|
|
22
26
|
ssrPrerender: Boolean,
|
|
23
27
|
|
|
@@ -63,6 +67,10 @@ export default createComponent({
|
|
|
63
67
|
] ]
|
|
64
68
|
})
|
|
65
69
|
|
|
70
|
+
const transitionStyle = computed(
|
|
71
|
+
() => `--q-transition-duration: ${ props.transitionDuration }ms`
|
|
72
|
+
)
|
|
73
|
+
|
|
66
74
|
function trigger (entry) {
|
|
67
75
|
if (showing.value !== entry.isIntersecting) {
|
|
68
76
|
showing.value = entry.isIntersecting
|
|
@@ -72,7 +80,7 @@ export default createComponent({
|
|
|
72
80
|
|
|
73
81
|
function getContent () {
|
|
74
82
|
return showing.value === true
|
|
75
|
-
? [ h('div', { key: 'content' }, hSlot(slots.default)) ]
|
|
83
|
+
? [ h('div', { key: 'content', style: transitionStyle.value }, hSlot(slots.default)) ]
|
|
76
84
|
: void 0
|
|
77
85
|
}
|
|
78
86
|
|
|
@@ -51,6 +51,15 @@
|
|
|
51
51
|
"category": "behavior"
|
|
52
52
|
},
|
|
53
53
|
|
|
54
|
+
"transition-duration": {
|
|
55
|
+
"type": [ "String", "Number" ],
|
|
56
|
+
"desc": "Transition duration (in milliseconds, without unit)",
|
|
57
|
+
"default": 300,
|
|
58
|
+
"examples": [ 500, "1200" ],
|
|
59
|
+
"category": "behavior",
|
|
60
|
+
"addedIn": "v2.3.1"
|
|
61
|
+
},
|
|
62
|
+
|
|
54
63
|
"disable": {
|
|
55
64
|
"type": "Boolean",
|
|
56
65
|
"desc": "Disable visibility observable (content will remain as it was, visible or hidden)",
|
|
@@ -37,11 +37,13 @@
|
|
|
37
37
|
"definition": {
|
|
38
38
|
"height": {
|
|
39
39
|
"type": "Number",
|
|
40
|
+
"required": true,
|
|
40
41
|
"desc": "Layout height",
|
|
41
42
|
"examples": [ 575 ]
|
|
42
43
|
},
|
|
43
44
|
"width": {
|
|
44
45
|
"type": "Number",
|
|
46
|
+
"required": true,
|
|
45
47
|
"desc": "Layout height",
|
|
46
48
|
"examples": [ 575 ]
|
|
47
49
|
}
|
|
@@ -59,27 +61,32 @@
|
|
|
59
61
|
"definition": {
|
|
60
62
|
"position": {
|
|
61
63
|
"type": "Number",
|
|
64
|
+
"required": true,
|
|
62
65
|
"desc": "Scroll offset from top (vertical)",
|
|
63
66
|
"examples": [ 120 ]
|
|
64
67
|
},
|
|
65
68
|
|
|
66
69
|
"direction": {
|
|
67
70
|
"type": "String",
|
|
71
|
+
"required": true,
|
|
68
72
|
"desc": "Direction of scroll",
|
|
69
73
|
"values": [ "up", "down" ]
|
|
70
74
|
},
|
|
71
75
|
"directionChanged": {
|
|
72
76
|
"type": "Boolean",
|
|
77
|
+
"required": true,
|
|
73
78
|
"desc": "Has scroll direction changed since event was last emitted?"
|
|
74
79
|
},
|
|
75
80
|
"delta": {
|
|
76
81
|
"type": "Number",
|
|
82
|
+
"required": true,
|
|
77
83
|
"desc": "Vertical delta distance since event was last emitted",
|
|
78
84
|
"examples": [ 120 ]
|
|
79
85
|
},
|
|
80
86
|
|
|
81
87
|
"inflectionPoint": {
|
|
82
88
|
"type": "Number",
|
|
89
|
+
"required": true,
|
|
83
90
|
"desc": "Scroll offset from top (vertical)",
|
|
84
91
|
"examples": [ 120 ]
|
|
85
92
|
}
|
|
@@ -94,7 +101,7 @@
|
|
|
94
101
|
"height": {
|
|
95
102
|
"type": "Number",
|
|
96
103
|
"desc": "New scroll height of layout",
|
|
97
|
-
"examples": [1442]
|
|
104
|
+
"examples": [ 1442 ]
|
|
98
105
|
}
|
|
99
106
|
}
|
|
100
107
|
}
|
|
@@ -44,6 +44,11 @@ export default createComponent({
|
|
|
44
44
|
query: Boolean,
|
|
45
45
|
rounded: Boolean,
|
|
46
46
|
|
|
47
|
+
animationSpeed: {
|
|
48
|
+
type: [ String, Number ],
|
|
49
|
+
default: 2100
|
|
50
|
+
},
|
|
51
|
+
|
|
47
52
|
instantFeedback: Boolean
|
|
48
53
|
},
|
|
49
54
|
|
|
@@ -53,6 +58,10 @@ export default createComponent({
|
|
|
53
58
|
const sizeStyle = useSize(props, defaultSizes)
|
|
54
59
|
|
|
55
60
|
const motion = computed(() => props.indeterminate === true || props.query === true)
|
|
61
|
+
const style = computed(() => ({
|
|
62
|
+
...(sizeStyle.value !== null ? sizeStyle.value : {}),
|
|
63
|
+
'--q-linear-progress-speed': `${ props.animationSpeed }ms`
|
|
64
|
+
}))
|
|
56
65
|
|
|
57
66
|
const classes = computed(() =>
|
|
58
67
|
'q-linear-progress'
|
|
@@ -103,7 +112,7 @@ export default createComponent({
|
|
|
103
112
|
|
|
104
113
|
return h('div', {
|
|
105
114
|
class: classes.value,
|
|
106
|
-
style:
|
|
115
|
+
style: style.value,
|
|
107
116
|
role: 'progressbar',
|
|
108
117
|
'aria-valuemin': 0,
|
|
109
118
|
'aria-valuemax': 1,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.q-linear-progress
|
|
2
|
+
--q-linear-progress-speed: .3s
|
|
2
3
|
position: relative
|
|
3
4
|
width: 100%
|
|
4
5
|
overflow: hidden
|
|
@@ -10,7 +11,7 @@
|
|
|
10
11
|
transform-origin: 0 0
|
|
11
12
|
|
|
12
13
|
&--with-transition
|
|
13
|
-
transition: transform
|
|
14
|
+
transition: transform var(--q-linear-progress-speed)
|
|
14
15
|
|
|
15
16
|
&--reverse
|
|
16
17
|
.q-linear-progress
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
background: rgba(255,255,255,.6)
|
|
51
52
|
|
|
52
53
|
&__stripe
|
|
53
|
-
transition: width
|
|
54
|
+
transition: width var(--q-linear-progress-speed)
|
|
54
55
|
background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0)) !important
|
|
55
56
|
background-size: 40px 40px !important
|
|
56
57
|
|