This commit is contained in:
2022-07-21 03:28:35 +00:00
parent d7c883d6df
commit 51b34b0e1d
30103 changed files with 4152204 additions and 23 deletions
+77
View File
@@ -0,0 +1,77 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.BaseItem = void 0;
var _groupable = require("../../mixins/groupable");
var _mixins = _interopRequireDefault(require("../../util/mixins"));
var _console = require("../../util/console");
var _vue = _interopRequireDefault(require("vue"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; }
/* @vue/component */
var BaseItem = _vue.default.extend({
props: {
activeClass: String,
value: {
required: false
}
},
data: function data() {
return {
isActive: false
};
},
methods: {
toggle: function toggle() {
this.isActive = !this.isActive;
}
},
render: function render() {
if (!this.$scopedSlots.default) {
(0, _console.consoleWarn)('v-item is missing a default scopedSlot', this);
return null;
}
var element;
/* istanbul ignore else */
if (this.$scopedSlots.default) {
element = this.$scopedSlots.default({
active: this.isActive,
toggle: this.toggle
});
}
if (Array.isArray(element) && element.length === 1) {
element = element[0];
}
if (!element || Array.isArray(element) || !element.tag) {
(0, _console.consoleWarn)('v-item should only contain a single element', this);
return element;
}
element.data = this._b(element.data || {}, element.tag, {
class: _defineProperty({}, this.activeClass, this.isActive)
});
return element;
}
});
exports.BaseItem = BaseItem;
var _default = (0, _mixins.default)(BaseItem, (0, _groupable.factory)('itemGroup', 'v-item', 'v-item-group')).extend({
name: 'v-item'
});
exports.default = _default;
//# sourceMappingURL=VItem.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/VItemGroup/VItem.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AAGA;;;;;;AAGA;AACO,IAAM,QAAQ,GAAG,aAAI,MAAJ,CAAW;AACjC,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,QAAQ,EAAE;AADL;AAFF,GAD0B;AAQjC,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE;AADC,KAAP;AAAA,GAR2B;AAYjC,EAAA,OAAO,EAAE;AACP,IAAA,MADO,oBACD;AACJ,WAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;AAHM,GAZwB;AAkBjC,EAAA,MAlBiC,oBAkB3B;AACJ,QAAI,CAAC,KAAK,YAAL,CAAkB,OAAvB,EAAgC;AAC9B,gCAAY,wCAAZ,EAAsD,IAAtD;AAEA,aAAO,IAAP;AACD;;AAED,QAAI,OAAJ;AAEA;;AACA,QAAI,KAAK,YAAL,CAAkB,OAAtB,EAA+B;AAC7B,MAAA,OAAO,GAAG,KAAK,YAAL,CAAkB,OAAlB,CAA0B;AAClC,QAAA,MAAM,EAAE,KAAK,QADqB;AAElC,QAAA,MAAM,EAAE,KAAK;AAFqB,OAA1B,CAAV;AAID;;AAED,QAAI,KAAK,CAAC,OAAN,CAAc,OAAd,KAA0B,OAAO,CAAC,MAAR,KAAmB,CAAjD,EAAoD;AAClD,MAAA,OAAO,GAAG,OAAO,CAAC,CAAD,CAAjB;AACD;;AAED,QAAI,CAAC,OAAD,IAAY,KAAK,CAAC,OAAN,CAAc,OAAd,CAAZ,IAAsC,CAAC,OAAO,CAAC,GAAnD,EAAwD;AACtD,gCAAY,6CAAZ,EAA2D,IAA3D;AAEA,aAAO,OAAP;AACD;;AAED,IAAA,OAAO,CAAC,IAAR,GAAe,KAAK,EAAL,CAAQ,OAAO,CAAC,IAAR,IAAgB,EAAxB,EAA4B,OAAO,CAAC,GAApC,EAA0C;AACvD,MAAA,KAAK,sBAAK,KAAK,WAAV,EAAwB,KAAK,QAA7B;AADkD,KAA1C,CAAf;AAIA,WAAO,OAAP;AACD;AAlDgC,CAAX,CAAjB;;;;eAqDQ,qBACb,QADa,EAEb,wBAAiB,WAAjB,EAA8B,QAA9B,EAAwC,cAAxC,CAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE;AADC,CAHM,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: { [this.activeClass]: this.isActive },\n })\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n"],"sourceRoot":"","file":"VItem.js"}
+234
View File
@@ -0,0 +1,234 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.BaseItemGroup = void 0;
require("../../../src/components/VItemGroup/VItemGroup.sass");
var _proxyable = _interopRequireDefault(require("../../mixins/proxyable"));
var _themeable = _interopRequireDefault(require("../../mixins/themeable"));
var _mixins = _interopRequireDefault(require("../../util/mixins"));
var _console = require("../../util/console");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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; }
var BaseItemGroup = (0, _mixins.default)(_proxyable.default, _themeable.default).extend({
name: 'base-item-group',
props: {
activeClass: {
type: String,
default: 'v-item--active'
},
mandatory: Boolean,
max: {
type: [Number, String],
default: null
},
multiple: Boolean
},
data: function data() {
return {
// As long as a value is defined, show it
// Otherwise, check if multiple
// to determine which default to provide
internalLazyValue: this.value !== undefined ? this.value : this.multiple ? [] : undefined,
items: []
};
},
computed: {
classes: function classes() {
return _objectSpread({
'v-item-group': true
}, this.themeClasses);
},
selectedIndex: function selectedIndex() {
return this.selectedItem && this.items.indexOf(this.selectedItem) || -1;
},
selectedItem: function selectedItem() {
if (this.multiple) return undefined;
return this.selectedItems[0];
},
selectedItems: function selectedItems() {
var _this = this;
return this.items.filter(function (item, index) {
return _this.toggleMethod(_this.getValue(item, index));
});
},
selectedValues: function selectedValues() {
if (this.internalValue == null) return [];
return Array.isArray(this.internalValue) ? this.internalValue : [this.internalValue];
},
toggleMethod: function toggleMethod() {
var _this2 = this;
if (!this.multiple) {
return function (v) {
return _this2.internalValue === v;
};
}
var internalValue = this.internalValue;
if (Array.isArray(internalValue)) {
return function (v) {
return internalValue.includes(v);
};
}
return function () {
return false;
};
}
},
watch: {
internalValue: 'updateItemsState',
items: 'updateItemsState'
},
created: function created() {
if (this.multiple && !Array.isArray(this.internalValue)) {
(0, _console.consoleWarn)('Model must be bound to an array if the multiple property is true.', this);
}
},
methods: {
genData: function genData() {
return {
class: this.classes
};
},
getValue: function getValue(item, i) {
return item.value == null || item.value === '' ? i : item.value;
},
onClick: function onClick(item) {
this.updateInternalValue(this.getValue(item, this.items.indexOf(item)));
},
register: function register(item) {
var _this3 = this;
var index = this.items.push(item) - 1;
item.$on('change', function () {
return _this3.onClick(item);
}); // If no value provided and mandatory,
// assign first registered item
if (this.mandatory && !this.selectedValues.length) {
this.updateMandatory();
}
this.updateItem(item, index);
},
unregister: function unregister(item) {
if (this._isDestroyed) return;
var index = this.items.indexOf(item);
var value = this.getValue(item, index);
this.items.splice(index, 1);
var valueIndex = this.selectedValues.indexOf(value); // Items is not selected, do nothing
if (valueIndex < 0) return; // If not mandatory, use regular update process
if (!this.mandatory) {
return this.updateInternalValue(value);
} // Remove the value
if (this.multiple && Array.isArray(this.internalValue)) {
this.internalValue = this.internalValue.filter(function (v) {
return v !== value;
});
} else {
this.internalValue = undefined;
} // If mandatory and we have no selection
// add the last item as value
/* istanbul ignore else */
if (!this.selectedItems.length) {
this.updateMandatory(true);
}
},
updateItem: function updateItem(item, index) {
var value = this.getValue(item, index);
item.isActive = this.toggleMethod(value);
},
// https://github.com/vuetifyjs/vuetify/issues/5352
updateItemsState: function updateItemsState() {
var _this4 = this;
this.$nextTick(function () {
if (_this4.mandatory && !_this4.selectedItems.length) {
return _this4.updateMandatory();
} // TODO: Make this smarter so it
// doesn't have to iterate every
// child in an update
_this4.items.forEach(_this4.updateItem);
});
},
updateInternalValue: function updateInternalValue(value) {
this.multiple ? this.updateMultiple(value) : this.updateSingle(value);
},
updateMandatory: function updateMandatory(last) {
if (!this.items.length) return;
var items = this.items.slice();
if (last) items.reverse();
var item = items.find(function (item) {
return !item.disabled;
}); // If no tabs are available
// aborts mandatory value
if (!item) return;
var index = this.items.indexOf(item);
this.updateInternalValue(this.getValue(item, index));
},
updateMultiple: function updateMultiple(value) {
var defaultValue = Array.isArray(this.internalValue) ? this.internalValue : [];
var internalValue = defaultValue.slice();
var index = internalValue.findIndex(function (val) {
return val === value;
});
if (this.mandatory && // Item already exists
index > -1 && // value would be reduced below min
internalValue.length - 1 < 1) return;
if ( // Max is set
this.max != null && // Item doesn't exist
index < 0 && // value would be increased above max
internalValue.length + 1 > this.max) return;
index > -1 ? internalValue.splice(index, 1) : internalValue.push(value);
this.internalValue = internalValue;
},
updateSingle: function updateSingle(value) {
var isSame = value === this.internalValue;
if (this.mandatory && isSame) return;
this.internalValue = isSame ? undefined : value;
}
},
render: function render(h) {
return h('div', this.genData(), this.$slots.default);
}
});
exports.BaseItemGroup = BaseItemGroup;
var _default = BaseItemGroup.extend({
name: 'v-item-group',
provide: function provide() {
return {
itemGroup: this
};
}
});
exports.default = _default;
//# sourceMappingURL=VItemGroup.js.map
File diff suppressed because one or more lines are too long
+33
View File
@@ -0,0 +1,33 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "VItem", {
enumerable: true,
get: function get() {
return _VItem.default;
}
});
Object.defineProperty(exports, "VItemGroup", {
enumerable: true,
get: function get() {
return _VItemGroup.default;
}
});
exports.default = void 0;
var _VItem = _interopRequireDefault(require("./VItem"));
var _VItemGroup = _interopRequireDefault(require("./VItemGroup"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = {
$_vuetify_subcomponents: {
VItem: _VItem.default,
VItemGroup: _VItemGroup.default
}
};
exports.default = _default;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/VItemGroup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;eAOe;AACb,EAAA,uBAAuB,EAAE;AACvB,IAAA,KAAK,EAAL,cADuB;AAEvB,IAAA,UAAU,EAAV;AAFuB;AADZ,C","sourcesContent":["import VItem from './VItem'\nimport VItemGroup from './VItemGroup'\n\nexport {\n VItem,\n VItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VItem,\n VItemGroup,\n },\n}\n"],"sourceRoot":"","file":"index.js"}