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
|
@@ -24,14 +24,12 @@
|
|
|
24
24
|
"height": {
|
|
25
25
|
"type": "Number",
|
|
26
26
|
"required": true,
|
|
27
|
-
"desc": "Layout height"
|
|
28
|
-
"examples": [ 822 ]
|
|
27
|
+
"desc": "Layout height"
|
|
29
28
|
},
|
|
30
29
|
"width": {
|
|
31
30
|
"type": "Number",
|
|
32
31
|
"required": true,
|
|
33
|
-
"desc": "Layout width"
|
|
34
|
-
"examples": [ 822 ]
|
|
32
|
+
"desc": "Layout width"
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, ref, computed, withDirectives, onActivated, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
|
|
1
|
+
import { h, ref, computed, watch, withDirectives, onActivated, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
|
|
@@ -142,7 +142,7 @@ export default createComponent({
|
|
|
142
142
|
scroll.horizontal.percentage = computed(() => {
|
|
143
143
|
const diff = scroll.horizontal.size.value - container.horizontal.value
|
|
144
144
|
if (diff <= 0) { return 0 }
|
|
145
|
-
const p = between(scroll.horizontal.position.value / diff, 0, 1)
|
|
145
|
+
const p = between(Math.abs(scroll.horizontal.position.value) / diff, 0, 1)
|
|
146
146
|
return Math.round(p * 10000) / 10000
|
|
147
147
|
})
|
|
148
148
|
scroll.horizontal.thumbHidden = computed(() =>
|
|
@@ -168,7 +168,7 @@ export default createComponent({
|
|
|
168
168
|
return {
|
|
169
169
|
...props.thumbStyle,
|
|
170
170
|
...props.horizontalThumbStyle,
|
|
171
|
-
left: `${ scroll.horizontal.thumbStart.value }px`,
|
|
171
|
+
[ proxy.$q.lang.rtl === true ? 'right' : 'left' ]: `${ scroll.horizontal.thumbStart.value }px`,
|
|
172
172
|
width: `${ scroll.horizontal.thumbSize.value }px`
|
|
173
173
|
}
|
|
174
174
|
})
|
|
@@ -362,6 +362,15 @@ export default createComponent({
|
|
|
362
362
|
|
|
363
363
|
let scrollPosition = null
|
|
364
364
|
|
|
365
|
+
watch(() => proxy.$q.lang.rtl, rtl => {
|
|
366
|
+
if (targetRef.value !== null) {
|
|
367
|
+
setHorizontalScrollPosition(
|
|
368
|
+
targetRef.value,
|
|
369
|
+
Math.abs(scroll.horizontal.position.value) * (rtl === true ? -1 : 1)
|
|
370
|
+
)
|
|
371
|
+
}
|
|
372
|
+
})
|
|
373
|
+
|
|
365
374
|
onDeactivated(() => {
|
|
366
375
|
scrollPosition = {
|
|
367
376
|
top: scroll.vertical.position.value,
|
|
@@ -398,7 +407,9 @@ export default createComponent({
|
|
|
398
407
|
setScrollPercentage (axis, percentage, duration) {
|
|
399
408
|
localSetScrollPosition(
|
|
400
409
|
axis,
|
|
401
|
-
percentage
|
|
410
|
+
percentage
|
|
411
|
+
* (scroll[ axis ].size.value - container[ axis ].value)
|
|
412
|
+
* (axis === 'horizontal' && proxy.$q.lang.rtl === true ? -1 : 1),
|
|
402
413
|
duration
|
|
403
414
|
)
|
|
404
415
|
}
|
|
@@ -82,7 +82,6 @@
|
|
|
82
82
|
"type": [ "Number", "String" ],
|
|
83
83
|
"desc": "When content changes, the scrollbar appears; this delay defines the amount of time (in milliseconds) before scrollbars disappear again (if component is not hovered)",
|
|
84
84
|
"default": 1000,
|
|
85
|
-
"examples": [ 500, ":delay=\"550\"" ],
|
|
86
85
|
"category": "behavior"
|
|
87
86
|
},
|
|
88
87
|
|
|
@@ -115,51 +114,43 @@
|
|
|
115
114
|
"verticalPosition": {
|
|
116
115
|
"type": "Number",
|
|
117
116
|
"required": true,
|
|
118
|
-
"desc": "Vertical scroll position (in px)"
|
|
119
|
-
"__exemption": [ "examples" ]
|
|
117
|
+
"desc": "Vertical scroll position (in px)"
|
|
120
118
|
},
|
|
121
119
|
"verticalPercentage": {
|
|
122
120
|
"type": "Number",
|
|
123
121
|
"required": true,
|
|
124
|
-
"desc": "Vertical scroll percentage (0.0 <= x <= 1.0)"
|
|
125
|
-
"__exemption": [ "examples" ]
|
|
122
|
+
"desc": "Vertical scroll percentage (0.0 <= x <= 1.0)"
|
|
126
123
|
},
|
|
127
124
|
"verticalSize": {
|
|
128
125
|
"type": "Number",
|
|
129
126
|
"required": true,
|
|
130
|
-
"desc": "Vertical scroll size (in px)"
|
|
131
|
-
"__exemption": [ "examples" ]
|
|
127
|
+
"desc": "Vertical scroll size (in px)"
|
|
132
128
|
},
|
|
133
129
|
"verticalContainerSize": {
|
|
134
130
|
"type": "Number",
|
|
135
131
|
"required": true,
|
|
136
|
-
"desc": "Height of the container (in px)"
|
|
137
|
-
"__exemption": [ "examples" ]
|
|
132
|
+
"desc": "Height of the container (in px)"
|
|
138
133
|
},
|
|
139
134
|
|
|
140
135
|
"horizontalPosition": {
|
|
141
136
|
"type": "Number",
|
|
142
137
|
"required": true,
|
|
143
|
-
"desc": "Horizontal scroll position (in px)"
|
|
144
|
-
"__exemption": [ "examples" ]
|
|
138
|
+
"desc": "Horizontal scroll position (in px)"
|
|
145
139
|
},
|
|
146
140
|
"horizontalPercentage": {
|
|
147
141
|
"type": "Number",
|
|
148
142
|
"required": true,
|
|
149
|
-
"desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)"
|
|
150
|
-
"__exemption": [ "examples" ]
|
|
143
|
+
"desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)"
|
|
151
144
|
},
|
|
152
145
|
"horizontalSize": {
|
|
153
146
|
"type": "Number",
|
|
154
147
|
"required": true,
|
|
155
|
-
"desc": "Horizontal scroll size (in px)"
|
|
156
|
-
"__exemption": [ "examples" ]
|
|
148
|
+
"desc": "Horizontal scroll size (in px)"
|
|
157
149
|
},
|
|
158
150
|
"horizontalContainerSize": {
|
|
159
151
|
"type": "Number",
|
|
160
152
|
"required": true,
|
|
161
|
-
"desc": "Width of the container (in px)"
|
|
162
|
-
"__exemption": [ "examples" ]
|
|
153
|
+
"desc": "Width of the container (in px)"
|
|
163
154
|
}
|
|
164
155
|
}
|
|
165
156
|
}
|
|
@@ -181,56 +172,47 @@
|
|
|
181
172
|
"returns": {
|
|
182
173
|
"type": "Object",
|
|
183
174
|
"desc": "Scroll information",
|
|
184
|
-
"__exemption": [ "examples" ],
|
|
185
175
|
"definition": {
|
|
186
176
|
"verticalPosition": {
|
|
187
177
|
"type": "Number",
|
|
188
178
|
"required": true,
|
|
189
|
-
"desc": "Vertical scroll position (in px)"
|
|
190
|
-
"__exemption": [ "examples" ]
|
|
179
|
+
"desc": "Vertical scroll position (in px)"
|
|
191
180
|
},
|
|
192
181
|
"verticalPercentage": {
|
|
193
182
|
"type": "Number",
|
|
194
183
|
"required": true,
|
|
195
|
-
"desc": "Vertical scroll percentage (0.0 <= x <= 1.0)"
|
|
196
|
-
"__exemption": [ "examples" ]
|
|
184
|
+
"desc": "Vertical scroll percentage (0.0 <= x <= 1.0)"
|
|
197
185
|
},
|
|
198
186
|
"verticalSize": {
|
|
199
187
|
"type": "Number",
|
|
200
188
|
"required": true,
|
|
201
|
-
"desc": "Vertical scroll size (in px)"
|
|
202
|
-
"__exemption": [ "examples" ]
|
|
189
|
+
"desc": "Vertical scroll size (in px)"
|
|
203
190
|
},
|
|
204
191
|
"verticalContainerSize": {
|
|
205
192
|
"type": "Number",
|
|
206
193
|
"required": true,
|
|
207
|
-
"desc": "Height of the container (in px)"
|
|
208
|
-
"__exemption": [ "examples" ]
|
|
194
|
+
"desc": "Height of the container (in px)"
|
|
209
195
|
},
|
|
210
196
|
|
|
211
197
|
"horizontalPosition": {
|
|
212
198
|
"type": "Number",
|
|
213
199
|
"required": true,
|
|
214
|
-
"desc": "Horizontal scroll position (in px)"
|
|
215
|
-
"__exemption": [ "examples" ]
|
|
200
|
+
"desc": "Horizontal scroll position (in px)"
|
|
216
201
|
},
|
|
217
202
|
"horizontalPercentage": {
|
|
218
203
|
"type": "Number",
|
|
219
204
|
"required": true,
|
|
220
|
-
"desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)"
|
|
221
|
-
"__exemption": [ "examples" ]
|
|
205
|
+
"desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)"
|
|
222
206
|
},
|
|
223
207
|
"horizontalSize": {
|
|
224
208
|
"type": "Number",
|
|
225
209
|
"required": true,
|
|
226
|
-
"desc": "Horizontal scroll size (in px)"
|
|
227
|
-
"__exemption": [ "examples" ]
|
|
210
|
+
"desc": "Horizontal scroll size (in px)"
|
|
228
211
|
},
|
|
229
212
|
"horizontalContainerSize": {
|
|
230
213
|
"type": "Number",
|
|
231
214
|
"required": true,
|
|
232
|
-
"desc": "Width of the container (in px)"
|
|
233
|
-
"__exemption": [ "examples" ]
|
|
215
|
+
"desc": "Width of the container (in px)"
|
|
234
216
|
}
|
|
235
217
|
}
|
|
236
218
|
}
|
|
@@ -245,14 +227,12 @@
|
|
|
245
227
|
"top": {
|
|
246
228
|
"type": "Number",
|
|
247
229
|
"required": true,
|
|
248
|
-
"desc": "Scroll offset from top (vertical)"
|
|
249
|
-
"examples": [ 120 ]
|
|
230
|
+
"desc": "Scroll offset from top (vertical)"
|
|
250
231
|
},
|
|
251
232
|
"left": {
|
|
252
233
|
"type": "Number",
|
|
253
234
|
"required": true,
|
|
254
|
-
"desc": "Scroll offset from left (horizontal)"
|
|
255
|
-
"examples": [ 10 ]
|
|
235
|
+
"desc": "Scroll offset from left (horizontal)"
|
|
256
236
|
}
|
|
257
237
|
},
|
|
258
238
|
"examples": [ "{ top: 10, left: 0 }" ]
|
|
@@ -268,14 +248,12 @@
|
|
|
268
248
|
"top": {
|
|
269
249
|
"type": "Number",
|
|
270
250
|
"required": true,
|
|
271
|
-
"desc": "Scroll percentage (0.0 <= x <= 1.0) offset from top (vertical)"
|
|
272
|
-
"examples": [ 0.12 ]
|
|
251
|
+
"desc": "Scroll percentage (0.0 <= x <= 1.0) offset from top (vertical)"
|
|
273
252
|
},
|
|
274
253
|
"left": {
|
|
275
254
|
"type": "Number",
|
|
276
255
|
"required": true,
|
|
277
|
-
"desc": "Scroll percentage (0.0 <= x <= 1.0) offset from left (horizontal)"
|
|
278
|
-
"examples": [ 0.92 ]
|
|
256
|
+
"desc": "Scroll percentage (0.0 <= x <= 1.0) offset from left (horizontal)"
|
|
279
257
|
}
|
|
280
258
|
},
|
|
281
259
|
"examples": [ "{ top: 0.212, left: 0 }" ]
|
|
@@ -294,13 +272,11 @@
|
|
|
294
272
|
"offset": {
|
|
295
273
|
"type": "Number",
|
|
296
274
|
"required": true,
|
|
297
|
-
"desc": "Scroll position offset from top (in pixels)"
|
|
298
|
-
"examples": [ 220 ]
|
|
275
|
+
"desc": "Scroll position offset from top (in pixels)"
|
|
299
276
|
},
|
|
300
277
|
"duration": {
|
|
301
278
|
"type": "Number",
|
|
302
|
-
"desc": "Duration (in milliseconds) enabling animated scroll"
|
|
303
|
-
"examples": [ 300 ]
|
|
279
|
+
"desc": "Duration (in milliseconds) enabling animated scroll"
|
|
304
280
|
}
|
|
305
281
|
}
|
|
306
282
|
},
|
|
@@ -317,13 +293,11 @@
|
|
|
317
293
|
"offset": {
|
|
318
294
|
"type": "Number",
|
|
319
295
|
"desc": "Scroll percentage (0.0 <= x <= 1.0) of the total scrolling size",
|
|
320
|
-
"required": true
|
|
321
|
-
"examples": [ 220 ]
|
|
296
|
+
"required": true
|
|
322
297
|
},
|
|
323
298
|
"duration": {
|
|
324
299
|
"type": "Number",
|
|
325
|
-
"desc": "Duration (in milliseconds) enabling animated scroll"
|
|
326
|
-
"examples": [ 300 ]
|
|
300
|
+
"desc": "Duration (in milliseconds) enabling animated scroll"
|
|
327
301
|
}
|
|
328
302
|
}
|
|
329
303
|
}
|
|
@@ -40,14 +40,12 @@
|
|
|
40
40
|
"top": {
|
|
41
41
|
"type": "Number",
|
|
42
42
|
"required": true,
|
|
43
|
-
"desc": "Scroll offset from top (vertical)"
|
|
44
|
-
"examples": [ 120 ]
|
|
43
|
+
"desc": "Scroll offset from top (vertical)"
|
|
45
44
|
},
|
|
46
45
|
"left": {
|
|
47
46
|
"type": "Number",
|
|
48
47
|
"required": true,
|
|
49
|
-
"desc": "Scroll offset from left (horizontal)"
|
|
50
|
-
"examples": [ 10 ]
|
|
48
|
+
"desc": "Scroll offset from left (horizontal)"
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
},
|
|
@@ -71,14 +69,12 @@
|
|
|
71
69
|
"top": {
|
|
72
70
|
"type": "Number",
|
|
73
71
|
"required": true,
|
|
74
|
-
"desc": "Vertical delta distance since event was last emitted"
|
|
75
|
-
"examples": [ 120 ]
|
|
72
|
+
"desc": "Vertical delta distance since event was last emitted"
|
|
76
73
|
},
|
|
77
74
|
"left": {
|
|
78
75
|
"type": "Number",
|
|
79
76
|
"required": true,
|
|
80
|
-
"desc": "Horizontal delta distance since event was last emitted"
|
|
81
|
-
"examples": [ 10 ]
|
|
77
|
+
"desc": "Horizontal delta distance since event was last emitted"
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
},
|
|
@@ -91,14 +87,12 @@
|
|
|
91
87
|
"top": {
|
|
92
88
|
"type": "Number",
|
|
93
89
|
"required": true,
|
|
94
|
-
"desc": "Scroll offset from top (vertical)"
|
|
95
|
-
"examples": [ 120 ]
|
|
90
|
+
"desc": "Scroll offset from top (vertical)"
|
|
96
91
|
},
|
|
97
92
|
"left": {
|
|
98
93
|
"type": "Number",
|
|
99
94
|
"required": true,
|
|
100
|
-
"desc": "Scroll offset from left (horizontal)"
|
|
101
|
-
"examples": [ 10 ]
|
|
95
|
+
"desc": "Scroll offset from left (horizontal)"
|
|
102
96
|
}
|
|
103
97
|
}
|
|
104
98
|
}
|
|
@@ -127,9 +127,9 @@ export default createComponent({
|
|
|
127
127
|
|
|
128
128
|
emits: [
|
|
129
129
|
...useFieldEmits,
|
|
130
|
-
'add', 'remove', '
|
|
130
|
+
'add', 'remove', 'inputValue', 'newValue',
|
|
131
131
|
'keyup', 'keypress', 'keydown',
|
|
132
|
-
'
|
|
132
|
+
'filterAbort'
|
|
133
133
|
],
|
|
134
134
|
|
|
135
135
|
setup (props, { slots, emit }) {
|
|
@@ -251,6 +251,11 @@ export default createComponent({
|
|
|
251
251
|
.join(', ')
|
|
252
252
|
)
|
|
253
253
|
|
|
254
|
+
const ariaCurrentValue = computed(() => (props.displayValue !== void 0
|
|
255
|
+
? props.displayValue
|
|
256
|
+
: selectedString.value
|
|
257
|
+
))
|
|
258
|
+
|
|
254
259
|
const needsHtmlFn = computed(() => (
|
|
255
260
|
props.optionsHtml === true
|
|
256
261
|
? () => true
|
|
@@ -276,20 +281,9 @@ export default createComponent({
|
|
|
276
281
|
'aria-readonly': props.readonly === true ? 'true' : 'false',
|
|
277
282
|
'aria-autocomplete': props.useInput === true ? 'list' : 'none',
|
|
278
283
|
'aria-expanded': menu.value === true ? 'true' : 'false',
|
|
279
|
-
'aria-owns': `${ state.targetUid.value }_lb`,
|
|
280
284
|
'aria-controls': `${ state.targetUid.value }_lb`
|
|
281
285
|
}
|
|
282
286
|
|
|
283
|
-
return attrs
|
|
284
|
-
})
|
|
285
|
-
|
|
286
|
-
const listboxAttrs = computed(() => {
|
|
287
|
-
const attrs = {
|
|
288
|
-
id: `${ state.targetUid.value }_lb`,
|
|
289
|
-
role: 'listbox',
|
|
290
|
-
'aria-multiselectable': props.multiple === true ? 'true' : 'false'
|
|
291
|
-
}
|
|
292
|
-
|
|
293
287
|
if (optionIndex.value >= 0) {
|
|
294
288
|
attrs[ 'aria-activedescendant' ] = `${ state.targetUid.value }_${ optionIndex.value }`
|
|
295
289
|
}
|
|
@@ -297,6 +291,12 @@ export default createComponent({
|
|
|
297
291
|
return attrs
|
|
298
292
|
})
|
|
299
293
|
|
|
294
|
+
const listboxAttrs = computed(() => ({
|
|
295
|
+
id: `${ state.targetUid.value }_lb`,
|
|
296
|
+
role: 'listbox',
|
|
297
|
+
'aria-multiselectable': props.multiple === true ? 'true' : 'false'
|
|
298
|
+
}))
|
|
299
|
+
|
|
300
300
|
const selectedScope = computed(() => {
|
|
301
301
|
return innerValue.value.map((opt, i) => ({
|
|
302
302
|
index: i,
|
|
@@ -792,7 +792,9 @@ export default createComponent({
|
|
|
792
792
|
&& props.useInput !== true
|
|
793
793
|
&& e.key !== void 0
|
|
794
794
|
&& e.key.length === 1 // printable char
|
|
795
|
-
&& e.altKey ===
|
|
795
|
+
&& e.altKey === false // not kbd shortcut
|
|
796
|
+
&& e.ctrlKey === false // not kbd shortcut
|
|
797
|
+
&& e.metaKey === false // not kbd shortcut, especially on macOS with Command key
|
|
796
798
|
&& (e.keyCode !== 32 || searchBuffer.length > 0) // space in middle of search
|
|
797
799
|
) {
|
|
798
800
|
menu.value !== true && showPopup(e)
|
|
@@ -877,7 +879,7 @@ export default createComponent({
|
|
|
877
879
|
}
|
|
878
880
|
|
|
879
881
|
if (props.onNewValue !== void 0) {
|
|
880
|
-
emit('
|
|
882
|
+
emit('newValue', inputValue.value, done)
|
|
881
883
|
}
|
|
882
884
|
else {
|
|
883
885
|
done(inputValue.value)
|
|
@@ -900,8 +902,8 @@ export default createComponent({
|
|
|
900
902
|
return hasDialog === true
|
|
901
903
|
? menuContentRef.value
|
|
902
904
|
: (
|
|
903
|
-
menuRef.value !== null && menuRef.value.
|
|
904
|
-
? menuRef.value.
|
|
905
|
+
menuRef.value !== null && menuRef.value.contentEl !== null
|
|
906
|
+
? menuRef.value.contentEl
|
|
905
907
|
: void 0
|
|
906
908
|
)
|
|
907
909
|
}
|
|
@@ -939,9 +941,7 @@ export default createComponent({
|
|
|
939
941
|
|
|
940
942
|
return [
|
|
941
943
|
h('span', {
|
|
942
|
-
[ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]:
|
|
943
|
-
? props.displayValue
|
|
944
|
-
: selectedString.value
|
|
944
|
+
[ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]: ariaCurrentValue.value
|
|
945
945
|
})
|
|
946
946
|
]
|
|
947
947
|
}
|
|
@@ -996,7 +996,7 @@ export default createComponent({
|
|
|
996
996
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
997
997
|
maxlength: props.maxlength,
|
|
998
998
|
autocomplete: props.autocomplete,
|
|
999
|
-
'data-autofocus':
|
|
999
|
+
'data-autofocus': fromDialog === true || props.autofocus === true || void 0,
|
|
1000
1000
|
disabled: props.disable === true,
|
|
1001
1001
|
readonly: props.readonly === true,
|
|
1002
1002
|
...inputControlEvents.value
|
|
@@ -1044,7 +1044,7 @@ export default createComponent({
|
|
|
1044
1044
|
function setInputValue (val) {
|
|
1045
1045
|
if (inputValue.value !== val) {
|
|
1046
1046
|
inputValue.value = val
|
|
1047
|
-
emit('
|
|
1047
|
+
emit('inputValue', val)
|
|
1048
1048
|
}
|
|
1049
1049
|
}
|
|
1050
1050
|
|
|
@@ -1068,7 +1068,7 @@ export default createComponent({
|
|
|
1068
1068
|
}
|
|
1069
1069
|
|
|
1070
1070
|
if (state.innerLoading.value === true) {
|
|
1071
|
-
emit('
|
|
1071
|
+
emit('filterAbort')
|
|
1072
1072
|
}
|
|
1073
1073
|
else {
|
|
1074
1074
|
state.innerLoading.value = true
|
|
@@ -1285,7 +1285,7 @@ export default createComponent({
|
|
|
1285
1285
|
filterId = void 0
|
|
1286
1286
|
|
|
1287
1287
|
if (state.innerLoading.value === true) {
|
|
1288
|
-
emit('
|
|
1288
|
+
emit('filterAbort')
|
|
1289
1289
|
state.innerLoading.value = false
|
|
1290
1290
|
innerLoadingIndicator.value = false
|
|
1291
1291
|
}
|
|
@@ -1371,14 +1371,14 @@ export default createComponent({
|
|
|
1371
1371
|
|
|
1372
1372
|
function onControlPopupShow (e) {
|
|
1373
1373
|
e !== void 0 && stop(e)
|
|
1374
|
-
emit('
|
|
1374
|
+
emit('popupShow', e)
|
|
1375
1375
|
state.hasPopupOpen = true
|
|
1376
1376
|
state.onControlFocusin(e)
|
|
1377
1377
|
}
|
|
1378
1378
|
|
|
1379
1379
|
function onControlPopupHide (e) {
|
|
1380
1380
|
e !== void 0 && stop(e)
|
|
1381
|
-
emit('
|
|
1381
|
+
emit('popupHide', e)
|
|
1382
1382
|
state.hasPopupOpen = false
|
|
1383
1383
|
state.onControlFocusout(e)
|
|
1384
1384
|
}
|
|
@@ -1496,8 +1496,9 @@ export default createComponent({
|
|
|
1496
1496
|
key: 'd_t',
|
|
1497
1497
|
class: 'q-select__focus-target',
|
|
1498
1498
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
1499
|
+
value: ariaCurrentValue.value,
|
|
1499
1500
|
readonly: true,
|
|
1500
|
-
'data-autofocus':
|
|
1501
|
+
'data-autofocus': fromDialog === true || props.autofocus === true || void 0,
|
|
1501
1502
|
...attrs,
|
|
1502
1503
|
onKeydown: onTargetKeydown,
|
|
1503
1504
|
onKeyup: onTargetKeyup,
|