quasar 2.5.3 → 2.6.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.
Files changed (242) hide show
  1. package/README.md +1 -1
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/Dialog.json +9 -2
  4. package/dist/api/Notify.json +205 -5
  5. package/dist/api/QAvatar.json +1 -1
  6. package/dist/api/QBreadcrumbsEl.json +1 -1
  7. package/dist/api/QBtn.json +4 -4
  8. package/dist/api/QBtnDropdown.json +17 -17
  9. package/dist/api/QCarousel.json +4 -4
  10. package/dist/api/QCheckbox.json +1 -1
  11. package/dist/api/QChip.json +5 -5
  12. package/dist/api/QDialog.json +13 -13
  13. package/dist/api/QDrawer.json +16 -16
  14. package/dist/api/QExpansionItem.json +15 -15
  15. package/dist/api/QFab.json +15 -15
  16. package/dist/api/QFabAction.json +3 -3
  17. package/dist/api/QField.json +2 -2
  18. package/dist/api/QFile.json +1 -1
  19. package/dist/api/QForm.json +12 -3
  20. package/dist/api/QIcon.json +4 -2
  21. package/dist/api/QInput.json +2 -2
  22. package/dist/api/QKnob.json +23 -0
  23. package/dist/api/QMenu.json +13 -13
  24. package/dist/api/QPagination.json +4 -4
  25. package/dist/api/QPopupEdit.json +6 -6
  26. package/dist/api/QPopupProxy.json +13 -13
  27. package/dist/api/QRadio.json +1 -1
  28. package/dist/api/QRange.json +1 -1
  29. package/dist/api/QRouteTab.json +2 -2
  30. package/dist/api/QSelect.json +18 -5
  31. package/dist/api/QSlider.json +1 -1
  32. package/dist/api/QStep.json +4 -4
  33. package/dist/api/QStepper.json +4 -4
  34. package/dist/api/QTab.json +1 -1
  35. package/dist/api/QTable.json +6 -6
  36. package/dist/api/QTimelineEntry.json +1 -1
  37. package/dist/api/QToggle.json +2 -2
  38. package/dist/api/QTooltip.json +13 -13
  39. package/dist/api/QTree.json +1 -1
  40. package/dist/api/QUploader.json +1 -1
  41. package/dist/api/TouchHold.json +1 -1
  42. package/dist/api/TouchPan.json +1 -1
  43. package/dist/api/TouchRepeat.json +1 -1
  44. package/dist/api/TouchSwipe.json +1 -1
  45. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  46. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  48. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  49. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +6 -0
  50. package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
  51. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  52. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  53. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  54. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  55. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  56. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  57. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  58. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  59. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  60. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  61. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  62. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  63. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
  64. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
  65. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  66. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  67. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +2 -2
  68. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  69. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  70. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  71. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  72. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  73. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  74. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  75. package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
  76. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  77. package/dist/icon-set/themify.umd.prod.js +1 -1
  78. package/dist/lang/ar.umd.prod.js +1 -1
  79. package/dist/lang/az-Latn.umd.prod.js +1 -1
  80. package/dist/lang/bg.umd.prod.js +1 -1
  81. package/dist/lang/bn.umd.prod.js +1 -1
  82. package/dist/lang/ca.umd.prod.js +1 -1
  83. package/dist/lang/cs.umd.prod.js +1 -1
  84. package/dist/lang/da.umd.prod.js +1 -1
  85. package/dist/lang/de.umd.prod.js +1 -1
  86. package/dist/lang/el.umd.prod.js +1 -1
  87. package/dist/lang/en-GB.umd.prod.js +1 -1
  88. package/dist/lang/en-US.umd.prod.js +1 -1
  89. package/dist/lang/eo.umd.prod.js +1 -1
  90. package/dist/lang/es.umd.prod.js +1 -1
  91. package/dist/lang/et.umd.prod.js +1 -1
  92. package/dist/lang/eu.umd.prod.js +6 -0
  93. package/dist/lang/fa-IR.umd.prod.js +1 -1
  94. package/dist/lang/fa.umd.prod.js +1 -1
  95. package/dist/lang/fi.umd.prod.js +1 -1
  96. package/dist/lang/fr.umd.prod.js +1 -1
  97. package/dist/lang/gn.umd.prod.js +1 -1
  98. package/dist/lang/he.umd.prod.js +1 -1
  99. package/dist/lang/hr.umd.prod.js +1 -1
  100. package/dist/lang/hu.umd.prod.js +1 -1
  101. package/dist/lang/id.umd.prod.js +1 -1
  102. package/dist/lang/is.umd.prod.js +1 -1
  103. package/dist/lang/it.umd.prod.js +1 -1
  104. package/dist/lang/ja.umd.prod.js +1 -1
  105. package/dist/lang/km.umd.prod.js +1 -1
  106. package/dist/lang/ko-KR.umd.prod.js +1 -1
  107. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  108. package/dist/lang/kz.umd.prod.js +6 -0
  109. package/dist/lang/lt.umd.prod.js +1 -1
  110. package/dist/lang/lu.umd.prod.js +1 -1
  111. package/dist/lang/lv.umd.prod.js +1 -1
  112. package/dist/lang/ml.umd.prod.js +1 -1
  113. package/dist/lang/ms.umd.prod.js +1 -1
  114. package/dist/lang/my.umd.prod.js +1 -1
  115. package/dist/lang/nb-NO.umd.prod.js +1 -1
  116. package/dist/lang/nl.umd.prod.js +1 -1
  117. package/dist/lang/pl.umd.prod.js +1 -1
  118. package/dist/lang/pt-BR.umd.prod.js +1 -1
  119. package/dist/lang/pt.umd.prod.js +1 -1
  120. package/dist/lang/ro.umd.prod.js +1 -1
  121. package/dist/lang/ru.umd.prod.js +1 -1
  122. package/dist/lang/sk.umd.prod.js +1 -1
  123. package/dist/lang/sl.umd.prod.js +1 -1
  124. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  125. package/dist/lang/sr.umd.prod.js +1 -1
  126. package/dist/lang/sv.umd.prod.js +1 -1
  127. package/dist/lang/ta.umd.prod.js +1 -1
  128. package/dist/lang/th.umd.prod.js +1 -1
  129. package/dist/lang/tr.umd.prod.js +1 -1
  130. package/dist/lang/ug.umd.prod.js +2 -2
  131. package/dist/lang/uk.umd.prod.js +1 -1
  132. package/dist/lang/vi.umd.prod.js +1 -1
  133. package/dist/lang/zh-CN.umd.prod.js +1 -1
  134. package/dist/lang/zh-TW.umd.prod.js +1 -1
  135. package/dist/quasar.cjs.prod.js +2 -2
  136. package/dist/quasar.css +4 -6
  137. package/dist/quasar.esm.prod.js +2 -2
  138. package/dist/quasar.prod.css +1 -1
  139. package/dist/quasar.rtl.css +4 -6
  140. package/dist/quasar.rtl.prod.css +1 -1
  141. package/dist/quasar.sass +3 -1
  142. package/dist/quasar.umd.js +560 -505
  143. package/dist/quasar.umd.prod.js +2 -2
  144. package/dist/types/extras/icon-set.d.ts +3 -0
  145. package/dist/types/globals.d.ts +2 -2
  146. package/dist/types/index.d.ts +254 -136
  147. package/dist/vetur/quasar-attributes.json +50 -38
  148. package/dist/vetur/quasar-tags.json +3 -0
  149. package/dist/web-types/web-types.json +129 -93
  150. package/icon-set/fontawesome-v6-pro.js +128 -0
  151. package/icon-set/fontawesome-v6.js +128 -0
  152. package/icon-set/svg-fontawesome-v6.js +198 -0
  153. package/lang/eu.js +91 -0
  154. package/lang/index.json +8 -0
  155. package/lang/kz.js +95 -0
  156. package/lang/ug.js +49 -50
  157. package/package.json +1 -1
  158. package/src/api-file-example.json +2 -2
  159. package/src/api.extends.json +22 -33
  160. package/src/components/btn/QBtn.js +16 -14
  161. package/src/components/btn/QBtn.json +3 -6
  162. package/src/components/btn/use-btn.js +7 -7
  163. package/src/components/carousel/QCarousel.json +2 -4
  164. package/src/components/checkbox/use-checkbox.json +2 -4
  165. package/src/components/chip/QChip.json +1 -3
  166. package/src/components/date/QDate.js +20 -19
  167. package/src/components/date/use-datetime.js +3 -1
  168. package/src/components/dialog/QDialog.js +11 -11
  169. package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
  170. package/src/components/dialog-plugin/DialogPlugin.js +9 -8
  171. package/src/components/editor/QEditor.js +10 -10
  172. package/src/components/editor/editor-utils.js +2 -2
  173. package/src/components/fab/QFabAction.json +1 -3
  174. package/src/components/field/QField.json +2 -6
  175. package/src/components/file/QFile.js +2 -1
  176. package/src/components/form/QForm.json +10 -7
  177. package/src/components/icon/QIcon.js +6 -2
  178. package/src/components/icon/QIcon.json +1 -3
  179. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
  180. package/src/components/inner-loading/QInnerLoading.js +7 -7
  181. package/src/components/input/QInput.js +4 -1
  182. package/src/components/input/QInput.json +2 -6
  183. package/src/components/input/use-mask.js +2 -2
  184. package/src/components/knob/QKnob.js +51 -42
  185. package/src/components/knob/QKnob.json +22 -0
  186. package/src/components/linear-progress/QLinearProgress.sass +1 -0
  187. package/src/components/menu/QMenu.js +13 -13
  188. package/src/components/page-scroller/QPageScroller.js +4 -4
  189. package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
  190. package/src/components/radio/QRadio.json +2 -4
  191. package/src/components/select/QSelect.js +14 -7
  192. package/src/components/select/QSelect.json +14 -8
  193. package/src/components/slide-transition/QSlideTransition.js +4 -4
  194. package/src/components/slider/use-slider.js +4 -4
  195. package/src/components/slider/use-slider.json +1 -1
  196. package/src/components/stepper/QStep.js +6 -6
  197. package/src/components/stepper/QStep.json +3 -0
  198. package/src/components/stepper/QStepper.json +3 -0
  199. package/src/components/stepper/QStepper.sass +1 -0
  200. package/src/components/stepper/StepHeader.js +23 -8
  201. package/src/components/table/QTable.json +5 -13
  202. package/src/components/table/table-column-selection.js +6 -6
  203. package/src/components/table/table-sort.js +2 -2
  204. package/src/components/tabs/QRouteTab.json +2 -3
  205. package/src/components/tabs/QTabs.js +4 -4
  206. package/src/components/tabs/use-tab.js +11 -8
  207. package/src/components/time/QTime.js +5 -5
  208. package/src/components/tooltip/QTooltip.js +12 -12
  209. package/src/components/uploader/uploader-core.js +11 -10
  210. package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
  211. package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
  212. package/src/composables/private/use-field.js +25 -17
  213. package/src/composables/private/use-file-dom-props.js +5 -5
  214. package/src/composables/private/use-file.js +15 -12
  215. package/src/composables/private/use-file.json +1 -3
  216. package/src/composables/private/use-router-link.js +3 -3
  217. package/src/directives/Morph.js +12 -3
  218. package/src/directives/TouchHold.json +2 -3
  219. package/src/directives/TouchPan.json +2 -3
  220. package/src/directives/TouchRepeat.json +2 -3
  221. package/src/directives/TouchSwipe.json +2 -3
  222. package/src/install-quasar.js +37 -36
  223. package/src/plugins/AddressbarColor.js +7 -7
  224. package/src/plugins/Cookies.js +5 -1
  225. package/src/plugins/Dialog.json +3 -2
  226. package/src/plugins/Loading.js +3 -2
  227. package/src/plugins/LoadingBar.js +12 -5
  228. package/src/plugins/Notify.js +11 -4
  229. package/src/plugins/Notify.json +102 -2
  230. package/src/utils/create-meta-mixin.js +4 -4
  231. package/src/utils/create-uploader-component.js +2 -1
  232. package/src/utils/event.js +3 -3
  233. package/src/utils/extend.js +6 -34
  234. package/src/utils/morph.js +19 -17
  235. package/src/utils/private/is.js +3 -14
  236. package/src/utils/private/noop-ssr-directive-transform.js +1 -1
  237. package/src/utils/private/web-storage.js +3 -2
  238. package/wrappers/index.js +33 -5
  239. package/wrappers/index.mjs +63 -0
  240. package/dist/ssr-directives/Morph.js +0 -55
  241. package/dist/ssr-directives/index.js +0 -14
  242. package/src/directives/Morph.ssr.js +0 -45
