quasar 1.22.3 → 1.22.5

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 (122) hide show
  1. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  2. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  3. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  4. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
  7. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  8. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  9. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons.umd.min.js +1 -1
  13. package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
  14. package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
  15. package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
  16. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  17. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  18. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  19. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  20. package/dist/icon-set/mdi-v7.umd.min.js +1 -1
  21. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  22. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  23. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
  25. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  28. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  29. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  30. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  31. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  32. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  33. package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
  36. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  37. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  38. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  39. package/dist/icon-set/svg-mdi-v7.umd.min.js +1 -1
  40. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  41. package/dist/icon-set/themify.umd.min.js +1 -1
  42. package/dist/lang/ar.umd.min.js +1 -1
  43. package/dist/lang/az-latn.umd.min.js +1 -1
  44. package/dist/lang/bg.umd.min.js +1 -1
  45. package/dist/lang/ca.umd.min.js +1 -1
  46. package/dist/lang/cs.umd.min.js +1 -1
  47. package/dist/lang/da.umd.min.js +1 -1
  48. package/dist/lang/de.umd.min.js +1 -1
  49. package/dist/lang/el.umd.min.js +1 -1
  50. package/dist/lang/en-gb.umd.min.js +1 -1
  51. package/dist/lang/en-us.umd.min.js +1 -1
  52. package/dist/lang/eo.umd.min.js +1 -1
  53. package/dist/lang/es.umd.min.js +1 -1
  54. package/dist/lang/et.umd.min.js +1 -1
  55. package/dist/lang/eu.umd.min.js +1 -1
  56. package/dist/lang/fa-ir.umd.min.js +1 -1
  57. package/dist/lang/fa.umd.min.js +1 -1
  58. package/dist/lang/fi.umd.min.js +1 -1
  59. package/dist/lang/fr.umd.min.js +1 -1
  60. package/dist/lang/gn.umd.min.js +1 -1
  61. package/dist/lang/he.umd.min.js +1 -1
  62. package/dist/lang/hr.umd.min.js +1 -1
  63. package/dist/lang/hu.umd.min.js +1 -1
  64. package/dist/lang/id.umd.min.js +1 -1
  65. package/dist/lang/is.umd.min.js +1 -1
  66. package/dist/lang/it.umd.min.js +1 -1
  67. package/dist/lang/ja.umd.min.js +1 -1
  68. package/dist/lang/km.umd.min.js +1 -1
  69. package/dist/lang/ko-kr.umd.min.js +1 -1
  70. package/dist/lang/kur-ckb.umd.min.js +1 -1
  71. package/dist/lang/kz.umd.min.js +1 -1
  72. package/dist/lang/lu.umd.min.js +1 -1
  73. package/dist/lang/lv.umd.min.js +1 -1
  74. package/dist/lang/ml.umd.min.js +1 -1
  75. package/dist/lang/mm.umd.min.js +1 -1
  76. package/dist/lang/ms.umd.min.js +1 -1
  77. package/dist/lang/my.umd.min.js +1 -1
  78. package/dist/lang/nb-no.umd.min.js +1 -1
  79. package/dist/lang/nl.umd.min.js +1 -1
  80. package/dist/lang/pl.umd.min.js +1 -1
  81. package/dist/lang/pt-br.umd.min.js +1 -1
  82. package/dist/lang/pt.umd.min.js +1 -1
  83. package/dist/lang/ro.umd.min.js +1 -1
  84. package/dist/lang/ru.umd.min.js +1 -1
  85. package/dist/lang/sk.umd.min.js +1 -1
  86. package/dist/lang/sl.umd.min.js +1 -1
  87. package/dist/lang/sm.umd.min.js +1 -1
  88. package/dist/lang/sr.umd.min.js +1 -1
  89. package/dist/lang/sv.umd.min.js +1 -1
  90. package/dist/lang/ta.umd.min.js +1 -1
  91. package/dist/lang/th.umd.min.js +1 -1
  92. package/dist/lang/tr.umd.min.js +1 -1
  93. package/dist/lang/ug.umd.min.js +1 -1
  94. package/dist/lang/uk.umd.min.js +1 -1
  95. package/dist/lang/uz-Cyrl.umd.min.js +1 -1
  96. package/dist/lang/uz-Latn.umd.min.js +1 -1
  97. package/dist/lang/vi.umd.min.js +1 -1
  98. package/dist/lang/zh-hans.umd.min.js +1 -1
  99. package/dist/lang/zh-hant.umd.min.js +1 -1
  100. package/dist/quasar.addon.css +1 -1
  101. package/dist/quasar.addon.rtl.css +1 -1
  102. package/dist/quasar.common.js +2 -2
  103. package/dist/quasar.css +1 -1
  104. package/dist/quasar.esm.js +2 -2
  105. package/dist/quasar.ie.polyfills.js +1 -1
  106. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  107. package/dist/quasar.rtl.css +1 -1
  108. package/dist/quasar.sass +1 -1
  109. package/dist/quasar.styl +1 -1
  110. package/dist/quasar.umd.js +134 -39
  111. package/dist/quasar.umd.min.js +2 -2
  112. package/dist/quasar.umd.modern.js +129 -38
  113. package/dist/quasar.umd.modern.min.js +2 -2
  114. package/dist/web-types/web-types.json +1 -1
  115. package/package.json +1 -1
  116. package/src/components/dialog/QDialog.js +2 -1
  117. package/src/components/infinite-scroll/QInfiniteScroll.js +37 -2
  118. package/src/css/core/visibility.sass +0 -1
  119. package/src/css/core/visibility.styl +0 -1
  120. package/src/mixins/prevent-scroll.js +9 -1
  121. package/src/utils/is.js +11 -6
  122. package/src/utils/private/position-engine.js +67 -30
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
package/dist/quasar.styl CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.3
2
+ * Quasar Framework v1.22.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -12,7 +12,7 @@
12
12
 
