quasar 2.16.5 → 2.16.7

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 (125) 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/ionicons-v4.umd.prod.js +1 -1
  8. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  9. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  10. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  13. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  14. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  15. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  16. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  17. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  21. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  35. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  36. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  39. package/dist/icon-set/themify.umd.prod.js +1 -1
  40. package/dist/lang/ar-TN.umd.prod.js +1 -1
  41. package/dist/lang/ar.umd.prod.js +1 -1
  42. package/dist/lang/az-Latn.umd.prod.js +1 -1
  43. package/dist/lang/bg.umd.prod.js +1 -1
  44. package/dist/lang/bn.umd.prod.js +1 -1
  45. package/dist/lang/ca.umd.prod.js +1 -1
  46. package/dist/lang/cs.umd.prod.js +1 -1
  47. package/dist/lang/da.umd.prod.js +1 -1
  48. package/dist/lang/de-CH.umd.prod.js +1 -1
  49. package/dist/lang/de-DE.umd.prod.js +1 -1
  50. package/dist/lang/de.umd.prod.js +1 -1
  51. package/dist/lang/el.umd.prod.js +1 -1
  52. package/dist/lang/en-GB.umd.prod.js +1 -1
  53. package/dist/lang/en-US.umd.prod.js +1 -1
  54. package/dist/lang/eo.umd.prod.js +1 -1
  55. package/dist/lang/es.umd.prod.js +1 -1
  56. package/dist/lang/et.umd.prod.js +1 -1
  57. package/dist/lang/eu.umd.prod.js +1 -1
  58. package/dist/lang/fa-IR.umd.prod.js +1 -1
  59. package/dist/lang/fa.umd.prod.js +1 -1
  60. package/dist/lang/fi.umd.prod.js +1 -1
  61. package/dist/lang/fr.umd.prod.js +1 -1
  62. package/dist/lang/gn.umd.prod.js +1 -1
  63. package/dist/lang/he.umd.prod.js +1 -1
  64. package/dist/lang/hi.umd.prod.js +1 -1
  65. package/dist/lang/hr.umd.prod.js +1 -1
  66. package/dist/lang/hu.umd.prod.js +1 -1
  67. package/dist/lang/id.umd.prod.js +1 -1
  68. package/dist/lang/is.umd.prod.js +1 -1
  69. package/dist/lang/it.umd.prod.js +1 -1
  70. package/dist/lang/ja.umd.prod.js +1 -1
  71. package/dist/lang/kk.umd.prod.js +1 -1
  72. package/dist/lang/km.umd.prod.js +1 -1
  73. package/dist/lang/ko-KR.umd.prod.js +1 -1
  74. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  75. package/dist/lang/lt.umd.prod.js +1 -1
  76. package/dist/lang/lu.umd.prod.js +1 -1
  77. package/dist/lang/lv.umd.prod.js +1 -1
  78. package/dist/lang/mk.umd.prod.js +1 -1
  79. package/dist/lang/ml.umd.prod.js +1 -1
  80. package/dist/lang/mm.umd.prod.js +1 -1
  81. package/dist/lang/ms-MY.umd.prod.js +1 -1
  82. package/dist/lang/ms.umd.prod.js +1 -1
  83. package/dist/lang/my.umd.prod.js +1 -1
  84. package/dist/lang/nb-NO.umd.prod.js +1 -1
  85. package/dist/lang/nl.umd.prod.js +1 -1
  86. package/dist/lang/pl.umd.prod.js +1 -1
  87. package/dist/lang/pt-BR.umd.prod.js +1 -1
  88. package/dist/lang/pt.umd.prod.js +1 -1
  89. package/dist/lang/ro.umd.prod.js +1 -1
  90. package/dist/lang/ru.umd.prod.js +1 -1
  91. package/dist/lang/sk.umd.prod.js +1 -1
  92. package/dist/lang/sl.umd.prod.js +1 -1
  93. package/dist/lang/sm.umd.prod.js +1 -1
  94. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  95. package/dist/lang/sr.umd.prod.js +1 -1
  96. package/dist/lang/sv.umd.prod.js +1 -1
  97. package/dist/lang/ta.umd.prod.js +1 -1
  98. package/dist/lang/th.umd.prod.js +1 -1
  99. package/dist/lang/tl.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.addon.prod.css +1 -1
  109. package/dist/quasar.addon.rtl.prod.css +1 -1
  110. package/dist/quasar.client.js +69 -132
  111. package/dist/quasar.css +2 -2
  112. package/dist/quasar.prod.css +1 -1
  113. package/dist/quasar.rtl.css +2 -2
  114. package/dist/quasar.rtl.prod.css +1 -1
  115. package/dist/quasar.sass +5 -5
  116. package/dist/quasar.server.prod.cjs +4 -4
  117. package/dist/quasar.server.prod.js +4 -4
  118. package/dist/quasar.umd.js +68 -130
  119. package/dist/quasar.umd.prod.js +4 -4
  120. package/dist/web-types/web-types.json +1 -1
  121. package/package.json +8 -8
  122. package/src/components/btn/QBtn.js +2 -4
  123. package/src/components/layout/QLayout.sass +2 -2
  124. package/src/components/skeleton/QSkeleton.sass +3 -3
  125. package/src/composables/private.use-field/use-field.js +1 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.16.5
