quasar 2.20.3 → 2.21.1

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 (157) hide show
  1. package/dist/api/QTable.json +1 -1
  2. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  3. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  10. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  11. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  16. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-ionicons-v8.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 +1 -1
  40. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  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 +2 -2
  45. package/dist/icon-set/themify.umd.prod.js +2 -2
  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 +2 -2
  49. package/dist/lang/bg.umd.prod.js +1 -1
  50. package/dist/lang/bn.umd.prod.js +1 -1
  51. package/dist/lang/bs-BA.umd.prod.js +1 -1
  52. package/dist/lang/ca.umd.prod.js +1 -1
  53. package/dist/lang/cs.umd.prod.js +1 -1
  54. package/dist/lang/da.umd.prod.js +1 -1
  55. package/dist/lang/de-CH.umd.prod.js +1 -1
  56. package/dist/lang/de-DE.umd.prod.js +1 -1
  57. package/dist/lang/de.umd.prod.js +1 -1
  58. package/dist/lang/el.umd.prod.js +1 -1
  59. package/dist/lang/en-GB.umd.prod.js +1 -1
  60. package/dist/lang/en-US.umd.prod.js +1 -1
  61. package/dist/lang/eo.umd.prod.js +2 -2
  62. package/dist/lang/es.umd.prod.js +1 -1
  63. package/dist/lang/et.umd.prod.js +1 -1
  64. package/dist/lang/eu.umd.prod.js +1 -1
  65. package/dist/lang/fa-IR.umd.prod.js +1 -1
  66. package/dist/lang/fa.umd.prod.js +1 -1
  67. package/dist/lang/fi.umd.prod.js +2 -2
  68. package/dist/lang/fr.umd.prod.js +2 -2
  69. package/dist/lang/gn.umd.prod.js +1 -1
  70. package/dist/lang/he.umd.prod.js +1 -1
  71. package/dist/lang/hi.umd.prod.js +2 -2
  72. package/dist/lang/hr.umd.prod.js +1 -1
  73. package/dist/lang/hu.umd.prod.js +1 -1
  74. package/dist/lang/id.umd.prod.js +1 -1
  75. package/dist/lang/is.umd.prod.js +1 -1
  76. package/dist/lang/it.umd.prod.js +2 -2
  77. package/dist/lang/ja.umd.prod.js +2 -2
  78. package/dist/lang/kk.umd.prod.js +1 -1
  79. package/dist/lang/km.umd.prod.js +1 -1
  80. package/dist/lang/ko-KR.umd.prod.js +1 -1
  81. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  82. package/dist/lang/lb.umd.prod.js +6 -0
  83. package/dist/lang/lt.umd.prod.js +2 -2
  84. package/dist/lang/lu.umd.prod.js +1 -1
  85. package/dist/lang/lv.umd.prod.js +2 -2
  86. package/dist/lang/mk.umd.prod.js +1 -1
  87. package/dist/lang/ml.umd.prod.js +1 -1
  88. package/dist/lang/mm.umd.prod.js +1 -1
  89. package/dist/lang/ms-MY.umd.prod.js +2 -2
  90. package/dist/lang/ms.umd.prod.js +2 -2
  91. package/dist/lang/my.umd.prod.js +2 -2
  92. package/dist/lang/nb-NO.umd.prod.js +2 -2
  93. package/dist/lang/nl.umd.prod.js +1 -1
  94. package/dist/lang/pl.umd.prod.js +1 -1
  95. package/dist/lang/pt-BR.umd.prod.js +1 -1
  96. package/dist/lang/pt.umd.prod.js +1 -1
  97. package/dist/lang/ro.umd.prod.js +1 -1
  98. package/dist/lang/ru.umd.prod.js +1 -1
  99. package/dist/lang/sk.umd.prod.js +1 -1
  100. package/dist/lang/sl.umd.prod.js +1 -1
  101. package/dist/lang/sm.umd.prod.js +1 -1
  102. package/dist/lang/sq.umd.prod.js +1 -1
  103. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  104. package/dist/lang/sr.umd.prod.js +1 -1
  105. package/dist/lang/sv.umd.prod.js +1 -1
  106. package/dist/lang/ta.umd.prod.js +1 -1
  107. package/dist/lang/th.umd.prod.js +1 -1
  108. package/dist/lang/tl.umd.prod.js +1 -1
  109. package/dist/lang/tr.umd.prod.js +1 -1
  110. package/dist/lang/ug.umd.prod.js +2 -2
  111. package/dist/lang/uk.umd.prod.js +2 -2
  112. package/dist/lang/ur-PK.umd.prod.js +1 -1
  113. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  114. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  115. package/dist/lang/vi.umd.prod.js +1 -1
  116. package/dist/lang/zh-CN.umd.prod.js +1 -1
  117. package/dist/lang/zh-TW.umd.prod.js +1 -1
  118. package/dist/quasar.client.js +41 -42
  119. package/dist/quasar.css +8 -1
  120. package/dist/quasar.prod.css +1 -1
  121. package/dist/quasar.rtl.css +9 -1
  122. package/dist/quasar.rtl.prod.css +1 -1
  123. package/dist/quasar.sass +6 -2
  124. package/dist/quasar.server.prod.cjs +17 -17
  125. package/dist/quasar.server.prod.js +17 -17
  126. package/dist/quasar.umd.js +41 -42
  127. package/dist/quasar.umd.prod.js +17 -17
  128. package/dist/types/icon-set.d.ts +1 -3
  129. package/dist/types/index.d.ts +10 -2
  130. package/dist/types/utils.d.ts +2 -0
  131. package/dist/web-types/web-types.json +1 -1
  132. package/icon-set/svg-themify.js +1 -3
  133. package/icon-set/themify.js +1 -2
  134. package/lang/az-Latn.js +1 -1
  135. package/lang/eo.js +1 -1
  136. package/lang/fi.js +0 -5
  137. package/lang/fr.js +1 -1
  138. package/lang/hi.js +1 -1
  139. package/lang/index.json +1 -1
  140. package/lang/it.js +1 -1
  141. package/lang/ja.js +9 -9
  142. package/lang/kur-CKB.js +0 -1
  143. package/lang/lb.js +110 -0
  144. package/lang/lt.js +1 -1
  145. package/lang/lv.js +1 -1
  146. package/lang/ms-MY.js +3 -3
  147. package/lang/ms.js +1 -1
  148. package/lang/my.js +90 -92
  149. package/lang/nb-NO.js +5 -6
  150. package/lang/ug.js +7 -2
  151. package/lang/uk.js +1 -1
  152. package/package.json +3 -3
  153. package/src/components/table/QTable.js +6 -1
  154. package/src/components/table/QTable.json +28 -3
  155. package/src/components/tooltip/QTooltip.js +6 -0
  156. package/src/css/core/helpers.sass +6 -1
  157. package/src/utils/scroll/prevent-scroll.js +6 -48
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.20.3
2
+ * Quasar Framework v2.21.1
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1102,7 +1102,7 @@ function prepareApp(app, uiOpts, pluginOpts) {
1102
1102
  };