13
13
  Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
14
14
 
15
- var version = "1.22.3";
15
+ var version = "1.22.5";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -5358,17 +5358,34 @@
5358
5358
  }
5359
5359
 
5360
5360
  return {
5361
- top: top,
5362
- left: left,
5363
- right: right,
5364
- bottom: bottom,
5365
- width: width,
5366
- height: height,
5361
+ top: top, bottom: bottom, height: height,
5362
+ left: left, right: right, width: width,
5367
5363
  middle: left + (right - left) / 2,
5368
5364
  center: top + (bottom - top) / 2
5369
5365
  }
5370
5366
  }
5371
5367
 
5368
+ function getAbsoluteAnchorProps (el, absoluteOffset, offset) {
5369
+ var ref = el.getBoundingClientRect();
5370
+ var top = ref.top;
5371
+ var left = ref.left;
5372
+
5373
+ top += absoluteOffset.top;
5374
+ left += absoluteOffset.left;
5375
+
5376
+ if (offset !== void 0) {
5377
+ top += offset[ 1 ];
5378
+ left += offset[ 0 ];
5379
+ }
5380
+
5381
+ return {
5382
+ top: top, bottom: top + 1, height: 1,
5383
+ left: left, right: left + 1, width: 1,
5384
+ middle: left,
5385
+ center: top
5386
+ }
5387
+ }
5388
+
5372
5389
  function getTargetProps (el) {
5373
5390
  return {
5374
5391
  top: 0,
@@ -5380,6 +5397,13 @@
5380
5397
  }
5381
5398
  }
5382
5399
 
