quasar 2.11.4 → 2.11.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.
Files changed (170) hide show
  1. package/dist/api/QCarouselSlide.json +1 -1
  2. package/dist/api/QChatMessage.json +1 -1
  3. package/dist/api/QForm.json +3 -2
  4. package/dist/api/QImg.json +2 -2
  5. package/dist/api/QTimelineEntry.json +1 -1
  6. package/dist/api/QVirtualScroll.json +2 -2
  7. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  12. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  13. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  14. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  21. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  31. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  40. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  41. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  42. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  45. package/dist/icon-set/themify.umd.prod.js +1 -1
  46. package/dist/lang/ar-TN.umd.prod.js +1 -1
  47. package/dist/lang/ar.umd.prod.js +1 -1
  48. package/dist/lang/az-Latn.umd.prod.js +1 -1
  49. package/dist/lang/bg.umd.prod.js +1 -1
  50. package/dist/lang/bn.umd.prod.js +1 -1
  51. package/dist/lang/ca.umd.prod.js +1 -1
  52. package/dist/lang/cs.umd.prod.js +1 -1
  53. package/dist/lang/da.umd.prod.js +1 -1
  54. package/dist/lang/de.umd.prod.js +1 -1
  55. package/dist/lang/el.umd.prod.js +1 -1
  56. package/dist/lang/en-GB.umd.prod.js +1 -1
  57. package/dist/lang/en-US.umd.prod.js +1 -1
  58. package/dist/lang/eo.umd.prod.js +1 -1
  59. package/dist/lang/es.umd.prod.js +1 -1
  60. package/dist/lang/et.umd.prod.js +1 -1
  61. package/dist/lang/eu.umd.prod.js +1 -1
  62. package/dist/lang/fa-IR.umd.prod.js +1 -1
  63. package/dist/lang/fa.umd.prod.js +1 -1
  64. package/dist/lang/fi.umd.prod.js +1 -1
  65. package/dist/lang/fr.umd.prod.js +1 -1
  66. package/dist/lang/gn.umd.prod.js +1 -1
  67. package/dist/lang/he.umd.prod.js +1 -1
  68. package/dist/lang/hr.umd.prod.js +1 -1
  69. package/dist/lang/hu.umd.prod.js +1 -1
  70. package/dist/lang/id.umd.prod.js +1 -1
  71. package/dist/lang/is.umd.prod.js +1 -1
  72. package/dist/lang/it.umd.prod.js +1 -1
  73. package/dist/lang/ja.umd.prod.js +1 -1
  74. package/dist/lang/kk.umd.prod.js +1 -1
  75. package/dist/lang/km.umd.prod.js +1 -1
  76. package/dist/lang/ko-KR.umd.prod.js +1 -1
  77. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  78. package/dist/lang/lt.umd.prod.js +1 -1
  79. package/dist/lang/lu.umd.prod.js +1 -1
  80. package/dist/lang/lv.umd.prod.js +1 -1
  81. package/dist/lang/ml.umd.prod.js +1 -1
  82. package/dist/lang/mm.umd.prod.js +1 -1
  83. package/dist/lang/ms.umd.prod.js +1 -1
  84. package/dist/lang/my.umd.prod.js +1 -1
  85. package/dist/lang/nb-NO.umd.prod.js +1 -1
  86. package/dist/lang/nl.umd.prod.js +1 -1
  87. package/dist/lang/pl.umd.prod.js +1 -1
  88. package/dist/lang/pt-BR.umd.prod.js +1 -1
  89. package/dist/lang/pt.umd.prod.js +1 -1
  90. package/dist/lang/ro.umd.prod.js +1 -1
  91. package/dist/lang/ru.umd.prod.js +1 -1
  92. package/dist/lang/sk.umd.prod.js +1 -1
  93. package/dist/lang/sl.umd.prod.js +2 -2
  94. package/dist/lang/sm.umd.prod.js +1 -1
  95. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  96. package/dist/lang/sr.umd.prod.js +1 -1
  97. package/dist/lang/sv.umd.prod.js +1 -1
  98. package/dist/lang/ta.umd.prod.js +1 -1
  99. package/dist/lang/th.umd.prod.js +1 -1
  100. package/dist/lang/tr.umd.prod.js +1 -1
  101. package/dist/lang/ug.umd.prod.js +1 -1
  102. package/dist/lang/uk.umd.prod.js +1 -1
  103. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  104. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  105. package/dist/lang/vi.umd.prod.js +1 -1
  106. package/dist/lang/zh-CN.umd.prod.js +1 -1
  107. package/dist/lang/zh-TW.umd.prod.js +1 -1
  108. package/dist/quasar.cjs.prod.js +2 -2
  109. package/dist/quasar.css +1 -4
  110. package/dist/quasar.esm.js +83 -32
  111. package/dist/quasar.esm.prod.js +2 -2
  112. package/dist/quasar.prod.css +1 -1
  113. package/dist/quasar.rtl.css +1 -4
  114. package/dist/quasar.rtl.prod.css +1 -1
  115. package/dist/quasar.sass +4 -5
  116. package/dist/quasar.umd.js +83 -32
  117. package/dist/quasar.umd.prod.js +2 -2
  118. package/dist/types/api/dialog.d.ts +13 -11
  119. package/dist/types/api/qform.d.ts +5 -0
  120. package/dist/types/api/qinput.d.ts +0 -2
  121. package/dist/types/api/qloading.d.ts +1 -3
  122. package/dist/types/api/qnotify.d.ts +7 -5
  123. package/dist/types/api/qtable.d.ts +0 -2
  124. package/dist/types/api/slider.d.ts +6 -4
  125. package/dist/types/api/vue-prop-types.d.ts +9 -0
  126. package/dist/types/api/web-storage.d.ts +1 -2
  127. package/dist/types/api.d.ts +1 -0
  128. package/dist/types/composables.d.ts +2 -4
  129. package/dist/types/extras/icon-set.d.ts +42 -29
  130. package/dist/types/index.d.ts +6 -5
  131. package/dist/types/shim-icon-set.d.ts +0 -2
  132. package/dist/types/shim-lang.d.ts +0 -2
  133. package/dist/types/ts-helpers.d.ts +33 -10
  134. package/dist/types/tsconfig.json +15 -2
  135. package/dist/types/utils/colors.d.ts +4 -1
  136. package/dist/types/utils/date.d.ts +58 -12
  137. package/dist/types/utils/dom.d.ts +4 -1
  138. package/dist/types/utils/format.d.ts +6 -6
  139. package/dist/types/utils/scroll.d.ts +29 -6
  140. package/dist/types/utils.d.ts +26 -24
  141. package/dist/web-types/web-types.json +6 -6
  142. package/lang/sl.js +1 -1
  143. package/lang/sl.mjs +1 -1
  144. package/package.json +11 -9
  145. package/src/components/carousel/QCarouselSlide.json +1 -1
  146. package/src/components/chat/QChatMessage.json +1 -1
  147. package/src/components/date/use-datetime.js +1 -1
  148. package/src/components/dialog/QDialog.js +2 -4
  149. package/src/components/form/QForm.json +3 -2
  150. package/src/components/img/QImg.json +2 -2
  151. package/src/components/infinite-scroll/QInfiniteScroll.js +26 -4
  152. package/src/components/input/use-mask.js +1 -1
  153. package/src/components/layout/QLayout.sass +1 -0
  154. package/src/components/rating/QRating.js +3 -3
  155. package/src/components/slide-transition/QSlideTransition.js +6 -1
  156. package/src/components/timeline/QTimelineEntry.json +1 -1
  157. package/src/components/uploader/xhr-uploader-plugin.js +2 -2
  158. package/src/components/virtual-scroll/QVirtualScroll.json +2 -2
  159. package/src/components/virtual-scroll/use-virtual-scroll.js +5 -1
  160. package/src/composables/private/use-timeout.js +1 -1
  161. package/src/css/core/visibility.sass +0 -2
  162. package/src/css/variables.sass +2 -2
  163. package/src/plugins/Loading.js +11 -6
  164. package/src/plugins/Platform.js +1 -1
  165. package/src/utils/copy-to-clipboard.js +8 -0
  166. package/src/utils/is.js +11 -6
  167. package/src/utils/prevent-scroll.js +9 -1
  168. package/src/utils/private/define-reactive-plugin.js +1 -1
  169. package/dist/types/api/vue-prop-types.ts +0 -15
  170. package/dist/types/typings.json +0 -4
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.11.4
2
+ * Quasar Framework v2.11.6
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -576,8 +576,8 @@ $toolbar-title-font-weight : normal !default
576
576
  $toolbar-title-letter-spacing : .01em !default
