quasar 2.4.4 → 2.4.5

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 (111) hide show
  1. package/dist/api/LoadingBar.json +1 -1
  2. package/dist/api/QAjaxBar.json +23 -4
  3. package/dist/api/QRadio.json +3 -1
  4. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  8. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  9. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  10. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  14. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  15. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  16. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  17. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  18. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  20. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  33. package/dist/icon-set/themify.umd.prod.js +1 -1
  34. package/dist/lang/ar.umd.prod.js +1 -1
  35. package/dist/lang/az-Latn.umd.prod.js +1 -1
  36. package/dist/lang/bg.umd.prod.js +1 -1
  37. package/dist/lang/bn.umd.prod.js +1 -1
  38. package/dist/lang/ca.umd.prod.js +1 -1
  39. package/dist/lang/cs.umd.prod.js +1 -1
  40. package/dist/lang/da.umd.prod.js +1 -1
  41. package/dist/lang/de.umd.prod.js +1 -1
  42. package/dist/lang/el.umd.prod.js +1 -1
  43. package/dist/lang/en-GB.umd.prod.js +1 -1
  44. package/dist/lang/en-US.umd.prod.js +1 -1
  45. package/dist/lang/eo.umd.prod.js +1 -1
  46. package/dist/lang/es.umd.prod.js +1 -1
  47. package/dist/lang/et.umd.prod.js +1 -1
  48. package/dist/lang/fa-IR.umd.prod.js +1 -1
  49. package/dist/lang/fa.umd.prod.js +1 -1
  50. package/dist/lang/fi.umd.prod.js +1 -1
  51. package/dist/lang/fr.umd.prod.js +1 -1
  52. package/dist/lang/gn.umd.prod.js +1 -1
  53. package/dist/lang/he.umd.prod.js +1 -1
  54. package/dist/lang/hr.umd.prod.js +1 -1
  55. package/dist/lang/hu.umd.prod.js +1 -1
  56. package/dist/lang/id.umd.prod.js +1 -1
  57. package/dist/lang/is.umd.prod.js +1 -1
  58. package/dist/lang/it.umd.prod.js +1 -1
  59. package/dist/lang/ja.umd.prod.js +1 -1
  60. package/dist/lang/km.umd.prod.js +1 -1
  61. package/dist/lang/ko-KR.umd.prod.js +1 -1
  62. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  63. package/dist/lang/lt.umd.prod.js +1 -1
  64. package/dist/lang/lu.umd.prod.js +1 -1
  65. package/dist/lang/lv.umd.prod.js +1 -1
  66. package/dist/lang/ml.umd.prod.js +1 -1
  67. package/dist/lang/ms.umd.prod.js +1 -1
  68. package/dist/lang/nb-NO.umd.prod.js +1 -1
  69. package/dist/lang/nl.umd.prod.js +1 -1
  70. package/dist/lang/pl.umd.prod.js +1 -1
  71. package/dist/lang/pt-BR.umd.prod.js +1 -1
  72. package/dist/lang/pt.umd.prod.js +1 -1
  73. package/dist/lang/ro.umd.prod.js +1 -1
  74. package/dist/lang/ru.umd.prod.js +1 -1
  75. package/dist/lang/sk.umd.prod.js +1 -1
  76. package/dist/lang/sl.umd.prod.js +1 -1
  77. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  78. package/dist/lang/sr.umd.prod.js +1 -1
  79. package/dist/lang/sv.umd.prod.js +1 -1
  80. package/dist/lang/ta.umd.prod.js +1 -1
  81. package/dist/lang/th.umd.prod.js +1 -1
  82. package/dist/lang/tr.umd.prod.js +1 -1
  83. package/dist/lang/ug.umd.prod.js +1 -1
  84. package/dist/lang/uk.umd.prod.js +1 -1
  85. package/dist/lang/vi.umd.prod.js +1 -1
  86. package/dist/lang/zh-CN.umd.prod.js +1 -1
  87. package/dist/lang/zh-TW.umd.prod.js +1 -1
  88. package/dist/quasar.cjs.prod.js +2 -2
  89. package/dist/quasar.esm.prod.js +2 -2
  90. package/dist/quasar.sass +1 -1
  91. package/dist/quasar.umd.js +149 -80
  92. package/dist/quasar.umd.prod.js +2 -2
  93. package/dist/ssr-directives/Morph.js +1 -1
  94. package/dist/types/index.d.ts +9 -3
  95. package/dist/vetur/quasar-attributes.json +8 -4
  96. package/dist/vetur/quasar-tags.json +2 -1
  97. package/dist/web-types/web-types.json +15 -6
  98. package/package.json +1 -1
  99. package/src/components/ajax-bar/QAjaxBar.js +47 -26
  100. package/src/components/ajax-bar/QAjaxBar.json +22 -4
  101. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -3
  102. package/src/components/breadcrumbs/QBreadcrumbsEl.js +2 -2
  103. package/src/components/icon/QIcon.js +36 -32
  104. package/src/components/icon/QIcon.sass +0 -1
  105. package/src/components/layout/QLayout.js +49 -1
  106. package/src/components/pagination/QPagination.js +4 -4
  107. package/src/components/radio/QRadio.js +2 -6
  108. package/src/components/radio/QRadio.json +1 -1
  109. package/src/css/core/visibility.sass +0 -1
  110. package/src/plugins/LoadingBar.json +1 -1
  111. package/src/utils/private/global-dialog.js +4 -4
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.4.4
2
+ * Quasar Framework v2.4.5
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.4.4
2
+ * Quasar Framework v2.4.5
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1447,7 +1447,7 @@
1447
1447
  }