5400
+ function getTopLeftProps (anchorProps, targetProps, cfg) {
5401
+ return {
5402
+ top: anchorProps[ cfg.anchorOrigin.vertical ] - targetProps[ cfg.selfOrigin.vertical ],
5403
+ left: anchorProps[ cfg.anchorOrigin.horizontal ] - targetProps[ cfg.selfOrigin.horizontal ]
5404
+ }
5405
+ }
5406
+
5383
5407
  // cfg: { el, anchorEl, anchorOrigin, selfOrigin, offset, absoluteOffset, cover, fit, maxHeight, maxWidth }
5384
5408
  function setPosition (cfg) {
5385
5409
  if (client.is.ios === true && window.visualViewport !== void 0) {
@@ -5400,8 +5424,6 @@
5400
5424
  }
5401
5425
  }
5402
5426
 
5403
- var anchorProps;
5404
-
5405
5427
  // scroll position might change
5406
5428
  // if max-height/-width changes, so we
5407
5429
  // need to restore it after we calculate
@@ -5410,18 +5432,9 @@
5410
5432
  var scrollLeft = ref$1.scrollLeft;
5411
5433
  var scrollTop = ref$1.scrollTop;
5412
5434
 
5413
- if (cfg.absoluteOffset === void 0) {
5414
- anchorProps = getAnchorProps(cfg.anchorEl, cfg.cover === true ? [0, 0] : cfg.offset);
5415
- }
5416
- else {
5417
- var ref$2 = cfg.anchorEl.getBoundingClientRect();
5418
- var anchorTop = ref$2.top;
5419
- var anchorLeft = ref$2.left;
5420
- var top$1 = anchorTop + cfg.absoluteOffset.top,
5421
- left$1 = anchorLeft + cfg.absoluteOffset.left;
5422
-
5423
- anchorProps = { top: top$1, left: left$1, width: 1, height: 1, right: left$1 + 1, center: top$1, middle: left$1, bottom: top$1 + 1 };
5424
- }
5435
+ var anchorProps = cfg.absoluteOffset === void 0
5436
+ ? getAnchorProps(cfg.anchorEl, cfg.cover === true ? [ 0, 0 ] : cfg.offset)
5437
+ : getAbsoluteAnchorProps(cfg.anchorEl, cfg.absoluteOffset, cfg.offset);
5425
5438
 
5426
5439
  var elStyle = {
5427
5440
  maxHeight: cfg.maxHeight,
@@ -5438,14 +5451,45 @@
5438
5451
 
5439
5452
  Object.assign(cfg.el.style, elStyle);
5440
5453
 
5441
- var
5442
- targetProps = getTargetProps(cfg.el),
5443
- props = {
5444
- top: anchorProps[cfg.anchorOrigin.vertical] - targetProps[cfg.selfOrigin.vertical],
5445
- left: anchorProps[cfg.anchorOrigin.horizontal] - targetProps[cfg.selfOrigin.horizontal]
5446
- };
5454
+ var targetProps = getTargetProps(cfg.el);
5455
+ var props = getTopLeftProps(anchorProps, targetProps, cfg);
5456
+
5457
+ if (cfg.absoluteOffset === void 0 || cfg.offset === void 0) {
5458
+ applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
5459
+ }
5460
+ else { // we have touch position or context menu with offset
5461
+ var top$1 = props.top;
5462
+ var left$1 = props.left; // cache initial values
5463
+
5464
+ // apply initial boundaries
5465
+ applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
5466
+
5467
+ var hasChanged = false;
5468
+
5469
+ // did it flip vertically?
5470
+ if (props.top !== top$1) {
5471
+ hasChanged = true;
5472
+ var offsetY = 2 * cfg.offset[ 1 ];
5473
+ anchorProps.center = anchorProps.top -= offsetY;
5474
+ anchorProps.bottom -= offsetY + 2;
5475
+ }
5476
+
5477
+ // did it flip horizontally?
5478
+ if (props.left !== left$1) {
5479
+ hasChanged = true;
5480
+ var offsetX = 2 * cfg.offset[ 0 ];
5481
+ anchorProps.middle = anchorProps.left -= offsetX;
5482
+ anchorProps.right -= offsetX + 2;
5483
+ }
5484
+
5485
+ if (hasChanged === true) {
5486
+ // re-calculate props with the new anchor
5487
+ props = getTopLeftProps(anchorProps, targetProps, cfg);
5447
5488
 
5448
- applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
5489
+ // and re-apply boundaries
5490
+ applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
5491
+ }
5492
+ }
5449
5493
 
5450
5494
  elStyle = {
5451
5495
  top: props.top + 'px',
@@ -7215,20 +7259,23 @@
7215
7259
  return false
7216
7260
  }
7217
7261
 
7218
- i = a.entries().next();
7262
+ var iter = a.entries();
7263
+
7264
+ i = iter.next();
7219
7265
  while (i.done !== true) {
7220
7266
  if (b.has(i.value[0]) !== true) {
7221
7267
  return false
7222
7268
  }
7223
- i = i.next();
7269
+ i = iter.next();
7224
7270
  }
7225
7271
 
7226
- i = a.entries().next();
7272
+ iter = a.entries();
7273
+ i = iter.next();
7227
7274
  while (i.done !== true) {
7228
7275
  if (isDeepEqual(i.value[1], b.get(i.value[0])) !== true) {
7229
7276
  return false
7230
7277
  }
7231
- i = i.next();
7278
+ i = iter.next();
7232
7279
  }
7233
7280
 
7234
7281
  return true
@@ -7239,12 +7286,14 @@
7239
7286
  return false
7240
7287
  }