577
577
  $toolbar-title-padding : 0 12px !default
578
578
  $layout-border : 1px solid $separator-color !default
579
- $layout-shadow : 0 0 10px 2px rgba(0,0,0,0.2), 0 0px 10px rgba(0,0,0,0.24) !default
580
- $layout-shadow-dark : 0 0 10px 2px rgba(255,255,255,.2), 0 0px 10px rgba(255,255,255,.24) !default
579
+ $layout-shadow : 0 0 10px 2px rgba($shadow-color,0.2), 0 0px 10px rgba($shadow-color,0.24) !default
580
+ $layout-shadow-dark : 0 0 10px 2px rgba($dark-shadow-color,.2), 0 0px 10px rgba($dark-shadow-color,.24) !default
581
581
  $menu-background : #fff !default
582
582
  $menu-box-shadow : $shadow-2 !default
583
583
  $menu-box-shadow-dark : $dark-shadow-2 !default
@@ -2922,6 +2922,7 @@ body.body--dark .q-knob--editable:focus:before
2922
2922
  box-shadow: $dark-shadow-2
2923
2923
  .q-layout
2924
2924
  width: 100%
2925
+ outline: 0
2925
2926
  .q-layout-container
2926
2927
  position: relative
2927
2928
  width: 100%
@@ -7460,8 +7461,6 @@ sup
7460
7461
  visibility: hidden !important
