@dimailn/vuetify 2.7.2-alpha29 → 2.7.2-alpha31
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 +166 -78
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +8 -6
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +14 -2
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +47 -26
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +50 -28
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +15 -18
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +1 -1
- package/es5/components/VSubheader/VSubheader.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +26 -13
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +0 -2
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/framework.js +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +14 -2
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +9 -2
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +43 -26
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +15 -19
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +16 -4
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +1 -1
- package/lib/components/VSubheader/VSubheader.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +15 -7
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +0 -2
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/framework.js +1 -1
- package/package.json +1 -1
- package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
- package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
- package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
- package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
- package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
- package/src/components/VCarousel/VCarousel.ts +15 -3
- package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
- package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
- package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
- package/src/components/VDialog/VDialog.ts +14 -4
- package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
- package/src/components/VFileInput/VFileInput.ts +46 -33
- package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
- package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
- package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +16 -11
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
- package/src/components/VPagination/VPagination.ts +16 -19
- package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
- package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
- package/src/components/VRangeSlider/VRangeSlider.ts +19 -4
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
- package/src/components/VSubheader/VSubheader.ts +1 -1
- package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
- package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
- package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
- package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
- package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
- package/src/components/VTreeview/VTreeview.ts +20 -12
- package/src/components/VTreeview/VTreeviewNode.ts +0 -2
- package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
- package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
- package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +6 -9
- package/src/components/VWindow/__tests__/VWindow.spec.ts +78 -0
- package/src/components/VWindow/__tests__/VWindowItem.spec.ts +127 -0
- package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
- package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
|
@@ -110,9 +110,6 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
110
110
|
};
|
|
111
111
|
},
|
|
112
112
|
computed: {
|
|
113
|
-
value: function value() {
|
|
114
|
-
return this.modelValue;
|
|
115
|
-
},
|
|
116
113
|
classes: function classes() {
|
|
117
114
|
return _objectSpread({
|
|
118
115
|
'v-pagination': true,
|
|
@@ -137,20 +134,20 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
137
134
|
var left = Math.floor(maxLength / 2);
|
|
138
135
|
var right = this.length - left + 1 + even;
|
|
139
136
|
|
|
140
|
-
if (this.
|
|
137
|
+
if (this.modelValue > left && this.modelValue < right) {
|
|
141
138
|
var firstItem = 1;
|
|
142
139
|
var lastItem = this.length;
|
|
143
|
-
var start = this.
|
|
144
|
-
var end = this.
|
|
140
|
+
var start = this.modelValue - left + 2;
|
|
141
|
+
var end = this.modelValue + left - 2 - even;
|
|
145
142
|
var secondItem = start - 1 === firstItem + 1 ? 2 : '...';
|
|
146
143
|
var beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...';
|
|
147
144
|
return [1, secondItem].concat(_toConsumableArray(this.range(start, end)), [beforeLastItem, this.length]);
|
|
148
|
-
} else if (this.
|
|
149
|
-
var _end = this.
|
|
145
|
+
} else if (this.modelValue === left) {
|
|
146
|
+
var _end = this.modelValue + left - 1 - even;
|
|
150
147
|
|
|
151
148
|
return [].concat(_toConsumableArray(this.range(1, _end)), ['...', this.length]);
|
|
152
|
-
} else if (this.
|
|
153
|
-
var _start = this.
|
|
149
|
+
} else if (this.modelValue === right) {
|
|
150
|
+
var _start = this.modelValue - left + 1;
|
|
154
151
|
|
|
155
152
|
return [1, '...'].concat(_toConsumableArray(this.range(_start, this.length)));
|
|
156
153
|
} else {
|
|
@@ -173,7 +170,7 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
173
170
|
});
|
|
174
171
|
},
|
|
175
172
|
watch: {
|
|
176
|
-
|
|
173
|
+
modelValue: function modelValue() {
|
|
177
174
|
this.init();
|
|
178
175
|
}
|
|
179
176
|
},
|
|
@@ -189,7 +186,7 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
189
186
|
this.$nextTick(this.onResize); // TODO: Change this (f75dee3a, cbdf7caa)
|
|
190
187
|
|
|
191
188
|
setTimeout(function () {
|
|
192
|
-
return _this2.selected = _this2.
|
|
189
|
+
return _this2.selected = _this2.modelValue;
|
|
193
190
|
}, 100);
|
|
194
191
|
},
|
|
195
192
|
onResize: function onResize() {
|
|
@@ -198,12 +195,12 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
198
195
|
},
|
|
199
196
|
next: function next(e) {
|
|
200
197
|
e.preventDefault();
|
|
201
|
-
this.$emit('update:modelValue', this.
|
|
198
|
+
this.$emit('update:modelValue', this.modelValue + 1);
|
|
202
199
|
this.$emit('next');
|
|
203
200
|
},
|
|
204
201
|
previous: function previous(e) {
|
|
205
202
|
e.preventDefault();
|
|
206
|
-
this.$emit('update:modelValue', this.
|
|
203
|
+
this.$emit('update:modelValue', this.modelValue - 1);
|
|
207
204
|
this.$emit('previous');
|
|
208
205
|
},
|
|
209
206
|
range: function range(from, to) {
|
|
@@ -235,12 +232,12 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
235
232
|
genItem: function genItem(h, i) {
|
|
236
233
|
var _this3 = this;
|
|
237
234
|
|
|
238
|
-
var color = i === this.
|
|
239
|
-
var isCurrentPage = i === this.
|
|
235
|
+
var color = i === this.modelValue && (this.color || 'primary');
|
|
236
|
+
var isCurrentPage = i === this.modelValue;
|
|
240
237
|
var ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel;
|
|
241
238
|
return h('button', this.setBackgroundColor(color, {
|
|
242
239
|
class: ['v-pagination__item', {
|
|
243
|
-
'v-pagination__item--active': i === this.
|
|
240
|
+
'v-pagination__item--active': i === this.modelValue
|
|
244
241
|
}],
|
|
245
242
|
type: 'button',
|
|
246
243
|
'aria-current': isCurrentPage,
|
|
@@ -270,7 +267,7 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
|
|
|
270
267
|
}
|
|
271
268
|
},
|
|
272
269
|
render: function render() {
|
|
273
|
-
var children = [this.genIcon(_vue.h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.
|
|
270
|
+
var children = [this.genIcon(_vue.h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.modelValue <= 1, this.previous, this.$vuetify.lang.t(this.previousAriaLabel)), this.genItems(_vue.h), this.genIcon(_vue.h, this.$vuetify.rtl ? this.prevIcon : this.nextIcon, this.modelValue >= this.length, this.next, this.$vuetify.lang.t(this.nextAriaLabel))];
|
|
274
271
|
return (0, _vue.h)('nav', {
|
|
275
272
|
role: 'navigation',
|
|
276
273
|
'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\nimport './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport type { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n navigationColor: String,\n navigationTextColor: String,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n emits: ['update:modelValue', 'next', 'previous'],\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n value () {\n return this.modelValue\n },\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0 || isNaN(this.length) || this.length > Number.MAX_SAFE_INTEGER) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const firstItem = 1\n const lastItem = this.length\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...'\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...'\n\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.onResize()\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('update:modelValue', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('update:modelValue', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button',\n this.setBackgroundColor(this.navigationColor, {\n class: ['v-pagination__navigation', {\n 'v-pagination__navigation--disabled': disabled,\n }],\n disabled,\n type: 'button',\n 'aria-label': label,\n ...(disabled ? {} : { onClick: fn }),\n }),\n [h(VIcon, { color: this.navigationTextColor }, () => [icon])]\n ),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n class: ['v-pagination__item', {\n 'v-pagination__item--active': i === this.value,\n }],\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n onClick: () => this.$emit('update:modelValue', i),\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return withDirectives(h('ul', {\n class: this.classes,\n }, children), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true },\n ],\n ])\n },\n },\n\n render (): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel),\n ),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel),\n ),\n ]\n\n return h('nav', {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n }, [this.genList(h, children)])\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\nimport './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport type { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n navigationColor: String,\n navigationTextColor: String,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n emits: ['update:modelValue', 'next', 'previous'],\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0 || isNaN(this.length) || this.length > Number.MAX_SAFE_INTEGER) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.modelValue > left && this.modelValue < right) {\n const firstItem = 1\n const lastItem = this.length\n const start = this.modelValue - left + 2\n const end = this.modelValue + left - 2 - even\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...'\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...'\n\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length]\n } else if (this.modelValue === left) {\n const end = this.modelValue + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.modelValue === right) {\n const start = this.modelValue - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n modelValue () {\n this.init()\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.onResize()\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.modelValue), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('update:modelValue', this.modelValue + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('update:modelValue', this.modelValue - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button',\n this.setBackgroundColor(this.navigationColor, {\n class: ['v-pagination__navigation', {\n 'v-pagination__navigation--disabled': disabled,\n }],\n disabled,\n type: 'button',\n 'aria-label': label,\n ...(disabled ? {} : { onClick: fn }),\n }),\n [h(VIcon, { color: this.navigationTextColor }, () => [icon])]\n ),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.modelValue) && (this.color || 'primary')\n const isCurrentPage = i === this.modelValue\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n class: ['v-pagination__item', {\n 'v-pagination__item--active': i === this.modelValue,\n }],\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n onClick: () => this.$emit('update:modelValue', i),\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return withDirectives(h('ul', {\n class: this.classes,\n }, children), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true },\n ],\n ])\n },\n },\n\n render (): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.modelValue <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel),\n ),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.modelValue >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel),\n ),\n ]\n\n return h('nav', {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n }, [this.genList(h, children)])\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
|
|
@@ -11,6 +11,8 @@ var _VSlider = _interopRequireDefault(require("../VSlider"));
|
|
|
11
11
|
|
|
12
12
|
var _helpers = require("../../util/helpers");
|
|
13
13
|
|
|
14
|
+
var _console = require("../../util/console");
|
|
15
|
+
|
|
14
16
|
var _vue = require("vue");
|
|
15
17
|
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -19,14 +21,22 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
|
|
|
19
21
|
|
|
20
22
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
23
|
|
|
22
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
-
|
|
24
24
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
25
25
|
|
|
26
26
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
27
27
|
|
|
28
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
29
|
+
|
|
30
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
31
|
+
|
|
32
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
|
+
|
|
28
34
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
29
35
|
|
|
36
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
37
|
+
|
|
38
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
39
|
+
|
|
30
40
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
31
41
|
|
|
32
42
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -38,17 +48,18 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
38
48
|
name: 'v-range-slider',
|
|
39
49
|
extends: _VSlider.default,
|
|
40
50
|
props: {
|
|
41
|
-
|
|
51
|
+
modelValue: {
|
|
42
52
|
type: Array,
|
|
43
53
|
default: function _default() {
|
|
44
54
|
return [0, 0];
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
57
|
},
|
|
58
|
+
emits: ['update:modelValue', 'focus', 'blur', 'start', 'change'],
|
|
48
59
|
data: function data() {
|
|
49
60
|
return {
|
|
50
61
|
activeThumb: null,
|
|
51
|
-
lazyValue: this.
|
|
62
|
+
lazyValue: this.modelValue
|
|
52
63
|
};
|
|
53
64
|
},
|
|
54
65
|
computed: {
|
|
@@ -83,7 +94,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
this.lazyValue = value;
|
|
86
|
-
if (!(0, _helpers.deepEqual)(value, this.
|
|
97
|
+
if (!(0, _helpers.deepEqual)(value, this.modelValue)) this.$emit('update:modelValue', value);
|
|
87
98
|
this.validate();
|
|
88
99
|
}
|
|
89
100
|
},
|
|
@@ -95,9 +106,23 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
95
106
|
});
|
|
96
107
|
}
|
|
97
108
|
},
|
|
109
|
+
created: function created() {
|
|
110
|
+
var _this3 = this;
|
|
111
|
+
|
|
112
|
+
var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
113
|
+
/* istanbul ignore next */
|
|
114
|
+
|
|
115
|
+
breakingProps.forEach(function (_ref) {
|
|
116
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
117
|
+
original = _ref2[0],
|
|
118
|
+
replacement = _ref2[1];
|
|
119
|
+
|
|
120
|
+
if (_this3.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this3);
|
|
121
|
+
});
|
|
122
|
+
},
|
|
98
123
|
methods: {
|
|
99
124
|
getTrackStyle: function getTrackStyle(startLength, endLength) {
|
|
100
|
-
var
|
|
125
|
+
var _ref3;
|
|
101
126
|
|
|
102
127
|
var startPadding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
103
128
|
var endPadding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
@@ -105,28 +130,28 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
105
130
|
var endDir = this.vertical ? 'height' : 'width';
|
|
106
131
|
var start = "calc(".concat(startLength, "% + ").concat(startPadding, "px)");
|
|
107
132
|
var end = "calc(".concat(endLength, "% + ").concat(endPadding, "px)");
|
|
108
|
-
return
|
|
133
|
+
return _ref3 = {
|
|
109
134
|
transition: this.trackTransition
|
|
110
|
-
}, _defineProperty(
|
|
135
|
+
}, _defineProperty(_ref3, startDir, start), _defineProperty(_ref3, endDir, end), _ref3;
|
|
111
136
|
},
|
|
112
137
|
getIndexOfClosestValue: function getIndexOfClosestValue(arr, v) {
|
|
113
138
|
if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0;else return 1;
|
|
114
139
|
},
|
|
115
140
|
genInput: function genInput() {
|
|
116
|
-
var
|
|
141
|
+
var _this4 = this;
|
|
117
142
|
|
|
118
143
|
return (0, _helpers.createRange)(2).map(function (i) {
|
|
119
|
-
var input = _VSlider.default.methods.genInput.call(
|
|
144
|
+
var input = _VSlider.default.methods.genInput.call(_this4);
|
|
120
145
|
|
|
121
146
|
input.data = input.data || {};
|
|
122
147
|
input.data.attrs = input.data.attrs || {};
|
|
123
|
-
input.data.attrs.value =
|
|
124
|
-
input.data.attrs.id = "input-".concat(i ? 'max' : 'min', "-").concat(
|
|
148
|
+
input.data.attrs.value = _this4.internalValue[i];
|
|
149
|
+
input.data.attrs.id = "input-".concat(i ? 'max' : 'min', "-").concat(_this4.$.uid);
|
|
125
150
|
return input;
|
|
126
151
|
});
|
|
127
152
|
},
|
|
128
153
|
genTrackContainer: function genTrackContainer() {
|
|
129
|
-
var
|
|
154
|
+
var _this5 = this;
|
|
130
155
|
|
|
131
156
|
var children = [];
|
|
132
157
|
var padding = this.isDisabled ? 10 : 0;
|
|
@@ -145,40 +170,40 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
145
170
|
}];
|
|
146
171
|
if (this.$vuetify.rtl) sections.reverse();
|
|
147
172
|
children.push.apply(children, _toConsumableArray(sections.map(function (section) {
|
|
148
|
-
return h('div',
|
|
173
|
+
return (0, _vue.h)('div', _this5.setBackgroundColor(section.color, {
|
|
149
174
|
class: section.class,
|
|
150
|
-
style:
|
|
175
|
+
style: _this5.getTrackStyle.apply(_this5, _toConsumableArray(section.styles))
|
|
151
176
|
}));
|
|
152
177
|
})));
|
|
153
|
-
return h('div', {
|
|
178
|
+
return (0, _vue.h)('div', {
|
|
154
179
|
class: 'v-slider__track-container',
|
|
155
180
|
ref: 'track'
|
|
156
181
|
}, children);
|
|
157
182
|
},
|
|
158
183
|
genChildren: function genChildren() {
|
|
159
|
-
var
|
|
184
|
+
var _this6 = this;
|
|
160
185
|
|
|
161
186
|
return [this.genInput(), this.genTrackContainer(), this.genSteps(), (0, _helpers.createRange)(2).map(function (index) {
|
|
162
|
-
var value =
|
|
187
|
+
var value = _this6.internalValue[index];
|
|
163
188
|
|
|
164
189
|
var onFocus = function onFocus(e) {
|
|
165
|
-
|
|
166
|
-
|
|
190
|
+
_this6.isFocused = true;
|
|
191
|
+
_this6.activeThumb = index;
|
|
167
192
|
|
|
168
|
-
|
|
193
|
+
_this6.$emit('focus', e);
|
|
169
194
|
};
|
|
170
195
|
|
|
171
196
|
var onBlur = function onBlur(e) {
|
|
172
|
-
|
|
173
|
-
|
|
197
|
+
_this6.isFocused = false;
|
|
198
|
+
_this6.activeThumb = null;
|
|
174
199
|
|
|
175
|
-
|
|
200
|
+
_this6.$emit('blur', e);
|
|
176
201
|
};
|
|
177
202
|
|
|
178
|
-
var valueWidth =
|
|
179
|
-
var isActive =
|
|
180
|
-
var isFocused =
|
|
181
|
-
return
|
|
203
|
+
var valueWidth = _this6.inputWidth[index];
|
|
204
|
+
var isActive = _this6.isActive && _this6.activeThumb === index;
|
|
205
|
+
var isFocused = _this6.isFocused && _this6.activeThumb === index;
|
|
206
|
+
return _this6.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, "thumb_".concat(index));
|
|
182
207
|
})];
|
|
183
208
|
},
|
|
184
209
|
reevaluateSelected: function reevaluateSelected(value) {
|
|
@@ -188,7 +213,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
188
213
|
thumbRef.focus();
|
|
189
214
|
},
|
|
190
215
|
onSliderMouseDown: function onSliderMouseDown(e) {
|
|
191
|
-
var
|
|
216
|
+
var _this7 = this;
|
|
192
217
|
|
|
193
218
|
var _a;
|
|
194
219
|
|
|
@@ -206,7 +231,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
206
231
|
this.startOffset = 0;
|
|
207
232
|
window.clearTimeout(this.mouseTimeout);
|
|
208
233
|
this.mouseTimeout = window.setTimeout(function () {
|
|
209
|
-
|
|
234
|
+
_this7.thumbPressed = true;
|
|
210
235
|
}, 300);
|
|
211
236
|
}
|
|
212
237
|
|
|
@@ -257,10 +282,10 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
257
282
|
this.$emit('change', this.internalValue);
|
|
258
283
|
},
|
|
259
284
|
setInternalValue: function setInternalValue(value) {
|
|
260
|
-
var
|
|
285
|
+
var _this8 = this;
|
|
261
286
|
|
|
262
287
|
this.internalValue = this.internalValue.map(function (v, i) {
|
|
263
|
-
if (i ===
|
|
288
|
+
if (i === _this8.activeThumb) return value;else return Number(v);
|
|
264
289
|
});
|
|
265
290
|
}
|
|
266
291
|
}
|
|
@@ -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;;AAMA;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;gBACe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,gBADuB;AAE7B,EAAA,OAAO,EAAE,gBAFoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,KADI;AAEV,MAAA,OAAO,EAAE;AAAA,eAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;AAAA;AAFC;AADP,GAJsB;AAW7B,EAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,OAAtB,EAA+B,MAA/B,EAAuC,OAAvC,EAAgD,QAAhD,CAXsB;AAa7B,EAAA,IAb6B,kBAazB;AACF,WAAO;AACL,MAAA,WAAW,EAAE,IADR;AAEL,MAAA,SAAS,EAAE,KAAK;AAFX,KAAP;AAID,GAlB4B;AAoB7B,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,UAAtB,CAAL,EAAwC,KAAK,KAAL,CAAW,mBAAX,EAAgC,KAAhC;AAExC,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,GApBmB;AA4D7B,EAAA,OA5D6B,qBA4DtB;AAAA;;AACL,QAAM,aAAa,GAAG,CACpB,CAAC,OAAD,EAAU,YAAV,CADoB,EAEpB,CAAC,SAAD,EAAY,qBAAZ,CAFoB,CAAtB;AAKA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,gBAA4B;AAAA;AAAA,UAA1B,QAA0B;AAAA,UAAhB,WAAgB;;AAChD,UAAI,MAAI,CAAC,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,uBAAS,QAAT,EAAmB,WAAnB,EAAgC,MAAhC;AAC3C,KAFD;AAGD,GAtE4B;AAwE7B,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,gCAEG,QAFH,EAEc,KAFd,0BAGG,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,YAAE,KAAF,EAAS,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,CAAT,CAAJ;AAAA,OAApB,CAAT,EAAR;AAKA,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE,2BADO;AAEd,QAAA,GAAG,EAAE;AAFS,OAAT,EAGJ,QAHI,CAAP;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;AAxEoB,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'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-range-slider',\n extends: VSlider,\n\n props: {\n modelValue: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n emits: ['update:modelValue', 'focus', 'blur', 'start', 'change'],\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.modelValue,\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.modelValue)) this.$emit('update:modelValue', 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 created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\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"}
|
|
@@ -34,7 +34,7 @@ var _default = (0, _mixins.default)(_themeable.default
|
|
|
34
34
|
return (0, _vue.h)('div', _objectSpread(_objectSpread({}, this.$attrs), {}, {
|
|
35
35
|
class: ['v-subheader', _objectSpread({
|
|
36
36
|
'v-subheader--inset': this.inset
|
|
37
|
-
}, this.themeClasses)
|
|
37
|
+
}, this.themeClasses)]
|
|
38
38
|
}, this.$listeners), (0, _helpers.getSlot)(this));
|
|
39
39
|
}
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;;;;;;;;;eAKe,qBACb;AACA;AAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;AAOP,EAAA,MAPO,oBAOD;AACJ,WAAO,YAAE,KAAF,kCACF,KAAK,MADH;AAEL,MAAA,KAAK,EAAE,CAAC,aAAD;AACL,8BAAsB,KAAK;AADtB,SAEF,KAAK,YAFH
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;;;;;;;;;eAKe,qBACb;AACA;AAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;AAOP,EAAA,MAPO,oBAOD;AACJ,WAAO,YAAE,KAAF,kCACF,KAAK,MADH;AAEL,MAAA,KAAK,EAAE,CAAC,aAAD;AACL,8BAAsB,KAAK;AADtB,SAEF,KAAK,YAFH;AAFF,OAMF,KAAK,UANH,GAOJ,sBAAQ,IAAR,CAPI,CAAP;AAQD;AAhBM,CAHM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (): VNode {\n return h('div', {\n ...this.$attrs,\n class: ['v-subheader', {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n }],\n ...this.$listeners\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VSubheader.js"}
|
|
@@ -21,6 +21,8 @@ var _helpers = require("../../util/helpers");
|
|
|
21
21
|
|
|
22
22
|
var _mixins = _interopRequireDefault(require("../../util/mixins"));
|
|
23
23
|
|
|
24
|
+
var _console = require("../../util/console");
|
|
25
|
+
|
|
24
26
|
var _filterTreeItems = require("./util/filterTreeItems");
|
|
25
27
|
|
|
26
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -29,6 +31,8 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
29
31
|
|
|
30
32
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
33
|
|
|
34
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
35
|
+
|
|
32
36
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
33
37
|
|
|
34
38
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -37,8 +41,6 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
37
41
|
|
|
38
42
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
39
43
|
|
|
40
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
41
|
-
|
|
42
44
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
43
45
|
|
|
44
46
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -83,6 +85,12 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
83
85
|
return [];
|
|
84
86
|
}
|
|
85
87
|
},
|
|
88
|
+
modelValue: {
|
|
89
|
+
type: Array,
|
|
90
|
+
default: function _default() {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
},
|
|
86
94
|
multipleActive: Boolean,
|
|
87
95
|
open: {
|
|
88
96
|
type: Array,
|
|
@@ -96,13 +104,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
96
104
|
default: false // TODO: Should be true in next major
|
|
97
105
|
|
|
98
106
|
},
|
|
99
|
-
search: String
|
|
100
|
-
value: {
|
|
101
|
-
type: Array,
|
|
102
|
-
default: function _default() {
|
|
103
|
-
return [];
|
|
104
|
-
}
|
|
105
|
-
}
|
|
107
|
+
search: String
|
|
106
108
|
}, _VTreeviewNode.VTreeviewNodeProps),
|
|
107
109
|
data: function data() {
|
|
108
110
|
return {
|
|
@@ -159,8 +161,8 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
159
161
|
active: function active(value) {
|
|
160
162
|
this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive);
|
|
161
163
|
},
|
|
162
|
-
|
|
163
|
-
this.handleNodeCacheWatcher(
|
|
164
|
+
modelValue: function modelValue(value) {
|
|
165
|
+
this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected);
|
|
164
166
|
},
|
|
165
167
|
open: function open(value) {
|
|
166
168
|
this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen);
|
|
@@ -169,13 +171,24 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
169
171
|
created: function created() {
|
|
170
172
|
var _this2 = this;
|
|
171
173
|
|
|
174
|
+
var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
|
|
175
|
+
/* istanbul ignore next */
|
|
176
|
+
|
|
177
|
+
breakingProps.forEach(function (_ref) {
|
|
178
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
179
|
+
original = _ref2[0],
|
|
180
|
+
replacement = _ref2[1];
|
|
181
|
+
|
|
182
|
+
if (_this2.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this2);
|
|
183
|
+
});
|
|
184
|
+
|
|
172
185
|
var getValue = function getValue(key) {
|
|
173
186
|
return _this2.returnObject ? (0, _helpers.getObjectValueByPath)(key, _this2.itemKey) : key;
|
|
174
187
|
};
|
|
175
188
|
|
|
176
189
|
this.buildTree(this.items);
|
|
177
190
|
|
|
178
|
-
var _iterator = _createForOfIteratorHelper(this.
|
|
191
|
+
var _iterator = _createForOfIteratorHelper(this.modelValue.map(getValue)),
|
|
179
192
|
_step;
|
|
180
193
|
|
|
181
194
|
try {
|
|
@@ -313,7 +326,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
313
326
|
this.emitNodeCache('update:open', this.openCache);
|
|
314
327
|
},
|
|
315
328
|
emitSelected: function emitSelected() {
|
|
316
|
-
this.emitNodeCache('
|
|
329
|
+
this.emitNodeCache('update:modelValue', this.selectedCache);
|
|
317
330
|
},
|
|
318
331
|
emitActive: function emitActive() {
|
|
319
332
|
this.emitNodeCache('update:active', this.activeCache);
|