quasar 2.6.1 → 2.6.4

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 (137) hide show
  1. package/dist/api/Notify.json +68 -734
  2. package/dist/api/QBreadcrumbsEl.json +5 -5
  3. package/dist/api/QBtn.json +2 -2
  4. package/dist/api/QBtnDropdown.json +2 -2
  5. package/dist/api/QExpansionItem.json +5 -5
  6. package/dist/api/QItem.json +5 -5
  7. package/dist/api/QRouteTab.json +5 -5
  8. package/dist/api/QTable.json +14 -0
  9. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  10. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  12. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  13. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  14. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  15. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  16. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  19. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +6 -0
  28. package/dist/icon-set/svg-fontawesome-v6.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-line-awesome.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-mdi-v6.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 +6 -0
  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.umd.prod.js +1 -1
  49. package/dist/lang/el.umd.prod.js +1 -1
  50. package/dist/lang/en-GB.umd.prod.js +1 -1
  51. package/dist/lang/en-US.umd.prod.js +1 -1
  52. package/dist/lang/eo.umd.prod.js +1 -1
  53. package/dist/lang/es.umd.prod.js +1 -1
  54. package/dist/lang/et.umd.prod.js +1 -1
  55. package/dist/lang/eu.umd.prod.js +1 -1
  56. package/dist/lang/fa-IR.umd.prod.js +1 -1
  57. package/dist/lang/fa.umd.prod.js +1 -1
  58. package/dist/lang/fi.umd.prod.js +1 -1
  59. package/dist/lang/fr.umd.prod.js +1 -1
  60. package/dist/lang/gn.umd.prod.js +1 -1
  61. package/dist/lang/he.umd.prod.js +1 -1
  62. package/dist/lang/hr.umd.prod.js +1 -1
  63. package/dist/lang/hu.umd.prod.js +1 -1
  64. package/dist/lang/id.umd.prod.js +1 -1
  65. package/dist/lang/is.umd.prod.js +1 -1
  66. package/dist/lang/it.umd.prod.js +1 -1
  67. package/dist/lang/ja.umd.prod.js +1 -1
  68. package/dist/lang/km.umd.prod.js +1 -1
  69. package/dist/lang/ko-KR.umd.prod.js +1 -1
  70. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  71. package/dist/lang/kz.umd.prod.js +1 -1
  72. package/dist/lang/lt.umd.prod.js +1 -1
  73. package/dist/lang/lu.umd.prod.js +1 -1
  74. package/dist/lang/lv.umd.prod.js +1 -1
  75. package/dist/lang/ml.umd.prod.js +1 -1
  76. package/dist/lang/ms.umd.prod.js +1 -1
  77. package/dist/lang/my.umd.prod.js +1 -1
  78. package/dist/lang/nb-NO.umd.prod.js +1 -1
  79. package/dist/lang/nl.umd.prod.js +1 -1
  80. package/dist/lang/pl.umd.prod.js +1 -1
  81. package/dist/lang/pt-BR.umd.prod.js +1 -1
  82. package/dist/lang/pt.umd.prod.js +1 -1
  83. package/dist/lang/ro.umd.prod.js +1 -1
  84. package/dist/lang/ru.umd.prod.js +1 -1
  85. package/dist/lang/sk.umd.prod.js +1 -1
  86. package/dist/lang/sl.umd.prod.js +1 -1
  87. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  88. package/dist/lang/sr.umd.prod.js +1 -1
  89. package/dist/lang/sv.umd.prod.js +1 -1
  90. package/dist/lang/ta.umd.prod.js +1 -1
  91. package/dist/lang/th.umd.prod.js +1 -1
  92. package/dist/lang/tr.umd.prod.js +1 -1
  93. package/dist/lang/ug.umd.prod.js +1 -1
  94. package/dist/lang/uk.umd.prod.js +1 -1
  95. package/dist/lang/vi.umd.prod.js +1 -1
  96. package/dist/lang/zh-CN.umd.prod.js +1 -1
  97. package/dist/lang/zh-TW.umd.prod.js +1 -1
  98. package/dist/quasar.cjs.prod.js +2 -2
  99. package/dist/quasar.css +12 -20
  100. package/dist/quasar.esm.prod.js +2 -2
  101. package/dist/quasar.prod.css +1 -1
  102. package/dist/quasar.rtl.css +27 -39
  103. package/dist/quasar.rtl.prod.css +1 -1
  104. package/dist/quasar.sass +9 -15
  105. package/dist/quasar.umd.js +88 -33
  106. package/dist/quasar.umd.prod.js +2 -2
  107. package/dist/types/api/qnotify.d.ts +9 -0
  108. package/dist/types/api.d.ts +1 -0
  109. package/dist/types/index.d.ts +176 -753
  110. package/dist/vetur/quasar-attributes.json +28 -24
  111. package/dist/vetur/quasar-tags.json +1 -0
  112. package/dist/web-types/web-types.json +34 -25
  113. package/icon-set/svg-fontawesome-v5.js +197 -0
  114. package/icon-set/svg-fontawesome-v5.mjs +197 -0
  115. package/lang/ar-TN.js +101 -0
  116. package/lang/ar-TN.mjs +96 -0
  117. package/lang/index.json +4 -0
  118. package/package.json +7 -5
  119. package/src/components/btn/use-btn.json +2 -2
  120. package/src/components/checkbox/QCheckbox.js +1 -1
  121. package/src/components/checkbox/QCheckbox.sass +5 -9
  122. package/src/components/dialog-plugin/DialogPlugin.js +4 -4
  123. package/src/components/editor/editor-caret.js +1 -1
  124. package/src/components/fab/QFab.js +1 -1
  125. package/src/components/icon/QIcon.js +3 -4
  126. package/src/components/radio/QRadio.js +1 -1
  127. package/src/components/radio/QRadio.sass +5 -9
  128. package/src/components/select/QSelect.js +15 -0
  129. package/src/components/table/QTable.js +4 -0
  130. package/src/components/table/QTable.json +4 -0
  131. package/src/components/table/QTh.js +5 -2
  132. package/src/components/virtual-scroll/QVirtualScroll.js +9 -1
  133. package/src/composables/private/__tests__/use-transition.spec.js +2 -2
  134. package/src/composables/private/use-router-link.json +5 -5
  135. package/src/plugins/Notify.json +55 -533
  136. package/src/utils/date.js +8 -12
  137. package/src/utils/extend.js +33 -5
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.6.1
2
+ * Quasar Framework v2.6.4
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1288,19 +1288,19 @@ $checkbox-transition: .22s cubic-bezier(0,0,.2,1) 0ms
1288
1288
  height: 1px