7461
7462
  transition: none !important
7462
7463
  animation: none !important
7463
- .invisible svg *
7464
- display: none
7465
7464
  .transparent
7466
7465
  background: transparent !important
7467
7466
  .overflow-auto
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.11.4
2
+ * Quasar Framework v2.11.6
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1476,20 +1476,23 @@
1476
1476
  return false
1477
1477
  }
1478
1478
 
1479
- i = a.entries().next();
1479
+ let iter = a.entries();
1480
+
1481
+ i = iter.next();
1480
1482
  while (i.done !== true) {
1481
1483
  if (b.has(i.value[ 0 ]) !== true) {
1482
1484
  return false
1483
1485
  }
1484
- i = i.next();
1486
+ i = iter.next();
1485
1487
  }
1486
1488
 
1487
- i = a.entries().next();
1489
+ iter = a.entries();
1490
+ i = iter.next();
1488
1491
  while (i.done !== true) {
1489
1492
  if (isDeepEqual(i.value[ 1 ], b.get(i.value[ 0 ])) !== true) {
1490
1493
  return false
1491
1494
  }
1492
- i = i.next();
1495
+ i = iter.next();
1493
1496
  }
1494
1497
 
1495
1498
  return true
@@ -1500,12 +1503,14 @@
1500
1503
  return false
1501
1504
  }
1502
1505
 
1503
- i = a.entries().next();
1506
+ const iter = a.entries();
1507
+
1508
+ i = iter.next();
1504
1509
  while (i.done !== true) {
1505
1510
  if (b.has(i.value[ 0 ]) !== true) {
1506
1511
  return false
1507
1512
  }
1508
- i = i.next();
1513
+ i = iter.next();
1509
1514
  }
1510
1515
 
1511
1516
  return true
@@ -1648,7 +1653,7 @@
1648
1653
  }
1649
1654
 