@@ -43,6 +43,16 @@
43
43
  "extends": "icon"
44
44
  },
45
45
 
46
+ "iconColor": {
47
+ "extends": "color",
48
+ "addedIn": "v2.5.5"
49
+ },
50
+
51
+ "iconSize": {
52
+ "extends": "size",
53
+ "addedIn": "v2.5.5"
54
+ },
55
+
46
56
  "avatar": {
47
57
  "type": "String",
48
58
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -58,6 +68,16 @@
58
68
  "desc": "Useful for notifications that are updated; Displays the default Quasar spinner instead of an avatar or icon"
59
69
  },
60
70
 
71
+ "spinnerColor": {
72
+ "extends": "color",
73
+ "addedIn": "v2.5.5"
74
+ },
75
+
76
+ "spinnerSize": {
77
+ "extends": "size",
78
+ "addedIn": "v2.5.5"
79
+ },
80
+
61
81
  "position": {
62
82
  "type": "String",
63
83
  "desc": "Window side/corner to stick to",
@@ -202,6 +222,16 @@
202
222
  "extends": "icon"
203
223
  },
204
224
 
225
+ "iconColor": {
226
+ "extends": "color",
227
+ "addedIn": "v2.5.5"
228
+ },
229
+
230
+ "iconSize": {
231
+ "extends": "size",
232
+ "addedIn": "v2.5.5"
233
+ },
234
+
205
235
  "avatar": {
206
236
  "type": "String",
207
237
  "desc": "URL to an avatar/image; Suggestion: public folder",
@@ -218,6 +248,16 @@
218
248
  "examples": [ true, "QSpinnerBars" ]
219
249
  },
