quasar 2.4.11 → 2.5.1
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 +4 -0
- package/dist/api/Dialog.json +5 -1
- package/dist/api/Notify.json +20 -10
- package/dist/api/QBtnDropdown.json +4 -2
- package/dist/api/QCheckbox.json +27 -0
- package/dist/api/QEditor.json +4 -2
- package/dist/api/QExpansionItem.json +6 -3
- package/dist/api/QFab.json +4 -2
- package/dist/api/QFabAction.json +4 -2
- package/dist/api/QFile.json +4 -2
- package/dist/api/QImg.json +1 -2
- package/dist/api/QInnerLoading.json +2 -1
- package/dist/api/QInput.json +4 -2
- package/dist/api/QPagination.json +4 -2
- package/dist/api/QRadio.json +18 -0
- package/dist/api/QRange.json +9 -0
- package/dist/api/QScrollArea.json +13 -5
- package/dist/api/QSelect.json +6 -3
- package/dist/api/QSlider.json +9 -0
- package/dist/api/QSplitter.json +8 -4
- package/dist/api/QTable.json +9 -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 +43 -10
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +60 -23
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +34 -11
- package/dist/quasar.umd.js +314 -157
- 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/api/slider.d.ts +6 -7
- package/dist/types/api/vue-prop-types.ts +15 -0
- package/dist/types/api.d.ts +1 -0
- package/dist/types/index.d.ts +110 -184
- package/dist/types/utils/date.d.ts +25 -13
- package/dist/types/utils/dom.d.ts +4 -2
- package/dist/types/utils.d.ts +3 -1
- package/dist/vetur/quasar-attributes.json +62 -42
- package/dist/vetur/quasar-tags.json +8 -3
- package/dist/web-types/web-types.json +103 -58
- 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/btn-dropdown/QBtnDropdown.json +4 -2
- 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/QDialog.js +1 -1
- package/src/components/dialog/__tests__/QDialog.spec.js +129 -0
- package/src/components/editor/QEditor.js +1 -1
- package/src/components/editor/QEditor.json +3 -1
- package/src/components/editor/__tests__/QEditor.spec.js +195 -0
- package/src/components/expansion-item/QExpansionItem.json +6 -3
- package/src/components/fab/use-fab.json +4 -2
- package/src/components/field/QField.sass +2 -0
- package/src/components/file/QFile.json +4 -2
- package/src/components/form/QForm.js +27 -25
- package/src/components/img/QImg.json +2 -3
- package/src/components/inner-loading/QInnerLoading.json +2 -1
- package/src/components/input/QInput.js +10 -1
- package/src/components/input/QInput.json +4 -2
- 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/QMenu.js +2 -1
- 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/pagination/QPagination.json +4 -2
- 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/scroll-area/QScrollArea.json +13 -5
- package/src/components/select/QSelect.js +13 -9
- package/src/components/select/QSelect.json +6 -3
- package/src/components/select/QSelect.sass +1 -0
- package/src/components/select/__tests__/QSelect.spec.js +2003 -0
- package/src/components/select/__tests__/WrapperOne.vue +28 -0
- package/src/components/slider/use-slider.json +9 -0
- package/src/components/splitter/QSplitter.json +8 -4
- package/src/components/stepper/QStep.js +19 -14
- package/src/components/stepper/QStepper.sass +3 -0
- package/src/components/table/QTable.json +9 -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/components/virtual-scroll/use-virtual-scroll.js +9 -6
- 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-field.js +5 -8
- 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 +22 -22
- package/src/plugins/BottomSheet.json +1 -0
- package/src/plugins/Dialog.json +1 -0
- package/src/plugins/Meta.js +1 -1
- package/src/plugins/Notify.json +20 -10
- package/src/plugins/Screen.js +11 -8
- package/src/utils/date.js +111 -32
- package/src/utils/private/global-dialog.json +3 -0
- package/src/utils/private/vm.js +14 -8
|
@@ -77,7 +77,8 @@
|
|
|
77
77
|
},
|
|
78
78
|
|
|
79
79
|
"input-class": {
|
|
80
|
-
"type": [ "
|
|
80
|
+
"type": [ "String", "Array", "Object" ],
|
|
81
|
+
"tsType": "VueClassProp",
|
|
81
82
|
"desc": "Class definitions to be attributed to the underlying selection container",
|
|
82
83
|
"examples": [
|
|
83
84
|
"my-special-class",
|
|
@@ -87,7 +88,8 @@
|
|
|
87
88
|
},
|
|
88
89
|
|
|
89
90
|
"input-style": {
|
|
90
|
-
"type": [ "
|
|
91
|
+
"type": [ "String", "Array", "Object" ],
|
|
92
|
+
"tsType": "VueStyleProp",
|
|
91
93
|
"desc": "Style definitions to be attributed to the underlying selection container",
|
|
92
94
|
"examples": [
|
|
93
95
|
"background-color: #ff0000",
|
|
@@ -33,7 +33,7 @@ export default createComponent({
|
|
|
33
33
|
? shouldFocus
|
|
34
34
|
: props.noErrorFocus !== true
|
|
35
35
|
|
|
36
|
-
validateIndex
|
|
36
|
+
const index = ++validateIndex
|
|
37
37
|
|
|
38
38
|
const emitEvent = (res, ref) => {
|
|
39
39
|
emit('validation-' + (res === true ? 'success' : 'error'), ref)
|
|
@@ -47,7 +47,7 @@ export default createComponent({
|
|
|
47
47
|
promises.push(
|
|
48
48
|
valid.then(
|
|
49
49
|
valid => ({ valid, comp }),
|
|
50
|
-
|
|
50
|
+
err => ({ valid: false, comp, err })
|
|
51
51
|
)
|
|
52
52
|
)
|
|
53
53
|
}
|
|
@@ -71,34 +71,33 @@ export default createComponent({
|
|
|
71
71
|
return Promise.resolve(true)
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return Promise.all(promises).then(
|
|
77
|
-
res => {
|
|
78
|
-
if (index === validateIndex) {
|
|
79
|
-
const errors = res.filter(r => r.valid !== true)
|
|
74
|
+
return Promise.all(promises).then(res => {
|
|
75
|
+
const errors = res.filter(r => r.valid !== true)
|
|
80
76
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
if (errors.length === 0) {
|
|
78
|
+
index === validateIndex && emitEvent(true)
|
|
79
|
+
return true
|
|
80
|
+
}
|
|
85
81
|
|
|
86
|
-
|
|
82
|
+
const { valid, comp, err } = errors[ 0 ]
|
|
87
83
|
|
|
88
|
-
|
|
84
|
+
// if not outdated already
|
|
85
|
+
if (index === validateIndex) {
|
|
86
|
+
err !== void 0 && console.error(err)
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
focus === true
|
|
92
|
-
&& valid !== true
|
|
93
|
-
&& typeof comp.focus === 'function'
|
|
94
|
-
) {
|
|
95
|
-
comp.focus()
|
|
96
|
-
}
|
|
88
|
+
emitEvent(false, comp)
|
|
97
89
|
|
|
98
|
-
|
|
90
|
+
if (
|
|
91
|
+
focus === true
|
|
92
|
+
&& valid !== true
|
|
93
|
+
&& typeof comp.focus === 'function'
|
|
94
|
+
) {
|
|
95
|
+
comp.focus()
|
|
99
96
|
}
|
|
100
97
|
}
|
|
101
|
-
|
|
98
|
+
|
|
99
|
+
return false
|
|
100
|
+
})
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
function resetValidation () {
|
|
@@ -112,8 +111,11 @@ export default createComponent({
|
|
|
112
111
|
function submit (evt) {
|
|
113
112
|
evt !== void 0 && stopAndPrevent(evt)
|
|
114
113
|
|
|
114
|
+
const index = validateIndex + 1
|
|
115
|
+
|
|
115
116
|
validate().then(val => {
|
|
116
|
-
if
|
|
117
|
+
// if not outdated && validation succeeded
|
|
118
|
+
if (index === validateIndex && val === true) {
|
|
117
119
|
if (props.onSubmit !== void 0) {
|
|
118
120
|
emit('submit', evt)
|
|
119
121
|
}
|
|
@@ -144,7 +146,7 @@ export default createComponent({
|
|
|
144
146
|
const target = rootRef.value.querySelector('[autofocus], [data-autofocus]')
|
|
145
147
|
|| Array.prototype.find.call(rootRef.value.querySelectorAll('[tabindex]'), el => el.tabIndex > -1)
|
|
146
148
|
|
|
147
|
-
target !== null && target !== void 0 && target.focus()
|
|
149
|
+
target !== null && target !== void 0 && target.focus({ preventScroll: true })
|
|
148
150
|
})
|
|
149
151
|
}
|
|
150
152
|
|
|
@@ -53,13 +53,11 @@
|
|
|
53
53
|
},
|
|
54
54
|
|
|
55
55
|
"ratio": {
|
|
56
|
-
"type": [ "String", "Number" ],
|
|
57
56
|
"desc": "Force the component to maintain an aspect ratio",
|
|
58
57
|
"examples": [
|
|
59
58
|
"(Number format) :ratio=\"16/9\"",
|
|
60
59
|
"(String format) ratio=\"1\""
|
|
61
|
-
]
|
|
62
|
-
"category": "style"
|
|
60
|
+
]
|
|
63
61
|
},
|
|
64
62
|
|
|
65
63
|
"initial-ratio": {
|
|
@@ -162,6 +160,7 @@
|
|
|
162
160
|
|
|
163
161
|
"img-style": {
|
|
164
162
|
"type": "Object",
|
|
163
|
+
"tsType": "VueStyleObjectProp",
|
|
165
164
|
"desc": "Apply CSS to the native img element",
|
|
166
165
|
"examples": [ ":img-style=\"{ transform: 'rotate(45deg)' }\" "],
|
|
167
166
|
"category": "style"
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
|
|
43
43
|
"label-style": {
|
|
44
|
-
"type": [ "
|
|
44
|
+
"type": [ "String", "Array", "Object" ],
|
|
45
|
+
"tsType": "VueStyleProp",
|
|
45
46
|
"desc": "Apply custom style to the label; Works along the 'label' prop only",
|
|
46
47
|
"examples": [
|
|
47
48
|
"font-size: 28px",
|
|
@@ -125,6 +125,15 @@ export default createComponent({
|
|
|
125
125
|
return attrs
|
|
126
126
|
})
|
|
127
127
|
|
|
128
|
+
// some browsers lose the native input value
|
|
129
|
+
// so we need to reattach it dynamically
|
|
130
|
+
// (like type="password" <-> type="text"; see #12078)
|
|
131
|
+
watch(() => props.type, () => {
|
|
132
|
+
if (inputRef.value) {
|
|
133
|
+
inputRef.value.value = props.modelValue
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
|
|
128
137
|
watch(() => props.modelValue, v => {
|
|
129
138
|
if (hasMask.value === true) {
|
|
130
139
|
if (stopValueWatcher === true) {
|
|
@@ -177,7 +186,7 @@ export default createComponent({
|
|
|
177
186
|
&& inputRef.value !== el
|
|
178
187
|
&& (el === null || el.id !== state.targetUid.value)
|
|
179
188
|
) {
|
|
180
|
-
inputRef.value.focus()
|
|
189
|
+
inputRef.value.focus({ preventScroll: true })
|
|
181
190
|
}
|
|
182
191
|
})
|
|
183
192
|
}
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
},
|
|
54
54
|
|
|
55
55
|
"input-class": {
|
|
56
|
-
"type": [ "
|
|
56
|
+
"type": [ "String", "Array", "Object" ],
|
|
57
|
+
"tsType": "VueClassProp",
|
|
57
58
|
"desc": "Class definitions to be attributed to the underlying input tag",
|
|
58
59
|
"examples": [
|
|
59
60
|
"my-special-class",
|
|
@@ -63,7 +64,8 @@
|
|
|
63
64
|
},
|
|
64
65
|
|
|
65
66
|
"input-style": {
|
|
66
|
-
"type": [ "
|
|
67
|
+
"type": [ "String", "Array", "Object" ],
|
|
68
|
+
"tsType": "VueStyleProp",
|
|
67
69
|
"desc": "Style definitions to be attributed to the underlying input tag",
|
|
68
70
|
"examples": [
|
|
69
71
|
"background-color: #ff0000",
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
describe('Input API', () => {
|
|
2
|
+
describe('Props', () => {
|
|
3
|
+
describe('Category: content', () => {
|
|
4
|
+
describe('(prop): shadow-text', () => {
|
|
5
|
+
it.skip(' ', () => {
|
|
6
|
+
//
|
|
7
|
+
})
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
describe('(prop): autogrow', () => {
|
|
11
|
+
it.skip(' ', () => {
|
|
12
|
+
//
|
|
13
|
+
})
|
|
14
|
+
})
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
describe('Category: general', () => {
|
|
18
|
+
describe('(prop): type', () => {
|
|
19
|
+
it.skip(' ', () => {
|
|
20
|
+
//
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
describe('Category: model', () => {
|
|
26
|
+
describe('(prop): model-value', () => {
|
|
27
|
+
it.skip(' ', () => {
|
|
28
|
+
//
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
describe('(prop): debounce', () => {
|
|
33
|
+
it.skip(' ', () => {
|
|
34
|
+
//
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
describe('(prop): maxlength', () => {
|
|
39
|
+
it.skip(' ', () => {
|
|
40
|
+
//
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
describe('Category: style', () => {
|
|
46
|
+
describe('(prop): input-class', () => {
|
|
47
|
+
it.skip(' ', () => {
|
|
48
|
+
//
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
describe('(prop): input-style', () => {
|
|
53
|
+
it.skip(' ', () => {
|
|
54
|
+
//
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
describe('Events', () => {
|
|
61
|
+
describe('(event): update:model-value', () => {
|
|
62
|
+
it.skip(' ', () => {
|
|
63
|
+
//
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
describe('(event): focus', () => {
|
|
68
|
+
it.skip(' ', () => {
|
|
69
|
+
//
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
describe('(event): blur', () => {
|
|
74
|
+
it.skip(' ', () => {
|
|
75
|
+
//
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
describe('Methods', () => {
|
|
81
|
+
describe('(method): focus', () => {
|
|
82
|
+
it.skip(' ', () => {
|
|
83
|
+
//
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
describe('(method): blur', () => {
|
|
88
|
+
it.skip(' ', () => {
|
|
89
|
+
//
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
describe('(method): select', () => {
|
|
94
|
+
it.skip(' ', () => {
|
|
95
|
+
//
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
describe('(method): getNativeElement', () => {
|
|
100
|
+
it.skip(' ', () => {
|
|
101
|
+
//
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
})
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
describe('use-mask API', () => {
|
|
2
|
+
describe('Props', () => {
|
|
3
|
+
describe('Category: behavior', () => {
|
|
4
|
+
describe('(prop): mask', () => {
|
|
5
|
+
it.skip(' ', () => {
|
|
6
|
+
//
|
|
7
|
+
})
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
describe('(prop): fill-mask', () => {
|
|
11
|
+
it.skip(' ', () => {
|
|
12
|
+
//
|
|
13
|
+
})
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
describe('(prop): reverse-fill-mask', () => {
|
|
17
|
+
it.skip(' ', () => {
|
|
18
|
+
//
|
|
19
|
+
})
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
describe('(prop): unmasked-value', () => {
|
|
23
|
+
it.skip(' ', () => {
|
|
24
|
+
//
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
|
+
})
|
|
29
|
+
})
|
|
@@ -181,7 +181,7 @@ export default createComponent({
|
|
|
181
181
|
|
|
182
182
|
if (node && node.contains(document.activeElement) !== true) {
|
|
183
183
|
node = node.querySelector('[autofocus], [data-autofocus]') || node
|
|
184
|
-
node.focus()
|
|
184
|
+
node.focus({ preventScroll: true })
|
|
185
185
|
}
|
|
186
186
|
})
|
|
187
187
|
}
|
|
@@ -309,6 +309,7 @@ export default createComponent({
|
|
|
309
309
|
// the focus is not in a vue child component
|
|
310
310
|
if (
|
|
311
311
|
handlesFocus.value === true
|
|
312
|
+
&& props.noFocus !== true
|
|
312
313
|
&& childHasFocus(innerRef.value, evt.target) !== true
|
|
313
314
|
) {
|
|
314
315
|
focus()
|