@dimailn/vuetify 2.7.2-alpha17 → 2.7.2-alpha19
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/vuetify.js +36 -47
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VForm/VForm.js +8 -8
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VList/VList.js +1 -1
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +11 -14
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +1 -1
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +6 -6
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/transitions/expand-transition.js +1 -0
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/applicationable/index.js +3 -3
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +3 -10
- package/es5/mixins/selectable/index.js.map +1 -1
- package/lib/components/VForm/VForm.js +8 -8
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +10 -14
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +1 -1
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +6 -6
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/transitions/expand-transition.js +1 -0
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/applicationable/index.js +3 -3
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +3 -10
- package/lib/mixins/selectable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VForm/VForm.ts +8 -8
- package/src/components/VList/VList.ts +1 -1
- package/src/components/VList/VListGroup.ts +13 -13
- package/src/components/VRangeSlider/VRangeSlider.ts +1 -1
- package/src/components/VSelect/VSelectList.ts +1 -1
- package/src/components/VSparkline/VSparkline.ts +6 -6
- package/src/components/transitions/expand-transition.ts +2 -0
- package/src/mixins/applicationable/index.ts +3 -3
- package/src/mixins/selectable/index.ts +3 -9
|
@@ -63,14 +63,14 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
|
|
|
63
63
|
|
|
64
64
|
var watcher = function watcher(input) {
|
|
65
65
|
return input.$watch('hasError', function (val) {
|
|
66
|
-
_this.errorBag[input
|
|
66
|
+
_this.errorBag[input.$.uid] = val;
|
|
67
67
|
}, {
|
|
68
68
|
immediate: true
|
|
69
69
|
});
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
var watchers = {
|
|
73
|
-
_uid: input
|
|
73
|
+
_uid: input.$.uid,
|
|
74
74
|
valid: function valid() {},
|
|
75
75
|
shouldValidate: function shouldValidate() {}
|
|
76
76
|
};
|
|
@@ -80,7 +80,7 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
|
|
|
80
80
|
watchers.shouldValidate = input.$watch('shouldValidate', function (val) {
|
|
81
81
|
if (!val) return; // Only watch if we're not already doing it
|
|
82
82
|
|
|
83
|
-
if (_this.errorBag.hasOwnProperty(input
|
|
83
|
+
if (_this.errorBag.hasOwnProperty(input.$.uid)) return;
|
|
84
84
|
watchers.valid = watcher(input);
|
|
85
85
|
});
|
|
86
86
|
} else {
|
|
@@ -128,11 +128,11 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
|
|
|
128
128
|
},
|
|
129
129
|
unregister: function unregister(input) {
|
|
130
130
|
var found = this.inputs.find(function (i) {
|
|
131
|
-
return i
|
|
131
|
+
return i.$.uid === input.$.uid;
|
|
132
132
|
});
|
|
133
133
|
if (!found) return;
|
|
134
134
|
var unwatch = this.watchers.find(function (i) {
|
|
135
|
-
return i
|
|
135
|
+
return i.$.uid === found.$.uid;
|
|
136
136
|
});
|
|
137
137
|
|
|
138
138
|
if (unwatch) {
|
|
@@ -141,12 +141,12 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
this.watchers = this.watchers.filter(function (i) {
|
|
144
|
-
return i
|
|
144
|
+
return i.$.uid !== found.$.uid;
|
|
145
145
|
});
|
|
146
146
|
this.inputs = this.inputs.filter(function (i) {
|
|
147
|
-
return i
|
|
147
|
+
return i.$.uid !== found.$.uid;
|
|
148
148
|
});
|
|
149
|
-
delete this.errorBag[found
|
|
149
|
+
delete this.errorBag[found.$.uid];
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
152
|
render: function render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAKA;;AACA;;AACA;;AAIA;;;;;;;;;;AAUA;eACe,qBACb,mBADa,EAEb,0BAAmB,MAAnB;AACA;AAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,QADC;AAGP,EAAA,OAHO,qBAGA;AACL,WAAO;AAAE,MAAA,IAAI,EAAE;AAAR,KAAP;AACD,GALM;AAOP,EAAA,YAAY,EAAE,KAPP;AASP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,cAAc,EAAE,OAFX;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE;AAJF,GATA;AAgBP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,QAAQ,EAAE,EAFC;AAGX,MAAA,QAAQ,EAAE;AAHC,KAAP;AAAA,GAhBC;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,OADQ,mBACC,GADD,EACI;AACV,YAAM,MAAM,GAAG,MAAM,CAAC,MAAP,CAAc,GAAd,EAAmB,QAAnB,CAA4B,IAA5B,CAAf;AAEA,aAAK,KAAL,CAAW,OAAX,EAAoB,CAAC,MAArB;AACD,OALO;AAMR,MAAA,IAAI,EAAE,IANE;AAOR,MAAA,SAAS,EAAE;AAPH;AADL,GAtBA;AAkCP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,sBACK,KADL,EACe;AAAA;;AACpB,UAAM,OAAO,GAAG,SAAV,OAAU,CAAC,KAAD,EAA6B;AAC3C,eAAO,KAAK,CAAC,MAAN,CAAa,UAAb,EAAyB,UAAC,GAAD,EAAiB;AAC/C,UAAA,KAAI,CAAC,QAAL,CAAc,KAAK,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.errorBag[input.$.uid] = val\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input.$.uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input.$.uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i.$.uid === input.$.uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i.$.uid === found.$.uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i.$.uid !== found.$.uid)\n this.inputs = this.inputs.filter(i => i.$.uid !== found.$.uid)\n delete this.errorBag[found.$.uid]\n },\n },\n\n render (): VNode {\n return h('form', {\n class: 'v-form',\n novalidate: true,\n ...this.attrs$,\n onSubmit: (e: Event) => this.$emit('submit', e),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VForm.js"}
|
|
@@ -81,7 +81,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
81
81
|
},
|
|
82
82
|
unregister: function unregister(content) {
|
|
83
83
|
var index = this.groups.findIndex(function (g) {
|
|
84
|
-
return g
|
|
84
|
+
return g.$.uid === content.$.uid;
|
|
85
85
|
});
|
|
86
86
|
if (index > -1) this.groups.splice(index, 1);
|
|
87
87
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAIA;;AACA;;;;;;;;;;;;;;;;AAYA;eACe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,QADuB;AAE7B,EAAA,OAAO,EAAE,eAFoB;AAI7B,EAAA,OAJ6B,qBAItB;AACL,WAAO;AACL,MAAA,QAAQ,EAAE,IADL;AAEL,MAAA,IAAI,EAAE;AAFD,KAAP;AAID,GAT4B;AAW7B,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KADJ;AAIN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAJH,GAXqB;AAoB7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,MAAM,EAAE,OAHH;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,GAAG,EAAE,OALA;AAML,IAAA,OAAO,EAAE,OANJ;AAOL,IAAA,SAAS,EAAE,OAPN;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,OAAO,EAAE;AATJ,GApBsB;AAgC7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE;AADG,KAAP;AAAA,GAhCuB;AAoC7B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADL;AAEE,yBAAiB,KAAK,KAFxB;AAGE,4BAAoB,KAAK,QAH3B;AAIE,wBAAgB,KAAK,IAJvB;AAKE,uBAAe,KAAK,GALtB;AAME,2BAAmB,KAAK,OAN1B;AAOE,6BAAqB,KAAK,SAP5B;AAQE,4BAAoB,KAAK,OAR3B;AASE,8BAAsB,KAAK;AAT7B;AAWD;AAbO,GApCmB;AAoD7B,EAAA,OAAO,EAAE;AACP,IAAA,QADO,oBACG,OADH,EAC8B;AACnC,WAAK,MAAL,CAAY,IAAZ,CAAiB,OAAjB;AACD,KAHM;AAIP,IAAA,UAJO,sBAIK,OAJL,EAIgC;AACrC,UAAM,KAAK,GAAG,KAAK,MAAL,CAAY,SAAZ,CAAsB,UAAA,CAAC;AAAA,eAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAIA;;AACA;;;;;;;;;;;;;;;;AAYA;eACe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,QADuB;AAE7B,EAAA,OAAO,EAAE,eAFoB;AAI7B,EAAA,OAJ6B,qBAItB;AACL,WAAO;AACL,MAAA,QAAQ,EAAE,IADL;AAEL,MAAA,IAAI,EAAE;AAFD,KAAP;AAID,GAT4B;AAW7B,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KADJ;AAIN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAJH,GAXqB;AAoB7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,MAAM,EAAE,OAHH;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,GAAG,EAAE,OALA;AAML,IAAA,OAAO,EAAE,OANJ;AAOL,IAAA,SAAS,EAAE,OAPN;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,OAAO,EAAE;AATJ,GApBsB;AAgC7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE;AADG,KAAP;AAAA,GAhCuB;AAoC7B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADL;AAEE,yBAAiB,KAAK,KAFxB;AAGE,4BAAoB,KAAK,QAH3B;AAIE,wBAAgB,KAAK,IAJvB;AAKE,uBAAe,KAAK,GALtB;AAME,2BAAmB,KAAK,OAN1B;AAOE,6BAAqB,KAAK,SAP5B;AAQE,4BAAoB,KAAK,OAR3B;AASE,8BAAsB,KAAK;AAT7B;AAWD;AAbO,GApCmB;AAoD7B,EAAA,OAAO,EAAE;AACP,IAAA,QADO,oBACG,OADH,EAC8B;AACnC,WAAK,MAAL,CAAY,IAAZ,CAAiB,OAAjB;AACD,KAHM;AAIP,IAAA,UAJO,sBAIK,OAJL,EAIgC;AACrC,UAAM,KAAK,GAAG,KAAK,MAAL,CAAY,SAAZ,CAAsB,UAAA,CAAC;AAAA,eAAI,CAAC,CAAC,CAAF,CAAI,GAAJ,KAAY,OAAO,CAAC,CAAR,CAAU,GAA1B;AAAA,OAAvB,CAAd;AAEA,UAAI,KAAK,GAAG,CAAC,CAAb,EAAgB,KAAK,MAAL,CAAY,MAAZ,CAAmB,KAAnB,EAA0B,CAA1B;AACjB,KARM;AASP,IAAA,SATO,qBASI,GATJ,EASe;AACpB,UAAI,KAAK,MAAT,EAAiB;;AADG,iDAGA,KAAK,MAHL;AAAA;;AAAA;AAGpB,4DAAiC;AAAA,cAAtB,KAAsB;AAC/B,UAAA,KAAK,CAAC,MAAN,CAAa,GAAb;AACD;AALmB;AAAA;AAAA;AAAA;AAAA;AAMrB;AAfM,GApDoB;AAsE7B,EAAA,MAtE6B,oBAsEvB;AACJ,QAAM,IAAI;AACR,MAAA,KAAK,EAAE,CAAC,KAAK,OAAN,EAAe,QAAf,CADC;AAER,MAAA,KAAK,EAAE,KAAK,MAFJ;AAGR,MAAA,IAAI,EAAE,KAAK,OAAL,IAAgB,KAAK,QAArB,GAAgC,SAAhC,GAA4C;AAH1C,OAKL,KAAK,UALA,CAAV;;AAQA,WAAO,YAAE,KAAK,GAAP,EAAY,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAAZ,EAAuD,sBAAQ,IAAR,CAAvD,CAAP;AACD;AAhF4B,CAAhB,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list',\n extends: VSheet,\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g.$.uid === content.$.uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (): VNode {\n const data = {\n class: [this.classes, 'v-list'],\n style: this.styles,\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n // ...this.attrs$,\n ...this.listeners$,\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VList.js"}
|
|
@@ -91,7 +91,7 @@ var _default = baseMixins.extend({
|
|
|
91
91
|
isActive: function isActive(val) {
|
|
92
92
|
/* istanbul ignore else */
|
|
93
93
|
if (!this.subGroup && val) {
|
|
94
|
-
this.list && this.list.listClick(this
|
|
94
|
+
this.list && this.list.listClick(this.$.uid);
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
$route: 'onRouteChange'
|
|
@@ -99,7 +99,7 @@ var _default = baseMixins.extend({
|
|
|
99
99
|
created: function created() {
|
|
100
100
|
this.list && this.list.register(this);
|
|
101
101
|
|
|
102
|
-
if (this.group && this.$route && this.
|
|
102
|
+
if (this.group && this.$route && this.modelValue == null) {
|
|
103
103
|
this.isActive = this.matchRoute(this.$route.path);
|
|
104
104
|
}
|
|
105
105
|
},
|
|
@@ -143,14 +143,11 @@ var _default = baseMixins.extend({
|
|
|
143
143
|
genItems: function genItems() {
|
|
144
144
|
var _this2 = this;
|
|
145
145
|
|
|
146
|
+
var directives = [[_vue.vShow, this.isActive]];
|
|
146
147
|
return this.showLazyContent(function () {
|
|
147
|
-
return [(0, _vue.h)('div', {
|
|
148
|
-
class: 'v-list-group__items'
|
|
149
|
-
|
|
150
|
-
name: 'show',
|
|
151
|
-
value: _this2.isActive
|
|
152
|
-
}]
|
|
153
|
-
}, (0, _helpers.getSlot)(_this2))];
|
|
148
|
+
return [(0, _vue.withDirectives)((0, _vue.h)('div', {
|
|
149
|
+
class: 'v-list-group__items'
|
|
150
|
+
}, (0, _helpers.getSlot)(_this2)), directives)];
|
|
154
151
|
});
|
|
155
152
|
},
|
|
156
153
|
genPrependIcon: function genPrependIcon() {
|
|
@@ -168,7 +165,7 @@ var _default = baseMixins.extend({
|
|
|
168
165
|
/* istanbul ignore else */
|
|
169
166
|
|
|
170
167
|
if (isActive && this.isActive !== isActive) {
|
|
171
|
-
this.list && this.list.listClick(this
|
|
168
|
+
this.list && this.list.listClick(this.$.uid);
|
|
172
169
|
}
|
|
173
170
|
|
|
174
171
|
this.isActive = isActive;
|
|
@@ -176,7 +173,7 @@ var _default = baseMixins.extend({
|
|
|
176
173
|
toggle: function toggle(uid) {
|
|
177
174
|
var _this3 = this;
|
|
178
175
|
|
|
179
|
-
var isActive = this
|
|
176
|
+
var isActive = this.$.uid === uid;
|
|
180
177
|
if (isActive) this.isBooted = true;
|
|
181
178
|
this.$nextTick(function () {
|
|
182
179
|
return _this3.isActive = isActive;
|
|
@@ -187,9 +184,9 @@ var _default = baseMixins.extend({
|
|
|
187
184
|
}
|
|
188
185
|
},
|
|
189
186
|
render: function render() {
|
|
190
|
-
return (0, _vue.h)('div', this.setTextColor(this.isActive && this.color,
|
|
191
|
-
class: 'v-list-group'
|
|
192
|
-
}
|
|
187
|
+
return (0, _vue.h)('div', this.setTextColor(this.isActive && this.color, {
|
|
188
|
+
class: ['v-list-group', this.classes]
|
|
189
|
+
}), [this.genHeader(), (0, _vue.h)(_transitions.VExpandTransition, this.genItems())]);
|
|
193
190
|
}
|
|
194
191
|
});
|
|
195
192
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;AAEA;;AAGA;;AAEA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AAGA;;AACA;;;;;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,yBAAkB,MAAlB,CAJiB,EAKjB,mBALiB,CAAnB;;eAkBe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,cADyB;AAG/B,EAAA,UAAU,EAAE;AAAE,IAAA,MAAM,EAAN;AAAF,GAHmB;AAK/B,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,CAAC,MAAD,EAAS,MAAT,CAdF;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,WAAW,EAAE,MAhBR;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAjBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GALwB;AA6B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,aAAO;AACL,gCAAwB,KAAK,QADxB;AAEL,kCAA0B,KAAK,QAF1B;AAGL,mCAA2B,KAAK,QAH3B;AAIL,mCAA2B,KAAK;AAJ3B,OAAP;AAMD;AARO,GA7BqB;AAwC/B,EAAA,KAAK,EAAE;AACL,IAAA,QADK,oBACK,GADL,EACiB;AACpB;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,GAAtB,EAA2B;AACzB,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives, vShow} from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n inputValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple]\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives)\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes]\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
|
|
@@ -121,7 +121,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
121
121
|
input.data = input.data || {};
|
|
122
122
|
input.data.attrs = input.data.attrs || {};
|
|
123
123
|
input.data.attrs.value = _this3.internalValue[i];
|
|
124
|
-
input.data.attrs.id = "input-".concat(i ? 'max' : 'min', "-").concat(_this3
|
|
124
|
+
input.data.attrs.id = "input-".concat(i ? 'max' : 'min', "-").concat(_this3.$.uid);
|
|
125
125
|
return input;
|
|
126
126
|
});
|
|
127
127
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-range-slider',\n extends: VSlider,\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => h('div', this.setBackgroundColor(section.color, {\n class: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;AASA;;;;;;;;;;;;;;;;;;;;;;AAEA;gBACe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,gBADuB;AAE7B,EAAA,OAAO,EAAE,gBAFoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE;AAAA,eAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;AAAA;AAFJ;AADF,GAJsB;AAW7B,EAAA,IAX6B,kBAWzB;AACF,WAAO;AACL,MAAA,WAAW,EAAE,IADR;AAEL,MAAA,SAAS,EAAE,KAAK;AAFX,KAAP;AAID,GAhB4B;AAkB7B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,iBAAQ,QAAR,CAAiB,OAAjB,CAAyB,IAAzB,CAA8B,IAA9B,CADL;AAEE,iCAAyB;AAF3B;AAID,KANO;AAOR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAZ;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,GAJQ,EAIK;AAAA;;AAChB;AACA;AACA;AACA,YAAI,KAAK,GAAG,GAAG,CAAC,GAAJ,CAAQ;AAAA,cAAC,CAAD,uEAAK,CAAL;AAAA,iBAAW,KAAI,CAAC,UAAL,CAAgB,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAI,CAAC,QAAjB,CAAT,EAAqC,KAAI,CAAC,QAA1C,CAAhB,CAAX;AAAA,SAAR,CAAZ,CAJgB,CAMhB;;AACA,YAAI,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhB,IAAuB,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAA3C,EAAgD;AAC9C,cAAI,KAAK,WAAL,KAAqB,IAAzB,EAA+B;AAC7B,gBAAM,OAAO,GAAG,KAAK,WAAL,KAAqB,CAArB,GAAyB,CAAzB,GAA6B,CAA7C;AACA,gBAAM,EAAE,GAAG,KAAK,KAAL,iBAAoB,OAApB,EAAX;AACA,YAAA,EAAE,CAAC,KAAH;AACD;;AACD,UAAA,KAAK,GAAG,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,KAAK,CAAC,CAAD,CAAhB,CAAR;AACD;;AAED,aAAK,SAAL,GAAiB,KAAjB;AACA,YAAI,CAAC,wBAAU,KAAV,EAAiB,KAAK,KAAtB,CAAL,EAAmC,KAAK,KAAL,CAAW,OAAX,EAAoB,KAApB;AAEnC,aAAK,QAAL;AACD;AAxBY,KAPP;AAiCR,IAAA,UAjCQ,wBAiCE;AAAA;;AACR,aAAO,KAAK,aAAL,CAAmB,GAAnB,CAAuB,UAAC,CAAD;AAAA,eAAe,CAC3C,MAAI,CAAC,UAAL,CAAgB,CAAhB,IAAqB,MAAI,CAAC,QADiB,KACJ,MAAI,CAAC,QAAL,GAAgB,MAAI,CAAC,QADjB,IAC6B,GAD5C;AAAA,OAAvB,CAAP;AAGD;AArCO,GAlBmB;AA0D7B,EAAA,OAAO,EAAE;AACP,IAAA,aADO,yBACQ,WADR,EAC6B,SAD7B,EACgF;AAAA;;AAAA,UAAhC,YAAgC,uEAAjB,CAAiB;AAAA,UAAd,UAAc,uEAAD,CAAC;AACrF,UAAM,QAAQ,GAAG,KAAK,QAAL,GAAgB,KAAK,QAAL,CAAc,GAAd,GAAoB,KAApB,GAA4B,QAA5C,GAAuD,KAAK,QAAL,CAAc,GAAd,GAAoB,OAApB,GAA8B,MAAtG;AACA,UAAM,MAAM,GAAG,KAAK,QAAL,GAAgB,QAAhB,GAA2B,OAA1C;AAEA,UAAM,KAAK,kBAAW,WAAX,iBAA6B,YAA7B,QAAX;AACA,UAAM,GAAG,kBAAW,SAAX,iBAA2B,UAA3B,QAAT;AAEA;AACE,QAAA,UAAU,EAAE,KAAK;AADnB,+BAEG,QAFH,EAEc,KAFd,yBAGG,MAHH,EAGY,GAHZ;AAKD,KAbM;AAcP,IAAA,sBAdO,kCAciB,GAdjB,EAcgC,CAdhC,EAcyC;AAC9C,UAAI,IAAI,CAAC,GAAL,CAAS,GAAG,CAAC,CAAD,CAAH,GAAS,CAAlB,IAAuB,IAAI,CAAC,GAAL,CAAS,GAAG,CAAC,CAAD,CAAH,GAAS,CAAlB,CAA3B,EAAiD,OAAO,CAAP,CAAjD,KACK,OAAO,CAAP;AACN,KAjBM;AAkBP,IAAA,QAlBO,sBAkBC;AAAA;;AACN,aAAO,0BAAY,CAAZ,EAAe,GAAf,CAAmB,UAAA,CAAC,EAAG;AAC5B,YAAM,KAAK,GAAG,iBAAQ,OAAR,CAAgB,QAAhB,CAAyB,IAAzB,CAA8B,MAA9B,CAAd;;AAEA,QAAA,KAAK,CAAC,IAAN,GAAa,KAAK,CAAC,IAAN,IAAc,EAA3B;AACA,QAAA,KAAK,CAAC,IAAN,CAAW,KAAX,GAAmB,KAAK,CAAC,IAAN,CAAW,KAAX,IAAoB,EAAvC;AACA,QAAA,KAAK,CAAC,IAAN,CAAW,KAAX,CAAiB,KAAjB,GAAyB,MAAI,CAAC,aAAL,CAAmB,CAAnB,CAAzB;AACA,QAAA,KAAK,CAAC,IAAN,CAAW,KAAX,CAAiB,EAAjB,mBAA+B,CAAC,GAAG,KAAH,GAAW,KAA3C,cAAoD,MAAI,CAAC,CAAL,CAAO,GAA3D;AAEA,eAAO,KAAP;AACD,OATM,CAAP;AAUD,KA7BM;AA8BP,IAAA,iBA9BO,+BA8BU;AAAA;;AACf,UAAM,QAAQ,GAAG,EAAjB;AAEA,UAAM,OAAO,GAAG,KAAK,UAAL,GAAkB,EAAlB,GAAuB,CAAvC;AACA,UAAM,QAAQ,GAA6F,CACzG;AACE,QAAA,KAAK,EAAE,4BADT;AAEE,QAAA,KAAK,EAAE,KAAK,kBAFd;AAGE,QAAA,MAAM,EAAE,CAAC,CAAD,EAAI,KAAK,UAAL,CAAgB,CAAhB,CAAJ,EAAwB,CAAxB,EAA2B,CAAC,OAA5B;AAHV,OADyG,EAMzG;AACE,QAAA,KAAK,EAAE,KAAK,UAAL,GAAkB,4BAAlB,GAAiD,sBAD1D;AAEE,QAAA,KAAK,EAAE,KAAK,UAAL,GAAkB,KAAK,kBAAvB,GAA4C,KAAK,sBAF1D;AAGE,QAAA,MAAM,EAAE,CAAC,KAAK,UAAL,CAAgB,CAAhB,CAAD,EAAqB,IAAI,CAAC,GAAL,CAAS,KAAK,UAAL,CAAgB,CAAhB,IAAqB,KAAK,UAAL,CAAgB,CAAhB,CAA9B,CAArB,EAAwE,OAAxE,EAAiF,OAAO,GAAG,CAAC,CAA5F;AAHV,OANyG,EAWzG;AACE,QAAA,KAAK,EAAE,4BADT;AAEE,QAAA,KAAK,EAAE,KAAK,kBAFd;AAGE,QAAA,MAAM,EAAE,CAAC,KAAK,UAAL,CAAgB,CAAhB,CAAD,EAAqB,IAAI,CAAC,GAAL,CAAS,MAAM,KAAK,UAAL,CAAgB,CAAhB,CAAf,CAArB,EAAyD,OAAzD,EAAkE,CAAC,OAAnE;AAHV,OAXyG,CAA3G;AAkBA,UAAI,KAAK,QAAL,CAAc,GAAlB,EAAuB,QAAQ,CAAC,OAAT;AAEvB,MAAA,QAAQ,CAAC,IAAT,OAAA,QAAQ,qBAAS,QAAQ,CAAC,GAAT,CAAa,UAAA,OAAO;AAAA,eAAI,CAAC,CAAC,KAAD,EAAQ,MAAI,CAAC,kBAAL,CAAwB,OAAO,CAAC,KAAhC,EAAuC;AACvF,UAAA,KAAK,EAAE,OAAO,CAAC,KADwE;AAEvF,UAAA,KAAK,EAAE,MAAI,CAAC,aAAL,OAAA,MAAI,qBAAkB,OAAO,CAAC,MAA1B;AAF4E,SAAvC,CAAR,CAAL;AAAA,OAApB,CAAT,EAAR;AAKA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,2BADO;AAEd,QAAA,GAAG,EAAE;AAFS,OAAR,EAGL,QAHK,CAAR;AAID,KA/DM;AAgEP,IAAA,WAhEO,yBAgEI;AAAA;;AACT,aAAO,CACL,KAAK,QAAL,EADK,EAEL,KAAK,iBAAL,EAFK,EAGL,KAAK,QAAL,EAHK,EAIL,0BAAY,CAAZ,EAAe,GAAf,CAAmB,UAAA,KAAK,EAAG;AACzB,YAAM,KAAK,GAAG,MAAI,CAAC,aAAL,CAAmB,KAAnB,CAAd;;AACA,YAAM,OAAO,GAAG,SAAV,OAAU,CAAC,CAAD,EAAa;AAC3B,UAAA,MAAI,CAAC,SAAL,GAAiB,IAAjB;AACA,UAAA,MAAI,CAAC,WAAL,GAAmB,KAAnB;;AAEA,UAAA,MAAI,CAAC,KAAL,CAAW,OAAX,EAAoB,CAApB;AACD,SALD;;AAOA,YAAM,MAAM,GAAG,SAAT,MAAS,CAAC,CAAD,EAAa;AAC1B,UAAA,MAAI,CAAC,SAAL,GAAiB,KAAjB;AACA,UAAA,MAAI,CAAC,WAAL,GAAmB,IAAnB;;AAEA,UAAA,MAAI,CAAC,KAAL,CAAW,MAAX,EAAmB,CAAnB;AACD,SALD;;AAOA,YAAM,UAAU,GAAG,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAAnB;AACA,YAAM,QAAQ,GAAG,MAAI,CAAC,QAAL,IAAiB,MAAI,CAAC,WAAL,KAAqB,KAAvD;AACA,YAAM,SAAS,GAAG,MAAI,CAAC,SAAL,IAAkB,MAAI,CAAC,WAAL,KAAqB,KAAzD;AAEA,eAAO,MAAI,CAAC,iBAAL,CAAuB,KAAvB,EAA8B,UAA9B,EAA0C,QAA1C,EAAoD,SAApD,EAA+D,OAA/D,EAAwE,MAAxE,kBAAyF,KAAzF,EAAP;AACD,OArBD,CAJK,CAAP;AA2BD,KA5FM;AA6FP,IAAA,kBA7FO,8BA6Fa,KA7Fb,EA6F0B;AAC/B,WAAK,WAAL,GAAmB,KAAK,sBAAL,CAA4B,KAAK,aAAjC,EAAgD,KAAhD,CAAnB;AACA,UAAM,OAAO,mBAAY,KAAK,WAAjB,CAAb;AACA,UAAM,QAAQ,GAAG,KAAK,KAAL,CAAW,OAAX,CAAjB;AACA,MAAA,QAAQ,CAAC,KAAT;AACD,KAlGM;AAmGP,IAAA,iBAnGO,6BAmGY,CAnGZ,EAmGsC;AAAA;;;;AAC3C,UAAM,KAAK,GAAG,KAAK,cAAL,CAAoB,CAApB,CAAd;AAEA,WAAK,kBAAL,CAAwB,KAAxB;AAEA,WAAK,QAAL,GAAgB,KAAK,aAArB;AACA,WAAK,QAAL,GAAgB,IAAhB;;AAEA,UAAI,CAAA,EAAA,GAAC,CAAC,CAAC,MAAH,MAAqB,IAArB,IAAqB,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqB,EAAA,CAAE,OAAF,CAAU,0DAAV,CAAzB,EAAgG;AAC9F,aAAK,YAAL,GAAoB,IAApB;AACA,YAAM,OAAO,GAAI,CAAC,CAAC,MAAF,CAAqB,qBAArB,EAAjB;AACA,YAAM,KAAK,GAAG,aAAa,CAAb,GAAiB,CAAC,CAAC,OAAF,CAAU,CAAV,CAAjB,GAAgC,CAA9C;AACA,aAAK,WAAL,GAAmB,KAAK,QAAL,GACf,KAAK,CAAC,OAAN,IAAiB,OAAO,CAAC,GAAR,GAAc,OAAO,CAAC,MAAR,GAAiB,CAAhD,CADe,GAEf,KAAK,CAAC,OAAN,IAAiB,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,KAAR,GAAgB,CAAhD,CAFJ;AAGD,OAPD,MAOO;AACL,aAAK,WAAL,GAAmB,CAAnB;AACA,QAAA,MAAM,CAAC,YAAP,CAAoB,KAAK,YAAzB;AACA,aAAK,YAAL,GAAoB,MAAM,CAAC,UAAP,CAAkB,YAAK;AACzC,UAAA,MAAI,CAAC,YAAL,GAAoB,IAApB;AACD,SAFmB,EAEjB,GAFiB,CAApB;AAGD;;AAED,UAAM,cAAc,GAAG,4BAAmB;AAAE,QAAA,OAAO,EAAE,IAAX;AAAiB,QAAA,OAAO,EAAE;AAA1B,OAAnB,GAAsD,IAA7E;AACA,UAAM,gBAAgB,GAAG,4BAAmB;AAAE,QAAA,OAAO,EAAE;AAAX,OAAnB,GAAuC,KAAhE;AAEA,UAAM,YAAY,IAAG,aAAa,CAAhB,CAAlB;AAEA,WAAK,WAAL,CAAiB,CAAjB;AACA,WAAK,GAAL,CAAS,gBAAT,CAA0B,YAAY,GAAG,WAAH,GAAiB,WAAvD,EAAoE,KAAK,WAAzE,EAAsF,gBAAtF;AACA,yCAAqB,KAAK,GAA1B,EAA+B,YAAY,GAAG,UAAH,GAAgB,SAA3D,EAAsE,KAAK,eAA3E,EAA4F,cAA5F;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,KAAK,aAAzB;AACD,KApIM;AAqIP,IAAA,aArIO,yBAqIQ,CArIR,EAqIqB;AAC1B,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,YAAI,KAAK,OAAT,EAAkB;AAChB,eAAK,OAAL,GAAe,KAAf;AACA;AACD;;AAED,YAAM,KAAK,GAAG,KAAK,cAAL,CAAoB,CAApB,CAAd;AAEA,aAAK,kBAAL,CAAwB,KAAxB;AAEA,aAAK,gBAAL,CAAsB,KAAtB;AAEA,aAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,aAA1B;AACD;AACF,KApJM;AAqJP,IAAA,WArJO,uBAqJM,CArJN,EAqJgC;AACrC,UAAM,KAAK,GAAG,KAAK,cAAL,CAAoB,CAApB,CAAd;;AAEA,UAAI,CAAC,CAAC,IAAF,KAAW,WAAf,EAA4B;AAC1B,aAAK,YAAL,GAAoB,IAApB;AACD;;AAED,UAAI,KAAK,WAAL,KAAqB,IAAzB,EAA+B;AAC7B,aAAK,WAAL,GAAmB,KAAK,sBAAL,CAA4B,KAAK,aAAjC,EAAgD,KAAhD,CAAnB;AACD;;AAED,WAAK,gBAAL,CAAsB,KAAtB;AACD,KAjKM;AAkKP,IAAA,SAlKO,qBAkKI,CAlKJ,EAkKoB;AACzB,UAAI,KAAK,WAAL,KAAqB,IAAzB,EAA+B;AAE/B,UAAM,KAAK,GAAG,KAAK,YAAL,CAAkB,CAAlB,EAAqB,KAAK,aAAL,CAAmB,KAAK,WAAxB,CAArB,CAAd;AAEA,UAAI,KAAK,IAAI,IAAb,EAAmB;AAEnB,WAAK,gBAAL,CAAsB,KAAtB;AACA,WAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,aAA1B;AACD,KA3KM;AA4KP,IAAA,gBA5KO,4BA4KW,KA5KX,EA4KwB;AAAA;;AAC7B,WAAK,aAAL,GAAqB,KAAK,aAAL,CAAmB,GAAnB,CAAuB,UAAC,CAAD,EAAY,CAAZ,EAAyB;AACnE,YAAI,CAAC,KAAK,MAAI,CAAC,WAAf,EAA4B,OAAO,KAAP,CAA5B,KACK,OAAO,MAAM,CAAC,CAAD,CAAb;AACN,OAHoB,CAArB;AAID;AAjLM;AA1DoB,CAAhB,C","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-range-slider',\n extends: VSlider,\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this.$.uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => h('div', this.setBackgroundColor(section.color, {\n class: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
@@ -169,7 +169,7 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default).ext
|
|
|
169
169
|
// Default behavior in list does not
|
|
170
170
|
// contain aria-selected by default
|
|
171
171
|
'aria-selected': String(value),
|
|
172
|
-
id: "list-item-".concat(this
|
|
172
|
+
id: "list-item-".concat(this.$.uid, "-").concat(index),
|
|
173
173
|
role: 'option',
|
|
174
174
|
onMousedown: function onMousedown(e) {
|
|
175
175
|
// Prevent onBlur from being called
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item)\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$slots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, [\n h(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item)\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$slots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, [\n h(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|
|
@@ -253,7 +253,7 @@ var _default2 = (0, _mixins.default)(_colorable.default).extend({
|
|
|
253
253
|
});
|
|
254
254
|
return (0, _vue.h)('defs', [(0, _vue.h)('linearGradient', {
|
|
255
255
|
attrs: {
|
|
256
|
-
id: this
|
|
256
|
+
id: this.$.uid,
|
|
257
257
|
gradientUnits: 'userSpaceOnUse',
|
|
258
258
|
x1: gradientDirection === 'left' ? '100%' : '0',
|
|
259
259
|
y1: gradientDirection === 'top' ? '100%' : '0',
|
|
@@ -278,8 +278,8 @@ var _default2 = (0, _mixins.default)(_colorable.default).extend({
|
|
|
278
278
|
return (0, _vue.h)('path', {
|
|
279
279
|
attrs: {
|
|
280
280
|
d: (0, _path.genPath)(points, this._radius, this.fill, this.parsedHeight),
|
|
281
|
-
fill: this.fill ? "url(#".concat(this
|
|
282
|
-
stroke: this.fill ? 'none' : "url(#".concat(this
|
|
281
|
+
fill: this.fill ? "url(#".concat(this.$.uid, ")") : 'none',
|
|
282
|
+
stroke: this.fill ? 'none' : "url(#".concat(this.$.uid, ")")
|
|
283
283
|
},
|
|
284
284
|
ref: 'path'
|
|
285
285
|
});
|
|
@@ -313,10 +313,10 @@ var _default2 = (0, _mixins.default)(_colorable.default).extend({
|
|
|
313
313
|
display: 'block',
|
|
314
314
|
viewBox: "0 0 ".concat(this.totalWidth, " ").concat(this.totalHeight)
|
|
315
315
|
}
|
|
316
|
-
}, [this.genGradient(), this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this
|
|
316
|
+
}, [this.genGradient(), this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this.$.uid), this.hasLabels ? this.genLabels(offsetX) : undefined, (0, _vue.h)('g', {
|
|
317
317
|
attrs: {
|
|
318
|
-
'clip-path': "url(#sparkline-bar-".concat(this
|
|
319
|
-
fill: "url(#".concat(this
|
|
318
|
+
'clip-path': "url(#sparkline-bar-".concat(this.$.uid, "-clip)"),
|
|
319
|
+
fill: "url(#".concat(this.$.uid, ")")
|
|
320
320
|
}
|
|
321
321
|
}, [(0, _vue.h)('rect', {
|
|
322
322
|
attrs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable\n ]>\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as Prop<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$slots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n h('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n },\n })\n )\n\n return h('defs', [\n h('linearGradient', {\n attrs: {\n id: this._uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0',\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return h('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return h('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n h('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$slots.label\n ? this.$slots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return h('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this._uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n h('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this._uid}-clip)`,\n fill: `url(#${this._uid})`,\n },\n }, [\n h('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return h('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return h('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? h('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return h('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable\n ]>\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as Prop<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$slots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n h('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n },\n })\n )\n\n return h('defs', [\n h('linearGradient', {\n attrs: {\n id: this.$.uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0',\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return h('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return h('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this.$.uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this.$.uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n h('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$slots.label\n ? this.$slots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return h('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this.$.uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n h('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this.$.uid}-clip)`,\n fill: `url(#${this.$.uid})`,\n },\n }, [\n h('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return h('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return h('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? h('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return h('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
|
|
@@ -23,6 +23,7 @@ function _default() {
|
|
|
23
23
|
}, sizeProperty, el.style[sizeProperty]);
|
|
24
24
|
},
|
|
25
25
|
onEnter: function onEnter(el) {
|
|
26
|
+
if (el.style.display === 'none') return;
|
|
26
27
|
var initialStyle = el._initialStyle;
|
|
27
28
|
el.style.setProperty('transition', 'none', 'important'); // Hide overflow to account for collapsed margins in the calculated height
|
|
28
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/transitions/expand-transition.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAYc,oBAA8C;AAAA,MAAnC,mBAAmC,uEAAb,EAAa;AAAA,MAAT,CAAS,uEAAL,KAAK;AAC1D,MAAM,YAAY,GAAG,CAAC,GAAG,OAAH,GAAa,QAAnC;AACA,MAAM,cAAc,mBAAY,yBAAW,YAAX,CAAZ,CAApB;AAEA,SAAO;AACL,IAAA,aADK,yBACU,EADV,EAC+B;AAClC,MAAA,EAAE,CAAC,OAAH,GAAa,EAAE,CAAC,UAAhB;AACA,MAAA,EAAE,CAAC,aAAH;AACE,QAAA,UAAU,EAAE,EAAE,CAAC,KAAH,CAAS,UADvB;AAEE,QAAA,QAAQ,EAAE,EAAE,CAAC,KAAH,CAAS;AAFrB,SAGG,YAHH,EAGkB,EAAE,CAAC,KAAH,CAAS,YAAT,CAHlB;AAKD,KARI;AAUL,IAAA,OAVK,mBAUI,EAVJ,EAUyB;AAC5B,UAAM,YAAY,GAAG,EAAE,CAAC,aAAxB;AAEA,MAAA,EAAE,CAAC,KAAH,CAAS,WAAT,CAAqB,YAArB,EAAmC,MAAnC,EAA2C,WAA3C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/transitions/expand-transition.ts"],"names":[],"mappings":"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","sourcesContent":["import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n if(el.style.display === 'none') return\n\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave: afterLeave,\n onLeaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n"],"sourceRoot":"","file":"expand-transition.js"}
|