quasar 2.5.4 → 2.6.1
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/README.md +1 -1
- package/dist/api/BottomSheet.json +1 -1
- package/dist/api/Dialog.json +9 -2
- package/dist/api/Notify.json +205 -5
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtn.json +2 -2
- package/dist/api/QBtnDropdown.json +3 -3
- package/dist/api/QCarousel.json +3 -3
- package/dist/api/QChip.json +4 -4
- package/dist/api/QExpansionItem.json +2 -2
- package/dist/api/QFab.json +2 -2
- package/dist/api/QFabAction.json +1 -1
- package/dist/api/QForm.json +4 -1
- package/dist/api/QIcon.json +4 -2
- package/dist/api/QKnob.json +5 -0
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +9 -10
- package/dist/api/QStep.json +4 -4
- package/dist/api/QStepper.json +4 -4
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTree.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +6 -0
- package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- 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-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-themify.umd.prod.js +2 -2
- 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/eu.umd.prod.js +6 -0
- 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 +6 -0
- 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/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/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 +2 -2
- 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 +4 -6
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +4 -6
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +3 -1
- package/dist/quasar.umd.js +501 -455
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/extras/icon-set.d.ts +3 -0
- package/dist/types/globals.d.ts +2 -2
- package/dist/types/index.d.ts +154 -50
- package/dist/vetur/quasar-attributes.json +42 -38
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +50 -40
- package/icon-set/bootstrap-icons.js +11 -6
- package/icon-set/bootstrap-icons.mjs +136 -0
- package/icon-set/eva-icons.js +10 -5
- package/icon-set/{svg-mdi-v4.js → eva-icons.mjs} +62 -94
- package/icon-set/fontawesome-v5-pro.js +6 -1
- package/icon-set/fontawesome-v5-pro.mjs +128 -0
- package/icon-set/fontawesome-v5.js +6 -1
- package/icon-set/fontawesome-v5.mjs +128 -0
- package/icon-set/fontawesome-v6-pro.js +133 -0
- package/icon-set/fontawesome-v6-pro.mjs +128 -0
- package/icon-set/fontawesome-v6.js +133 -0
- package/icon-set/fontawesome-v6.mjs +128 -0
- package/icon-set/ionicons-v4.js +10 -5
- package/icon-set/ionicons-v4.mjs +180 -0
- package/icon-set/line-awesome.js +6 -1
- package/icon-set/line-awesome.mjs +128 -0
- package/icon-set/material-icons-outlined.js +6 -1
- package/icon-set/material-icons-outlined.mjs +128 -0
- package/icon-set/material-icons-round.js +6 -1
- package/icon-set/material-icons-round.mjs +128 -0
- package/icon-set/material-icons-sharp.js +6 -1
- package/icon-set/material-icons-sharp.mjs +128 -0
- package/icon-set/material-icons.js +6 -1
- package/icon-set/material-icons.mjs +128 -0
- package/icon-set/mdi-v3.js +6 -1
- package/icon-set/mdi-v3.mjs +141 -0
- package/icon-set/mdi-v4.js +6 -1
- package/icon-set/mdi-v4.mjs +141 -0
- package/icon-set/mdi-v5.js +6 -1
- package/icon-set/mdi-v5.mjs +141 -0
- package/icon-set/mdi-v6.js +6 -1
- package/icon-set/mdi-v6.mjs +141 -0
- package/icon-set/svg-bootstrap-icons.js +10 -11
- package/icon-set/svg-bootstrap-icons.mjs +210 -0
- package/icon-set/svg-eva-icons.js +9 -10
- package/icon-set/svg-eva-icons.mjs +233 -0
- package/icon-set/svg-fontawesome-v6.js +198 -0
- package/icon-set/{svg-fontawesome-v5.js → svg-fontawesome-v6.mjs} +42 -42
- package/icon-set/svg-ionicons-v4.js +9 -10
- package/icon-set/svg-ionicons-v4.mjs +234 -0
- package/icon-set/svg-ionicons-v5.js +7 -7
- package/icon-set/svg-ionicons-v5.mjs +225 -0
- package/icon-set/svg-ionicons-v6.js +7 -7
- package/icon-set/svg-ionicons-v6.mjs +225 -0
- package/icon-set/svg-line-awesome.js +5 -5
- package/icon-set/svg-line-awesome.mjs +198 -0
- package/icon-set/svg-material-icons-outlined.js +5 -5
- package/icon-set/svg-material-icons-outlined.mjs +203 -0
- package/icon-set/svg-material-icons-round.js +5 -5
- package/icon-set/svg-material-icons-round.mjs +203 -0
- package/icon-set/svg-material-icons-sharp.js +5 -5
- package/icon-set/svg-material-icons-sharp.mjs +203 -0
- package/icon-set/svg-material-icons.js +5 -5
- package/icon-set/svg-material-icons.mjs +203 -0
- package/icon-set/svg-mdi-v6.js +5 -5
- package/icon-set/{svg-mdi-v5.js → svg-mdi-v6.mjs} +6 -6
- package/icon-set/svg-themify.js +9 -10
- package/icon-set/svg-themify.mjs +231 -0
- package/icon-set/themify.js +10 -5
- package/icon-set/themify.mjs +169 -0
- package/lang/ar.js +6 -1
- package/lang/ar.mjs +96 -0
- package/lang/az-Latn.js +6 -1
- package/lang/az-Latn.mjs +91 -0
- package/lang/bg.js +6 -1
- package/lang/bg.mjs +91 -0
- package/lang/bn.js +6 -1
- package/lang/bn.mjs +91 -0
- package/lang/ca.js +6 -1
- package/lang/ca.mjs +91 -0
- package/lang/cs.js +6 -1
- package/lang/cs.mjs +102 -0
- package/lang/da.js +6 -1
- package/lang/da.mjs +91 -0
- package/lang/de.js +6 -1
- package/lang/de.mjs +91 -0
- package/lang/el.js +6 -1
- package/lang/el.mjs +91 -0
- package/lang/en-GB.js +6 -1
- package/lang/en-GB.mjs +91 -0
- package/lang/en-US.js +6 -1
- package/lang/en-US.mjs +91 -0
- package/lang/eo.js +6 -1
- package/lang/eo.mjs +91 -0
- package/lang/es.js +6 -1
- package/lang/es.mjs +91 -0
- package/lang/et.js +6 -1
- package/lang/et.mjs +91 -0
- package/lang/eu.js +96 -0
- package/lang/eu.mjs +91 -0
- package/lang/fa-IR.js +6 -1
- package/lang/fa-IR.mjs +92 -0
- package/lang/fa.js +6 -1
- package/lang/fa.mjs +92 -0
- package/lang/fi.js +6 -1
- package/lang/fi.mjs +92 -0
- package/lang/fr.js +6 -1
- package/lang/fr.mjs +94 -0
- package/lang/gn.js +6 -1
- package/lang/gn.mjs +91 -0
- package/lang/he.js +6 -1
- package/lang/he.mjs +92 -0
- package/lang/hr.js +6 -1
- package/lang/hr.mjs +91 -0
- package/lang/hu.js +6 -1
- package/lang/hu.mjs +91 -0
- package/lang/id.js +6 -1
- package/lang/id.mjs +91 -0
- package/lang/index.json +8 -0
- package/lang/is.js +6 -1
- package/lang/is.mjs +91 -0
- package/lang/it.js +6 -1
- package/lang/it.mjs +91 -0
- package/lang/ja.js +6 -1
- package/lang/ja.mjs +90 -0
- package/lang/km.js +6 -1
- package/lang/km.mjs +91 -0
- package/lang/ko-KR.js +6 -1
- package/lang/ko-KR.mjs +91 -0
- package/lang/kur-CKB.js +6 -1
- package/lang/kur-CKB.mjs +101 -0
- package/lang/kz.js +100 -0
- package/lang/kz.mjs +95 -0
- package/lang/lt.js +6 -1
- package/lang/lt.mjs +103 -0
- package/lang/lu.js +6 -1
- package/lang/lu.mjs +91 -0
- package/lang/lv.js +6 -1
- package/lang/lv.mjs +91 -0
- package/lang/ml.js +6 -1
- package/lang/ml.mjs +95 -0
- package/lang/ms.js +6 -1
- package/lang/ms.mjs +91 -0
- package/lang/my.js +6 -1
- package/lang/my.mjs +90 -0
- package/lang/nb-NO.js +6 -1
- package/lang/nb-NO.mjs +92 -0
- package/lang/nl.js +6 -1
- package/lang/nl.mjs +91 -0
- package/lang/pl.js +6 -1
- package/lang/pl.mjs +91 -0
- package/lang/pt-BR.js +6 -1
- package/lang/pt-BR.mjs +91 -0
- package/lang/pt.js +6 -1
- package/lang/pt.mjs +91 -0
- package/lang/ro.js +6 -1
- package/lang/ro.mjs +91 -0
- package/lang/ru.js +6 -1
- package/lang/ru.mjs +95 -0
- package/lang/sk.js +6 -1
- package/lang/sk.mjs +91 -0
- package/lang/sl.js +6 -1
- package/lang/sl.mjs +91 -0
- package/lang/sr-CYR.js +6 -1
- package/lang/sr-CYR.mjs +91 -0
- package/lang/sr.js +6 -1
- package/lang/sr.mjs +91 -0
- package/lang/sv.js +6 -1
- package/lang/sv.mjs +91 -0
- package/lang/ta.js +6 -1
- package/lang/ta.mjs +91 -0
- package/lang/th.js +6 -1
- package/lang/th.mjs +91 -0
- package/lang/tr.js +6 -1
- package/lang/tr.mjs +87 -0
- package/lang/ug.js +55 -51
- package/lang/ug.mjs +91 -0
- package/lang/uk.js +7 -2
- package/lang/uk.mjs +95 -0
- package/lang/vi.js +6 -1
- package/lang/vi.mjs +91 -0
- package/lang/zh-CN.js +6 -1
- package/lang/zh-CN.mjs +90 -0
- package/lang/zh-TW.js +6 -1
- package/lang/zh-TW.mjs +90 -0
- package/package.json +1 -1
- package/src/api.extends.json +1 -1
- package/src/components/btn/QBtn.js +16 -14
- package/src/components/btn/use-btn.js +7 -7
- package/src/components/date/QDate.js +20 -19
- package/src/components/date/use-datetime.js +3 -1
- package/src/components/dialog/QDialog.js +11 -11
- package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
- package/src/components/dialog-plugin/DialogPlugin.js +9 -8
- package/src/components/editor/QEditor.js +10 -10
- package/src/components/editor/editor-utils.js +2 -2
- package/src/components/file/QFile.js +2 -1
- package/src/components/form/QForm.json +3 -2
- package/src/components/icon/QIcon.js +6 -2
- package/src/components/icon/QIcon.json +1 -3
- package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
- package/src/components/inner-loading/QInnerLoading.js +7 -7
- package/src/components/input/QInput.js +4 -1
- package/src/components/knob/QKnob.js +5 -2
- package/src/components/knob/QKnob.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +1 -0
- package/src/components/menu/QMenu.js +13 -13
- package/src/components/page-scroller/QPageScroller.js +4 -4
- package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
- package/src/components/select/QSelect.js +12 -6
- package/src/components/select/QSelect.json +4 -7
- package/src/components/slide-transition/QSlideTransition.js +4 -4
- package/src/components/slider/use-slider.js +4 -4
- package/src/components/stepper/QStep.js +6 -6
- package/src/components/stepper/QStep.json +3 -0
- package/src/components/stepper/QStepper.json +3 -0
- package/src/components/stepper/QStepper.sass +1 -0
- package/src/components/stepper/StepHeader.js +23 -8
- package/src/components/table/table-column-selection.js +6 -6
- package/src/components/table/table-sort.js +2 -2
- package/src/components/tabs/QTabs.js +4 -4
- package/src/components/time/QTime.js +5 -5
- package/src/components/tooltip/QTooltip.js +12 -12
- package/src/components/uploader/uploader-core.js +11 -10
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
- package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
- package/src/composables/private/use-field.js +25 -17
- package/src/composables/private/use-file-dom-props.js +5 -5
- package/src/composables/private/use-file.js +15 -12
- package/src/composables/private/use-router-link.js +2 -2
- package/src/directives/Morph.js +12 -3
- package/src/icon-set.js +2 -1
- package/src/install-quasar.js +37 -36
- package/src/lang.js +2 -1
- package/src/plugins/AddressbarColor.js +7 -7
- package/src/plugins/Cookies.js +5 -1
- package/src/plugins/Dialog.json +3 -2
- package/src/plugins/Loading.js +3 -2
- package/src/plugins/LoadingBar.js +12 -5
- package/src/plugins/Notify.js +11 -4
- package/src/plugins/Notify.json +102 -2
- package/src/utils/create-meta-mixin.js +4 -4
- package/src/utils/create-uploader-component.js +2 -1
- package/src/utils/event.js +3 -3
- package/src/utils/extend.js +6 -34
- package/src/utils/morph.js +19 -17
- package/src/utils/private/is.js +3 -14
- package/src/utils/private/noop-ssr-directive-transform.js +1 -1
- package/src/utils/private/web-storage.js +3 -2
- package/wrappers/index.js +33 -5
- package/wrappers/index.mjs +63 -0
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +0 -6
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +0 -6
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +0 -6
- package/dist/ssr-directives/Morph.js +0 -55
- package/dist/ssr-directives/index.js +0 -14
- package/src/directives/Morph.ssr.js +0 -45
|
@@ -349,19 +349,19 @@ export default createComponent({
|
|
|
349
349
|
() => (
|
|
350
350
|
showing.value === true
|
|
351
351
|
? h('div', {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
352
|
+
...attrs,
|
|
353
|
+
ref: innerRef,
|
|
354
|
+
tabindex: -1,
|
|
355
|
+
class: [
|
|
356
|
+
'q-menu q-position-engine scroll' + menuClass.value,
|
|
357
|
+
attrs.class
|
|
358
|
+
],
|
|
359
|
+
style: [
|
|
360
|
+
attrs.style,
|
|
361
|
+
transitionStyle.value
|
|
362
|
+
],
|
|
363
|
+
...onEvents.value
|
|
364
|
+
}, hSlot(slots.default))
|
|
365
365
|
: null
|
|
366
366
|
)
|
|
367
367
|
)
|
|
@@ -98,10 +98,10 @@ export default createComponent({
|
|
|
98
98
|
function getContent () {
|
|
99
99
|
return showing.value === true
|
|
100
100
|
? h('div', {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
ref: rootRef,
|
|
102
|
+
class: 'q-page-scroller',
|
|
103
|
+
onClick
|
|
104
|
+
}, getStickyContent(slots))
|
|
105
105
|
: null
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -76,7 +76,7 @@ export default createComponent({
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
if (event.isFirst === true) {
|
|
79
|
-
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !==
|
|
79
|
+
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !== 'down') {
|
|
80
80
|
if (pulling.value === true) {
|
|
81
81
|
pulling.value = false
|
|
82
82
|
state.value = 'pull'
|
|
@@ -189,10 +189,10 @@ export default createComponent({
|
|
|
189
189
|
}, [
|
|
190
190
|
state.value !== 'refreshing'
|
|
191
191
|
? h(QIcon, {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
192
|
+
name: props.icon || $q.iconSet.pullToRefresh.icon,
|
|
193
|
+
color: props.color,
|
|
194
|
+
size: '32px'
|
|
195
|
+
})
|
|
196
196
|
: h(QSpinner, {
|
|
197
197
|
size: '24px',
|
|
198
198
|
color: props.color
|
|
@@ -602,7 +602,7 @@ export default createComponent({
|
|
|
602
602
|
|
|
603
603
|
return typeof val === 'function'
|
|
604
604
|
? val
|
|
605
|
-
: opt => (
|
|
605
|
+
: opt => (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt)
|
|
606
606
|
}
|
|
607
607
|
|
|
608
608
|
function isOptionSelected (opt) {
|
|
@@ -975,6 +975,8 @@ export default createComponent({
|
|
|
975
975
|
}
|
|
976
976
|
|
|
977
977
|
function getInput (fromDialog, isTarget) {
|
|
978
|
+
const attrs = isTarget === true ? { ...comboboxAttrs.value, ...state.splitAttrs.attributes.value } : void 0
|
|
979
|
+
|
|
978
980
|
const data = {
|
|
979
981
|
ref: isTarget === true ? targetRef : void 0,
|
|
980
982
|
key: 'i_t',
|
|
@@ -983,8 +985,7 @@ export default createComponent({
|
|
|
983
985
|
value: inputValue.value !== void 0 ? inputValue.value : '',
|
|
984
986
|
// required for Android in order to show ENTER key when in form
|
|
985
987
|
type: 'search',
|
|
986
|
-
...
|
|
987
|
-
...state.splitAttrs.attributes.value,
|
|
988
|
+
...attrs,
|
|
988
989
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
989
990
|
maxlength: props.maxlength,
|
|
990
991
|
autocomplete: props.autocomplete,
|
|
@@ -1464,13 +1465,16 @@ export default createComponent({
|
|
|
1464
1465
|
}
|
|
1465
1466
|
// there can be only one (when dialog is opened the control in dialog should be target)
|
|
1466
1467
|
else if (state.editable.value === true) {
|
|
1468
|
+
const attrs = isTarget === true ? comboboxAttrs.value : void 0
|
|
1469
|
+
|
|
1467
1470
|
child.push(
|
|
1468
|
-
h('
|
|
1471
|
+
h('input', {
|
|
1469
1472
|
ref: isTarget === true ? targetRef : void 0,
|
|
1470
1473
|
key: 'd_t',
|
|
1471
1474
|
class: 'q-select__focus-target',
|
|
1472
1475
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
1473
|
-
|
|
1476
|
+
readonly: true,
|
|
1477
|
+
...attrs,
|
|
1474
1478
|
onKeydown: onTargetKeydown,
|
|
1475
1479
|
onKeyup: onTargetKeyup,
|
|
1476
1480
|
onKeypress: onTargetKeypress
|
|
@@ -1500,9 +1504,11 @@ export default createComponent({
|
|
|
1500
1504
|
)
|
|
1501
1505
|
}
|
|
1502
1506
|
|
|
1507
|
+
const attrs = props.useInput === true || isTarget !== true ? void 0 : state.splitAttrs.attributes.value
|
|
1508
|
+
|
|
1503
1509
|
return h('div', {
|
|
1504
1510
|
class: 'q-field__native row items-center',
|
|
1505
|
-
...
|
|
1511
|
+
...attrs
|
|
1506
1512
|
}, child)
|
|
1507
1513
|
},
|
|
1508
1514
|
|
|
@@ -716,13 +716,10 @@
|
|
|
716
716
|
|
|
717
717
|
"getOptionIndex": {
|
|
718
718
|
"desc": "Gets current focused option index from menu; It's -1 if no option is focused",
|
|
719
|
-
"
|
|
720
|
-
"
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
"desc": "Index of option from menu; -1 if no option is focused",
|
|
724
|
-
"examples": [ 10 ]
|
|
725
|
-
}
|
|
719
|
+
"returns": {
|
|
720
|
+
"type": "Number",
|
|
721
|
+
"desc": "Index of option from menu; It's -1 if no option is focused",
|
|
722
|
+
"examples": [ -1, 0, 10 ]
|
|
726
723
|
},
|
|
727
724
|
"addedIn": "v2.5.4"
|
|
728
725
|
},
|
|
@@ -65,8 +65,8 @@ export default createComponent({
|
|
|
65
65
|
|
|
66
66
|
timer = setTimeout(() => {
|
|
67
67
|
el.style.height = `${ el.scrollHeight }px`
|
|
68
|
-
animListener =
|
|
69
|
-
if (Object(
|
|
68
|
+
animListener = evt => {
|
|
69
|
+
if (Object(evt) !== evt || evt.target === el) {
|
|
70
70
|
end(el, 'show')
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -91,8 +91,8 @@ export default createComponent({
|
|
|
91
91
|
|
|
92
92
|
timer = setTimeout(() => {
|
|
93
93
|
el.style.height = 0
|
|
94
|
-
animListener =
|
|
95
|
-
if (Object(
|
|
94
|
+
animListener = evt => {
|
|
95
|
+
if (Object(evt) !== evt || evt.target === el) {
|
|
96
96
|
end(el, 'hide')
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -7,7 +7,7 @@ import { useFormProps, useFormInject } from '../../composables/private/use-form.
|
|
|
7
7
|
|
|
8
8
|
import { between } from '../../utils/format.js'
|
|
9
9
|
import { position } from '../../utils/event.js'
|
|
10
|
-
import { isNumber } from '../../utils/private/is.js'
|
|
10
|
+
import { isNumber, isObject } from '../../utils/private/is.js'
|
|
11
11
|
import { hDir } from '../../utils/private/render.js'
|
|
12
12
|
|
|
13
13
|
const markerPrefixClass = 'q-slider__marker-labels'
|
|
@@ -340,7 +340,7 @@ export default function ({ updateValue, updatePosition, getDragging, formAttrs }
|
|
|
340
340
|
if (typeof def === 'function') {
|
|
341
341
|
return markerTicks.value.map(value => {
|
|
342
342
|
const item = def(value)
|
|
343
|
-
return
|
|
343
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
344
344
|
})
|
|
345
345
|
}
|
|
346
346
|
|
|
@@ -348,14 +348,14 @@ export default function ({ updateValue, updatePosition, getDragging, formAttrs }
|
|
|
348
348
|
|
|
349
349
|
if (Array.isArray(def) === true) {
|
|
350
350
|
return def
|
|
351
|
-
.map(item => (
|
|
351
|
+
.map(item => (isObject(item) === true ? item : { value: item }))
|
|
352
352
|
.filter(filterFn)
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
return Object.keys(def).map(key => {
|
|
356
356
|
const item = def[ key ]
|
|
357
357
|
const value = Number(key)
|
|
358
|
-
return
|
|
358
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
359
359
|
}).filter(filterFn)
|
|
360
360
|
}
|
|
361
361
|
|
|
@@ -75,14 +75,14 @@ export default createComponent({
|
|
|
75
75
|
|| $stepper.value.vertical !== true
|
|
76
76
|
? {}
|
|
77
77
|
: {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
onScroll (e) {
|
|
79
|
+
const { target } = e
|
|
80
|
+
if (target.scrollTop > 0) {
|
|
81
|
+
target.scrollTop = 0
|
|
82
|
+
}
|
|
83
|
+
attrs.onScroll !== void 0 && attrs.onScroll(e)
|
|
82
84
|
}
|
|
83
|
-
attrs.onScroll !== void 0 && attrs.onScroll(e)
|
|
84
85
|
}
|
|
85
|
-
}
|
|
86
86
|
))
|
|
87
87
|
|
|
88
88
|
const contentKey = computed(() => (
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
|
|
46
46
|
"done-icon": {
|
|
47
47
|
"extends": "icon",
|
|
48
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
48
49
|
"category": "header"
|
|
49
50
|
},
|
|
50
51
|
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
|
|
56
57
|
"active-icon": {
|
|
57
58
|
"extends": "icon",
|
|
59
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
58
60
|
"category": "header"
|
|
59
61
|
},
|
|
60
62
|
|
|
@@ -65,6 +67,7 @@
|
|
|
65
67
|
|
|
66
68
|
"error-icon": {
|
|
67
69
|
"extends": "icon",
|
|
70
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
68
71
|
"category": "header"
|
|
69
72
|
},
|
|
70
73
|
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
"done-icon": {
|
|
56
56
|
"extends": "icon",
|
|
57
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
57
58
|
"category": "header"
|
|
58
59
|
},
|
|
59
60
|
|
|
@@ -64,6 +65,7 @@
|
|
|
64
65
|
|
|
65
66
|
"active-icon": {
|
|
66
67
|
"extends": "icon",
|
|
68
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
67
69
|
"category": "header"
|
|
68
70
|
},
|
|
69
71
|
|
|
@@ -74,6 +76,7 @@
|
|
|
74
76
|
|
|
75
77
|
"error-icon": {
|
|
76
78
|
"extends": "icon",
|
|
79
|
+
"desc": "Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
77
80
|
"category": "header"
|
|
78
81
|
},
|
|
79
82
|
|
|
@@ -47,23 +47,36 @@ export default createComponent({
|
|
|
47
47
|
|
|
48
48
|
const hasPrefix = computed(() => {
|
|
49
49
|
return props.step.prefix
|
|
50
|
-
&& isActive.value === false
|
|
51
|
-
&& isError.value === false
|
|
52
|
-
&& isDone.value === false
|
|
50
|
+
&& (isActive.value === false || props.stepper.activeIcon === 'none')
|
|
51
|
+
&& (isError.value === false || props.stepper.errorIcon === 'none')
|
|
52
|
+
&& (isDone.value === false || props.stepper.doneIcon === 'none')
|
|
53
53
|
})
|
|
54
54
|
|
|
55
55
|
const icon = computed(() => {
|
|
56
|
+
const defaultIcon = props.step.icon || props.stepper.inactiveIcon
|
|
57
|
+
|
|
56
58
|
if (isActive.value === true) {
|
|
57
|
-
|
|
59
|
+
const icon = props.step.activeIcon || props.stepper.activeIcon
|
|
60
|
+
return icon === 'none'
|
|
61
|
+
? defaultIcon
|
|
62
|
+
: icon || $q.iconSet.stepper.active
|
|
58
63
|
}
|
|
64
|
+
|
|
59
65
|
if (isError.value === true) {
|
|
60
|
-
|
|
66
|
+
const icon = props.step.errorIcon || props.stepper.errorIcon
|
|
67
|
+
return icon === 'none'
|
|
68
|
+
? defaultIcon
|
|
69
|
+
: icon || $q.iconSet.stepper.error
|
|
61
70
|
}
|
|
71
|
+
|
|
62
72
|
if (isDisable.value === false && isDone.value === true) {
|
|
63
|
-
|
|
73
|
+
const icon = props.step.doneIcon || props.stepper.doneIcon
|
|
74
|
+
return icon === 'none'
|
|
75
|
+
? defaultIcon
|
|
76
|
+
: icon || $q.iconSet.stepper.done
|
|
64
77
|
}
|
|
65
78
|
|
|
66
|
-
return
|
|
79
|
+
return defaultIcon
|
|
67
80
|
})
|
|
68
81
|
|
|
69
82
|
const color = computed(() => {
|
|
@@ -90,7 +103,9 @@ export default createComponent({
|
|
|
90
103
|
const classes = computed(() => {
|
|
91
104
|
return 'q-stepper__tab col-grow flex items-center no-wrap relative-position'
|
|
92
105
|
+ (color.value !== void 0 ? ` text-${ color.value }` : '')
|
|
93
|
-
+ (isError.value === true
|
|
106
|
+
+ (isError.value === true
|
|
107
|
+
? ' q-stepper__tab--error q-stepper__tab--error-with-' + (hasPrefix.value === true ? 'prefix' : 'icon')
|
|
108
|
+
: '')
|
|
94
109
|
+ (isActive.value === true ? ' q-stepper__tab--active' : '')
|
|
95
110
|
+ (isDone.value === true ? ' q-stepper__tab--done' : '')
|
|
96
111
|
+ (headerNav.value === true ? ' q-stepper__tab--navigation q-focusable q-hoverable' : '')
|
|
@@ -17,12 +17,12 @@ export function useTableColumnSelection (props, computedPagination, hasSelection
|
|
|
17
17
|
|
|
18
18
|
return row !== void 0
|
|
19
19
|
? Object.keys(row).map(name => ({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
name,
|
|
21
|
+
label: name.toUpperCase(),
|
|
22
|
+
field: name,
|
|
23
|
+
align: isNumber(row[ name ]) ? 'right' : 'left',
|
|
24
|
+
sortable: true
|
|
25
|
+
}))
|
|
26
26
|
: []
|
|
27
27
|
})
|
|
28
28
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { sortDate } from '../../utils/private/sort.js'
|
|
4
|
-
import { isNumber, isDate } from '../../utils/private/is.js'
|
|
4
|
+
import { isNumber, isDate, isObject } from '../../utils/private/is.js'
|
|
5
5
|
|
|
6
6
|
export const useTableSortProps = {
|
|
7
7
|
sortMethod: Function,
|
|
@@ -73,7 +73,7 @@ export function useTableSort (props, computedPagination, colList, setPagination)
|
|
|
73
73
|
function sort (col /* String(col name) or Object(col definition) */) {
|
|
74
74
|
let sortOrder = props.columnSortOrder
|
|
75
75
|
|
|
76
|
-
if (col ===
|
|
76
|
+
if (isObject(col) === true) {
|
|
77
77
|
if (col.sortOrder) {
|
|
78
78
|
sortOrder = col.sortOrder
|
|
79
79
|
}
|
|
@@ -423,11 +423,11 @@ export default createComponent({
|
|
|
423
423
|
let wasItActive = wasActive === true
|
|
424
424
|
? emptyFn
|
|
425
425
|
: tab => {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}
|
|
426
|
+
if (model === tab.name.value) {
|
|
427
|
+
wasActive = true
|
|
428
|
+
wasItActive = emptyFn
|
|
430
429
|
}
|
|
430
|
+
}
|
|
431
431
|
|
|
432
432
|
const tabList = getRouteList()
|
|
433
433
|
|
|
@@ -86,12 +86,14 @@ export default createComponent({
|
|
|
86
86
|
const mask = computed(() => getMask())
|
|
87
87
|
const locale = computed(() => getLocale())
|
|
88
88
|
|
|
89
|
+
const defaultDateModel = computed(() => getDefaultDateModel())
|
|
90
|
+
|
|
89
91
|
const model = __splitDate(
|
|
90
92
|
props.modelValue,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
mask.value, // initial mask
|
|
94
|
+
locale.value, // initial locale
|
|
93
95
|
props.calendar,
|
|
94
|
-
|
|
96
|
+
defaultDateModel.value
|
|
95
97
|
)
|
|
96
98
|
|
|
97
99
|
const view = ref(getViewByModel(model))
|
|
@@ -131,8 +133,6 @@ export default createComponent({
|
|
|
131
133
|
}
|
|
132
134
|
})
|
|
133
135
|
|
|
134
|
-
const defaultDateModel = computed(() => getDefaultDateModel())
|
|
135
|
-
|
|
136
136
|
const computedFormat24h = computed(() => (
|
|
137
137
|
props.format24h !== null
|
|
138
138
|
? props.format24h
|
|
@@ -280,18 +280,18 @@ export default createComponent({
|
|
|
280
280
|
function getTooltipContent () {
|
|
281
281
|
return showing.value === true
|
|
282
282
|
? h('div', {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
283
|
+
...attrs,
|
|
284
|
+
ref: innerRef,
|
|
285
|
+
class: [
|
|
286
|
+
'q-tooltip q-tooltip--style q-position-engine no-pointer-events',
|
|
287
|
+
attrs.class
|
|
288
|
+
],
|
|
289
|
+
style: [
|
|
290
|
+
attrs.style,
|
|
291
|
+
transitionStyle.value
|
|
292
|
+
],
|
|
293
|
+
role: 'complementary'
|
|
294
|
+
}, hSlot(slots.default))
|
|
295
295
|
: null
|
|
296
296
|
}
|
|
297
297
|
|
|
@@ -108,6 +108,7 @@ export function getRenderer (getPlugin) {
|
|
|
108
108
|
pickFiles,
|
|
109
109
|
addFiles,
|
|
110
110
|
onDragover,
|
|
111
|
+
onDragleave,
|
|
111
112
|
processFiles,
|
|
112
113
|
getDndNode,
|
|
113
114
|
maxFilesNumber,
|
|
@@ -387,10 +388,10 @@ export function getRenderer (getPlugin) {
|
|
|
387
388
|
}, [
|
|
388
389
|
file.__status === 'failed'
|
|
389
390
|
? h(QIcon, {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
391
|
+
class: 'q-uploader__file-status',
|
|
392
|
+
name: $q.iconSet.type.negative,
|
|
393
|
+
color: 'negative'
|
|
394
|
+
})
|
|
394
395
|
: null,
|
|
395
396
|
|
|
396
397
|
h('div', { class: 'q-uploader__file-header-content col' }, [
|
|
@@ -404,11 +405,11 @@ export function getRenderer (getPlugin) {
|
|
|
404
405
|
|
|
405
406
|
file.__status === 'uploading'
|
|
406
407
|
? h(QCircularProgress, {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
value: file.__progress,
|
|
409
|
+
min: 0,
|
|
410
|
+
max: 1,
|
|
411
|
+
indeterminate: file.__progress === 0
|
|
412
|
+
})
|
|
412
413
|
: h(QBtn, {
|
|
413
414
|
round: true,
|
|
414
415
|
dense: true,
|
|
@@ -477,7 +478,7 @@ export function getRenderer (getPlugin) {
|
|
|
477
478
|
const data = { ref: rootRef, class: classes.value }
|
|
478
479
|
|
|
479
480
|
if (canAddFiles.value === true) {
|
|
480
|
-
data
|
|
481
|
+
Object.assign(data, { onDragover, onDragleave })
|
|
481
482
|
}
|
|
482
483
|
|
|
483
484
|
return h('div', data, children)
|
|
@@ -148,9 +148,9 @@ export default createComponent({
|
|
|
148
148
|
|
|
149
149
|
return props.type === '__qtable'
|
|
150
150
|
? getTableMiddle(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
{ ref: rootRef, class: 'q-table__middle ' + classes.value },
|
|
152
|
+
__getVirtualChildren()
|
|
153
|
+
)
|
|
154
154
|
: h(comps[ props.type ], {
|
|
155
155
|
...attrs,
|
|
156
156
|
ref: rootRef,
|
|
@@ -622,17 +622,17 @@ export function useVirtualScroll ({
|
|
|
622
622
|
return [
|
|
623
623
|
tag === 'tbody'
|
|
624
624
|
? h(tag, {
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
])
|
|
625
|
+
class: 'q-virtual-scroll__padding',
|
|
626
|
+
key: 'before',
|
|
627
|
+
ref: beforeRef
|
|
628
|
+
}, [
|
|
629
|
+
h('tr', [
|
|
630
|
+
h('td', {
|
|
631
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style },
|
|
632
|
+
colspan: colspanAttr.value
|
|
633
|
+
})
|
|
635
634
|
])
|
|
635
|
+
])
|
|
636
636
|
: h(tag, {
|
|
637
637
|
class: 'q-virtual-scroll__padding',
|
|
638
638
|
key: 'before',
|
|
@@ -650,17 +650,17 @@ export function useVirtualScroll ({
|
|
|
650
650
|
|
|
651
651
|
tag === 'tbody'
|
|
652
652
|
? h(tag, {
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
])
|
|
653
|
+
class: 'q-virtual-scroll__padding',
|
|
654
|
+
key: 'after',
|
|
655
|
+
ref: afterRef
|
|
656
|
+
}, [
|
|
657
|
+
h('tr', [
|
|
658
|
+
h('td', {
|
|
659
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style },
|
|
660
|
+
colspan: colspanAttr.value
|
|
661
|
+
})
|
|
663
662
|
])
|
|
663
|
+
])
|
|
664
664
|
: h(tag, {
|
|
665
665
|
class: 'q-virtual-scroll__padding',
|
|
666
666
|
key: 'after',
|