@dimailn/vuetify 2.7.2-alpha21 → 2.7.2-alpha23

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 (79) hide show
  1. package/dist/vuetify.js +141 -72
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VForm/VForm.js +44 -30
  6. package/es5/components/VForm/VForm.js.map +1 -1
  7. package/es5/components/VOverlay/VOverlay.js +2 -3
  8. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  9. package/es5/components/VProgressCircular/VProgressCircular.js +5 -3
  10. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  11. package/es5/components/VProgressLinear/VProgressLinear.js +41 -19
  12. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  13. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  14. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -16
  15. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  16. package/es5/components/VWindow/VWindow.js +13 -5
  17. package/es5/components/VWindow/VWindow.js.map +1 -1
  18. package/es5/components/VWindow/VWindowItem.js +9 -5
  19. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  20. package/es5/framework.js +1 -1
  21. package/es5/mixins/overlayable/index.js.map +1 -1
  22. package/es5/mixins/validatable/index.js +8 -5
  23. package/es5/mixins/validatable/index.js.map +1 -1
  24. package/lib/components/VForm/VForm.js +40 -26
  25. package/lib/components/VForm/VForm.js.map +1 -1
  26. package/lib/components/VOverlay/VOverlay.js +1 -2
  27. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  28. package/lib/components/VProgressCircular/VProgressCircular.js +5 -3
  29. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  30. package/lib/components/VProgressLinear/VProgressLinear.js +35 -17
  31. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  32. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  33. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -11
  34. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  35. package/lib/components/VWindow/VWindow.js +7 -3
  36. package/lib/components/VWindow/VWindow.js.map +1 -1
  37. package/lib/components/VWindow/VWindowItem.js +3 -1
  38. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  39. package/lib/framework.js +1 -1
  40. package/lib/mixins/overlayable/index.js.map +1 -1
  41. package/lib/mixins/validatable/index.js +8 -4
  42. package/lib/mixins/validatable/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  45. package/src/components/VForm/VForm.ts +61 -35
  46. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  47. package/src/components/VOverlay/VOverlay.ts +1 -1
  48. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  49. package/src/components/VProgressCircular/VProgressCircular.ts +6 -5
  50. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  51. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  52. package/src/components/VProgressLinear/VProgressLinear.ts +42 -22
  53. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  54. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  55. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  56. package/src/components/VTabs/VTabsBar.ts +7 -5
  57. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -13
  58. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +26 -19
  59. package/src/components/VWindow/VWindow.ts +9 -5
  60. package/src/components/VWindow/VWindowItem.ts +3 -1
  61. package/src/components/VWindow/__tests__/VWindow.spec.ts +226 -185
  62. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +162 -132
  63. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  64. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  65. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  66. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  67. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  68. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  69. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  70. package/src/mixins/overlayable/index.ts +1 -1
  71. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  72. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  73. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  74. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  75. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  76. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  77. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  78. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  79. package/src/mixins/validatable/index.ts +16 -18
@@ -52,39 +52,50 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
52
52
  handler: function handler(val) {
53
53
  var errors = Object.values(val).includes(true);
54
54
  this.$emit('input', !errors);
55
+ this.$emit('update:modelValue', !errors);
55
56
  },
56
57
  deep: true,
57
58
  immediate: true
58
59
  }
59
60
  },
