quasar 2.14.5 → 2.14.6
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/AddressbarColor.json +1 -22
- package/dist/api/AppFullscreen.json +1 -78
- package/dist/api/AppVisibility.json +1 -15
- package/dist/api/BottomSheet.json +1 -264
- package/dist/api/Brand.json +1 -49
- package/dist/api/ClosePopup.json +1 -21
- package/dist/api/Cookies.json +1 -190
- package/dist/api/Dark.json +1 -63
- package/dist/api/Dialog.json +1 -479
- package/dist/api/Intersection.json +1 -204
- package/dist/api/Lang.json +1 -18
- package/dist/api/Loading.json +1 -317
- package/dist/api/LoadingBar.json +1 -62
- package/dist/api/LocalStorage.json +1 -187
- package/dist/api/Meta.json +1 -6
- package/dist/api/Morph.json +1 -188
- package/dist/api/Mutation.json +1 -122
- package/dist/api/Notify.json +1 -697
- package/dist/api/Platform.json +1 -238
- package/dist/api/QAjaxBar.json +1 -117
- package/dist/api/QAvatar.json +1 -76
- package/dist/api/QBadge.json +1 -82
- package/dist/api/QBanner.json +1 -44
- package/dist/api/QBar.json +1 -28
- package/dist/api/QBreadcrumbs.json +1 -82
- package/dist/api/QBreadcrumbsEl.json +1 -162
- package/dist/api/QBtn.json +1 -354
- package/dist/api/QBtnDropdown.json +1 -560
- package/dist/api/QBtnGroup.json +1 -59
- package/dist/api/QBtnToggle.json +1 -263
- package/dist/api/QCard.json +1 -51
- package/dist/api/QCardActions.json +1 -34
- package/dist/api/QCardSection.json +1 -31
- package/dist/api/QCarousel.json +1 -421
- package/dist/api/QCarouselControl.json +1 -41
- package/dist/api/QCarouselSlide.json +1 -44
- package/dist/api/QChatMessage.json +1 -128
- package/dist/api/QCheckbox.json +1 -211
- package/dist/api/QChip.json +1 -232
- package/dist/api/QCircularProgress.json +1 -145
- package/dist/api/QColor.json +1 -150
- package/dist/api/QDate.json +1 -637
- package/dist/api/QDialog.json +1 -259
- package/dist/api/QDrawer.json +1 -272
- package/dist/api/QEditor.json +1 -485
- package/dist/api/QExpansionItem.json +1 -434
- package/dist/api/QFab.json +1 -352
- package/dist/api/QFabAction.json +1 -241
- package/dist/api/QField.json +1 -448
- package/dist/api/QFile.json +1 -643
- package/dist/api/QFooter.json +1 -60
- package/dist/api/QForm.json +1 -112
- package/dist/api/QFormChildMixin.json +1 -24
- package/dist/api/QHeader.json +1 -67
- package/dist/api/QIcon.json +1 -69
- package/dist/api/QImg.json +1 -279
- package/dist/api/QInfiniteScroll.json +1 -116
- package/dist/api/QInnerLoading.json +1 -117
- package/dist/api/QInput.json +1 -521
- package/dist/api/QIntersection.json +1 -112
- package/dist/api/QItem.json +1 -203
- package/dist/api/QItemLabel.json +1 -36
- package/dist/api/QItemSection.json +1 -38
- package/dist/api/QKnob.json +1 -197
- package/dist/api/QLayout.json +1 -100
- package/dist/api/QLinearProgress.json +1 -113
- package/dist/api/QList.json +1 -58
- package/dist/api/QMarkupTable.json +1 -64
- package/dist/api/QMenu.json +1 -337
- package/dist/api/QNoSsr.json +1 -38
- package/dist/api/QOptionGroup.json +1 -242
- package/dist/api/QPage.json +1 -42
- package/dist/api/QPageContainer.json +1 -11
- package/dist/api/QPageScroller.json +1 -68
- package/dist/api/QPageSticky.json +1 -44
- package/dist/api/QPagination.json +1 -376
- package/dist/api/QParallax.json +1 -74
- package/dist/api/QPopupEdit.json +1 -335
- package/dist/api/QPopupProxy.json +1 -168
- package/dist/api/QPullToRefresh.json +1 -91
- package/dist/api/QRadio.json +1 -163
- package/dist/api/QRange.json +1 -789
- package/dist/api/QRating.json +1 -186
- package/dist/api/QResizeObserver.json +1 -56
- package/dist/api/QResponsive.json +1 -26
- package/dist/api/QRouteTab.json +1 -225
- package/dist/api/QScrollArea.json +1 -354
- package/dist/api/QScrollObserver.json +1 -140
- package/dist/api/QSelect.json +1 -1387
- package/dist/api/QSeparator.json +1 -72
- package/dist/api/QSkeleton.json +1 -127
- package/dist/api/QSlideItem.json +1 -219
- package/dist/api/QSlideTransition.json +1 -33
- package/dist/api/QSlider.json +1 -687
- package/dist/api/QSpace.json +1 -6
- package/dist/api/QSpinner.json +1 -37
- package/dist/api/QSpinnerAudio.json +1 -30
- package/dist/api/QSpinnerBall.json +1 -30
- package/dist/api/QSpinnerBars.json +1 -30
- package/dist/api/QSpinnerBox.json +1 -30
- package/dist/api/QSpinnerClock.json +1 -30
- package/dist/api/QSpinnerComment.json +1 -30
- package/dist/api/QSpinnerCube.json +1 -30
- package/dist/api/QSpinnerDots.json +1 -30
- package/dist/api/QSpinnerFacebook.json +1 -30
- package/dist/api/QSpinnerGears.json +1 -30
- package/dist/api/QSpinnerGrid.json +1 -30
- package/dist/api/QSpinnerHearts.json +1 -30
- package/dist/api/QSpinnerHourglass.json +1 -30
- package/dist/api/QSpinnerInfinity.json +1 -30
- package/dist/api/QSpinnerIos.json +1 -30
- package/dist/api/QSpinnerOrbit.json +1 -30
- package/dist/api/QSpinnerOval.json +1 -30
- package/dist/api/QSpinnerPie.json +1 -30
- package/dist/api/QSpinnerPuff.json +1 -30
- package/dist/api/QSpinnerRadio.json +1 -30
- package/dist/api/QSpinnerRings.json +1 -30
- package/dist/api/QSpinnerTail.json +1 -30
- package/dist/api/QSplitter.json +1 -146
- package/dist/api/QStep.json +1 -167
- package/dist/api/QStepper.json +1 -340
- package/dist/api/QStepperNavigation.json +1 -11
- package/dist/api/QTab.json +1 -113
- package/dist/api/QTabPanel.json +1 -39
- package/dist/api/QTabPanels.json +1 -203
- package/dist/api/QTable.json +1 -2799
- package/dist/api/QTabs.json +1 -179
- package/dist/api/QTd.json +1 -31
- package/dist/api/QTh.json +1 -26
- package/dist/api/QTime.json +1 -317
- package/dist/api/QTimeline.json +1 -57
- package/dist/api/QTimelineEntry.json +1 -105
- package/dist/api/QToggle.json +1 -230
- package/dist/api/QToolbar.json +1 -18
- package/dist/api/QToolbarTitle.json +1 -18
- package/dist/api/QTooltip.json +1 -282
- package/dist/api/QTr.json +1 -26
- package/dist/api/QTree.json +1 -599
- package/dist/api/QUploader.json +1 -665
- package/dist/api/QUploaderAddTrigger.json +1 -6
- package/dist/api/QVideo.json +1 -83
- package/dist/api/QVirtualScroll.json +1 -260
- package/dist/api/Ripple.json +1 -115
- package/dist/api/Screen.json +1 -190
- package/dist/api/Scroll.json +1 -28
- package/dist/api/ScrollFire.json +1 -24
- package/dist/api/SessionStorage.json +1 -187
- package/dist/api/TouchHold.json +1 -81
- package/dist/api/TouchPan.json +1 -178
- package/dist/api/TouchRepeat.json +1 -142
- package/dist/api/TouchSwipe.json +1 -113
- package/dist/icon-set/bootstrap-icons.umd.prod.js +3 -2
- package/dist/icon-set/eva-icons.umd.prod.js +3 -2
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +3 -2
- package/dist/icon-set/fontawesome-v5.umd.prod.js +3 -2
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +3 -2
- package/dist/icon-set/fontawesome-v6.umd.prod.js +3 -2
- package/dist/icon-set/ionicons-v4.umd.prod.js +3 -2
- package/dist/icon-set/line-awesome.umd.prod.js +3 -2
- package/dist/icon-set/material-icons-outlined.umd.prod.js +3 -2
- package/dist/icon-set/material-icons-round.umd.prod.js +3 -2
- package/dist/icon-set/material-icons-sharp.umd.prod.js +3 -2
- package/dist/icon-set/material-icons.umd.prod.js +3 -2
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +3 -2
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +3 -2
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +3 -2
- package/dist/icon-set/mdi-v3.umd.prod.js +3 -2
- package/dist/icon-set/mdi-v4.umd.prod.js +3 -2
- package/dist/icon-set/mdi-v5.umd.prod.js +3 -2
- package/dist/icon-set/mdi-v6.umd.prod.js +3 -2
- package/dist/icon-set/mdi-v7.umd.prod.js +3 -2
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +3 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +3 -2
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +3 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +3 -2
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +3 -2
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +3 -2
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +3 -2
- package/dist/icon-set/svg-line-awesome.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-icons.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +3 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +3 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +3 -2
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +3 -2
- package/dist/icon-set/svg-themify.umd.prod.js +3 -2
- package/dist/icon-set/themify.umd.prod.js +3 -2
- package/dist/lang/ar-TN.umd.prod.js +3 -2
- package/dist/lang/ar.umd.prod.js +3 -2
- package/dist/lang/az-Latn.umd.prod.js +3 -2
- package/dist/lang/bg.umd.prod.js +3 -2
- package/dist/lang/bn.umd.prod.js +3 -2
- package/dist/lang/ca.umd.prod.js +3 -2
- package/dist/lang/cs.umd.prod.js +3 -2
- package/dist/lang/da.umd.prod.js +3 -2
- package/dist/lang/de-CH.umd.prod.js +3 -2
- package/dist/lang/de-DE.umd.prod.js +3 -2
- package/dist/lang/de.umd.prod.js +3 -2
- package/dist/lang/el.umd.prod.js +3 -2
- package/dist/lang/en-GB.umd.prod.js +3 -2
- package/dist/lang/en-US.umd.prod.js +3 -2
- package/dist/lang/eo.umd.prod.js +3 -2
- package/dist/lang/es.umd.prod.js +3 -2
- package/dist/lang/et.umd.prod.js +3 -2
- package/dist/lang/eu.umd.prod.js +3 -2
- package/dist/lang/fa-IR.umd.prod.js +3 -2
- package/dist/lang/fa.umd.prod.js +3 -2
- package/dist/lang/fi.umd.prod.js +3 -2
- package/dist/lang/fr.umd.prod.js +3 -2
- package/dist/lang/gn.umd.prod.js +3 -2
- package/dist/lang/he.umd.prod.js +3 -2
- package/dist/lang/hi.umd.prod.js +3 -2
- package/dist/lang/hr.umd.prod.js +3 -2
- package/dist/lang/hu.umd.prod.js +3 -2
- package/dist/lang/id.umd.prod.js +3 -2
- package/dist/lang/is.umd.prod.js +3 -2
- package/dist/lang/it.umd.prod.js +3 -2
- package/dist/lang/ja.umd.prod.js +3 -2
- package/dist/lang/kk.umd.prod.js +3 -2
- package/dist/lang/km.umd.prod.js +3 -2
- package/dist/lang/ko-KR.umd.prod.js +3 -2
- package/dist/lang/kur-CKB.umd.prod.js +3 -2
- package/dist/lang/lt.umd.prod.js +3 -2
- package/dist/lang/lu.umd.prod.js +3 -2
- package/dist/lang/lv.umd.prod.js +3 -2
- package/dist/lang/mk.umd.prod.js +3 -2
- package/dist/lang/ml.umd.prod.js +3 -2
- package/dist/lang/mm.umd.prod.js +3 -2
- package/dist/lang/ms.umd.prod.js +3 -2
- package/dist/lang/my.umd.prod.js +3 -2
- package/dist/lang/nb-NO.umd.prod.js +3 -2
- package/dist/lang/nl.umd.prod.js +3 -2
- package/dist/lang/pl.umd.prod.js +3 -2
- package/dist/lang/pt-BR.umd.prod.js +3 -2
- package/dist/lang/pt.umd.prod.js +3 -2
- package/dist/lang/ro.umd.prod.js +3 -2
- package/dist/lang/ru.umd.prod.js +3 -2
- package/dist/lang/sk.umd.prod.js +3 -2
- package/dist/lang/sl.umd.prod.js +3 -2
- package/dist/lang/sm.umd.prod.js +3 -2
- package/dist/lang/sr-CYR.umd.prod.js +3 -2
- package/dist/lang/sr.umd.prod.js +3 -2
- package/dist/lang/sv.umd.prod.js +3 -2
- package/dist/lang/ta.umd.prod.js +3 -2
- package/dist/lang/th.umd.prod.js +3 -2
- package/dist/lang/tl.umd.prod.js +7 -0
- package/dist/lang/tr.umd.prod.js +3 -2
- package/dist/lang/ug.umd.prod.js +3 -2
- package/dist/lang/uk.umd.prod.js +3 -2
- package/dist/lang/uz-Cyrl.umd.prod.js +3 -2
- package/dist/lang/uz-Latn.umd.prod.js +3 -2
- package/dist/lang/vi.umd.prod.js +3 -2
- package/dist/lang/zh-CN.umd.prod.js +3 -2
- package/dist/lang/zh-TW.umd.prod.js +3 -2
- package/dist/quasar.addon.prod.css +1 -1
- package/dist/quasar.addon.rtl.prod.css +1 -1
- package/dist/quasar.cjs.prod.js +123 -2
- package/dist/quasar.esm.js +16928 -26277
- package/dist/quasar.esm.prod.js +123 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +16732 -26521
- package/dist/quasar.umd.prod.js +123 -2
- package/dist/transforms/api-list.json +1 -153
- package/dist/transforms/auto-import.json +1 -267
- package/dist/transforms/import-map.json +1 -181
- package/dist/transforms/loader-asset-urls.json +1 -60
- package/dist/types/api/dialog.d.ts +1 -1
- package/dist/types/api/qinput.d.ts +1 -1
- package/dist/types/api/qtable.d.ts +1 -1
- package/dist/types/api/qtree.d.ts +1 -1
- package/dist/types/api/quploader.d.ts +1 -1
- package/dist/types/api/validation.d.ts +1 -1
- package/dist/types/api/web-storage.d.ts +6 -6
- package/dist/types/feature-flag.d.ts +1 -1
- package/dist/types/globals.d.ts +22 -15
- package/dist/types/index.d.ts +45 -36
- package/dist/types/lang.d.ts +3 -3
- package/dist/types/plugin.d.ts +3 -1
- package/dist/types/ts-helpers.d.ts +3 -3
- package/dist/types/utils/colors.d.ts +1 -1
- package/dist/types/utils/date.d.ts +10 -10
- package/dist/types/utils/dom.d.ts +1 -1
- package/dist/types/utils/run-sequential-promises.d.ts +12 -12
- package/dist/types/utils/scroll.d.ts +5 -5
- package/dist/types/utils.d.ts +15 -13
- package/dist/vetur/quasar-attributes.json +1 -5890
- package/dist/vetur/quasar-tags.json +1 -2084
- package/dist/web-types/web-types.json +1 -19595
- package/lang/index.json +1 -266
- package/lang/tl.js +98 -0
- package/lang/tl.mjs +93 -0
- package/package.json +14 -18
- package/src/body.js +6 -14
- package/src/components/ajax-bar/QAjaxBar.js +1 -1
- package/src/components/breadcrumbs/QBreadcrumbs.js +1 -1
- package/src/components/btn/QBtn.js +6 -6
- package/src/components/btn-dropdown/QBtnDropdown.json +1 -1
- package/src/components/checkbox/use-checkbox.js +1 -1
- package/src/components/chip/QChip.js +1 -1
- package/src/components/color/QColor.js +4 -4
- package/src/components/date/QDate.js +1 -1
- package/src/components/dialog/__tests__/DialogWrapper.vue +33 -0
- package/src/components/dialog/__tests__/QDialog.cy.js +450 -36
- package/src/components/drawer/QDrawer.js +1 -1
- package/src/components/drawer/QDrawer.json +1 -1
- package/src/components/file/QFile.js +2 -2
- package/src/components/footer/QFooter.js +2 -2
- package/src/components/form/QForm.js +3 -3
- package/src/components/header/QHeader.js +1 -1
- package/src/components/img/QImg.js +47 -39
- package/src/components/img/QImg.json +9 -0
- package/src/components/input/use-mask.js +3 -3
- package/src/components/menu/QMenu.json +1 -1
- package/src/components/page-sticky/use-page-sticky.js +4 -4
- package/src/components/popup-edit/QPopupEdit.js +1 -1
- package/src/components/scroll-area/QScrollArea.js +1 -1
- package/src/components/select/QSelect.js +9 -9
- package/src/components/table/QTd.js +1 -1
- package/src/components/table/QTh.js +1 -1
- package/src/components/tabs/QTabs.js +3 -3
- package/src/components/time/QTime.js +3 -3
- package/src/components/tooltip/QTooltip.js +4 -2
- package/src/components/tooltip/QTooltip.json +6 -0
- package/src/components/tree/QTree.js +1 -1
- package/src/components/uploader/uploader-core.js +2 -2
- package/src/components/uploader/xhr-uploader-plugin.js +1 -1
- package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
- package/src/composables/private/__tests__/use-model-toggle.cy.js +43 -3
- package/src/composables/private/use-anchor.js +1 -1
- package/src/composables/private/use-key-composition.js +1 -1
- package/src/composables/private/use-panel.js +1 -1
- package/src/composables/private/use-portal.js +1 -1
- package/src/composables/private/use-router-link.js +1 -1
- package/src/directives/TouchPan.js +1 -1
- package/src/history.js +1 -1
- package/src/index.umd.js +5 -1
- package/src/lang.js +1 -1
- package/src/plugins/BottomSheet.json +1 -1
- package/src/plugins/Cookies.js +1 -1
- package/src/plugins/Dark.js +1 -1
- package/src/plugins/Loading.js +1 -1
- package/src/plugins/LoadingBar.js +1 -1
- package/src/plugins/Notify.js +4 -4
- package/src/plugins/Platform.js +111 -93
- package/src/plugins/Screen.js +1 -1
- package/src/utils/event.js +1 -1
- package/src/utils/frame-debounce.js +1 -1
- package/src/utils/morph.js +1 -1
- package/src/utils/private/click-outside.js +1 -1
- package/src/utils/private/escape-key.js +1 -1
- package/src/utils/private/focusout.js +1 -1
|
@@ -162,7 +162,7 @@ export default function () {
|
|
|
162
162
|
function goToPanelByOffset (direction, startIndex = panelIndex.value) {
|
|
163
163
|
let index = startIndex + direction
|
|
164
164
|
|
|
165
|
-
while (index
|
|
165
|
+
while (index !== -1 && index < panels.length) {
|
|
166
166
|
const opt = panels[ index ]
|
|
167
167
|
|
|
168
168
|
if (
|
|
@@ -74,7 +74,7 @@ export default function (vm, innerRef, renderPortalContent, type) {
|
|
|
74
74
|
function hidePortal (isReady) {
|
|
75
75
|
portalIsAccessible.value = false
|
|
76
76
|
|
|
77
|
-
if (isReady !== true)
|
|
77
|
+
if (isReady !== true) return
|
|
78
78
|
|
|
79
79
|
removeFocusWaitFlag(focusObj)
|
|
80
80
|
portalIsActive.value = false
|
|
@@ -191,7 +191,7 @@ export default createDirective(__QUASAR_SSR_SERVER__
|
|
|
191
191
|
// account for UMD too where modifiers will be lowercased to work
|
|
192
192
|
&& (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))
|
|
193
193
|
) {
|
|
194
|
-
const clone = evt.type.indexOf('mouse')
|
|
194
|
+
const clone = evt.type.indexOf('mouse') !== -1
|
|
195
195
|
? new MouseEvent(evt.type, evt)
|
|
196
196
|
: new TouchEvent(evt.type, evt)
|
|
197
197
|
|
package/src/history.js
CHANGED
package/src/index.umd.js
CHANGED
|
@@ -12,7 +12,11 @@ import * as plugins from './plugins.js'
|
|
|
12
12
|
import * as utils from './utils.js'
|
|
13
13
|
import * as composables from './composables.js'
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
if (window.Vue === void 0) {
|
|
16
|
+
console.error('[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar.')
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
window.Quasar = {
|
|
16
20
|
version: __QUASAR_VERSION__,
|
|
17
21
|
install (app, opts) {
|
|
18
22
|
installQuasar(app, {
|
package/src/lang.js
CHANGED
|
@@ -3,7 +3,7 @@ import defineReactivePlugin from './utils/private/define-reactive-plugin.js'
|
|
|
3
3
|
import defaultLang from '../lang/en-US'
|
|
4
4
|
|
|
5
5
|
function getLocale () {
|
|
6
|
-
if (__QUASAR_SSR_SERVER__)
|
|
6
|
+
if (__QUASAR_SSR_SERVER__) return
|
|
7
7
|
|
|
8
8
|
const val = Array.isArray(navigator.languages) === true && navigator.languages.length !== 0
|
|
9
9
|
? navigator.languages[ 0 ]
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
|
|
101
101
|
"persistent": {
|
|
102
102
|
"type": "Boolean",
|
|
103
|
-
"desc": "User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key"
|
|
103
|
+
"desc": "User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
package/src/plugins/Cookies.js
CHANGED
package/src/plugins/Dark.js
CHANGED
package/src/plugins/Loading.js
CHANGED
package/src/plugins/Notify.js
CHANGED
|
@@ -254,7 +254,7 @@ function addNotification (config, $q, originalApi) {
|
|
|
254
254
|
)
|
|
255
255
|
}
|
|
256
256
|
else {
|
|
257
|
-
const action = notif.position.indexOf('top')
|
|
257
|
+
const action = notif.position.indexOf('top') !== -1 ? 'unshift' : 'push'
|
|
258
258
|
notificationsList[ notif.position ].value[ action ](notif)
|
|
259
259
|
}
|
|
260
260
|
|
|
@@ -276,7 +276,7 @@ function addNotification (config, $q, originalApi) {
|
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
else {
|
|
279
|
-
notif.badgePosition = `top-${ notif.position.indexOf('left')
|
|
279
|
+
notif.badgePosition = `top-${ notif.position.indexOf('left') !== -1 ? 'right' : 'left' }`
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
notif.meta.uid = original.meta.uid
|
|
@@ -529,8 +529,8 @@ export default {
|
|
|
529
529
|
notificationsList[ pos ] = ref([])
|
|
530
530
|
|
|
531
531
|
const
|
|
532
|
-
vert = [ 'left', 'center', 'right' ].includes(pos) === true ? 'center' : (pos.indexOf('top')
|
|
533
|
-
align = pos.indexOf('left')
|
|
532
|
+
vert = [ 'left', 'center', 'right' ].includes(pos) === true ? 'center' : (pos.indexOf('top') !== -1 ? 'top' : 'bottom'),
|
|
533
|
+
align = pos.indexOf('left') !== -1 ? 'start' : (pos.indexOf('right') !== -1 ? 'end' : 'center'),
|
|
534
534
|
classes = [ 'left', 'right' ].includes(pos) ? `items-${ pos === 'left' ? 'start' : 'end' } justify-center` : (pos === 'center' ? 'flex-center' : `items-${ align }`)
|
|
535
535
|
|
|
536
536
|
positionClass[ pos ] = `q-notifications__list q-notifications__list--${ vert } fixed column no-wrap ${ classes }`
|
package/src/plugins/Platform.js
CHANGED
|
@@ -19,8 +19,7 @@ export const isRuntimeSsrPreHydration = __QUASAR_SSR_SERVER__
|
|
|
19
19
|
)
|
|
20
20
|
)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
export let iosCorrection
|
|
22
|
+
let preHydrationBrowser
|
|
24
23
|
|
|
25
24
|
function getMatch (userAgent, platformMatch) {
|
|
26
25
|
const match = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(userAgent)
|
|
@@ -66,24 +65,6 @@ const hasTouch = __QUASAR_SSR_SERVER__
|
|
|
66
65
|
? false
|
|
67
66
|
: 'ontouchstart' in window || window.navigator.maxTouchPoints > 0
|
|
68
67
|
|
|
69
|
-
function applyIosCorrection (is) {
|
|
70
|
-
iosCorrection = { is: { ...is } }
|
|
71
|
-
|
|
72
|
-
delete is.mac
|
|
73
|
-
delete is.desktop
|
|
74
|
-
|
|
75
|
-
const platform = Math.min(window.innerHeight, window.innerWidth) > 414
|
|
76
|
-
? 'ipad'
|
|
77
|
-
: 'iphone'
|
|
78
|
-
|
|
79
|
-
Object.assign(is, {
|
|
80
|
-
mobile: true,
|
|
81
|
-
ios: true,
|
|
82
|
-
platform,
|
|
83
|
-
[ platform ]: true
|
|
84
|
-
})
|
|
85
|
-
}
|
|
86
|
-
|
|
87
68
|
function getPlatform (UA) {
|
|
88
69
|
const
|
|
89
70
|
userAgent = UA.toLowerCase(),
|
|
@@ -114,21 +95,11 @@ function getPlatform (UA) {
|
|
|
114
95
|
|| browser[ 'windows phone' ]
|
|
115
96
|
|
|
116
97
|
// These are all considered mobile platforms, meaning they run a mobile browser
|
|
117
|
-
if (
|
|
98
|
+
if (
|
|
99
|
+
knownMobiles === true
|
|
100
|
+
|| userAgent.indexOf('mobile') !== -1
|
|
101
|
+
) {
|
|
118
102
|
browser.mobile = true
|
|
119
|
-
|
|
120
|
-
if (browser.edga || browser.edgios) {
|
|
121
|
-
browser.edge = true
|
|
122
|
-
matched.browser = 'edge'
|
|
123
|
-
}
|
|
124
|
-
else if (browser.crios) {
|
|
125
|
-
browser.chrome = true
|
|
126
|
-
matched.browser = 'chrome'
|
|
127
|
-
}
|
|
128
|
-
else if (browser.fxios) {
|
|
129
|
-
browser.firefox = true
|
|
130
|
-
matched.browser = 'firefox'
|
|
131
|
-
}
|
|
132
103
|
}
|
|
133
104
|
// If it's not mobile we should consider it's desktop platform, meaning it runs a desktop browser
|
|
134
105
|
// It's a workaround for anonymized user agents
|
|
@@ -137,22 +108,38 @@ function getPlatform (UA) {
|
|
|
137
108
|
browser.desktop = true
|
|
138
109
|
}
|
|
139
110
|
|
|
111
|
+
if (browser[ 'windows phone' ]) {
|
|
112
|
+
browser.winphone = true
|
|
113
|
+
delete browser[ 'windows phone' ]
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (browser.edga || browser.edgios) {
|
|
117
|
+
browser.edge = true
|
|
118
|
+
matched.browser = 'edge'
|
|
119
|
+
}
|
|
120
|
+
else if (browser.crios) {
|
|
121
|
+
browser.chrome = true
|
|
122
|
+
matched.browser = 'chrome'
|
|
123
|
+
}
|
|
124
|
+
else if (browser.fxios) {
|
|
125
|
+
browser.firefox = true
|
|
126
|
+
matched.browser = 'firefox'
|
|
127
|
+
}
|
|
140
128
|
// Set iOS if on iPod, iPad or iPhone
|
|
141
|
-
if (browser.ipod || browser.ipad || browser.iphone) {
|
|
129
|
+
else if (browser.ipod || browser.ipad || browser.iphone) {
|
|
142
130
|
browser.ios = true
|
|
143
131
|
}
|
|
144
132
|
|
|
145
|
-
if (browser
|
|
146
|
-
browser
|
|
147
|
-
|
|
133
|
+
if (browser.vivaldi) {
|
|
134
|
+
matched.browser = 'vivaldi'
|
|
135
|
+
browser.vivaldi = true
|
|
148
136
|
}
|
|
149
137
|
|
|
150
138
|
// TODO: The assumption about WebKit based browsers below is not completely accurate.
|
|
151
139
|
// Google released Blink(a fork of WebKit) engine on April 3, 2013, which is really different than WebKit today.
|
|
152
140
|
// Today, one might want to check for WebKit to deal with its bugs, which is used on all browsers on iOS, and Safari browser on all platforms.
|
|
153
|
-
|
|
154
|
-
// Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
|
|
155
141
|
if (
|
|
142
|
+
// Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
|
|
156
143
|
browser.chrome
|
|
157
144
|
|| browser.opr
|
|
158
145
|
|| browser.safari
|
|
@@ -167,52 +154,40 @@ function getPlatform (UA) {
|
|
|
167
154
|
browser.webkit = true
|
|
168
155
|
}
|
|
169
156
|
|
|
170
|
-
// TODO: (Qv3) rename the terms 'edge' to 'edge legacy'(or remove it) then 'edge chromium' to 'edge' to match with the known up-to-date terms
|
|
157
|
+
// TODO: (Qv3) rename the terms 'edge' to 'edge legacy' (or remove it) then 'edge chromium' to 'edge' to match with the known up-to-date terms
|
|
171
158
|
// Microsoft Edge is the new Chromium-based browser. Microsoft Edge Legacy is the old EdgeHTML-based browser (EOL: March 9, 2021).
|
|
172
159
|
if (browser.edg) {
|
|
173
160
|
matched.browser = 'edgechromium'
|
|
174
161
|
browser.edgeChromium = true
|
|
175
162
|
}
|
|
176
|
-
|
|
177
|
-
// Blackberry browsers are marked as Safari on BlackBerry
|
|
178
|
-
if ((browser.safari && browser.blackberry) || browser.bb) {
|
|
179
|
-
matched.browser = 'blackberry'
|
|
180
|
-
browser.blackberry = true
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// Playbook browsers are marked as Safari on Playbook
|
|
184
|
-
if (browser.safari && browser.playbook) {
|
|
185
|
-
matched.browser = 'playbook'
|
|
186
|
-
browser.playbook = true
|
|
187
|
-
}
|
|
188
|
-
|
|
189
163
|
// Opera 15+ are identified as opr
|
|
190
|
-
if (browser.opr) {
|
|
164
|
+
else if (browser.opr) {
|
|
191
165
|
matched.browser = 'opera'
|
|
192
166
|
browser.opera = true
|
|
193
167
|
}
|
|
194
168
|
|
|
195
|
-
//
|
|
196
|
-
if (browser.safari
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
169
|
+
// Some browsers are marked as Safari but are not
|
|
170
|
+
if (browser.safari) {
|
|
171
|
+
if (browser.blackberry || browser.bb) {
|
|
172
|
+
matched.browser = 'blackberry'
|
|
173
|
+
browser.blackberry = true
|
|
174
|
+
}
|
|
175
|
+
else if (browser.playbook) {
|
|
176
|
+
matched.browser = 'playbook'
|
|
177
|
+
browser.playbook = true
|
|
178
|
+
}
|
|
179
|
+
else if (browser.android) {
|
|
180
|
+
matched.browser = 'android'
|
|
181
|
+
browser.android = true
|
|
182
|
+
}
|
|
183
|
+
else if (browser.kindle) {
|
|
184
|
+
matched.browser = 'kindle'
|
|
185
|
+
browser.kindle = true
|
|
186
|
+
}
|
|
187
|
+
else if (browser.silk) {
|
|
188
|
+
matched.browser = 'silk'
|
|
189
|
+
browser.silk = true
|
|
190
|
+
}
|
|
216
191
|
}
|
|
217
192
|
|
|
218
193
|
// Assign the name and platform variable
|
|
@@ -220,10 +195,10 @@ function getPlatform (UA) {
|
|
|
220
195
|
browser.platform = matched.platform
|
|
221
196
|
|
|
222
197
|
if (__QUASAR_SSR_SERVER__ !== true) {
|
|
223
|
-
if (userAgent.indexOf('electron')
|
|
198
|
+
if (userAgent.indexOf('electron') !== -1) {
|
|
224
199
|
browser.electron = true
|
|
225
200
|
}
|
|
226
|
-
else if (document.location.href.indexOf('-extension://')
|
|
201
|
+
else if (document.location.href.indexOf('-extension://') !== -1) {
|
|
227
202
|
browser.bex = true
|
|
228
203
|
}
|
|
229
204
|
else {
|
|
@@ -238,6 +213,24 @@ function getPlatform (UA) {
|
|
|
238
213
|
browser.nativeMobileWrapper = 'cordova'
|
|
239
214
|
}
|
|
240
215
|
|
|
216
|
+
if (isRuntimeSsrPreHydration.value === true) {
|
|
217
|
+
/*
|
|
218
|
+
* We need to remember the current state as
|
|
219
|
+
* everything that follows can only be corrected client-side,
|
|
220
|
+
* but we don't want to brake the hydration.
|
|
221
|
+
*
|
|
222
|
+
* The "client" object is imported throughout the UI and should
|
|
223
|
+
* be as accurate as possible given all the knowledge that we posses
|
|
224
|
+
* because decisions are required to be made immediately, even
|
|
225
|
+
* before the hydration occurs.
|
|
226
|
+
*/
|
|
227
|
+
preHydrationBrowser = { is: { ...browser } }
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/*
|
|
231
|
+
* All the following should be client-side corrections only
|
|
232
|
+
*/
|
|
233
|
+
|
|
241
234
|
if (
|
|
242
235
|
hasTouch === true
|
|
243
236
|
&& browser.mac === true
|
|
@@ -252,13 +245,40 @@ function getPlatform (UA) {
|
|
|
252
245
|
)
|
|
253
246
|
) {
|
|
254
247
|
/*
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
248
|
+
* Correction needed for iOS since the default
|
|
249
|
+
* setting on iPad is to request desktop view; if we have
|
|
250
|
+
* touch support and the user agent says it's a
|
|
251
|
+
* desktop, we infer that it's an iPhone/iPad with desktop view
|
|
252
|
+
* so we must fix the false positives
|
|
253
|
+
*/
|
|
254
|
+
|
|
255
|
+
delete browser.mac
|
|
256
|
+
delete browser.desktop
|
|
257
|
+
|
|
258
|
+
const platform = Math.min(window.innerHeight, window.innerWidth) > 414
|
|
259
|
+
? 'ipad'
|
|
260
|
+
: 'iphone'
|
|
261
|
+
|
|
262
|
+
Object.assign(browser, {
|
|
263
|
+
mobile: true,
|
|
264
|
+
ios: true,
|
|
265
|
+
platform,
|
|
266
|
+
[ platform ]: true
|
|
267
|
+
})
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
if (
|
|
271
|
+
browser.mobile !== true
|
|
272
|
+
&& window.navigator.userAgentData
|
|
273
|
+
&& window.navigator.userAgentData.mobile
|
|
274
|
+
) {
|
|
275
|
+
/*
|
|
276
|
+
* Correction needed on client-side when
|
|
277
|
+
* we also have the navigator userAgentData
|
|
278
|
+
*/
|
|
279
|
+
|
|
280
|
+
delete browser.desktop
|
|
281
|
+
browser.mobile = true
|
|
262
282
|
}
|
|
263
283
|
}
|
|
264
284
|
}
|
|
@@ -310,7 +330,6 @@ const Platform = {
|
|
|
310
330
|
opts.onSSRHydrated.push(() => {
|
|
311
331
|
Object.assign($q.platform, client)
|
|
312
332
|
isRuntimeSsrPreHydration.value = false
|
|
313
|
-
iosCorrection = void 0
|
|
314
333
|
})
|
|
315
334
|
|
|
316
335
|
// we need to make platform reactive
|
|
@@ -350,23 +369,22 @@ else {
|
|
|
350
369
|
return true
|
|
351
370
|
}
|
|
352
371
|
}
|
|
353
|
-
catch (
|
|
372
|
+
catch (_) {}
|
|
354
373
|
|
|
355
374
|
hasWebStorage = false
|
|
356
375
|
return false
|
|
357
376
|
})
|
|
358
377
|
|
|
359
|
-
|
|
360
|
-
&& window.navigator.vendor.toLowerCase().indexOf('apple') === -1
|
|
378
|
+
Object.assign(Platform, client)
|
|
361
379
|
|
|
362
380
|
if (isRuntimeSsrPreHydration.value === true) {
|
|
363
381
|
// must match with server-side before
|
|
364
382
|
// client taking over in order to prevent
|
|
365
383
|
// hydration errors
|
|
366
|
-
Object.assign(Platform,
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
384
|
+
Object.assign(Platform, preHydrationBrowser, ssrClient)
|
|
385
|
+
|
|
386
|
+
// free up memory
|
|
387
|
+
preHydrationBrowser = null
|
|
370
388
|
}
|
|
371
389
|
}
|
|
372
390
|
|
package/src/plugins/Screen.js
CHANGED
package/src/utils/event.js
CHANGED
package/src/utils/morph.js
CHANGED
|
@@ -60,7 +60,7 @@ function getComputedStyle (el, props) {
|
|
|
60
60
|
|
|
61
61
|
fixed[ prop ] = val
|
|
62
62
|
}
|
|
63
|
-
else if ([ 'borderWidth', 'borderStyle', 'borderColor' ].indexOf(prop)
|
|
63
|
+
else if ([ 'borderWidth', 'borderStyle', 'borderColor' ].indexOf(prop) !== -1) {
|
|
64
64
|
const suffix = prop.replace('border', '')
|
|
65
65
|
let val = ''
|
|
66
66
|
for (let j = 0; j < styleEdges.length; j++) {
|
|
@@ -86,7 +86,7 @@ export function addClickOutside (clickOutsideProps) {
|
|
|
86
86
|
export function removeClickOutside (clickOutsideProps) {
|
|
87
87
|
const index = registeredList.findIndex(h => h === clickOutsideProps)
|
|
88
88
|
|
|
89
|
-
if (index
|
|
89
|
+
if (index !== -1) {
|
|
90
90
|
registeredList.splice(index, 1)
|
|
91
91
|
|
|
92
92
|
if (registeredList.length === 0) {
|