1650
1655
  var installQuasar = function (parentApp, opts = {}) {
1651
- const $q = { version: '2.11.4' };
1656
+ const $q = { version: '2.11.6' };
1652
1657
 
1653
1658
  if (globalConfigIsFrozen === false) {
1654
1659
  if (opts.config !== void 0) {
@@ -12100,7 +12105,7 @@
12100
12105
  });
12101
12106
 
12102
12107
  const tabindex = vue.computed(() => {
12103
- return props.editable === true ? 0 : -1
12108
+ return editable.value === true ? 0 : -1
12104
12109
  });
12105
12110
 
12106
12111
  const headerClass = vue.computed(() => {
@@ -14637,6 +14642,7 @@
14637
14642
  vpPendingUpdate = false,
14638
14643
  bodyLeft,
14639
14644
  bodyTop,
14645
+ href,
14640
14646
  closeTimer = null;
14641
14647
 
14642
14648
  function onWheel (e) {
@@ -14723,6 +14729,8 @@
14723
14729
  bodyLeft = body.style.left;
14724
14730
  bodyTop = body.style.top;
14725
14731
 
14732
+ href = window.location.href;
14733
+
14726
14734
  body.style.left = `-${ scrollPositionX }px`;
14727
14735
  body.style.top = `-${ scrollPositionY }px`;
14728
14736
 
@@ -14735,6 +14743,7 @@
14735
14743
 
14736
14744
  body.classList.add('q-body--prevent-scroll');
14737
14745
  document.qScrollPrevented = true;
14746
+
14738
14747
  if (client.is.ios === true) {
14739
14748
  if (hasViewport === true) {
14740
14749
  window.scrollTo(0, 0);
@@ -14773,7 +14782,11 @@
14773
14782
  body.style.left = bodyLeft;
14774
14783
  body.style.top = bodyTop;
14775
14784
 
14776
- window.scrollTo(scrollPositionX, scrollPositionY);
14785
+ // scroll back only if route has not changed
14786
+ if (window.location.href === href) {
14787
+ window.scrollTo(scrollPositionX, scrollPositionY);
14788
+ }
14789
+
14777
14790
  maxScrollTop = void 0;
14778
14791
  }
14779
14792
  }
@@ -15164,7 +15177,7 @@
15164
15177
  hide(e);
15165
15178
  }
15166
15179
  else if (props.noShake !== true) {
15167
- shake(e.relatedTarget);
15180
+ shake();
15168
15181
  }
15169
15182
  }
15170
15183
 
@@ -15191,8 +15204,6 @@
15191
15204
 
15192
15205
  vue.onBeforeUnmount(cleanup);
15193
15206
 
15194
- const backdropEvt = vm.proxy.$q.platform.is.ios === true ? 'onClick' : 'onFocusin';
15195
-
15196
15207
  function renderPortalContent () {
15197
15208
  return vue.h('div', {
15198
15209
  role: 'dialog',
@@ -15210,7 +15221,7 @@
15210
15221
  style: transitionStyle.value,
15211
15222
  'aria-hidden': 'true',
15212
15223
  tabindex: -1,
15213
- [ backdropEvt ]: onBackdropClick
15224
+ onClick: onBackdropClick
15214
15225
  })
15215
15226
  : null
15216
15227
  )),
@@ -17741,7 +17752,7 @@
17741
17752
  }
17742
17753
 
17743
17754
  function begin (el, height, done) {
17744
- el.style.overflowY = 'hidden';
17755
+ // here overflowY is 'hidden'
17745
17756
  if (height !== void 0) {
17746
17757
  el.style.height = `${ height }px`;
17747
17758
  }
@@ -17763,12 +17774,14 @@
17763
17774
  let pos = 0;
17764
17775
  element = el;
17765
17776
 
17777
+ // if animationg overflowY is already 'hidden'
17766
17778
  if (animating === true) {
17767
17779
  cleanup();
17768
17780
  pos = el.offsetHeight === el.scrollHeight ? 0 : void 0;
17769
17781
  }
17770
17782
  else {
17771
17783
  lastEvent = 'hide';
17784
+ el.style.overflowY = 'hidden';
17772
17785
  }
17773
17786
 
17774
17787
  begin(el, pos, done);
@@ -17797,6 +17810,9 @@
17797
17810
  }
17798
17811
  else {
17799
17812
  lastEvent = 'show';
17813
+ // we need to set overflowY 'hidden' before calculating the height
17814
+ // or else we get small differences
17815
+ el.style.overflowY = 'hidden';
17800
17816
  pos = el.scrollHeight;
17801
17817
  }
17802
17818
 
@@ -20940,6 +20956,7 @@
20940
20956
  const isFetching = vue.ref(false);
