quasar 2.4.3 → 2.4.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.
- package/dist/api/BottomSheet.json +5 -1
- package/dist/api/LoadingBar.json +1 -1
- package/dist/api/Notify.json +20 -20
- package/dist/api/QAjaxBar.json +23 -4
- package/dist/api/QCarouselSlide.json +2 -2
- package/dist/api/QChatMessage.json +1 -1
- package/dist/api/QImg.json +2 -2
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QRadio.json +3 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.css +2 -1
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +2 -1
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +3 -2
- package/dist/quasar.umd.js +156 -81
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +24 -10
- package/dist/vetur/quasar-attributes.json +9 -5
- package/dist/vetur/quasar-tags.json +2 -1
- package/dist/web-types/web-types.json +22 -13
- package/package.json +1 -1
- package/src/components/ajax-bar/QAjaxBar.js +47 -26
- package/src/components/ajax-bar/QAjaxBar.json +22 -4
- package/src/components/breadcrumbs/QBreadcrumbs.js +3 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +2 -2
- package/src/components/btn/use-btn.js +4 -1
- package/src/components/btn-toggle/QBtnToggle.js +2 -0
- package/src/components/carousel/QCarouselSlide.json +2 -2
- package/src/components/chat/QChatMessage.json +1 -1
- package/src/components/icon/QIcon.js +36 -32
- package/src/components/icon/QIcon.sass +0 -1
- package/src/components/img/QImg.json +2 -2
- package/src/components/layout/QLayout.js +50 -1
- package/src/components/pagination/QPagination.js +4 -4
- package/src/components/parallax/QParallax.json +1 -1
- package/src/components/radio/QRadio.js +2 -6
- package/src/components/radio/QRadio.json +1 -1
- package/src/components/scroll-area/QScrollArea.sass +1 -0
- package/src/components/select/QSelect.json +1 -1
- package/src/components/timeline/QTimeline.sass +1 -2
- package/src/components/timeline/QTimelineEntry.json +1 -1
- package/src/css/core/visibility.sass +0 -1
- package/src/plugins/BottomSheet.json +7 -1
- package/src/plugins/LoadingBar.json +1 -1
- package/src/plugins/Notify.json +22 -22
- 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.
|
|
2
|
+
* Quasar Framework v2.4.7
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -3222,6 +3222,7 @@ body.desktop
|
|
|
3222
3222
|
max-width: 100% !important
|
|
3223
3223
|
.q-scrollarea
|
|
3224
3224
|
position: relative
|
|
3225
|
+
contain: strict
|
|
3225
3226
|
&__bar,
|
|
3226
3227
|
&__thumb
|
|
3227
3228
|
opacity: .2
|
|
@@ -4518,7 +4519,7 @@ body.desktop .q-table > tbody > tr:not(.q-tr--no-hover):hover > td:not(.q-td--no
|
|
|
4518
4519
|
&__subtitle
|
|
4519
4520
|
font-size: 12px
|
|
4520
4521
|
margin-bottom: 8px
|
|
4521
|
-
opacity: .
|
|
4522
|
+
opacity: .6
|
|
4522
4523
|
text-transform: uppercase
|
|
4523
4524
|
letter-spacing: 1px
|
|
4524
4525
|
font-weight: 700
|
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.4.
|
|
2
|
+
* Quasar Framework v2.4.7
|
|
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.
|
|
1450
|
+
const $q = { version: '2.4.7' };
|
|
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
|
-
|
|
1536
|
-
|
|
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 (
|
|
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
|
|
1585
|
-
|
|
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
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
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
|
|
1596
|
-
|
|
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.
|
|
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 =>
|
|
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
|
-
?
|
|
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(
|
|
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
|
|
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
|
|
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
|
-
|
|
1962
|
+
viewBox,
|
|
1943
1963
|
nodes: def.split('&&').map(path => {
|
|
1944
1964
|
const [ d, style, transform ] = path.split('@@');
|
|
1945
|
-
return vue.h('path', {
|
|
1946
|
-
|
|
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
|
|
1983
|
+
viewBox
|
|
1971
1984
|
}
|
|
1972
1985
|
}
|
|
1973
1986
|
|
|
@@ -2001,14 +2014,14 @@
|
|
|
2001
2014
|
}
|
|
2002
2015
|
|
|
2003
2016
|
return {
|
|
2004
|
-
cls
|
|
2017
|
+
cls,
|
|
2005
2018
|
content
|
|
2006
2019
|
}
|
|
2007
2020
|
});
|
|
2008
2021
|
|
|
2009
2022
|
return () => {
|
|
2010
2023
|
const data = {
|
|
2011
|
-
class:
|
|
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
|
-
|
|
2023
|
-
|
|
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
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2036
|
-
|
|
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 ?
|
|
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) {
|
|
@@ -3156,7 +3181,10 @@
|
|
|
3156
3181
|
}
|
|
3157
3182
|
|
|
3158
3183
|
if (linkTag.value === 'a') {
|
|
3159
|
-
if (
|
|
3184
|
+
if (props.disable === true) {
|
|
3185
|
+
acc[ 'aria-disabled' ] = 'true';
|
|
3186
|
+
}
|
|
3187
|
+
else if (acc.href === void 0) {
|
|
3160
3188
|
acc.role = 'button';
|
|
3161
3189
|
}
|
|
3162
3190
|
if (hasRouterLink.value !== true && mediaTypeRE.test(props.type) === true) {
|
|
@@ -5595,6 +5623,8 @@
|
|
|
5595
5623
|
key: i,
|
|
5596
5624
|
onClick (e) { set(value, item, e); },
|
|
5597
5625
|
|
|
5626
|
+
'aria-pressed': value === props.modelValue ? 'true' : 'false',
|
|
5627
|
+
|
|
5598
5628
|
...attrs,
|
|
5599
5629
|
...opt,
|
|
5600
5630
|
|
|
@@ -24134,6 +24164,55 @@
|
|
|
24134
24164
|
|
|
24135
24165
|
vue.provide(layoutKey, $layout);
|
|
24136
24166
|
|
|
24167
|
+
// prevent scrollbar flicker while resizing window height
|
|
24168
|
+
// if no page scrollbar is already present
|
|
24169
|
+
if (getScrollbarWidth() > 0) {
|
|
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 ? 'add' : 'remove'),
|
|
24206
|
+
updateScrollEvent
|
|
24207
|
+
);
|
|
24208
|
+
|
|
24209
|
+
props.container !== true && updateScrollEvent('add');
|
|
24210
|
+
|
|
24211
|
+
vue.onUnmounted(() => {
|
|
24212
|
+
updateScrollEvent('remove');
|
|
24213
|
+
});
|
|
24214
|
+
}
|
|
24215
|
+
|
|
24137
24216
|
return () => {
|
|
24138
24217
|
const content = hMergeSlot(slots.default, [
|
|
24139
24218
|
vue.h(QScrollObserver, { onScroll: onPageScroll }),
|
|
@@ -24277,12 +24356,8 @@
|
|
|
24277
24356
|
...useSizeProps,
|
|
24278
24357
|
...useFormProps,
|
|
24279
24358
|
|
|
24280
|
-
modelValue: {
|
|
24281
|
-
|
|
24282
|
-
},
|
|
24283
|
-
val: {
|
|
24284
|
-
required: true
|
|
24285
|
-
},
|
|
24359
|
+
modelValue: { required: true },
|
|
24360
|
+
val: { required: true },
|
|
24286
24361
|
|
|
24287
24362
|
label: String,
|
|
24288
24363
|
leftLabel: Boolean,
|
|
@@ -25215,8 +25290,8 @@
|
|
|
25215
25290
|
style,
|
|
25216
25291
|
disable: props.disable,
|
|
25217
25292
|
flat: !active,
|
|
25218
|
-
|
|
25219
|
-
|
|
25293
|
+
label: props.min,
|
|
25294
|
+
...(active ? activeBtnProps.value : {})
|
|
25220
25295
|
}, props.min));
|
|
25221
25296
|
}
|
|
25222
25297
|
if (boundaryEnd) {
|
|
@@ -25226,8 +25301,8 @@
|
|
|
25226
25301
|
style,
|
|
25227
25302
|
disable: props.disable,
|
|
25228
25303
|
flat: !active,
|
|
25229
|
-
|
|
25230
|
-
|
|
25304
|
+
label: props.max,
|
|
25305
|
+
...(active ? activeBtnProps.value : {})
|
|
25231
25306
|
}, props.max));
|
|
25232
25307
|
}
|
|
25233
25308
|
if (ellipsesStart) {
|
|
@@ -37678,14 +37753,14 @@
|
|
|
37678
37753
|
applyState('show');
|
|
37679
37754
|
}
|
|
37680
37755
|
|
|
37681
|
-
if (
|
|
37682
|
-
show();
|
|
37683
|
-
}
|
|
37684
|
-
else if (typeof DialogComponent.__asyncLoader === 'function') {
|
|
37756
|
+
if (typeof DialogComponent.__asyncLoader === 'function') {
|
|
37685
37757
|
DialogComponent.__asyncLoader().then(() => {
|
|
37686
37758
|
vue.nextTick(show);
|
|
37687
37759
|
});
|
|
37688
37760
|
}
|
|
37761
|
+
else {
|
|
37762
|
+
vue.nextTick(show);
|
|
37763
|
+
}
|
|
37689
37764
|
|
|
37690
37765
|
return API
|
|
37691
37766
|
}
|
|
@@ -39189,7 +39264,7 @@
|
|
|
39189
39264
|
});
|
|
39190
39265
|
|
|
39191
39266
|
var index_umd = {
|
|
39192
|
-
version: '2.4.
|
|
39267
|
+
version: '2.4.7',
|
|
39193
39268
|
install (app, opts) {
|
|
39194
39269
|
installQuasar(app, {
|
|
39195
39270
|
components,
|