220
250
 
251
+ "spinnerColor": {
252
+ "extends": "color",
253
+ "addedIn": "v2.5.5"
254
+ },
255
+
256
+ "spinnerSize": {
257
+ "extends": "size",
258
+ "addedIn": "v2.5.5"
259
+ },
260
+
221
261
  "position": {
222
262
  "type": "String",
223
263
  "desc": "Window side/corner to stick to",
@@ -388,6 +428,16 @@
388
428
  "extends": "icon"
389
429
  },
390
430
 
431
+ "iconColor": {
432
+ "extends": "color",
433
+ "addedIn": "v2.5.5"
434
+ },
435
+
436
+ "iconSize": {
437
+ "extends": "size",
438
+ "addedIn": "v2.5.5"
439
+ },
440
+
391
441
  "avatar": {
392
442
  "type": "String",
393
443
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -404,6 +454,16 @@
404
454
  "__exemption": [ "examples" ]
405
455
  },
406
456
 
457
+ "spinnerColor": {
458
+ "extends": "color",
459
+ "addedIn": "v2.5.5"
460
+ },
461
+
462
+ "spinnerSize": {
463
+ "extends": "size",
464
+ "addedIn": "v2.5.5"
465
+ },
466
+
407
467
  "progress": {
408
468
  "type": "Boolean",
409
469
  "desc": "Show progress bar to detail when notification will disappear automatically (unless timeout is 0)"
@@ -523,6 +583,16 @@
523
583
  "extends": "icon"
524
584
  },