60
61
  methods: {
62
+ getInputUid: function getInputUid(input) {
63
+ return input.$.uid;
64
+ },
61
65
  watchInput: function watchInput(input) {
62
66
  var _this = this;
63
67
 
64
- var watcher = function watcher(input) {
65
- return input.$watch('hasError', function (val) {
66
- _this.errorBag[input.$.uid] = val;
67
- }, {
68
- immediate: true
69
- });
68
+ var inputId = this.getInputUid(input);
69
+
70
+ var createErrorWatcher = function createErrorWatcher(inputComponent) {
71
+ if (typeof inputComponent.$watch === 'function') {
72
+ return inputComponent.$watch('hasError', function (hasError) {
73
+ _this.errorBag[inputId] = hasError;
74
+ }, {
75
+ immediate: true
76
+ });
77
+ } else {
78
+ // Fallback для Vue 3
79
+ return function () {};
80
+ }
70
81
  };
71
82
 
72
83
  var watchers = {
73
- _uid: input.$.uid,
84
+ _uid: inputId,
74
85
  valid: function valid() {},
75
86
  shouldValidate: function shouldValidate() {}
76
87
  };
77
88
 
78
89
  if (this.lazyValidation) {
79
- // Only start watching inputs if we need to
80
- watchers.shouldValidate = input.$watch('shouldValidate', function (val) {
81
- if (!val) return; // Only watch if we're not already doing it
82
-
83
- if (_this.errorBag.hasOwnProperty(input.$.uid)) return;
84
- watchers.valid = watcher(input);
85
- });
90
+ if (typeof input.$watch === 'function') {
91
+ watchers.shouldValidate = input.$watch('shouldValidate', function (shouldValidate) {
92
+ if (!shouldValidate) return;
93
+ if (_this.errorBag.hasOwnProperty(inputId)) return;
94
+ watchers.valid = createErrorWatcher(input);
95
+ });
96
+ }
86
97
  } else {
87
- watchers.valid = watcher(input);
98
+ watchers.valid = createErrorWatcher(input);
88
99
  }
89
100
 
90
101
  return watchers;
@@ -127,37 +138,40 @@ var _default = (0, _mixins.default)(_bindsAttrs.default, (0, _registrable.provid
127
138
  this.watchers.push(this.watchInput(input));
128
139
  },
129
140
  unregister: function unregister(input) {
130
- var found = this.inputs.find(function (i) {
131
- return i.$.uid === input.$.uid;
141
+ var _this3 = this;
142
+
143
+ var inputId = this.getInputUid(input);
144
+ var foundInput = this.inputs.find(function (inputComponent) {
145
+ return _this3.getInputUid(inputComponent) === inputId;
132
146
  });
133
- if (!found) return;
134
- var unwatch = this.watchers.find(function (i) {
135
- return i._uid === found.$.uid;
147
+ if (!foundInput) return;
148
+ var inputWatcher = this.watchers.find(function (watcher) {
149
+ return watcher._uid === inputId;
136
150
  });
137
151
 
138
- if (unwatch) {
139
- unwatch.valid();
140
- unwatch.shouldValidate();
152
+ if (inputWatcher) {
153
+ inputWatcher.valid();
154
+ inputWatcher.shouldValidate();
141
155
  }
142
156
 
143
- this.watchers = this.watchers.filter(function (i) {
144
- return i._uid !== found.$.uid;
157
+ this.watchers = this.watchers.filter(function (watcher) {
158
+ return watcher._uid !== inputId;
145
159
  });
146
- this.inputs = this.inputs.filter(function (i) {
147
- return i.$.uid !== found.$.uid;
160
+ this.inputs = this.inputs.filter(function (inputComponent) {
161
+ return _this3.getInputUid(inputComponent) !== inputId;
148
162
  });
149
- delete this.errorBag[found.$.uid];
163
+ delete this.errorBag[inputId];
150
164
  }
151
165
  },
152
166
  render: function render() {
153
- var _this3 = this;
167
+ var _this4 = this;
154
168
 
155
169
  return (0, _vue.h)('form', _objectSpread(_objectSpread({
156
170
  class: 'v-form',
157
171
  novalidate: true
158
172
  }, this.attrs$), {}, {
159
173
  onSubmit: function onSubmit(e) {
160
- return _this3.$emit('submit', e);
174
+ return _this4.$emit('submit', e);
161
175
  }
162
176
  }), (0, _helpers.getSlot)(this));
163
177
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.errorBag[input.$.uid] = val\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input.$.uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input.$.uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i.$.uid === input.$.uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found.$.uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found.$.uid)\n this.inputs = this.inputs.filter(i => i.$.uid !== found.$.uid)\n delete this.errorBag[found.$.uid]\n },\n },\n\n render (): VNode {\n return h('form', {\n class: 'v-form',\n novalidate: true,\n ...this.attrs$,\n onSubmit: (e: Event) => this.$emit('submit', e),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VForm.js"}
1
+ {"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode } from 'vue'\n// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\ninterface VFormContext {\n inputs: VInputInstance[]\n watchers: Watchers[]\n errorBag: ErrorBag\n lazyValidation: boolean\n $emit: (event: string, ...args: any[]) => void\n getInputUid: (input: VInputInstance) => number\n watchInput: (input: VInputInstance) => Watchers\n resetErrorBag: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (this: VFormContext, val: ErrorBag) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n this.$emit('update:modelValue', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n getInputUid (input: VInputInstance): number {\n return input.$.uid\n },\n\n watchInput (this: VFormContext, input: VInputInstance): Watchers {\n const inputId = this.getInputUid(input)\n\n const createErrorWatcher = (inputComponent: VInputInstance): (() => void) => {\n if (typeof inputComponent.$watch === 'function') {\n return inputComponent.$watch('hasError', (hasError: boolean) => {\n this.errorBag[inputId] = hasError\n }, { immediate: true })\n } else {\n // Fallback для Vue 3\n return () => {}\n }\n }\n\n const watchers: Watchers = {\n _uid: inputId,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n if (typeof input.$watch === 'function') {\n watchers.shouldValidate = input.$watch('shouldValidate', (shouldValidate: boolean) => {\n if (!shouldValidate) return\n\n if (this.errorBag.hasOwnProperty(inputId)) return\n\n watchers.valid = createErrorWatcher(input)\n })\n }\n } else {\n watchers.valid = createErrorWatcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (this: VFormContext): boolean {\n return this.inputs.filter((input: VInputInstance) => !input.validate(true)).length === 0\n },\n /** @public */\n reset (this: VFormContext): void {\n this.inputs.forEach((input: VInputInstance) => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag (this: VFormContext) {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation (this: VFormContext) {\n this.inputs.forEach((input: VInputInstance) => input.resetValidation())\n this.resetErrorBag()\n },\n\n register (this: VFormContext, input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n\n unregister (this: VFormContext, input: VInputInstance) {\n const inputId = this.getInputUid(input)\n const foundInput = this.inputs.find((inputComponent: VInputInstance) => this.getInputUid(inputComponent) === inputId)\n\n if (!foundInput) return\n\n const inputWatcher = this.watchers.find((watcher: Watchers) => watcher._uid === inputId)\n if (inputWatcher) {\n inputWatcher.valid()\n inputWatcher.shouldValidate()\n }\n\n this.watchers = this.watchers.filter((watcher: Watchers) => watcher._uid !== inputId)\n this.inputs = this.inputs.filter((inputComponent: VInputInstance) => this.getInputUid(inputComponent) !== inputId)\n\n delete this.errorBag[inputId]\n },\n },\n\n render (): VNode {\n return h('form', {\n class: 'v-form',\n novalidate: true,\n ...this.attrs$,\n onSubmit: (e: Event) => this.$emit('submit', e),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VForm.js"}
@@ -89,11 +89,10 @@ var _default = (0, _mixins.default)(_colorable.default, _themeable.default, _tog
89
89
  render: function render() {
90
90
  var children = [this.__scrim];
91
91
  if (this.isActive) children.push(this.genContent());
92
- return (0, _vue.h)('div', {
93
- on: this.$listeners,
92
+ return (0, _vue.h)('div', _objectSpread(_objectSpread({}, this.$attrs), {}, {
94
93
  class: ['v-overlay', this.classes],
95
94
  style: this.styles
96
- }, children);
95
+ }), children);
97
96
  }
98
97
  });
99
98
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE;AADC,KAdP;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,YAAE,KAAF,EAAS,IAAT,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,sBAAQ,IAAR,CAFI,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,oBA8DD;AACJ,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,YAAE,KAAF,EAAS;AACd,MAAA,EAAE,EAAE,KAAK,UADK;AAEd,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFO;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAT,EAIJ,QAJI,CAAP;AAKD;AAxEM,CAJM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n modelValue: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n on: this.$listeners,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
1
+ {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE;AADC,KAdP;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,YAAE,KAAF,EAAS,IAAT,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,sBAAQ,IAAR,CAFI,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,oBA8DD;AACJ,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,YAAE,KAAF,kCACF,KAAK,MADH;AAEL,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFF;AAGL,MAAA,KAAK,EAAE,KAAK;AAHP,QAIJ,QAJI,CAAP;AAKD;AAxEM,CAJM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n modelValue: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n ...this.$attrs,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
@@ -77,15 +77,17 @@ var _default = (0, _vue.defineComponent)({
77
77
  };
78
78
  },
79
79
  normalizedValue: function normalizedValue() {
80
- if (this.value < 0) {
80
+ var numValue = parseFloat(this.value);
81
+
82
+ if (numValue < 0) {
81
83
  return 0;
82
84
  }
83
85
 
84
- if (this.value > 100) {
86
+ if (numValue > 100) {
85
87
  return 100;
86
88
  }
87
89
 
88
- return parseFloat(this.value);
90
+ return numValue;
89
91
  },
90
92
  strokeDashArray: function strokeDashArray() {
91
93
  return Math.round(this.circumference * 1000) / 1000;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VProgressCircular/VProgressCircular.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-progress-circular',\n\n extends: Colorable,\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return h('circle', {\n class: `v-progress-circular__${name}`,\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return h('svg', {\n style: this.svgStyles,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n }, children)\n },\n genInfo (): VNode {\n return h('div', {\n class: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.setTextColor(this.color, {\n class: ['v-progress-circular', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: this.styles,\n ...this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressCircular.js"}
1
+ {"version":3,"sources":["../../../src/components/VProgressCircular/VProgressCircular.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChild, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-progress-circular',\n\n extends: Colorable,\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n const numValue = parseFloat(this.value)\n if (numValue < 0) {\n return 0\n }\n\n if (numValue > 100) {\n return 100\n }\n\n return numValue\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return h('circle', {\n class: `v-progress-circular__${name}`,\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChild[]\n\n return h('svg', {\n style: this.svgStyles,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n }, children)\n },\n genInfo (): VNode {\n return h('div', {\n class: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.setTextColor(this.color, {\n class: ['v-progress-circular', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: this.styles,\n ...this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressCircular.js"}
@@ -19,7 +19,7 @@ var _colorable = _interopRequireDefault(require("../../mixins/colorable"));
19
19
 
20
20
  var _positionable = require("../../mixins/positionable");
21
21
 
22
- var _proxyable = _interopRequireDefault(require("../../mixins/proxyable"));
22
+ var _proxyable = require("../../mixins/proxyable");
23
23
 
24
24
  var _themeable = _interopRequireDefault(require("../../mixins/themeable"));
25
25
 
@@ -39,10 +39,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
39
39
 
40
40
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
41
 
42
- var baseMixins = (0, _mixins.default)(_colorable.default, (0, _positionable.factory)(['absolute', 'fixed', 'top', 'bottom']), _proxyable.default, _themeable.default);
42
+ var baseMixins = (0, _mixins.default)(_colorable.default, (0, _positionable.factory)(['absolute', 'fixed', 'top', 'bottom']), (0, _proxyable.factory)('modelValue', 'update:modelValue'), _themeable.default);
43
43
  /* @vue/component */
44
44
 
45
- var _default = baseMixins.extend({
45
+ var _default2 = baseMixins.extend({
46
46
  name: 'v-progress-linear',
47
47
  directives: {
48
48
  intersect: _intersect.default
@@ -73,11 +73,16 @@ var _default = baseMixins.extend({
73
73
  default: 4
74
74
  },
75
75
  indeterminate: Boolean,
76
+ modelValue: {
77
+ type: [Number, String],
78
+ default: 0
79
+ },
76
80
  query: Boolean,
77
81
  reverse: Boolean,
78
82
  rounded: Boolean,
79
83
  stream: Boolean,
80
84
  striped: Boolean,
85
+ // Оставляем value для обратной совместимости
81
86
  value: {
82
87
  type: [Number, String],
83
88
  default: 0
@@ -85,7 +90,7 @@ var _default = baseMixins.extend({
85
90
  },
86
91
  data: function data() {
87
92
  return {
88
- internalLazyValue: this.value || 0,
93
+ internalLazyValue: this.modelValue || this.value || 0,
89
94
  isVisible: true
90
95
  };
91
96
  },
@@ -97,7 +102,13 @@ var _default = baseMixins.extend({
97
102
  }));
98
103
  },
99
104
  __cachedBar: function __cachedBar() {
100
- return (0, _vue.h)(this.computedTransition, [this.__cachedBarType]);
105
+ var _this = this;
106
+
107
+ return (0, _vue.h)(this.computedTransition, {}, {
108
+ default: function _default() {
109
+ return [_this.__cachedBarType];
110
+ }
111
+ });
101
112
  },
102
113
  __cachedBarType: function __cachedBarType() {
103
114
  return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate;
@@ -165,7 +176,7 @@ var _default = baseMixins.extend({
165
176
  return this.normalize(this.internalLazyValue);
166
177
  },
167
178
  reactive: function reactive() {
168
- return Boolean(this.$listeners.change);
179
+ return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue']);
169
180
  },
170
181
  styles: function styles() {
171
182
  var styles = {};
@@ -181,15 +192,27 @@ var _default = baseMixins.extend({
181
192
  return styles;
182
193
  }
183
194
  },
195
+ watch: {
196
+ modelValue: function modelValue(val) {
197
+ this.internalLazyValue = val;
198
+ },
199
+ value: function value(val) {
200
+ this.internalLazyValue = val;
201
+ }
202
+ },
184
203
  methods: {
185
204
  genContent: function genContent() {
186
205
  var slot = (0, _helpers.getSlot)(this, 'default', {
187
206
  value: this.internalLazyValue
188
207
  });
189
208
  if (!slot) return null;
190
- return (0, _vue.h)('div', {
191
- class: 'v-progress-linear__content'
192
- }, slot);
209
+ return (0, _vue.h)("div", {
210
+ class: "v-progress-linear__content"
211
+ }, {
212
+ default: function _default() {
213
+ return slot;
214
+ }
215
+ });
193
216
  },
194
217
  genListeners: function genListeners() {
195
218
  var listeners = this.$listeners;
@@ -217,20 +240,19 @@ var _default = baseMixins.extend({
217
240
  this.isVisible = isIntersecting;
218
241
  },
219
242
  normalize: function normalize(value) {
220
- if (value < 0) return 0;
221
- if (value > 100) return 100;
222
- return parseFloat(value);
243
+ var numValue = typeof value === 'string' ? parseFloat(value) : value;
244
+ if (numValue < 0) return 0;
245
+ if (numValue > 100) return 100;
246
+ return numValue;
223
247
  }
224
248
  },
225
249
  render: function render() {
226
250
  var data = _objectSpread({
227
251
  class: ['v-progress-linear', this.classes],
228
- attrs: {
229
- role: 'progressbar',
230
- 'aria-valuemin': 0,
231
- 'aria-valuemax': this.normalizedBuffer,
232
- 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue
233
- },
252
+ role: 'progressbar',
253
+ 'aria-valuemin': 0,
254
+ 'aria-valuemax': this.normalizedBuffer,
255
+ 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,
234
256
  style: {
235
257
  bottom: this.bottom ? 0 : undefined,
236
258
  height: this.active ? (0, _helpers.convertToUnit)(this.height) : 0,
@@ -242,5 +264,5 @@ var _default = baseMixins.extend({
242
264
  }
243
265
  });
244
266
 
245
- exports.default = _default;
267
+ exports.default = _default2;
246
268
  //# sourceMappingURL=VProgressLinear.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AAMA;;AAGA;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,2BAAoB,CAAC,UAAD,EAAa,OAAb,EAAsB,KAAtB,EAA6B,QAA7B,CAApB,CAFiB,EAGjB,kBAHiB,EAIjB,kBAJiB,CAAnB;AAOA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,mBADyB;AAG/B,EAAA,UAAU,EAAE;AAAE,IAAA,SAAS,EAAT;AAAF,GAHmB;AAK/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,MADS;AAEf,MAAA,OAAO,EAAE;AAFM,KALZ;AASL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KATd;AAaL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADK;AAEX,MAAA,OAAO,EAAE;AAFE,KAbR;AAiBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAjBF;AAqBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KArBH;AAyBL,IAAA,aAAa,EAAE,OAzBV;AA0BL,IAAA,KAAK,EAAE,OA1BF;AA2BL,IAAA,OAAO,EAAE,OA3BJ;AA4BL,IAAA,OAAO,EAAE,OA5BJ;AA6BL,IAAA,MAAM,EAAE,OA7BH;AA8BL,IAAA,OAAO,EAAE,OA9BJ;AA+BL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AA/BF,GALwB;AA0C/B,EAAA,IA1C+B,kBA0C3B;AACF,WAAO;AACL,MAAA,iBAAiB,EAAE,KAAK,KAAL,IAAc,CAD5B;AAEL,MAAA,SAAS,EAAE;AAFN,KAAP;AAID,GA/C8B;AAiD/B,EAAA,QAAQ,EAAE;AACR,IAAA,kBADQ,gCACU;AAChB,aAAO,YAAE,KAAF,EAAS,KAAK,kBAAL,CAAwB,KAAK,eAAL,IAAwB,KAAK,KAArD,EAA4D;AAC1E,QAAA,KAAK,EAAE,+BADmE;AAE1E,QAAA,KAAK,EAAE,KAAK;AAF8D,OAA5D,CAAT,CAAP;AAID,KANO;AAOR,IAAA,WAPQ,yBAOG;AACT,aAAO,YAAE,KAAK,kBAAP,EAA2B,CAAC,KAAK,eAAN,CAA3B,CAAP;AACD,KATO;AAUR,IAAA,eAVQ,6BAUO;AACb,aAAO,KAAK,aAAL,GAAqB,KAAK,qBAA1B,GAAkD,KAAK,mBAA9D;AACD,KAZO;AAaR,IAAA,cAbQ,4BAaM;AACZ,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE,2BADO;AAEd,QAAA,KAAK,EAAE,KAAK;AAFE,OAAT,CAAP;AAID,KAlBO;AAmBR,IAAA,mBAnBQ,iCAmBW;AACjB,aAAO,YAAE,KAAF,EAAS,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAClD,QAAA,KAAK,kCAD6C;AAElD,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,4BAAc,KAAK,eAAnB,EAAoC,GAApC;AADF;AAF2C,OAApC,CAAT,CAAP;AAMD,KA1BO;AA2BR,IAAA,qBA3BQ,mCA2Ba;AACnB,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE,CAAC,kCAAD,EACL;AACE,sDAA4C,KAAK;AADnD,SADK;AADO,OAAT,EAMJ,CACD,KAAK,cAAL,CAAoB,MAApB,CADC,EAED,KAAK,cAAL,CAAoB,OAApB,CAFC,CANI,CAAP;AAUD,KAtCO;AAuCR,IAAA,cAvCQ,4BAuCM;AACZ,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,aAAO,YAAE,KAAF,EAAS,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B;AAC5C,QAAA,KAAK,EAAE,2BADqC;AAE5C,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,4BAAc,MAAM,KAAK,gBAAzB,EAA2C,GAA3C;AADF;AAFqC,OAA9B,CAAT,CAAP;AAMD,KAhDO;AAiDR,IAAA,eAjDQ,6BAiDO;AAAA;;AACb,UAAM,iBAAiB,GAAG,KAAK,iBAAL,IAA0B,IAA1B,GACrB,KAAK,eAAL,GAAuB,CAAvB,GAA2B,GADN,GAEtB,UAAU,CAAC,KAAK,iBAAN,CAFd;AAIA;AACE,QAAA,OAAO,EAAE;AADX,+BAEG,KAAK,UAAL,GAAkB,OAAlB,GAA4B,MAF/B,EAEwC,4BAAc,KAAK,eAAnB,EAAoC,GAApC,CAFxC,kCAGS,4BAAc,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAK,gBAAL,GAAwB,KAAK,eAAzC,CAAd,EAAyE,GAAzE,CAHT;AAKD,KA3DO;AA4DR,IAAA,OA5DQ,qBA4DD;AACL;AACE,uCAA+B,KAAK,QADtC;AAEE,oCAA4B,KAAK,KAFnC;AAGE,oCAA4B,KAAK,KAHnC;AAIE,uCAA+B,KAAK,QAJtC;AAKE,sCAA8B,KAAK,UALrC;AAME,sCAA8B,KAAK,OANrC;AAOE,sCAA8B,KAAK,OAPrC;AAQE,sCAA8B,KAAK;AARrC,SASK,KAAK,YATV;AAWD,KAxEO;AAyER,IAAA,kBAzEQ,gCAyEU;AAChB,aAAO,KAAK,aAAL,GAAqB,4BAArB,GAAuC,8BAA9C;AACD,KA3EO;AA4ER,IAAA,UA5EQ,wBA4EE;AACR,aAAO,KAAK,QAAL,CAAc,GAAd,KAAsB,KAAK,OAAlC;AACD,KA9EO;AA+ER,IAAA,gBA/EQ,8BA+EQ;AACd,aAAO,KAAK,SAAL,CAAe,KAAK,WAApB,CAAP;AACD,KAjFO;AAkFR,IAAA,eAlFQ,6BAkFO;AACb,aAAO,KAAK,SAAL,CAAe,KAAK,iBAApB,CAAP;AACD,KApFO;AAqFR,IAAA,QArFQ,sBAqFA;AACN,aAAO,OAAO,CAAC,KAAK,UAAL,CAAgB,MAAjB,CAAd;AACD,KAvFO;AAwFR,IAAA,MAxFQ,oBAwFF;AACJ,UAAM,MAAM,GAAwB,EAApC;;AAEA,UAAI,CAAC,KAAK,MAAV,EAAkB;AAChB,QAAA,MAAM,CAAC,MAAP,GAAgB,CAAhB;AACD;;AAED,UAAI,CAAC,KAAK,aAAN,IAAuB,UAAU,CAAC,KAAK,gBAAN,CAAV,KAAsC,GAAjE,EAAsE;AACpE,QAAA,MAAM,CAAC,KAAP,GAAe,4BAAc,KAAK,gBAAnB,EAAqC,GAArC,CAAf;AACD;;AAED,aAAO,MAAP;AACD;AApGO,GAjDqB;AAwJ/B,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAM,IAAI,GAAG,sBAAQ,IAAR,EAAc,SAAd,EAAyB;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAAzB,CAAb;AAEA,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AAEX,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,IAFI,CAAP;AAGD,KATM;AAUP,IAAA,YAVO,0BAUK;AACV,UAAM,SAAS,GAAG,KAAK,UAAvB;;AAEA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,SAAS,CAAC,OAAV,GAAoB,KAAK,OAAzB;AACD;;AAED,aAAO,SAAP;AACD,KAlBM;AAmBP,IAAA,cAnBO,0BAmBS,IAnBT,EAmB+B;AACpC,aAAO,YAAE,KAAF,EAAS,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAClD,QAAA,KAAK,EAAE,CAAC,kCAAD,sBAEF,IAFE,EAEK,IAFL;AAD2C,OAApC,CAAT,CAAP;AAOD,KA3BM;AA4BP,IAAA,OA5BO,mBA4BE,CA5BF,EA4Be;AACpB,UAAI,CAAC,KAAK,QAAV,EAAoB;;AADA,kCAGF,KAAK,GAAL,CAAS,qBAAT,EAHE;AAAA,UAGZ,KAHY,yBAGZ,KAHY;;AAKpB,WAAK,aAAL,GAAqB,CAAC,CAAC,OAAF,GAAY,KAAZ,GAAoB,GAAzC;AACD,KAlCM;AAmCP,IAAA,SAnCO,qBAmCI,OAnCJ,EAmC0C,QAnC1C,EAmC0E,cAnC1E,EAmCiG;AACtG,WAAK,SAAL,GAAiB,cAAjB;AACD,KArCM;AAsCP,IAAA,SAtCO,qBAsCI,KAtCJ,EAsC0B;AAC/B,UAAI,KAAK,GAAG,CAAZ,EAAe,OAAO,CAAP;AACf,UAAI,KAAK,GAAG,GAAZ,EAAiB,OAAO,GAAP;AACjB,aAAO,UAAU,CAAC,KAAD,CAAjB;AACD;AA1CM,GAxJsB;AAqM/B,EAAA,MArM+B,oBAqMzB;AACJ,QAAM,IAAI;AACR,MAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,KAAK,OAA3B,CADC;AAER,MAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,aADD;AAEL,yBAAiB,CAFZ;AAGL,yBAAiB,KAAK,gBAHjB;AAIL,yBAAiB,KAAK,aAAL,GAAqB,SAArB,GAAiC,KAAK;AAJlD,OAFC;AAQR,MAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,KAAK,MAAL,GAAc,CAAd,GAAkB,SADrB;AAEL,QAAA,MAAM,EAAE,KAAK,MAAL,GAAc,4BAAc,KAAK,MAAnB,CAAd,GAA2C,CAF9C;AAGL,QAAA,GAAG,EAAE,KAAK,GAAL,GAAW,CAAX,GAAe;AAHf;AARC,OAaL,KAAK,YAAL,EAbK,CAAV;;AAgBA,WAAO,yBAAe,YAAE,KAAF,EAAS,IAAT,EAAe,CACnC,KAAK,cAD8B,EAEnC,KAAK,kBAF8B,EAGnC,KAAK,cAH8B,EAInC,KAAK,WAJ8B,EAKnC,KAAK,UAAL,EALmC,CAAf,CAAf,EAMH,CACF,CACE,oBADF,EAEE,KAAK,SAFP,CADE,CANG,CAAP;AAYD;AAlO8B,CAAlB,C","sourcesContent":["import {h, withDirectives} from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n }\n ]\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h('div', {\n class: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n }\n ]\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
1
+ {"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport { factory as ProxyableFactory } from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n ProxyableFactory('modelValue', 'update:modelValue'),\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n // Оставляем value для обратной совместимости\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.modelValue || this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, {}, {\n default: () => [this.__cachedBarType]\n })\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n }\n ]\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): any {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue'])\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n watch: {\n modelValue (val) {\n this.internalLazyValue = val\n },\n value (val) {\n this.internalLazyValue = val\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h(\n \"div\",\n {\n class: \"v-progress-linear__content\"\n },\n {\n default: () => slot\n }\n );\n },\n genListeners (): any {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short'): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n }\n ]\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number): number {\n const numValue = typeof value === 'string' ? parseFloat(value) : value\n if (numValue < 0) return 0\n if (numValue > 100) return 100\n return numValue\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAMA;;AACA;;AAGA;;;;;;;;;;;;;;;;eAQe,qBACb,2BADa,EAEb,oBAFa,EAGb;AACA;AAJa,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,OAHO,qBAGA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,4BAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,sBAAc,IAFhB;AAGE,iCAAyB,KAAK,QAHhC;AAIE;AACA,mCAA2B,KAAK;AALlC,SAMK,KAAK,YANV;AAQD;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;AAMP,IAAA,UANO,wBAMG;AACR,UAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,UAAvB,CAAkC,IAAlC,CAAuC,IAAvC,CAAf;;AAEA,MAAA,MAAM,CAAC,KAAP,CAAa,KAAb,IAAsB,sBAAtB;AAEA,aAAO,MAAP;AACD,KAZM;AAaP,IAAA,aAbO,yBAaQ,GAbR,EAaoB,MAbpB,EAaiC;AACtC;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,UAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,UAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AATsC,iDAWnB,KAXmB;AAAA;;AAAA;AAWtC,4DAA0B;AAAA,cAAf,IAAe;AACxB,cAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,cAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,SAhBqC,CAkBtC;AACA;AACA;;AApBsC;AAAA;AAAA;AAAA;AAAA;;AAqBtC,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;AAnCM,GA5BF;AAkEP,EAAA,MAlEO,oBAkED;AACJ,QAAM,MAAM,GAAG,4BAAe,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,MAAjC,CAAf;;AAEA,IAAA,MAAM,CAAC,IAAP,GAAc,SAAd;AAEA,WAAO,MAAP;AACD;AAxEM,CALM,C","sourcesContent":["import {h} from 'vue'\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.methods.genContent.call(this)\n\n render.props.class += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (): VNode {\n const render = BaseSlideGroup.render.call(this, h)\n\n render.role = 'tablist'\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAMA;;AACA;;AAGA;;;;;;;;;;;;;;;;eAOe,qBACb,2BADa,EAEb,oBAFa,EAGb;AACA;AAJa,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,OAHO,qBAGA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,4BAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,sBAAc,IAFhB;AAGE,iCAAyB,KAAK,QAHhC;AAIE;AACA,mCAA2B,KAAK;AALlC,SAMK,KAAK,YANV;AAQD;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;AAMP,IAAA,UANO,wBAMG;AACR,UAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,UAAvB,CAAkC,IAAlC,CAAuC,IAAvC,CAAf;;AAEA,MAAA,MAAM,CAAC,KAAP,CAAa,KAAb,IAAsB,sBAAtB;AAEA,aAAO,MAAP;AACD,KAZM;AAaP,IAAA,aAbO,yBAcL,GAdK,EAeL,MAfK,EAe0B;AAE/B;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,UAAM,KAAK,GAAI,KAAK,KAApB;AACA,UAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,UAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AAV+B,iDAYZ,KAZY;AAAA;;AAAA;AAY/B,4DAA0B;AAAA,cAAf,IAAe;AACxB,cAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,cAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,SAjB8B,CAmB/B;AACA;AACA;;AArB+B;AAAA;AAAA;AAAA;AAAA;;AAsB/B,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;AAtCM,GA5BF;AAqEP,EAAA,MArEO,oBAqED;AACJ,QAAM,MAAM,GAAG,4BAAe,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,MAAjC,CAAf;;AAEA,IAAA,MAAM,CAAC,IAAP,GAAc,SAAd;AAEA,WAAO,MAAP;AACD;AA3EM,CALM,C","sourcesContent":["import { h, VNode } from 'vue'\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { RouteLocationNormalized } from 'vue-router'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.methods.genContent.call(this)\n\n render.props.class += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (\n val: RouteLocationNormalized,\n oldVal: RouteLocationNormalized\n ) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = (this.items as unknown) as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (): VNode {\n const render = BaseSlideGroup.render.call(this, h)\n\n render.role = 'tablist'\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
@@ -17,11 +17,12 @@ var _helpers = require("../../util/helpers");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
- // Styles
21
- // Mixins
22
- // Directives
23
- // Utilities
24
- // Types
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
25
26
  var _default2 = (0, _vue.defineComponent)({
26
27
  name: 'v-virtual-scroll',
27
28
  directives: {
@@ -110,18 +111,16 @@ var _default2 = (0, _vue.defineComponent)({
110
111
  height: (0, _helpers.convertToUnit)(this.items.length * this.__itemHeight)
111
112
  }
112
113
  }, this.getChildren());
113
- return (0, _vue.h)('div', {
114
+ return (0, _vue.withDirectives)((0, _vue.h)('div', _objectSpread({
114
115
  class: 'v-virtual-scroll',
115
- style: this.measurableStyles,
116
- directives: [{
117
- name: 'scroll',
118
- modifiers: {
119
- self: true
120
- },
121
- value: this.onScroll
122
- }],
123
- on: this.$listeners
124
- }, [content]);
116
+ style: this.measurableStyles
117
+ }, this.$listeners), {
118
+ default: function _default() {
119
+ return [content];
120
+ }
121
+ }), [[_scroll.default, this.onScroll, '', {
122
+ self: true
123
+ }]]);
125
124
  }
126
125
  });
127
126
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n directives: [{\n name: 'scroll',\n modifiers: { self: true },\n value: this.onScroll,\n }],\n on: this.$listeners,\n }, [content])\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
1
+ {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n },\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return withDirectives(\n h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n ...(this as any).$listeners,\n }, {\n default: () => [content]\n }),\n [\n [Scroll, this.onScroll, '', { self: true }]\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
@@ -28,7 +28,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
28
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
29
 
30
30
  /* @vue/component */
31
- var _default = (0, _vue.defineComponent)({
31
+ var _default2 = (0, _vue.defineComponent)({
32
32
  name: 'v-window',
33
33
  extends: _VItemGroup.BaseItemGroup,
34
34
  directives: {
@@ -164,9 +164,17 @@ var _default = (0, _vue.defineComponent)({
164
164
  attrs: attrs
165
165
  })) !== null && _c !== void 0 ? _c : [(0, _vue.h)(_VBtn.default, _objectSpread({
166
166
  icon: true
167
- }, attrs), [(0, _vue.h)(_VIcon.default, {
168
- large: true
169
- }, icon)])];
167
+ }, attrs), {
168
+ default: function _default() {
169
+ return [(0, _vue.h)(_VIcon.default, {
170
+ large: true
171
+ }, {
172
+ default: function _default() {
173
+ return icon;
174
+ }
175
+ })];
176
+ }
177
+ })];
170
178
  return (0, _vue.h)('div', {
171
179
  class: "v-window__".concat(direction)
172
180
  }, children);
@@ -262,5 +270,5 @@ var _default = (0, _vue.defineComponent)({
262
270
  }
263
271
  });
264
272
 
265
- exports.default = _default;
273
+ exports.default = _default2;
266
274
  //# sourceMappingURL=VWindow.js.map