quasar 2.21.0 → 2.21.2

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 (133) hide show
  1. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  2. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  3. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  4. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  9. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  10. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  15. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  44. package/dist/icon-set/themify.umd.prod.js +1 -1
  45. package/dist/lang/ar-TN.umd.prod.js +1 -1
  46. package/dist/lang/ar.umd.prod.js +1 -1
  47. package/dist/lang/az-Latn.umd.prod.js +1 -1
  48. package/dist/lang/bg.umd.prod.js +1 -1
  49. package/dist/lang/bn.umd.prod.js +1 -1
  50. package/dist/lang/bs-BA.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-CH.umd.prod.js +1 -1
  55. package/dist/lang/de-DE.umd.prod.js +1 -1
  56. package/dist/lang/de.umd.prod.js +1 -1
  57. package/dist/lang/el.umd.prod.js +1 -1
  58. package/dist/lang/en-GB.umd.prod.js +1 -1
  59. package/dist/lang/en-US.umd.prod.js +1 -1
  60. package/dist/lang/eo.umd.prod.js +1 -1
  61. package/dist/lang/es.umd.prod.js +1 -1
  62. package/dist/lang/et.umd.prod.js +1 -1
  63. package/dist/lang/eu.umd.prod.js +1 -1
  64. package/dist/lang/fa-IR.umd.prod.js +1 -1
  65. package/dist/lang/fa.umd.prod.js +1 -1
  66. package/dist/lang/fi.umd.prod.js +1 -1
  67. package/dist/lang/fr.umd.prod.js +1 -1
  68. package/dist/lang/gn.umd.prod.js +1 -1
  69. package/dist/lang/he.umd.prod.js +1 -1
  70. package/dist/lang/hi.umd.prod.js +1 -1
  71. package/dist/lang/hr.umd.prod.js +1 -1
  72. package/dist/lang/hu.umd.prod.js +1 -1
  73. package/dist/lang/id.umd.prod.js +1 -1
  74. package/dist/lang/is.umd.prod.js +1 -1
  75. package/dist/lang/it.umd.prod.js +1 -1
  76. package/dist/lang/ja.umd.prod.js +1 -1
  77. package/dist/lang/kk.umd.prod.js +1 -1
  78. package/dist/lang/km.umd.prod.js +1 -1
  79. package/dist/lang/ko-KR.umd.prod.js +1 -1
  80. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  81. package/dist/lang/lb.umd.prod.js +1 -1
  82. package/dist/lang/lt.umd.prod.js +1 -1
  83. package/dist/lang/lu.umd.prod.js +1 -1
  84. package/dist/lang/lv.umd.prod.js +1 -1
  85. package/dist/lang/mk.umd.prod.js +1 -1
  86. package/dist/lang/ml.umd.prod.js +1 -1
  87. package/dist/lang/mm.umd.prod.js +1 -1
  88. package/dist/lang/ms-MY.umd.prod.js +1 -1
  89. package/dist/lang/ms.umd.prod.js +1 -1
  90. package/dist/lang/my.umd.prod.js +1 -1
  91. package/dist/lang/nb-NO.umd.prod.js +1 -1
  92. package/dist/lang/nl.umd.prod.js +1 -1
  93. package/dist/lang/pl.umd.prod.js +1 -1
  94. package/dist/lang/pt-BR.umd.prod.js +1 -1
  95. package/dist/lang/pt.umd.prod.js +1 -1
  96. package/dist/lang/ro.umd.prod.js +1 -1
  97. package/dist/lang/ru.umd.prod.js +1 -1
  98. package/dist/lang/sk.umd.prod.js +1 -1
  99. package/dist/lang/sl.umd.prod.js +1 -1
  100. package/dist/lang/sm.umd.prod.js +1 -1
  101. package/dist/lang/sq.umd.prod.js +1 -1
  102. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  103. package/dist/lang/sr.umd.prod.js +1 -1
  104. package/dist/lang/sv.umd.prod.js +1 -1
  105. package/dist/lang/ta.umd.prod.js +1 -1
  106. package/dist/lang/th.umd.prod.js +1 -1
  107. package/dist/lang/tl.umd.prod.js +1 -1
  108. package/dist/lang/tr.umd.prod.js +1 -1
  109. package/dist/lang/ug.umd.prod.js +1 -1
  110. package/dist/lang/uk.umd.prod.js +1 -1
  111. package/dist/lang/ur-PK.umd.prod.js +1 -1
  112. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  113. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  114. package/dist/lang/vi.umd.prod.js +1 -1
  115. package/dist/lang/zh-CN.umd.prod.js +1 -1
  116. package/dist/lang/zh-TW.umd.prod.js +1 -1
  117. package/dist/quasar.client.js +32 -41
  118. package/dist/quasar.css +8 -1
  119. package/dist/quasar.prod.css +1 -1
  120. package/dist/quasar.rtl.css +9 -1
  121. package/dist/quasar.rtl.prod.css +1 -1
  122. package/dist/quasar.sass +6 -2
  123. package/dist/quasar.server.prod.cjs +17 -17
  124. package/dist/quasar.server.prod.js +17 -17
  125. package/dist/quasar.umd.js +32 -41
  126. package/dist/quasar.umd.prod.js +17 -17
  127. package/dist/types/feature-flag.d.ts +7 -0
  128. package/dist/types/globals.d.ts +4 -4
  129. package/dist/web-types/web-types.json +1 -1
  130. package/package.json +2 -2
  131. package/src/components/breadcrumbs/QBreadcrumbs.test.js +0 -1
  132. package/src/css/core/helpers.sass +6 -1
  133. package/src/utils/scroll/prevent-scroll.js +6 -48
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.0
2
+ * Quasar Framework v2.21.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1100,7 +1100,7 @@
1100
1100
  };