525
585
 
586
+ "iconColor": {
587
+ "extends": "color",
588
+ "addedIn": "v2.5.5"
589
+ },
590
+
591
+ "iconSize": {
592
+ "extends": "size",
593
+ "addedIn": "v2.5.5"
594
+ },
595
+
526
596
  "avatar": {
527
597
  "type": "String",
528
598
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -531,7 +601,7 @@
531
601
  "(relative path format) require('./my_img.jpg')",
532
602
  "(URL) https://some-site.net/some-img.gif"
533
603
  ]
534
- },
604
+ },
535
605
 
536
606
  "spinner": {
537
607
  "type": [ "Boolean", "Component" ],
@@ -539,6 +609,16 @@
539
609
  "__exemption": [ "examples" ]
540
610
  },
541
611
 
612
+ "spinnerColor": {
613
+ "extends": "color",
614
+ "addedIn": "v2.5.5"
615
+ },
616
+
617
+ "spinnerSize": {
618
+ "extends": "size",
619
+ "addedIn": "v2.5.5"
620
+ },
621
+
542
622
  "position": {
543
623
  "type": "String",
544
624
  "desc": "Window side/corner to stick to",
@@ -706,6 +786,16 @@
706
786
  "extends": "icon"
707
787
  },
708
788
 
789
+ "iconColor": {
790
+ "extends": "color",
791
+ "addedIn": "v2.5.5"
792
+ },
793
+
794
+ "iconSize": {
795
+ "extends": "size",
796
+ "addedIn": "v2.5.5"
797
+ },
798
+
709
799
  "avatar": {
710
800
  "type": "String",
711
801
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -714,7 +804,7 @@
714
804
  "(relative path format) require('./my_img.jpg')",
715
805
  "(URL) https://some-site.net/some-img.gif"
716
806
  ]
