quasar 2.13.0 → 2.13.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 +7 -2
- package/dist/api/Dialog.json +7 -2
- package/dist/api/QBanner.json +7 -2
- package/dist/api/QBar.json +7 -2
- package/dist/api/QBtn.json +7 -2
- package/dist/api/QBtnDropdown.json +7 -2
- package/dist/api/QCard.json +7 -2
- package/dist/api/QCarousel.json +7 -2
- package/dist/api/QCheckbox.json +8 -3
- package/dist/api/QChip.json +13 -3
- package/dist/api/QColor.json +7 -2
- package/dist/api/QDate.json +7 -2
- package/dist/api/QDrawer.json +7 -2
- package/dist/api/QEditor.json +7 -2
- package/dist/api/QExpansionItem.json +7 -2
- package/dist/api/QFab.json +7 -2
- package/dist/api/QFabAction.json +7 -2
- package/dist/api/QField.json +28 -4
- package/dist/api/QFile.json +14 -4
- package/dist/api/QImg.json +1 -1
- package/dist/api/QInnerLoading.json +7 -2
- package/dist/api/QInput.json +16 -5
- package/dist/api/QIntersection.json +7 -2
- package/dist/api/QItem.json +12 -4
- package/dist/api/QLinearProgress.json +7 -2
- package/dist/api/QList.json +7 -2
- package/dist/api/QMarkupTable.json +7 -2
- package/dist/api/QMenu.json +21 -6
- package/dist/api/QOptionGroup.json +7 -2
- package/dist/api/QPagination.json +37 -11
- package/dist/api/QRadio.json +7 -2
- package/dist/api/QRange.json +7 -2
- package/dist/api/QScrollArea.json +14 -4
- package/dist/api/QSelect.json +23 -7
- package/dist/api/QSeparator.json +7 -2
- package/dist/api/QSkeleton.json +7 -2
- package/dist/api/QSlideItem.json +7 -2
- package/dist/api/QSlider.json +7 -2
- package/dist/api/QStepper.json +7 -2
- package/dist/api/QTabPanel.json +7 -2
- package/dist/api/QTable.json +70 -20
- package/dist/api/QTime.json +17 -6
- package/dist/api/QTimeline.json +7 -2
- package/dist/api/QToggle.json +8 -3
- package/dist/api/QTooltip.json +14 -4
- package/dist/api/QTree.json +7 -2
- package/dist/api/QUploader.json +7 -2
- package/dist/api/QVirtualScroll.json +2 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +2 -2
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.esm.js +43 -18
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +43 -18
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/api/qtree.d.ts +115 -21
- package/dist/types/index.d.ts +85 -80
- package/dist/vetur/quasar-attributes.json +69 -65
- package/dist/vetur/quasar-tags.json +2 -1
- package/dist/web-types/web-types.json +133 -179
- package/lang/mk.js +4 -4
- package/lang/mk.mjs +4 -4
- package/package.json +1 -1
- package/src/api.extends.json +2 -1
- package/src/components/btn/use-btn.json +2 -1
- package/src/components/checkbox/use-checkbox.json +1 -1
- package/src/components/chip/QChip.json +2 -1
- package/src/components/date/QDate.js +4 -4
- package/src/components/fab/use-fab.json +2 -1
- package/src/components/field/QField.js +14 -2
- package/src/components/field/QField.json +7 -0
- package/src/components/img/QImg.json +1 -1
- package/src/components/input/QInput.json +2 -1
- package/src/components/intersection/QIntersection.json +2 -1
- package/src/components/item/QItem.js +1 -1
- package/src/components/item/QItem.json +3 -3
- package/src/components/menu/QMenu.json +4 -0
- package/src/components/pagination/QPagination.json +9 -5
- package/src/components/scroll-area/QScrollArea.json +2 -1
- package/src/components/select/QSelect.json +2 -1
- package/src/components/time/QTime.json +4 -3
- package/src/components/tooltip/QTooltip.json +4 -0
- package/src/components/virtual-scroll/use-virtual-scroll.json +1 -1
- package/src/composables/private/use-field.js +21 -8
- package/src/composables/private/use-validate.json +2 -1
package/lang/mk.js
CHANGED
|
@@ -24,10 +24,10 @@ module.exports = {
|
|
|
24
24
|
collapse: label => (label ? `Собери на "${ label }"` : 'Собери')
|
|
25
25
|
},
|
|
26
26
|
date: {
|
|
27
|
-
days: 'Недела_Понеделник_Вторник_Среда_Четврток_Петок_Сабота'.split(''),
|
|
28
|
-
daysShort: 'Нед_Пон_Вто_Сре_Чет_Пет_Саб'.split(''),
|
|
29
|
-
months: 'Јануари_Февруари_Март_Април_Мај_Јуни_Јули_Август_Септември_Октомври_Ноември_Декември'.split(''),
|
|
30
|
-
monthsShort: 'Јан_Фев_Мар_Апр_Мај_Јун_Јул_Авг_Сеп_Окт_Ное_Дек'.split(''),
|
|
27
|
+
days: 'Недела_Понеделник_Вторник_Среда_Четврток_Петок_Сабота'.split('_'),
|
|
28
|
+
daysShort: 'Нед_Пон_Вто_Сре_Чет_Пет_Саб'.split('_'),
|
|
29
|
+
months: 'Јануари_Февруари_Март_Април_Мај_Јуни_Јули_Август_Септември_Октомври_Ноември_Декември'.split('_'),
|
|
30
|
+
monthsShort: 'Јан_Фев_Мар_Апр_Мај_Јун_Јул_Авг_Сеп_Окт_Ное_Дек'.split('_'),
|
|
31
31
|
firstDayOfWeek: 0, // 0-6, 0 - Недела, 1 - Понеделник, ...
|
|
32
32
|
format24h: false,
|
|
33
33
|
pluralDay: 'денови'
|
package/lang/mk.mjs
CHANGED
|
@@ -19,10 +19,10 @@ export default {
|
|
|
19
19
|
collapse: label => (label ? `Собери на "${ label }"` : 'Собери')
|
|
20
20
|
},
|
|
21
21
|
date: {
|
|
22
|
-
days: 'Недела_Понеделник_Вторник_Среда_Четврток_Петок_Сабота'.split(''),
|
|
23
|
-
daysShort: 'Нед_Пон_Вто_Сре_Чет_Пет_Саб'.split(''),
|
|
24
|
-
months: 'Јануари_Февруари_Март_Април_Мај_Јуни_Јули_Август_Септември_Октомври_Ноември_Декември'.split(''),
|
|
25
|
-
monthsShort: 'Јан_Фев_Мар_Апр_Мај_Јун_Јул_Авг_Сеп_Окт_Ное_Дек'.split(''),
|
|
22
|
+
days: 'Недела_Понеделник_Вторник_Среда_Четврток_Петок_Сабота'.split('_'),
|
|
23
|
+
daysShort: 'Нед_Пон_Вто_Сре_Чет_Пет_Саб'.split('_'),
|
|
24
|
+
months: 'Јануари_Февруари_Март_Април_Мај_Јуни_Јули_Август_Септември_Октомври_Ноември_Декември'.split('_'),
|
|
25
|
+
monthsShort: 'Јан_Фев_Мар_Апр_Мај_Јун_Јул_Авг_Сеп_Окт_Ное_Дек'.split('_'),
|
|
26
26
|
firstDayOfWeek: 0, // 0-6, 0 - Недела, 1 - Понеделник, ...
|
|
27
27
|
format24h: false,
|
|
28
28
|
pluralDay: 'денови'
|
package/package.json
CHANGED
package/src/api.extends.json
CHANGED
|
@@ -174,7 +174,8 @@
|
|
|
174
174
|
},
|
|
175
175
|
|
|
176
176
|
"loading": {
|
|
177
|
-
"type": "Boolean",
|
|
177
|
+
"type": [ "Boolean", "null" ],
|
|
178
|
+
"default": null,
|
|
178
179
|
"desc": "Put button into loading state (displays a QSpinner -- can be overridden by using a 'loading' slot)",
|
|
179
180
|
"category": "behavior|state"
|
|
180
181
|
},
|
|
@@ -898,17 +898,17 @@ export default createComponent({
|
|
|
898
898
|
|
|
899
899
|
function updateViewModel (year, month, time) {
|
|
900
900
|
if (minNav.value !== null && year <= minNav.value.year) {
|
|
901
|
-
year
|
|
902
|
-
if (month < minNav.value.month) {
|
|
901
|
+
if (month < minNav.value.month || year < minNav.value.year) {
|
|
903
902
|
month = minNav.value.month
|
|
904
903
|
}
|
|
904
|
+
year = minNav.value.year
|
|
905
905
|
}
|
|
906
906
|
|
|
907
907
|
if (maxNav.value !== null && year >= maxNav.value.year) {
|
|
908
|
-
year
|
|
909
|
-
if (month > maxNav.value.month) {
|
|
908
|
+
if (month > maxNav.value.month || year > maxNav.value.year) {
|
|
910
909
|
month = maxNav.value.month
|
|
911
910
|
}
|
|
911
|
+
year = maxNav.value.year
|
|
912
912
|
}
|
|
913
913
|
|
|
914
914
|
if (time !== void 0) {
|
|
@@ -7,11 +7,23 @@ export default createComponent({
|
|
|
7
7
|
|
|
8
8
|
inheritAttrs: false,
|
|
9
9
|
|
|
10
|
-
props:
|
|
10
|
+
props: {
|
|
11
|
+
...useFieldProps,
|
|
12
|
+
|
|
13
|
+
tag: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: 'label'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
11
18
|
|
|
12
19
|
emits: useFieldEmits,
|
|
13
20
|
|
|
14
21
|
setup () {
|
|
15
|
-
return useField(
|
|
22
|
+
return useField(
|
|
23
|
+
useFieldState({
|
|
24
|
+
requiredForAttr: false,
|
|
25
|
+
tagProp: true
|
|
26
|
+
})
|
|
27
|
+
)
|
|
16
28
|
}
|
|
17
29
|
})
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
},
|
|
24
24
|
|
|
25
25
|
"root": {
|
|
26
|
-
"type": "Element",
|
|
26
|
+
"type": [ "Element", "null" ],
|
|
27
|
+
"default": null,
|
|
27
28
|
"desc": "[Intersection API root prop] Lets you define an alternative to the viewport as your root (through its DOM element); It is important to keep in mind that root needs to be an ancestor of the observed element",
|
|
28
29
|
"examples": [ "$refs.myTable.$el", "getElementById(\"myTable\")" ],
|
|
29
30
|
"category": "behavior"
|
|
@@ -106,7 +106,7 @@ export default createComponent({
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
function onKeyup (e) {
|
|
109
|
-
if (isClickable.value === true && isKeyCode(e, 13) === true) {
|
|
109
|
+
if (isClickable.value === true && isKeyCode(e, [ 13, 32 ]) === true) {
|
|
110
110
|
stopAndPrevent(e)
|
|
111
111
|
|
|
112
112
|
// for ripple
|
|
@@ -105,12 +105,16 @@
|
|
|
105
105
|
|
|
106
106
|
"max-height": {
|
|
107
107
|
"extends": "size",
|
|
108
|
+
"type": [ "String", "null" ],
|
|
109
|
+
"default": null,
|
|
108
110
|
"desc": "The maximum height of the menu; Size in CSS units, including unit name",
|
|
109
111
|
"category": "style"
|
|
110
112
|
},
|
|
111
113
|
|
|
112
114
|
"max-width": {
|
|
113
115
|
"extends": "size",
|
|
116
|
+
"type": [ "String", "null" ],
|
|
117
|
+
"default": null,
|
|
114
118
|
"desc": "The maximum width of the menu; Size in CSS units, including unit name",
|
|
115
119
|
"category": "style"
|
|
116
120
|
}
|
|
@@ -80,25 +80,29 @@
|
|
|
80
80
|
},
|
|
81
81
|
|
|
82
82
|
"boundary-links": {
|
|
83
|
-
"type": "Boolean",
|
|
83
|
+
"type": [ "Boolean", "null" ],
|
|
84
|
+
"default": null,
|
|
84
85
|
"desc": "Show boundary button links",
|
|
85
86
|
"category": "content"
|
|
86
87
|
},
|
|
87
88
|
|
|
88
89
|
"boundary-numbers": {
|
|
89
|
-
"type": "Boolean",
|
|
90
|
+
"type": [ "Boolean", "null" ],
|
|
91
|
+
"default": null,
|
|
90
92
|
"desc": "Always show first and last page buttons (if not using 'input')",
|
|
91
93
|
"category": "content"
|
|
92
94
|
},
|
|
93
95
|
|
|
94
96
|
"direction-links": {
|
|
95
|
-
"type": "Boolean",
|
|
97
|
+
"type": [ "Boolean", "null" ],
|
|
98
|
+
"default": null,
|
|
96
99
|
"desc": "Show direction buttons",
|
|
97
100
|
"category": "content"
|
|
98
101
|
},
|
|
99
102
|
|
|
100
103
|
"ellipses": {
|
|
101
|
-
"type": "Boolean",
|
|
104
|
+
"type": [ "Boolean", "null" ],
|
|
105
|
+
"default": null,
|
|
102
106
|
"desc": "Show ellipses (...) when pages are available",
|
|
103
107
|
"category": "content"
|
|
104
108
|
},
|
|
@@ -221,7 +225,7 @@
|
|
|
221
225
|
},
|
|
222
226
|
|
|
223
227
|
"ripple": {
|
|
224
|
-
"type": [ "Boolean", "Object" ],
|
|
228
|
+
"type": [ "Boolean", "Object", "null" ],
|
|
225
229
|
"desc": "Configure buttons material ripple (disable it by setting it to 'false' or supply a config object); Does not applies to boundary and ellipsis buttons",
|
|
226
230
|
"default": true,
|
|
227
231
|
"examples": [ false, "{ early: true, center: true, color: 'teal', keyCodes: [] }" ],
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
},
|
|
17
17
|
|
|
18
18
|
"format24h": {
|
|
19
|
-
"type": "Boolean",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
19
|
+
"type": [ "Boolean", "null" ],
|
|
20
|
+
"default": null,
|
|
21
|
+
"desc": "Forces 24 hour time display instead of AM/PM system; If prop is not set, then the default is based on Quasar lang language being used",
|
|
22
22
|
"category": "behavior"
|
|
23
23
|
},
|
|
24
24
|
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
|
|
35
35
|
"mask": {
|
|
36
|
+
"type": [ "String", "null" ],
|
|
36
37
|
"default": "HH:mm",
|
|
37
38
|
"examples": [ "HH:mm:ss", "YYYY-MM-DD HH:mm:ss", "HH:mm MMMM Do, YYYY" ]
|
|
38
39
|
},
|
|
@@ -8,12 +8,16 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"max-height": {
|
|
10
10
|
"extends": "size",
|
|
11
|
+
"type": [ "String", "null" ],
|
|
12
|
+
"default": null,
|
|
11
13
|
"desc": "The maximum height of the Tooltip; Size in CSS units, including unit name",
|
|
12
14
|
"category": "content"
|
|
13
15
|
},
|
|
14
16
|
|
|
15
17
|
"max-width": {
|
|
16
18
|
"extends": "size",
|
|
19
|
+
"type": [ "String", "null" ],
|
|
20
|
+
"default": null,
|
|
17
21
|
"desc": "The maximum width of the Tooltip; Size in CSS units, including unit name",
|
|
18
22
|
"category": "content"
|
|
19
23
|
},
|
|
@@ -14,8 +14,10 @@ import uid from '../../utils/uid.js'
|
|
|
14
14
|
import { prevent, stopAndPrevent } from '../../utils/event.js'
|
|
15
15
|
import { addFocusFn, removeFocusFn } from '../../utils/private/focus-manager.js'
|
|
16
16
|
|
|
17
|
-
function getTargetUid (val) {
|
|
18
|
-
return val === void 0
|
|
17
|
+
function getTargetUid (val, requiredForAttr) {
|
|
18
|
+
return val === void 0
|
|
19
|
+
? (requiredForAttr === true ? `f_${ uid() }` : void 0)
|
|
20
|
+
: val
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
export function fieldValueIsFilled (val) {
|
|
@@ -74,12 +76,17 @@ export const useFieldProps = {
|
|
|
74
76
|
|
|
75
77
|
export const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popupShow', 'popupHide' ]
|
|
76
78
|
|
|
77
|
-
export function useFieldState () {
|
|
79
|
+
export function useFieldState ({ requiredForAttr = true, tagProp } = {}) {
|
|
78
80
|
const { props, attrs, proxy, vnode } = getCurrentInstance()
|
|
79
81
|
|
|
80
82
|
const isDark = useDark(props, proxy.$q)
|
|
81
83
|
|
|
82
84
|
return {
|
|
85
|
+
requiredForAttr,
|
|
86
|
+
tag: tagProp === true
|
|
87
|
+
? computed(() => props.tag)
|
|
88
|
+
: { value: 'label' },
|
|
89
|
+
|
|
83
90
|
isDark,
|
|
84
91
|
|
|
85
92
|
editable: computed(() =>
|
|
@@ -91,7 +98,9 @@ export function useFieldState () {
|
|
|
91
98
|
hasPopupOpen: false,
|
|
92
99
|
|
|
93
100
|
splitAttrs: useSplitAttrs(attrs, vnode),
|
|
94
|
-
targetUid: ref(
|
|
101
|
+
targetUid: ref(
|
|
102
|
+
getTargetUid(props.for, requiredForAttr)
|
|
103
|
+
),
|
|
95
104
|
|
|
96
105
|
rootRef: ref(null),
|
|
97
106
|
targetRef: ref(null),
|
|
@@ -260,7 +269,7 @@ export default function (state) {
|
|
|
260
269
|
watch(() => props.for, val => {
|
|
261
270
|
// don't transform targetUid into a computed
|
|
262
271
|
// prop as it will break SSR
|
|
263
|
-
state.targetUid.value = getTargetUid(val)
|
|
272
|
+
state.targetUid.value = getTargetUid(val, state.requiredForAttr)
|
|
264
273
|
})
|
|
265
274
|
|
|
266
275
|
function focusHandler () {
|
|
@@ -545,8 +554,12 @@ export default function (state) {
|
|
|
545
554
|
})
|
|
546
555
|
|
|
547
556
|
onMounted(() => {
|
|
548
|
-
if (
|
|
549
|
-
|
|
557
|
+
if (
|
|
558
|
+
isRuntimeSsrPreHydration.value === true
|
|
559
|
+
&& state.requiredForAttr === true
|
|
560
|
+
&& props.for === void 0
|
|
561
|
+
) {
|
|
562
|
+
state.targetUid.value = `f_${ uid() }` // getTargetUid(void 0, true)
|
|
550
563
|
}
|
|
551
564
|
|
|
552
565
|
props.autofocus === true && proxy.focus()
|
|
@@ -568,7 +581,7 @@ export default function (state) {
|
|
|
568
581
|
}
|
|
569
582
|
: attributes.value
|
|
570
583
|
|
|
571
|
-
return h(
|
|
584
|
+
return h(state.tag.value, {
|
|
572
585
|
ref: state.rootRef,
|
|
573
586
|
class: [
|
|
574
587
|
classes.value,
|