quasar 1.17.1 → 1.17.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 (109) hide show
  1. package/dist/api/LoadingBar.json +1 -1
  2. package/dist/api/QAjaxBar.json +23 -4
  3. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  7. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  8. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  9. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons.umd.min.js +1 -1
  13. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  14. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  15. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  16. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  17. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  18. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  19. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  20. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  21. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  22. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  23. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  24. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  25. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  26. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  27. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  28. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  29. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  30. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  31. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  32. package/dist/icon-set/themify.umd.min.js +1 -1
  33. package/dist/lang/ar.umd.min.js +1 -1
  34. package/dist/lang/az-latn.umd.min.js +1 -1
  35. package/dist/lang/bg.umd.min.js +1 -1
  36. package/dist/lang/ca.umd.min.js +1 -1
  37. package/dist/lang/cs.umd.min.js +1 -1
  38. package/dist/lang/da.umd.min.js +1 -1
  39. package/dist/lang/de.umd.min.js +1 -1
  40. package/dist/lang/el.umd.min.js +1 -1
  41. package/dist/lang/en-gb.umd.min.js +1 -1
  42. package/dist/lang/en-us.umd.min.js +1 -1
  43. package/dist/lang/eo.umd.min.js +1 -1
  44. package/dist/lang/es.umd.min.js +1 -1
  45. package/dist/lang/et.umd.min.js +1 -1
  46. package/dist/lang/fa-ir.umd.min.js +1 -1
  47. package/dist/lang/fa.umd.min.js +1 -1
  48. package/dist/lang/fi.umd.min.js +1 -1
  49. package/dist/lang/fr.umd.min.js +1 -1
  50. package/dist/lang/gn.umd.min.js +1 -1
  51. package/dist/lang/he.umd.min.js +1 -1
  52. package/dist/lang/hr.umd.min.js +1 -1
  53. package/dist/lang/hu.umd.min.js +1 -1
  54. package/dist/lang/id.umd.min.js +1 -1
  55. package/dist/lang/is.umd.min.js +1 -1
  56. package/dist/lang/it.umd.min.js +1 -1
  57. package/dist/lang/ja.umd.min.js +1 -1
  58. package/dist/lang/km.umd.min.js +1 -1
  59. package/dist/lang/ko-kr.umd.min.js +1 -1
  60. package/dist/lang/kur-ckb.umd.min.js +1 -1
  61. package/dist/lang/lu.umd.min.js +1 -1
  62. package/dist/lang/lv.umd.min.js +1 -1
  63. package/dist/lang/ml.umd.min.js +1 -1
  64. package/dist/lang/ms.umd.min.js +1 -1
  65. package/dist/lang/nb-no.umd.min.js +1 -1
  66. package/dist/lang/nl.umd.min.js +1 -1
  67. package/dist/lang/pl.umd.min.js +1 -1
  68. package/dist/lang/pt-br.umd.min.js +1 -1
  69. package/dist/lang/pt.umd.min.js +1 -1
  70. package/dist/lang/ro.umd.min.js +1 -1
  71. package/dist/lang/ru.umd.min.js +1 -1
  72. package/dist/lang/sk.umd.min.js +1 -1
  73. package/dist/lang/sl.umd.min.js +1 -1
  74. package/dist/lang/sr.umd.min.js +1 -1
  75. package/dist/lang/sv.umd.min.js +1 -1
  76. package/dist/lang/ta.umd.min.js +1 -1
  77. package/dist/lang/th.umd.min.js +1 -1
  78. package/dist/lang/tr.umd.min.js +1 -1
  79. package/dist/lang/ug.umd.min.js +1 -1
  80. package/dist/lang/uk.umd.min.js +1 -1
  81. package/dist/lang/vi.umd.min.js +1 -1
  82. package/dist/lang/zh-hans.umd.min.js +1 -1
  83. package/dist/lang/zh-hant.umd.min.js +1 -1
  84. package/dist/quasar.addon.css +1 -1
  85. package/dist/quasar.addon.rtl.css +1 -1
  86. package/dist/quasar.common.js +2 -2
  87. package/dist/quasar.css +1 -1
  88. package/dist/quasar.esm.js +2 -2
  89. package/dist/quasar.ie.polyfills.js +1 -1
  90. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  91. package/dist/quasar.rtl.css +1 -1
  92. package/dist/quasar.sass +1 -1
  93. package/dist/quasar.styl +1 -1
  94. package/dist/quasar.umd.js +143 -58
  95. package/dist/quasar.umd.min.js +2 -2
  96. package/dist/quasar.umd.modern.js +141 -58
  97. package/dist/quasar.umd.modern.min.js +2 -2
  98. package/dist/types/index.d.ts +6 -2
  99. package/dist/vetur/quasar-attributes.json +7 -3
  100. package/dist/vetur/quasar-tags.json +2 -1
  101. package/dist/web-types/web-types.json +14 -5
  102. package/package.json +1 -1
  103. package/src/components/ajax-bar/QAjaxBar.js +48 -26
  104. package/src/components/ajax-bar/QAjaxBar.json +22 -4
  105. package/src/components/icon/QIcon.js +42 -30
  106. package/src/components/icon/QIcon.sass +0 -1
  107. package/src/components/icon/QIcon.styl +0 -1
  108. package/src/components/layout/QLayout.js +49 -0
  109. package/src/plugins/LoadingBar.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.17.1
