quasar 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/AppFullscreen.json +15 -8
- package/dist/api/BottomSheet.json +6 -0
- package/dist/api/Cookies.json +4 -3
- package/dist/api/Dialog.json +24 -10
- package/dist/api/Loading.json +0 -2
- package/dist/api/LoadingBar.json +8 -3
- package/dist/api/Morph.json +14 -7
- package/dist/api/Mutation.json +1 -1
- package/dist/api/Notify.json +41 -27
- package/dist/api/QAjaxBar.json +6 -3
- package/dist/api/QBreadcrumbs.json +8 -4
- package/dist/api/QBreadcrumbsEl.json +35 -12
- package/dist/api/QBtn.json +36 -17
- package/dist/api/QBtnDropdown.json +41 -20
- package/dist/api/QBtnToggle.json +7 -2
- package/dist/api/QCard.json +2 -1
- package/dist/api/QCardActions.json +2 -1
- package/dist/api/QCardSection.json +2 -1
- package/dist/api/QCarousel.json +10 -5
- package/dist/api/QCarouselControl.json +4 -2
- package/dist/api/QChatMessage.json +0 -4
- package/dist/api/QCheckbox.json +8 -4
- package/dist/api/QChip.json +2 -1
- package/dist/api/QCircularProgress.json +14 -7
- package/dist/api/QColor.json +6 -3
- package/dist/api/QDate.json +33 -5
- package/dist/api/QDialog.json +8 -4
- package/dist/api/QDrawer.json +10 -5
- package/dist/api/QEditor.json +10 -5
- package/dist/api/QExpansionItem.json +36 -13
- package/dist/api/QFab.json +41 -6
- package/dist/api/QFabAction.json +12 -2
- package/dist/api/QField.json +3 -1
- package/dist/api/QFile.json +8 -2
- package/dist/api/QFooter.json +2 -1
- package/dist/api/QForm.json +1 -1
- package/dist/api/QHeader.json +4 -2
- package/dist/api/QIcon.json +2 -1
- package/dist/api/QImg.json +8 -4
- package/dist/api/QInfiniteScroll.json +6 -3
- package/dist/api/QInnerLoading.json +8 -4
- package/dist/api/QInput.json +3 -1
- package/dist/api/QIntersection.json +4 -2
- package/dist/api/QItem.json +33 -11
- package/dist/api/QKnob.json +8 -4
- package/dist/api/QLayout.json +9 -1
- package/dist/api/QLinearProgress.json +4 -2
- package/dist/api/QMarkupTable.json +2 -1
- package/dist/api/QMenu.json +8 -4
- package/dist/api/QNoSsr.json +2 -1
- package/dist/api/QOptionGroup.json +76 -5
- package/dist/api/QPage.json +2 -1
- package/dist/api/QPageScroller.json +8 -4
- package/dist/api/QPageSticky.json +2 -1
- package/dist/api/QPagination.json +10 -6
- package/dist/api/QParallax.json +2 -1
- package/dist/api/QPopupEdit.json +5 -2
- package/dist/api/QPopupProxy.json +7 -4
- package/dist/api/QRange.json +600 -111
- package/dist/api/QRating.json +5 -2
- package/dist/api/QResizeObserver.json +4 -1
- package/dist/api/QRouteTab.json +35 -13
- package/dist/api/QScrollArea.json +29 -6
- package/dist/api/QScrollObserver.json +13 -1
- package/dist/api/QSelect.json +76 -47
- package/dist/api/QSeparator.json +2 -1
- package/dist/api/QSkeleton.json +8 -4
- package/dist/api/QSlideItem.json +9 -0
- package/dist/api/QSlideTransition.json +2 -1
- package/dist/api/QSlider.json +512 -43
- package/dist/api/QSpinner.json +2 -1
- package/dist/api/QSplitter.json +4 -2
- package/dist/api/QStep.json +2 -1
- package/dist/api/QStepper.json +6 -3
- package/dist/api/QTab.json +4 -2
- package/dist/api/QTabPanels.json +6 -3
- package/dist/api/QTable.json +154 -88
- package/dist/api/QTabs.json +4 -2
- package/dist/api/QTime.json +16 -4
- package/dist/api/QTimeline.json +4 -2
- package/dist/api/QTimelineEntry.json +4 -2
- package/dist/api/QToggle.json +8 -4
- package/dist/api/QTooltip.json +18 -9
- package/dist/api/QTree.json +34 -19
- package/dist/api/QUploader.json +28 -6
- package/dist/api/QVirtualScroll.json +26 -11
- package/dist/api/ScrollFire.json +1 -1
- package/dist/api/TouchHold.json +2 -1
- package/dist/api/TouchRepeat.json +2 -1
- package/dist/api/TouchSwipe.json +2 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +6 -0
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.css +268 -184
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +340 -263
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +272 -212
- package/dist/quasar.umd.js +16532 -16216
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/transforms/loader-asset-urls.json +20 -0
- package/dist/types/api/cookies.d.ts +1 -1
- package/dist/types/api/slider.d.ts +46 -0
- package/dist/types/api/validation.d.ts +4 -0
- package/dist/types/api.d.ts +2 -0
- package/dist/types/composables.d.ts +7 -3
- package/dist/types/extras/icon-set.d.ts +1 -0
- package/dist/types/index.d.ts +759 -177
- package/dist/vetur/quasar-attributes.json +251 -83
- package/dist/vetur/quasar-tags.json +59 -17
- package/dist/web-types/web-types.json +587 -155
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/package.json +2 -2
- package/src/api.extends.json +0 -1
- package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
- package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
- package/src/components/btn/QBtn.js +6 -5
- package/src/components/btn/use-btn.js +21 -21
- package/src/components/btn/use-btn.json +22 -13
- package/src/components/btn-dropdown/QBtnDropdown.json +1 -0
- package/src/components/btn-toggle/QBtnToggle.json +3 -0
- package/src/components/checkbox/use-checkbox.js +1 -1
- package/src/components/chip/QChip.json +1 -2
- package/src/components/color/QColor.js +32 -26
- package/src/components/color/QColor.sass +10 -23
- package/src/components/date/QDate.json +25 -1
- package/src/components/date/QDate.sass +2 -0
- package/src/components/drawer/QDrawer.js +18 -15
- package/src/components/editor/QEditor.js +3 -3
- package/src/components/editor/QEditor.sass +10 -1
- package/src/components/expansion-item/QExpansionItem.js +4 -1
- package/src/components/expansion-item/QExpansionItem.json +2 -1
- package/src/components/fab/QFab.js +18 -12
- package/src/components/fab/QFab.json +36 -1
- package/src/components/fab/QFab.sass +1 -1
- package/src/components/fab/QFabAction.js +14 -7
- package/src/components/fab/QFabAction.json +10 -0
- package/src/components/field/QField.json +3 -3
- package/src/components/file/QFile.js +12 -5
- package/src/components/file/QFile.json +9 -6
- package/src/components/file/QFile.sass +4 -2
- package/src/components/footer/QFooter.js +1 -1
- package/src/components/form/QForm.json +2 -3
- package/src/components/header/QHeader.js +1 -1
- package/src/components/icon/QIcon.js +2 -2
- package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
- package/src/components/item/QItem.js +2 -3
- package/src/components/layout/QLayout.json +8 -1
- package/src/components/linear-progress/QLinearProgress.js +3 -2
- package/src/components/linear-progress/QLinearProgress.sass +1 -1
- package/src/components/option-group/QOptionGroup.js +3 -0
- package/src/components/option-group/QOptionGroup.json +48 -2
- package/src/components/pagination/QPagination.json +0 -1
- package/src/components/parallax/QParallax.js +4 -2
- package/src/components/popup-edit/QPopupEdit.js +2 -5
- package/src/components/popup-edit/QPopupEdit.json +1 -0
- package/src/components/popup-proxy/QPopupProxy.json +2 -1
- package/src/components/radio/QRadio.js +2 -7
- package/src/components/range/QRange.js +103 -222
- package/src/components/range/QRange.json +11 -121
- package/src/components/rating/QRating.json +1 -1
- package/src/components/resize-observer/QResizeObserver.json +2 -0
- package/src/components/scroll-area/QScrollArea.js +11 -14
- package/src/components/scroll-area/QScrollArea.json +29 -9
- package/src/components/scroll-observer/QScrollObserver.json +11 -0
- package/src/components/select/QSelect.js +1 -1
- package/src/components/select/QSelect.json +41 -15
- package/src/components/slide-item/QSlideItem.json +9 -0
- package/src/components/slider/QSlider.js +46 -132
- package/src/components/slider/QSlider.json +1 -121
- package/src/components/slider/QSlider.sass +198 -132
- package/src/components/slider/use-slider.js +453 -109
- package/src/components/slider/use-slider.json +546 -0
- package/src/components/stepper/QStepper.js +3 -3
- package/src/components/stepper/QStepper.sass +24 -26
- package/src/components/table/QTable.js +27 -47
- package/src/components/table/QTable.json +104 -55
- package/src/components/table/table-pagination.js +4 -0
- package/src/components/tabs/QRouteTab.js +1 -2
- package/src/components/tabs/QRouteTab.json +0 -7
- package/src/components/tabs/QTabs.js +71 -20
- package/src/components/tabs/use-tab.js +26 -13
- package/src/components/time/QTime.json +8 -0
- package/src/components/tree/QTree.js +14 -12
- package/src/components/tree/QTree.json +26 -21
- package/src/components/tree/QTree.sass +45 -41
- package/src/components/uploader/QUploader.json +14 -2
- package/src/components/uploader/uploader-core.js +16 -9
- package/src/components/uploader/xhr-uploader-plugin.json +8 -3
- package/src/components/virtual-scroll/QVirtualScroll.json +15 -0
- package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
- package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
- package/src/components/virtual-scroll/use-virtual-scroll.json +7 -5
- package/src/composables/private/use-field.js +7 -7
- package/src/composables/private/use-file.js +20 -5
- package/src/composables/private/use-form.js +2 -3
- package/src/composables/private/use-fullscreen.js +15 -4
- package/src/composables/private/use-router-link.js +44 -23
- package/src/composables/private/use-router-link.json +26 -10
- package/src/composables/private/use-split-attrs.js +12 -9
- package/src/composables/private/use-validate.js +21 -15
- package/src/composables/private/use-validate.json +1 -0
- package/src/composables/use-dialog-plugin-component.js +1 -0
- package/src/css/core/helpers.sass +3 -0
- package/src/css/core/positioning.sass +5 -0
- package/src/directives/Mutation.json +2 -3
- package/src/directives/ScrollFire.js +1 -0
- package/src/directives/ScrollFire.json +2 -3
- package/src/icon-set.js +2 -4
- package/src/plugins/AppFullscreen.js +70 -53
- package/src/plugins/AppFullscreen.json +8 -8
- package/src/plugins/AppVisibility.js +2 -3
- package/src/plugins/BottomSheet.js +3 -5
- package/src/plugins/Cookies.json +2 -2
- package/src/plugins/Dialog.js +3 -5
- package/src/plugins/Dialog.json +6 -5
- package/src/plugins/LoadingBar.js +17 -18
- package/src/plugins/LoadingBar.json +4 -3
- package/src/plugins/Notify.js +296 -295
- package/src/plugins/Notify.json +13 -19
- package/src/plugins/Platform.js +14 -14
- package/src/utils/date.js +4 -4
- package/src/utils/dom.js +2 -2
- package/src/utils/open-url.js +2 -2
- package/src/utils/patterns.js +1 -0
- package/src/utils/private/define-reactive-plugin.js +10 -8
- package/src/utils/private/global-dialog.js +6 -8
- package/src/utils/private/global-dialog.json +6 -0
- package/src/utils/private/inject-obj-prop.js +13 -0
- package/src/utils/private/is.js +2 -2
package/src/plugins/Notify.json
CHANGED
|
@@ -164,6 +164,7 @@
|
|
|
164
164
|
"params": {
|
|
165
165
|
"opts": {
|
|
166
166
|
"type": [ "Object", "String" ],
|
|
167
|
+
"required": true,
|
|
167
168
|
"desc": "Notification options",
|
|
168
169
|
"definition": {
|
|
169
170
|
"type": {
|
|
@@ -214,7 +215,7 @@
|
|
|
214
215
|
"spinner": {
|
|
215
216
|
"type": [ "Boolean", "Component" ],
|
|
216
217
|
"desc": "Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown",
|
|
217
|
-
"
|
|
218
|
+
"examples": [ true, "QSpinnerBars" ]
|
|
218
219
|
},
|
|
219
220
|
|
|
220
221
|
"position": {
|
|
@@ -225,8 +226,7 @@
|
|
|
225
226
|
"top-left", "top-right",
|
|
226
227
|
"bottom-left", "bottom-right",
|
|
227
228
|
"top", "bottom", "left", "right", "center"
|
|
228
|
-
]
|
|
229
|
-
"examples": [ "top-right" ]
|
|
229
|
+
]
|
|
230
230
|
},
|
|
231
231
|
|
|
232
232
|
"group": {
|
|
@@ -251,8 +251,7 @@
|
|
|
251
251
|
"values": [
|
|
252
252
|
"top-left", "top-right",
|
|
253
253
|
"bottom-left", "bottom-right"
|
|
254
|
-
]
|
|
255
|
-
"examples": [ "bottom-right" ]
|
|
254
|
+
]
|
|
256
255
|
},
|
|
257
256
|
"badgeStyle": {
|
|
258
257
|
"type": [ "Array", "String", "Object" ],
|
|
@@ -339,9 +338,7 @@
|
|
|
339
338
|
"type": "Boolean",
|
|
340
339
|
"desc": "Ignore the default configuration (set by setDefaults()) for this instance only"
|
|
341
340
|
}
|
|
342
|
-
}
|
|
343
|
-
"required": true,
|
|
344
|
-
"__exemption": [ "examples" ]
|
|
341
|
+
}
|
|
345
342
|
}
|
|
346
343
|
},
|
|
347
344
|
"returns": {
|
|
@@ -350,6 +347,7 @@
|
|
|
350
347
|
"params": {
|
|
351
348
|
"props": {
|
|
352
349
|
"type": "Object",
|
|
350
|
+
"required": false,
|
|
353
351
|
"desc": "Notification properties that will be shallow merged to previous ones in order to update the non-grouped notification",
|
|
354
352
|
"definition": {
|
|
355
353
|
"type": {
|
|
@@ -483,6 +481,7 @@
|
|
|
483
481
|
"params": {
|
|
484
482
|
"opts": {
|
|
485
483
|
"type": "Object",
|
|
484
|
+
"required": true,
|
|
486
485
|
"desc": "Notification options",
|
|
487
486
|
"definition": {
|
|
488
487
|
"type": {
|
|
@@ -607,8 +606,7 @@
|
|
|
607
606
|
"attrs": {
|
|
608
607
|
"type": "Object",
|
|
609
608
|
"desc": "Key-value for attributes to be set on the notification",
|
|
610
|
-
"examples": [ "{ role: 'alertdialog' }" ]
|
|
611
|
-
"__exemption": [ "definition" ]
|
|
609
|
+
"examples": [ "{ role: 'alertdialog' }" ]
|
|
612
610
|
},
|
|
613
611
|
|
|
614
612
|
"timeout": {
|
|
@@ -646,9 +644,7 @@
|
|
|
646
644
|
"type": "Boolean",
|
|
647
645
|
"desc": "Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"
|
|
648
646
|
}
|
|
649
|
-
}
|
|
650
|
-
"required": true,
|
|
651
|
-
"__exemption": [ "examples" ]
|
|
647
|
+
}
|
|
652
648
|
}
|
|
653
649
|
}
|
|
654
650
|
},
|
|
@@ -658,13 +654,14 @@
|
|
|
658
654
|
"params": {
|
|
659
655
|
"typeName": {
|
|
660
656
|
"type": "String",
|
|
661
|
-
"desc": "Name of the type (to be used as 'type' prop later on)",
|
|
662
657
|
"required": true,
|
|
658
|
+
"desc": "Name of the type (to be used as 'type' prop later on)",
|
|
663
659
|
"examples": [ "my-type" ]
|
|
664
660
|
},
|
|
665
661
|
|
|
666
662
|
"typeOpts": {
|
|
667
663
|
"type": "Object",
|
|
664
|
+
"required": true,
|
|
668
665
|
"desc": "Notification options",
|
|
669
666
|
"definition": {
|
|
670
667
|
"type": {
|
|
@@ -789,8 +786,7 @@
|
|
|
789
786
|
"attrs": {
|
|
790
787
|
"type": "Object",
|
|
791
788
|
"desc": "Key-value for attributes to be set on the notification",
|
|
792
|
-
"examples": [ "{ role: 'alertdialog' }" ]
|
|
793
|
-
"__exemption": [ "definition" ]
|
|
789
|
+
"examples": [ "{ role: 'alertdialog' }" ]
|
|
794
790
|
},
|
|
795
791
|
|
|
796
792
|
"timeout": {
|
|
@@ -828,9 +824,7 @@
|
|
|
828
824
|
"type": "Boolean",
|
|
829
825
|
"desc": "Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"
|
|
830
826
|
}
|
|
831
|
-
}
|
|
832
|
-
"required": true,
|
|
833
|
-
"__exemption": [ "examples" ]
|
|
827
|
+
}
|
|
834
828
|
}
|
|
835
829
|
}
|
|
836
830
|
}
|
package/src/plugins/Platform.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable no-mixed-operators */
|
|
4
4
|
|
|
5
5
|
import { ref, reactive } from 'vue'
|
|
6
|
+
import { injectProp } from '../utils/private/inject-obj-prop'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* __ QUASAR_SSR __ -> runs on SSR on client or server
|
|
@@ -330,23 +331,22 @@ else {
|
|
|
330
331
|
// devland actually using it as this will get
|
|
331
332
|
// reported under "Cookies" in Google Chrome
|
|
332
333
|
let hasWebStorage
|
|
333
|
-
Object.defineProperty(client.has, 'webStorage', {
|
|
334
|
-
get: () => {
|
|
335
|
-
if (hasWebStorage !== void 0) {
|
|
336
|
-
return hasWebStorage
|
|
337
|
-
}
|
|
338
334
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
catch (e) {}
|
|
335
|
+
injectProp(client.has, 'webStorage', () => {
|
|
336
|
+
if (hasWebStorage !== void 0) {
|
|
337
|
+
return hasWebStorage
|
|
338
|
+
}
|
|
346
339
|
|
|
347
|
-
|
|
348
|
-
|
|
340
|
+
try {
|
|
341
|
+
if (window.localStorage) {
|
|
342
|
+
hasWebStorage = true
|
|
343
|
+
return true
|
|
344
|
+
}
|
|
349
345
|
}
|
|
346
|
+
catch (e) {}
|
|
347
|
+
|
|
348
|
+
hasWebStorage = false
|
|
349
|
+
return false
|
|
350
350
|
})
|
|
351
351
|
|
|
352
352
|
iosEmulated = client.is.ios === true
|
package/src/utils/date.js
CHANGED
|
@@ -206,12 +206,12 @@ function getChange (date, mod, sign) {
|
|
|
206
206
|
? applyYearMonthDayChange(d, mod, sign)
|
|
207
207
|
: d
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
for (const key in mod) {
|
|
210
210
|
if (key !== 'years' && key !== 'months' && key !== 'days') {
|
|
211
211
|
const op = capitalize(key)
|
|
212
212
|
t[ `set${ op }` ](t[ `get${ op }` ]() + sign * mod[ key ])
|
|
213
213
|
}
|
|
214
|
-
}
|
|
214
|
+
}
|
|
215
215
|
|
|
216
216
|
return t
|
|
217
217
|
}
|
|
@@ -241,12 +241,12 @@ export function adjustDate (date, mod, utc) {
|
|
|
241
241
|
? applyYearMonthDay(d, mod, middle)
|
|
242
242
|
: d
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
for (const key in mod) {
|
|
245
245
|
if (key !== 'year' && key !== 'month' && key !== 'date') {
|
|
246
246
|
const op = key.charAt(0).toUpperCase() + key.slice(1)
|
|
247
247
|
t[ `set${ middle }${ op }` ](mod[ key ])
|
|
248
248
|
}
|
|
249
|
-
}
|
|
249
|
+
}
|
|
250
250
|
|
|
251
251
|
return t
|
|
252
252
|
}
|
package/src/utils/dom.js
CHANGED
|
@@ -27,9 +27,9 @@ export function width (el) {
|
|
|
27
27
|
export function css (element, css) {
|
|
28
28
|
const style = element.style
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
for (const prop in css) {
|
|
31
31
|
style[ prop ] = css[ prop ]
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export function cssBatch (elements, style) {
|
package/src/utils/open-url.js
CHANGED
|
@@ -5,11 +5,11 @@ import { noop } from '../utils/event.js'
|
|
|
5
5
|
function parseFeatures (winFeatures) {
|
|
6
6
|
const cfg = Object.assign({ noopener: true }, winFeatures)
|
|
7
7
|
const feat = []
|
|
8
|
-
|
|
8
|
+
for (const key in cfg) {
|
|
9
9
|
if (cfg[ key ] === true) {
|
|
10
10
|
feat.push(key)
|
|
11
11
|
}
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
return feat.join(',')
|
|
14
14
|
}
|
|
15
15
|
|
package/src/utils/patterns.js
CHANGED
|
@@ -7,6 +7,7 @@ const
|
|
|
7
7
|
rgb = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,
|
|
8
8
|
rgba = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/
|
|
9
9
|
|
|
10
|
+
// Keep in sync with ui/types/api/validation.d.ts
|
|
10
11
|
export const testPattern = {
|
|
11
12
|
date: v => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(v),
|
|
12
13
|
time: v => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(v),
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
|
|
1
2
|
import { reactive } from 'vue'
|
|
3
|
+
import { injectProp } from './inject-obj-prop'
|
|
2
4
|
|
|
3
5
|
export default __QUASAR_SSR_SERVER__
|
|
4
6
|
? (state, plugin) => {
|
|
@@ -6,16 +8,16 @@ export default __QUASAR_SSR_SERVER__
|
|
|
6
8
|
return plugin
|
|
7
9
|
}
|
|
8
10
|
: (state, plugin) => {
|
|
9
|
-
const props = {}
|
|
10
11
|
const reactiveState = reactive(state)
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
for (const name in state) {
|
|
14
|
+
injectProp(
|
|
15
|
+
plugin,
|
|
16
|
+
name,
|
|
17
|
+
() => reactiveState[ name ],
|
|
18
|
+
val => { reactiveState[ name ] = val }
|
|
19
|
+
)
|
|
20
|
+
}
|
|
18
21
|
|
|
19
|
-
Object.defineProperties(plugin, props)
|
|
20
22
|
return plugin
|
|
21
23
|
}
|
|
@@ -133,14 +133,12 @@ export default function (DefaultComponent, supportsCustomComponent, parentApp) {
|
|
|
133
133
|
|
|
134
134
|
let app = createChildApp({
|
|
135
135
|
name: 'QGlobalDialog',
|
|
136
|
-
setup () {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
})
|
|
143
|
-
}
|
|
136
|
+
setup: () => () => h(DialogComponent, {
|
|
137
|
+
...props,
|
|
138
|
+
ref: dialogRef,
|
|
139
|
+
onOk,
|
|
140
|
+
onHide
|
|
141
|
+
})
|
|
144
142
|
}, parentApp)
|
|
145
143
|
|
|
146
144
|
vm = app.mount(el)
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"definition": {
|
|
30
30
|
"onOk": {
|
|
31
31
|
"type": "Function",
|
|
32
|
+
"required": true,
|
|
32
33
|
"desc": "Receives a Function param to tell what to do when OK is pressed / option is selected",
|
|
33
34
|
"params": {
|
|
34
35
|
"callbackFn": {
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
|
|
58
59
|
"onCancel": {
|
|
59
60
|
"type": "Function",
|
|
61
|
+
"required": true,
|
|
60
62
|
"desc": "Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed",
|
|
61
63
|
"params": {
|
|
62
64
|
"callbackFn": {
|
|
@@ -77,6 +79,7 @@
|
|
|
77
79
|
|
|
78
80
|
"onDismiss": {
|
|
79
81
|
"type": "Function",
|
|
82
|
+
"required": true,
|
|
80
83
|
"desc": "Receives a Function param to tell what to do when the dialog is closed",
|
|
81
84
|
"params": {
|
|
82
85
|
"callbackFn": {
|
|
@@ -97,6 +100,7 @@
|
|
|
97
100
|
|
|
98
101
|
"hide": {
|
|
99
102
|
"type": "Function",
|
|
103
|
+
"required": true,
|
|
100
104
|
"desc": "Hides the dialog when called",
|
|
101
105
|
"params": null,
|
|
102
106
|
"returns": {
|
|
@@ -109,10 +113,12 @@
|
|
|
109
113
|
|
|
110
114
|
"update": {
|
|
111
115
|
"type": "Function",
|
|
116
|
+
"required": true,
|
|
112
117
|
"desc": "Updates the initial properties (given as create() param) except for 'component'",
|
|
113
118
|
"params": {
|
|
114
119
|
"opts": {
|
|
115
120
|
"type": "Object",
|
|
121
|
+
"required": true,
|
|
116
122
|
"desc": "Props (except 'component') which will overwrite the initial create() params; If create() was invoked with a custom dialog component then this param should contain the new componentProps",
|
|
117
123
|
"__exemption": [ "examples" ]
|
|
118
124
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function injectProp (target, propName, get, set) {
|
|
2
|
+
Object.defineProperty(target, propName, {
|
|
3
|
+
get,
|
|
4
|
+
set,
|
|
5
|
+
enumerable: true
|
|
6
|
+
})
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function injectMultipleProps (target, props) {
|
|
10
|
+
for (const key in props) {
|
|
11
|
+
injectProp(target, key, props[ key ])
|
|
12
|
+
}
|
|
13
|
+
}
|
package/src/utils/private/is.js
CHANGED
|
@@ -99,10 +99,10 @@ export function isDeepEqual (a, b) {
|
|
|
99
99
|
return a.toString() === b.toString()
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
const keys = Object.keys(a)
|
|
102
|
+
const keys = Object.keys(a).filter(key => a[ key ] !== void 0)
|
|
103
103
|
length = keys.length
|
|
104
104
|
|
|
105
|
-
if (length !== Object.keys(b).length) {
|
|
105
|
+
if (length !== Object.keys(b).filter(key => b[ key ] !== void 0).length) {
|
|
106
106
|
return false
|
|
107
107
|
}
|
|
108
108
|
|