vuetify 2.4.4 → 2.4.5
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/json/attributes.json +7 -7
- package/dist/json/web-types.json +12 -12
- package/dist/vuetify.css +3 -0
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +88 -34
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/VCalendarCategory.js +8 -6
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +7 -1
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VData/VData.js +1 -1
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +1 -1
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +3 -8
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VListItem.js +1 -1
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VRating/VRating.js +0 -1
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +19 -10
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +8 -2
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/sk.js +1 -1
- package/es5/locale/sk.js.map +1 -1
- package/es5/services/theme/utils.js +10 -10
- package/es5/services/theme/utils.js.map +1 -1
- package/es5/util/dom.js +33 -0
- package/es5/util/dom.js.map +1 -0
- package/lib/components/VCalendar/VCalendarCategory.js +7 -5
- package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +6 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VData/VData.js +1 -1
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +1 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +3 -8
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VRating/VRating.js +0 -1
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +9 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +7 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/sk.js +1 -1
- package/lib/locale/sk.js.map +1 -1
- package/lib/util/dom.js +24 -0
- package/lib/util/dom.js.map +1 -0
- package/package.json +2 -2
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +3 -1
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +3 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +1 -0
- package/src/components/VCalendar/VCalendarCategory.ts +7 -5
- package/src/components/VCombobox/VCombobox.ts +10 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +1 -1
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +1 -0
- package/src/components/VData/VData.ts +1 -1
- package/src/components/VDataTable/VDataTableHeader.sass +2 -0
- package/src/components/VFileInput/VFileInput.ts +1 -1
- package/src/components/VLazy/VLazy.ts +6 -11
- package/src/components/VList/VListItem.ts +1 -1
- package/src/components/VList/__tests__/VListItem.spec.ts +1 -1
- package/src/components/VRating/VRating.ts +0 -1
- package/src/components/VSelect/VSelect.ts +13 -4
- package/src/components/VSelect/__tests__/VSelect.spec.ts +67 -0
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +26 -0
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
- package/src/components/VTextField/VTextField.ts +9 -4
- package/src/components/VTextField/__tests__/VTextField.spec.ts +15 -4
- package/src/locale/sk.ts +1 -1
- package/src/util/__tests__/dom.spec.ts +42 -0
- package/src/util/dom.ts +24 -0
- package/types/services/icons.d.ts +2 -2
|
@@ -91,13 +91,15 @@ var _default = _VCalendarDaily.default.extend({
|
|
|
91
91
|
genDays: function genDays() {
|
|
92
92
|
var _this3 = this;
|
|
93
93
|
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
var days = [];
|
|
95
|
+
this.days.forEach(function (d) {
|
|
96
|
+
var day = new Array(_this3.parsedCategories.length);
|
|
97
|
+
day.fill(d);
|
|
98
|
+
days.push.apply(days, _toConsumableArray(day.map(function (v, i) {
|
|
99
|
+
return _this3.genDay(v, 0, i);
|
|
100
|
+
})));
|
|
100
101
|
});
|
|
102
|
+
return days;
|
|
101
103
|
},
|
|
102
104
|
genDay: function genDay(day, index, categoryIndex) {
|
|
103
105
|
var _this4 = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCalendar/VCalendarCategory.ts"],"names":[],"mappings":";;;;;;;AACA;;AAMA;;AAGA;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;AAEA;eACe,wBAAe,MAAf,CAAsB;AACnC,EAAA,IAAI,EAAE,qBAD6B;AAGnC,EAAA,KAAK,EAAE,eAAM,QAHsB;AAKnC,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,4BAAoB,IADtB;AAEE,+BAAuB;AAFzB,SAGK,KAAK,YAHV;AAKD,KAPO;AAQR,IAAA,gBARQ,8BAQQ;AACd,aAAO,iCAAoB,KAAK,UAAzB,EAAqC,KAAK,YAA1C,CAAP;AACD;AAVO,GALyB;AAiBnC,EAAA,OAAO,EAAE;AACP,IAAA,YADO,wBACO,GADP,EAC+B,KAD/B,EAC4C;AAAA;;AACjD,UAAM,IAAI,GAAG;AACX,QAAA,WAAW,EAAE;AADF,OAAb;;AAGA,UAAM,KAAK;AACT,QAAA,IAAI,EAAE,KAAK;AADF,SACW,GADX;AACgB,QAAA,KAAK,EAAL;AADhB,QAAX;;AAIA,UAAM,QAAQ,GAAG,KAAK,gBAAL,CAAsB,GAAtB,CAA0B,UAAA,QAAQ,EAAG;AACpD,eAAO,KAAI,CAAC,oBAAL,CAA0B,GAA1B,EAA+B,KAAI,CAAC,gBAAL,CAAsB,KAAtB,EAA6B,QAA7B,CAA/B,CAAP;AACD,OAFgB,CAAjB;AAIA,aAAO,CAAC,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiC,QAAjC,CAAD,CAAP;AACD,KAdM;AAeP,IAAA,gBAfO,4BAeW,KAfX,EAeuB,QAfvB,EAeiD;AACtD,UAAM,GAAG,GAAG,QAAO,QAAP,MAAoB,QAApB,IAAgC,QAAhC,IACR,QAAQ,CAAC,YAAT,KAA0B,KAAK,kBADvB,GAC4C,IAD5C,GACmD,QAD/D;AAEA,+BACK,KADL;AAEE,QAAA,QAAQ,EAAE;AAFZ;AAID,KAtBM;AAuBP,IAAA,oBAvBO,gCAuBe,GAvBf,EAuBuC,KAvBvC,EAuBiD;AAAA;;AACtD,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,oCADmB;AAEhC,QAAA,EAAE,EAAE,KAAK,4BAAL,CAAkC,eAAlC,EAAmD,UAAA,CAAC,EAAG;AACzD,iBAAO,MAAI,CAAC,gBAAL,CAAsB,MAAI,CAAC,YAAL,CAAkB,GAAlB,CAAtB,EAA8C,KAAK,CAAC,QAApD,CAAP;AACD,SAFG;AAF4B,OAA3B,EAKJ,CACD,sBAAQ,IAAR,EAAc,UAAd,EAA0B,KAA1B,KAAoC,KAAK,yBAAL,CAA+B,KAAK,CAAC,QAAN,IAAkB,KAAK,CAAC,QAAN,CAAe,YAAhE,CADnC,EAED,sBAAQ,IAAR,EAAc,YAAd,EAA4B,KAA5B,CAFC,CALI,CAAP;AASD,KAjCM;AAkCP,IAAA,yBAlCO,qCAkCoB,YAlCpB,EAkC+C;AACpD,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,YAAY,KAAK,IAAjB,GAAwB,KAAK,kBAA7B,GAAkD,YAF9C,CAAP;AAGD,KAtCM;AAuCP,IAAA,OAvCO,qBAuCA;AAAA;;AACL,UAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCalendar/VCalendarCategory.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCalendarCategory.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport VCalendarDaily from './VCalendarDaily'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarCategory, CalendarTimestamp } from 'types'\nimport props from './util/props'\nimport { getParsedCategories } from './util/parser'\n\n/* @vue/component */\nexport default VCalendarDaily.extend({\n name: 'v-calendar-category',\n\n props: props.category,\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n 'v-calendar-category': true,\n ...this.themeClasses,\n }\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n methods: {\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n const scope = {\n week: this.days, ...day, index,\n }\n\n const children = this.parsedCategories.map(category => {\n return this.genDayHeaderCategory(day, this.getCategoryScope(scope, category))\n })\n\n return [this.$createElement('div', data, children)]\n },\n getCategoryScope (scope: any, category: CalendarCategory) {\n const cat = typeof category === 'object' && category &&\n category.categoryName === this.categoryForInvalid ? null : category\n return {\n ...scope,\n category: cat,\n }\n },\n genDayHeaderCategory (day: CalendarTimestamp, scope: any): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__column-header',\n on: this.getDefaultMouseEventHandlers(':day-category', e => {\n return this.getCategoryScope(this.getSlotScope(day), scope.category)\n }),\n }, [\n getSlot(this, 'category', scope) || this.genDayHeaderCategoryTitle(scope.category && scope.category.categoryName),\n getSlot(this, 'day-header', scope),\n ])\n },\n genDayHeaderCategoryTitle (categoryName: string | null) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__category',\n }, categoryName === null ? this.categoryForInvalid : categoryName)\n },\n genDays (): VNode[] {\n const days: VNode[] = []\n this.days.forEach(d => {\n const day = new Array(this.parsedCategories.length)\n day.fill(d)\n days.push(...day.map((v, i) => this.genDay(v, 0, i)))\n })\n return days\n },\n genDay (day: CalendarTimestamp, index: number, categoryIndex: number): VNode {\n const category = this.parsedCategories[categoryIndex]\n return this.$createElement('div', {\n key: day.date + '-' + categoryIndex,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index, category),\n ...this.genDayBody(day, category),\n ])\n },\n genDayIntervals (index: number, category: CalendarCategory): VNode[] {\n return this.intervals[index].map(v => this.genDayInterval(v, category))\n },\n genDayInterval (interval: CalendarTimestamp, category: CalendarCategory): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler({ ...interval, category }),\n },\n }\n\n const children = getSlot(this, 'interval', () =>\n this.getCategoryScope(this.getSlotScope(interval), category)\n )\n\n return this.$createElement('div', data, children)\n },\n genDayBody (day: CalendarTimestamp, category: CalendarCategory): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n\n const children = [this.genDayBodyCategory(day, category)]\n\n return [this.$createElement('div', data, children)]\n },\n genDayBodyCategory (day: CalendarTimestamp, category: CalendarCategory): VNode {\n const data = {\n staticClass: 'v-calendar-category__column',\n on: this.getDefaultMouseEventHandlers(':time-category', e => {\n return this.getCategoryScope(this.getSlotScope(this.getTimestampAtEvent(e, day)), category)\n }),\n }\n\n const children = getSlot(this, 'day-body', () => this.getCategoryScope(this.getSlotScope(day), category))\n\n return this.$createElement('div', data, children)\n },\n },\n})\n"],"sourceRoot":"","file":"VCalendarCategory.js"}
|
|
@@ -150,7 +150,13 @@ var _default2 = _VAutocomplete2.default.extend({
|
|
|
150
150
|
if (this.editingIndex > -1) {
|
|
151
151
|
this.updateEditing();
|
|
152
152
|
} else {
|
|
153
|
-
_VAutocomplete2.default.options.methods.selectItem.call(this, item);
|
|
153
|
+
_VAutocomplete2.default.options.methods.selectItem.call(this, item); // if selected item contains search value,
|
|
154
|
+
// remove the search string
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
if (this.internalSearch && this.multiple && this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())) {
|
|
158
|
+
this.internalSearch = null;
|
|
159
|
+
}
|
|
154
160
|
}
|
|
155
161
|
},
|
|
156
162
|
setSelectedItems: function setSelectedItems() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCombobox/VCombobox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n if (!this.autoSelectFirst) return\n\n VAutocomplete.options.methods.onFilteredItemsChanged.call(this, val, oldVal)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value ?? this.internalSearch)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // do nothing\n if (menuIndex < 0 &&\n !this.searchIsDirty\n ) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(this.internalSearch)\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n },\n})\n"],"sourceRoot":"","file":"VCombobox.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCombobox/VCombobox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n if (!this.autoSelectFirst) return\n\n VAutocomplete.options.methods.onFilteredItemsChanged.call(this, val, oldVal)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value ?? this.internalSearch)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // do nothing\n if (menuIndex < 0 &&\n !this.searchIsDirty\n ) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(this.internalSearch)\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n },\n})\n"],"sourceRoot":"","file":"VCombobox.js"}
|
|
@@ -412,7 +412,7 @@ var _default2 = _vue.default.extend({
|
|
|
412
412
|
// Make sure we don't try to display non-existant page if items suddenly change
|
|
413
413
|
// TODO: Could possibly move this to pageStart/pageStop?
|
|
414
414
|
if (this.serverItemsLength === -1 && items.length <= this.pageStart) {
|
|
415
|
-
this.internalOptions.page = Math.max(1, this.internalOptions.
|
|
415
|
+
this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage));
|
|
416
416
|
}
|
|
417
417
|
|
|
418
418
|
return items.slice(this.pageStart, this.pageStop);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy = this.internalOptions.sortBy\n let sortDesc = this.internalOptions.sortDesc\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, this.internalOptions.page - 1)\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy = this.internalOptions.sortBy\n let sortDesc = this.internalOptions.sortDesc\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage))\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
@@ -130,7 +130,7 @@ var _default = _VTextField.default.extend({
|
|
|
130
130
|
text: function text() {
|
|
131
131
|
var _this = this;
|
|
132
132
|
|
|
133
|
-
if (!this.isDirty) return [this.placeholder];
|
|
133
|
+
if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder];
|
|
134
134
|
return this.internalArrayValue.map(function (file) {
|
|
135
135
|
var _file$name = file.name,
|
|
136
136
|
name = _file$name === void 0 ? '' : _file$name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
|
|
@@ -57,17 +57,12 @@ var _default2 = (0, _mixins.default)(_measurable.default, _toggleable.default).e
|
|
|
57
57
|
},
|
|
58
58
|
methods: {
|
|
59
59
|
genContent: function genContent() {
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (!this.transition) return slot;
|
|
64
|
-
var children = [];
|
|
65
|
-
if (this.isActive) children.push(slot);
|
|
66
|
-
return this.$createElement('transition', {
|
|
60
|
+
var children = this.isActive && (0, _helpers.getSlot)(this);
|
|
61
|
+
return this.transition ? this.$createElement('transition', {
|
|
67
62
|
props: {
|
|
68
63
|
name: this.transition
|
|
69
64
|
}
|
|
70
|
-
}, children);
|
|
65
|
+
}, children) : children;
|
|
71
66
|
},
|
|
72
67
|
onObserve: function onObserve(entries, observer, isIntersecting) {
|
|
73
68
|
if (this.isActive) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AAGA;;AACA;;;;;;;;;;gBAMe,qBACb,mBADa,EAEb,mBAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,UAAU,EAAE;AAAE,IAAA,SAAS,EAAT;AAAF,GAHL;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,SADQ;AAEd,UAAA,UAAU,EAAE,SAFE;AAGd,UAAA,SAAS,EAAE;AAHG,SAAP;AAAA;AAJF,KADJ;AAWL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAXA;AAeL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAfP,GALA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,MADQ,oBACF;AACJ,+BACK,KAAK,gBADV;AAGD;AALO,GA1BH;AAkCP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AAGA;;AACA;;;;;;;;;;gBAMe,qBACb,mBADa,EAEb,mBAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,UAAU,EAAE;AAAE,IAAA,SAAS,EAAT;AAAF,GAHL;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,SADQ;AAEd,UAAA,UAAU,EAAE,SAFE;AAGd,UAAA,SAAS,EAAE;AAHG,SAAP;AAAA;AAJF,KADJ;AAWL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAXA;AAeL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAfP,GALA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,MADQ,oBACF;AACJ,+BACK,KAAK,gBADV;AAGD;AALO,GA1BH;AAkCP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAM,QAAQ,GAAG,KAAK,QAAL,IAAiB,sBAAQ,IAAR,CAAlC;AAEA,aAAO,KAAK,UAAL,GACH,KAAK,cAAL,CAAoB,YAApB,EAAkC;AAClC,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAE,KAAK;AAAb;AAD2B,OAAlC,EAEC,QAFD,CADG,GAIH,QAJJ;AAKD,KATM;AAUP,IAAA,SAVO,qBAWL,OAXK,EAYL,QAZK,EAaL,cAbK,EAakB;AAEvB,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,cAAhB;AACD;AAlBM,GAlCF;AAuDP,EAAA,MAvDO,kBAuDC,CAvDD,EAuDE;AACP,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW;AACjB,MAAA,WAAW,EAAE,QADI;AAEjB,MAAA,KAAK,EAAE,KAAK,MAFK;AAGjB,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,IAAI,EAAE,WADK;AAEX,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK,SADT;AAEL,UAAA,OAAO,EAAE,KAAK;AAFT;AAFI,OAAD,CAHK;AAUjB,MAAA,EAAE,EAAE,KAAK,UAVQ;AAWjB,MAAA,KAAK,EAAE,KAAK;AAXK,KAAX,EAYL,CAAC,KAAK,UAAL,EAAD,CAZK,CAAR;AAaD;AArEM,CAHM,C","sourcesContent":["// Mixins\nimport Measurable from '../../mixins/measurable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Measurable,\n Toggleable\n).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n tag: {\n type: String,\n default: 'div',\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n methods: {\n genContent () {\n const children = this.isActive && getSlot(this)\n\n return this.transition\n ? this.$createElement('transition', {\n props: { name: this.transition },\n }, children)\n : children\n },\n onObserve (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n ) {\n if (this.isActive) return\n\n this.isActive = isIntersecting\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-lazy',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }],\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n"],"sourceRoot":"","file":"VLazy.js"}
|
|
@@ -121,7 +121,7 @@ var _default2 = baseMixins.extend().extend({
|
|
|
121
121
|
if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided
|
|
122
122
|
} else if (this.isInNav) {// do nothing, role is inherit
|
|
123
123
|
} else if (this.isInGroup) {
|
|
124
|
-
attrs.role = '
|
|
124
|
+
attrs.role = 'option';
|
|
125
125
|
attrs['aria-selected'] = String(this.isActive);
|
|
126
126
|
} else if (this.isInMenu) {
|
|
127
127
|
attrs.role = this.isClickable ? 'menuitem' : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AAEA;;AAGA;;;;;;;;;;AAIA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,wBAAiB,eAAjB,CAJiB,EAKjB,yBAAkB,YAAlB,CALiB,CAAnB;AAgBA;;gBACe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,aAD2C;AAGjD,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAHqC;AAOjD,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE;AADA,KADL;AAIN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KAJJ;AAON,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KAPJ;AAUN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAVH,GAPyC;AAsBjD,EAAA,YAAY,EAAE,KAtBmC;AAwBjD,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAFW,sBAEJ;AACL,YAAI,CAAC,KAAK,aAAV,EAAyB,OAAO,EAAP;AAEzB,eAAO,KAAK,aAAL,CAAmB,WAA1B;AACD;AANU,KADR;AASL,IAAA,KAAK,EAAE,OATF;AAUL,IAAA,QAAQ,EAAE,OAVL;AAWL,IAAA,IAAI,EAAE,OAXD;AAYL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KAZP;AAeL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAfA;AAmBL,IAAA,SAAS,EAAE,OAnBN;AAoBL,IAAA,OAAO,EAAE,OApBJ;AAqBL,IAAA,KAAK,EAAE;AArBF,GAxB0C;AAgDjD,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAhD2C;AAoDjD,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,uBAAe;AADjB,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,8BAAsB,KAAK,KAH7B;AAIE,iCAAyB,KAAK,QAJhC;AAKE,6BAAqB,KAAK,WAAL,IAAoB,CAAC,KAAK,QALjD;AAME,mCAA2B,KAAK,UANlC;AAOE,mCAA2B,KAAK,SAPlC;AAQE,iCAAyB,KAAK;AARhC,SASK,KAAK,YATV;AAWD,KAbO;AAcR,IAAA,WAdQ,yBAcG;AACT,aAAO,OAAO,CACZ,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,WAA1B,CAAsC,IAAtC,CAA2C,IAA3C,KACA,KAAK,aAFO,CAAd;AAID;AAnBO,GApDuC;AA0EjD,EAAA,OA1EiD,qBA0E1C;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C;AACxC,4BAAQ,QAAR,EAAkB,IAAlB;AACD;AACF,GA/EgD;AAiFjD,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD,KAPM;AAQP,IAAA,QARO,sBAQC;AACN,UAAM,KAAK;AACT,yBAAiB,KAAK,QAAL,GAAgB,IAAhB,GAAuB,SAD/B;AAET,QAAA,QAAQ,EAAE,KAAK,WAAL,IAAoB,CAAC,KAAK,QAA1B,GAAqC,CAArC,GAAyC,CAAC;AAF3C,SAGN,KAAK,MAHC,CAAX;;AAMA,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,MAA3B,CAAJ,EAAwC,CACtC;AACD,OAFD,MAEO,IAAI,KAAK,OAAT,EAAkB,CACvB;AACD,OAFM,MAEA,IAAI,KAAK,SAAT,EAAoB;AACzB,QAAA,KAAK,CAAC,IAAN,GAAa,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
|
|
@@ -224,7 +224,6 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _rip
|
|
|
224
224
|
|
|
225
225
|
return this.$createElement(_VIcon.default, this.setTextColor(this.getColor(props), {
|
|
226
226
|
attrs: {
|
|
227
|
-
tabindex: -1,
|
|
228
227
|
'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length))
|
|
229
228
|
},
|
|
230
229
|
directives: this.directives,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this.$props\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n attrs: {\n tabindex: -1,\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n },\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this.$props\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n },\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|