717
- },
807
+ },
718
808
 
719
809
  "spinner": {
720
810
  "type": [ "Boolean", "Component" ],
@@ -722,6 +812,16 @@
722
812
  "__exemption": [ "examples" ]
723
813
  },
724
814
 
815
+ "spinnerColor": {
816
+ "extends": "color",
817
+ "addedIn": "v2.5.5"
818
+ },
819
+
820
+ "spinnerSize": {
821
+ "extends": "size",
822
+ "addedIn": "v2.5.5"
823
+ },
824
+
725
825
  "position": {
726
826
  "type": "String",
727
827
  "desc": "Window side/corner to stick to",
@@ -5,10 +5,10 @@ export default metaOptions => {
5
5
  return {
6
6
  created: typeof metaOptions === 'function'
7
7
  ? function () {
8
- this.ssrContext.__qMetaList.push(
9
- metaOptions.call(this) || {}
10
- )
11
- }
8
+ this.ssrContext.__qMetaList.push(
9
+ metaOptions.call(this) || {}
10
+ )
11
+ }
12
12
  : function () {
13
13
  this.ssrContext.__qMetaList.push(metaOptions)
14
14
  }
@@ -2,6 +2,7 @@ import { coreProps, coreEmits, getRenderer } from '../components/uploader/upload
2
2
 
3
3
  import { createComponent } from './private/create.js'
4
4
  import getEmitsObject from './private/get-emits-object.js'
5
+ import { isObject } from './private/is.js'
5
6
 
6
7
  const coreEmitsObject = getEmitsObject(coreEmits)
7
8
 
@@ -13,7 +14,7 @@ export default ({ name, props, emits, injectPlugin }) => createComponent({
13
14
  ...props
14
15
  },
15
16
 
16
- emits: Object(emits) === emits
17
+ emits: isObject(emits) === true
17
18
  ? { ...coreEmitsObject, ...emits }
18
19
  : [ ...coreEmits, ...emits ],
19
20
 
@@ -117,9 +117,9 @@ export function preventDraggable (el, status) {
117
117
 
118
118
  const fn = status === true
119
119
  ? el => {
120
- el.__dragPrevented = true
121
- el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture)
122
- }
120
+ el.__dragPrevented = true
121
+ el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture)
122
+ }
123
123
  : el => {
124
124
  delete el.__dragPrevented
125
125
  el.removeEventListener('dragstart', prevent, listenOpts.notPassiveCapture)
@@ -1,32 +1,4 @@
1
- const
2
- toString = Object.prototype.toString,
3
- hasOwn = Object.prototype.hasOwnProperty,
4
- class2type = {}
5
-
6
- 'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(name => {
7
- class2type[ '[object ' + name + ']' ] = name.toLowerCase()
8
- })
9
-
10
- function type (obj) {
11
- return obj === null ? String(obj) : class2type[ toString.call(obj) ] || 'object'
12
- }
13
-
14
- function isPlainObject (obj) {
15
- if (!obj || type(obj) !== 'object') {
16
- return false
17
- }
18
-
19
- if (obj.constructor
20
- && !hasOwn.call(obj, 'constructor')
21
- && !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {
22
- return false
23
- }
24
-
25
- let key
26
- for (key in obj) {} // eslint-disable-line
27
-
28
- return key === undefined || hasOwn.call(obj, key)
29
- }
1
+ import { isObject } from './private/is'
30
2
 
31
3
  export default function extend () {
32
4
  let
@@ -42,7 +14,7 @@ export default function extend () {
42
14
  i = 2
43
15
  }
44
16
 
45
- if (Object(target) !== target && type(target) !== 'function') {
17
+ if (Object(target) !== target && typeof target !== 'function') {
46
18
  target = {}
47
19
  }
48
20
 
@@ -61,18 +33,18 @@ export default function extend () {
61
33
  continue
62
34
  }
63
35
 
64
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {
36
+ if (deep && copy && (isObject(copy) === true || (copyIsArray = Array.isArray(copy) === true))) {
65
37
  if (copyIsArray) {
66
38
  copyIsArray = false
67
- clone = src && type(src) === 'array' ? src : []
39
+ clone = src && Array.isArray(src) === true ? src : []
68
40
  }
69
41
  else {
70
- clone = src && isPlainObject(src) ? src : {}
42
+ clone = src && isObject(src) === true ? src : {}
71
43
  }
72
44
 
73
45
  target[ name ] = extend(deep, clone, copy)
74
46
  }
75
- else if (copy !== undefined) {
47
+ else if (copy !== void 0) {
76
48
  target[ name ] = copy
77
49
  }
78
50
  }
@@ -1,3 +1,5 @@
1
+ import { isObject } from './private/is'
2
+
1
3
  let id = 0
2
4
  let offsetBase = void 0
3
5
 
@@ -443,7 +445,7 @@ export default function morph (_options) {
443
445
  if (typeof options.style === 'string') {
444
446
  elTo.style.cssText += ' ' + options.style
445
447
  }
446
- else if (options.style === Object(options.style)) {
448
+ else if (isObject(options.style) === true) {
447
449
  for (const prop in options.style) {
448
450
  elTo.style[ prop ] = options.style[ prop ]
449
451
  }
@@ -880,8 +882,8 @@ export default function morph (_options) {
880
882
  elToClone.style.animation = `${ options.duration }ms ${ options.easing } ${ options.delay }ms ${ animationDirection } ${ options.fill } ${ qAnimId }-to`
881
883
  elTo.style.animation = `${ options.duration }ms ${ options.easing } ${ options.delay }ms ${ animationDirection } ${ options.fill } ${ qAnimId }`
882
884
 
883
- const cleanup = ev => {
884
- if (ev === Object(ev) && ev.animationName !== qAnimId) {
885
+ const cleanup = evt => {
886
+ if (evt === Object(evt) && evt.animationName !== qAnimId) {
885
887
  return
886
888
  }
887
889
 
@@ -944,24 +946,24 @@ export default function morph (_options) {
944
946
  : (
945
947
  options.waitFor === 'transitionend'
946
948
  ? new Promise(resolve => {
947
- const timer = setTimeout(() => {
948
- endFn()
949
- }, 400)
950
-
951
- const endFn = ev => {
952
- clearTimeout(timer)
949
+ const timer = setTimeout(() => {
950
+ endFn()
951
+ }, 400)
953
952
 
954
- if (elTo) {
955
- elTo.removeEventListener('transitionend', endFn)
956
- elTo.removeEventListener('transitioncancel', endFn)
957
- }
953
+ const endFn = ev => {
954
+ clearTimeout(timer)
958
955
 
959
- resolve()
956
+ if (elTo) {
957
+ elTo.removeEventListener('transitionend', endFn)
958
+ elTo.removeEventListener('transitioncancel', endFn)
960
959
  }
961
960
 
962
- elTo.addEventListener('transitionend', endFn)
963
- elTo.addEventListener('transitioncancel', endFn)
964
- })
961
+ resolve()
962
+ }
963
+
964
+ elTo.addEventListener('transitionend', endFn)
965
+ elTo.addEventListener('transitioncancel', endFn)
966
+ })
965
967
  : options.waitFor
966
968
  )
967
969
 
@@ -120,17 +120,10 @@ export function isDeepEqual (a, b) {
120
120
  return a !== a && b !== b // eslint-disable-line no-self-compare
121
121
  }
122
122
 
123
- export function isPrintableChar (v) {
124
- return (v > 47 && v < 58) // number keys
125
- || v === 32 || v === 13 // spacebar & return key(s) (if you want to allow carriage returns)
126
- || (v > 64 && v < 91) // letter keys
127
- || (v > 95 && v < 112) // numpad keys
128
- || (v > 185 && v < 193) // ;=,-./` (in order)
129
- || (v > 218 && v < 223)
130
- }
131
-
123
+ // not perfect, but what we ARE interested is for Arrays not to slip in
124
+ // as spread operator will mess things up in various areas
132
125
  export function isObject (v) {
133
- return Object(v) === v
126
+ return v !== null && typeof v === 'object' && Array.isArray(v) !== true
134
127
  }
135
128
 
136
129
  export function isDate (v) {
@@ -144,7 +137,3 @@ export function isRegexp (v) {
144
137
  export function isNumber (v) {
145
138
  return typeof v === 'number' && isFinite(v)
146
139
  }
147
-
148
- export function isString (v) {
149
- return typeof v === 'string'
150
- }
@@ -1 +1 @@
1
- export default () => ({ props: [] })
1
+ export default () => ({})
@@ -1,10 +1,11 @@
1
1
  import { noop } from '../event.js'
2
+ import { isDate, isRegexp } from './is.js'
2
3
 
3
4
  function encode (value) {
4
- if (Object.prototype.toString.call(value) === '[object Date]') {
5
+ if (isDate(value) === true) {
5
6
  return '__q_date|' + value.toUTCString()
6
7
  }
7
- if (Object.prototype.toString.call(value) === '[object RegExp]') {
8
+ if (isRegexp(value) === true) {
8
9
  return '__q_expr|' + value.source
9
10
  }
10
11
  if (typeof value === 'number') {
package/wrappers/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // parameters and return value when using Quasar with TypeScript
5
5
  // We need these in `ui` folder to make `quasar/wrapper` import work,
6
6
  // but they are useful only for Quasar CLI projects
7
- // They are typed via module augmentation by `@quasar/app`
7
+ // They are typed via module augmentation by `@quasar/app-webpack` / `@quasar/app-vite`
8
8
 
9
9
  module.exports.boot = function (callback) {
10
10
  return callback
@@ -14,10 +14,6 @@ module.exports.ssrMiddleware = function (callback) {
14
14
  return callback
15
15
  }
16
16
 
17
- module.exports.ssrProductionExport = function (callback) {
18
- return callback
19
- }
20
-
21
17
  module.exports.configure = function (callback) {
22
18
  return callback
23
19
  }
@@ -33,3 +29,35 @@ module.exports.route = function (callback) {
33
29
  module.exports.store = function (callback) {
34
30
  return callback
35
31
  }
32
+
33
+ /**
34
+ * Below only for @quasar/app-webpack
35
+ */
36
+
37
+ module.exports.ssrProductionExport = function (callback) {
38
+ return callback
39
+ }
40
+
41
+ /**
42
+ * Below only for @quasar/app-vite
43
+ */
44
+
45
+ module.exports.ssrCreate = function (callback) {
46
+ return callback
47
+ }
48
+
49
+ module.exports.ssrListen = function (callback) {
50
+ return callback
51
+ }
52
+
53
+ module.exports.ssrClose = function (callback) {
54
+ return callback
55
+ }
56
+
57
+ module.exports.ssrServeStaticContent = function (callback) {
58
+ return callback
59
+ }
60
+
61
+ module.exports.ssrRenderPreloadTag = function (callback) {
62
+ return callback
63
+ }
@@ -0,0 +1,63 @@
1
+ // Functions in this file are no-op,
2
+ // they just take a callback function and return it
3
+ // They're used to apply typings to the callback
4
+ // parameters and return value when using Quasar with TypeScript
5
+ // We need these in `ui` folder to make `quasar/wrapper` import work,
6
+ // but they are useful only for Quasar CLI projects
7
+ // They are typed via module augmentation by `@quasar/app-webpack` / `@quasar/app-vite`
8
+
9
+ export function boot (callback) {
10
+ return callback
11
+ }
12
+
13
+ export function configure (callback) {
14
+ return callback
15
+ }
16
+
17
+ export function preFetch (callback) {
18
+ return callback
19
+ }
20
+
21
+ export function route (callback) {
22
+ return callback
23
+ }
24
+
25
+ export function store (callback) {
26
+ return callback
27
+ }
28
+
29
+ export function ssrMiddleware (callback) {
30
+ return callback
31
+ }
32
+
33
+ /**
34
+ * Below only for @quasar/app-webpack
35
+ */
36
+
37
+ export function ssrProductionExport (callback) {
38
+ return callback
39
+ }
40
+
41
+ /**
42
+ * Below only for @quasar/app-vite
43
+ */
44
+
45
+ export function ssrCreate (callback) {
46
+ return callback
47
+ }
48
+
49
+ export function ssrListen (callback) {
50
+ return callback
51
+ }
52
+
53
+ export function ssrClose (callback) {
54
+ return callback
55
+ }
56
+
57
+ export function ssrServeStaticContent (callback) {
58
+ return callback
59
+ }
60
+
61
+ export function ssrRenderPreloadTag (callback) {
62
+ return callback
63
+ }
@@ -1,55 +0,0 @@
1
- /*!
2
- * Quasar Framework v2.5.3
3
- * (c) 2015-present Razvan Stoenescu
4
- * Released under the MIT License.
5
- */
6
-
7
- 'use strict';
8
-
9
- // import { createObjectProperty } from '@vue/compiler-dom'
10
-
11
- // export default (dir) => {
12
- // const name = dir.arg
13
- // ? '\'' + dir.arg.content.split(':')[ 0 ] + '\''
14
- // : false
15
-
16
- // return {
17
- // props: [
18
- // createObjectProperty(
19
- // 'class',
20
- // `${ dir.exp.content } && ${dir.exp.content}.model === ${ name } ? '' : 'q-morph--invisible'`
21
- // )
22
- // ]
23
- // }
24
- // }
25
-
26
- // temporarily avoid importing from @vue/compiler-dom
27
-
28
- var Morph_ssr = (dir) => {
29
- const name = dir.arg
30
- ? '\'' + dir.arg.content.split(':')[ 0 ] + '\''
31
- : false;
32
-
33
- return {
34
- props: [
35
- {
36
- type: 16,
37
- loc: {
38
- source: '',
39
- start: { line: 1, column: 1, offset: 0 },
40
- end: { line: 1, column: 1, offset: 0 }
41
- },
42
- key: {
43
- type: 4,
44
- loc: { source: '', start: { line: 1, column: 1, offset: 0 }, end: { line: 1, column: 1, offset: 0 } },
45
- content: 'class',
46
- isStatic: true,
47
- constType: 3
48
- },
49
- value: `${ dir.exp.content } && ${ dir.exp.content }.model === ${ name } ? '' : 'q-morph--invisible'`
50
- }
51
- ]
52
- }
53
- };
54
-
55
- module.exports = Morph_ssr;
@@ -1,14 +0,0 @@
1
- const noopTransform = () => ({ props: [] })
2
- module.exports = {
3
- 'close-popup': noopTransform,
4
- 'intersection': noopTransform,
5
- 'morph': require('./Morph.js'),
6
- 'mutation': noopTransform,
7
- 'ripple': noopTransform,
8
- 'scroll': noopTransform,
9
- 'scroll-fire': noopTransform,
10
- 'touch-hold': noopTransform,
11
- 'touch-pan': noopTransform,
12
- 'touch-repeat': noopTransform,
13
- 'touch-swipe': noopTransform
14
- }
@@ -1,45 +0,0 @@
1
- // import { createObjectProperty } from '@vue/compiler-dom'
2
-
3
- // export default (dir) => {
4
- // const name = dir.arg
5
- // ? '\'' + dir.arg.content.split(':')[ 0 ] + '\''
6
- // : false
7
-
8
- // return {
9
- // props: [
10
- // createObjectProperty(
11
- // 'class',
12
- // `${ dir.exp.content } && ${dir.exp.content}.model === ${ name } ? '' : 'q-morph--invisible'`
13
- // )
14
- // ]
15
- // }
16
- // }
17
-
18
- // temporarily avoid importing from @vue/compiler-dom
19
-
20
- export default (dir) => {
21
- const name = dir.arg
22
- ? '\'' + dir.arg.content.split(':')[ 0 ] + '\''
23
- : false
24
-
25
- return {
26
- props: [
27
- {
28
- type: 16,
29
- loc: {
30
- source: '',
31
- start: { line: 1, column: 1, offset: 0 },
32
- end: { line: 1, column: 1, offset: 0 }
33
- },
34
- key: {
35
- type: 4,
36
- loc: { source: '', start: { line: 1, column: 1, offset: 0 }, end: { line: 1, column: 1, offset: 0 } },
37
- content: 'class',
38
- isStatic: true,
39
- constType: 3
40
- },
41
- value: `${ dir.exp.content } && ${ dir.exp.content }.model === ${ name } ? '' : 'q-morph--invisible'`
42
- }
43
- ]
44
- }
45
- }