1101
1101
  }
1102
1102
  var install_quasar_default = function installQuasar(parentApp, opts = {}) {
1103
- const $q = { version: "2.21.0" };
1103
+ const $q = { version: "2.21.2" };
1104
1104
  if (!globalConfigIsFrozen) {
1105
1105
  if (opts.config !== void 0) Object.assign(globalConfig, opts.config);
1106
1106
  $q.config = { ...globalConfig };
@@ -2637,7 +2637,7 @@
2637
2637
  });
2638
2638
  configureAnchorEl = function configureAnchorElFn(context = props.contextMenu) {
2639
2639
  if (props.noParentEvent || anchorEl.value === null) return;
2640
- addEvt(anchorEvents, "anchor", context ? proxy.$q.platform.is.mobile ? [[
2640
+ const evts = context ? proxy.$q.platform.is.mobile ? [[
2641
2641
  anchorEl.value,
2642
2642
  "touchstart",
2643
2643
  "mobileTouch",
@@ -2662,7 +2662,8 @@
2662
2662
  "keyup",
2663
2663
  "toggleKey",
2664
2664
  "passive"
2665
- ]]);
2665
+ ]];
2666
+ addEvt(anchorEvents, "anchor", evts);
2666
2667
  };
2667
2668
  }
2668
2669
  function unconfigureAnchorEl() {
@@ -9600,18 +9601,6 @@
9600
9601
  //#endregion
9601
9602
  //#region src/utils/scroll/prevent-scroll.js
9602
9603
  let registered = 0, scrollPositionX, scrollPositionY, maxScrollTop, vpPendingUpdate = false, bodyLeft, bodyTop, href, closeTimer = null;
9603
- function onWheel(e) {
9604
- if (shouldPreventScroll(e)) stopAndPrevent(e);
9605
- }
9606
- function shouldPreventScroll(e) {
9607
- if (e.target === document.body || e.target.classList.contains("q-layout__backdrop")) return true;
9608
- const path = getEventPath(e), shift = e.shiftKey && !e.deltaX, scrollY = !shift && Math.abs(e.deltaX) <= Math.abs(e.deltaY), delta = shift || scrollY ? e.deltaY : e.deltaX;
9609
- for (let index = 0; index < path.length; index++) {
9610
- const el = path[index];
9611
- if (hasScrollbar(el, scrollY)) return scrollY ? delta < 0 && el.scrollTop === 0 ? true : delta > 0 && el.scrollTop + el.clientHeight === el.scrollHeight : delta < 0 && el.scrollLeft === 0 ? true : delta > 0 && el.scrollLeft + el.clientWidth === el.scrollWidth;
9612
- }
9613
- return true;
9614
- }
9615
9604
  function onAppleScroll(e) {
9616
9605
  if (e.target === document) document.scrollingElement.scrollTop = document.scrollingElement.scrollTop;
9617
9606
  }
@@ -9641,7 +9630,7 @@
9641
9630
  body.style.top = `-${scrollPositionY}px`;
9642
9631
  if (overflowX !== "hidden" && (overflowX === "scroll" || body.scrollWidth > window.innerWidth)) body.classList.add("q-body--force-scrollbar-x");
9643
9632
  if (overflowY !== "hidden" && (overflowY === "scroll" || body.scrollHeight > window.innerHeight)) body.classList.add("q-body--force-scrollbar-y");
9644
- body.classList.add("q-body--prevent-scroll");
9633
+ document.documentElement.classList.add("q-document--prevent-scroll");
9645
9634
  document.qScrollPrevented = true;
9646
9635
  if (client.is.ios) if (hasViewport) {
9647
9636
  window.scrollTo(0, 0);
@@ -9649,14 +9638,13 @@
9649
9638
  window.visualViewport.addEventListener("scroll", onAppleResize, listenOpts.passiveCapture);
9650
9639
  window.scrollTo(0, 0);
9651
9640
  } else window.addEventListener("scroll", onAppleScroll, listenOpts.passiveCapture);
9652
- }
9653
- if (client.is.desktop && client.is.mac) window[`${action}EventListener`]("wheel", onWheel, listenOpts.notPassive);
9654
- if (action === "remove") {
9641
+ } else {
9655
9642
  if (client.is.ios) if (hasViewport) {
9656
9643
  window.visualViewport.removeEventListener("resize", onAppleResize, listenOpts.passiveCapture);
9657
9644
  window.visualViewport.removeEventListener("scroll", onAppleResize, listenOpts.passiveCapture);
9658
9645
  } else window.removeEventListener("scroll", onAppleScroll, listenOpts.passiveCapture);
9659
- body.classList.remove("q-body--prevent-scroll", "q-body--force-scrollbar-x", "q-body--force-scrollbar-y");
9646
+ document.documentElement.classList.remove("q-document--prevent-scroll");
9647
+ body.classList.remove("q-body--force-scrollbar-x", "q-body--force-scrollbar-y");
9660
9648
  document.qScrollPrevented = false;
9661
9649
  body.style.left = bodyLeft;
9662
9650
  body.style.top = bodyTop;
@@ -10725,7 +10713,7 @@
10725
10713
  clearSelection();
10726
10714
  document.body.classList.add("non-selectable");
10727
10715
  const target = anchorEl.value;
10728
- addEvt(anchorEvents, "tooltipTemp", [
10716
+ const evts = [
10729
10717
  "touchmove",
10730
10718
  "touchcancel",
10731
10719
  "touchend",
@@ -10735,7 +10723,8 @@
10735
10723
  e,
10736
10724
  "delayHide",
10737
10725
  "passiveCapture"
10738
- ]));
10726
+ ]);
10727
+ addEvt(anchorEvents, "tooltipTemp", evts);
10739
10728
  }