1289
1289
  &__bg,
1290
1290
  &__icon-container
1291
+ user-select: none
1292
+ &__bg
1291
1293
  top: 25%
1292
1294
  left: 25%
1293
1295
  width: 50%
1294
1296
  height: 50%
1295
- user-select: none
1296
- &__bg
1297
1297
  border: 2px solid currentColor
1298
1298
  border-radius: 2px
1299
1299
  transition: background $checkbox-transition
1300
1300
  -webkit-print-color-adjust: exact
1301
1301
  &__icon
1302
1302
  color: currentColor
1303
- font-size: .6em
1303
+ font-size: .5em
1304
1304
  &__svg
1305
1305
  color: #fff
1306
1306
  &__truthy
@@ -1342,14 +1342,11 @@ $checkbox-transition: .22s cubic-bezier(0,0,.2,1) 0ms
1342
1342
  &--truthy, &--indet
1343
1343
  color: var(--q-primary)
1344
1344
  &--dense
1345
- .q-checkbox__icon
1346
- font-size: .6em
1347
1345
  .q-checkbox__inner
1348
1346
  width: .5em
1349
1347
  min-width: .5em
1350
1348
  height: .5em
1351
- .q-checkbox__bg,
1352
- .q-checkbox__icon-container
1349
+ .q-checkbox__bg
1353
1350
  left: 5%
1354
1351
  top: 5%
1355
1352
  width: 90%
@@ -3124,18 +3121,18 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
3124
3121
  height: 1px
3125
3122
  &__bg,
3126
3123
  &__icon-container
3124
+ user-select: none
3125
+ &__bg
3127
3126
  top: 25%
3128
3127
  left: 25%
3129
3128
  width: 50%
3130
3129
  height: 50%
3131
- user-select: none
3132
- &__bg
3133
3130
  -webkit-print-color-adjust: exact
3134
3131
  path
3135
3132
  fill: currentColor
3136
3133
  &__icon
3137
3134
  color: currentColor
3138
- font-size: .6em
3135
+ font-size: .5em
3139
3136
  &__check
3140
3137
  transform-origin: 50% 50%
3141
3138
  transform: scale3d(0, 0, 1)
@@ -3162,14 +3159,11 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
3162
3159
  &--truthy
3163
3160
  color: var(--q-primary)
3164
3161
  &--dense
3165
- .q-checkbox__icon
3166
- font-size: .6em
3167
3162
  .q-radio__inner
3168
3163
  width: .5em
3169
3164
  min-width: .5em
3170
3165
  height: .5em
