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.
Files changed (81) hide show
  1. package/dist/json/attributes.json +7 -7
  2. package/dist/json/web-types.json +12 -12
  3. package/dist/vuetify.css +3 -0
  4. package/dist/vuetify.css.map +1 -1
  5. package/dist/vuetify.js +88 -34
  6. package/dist/vuetify.js.map +1 -1
  7. package/dist/vuetify.min.css +2 -2
  8. package/dist/vuetify.min.js +2 -2
  9. package/es5/components/VCalendar/VCalendarCategory.js +8 -6
  10. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  11. package/es5/components/VCombobox/VCombobox.js +7 -1
  12. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  13. package/es5/components/VData/VData.js +1 -1
  14. package/es5/components/VData/VData.js.map +1 -1
  15. package/es5/components/VFileInput/VFileInput.js +1 -1
  16. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  17. package/es5/components/VLazy/VLazy.js +3 -8
  18. package/es5/components/VLazy/VLazy.js.map +1 -1
  19. package/es5/components/VList/VListItem.js +1 -1
  20. package/es5/components/VList/VListItem.js.map +1 -1
  21. package/es5/components/VRating/VRating.js +0 -1
  22. package/es5/components/VRating/VRating.js.map +1 -1
  23. package/es5/components/VSelect/VSelect.js +19 -10
  24. package/es5/components/VSelect/VSelect.js.map +1 -1
  25. package/es5/components/VTextField/VTextField.js +8 -2
  26. package/es5/components/VTextField/VTextField.js.map +1 -1
  27. package/es5/framework.js +1 -1
  28. package/es5/locale/sk.js +1 -1
  29. package/es5/locale/sk.js.map +1 -1
  30. package/es5/services/theme/utils.js +10 -10
  31. package/es5/services/theme/utils.js.map +1 -1
  32. package/es5/util/dom.js +33 -0
  33. package/es5/util/dom.js.map +1 -0
  34. package/lib/components/VCalendar/VCalendarCategory.js +7 -5
  35. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  36. package/lib/components/VCombobox/VCombobox.js +6 -1
  37. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  38. package/lib/components/VData/VData.js +1 -1
  39. package/lib/components/VData/VData.js.map +1 -1
  40. package/lib/components/VFileInput/VFileInput.js +1 -1
  41. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  42. package/lib/components/VLazy/VLazy.js +3 -8
  43. package/lib/components/VLazy/VLazy.js.map +1 -1
  44. package/lib/components/VList/VListItem.js +1 -1
  45. package/lib/components/VList/VListItem.js.map +1 -1
  46. package/lib/components/VRating/VRating.js +0 -1
  47. package/lib/components/VRating/VRating.js.map +1 -1
  48. package/lib/components/VSelect/VSelect.js +9 -2
  49. package/lib/components/VSelect/VSelect.js.map +1 -1
  50. package/lib/components/VTextField/VTextField.js +7 -2
  51. package/lib/components/VTextField/VTextField.js.map +1 -1
  52. package/lib/framework.js +1 -1
  53. package/lib/locale/sk.js +1 -1
  54. package/lib/locale/sk.js.map +1 -1
  55. package/lib/util/dom.js +24 -0
  56. package/lib/util/dom.js.map +1 -0
  57. package/package.json +2 -2
  58. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +3 -1
  59. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +3 -0
  60. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +1 -0
  61. package/src/components/VCalendar/VCalendarCategory.ts +7 -5
  62. package/src/components/VCombobox/VCombobox.ts +10 -0
  63. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +1 -1
  64. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +1 -0
  65. package/src/components/VData/VData.ts +1 -1
  66. package/src/components/VDataTable/VDataTableHeader.sass +2 -0
  67. package/src/components/VFileInput/VFileInput.ts +1 -1
  68. package/src/components/VLazy/VLazy.ts +6 -11
  69. package/src/components/VList/VListItem.ts +1 -1
  70. package/src/components/VList/__tests__/VListItem.spec.ts +1 -1
  71. package/src/components/VRating/VRating.ts +0 -1
  72. package/src/components/VSelect/VSelect.ts +13 -4
  73. package/src/components/VSelect/__tests__/VSelect.spec.ts +67 -0
  74. package/src/components/VSelect/__tests__/VSelect2.spec.ts +26 -0
  75. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
  76. package/src/components/VTextField/VTextField.ts +9 -4
  77. package/src/components/VTextField/__tests__/VTextField.spec.ts +15 -4
  78. package/src/locale/sk.ts +1 -1
  79. package/src/util/__tests__/dom.spec.ts +42 -0
  80. package/src/util/dom.ts +24 -0
  81. package/types/services/icons.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/theme/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record<string, VuetifyThemeItem>,\n isItem = false,\n variations = true,\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (!variations) {\n parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record<string, string> {\n const values: Record<string, string> = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n"],"sourceRoot":"","file":"utils.js"}
1
+ {"version":3,"sources":["../../../src/services/theme/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record<string, VuetifyThemeItem>,\n isItem = false,\n variations = true,\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (!variations) {\n parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record<string, string> {\n const values: Record<string, string> = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n"],"sourceRoot":"","file":"utils.js"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.attachedRoot = attachedRoot;
7
+
8
+ /**
9
+ * Returns:
10
+ * - 'null' if the node is not attached to the DOM
11
+ * - the root node (HTMLDocument | ShadowRoot) otherwise
12
+ */
13
+ function attachedRoot(node) {
14
+ /* istanbul ignore next */
15
+ if (typeof node.getRootNode !== 'function') {
16
+ // Shadow DOM not supported (IE11), lets find the root of this node
17
+ while (node.parentNode) {
18
+ node = node.parentNode;
19
+ } // The root parent is the document if the node is attached to the DOM
20
+
21
+
22
+ if (node !== document) return null;
23
+ return document;
24
+ }
25
+
26
+ var root = node.getRootNode(); // The composed root node is the document if the node is attached to the DOM
27
+
28
+ if (root !== document && root.getRootNode({
29
+ composed: true
30
+ }) !== document) return null;
31
+ return root;
32
+ }
33
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/dom.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKM,SAAU,YAAV,CAAwB,IAAxB,EAAkC;AACtC;AACA,MAAI,OAAO,IAAI,CAAC,WAAZ,KAA4B,UAAhC,EAA4C;AAC1C;AACA,WAAO,IAAI,CAAC,UAAZ;AAAwB,MAAA,IAAI,GAAG,IAAI,CAAC,UAAZ;AAAxB,KAF0C,CAI1C;;;AACA,QAAI,IAAI,KAAK,QAAb,EAAuB,OAAO,IAAP;AAEvB,WAAO,QAAP;AACD;;AAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAL,EAAb,CAZsC,CActC;;AACA,MAAI,IAAI,KAAK,QAAT,IAAqB,IAAI,CAAC,WAAL,CAAiB;AAAE,IAAA,QAAQ,EAAE;AAAZ,GAAjB,MAAyC,QAAlE,EAA4E,OAAO,IAAP;AAE5E,SAAO,IAAP;AACD","sourcesContent":["/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n"],"sourceRoot":"","file":"dom.js"}
@@ -64,11 +64,13 @@ export default VCalendarDaily.extend({
64
64
  },
65
65
 
66
66
  genDays() {
67
- const d = this.days[0];
68
- let days = this.days.slice();
69
- days = new Array(this.parsedCategories.length);
70
- days.fill(d);
71
- return days.map((v, i) => this.genDay(v, 0, i));
67
+ const days = [];
68
+ this.days.forEach(d => {
69
+ const day = new Array(this.parsedCategories.length);
70
+ day.fill(d);
71
+ days.push(...day.map((v, i) => this.genDay(v, 0, i)));
72
+ });
73
+ return days;
72
74
  },
73
75
 
74
76
  genDay(day, index, categoryIndex) {
@@ -1 +1 @@
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 d = this.days[0]\n let days = this.days.slice()\n days = new Array(this.parsedCategories.length)\n days.fill(d)\n return days.map((v, i) => this.genDay(v, 0, i))\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"}
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"}
@@ -133,7 +133,12 @@ export default VAutocomplete.extend({
133
133
  if (this.editingIndex > -1) {
134
134
  this.updateEditing();
135
135
  } else {
136
- VAutocomplete.options.methods.selectItem.call(this, item);
136
+ VAutocomplete.options.methods.selectItem.call(this, item); // if selected item contains search value,
137
+ // remove the search string
138
+
139
+ if (this.internalSearch && this.multiple && this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())) {
140
+ this.internalSearch = null;
141
+ }
137
142
  }
138
143
  },
139
144
 
@@ -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"}
@@ -409,7 +409,7 @@ export default Vue.extend({
409
409
  // Make sure we don't try to display non-existant page if items suddenly change
410
410
  // TODO: Could possibly move this to pageStart/pageStop?
411
411
  if (this.serverItemsLength === -1 && items.length <= this.pageStart) {
412
- this.internalOptions.page = Math.max(1, this.internalOptions.page - 1);
412
+ this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage));
413
413
  }
414
414
 
415
415
  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"}
@@ -108,7 +108,7 @@ export default VTextField.extend({
108
108
  },
109
109
 
110
110
  text() {
111
- if (!this.isDirty) return [this.placeholder];
111
+ if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder];
112
112
  return this.internalArrayValue.map(file => {
113
113
  const {
114
114
  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"}
@@ -40,17 +40,12 @@ export default mixins(Measurable, Toggleable).extend({
40
40
  },
41
41
  methods: {
42
42
  genContent() {
43
- const slot = getSlot(this);
44
- /* istanbul ignore if */
45
-
46
- if (!this.transition) return slot;
47
- const children = [];
48
- if (this.isActive) children.push(slot);
49
- return this.$createElement('transition', {
43
+ const children = this.isActive && getSlot(this);
44
+ return this.transition ? this.$createElement('transition', {
50
45
  props: {
51
46
  name: this.transition
52
47
  }
53
- }, children);
48
+ }, children) : children;
54
49
  },
55
50
 
56
51
  onObserve(entries, observer, isIntersecting) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,4BAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAMA,eAAe,MAAM,CACnB,UADmB,EAEnB,UAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAHL;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,SADQ;AAEd,QAAA,UAAU,EAAE,SAFE;AAGd,QAAA,SAAS,EAAE;AAHG,OAAP;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,MAAM,GAAA;AACJ,aAAO,EACL,GAAG,KAAK;AADH,OAAP;AAGD;;AALO,GA1BH;AAkCP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,CAApB;AAEA;;AACA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,YAAM,QAAQ,GAAG,EAAjB;AAEA,UAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,IAAd;AAEnB,aAAO,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACvC,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAE,KAAK;AAAb;AADgC,OAAlC,EAEJ,QAFI,CAAP;AAGD,KAdM;;AAeP,IAAA,SAAS,CACP,OADO,EAEP,QAFO,EAGP,cAHO,EAGgB;AAEvB,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,cAAhB;AACD;;AAvBM,GAlCF;;AA4DP,EAAA,MAAM,CAAE,CAAF,EAAG;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;;AA1EM,CAHM,CAAf","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 slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n const children = []\n\n if (this.isActive) children.push(slot)\n\n return this.$createElement('transition', {\n props: { name: this.transition },\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"}
1
+ {"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,4BAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAMA,eAAe,MAAM,CACnB,UADmB,EAEnB,UAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAHL;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,SADQ;AAEd,QAAA,UAAU,EAAE,SAFE;AAGd,QAAA,SAAS,EAAE;AAHG,OAAP;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,MAAM,GAAA;AACJ,aAAO,EACL,GAAG,KAAK;AADH,OAAP;AAGD;;AALO,GA1BH;AAkCP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,YAAM,QAAQ,GAAG,KAAK,QAAL,IAAiB,OAAO,CAAC,IAAD,CAAzC;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,SAAS,CACP,OADO,EAEP,QAFO,EAGP,cAHO,EAGgB;AAEvB,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,cAAhB;AACD;;AAlBM,GAlCF;;AAuDP,EAAA,MAAM,CAAE,CAAF,EAAG;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,CAAf","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"}
@@ -108,7 +108,7 @@ export default baseMixins.extend().extend({
108
108
  if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided
109
109
  } else if (this.isInNav) {// do nothing, role is inherit
110
110
  } else if (this.isInGroup) {
111
- attrs.role = 'listitem';
111
+ attrs.role = 'option';
112
112
  attrs['aria-selected'] = String(this.isActive);
113
113
  } else if (this.isInMenu) {
114
114
  attrs.role = this.isClickable ? 'menuitem' : undefined;
@@ -1 +1 @@
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 = 'listitem'\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"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,8CAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,SAAS,OAAO,IAAI,iBAApB,QAA6C,yBAA7C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,SAAS,QAAT,QAAyB,sBAAzB;AAEA,SAAS,OAAT,QAAwB,oBAAxB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAIA,MAAM,UAAU,GAAG,MAAM,CACvB,SADuB,EAEvB,QAFuB,EAGvB,SAHuB,EAIvB,gBAAgB,CAAC,eAAD,CAJO,EAKvB,iBAAiB,CAAC,YAAD,CALM,CAAzB;AAgBA;;AACA,eAAe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,aAD2C;AAGjD,EAAA,UAAU,EAAE;AACV,IAAA;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,OAAO,GAAA;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,OAAO;AACX,IAAA,UAAU,EAAE;AADD,GAAP,CAhD2C;AAoDjD,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,uBAAe,IADV;AAEL,WAAG,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFE;AAGL,8BAAsB,KAAK,KAHtB;AAIL,iCAAyB,KAAK,QAJzB;AAKL,6BAAqB,KAAK,WAAL,IAAoB,CAAC,KAAK,QAL1C;AAML,mCAA2B,KAAK,UAN3B;AAOL,mCAA2B,KAAK,SAP3B;AAQL,iCAAyB,KAAK,OARzB;AASL,WAAG,KAAK;AATH,OAAP;AAWD,KAbO;;AAcR,IAAA,WAAW,GAAA;AACT,aAAO,OAAO,CACZ,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAA0B,WAA1B,CAAsC,IAAtC,CAA2C,IAA3C,KACA,KAAK,aAFO,CAAd;AAID;;AAnBO,GApDuC;;AA0EjD,EAAA,OAAO,GAAA;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C;AACxC,MAAA,OAAO,CAAC,QAAD,EAAW,IAAX,CAAP;AACD;AACF,GA/EgD;;AAiFjD,EAAA,OAAO,EAAE;AACP,IAAA,KAAK,CAAE,CAAF,EAA+B;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,QAAQ,GAAA;AACN,YAAM,KAAK,GAAwB;AACjC,yBAAiB,KAAK,QAAL,GAAgB,IAAhB,GAAuB,SADP;AAEjC,QAAA,QAAQ,EAAE,KAAK,WAAL,IAAoB,CAAC,KAAK,QAA1B,GAAqC,CAArC,GAAyC,CAAC,CAFnB;AAGjC,WAAG,KAAK;AAHyB,OAAnC;;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,QAAb;AACA,QAAA,KAAK,CAAC,eAAD,CAAL,GAAyB,MAAM,CAAC,KAAK,QAAN,CAA/B;AACD,OAHM,MAGA,IAAI,KAAK,QAAT,EAAmB;AACxB,QAAA,KAAK,CAAC,IAAN,GAAa,KAAK,WAAL,GAAmB,UAAnB,GAAgC,SAA7C;AACA,QAAA,KAAK,CAAC,EAAN,GAAW,KAAK,CAAC,EAAN,IAAY,aAAa,KAAK,IAAI,EAA7C;AACD,OAHM,MAGA,IAAI,KAAK,QAAT,EAAmB;AACxB,QAAA,KAAK,CAAC,IAAN,GAAa,UAAb;AACD;;AAED,aAAO,KAAP;AACD;;AA9BM,GAjFwC;;AAkHjD,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,QAAI;AAAE,MAAA,GAAF;AAAO,MAAA;AAAP,QAAgB,KAAK,iBAAL,EAApB;AAEA,IAAA,IAAI,CAAC,KAAL,GAAa,EACX,GAAG,IAAI,CAAC,KADG;AAEX,SAAG,KAAK,QAAL;AAFQ,KAAb;AAIA,IAAA,IAAI,CAAC,KAAK,EAAL,GAAU,UAAV,GAAuB,IAAxB,CAAJ,GAAoC,EAClC,GAAG,IAAI,CAAC,KAAK,EAAL,GAAU,UAAV,GAAuB,IAAxB,CAD2B;AAElC,MAAA,OAAO,EAAG,CAAD,IAAqB;AAC5B;AACA,YAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,KAA3B,EAAkC,KAAK,KAAL,CAAW,CAAX;AAElC,aAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AAPiC,KAApC;AAUA,QAAI,KAAK,QAAT,EAAmB,GAAG,GAAG,KAAN;;AACnB,QAAI,KAAK,QAAL,IAAiB,KAAK,EAA1B,EAA8B;AAC5B,MAAA,IAAI,CAAC,EAAL,GAAU,IAAI,CAAC,QAAf;AACA,aAAO,IAAI,CAAC,QAAZ;AACD;;AAED,UAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,OAAlB,GACb,KAAK,YAAL,CAAkB,OAAlB,CAA0B;AAC1B,MAAA,MAAM,EAAE,KAAK,QADa;AAE1B,MAAA,MAAM,EAAE,KAAK;AAFa,KAA1B,CADa,GAKb,KAAK,MAAL,CAAY,OALhB;AAOA,WAAO,CAAC,CAAC,GAAD,EAAM,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B,IAA9B,CAAN,EAA2C,QAA3C,CAAR;AACD;;AAjJgD,CAApC,CAAf","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"}
@@ -207,7 +207,6 @@ export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).ext
207
207
 
208
208
  return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {
209
209
  attrs: {
210
- tabindex: -1,
211
210
  'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length))
212
211
  },
213
212
  directives: this.directives,