20941
20957
  const isWorking = vue.ref(true);
20942
20958
  const rootRef = vue.ref(null);
20959
+ const loadingRef = vue.ref(null);
20943
20960
 
20944
20961
  let index = props.initialIndex || 0;
20945
20962
  let localScrollTarget, poll;
@@ -21071,12 +21088,32 @@
21071
21088
  }
21072
21089
  }
21073
21090
 
21091
+ function updateSvgAnimations (isRetry) {
21092
+ if (renderLoadingSlot.value === true) {
21093
+ if (loadingRef.value === null) {
21094
+ isRetry !== true && vue.nextTick(() => { updateSvgAnimations(true); });
21095
+ return
21096
+ }
21097
+
21098
+ // we need to pause svg animations (if any) when hiding
21099
+ // otherwise the browser will keep on recalculating the style
21100
+ const action = `${ isFetching.value === true ? 'un' : '' }pauseAnimations`;
21101
+ Array.from(loadingRef.value.getElementsByTagName('svg')).forEach(el => {
21102
+ el[ action ]();
21103
+ });
21104
+ }
21105
+ }
21106
+
21107
+ const renderLoadingSlot = vue.computed(() => props.disable !== true && isWorking.value === true);
21108
+
21109
+ vue.watch([ isFetching, renderLoadingSlot ], () => { updateSvgAnimations(); });
21110
+
21074
21111
  vue.watch(() => props.disable, val => {
21075
21112
  if (val === true) { stop(); }
21076
21113
  else { resume(); }
21077
21114
  });
21078
21115
 