2
+ * Quasar Framework v1.17.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 v1.17.1
2
+ * Quasar Framework v1.17.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 v1.17.1
2
+ * Quasar Framework v1.17.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.17.1
2
+ * Quasar Framework v1.17.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
package/dist/quasar.styl CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.17.1
2
+ * Quasar Framework v1.17.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 v1.17.1
2
+ * Quasar Framework v1.17.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -12,7 +12,7 @@
12
12
 
13
13
  Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
14
14
 
15
- var version = "1.17.1";
15
+ var version = "1.17.2";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -2009,10 +2009,10 @@
2009
2009
 
2010
2010
  var
2011
2011
  xhr = isSSR ? null : XMLHttpRequest,
2012
- send = isSSR ? null : xhr.prototype.send,
2013
- stackStart = [],
2014
- stackStop = [];
2012
+ open = isSSR ? null : xhr.prototype.open,
2013
+ positionValues = [ 'top', 'right', 'bottom', 'left' ];
2015
2014
 
2015
+ var stack = [];
2016
2016
  var highjackCount = 0;
2017
2017
 
2018
2018
  function translate (ref) {
@@ -2025,13 +2025,13 @@
2025
2025
 
2026
2026
  var x = 1, y = 1;
2027
2027
 
2028
- if (horiz) {
2029
- if (reverse) { x = -1; }
2028
+ if (horiz === true) {
2029
+ if (reverse === true) { x = -1; }
2030
2030
  if (pos === 'bottom') { y = -1; }
2031
2031
  return { transform: ("translate3d(" + (x * (p - 100)) + "%," + (active ? 0 : y * -200) + "%,0)") }
2032
2032
  }
2033
2033
 
2034
- if (reverse) { y = -1; }
2034
+ if (reverse === true) { y = -1; }
2035
2035
  if (pos === 'right') { x = -1; }
2036
2036
  return { transform: ("translate3d(" + (active ? 0 : dir * x * -200) + "%," + (y * (p - 100)) + "%,0)") }
2037
2037
  }
@@ -2057,32 +2057,46 @@
2057
2057
  return between(p + amount, 0, 100)
2058
2058
  }
2059
2059
 