1448
1448
 
1449
1449
  var installQuasar = function (parentApp, opts = {}) {
1450
- const $q = { version: '2.4.4' };
1450
+ const $q = { version: '2.4.5' };
1451
1451
 
1452
1452
  if (globalConfigIsFrozen === false) {
1453
1453
  if (opts.config !== void 0) {
@@ -1532,22 +1532,22 @@
1532
1532
 
1533
1533
  const
1534
1534
  xhr = XMLHttpRequest,
1535
- send = xhr.prototype.send,
1536
- stackStart = [],
1537
- stackStop = [];
1535
+ open = xhr.prototype.open,
1536
+ positionValues = [ 'top', 'right', 'bottom', 'left' ];
1538
1537
 
1538
+ let stack = [];
1539
1539
  let highjackCount = 0;
1540
1540
 
1541
1541
  function translate ({ p, pos, active, horiz, reverse, dir }) {
1542
1542
  let x = 1, y = 1;
1543
1543
 
1544
- if (horiz) {
1545
- if (reverse) { x = -1; }
1544
+ if (horiz === true) {
1545
+ if (reverse === true) { x = -1; }
1546
1546
  if (pos === 'bottom') { y = -1; }
1547
1547
  return { transform: `translate3d(${ x * (p - 100) }%,${ active ? 0 : y * -200 }%,0)` }
1548
1548
  }
1549
1549
 
1550
- if (reverse) { y = -1; }
1550
+ if (reverse === true) { y = -1; }
1551
1551
  if (pos === 'right') { x = -1; }
1552
1552
  return { transform: `translate3d(${ active ? 0 : dir * x * -200 }%,${ y * (p - 100) }%,0)` }
1553
1553
  }
@@ -1573,32 +1573,45 @@
1573
1573
  return between(p + amount, 0, 100)
1574
1574
  }
1575
1575
 
1576
- function highjackAjax (start, stop) {
1577
- stackStart.push(start);
1578
- stackStop.push(stop);
1579
-
1576
+ function highjackAjax (stackEntry) {
1580
1577
  highjackCount++;
1581
1578
 
1579
+ stack.push(stackEntry);
1580
+
1582
1581
  if (highjackCount > 1) { return }
1583
1582
 
1584
- function endHandler () {
1585
- stackStop.forEach(fn => { fn(); });
1586
- }
1583
+ xhr.prototype.open = function (_, url) {
1584
+ const stopStack = [];
1585
+
1586
+ const loadStart = () => {
1587
+ stack.forEach(entry => {
1588
+ if (
1589
+ entry.hijackFilter.value === null
1590
+ || (entry.hijackFilter.value(url) === true)
1591
+ ) {
1592
+ entry.start();
1593
+ stopStack.push(entry.stop);
1594
+ }
1595
+ });
1596
+ };
1587
1597
 
1588
- xhr.prototype.send = function (/* ...args */) {
1589
- stackStart.forEach(fn => { fn(); });
1590
- this.addEventListener('loadend', endHandler, false);
1591
- send.apply(this, arguments);
1598
+ const loadEnd = () => {
1599
+ stopStack.forEach(stop => { stop(); });
1600
+ };
1601
+
1602
+ this.addEventListener('loadstart', loadStart, { once: true });
1603
+ this.addEventListener('loadend', loadEnd, { once: true });
1604
+
1605
+ open.apply(this, arguments);
1592
1606
  };
1593
1607
  }
1594
1608
 
1595
- function restoreAjax (start, stop) {
1596
- stackStart.splice(stackStart.indexOf(start), 1);
1597
- stackStop.splice(stackStop.indexOf(stop), 1);
1609
+ function restoreAjax (start) {
1610
+ stack = stack.filter(entry => entry.start !== start);
1598
1611
 
1599
1612
  highjackCount = Math.max(0, highjackCount - 1);
1600
1613
  if (highjackCount === 0) {
1601
- xhr.prototype.send = send;
1614
+ xhr.prototype.open = open;
1602
1615
  }
1603
1616
  }
1604
1617
 
@@ -1609,15 +1622,19 @@
1609
1622
  position: {
1610
1623
  type: String,
1611
1624
  default: 'top',
1612
- validator: val => [ 'top', 'right', 'bottom', 'left' ].includes(val)
1625
+ validator: val => positionValues.includes(val)
1613
1626
  },
1627
+
1614
1628
  size: {
1615
1629
  type: String,
1616
1630
  default: '2px'
1617
1631
  },
1632
+
1618
1633
  color: String,
1619
1634
  skipHijack: Boolean,
1620
- reverse: Boolean
1635
+ reverse: Boolean,
1636
+
1637
+ hijackFilter: Function
1621
1638
  },
1622
1639
 
1623
1640
  emits: [ 'start', 'stop' ],
@@ -1649,7 +1666,7 @@
1649
1666
  active,
1650
1667
  horiz: horizontal.value,
1651
1668
  reverse: proxy.$q.lang.rtl === true && [ 'top', 'bottom' ].includes(props.position)
1652
- ? !props.reverse
1669
+ ? props.reverse === false
1653
1670
  : props.reverse,
1654
1671
  dir: proxy.$q.lang.rtl === true ? -1 : 1
1655
1672
  });
@@ -1745,13 +1762,17 @@
1745
1762
  vue.onMounted(() => {
1746
1763
  if (props.skipHijack !== true) {
1747
1764
  hijacked = true;
1748
- highjackAjax(start, stop);
1765
+ highjackAjax({
1766
+ start,
1767
+ stop,
1768
+ hijackFilter: vue.computed(() => props.hijackFilter || null)
1769
+ });
1749
1770
  }
1750
1771
  });
1751
1772
 
1752
1773
  vue.onBeforeUnmount(() => {
1753
1774
  clearTimeout(timer);
1754
- hijacked === true && restoreAjax(start, stop);
1775
+ hijacked === true && restoreAjax(start);
1755
1776
  });
1756
1777
 
1757
1778
  // expose public methods
@@ -1848,6 +1869,8 @@
1848
1869
  : vnode
1849
1870
  }
1850
1871
 
1872
+ const defaultViewBox = '0 0 24 24';
1873
+
1851
1874
  const sameFn = i => i;
1852
1875
  const ionFn = i => `ionicons ${ i }`;
1853
1876
 
@@ -1901,7 +1924,7 @@
1901
1924
 
1902
1925
  const classes = vue.computed(() =>
1903
1926
  'q-icon'
1904
- + (props.left === true ? ' on-left' : '')
1927
+ + (props.left === true ? ' on-left' : '') // TODO Qv3: drop this
1905
1928
  + (props.right === true ? ' on-right' : '')
1906
1929
  + (props.color !== void 0 ? ` text-${ props.color }` : '')
1907
1930
  );
@@ -1911,10 +1934,7 @@
1911
1934
  let icon = props.name;
1912
1935
 
1913
1936
  if (!icon) {
1914
- return {
1915
- none: true,
1916
- cls: classes.value
1917
- }
1937
+ return { none: true }
1918
1938
  }
1919
1939
 
1920
1940
  if ($q.iconMapFn !== null) {
@@ -1925,7 +1945,7 @@
1925
1945
  }
1926
1946
  else {
1927
1947
  return {
1928
- cls: res.cls + ' ' + classes.value,
1948
+ cls: res.cls,
1929
1949
  content: res.content !== void 0
1930
1950
  ? res.content
1931
1951
  : ' '
@@ -1935,39 +1955,32 @@
1935
1955
  }
1936
1956
 
1937
1957
  if (mRE.test(icon) === true) {
1938
- const [ def, viewBox ] = icon.split('|');
1958
+ const [ def, viewBox = defaultViewBox ] = icon.split('|');
1939
1959
 
1940
1960
  return {
1941
1961
  svg: true,
1942
- cls: classes.value,
1962
+ viewBox,
1943
1963
  nodes: def.split('&&').map(path => {
1944
1964
  const [ d, style, transform ] = path.split('@@');
1945
- return vue.h('path', {
1946
- style,
1947
- d,
1948
- transform
1949
- })
1950
- }),
1951
- viewBox: viewBox !== void 0 ? viewBox : '0 0 24 24'
1965
+ return vue.h('path', { style, d, transform })
1966
+ })
1952
1967
  }
1953
1968
  }
1954
1969
 
1955
1970
  if (imgRE.test(icon) === true) {
1956
1971
  return {
1957
1972
  img: true,
1958
- cls: classes.value,
1959
1973
  src: icon.substring(4)
1960
1974
  }
1961
1975
  }
1962
1976
 
1963
1977
  if (svgUseRE.test(icon) === true) {
1964
- const [ def, viewBox ] = icon.split('|');
1978
+ const [ def, viewBox = defaultViewBox ] = icon.split('|');
1965
1979
 
1966
1980
  return {
1967
1981
  svguse: true,
1968
- cls: classes.value,
1969
1982
  src: def.substring(7),
1970
- viewBox: viewBox !== void 0 ? viewBox : '0 0 24 24'
1983
+ viewBox
1971
1984
  }
1972
1985
  }
1973
1986
 
@@ -2001,14 +2014,14 @@
2001
2014
  }
