quasar 2.11.6 → 2.11.8
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 +13 -0
- package/dist/api/QCarousel.json +9 -0
- package/dist/api/QEditor.json +49 -0
- package/dist/api/QTable.json +9 -0
- 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.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/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 +2 -2
- 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/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.css +2 -2
- package/dist/quasar.esm.js +127 -75
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +2 -2
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +17 -5
- package/dist/quasar.umd.js +127 -75
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/transforms/auto-import.json +47 -3
- package/dist/transforms/import-map.json +22 -0
- package/dist/types/index.d.ts +43 -0
- package/dist/web-types/web-types.json +92 -1
- package/lang/ja.js +1 -1
- package/lang/ja.mjs +1 -1
- package/package.json +9 -6
- package/src/components/avatar/__tests__/{QAvatar.spec.js → QAvatar.cy.js} +7 -8
- package/src/components/badge/__tests__/{QBadge.spec.js → QBadge.cy.js} +1 -2
- package/src/components/banner/__tests__/{QBanner.spec.js → QBanner.cy.js} +7 -8
- package/src/components/bar/__tests__/{QBar.spec.js → QBar.cy.js} +3 -4
- package/src/components/breadcrumbs/__tests__/{QBreadcrumbs.spec.js → QBreadcrumbs.cy.js} +8 -9
- package/src/components/breadcrumbs/__tests__/{QBreadcrumbsEl.spec.js → QBreadcrumbsEl.cy.js} +5 -6
- package/src/components/btn/__tests__/{QBtn.spec.js → QBtn.cy.js} +4 -5
- package/src/components/btn/__tests__/{use-btn.spec.js → use-btn.cy.js} +1 -2
- package/src/components/chip/__tests__/{QChip.spec.js → QChip.cy.js} +1 -2
- package/src/components/date/QDate.js +10 -9
- package/src/components/dialog-bottom-sheet/BottomSheet.js +2 -0
- package/src/components/editor/QEditor.js +6 -1
- package/src/components/editor/QEditor.json +40 -0
- package/src/components/editor/editor-utils.js +5 -1
- package/src/components/field/QField.sass +16 -4
- package/src/components/input/QInput.js +24 -7
- package/src/components/input/use-mask.js +72 -50
- package/src/components/menu/__tests__/{QMenu.spec.js → QMenu.cy.js} +29 -30
- package/src/components/select/QSelect.js +2 -1
- package/src/components/select/__tests__/{QSelect.spec.js → QSelect.cy.js} +2 -3
- package/src/components/table/QTable.js +1 -1
- package/src/components/tree/QTree.js +2 -2
- package/src/components/uploader/__tests__/{QUploader.spec.js → QUploader.cy.js} +1 -2
- package/src/composables/private/__tests__/{use-anchor.spec.js → use-anchor.cy.js} +7 -8
- package/src/composables/private/__tests__/{use-field.spec.js → use-field.cy.js} +7 -8
- package/src/composables/private/__tests__/{use-model-toggle.spec.js → use-model-toggle.cy.js} +17 -18
- package/src/composables/private/__tests__/{use-size.spec.js → use-size.cy.js} +4 -5
- package/src/composables/private/__tests__/{use-transition.spec.js → use-transition.cy.js} +9 -10
- package/src/composables/private/__tests__/{use-validate.spec.js → use-validate.cy.js} +5 -6
- package/src/composables/private/use-fullscreen.json +12 -0
- package/src/plugins/BottomSheet.json +8 -0
- /package/src/components/date/__tests__/{QDate.spec.js → QDate.cy.js} +0 -0
- /package/src/components/dialog/__tests__/{QDialog.spec.js → QDialog.cy.js} +0 -0
- /package/src/components/editor/__tests__/{QEditor.spec.js → QEditor.cy.js} +0 -0
- /package/src/components/input/__tests__/{QInput.spec.js → QInput.cy.js} +0 -0
- /package/src/components/input/__tests__/{use-mask.spec.js → use-mask.cy.js} +0 -0
- /package/src/components/table/__tests__/{QTable.spec.js → QTable.cy.js} +0 -0
- /package/src/components/table/__tests__/{QTd.spec.js → QTd.cy.js} +0 -0
- /package/src/components/table/__tests__/{QTh.spec.js → QTh.cy.js} +0 -0
- /package/src/components/table/__tests__/{QTr.spec.js → QTr.cy.js} +0 -0
- /package/src/components/tabs/__tests__/{QRouteTab.spec.js → QRouteTab.cy.js} +0 -0
- /package/src/components/tabs/__tests__/{QTab.spec.js → QTab.cy.js} +0 -0
- /package/src/components/tabs/__tests__/{QTabs.spec.js → QTabs.cy.js} +0 -0
- /package/src/composables/private/__tests__/{use-file.spec.js → use-file.cy.js} +0 -0
- /package/src/composables/private/__tests__/{use-form.spec.js → use-form.cy.js} +0 -0
- /package/src/composables/private/__tests__/{use-fullscreen.spec.js → use-fullscreen.cy.js} +0 -0
- /package/src/composables/private/__tests__/{use-portal.spec.js → use-portal.cy.js} +0 -0
- /package/src/composables/private/__tests__/{use-router-link.spec.js → use-router-link.cy.js} +0 -0
package/dist/quasar.css
CHANGED
|
@@ -2269,7 +2269,7 @@ body.q-ios-padding .q-dialog__inner > div {
|
|
|
2269
2269
|
.q-field__native:-webkit-autofill + .q-field__label, .q-field__input:-webkit-autofill + .q-field__label {
|
|
2270
2270
|
transform: translateY(-40%) scale(0.75);
|
|
2271
2271
|
}
|
|
2272
|
-
.q-field__native[type=
|
|
2272
|
+
.q-field__native[type=color] + .q-field__label, .q-field__native[type=date] + .q-field__label, .q-field__native[type=datetime-local] + .q-field__label, .q-field__native[type=month] + .q-field__label, .q-field__native[type=time] + .q-field__label, .q-field__native[type=week] + .q-field__label, .q-field__input[type=color] + .q-field__label, .q-field__input[type=date] + .q-field__label, .q-field__input[type=datetime-local] + .q-field__label, .q-field__input[type=month] + .q-field__label, .q-field__input[type=time] + .q-field__label, .q-field__input[type=week] + .q-field__label {
|
|
2273
2273
|
transform: translateY(-40%) scale(0.75);
|
|
2274
2274
|
}
|
|
2275
2275
|
.q-field__native:invalid, .q-field__input:invalid {
|
|
@@ -2549,7 +2549,7 @@ body.q-ios-padding .q-dialog__inner > div {
|
|
|
2549
2549
|
.q-field--dense .q-field__native:-webkit-autofill + .q-field__label, .q-field--dense .q-field__input:-webkit-autofill + .q-field__label {
|
|
2550
2550
|
transform: translateY(-30%) scale(0.75);
|
|
2551
2551
|
}
|
|
2552
|
-
.q-field--dense .q-field__native[type=
|
|
2552
|
+
.q-field--dense .q-field__native[type=color] + .q-field__label, .q-field--dense .q-field__native[type=date] + .q-field__label, .q-field--dense .q-field__native[type=datetime-local] + .q-field__label, .q-field--dense .q-field__native[type=month] + .q-field__label, .q-field--dense .q-field__native[type=time] + .q-field__label, .q-field--dense .q-field__native[type=week] + .q-field__label, .q-field--dense .q-field__input[type=color] + .q-field__label, .q-field--dense .q-field__input[type=date] + .q-field__label, .q-field--dense .q-field__input[type=datetime-local] + .q-field__label, .q-field--dense .q-field__input[type=month] + .q-field__label, .q-field--dense .q-field__input[type=time] + .q-field__label, .q-field--dense .q-field__input[type=week] + .q-field__label {
|
|
2553
2553
|
transform: translateY(-30%) scale(0.75);
|
|
2554
2554
|
}
|
|
2555
2555
|
.q-field--borderless .q-field__bottom, .q-field--borderless.q-field--dense .q-field__control, .q-field--standard .q-field__bottom, .q-field--standard.q-field--dense .q-field__control {
|
package/dist/quasar.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.11.
|
|
2
|
+
* Quasar Framework v2.11.8
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1651,7 +1651,7 @@ function prepareApp (app, uiOpts, pluginOpts) {
|
|
|
1651
1651
|
}
|
|
1652
1652
|
|
|
1653
1653
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1654
|
-
const $q = { version: '2.11.
|
|
1654
|
+
const $q = { version: '2.11.8' };
|
|
1655
1655
|
|
|
1656
1656
|
if (globalConfigIsFrozen === false) {
|
|
1657
1657
|
if (opts.config !== void 0) {
|
|
@@ -13841,8 +13841,8 @@ var QDate = createComponent({
|
|
|
13841
13841
|
lastEmitValue = 0;
|
|
13842
13842
|
}
|
|
13843
13843
|
else {
|
|
13844
|
-
const
|
|
13845
|
-
updateViewModel(year, month);
|
|
13844
|
+
const model = getViewModel(innerMask.value, innerLocale.value);
|
|
13845
|
+
updateViewModel(model.year, model.month, model);
|
|
13846
13846
|
}
|
|
13847
13847
|
});
|
|
13848
13848
|
|
|
@@ -13852,12 +13852,8 @@ var QDate = createComponent({
|
|
|
13852
13852
|
}
|
|
13853
13853
|
});
|
|
13854
13854
|
|
|
13855
|
-
watch(() => viewModel.value.year,
|
|
13856
|
-
emit('navigation', { year, month: viewModel.value.month });
|
|
13857
|
-
});
|
|
13858
|
-
|
|
13859
|
-
watch(() => viewModel.value.month, month => {
|
|
13860
|
-
emit('navigation', { year: viewModel.value.year, month });
|
|
13855
|
+
watch(() => viewModel.value.year + '|' + viewModel.value.month, () => {
|
|
13856
|
+
emit('navigation', { year: viewModel.value.year, month: viewModel.value.month });
|
|
13861
13857
|
});
|
|
13862
13858
|
|
|
13863
13859
|
watch(mask, val => {
|
|
@@ -14039,7 +14035,7 @@ var QDate = createComponent({
|
|
|
14039
14035
|
return { year: date.year, month: date.month, day: date.day }
|
|
14040
14036
|
}
|
|
14041
14037
|
|
|
14042
|
-
function updateViewModel (year, month) {
|
|
14038
|
+
function updateViewModel (year, month, time) {
|
|
14043
14039
|
if (minNav.value !== null && year <= minNav.value.year) {
|
|
14044
14040
|
year = minNav.value.year;
|
|
14045
14041
|
if (month < minNav.value.month) {
|
|
@@ -14054,6 +14050,11 @@ var QDate = createComponent({
|
|
|
14054
14050
|
}
|
|
14055
14051
|
}
|
|
14056
14052
|
|
|
14053
|
+
if (time !== void 0) {
|
|
14054
|
+
const { hour, minute, second, millisecond, timezoneOffset, timeHash } = time;
|
|
14055
|
+
Object.assign(viewModel.value, { hour, minute, second, millisecond, timezoneOffset, timeHash });
|
|
14056
|
+
}
|
|
14057
|
+
|
|
14057
14058
|
const newHash = year + '/' + pad(month) + '/01';
|
|
14058
14059
|
|
|
14059
14060
|
if (newHash !== viewModel.value.dateHash) {
|
|
@@ -16909,7 +16910,11 @@ function getDropdown (eVm, btn) {
|
|
|
16909
16910
|
textColor: highlight && !eVm.props.toolbarPush ? null : eVm.props.toolbarTextColor,
|
|
16910
16911
|
label: btn.fixedLabel ? btn.label : label,
|
|
16911
16912
|
icon: btn.fixedIcon ? (btn.icon !== null ? btn.icon : void 0) : icon,
|
|
16912
|
-
contentClass
|
|
16913
|
+
contentClass,
|
|
16914
|
+
onShow: evt => eVm.emit('dropdownShow', evt),
|
|
16915
|
+
onHide: evt => eVm.emit('dropdownHide', evt),
|
|
16916
|
+
onBeforeShow: evt => eVm.emit('dropdownBeforeShow', evt),
|
|
16917
|
+
onBeforeHide: evt => eVm.emit('dropdownBeforeHide', evt)
|
|
16913
16918
|
}, () => Items);
|
|
16914
16919
|
|
|
16915
16920
|
return Dropdown
|
|
@@ -17221,7 +17226,11 @@ var QEditor = createComponent({
|
|
|
17221
17226
|
...useFullscreenEmits,
|
|
17222
17227
|
'update:modelValue',
|
|
17223
17228
|
'keydown', 'click', 'mouseup', 'keyup', 'touchend',
|
|
17224
|
-
'focus', 'blur'
|
|
17229
|
+
'focus', 'blur',
|
|
17230
|
+
'dropdownShow',
|
|
17231
|
+
'dropdownHide',
|
|
17232
|
+
'dropdownBeforeShow',
|
|
17233
|
+
'dropdownBeforeHide'
|
|
17225
17234
|
],
|
|
17226
17235
|
|
|
17227
17236
|
setup (props, { slots, emit, attrs }) {
|
|
@@ -17378,6 +17387,7 @@ var QEditor = createComponent({
|
|
|
17378
17387
|
$q,
|
|
17379
17388
|
props,
|
|
17380
17389
|
slots,
|
|
17390
|
+
emit,
|
|
17381
17391
|
// caret (will get injected after mount)
|
|
17382
17392
|
inFullscreen,
|
|
17383
17393
|
toggleFullscreen,
|
|
@@ -21290,7 +21300,7 @@ const useMaskProps = {
|
|
|
21290
21300
|
};
|
|
21291
21301
|
|
|
21292
21302
|
function useMask (props, emit, emitValue, inputRef) {
|
|
21293
|
-
let maskMarked, maskReplaced, computedMask, computedUnmask;
|
|
21303
|
+
let maskMarked, maskReplaced, computedMask, computedUnmask, pastedTextStart, selectionAnchor;
|
|
21294
21304
|
|
|
21295
21305
|
const hasMask = ref(null);
|
|
21296
21306
|
const innerValue = ref(getInitialMaskedValue());
|
|
@@ -21492,8 +21502,15 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21492
21502
|
}
|
|
21493
21503
|
|
|
21494
21504
|
if (inputType === 'insertFromPaste' && props.reverseFillMask !== true) {
|
|
21495
|
-
const
|
|
21496
|
-
|
|
21505
|
+
const maxEnd = inp.selectionEnd;
|
|
21506
|
+
let cursor = end - 1;
|
|
21507
|
+
// each non-marker char means we move once to right
|
|
21508
|
+
for (let i = pastedTextStart; i <= cursor && i < maxEnd; i++) {
|
|
21509
|
+
if (maskMarked[ i ] !== MARKER) {
|
|
21510
|
+
cursor++;
|
|
21511
|
+
}
|
|
21512
|
+
}
|
|
21513
|
+
moveCursor.right(inp, cursor);
|
|
21497
21514
|
|
|
21498
21515
|
return
|
|
21499
21516
|
}
|
|
@@ -21519,7 +21536,7 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21519
21536
|
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21520
21537
|
}
|
|
21521
21538
|
else {
|
|
21522
|
-
moveCursor.rightReverse(inp, cursor
|
|
21539
|
+
moveCursor.rightReverse(inp, cursor);
|
|
21523
21540
|
}
|
|
21524
21541
|
}
|
|
21525
21542
|
else {
|
|
@@ -21530,11 +21547,11 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21530
21547
|
else {
|
|
21531
21548
|
if (changed === true) {
|
|
21532
21549
|
const cursor = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1);
|
|
21533
|
-
moveCursor.right(inp, cursor
|
|
21550
|
+
moveCursor.right(inp, cursor);
|
|
21534
21551
|
}
|
|
21535
21552
|
else {
|
|
21536
21553
|
const cursor = end - 1;
|
|
21537
|
-
moveCursor.right(inp, cursor
|
|
21554
|
+
moveCursor.right(inp, cursor);
|
|
21538
21555
|
}
|
|
21539
21556
|
}
|
|
21540
21557
|
});
|
|
@@ -21550,74 +21567,72 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21550
21567
|
const preMasked = maskValue(unmaskValue(inp.value));
|
|
21551
21568
|
|
|
21552
21569
|
start = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, start));
|
|
21570
|
+
pastedTextStart = start;
|
|
21553
21571
|
|
|
21554
21572
|
inp.setSelectionRange(start, end, 'forward');
|
|
21555
21573
|
}
|
|
21556
21574
|
|
|
21557
21575
|
const moveCursor = {
|
|
21558
|
-
left (inp,
|
|
21559
|
-
const noMarkBefore = maskMarked.slice(
|
|
21560
|
-
let i = Math.max(0,
|
|
21576
|
+
left (inp, cursor) {
|
|
21577
|
+
const noMarkBefore = maskMarked.slice(cursor - 1).indexOf(MARKER) === -1;
|
|
21578
|
+
let i = Math.max(0, cursor - 1);
|
|
21561
21579
|
|
|
21562
21580
|
for (; i >= 0; i--) {
|
|
21563
21581
|
if (maskMarked[ i ] === MARKER) {
|
|
21564
|
-
|
|
21565
|
-
noMarkBefore === true &&
|
|
21582
|
+
cursor = i;
|
|
21583
|
+
noMarkBefore === true && cursor++;
|
|
21566
21584
|
break
|
|
21567
21585
|
}
|
|
21568
21586
|
}
|
|
21569
21587
|
|
|
21570
21588
|
if (
|
|
21571
21589
|
i < 0
|
|
21572
|
-
&& maskMarked[
|
|
21573
|
-
&& maskMarked[
|
|
21590
|
+
&& maskMarked[ cursor ] !== void 0
|
|
21591
|
+
&& maskMarked[ cursor ] !== MARKER
|
|
21574
21592
|
) {
|
|
21575
|
-
return moveCursor.right(inp, 0
|
|
21593
|
+
return moveCursor.right(inp, 0)
|
|
21576
21594
|
}
|
|
21577
21595
|
|
|
21578
|
-
|
|
21579
|
-
start,
|
|
21580
|
-
selection === true ? end : start, 'backward'
|
|
21581
|
-
);
|
|
21596
|
+
cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
|
|
21582
21597
|
},
|
|
21583
21598
|
|
|
21584
|
-
right (inp,
|
|
21599
|
+
right (inp, cursor) {
|
|
21585
21600
|
const limit = inp.value.length;
|
|
21586
|
-
let i = Math.min(limit,
|
|
21601
|
+
let i = Math.min(limit, cursor + 1);
|
|
21587
21602
|
|
|
21588
21603
|
for (; i <= limit; i++) {
|
|
21589
21604
|
if (maskMarked[ i ] === MARKER) {
|
|
21590
|
-
|
|
21605
|
+
cursor = i;
|
|
21591
21606
|
break
|
|
21592
21607
|
}
|
|
21593
21608
|
else if (maskMarked[ i - 1 ] === MARKER) {
|
|
21594
|
-
|
|
21609
|
+
cursor = i;
|
|
21595
21610
|
}
|
|
21596
21611
|
}
|
|
21597
21612
|
|
|
21598
21613
|
if (
|
|
21599
21614
|
i > limit
|
|
21600
|
-
&& maskMarked[
|
|
21601
|
-
&& maskMarked[
|
|
21615
|
+
&& maskMarked[ cursor - 1 ] !== void 0
|
|
21616
|
+
&& maskMarked[ cursor - 1 ] !== MARKER
|
|
21602
21617
|
) {
|
|
21603
|
-
return moveCursor.left(inp, limit
|
|
21618
|
+
return moveCursor.left(inp, limit)
|
|
21604
21619
|
}
|
|
21605
21620
|
|
|
21606
|
-
inp.setSelectionRange(
|
|
21621
|
+
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21607
21622
|
},
|
|
21608
21623
|
|
|
21609
|
-
leftReverse (inp,
|
|
21624
|
+
leftReverse (inp, cursor) {
|
|
21610
21625
|
const
|
|
21611
21626
|
localMaskMarked = getPaddedMaskMarked(inp.value.length);
|
|
21612
|
-
let i = Math.max(0,
|
|
21627
|
+
let i = Math.max(0, cursor - 1);
|
|
21613
21628
|
|
|
21614
21629
|
for (; i >= 0; i--) {
|
|
21615
21630
|
if (localMaskMarked[ i - 1 ] === MARKER) {
|
|
21616
|
-
|
|
21631
|
+
cursor = i;
|
|
21617
21632
|
break
|
|
21618
21633
|
}
|
|
21619
21634
|
else if (localMaskMarked[ i ] === MARKER) {
|
|
21620
|
-
|
|
21635
|
+
cursor = i;
|
|
21621
21636
|
if (i === 0) {
|
|
21622
21637
|
break
|
|
21623
21638
|
}
|
|
@@ -21626,45 +21641,48 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21626
21641
|
|
|
21627
21642
|
if (
|
|
21628
21643
|
i < 0
|
|
21629
|
-
&& localMaskMarked[
|
|
21630
|
-
&& localMaskMarked[
|
|
21644
|
+
&& localMaskMarked[ cursor ] !== void 0
|
|
21645
|
+
&& localMaskMarked[ cursor ] !== MARKER
|
|
21631
21646
|
) {
|
|
21632
|
-
return moveCursor.rightReverse(inp, 0
|
|
21647
|
+
return moveCursor.rightReverse(inp, 0)
|
|
21633
21648
|
}
|
|
21634
21649
|
|
|
21635
|
-
|
|
21636
|
-
start,
|
|
21637
|
-
selection === true ? end : start, 'backward'
|
|
21638
|
-
);
|
|
21650
|
+
cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
|
|
21639
21651
|
},
|
|
21640
21652
|
|
|
21641
|
-
rightReverse (inp,
|
|
21653
|
+
rightReverse (inp, cursor) {
|
|
21642
21654
|
const
|
|
21643
21655
|
limit = inp.value.length,
|
|
21644
21656
|
localMaskMarked = getPaddedMaskMarked(limit),
|
|
21645
|
-
noMarkBefore = localMaskMarked.slice(0,
|
|
21646
|
-
let i = Math.min(limit,
|
|
21657
|
+
noMarkBefore = localMaskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1;
|
|
21658
|
+
let i = Math.min(limit, cursor + 1);
|
|
21647
21659
|
|
|
21648
21660
|
for (; i <= limit; i++) {
|
|
21649
21661
|
if (localMaskMarked[ i - 1 ] === MARKER) {
|
|
21650
|
-
|
|
21651
|
-
|
|
21662
|
+
cursor = i;
|
|
21663
|
+
cursor > 0 && noMarkBefore === true && cursor--;
|
|
21652
21664
|
break
|
|
21653
21665
|
}
|
|
21654
21666
|
}
|
|
21655
21667
|
|
|
21656
21668
|
if (
|
|
21657
21669
|
i > limit
|
|
21658
|
-
&& localMaskMarked[
|
|
21659
|
-
&& localMaskMarked[
|
|
21670
|
+
&& localMaskMarked[ cursor - 1 ] !== void 0
|
|
21671
|
+
&& localMaskMarked[ cursor - 1 ] !== MARKER
|
|
21660
21672
|
) {
|
|
21661
|
-
return moveCursor.leftReverse(inp, limit
|
|
21673
|
+
return moveCursor.leftReverse(inp, limit)
|
|
21662
21674
|
}
|
|
21663
21675
|
|
|
21664
|
-
inp.setSelectionRange(
|
|
21676
|
+
inp.setSelectionRange(cursor, cursor, 'forward');
|
|
21665
21677
|
}
|
|
21666
21678
|
};
|
|
21667
21679
|
|
|
21680
|
+
function onMaskedClick (e) {
|
|
21681
|
+
emit('click', e);
|
|
21682
|
+
|
|
21683
|
+
selectionAnchor = void 0;
|
|
21684
|
+
}
|
|
21685
|
+
|
|
21668
21686
|
function onMaskedKeydown (e) {
|
|
21669
21687
|
emit('keydown', e);
|
|
21670
21688
|
|
|
@@ -21677,25 +21695,38 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21677
21695
|
start = inp.selectionStart,
|
|
21678
21696
|
end = inp.selectionEnd;
|
|
21679
21697
|
|
|
21698
|
+
if (!e.shiftKey) {
|
|
21699
|
+
selectionAnchor = void 0;
|
|
21700
|
+
}
|
|
21701
|
+
|
|
21680
21702
|
if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right
|
|
21703
|
+
if (e.shiftKey && selectionAnchor === void 0) {
|
|
21704
|
+
selectionAnchor = inp.selectionDirection === 'forward' ? start : end;
|
|
21705
|
+
}
|
|
21706
|
+
|
|
21681
21707
|
const fn = moveCursor[ (e.keyCode === 39 ? 'right' : 'left') + (props.reverseFillMask === true ? 'Reverse' : '') ];
|
|
21682
21708
|
|
|
21683
21709
|
e.preventDefault();
|
|
21684
|
-
fn(inp, start
|
|
21710
|
+
fn(inp, selectionAnchor === start ? end : start);
|
|
21711
|
+
|
|
21712
|
+
if (e.shiftKey) {
|
|
21713
|
+
const cursor = inp.selectionStart;
|
|
21714
|
+
inp.setSelectionRange(Math.min(selectionAnchor, cursor), Math.max(selectionAnchor, cursor), 'forward');
|
|
21715
|
+
}
|
|
21685
21716
|
}
|
|
21686
21717
|
else if (
|
|
21687
21718
|
e.keyCode === 8 // Backspace
|
|
21688
21719
|
&& props.reverseFillMask !== true
|
|
21689
21720
|
&& start === end
|
|
21690
21721
|
) {
|
|
21691
|
-
moveCursor.left(inp, start
|
|
21722
|
+
moveCursor.left(inp, start);
|
|
21692
21723
|
}
|
|
21693
21724
|
else if (
|
|
21694
21725
|
e.keyCode === 46 // Delete
|
|
21695
21726
|
&& props.reverseFillMask === true
|
|
21696
21727
|
&& start === end
|
|
21697
21728
|
) {
|
|
21698
|
-
moveCursor.rightReverse(inp,
|
|
21729
|
+
moveCursor.rightReverse(inp, end);
|
|
21699
21730
|
}
|
|
21700
21731
|
}
|
|
21701
21732
|
|
|
@@ -21786,7 +21817,8 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21786
21817
|
hasMask,
|
|
21787
21818
|
moveCursorForPaste,
|
|
21788
21819
|
updateMaskValue,
|
|
21789
|
-
onMaskedKeydown
|
|
21820
|
+
onMaskedKeydown,
|
|
21821
|
+
onMaskedClick
|
|
21790
21822
|
}
|
|
21791
21823
|
}
|
|
21792
21824
|
|
|
@@ -21848,7 +21880,7 @@ var QInput = createComponent({
|
|
|
21848
21880
|
emits: [
|
|
21849
21881
|
...useFieldEmits,
|
|
21850
21882
|
'paste', 'change',
|
|
21851
|
-
'keydown', 'animationend'
|
|
21883
|
+
'keydown', 'click', 'animationend'
|
|
21852
21884
|
],
|
|
21853
21885
|
|
|
21854
21886
|
setup (props, { emit, attrs }) {
|
|
@@ -21866,7 +21898,8 @@ var QInput = createComponent({
|
|
|
21866
21898
|
hasMask,
|
|
21867
21899
|
moveCursorForPaste,
|
|
21868
21900
|
updateMaskValue,
|
|
21869
|
-
onMaskedKeydown
|
|
21901
|
+
onMaskedKeydown,
|
|
21902
|
+
onMaskedClick
|
|
21870
21903
|
} = useMask(props, emit, emitValue, inputRef);
|
|
21871
21904
|
|
|
21872
21905
|
const formDomProps = useFileFormDomProps(props, /* type guard */ true);
|
|
@@ -21903,6 +21936,8 @@ var QInput = createComponent({
|
|
|
21903
21936
|
|
|
21904
21937
|
if (hasMask.value === true) {
|
|
21905
21938
|
evt.onKeydown = onMaskedKeydown;
|
|
21939
|
+
// reset selection anchor on pointer selection
|
|
21940
|
+
evt.onClick = onMaskedClick;
|
|
21906
21941
|
}
|
|
21907
21942
|
|
|
21908
21943
|
if (props.autogrow === true) {
|
|
@@ -22112,18 +22147,29 @@ var QInput = createComponent({
|
|
|
22112
22147
|
const inp = inputRef.value;
|
|
22113
22148
|
if (inp !== null) {
|
|
22114
22149
|
const parentStyle = inp.parentNode.style;
|
|
22115
|
-
|
|
22150
|
+
// chrome does not keep scroll #15498
|
|
22151
|
+
const { scrollTop } = inp;
|
|
22152
|
+
// chrome calculates a smaller scrollHeight when in a .column container
|
|
22153
|
+
const { overflowY, maxHeight } = $q.platform.is.firefox === true
|
|
22154
|
+
? {}
|
|
22155
|
+
: window.getComputedStyle(inp);
|
|
22156
|
+
// on firefox or if overflowY is specified as scroll #14263, #14344
|
|
22157
|
+
// we don't touch overflow
|
|
22158
|
+
// firefox is not so bad in the end
|
|
22159
|
+
const changeOverflow = overflowY !== void 0 && overflowY !== 'scroll';
|
|
22116
22160
|
|
|
22117
22161
|
// reset height of textarea to a small size to detect the real height
|
|
22118
22162
|
// but keep the total control size the same
|
|
22119
|
-
|
|
22120
|
-
$q.platform.is.firefox !== true && (inp.style.overflow = 'hidden');
|
|
22163
|
+
changeOverflow === true && (inp.style.overflowY = 'hidden');
|
|
22121
22164
|
parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
|
|
22122
22165
|
inp.style.height = '1px';
|
|
22123
22166
|
|
|
22124
22167
|
inp.style.height = inp.scrollHeight + 'px';
|
|
22125
|
-
|
|
22168
|
+
// we should allow scrollbars only
|
|
22169
|
+
// if there is maxHeight and content is taller than maxHeight
|
|
22170
|
+
changeOverflow === true && (inp.style.overflowY = parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden');
|
|
22126
22171
|
parentStyle.marginBottom = '';
|
|
22172
|
+
inp.scrollTop = scrollTop;
|
|
22127
22173
|
}
|
|
22128
22174
|
});
|
|
22129
22175
|
}
|
|
@@ -22200,7 +22246,10 @@ var QInput = createComponent({
|
|
|
22200
22246
|
hasValue,
|
|
22201
22247
|
|
|
22202
22248
|
floatingLabel: computed(() =>
|
|
22203
|
-
|
|
22249
|
+
(
|
|
22250
|
+
hasValue.value === true
|
|
22251
|
+
&& (props.type !== 'number' || isNaN(innerValue.value) === false)
|
|
22252
|
+
)
|
|
22204
22253
|
|| fieldValueIsFilled(props.displayValue)
|
|
22205
22254
|
),
|
|
22206
22255
|
|
|
@@ -28583,7 +28632,8 @@ var QSelect = createComponent({
|
|
|
28583
28632
|
|
|
28584
28633
|
return h('div', {
|
|
28585
28634
|
class: 'q-field__native row items-center',
|
|
28586
|
-
...attrs
|
|
28635
|
+
...attrs,
|
|
28636
|
+
...state.splitAttrs.listeners.value
|
|
28587
28637
|
}, child)
|
|
28588
28638
|
},
|
|
28589
28639
|
|
|
@@ -32871,7 +32921,7 @@ var QTable = createComponent({
|
|
|
32871
32921
|
|
|
32872
32922
|
if (topLeft !== void 0) {
|
|
32873
32923
|
child.push(
|
|
32874
|
-
h('div', { class: 'q-
|
|
32924
|
+
h('div', { class: 'q-table__control' }, [
|
|
32875
32925
|
topLeft(marginalsScope.value)
|
|
32876
32926
|
])
|
|
32877
32927
|
);
|
|
@@ -35141,7 +35191,7 @@ var QTree = createComponent({
|
|
|
35141
35191
|
}
|
|
35142
35192
|
|
|
35143
35193
|
function onClick (node, meta, e, keyboard) {
|
|
35144
|
-
keyboard !== true && blur(meta.key);
|
|
35194
|
+
keyboard !== true && meta.selectable !== false && blur(meta.key);
|
|
35145
35195
|
|
|
35146
35196
|
if (hasSelection.value && meta.selectable) {
|
|
35147
35197
|
if (props.noSelectionUnset === false) {
|
|
@@ -35164,7 +35214,7 @@ var QTree = createComponent({
|
|
|
35164
35214
|
if (e !== void 0) {
|
|
35165
35215
|
stopAndPrevent(e);
|
|
35166
35216
|
}
|
|
35167
|
-
keyboard !== true && blur(meta.key);
|
|
35217
|
+
keyboard !== true && meta.selectable !== false && blur(meta.key);
|
|
35168
35218
|
setExpanded(meta.key, !meta.expanded, node, meta);
|
|
35169
35219
|
}
|
|
35170
35220
|
|
|
@@ -38193,6 +38243,7 @@ var BottomSheet$1 = createComponent({
|
|
|
38193
38243
|
'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
|
|
38194
38244
|
action.class
|
|
38195
38245
|
],
|
|
38246
|
+
style: action.style,
|
|
38196
38247
|
tabindex: 0,
|
|
38197
38248
|
role: 'listitem',
|
|
38198
38249
|
onClick () { onOk(action); },
|
|
@@ -38224,6 +38275,7 @@ var BottomSheet$1 = createComponent({
|
|
|
38224
38275
|
? h(QSeparator, { spaced: true, dark: isDark.value })
|
|
38225
38276
|
: h(QItem, {
|
|
38226
38277
|
class: [ 'q-bottom-sheet__item', action.classes ],
|
|
38278
|
+
style: action.style,
|
|
38227
38279
|
tabindex: 0,
|
|
38228
38280
|
clickable: true,
|
|
38229
38281
|
dark: isDark.value,
|
|
@@ -40591,7 +40643,7 @@ function runSequentialPromises (
|
|
|
40591
40643
|
*/
|
|
40592
40644
|
|
|
40593
40645
|
const Quasar = {
|
|
40594
|
-
version: '2.11.
|
|
40646
|
+
version: '2.11.8',
|
|
40595
40647
|
install: installQuasar,
|
|
40596
40648
|
lang: Plugin$8,
|
|
40597
40649
|
iconSet: Plugin$7
|