2060
- function highjackAjax (start, stop) {
2061
- stackStart.push(start);
2062
- stackStop.push(stop);
2063
-
2060
+ function highjackAjax (stackEntry) {
2064
2061
  highjackCount++;
2065
2062
 
2063
+ stack.push(stackEntry);
2064
+
2066
2065
  if (highjackCount > 1) { return }
2067
2066
 
2068
- function endHandler () {
2069
- stackStop.forEach(function (fn) { fn(); });
2070
- }
2067
+ xhr.prototype.open = function (_, url) {
2068
+ var stopStack = [];
2069
+
2070
+ var loadStart = function () {
2071
+ stack.forEach(function (entry) {
2072
+ var hijackFilter = entry.getHijackFilter();
2073
+ if (
2074
+ hijackFilter === null ||
2075
+ hijackFilter(url) === true
2076
+ ) {
2077
+ entry.start();
2078
+ stopStack.push(entry.stop);
2079
+ }
2080
+ });
2081
+ };
2071
2082
 
2072
- xhr.prototype.send = function (/* ...args */) {
2073
- stackStart.forEach(function (fn) { fn(); });
2074
- this.addEventListener('loadend', endHandler, false);
2075
- send.apply(this, arguments);
2083
+ var loadEnd = function () {
2084
+ stopStack.forEach(function (stop) { stop(); });
2085
+ };
2086
+
2087
+ this.addEventListener('loadstart', loadStart, { once: true });
2088
+ this.addEventListener('loadend', loadEnd, { once: true });
2089
+
2090
+ open.apply(this, arguments);
2076
2091
  };
2077
2092
  }
2078
2093
 
2079
- function restoreAjax (start, stop) {
2080
- stackStart.splice(stackStart.indexOf(start), 1);
2081
- stackStop.splice(stackStop.indexOf(stop), 1);
2094
+ function restoreAjax (start) {
2095
+ stack = stack.filter(function (entry) { return entry.start !== start; });
2082
2096
 
2083
2097
  highjackCount = Math.max(0, highjackCount - 1);
2084
2098
  if (!highjackCount) {
2085
- xhr.prototype.send = send;
2099
+ xhr.prototype.open = open;
2086
2100
  }
2087
2101
  }
2088
2102
 
@@ -2093,15 +2107,19 @@
2093
2107
  position: {
2094
2108
  type: String,
2095
2109
  default: 'top',
2096
- validator: function (val) { return ['top', 'right', 'bottom', 'left'].includes(val); }
2110
+ validator: function (val) { return positionValues.includes(val); }
2097
2111
  },
2112
+
2098
2113
  size: {
2099
2114
  type: String,
2100
2115
  default: '2px'
2101
2116
  },
2117
+
2102
2118
  color: String,
2119
+ reverse: Boolean,
2120
+
2103
2121
  skipHijack: Boolean,
2104
- reverse: Boolean
2122
+ hijackFilter: Function
2105
2123
  },
2106
2124
 
2107
2125
  data: function data () {
@@ -2129,7 +2147,7 @@
2129
2147
  active: active,
2130
2148
  horiz: this.horizontal,
2131
2149
  reverse: this.$q.lang.rtl === true && ['top', 'bottom'].includes(this.position)
2132
- ? !this.reverse
2150
+ ? this.reverse === false
2133
2151
  : this.reverse,
2134
2152
  dir: this.$q.lang.rtl === true ? -1 : 1
2135
2153
  });
@@ -2239,15 +2257,21 @@
2239
2257
  },
2240
2258
 
2241
2259
  mounted: function mounted () {
2260
+ var this$1 = this;
2261
+
2242
2262
  if (this.skipHijack !== true) {
2243
2263
  this.hijacked = true;
2244
- highjackAjax(this.start, this.stop);
2264
+ highjackAjax({
2265
+ start: this.start,
2266
+ stop: this.stop,
2267
+ getHijackFilter: function () { return this$1.hijackFilter || null; }
2268
+ });
2245
2269
  }
2246
2270
  },
2247
2271
 
2248
2272
  beforeDestroy: function beforeDestroy () {
2249
2273
  clearTimeout(this.timer);
2250
- this.hijacked === true && restoreAjax(this.start, this.stop);
2274
+ this.hijacked === true && restoreAjax(this.start);
2251
2275
  },
2252
2276
 
2253
2277
  render: function render (h) {
@@ -2333,6 +2357,8 @@
2333
2357
  : slot
2334
2358
  }
2335
2359
 
2360
+ var defaultViewBox = '0 0 24 24';
2361
+
2336
2362
  var sameFn = function (i) { return i; };
2337
2363
  var ionFn = function (i) { return ("ionicons " + i); };
2338
2364
 
@@ -2395,10 +2421,7 @@
2395
2421
  var icon = this.name;
2396
2422
 
