quasar 2.9.0 → 2.9.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 (129) hide show
  1. package/dist/api/QTree.json +6 -0
  2. package/dist/api/TouchPan.json +0 -4
  3. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v6.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/svg-bootstrap-icons.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-sharp.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 +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.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/mm.umd.prod.js +1 -1
  77. package/dist/lang/ms.umd.prod.js +1 -1
  78. package/dist/lang/my.umd.prod.js +1 -1
  79. package/dist/lang/nb-NO.umd.prod.js +1 -1
  80. package/dist/lang/nl.umd.prod.js +1 -1
  81. package/dist/lang/pl.umd.prod.js +1 -1
  82. package/dist/lang/pt-BR.umd.prod.js +1 -1
  83. package/dist/lang/pt.umd.prod.js +1 -1
  84. package/dist/lang/ro.umd.prod.js +1 -1
  85. package/dist/lang/ru.umd.prod.js +1 -1
  86. package/dist/lang/sk.umd.prod.js +1 -1
  87. package/dist/lang/sl.umd.prod.js +1 -1
  88. package/dist/lang/sm.umd.prod.js +1 -1
  89. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  90. package/dist/lang/sr.umd.prod.js +1 -1
  91. package/dist/lang/sv.umd.prod.js +1 -1
  92. package/dist/lang/ta.umd.prod.js +1 -1
  93. package/dist/lang/th.umd.prod.js +1 -1
  94. package/dist/lang/tr.umd.prod.js +1 -1
  95. package/dist/lang/ug.umd.prod.js +1 -1
  96. package/dist/lang/uk.umd.prod.js +1 -1
  97. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  98. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  99. package/dist/lang/vi.umd.prod.js +1 -1
  100. package/dist/lang/zh-CN.umd.prod.js +1 -1
  101. package/dist/lang/zh-TW.umd.prod.js +1 -1
  102. package/dist/quasar.cjs.prod.js +2 -2
  103. package/dist/quasar.esm.js +110 -55
  104. package/dist/quasar.esm.prod.js +2 -2
  105. package/dist/quasar.sass +1 -1
  106. package/dist/quasar.umd.js +110 -55
  107. package/dist/quasar.umd.prod.js +2 -2
  108. package/dist/transforms/auto-import.json +7 -3
  109. package/dist/transforms/import-map.json +2 -0
  110. package/dist/types/index.d.ts +4 -0
  111. package/dist/vetur/quasar-attributes.json +4 -0
  112. package/dist/vetur/quasar-tags.json +1 -0
  113. package/dist/web-types/web-types.json +11 -6
  114. package/package.json +1 -1
  115. package/src/components/badge/__tests__/QBadge.spec.js +98 -23
  116. package/src/components/banner/__tests__/QBanner.spec.js +107 -0
  117. package/src/components/bar/__tests__/QBar.spec.js +46 -0
  118. package/src/components/input/use-mask.js +1 -1
  119. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -4
  120. package/src/components/tabs/QTabs.js +2 -2
  121. package/src/components/tree/QTree.js +33 -20
  122. package/src/components/tree/QTree.json +7 -0
  123. package/src/directives/TouchHold.js +10 -3
  124. package/src/directives/TouchPan.js +21 -8
  125. package/src/directives/TouchPan.json +0 -5
  126. package/src/directives/TouchRepeat.js +20 -6
  127. package/src/directives/TouchSwipe.js +10 -3
  128. package/src/utils/extend.js +2 -2
  129. package/src/utils/morph.js +7 -3
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.9.0
2
+ * Quasar Framework v2.9.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.9.0
2
+ * Quasar Framework v2.9.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1610,7 +1610,7 @@
1610
1610
  }
1611
1611
 
