quasar 2.1.6 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/QCarousel.json +19 -5
- package/dist/api/QColor.json +8 -1
- package/dist/api/QDate.json +2 -1
- package/dist/api/QFile.json +2 -1
- package/dist/api/QInnerLoading.json +32 -0
- package/dist/api/QInput.json +2 -1
- package/dist/api/QOptionGroup.json +22 -0
- package/dist/api/QRadio.json +2 -1
- package/dist/api/QRange.json +5 -1
- package/dist/api/QSelect.json +2 -1
- package/dist/api/QSkeleton.json +14 -0
- package/dist/api/QSlider.json +2 -1
- package/dist/api/QStepper.json +16 -2
- package/dist/api/QTabPanels.json +16 -2
- package/dist/api/QTabs.json +2 -1
- package/dist/api/QTime.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/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-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 +6 -0
- 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/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 +2 -2
- 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 +24 -17
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +29 -22
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +24 -16
- package/dist/quasar.umd.js +240 -195
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +1868 -1521
- package/dist/vetur/quasar-attributes.json +43 -11
- package/dist/vetur/quasar-tags.json +9 -1
- package/dist/web-types/web-types.json +103 -15
- package/lang/index.json +4 -0
- package/lang/lt.js +103 -0
- package/lang/ug.js +42 -42
- package/package.json +1 -1
- package/src/components/carousel/QCarousel.js +8 -1
- package/src/components/carousel/QCarousel.json +9 -1
- package/src/components/color/QColor.js +73 -61
- package/src/components/color/QColor.json +8 -1
- package/src/components/color/QColor.sass +5 -1
- package/src/components/date/QDate.json +1 -1
- package/src/components/dialog/QDialog.js +6 -0
- package/src/components/file/QFile.json +1 -1
- package/src/components/inner-loading/QInnerLoading.js +31 -7
- package/src/components/inner-loading/QInnerLoading.json +29 -0
- package/src/components/inner-loading/QInnerLoading.sass +4 -0
- package/src/components/input/QInput.json +1 -1
- package/src/components/option-group/QOptionGroup.js +29 -19
- package/src/components/option-group/QOptionGroup.json +26 -0
- package/src/components/radio/QRadio.json +1 -1
- package/src/components/range/QRange.json +1 -1
- package/src/components/rating/QRating.js +59 -39
- package/src/components/rating/QRating.sass +8 -6
- package/src/components/select/QSelect.js +5 -53
- package/src/components/select/QSelect.json +1 -1
- package/src/components/skeleton/QSkeleton.js +15 -5
- package/src/components/skeleton/QSkeleton.json +9 -0
- package/src/components/skeleton/QSkeleton.sass +7 -6
- package/src/components/slider/QSlider.json +1 -1
- package/src/components/tabs/QTabs.json +1 -1
- package/src/components/time/QTime.json +1 -1
- package/src/composables/private/use-panel.js +13 -8
- package/src/composables/private/use-panel.json +11 -2
- package/src/css/core/transitions.sass +4 -4
package/lang/ug.js
CHANGED
|
@@ -42,48 +42,48 @@ export default {
|
|
|
42
42
|
},
|
|
43
43
|
editor: {
|
|
44
44
|
url: 'URL',
|
|
45
|
-
bold: '
|
|
46
|
-
italic: '
|
|
47
|
-
strikethrough: '
|
|
48
|
-
underline: '
|
|
49
|
-
unorderedList: '
|
|
50
|
-
orderedList: '
|
|
51
|
-
subscript: '
|
|
52
|
-
superscript: '
|
|
53
|
-
hyperlink: '
|
|
54
|
-
toggleFullscreen: '
|
|
55
|
-
quote: '
|
|
56
|
-
left: '
|
|
57
|
-
center: '
|
|
58
|
-
right: '
|
|
59
|
-
justify: '
|
|
60
|
-
print: '
|
|
61
|
-
outdent: '
|
|
62
|
-
indent: '
|
|
63
|
-
removeFormat: '
|
|
64
|
-
formatting: '
|
|
65
|
-
fontSize: '
|
|
66
|
-
align: '
|
|
67
|
-
hr: '
|
|
68
|
-
undo: '
|
|
69
|
-
redo: '
|
|
70
|
-
heading1: '
|
|
71
|
-
heading2: '
|
|
72
|
-
heading3: '
|
|
73
|
-
heading4: '
|
|
74
|
-
heading5: '
|
|
75
|
-
heading6: '
|
|
76
|
-
paragraph: '
|
|
77
|
-
code: '
|
|
78
|
-
size1: '
|
|
79
|
-
size2: '
|
|
80
|
-
size3: '
|
|
81
|
-
size4: '
|
|
82
|
-
size5: '
|
|
83
|
-
size6: '
|
|
84
|
-
size7: '
|
|
85
|
-
defaultFont: '
|
|
86
|
-
viewSource: '
|
|
45
|
+
bold: 'Bold',
|
|
46
|
+
italic: 'ئىتالىيان',
|
|
47
|
+
strikethrough: 'Strikethrough',
|
|
48
|
+
underline: 'ئاستى سىزىق',
|
|
49
|
+
unorderedList: 'تەرتىپسىز تىزىملىك',
|
|
50
|
+
orderedList: 'زاكاز تىزىملىكى',
|
|
51
|
+
subscript: 'مۇشتەرى',
|
|
52
|
+
superscript: 'Superscript',
|
|
53
|
+
hyperlink: 'Hyperlink',
|
|
54
|
+
toggleFullscreen: 'تولۇق ئېكراننى ئالماشتۇرۇڭ',
|
|
55
|
+
quote: 'نەقىل',
|
|
56
|
+
left: 'سول تەڭگە',
|
|
57
|
+
center: 'Center align',
|
|
58
|
+
right: 'ئوڭ توغرىلاش',
|
|
59
|
+
justify: 'توغرىلاشنى توغرىلاڭ',
|
|
60
|
+
print: 'بېسىش',
|
|
61
|
+
outdent: 'تەۋەككۈلچىلىكنى ئازايتىش',
|
|
62
|
+
indent: 'تەۋەككۈلچىلىكنى ئاشۇرۇش',
|
|
63
|
+
removeFormat: 'فورماتنى ئۆچۈرۈڭ',
|
|
64
|
+
formatting: 'فورماتلاش',
|
|
65
|
+
fontSize: 'خەت چوڭلۇقى',
|
|
66
|
+
align: 'توغرىلاش',
|
|
67
|
+
hr: 'توغرىسىغا قائىدە قىستۇرۇش',
|
|
68
|
+
undo: 'ئەمەلدىن قالدۇرۇش',
|
|
69
|
+
redo: 'Redo',
|
|
70
|
+
heading1: 'Heading 1',
|
|
71
|
+
heading2: 'Heading 2',
|
|
72
|
+
heading3: 'Heading 3',
|
|
73
|
+
heading4: 'Heading 4',
|
|
74
|
+
heading5: 'Heading 5',
|
|
75
|
+
heading6: 'Heading 6',
|
|
76
|
+
paragraph: 'ئابزاس',
|
|
77
|
+
code: 'كود',
|
|
78
|
+
size1: 'بەك كىچىك',
|
|
79
|
+
size2: 'ئازراق كىچىك',
|
|
80
|
+
size3: 'نورمال',
|
|
81
|
+
size4: 'ئوتتۇراھال چوڭ',
|
|
82
|
+
size5: 'چوڭ',
|
|
83
|
+
size6: 'بەك چوڭ',
|
|
84
|
+
size7: 'ئەڭ چوڭ',
|
|
85
|
+
defaultFont: 'كۆڭۈلدىكى خەت نۇسخىسى',
|
|
86
|
+
viewSource: 'مەنبەنى كۆرۈش',
|
|
87
87
|
},
|
|
88
88
|
tree: {
|
|
89
89
|
noNodes: 'ئۇچۇر يوق',
|
package/package.json
CHANGED
|
@@ -136,7 +136,14 @@ export default defineComponent({
|
|
|
136
136
|
})
|
|
137
137
|
|
|
138
138
|
function startTimer () {
|
|
139
|
-
|
|
139
|
+
const duration = isNumber(props.autoplay) === true
|
|
140
|
+
? props.autoplay
|
|
141
|
+
: 5000
|
|
142
|
+
|
|
143
|
+
timer = setTimeout(
|
|
144
|
+
duration >= 0 ? nextPanel : previousPanel,
|
|
145
|
+
Math.abs(duration)
|
|
146
|
+
)
|
|
140
147
|
}
|
|
141
148
|
|
|
142
149
|
onMounted(() => {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
"autoplay": {
|
|
42
42
|
"type": [ "Number", "Boolean" ],
|
|
43
|
-
"desc": "Jump to next slide at fixed time intervals (in milliseconds); 'false' disables autoplay, 'true' enables it for 5000ms intervals",
|
|
43
|
+
"desc": "Jump to next slide (if 'true' or val > 0) or previous slide (if val < 0) at fixed time intervals (in milliseconds); 'false' disables autoplay, 'true' enables it for 5000ms intervals",
|
|
44
44
|
"default": false,
|
|
45
45
|
"examples": [
|
|
46
46
|
":autoplay=\"2500\"",
|
|
@@ -92,6 +92,14 @@
|
|
|
92
92
|
"type": "Boolean",
|
|
93
93
|
"desc": "Show thumbnails",
|
|
94
94
|
"category": "content"
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
"transition-prev": {
|
|
98
|
+
"default": "fade"
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
"transition-next": {
|
|
102
|
+
"default": "fade"
|
|
95
103
|
}
|
|
96
104
|
},
|
|
97
105
|
|
|
@@ -60,6 +60,7 @@ export default defineComponent({
|
|
|
60
60
|
palette: Array,
|
|
61
61
|
|
|
62
62
|
noHeader: Boolean,
|
|
63
|
+
noHeaderTabs: Boolean,
|
|
63
64
|
noFooter: Boolean,
|
|
64
65
|
|
|
65
66
|
square: Boolean,
|
|
@@ -145,7 +146,7 @@ export default defineComponent({
|
|
|
145
146
|
? true
|
|
146
147
|
: luminosity(model.value) > 0.4
|
|
147
148
|
|
|
148
|
-
return 'q-color-picker__header-content
|
|
149
|
+
return 'q-color-picker__header-content'
|
|
149
150
|
+ ` q-color-picker__header-content--${ light ? 'light' : 'dark' }`
|
|
150
151
|
})
|
|
151
152
|
|
|
@@ -496,6 +497,63 @@ export default defineComponent({
|
|
|
496
497
|
}
|
|
497
498
|
|
|
498
499
|
function getHeader () {
|
|
500
|
+
const child = []
|
|
501
|
+
|
|
502
|
+
props.noHeaderTabs !== true && child.push(
|
|
503
|
+
h(QTabs, {
|
|
504
|
+
class: 'q-color-picker__header-tabs',
|
|
505
|
+
modelValue: topView.value,
|
|
506
|
+
dense: true,
|
|
507
|
+
align: 'justify',
|
|
508
|
+
...getCache('topVTab', {
|
|
509
|
+
'onUpdate:modelValue': val => { topView.value = val }
|
|
510
|
+
})
|
|
511
|
+
}, () => [
|
|
512
|
+
h(QTab, {
|
|
513
|
+
label: 'HEX' + (hasAlpha.value === true ? 'A' : ''),
|
|
514
|
+
name: 'hex',
|
|
515
|
+
ripple: false
|
|
516
|
+
}),
|
|
517
|
+
|
|
518
|
+
h(QTab, {
|
|
519
|
+
label: 'RGB' + (hasAlpha.value === true ? 'A' : ''),
|
|
520
|
+
name: 'rgb',
|
|
521
|
+
ripple: false
|
|
522
|
+
})
|
|
523
|
+
])
|
|
524
|
+
)
|
|
525
|
+
|
|
526
|
+
child.push(
|
|
527
|
+
h('div', {
|
|
528
|
+
class: 'q-color-picker__header-banner row flex-center no-wrap'
|
|
529
|
+
}, [
|
|
530
|
+
h('input', {
|
|
531
|
+
class: 'fit',
|
|
532
|
+
value: model.value[ topView.value ],
|
|
533
|
+
...(editable.value !== true
|
|
534
|
+
? { readonly: true }
|
|
535
|
+
: {}
|
|
536
|
+
),
|
|
537
|
+
...getCache('topIn', {
|
|
538
|
+
onInput: evt => {
|
|
539
|
+
updateErrorIcon(onEditorChange(evt) === true)
|
|
540
|
+
},
|
|
541
|
+
onChange: stop,
|
|
542
|
+
onBlur: evt => {
|
|
543
|
+
onEditorChange(evt, true) === true && proxy.$forceUpdate()
|
|
544
|
+
updateErrorIcon(false)
|
|
545
|
+
}
|
|
546
|
+
})
|
|
547
|
+
}),
|
|
548
|
+
|
|
549
|
+
h(QIcon, {
|
|
550
|
+
ref: errorIconRef,
|
|
551
|
+
class: 'q-color-picker__error-icon absolute no-pointer-events',
|
|
552
|
+
name: $q.iconSet.type.negative
|
|
553
|
+
})
|
|
554
|
+
])
|
|
555
|
+
)
|
|
556
|
+
|
|
499
557
|
return h('div', {
|
|
500
558
|
class: 'q-color-picker__header relative-position overflow-hidden'
|
|
501
559
|
}, [
|
|
@@ -504,57 +562,7 @@ export default defineComponent({
|
|
|
504
562
|
h('div', {
|
|
505
563
|
class: headerClass.value,
|
|
506
564
|
style: currentBgColor.value
|
|
507
|
-
},
|
|
508
|
-
h(QTabs, {
|
|
509
|
-
modelValue: topView.value,
|
|
510
|
-
dense: true,
|
|
511
|
-
align: 'justify',
|
|
512
|
-
...getCache('topVTab', {
|
|
513
|
-
'onUpdate:modelValue': val => { topView.value = val }
|
|
514
|
-
})
|
|
515
|
-
}, () => [
|
|
516
|
-
h(QTab, {
|
|
517
|
-
label: 'HEX' + (hasAlpha.value === true ? 'A' : ''),
|
|
518
|
-
name: 'hex',
|
|
519
|
-
ripple: false
|
|
520
|
-
}),
|
|
521
|
-
|
|
522
|
-
h(QTab, {
|
|
523
|
-
label: 'RGB' + (hasAlpha.value === true ? 'A' : ''),
|
|
524
|
-
name: 'rgb',
|
|
525
|
-
ripple: false
|
|
526
|
-
})
|
|
527
|
-
]),
|
|
528
|
-
|
|
529
|
-
h('div', {
|
|
530
|
-
class: 'q-color-picker__header-banner row flex-center no-wrap'
|
|
531
|
-
}, [
|
|
532
|
-
h('input', {
|
|
533
|
-
class: 'fit',
|
|
534
|
-
value: model.value[ topView.value ],
|
|
535
|
-
...(editable.value !== true
|
|
536
|
-
? { readonly: true }
|
|
537
|
-
: {}
|
|
538
|
-
),
|
|
539
|
-
...getCache('topIn', {
|
|
540
|
-
onInput: evt => {
|
|
541
|
-
updateErrorIcon(onEditorChange(evt) === true)
|
|
542
|
-
},
|
|
543
|
-
onChange: stop,
|
|
544
|
-
onBlur: evt => {
|
|
545
|
-
onEditorChange(evt, true) === true && proxy.$forceUpdate()
|
|
546
|
-
updateErrorIcon(false)
|
|
547
|
-
}
|
|
548
|
-
})
|
|
549
|
-
}),
|
|
550
|
-
|
|
551
|
-
h(QIcon, {
|
|
552
|
-
ref: errorIconRef,
|
|
553
|
-
class: 'q-color-picker__error-icon absolute no-pointer-events',
|
|
554
|
-
name: $q.iconSet.type.negative
|
|
555
|
-
})
|
|
556
|
-
])
|
|
557
|
-
])
|
|
565
|
+
}, child)
|
|
558
566
|
])
|
|
559
567
|
}
|
|
560
568
|
|
|
@@ -790,19 +798,23 @@ export default defineComponent({
|
|
|
790
798
|
}
|
|
791
799
|
|
|
792
800
|
function getPaletteTab () {
|
|
801
|
+
const fn = color => h('div', {
|
|
802
|
+
class: 'q-color-picker__cube col-auto',
|
|
803
|
+
style: { backgroundColor: color },
|
|
804
|
+
...(
|
|
805
|
+
editable.value === true
|
|
806
|
+
? getCache('palette#' + color, {
|
|
807
|
+
onClick: () => { onPalettePick(color) }
|
|
808
|
+
})
|
|
809
|
+
: {}
|
|
810
|
+
)
|
|
811
|
+
})
|
|
812
|
+
|
|
793
813
|
return [
|
|
794
814
|
h('div', {
|
|
795
815
|
class: 'row items-center q-color-picker__palette-rows'
|
|
796
816
|
+ (editable.value === true ? ' q-color-picker__palette-rows--editable' : '')
|
|
797
|
-
}, computedPalette.value.map(
|
|
798
|
-
class: 'q-color-picker__cube col-auto',
|
|
799
|
-
style: { backgroundColor: color },
|
|
800
|
-
...(editable.value === true ? getCache('palette#' + color, {
|
|
801
|
-
onClick: () => {
|
|
802
|
-
onPalettePick(color)
|
|
803
|
-
}
|
|
804
|
-
}) : {})
|
|
805
|
-
})))
|
|
817
|
+
}, computedPalette.value.map(fn))
|
|
806
818
|
]
|
|
807
819
|
}
|
|
808
820
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"model-value": {
|
|
10
10
|
"extends": "model-value",
|
|
11
|
-
"type": [ "String", "null" ],
|
|
11
|
+
"type": [ "String", "null", "undefined" ],
|
|
12
12
|
"examples": [ "v-model=\"myColor\"" ]
|
|
13
13
|
},
|
|
14
14
|
|
|
@@ -64,6 +64,13 @@
|
|
|
64
64
|
"category": "content"
|
|
65
65
|
},
|
|
66
66
|
|
|
67
|
+
"no-header-tabs": {
|
|
68
|
+
"type": "Boolean",
|
|
69
|
+
"desc": "Do not render header tabs (only the input)",
|
|
70
|
+
"category": "content",
|
|
71
|
+
"addedIn": "v2.2"
|
|
72
|
+
},
|
|
73
|
+
|
|
67
74
|
"no-footer": {
|
|
68
75
|
"type": "Boolean",
|
|
69
76
|
"desc": "Do not render footer; Useful when you want a specific view ('default-view' prop) and don't want the user to be able to switch it",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"model-value": {
|
|
10
10
|
"extends": "model-value",
|
|
11
|
-
"type": [ "String", "Array", "Object", "null" ],
|
|
11
|
+
"type": [ "String", "Array", "Object", "null", "undefined" ],
|
|
12
12
|
"desc": "Date(s) of the component; Must be Array if using 'multiple' prop; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive",
|
|
13
13
|
"examples": [
|
|
14
14
|
"v-model=\"myDate\"",
|
|
@@ -135,6 +135,10 @@ export default defineComponent({
|
|
|
135
135
|
: transitionShow.value
|
|
136
136
|
))
|
|
137
137
|
|
|
138
|
+
const transitionStyle = computed(
|
|
139
|
+
() => `--q-transition-duration: ${ props.transitionDuration }ms`
|
|
140
|
+
)
|
|
141
|
+
|
|
138
142
|
const useBackdrop = computed(() => showing.value === true && props.seamless !== true)
|
|
139
143
|
|
|
140
144
|
const onEvents = computed(() => (
|
|
@@ -375,6 +379,7 @@ export default defineComponent({
|
|
|
375
379
|
useBackdrop.value === true
|
|
376
380
|
? h('div', {
|
|
377
381
|
class: 'q-dialog__backdrop fixed-full',
|
|
382
|
+
style: transitionStyle.value,
|
|
378
383
|
'aria-hidden': 'true',
|
|
379
384
|
onMousedown: onBackdropClick
|
|
380
385
|
})
|
|
@@ -389,6 +394,7 @@ export default defineComponent({
|
|
|
389
394
|
? h('div', {
|
|
390
395
|
ref: innerRef,
|
|
391
396
|
class: classes.value,
|
|
397
|
+
style: transitionStyle.value,
|
|
392
398
|
tabindex: -1,
|
|
393
399
|
...onEvents.value
|
|
394
400
|
}, hSlot(slots.default))
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"model-value": {
|
|
10
10
|
"extends": "model-value",
|
|
11
|
-
"type": [ "File", "FileList", "Array", "null" ],
|
|
11
|
+
"type": [ "File", "FileList", "Array", "null", "undefined" ],
|
|
12
12
|
"desc": "Model of the component; Must be FileList or Array if using 'multiple' prop; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
|
|
13
13
|
"examples": [ "v-model=\"myModel\"" ]
|
|
14
14
|
},
|
|
@@ -18,7 +18,11 @@ export default defineComponent({
|
|
|
18
18
|
size: {
|
|
19
19
|
type: [ String, Number ],
|
|
20
20
|
default: 42
|
|
21
|
-
}
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
label: String,
|
|
24
|
+
labelClass: String,
|
|
25
|
+
labelStyle: [ String, Array, Object ]
|
|
22
26
|
},
|
|
23
27
|
|
|
24
28
|
setup (props, { slots }) {
|
|
@@ -32,6 +36,31 @@ export default defineComponent({
|
|
|
32
36
|
+ (isDark.value === true ? ' q-inner-loading--dark' : '')
|
|
33
37
|
)
|
|
34
38
|
|
|
39
|
+
const labelClass = computed(() =>
|
|
40
|
+
'q-inner-loading__label'
|
|
41
|
+
+ (props.labelClass !== void 0 ? ` ${ props.labelClass}` : '')
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
function getInner () {
|
|
45
|
+
const child = [
|
|
46
|
+
h(QSpinner, {
|
|
47
|
+
size: props.size,
|
|
48
|
+
color: props.color
|
|
49
|
+
})
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
if (props.label !== void 0) {
|
|
53
|
+
child.push(
|
|
54
|
+
h('div', {
|
|
55
|
+
class: labelClass.value,
|
|
56
|
+
style: props.labelStyle
|
|
57
|
+
}, [ props.label ])
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return child
|
|
62
|
+
}
|
|
63
|
+
|
|
35
64
|
function getContent () {
|
|
36
65
|
return props.showing === true
|
|
37
66
|
? h(
|
|
@@ -39,12 +68,7 @@ export default defineComponent({
|
|
|
39
68
|
{ class: classes.value, style: transitionStyle.value },
|
|
40
69
|
slots.default !== void 0
|
|
41
70
|
? slots.default()
|
|
42
|
-
:
|
|
43
|
-
h(QSpinner, {
|
|
44
|
-
size: props.size,
|
|
45
|
-
color: props.color
|
|
46
|
-
})
|
|
47
|
-
]
|
|
71
|
+
: getInner()
|
|
48
72
|
)
|
|
49
73
|
: null
|
|
50
74
|
}
|
|
@@ -22,6 +22,35 @@
|
|
|
22
22
|
"default": "42px"
|
|
23
23
|
},
|
|
24
24
|
|
|
25
|
+
"label": {
|
|
26
|
+
"type": "String",
|
|
27
|
+
"desc": "Add a label; Gets overriden when using the default slot",
|
|
28
|
+
"examples": [ "Please wait..." ],
|
|
29
|
+
"category": "label",
|
|
30
|
+
"addedIn": "v2.2"
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
"label-class": {
|
|
34
|
+
"type": "String",
|
|
35
|
+
"desc": "Add CSS class(es) to the label; Works along the 'label' prop only",
|
|
36
|
+
"examples": [
|
|
37
|
+
"text-red q-mt-xl"
|
|
38
|
+
],
|
|
39
|
+
"category": "label",
|
|
40
|
+
"addedIn": "v2.2"
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
"label-style": {
|
|
44
|
+
"type": [ "Array", "String", "Object" ],
|
|
45
|
+
"desc": "Apply custom style to the label; Works along the 'label' prop only",
|
|
46
|
+
"examples": [
|
|
47
|
+
"font-size: 28px",
|
|
48
|
+
":label-style=\"{ color: '#ff0000' }\""
|
|
49
|
+
],
|
|
50
|
+
"category": "label",
|
|
51
|
+
"addedIn": "v2.2"
|
|
52
|
+
},
|
|
53
|
+
|
|
25
54
|
"dark": {
|
|
26
55
|
"extends": "dark"
|
|
27
56
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"model-value": {
|
|
10
10
|
"extends": "model-value",
|
|
11
|
-
"type": [ "String", "Number", "null" ],
|
|
11
|
+
"type": [ "String", "Number", "null", "undefined" ],
|
|
12
12
|
"desc": "Model of the component; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
|
|
13
13
|
"examples": [ "v-model=\"myText\"" ]
|
|
14
14
|
},
|
|
@@ -48,7 +48,7 @@ export default defineComponent({
|
|
|
48
48
|
|
|
49
49
|
emits: [ 'update:modelValue' ],
|
|
50
50
|
|
|
51
|
-
setup (props, { emit }) {
|
|
51
|
+
setup (props, { emit, slots }) {
|
|
52
52
|
const { proxy: { $q } } = getCurrentInstance()
|
|
53
53
|
|
|
54
54
|
const arrayModel = Array.isArray(props.modelValue)
|
|
@@ -92,23 +92,33 @@ export default defineComponent({
|
|
|
92
92
|
return () => h('div', {
|
|
93
93
|
class: classes.value,
|
|
94
94
|
...attrs.value
|
|
95
|
-
}, props.options.map(opt =>
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
95
|
+
}, props.options.map((opt, i) => {
|
|
96
|
+
const child = slots[ 'label-' + i ] !== void 0
|
|
97
|
+
? () => slots[ 'label-' + i ](opt)
|
|
98
|
+
: (
|
|
99
|
+
slots.label !== void 0
|
|
100
|
+
? () => slots.label(opt)
|
|
101
|
+
: void 0
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
return h('div', [
|
|
105
|
+
h(component.value, {
|
|
106
|
+
modelValue: props.modelValue,
|
|
107
|
+
val: opt.value,
|
|
108
|
+
name: opt.name === void 0 ? props.name : opt.name,
|
|
109
|
+
disable: props.disable || opt.disable,
|
|
110
|
+
label: child === void 0 ? opt.label : null,
|
|
111
|
+
leftLabel: opt.leftLabel === void 0 ? props.leftLabel : opt.leftLabel,
|
|
112
|
+
color: opt.color === void 0 ? props.color : opt.color,
|
|
113
|
+
checkedIcon: opt.checkedIcon,
|
|
114
|
+
uncheckedIcon: opt.uncheckedIcon,
|
|
115
|
+
dark: opt.dark || isDark.value,
|
|
116
|
+
size: opt.size === void 0 ? props.size : opt.size,
|
|
117
|
+
dense: props.dense,
|
|
118
|
+
keepColor: opt.keepColor === void 0 ? props.keepColor : opt.keepColor,
|
|
119
|
+
'onUpdate:modelValue': onUpdateModelValue
|
|
120
|
+
}, child)
|
|
121
|
+
])
|
|
122
|
+
}))
|
|
113
123
|
}
|
|
114
124
|
})
|
|
@@ -72,6 +72,32 @@
|
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
|
|
75
|
+
"slots": {
|
|
76
|
+
"label": {
|
|
77
|
+
"desc": "Generic slot for all labels",
|
|
78
|
+
"scope": {
|
|
79
|
+
"opt": {
|
|
80
|
+
"type": "Object",
|
|
81
|
+
"desc": "The corresponding option entry from the 'options' prop",
|
|
82
|
+
"__exemption": [ "examples" ]
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"addedIn": "v2.2"
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
"label-[name]": {
|
|
89
|
+
"desc": "Slot to define the specific label for the option at '[name]' where name is a 0-based index; Overrides the generic 'label' slot if used",
|
|
90
|
+
"scope": {
|
|
91
|
+
"...opt": {
|
|
92
|
+
"type": "Object",
|
|
93
|
+
"desc": "The corresponding option entry from the 'options' prop",
|
|
94
|
+
"__exemption": [ "examples" ]
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"addedIn": "v2.2"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
|
|
75
101
|
"events": {
|
|
76
102
|
"update:model-value": {
|
|
77
103
|
"extends": "update:model-value"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"props": {
|
|
9
9
|
"model-value": {
|
|
10
10
|
"extends": "model-value",
|
|
11
|
-
"type": "Object",
|
|
11
|
+
"type": [ "Object", "null", "undefined" ],
|
|
12
12
|
"desc": "Model of the component of type { min, max } (both values must be between global min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
|
|
13
13
|
"definition": {
|
|
14
14
|
"min": {
|