quasar 2.14.2 → 2.14.3
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/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/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.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/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.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/mdi-v7.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-fontawesome-v6.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-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.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-TN.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-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.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/eu.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/hi.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/kk.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/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.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/sm.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/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.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.esm.js +90 -102
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +90 -102
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/web-types/web-types.json +1 -1
- package/package.json +2 -2
- package/src/components/ajax-bar/QAjaxBar.js +12 -2
- package/src/components/btn-dropdown/QBtnDropdown.js +4 -4
- package/src/components/expansion-item/QExpansionItem.js +4 -3
- package/src/components/fab/QFab.js +4 -4
- package/src/components/icon/QIcon.js +3 -3
- package/src/components/infinite-scroll/QInfiniteScroll.js +1 -1
- package/src/components/menu/__tests__/QMenu.cy.js +24 -0
- package/src/components/tabs/use-tab.js +1 -1
- package/src/composables/private/use-field.js +13 -30
- package/src/composables/private/use-id.js +34 -0
- package/src/composables/private/use-validate.js +16 -29
- package/src/plugins/Dark.js +3 -27
- package/src/utils/copy-to-clipboard.js +0 -1
- package/src/utils/get-css-var.js +0 -1
- package/src/utils/is.js +0 -1
- package/src/utils/private/define-reactive-plugin.js +0 -1
- package/src/utils/private/global-config.js +0 -1
- package/src/utils/private/touch.js +0 -1
- package/src/utils/private/vm.js +0 -1
- package/src/utils/run-sequential-promises.js +0 -1
package/dist/quasar.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.14.
|
|
2
|
+
* Quasar Framework v2.14.3
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -796,36 +796,13 @@ const Plugin$9 = defineReactivePlugin({
|
|
|
796
796
|
}
|
|
797
797
|
},
|
|
798
798
|
|
|
799
|
-
install ({ $q,
|
|
799
|
+
install ({ $q, ssrContext }) {
|
|
800
800
|
const { dark } = $q.config;
|
|
801
801
|
|
|
802
802
|
$q.dark = this;
|
|
803
803
|
|
|
804
|
-
if (this.__installed
|
|
805
|
-
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
this.isActive = dark === true;
|
|
809
|
-
|
|
810
|
-
const initialVal = dark !== void 0 ? dark : false;
|
|
811
|
-
|
|
812
|
-
if (isRuntimeSsrPreHydration.value === true) {
|
|
813
|
-
const ssrSet = val => {
|
|
814
|
-
this.__fromSSR = val;
|
|
815
|
-
};
|
|
816
|
-
|
|
817
|
-
const originalSet = this.set;
|
|
818
|
-
|
|
819
|
-
this.set = ssrSet;
|
|
820
|
-
ssrSet(initialVal);
|
|
821
|
-
|
|
822
|
-
onSSRHydrated.push(() => {
|
|
823
|
-
this.set = originalSet;
|
|
824
|
-
this.set(this.__fromSSR);
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
else {
|
|
828
|
-
this.set(initialVal);
|
|
804
|
+
if (this.__installed !== true) {
|
|
805
|
+
this.set(dark !== void 0 ? dark : false);
|
|
829
806
|
}
|
|
830
807
|
}
|
|
831
808
|
});
|
|
@@ -1651,7 +1628,7 @@ function prepareApp (app, uiOpts, pluginOpts) {
|
|
|
1651
1628
|
}
|
|
1652
1629
|
|
|
1653
1630
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1654
|
-
const $q = { version: '2.14.
|
|
1631
|
+
const $q = { version: '2.14.3' };
|
|
1655
1632
|
|
|
1656
1633
|
if (globalConfigIsFrozen === false) {
|
|
1657
1634
|
if (opts.config !== void 0) {
|
|
@@ -1915,13 +1892,23 @@ var QAjaxBar = createComponent({
|
|
|
1915
1892
|
|
|
1916
1893
|
progress.value = 0;
|
|
1917
1894
|
|
|
1895
|
+
/**
|
|
1896
|
+
* We're trying to avoid side effects if start() is called inside a watchEffect()
|
|
1897
|
+
* so we're accessing the _value property directly (under the covers implementation detail of ref())
|
|
1898
|
+
*
|
|
1899
|
+
* Otherwise, any refs() accessed here would be marked as deps for the watchEffect()
|
|
1900
|
+
* -- and we are changing them below, which would cause an infinite loop
|
|
1901
|
+
*/
|
|
1902
|
+
|
|
1918
1903
|
timer = setTimeout(() => {
|
|
1919
1904
|
timer = null;
|
|
1920
1905
|
animate.value = true;
|
|
1921
1906
|
newSpeed > 0 && planNextStep();
|
|
1922
|
-
|
|
1907
|
+
// eslint-disable-next-line vue/no-ref-as-operand
|
|
1908
|
+
}, onScreen._value === true ? 500 : 1);
|
|
1923
1909
|
|
|
1924
|
-
|
|
1910
|
+
// eslint-disable-next-line vue/no-ref-as-operand
|
|
1911
|
+
if (onScreen._value !== true) {
|
|
1925
1912
|
onScreen.value = true;
|
|
1926
1913
|
animate.value = false;
|
|
1927
1914
|
}
|
|
@@ -2280,13 +2267,13 @@ var QIcon = createComponent({
|
|
|
2280
2267
|
}
|
|
2281
2268
|
|
|
2282
2269
|
if (type.value.img === true) {
|
|
2283
|
-
return h(
|
|
2270
|
+
return h(props.tag, data, hMergeSlot(slots.default, [
|
|
2284
2271
|
h('img', { src: type.value.src })
|
|
2285
2272
|
]))
|
|
2286
2273
|
}
|
|
2287
2274
|
|
|
2288
2275
|
if (type.value.svg === true) {
|
|
2289
|
-
return h(
|
|
2276
|
+
return h(props.tag, data, hMergeSlot(slots.default, [
|
|
2290
2277
|
h('svg', {
|
|
2291
2278
|
viewBox: type.value.viewBox || '0 0 24 24'
|
|
2292
2279
|
}, type.value.nodes)
|
|
@@ -2294,7 +2281,7 @@ var QIcon = createComponent({
|
|
|
2294
2281
|
}
|
|
2295
2282
|
|
|
2296
2283
|
if (type.value.svguse === true) {
|
|
2297
|
-
return h(
|
|
2284
|
+
return h(props.tag, data, hMergeSlot(slots.default, [
|
|
2298
2285
|
h('svg', {
|
|
2299
2286
|
viewBox: type.value.viewBox
|
|
2300
2287
|
}, [
|
|
@@ -5862,6 +5849,35 @@ function uid$3 () {
|
|
|
5862
5849
|
+ hexBytes[ b[ 14 ] ] + hexBytes[ b[ 15 ] ]
|
|
5863
5850
|
}
|
|
5864
5851
|
|
|
5852
|
+
function getId (val, requiredId) {
|
|
5853
|
+
return val === void 0
|
|
5854
|
+
? (requiredId === true ? `f_${ uid$3() }` : void 0)
|
|
5855
|
+
: val
|
|
5856
|
+
}
|
|
5857
|
+
|
|
5858
|
+
/**
|
|
5859
|
+
* Returns an "id" which is a ref() that can be used as a unique identifier.
|
|
5860
|
+
* On SSR, it takes care of generating the id on the client side (only) to
|
|
5861
|
+
* avoid hydration errors.
|
|
5862
|
+
*/
|
|
5863
|
+
function useId (initialId, requiredId = true) {
|
|
5864
|
+
if (isRuntimeSsrPreHydration.value === true) {
|
|
5865
|
+
const id = ref(initialId);
|
|
5866
|
+
|
|
5867
|
+
if (requiredId === true && initialId === void 0) {
|
|
5868
|
+
onMounted(() => {
|
|
5869
|
+
id.value = `f_${ uid$3() }`; // getId(void 0, true)
|
|
5870
|
+
});
|
|
5871
|
+
}
|
|
5872
|
+
|
|
5873
|
+
return id
|
|
5874
|
+
}
|
|
5875
|
+
|
|
5876
|
+
return ref(
|
|
5877
|
+
getId(initialId, requiredId)
|
|
5878
|
+
)
|
|
5879
|
+
}
|
|
5880
|
+
|
|
5865
5881
|
const btnPropsList = Object.keys(useBtnProps);
|
|
5866
5882
|
|
|
5867
5883
|
const passBtnProps = props => btnPropsList.reduce(
|
|
@@ -5919,13 +5935,13 @@ var QBtnDropdown = createComponent({
|
|
|
5919
5935
|
|
|
5920
5936
|
const showing = ref(props.modelValue);
|
|
5921
5937
|
const menuRef = ref(null);
|
|
5922
|
-
const targetUid =
|
|
5938
|
+
const targetUid = useId();
|
|
5923
5939
|
|
|
5924
5940
|
const ariaAttrs = computed(() => {
|
|
5925
5941
|
const acc = {
|
|
5926
5942
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
5927
5943
|
'aria-haspopup': 'true',
|
|
5928
|
-
'aria-controls': targetUid,
|
|
5944
|
+
'aria-controls': targetUid.value,
|
|
5929
5945
|
'aria-label': props.toggleAriaLabel || proxy.$q.lang.label[ showing.value === true ? 'collapse' : 'expand' ](props.label)
|
|
5930
5946
|
};
|
|
5931
5947
|
|
|
@@ -6019,7 +6035,7 @@ var QBtnDropdown = createComponent({
|
|
|
6019
6035
|
props.disableDropdown !== true && Arrow.push(
|
|
6020
6036
|
h(QMenu, {
|
|
6021
6037
|
ref: menuRef,
|
|
6022
|
-
id: targetUid,
|
|
6038
|
+
id: targetUid.value,
|
|
6023
6039
|
class: props.contentClass,
|
|
6024
6040
|
style: props.contentStyle,
|
|
6025
6041
|
cover: props.cover,
|
|
@@ -10506,7 +10522,7 @@ function useTab (props, slots, emit, routeData) {
|
|
|
10506
10522
|
if (
|
|
10507
10523
|
hardError === void 0 && (
|
|
10508
10524
|
softError === void 0
|
|
10509
|
-
|| softError.message.startsWith('Avoided redundant navigation') === true
|
|
10525
|
+
|| (softError.message !== void 0 && softError.message.startsWith('Avoided redundant navigation') === true)
|
|
10510
10526
|
)
|
|
10511
10527
|
) {
|
|
10512
10528
|
$tabs.updateModel({ name: props.name });
|
|
@@ -18072,7 +18088,7 @@ var QExpansionItem = createComponent({
|
|
|
18072
18088
|
);
|
|
18073
18089
|
|
|
18074
18090
|
const blurTargetRef = ref(null);
|
|
18075
|
-
const targetUid =
|
|
18091
|
+
const targetUid = useId();
|
|
18076
18092
|
|
|
18077
18093
|
const { show, hide, toggle } = useModelToggle({ showing });
|
|
18078
18094
|
|
|
@@ -18140,7 +18156,7 @@ var QExpansionItem = createComponent({
|
|
|
18140
18156
|
return {
|
|
18141
18157
|
role: 'button',
|
|
18142
18158
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
18143
|
-
'aria-controls': targetUid,
|
|
18159
|
+
'aria-controls': targetUid.value,
|
|
18144
18160
|
'aria-label': toggleAriaLabel
|
|
18145
18161
|
}
|
|
18146
18162
|
});
|
|
@@ -18317,7 +18333,7 @@ var QExpansionItem = createComponent({
|
|
|
18317
18333
|
key: 'e-content',
|
|
18318
18334
|
class: 'q-expansion-item__content relative-position',
|
|
18319
18335
|
style: contentStyle.value,
|
|
18320
|
-
id: targetUid
|
|
18336
|
+
id: targetUid.value
|
|
18321
18337
|
}, hSlot(slots.default)),
|
|
18322
18338
|
[ [
|
|
18323
18339
|
vShow,
|
|
@@ -18492,7 +18508,7 @@ var QFab = createComponent({
|
|
|
18492
18508
|
setup (props, { slots }) {
|
|
18493
18509
|
const triggerRef = ref(null);
|
|
18494
18510
|
const showing = ref(props.modelValue === true);
|
|
18495
|
-
const targetUid =
|
|
18511
|
+
const targetUid = useId();
|
|
18496
18512
|
|
|
18497
18513
|
const { proxy: { $q } } = getCurrentInstance();
|
|
18498
18514
|
const { formClass, labelProps } = useFab(props, showing);
|
|
@@ -18520,7 +18536,7 @@ var QFab = createComponent({
|
|
|
18520
18536
|
|
|
18521
18537
|
const actionAttrs = computed(() => {
|
|
18522
18538
|
const attrs = {
|
|
18523
|
-
id: targetUid,
|
|
18539
|
+
id: targetUid.value,
|
|
18524
18540
|
role: 'menu'
|
|
18525
18541
|
};
|
|
18526
18542
|
|
|
@@ -18592,7 +18608,7 @@ var QFab = createComponent({
|
|
|
18592
18608
|
fab: true,
|
|
18593
18609
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
18594
18610
|
'aria-haspopup': 'true',
|
|
18595
|
-
'aria-controls': targetUid,
|
|
18611
|
+
'aria-controls': targetUid.value,
|
|
18596
18612
|
onClick: toggle
|
|
18597
18613
|
}, getTriggerContent),
|
|
18598
18614
|
|
|
@@ -18754,7 +18770,7 @@ function useValidate (focused, innerLoading) {
|
|
|
18754
18770
|
|
|
18755
18771
|
const innerError = ref(false);
|
|
18756
18772
|
const innerErrorMessage = ref(null);
|
|
18757
|
-
const isDirtyModel = ref(
|
|
18773
|
+
const isDirtyModel = ref(false);
|
|
18758
18774
|
|
|
18759
18775
|
useFormChild({ validate, resetValidation });
|
|
18760
18776
|
|
|
@@ -18797,18 +18813,20 @@ function useValidate (focused, innerLoading) {
|
|
|
18797
18813
|
}
|
|
18798
18814
|
});
|
|
18799
18815
|
|
|
18816
|
+
function onRulesChange () {
|
|
18817
|
+
if (
|
|
18818
|
+
props.lazyRules !== 'ondemand'
|
|
18819
|
+
&& canDebounceValidate.value === true
|
|
18820
|
+
&& isDirtyModel.value === true
|
|
18821
|
+
) {
|
|
18822
|
+
debouncedValidate();
|
|
18823
|
+
}
|
|
18824
|
+
}
|
|
18825
|
+
|
|
18800
18826
|
watch(() => props.reactiveRules, val => {
|
|
18801
18827
|
if (val === true) {
|
|
18802
18828
|
if (unwatchRules === void 0) {
|
|
18803
|
-
unwatchRules = watch(() => props.rules,
|
|
18804
|
-
if (
|
|
18805
|
-
canDebounceValidate.value === true
|
|
18806
|
-
&& isDirtyModel.value === true
|
|
18807
|
-
&& props.lazyRules !== 'ondemand'
|
|
18808
|
-
) {
|
|
18809
|
-
debouncedValidate();
|
|
18810
|
-
}
|
|
18811
|
-
}, { immediate: true });
|
|
18829
|
+
unwatchRules = watch(() => props.rules, onRulesChange, { immediate: true, deep: true });
|
|
18812
18830
|
}
|
|
18813
18831
|
}
|
|
18814
18832
|
else if (unwatchRules !== void 0) {
|
|
@@ -18817,30 +18835,15 @@ function useValidate (focused, innerLoading) {
|
|
|
18817
18835
|
}
|
|
18818
18836
|
}, { immediate: true });
|
|
18819
18837
|
|
|
18820
|
-
watch(() => props.lazyRules,
|
|
18821
|
-
if (
|
|
18822
|
-
val === false
|
|
18823
|
-
&& canDebounceValidate.value === true
|
|
18824
|
-
&& isDirtyModel.value === true
|
|
18825
|
-
) {
|
|
18826
|
-
debouncedValidate();
|
|
18827
|
-
}
|
|
18828
|
-
});
|
|
18838
|
+
watch(() => props.lazyRules, onRulesChange);
|
|
18829
18839
|
|
|
18830
18840
|
watch(focused, val => {
|
|
18831
18841
|
if (val === true) {
|
|
18832
|
-
|
|
18833
|
-
isDirtyModel.value = props.lazyRules === true;
|
|
18834
|
-
}
|
|
18842
|
+
isDirtyModel.value = true;
|
|
18835
18843
|
}
|
|
18836
18844
|
else if (
|
|
18837
18845
|
canDebounceValidate.value === true
|
|
18838
|
-
&&
|
|
18839
|
-
// props.lazyRules can also be 'ondemand',
|
|
18840
|
-
// hence the following form:
|
|
18841
|
-
props.lazyRules === false
|
|
18842
|
-
|| (props.lazyRules === true && isDirtyModel.value === true)
|
|
18843
|
-
)
|
|
18846
|
+
&& props.lazyRules !== 'ondemand'
|
|
18844
18847
|
) {
|
|
18845
18848
|
debouncedValidate();
|
|
18846
18849
|
}
|
|
@@ -18849,7 +18852,7 @@ function useValidate (focused, innerLoading) {
|
|
|
18849
18852
|
function resetValidation () {
|
|
18850
18853
|
validateIndex++;
|
|
18851
18854
|
innerLoading.value = false;
|
|
18852
|
-
isDirtyModel.value =
|
|
18855
|
+
isDirtyModel.value = false;
|
|
18853
18856
|
innerError.value = false;
|
|
18854
18857
|
innerErrorMessage.value = null;
|
|
18855
18858
|
debouncedValidate.cancel();
|
|
@@ -18956,12 +18959,6 @@ function useValidate (focused, innerLoading) {
|
|
|
18956
18959
|
}
|
|
18957
18960
|
}
|
|
18958
18961
|
|
|
18959
|
-
function getTargetUid (val, requiredForAttr) {
|
|
18960
|
-
return val === void 0
|
|
18961
|
-
? (requiredForAttr === true ? `f_${ uid$3() }` : void 0)
|
|
18962
|
-
: val
|
|
18963
|
-
}
|
|
18964
|
-
|
|
18965
18962
|
function fieldValueIsFilled (val) {
|
|
18966
18963
|
return val !== void 0
|
|
18967
18964
|
&& val !== null
|
|
@@ -19022,6 +19019,7 @@ function useFieldState ({ requiredForAttr = true, tagProp } = {}) {
|
|
|
19022
19019
|
const { props, attrs, proxy, vnode } = getCurrentInstance();
|
|
19023
19020
|
|
|
19024
19021
|
const isDark = useDark(props, proxy.$q);
|
|
19022
|
+
const targetUid = useId(props.for, requiredForAttr);
|
|
19025
19023
|
|
|
19026
19024
|
return {
|
|
19027
19025
|
requiredForAttr,
|
|
@@ -19040,9 +19038,7 @@ function useFieldState ({ requiredForAttr = true, tagProp } = {}) {
|
|
|
19040
19038
|
hasPopupOpen: false,
|
|
19041
19039
|
|
|
19042
19040
|
splitAttrs: useSplitAttrs(attrs, vnode),
|
|
19043
|
-
targetUid
|
|
19044
|
-
getTargetUid(props.for, requiredForAttr)
|
|
19045
|
-
),
|
|
19041
|
+
targetUid,
|
|
19046
19042
|
|
|
19047
19043
|
rootRef: ref(null),
|
|
19048
19044
|
targetRef: ref(null),
|
|
@@ -19194,9 +19190,11 @@ function useField (state) {
|
|
|
19194
19190
|
}));
|
|
19195
19191
|
|
|
19196
19192
|
const attributes = computed(() => {
|
|
19197
|
-
const acc = {
|
|
19198
|
-
|
|
19199
|
-
|
|
19193
|
+
const acc = {};
|
|
19194
|
+
|
|
19195
|
+
if (state.targetUid.value) {
|
|
19196
|
+
acc.for = state.targetUid.value;
|
|
19197
|
+
}
|
|
19200
19198
|
|
|
19201
19199
|
if (props.disable === true) {
|
|
19202
19200
|
acc[ 'aria-disabled' ] = 'true';
|
|
@@ -19208,7 +19206,7 @@ function useField (state) {
|
|
|
19208
19206
|
watch(() => props.for, val => {
|
|
19209
19207
|
// don't transform targetUid into a computed
|
|
19210
19208
|
// prop as it will break SSR
|
|
19211
|
-
state.targetUid.value =
|
|
19209
|
+
state.targetUid.value = getId(val, state.requiredForAttr);
|
|
19212
19210
|
});
|
|
19213
19211
|
|
|
19214
19212
|
function focusHandler () {
|
|
@@ -19284,7 +19282,7 @@ function useField (state) {
|
|
|
19284
19282
|
document.activeElement.blur();
|
|
19285
19283
|
}
|
|
19286
19284
|
|
|
19287
|
-
if (props.type === 'file') {
|
|
19285
|
+
if (props.type === 'file') {
|
|
19288
19286
|
// do not let focus be triggered
|
|
19289
19287
|
// as it will make the native file dialog
|
|
19290
19288
|
// appear for another selection
|
|
@@ -19295,11 +19293,9 @@ function useField (state) {
|
|
|
19295
19293
|
emit('clear', props.modelValue);
|
|
19296
19294
|
|
|
19297
19295
|
nextTick(() => {
|
|
19296
|
+
const isDirty = isDirtyModel.value;
|
|
19298
19297
|
resetValidation();
|
|
19299
|
-
|
|
19300
|
-
if ($q.platform.is.mobile !== true) {
|
|
19301
|
-
isDirtyModel.value = false;
|
|
19302
|
-
}
|
|
19298
|
+
isDirtyModel.value = isDirty;
|
|
19303
19299
|
});
|
|
19304
19300
|
}
|
|
19305
19301
|
|
|
@@ -19492,16 +19488,8 @@ function useField (state) {
|
|
|
19492
19488
|
shouldActivate === true && props.autofocus === true && proxy.focus();
|
|
19493
19489
|
});
|
|
19494
19490
|
|
|
19495
|
-
onMounted(() => {
|
|
19496
|
-
|
|
19497
|
-
isRuntimeSsrPreHydration.value === true
|
|
19498
|
-
&& state.requiredForAttr === true
|
|
19499
|
-
&& props.for === void 0
|
|
19500
|
-
) {
|
|
19501
|
-
state.targetUid.value = `f_${ uid$3() }`; // getTargetUid(void 0, true)
|
|
19502
|
-
}
|
|
19503
|
-
|
|
19504
|
-
props.autofocus === true && proxy.focus();
|
|
19491
|
+
props.autofocus === true && onMounted(() => {
|
|
19492
|
+
proxy.focus();
|
|
19505
19493
|
});
|
|
19506
19494
|
|
|
19507
19495
|
onBeforeUnmount(() => {
|
|
@@ -21285,7 +21273,7 @@ var QInfiniteScroll = createComponent({
|
|
|
21285
21273
|
const vm = getCurrentInstance();
|
|
21286
21274
|
Object.assign(vm.proxy, {
|
|
21287
21275
|
poll: () => { poll !== void 0 && poll(); },
|
|
21288
|
-
trigger, stop, reset, resume, setIndex
|
|
21276
|
+
trigger, stop, reset, resume, setIndex, updateScrollTarget
|
|
21289
21277
|
});
|
|
21290
21278
|
|
|
21291
21279
|
return () => {
|
|
@@ -40873,7 +40861,7 @@ function runSequentialPromises (
|
|
|
40873
40861
|
*/
|
|
40874
40862
|
|
|
40875
40863
|
const Quasar = {
|
|
40876
|
-
version: '2.14.
|
|
40864
|
+
version: '2.14.3',
|
|
40877
40865
|
install: installQuasar,
|
|
40878
40866
|
lang: Plugin$8,
|
|
40879
40867
|
iconSet: Plugin$7
|