7241
7288
 
7242
- i = a.entries().next();
7289
+ var iter$1 = a.entries();
7290
+
7291
+ i = iter$1.next();
7243
7292
  while (i.done !== true) {
7244
7293
  if (b.has(i.value[0]) !== true) {
7245
7294
  return false
7246
7295
  }
7247
- i = i.next();
7296
+ i = iter$1.next();
7248
7297
  }
7249
7298
 
7250
7299
  return true
@@ -14879,6 +14928,7 @@
14879
14928
  vpPendingUpdate = false,
14880
14929
  bodyLeft,
14881
14930
  bodyTop,
14931
+ href,
14882
14932
  closeTimer;
14883
14933
 
14884
14934
  function onWheel (e) {
@@ -14967,6 +15017,8 @@
14967
15017
  bodyLeft = body.style.left;
14968
15018
  bodyTop = body.style.top;
14969
15019
 
15020
+ href = window.location.href;
15021
+
14970
15022
  body.style.left = "-" + scrollPositionX + "px";
14971
15023
  body.style.top = "-" + scrollPositionY + "px";
14972
15024
  if (overflowY !== 'hidden' && (overflowY === 'scroll' || body.scrollHeight > window.innerHeight)) {
@@ -14975,6 +15027,7 @@
14975
15027
 
14976
15028
  body.classList.add('q-body--prevent-scroll');
14977
15029
  document.qScrollPrevented = true;
15030
+
14978
15031
  if (client.is.ios === true) {
14979
15032
  if (hasViewport === true) {
14980
15033
  window.scrollTo(0, 0);
@@ -15011,7 +15064,11 @@
15011
15064
  body.style.left = bodyLeft;
15012
15065
  body.style.top = bodyTop;
15013
15066
 
15014
- window.scrollTo(scrollPositionX, scrollPositionY);
15067
+ // scroll back only if route has not changed
15068
+ if (window.location.href === href) {
15069
+ window.scrollTo(scrollPositionX, scrollPositionY);
15070
+ }
15071
+
15015
15072
  maxScrollTop = void 0;
15016
15073
  }
15017
15074
  }
@@ -15431,7 +15488,7 @@
15431
15488
  h('div', {
15432
15489
  staticClass: 'q-dialog__backdrop fixed-full',
15433
15490
  attrs: backdropAttrs,
15434
- on: cache(this, 'bkdrop', ( obj = {}, obj[ this.$q.platform.is.ios === true ? 'click' : 'focusin' ] = this.__onBackdropClick, obj ))
15491
+ on: cache(this, 'bkdrop', ( obj = {}, obj[ this.backdropEvt ] = this.__onBackdropClick, obj ))
15435
15492
  })
15436
15493
  ] : null),
