quasar 2.5.5 → 2.6.2
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/README.md +1 -1
- package/dist/api/Dialog.json +9 -2
- package/dist/api/QBreadcrumbsEl.json +5 -5
- package/dist/api/QBtn.json +2 -2
- package/dist/api/QBtnDropdown.json +2 -2
- package/dist/api/QExpansionItem.json +5 -5
- package/dist/api/QItem.json +5 -5
- package/dist/api/QKnob.json +5 -0
- package/dist/api/QRouteTab.json +5 -5
- package/dist/api/QSelect.json +8 -9
- 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 +6 -0
- package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- 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-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-themify.umd.prod.js +2 -2
- 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/eu.umd.prod.js +6 -0
- 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/kz.umd.prod.js +6 -0
- 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 +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 +2 -4
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +2 -4
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +2 -1
- package/dist/quasar.umd.js +334 -251
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/extras/icon-set.d.ts +3 -0
- package/dist/types/globals.d.ts +2 -2
- package/dist/types/index.d.ts +35 -27
- package/dist/vetur/quasar-attributes.json +28 -24
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +35 -25
- package/icon-set/bootstrap-icons.js +11 -6
- package/icon-set/bootstrap-icons.mjs +136 -0
- package/icon-set/eva-icons.js +10 -5
- package/icon-set/{svg-mdi-v4.js → eva-icons.mjs} +62 -94
- package/icon-set/fontawesome-v5-pro.js +6 -1
- package/icon-set/fontawesome-v5-pro.mjs +128 -0
- package/icon-set/fontawesome-v5.js +6 -1
- package/icon-set/fontawesome-v5.mjs +128 -0
- package/icon-set/fontawesome-v6-pro.js +133 -0
- package/icon-set/fontawesome-v6-pro.mjs +128 -0
- package/icon-set/fontawesome-v6.js +133 -0
- package/icon-set/fontawesome-v6.mjs +128 -0
- package/icon-set/ionicons-v4.js +10 -5
- package/icon-set/ionicons-v4.mjs +180 -0
- package/icon-set/line-awesome.js +6 -1
- package/icon-set/line-awesome.mjs +128 -0
- package/icon-set/material-icons-outlined.js +6 -1
- package/icon-set/material-icons-outlined.mjs +128 -0
- package/icon-set/material-icons-round.js +6 -1
- package/icon-set/material-icons-round.mjs +128 -0
- package/icon-set/material-icons-sharp.js +6 -1
- package/icon-set/material-icons-sharp.mjs +128 -0
- package/icon-set/material-icons.js +6 -1
- package/icon-set/material-icons.mjs +128 -0
- package/icon-set/mdi-v3.js +6 -1
- package/icon-set/mdi-v3.mjs +141 -0
- package/icon-set/mdi-v4.js +6 -1
- package/icon-set/mdi-v4.mjs +141 -0
- package/icon-set/mdi-v5.js +6 -1
- package/icon-set/mdi-v5.mjs +141 -0
- package/icon-set/mdi-v6.js +6 -1
- package/icon-set/mdi-v6.mjs +141 -0
- package/icon-set/svg-bootstrap-icons.js +10 -11
- package/icon-set/svg-bootstrap-icons.mjs +210 -0
- package/icon-set/svg-eva-icons.js +9 -10
- package/icon-set/svg-eva-icons.mjs +233 -0
- package/icon-set/svg-fontawesome-v5.js +5 -6
- package/icon-set/svg-fontawesome-v5.mjs +197 -0
- package/icon-set/svg-fontawesome-v6.js +198 -0
- package/icon-set/svg-fontawesome-v6.mjs +198 -0
- package/icon-set/svg-ionicons-v4.js +9 -10
- package/icon-set/svg-ionicons-v4.mjs +234 -0
- package/icon-set/svg-ionicons-v5.js +7 -7
- package/icon-set/svg-ionicons-v5.mjs +225 -0
- package/icon-set/svg-ionicons-v6.js +7 -7
- package/icon-set/svg-ionicons-v6.mjs +225 -0
- package/icon-set/svg-line-awesome.js +5 -5
- package/icon-set/svg-line-awesome.mjs +198 -0
- package/icon-set/svg-material-icons-outlined.js +5 -5
- package/icon-set/svg-material-icons-outlined.mjs +203 -0
- package/icon-set/svg-material-icons-round.js +5 -5
- package/icon-set/svg-material-icons-round.mjs +203 -0
- package/icon-set/svg-material-icons-sharp.js +5 -5
- package/icon-set/svg-material-icons-sharp.mjs +203 -0
- package/icon-set/svg-material-icons.js +5 -5
- package/icon-set/svg-material-icons.mjs +203 -0
- package/icon-set/svg-mdi-v6.js +5 -5
- package/icon-set/{svg-mdi-v5.js → svg-mdi-v6.mjs} +6 -6
- package/icon-set/svg-themify.js +9 -10
- package/icon-set/svg-themify.mjs +231 -0
- package/icon-set/themify.js +10 -5
- package/icon-set/themify.mjs +169 -0
- package/lang/ar.js +6 -1
- package/lang/ar.mjs +96 -0
- package/lang/az-Latn.js +6 -1
- package/lang/az-Latn.mjs +91 -0
- package/lang/bg.js +6 -1
- package/lang/bg.mjs +91 -0
- package/lang/bn.js +6 -1
- package/lang/bn.mjs +91 -0
- package/lang/ca.js +6 -1
- package/lang/ca.mjs +91 -0
- package/lang/cs.js +6 -1
- package/lang/cs.mjs +102 -0
- package/lang/da.js +6 -1
- package/lang/da.mjs +91 -0
- package/lang/de.js +6 -1
- package/lang/de.mjs +91 -0
- package/lang/el.js +6 -1
- package/lang/el.mjs +91 -0
- package/lang/en-GB.js +6 -1
- package/lang/en-GB.mjs +91 -0
- package/lang/en-US.js +6 -1
- package/lang/en-US.mjs +91 -0
- package/lang/eo.js +6 -1
- package/lang/eo.mjs +91 -0
- package/lang/es.js +6 -1
- package/lang/es.mjs +91 -0
- package/lang/et.js +6 -1
- package/lang/et.mjs +91 -0
- package/lang/eu.js +96 -0
- package/lang/eu.mjs +91 -0
- package/lang/fa-IR.js +6 -1
- package/lang/fa-IR.mjs +92 -0
- package/lang/fa.js +6 -1
- package/lang/fa.mjs +92 -0
- package/lang/fi.js +6 -1
- package/lang/fi.mjs +92 -0
- package/lang/fr.js +6 -1
- package/lang/fr.mjs +94 -0
- package/lang/gn.js +6 -1
- package/lang/gn.mjs +91 -0
- package/lang/he.js +6 -1
- package/lang/he.mjs +92 -0
- package/lang/hr.js +6 -1
- package/lang/hr.mjs +91 -0
- package/lang/hu.js +6 -1
- package/lang/hu.mjs +91 -0
- package/lang/id.js +6 -1
- package/lang/id.mjs +91 -0
- package/lang/index.json +8 -0
- package/lang/is.js +6 -1
- package/lang/is.mjs +91 -0
- package/lang/it.js +6 -1
- package/lang/it.mjs +91 -0
- package/lang/ja.js +6 -1
- package/lang/ja.mjs +90 -0
- package/lang/km.js +6 -1
- package/lang/km.mjs +91 -0
- package/lang/ko-KR.js +6 -1
- package/lang/ko-KR.mjs +91 -0
- package/lang/kur-CKB.js +6 -1
- package/lang/kur-CKB.mjs +101 -0
- package/lang/kz.js +100 -0
- package/lang/kz.mjs +95 -0
- package/lang/lt.js +6 -1
- package/lang/lt.mjs +103 -0
- package/lang/lu.js +6 -1
- package/lang/lu.mjs +91 -0
- package/lang/lv.js +6 -1
- package/lang/lv.mjs +91 -0
- package/lang/ml.js +6 -1
- package/lang/ml.mjs +95 -0
- package/lang/ms.js +6 -1
- package/lang/ms.mjs +91 -0
- package/lang/my.js +6 -1
- package/lang/my.mjs +90 -0
- package/lang/nb-NO.js +6 -1
- package/lang/nb-NO.mjs +92 -0
- package/lang/nl.js +6 -1
- package/lang/nl.mjs +91 -0
- package/lang/pl.js +6 -1
- package/lang/pl.mjs +91 -0
- package/lang/pt-BR.js +6 -1
- package/lang/pt-BR.mjs +91 -0
- package/lang/pt.js +6 -1
- package/lang/pt.mjs +91 -0
- package/lang/ro.js +6 -1
- package/lang/ro.mjs +91 -0
- package/lang/ru.js +6 -1
- package/lang/ru.mjs +95 -0
- package/lang/sk.js +6 -1
- package/lang/sk.mjs +91 -0
- package/lang/sl.js +6 -1
- package/lang/sl.mjs +91 -0
- package/lang/sr-CYR.js +6 -1
- package/lang/sr-CYR.mjs +91 -0
- package/lang/sr.js +6 -1
- package/lang/sr.mjs +91 -0
- package/lang/sv.js +6 -1
- package/lang/sv.mjs +91 -0
- package/lang/ta.js +6 -1
- package/lang/ta.mjs +91 -0
- package/lang/th.js +6 -1
- package/lang/th.mjs +91 -0
- package/lang/tr.js +6 -1
- package/lang/tr.mjs +87 -0
- package/lang/ug.js +55 -51
- package/lang/ug.mjs +91 -0
- package/lang/uk.js +7 -2
- package/lang/uk.mjs +95 -0
- package/lang/vi.js +6 -1
- package/lang/vi.mjs +91 -0
- package/lang/zh-CN.js +6 -1
- package/lang/zh-CN.mjs +90 -0
- package/lang/zh-TW.js +6 -1
- package/lang/zh-TW.mjs +90 -0
- package/package.json +7 -5
- package/src/components/btn/QBtn.js +16 -14
- package/src/components/btn/use-btn.js +7 -7
- package/src/components/btn/use-btn.json +2 -2
- package/src/components/date/QDate.js +2 -2
- package/src/components/dialog/QDialog.js +11 -11
- package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
- package/src/components/dialog-plugin/DialogPlugin.js +6 -6
- package/src/components/editor/QEditor.js +10 -10
- package/src/components/editor/editor-caret.js +1 -1
- package/src/components/editor/editor-utils.js +2 -2
- package/src/components/fab/QFab.js +1 -1
- package/src/components/file/QFile.js +2 -1
- package/src/components/icon/QIcon.js +2 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
- package/src/components/inner-loading/QInnerLoading.js +7 -7
- package/src/components/input/QInput.js +4 -1
- package/src/components/knob/QKnob.js +5 -2
- package/src/components/knob/QKnob.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +1 -0
- package/src/components/menu/QMenu.js +13 -13
- package/src/components/page-scroller/QPageScroller.js +4 -4
- package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
- package/src/components/select/QSelect.js +28 -7
- package/src/components/select/QSelect.json +4 -7
- package/src/components/slider/use-slider.js +4 -4
- package/src/components/stepper/QStep.js +6 -6
- package/src/components/table/table-column-selection.js +6 -6
- package/src/components/table/table-sort.js +2 -2
- package/src/components/tabs/QTabs.js +4 -4
- package/src/components/tooltip/QTooltip.js +12 -12
- package/src/components/uploader/uploader-core.js +11 -10
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
- package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
- package/src/composables/private/__tests__/use-transition.spec.js +2 -2
- package/src/composables/private/use-field.js +25 -17
- package/src/composables/private/use-file-dom-props.js +5 -5
- package/src/composables/private/use-file.js +15 -12
- package/src/composables/private/use-router-link.js +2 -2
- package/src/composables/private/use-router-link.json +5 -5
- package/src/directives/Morph.js +12 -3
- package/src/icon-set.js +2 -1
- package/src/install-quasar.js +3 -3
- package/src/lang.js +2 -1
- package/src/plugins/AddressbarColor.js +7 -7
- package/src/plugins/Cookies.js +5 -1
- package/src/plugins/Dialog.json +3 -2
- package/src/plugins/Loading.js +3 -3
- package/src/plugins/LoadingBar.js +12 -6
- package/src/plugins/Notify.js +4 -4
- package/src/utils/create-meta-mixin.js +4 -4
- package/src/utils/create-uploader-component.js +2 -2
- package/src/utils/date.js +8 -12
- package/src/utils/event.js +3 -3
- package/src/utils/extend.js +33 -5
- package/src/utils/morph.js +2 -2
- package/src/utils/private/is.js +4 -2
- package/src/utils/private/noop-ssr-directive-transform.js +1 -1
- package/wrappers/index.js +33 -5
- package/wrappers/index.mjs +63 -0
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +0 -6
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +0 -6
- package/dist/ssr-directives/Morph.js +0 -55
- package/dist/ssr-directives/index.js +0 -14
- package/src/directives/Morph.ssr.js +0 -45
|
@@ -76,7 +76,7 @@ export default createComponent({
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
if (event.isFirst === true) {
|
|
79
|
-
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !==
|
|
79
|
+
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !== 'down') {
|
|
80
80
|
if (pulling.value === true) {
|
|
81
81
|
pulling.value = false
|
|
82
82
|
state.value = 'pull'
|
|
@@ -189,10 +189,10 @@ export default createComponent({
|
|
|
189
189
|
}, [
|
|
190
190
|
state.value !== 'refreshing'
|
|
191
191
|
? h(QIcon, {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
192
|
+
name: props.icon || $q.iconSet.pullToRefresh.icon,
|
|
193
|
+
color: props.color,
|
|
194
|
+
size: '32px'
|
|
195
|
+
})
|
|
196
196
|
: h(QSpinner, {
|
|
197
197
|
size: '24px',
|
|
198
198
|
color: props.color
|
|
@@ -17,7 +17,7 @@ import { useFormProps, useFormInputNameAttr } from '../../composables/private/us
|
|
|
17
17
|
import useKeyComposition from '../../composables/private/use-key-composition.js'
|
|
18
18
|
|
|
19
19
|
import { createComponent } from '../../utils/private/create.js'
|
|
20
|
-
import { isDeepEqual
|
|
20
|
+
import { isDeepEqual } from '../../utils/private/is.js'
|
|
21
21
|
import { stop, prevent, stopAndPrevent } from '../../utils/event.js'
|
|
22
22
|
import { normalizeToInterval } from '../../utils/format.js'
|
|
23
23
|
import { shouldIgnoreKey, isKeyCode } from '../../utils/private/key-composition.js'
|
|
@@ -175,6 +175,7 @@ export default createComponent({
|
|
|
175
175
|
localResetVirtualScroll,
|
|
176
176
|
padVirtualScroll,
|
|
177
177
|
onVirtualScrollEvt,
|
|
178
|
+
reset,
|
|
178
179
|
scrollTo,
|
|
179
180
|
setVirtualScrollSize
|
|
180
181
|
} = useVirtualScroll({
|
|
@@ -432,6 +433,8 @@ export default createComponent({
|
|
|
432
433
|
|
|
433
434
|
watch(menu, updateMenu)
|
|
434
435
|
|
|
436
|
+
watch(virtualScrollLength, rerenderMenu)
|
|
437
|
+
|
|
435
438
|
function getEmittingOptionValue (opt) {
|
|
436
439
|
return props.emitValue === true
|
|
437
440
|
? getOptionValue.value(opt)
|
|
@@ -602,7 +605,7 @@ export default createComponent({
|
|
|
602
605
|
|
|
603
606
|
return typeof val === 'function'
|
|
604
607
|
? val
|
|
605
|
-
: opt => (
|
|
608
|
+
: opt => (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt)
|
|
606
609
|
}
|
|
607
610
|
|
|
608
611
|
function isOptionSelected (opt) {
|
|
@@ -975,6 +978,8 @@ export default createComponent({
|
|
|
975
978
|
}
|
|
976
979
|
|
|
977
980
|
function getInput (fromDialog, isTarget) {
|
|
981
|
+
const attrs = isTarget === true ? { ...comboboxAttrs.value, ...state.splitAttrs.attributes.value } : void 0
|
|
982
|
+
|
|
978
983
|
const data = {
|
|
979
984
|
ref: isTarget === true ? targetRef : void 0,
|
|
980
985
|
key: 'i_t',
|
|
@@ -983,8 +988,7 @@ export default createComponent({
|
|
|
983
988
|
value: inputValue.value !== void 0 ? inputValue.value : '',
|
|
984
989
|
// required for Android in order to show ENTER key when in form
|
|
985
990
|
type: 'search',
|
|
986
|
-
...
|
|
987
|
-
...state.splitAttrs.attributes.value,
|
|
991
|
+
...attrs,
|
|
988
992
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
989
993
|
maxlength: props.maxlength,
|
|
990
994
|
autocomplete: props.autocomplete,
|
|
@@ -1338,6 +1342,18 @@ export default createComponent({
|
|
|
1338
1342
|
setOptionIndex(optionIndex)
|
|
1339
1343
|
}
|
|
1340
1344
|
|
|
1345
|
+
function rerenderMenu () {
|
|
1346
|
+
if (menu.value === true && state.innerLoading.value === false) {
|
|
1347
|
+
reset()
|
|
1348
|
+
|
|
1349
|
+
nextTick(() => {
|
|
1350
|
+
if (menu.value === true && state.innerLoading.value === false) {
|
|
1351
|
+
updateMenu(true)
|
|
1352
|
+
}
|
|
1353
|
+
})
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1341
1357
|
function updateMenuPosition () {
|
|
1342
1358
|
if (dialog.value === false && menuRef.value !== null) {
|
|
1343
1359
|
menuRef.value.updatePosition()
|
|
@@ -1464,13 +1480,16 @@ export default createComponent({
|
|
|
1464
1480
|
}
|
|
1465
1481
|
// there can be only one (when dialog is opened the control in dialog should be target)
|
|
1466
1482
|
else if (state.editable.value === true) {
|
|
1483
|
+
const attrs = isTarget === true ? comboboxAttrs.value : void 0
|
|
1484
|
+
|
|
1467
1485
|
child.push(
|
|
1468
|
-
h('
|
|
1486
|
+
h('input', {
|
|
1469
1487
|
ref: isTarget === true ? targetRef : void 0,
|
|
1470
1488
|
key: 'd_t',
|
|
1471
1489
|
class: 'q-select__focus-target',
|
|
1472
1490
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
1473
|
-
|
|
1491
|
+
readonly: true,
|
|
1492
|
+
...attrs,
|
|
1474
1493
|
onKeydown: onTargetKeydown,
|
|
1475
1494
|
onKeyup: onTargetKeyup,
|
|
1476
1495
|
onKeypress: onTargetKeypress
|
|
@@ -1500,9 +1519,11 @@ export default createComponent({
|
|
|
1500
1519
|
)
|
|
1501
1520
|
}
|
|
1502
1521
|
|
|
1522
|
+
const attrs = props.useInput === true || isTarget !== true ? void 0 : state.splitAttrs.attributes.value
|
|
1523
|
+
|
|
1503
1524
|
return h('div', {
|
|
1504
1525
|
class: 'q-field__native row items-center',
|
|
1505
|
-
...
|
|
1526
|
+
...attrs
|
|
1506
1527
|
}, child)
|
|
1507
1528
|
},
|
|
1508
1529
|
|
|
@@ -716,13 +716,10 @@
|
|
|
716
716
|
|
|
717
717
|
"getOptionIndex": {
|
|
718
718
|
"desc": "Gets current focused option index from menu; It's -1 if no option is focused",
|
|
719
|
-
"
|
|
720
|
-
"
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
"desc": "Index of option from menu; -1 if no option is focused",
|
|
724
|
-
"examples": [ 10 ]
|
|
725
|
-
}
|
|
719
|
+
"returns": {
|
|
720
|
+
"type": "Number",
|
|
721
|
+
"desc": "Index of option from menu; It's -1 if no option is focused",
|
|
722
|
+
"examples": [ -1, 0, 10 ]
|
|
726
723
|
},
|
|
727
724
|
"addedIn": "v2.5.4"
|
|
728
725
|
},
|
|
@@ -7,7 +7,7 @@ import { useFormProps, useFormInject } from '../../composables/private/use-form.
|
|
|
7
7
|
|
|
8
8
|
import { between } from '../../utils/format.js'
|
|
9
9
|
import { position } from '../../utils/event.js'
|
|
10
|
-
import { isNumber,
|
|
10
|
+
import { isNumber, isObject } from '../../utils/private/is.js'
|
|
11
11
|
import { hDir } from '../../utils/private/render.js'
|
|
12
12
|
|
|
13
13
|
const markerPrefixClass = 'q-slider__marker-labels'
|
|
@@ -340,7 +340,7 @@ export default function ({ updateValue, updatePosition, getDragging, formAttrs }
|
|
|
340
340
|
if (typeof def === 'function') {
|
|
341
341
|
return markerTicks.value.map(value => {
|
|
342
342
|
const item = def(value)
|
|
343
|
-
return
|
|
343
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
344
344
|
})
|
|
345
345
|
}
|
|
346
346
|
|
|
@@ -348,14 +348,14 @@ export default function ({ updateValue, updatePosition, getDragging, formAttrs }
|
|
|
348
348
|
|
|
349
349
|
if (Array.isArray(def) === true) {
|
|
350
350
|
return def
|
|
351
|
-
.map(item => (
|
|
351
|
+
.map(item => (isObject(item) === true ? item : { value: item }))
|
|
352
352
|
.filter(filterFn)
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
return Object.keys(def).map(key => {
|
|
356
356
|
const item = def[ key ]
|
|
357
357
|
const value = Number(key)
|
|
358
|
-
return
|
|
358
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
359
359
|
}).filter(filterFn)
|
|
360
360
|
}
|
|
361
361
|
|
|
@@ -75,14 +75,14 @@ export default createComponent({
|
|
|
75
75
|
|| $stepper.value.vertical !== true
|
|
76
76
|
? {}
|
|
77
77
|
: {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
onScroll (e) {
|
|
79
|
+
const { target } = e
|
|
80
|
+
if (target.scrollTop > 0) {
|
|
81
|
+
target.scrollTop = 0
|
|
82
|
+
}
|
|
83
|
+
attrs.onScroll !== void 0 && attrs.onScroll(e)
|
|
82
84
|
}
|
|
83
|
-
attrs.onScroll !== void 0 && attrs.onScroll(e)
|
|
84
85
|
}
|
|
85
|
-
}
|
|
86
86
|
))
|
|
87
87
|
|
|
88
88
|
const contentKey = computed(() => (
|
|
@@ -17,12 +17,12 @@ export function useTableColumnSelection (props, computedPagination, hasSelection
|
|
|
17
17
|
|
|
18
18
|
return row !== void 0
|
|
19
19
|
? Object.keys(row).map(name => ({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
name,
|
|
21
|
+
label: name.toUpperCase(),
|
|
22
|
+
field: name,
|
|
23
|
+
align: isNumber(row[ name ]) ? 'right' : 'left',
|
|
24
|
+
sortable: true
|
|
25
|
+
}))
|
|
26
26
|
: []
|
|
27
27
|
})
|
|
28
28
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { sortDate } from '../../utils/private/sort.js'
|
|
4
|
-
import { isNumber, isDate,
|
|
4
|
+
import { isNumber, isDate, isObject } from '../../utils/private/is.js'
|
|
5
5
|
|
|
6
6
|
export const useTableSortProps = {
|
|
7
7
|
sortMethod: Function,
|
|
@@ -73,7 +73,7 @@ export function useTableSort (props, computedPagination, colList, setPagination)
|
|
|
73
73
|
function sort (col /* String(col name) or Object(col definition) */) {
|
|
74
74
|
let sortOrder = props.columnSortOrder
|
|
75
75
|
|
|
76
|
-
if (
|
|
76
|
+
if (isObject(col) === true) {
|
|
77
77
|
if (col.sortOrder) {
|
|
78
78
|
sortOrder = col.sortOrder
|
|
79
79
|
}
|
|
@@ -423,11 +423,11 @@ export default createComponent({
|
|
|
423
423
|
let wasItActive = wasActive === true
|
|
424
424
|
? emptyFn
|
|
425
425
|
: tab => {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}
|
|
426
|
+
if (model === tab.name.value) {
|
|
427
|
+
wasActive = true
|
|
428
|
+
wasItActive = emptyFn
|
|
430
429
|
}
|
|
430
|
+
}
|
|
431
431
|
|
|
432
432
|
const tabList = getRouteList()
|
|
433
433
|
|
|
@@ -280,18 +280,18 @@ export default createComponent({
|
|
|
280
280
|
function getTooltipContent () {
|
|
281
281
|
return showing.value === true
|
|
282
282
|
? h('div', {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
283
|
+
...attrs,
|
|
284
|
+
ref: innerRef,
|
|
285
|
+
class: [
|
|
286
|
+
'q-tooltip q-tooltip--style q-position-engine no-pointer-events',
|
|
287
|
+
attrs.class
|
|
288
|
+
],
|
|
289
|
+
style: [
|
|
290
|
+
attrs.style,
|
|
291
|
+
transitionStyle.value
|
|
292
|
+
],
|
|
293
|
+
role: 'complementary'
|
|
294
|
+
}, hSlot(slots.default))
|
|
295
295
|
: null
|
|
296
296
|
}
|
|
297
297
|
|
|
@@ -108,6 +108,7 @@ export function getRenderer (getPlugin) {
|
|
|
108
108
|
pickFiles,
|
|
109
109
|
addFiles,
|
|
110
110
|
onDragover,
|
|
111
|
+
onDragleave,
|
|
111
112
|
processFiles,
|
|
112
113
|
getDndNode,
|
|
113
114
|
maxFilesNumber,
|
|
@@ -387,10 +388,10 @@ export function getRenderer (getPlugin) {
|
|
|
387
388
|
}, [
|
|
388
389
|
file.__status === 'failed'
|
|
389
390
|
? h(QIcon, {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
391
|
+
class: 'q-uploader__file-status',
|
|
392
|
+
name: $q.iconSet.type.negative,
|
|
393
|
+
color: 'negative'
|
|
394
|
+
})
|
|
394
395
|
: null,
|
|
395
396
|
|
|
396
397
|
h('div', { class: 'q-uploader__file-header-content col' }, [
|
|
@@ -404,11 +405,11 @@ export function getRenderer (getPlugin) {
|
|
|
404
405
|
|
|
405
406
|
file.__status === 'uploading'
|
|
406
407
|
? h(QCircularProgress, {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
value: file.__progress,
|
|
409
|
+
min: 0,
|
|
410
|
+
max: 1,
|
|
411
|
+
indeterminate: file.__progress === 0
|
|
412
|
+
})
|
|
412
413
|
: h(QBtn, {
|
|
413
414
|
round: true,
|
|
414
415
|
dense: true,
|
|
@@ -477,7 +478,7 @@ export function getRenderer (getPlugin) {
|
|
|
477
478
|
const data = { ref: rootRef, class: classes.value }
|
|
478
479
|
|
|
479
480
|
if (canAddFiles.value === true) {
|
|
480
|
-
data
|
|
481
|
+
Object.assign(data, { onDragover, onDragleave })
|
|
481
482
|
}
|
|
482
483
|
|
|
483
484
|
return h('div', data, children)
|
|
@@ -148,9 +148,9 @@ export default createComponent({
|
|
|
148
148
|
|
|
149
149
|
return props.type === '__qtable'
|
|
150
150
|
? getTableMiddle(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
{ ref: rootRef, class: 'q-table__middle ' + classes.value },
|
|
152
|
+
__getVirtualChildren()
|
|
153
|
+
)
|
|
154
154
|
: h(comps[ props.type ], {
|
|
155
155
|
...attrs,
|
|
156
156
|
ref: rootRef,
|
|
@@ -622,17 +622,17 @@ export function useVirtualScroll ({
|
|
|
622
622
|
return [
|
|
623
623
|
tag === 'tbody'
|
|
624
624
|
? h(tag, {
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
])
|
|
625
|
+
class: 'q-virtual-scroll__padding',
|
|
626
|
+
key: 'before',
|
|
627
|
+
ref: beforeRef
|
|
628
|
+
}, [
|
|
629
|
+
h('tr', [
|
|
630
|
+
h('td', {
|
|
631
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style },
|
|
632
|
+
colspan: colspanAttr.value
|
|
633
|
+
})
|
|
635
634
|
])
|
|
635
|
+
])
|
|
636
636
|
: h(tag, {
|
|
637
637
|
class: 'q-virtual-scroll__padding',
|
|
638
638
|
key: 'before',
|
|
@@ -650,17 +650,17 @@ export function useVirtualScroll ({
|
|
|
650
650
|
|
|
651
651
|
tag === 'tbody'
|
|
652
652
|
? h(tag, {
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
])
|
|
653
|
+
class: 'q-virtual-scroll__padding',
|
|
654
|
+
key: 'after',
|
|
655
|
+
ref: afterRef
|
|
656
|
+
}, [
|
|
657
|
+
h('tr', [
|
|
658
|
+
h('td', {
|
|
659
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style },
|
|
660
|
+
colspan: colspanAttr.value
|
|
661
|
+
})
|
|
663
662
|
])
|
|
663
|
+
])
|
|
664
664
|
: h(tag, {
|
|
665
665
|
class: 'q-virtual-scroll__padding',
|
|
666
666
|
key: 'after',
|
|
@@ -13,7 +13,7 @@ describe('use-transition API', () => {
|
|
|
13
13
|
.should('have.class', 'q-transition--fade-enter-active')
|
|
14
14
|
})
|
|
15
15
|
|
|
16
|
-
it('should use a different show
|
|
16
|
+
it('should use a different show transition if defined', () => {
|
|
17
17
|
const transition = 'scale'
|
|
18
18
|
mount(WrapperOne, {
|
|
19
19
|
attrs: {
|
|
@@ -40,7 +40,7 @@ describe('use-transition API', () => {
|
|
|
40
40
|
.should('have.class', 'q-transition--fade-leave-active')
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
it('should use a different hide
|
|
43
|
+
it('should use a different hide transition if defined', () => {
|
|
44
44
|
const transition = 'scale'
|
|
45
45
|
mount(WrapperOne, {
|
|
46
46
|
attrs: {
|
|
@@ -366,14 +366,6 @@ export default function (state) {
|
|
|
366
366
|
}, getControlContainer())
|
|
367
367
|
)
|
|
368
368
|
|
|
369
|
-
slots.append !== void 0 && node.push(
|
|
370
|
-
h('div', {
|
|
371
|
-
class: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
372
|
-
key: 'append',
|
|
373
|
-
onClick: prevent
|
|
374
|
-
}, slots.append())
|
|
375
|
-
)
|
|
376
|
-
|
|
377
369
|
hasError.value === true && props.noErrorIcon === false && node.push(
|
|
378
370
|
getInnerAppendNode('error', [
|
|
379
371
|
h(QIcon, { name: $q.iconSet.field.error, color: 'negative' })
|
|
@@ -407,6 +399,14 @@ export default function (state) {
|
|
|
407
399
|
)
|
|
408
400
|
}
|
|
409
401
|
|
|
402
|
+
slots.append !== void 0 && node.push(
|
|
403
|
+
h('div', {
|
|
404
|
+
class: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
405
|
+
key: 'append',
|
|
406
|
+
onClick: prevent
|
|
407
|
+
}, slots.append())
|
|
408
|
+
)
|
|
409
|
+
|
|
410
410
|
state.getInnerAppend !== void 0 && node.push(
|
|
411
411
|
getInnerAppendNode('inner-append', state.getInnerAppend())
|
|
412
412
|
)
|
|
@@ -511,8 +511,8 @@ export default function (state) {
|
|
|
511
511
|
|
|
512
512
|
hasCounter === true
|
|
513
513
|
? h('div', {
|
|
514
|
-
|
|
515
|
-
|
|
514
|
+
class: 'q-field__counter'
|
|
515
|
+
}, slots.counter !== void 0 ? slots.counter() : state.computedCounter.value)
|
|
516
516
|
: null
|
|
517
517
|
])
|
|
518
518
|
}
|
|
@@ -552,6 +552,14 @@ export default function (state) {
|
|
|
552
552
|
})
|
|
553
553
|
|
|
554
554
|
return function renderField () {
|
|
555
|
+
const labelAttrs = state.getControl === void 0 && slots.control === void 0
|
|
556
|
+
? {
|
|
557
|
+
...state.splitAttrs.attributes.value,
|
|
558
|
+
'data-autofocus': props.autofocus,
|
|
559
|
+
...attributes.value
|
|
560
|
+
}
|
|
561
|
+
: attributes.value
|
|
562
|
+
|
|
555
563
|
return h('label', {
|
|
556
564
|
ref: state.rootRef,
|
|
557
565
|
class: [
|
|
@@ -559,13 +567,13 @@ export default function (state) {
|
|
|
559
567
|
attrs.class
|
|
560
568
|
],
|
|
561
569
|
style: attrs.style,
|
|
562
|
-
...
|
|
570
|
+
...labelAttrs
|
|
563
571
|
}, [
|
|
564
572
|
slots.before !== void 0
|
|
565
573
|
? h('div', {
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
574
|
+
class: 'q-field__before q-field__marginal row no-wrap items-center',
|
|
575
|
+
onClick: prevent
|
|
576
|
+
}, slots.before())
|
|
569
577
|
: null,
|
|
570
578
|
|
|
571
579
|
h('div', {
|
|
@@ -585,9 +593,9 @@ export default function (state) {
|
|
|
585
593
|
|
|
586
594
|
slots.after !== void 0
|
|
587
595
|
? h('div', {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
596
|
+
class: 'q-field__after q-field__marginal row no-wrap items-center',
|
|
597
|
+
onClick: prevent
|
|
598
|
+
}, slots.after())
|
|
591
599
|
: null
|
|
592
600
|
])
|
|
593
601
|
}
|
|
@@ -34,11 +34,11 @@ export default function (props, typeGuard) {
|
|
|
34
34
|
|
|
35
35
|
return typeGuard === true
|
|
36
36
|
? computed(() => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
if (props.type !== 'file') {
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
return getFormDomProps()
|
|
42
|
+
})
|
|
43
43
|
: computed(getFormDomProps)
|
|
44
44
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, computed, getCurrentInstance } from 'vue'
|
|
1
|
+
import { h, ref, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { stop, stopAndPrevent } from '../../utils/event.js'
|
|
4
4
|
|
|
@@ -42,18 +42,20 @@ export default function ({
|
|
|
42
42
|
}) {
|
|
43
43
|
const { props, emit, proxy } = getCurrentInstance()
|
|
44
44
|
|
|
45
|
+
const dndRef = ref(null)
|
|
46
|
+
|
|
45
47
|
const extensions = computed(() => (
|
|
46
48
|
props.accept !== void 0
|
|
47
49
|
? props.accept.split(',').map(ext => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
ext = ext.trim()
|
|
51
|
+
if (ext === '*') { // support "*"
|
|
52
|
+
return '*/'
|
|
53
|
+
}
|
|
54
|
+
else if (ext.endsWith('/*')) { // support "image/*" or "*/*"
|
|
55
|
+
ext = ext.slice(0, ext.length - 1)
|
|
56
|
+
}
|
|
57
|
+
return ext.toUpperCase()
|
|
58
|
+
})
|
|
57
59
|
: null
|
|
58
60
|
))
|
|
59
61
|
|
|
@@ -118,7 +120,7 @@ export default function ({
|
|
|
118
120
|
// Cordova/iOS allows selecting multiple files even when the
|
|
119
121
|
// multiple attribute is not specified. We also normalize drag'n'dropped
|
|
120
122
|
// files here:
|
|
121
|
-
if (props.multiple !== true) {
|
|
123
|
+
if (props.multiple !== true && files.length > 0) {
|
|
122
124
|
files = [ files[ 0 ] ]
|
|
123
125
|
}
|
|
124
126
|
|
|
@@ -183,7 +185,7 @@ export default function ({
|
|
|
183
185
|
|
|
184
186
|
function onDragleave (e) {
|
|
185
187
|
stopAndPrevent(e)
|
|
186
|
-
dnd.value = false
|
|
188
|
+
e.relatedTarget !== dndRef.value && (dnd.value = false)
|
|
187
189
|
}
|
|
188
190
|
|
|
189
191
|
function onDrop (e) {
|
|
@@ -200,6 +202,7 @@ export default function ({
|
|
|
200
202
|
function getDndNode (type) {
|
|
201
203
|
if (dnd.value === true) {
|
|
202
204
|
return h('div', {
|
|
205
|
+
ref: dndRef,
|
|
203
206
|
class: `q-${ type }__dnd absolute-full`,
|
|
204
207
|
onDragenter: stopAndPreventDrag,
|
|
205
208
|
onDragover: stopAndPreventDrag,
|
|
@@ -191,8 +191,8 @@ export default function (fallbackTag) {
|
|
|
191
191
|
// avoid comparing the child with its parent
|
|
192
192
|
&& currentMatched[ currentMatched.length - 1 ].path !== parentRecordPath
|
|
193
193
|
? currentMatched.findIndex(
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
isSameRouteRecord.bind(null, matched[ length - 2 ])
|
|
195
|
+
)
|
|
196
196
|
: index
|
|
197
197
|
)
|
|
198
198
|
})
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"props": {
|
|
3
3
|
"to": {
|
|
4
4
|
"type": [ "String", "Object" ],
|
|
5
|
-
"desc": "Equivalent to Vue Router <router-link> 'to' property;
|
|
5
|
+
"desc": "Equivalent to Vue Router <router-link> 'to' property; Superseded by 'href' prop if used",
|
|
6
6
|
"examples": [
|
|
7
7
|
"/home/dashboard",
|
|
8
8
|
":to=\"{ name: 'my-route-name' }\""
|
|
@@ -12,26 +12,26 @@
|
|
|
12
12
|
|
|
13
13
|
"exact": {
|
|
14
14
|
"type": "Boolean",
|
|
15
|
-
"desc": "Equivalent to Vue Router <router-link> 'exact' property;
|
|
15
|
+
"desc": "Equivalent to Vue Router <router-link> 'exact' property; Superseded by 'href' prop if used",
|
|
16
16
|
"category": "navigation"
|
|
17
17
|
},
|
|
18
18
|
|
|
19
19
|
"replace": {
|
|
20
20
|
"type": "Boolean",
|
|
21
|
-
"desc": "Equivalent to Vue Router <router-link> 'replace' property;
|
|
21
|
+
"desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseded by 'href' prop if used",
|
|
22
22
|
"category": "navigation"
|
|
23
23
|
},
|
|
24
24
|
|
|
25
25
|
"active-class": {
|
|
26
26
|
"type": "String",
|
|
27
|
-
"desc": "Equivalent to Vue Router <router-link> 'active-class' property;
|
|
27
|
+
"desc": "Equivalent to Vue Router <router-link> 'active-class' property; Superseded by 'href' prop if used",
|
|
28
28
|
"examples": [ "my-active-class" ],
|
|
29
29
|
"category": "navigation"
|
|
30
30
|
},
|
|
31
31
|
|
|
32
32
|
"exact-active-class": {
|
|
33
33
|
"type": "String",
|
|
34
|
-
"desc": "Equivalent to Vue Router <router-link> 'active-class' property;
|
|
34
|
+
"desc": "Equivalent to Vue Router <router-link> 'active-class' property; Superseded by 'href' prop if used",
|
|
35
35
|
"examples": [ "my-exact-active-class" ],
|
|
36
36
|
"category": "navigation"
|
|
37
37
|
},
|