21079
- vue.watch(() => props.reverse, val => {
21116
+ vue.watch(() => props.reverse, () => {
21080
21117
  if (isFetching.value === false && isWorking.value === true) {
21081
21118
  immediatePoll();
21082
21119
  }
@@ -21107,8 +21144,9 @@
21107
21144
 
21108
21145
  vue.onMounted(() => {
21109
21146
  setDebounce(props.debounce);
21110
-
21111
21147
  updateScrollTarget();
21148
+
21149
+ isFetching.value === false && updateSvgAnimations();
21112
21150
  });
21113
21151
 
21114
21152
  // expose public methods
@@ -21121,9 +21159,9 @@
21121
21159
  return () => {
21122
21160
  const child = hUniqueSlot(slots.default, []);
21123
21161
 
21124
- if (props.disable !== true && isWorking.value === true) {
21162
+ if (renderLoadingSlot.value === true) {
21125
21163
  child[ props.reverse === false ? 'push' : 'unshift' ](
21126
- vue.h('div', { class: classes.value }, hSlot(slots.loading))
21164
+ vue.h('div', { ref: loadingRef, class: classes.value }, hSlot(slots.loading))
21127
21165
  );
21128
21166
  }
21129
21167
 
@@ -21391,7 +21429,7 @@
21391
21429
 
21392
21430
  computedMask = mask;
21393
21431
  computedUnmask = val => {
21394
- const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length));
21432
+ const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length + 1));
21395
21433
  if (unmaskMatch !== null) {
21396
21434
  val = unmaskMatch.slice(1).join('');
21397
21435
  }
@@ -25721,13 +25759,13 @@
25721
25759
  case 37: // LEFT ARROW
25722
25760
  case 40: // DOWN ARROW
25723
25761
  if (iconRefs[ `rt${ i - 1 }` ]) {
25724
- iconRefs[ `rt${ i - 1 }` ].$el.focus();
25762
+ iconRefs[ `rt${ i - 1 }` ].focus();
25725
25763
  }
25726
25764
  return stopAndPrevent(e)
25727
25765
  case 39: // RIGHT ARROW
25728
25766
  case 38: // UP ARROW
25729
25767
  if (iconRefs[ `rt${ i + 1 }` ]) {
25730
- iconRefs[ `rt${ i + 1 }` ].$el.focus();
25768
+ iconRefs[ `rt${ i + 1 }` ].focus();
25731
25769
  }
25732
25770
  return stopAndPrevent(e)
25733
25771
  }
@@ -25750,7 +25788,7 @@
25750
25788
  child.push(
25751
25789
  vue.h('div', {
25752
25790
  key: i,
25753
- ref: vm => { iconRefs[ `rt${ i }` ] = vm; },
25791
+ ref: el => { iconRefs[ `rt${ i }` ] = el; },
25754
25792
  class: 'q-rating__icon-container flex flex-center',
25755
25793
  ...attrs,
25756
25794
  onClick () { set(i); },
@@ -26295,12 +26333,16 @@
26295
26333
  return
26296
26334
  }
26297
26335
 
26298
- cancelAnimationFrame(contentEl._qOverflowAnimationFrame);
26336
+ if (contentEl._qOverflowAnimationFrame !== void 0) {
26337
+ cancelAnimationFrame(contentEl._qOverflowAnimationFrame);
26338
+ }
26339
+
26299
26340
  contentEl._qOverflowAnimationFrame = requestAnimationFrame(() => {
26300
26341
  if (contentEl === null) {
26301
26342
  return
26302
26343
  }
26303
26344
 
26345
+ contentEl._qOverflowAnimationFrame = void 0;
26304
26346
  const children = contentEl.children || [];
26305
26347
 
26306
26348
  filterProto
@@ -35716,7 +35758,7 @@
35716
35758
  factory: Function
35717
35759
  };
35718
35760
 
35719
- const emits$1 = [ 'factory-failed', 'uploaded', 'failed', 'uploading' ];
35761
+ const emits$1 = [ 'factoryFailed', 'uploaded', 'failed', 'uploading' ];
35720
35762
 
35721
35763
  function injectPlugin ({ props, emit, helpers }) {
35722
35764
  const xhrs = vue.ref([]);
@@ -35773,7 +35815,7 @@
35773
35815
 
35774
35816
  if (!res) {
35775
35817
  emit(
35776
- 'factory-failed',
35818
+ 'factoryFailed',
35777
35819
  new Error('QUploader: factory() does not return properly'),
35778
35820
  files
35779
35821
  );
@@ -39199,7 +39241,7 @@
39199
39241
 
39200
39242
  const el = createGlobalNode('q-loading');
39201
39243
 
39202
- app = vue.createApp({
39244
+ app = createChildApp({
39203
39245
  name: 'QLoading',
39204
39246
 
39205
39247
  setup () {
@@ -39261,7 +39303,7 @@
39261
39303
  onAfterLeave
39262
39304
  }, getContent)
39263
39305
  }
39264
- });
39306
+ }, Plugin$2.__parentApp);
39265
39307
 
39266
39308
  vm = app.mount(el);
39267
39309
  }, props.delay);
@@ -39320,11 +39362,15 @@
39320
39362
  }
39321
39363
  },
39322
39364
 
39323
- install ({ $q }) {
39365
+ install ({ $q, parentApp }) {
39324
39366
  $q.loading = this;
39325
39367
 
39326
- if ($q.config.loading !== void 0) {
39327
- this.setDefaults($q.config.loading);
39368
+ {
39369
+ Plugin$2.__parentApp = parentApp;
39370
+
39371
+ if ($q.config.loading !== void 0) {
39372
+ this.setDefaults($q.config.loading);
39373
+ }
39328
39374
  }
39329
39375
  }
39330
39376
  });
@@ -40214,6 +40260,9 @@
40214
40260
  area.contentEditable = 'true';
40215
40261
  area.style.position = 'fixed'; // avoid scrolling to bottom
40216
40262
 
40263
+ const fn = () => {};
40264
+ addFocusout(fn);
40265
+
40217
40266
  document.body.appendChild(area);
40218
40267
  area.focus();
40219
40268
  area.select();
@@ -40221,6 +40270,8 @@
40221
40270
  const res = document.execCommand('copy');
40222
40271
 
40223
40272
  area.remove();
40273
+ removeFocusout(fn);
40274
+
40224
40275
  return res
40225
40276
  }
40226
40277
 
@@ -40727,7 +40778,7 @@
40727
40778
  */
40728
40779
 
40729
40780
  var index_umd = {
40730
- version: '2.11.4',
40781
+ version: '2.11.6',
40731
40782
  install (app, opts) {
40732
40783
  installQuasar(app, {
40733
40784
  components,