2397
2423
  if (!icon) {
2398
- return {
2399
- none: true,
2400
- cls: this.classes
2401
- }
2424
+ return { none: true }
2402
2425
  }
2403
2426
 
2404
2427
  if (this.$q.iconMapFn !== void 0) {
@@ -2409,7 +2432,7 @@
2409
2432
  }
2410
2433
  else {
2411
2434
  return {
2412
- cls: res.cls + ' ' + this.classes,
2435
+ cls: res.cls,
2413
2436
  content: res.content !== void 0
2414
2437
  ? res.content
2415
2438
  : ' '
@@ -2421,32 +2444,27 @@
2421
2444
  if (mRE.test(icon) === true) {
2422
2445
  var ref = icon.split('|');
2423
2446
  var def = ref[0];
2424
- var viewBox = ref[1];
2447
+ var viewBox = ref[1]; if ( viewBox === void 0 ) viewBox = defaultViewBox;
2425
2448
 
2426
2449
  return {
2427
2450
  svg: true,
2428
- cls: this.classes,
2451
+ viewBox: viewBox,
2429
2452
  nodes: def.split('&&').map(function (path) {
2430
2453
  var ref = path.split('@@');
2431
2454
  var d = ref[0];
2432
2455
  var style = ref[1];
2433
2456
  var transform = ref[2];
2434
2457
  return this$1.$createElement('path', {
2435
- attrs: {
2436
- d: d,
2437
- transform: transform
2438
- },
2458
+ attrs: { d: d, transform: transform },
2439
2459
  style: style
2440
2460
  })
2441
- }),
2442
- viewBox: viewBox !== void 0 ? viewBox : '0 0 24 24'
2461
+ })
2443
2462
  }
2444
2463
  }
2445
2464
 
2446
2465
  if (imgRE.test(icon) === true) {
2447
2466
  return {
2448
2467
  img: true,
2449
- cls: this.classes,
2450
2468
  src: icon.substring(4)
2451
2469
  }
2452
2470
  }
@@ -2454,13 +2472,12 @@
2454
2472
  if (svgUseRE.test(icon) === true) {
2455
2473
  var ref$1 = icon.split('|');
2456
2474
  var def$1 = ref$1[0];
2457
- var viewBox$1 = ref$1[1];
2475
+ var viewBox$1 = ref$1[1]; if ( viewBox$1 === void 0 ) viewBox$1 = defaultViewBox;
2458
2476
 
2459
2477
  return {
2460
2478
  svguse: true,
2461
- cls: this.classes,
2462
2479
  src: def$1.substring(7),
2463
- viewBox: viewBox$1 !== void 0 ? viewBox$1 : '0 0 24 24'
2480
+ viewBox: viewBox$1
2464
2481
  }
2465
2482
  }
2466
2483
 
@@ -2494,7 +2511,7 @@
2494
2511
  }
2495
2512
 
2496
2513
  return {
2497
- cls: cls + ' ' + this.classes,
2514
+ cls: cls,
2498
2515
  content: content
2499
2516
  }
2500
2517
  }
@@ -2502,7 +2519,7 @@
2502
2519
 
