quasar 2.4.13 → 2.5.0
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/QCheckbox.json +27 -0
- package/dist/api/QRadio.json +18 -0
- package/dist/api/QTime.json +8 -2
- package/dist/api/QToggle.json +24 -24
- 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/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/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 +34 -10
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +51 -23
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +29 -11
- package/dist/quasar.umd.js +119 -49
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/transforms/auto-import.json +39 -3
- package/dist/transforms/import-map.json +18 -0
- package/dist/types/index.d.ts +35 -13
- package/dist/vetur/quasar-attributes.json +32 -12
- package/dist/vetur/quasar-tags.json +8 -3
- package/dist/web-types/web-types.json +73 -28
- package/package.json +13 -3
- package/src/components/avatar/__tests__/QAvatar.spec.js +121 -0
- package/src/components/badge/__tests__/QBadge.spec.js +74 -0
- package/src/components/breadcrumbs/QBreadcrumbs.js +1 -1
- package/src/components/btn/__tests__/QBtn.spec.js +55 -0
- package/src/components/btn/__tests__/use-btn.spec.js +189 -0
- package/src/components/checkbox/QCheckbox.js +34 -3
- package/src/components/checkbox/QCheckbox.json +17 -0
- package/src/components/checkbox/QCheckbox.sass +17 -5
- package/src/components/checkbox/use-checkbox.js +4 -0
- package/src/components/checkbox/use-checkbox.json +18 -0
- package/src/components/chip/__tests__/QChip.spec.js +155 -0
- package/src/components/date/__tests__/QDate.spec.js +189 -0
- package/src/components/date/__tests__/use-datetime.spec.js +83 -0
- package/src/components/dialog/__tests__/QDialog.spec.js +129 -0
- package/src/components/editor/__tests__/QEditor.spec.js +195 -0
- package/src/components/input/QInput.js +9 -0
- package/src/components/input/__tests__/QInput.spec.js +105 -0
- package/src/components/input/__tests__/use-mask.spec.js +29 -0
- package/src/components/menu/__tests__/QMenu.spec.js +610 -0
- package/src/components/menu/__tests__/WrapperOne.vue +51 -0
- package/src/components/menu/__tests__/WrapperTwo.vue +38 -0
- package/src/components/radio/QRadio.js +26 -1
- package/src/components/radio/QRadio.json +16 -0
- package/src/components/radio/QRadio.sass +17 -6
- package/src/components/select/QSelect.js +1 -1
- package/src/components/select/__tests__/QSelect.spec.js +2003 -0
- package/src/components/select/__tests__/WrapperOne.vue +28 -0
- package/src/components/table/__tests__/QTable.spec.js +635 -0
- package/src/components/table/__tests__/QTd.spec.js +35 -0
- package/src/components/table/__tests__/QTh.spec.js +27 -0
- package/src/components/table/__tests__/QTr.spec.js +27 -0
- package/src/components/tabs/__tests__/QRouteTab.spec.js +9 -0
- package/src/components/tabs/__tests__/QTab.spec.js +79 -0
- package/src/components/tabs/__tests__/QTabs.spec.js +147 -0
- package/src/components/time/QTime.json +2 -2
- package/src/components/toggle/QToggle.js +5 -13
- package/src/components/toggle/QToggle.json +3 -12
- package/src/components/uploader/__tests__/QUploader.spec.js +161 -0
- package/src/composables/private/__tests__/FieldWrapper.vue +39 -0
- package/src/composables/private/__tests__/use-anchor.spec.js +99 -0
- package/src/composables/private/__tests__/use-field.spec.js +351 -0
- package/src/composables/private/__tests__/use-file.spec.js +69 -0
- package/src/composables/private/__tests__/use-form.spec.js +11 -0
- package/src/composables/private/__tests__/use-fullscreen.spec.js +37 -0
- package/src/composables/private/__tests__/use-model-toggle.spec.js +306 -0
- package/src/composables/private/__tests__/use-portal.spec.js +4 -0
- package/src/composables/private/__tests__/use-router-link.spec.js +55 -0
- package/src/composables/private/__tests__/use-size.spec.js +37 -0
- package/src/composables/private/__tests__/use-transition.spec.js +108 -0
- package/src/composables/private/__tests__/use-validate.spec.js +111 -0
- package/src/composables/private/use-fullscreen.js +1 -1
- package/src/composables/private/use-model-toggle.js +1 -1
- package/src/composables/private/use-validate.js +9 -5
- package/src/plugins/Meta.js +1 -1
- package/src/plugins/Screen.js +11 -8
- package/src/utils/date.js +5 -5
- package/src/utils/private/vm.js +14 -8
package/dist/quasar.sass
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.5.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1283,18 +1283,24 @@ input[type='search']::-webkit-search-decoration
|
|
|
1283
1283
|
$checkbox-transition: .22s cubic-bezier(0,0,.2,1) 0ms
|
|
1284
1284
|
.q-checkbox
|
|
1285
1285
|
vertical-align: middle
|
|
1286
|
-
&
|
|
1286
|
+
&__native
|
|
1287
|
+
width: 1px
|
|
1288
|
+
height: 1px
|
|
1289
|
+
&__bg,
|
|
1290
|
+
&__icon-container
|
|
1287
1291
|
top: 25%
|
|
1288
1292
|
left: 25%
|
|
1289
1293
|
width: 50%
|
|
1290
1294
|
height: 50%
|
|
1295
|
+
user-select: none
|
|
1296
|
+
&__bg
|
|
1291
1297
|
border: 2px solid currentColor
|
|
1292
1298
|
border-radius: 2px
|
|
1293
1299
|
transition: background $checkbox-transition
|
|
1294
1300
|
-webkit-print-color-adjust: exact
|
|
1295
|
-
&
|
|
1296
|
-
|
|
1297
|
-
|
|
1301
|
+
&__icon
|
|
1302
|
+
color: currentColor
|
|
1303
|
+
font-size: .6em
|
|
1298
1304
|
&__svg
|
|
1299
1305
|
color: #fff
|
|
1300
1306
|
&__truthy
|
|
@@ -1336,11 +1342,14 @@ $checkbox-transition: .22s cubic-bezier(0,0,.2,1) 0ms
|
|
|
1336
1342
|
&--truthy, &--indet
|
|
1337
1343
|
color: var(--q-primary)
|
|
1338
1344
|
&--dense
|
|
1345
|
+
.q-checkbox__icon
|
|
1346
|
+
font-size: .6em
|
|
1339
1347
|
.q-checkbox__inner
|
|
1340
1348
|
width: .5em
|
|
1341
1349
|
min-width: .5em
|
|
1342
1350
|
height: .5em
|
|
1343
|
-
.q-checkbox__bg
|
|
1351
|
+
.q-checkbox__bg,
|
|
1352
|
+
.q-checkbox__icon-container
|
|
1344
1353
|
left: 5%
|
|
1345
1354
|
top: 5%
|
|
1346
1355
|
width: 90%
|
|
@@ -3107,17 +3116,23 @@ body.platform-ios
|
|
|
3107
3116
|
$radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
|
|
3108
3117
|
.q-radio
|
|
3109
3118
|
vertical-align: middle
|
|
3110
|
-
&
|
|
3119
|
+
&__native
|
|
3120
|
+
width: 1px
|
|
3121
|
+
height: 1px
|
|
3122
|
+
&__bg,
|
|
3123
|
+
&__icon-container
|
|
3111
3124
|
top: 25%
|
|
3112
3125
|
left: 25%
|
|
3113
3126
|
width: 50%
|
|
3114
3127
|
height: 50%
|
|
3128
|
+
user-select: none
|
|
3129
|
+
&__bg
|
|
3115
3130
|
-webkit-print-color-adjust: exact
|
|
3116
3131
|
path
|
|
3117
3132
|
fill: currentColor
|
|
3118
|
-
&
|
|
3119
|
-
|
|
3120
|
-
|
|
3133
|
+
&__icon
|
|
3134
|
+
color: currentColor
|
|
3135
|
+
font-size: .6em
|
|
3121
3136
|
&__check
|
|
3122
3137
|
transform-origin: 50% 50%
|
|
3123
3138
|
transform: scale3d(0, 0, 1)
|
|
@@ -3144,11 +3159,14 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
|
|
|
3144
3159
|
&--truthy
|
|
3145
3160
|
color: var(--q-primary)
|
|
3146
3161
|
&--dense
|
|
3162
|
+
.q-checkbox__icon
|
|
3163
|
+
font-size: .6em
|
|
3147
3164
|
.q-radio__inner
|
|
3148
3165
|
width: .5em
|
|
3149
3166
|
min-width: .5em
|
|
3150
3167
|
height: .5em
|
|
3151
|
-
.q-radio__bg
|
|
3168
|
+
.q-radio__bg,
|
|
3169
|
+
.q-radio__icon-container
|
|
3152
3170
|
left: 0
|
|
3153
3171
|
top: 0
|
|
3154
3172
|
width: 100%
|
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.5.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -633,12 +633,19 @@
|
|
|
633
633
|
return
|
|
634
634
|
}
|
|
635
635
|
|
|
636
|
+
const { visualViewport } = window;
|
|
637
|
+
const target = visualViewport || window;
|
|
638
|
+
const getSize = visualViewport === void 0
|
|
639
|
+
? () => [ window.innerWidth, window.innerHeight ]
|
|
640
|
+
: () => [
|
|
641
|
+
visualViewport.width * visualViewport.scale + window.innerWidth - document.scrollingElement.clientWidth,
|
|
642
|
+
visualViewport.height * visualViewport.scale + window.innerHeight - document.scrollingElement.clientHeight
|
|
643
|
+
];
|
|
644
|
+
|
|
636
645
|
const classes = $q.config.screen !== void 0 && $q.config.screen.bodyClasses === true;
|
|
637
646
|
|
|
638
647
|
this.__update = force => {
|
|
639
|
-
const
|
|
640
|
-
w = window.innerWidth,
|
|
641
|
-
h = window.innerHeight;
|
|
648
|
+
const [ w, h ] = getSize();
|
|
642
649
|
|
|
643
650
|
if (h !== this.height) {
|
|
644
651
|
this.height = h;
|
|
@@ -696,11 +703,7 @@
|
|
|
696
703
|
};
|
|
697
704
|
|
|
698
705
|
const start = () => {
|
|
699
|
-
const
|
|
700
|
-
style = getComputedStyle(document.body),
|
|
701
|
-
target = window.visualViewport !== void 0
|
|
702
|
-
? window.visualViewport
|
|
703
|
-
: window;
|
|
706
|
+
const style = getComputedStyle(document.body);
|
|
704
707
|
|
|
705
708
|
// if css props available
|
|
706
709
|
if (style.getPropertyValue('--q-size-sm')) {
|
|
@@ -1456,7 +1459,7 @@
|
|
|
1456
1459
|
}
|
|
1457
1460
|
|
|
1458
1461
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1459
|
-
const $q = { version: '2.
|
|
1462
|
+
const $q = { version: '2.5.0' };
|
|
1460
1463
|
|
|
1461
1464
|
if (globalConfigIsFrozen === false) {
|
|
1462
1465
|
if (opts.config !== void 0) {
|
|
@@ -2335,19 +2338,25 @@
|
|
|
2335
2338
|
}
|
|
2336
2339
|
}
|
|
2337
2340
|
|
|
2341
|
+
function fillNormalizedVNodes (children, vnode) {
|
|
2342
|
+
if (typeof vnode.type === 'symbol') {
|
|
2343
|
+
if (Array.isArray(vnode.children) === true) {
|
|
2344
|
+
vnode.children.forEach(child => {
|
|
2345
|
+
fillNormalizedVNodes(children, child);
|
|
2346
|
+
});
|
|
2347
|
+
}
|
|
2348
|
+
}
|
|
2349
|
+
else {
|
|
2350
|
+
children.add(vnode);
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2338
2354
|
// vnodes from rendered in advanced slots
|
|
2339
2355
|
function getNormalizedVNodes (vnodes) {
|
|
2340
2356
|
const children = new Set();
|
|
2341
2357
|
|
|
2342
2358
|
vnodes.forEach(vnode => {
|
|
2343
|
-
|
|
2344
|
-
vnode.children.forEach(child => {
|
|
2345
|
-
children.add(child);
|
|
2346
|
-
});
|
|
2347
|
-
}
|
|
2348
|
-
else {
|
|
2349
|
-
children.add(vnode);
|
|
2350
|
-
}
|
|
2359
|
+
fillNormalizedVNodes(children, vnode);
|
|
2351
2360
|
});
|
|
2352
2361
|
|
|
2353
2362
|
return Array.from(children)
|
|
@@ -2398,7 +2407,7 @@
|
|
|
2398
2407
|
hSlot(slots.default)
|
|
2399
2408
|
);
|
|
2400
2409
|
|
|
2401
|
-
if (vnodes ===
|
|
2410
|
+
if (vnodes.length === 0) { return }
|
|
2402
2411
|
|
|
2403
2412
|
let els = 1;
|
|
2404
2413
|
|
|
@@ -4059,7 +4068,7 @@
|
|
|
4059
4068
|
vue.watch(() => props.modelValue, processModelChange);
|
|
4060
4069
|
|
|
4061
4070
|
if (hideOnRouteChange !== void 0 && vmHasRouter(vm) === true) {
|
|
4062
|
-
vue.watch(() => proxy.$route, () => {
|
|
4071
|
+
vue.watch(() => proxy.$route.fullPath, () => {
|
|
4063
4072
|
if (hideOnRouteChange.value === true && showing.value === true) {
|
|
4064
4073
|
hide();
|
|
4065
4074
|
}
|
|
@@ -6414,7 +6423,7 @@
|
|
|
6414
6423
|
let historyEntry, fullscreenFillerNode, container;
|
|
6415
6424
|
const inFullscreen = vue.ref(false);
|
|
6416
6425
|
|
|
6417
|
-
vmHasRouter(vm) === true && vue.watch(() => proxy.$route, () => {
|
|
6426
|
+
vmHasRouter(vm) === true && vue.watch(() => proxy.$route.fullPath, () => {
|
|
6418
6427
|
props.noRouteFullscreenExit !== true && exitFullscreen();
|
|
6419
6428
|
});
|
|
6420
6429
|
|
|
@@ -7171,6 +7180,10 @@
|
|
|
7171
7180
|
falseValue: { default: false },
|
|
7172
7181
|
indeterminateValue: { default: null },
|
|
7173
7182
|
|
|
7183
|
+
checkedIcon: String,
|
|
7184
|
+
uncheckedIcon: String,
|
|
7185
|
+
indeterminateIcon: String,
|
|
7186
|
+
|
|
7174
7187
|
toggleOrder: {
|
|
7175
7188
|
type: String,
|
|
7176
7189
|
validator: v => v === 'tf' || v === 'ft'
|
|
@@ -7383,6 +7396,7 @@
|
|
|
7383
7396
|
}
|
|
7384
7397
|
|
|
7385
7398
|
const bgNode = vue.h('div', {
|
|
7399
|
+
key: 'svg',
|
|
7386
7400
|
class: 'q-checkbox__bg absolute'
|
|
7387
7401
|
}, [
|
|
7388
7402
|
vue.h('svg', {
|
|
@@ -7409,8 +7423,36 @@
|
|
|
7409
7423
|
props: useCheckboxProps,
|
|
7410
7424
|
emits: useCheckboxEmits,
|
|
7411
7425
|
|
|
7412
|
-
setup () {
|
|
7413
|
-
|
|
7426
|
+
setup (props) {
|
|
7427
|
+
function getInner (isTrue, isIndeterminate) {
|
|
7428
|
+
const icon = vue.computed(() =>
|
|
7429
|
+
(isTrue.value === true
|
|
7430
|
+
? props.checkedIcon
|
|
7431
|
+
: (isIndeterminate.value === true
|
|
7432
|
+
? props.indeterminateIcon
|
|
7433
|
+
: props.uncheckedIcon
|
|
7434
|
+
)
|
|
7435
|
+
) || null
|
|
7436
|
+
);
|
|
7437
|
+
|
|
7438
|
+
return () => (
|
|
7439
|
+
icon.value !== null
|
|
7440
|
+
? [
|
|
7441
|
+
vue.h('div', {
|
|
7442
|
+
key: 'icon',
|
|
7443
|
+
class: 'q-checkbox__icon-container absolute flex flex-center no-wrap'
|
|
7444
|
+
}, [
|
|
7445
|
+
vue.h(QIcon, {
|
|
7446
|
+
class: 'q-checkbox__icon',
|
|
7447
|
+
name: icon.value
|
|
7448
|
+
})
|
|
7449
|
+
])
|
|
7450
|
+
]
|
|
7451
|
+
: [ bgNode ]
|
|
7452
|
+
)
|
|
7453
|
+
}
|
|
7454
|
+
|
|
7455
|
+
return useCheckbox('checkbox', getInner)
|
|
7414
7456
|
}
|
|
7415
7457
|
});
|
|
7416
7458
|
|
|
@@ -11748,16 +11790,16 @@
|
|
|
11748
11790
|
month += sign * mod.months;
|
|
11749
11791
|
}
|
|
11750
11792
|
|
|
11751
|
-
if (mod.days !== void 0) {
|
|
11752
|
-
day += sign * mod.days;
|
|
11753
|
-
}
|
|
11754
|
-
|
|
11755
11793
|
date.setDate(1);
|
|
11756
11794
|
date.setMonth(2);
|
|
11757
11795
|
|
|
11758
11796
|
date.setFullYear(year);
|
|
11759
11797
|
date.setMonth(month);
|
|
11760
|
-
date.setDate(day);
|
|
11798
|
+
date.setDate(Math.min(day, daysInMonth(date)));
|
|
11799
|
+
|
|
11800
|
+
if (mod.days !== void 0) {
|
|
11801
|
+
date.setDate(date.getDate() + sign * mod.days);
|
|
11802
|
+
}
|
|
11761
11803
|
|
|
11762
11804
|
return date
|
|
11763
11805
|
}
|
|
@@ -20218,12 +20260,16 @@
|
|
|
20218
20260
|
let validateIndex = 0, unwatchRules;
|
|
20219
20261
|
|
|
20220
20262
|
const hasRules = vue.computed(() =>
|
|
20221
|
-
props.
|
|
20222
|
-
&& props.rules !== void 0
|
|
20263
|
+
props.rules !== void 0
|
|
20223
20264
|
&& props.rules !== null
|
|
20224
20265
|
&& props.rules.length > 0
|
|
20225
20266
|
);
|
|
20226
20267
|
|
|
20268
|
+
const hasActiveRules = vue.computed(() =>
|
|
20269
|
+
props.disable !== true
|
|
20270
|
+
&& hasRules.value === true
|
|
20271
|
+
);
|
|
20272
|
+
|
|
20227
20273
|
const hasError = vue.computed(() =>
|
|
20228
20274
|
props.error === true || innerError.value === true
|
|
20229
20275
|
);
|
|
@@ -20261,7 +20307,7 @@
|
|
|
20261
20307
|
else if (isDirtyModel.value === false) {
|
|
20262
20308
|
isDirtyModel.value = true;
|
|
20263
20309
|
|
|
20264
|
-
if (
|
|
20310
|
+
if (hasActiveRules.value === true && props.lazyRules !== 'ondemand') {
|
|
20265
20311
|
debouncedValidate();
|
|
20266
20312
|
}
|
|
20267
20313
|
}
|
|
@@ -20283,7 +20329,7 @@
|
|
|
20283
20329
|
* - Promise (pending async validation)
|
|
20284
20330
|
*/
|
|
20285
20331
|
function validate (val = props.modelValue) {
|
|
20286
|
-
if (
|
|
20332
|
+
if (hasActiveRules.value !== true) {
|
|
20287
20333
|
return true
|
|
20288
20334
|
}
|
|
20289
20335
|
|
|
@@ -20371,7 +20417,7 @@
|
|
|
20371
20417
|
|
|
20372
20418
|
function validateIfNeeded (changedRules) {
|
|
20373
20419
|
if (
|
|
20374
|
-
|
|
20420
|
+
hasActiveRules.value === true
|
|
20375
20421
|
&& props.lazyRules !== 'ondemand'
|
|
20376
20422
|
&& (isDirtyModel.value === true || (props.lazyRules !== true && changedRules !== true))
|
|
20377
20423
|
) {
|
|
@@ -23167,6 +23213,15 @@
|
|
|
23167
23213
|
return attrs
|
|
23168
23214
|
});
|
|
23169
23215
|
|
|
23216
|
+
// some browsers lose the native input value
|
|
23217
|
+
// so we need to reattach it dynamically
|
|
23218
|
+
// (like type="password" <-> type="text"; see #12078)
|
|
23219
|
+
vue.watch(() => props.type, () => {
|
|
23220
|
+
if (inputRef.value) {
|
|
23221
|
+
inputRef.value.value = props.modelValue;
|
|
23222
|
+
}
|
|
23223
|
+
});
|
|
23224
|
+
|
|
23170
23225
|
vue.watch(() => props.modelValue, v => {
|
|
23171
23226
|
if (hasMask.value === true) {
|
|
23172
23227
|
if (stopValueWatcher === true) {
|
|
@@ -24386,6 +24441,7 @@
|
|
|
24386
24441
|
});
|
|
24387
24442
|
|
|
24388
24443
|
const svg$m = vue.h('svg', {
|
|
24444
|
+
key: 'svg',
|
|
24389
24445
|
class: 'q-radio__bg absolute non-selectable',
|
|
24390
24446
|
viewBox: '0 0 24 24',
|
|
24391
24447
|
'aria-hidden': 'true'
|
|
@@ -24414,6 +24470,9 @@
|
|
|
24414
24470
|
label: String,
|
|
24415
24471
|
leftLabel: Boolean,
|
|
24416
24472
|
|
|
24473
|
+
checkedIcon: String,
|
|
24474
|
+
uncheckedIcon: String,
|
|
24475
|
+
|
|
24417
24476
|
color: String,
|
|
24418
24477
|
keepColor: Boolean,
|
|
24419
24478
|
dense: Boolean,
|
|
@@ -24455,6 +24514,13 @@
|
|
|
24455
24514
|
+ `q-radio__inner--${ isTrue.value === true ? 'truthy' : 'falsy' }${ color }`
|
|
24456
24515
|
});
|
|
24457
24516
|
|
|
24517
|
+
const icon = vue.computed(() =>
|
|
24518
|
+
(isTrue.value === true
|
|
24519
|
+
? props.checkedIcon
|
|
24520
|
+
: props.uncheckedIcon
|
|
24521
|
+
) || null
|
|
24522
|
+
);
|
|
24523
|
+
|
|
24458
24524
|
const tabindex = vue.computed(() => (
|
|
24459
24525
|
props.disable === true ? -1 : props.tabindex || 0
|
|
24460
24526
|
));
|
|
@@ -24500,7 +24566,19 @@
|
|
|
24500
24566
|
Object.assign(proxy, { set: onClick });
|
|
24501
24567
|
|
|
24502
24568
|
return () => {
|
|
24503
|
-
const content =
|
|
24569
|
+
const content = icon.value !== null
|
|
24570
|
+
? [
|
|
24571
|
+
vue.h('div', {
|
|
24572
|
+
key: 'icon',
|
|
24573
|
+
class: 'q-radio__icon-container absolute flex flex-center no-wrap'
|
|
24574
|
+
}, [
|
|
24575
|
+
vue.h(QIcon, {
|
|
24576
|
+
class: 'q-radio__icon',
|
|
24577
|
+
name: icon.value
|
|
24578
|
+
})
|
|
24579
|
+
])
|
|
24580
|
+
]
|
|
24581
|
+
: [ svg$m ];
|
|
24504
24582
|
|
|
24505
24583
|
props.disable !== true && injectFormInput(
|
|
24506
24584
|
content,
|
|
@@ -24552,10 +24630,6 @@
|
|
|
24552
24630
|
...useCheckboxProps,
|
|
24553
24631
|
|
|
24554
24632
|
icon: String,
|
|
24555
|
-
checkedIcon: String,
|
|
24556
|
-
uncheckedIcon: String,
|
|
24557
|
-
indeterminateIcon: String,
|
|
24558
|
-
|
|
24559
24633
|
iconColor: String
|
|
24560
24634
|
},
|
|
24561
24635
|
|
|
@@ -24563,29 +24637,25 @@
|
|
|
24563
24637
|
|
|
24564
24638
|
setup (props) {
|
|
24565
24639
|
function getInner (isTrue, isIndeterminate) {
|
|
24566
|
-
const
|
|
24640
|
+
const icon = vue.computed(() =>
|
|
24567
24641
|
(isTrue.value === true
|
|
24568
24642
|
? props.checkedIcon
|
|
24569
24643
|
: (isIndeterminate.value === true ? props.indeterminateIcon : props.uncheckedIcon)
|
|
24570
24644
|
) || props.icon
|
|
24571
24645
|
);
|
|
24572
24646
|
|
|
24573
|
-
const
|
|
24574
|
-
if (isTrue.value === true) {
|
|
24575
|
-
return props.iconColor
|
|
24576
|
-
}
|
|
24577
|
-
});
|
|
24647
|
+
const color = vue.computed(() => (isTrue.value === true ? props.iconColor : null));
|
|
24578
24648
|
|
|
24579
24649
|
return () => [
|
|
24580
24650
|
vue.h('div', { class: 'q-toggle__track' }),
|
|
24581
24651
|
|
|
24582
24652
|
vue.h('div', {
|
|
24583
24653
|
class: 'q-toggle__thumb absolute flex flex-center no-wrap'
|
|
24584
|
-
},
|
|
24654
|
+
}, icon.value !== void 0
|
|
24585
24655
|
? [
|
|
24586
24656
|
vue.h(QIcon, {
|
|
24587
|
-
name:
|
|
24588
|
-
color:
|
|
24657
|
+
name: icon.value,
|
|
24658
|
+
color: color.value
|
|
24589
24659
|
})
|
|
24590
24660
|
]
|
|
24591
24661
|
: void 0
|
|
@@ -29352,7 +29422,7 @@
|
|
|
29352
29422
|
filter, updateMenuPosition, updateInputValue,
|
|
29353
29423
|
isOptionSelected,
|
|
29354
29424
|
getEmittingOptionValue,
|
|
29355
|
-
isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args),
|
|
29425
|
+
isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args) === true,
|
|
29356
29426
|
getOptionValue: (...args) => getOptionValue.value.apply(null, args),
|
|
29357
29427
|
getOptionLabel: (...args) => getOptionLabel.value.apply(null, args)
|
|
29358
29428
|
});
|
|
@@ -39369,7 +39439,7 @@
|
|
|
39369
39439
|
});
|
|
39370
39440
|
|
|
39371
39441
|
var index_umd = {
|
|
39372
|
-
version: '2.
|
|
39442
|
+
version: '2.5.0',
|
|
39373
39443
|
install (app, opts) {
|
|
39374
39444
|
installQuasar(app, {
|
|
39375
39445
|
components,
|