15437
15494
 
@@ -15453,6 +15510,7 @@
15453
15510
  created: function created () {
15454
15511
  this.__useTick('__registerTick', '__removeTick');
15455
15512
  this.__useTimeout('__registerTimeout');
15513
+ this.backdropEvt = this.$q.platform.is.ios === true || this.$q.platform.is.safari ? 'click' : 'focusin';
15456
15514
  },
15457
15515
 
15458
15516
  mounted: function mounted () {
@@ -21144,6 +21202,12 @@
21144
21202
  }
21145
21203
  },
21146
21204
 
21205
+ computed: {
21206
+ renderLoadingSlot: function renderLoadingSlot () {
21207
+ return this.disable !== true && this.isWorking === true
21208
+ }
21209
+ },
21210
+
21147
21211
  watch: {
21148
21212
  disable: function disable (val) {
21149
21213
  if (val === true) { this.stop(); }
@@ -21162,6 +21226,14 @@
21162
21226
 
21163
21227
  debounce: function debounce (val) {
21164
21228
  this.__setDebounce(val);
21229
+ },
21230
+
21231
+ isFetching: function isFetching () {
21232
+ this.__updateSvgAnimations();
21233
+ },
21234
+
21235
+ renderLoadingSlot: function renderLoadingSlot () {
21236
+ this.__updateSvgAnimations();
21165
21237
  }
21166
21238
  },
21167
21239
 
@@ -21285,14 +21357,36 @@
21285
21357
 
21286
21358
  this.__scrollTarget.addEventListener('scroll', this.poll, passive$1);
21287
21359
  }
21360
+ },
21361
+
21362
+ __updateSvgAnimations: function __updateSvgAnimations (isRetry) {
21363
+ var this$1 = this;
21364
+
21365
+ if (this.renderLoadingSlot === true) {
21366
+ var el = this.$refs.loading;
21367
+
21368
+ if (!el) {
21369
+ isRetry !== true && this.$nextTick(function () {
21370
+ this$1.__updateSvgAnimations(true);
21371
+ });
21372
+ return
21373
+ }
21374
+
21375
+ // we need to pause svg animations (if any) when hiding
21376
+ // otherwise the browser will keep on recalculating the style
21377
+ var action = (this.isFetching === true ? 'un' : '') + "pauseAnimations";
21378
+ Array.from(el.getElementsByTagName('svg')).forEach(function (el) {
21379
+ el[ action ]();
21380
+ });
21381
+ }
21288
21382
  }
21289
21383
  },
21290
21384
 
21291
21385
  mounted: function mounted () {
21292
21386
  this.immediatePoll = this.poll;
21293
21387
  this.__setDebounce(this.debounce);
21294
-
21295
21388
  this.updateScrollTarget();
21389
+ this.isFetching === false && this.__updateSvgAnimations();
21296
21390
  },
21297
21391
 
21298
21392
  activated: function activated () {
@@ -21314,9 +21408,10 @@
21314
21408
  render: function render (h) {
21315
21409
  var child = uniqueSlot(this, 'default', []);
21316
21410
 
21317
- if (this.disable !== true && this.isWorking === true) {
21411
+ if (this.renderLoadingSlot === true) {
21318
21412
  child[this.reverse === false ? 'push' : 'unshift'](
21319
21413
  h('div', {
21414
+ ref: 'loading',
21320
21415
  staticClass: 'q-infinite-scroll__loading',
21321
21416
  class: this.isFetching === true ? '' : 'invisible'
21322
21417
  }, slot(this, 'loading'))