quasar 2.10.0 → 2.10.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/api/Dialog.json +28 -69
- package/dist/api/Intersection.json +25 -100
- package/dist/api/Loading.json +5 -20
- package/dist/api/LoadingBar.json +1 -7
- package/dist/api/LocalStorage.json +4 -16
- package/dist/api/Morph.json +2 -14
- package/dist/api/Notify.json +0 -3
- package/dist/api/Platform.json +1 -4
- package/dist/api/QAjaxBar.json +1 -11
- package/dist/api/QBreadcrumbs.json +0 -8
- package/dist/api/QBtn.json +0 -3
- package/dist/api/QBtnDropdown.json +0 -12
- package/dist/api/QCarousel.json +0 -10
- package/dist/api/QCarouselControl.json +0 -3
- package/dist/api/QCircularProgress.json +0 -23
- package/dist/api/QColor.json +0 -3
- package/dist/api/QDialog.json +18 -9
- package/dist/api/QDrawer.json +0 -6
- package/dist/api/QExpansionItem.json +0 -3
- package/dist/api/QFab.json +1 -6
- package/dist/api/QFabAction.json +1 -3
- package/dist/api/QField.json +1 -6
- package/dist/api/QFile.json +12 -29
- package/dist/api/QFooter.json +0 -3
- package/dist/api/QHeader.json +0 -6
- package/dist/api/QInfiniteScroll.json +9 -16
- package/dist/api/QInnerLoading.json +0 -4
- package/dist/api/QInput.json +8 -15
- package/dist/api/QIntersection.json +0 -4
- package/dist/api/QItemLabel.json +0 -5
- package/dist/api/QKnob.json +3 -36
- package/dist/api/QLayout.json +6 -24
- package/dist/api/QLinearProgress.json +0 -6
- package/dist/api/QList.json +15 -0
- package/dist/api/QMenu.json +7 -12
- package/dist/api/QOptionGroup.json +0 -3
- package/dist/api/QPage.json +2 -8
- package/dist/api/QPageScroller.json +0 -9
- package/dist/api/QPageSticky.json +0 -3
- package/dist/api/QPagination.json +4 -25
- package/dist/api/QParallax.json +2 -14
- package/dist/api/QPopupEdit.json +0 -8
- package/dist/api/QPopupProxy.json +21 -4
- package/dist/api/QRange.json +5 -32
- package/dist/api/QRating.json +0 -4
- package/dist/api/QResizeObserver.json +2 -8
- package/dist/api/QScrollArea.json +8 -36
- package/dist/api/QScrollObserver.json +6 -24
- package/dist/api/QSelect.json +18 -108
- package/dist/api/QSlideItem.json +1 -6
- package/dist/api/QSlideTransition.json +0 -4
- package/dist/api/QSlider.json +3 -24
- package/dist/api/QSpinner.json +0 -4
- package/dist/api/QSplitter.json +1 -4
- package/dist/api/QStepper.json +0 -7
- package/dist/api/QTabPanels.json +0 -7
- package/dist/api/QTable.json +43 -191
- package/dist/api/QTabs.json +0 -6
- package/dist/api/QTime.json +3 -12
- package/dist/api/QTooltip.json +7 -18
- package/dist/api/QTree.json +0 -3
- package/dist/api/QUploader.json +5 -16
- package/dist/api/QVirtualScroll.json +11 -56
- package/dist/api/Screen.json +9 -36
- package/dist/api/Scroll.json +2 -8
- package/dist/api/SessionStorage.json +4 -16
- package/dist/api/TouchHold.json +3 -12
- package/dist/api/TouchPan.json +7 -28
- package/dist/api/TouchRepeat.json +6 -24
- package/dist/api/TouchSwipe.json +3 -12
- 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 +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.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/mdi-v7.umd.prod.js +6 -0
- 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 +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +6 -0
- 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/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/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/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/kz.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/mm.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/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.cjs.prod.js +2 -2
- package/dist/quasar.css +3 -3
- package/dist/quasar.esm.js +223 -192
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +10 -3
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +5 -4
- package/dist/quasar.umd.js +222 -191
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/api/dialog.d.ts +101 -0
- package/dist/types/api/qpopupproxy.d.ts +3 -0
- package/dist/types/api.d.ts +2 -0
- package/dist/types/index.d.ts +56 -97
- package/dist/vetur/quasar-attributes.json +4 -0
- package/dist/vetur/quasar-tags.json +2 -1
- package/dist/web-types/web-types.json +142 -132
- package/icon-set/mdi-v7.js +146 -0
- package/icon-set/mdi-v7.mjs +141 -0
- package/icon-set/svg-mdi-v7.js +224 -0
- package/icon-set/svg-mdi-v7.mjs +224 -0
- package/package.json +4 -4
- package/src/api.extends.json +1 -2
- package/src/components/ajax-bar/QAjaxBar.json +5 -11
- package/src/components/breadcrumbs/QBreadcrumbs.json +0 -2
- package/src/components/breadcrumbs/QBreadcrumbsEl.json +1 -2
- package/src/components/btn/QBtn.json +1 -3
- package/src/components/btn/__tests__/QBtn.spec.js +87 -14
- package/src/components/btn/__tests__/use-btn.spec.js +385 -58
- package/src/components/btn-dropdown/QBtnDropdown.js +4 -12
- package/src/components/btn-dropdown/QBtnDropdown.json +0 -2
- package/src/components/btn-toggle/QBtnToggle.json +2 -4
- package/src/components/carousel/QCarousel.json +4 -9
- package/src/components/carousel/QCarouselControl.json +0 -1
- package/src/components/checkbox/use-checkbox.json +1 -2
- package/src/components/circular-progress/QCircularProgress.json +0 -5
- package/src/components/color/QColor.json +0 -1
- package/src/components/date/QDate.js +6 -4
- package/src/components/date/QDate.json +28 -56
- package/src/components/dialog/QDialog.js +34 -41
- package/src/components/dialog/QDialog.json +9 -2
- package/src/components/dialog-bottom-sheet/BottomSheet.js +1 -2
- package/src/components/dialog-plugin/DialogPlugin.js +4 -4
- package/src/components/drawer/QDrawer.js +5 -5
- package/src/components/drawer/QDrawer.json +0 -4
- package/src/components/editor/QEditor.json +3 -6
- package/src/components/expansion-item/QExpansionItem.js +3 -4
- package/src/components/expansion-item/QExpansionItem.json +3 -8
- package/src/components/fab/QFab.js +3 -6
- package/src/components/fab/QFab.json +0 -1
- package/src/components/fab/QFab.sass +2 -1
- package/src/components/fab/use-fab.json +0 -1
- package/src/components/field/QField.json +0 -1
- package/src/components/file/QFile.js +4 -1
- package/src/components/file/QFile.json +19 -20
- package/src/components/footer/QFooter.json +0 -1
- package/src/components/form/QForm.js +5 -3
- package/src/components/form/QForm.json +2 -4
- package/src/components/header/QHeader.json +0 -4
- package/src/components/img/QImg.js +20 -19
- package/src/components/infinite-scroll/QInfiniteScroll.json +9 -6
- package/src/components/inner-loading/QInnerLoading.js +2 -5
- package/src/components/input/QInput.js +12 -3
- package/src/components/input/QInput.json +11 -7
- package/src/components/input/use-mask.js +3 -1
- package/src/components/intersection/QIntersection.json +0 -1
- package/src/components/item/QItem.json +1 -2
- package/src/components/item/QItemLabel.json +0 -1
- package/src/components/item/QList.js +7 -2
- package/src/components/item/QList.json +7 -0
- package/src/components/knob/QKnob.js +3 -3
- package/src/components/knob/QKnob.json +3 -12
- package/src/components/layout/QLayout.js +1 -1
- package/src/components/layout/QLayout.json +6 -12
- package/src/components/linear-progress/QLinearProgress.json +0 -2
- package/src/components/menu/QMenu.js +12 -6
- package/src/components/menu/QMenu.json +0 -2
- package/src/components/option-group/QOptionGroup.json +2 -5
- package/src/components/page/QPage.json +3 -6
- package/src/components/page-scroller/QPageScroller.json +0 -2
- package/src/components/page-sticky/QPageSticky.json +0 -1
- package/src/components/pagination/QPagination.json +5 -13
- package/src/components/parallax/QParallax.json +2 -6
- package/src/components/popup-edit/QPopupEdit.js +3 -3
- package/src/components/popup-edit/QPopupEdit.json +4 -10
- package/src/components/popup-proxy/QPopupProxy.js +6 -0
- package/src/components/popup-proxy/QPopupProxy.json +19 -1
- package/src/components/radio/QRadio.json +1 -2
- package/src/components/range/QRange.json +2 -4
- package/src/components/rating/QRating.json +0 -1
- package/src/components/resize-observer/QResizeObserver.json +2 -4
- package/src/components/scroll-area/QScrollArea.js +15 -4
- package/src/components/scroll-area/QScrollArea.json +24 -50
- package/src/components/scroll-observer/QScrollObserver.js +2 -0
- package/src/components/scroll-observer/QScrollObserver.json +6 -12
- package/src/components/select/QSelect.js +28 -27
- package/src/components/select/QSelect.json +30 -65
- package/src/components/select/QSelect.sass +2 -2
- package/src/components/slide-item/QSlideItem.json +1 -2
- package/src/components/slide-transition/QSlideTransition.json +0 -1
- package/src/components/slider/use-slider.json +33 -70
- package/src/components/spinner/QSpinner.json +0 -1
- package/src/components/splitter/QSplitter.json +1 -2
- package/src/components/table/QTable.js +3 -3
- package/src/components/table/QTable.json +118 -239
- package/src/components/tabs/QRouteTab.json +0 -1
- package/src/components/tabs/QTabs.json +0 -2
- package/src/components/time/QTime.json +10 -20
- package/src/components/tooltip/QTooltip.js +2 -5
- package/src/components/tooltip/QTooltip.json +0 -4
- package/src/components/tree/QTree.js +6 -6
- package/src/components/tree/QTree.json +15 -31
- package/src/components/uploader/QUploader.json +13 -22
- package/src/components/uploader/xhr-uploader-plugin.js +1 -1
- package/src/components/uploader/xhr-uploader-plugin.json +25 -50
- package/src/components/virtual-scroll/QVirtualScroll.json +5 -10
- package/src/components/virtual-scroll/use-virtual-scroll.js +1 -1
- package/src/components/virtual-scroll/use-virtual-scroll.json +8 -19
- package/src/composables/private/use-field.js +1 -1
- package/src/composables/private/use-field.json +2 -3
- package/src/composables/private/use-file.json +4 -13
- package/src/composables/private/use-model-toggle.js +3 -3
- package/src/composables/private/use-panel.js +2 -2
- package/src/composables/private/use-panel.json +0 -2
- package/src/composables/private/use-portal.js +5 -1
- package/src/composables/private/use-portal.json +7 -1
- package/src/composables/private/use-transition.js +17 -11
- package/src/composables/private/use-transition.json +0 -1
- package/src/composables/private/use-validate.json +1 -3
- package/src/directives/Intersection.json +26 -53
- package/src/directives/Morph.json +4 -8
- package/src/directives/Mutation.json +6 -12
- package/src/directives/Scroll.json +2 -4
- package/src/directives/TouchHold.json +3 -6
- package/src/directives/TouchPan.json +7 -14
- package/src/directives/TouchRepeat.json +6 -12
- package/src/directives/TouchSwipe.json +3 -6
- package/src/plugins/BottomSheet.json +1 -2
- package/src/plugins/Cookies.json +2 -4
- package/src/plugins/Dialog.json +35 -73
- package/src/plugins/Loading.json +6 -11
- package/src/plugins/LoadingBar.json +3 -6
- package/src/plugins/Notify.json +4 -5
- package/src/plugins/Platform.json +3 -6
- package/src/plugins/Screen.json +9 -18
- package/src/utils/private/global-dialog.json +6 -12
- package/src/utils/private/portal.js +4 -4
- package/src/utils/private/web-storage.json +6 -10
|
@@ -151,8 +151,7 @@
|
|
|
151
151
|
"type": "Boolean",
|
|
152
152
|
"desc": "Highlight the toolbar button, when a child option has been selected."
|
|
153
153
|
}
|
|
154
|
-
}
|
|
155
|
-
"__exemption": [ "examples" ]
|
|
154
|
+
}
|
|
156
155
|
}
|
|
157
156
|
},
|
|
158
157
|
"category": "toolbar"
|
|
@@ -308,8 +307,7 @@
|
|
|
308
307
|
"desc": "Retrieve the content of the Editor",
|
|
309
308
|
"returns": {
|
|
310
309
|
"type": "Element",
|
|
311
|
-
"desc": "Provides the pure HTML within the editable area"
|
|
312
|
-
"__exemption": [ "examples" ]
|
|
310
|
+
"desc": "Provides the pure HTML within the editable area"
|
|
313
311
|
}
|
|
314
312
|
}
|
|
315
313
|
},
|
|
@@ -318,8 +316,7 @@
|
|
|
318
316
|
"caret": {
|
|
319
317
|
"type": "Object",
|
|
320
318
|
"tsType": "QEditorCaret",
|
|
321
|
-
"desc": "The current caret state"
|
|
322
|
-
"__exemption": [ "examples" ]
|
|
319
|
+
"desc": "The current caret state"
|
|
323
320
|
}
|
|
324
321
|
}
|
|
325
322
|
}
|
|
@@ -61,7 +61,7 @@ export default createComponent({
|
|
|
61
61
|
|
|
62
62
|
emits: [
|
|
63
63
|
...useModelToggleEmits,
|
|
64
|
-
'click', '
|
|
64
|
+
'click', 'afterShow', 'afterHide'
|
|
65
65
|
],
|
|
66
66
|
|
|
67
67
|
setup (props, { slots, emit }) {
|
|
@@ -143,7 +143,6 @@ export default createComponent({
|
|
|
143
143
|
return {
|
|
144
144
|
role: 'button',
|
|
145
145
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
146
|
-
'aria-owns': targetUid,
|
|
147
146
|
'aria-controls': targetUid,
|
|
148
147
|
'aria-label': toggleAriaLabel
|
|
149
148
|
}
|
|
@@ -170,11 +169,11 @@ export default createComponent({
|
|
|
170
169
|
}
|
|
171
170
|
|
|
172
171
|
function onShow () {
|
|
173
|
-
emit('
|
|
172
|
+
emit('afterShow')
|
|
174
173
|
}
|
|
175
174
|
|
|
176
175
|
function onHide () {
|
|
177
|
-
emit('
|
|
176
|
+
emit('afterHide')
|
|
178
177
|
}
|
|
179
178
|
|
|
180
179
|
function enterGroup () {
|
|
@@ -81,7 +81,6 @@
|
|
|
81
81
|
"type": "Number",
|
|
82
82
|
"desc": "Animation duration (in milliseconds)",
|
|
83
83
|
"default": 300,
|
|
84
|
-
"examples": [ ":duration=\"1000\"" ],
|
|
85
84
|
"category": "behavior"
|
|
86
85
|
},
|
|
87
86
|
|
|
@@ -189,7 +188,6 @@
|
|
|
189
188
|
"detailsId": {
|
|
190
189
|
"type": "String",
|
|
191
190
|
"desc": "QExpansionItem details panel id (for use in aria-controls)",
|
|
192
|
-
"__exemption": [ "examples" ],
|
|
193
191
|
"addedIn": "v2.8.4"
|
|
194
192
|
},
|
|
195
193
|
|
|
@@ -200,8 +198,7 @@
|
|
|
200
198
|
"evt": {
|
|
201
199
|
"type": "Object",
|
|
202
200
|
"required": false,
|
|
203
|
-
"desc": "JS event object"
|
|
204
|
-
"__exemption": [ "examples" ]
|
|
201
|
+
"desc": "JS event object"
|
|
205
202
|
}
|
|
206
203
|
},
|
|
207
204
|
"returns": null,
|
|
@@ -215,8 +212,7 @@
|
|
|
215
212
|
"evt": {
|
|
216
213
|
"type": "Object",
|
|
217
214
|
"required": false,
|
|
218
|
-
"desc": "JS event object"
|
|
219
|
-
"__exemption": [ "examples" ]
|
|
215
|
+
"desc": "JS event object"
|
|
220
216
|
}
|
|
221
217
|
},
|
|
222
218
|
"returns": null,
|
|
@@ -230,8 +226,7 @@
|
|
|
230
226
|
"evt": {
|
|
231
227
|
"type": "Object",
|
|
232
228
|
"required": false,
|
|
233
|
-
"desc": "JS event object"
|
|
234
|
-
"__exemption": [ "examples" ]
|
|
229
|
+
"desc": "JS event object"
|
|
235
230
|
}
|
|
236
231
|
},
|
|
237
232
|
"returns": null,
|
|
@@ -77,13 +77,11 @@ export default createComponent({
|
|
|
77
77
|
|
|
78
78
|
const actionAttrs = computed(() => {
|
|
79
79
|
const attrs = {
|
|
80
|
-
id: targetUid
|
|
80
|
+
id: targetUid,
|
|
81
|
+
role: 'menu'
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
if (showing.value
|
|
84
|
-
attrs.role = 'menu'
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
84
|
+
if (showing.value !== true) {
|
|
87
85
|
attrs[ 'aria-hidden' ] = 'true'
|
|
88
86
|
}
|
|
89
87
|
|
|
@@ -152,7 +150,6 @@ export default createComponent({
|
|
|
152
150
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
153
151
|
'aria-haspopup': 'true',
|
|
154
152
|
'aria-controls': targetUid,
|
|
155
|
-
'aria-owns': targetUid,
|
|
156
153
|
onClick: toggle
|
|
157
154
|
}, getTriggerContent),
|
|
158
155
|
|
|
@@ -10,6 +10,7 @@ import useFileFormDomProps from '../../composables/private/use-file-dom-props.js
|
|
|
10
10
|
import { createComponent } from '../../utils/private/create.js'
|
|
11
11
|
import { humanStorageSize } from '../../utils/format.js'
|
|
12
12
|
import { prevent } from '../../utils/event.js'
|
|
13
|
+
import { injectProp } from '../../utils/private/inject-obj-prop.js'
|
|
13
14
|
|
|
14
15
|
export default createComponent({
|
|
15
16
|
name: 'QFile',
|
|
@@ -285,9 +286,11 @@ export default createComponent({
|
|
|
285
286
|
Object.assign(proxy, {
|
|
286
287
|
removeAtIndex,
|
|
287
288
|
removeFile,
|
|
288
|
-
getNativeElement: () => inputRef.value
|
|
289
|
+
getNativeElement: () => inputRef.value // deprecated
|
|
289
290
|
})
|
|
290
291
|
|
|
292
|
+
injectProp(proxy, 'nativeEl', () => inputRef.value)
|
|
293
|
+
|
|
291
294
|
return useField(state)
|
|
292
295
|
}
|
|
293
296
|
})
|
|
@@ -49,22 +49,19 @@
|
|
|
49
49
|
"filesNumber": {
|
|
50
50
|
"type": "Number",
|
|
51
51
|
"required": true,
|
|
52
|
-
"desc": "Number of picked files"
|
|
53
|
-
"examples": [ 5 ]
|
|
52
|
+
"desc": "Number of picked files"
|
|
54
53
|
},
|
|
55
54
|
"maxFiles": {
|
|
56
55
|
"type": [ "Number", "String" ],
|
|
57
56
|
"required": true,
|
|
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"
|
|
59
|
-
"examples": [ 5 ]
|
|
57
|
+
"desc": "Maximum number of files (same as 'max-files' prop, if specified); When 'max-files' is not specified, this has 'void 0' as value"
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
},
|
|
64
62
|
"returns": {
|
|
65
63
|
"type": "String",
|
|
66
|
-
"desc": "String to display for the counter label"
|
|
67
|
-
"__exemption": [ "examples" ]
|
|
64
|
+
"desc": "String to display for the counter label"
|
|
68
65
|
},
|
|
69
66
|
"examples": [
|
|
70
67
|
":counter-label=\"counterLabelFn\""
|
|
@@ -105,14 +102,12 @@
|
|
|
105
102
|
"scope": {
|
|
106
103
|
"index": {
|
|
107
104
|
"type": "Number",
|
|
108
|
-
"desc": "Selection index"
|
|
109
|
-
"examples": [ 0 ]
|
|
105
|
+
"desc": "Selection index"
|
|
110
106
|
},
|
|
111
107
|
|
|
112
108
|
"file": {
|
|
113
109
|
"type": "File",
|
|
114
|
-
"desc": "File object"
|
|
115
|
-
"__exemption": [ "examples" ]
|
|
110
|
+
"desc": "File object"
|
|
116
111
|
},
|
|
117
112
|
|
|
118
113
|
"ref": {
|
|
@@ -128,8 +123,7 @@
|
|
|
128
123
|
"scope": {
|
|
129
124
|
"files": {
|
|
130
125
|
"type": [ "FileList", "Array" ],
|
|
131
|
-
"desc": "Array of File objects"
|
|
132
|
-
"__exemption": [ "examples" ]
|
|
126
|
+
"desc": "Array of File objects"
|
|
133
127
|
},
|
|
134
128
|
|
|
135
129
|
"ref": {
|
|
@@ -154,8 +148,7 @@
|
|
|
154
148
|
"index": {
|
|
155
149
|
"type": "Number",
|
|
156
150
|
"desc": "Index at which to remove selection",
|
|
157
|
-
"required": true
|
|
158
|
-
"examples": [ 0 ]
|
|
151
|
+
"required": true
|
|
159
152
|
}
|
|
160
153
|
}
|
|
161
154
|
},
|
|
@@ -166,19 +159,25 @@
|
|
|
166
159
|
"file": {
|
|
167
160
|
"type": "File",
|
|
168
161
|
"desc": "File to remove (instance of File)",
|
|
169
|
-
"required": true
|
|
170
|
-
"__exemption": [ "examples" ]
|
|
162
|
+
"required": true
|
|
171
163
|
}
|
|
172
164
|
}
|
|
173
165
|
},
|
|
174
166
|
|
|
175
167
|
"getNativeElement": {
|
|
176
|
-
"desc": "
|
|
168
|
+
"desc": "DEPRECATED; Access 'nativeEl' directly; Gets the native input DOM Element",
|
|
177
169
|
"returns": {
|
|
178
|
-
"type": "
|
|
179
|
-
"desc": "The underlying native input DOM Element"
|
|
180
|
-
"__exemption": [ "examples" ]
|
|
170
|
+
"type": "Element",
|
|
171
|
+
"desc": "The underlying native input DOM Element"
|
|
181
172
|
}
|
|
182
173
|
}
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
"computedProps": {
|
|
177
|
+
"nativeEl": {
|
|
178
|
+
"type": "Element",
|
|
179
|
+
"desc": "The native input DOM Element",
|
|
180
|
+
"addedIn": "v2.10.1"
|
|
181
|
+
}
|
|
183
182
|
}
|
|
184
183
|
}
|
|
@@ -19,7 +19,7 @@ export default createComponent({
|
|
|
19
19
|
onSubmit: Function
|
|
20
20
|
},
|
|
21
21
|
|
|
22
|
-
emits: [ 'reset', '
|
|
22
|
+
emits: [ 'reset', 'validationSuccess', 'validationError' ],
|
|
23
23
|
|
|
24
24
|
setup (props, { slots, emit }) {
|
|
25
25
|
const vm = getCurrentInstance()
|
|
@@ -36,7 +36,7 @@ export default createComponent({
|
|
|
36
36
|
const index = ++validateIndex
|
|
37
37
|
|
|
38
38
|
const emitEvent = (res, ref) => {
|
|
39
|
-
emit('validation
|
|
39
|
+
emit('validation' + (res === true ? 'Success' : 'Error'), ref)
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
const validateComponent = comp => {
|
|
@@ -138,7 +138,9 @@ export default createComponent({
|
|
|
138
138
|
addFocusFn(() => {
|
|
139
139
|
if (rootRef.value === null) { return }
|
|
140
140
|
|
|
141
|
-
const target = rootRef.value.querySelector('[autofocus], [data-autofocus]')
|
|
141
|
+
const target = rootRef.value.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]')
|
|
142
|
+
|| rootRef.value.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]')
|
|
143
|
+
|| rootRef.value.querySelector('[autofocus], [data-autofocus]')
|
|
142
144
|
|| Array.prototype.find.call(rootRef.value.querySelectorAll('[tabindex]'), el => el.tabIndex > -1)
|
|
143
145
|
|
|
144
146
|
target !== null && target !== void 0 && target.focus({ preventScroll: true })
|
|
@@ -41,8 +41,7 @@
|
|
|
41
41
|
"params": {
|
|
42
42
|
"evt": {
|
|
43
43
|
"type": [ "Event", "SubmitEvent" ],
|
|
44
|
-
"desc": "Form submission event object"
|
|
45
|
-
"__exemption": [ "examples" ]
|
|
44
|
+
"desc": "Form submission event object"
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
},
|
|
@@ -114,8 +113,7 @@
|
|
|
114
113
|
"desc": "Get array of children vue components that support validation",
|
|
115
114
|
"returns": {
|
|
116
115
|
"type": "Array",
|
|
117
|
-
"desc": "Vue components that support Quasar validation API"
|
|
118
|
-
"__exemption": [ "examples" ]
|
|
116
|
+
"desc": "Vue components that support Quasar validation API"
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
119
|
}
|
|
@@ -25,9 +25,6 @@
|
|
|
25
25
|
"type": "Number",
|
|
26
26
|
"desc": "Amount of scroll (in pixels) that should trigger a 'reveal' state change",
|
|
27
27
|
"default": 250,
|
|
28
|
-
"examples": [
|
|
29
|
-
":reveal-offset=\"500\""
|
|
30
|
-
],
|
|
31
28
|
"category": "behavior"
|
|
32
29
|
},
|
|
33
30
|
|
|
@@ -45,7 +42,6 @@
|
|
|
45
42
|
"type": [ "Number", "String" ],
|
|
46
43
|
"desc": "When using SSR, you can optionally hint of the height (in pixels) of the QHeader",
|
|
47
44
|
"default": 50,
|
|
48
|
-
"examples": [ "150" ],
|
|
49
45
|
"category": "behavior"
|
|
50
46
|
}
|
|
51
47
|
},
|
|
@@ -6,7 +6,6 @@ import useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'
|
|
|
6
6
|
|
|
7
7
|
import { createComponent } from '../../utils/private/create.js'
|
|
8
8
|
import { hSlot } from '../../utils/private/render.js'
|
|
9
|
-
import { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'
|
|
10
9
|
|
|
11
10
|
const defaultRatio = 16 / 9
|
|
12
11
|
|
|
@@ -74,7 +73,7 @@ export default createComponent({
|
|
|
74
73
|
|
|
75
74
|
const images = [
|
|
76
75
|
ref(null),
|
|
77
|
-
ref(
|
|
76
|
+
ref(getPlaceholderSrc())
|
|
78
77
|
]
|
|
79
78
|
|
|
80
79
|
const position = ref(0)
|
|
@@ -114,18 +113,24 @@ export default createComponent({
|
|
|
114
113
|
: null
|
|
115
114
|
}
|
|
116
115
|
|
|
116
|
+
function getPlaceholderSrc () {
|
|
117
|
+
return props.placeholderSrc !== void 0
|
|
118
|
+
? { src: props.placeholderSrc }
|
|
119
|
+
: null
|
|
120
|
+
}
|
|
121
|
+
|
|
117
122
|
function addImage (imgProps) {
|
|
118
123
|
clearTimeout(loadTimer)
|
|
119
124
|
hasError.value = false
|
|
120
125
|
|
|
121
126
|
if (imgProps === null) {
|
|
122
127
|
isLoading.value = false
|
|
123
|
-
images[
|
|
124
|
-
|
|
125
|
-
|
|
128
|
+
images[ position.value ^ 1 ].value = getPlaceholderSrc()
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
isLoading.value = true
|
|
126
132
|
}
|
|
127
133
|
|
|
128
|
-
isLoading.value = true
|
|
129
134
|
images[ position.value ].value = imgProps
|
|
130
135
|
}
|
|
131
136
|
|
|
@@ -160,7 +165,7 @@ export default createComponent({
|
|
|
160
165
|
// if component has been already destroyed
|
|
161
166
|
if (loadTimer === null) { return }
|
|
162
167
|
|
|
163
|
-
position.value = position.value
|
|
168
|
+
position.value = position.value ^ 1
|
|
164
169
|
images[ position.value ].value = null
|
|
165
170
|
isLoading.value = false
|
|
166
171
|
hasError.value = false
|
|
@@ -171,19 +176,11 @@ export default createComponent({
|
|
|
171
176
|
clearTimeout(loadTimer)
|
|
172
177
|
isLoading.value = false
|
|
173
178
|
hasError.value = true
|
|
174
|
-
images[
|
|
175
|
-
images[ 1 ].value =
|
|
179
|
+
images[ position.value ].value = null
|
|
180
|
+
images[ position.value ^ 1 ].value = getPlaceholderSrc()
|
|
176
181
|
emit('error', err)
|
|
177
182
|
}
|
|
178
183
|
|
|
179
|
-
function getContainer (key, child) {
|
|
180
|
-
return h(
|
|
181
|
-
'div',
|
|
182
|
-
{ class: 'q-img__container absolute-full', key },
|
|
183
|
-
child
|
|
184
|
-
)
|
|
185
|
-
}
|
|
186
|
-
|
|
187
184
|
function getImage (index) {
|
|
188
185
|
const img = images[ index ].value
|
|
189
186
|
|
|
@@ -211,7 +208,11 @@ export default createComponent({
|
|
|
211
208
|
data.class += ' q-img__image--loaded'
|
|
212
209
|
}
|
|
213
210
|
|
|
214
|
-
return
|
|
211
|
+
return h(
|
|
212
|
+
'div',
|
|
213
|
+
{ class: 'q-img__container absolute-full', key: 'img' + index },
|
|
214
|
+
h('img', data)
|
|
215
|
+
)
|
|
215
216
|
}
|
|
216
217
|
|
|
217
218
|
function getContent () {
|
|
@@ -242,7 +243,7 @@ export default createComponent({
|
|
|
242
243
|
}
|
|
243
244
|
|
|
244
245
|
if (__QUASAR_SSR_SERVER__ !== true) {
|
|
245
|
-
if (__QUASAR_SSR_CLIENT__
|
|
246
|
+
if (__QUASAR_SSR_CLIENT__) {
|
|
246
247
|
onMounted(() => {
|
|
247
248
|
addImage(getCurrentSrc())
|
|
248
249
|
})
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
"type": "Number",
|
|
9
9
|
"desc": "Offset (pixels) to bottom of Infinite Scroll container from which the component should start loading more content in advance",
|
|
10
10
|
"default": 500,
|
|
11
|
-
"examples": [ ":offset=\"250\"" ],
|
|
12
11
|
"category": "behavior"
|
|
13
12
|
},
|
|
14
13
|
|
|
@@ -16,7 +15,6 @@
|
|
|
16
15
|
"type": [ "String", "Number" ],
|
|
17
16
|
"desc": "Debounce amount (in milliseconds)",
|
|
18
17
|
"default": 100,
|
|
19
|
-
"examples": [ "0", "530" ],
|
|
20
18
|
"category": "behavior"
|
|
21
19
|
},
|
|
22
20
|
|
|
@@ -24,7 +22,6 @@
|
|
|
24
22
|
"type": "Number",
|
|
25
23
|
"desc": "Initialize the pagination index (used for the @load event)",
|
|
26
24
|
"default": 0,
|
|
27
|
-
"examples": [ 2, 3 ],
|
|
28
25
|
"category": "behavior"
|
|
29
26
|
},
|
|
30
27
|
|
|
@@ -59,8 +56,7 @@
|
|
|
59
56
|
"params": {
|
|
60
57
|
"index": {
|
|
61
58
|
"type": "Number",
|
|
62
|
-
"desc": "The index parameter can be used to make some sort of pagination on the content you load. It takes numeric values starting with 1 and incrementing with each call"
|
|
63
|
-
"examples": [ 12 ]
|
|
59
|
+
"desc": "The index parameter can be used to make some sort of pagination on the content you load. It takes numeric values starting with 1 and incrementing with each call"
|
|
64
60
|
},
|
|
65
61
|
"done": {
|
|
66
62
|
"type": "Function",
|
|
@@ -99,7 +95,14 @@
|
|
|
99
95
|
},
|
|
100
96
|
|
|
101
97
|
"setIndex": {
|
|
102
|
-
"desc": "Overwrite the current pagination index"
|
|
98
|
+
"desc": "Overwrite the current pagination index",
|
|
99
|
+
"params": {
|
|
100
|
+
"newIndex": {
|
|
101
|
+
"type": "Number",
|
|
102
|
+
"desc": "New pagination index",
|
|
103
|
+
"required": true
|
|
104
|
+
}
|
|
105
|
+
}
|
|
103
106
|
},
|
|
104
107
|
|
|
105
108
|
"updateScrollTarget": {
|
|
@@ -30,7 +30,7 @@ export default createComponent({
|
|
|
30
30
|
const vm = getCurrentInstance()
|
|
31
31
|
const isDark = useDark(props, vm.proxy.$q)
|
|
32
32
|
|
|
33
|
-
const {
|
|
33
|
+
const { transitionProps, transitionStyle } = useTransition(props)
|
|
34
34
|
|
|
35
35
|
const classes = computed(() =>
|
|
36
36
|
'q-inner-loading absolute-full column flex-center'
|
|
@@ -74,9 +74,6 @@ export default createComponent({
|
|
|
74
74
|
: null
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
return () => h(Transition,
|
|
78
|
-
name: transition.value,
|
|
79
|
-
appear: true
|
|
80
|
-
}, getContent)
|
|
77
|
+
return () => h(Transition, transitionProps.value, getContent)
|
|
81
78
|
}
|
|
82
79
|
})
|
|
@@ -9,6 +9,7 @@ import useKeyComposition from '../../composables/private/use-key-composition.js'
|
|
|
9
9
|
import { createComponent } from '../../utils/private/create.js'
|
|
10
10
|
import { stop } from '../../utils/event.js'
|
|
11
11
|
import { addFocusFn } from '../../utils/private/focus-manager.js'
|
|
12
|
+
import { injectProp } from '../../utils/private/inject-obj-prop.js'
|
|
12
13
|
|
|
13
14
|
export default createComponent({
|
|
14
15
|
name: 'QInput',
|
|
@@ -39,7 +40,8 @@ export default createComponent({
|
|
|
39
40
|
|
|
40
41
|
emits: [
|
|
41
42
|
...useFieldEmits,
|
|
42
|
-
'paste', 'change'
|
|
43
|
+
'paste', 'change',
|
|
44
|
+
'keydown', 'animationend'
|
|
43
45
|
],
|
|
44
46
|
|
|
45
47
|
setup (props, { emit, attrs }) {
|
|
@@ -97,7 +99,7 @@ export default createComponent({
|
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
if (props.autogrow === true) {
|
|
100
|
-
evt.onAnimationend =
|
|
102
|
+
evt.onAnimationend = onAnimationend
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
return evt
|
|
@@ -252,6 +254,11 @@ export default createComponent({
|
|
|
252
254
|
props.autogrow === true && adjustHeight()
|
|
253
255
|
}
|
|
254
256
|
|
|
257
|
+
function onAnimationend (e) {
|
|
258
|
+
emit('animationend', e)
|
|
259
|
+
adjustHeight()
|
|
260
|
+
}
|
|
261
|
+
|
|
255
262
|
function emitValue (val, stopWatcher) {
|
|
256
263
|
emitValueFn = () => {
|
|
257
264
|
if (
|
|
@@ -415,9 +422,11 @@ export default createComponent({
|
|
|
415
422
|
Object.assign(proxy, {
|
|
416
423
|
focus,
|
|
417
424
|
select,
|
|
418
|
-
getNativeElement: () => inputRef.value
|
|
425
|
+
getNativeElement: () => inputRef.value // deprecated
|
|
419
426
|
})
|
|
420
427
|
|
|
428
|
+
injectProp(proxy, 'nativeEl', () => inputRef.value)
|
|
429
|
+
|
|
421
430
|
return renderFn
|
|
422
431
|
}
|
|
423
432
|
})
|
|
@@ -28,21 +28,18 @@
|
|
|
28
28
|
"text", "password", "textarea", "email", "search",
|
|
29
29
|
"tel", "file", "number", "url", "time", "date"
|
|
30
30
|
],
|
|
31
|
-
"examples": [ "password" ],
|
|
32
31
|
"category": "general"
|
|
33
32
|
},
|
|
34
33
|
|
|
35
34
|
"debounce": {
|
|
36
35
|
"type": [ "String", "Number" ],
|
|
37
36
|
"desc": "Debounce amount (in milliseconds) when updating model",
|
|
38
|
-
"examples": [ "0", "530" ],
|
|
39
37
|
"category": "model"
|
|
40
38
|
},
|
|
41
39
|
|
|
42
40
|
"maxlength": {
|
|
43
41
|
"type": [ "String", "Number" ],
|
|
44
42
|
"desc": "Specify a max length of model",
|
|
45
|
-
"examples": [ "12" ],
|
|
46
43
|
"category": "model"
|
|
47
44
|
},
|
|
48
45
|
|
|
@@ -118,12 +115,19 @@
|
|
|
118
115
|
},
|
|
119
116
|
|
|
120
117
|
"getNativeElement": {
|
|
121
|
-
"desc": "Get the native input/textarea DOM Element",
|
|
118
|
+
"desc": "DEPRECATED; Access 'nativeEl' directly instead; Get the native input/textarea DOM Element",
|
|
122
119
|
"returns": {
|
|
123
|
-
"type": "
|
|
124
|
-
"desc": "The underlying native input/textarea DOM Element"
|
|
125
|
-
"__exemption": [ "examples" ]
|
|
120
|
+
"type": "Element",
|
|
121
|
+
"desc": "The underlying native input/textarea DOM Element"
|
|
126
122
|
}
|
|
127
123
|
}
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
"computedProps": {
|
|
127
|
+
"nativeEl": {
|
|
128
|
+
"type": "Element",
|
|
129
|
+
"desc": "The native input/textarea DOM Element",
|
|
130
|
+
"addedIn": "v2.10.1"
|
|
131
|
+
}
|
|
128
132
|
}
|
|
129
133
|
}
|
|
@@ -186,7 +186,7 @@ export default function (props, emit, emitValue, inputRef) {
|
|
|
186
186
|
|
|
187
187
|
computedMask = mask
|
|
188
188
|
computedUnmask = val => {
|
|
189
|
-
const unmaskMatch = unmaskMatcher.exec(val)
|
|
189
|
+
const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length))
|
|
190
190
|
if (unmaskMatch !== null) {
|
|
191
191
|
val = unmaskMatch.slice(1).join('')
|
|
192
192
|
}
|
|
@@ -420,6 +420,8 @@ export default function (props, emit, emitValue, inputRef) {
|
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
function onMaskedKeydown (e) {
|
|
423
|
+
emit('keydown', e)
|
|
424
|
+
|
|
423
425
|
if (shouldIgnoreKey(e) === true) {
|
|
424
426
|
return
|
|
425
427
|
}
|