2002
2015
 
2003
2016
  return {
2004
- cls: cls + ' ' + classes.value,
2017
+ cls,
2005
2018
  content
2006
2019
  }
2007
2020
  });
2008
2021
 
2009
2022
  return () => {
2010
2023
  const data = {
2011
- class: type.value.cls,
2024
+ class: classes.value,
2012
2025
  style: sizeStyle.value,
2013
2026
  'aria-hidden': 'true',
2014
2027
  role: 'presentation'
@@ -2019,24 +2032,36 @@
2019
2032
  }
2020
2033
 
2021
2034
  if (type.value.img === true) {
2022
- data.src = type.value.src;
2023
- return vue.h('img', data)
2035
+ return vue.h('div', data, hMergeSlot(slots.default, [
2036
+ vue.h('img', {
2037
+ class: type.value.cls,
2038
+ src: type.value.src
2039
+ })
2040
+ ]))
2024
2041
  }
2025
2042
 
2026
2043
  if (type.value.svg === true) {
2027
- data.viewBox = type.value.viewBox;
2028
-
2029
- return vue.h('svg', data, hMergeSlot(slots.default, type.value.nodes))
2044
+ return vue.h('div', data, hMergeSlot(slots.default, [
2045
+ vue.h('svg', {
2046
+ class: type.value.cls,
2047
+ viewBox: type.value.viewBox
2048
+ }, type.value.nodes)
2049
+ ]))
2030
2050
  }
2031
2051
 
2032
2052
  if (type.value.svguse === true) {
2033
- data.viewBox = type.value.viewBox;
2053
+ return vue.h('div', data, hMergeSlot(slots.default, [
2054
+ vue.h('svg', {
2055
+ class: type.value.cls,
2056
+ viewBox: type.value.viewBox
2057
+ }, [
2058
+ vue.h('use', { 'xlink:href': type.value.src })
2059
+ ])
2060
+ ]))
2061
+ }
2034
2062
 
2035
- return vue.h(
2036
- 'svg',
2037
- data,
2038
- hMergeSlot(slots.default, [ vue.h('use', { 'xlink:href': type.value.src }) ])
2039
- )
2063
+ if (type.value.cls !== void 0) {
2064
+ data.class += ' ' + type.value.cls;
2040
2065
  }
2041
2066
 
2042
2067
  return vue.h(props.tag, data, hMergeSlot(slots.default, [
@@ -2352,7 +2377,7 @@
2352
2377
  );
2353
2378
 
2354
2379
  const sepClass = vue.computed(() => (props.separatorColor ? ` text-${ props.separatorColor }` : ''));
2355
- const activeClass = vue.computed(() => `text-${ props.activeColor }`);
2380
+ const activeClass = vue.computed(() => ` text-${ props.activeColor }`);
2356
2381
 
2357
2382
  return () => {
2358
2383
  const vnodes = getNormalizedVNodes(
@@ -2374,8 +2399,8 @@
2374
2399
  if (comp.type !== void 0 && comp.type.name === 'QBreadcrumbsEl') {
2375
2400
  const middle = els < len;
2376
2401
  const disabled = comp.props !== null && disabledValues.includes(comp.props.disable);
2377
- const cls = (middle === true ? ' q-breadcrumbs--last' : '')
2378
- + (disabled !== true && middle === true ? ' ' + activeClass.value : '');
2402
+ const cls = (middle === true ? '' : ' q-breadcrumbs--last')
2403
+ + (disabled !== true && middle === true ? activeClass.value : '');
2379
2404
 
2380
2405
  els++;
2381
2406
 
@@ -2687,13 +2712,13 @@
2687
2712
  },
2688
2713
 
2689
2714
  setup (props, { slots }) {
2690
- const { linkTag, linkProps, hasRouterLink, navigateToRouterLink } = useRouterLink();
2715
+ const { linkTag, linkProps, linkClass, hasRouterLink, navigateToRouterLink } = useRouterLink();
2691
2716
 
2692
2717
  const data = vue.computed(() => {
2693
2718
  const acc = {
2694
2719
  class: 'q-breadcrumbs__el q-link '
2695
2720
  + 'flex inline items-center relative-position '
2696
- + (props.disable !== true ? 'q-link--focusable' : 'q-breadcrumbs__el--disable'),
2721
+ + (props.disable !== true ? 'q-link--focusable' + linkClass.value : 'q-breadcrumbs__el--disable'),
2697
2722
  ...linkProps.value
2698
2723
  };
2699
2724
  if (hasRouterLink.value === true) {
@@ -24139,6 +24164,54 @@
24139
24164
 
24140
24165
  vue.provide(layoutKey, $layout);
24141
24166
 
24167
+ // prevent scrollbar flicker while resizing window height
24168
+ // if no page scrollbar is already present
24169
+ {
24170
+ let timer = null;
24171
+ const el = document.body;
24172
+
24173
+ function restoreScrollbar () {
24174
+ timer = null;
24175
+ el.classList.remove('hide-scrollbar');
24176
+ }
24177
+
24178
+ function hideScrollbar () {
24179
+ if (timer === null) {
24180
+ // if it has no scrollbar then there's nothing to do
24181
+
24182
+ if (el.scrollHeight > $q.screen.height) {
24183
+ return
24184
+ }
24185
+
24186
+ el.classList.add('hide-scrollbar');
24187
+ }
24188
+ else {
24189
+ clearTimeout(timer);
24190
+ }
24191
+
24192
+ timer = setTimeout(restoreScrollbar, 300);
24193
+ }
24194
+
24195
+ function updateScrollEvent (action) {
24196
+ if (timer !== null && action === 'remove') {
24197
+ clearTimeout(timer);
24198
+ restoreScrollbar();
24199
+ }
24200
+
24201
+ window[ `${ action }EventListener` ]('resize', hideScrollbar);
24202
+ }
24203
+
24204
+ vue.watch(
24205
+ () => (props.container !== true && scrollbarWidth.value > 0 ? 'add' : 'remove'),
24206
+ updateScrollEvent,
24207
+ { immediate: true }
24208
+ );
24209
+
24210
+ vue.onUnmounted(() => {
24211
+ updateScrollEvent('remove');
24212
+ });
24213
+ }
24214
+
24142
24215
  return () => {
24143
24216
  const content = hMergeSlot(slots.default, [
24144
24217
  vue.h(QScrollObserver, { onScroll: onPageScroll }),
@@ -24282,12 +24355,8 @@
24282
24355
  ...useSizeProps,
24283
24356
  ...useFormProps,
24284
24357
 
24285
- modelValue: {
24286
- required: true
24287
- },
24288
- val: {
24289
- required: true
24290
- },
24358
+ modelValue: { required: true },
24359
+ val: { required: true },
24291
24360
 
24292
24361
  label: String,
24293
24362
  leftLabel: Boolean,
@@ -25220,8 +25289,8 @@
25220
25289
  style,
25221
25290
  disable: props.disable,
25222
25291
  flat: !active,
25223
- textColor: active ? props.textColor : void 0,
25224
- label: props.min
25292
+ label: props.min,
25293
+ ...(active ? activeBtnProps.value : {})
25225
25294
  }, props.min));
25226
25295
  }
25227
25296
  if (boundaryEnd) {
@@ -25231,8 +25300,8 @@
25231
25300
  style,
25232
25301
  disable: props.disable,
25233
25302
  flat: !active,
25234
- textColor: active ? props.textColor : void 0,
25235
- label: props.max
25303
+ label: props.max,
25304
+ ...(active ? activeBtnProps.value : {})
25236
25305
  }, props.max));
25237
25306
  }
25238
25307
  if (ellipsesStart) {
@@ -37683,14 +37752,14 @@
37683
37752
  applyState('show');
37684
37753
  }
37685
37754
 
37686
- if (dialogRef.value !== null) {
37687
- show();
37688
- }
37689
- else if (typeof DialogComponent.__asyncLoader === 'function') {
37755
+ if (typeof DialogComponent.__asyncLoader === 'function') {
37690
37756
  DialogComponent.__asyncLoader().then(() => {
37691
37757
  vue.nextTick(show);
37692
37758
  });
37693
37759
  }
37760
+ else {
37761
+ vue.nextTick(show);
37762
+ }
37694
37763
 
37695
37764
  return API
37696
37765
  }
@@ -39194,7 +39263,7 @@
39194
39263
  });
39195
39264
 
39196
39265
  var index_umd = {
39197
- version: '2.4.4',
39266
+ version: '2.4.5',
39198
39267
  install (app, opts) {
39199
39268
  installQuasar(app, {
39200
39269
  components,