1103
1103
  }
1104
1104
  var install_quasar_default = function installQuasar(parentApp, opts = {}) {
1105
- const $q = { version: "2.20.3" };
1105
+ const $q = { version: "2.21.1" };
1106
1106
  if (!globalConfigIsFrozen) {
1107
1107
  if (opts.config !== void 0) Object.assign(globalConfig, opts.config);
1108
1108
  $q.config = { ...globalConfig };
@@ -2639,7 +2639,7 @@ function useAnchor({ showing, avoidEmit, configureAnchorEl }) {
2639
2639
  });
2640
2640
  configureAnchorEl = function configureAnchorElFn(context = props.contextMenu) {
2641
2641
  if (props.noParentEvent || anchorEl.value === null) return;
2642
- addEvt(anchorEvents, "anchor", context ? proxy.$q.platform.is.mobile ? [[
2642
+ const evts = context ? proxy.$q.platform.is.mobile ? [[
2643
2643
  anchorEl.value,
2644
2644
  "touchstart",
2645
2645
  "mobileTouch",
@@ -2664,7 +2664,8 @@ function useAnchor({ showing, avoidEmit, configureAnchorEl }) {
2664
2664
  "keyup",
2665
2665
  "toggleKey",
2666
2666
  "passive"
2667
- ]]);
2667
+ ]];
2668
+ addEvt(anchorEvents, "anchor", evts);
2668
2669
  };
2669
2670
  }
2670
2671
  function unconfigureAnchorEl() {
@@ -9602,18 +9603,6 @@ function useHistory(showing, hide, hideOnRouteChange) {
9602
9603
  //#endregion
9603
9604
  //#region src/utils/scroll/prevent-scroll.js
9604
9605
  let registered = 0, scrollPositionX, scrollPositionY, maxScrollTop, vpPendingUpdate = false, bodyLeft, bodyTop, href, closeTimer = null;
9605
- function onWheel(e) {
9606
- if (shouldPreventScroll(e)) stopAndPrevent(e);
9607
- }
9608
- function shouldPreventScroll(e) {
9609
- if (e.target === document.body || e.target.classList.contains("q-layout__backdrop")) return true;
9610
- 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;
9611
- for (let index = 0; index < path.length; index++) {
9612
- const el = path[index];
9613
- 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;
9614
- }
9615
- return true;
9616
- }
9617
9606
  function onAppleScroll(e) {
9618
9607
  if (e.target === document) document.scrollingElement.scrollTop = document.scrollingElement.scrollTop;
9619
9608
  }
@@ -9643,7 +9632,7 @@ function apply$1(action) {
9643
9632
  body.style.top = `-${scrollPositionY}px`;
9644
9633
  if (overflowX !== "hidden" && (overflowX === "scroll" || body.scrollWidth > window.innerWidth)) body.classList.add("q-body--force-scrollbar-x");
9645
9634
  if (overflowY !== "hidden" && (overflowY === "scroll" || body.scrollHeight > window.innerHeight)) body.classList.add("q-body--force-scrollbar-y");
9646
- body.classList.add("q-body--prevent-scroll");
9635
+ document.documentElement.classList.add("q-document--prevent-scroll");
9647
9636
  document.qScrollPrevented = true;
9648
9637
  if (client.is.ios) if (hasViewport) {
9649
9638
  window.scrollTo(0, 0);
@@ -9651,14 +9640,13 @@ function apply$1(action) {
9651
9640
  window.visualViewport.addEventListener("scroll", onAppleResize, listenOpts.passiveCapture);
9652
9641
  window.scrollTo(0, 0);
9653
9642
  } else window.addEventListener("scroll", onAppleScroll, listenOpts.passiveCapture);
9654
- }
9655
- if (client.is.desktop && client.is.mac) window[`${action}EventListener`]("wheel", onWheel, listenOpts.notPassive);
9656
- if (action === "remove") {
9643
+ } else {
9657
9644
  if (client.is.ios) if (hasViewport) {
9658
9645
  window.visualViewport.removeEventListener("resize", onAppleResize, listenOpts.passiveCapture);
9659
9646
  window.visualViewport.removeEventListener("scroll", onAppleResize, listenOpts.passiveCapture);
9660
9647
  } else window.removeEventListener("scroll", onAppleScroll, listenOpts.passiveCapture);
9661
- body.classList.remove("q-body--prevent-scroll", "q-body--force-scrollbar-x", "q-body--force-scrollbar-y");
9648
+ document.documentElement.classList.remove("q-document--prevent-scroll");
9649
+ body.classList.remove("q-body--force-scrollbar-x", "q-body--force-scrollbar-y");
9662
9650
  document.qScrollPrevented = false;
9663
9651
  body.style.left = bodyLeft;
9664
9652
  body.style.top = bodyTop;
@@ -10669,6 +10657,11 @@ var QTooltip_default = createComponent({
10669
10657
  function handleShow(evt) {
10670
10658
  showPortal();
10671
10659
  registerTick(() => {
10660
+ observer?.disconnect();
10661
+ if (innerRef.value === null) {
10662
+ observer = void 0;
10663
+ return;
10664
+ }
10672
10665
  observer = new MutationObserver(() => updatePosition());
10673
10666
  observer.observe(innerRef.value, {
10674
10667
  attributes: false,
@@ -10722,7 +10715,7 @@ var QTooltip_default = createComponent({
10722
10715
  clearSelection();
10723
10716
  document.body.classList.add("non-selectable");
10724
10717
  const target = anchorEl.value;
10725
- addEvt(anchorEvents, "tooltipTemp", [
10718
+ const evts = [
10726
10719
  "touchmove",
10727
10720
  "touchcancel",
10728
10721
  "touchend",
@@ -10732,7 +10725,8 @@ var QTooltip_default = createComponent({
10732
10725
  e,
10733
10726
  "delayHide",
10734
10727
  "passiveCapture"
10735
- ]));
10728
+ ]);
10729
+ addEvt(anchorEvents, "tooltipTemp", evts);
10736
10730
  }
10737
10731
  registerTimeout(() => {
10738
10732
  show(evt);
@@ -10752,7 +10746,7 @@ var QTooltip_default = createComponent({
10752
10746
  }
10753
10747
  function configureAnchorEl() {
10754
10748
  if (props.noParentEvent || anchorEl.value === null) return;
10755
- addEvt(anchorEvents, "anchor", $q.platform.is.mobile ? [[
10749
+ const evts = $q.platform.is.mobile ? [[
10756
10750
  anchorEl.value,
10757
10751
  "touchstart",
10758
10752
  "delayShow",
@@ -10767,7 +10761,8 @@ var QTooltip_default = createComponent({
10767
10761
  "mouseleave",
10768
10762
  "delayHide",
10769
10763
  "passive"
10770
- ]]);
10764
+ ]];
10765
+ addEvt(anchorEvents, "anchor", evts);
10771
10766
  }
10772
10767
  function configureScrollTarget() {
10773
10768
  if (anchorEl.value !== null || props.scrollTarget !== void 0) {
@@ -20961,7 +20956,10 @@ var QTable_default = createComponent({
20961
20956
  sort,
20962
20957
  resetVirtualScroll,
20963
20958
  scrollTo,
20964
- getCellValue
20959
+ getCellValue: (colName, row) => {
20960
+ const col = computedColsMap.value[colName];
20961
+ if (col !== void 0) return getCellValue(col, row);
20962
+ }
20965
20963
  });
20966
20964
  injectMultipleProps(vm.proxy, {
20967
20965
  filteredSortedRows: () => filteredSortedRows.value,
@@ -23218,6 +23216,19 @@ function morph(_options) {
23218
23216
  margin: 0;
23219
23217
  width: 0;
23220
23218
  height: 0;
23219
+ `;
23220
+ const keyframesTo = options.keepToClone === true ? "" : `
23221
+ @keyframes ${qAnimId}-to {
23222
+ 0% {
23223
+ ${keyframeToStart}
23224
+ }
23225
+
23226
+ 100% {
23227
+ margin: ${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px;
23228
+ width: ${elToCloneWidth + elToPosition.marginH}px;
23229
+ height: ${elToCloneHeight + elToPosition.marginV}px;
23230
+ }
23231
+ }
23221
23232
  `;
23222
23233
  style.innerHTML = `
23223
23234
  @keyframes ${qAnimId} {
@@ -23253,19 +23264,7 @@ function morph(_options) {
23253
23264
 
23254
23265
  ${keyframesFromTween}
23255
23266
 
23256
- ${options.keepToClone === true ? "" : `
23257
- @keyframes ${qAnimId}-to {
23258
- 0% {
23259
- ${keyframeToStart}
23260
- }
23261
-
23262
- 100% {
23263
- margin: ${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px;
23264
- width: ${elToCloneWidth + elToPosition.marginH}px;
23265
- height: ${elToCloneHeight + elToPosition.marginV}px;
23266
- }
23267
- }
23268
- `}
23267
+ ${keyframesTo}
23269
23268
  `;
23270
23269
  document.head.append(style);
23271
23270
  let animationDirection = "normal";
@@ -25246,8 +25245,8 @@ var Notify_default = {
25246
25245
  if (!this.__installed) {
25247
25246
  positionList.forEach((pos) => {
25248
25247
  notificationsList[pos] = ref([]);
25249
- const vert = pos === "left" || pos === "center" || pos === "right" ? "center" : pos.includes("top") ? "top" : "bottom", align = pos.includes("left") ? "start" : pos.includes("right") ? "end" : "center";
25250
- 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}`}`;
25248
+ 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}`;
25249
+ positionClass[pos] = `q-notifications__list q-notifications__list--${vert} fixed column no-wrap ${classes}`;
25251
25250
  });
25252
25251
  const el = createGlobalNode("q-notify");
25253
25252
  createChildApp(getComponent(), parentApp).mount(el);
@@ -25754,7 +25753,7 @@ function runSequentialPromises(sequentialPromises, { threadsNumber = 1, abortOnF
25754
25753
  //#endregion
25755
25754
  //#region src/index.dev.js
25756
25755
  const Quasar = {
25757
- version: "2.20.3",
25756
+ version: "2.21.1",
25758
25757
  install: install_quasar_default,
25759
25758
  lang: Plugin$5,
25760
25759
  iconSet: Plugin$4
package/dist/quasar.css CHANGED
@@ -10332,8 +10332,15 @@ body.body--dark .inset-shadow-down {
10332
10332
  opacity: 0.7;
10333
10333
  }
10334
10334
 
10335
+ .q-document--prevent-scroll {
10336
+ overscroll-behavior: none !important;
10337
+ }
10338
+ .q-document--prevent-scroll body {
10339
+ position: fixed !important;
10340
+ }
10341
+
10335
10342
  /* body */
10336
- .q-body--fullscreen-mixin, .q-body--prevent-scroll {
10343
+ .q-body--fullscreen-mixin {
10337
10344
  position: fixed !important;
10338
10345
  }
10339
10346