1612
1612
  var installQuasar = function (parentApp, opts = {}) {
1613
- const $q = { version: '2.9.0' };
1613
+ const $q = { version: '2.9.2' };
1614
1614
 
1615
1615
  if (globalConfigIsFrozen === false) {
1616
1616
  if (opts.config !== void 0) {
@@ -6422,9 +6422,16 @@
6422
6422
 
6423
6423
  el.__qtouchswipe = ctx;
6424
6424
 
6425
- modifiers.mouse === true && addEvt(ctx, 'main', [
6426
- [ el, 'mousedown', 'mouseStart', `passive${ mouseCapture }` ]
6427
- ]);
6425
+ if (modifiers.mouse === true) {
6426
+ // account for UMD too where modifiers will be lowercased to work
6427
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
6428
+ ? 'Capture'
6429
+ : '';
6430
+
6431
+ addEvt(ctx, 'main', [
6432
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
6433
+ ]);
6434
+ }
6428
6435
 
6429
6436
  client.has.touch === true && addEvt(ctx, 'main', [
6430
6437
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
@@ -8219,7 +8226,8 @@
8219
8226
  */
8220
8227
  if (
8221
8228
  ctx.direction.all !== true
8222
- && (mouseEvent !== true || ctx.modifiers.mouseAllDir !== true)
8229
+ // account for UMD too where modifiers will be lowercased to work
8230
+ && (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))
8223
8231
  ) {
8224
8232
  const clone = evt.type.indexOf('mouse') > -1
8225
8233
  ? new MouseEvent(evt.type, evt)
@@ -8286,9 +8294,12 @@
8286
8294
  const start = () => {
8287
8295
  handleEvent(evt, isMouseEvt);
8288
8296
 
8289
- if (modifiers.preserveCursor !== true) {
8297
+ let cursor;
8298
+ if (modifiers.preserveCursor !== true && modifiers.preservecursor !== true) {
8299
+ cursor = document.documentElement.style.cursor || '';
8290
8300
  document.documentElement.style.cursor = 'grabbing';
8291
8301
  }
8302
+
8292
8303
  isMouseEvt === true && document.body.classList.add('no-pointer-events--children');
8293
8304
  document.body.classList.add('non-selectable');
8294
8305
  clearSelection();
@@ -8296,9 +8307,10 @@
8296
8307
  ctx.styleCleanup = withDelayedFn => {
8297
8308
  ctx.styleCleanup = void 0;
8298
8309
 
8299
- if (modifiers.preserveCursor !== true) {
8300
- document.documentElement.style.cursor = '';
8310
+ if (cursor !== void 0) {
8311
+ document.documentElement.style.cursor = cursor;
8301
8312
  }
8313
+
8302
8314
  document.body.classList.remove('non-selectable');
8303
8315
 
8304
8316
  if (isMouseEvt === true) {
@@ -8346,7 +8358,8 @@
8346
8358
 
8347
8359
  if (
8348
8360
  ctx.direction.all === true
8349
- || (isMouseEvt === true && ctx.modifiers.mouseAllDir === true)
8361
+ // account for UMD too where modifiers will be lowercased to work
8362
+ || (isMouseEvt === true && (ctx.modifiers.mouseAllDir === true || ctx.modifiers.mousealldir === true))
8350
8363
  ) {
8351
8364
  start();
8352
8365
  ctx.event.detected = true;
@@ -8413,9 +8426,16 @@
8413
8426
 
8414
8427
  el.__qtouchpan = ctx;
8415
8428
 
8416
- modifiers.mouse === true && addEvt(ctx, 'main', [
8417
- [ el, 'mousedown', 'mouseStart', `passive${ modifiers.mouseCapture === true ? 'Capture' : '' }` ]
8418
- ]);
8429
+ if (modifiers.mouse === true) {
8430
+ // account for UMD too where modifiers will be lowercased to work
8431
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
8432
+ ? 'Capture'
8433
+ : '';
8434
+
8435
+ addEvt(ctx, 'main', [
8436
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
8437
+ ]);
8438
+ }
8419
8439
 
8420
8440
  client.has.touch === true && addEvt(ctx, 'main', [
8421
8441
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
@@ -9990,8 +10010,8 @@
9990
10010
 
9991
10011
  recalculateScroll();
9992
10012
 
9993
- // if it's a QTab
9994
- if (tabData.routeData === void 0) {
10013
+ // if it's a QTab or we don't have Vue Router
10014
+ if (tabData.routeData === void 0 || proxy.$route === void 0) {
9995
10015
  // we should position to the currently active tab (if any)
9996
10016
  registerScrollToTabTimeout(() => {
9997
10017
  if (scrollable.value === true) {
@@ -16878,7 +16898,7 @@
16878
16898
  toString = Object.prototype.toString,
16879
16899
  hasOwn = Object.prototype.hasOwnProperty,
16880
16900
  notPlainObject = new Set(
16881
- [ 'Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object' ]
16901
+ [ 'Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp' ]
16882
16902
  .map(name => '[object ' + name + ']')
16883
16903
  );
16884
16904
 
@@ -16890,7 +16910,7 @@
16890
16910
  if (
16891
16911
  obj.constructor
16892
16912
  && hasOwn.call(obj, 'constructor') === false
16893
- && !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf') === false
16913
+ && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf') === false
16894
16914
  ) {
16895
16915
  return false
16896
16916
  }
@@ -21135,7 +21155,7 @@
21135
21155
  '^'
21136
21156
  + unmask.join('')
21137
21157
  + '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?'
21138
- + '$'
21158
+ + '[' + unmaskChar + ']*$'
21139
21159
  ),
21140
21160
  extractLast = extract.length - 1,
21141
21161
  extractMatcher = extract.map((re, index) => {
@@ -24673,10 +24693,7 @@
24673
24693
 
24674
24694
  const directives = vue.computed(() => {
24675
24695
  // if props.disable === false
24676
- const modifiers = {
24677
- down: true,
24678
- mightPrevent: true
24679
- };
24696
+ const modifiers = { down: true };
24680
24697
 
24681
24698
  if (props.noMouse !== true) {
24682
24699
  modifiers.mouse = true;
@@ -34151,6 +34168,7 @@
34151
34168
 
34152
34169
  duration: Number,
34153
34170
  noConnectors: Boolean,
34171
+ noTransition: Boolean,
34154
34172
 
34155
34173
  noNodesLabel: String,
34156
34174
  noResultsLabel: String
@@ -34223,7 +34241,6 @@
34223
34241
  const
34224
34242
  key = node[ props.nodeKey ],
34225
34243
  isParent = node[ props.childrenKey ] && node[ props.childrenKey ].length > 0,
34226
- isLeaf = isParent !== true,
34227
34244
  selectable = node.disabled !== true && hasSelection.value === true && node.selectable !== false,
34228
34245
  expandable = node.disabled !== true && node.expandable !== false,
34229
34246
  hasTicking = tickStrategy !== 'none',
@@ -34249,7 +34266,6 @@
34249
34266
  key,
34250
34267
  parent,
34251
34268
  isParent,
34252
- isLeaf,
34253
34269
  lazy: localLazy,
34254
34270
  disabled: node.disabled,
34255
34271
  link: node.disabled !== true && (selectable === true || (expandable === true && (isParent === true || localLazy === true))),
@@ -34269,7 +34285,7 @@
34269
34285
  leafTicking,
34270
34286
  ticked: strictTicking === true
34271
34287
  ? innerTicked.value.includes(key)
34272
- : (isLeaf === true ? innerTicked.value.includes(key) : false)
34288
+ : (isParent === true ? false : innerTicked.value.includes(key))
34273
34289
  };
34274
34290
 
34275
34291
  meta[ key ] = m;
@@ -34669,23 +34685,37 @@
34669
34685
  ]),
34670
34686
 
34671
34687
  isParent === true
34672
- ? vue.h(QSlideTransition, {
34673
- duration: props.duration,
34674
- onShow,
34675
- onHide
34676
- }, () => vue.withDirectives(
34677
- vue.h('div', {
34678
- class: 'q-tree__node-collapsible' + textColorClass.value,
34679
- key: `${ key }__q`
34680
- }, [
34681
- body,
34682
- vue.h('div', {
34683
- class: 'q-tree__children'
34684
- + (m.disabled === true ? ' q-tree__node--disabled' : '')
34685
- }, children)
34686
- ]),
34687
- [ [ vue.vShow, m.expanded ] ]
34688
- ))
34688
+ ? (
34689
+ props.noTransition === true
34690
+ ? vue.h('div', {
34691
+ class: 'q-tree__node-collapsible' + textColorClass.value,
34692
+ key: `${ key }__q`
34693
+ }, [
34694
+ body,
34695
+ vue.h('div', {
34696
+ class: 'q-tree__children'
34697
+ + (m.disabled === true ? ' q-tree__node--disabled' : '')
34698
+ }, m.expanded ? children : null)
34699
+ ])
34700
+
34701
+ : vue.h(QSlideTransition, {
34702
+ duration: props.duration,
34703
+ onShow,
34704
+ onHide
34705
+ }, () => vue.withDirectives(
34706
+ vue.h('div', {
34707
+ class: 'q-tree__node-collapsible' + textColorClass.value,
34708
+ key: `${ key }__q`
34709
+ }, [
34710
+ body,
34711
+ vue.h('div', {
34712
+ class: 'q-tree__children'
34713
+ + (m.disabled === true ? ' q-tree__node--disabled' : '')
34714
+ }, children)
34715
+ ]),
34716
+ [ [ vue.vShow, m.expanded ] ]
34717
+ ))
34718
+ )
34689
34719
  : body
34690
34720
  ])
34691
34721
  }
@@ -35953,9 +35983,13 @@
35953
35983
  fill: typeof options.fill === 'string' && options.fill.length > 0 ? options.fill : 'none',
35954
35984
 
35955
35985
  resize: options.resize === true,
35956
- useCSS: options.useCSS === true,
35957
- hideFromClone: options.hideFromClone === true,
35958
- keepToClone: options.keepToClone === true,
35986
+
35987
+ // account for UMD too where modifiers will be lowercased to work
35988
+ useCSS: options.useCSS === true || options.usecss === true,
35989
+ // account for UMD too where modifiers will be lowercased to work
35990
+ hideFromClone: options.hideFromClone === true || options.hidefromclone === true,
35991
+ // account for UMD too where modifiers will be lowercased to work
35992
+ keepToClone: options.keepToClone === true || options.keeptoclone === true,
35959
35993
 
35960
35994
  tween: options.tween === true,
35961
35995
  tweenFromOpacity: isNaN(options.tweenFromOpacity) === true ? 0.6 : parseFloat(options.tweenFromOpacity),
@@ -37280,9 +37314,16 @@
37280
37314
 
37281
37315
  el.__qtouchhold = ctx;
37282
37316
 
37283
- modifiers.mouse === true && addEvt(ctx, 'main', [
37284
- [ el, 'mousedown', 'mouseStart', `passive${ modifiers.mouseCapture === true ? 'Capture' : '' }` ]
37285
- ]);
37317
+ if (modifiers.mouse === true) {
37318
+ // account for UMD too where modifiers will be lowercased to work
37319
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
37320
+ ? 'Capture'
37321
+ : '';
37322
+
37323
+ addEvt(ctx, 'main', [
37324
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
37325
+ ]);
37326
+ }
37286
37327
 
37287
37328
  client.has.touch === true && addEvt(ctx, 'main', [
37288
37329
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
@@ -37510,18 +37551,32 @@
37510
37551
 
37511
37552
  el.__qtouchrepeat = ctx;
37512
37553
 
37513
- modifiers.mouse === true && addEvt(ctx, 'main', [
37514
- [ el, 'mousedown', 'mouseStart', `passive${ modifiers.mouseCapture === true ? 'Capture' : '' }` ]
37515
- ]);
37554
+ if (modifiers.mouse === true) {
37555
+ // account for UMD too where modifiers will be lowercased to work
37556
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
37557
+ ? 'Capture'
37558
+ : '';
37559
+
37560
+ addEvt(ctx, 'main', [
37561
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
37562
+ ]);
37563
+ }
37516
37564
 
37517
37565
  client.has.touch === true && addEvt(ctx, 'main', [
37518
37566
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
37519
37567
  [ el, 'touchend', 'noop', 'passiveCapture' ]
37520
37568
  ]);
37521
37569
 
37522
- keyboard.length > 0 && addEvt(ctx, 'main', [
37523
- [ el, 'keydown', 'keyboardStart', `notPassive${ modifiers.keyCapture === true ? 'Capture' : '' }` ]
37524
- ]);
37570
+ if (keyboard.length !== 0) {
37571
+ // account for UMD too where modifiers will be lowercased to work
37572
+ const capture = modifiers.keyCapture === true || modifiers.keycapture === true
37573
+ ? 'Capture'
37574
+ : '';
37575
+
37576
+ addEvt(ctx, 'main', [
37577
+ [ el, 'keydown', 'keyboardStart', `notPassive${ capture }` ]
37578
+ ]);
37579
+ }
37525
37580
  },
37526
37581
 
37527
37582
  updated (el, { oldValue, value }) {
@@ -40270,7 +40325,7 @@
40270
40325
  */
40271
40326
 
40272
40327
  var index_umd = {
40273
- version: '2.9.0',
40328
+ version: '2.9.2',
40274
40329
  install (app, opts) {
40275
40330
  installQuasar(app, {
40276
40331
  components,