3171
- .q-radio__bg,
3172
- .q-radio__icon-container
3166
+ .q-radio__bg
3173
3167
  left: 0
3174
3168
  top: 0
3175
3169
  width: 100%
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.6.1
2
+ * Quasar Framework v2.6.4
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1603,7 +1603,7 @@
1603
1603
  }
1604
1604
 
1605
1605
  var installQuasar = function (parentApp, opts = {}) {
1606
- const $q = { version: '2.6.1' };
1606
+ const $q = { version: '2.6.4' };
1607
1607
 
1608
1608
  if (globalConfigIsFrozen === false) {
1609
1609
  if (opts.config !== void 0) {
@@ -2041,13 +2041,13 @@
2041
2041
  const ionFn = i => `ionicons ${ i }`;
2042
2042
 
2043
2043
  const libMap = {
2044
+ 'mdi-': i => `mdi ${ i }`,
2044
2045
  'icon-': sameFn, // fontawesome equiv
2045
2046
  'bt-': i => `bt ${ i }`,
2046
2047
  'eva-': i => `eva ${ i }`,
2047
2048
  'ion-md': ionFn,
2048
2049
  'ion-ios': ionFn,
2049
2050
  'ion-logo': ionFn,
2050
- 'mdi-': i => `mdi ${ i }`,
2051
2051
  'iconfont ': sameFn,
2052
2052
  'ti-': i => `themify-icon ${ i }`,
2053
2053
  'bi-': i => `bootstrap-icons ${ i }`
@@ -2065,8 +2065,7 @@
2065
2065
  const imgRE = /^img:/;
2066
2066
  const svgUseRE = /^svguse:/;
2067
2067
  const ionRE = /^ion-/;
2068
- const faLaRE = /^[lf]a[srlbdk]? /;
2069
- const fa6RE = /^fa-(brand|regular|solid)/;
2068
+ const faRE = /^(fa-(solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /;
2070
2069
 
2071
2070
  var QIcon = createComponent({
2072
2071
  name: 'QIcon',
@@ -2160,7 +2159,7 @@
2160
2159
  if (matches !== null) {
2161
2160
  cls = libMap[ matches[ 1 ] ](icon);
2162
2161
  }
2163
- else if (faLaRE.test(icon) === true || fa6RE.test(icon) === true) {
2162
+ else if (faRE.test(icon) === true) {
2164
2163
  cls = icon;
2165
2164
  }
2166
2165
  else if (ionRE.test(icon) === true) {
@@ -7460,7 +7459,7 @@
7460
7459
  ? [
7461
7460
  vue.h('div', {
7462
7461
  key: 'icon',
7463
- class: 'q-checkbox__icon-container absolute flex flex-center no-wrap'
7462
+ class: 'q-checkbox__icon-container absolute-full flex flex-center no-wrap'
7464
7463
  }, [
7465
7464
  vue.h(QIcon, {
7466
7465
  class: 'q-checkbox__icon',
@@ -12364,16 +12363,16 @@
12364
12363
 
12365
12364
  const formatter = {
12366
12365
  // Year: 00, 01, ..., 99
12367
- YY (date, _, forcedYear) {
12366
+ YY (date, dateLocale, forcedYear) {
12368
12367
  // workaround for < 1900 with new Date()
12369
- const y = this.YYYY(date, _, forcedYear) % 100;
12368
+ const y = this.YYYY(date, dateLocale, forcedYear) % 100;
12370
12369
  return y > 0
12371
12370
  ? pad(y)
12372
12371
  : '-' + pad(Math.abs(y))
12373
12372
  },
12374
12373
 
12375
12374
  // Year: 1900, 1901, ..., 2099
12376
- YYYY (date, _, forcedYear) {
12375
+ YYYY (date, _dateLocale, forcedYear) {
12377
12376
  // workaround for < 1900 with new Date()
12378
12377
  return forcedYear !== void 0 && forcedYear !== null
12379
12378
  ? forcedYear
@@ -12483,13 +12482,9 @@
12483
12482
  // Hour: 1, 2, ..., 12
12484
12483
  h (date) {
12485
12484
  const hours = date.getHours();
12486
- if (hours === 0) {
12487
- return 12
12488
- }
12489
- if (hours > 12) {
12490
- return hours % 12
12491
- }
12492
- return hours
12485
+ return hours === 0
12486
+ ? 12
12487
+ : (hours > 12 ? hours % 12 : hours)
12493
12488
  },
12494
12489
 
12495
12490
  // Hour: 01, 02, ..., 12
@@ -12548,7 +12543,7 @@
12548
12543
  },
12549
12544
 
12550
12545
  // Timezone: -01:00, +00:00, ... +12:00
12551
- Z (date, dateLocale, forcedYear, forcedTimezoneOffset) {
12546
+ Z (date, _dateLocale, _forcedYear, forcedTimezoneOffset) {
12552
12547
  const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null
12553
12548
  ? date.getTimezoneOffset()
12554
12549
  : forcedTimezoneOffset;
@@ -12557,7 +12552,7 @@
12557
12552
  },
12558
12553
 
12559
12554
  // Timezone: -0100, +0000, ... +1200
12560
- ZZ (date, dateLocale, forcedYear, forcedTimezoneOffset) {
12555
+ ZZ (date, _dateLocale, _forcedYear, forcedTimezoneOffset) {
12561
12556
  const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null
12562
12557
  ? date.getTimezoneOffset()
12563
12558
  : forcedTimezoneOffset;
@@ -15602,7 +15597,7 @@
15602
15597
  return false
15603
15598
  }
15604
15599
 
15605
- if (el !== null && list.includes(el.nodeName.toLowerCase()) === true) {
15600
+ if (list.includes(el.nodeName.toLowerCase()) === true) {
15606
15601
  return true
15607
15602
  }
15608
15603
 
@@ -16541,6 +16536,36 @@
16541
16536
  return acc
16542
16537
  }
16543
16538
 
16539
+ const
16540
+ toString = Object.prototype.toString,
16541
+ hasOwn = Object.prototype.hasOwnProperty,
16542
+ class2type = {};
16543
+
16544
+ 'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(name => {
16545
+ class2type[ '[object ' + name + ']' ] = name.toLowerCase();
16546
+ });
16547
+
16548
+ function type (obj) {
16549
+ return obj === null ? String(obj) : class2type[ toString.call(obj) ] || 'object'
16550
+ }
16551
+
16552
+ function isPlainObject (obj) {
16553
+ if (!obj || type(obj) !== 'object') {
16554
+ return false
16555
+ }
16556
+
16557
+ if (obj.constructor
16558
+ && !hasOwn.call(obj, 'constructor')
16559
+ && !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {
16560
+ return false
16561
+ }
16562
+
16563
+ let key;
16564
+ for (key in obj) {} // eslint-disable-line
16565
+
16566
+ return key === void 0 || hasOwn.call(obj, key)
16567
+ }
16568
+
16544
16569
  function extend () {
16545
16570
  let
16546
16571
  options, name, src, copy, copyIsArray, clone,
@@ -16555,7 +16580,7 @@
16555
16580
  i = 2;
16556
16581
  }
16557
16582
 
16558
- if (Object(target) !== target && typeof target !== 'function') {
16583
+ if (Object(target) !== target && type(target) !== 'function') {
16559
16584
  target = {};
16560
16585
  }
16561
16586
 
@@ -16574,13 +16599,13 @@
16574
16599
  continue
16575
16600
  }
16576
16601
 
16577
- if (deep && copy && (isObject(copy) === true || (copyIsArray = Array.isArray(copy) === true))) {
16602
+ if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {
16578
16603
  if (copyIsArray) {
16579
16604
  copyIsArray = false;
16580
- clone = src && Array.isArray(src) === true ? src : [];
16605
+ clone = src && type(src) === 'array' ? src : [];
16581
16606
  }
16582
16607
  else {
16583
- clone = src && isObject(src) === true ? src : {};
16608
+ clone = src && isPlainObject(src) ? src : {};
16584
16609
  }
16585
16610
 
16586
16611
  target[ name ] = extend(deep, clone, copy);
@@ -17910,7 +17935,7 @@
17910
17935
  const classes = `q-fab__${ kebab } absolute-full`;
17911
17936
 
17912
17937
  return slotFn === void 0
17913
- ? vue.h(QIcon, { class: classes, name: props[ kebab ] || $q.iconSet.fab[ camel ] })
17938
+ ? vue.h(QIcon, { class: classes, name: props[ camel ] || $q.iconSet.fab[ camel ] })
17914
17939
  : vue.h('div', { class: classes }, slotFn(slotScope.value))
17915
17940
  }
17916
17941
 
@@ -24668,7 +24693,7 @@
24668
24693
  ? [
24669
24694
  vue.h('div', {
24670
24695
  key: 'icon',
24671
- class: 'q-radio__icon-container absolute flex flex-center no-wrap'
24696
+ class: 'q-radio__icon-container absolute-full flex flex-center no-wrap'
24672
24697
  }, [
24673
24698
  vue.h(QIcon, {
24674
24699
  class: 'q-radio__icon',
@@ -28306,6 +28331,7 @@
28306
28331
  localResetVirtualScroll,
28307
28332
  padVirtualScroll,
28308
28333
  onVirtualScrollEvt,
28334
+ reset,
28309
28335
  scrollTo,
28310
28336
  setVirtualScrollSize
28311
28337
  } = useVirtualScroll({
@@ -28563,6 +28589,8 @@
28563
28589
 
28564
28590
  vue.watch(menu, updateMenu);
28565
28591
 
28592
+ vue.watch(virtualScrollLength, rerenderMenu);
28593
+
28566
28594
  function getEmittingOptionValue (opt) {
28567
28595
  return props.emitValue === true
28568
28596
  ? getOptionValue.value(opt)
@@ -29470,6 +29498,18 @@
29470
29498
  setOptionIndex(optionIndex);
29471
29499
  }
29472
29500
 
29501
+ function rerenderMenu () {
29502
+ if (menu.value === true && state.innerLoading.value === false) {
29503
+ reset();
29504
+
29505
+ vue.nextTick(() => {
29506
+ if (menu.value === true && state.innerLoading.value === false) {
29507
+ updateMenu(true);
29508
+ }
29509
+ });
29510
+ }
29511
+ }
29512
+
29473
29513
  function updateMenuPosition () {
29474
29514
  if (dialog.value === false && menuRef.value !== null) {
29475
29515
  menuRef.value.updatePosition();
@@ -32565,10 +32605,13 @@
32565
32605
  const vm = vue.getCurrentInstance();
32566
32606
  const { proxy: { $q } } = vm;
32567
32607
 
32608
+ const onClick = evt => { emit('click', evt); };
32609
+
32568
32610
  return () => {
32569
32611
  if (props.props === void 0) {
32570
32612
  return vue.h('th', {
32571
- class: props.autoWidth === true ? 'q-table--col-auto-width' : ''
32613
+ class: props.autoWidth === true ? 'q-table--col-auto-width' : '',
32614
+ onClick
32572
32615
  }, hSlot(slots.default))
32573
32616
  }
32574
32617
 
@@ -32606,7 +32649,7 @@
32606
32649
  style: col.headerStyle,
32607
32650
  onClick: evt => {
32608
32651
  col.sortable === true && props.props.sort(col); // eslint-disable-line
32609
- emit('click', evt);
32652
+ onClick(evt);
32610
32653
  }
32611
32654
  };
32612
32655
 
@@ -32746,6 +32789,14 @@
32746
32789
  configureScrollTarget();
32747
32790
  });
32748
32791
 
32792
+ vue.onActivated(() => {
32793
+ configureScrollTarget();
32794
+ });
32795
+
32796
+ vue.onDeactivated(() => {
32797
+ unconfigureScrollTarget();
32798
+ });
32799
+
32749
32800
  vue.onBeforeUnmount(() => {
32750
32801
  unconfigureScrollTarget();
32751
32802
  });
@@ -33416,6 +33467,9 @@
33416
33467
  wrapCells: Boolean,
33417
33468
 
33418
33469
  virtualScroll: Boolean,
33470
+ virtualScrollTarget: {
33471
+ default: void 0
33472
+ },
33419
33473
  ...commonVirtPropsObj,
33420
33474
 
33421
33475
  noDataLabel: String,
@@ -33658,6 +33712,7 @@
33658
33712
  class: props.tableClass,
33659
33713
  style: props.tableStyle,
33660
33714
  ...virtProps.value,
33715
+ scrollTarget: props.virtualScrollTarget,
33661
33716
  items: computedRows.value,
33662
33717
  type: '__qtable',
33663
33718
  tableColspan: computedColspan.value,
@@ -38485,14 +38540,14 @@
38485
38540
  function getButtons () {
38486
38541
  const child = [];
38487
38542
 
38488
- props.cancel && child.push(
38489
- vue.h(QBtn, cancelProps.value)
38490
- );
38491
-
38492
38543
  props.ok && child.push(
38493
38544
  vue.h(QBtn, okProps.value)
38494
38545
  );
38495
38546
 
38547
+ props.cancel && child.push(
38548
+ vue.h(QBtn, cancelProps.value)
38549
+ );
38550
+
38496
38551
  return vue.h(QCardActions, {
38497
38552
  class: props.stackButtons === true ? 'items-end' : '',
38498
38553
  vertical: props.stackButtons,
@@ -39573,7 +39628,7 @@
39573
39628
  });
39574
39629
 
39575
39630
  var index_umd = {
39576
- version: '2.6.1',
39631
+ version: '2.6.4',
39577
39632
  install (app, opts) {
39578
39633
  installQuasar(app, {
39579
39634
  components,