10740
10729
  registerTimeout(() => {
10741
10730
  show(evt);
@@ -10755,7 +10744,7 @@
10755
10744
  }
10756
10745
  function configureAnchorEl() {
10757
10746
  if (props.noParentEvent || anchorEl.value === null) return;
10758
- addEvt(anchorEvents, "anchor", $q.platform.is.mobile ? [[
10747
+ const evts = $q.platform.is.mobile ? [[
10759
10748
  anchorEl.value,
10760
10749
  "touchstart",
10761
10750
  "delayShow",
@@ -10770,7 +10759,8 @@
10770
10759
  "mouseleave",
10771
10760
  "delayHide",
10772
10761
  "passive"
10773
- ]]);
10762
+ ]];
10763
+ addEvt(anchorEvents, "anchor", evts);
10774
10764
  }
10775
10765
  function configureScrollTarget() {
10776
10766
  if (anchorEl.value !== null || props.scrollTarget !== void 0) {
@@ -23351,6 +23341,19 @@
23351
23341
  margin: 0;
23352
23342
  width: 0;
23353
23343
  height: 0;
23344
+ `;
23345
+ const keyframesTo = options.keepToClone === true ? "" : `
23346
+ @keyframes ${qAnimId}-to {
23347
+ 0% {
23348
+ ${keyframeToStart}
23349
+ }
23350
+
23351
+ 100% {
23352
+ margin: ${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px;
23353
+ width: ${elToCloneWidth + elToPosition.marginH}px;
23354
+ height: ${elToCloneHeight + elToPosition.marginV}px;
23355
+ }
23356
+ }
23354
23357
  `;
23355
23358
  style.innerHTML = `
23356
23359
  @keyframes ${qAnimId} {
@@ -23386,19 +23389,7 @@
23386
23389
 
23387
23390
  ${keyframesFromTween}
23388
23391
 
23389
- ${options.keepToClone === true ? "" : `
23390
- @keyframes ${qAnimId}-to {
23391
- 0% {
23392
- ${keyframeToStart}
23393
- }
23394
-
23395
- 100% {
23396
- margin: ${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px;
23397
- width: ${elToCloneWidth + elToPosition.marginH}px;
23398
- height: ${elToCloneHeight + elToPosition.marginV}px;
23399
- }
23400
- }
23401
- `}
23392
+ ${keyframesTo}
23402
23393
  `;
23403
23394
  document.head.append(style);
23404
23395
  let animationDirection = "normal";
@@ -25391,8 +25382,8 @@
25391
25382
  if (!this.__installed) {
25392
25383
  positionList.forEach((pos) => {
25393
25384
  notificationsList[pos] = (0, vue.ref)([]);
25394
- const vert = pos === "left" || pos === "center" || pos === "right" ? "center" : pos.includes("top") ? "top" : "bottom", align = pos.includes("left") ? "start" : pos.includes("right") ? "end" : "center";
25395
- positionClass[pos] = `q-notifications__list q-notifications__list--${vert} fixed column no-wrap ${pos === "left" || pos === "right" ? `items-${pos === "left" ? "start" : "end"} justify-center` : pos === "center" ? "flex-center" : `items-${align}`}`;
25385
+ const vert = pos === "left" || pos === "center" || pos === "right" ? "center" : pos.includes("top") ? "top" : "bottom", align = pos.includes("left") ? "start" : pos.includes("right") ? "end" : "center", classes = pos === "left" || pos === "right" ? `items-${pos === "left" ? "start" : "end"} justify-center` : pos === "center" ? "flex-center" : `items-${align}`;
25386
+ positionClass[pos] = `q-notifications__list q-notifications__list--${vert} fixed column no-wrap ${classes}`;
25396
25387
  });
25397
25388
  const el = createGlobalNode("q-notify");
25398
25389
  createChildApp(getComponent(), parentApp).mount(el);
@@ -25968,7 +25959,7 @@
25968
25959
  */
25969
25960
  if (window.Vue === void 0) console.error("[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar.");
25970
25961
  window.Quasar = {
25971
- version: "2.21.0",
25962
+ version: "2.21.2",
25972
25963
  install(app, opts) {
25973
25964
  install_quasar_default(app, {
25974
25965
  components: components_exports,