2
+ * Quasar Framework v2.16.7
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -8,8 +8,7 @@
8
8
  // src/flags.dev.js
9
9
  var attachPoint = null;
10
10
  function getAttachPoint() {
11
- if (attachPoint !== null)
12
- return attachPoint;
11
+ if (attachPoint !== null) return attachPoint;
13
12
  return attachPoint = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
14
13
  }
15
14
  if (typeof __QUASAR_SSR__ !== "boolean") {
@@ -449,8 +448,7 @@ var Screen_default = createReactivePlugin({
449
448
  setDebounce: noop,
450
449
  install({ $q, onSSRHydrated }) {
451
450
  $q.screen = this;
452
- if (false)
453
- return;
451
+ if (false) return;
454
452
  if (this.__installed === true) {
455
453
  if ($q.config.screen !== void 0) {
456
454
  if ($q.config.screen.bodyClasses === false) {
@@ -560,8 +558,7 @@ var Plugin = createReactivePlugin({
560
558
  }, {
561
559
  __media: void 0,
562
560
  set(val) {
563
- if (false)
564
- return;
561
+ if (false) return;
565
562
  Plugin.mode = val;
566
563
  if (val === "auto") {
567
564
  if (Plugin.__media === void 0) {
@@ -640,10 +637,8 @@ function isKeyCode(evt, keyCodes4) {
640
637
 
641
638
  // src/plugins/private.body/Body.js
642
639
  function getMobilePlatform(is) {
643
- if (is.ios === true)
644
- return "ios";
645
- if (is.android === true)
646
- return "android";
640
+ if (is.ios === true) return "ios";
641
+ if (is.android === true) return "android";
647
642
  }
648
643
  function getBodyClasses({ is, has: has2, within }, cfg) {
649
644
  const cls = [
@@ -723,8 +718,7 @@ var Body_default = {
723
718
  }
724
719
  return;
725
720
  }
726
- if (this.__installed === true)
727
- return;
721
+ if (this.__installed === true) return;
728
722
  if (isRuntimeSsrPreHydration.value === true) {
729
723
  applyClientSsrCorrections();
730
724
  } else {
@@ -769,8 +763,7 @@ var History_default = {
769
763
  add: noop,
770
764
  remove: noop,
771
765
  install({ $q }) {
772
- if (this.__installed === true)
773
- return;
766
+ if (this.__installed === true) return;
774
767
  const { cordova: cordova2, capacitor } = client.is;
775
768
  if (cordova2 !== true && capacitor !== true) {
776
769
  return;
@@ -920,8 +913,7 @@ var en_US_default = {
920
913
 
921
914
  // src/plugins/lang/Lang.js
922
915
  function getLocale() {
923
- if (false)
924
- return;
916
+ if (false) return;
925
917
  const val = Array.isArray(navigator.languages) === true && navigator.languages.length !== 0 ? navigator.languages[0] : navigator.language;
926
918
  if (typeof val === "string") {
927
919
  return val.split(/[-_]/).map((v, i) => i === 0 ? v.toLowerCase() : i > 1 || v.length < 4 ? v.toUpperCase() : v[0].toUpperCase() + v.slice(1).toLowerCase()).join("-");
@@ -1371,7 +1363,7 @@ function prepareApp(app2, uiOpts, pluginOpts) {
1371
1363
  }
1372
1364
  var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext) {
1373
1365
  const $q = {
1374
- version: "2.16.5",
1366
+ version: "2.16.7",
1375
1367
  config: opts.config || {}
1376
1368
  };
1377
1369
  Object.assign(ssrContext, {
@@ -1401,7 +1393,7 @@ var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext)
1401
1393
  ssrContext
1402
1394
  });
1403
1395
  } : function(parentApp, opts = {}) {
1404
- const $q = { version: "2.16.5" };
1396
+ const $q = { version: "2.16.7" };
1405
1397
  if (globalConfigIsFrozen === false) {
1406
1398
  if (opts.config !== void 0) {
1407
1399
  Object.assign(globalConfig, opts.config);
@@ -1509,8 +1501,7 @@ function inc(p, amount) {
1509
1501
  function highjackAjax(stackEntry) {
1510
1502
  highjackCount++;
1511
1503
  stack.push(stackEntry);
1512
- if (highjackCount > 1)
1513
- return;
1504
+ if (highjackCount > 1) return;
1514
1505
  xhr.prototype.open = function(_, url) {
1515
1506
  const stopStack = [];
1516
1507
  const loadStart = () => {
@@ -2140,13 +2131,11 @@ var QBreadcrumbs_default = createComponent({
2140
2131
  const sepClass = computed10(() => props4.separatorColor ? ` text-${props4.separatorColor}` : "");
2141
2132
  const activeClass = computed10(() => ` text-${props4.activeColor}`);
2142
2133
  return () => {
2143
- if (slots.default === void 0)
2144
- return;
2134
+ if (slots.default === void 0) return;
2145
2135
  const vnodes = getNormalizedVNodes(
2146
2136
  hSlot(slots.default)
2147
2137
  );
2148
- if (vnodes.length === 0)
2149
- return;
2138
+ if (vnodes.length === 0) return;
2150
2139
  let els = 1;
2151
2140
  const child = [], len = vnodes.filter((c) => c.type !== void 0 && c.type.name === "QBreadcrumbsEl").length, separator = slots.separator !== void 0 ? slots.separator : () => props4.separator;
2152
2141
  vnodes.forEach((comp) => {
@@ -2661,14 +2650,10 @@ var formTypes = ["button", "submit", "reset"];
2661
2650
  var mediaTypeRE = /[^\s]\/[^\s]/;
2662
2651
  var btnDesignOptions = ["flat", "outline", "push", "unelevated"];
2663
2652
  function getBtnDesign(props4, defaultValue) {
2664
- if (props4.flat === true)
2665
- return "flat";
2666
- if (props4.outline === true)
2667
- return "outline";
2668
- if (props4.push === true)
2669
- return "push";
2670
- if (props4.unelevated === true)
2671
- return "unelevated";
2653
+ if (props4.flat === true) return "flat";
2654
+ if (props4.outline === true) return "outline";
2655
+ if (props4.push === true) return "push";
2656
+ if (props4.unelevated === true) return "unelevated";
2672
2657
  return defaultValue;
2673
2658
  }
2674
2659
  function getBtnDesignAttr(props4) {
@@ -2879,8 +2864,7 @@ var QBtn_default = createComponent({
2879
2864
  ...onEvents.value
2880
2865
  }));
2881
2866
  function onClick(e) {
2882
- if (rootRef.value === null)
2883
- return;
2867
+ if (rootRef.value === null) return;
2884
2868
  if (e !== void 0) {
2885
2869
  if (e.defaultPrevented === true) {
2886
2870
  return;
@@ -2901,8 +2885,7 @@ var QBtn_default = createComponent({
2901
2885
  navigateOnClick(e);
2902
2886
  }
2903
2887
  function onKeydown2(e) {
2904
- if (rootRef.value === null)
2905
- return;
2888
+ if (rootRef.value === null) return;
2906
2889
  emit("keydown", e);
2907
2890
  if (isKeyCode(e, [13, 32]) === true && keyboardTarget !== rootRef.value) {
2908
2891
  keyboardTarget !== null && cleanup();
@@ -2917,11 +2900,9 @@ var QBtn_default = createComponent({
2917
2900
  }
2918
2901
  }
2919
2902
  function onTouchstart(e) {
2920
- if (rootRef.value === null)
2921
- return;
2903
+ if (rootRef.value === null) return;
2922
2904
  emit("touchstart", e);
2923
- if (e.defaultPrevented === true)
2924
- return;
2905
+ if (e.defaultPrevented === true) return;
2925
2906
  if (touchTarget !== rootRef.value) {
2926
2907
  touchTarget !== null && cleanup();
2927
2908
  touchTarget = rootRef.value;
@@ -2937,8 +2918,7 @@ var QBtn_default = createComponent({
2937
2918
  }, 200);
2938
2919
  }
2939
2920
  function onMousedown(e) {
2940
- if (rootRef.value === null)
2941
- return;
2921
+ if (rootRef.value === null) return;
2942
2922
  e.qSkipRipple = avoidMouseRipple === true;
2943
2923
  emit("mousedown", e);
2944
2924
  if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {
@@ -2949,8 +2929,7 @@ var QBtn_default = createComponent({
2949
2929
  }
2950
2930
  }
2951
2931
  function onPressEnd(e) {
2952
- if (rootRef.value === null)
2953
- return;
2932
+ if (rootRef.value === null) return;
2954
2933
  if (e !== void 0 && e.type === "blur" && document.activeElement === rootRef.value) {
2955
2934
  return;
2956
2935
  }
@@ -3012,8 +2991,7 @@ var QBtn_default = createComponent({
3012
2991
  h11(QIcon_default, {
3013
2992
  name: props4.icon,
3014
2993
  left: props4.stack !== true && hasLabel.value === true,
3015
- role: "img",
3016
- "aria-hidden": "true"
2994
+ role: "img"
3017
2995
  })
3018
2996
  );
3019
2997
  hasLabel.value === true && inner.push(
@@ -3025,8 +3003,7 @@ var QBtn_default = createComponent({
3025
3003
  h11(QIcon_default, {
3026
3004
  name: props4.iconRight,
3027
3005
  right: props4.stack !== true && hasLabel.value === true,
3028
- role: "img",
3029
- "aria-hidden": "true"
3006
+ role: "img"
3030
3007
  })
3031
3008
  );
3032
3009
  }
@@ -3208,8 +3185,7 @@ function use_anchor_default({
3208
3185
  }
3209
3186
  });
3210
3187
  configureAnchorEl = function(context = props4.contextMenu) {
3211
- if (props4.noParentEvent === true || anchorEl.value === null)
3212
- return;
3188
+ if (props4.noParentEvent === true || anchorEl.value === null) return;
3213
3189
  let evts;
3214
3190
  if (context === true) {
3215
3191
  if (proxy.$q.platform.is.mobile === true) {
@@ -3631,8 +3607,7 @@ function use_portal_default(vm2, innerRef, renderPortalContent, type) {
3631
3607
  }
3632
3608
  function hidePortal(isReady) {
3633
3609
  portalIsAccessible.value = false;
3634
- if (isReady !== true)
3635
- return;
3610
+ if (isReady !== true) return;
3636
3611
  removeFocusWaitFlag(focusObj);
3637
3612
  portalIsActive.value = false;
3638
3613
  const index = portalProxyList.indexOf(vm2.proxy);
@@ -6283,8 +6258,7 @@ var QChip_default = createComponent({
6283
6258
  return child;
6284
6259
  }
6285
6260
  return () => {
6286
- if (props4.modelValue === false)
6287
- return;
6261
+ if (props4.modelValue === false) return;
6288
6262
  const data = {
6289
6263
  class: classes.value,
6290
6264
  style: sizeStyle.value
@@ -7644,8 +7618,7 @@ var QTabs_default = createComponent({
7644
7618
  });
7645
7619
  }
7646
7620
  function updateContainer(domSize) {
7647
- if (domProps.value === void 0 || contentRef.value === null)
7648
- return;
7621
+ if (domProps.value === void 0 || contentRef.value === null) return;
7649
7622
  const size2 = domSize[domProps.value.container], scrollSize = Math.min(
7650
7623
  contentRef.value[domProps.value.scroll],
7651
7624
  Array.prototype.reduce.call(
@@ -7700,8 +7673,7 @@ var QTabs_default = createComponent({
7700
7673
  }
7701
7674
  function updateArrows() {
7702
7675
  const content = contentRef.value;
7703
- if (content === null)
7704
- return;
7676
+ if (content === null) return;
7705
7677
  const rect = content.getBoundingClientRect(), pos = props4.vertical === true ? content.scrollTop : Math.abs(content.scrollLeft);
7706
7678
  if (isRTL.value === true) {
7707
7679
  leftArrow.value = Math.ceil(pos + rect.width) < content.scrollWidth - 1;
@@ -7737,8 +7709,7 @@ var QTabs_default = createComponent({
7737
7709
  (el) => el === fromEl || el.matches && el.matches(".q-tab.q-focusable") === true
7738
7710
  );
7739
7711
  const len = tabs.length;
7740
- if (len === 0)
7741
- return;
7712
+ if (len === 0) return;
7742
7713
  if (keyCode === 36) {
7743
7714
  scrollToTabEl(tabs[0]);
7744
7715
  tabs[0].focus();
@@ -8649,8 +8620,7 @@ var QColor_default = createComponent({
8649
8620
  }
8650
8621
  function changeSpectrum(left, top, change) {
8651
8622
  const panel = spectrumRef.value;
8652
- if (panel === null)
8653
- return;
8623
+ if (panel === null) return;
8654
8624
  const width3 = panel.clientWidth, height2 = panel.clientHeight, rect = panel.getBoundingClientRect();
8655
8625
  let x = Math.min(width3, Math.max(0, left - rect.left));
8656
8626
  if ($q.lang.rtl === true) {
@@ -9171,12 +9141,9 @@ function isLeapJalaaliYear(jy) {
9171
9141
  return jalCalLeap(jy) === 0;
9172
9142
  }
9173
9143
  function jalaaliMonthLength(jy, jm) {
9174
- if (jm <= 6)
9175
- return 31;
9176
- if (jm <= 11)
9177
- return 30;
9178
- if (isLeapJalaaliYear(jy))
9179
- return 30;
9144
+ if (jm <= 6) return 31;
9145
+ if (jm <= 11) return 30;
9146
+ if (isLeapJalaaliYear(jy)) return 30;
9180
9147
  return 29;
9181
9148
  }
9182
9149
  function jalCalLeap(jy) {
@@ -10866,8 +10833,7 @@ var QDate_default = createComponent({
10866
10833
  emit("update:modelValue", (props4.multiple === true ? model : model[0]) || null, reason);
10867
10834
  }
10868
10835
  function getHeader() {
10869
- if (props4.minimal === true)
10870
- return;
10836
+ if (props4.minimal === true) return;
10871
10837
  return h38("div", {
10872
10838
  class: "q-date__header " + headerClass.value
10873
10839
  }, [
@@ -11571,8 +11537,7 @@ var QDialog_default = createComponent({
11571
11537
  function focus(selector) {
11572
11538
  addFocusFn(() => {
11573
11539
  let node = innerRef.value;
11574
- if (node === null)
11575
- return;
11540
+ if (node === null) return;
11576
11541
  if (selector !== void 0) {
11577
11542
  const target2 = node.querySelector(selector);
11578
11543
  if (target2 !== null) {
@@ -11992,8 +11957,7 @@ var QDrawer_default = createComponent({
11992
11957
  applyPosition();
11993
11958
  });
11994
11959
  watch15(() => props4.mini, () => {
11995
- if (props4.noMiniAnimation)
11996
- return;
11960
+ if (props4.noMiniAnimation) return;
11997
11961
  if (props4.modelValue === true) {
11998
11962
  animateMini();
11999
11963
  $layout.animate();
@@ -12660,8 +12624,7 @@ var QTooltip_default = createComponent({
12660
12624
  }, props4.hideDelay);
12661
12625
  }
12662
12626
  function configureAnchorEl() {
12663
- if (props4.noParentEvent === true || anchorEl.value === null)
12664
- return;
12627
+ if (props4.noParentEvent === true || anchorEl.value === null) return;
12665
12628
  const evts = $q.platform.is.mobile === true ? [
12666
12629
  [anchorEl.value, "touchstart", "delayShow", "passive"]
12667
12630
  ] : [
@@ -14716,6 +14679,7 @@ function use_field_default(state) {
14716
14679
  name: props4.clearIcon || $q.iconSet.field.clear,
14717
14680
  tabindex: 0,
14718
14681
  role: "button",
14682
+ "aria-hidden": "false",
14719
14683
  "aria-label": $q.lang.label.clear,
14720
14684
  onKeyup: onClearableKeyup,
14721
14685
  onClick: clearValue
@@ -15203,8 +15167,7 @@ var QFile_default = createComponent({
15203
15167
  if (fileInput !== void 0 && fileInput !== null) {
15204
15168
  fileInput.value = "";
15205
15169
  }
15206
- if (files === void 0)
15207
- return;
15170
+ if (files === void 0) return;
15208
15171
  if (props4.multiple === true ? props4.modelValue && files.every((f) => innerValue.value.includes(f)) : props4.modelValue === files[0]) {
15209
15172
  return;
15210
15173
  }
@@ -15382,8 +15345,7 @@ var QFooter_default = createComponent({
15382
15345
  updateLayout("size", height2);
15383
15346
  }
15384
15347
  function updateRevealed() {
15385
- if (props4.reveal !== true)
15386
- return;
15348
+ if (props4.reveal !== true) return;
15387
15349
  const { direction, position: position2, inflectionPoint } = $layout.scroll.value;
15388
15350
  updateLocal(revealed, direction === "up" || position2 - inflectionPoint < 100 || $layout.height.value - containerHeight.value - position2 - size2.value < 300);
15389
15351
  }
@@ -15536,8 +15498,7 @@ var QForm_default = createComponent({
15536
15498
  }
15537
15499
  function focus() {
15538
15500
  addFocusFn(() => {
15539
- if (rootRef.value === null)
15540
- return;
15501
+ if (rootRef.value === null) return;
15541
15502
  const target2 = rootRef.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || rootRef.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || rootRef.value.querySelector("[autofocus], [data-autofocus]") || Array.prototype.find.call(rootRef.value.querySelectorAll("[tabindex]"), (el) => el.tabIndex !== -1);
15542
15503
  target2 !== null && target2 !== void 0 && target2.focus({ preventScroll: true });
15543
15504
  });
@@ -15873,8 +15834,7 @@ var QImg_default = createComponent({
15873
15834
  }
15874
15835
  }
15875
15836
  function waitForCompleteness(target2, count) {
15876
- if (count === 1e3 || vmIsDestroyed(vm2) === true)
15877
- return;
15837
+ if (count === 1e3 || vmIsDestroyed(vm2) === true) return;
15878
15838
  if (target2.complete === true) {
15879
15839
  onReady(target2);
15880
15840
  } else {
@@ -15884,8 +15844,7 @@ var QImg_default = createComponent({
15884
15844
  }
15885
15845
  }
15886
15846
  function onReady(target2) {
15887
- if (vmIsDestroyed(vm2) === true)
15888
- return;
15847
+ if (vmIsDestroyed(vm2) === true) return;
15889
15848
  position2.value = position2.value ^ 1;
15890
15849
  images[position2.value].value = null;
15891
15850
  clearLoading();
@@ -16639,8 +16598,7 @@ var isPlainText = /[a-z0-9_ -]$/i;
16639
16598
  function use_key_composition_default(onInput) {
16640
16599
  return function onComposition(e) {
16641
16600
  if (e.type === "compositionend" || e.type === "change") {
16642
- if (e.target.qComposing !== true)
16643
- return;
16601
+ if (e.target.qComposing !== true) return;
16644
16602
  e.target.qComposing = false;
16645
16603
  onInput(e);
16646
16604
  } else if (e.type === "compositionupdate" && e.target.qComposing !== true && typeof e.data === "string") {
@@ -18578,8 +18536,7 @@ function frame_debounce_default(fn) {
18578
18536
  let wait = false, frame, callArgs;
18579
18537
  function debounced() {
18580
18538
  callArgs = arguments;
18581
- if (wait === true)
18582
- return;
18539
+ if (wait === true) return;
18583
18540
  wait = true;
18584
18541
  frame = window.requestAnimationFrame(() => {
18585
18542
  fn.apply(this, callArgs);
@@ -18727,10 +18684,8 @@ import { h as h77, ref as ref47, computed as computed81, nextTick as nextTick15,
18727
18684
 
18728
18685
  // src/utils/clone/clone.js
18729
18686
  function cloneDeep(data, hash = /* @__PURE__ */ new WeakMap()) {
18730
- if (Object(data) !== data)
18731
- return data;
18732
- if (hash.has(data))
18733
- return hash.get(data);
18687
+ if (Object(data) !== data) return data;
18688
+ if (hash.has(data)) return hash.get(data);
18734
18689
  const result = data instanceof Date ? new Date(data) : data instanceof RegExp ? new RegExp(data.source, data.flags) : data instanceof Set ? /* @__PURE__ */ new Set() : data instanceof Map ? /* @__PURE__ */ new Map() : typeof data.constructor !== "function" ? /* @__PURE__ */ Object.create(null) : data.prototype !== void 0 && typeof data.prototype.constructor === "function" ? data : new data.constructor();
18735
18690
  if (typeof data.constructor === "function" && typeof data.valueOf === "function") {
18736
18691
  const val = data.valueOf();
@@ -18897,8 +18852,7 @@ var QPopupEdit_default = createComponent({
18897
18852
  updatePosition
18898
18853
  });
18899
18854
  return () => {
18900
- if (props4.disable === true)
18901
- return;
18855
+ if (props4.disable === true) return;
18902
18856
  return h77(QMenu_default, {
18903
18857
  ref: menuRef,
18904
18858
  class: "q-popup-edit",
@@ -20025,8 +19979,7 @@ var QScrollArea_default = createComponent({
20025
19979
  };
20026
19980
  });
20027
19981
  onActivated5(() => {
20028
- if (scrollPosition === null)
20029
- return;
19982
+ if (scrollPosition === null) return;
20030
19983
  const scrollTarget = targetRef.value;
20031
19984
  if (scrollTarget !== null) {
20032
19985
  setHorizontalScrollPosition(scrollTarget, scrollPosition.left);
@@ -20636,8 +20589,7 @@ function useVirtualScroll({
20636
20589
  shouldActivate = true;
20637
20590
  });
20638
20591
  onActivated6(() => {
20639
- if (shouldActivate !== true)
20640
- return;
20592
+ if (shouldActivate !== true) return;
20641
20593
  const scrollEl = getVirtualScrollTarget();
20642
20594
  if (prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {
20643
20595
  setScroll2(
@@ -21035,8 +20987,7 @@ var QSelect_default = createComponent({
21035
20987
  emit("update:modelValue", model);
21036
20988
  }
21037
20989
  function setOptionIndex(index) {
21038
- if ($q.platform.is.desktop !== true)
21039
- return;
20990
+ if ($q.platform.is.desktop !== true) return;
21040
20991
  const val = index !== -1 && index < virtualScrollLength.value ? index : -1;
21041
20992
  if (optionIndex.value !== val) {
21042
20993
  optionIndex.value = val;
@@ -21151,8 +21102,7 @@ var QSelect_default = createComponent({
21151
21102
  closeMenu();
21152
21103
  return;
21153
21104
  }
21154
- if (e.target === void 0 || e.target.id !== state.targetUid.value || state.editable.value !== true)
21155
- return;
21105
+ if (e.target === void 0 || e.target.id !== state.targetUid.value || state.editable.value !== true) return;
21156
21106
  if (e.keyCode === 40 && state.innerLoading.value !== true && menu.value === false) {
21157
21107
  stopAndPrevent(e);
21158
21108
  showPopup();
@@ -21216,8 +21166,7 @@ var QSelect_default = createComponent({
21216
21166
  }
21217
21167
  return;
21218
21168
  }
21219
- if (e.keyCode !== 13 && (e.keyCode !== 32 || props4.useInput === true || searchBuffer !== "") && (e.keyCode !== 9 || tabShouldSelect === false))
21220
- return;
21169
+ if (e.keyCode !== 13 && (e.keyCode !== 32 || props4.useInput === true || searchBuffer !== "") && (e.keyCode !== 9 || tabShouldSelect === false)) return;
21221
21170
  e.keyCode !== 9 && stopAndPrevent(e);
21222
21171
  if (optionIndex.value !== -1 && optionIndex.value < optionsLength) {
21223
21172
  toggleOption(props4.options[optionIndex.value]);
@@ -23966,10 +23915,8 @@ var QSplitter_default = createComponent({
23966
23915
  limits: {
23967
23916
  type: Array,
23968
23917
  validator: (v) => {
23969
- if (v.length !== 2)
23970
- return false;
23971
- if (typeof v[0] !== "number" || typeof v[1] !== "number")
23972
- return false;
23918
+ if (v.length !== 2) return false;
23919
+ if (typeof v[0] !== "number" || typeof v[1] !== "number") return false;
23973
23920
  return v[0] >= 0 && v[0] <= v[1];
23974
23921
  }
23975
23922
  },
@@ -24453,8 +24400,7 @@ var QTh_default = createComponent({
24453
24400
  const name2 = vm2.vnode.key;
24454
24401
  if (name2) {
24455
24402
  col = props4.props.colsMap[name2];
24456
- if (col === void 0)
24457
- return;
24403
+ if (col === void 0) return;
24458
24404
  } else {
24459
24405
  col = props4.props.col;
24460
24406
  }
@@ -25877,8 +25823,7 @@ var QTd_default = createComponent({
25877
25823
  }
25878
25824
  const name2 = vm2.vnode.key;
25879
25825
  const col = (props4.props.colsMap !== void 0 ? props4.props.colsMap[name2] : null) || props4.props.col;
25880
- if (col === void 0)
25881
- return;
25826
+ if (col === void 0) return;
25882
25827
  const { row } = props4.props;
25883
25828
  return h122("td", {
25884
25829
  class: classes.value + col.__tdClass(row),
@@ -26270,8 +26215,7 @@ var QTime_default = createComponent({
26270
26215
  const payload = e.keyCode === 37 ? -1 : 1;
26271
26216
  if (validHours.value !== null) {
26272
26217
  const values = computedFormat24h.value === true ? validHours.value.values : validHours.value[isAM.value === true ? "am" : "pm"].values;
26273
- if (values.length === 0)
26274
- return;
26218
+ if (values.length === 0) return;
26275
26219
  if (innerModel.value.hour === null) {
26276
26220
  setHour(values[0]);
26277
26221
  } else {
@@ -26291,8 +26235,7 @@ var QTime_default = createComponent({
26291
26235
  const payload = e.keyCode === 37 ? -1 : 1;
26292
26236
  if (validMinutes.value !== null) {
26293
26237
  const values = validMinutes.value.values;
26294
- if (values.length === 0)
26295
- return;
26238
+ if (values.length === 0) return;
26296
26239
  if (innerModel.value.minute === null) {
26297
26240
  setMinute(values[0]);
26298
26241
  } else {
@@ -26312,8 +26255,7 @@ var QTime_default = createComponent({
26312
26255
  const payload = e.keyCode === 37 ? -1 : 1;
26313
26256
  if (validSeconds.value !== null) {
26314
26257
  const values = validSeconds.value.values;
26315
- if (values.length === 0)
26316
- return;
26258
+ if (values.length === 0) return;
26317
26259
  if (innerModel.value.seconds === null) {
26318
26260
  setSecond(values[0]);
26319
26261
  } else {
@@ -27394,8 +27336,7 @@ function getRenderer(getPlugin, expose) {
27394
27336
  }
27395
27337
  }
27396
27338
  function removeFile(file) {
27397
- if (props4.disable)
27398
- return;
27339
+ if (props4.disable) return;
27399
27340
  if (file.__status === "uploaded") {
27400
27341
  state.uploadedFiles.value = state.uploadedFiles.value.filter((f) => f.__key !== file.__key);
27401
27342
  } else if (file.__status === "uploading") {
@@ -27427,8 +27368,7 @@ function getRenderer(getPlugin, expose) {
27427
27368
  if (fileInput !== void 0 && fileInput !== null) {
27428
27369
  fileInput.value = "";
27429
27370
  }
27430
- if (localFiles === void 0)
27431
- return;
27371
+ if (localFiles === void 0) return;
27432
27372
  localFiles.forEach((file) => {
27433
27373
  state.updateFileStatus(file, "idle");
27434
27374
  uploadSize.value += file.size;
@@ -27754,8 +27694,7 @@ function injectPlugin({ props: props4, emit, helpers }) {
27754
27694
  });
27755
27695
  let uploadIndex = 0, uploadIndexSize = 0, localUploadedSize = 0, maxUploadSize = 0, aborted;
27756
27696
  xhr2.upload.addEventListener("progress", (e) => {
27757
- if (aborted === true)
27758
- return;
27697
+ if (aborted === true) return;
27759
27698
  const loaded = Math.min(maxUploadSize, e.loaded);
27760
27699
  helpers.uploadedSize.value += loaded - localUploadedSize;
27761
27700
  localUploadedSize = loaded;
@@ -30168,8 +30107,7 @@ var Plugin7 = createReactivePlugin({
30168
30107
  isActive: false
30169
30108
  }, {
30170
30109
  show(opts) {
30171
- if (false)
30172
- return;
30110
+ if (false) return;
30173
30111
  props3 = registerProps(opts);
30174
30112
  const { group } = props3;
30175
30113
  Plugin7.isActive = true;
@@ -30295,8 +30233,7 @@ var Plugin8 = createReactivePlugin({
30295
30233
  setDefaults: noop,
30296
30234
  install({ $q, parentApp }) {
30297
30235
  $q.loadingBar = this;
30298
- if (false)
30299
- return;
30236
+ if (false) return;
30300
30237
  if (this.__installed === true) {
30301
30238
  if ($q.config.loadingBar !== void 0) {
30302
30239
  this.setDefaults($q.config.loadingBar);
@@ -31421,7 +31358,7 @@ function runSequentialPromises(sequentialPromises, { threadsNumber = 1, abortOnF
31421
31358
 
31422
31359
  // src/index.dev.js
31423
31360
  var Quasar = {
31424
- version: "2.16.5",
31361
+ version: "2.16.7",
31425
31362
  install: install_quasar_default,
31426
31363
  // TODO: remove in Qv3 (should only be used through the plugin)
31427
31364
  // We provide a deprecated fallback here
package/dist/quasar.css CHANGED
@@ -3031,7 +3031,7 @@ body.body--dark .q-knob--editable:focus:before {
3031
3031
  }
3032
3032
 
3033
3033
  body.q-ios-padding .q-layout--standard .q-header > .q-toolbar:nth-child(1),
3034
- body.q-ios-padding .q-layout--standard .q-header > .q-tabs:nth-child(1) .q-tabs-head,
3034
+ body.q-ios-padding .q-layout--standard .q-header > .q-tabs:nth-child(1) .q-tabs__content,
3035
3035
  body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
3036
3036
  padding-top: 20px;
3037
3037
  min-height: 70px;
@@ -3039,7 +3039,7 @@ body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content
3039
3039
  min-height: calc(env(safe-area-inset-top) + 50px);
3040
3040
  }
3041
3041
  body.q-ios-padding .q-layout--standard .q-footer > .q-toolbar:last-child,
3042
- body.q-ios-padding .q-layout--standard .q-footer > .q-tabs:last-child .q-tabs-head,
3042
+ body.q-ios-padding .q-layout--standard .q-footer > .q-tabs:nth-last-child(1 of :not(.q-layout__shadow)) .q-tabs__content,
3043
3043
  body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
3044
3044
  padding-bottom: env(safe-area-inset-bottom);
3045
3045
  min-height: calc(env(safe-area-inset-bottom) + 50px);