2503
2520
  render: function render (h) {
2504
2521
  var data = {
2505
- class: this.type.cls,
2522
+ class: this.classes,
2506
2523
  style: this.sizeStyle,
2507
2524
  on: Object.assign({}, this.qListeners),
2508
2525
  attrs: {
@@ -2516,25 +2533,44 @@
2516
2533
  }
2517
2534
 
2518
2535
  if (this.type.img === true) {
2519
- data.attrs.src = this.type.src;
2520
- return h('img', data)
2536
+ return h('div', data, mergeSlot([
2537
+ h('img', {
2538
+ class: this.type.cls,
2539
+ attrs: { src: this.type.src }
2540
+ })
2541
+ ], this, 'default'))
2521
2542
  }
2522
2543
 
2523
2544
  if (this.type.svg === true) {
2524
- data.attrs.focusable = 'false'; /* needed for IE11 */
2525
- data.attrs.viewBox = this.type.viewBox;
2526
-
2527
- return h('svg', data, mergeSlot(this.type.nodes, this, 'default'))
2545
+ return h('div', data, mergeSlot([
2546
+ h('svg', {
2547
+ class: this.type.cls,
2548
+ attrs: {
2549
+ viewBox: this.type.viewBox,
2550
+ focusable: 'false' /* needed for IE11 */
2551
+ }
2552
+ }, this.type.nodes)
2553
+ ], this, 'default'))
2528
2554
  }
2529
- if (this.type.svguse === true) {
2530
- data.attrs.focusable = 'false'; /* needed for IE11 */
2531
- data.attrs.viewBox = this.type.viewBox;
2532
2555
 
2533
- return h('svg', data, mergeSlot([
2534
- h('use', { attrs: { 'xlink:href': this.type.src } })
2556
+ if (this.type.svguse === true) {
2557
+ return h('div', data, mergeSlot([
2558
+ h('svg', {
2559
+ class: this.type.cls,
2560
+ attrs: {
2561
+ viewBox: this.type.viewBox,
2562
+ focusable: 'false' /* needed for IE11 */
2563
+ }
2564
+ }, [
2565
+ h('use', { attrs: { 'xlink:href': this.type.src } })
2566
+ ])
2535
2567
  ], this, 'default'))
2536
2568
  }
2537
2569
 
2570
+ if (this.type.cls !== void 0) {
2571
+ data.class += ' ' + this.type.cls;
2572
+ }
2573
+
2538
2574
  return h(this.tag, data, mergeSlot([
2539
2575
  this.type.content
2540
2576
  ], this, 'default'))
@@ -22298,13 +22334,30 @@
22298
22334
  classes: function classes () {
22299
22335
  return 'q-layout q-layout--' +
22300
22336
  (this.container === true ? 'containerized' : 'standard')
22337
+ },
22338
+
22339
+ scrollbarEvtAction: function scrollbarEvtAction () {
22340
+ return this.container !== true && this.scrollbarWidth > 0
22341
+ ? 'add' : 'remove'
22301
22342
  }
22302
22343
  },
22303
22344
 
22345
+ watch: {
22346
+ scrollbarEvtAction: '__updateScrollEvent'
22347
+ },
22348
+
22304
22349
  created: function created () {
22305
22350
  this.instances = {};
22306
22351
  },
22307
22352
 
22353
+ mounted: function mounted () {
22354
+ this.scrollbarEvtAction === 'add' && this.__updateScrollEvent('add');
22355
+ },
22356
+
22357
+ beforeDestroy: function beforeDestroy () {
22358
+ this.scrollbarEvtAction === 'add' && this.__updateScrollEvent('remove');
22359
+ },
22360
+
22308
22361
  render: function render (h) {
22309
22362
  var layout = h('div', {
22310
22363
  class: this.classes,
@@ -22406,6 +22459,38 @@
22406
22459
  this.scrollbarWidth = width;
22407
22460
  }
22408
22461
  }
22462
+ },
22463
+
22464
+ __updateScrollEvent: function __updateScrollEvent (action) {
22465
+ if (this.timerScrollbar !== void 0 && action === 'remove') {
22466
+ clearTimeout(this.timerScrollbar);
22467
+ this.__restoreScrollbar();
22468
+ }
22469
+
22470
+ window[(action + "EventListener")]('resize', this.__hideScrollbar);
22471
+ },
22472
+
22473
+ __hideScrollbar: function __hideScrollbar () {
22474
+ if (this.timerScrollbar === void 0) {
22475
+ var el = document.body;
22476
+
22477
+ // if it has no scrollbar then there's nothing to do
22478
+ if (el.scrollHeight > this.$q.screen.height) {
22479
+ return
22480
+ }
22481
+
22482
+ el.classList.add('hide-scrollbar');
22483
+ }
22484
+ else {
22485
+ clearTimeout(this.timerScrollbar);
22486
+ }
22487
+
22488
+ this.timerScrollbar = setTimeout(this.__restoreScrollbar, 200);
22489
+ },
22490
+
22491
+ __restoreScrollbar: function __restoreScrollbar () {
22492
+ this.timerScrollbar = void 0;
22493
+ document.body.classList.remove('hide-scrollbar');
22409
22494
  }
22410
22495
  }
22411
22496
  });