quasar 1.22.5 → 1.22.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 +12 -0
- package/dist/api/QCarouselSlide.json +1 -1
- package/dist/api/QChatMessage.json +1 -1
- package/dist/api/QImg.json +8 -2
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/eva-icons.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/line-awesome.umd.min.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/material-icons.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
- package/dist/icon-set/mdi-v3.umd.min.js +1 -1
- package/dist/icon-set/mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/mdi-v7.umd.min.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.min.js +1 -1
- package/dist/icon-set/svg-themify.umd.min.js +1 -1
- package/dist/icon-set/themify.umd.min.js +1 -1
- package/dist/lang/ar.umd.min.js +1 -1
- package/dist/lang/az-latn.umd.min.js +1 -1
- package/dist/lang/bg.umd.min.js +1 -1
- package/dist/lang/ca.umd.min.js +1 -1
- package/dist/lang/cs.umd.min.js +1 -1
- package/dist/lang/da.umd.min.js +1 -1
- package/dist/lang/de.umd.min.js +1 -1
- package/dist/lang/el.umd.min.js +1 -1
- package/dist/lang/en-gb.umd.min.js +1 -1
- package/dist/lang/en-us.umd.min.js +1 -1
- package/dist/lang/eo.umd.min.js +1 -1
- package/dist/lang/es.umd.min.js +1 -1
- package/dist/lang/et.umd.min.js +1 -1
- package/dist/lang/eu.umd.min.js +1 -1
- package/dist/lang/fa-ir.umd.min.js +1 -1
- package/dist/lang/fa.umd.min.js +1 -1
- package/dist/lang/fi.umd.min.js +1 -1
- package/dist/lang/fr.umd.min.js +1 -1
- package/dist/lang/gn.umd.min.js +1 -1
- package/dist/lang/he.umd.min.js +1 -1
- package/dist/lang/hr.umd.min.js +1 -1
- package/dist/lang/hu.umd.min.js +1 -1
- package/dist/lang/id.umd.min.js +1 -1
- package/dist/lang/is.umd.min.js +1 -1
- package/dist/lang/it.umd.min.js +1 -1
- package/dist/lang/ja.umd.min.js +2 -2
- package/dist/lang/km.umd.min.js +1 -1
- package/dist/lang/ko-kr.umd.min.js +1 -1
- package/dist/lang/kur-ckb.umd.min.js +1 -1
- package/dist/lang/kz.umd.min.js +1 -1
- package/dist/lang/lu.umd.min.js +1 -1
- package/dist/lang/lv.umd.min.js +1 -1
- package/dist/lang/ml.umd.min.js +1 -1
- package/dist/lang/mm.umd.min.js +1 -1
- package/dist/lang/ms.umd.min.js +1 -1
- package/dist/lang/my.umd.min.js +1 -1
- package/dist/lang/nb-no.umd.min.js +1 -1
- package/dist/lang/nl.umd.min.js +1 -1
- package/dist/lang/pl.umd.min.js +1 -1
- package/dist/lang/pt-br.umd.min.js +1 -1
- package/dist/lang/pt.umd.min.js +1 -1
- package/dist/lang/ro.umd.min.js +1 -1
- package/dist/lang/ru.umd.min.js +1 -1
- package/dist/lang/sk.umd.min.js +1 -1
- package/dist/lang/sl.umd.min.js +2 -2
- package/dist/lang/sm.umd.min.js +1 -1
- package/dist/lang/sr.umd.min.js +1 -1
- package/dist/lang/sv.umd.min.js +1 -1
- package/dist/lang/ta.umd.min.js +1 -1
- package/dist/lang/th.umd.min.js +1 -1
- package/dist/lang/tr.umd.min.js +1 -1
- package/dist/lang/ug.umd.min.js +1 -1
- package/dist/lang/uk.umd.min.js +1 -1
- package/dist/lang/uz-Cyrl.umd.min.js +1 -1
- package/dist/lang/uz-Latn.umd.min.js +1 -1
- package/dist/lang/vi.umd.min.js +1 -1
- package/dist/lang/zh-hans.umd.min.js +1 -1
- package/dist/lang/zh-hant.umd.min.js +1 -1
- package/dist/quasar.addon.css +1 -1
- package/dist/quasar.addon.rtl.css +1 -1
- package/dist/quasar.common.js +2 -2
- package/dist/quasar.css +26 -5
- package/dist/quasar.esm.js +2 -2
- package/dist/quasar.ie.polyfills.js +1 -1
- package/dist/quasar.ie.polyfills.umd.min.js +1 -1
- package/dist/quasar.min.css +1 -1
- package/dist/quasar.rtl.css +4 -3
- package/dist/quasar.rtl.min.css +1 -1
- package/dist/quasar.sass +18 -5
- package/dist/quasar.styl +18 -5
- package/dist/quasar.umd.js +128 -64
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +122 -62
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/types/index.d.ts +12 -0
- package/dist/vetur/quasar-attributes.json +4 -0
- package/dist/vetur/quasar-tags.json +2 -1
- package/dist/web-types/web-types.json +16 -6
- package/lang/ja.js +1 -1
- package/lang/sl.js +1 -1
- package/package.json +1 -1
- package/src/components/carousel/QCarouselSlide.json +1 -1
- package/src/components/chat/QChatMessage.json +1 -1
- package/src/components/date/QDate.js +8 -3
- package/src/components/dialog-bottom-sheet/BottomSheet.js +2 -0
- package/src/components/field/QField.js +5 -1
- package/src/components/field/QField.sass +18 -4
- package/src/components/field/QField.styl +18 -4
- package/src/components/img/QImg.js +10 -1
- package/src/components/img/QImg.json +9 -2
- package/src/components/input/QInput.js +17 -4
- package/src/components/layout/QLayout.sass +1 -0
- package/src/components/layout/QLayout.styl +1 -0
- package/src/components/slide-transition/QSlideTransition.js +6 -1
- package/src/components/table/table-top.js +1 -1
- package/src/components/timeline/QTimelineEntry.json +1 -1
- package/src/mixins/mask.js +71 -49
- package/src/plugins/BottomSheet.json +7 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v1.22.
|
|
2
|
+
* Quasar Framework v1.22.7
|
|
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.22.
|
|
15
|
+
var version = "1.22.7";
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-useless-escape */
|
|
18
18
|
|
|
@@ -13214,8 +13214,8 @@
|
|
|
13214
13214
|
this.lastEmitValue = 0;
|
|
13215
13215
|
}
|
|
13216
13216
|
else {
|
|
13217
|
-
const
|
|
13218
|
-
this.__updateViewModel(year, month);
|
|
13217
|
+
const model = this.__getViewModel(this.innerMask, this.innerLocale);
|
|
13218
|
+
this.__updateViewModel(model.year, model.month, model);
|
|
13219
13219
|
}
|
|
13220
13220
|
},
|
|
13221
13221
|
|
|
@@ -14383,7 +14383,7 @@
|
|
|
14383
14383
|
}
|
|
14384
14384
|
},
|
|
14385
14385
|
|
|
14386
|
-
__updateViewModel (year, month) {
|
|
14386
|
+
__updateViewModel (year, month, time) {
|
|
14387
14387
|
if (this.minNav !== void 0 && year <= this.minNav.year) {
|
|
14388
14388
|
year = this.minNav.year;
|
|
14389
14389
|
if (month < this.minNav.month) {
|
|
@@ -14398,6 +14398,11 @@
|
|
|
14398
14398
|
}
|
|
14399
14399
|
}
|
|
14400
14400
|
|
|
14401
|
+
if (time !== void 0) {
|
|
14402
|
+
const { hour, minute, second, millisecond, timezoneOffset, timeHash } = time;
|
|
14403
|
+
Object.assign(this.viewModel, { hour, minute, second, millisecond, timezoneOffset, timeHash });
|
|
14404
|
+
}
|
|
14405
|
+
|
|
14401
14406
|
const newHash = year + '/' + pad(month) + '/01';
|
|
14402
14407
|
|
|
14403
14408
|
if (newHash !== this.viewModel.dateHash) {
|
|
@@ -17690,7 +17695,7 @@
|
|
|
17690
17695
|
|
|
17691
17696
|
methods: {
|
|
17692
17697
|
__begin (el, height, done) {
|
|
17693
|
-
|
|
17698
|
+
// here overflowY is 'hidden'
|
|
17694
17699
|
if (height !== void 0) {
|
|
17695
17700
|
el.style.height = `${height}px`;
|
|
17696
17701
|
}
|
|
@@ -17735,12 +17740,14 @@
|
|
|
17735
17740
|
let pos = 0;
|
|
17736
17741
|
this.el = el;
|
|
17737
17742
|
|
|
17743
|
+
// if animationg overflowY is already 'hidden'
|
|
17738
17744
|
if (this.animating === true) {
|
|
17739
17745
|
this.__cleanup();
|
|
17740
17746
|
pos = el.offsetHeight === el.scrollHeight ? 0 : void 0;
|
|
17741
17747
|
}
|
|
17742
17748
|
else {
|
|
17743
17749
|
this.lastEvent = 'hide';
|
|
17750
|
+
el.style.overflowY = 'hidden';
|
|
17744
17751
|
}
|
|
17745
17752
|
|
|
17746
17753
|
this.__begin(el, pos, done);
|
|
@@ -17766,6 +17773,9 @@
|
|
|
17766
17773
|
}
|
|
17767
17774
|
else {
|
|
17768
17775
|
this.lastEvent = 'show';
|
|
17776
|
+
// we need to set overflowY 'hidden' before calculating the height
|
|
17777
|
+
// or else we get small differences
|
|
17778
|
+
el.style.overflowY = 'hidden';
|
|
17769
17779
|
pos = el.scrollHeight;
|
|
17770
17780
|
}
|
|
17771
17781
|
|
|
@@ -18900,7 +18910,11 @@
|
|
|
18900
18910
|
this.focused === true ||
|
|
18901
18911
|
typeof this.inputValue === 'number' ||
|
|
18902
18912
|
(typeof this.inputValue === 'string' && this.inputValue.length > 0) ||
|
|
18903
|
-
(
|
|
18913
|
+
(
|
|
18914
|
+
this.hideSelected !== true &&
|
|
18915
|
+
this.hasValue === true &&
|
|
18916
|
+
(this.type !== 'number' || isNaN(this.value) === false)
|
|
18917
|
+
) ||
|
|
18904
18918
|
(
|
|
18905
18919
|
this.displayValue !== void 0 &&
|
|
18906
18920
|
this.displayValue !== null &&
|
|
@@ -20548,6 +20562,7 @@
|
|
|
20548
20562
|
imgStyle: Object,
|
|
20549
20563
|
|
|
20550
20564
|
nativeContextMenu: Boolean,
|
|
20565
|
+
notDraggable: Boolean,
|
|
20551
20566
|
|
|
20552
20567
|
noDefaultSpinner: Boolean,
|
|
20553
20568
|
spinnerColor: String,
|
|
@@ -20587,6 +20602,14 @@
|
|
|
20587
20602
|
return att
|
|
20588
20603
|
},
|
|
20589
20604
|
|
|
20605
|
+
imgAttrs () {
|
|
20606
|
+
const att = { src: this.url, 'aria-hidden': 'true' };
|
|
20607
|
+
if (this.notDraggable === true) {
|
|
20608
|
+
att.draggable = false;
|
|
20609
|
+
}
|
|
20610
|
+
return att
|
|
20611
|
+
},
|
|
20612
|
+
|
|
20590
20613
|
imgContainerStyle () {
|
|
20591
20614
|
return Object.assign(
|
|
20592
20615
|
{
|
|
@@ -20738,7 +20761,7 @@
|
|
|
20738
20761
|
? [
|
|
20739
20762
|
h('img', {
|
|
20740
20763
|
staticClass: 'absolute-full fit',
|
|
20741
|
-
attrs:
|
|
20764
|
+
attrs: this.imgAttrs
|
|
20742
20765
|
})
|
|
20743
20766
|
]
|
|
20744
20767
|
: void 0;
|
|
@@ -21349,7 +21372,7 @@
|
|
|
21349
21372
|
|
|
21350
21373
|
this.computedMask = mask;
|
|
21351
21374
|
this.computedUnmask = val => {
|
|
21352
|
-
const unmaskMatch = unmaskMatcher.exec(this.reverseFillMask === true ? val : val.slice(0, mask.length));
|
|
21375
|
+
const unmaskMatch = unmaskMatcher.exec(this.reverseFillMask === true ? val : val.slice(0, mask.length + 1));
|
|
21353
21376
|
if (unmaskMatch !== null) {
|
|
21354
21377
|
val = unmaskMatch.slice(1).join('');
|
|
21355
21378
|
}
|
|
@@ -21409,8 +21432,15 @@
|
|
|
21409
21432
|
}
|
|
21410
21433
|
|
|
21411
21434
|
if (inputType === 'insertFromPaste' && this.reverseFillMask !== true) {
|
|
21412
|
-
const
|
|
21413
|
-
|
|
21435
|
+
const maxEnd = inp.selectionEnd;
|
|
21436
|
+
let cursor = end - 1;
|
|
21437
|
+
// each non-marker char means we move once to right
|
|
21438
|
+
for (let i = this.__pastedTextStart; i <= cursor && i < maxEnd; i++) {
|
|
21439
|
+
if (this.maskMarked[i] !== MARKER) {
|
|
21440
|
+
cursor++;
|
|
21441
|
+
}
|
|
21442
|
+
}
|
|
21443
|
+
this.__moveCursorRight(inp, cursor);
|
|
21414
21444
|
|
|
21415
21445
|
return
|
|
21416
21446
|
}
|
|
@@ -21436,7 +21466,7 @@
|
|
|
21436
21466
|
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21437
21467
|
}
|
|
21438
21468
|
else {
|
|
21439
|
-
this.__moveCursorRightReverse(inp, cursor
|
|
21469
|
+
this.__moveCursorRightReverse(inp, cursor);
|
|
21440
21470
|
}
|
|
21441
21471
|
}
|
|
21442
21472
|
else {
|
|
@@ -21447,11 +21477,11 @@
|
|
|
21447
21477
|
else {
|
|
21448
21478
|
if (changed === true) {
|
|
21449
21479
|
const cursor = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1);
|
|
21450
|
-
this.__moveCursorRight(inp, cursor
|
|
21480
|
+
this.__moveCursorRight(inp, cursor);
|
|
21451
21481
|
}
|
|
21452
21482
|
else {
|
|
21453
21483
|
const cursor = end - 1;
|
|
21454
|
-
this.__moveCursorRight(inp, cursor
|
|
21484
|
+
this.__moveCursorRight(inp, cursor);
|
|
21455
21485
|
}
|
|
21456
21486
|
}
|
|
21457
21487
|
});
|
|
@@ -21467,73 +21497,71 @@
|
|
|
21467
21497
|
const preMasked = this.__mask(this.__unmask(inp.value));
|
|
21468
21498
|
|
|
21469
21499
|
start = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, start));
|
|
21500
|
+
this.__pastedTextStart = start;
|
|
21470
21501
|
|
|
21471
21502
|
inp.setSelectionRange(start, end, 'forward');
|
|
21472
21503
|
},
|
|
21473
21504
|
|
|
21474
|
-
__moveCursorLeft (inp,
|
|
21475
|
-
const noMarkBefore = this.maskMarked.slice(
|
|
21476
|
-
let i = Math.max(0,
|
|
21505
|
+
__moveCursorLeft (inp, cursor) {
|
|
21506
|
+
const noMarkBefore = this.maskMarked.slice(cursor - 1).indexOf(MARKER) === -1;
|
|
21507
|
+
let i = Math.max(0, cursor - 1);
|
|
21477
21508
|
|
|
21478
21509
|
for (; i >= 0; i--) {
|
|
21479
21510
|
if (this.maskMarked[i] === MARKER) {
|
|
21480
|
-
|
|
21481
|
-
noMarkBefore === true &&
|
|
21511
|
+
cursor = i;
|
|
21512
|
+
noMarkBefore === true && cursor++;
|
|
21482
21513
|
break
|
|
21483
21514
|
}
|
|
21484
21515
|
}
|
|
21485
21516
|
|
|
21486
21517
|
if (
|
|
21487
21518
|
i < 0 &&
|
|
21488
|
-
this.maskMarked[
|
|
21489
|
-
this.maskMarked[
|
|
21519
|
+
this.maskMarked[cursor] !== void 0 &&
|
|
21520
|
+
this.maskMarked[cursor] !== MARKER
|
|
21490
21521
|
) {
|
|
21491
|
-
return this.__moveCursorRight(inp, 0
|
|
21522
|
+
return this.__moveCursorRight(inp, 0)
|
|
21492
21523
|
}
|
|
21493
21524
|
|
|
21494
|
-
|
|
21495
|
-
start,
|
|
21496
|
-
selection === true ? end : start, 'backward'
|
|
21497
|
-
);
|
|
21525
|
+
cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
|
|
21498
21526
|
},
|
|
21499
21527
|
|
|
21500
|
-
__moveCursorRight (inp,
|
|
21528
|
+
__moveCursorRight (inp, cursor) {
|
|
21501
21529
|
const limit = inp.value.length;
|
|
21502
|
-
let i = Math.min(limit,
|
|
21530
|
+
let i = Math.min(limit, cursor + 1);
|
|
21503
21531
|
|
|
21504
21532
|
for (; i <= limit; i++) {
|
|
21505
21533
|
if (this.maskMarked[i] === MARKER) {
|
|
21506
|
-
|
|
21534
|
+
cursor = i;
|
|
21507
21535
|
break
|
|
21508
21536
|
}
|
|
21509
21537
|
else if (this.maskMarked[i - 1] === MARKER) {
|
|
21510
|
-
|
|
21538
|
+
cursor = i;
|
|
21511
21539
|
}
|
|
21512
21540
|
}
|
|
21513
21541
|
|
|
21514
21542
|
if (
|
|
21515
21543
|
i > limit &&
|
|
21516
|
-
this.maskMarked[
|
|
21517
|
-
this.maskMarked[
|
|
21544
|
+
this.maskMarked[cursor - 1] !== void 0 &&
|
|
21545
|
+
this.maskMarked[cursor - 1] !== MARKER
|
|
21518
21546
|
) {
|
|
21519
|
-
return this.__moveCursorLeft(inp, limit
|
|
21547
|
+
return this.__moveCursorLeft(inp, limit)
|
|
21520
21548
|
}
|
|
21521
21549
|
|
|
21522
|
-
inp.setSelectionRange(
|
|
21550
|
+
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21523
21551
|
},
|
|
21524
21552
|
|
|
21525
|
-
__moveCursorLeftReverse (inp,
|
|
21553
|
+
__moveCursorLeftReverse (inp, cursor) {
|
|
21526
21554
|
const
|
|
21527
21555
|
maskMarked = this.__getPaddedMaskMarked(inp.value.length);
|
|
21528
|
-
let i = Math.max(0,
|
|
21556
|
+
let i = Math.max(0, cursor - 1);
|
|
21529
21557
|
|
|
21530
21558
|
for (; i >= 0; i--) {
|
|
21531
21559
|
if (maskMarked[i - 1] === MARKER) {
|
|
21532
|
-
|
|
21560
|
+
cursor = i;
|
|
21533
21561
|
break
|
|
21534
21562
|
}
|
|
21535
21563
|
else if (maskMarked[i] === MARKER) {
|
|
21536
|
-
|
|
21564
|
+
cursor = i;
|
|
21537
21565
|
if (i === 0) {
|
|
21538
21566
|
break
|
|
21539
21567
|
}
|
|
@@ -21542,42 +21570,45 @@
|
|
|
21542
21570
|
|
|
21543
21571
|
if (
|
|
21544
21572
|
i < 0 &&
|
|
21545
|
-
maskMarked[
|
|
21546
|
-
maskMarked[
|
|
21573
|
+
maskMarked[cursor] !== void 0 &&
|
|
21574
|
+
maskMarked[cursor] !== MARKER
|
|
21547
21575
|
) {
|
|
21548
|
-
return this.__moveCursorRightReverse(inp, 0
|
|
21576
|
+
return this.__moveCursorRightReverse(inp, 0)
|
|
21549
21577
|
}
|
|
21550
21578
|
|
|
21551
|
-
|
|
21552
|
-
start,
|
|
21553
|
-
selection === true ? end : start, 'backward'
|
|
21554
|
-
);
|
|
21579
|
+
cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
|
|
21555
21580
|
},
|
|
21556
21581
|
|
|
21557
|
-
__moveCursorRightReverse (inp,
|
|
21582
|
+
__moveCursorRightReverse (inp, cursor) {
|
|
21558
21583
|
const
|
|
21559
21584
|
limit = inp.value.length,
|
|
21560
21585
|
maskMarked = this.__getPaddedMaskMarked(limit),
|
|
21561
|
-
noMarkBefore = maskMarked.slice(0,
|
|
21562
|
-
let i = Math.min(limit,
|
|
21586
|
+
noMarkBefore = maskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1;
|
|
21587
|
+
let i = Math.min(limit, cursor + 1);
|
|
21563
21588
|
|
|
21564
21589
|
for (; i <= limit; i++) {
|
|
21565
21590
|
if (maskMarked[i - 1] === MARKER) {
|
|
21566
|
-
|
|
21567
|
-
|
|
21591
|
+
cursor = i;
|
|
21592
|
+
cursor > 0 && noMarkBefore === true && cursor--;
|
|
21568
21593
|
break
|
|
21569
21594
|
}
|
|
21570
21595
|
}
|
|
21571
21596
|
|
|
21572
21597
|
if (
|
|
21573
21598
|
i > limit &&
|
|
21574
|
-
maskMarked[
|
|
21575
|
-
maskMarked[
|
|
21599
|
+
maskMarked[cursor - 1] !== void 0 &&
|
|
21600
|
+
maskMarked[cursor - 1] !== MARKER
|
|
21576
21601
|
) {
|
|
21577
|
-
return this.__moveCursorLeftReverse(inp, limit
|
|
21602
|
+
return this.__moveCursorLeftReverse(inp, limit)
|
|
21578
21603
|
}
|
|
21579
21604
|
|
|
21580
|
-
inp.setSelectionRange(
|
|
21605
|
+
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21606
|
+
},
|
|
21607
|
+
|
|
21608
|
+
__onMaskedClick (e) {
|
|
21609
|
+
this.qListeners.click !== void 0 && this.$emit('click', e);
|
|
21610
|
+
|
|
21611
|
+
this.__selectionAnchor = void 0;
|
|
21581
21612
|
},
|
|
21582
21613
|
|
|
21583
21614
|
__onMaskedKeydown (e) {
|
|
@@ -21592,25 +21623,39 @@
|
|
|
21592
21623
|
start = inp.selectionStart,
|
|
21593
21624
|
end = inp.selectionEnd;
|
|
21594
21625
|
|
|
21626
|
+
if (!e.shiftKey) {
|
|
21627
|
+
this.__selectionAnchor = void 0;
|
|
21628
|
+
}
|
|
21629
|
+
|
|
21595
21630
|
if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right
|
|
21631
|
+
if (e.shiftKey && this.__selectionAnchor === void 0) {
|
|
21632
|
+
this.__selectionAnchor = inp.selectionDirection === 'forward' ? start : end;
|
|
21633
|
+
}
|
|
21634
|
+
|
|
21596
21635
|
const fn = this['__moveCursor' + (e.keyCode === 39 ? 'Right' : 'Left') + (this.reverseFillMask === true ? 'Reverse' : '')];
|
|
21597
21636
|
|
|
21598
21637
|
e.preventDefault();
|
|
21599
|
-
fn(inp, start
|
|
21638
|
+
fn(inp, this.__selectionAnchor === start ? end : start);
|
|
21639
|
+
|
|
21640
|
+
if (e.shiftKey) {
|
|
21641
|
+
const anchor = this.__selectionAnchor;
|
|
21642
|
+
const cursor = inp.selectionStart;
|
|
21643
|
+
inp.setSelectionRange(Math.min(anchor, cursor), Math.max(anchor, cursor), 'forward');
|
|
21644
|
+
}
|
|
21600
21645
|
}
|
|
21601
21646
|
else if (
|
|
21602
21647
|
e.keyCode === 8 && // Backspace
|
|
21603
21648
|
this.reverseFillMask !== true &&
|
|
21604
21649
|
start === end
|
|
21605
21650
|
) {
|
|
21606
|
-
this.__moveCursorLeft(inp, start
|
|
21651
|
+
this.__moveCursorLeft(inp, start);
|
|
21607
21652
|
}
|
|
21608
21653
|
else if (
|
|
21609
21654
|
e.keyCode === 46 && // Delete
|
|
21610
21655
|
this.reverseFillMask === true &&
|
|
21611
21656
|
start === end
|
|
21612
21657
|
) {
|
|
21613
|
-
this.__moveCursorRightReverse(inp,
|
|
21658
|
+
this.__moveCursorRightReverse(inp, end);
|
|
21614
21659
|
}
|
|
21615
21660
|
|
|
21616
21661
|
this.$emit('keydown', e);
|
|
@@ -21861,6 +21906,8 @@
|
|
|
21861
21906
|
|
|
21862
21907
|
if (this.hasMask === true) {
|
|
21863
21908
|
on.keydown = this.__onMaskedKeydown;
|
|
21909
|
+
// reset selection anchor on pointer selection
|
|
21910
|
+
on.click = this.__onMaskedClick;
|
|
21864
21911
|
}
|
|
21865
21912
|
|
|
21866
21913
|
if (this.autogrow === true) {
|
|
@@ -22010,18 +22057,29 @@
|
|
|
22010
22057
|
const inp = this.$refs.input;
|
|
22011
22058
|
if (inp !== void 0) {
|
|
22012
22059
|
const parentStyle = inp.parentNode.style;
|
|
22013
|
-
|
|
22060
|
+
// chrome does not keep scroll #15498
|
|
22061
|
+
const { scrollTop } = inp;
|
|
22062
|
+
// chrome calculates a smaller scrollHeight when in a .column container
|
|
22063
|
+
const { overflowY, maxHeight } = this.$q.platform.is.firefox === true
|
|
22064
|
+
? {}
|
|
22065
|
+
: window.getComputedStyle(inp);
|
|
22066
|
+
// on firefox or if overflowY is specified as scroll #14263, #14344
|
|
22067
|
+
// we don't touch overflow
|
|
22068
|
+
// firefox is not so bad in the end
|
|
22069
|
+
const changeOverflow = overflowY !== void 0 && overflowY !== 'scroll';
|
|
22014
22070
|
|
|
22015
22071
|
// reset height of textarea to a small size to detect the real height
|
|
22016
22072
|
// but keep the total control size the same
|
|
22017
|
-
|
|
22018
|
-
this.$q.platform.is.firefox !== true && (inp.style.overflow = 'hidden');
|
|
22073
|
+
changeOverflow === true && (inp.style.overflowY = 'hidden');
|
|
22019
22074
|
parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
|
|
22020
22075
|
inp.style.height = '1px';
|
|
22021
22076
|
|
|
22022
22077
|
inp.style.height = inp.scrollHeight + 'px';
|
|
22023
|
-
|
|
22078
|
+
// we should allow scrollbars only
|
|
22079
|
+
// if there is maxHeight and content is taller than maxHeight
|
|
22080
|
+
changeOverflow === true && (inp.style.overflowY = parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden');
|
|
22024
22081
|
parentStyle.marginBottom = '';
|
|
22082
|
+
inp.scrollTop = scrollTop;
|
|
22025
22083
|
}
|
|
22026
22084
|
});
|
|
22027
22085
|
},
|
|
@@ -32026,7 +32084,7 @@
|
|
|
32026
32084
|
|
|
32027
32085
|
if (topLeft !== void 0) {
|
|
32028
32086
|
child.push(
|
|
32029
|
-
h('div', { staticClass: 'q-
|
|
32087
|
+
h('div', { staticClass: 'q-table__control' }, [
|
|
32030
32088
|
topLeft(this.marginalsScope)
|
|
32031
32089
|
])
|
|
32032
32090
|
);
|
|
@@ -38812,6 +38870,7 @@
|
|
|
38812
38870
|
: h('div', {
|
|
38813
38871
|
staticClass: 'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
|
|
38814
38872
|
class: action.classes,
|
|
38873
|
+
style: action.style,
|
|
38815
38874
|
attrs: attrsGridItem,
|
|
38816
38875
|
on: {
|
|
38817
38876
|
click: () => {
|
|
@@ -38849,6 +38908,7 @@
|
|
|
38849
38908
|
: h(QItem, {
|
|
38850
38909
|
staticClass: 'q-bottom-sheet__item',
|
|
38851
38910
|
class: action.classes,
|
|
38911
|
+
style: action.style,
|
|
38852
38912
|
props: {
|
|
38853
38913
|
tabindex: 0,
|
|
38854
38914
|
clickable: true,
|