vuetify eingebunden + erster Versuch Combobox

This commit is contained in:
2019-04-17 15:58:15 +02:00
parent 24642ca1a8
commit 56f4a3f940
1846 changed files with 219701 additions and 53848 deletions
+36
View File
@@ -0,0 +1,36 @@
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; }
export default {
bar: 0,
bottom: 0,
footer: 0,
insetFooter: 0,
left: 0,
right: 0,
top: 0,
components: {
bar: {},
bottom: {},
footer: {},
insetFooter: {},
left: {},
right: {},
top: {}
},
bind: function bind(uid, target, value) {
if (!this.components[target]) return;
this.components[target] = _defineProperty({}, uid, value);
this.update(target);
},
unbind: function unbind(uid, target) {
if (this.components[target][uid] == null) return;
delete this.components[target][uid];
this.update(target);
},
update: function update(target) {
this[target] = Object.values(this.components[target]).reduce(function (acc, cur) {
return acc + cur;
}, 0);
}
};
//# sourceMappingURL=application.js.map
@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/Vuetify/mixins/application.ts"],"names":[],"mappings":";;AAMA,eAAe;AACb,SAAK,CADQ;AAEb,YAAQ,CAFK;AAGb,YAAQ,CAHK;AAIb,iBAAa,CAJA;AAKb,UAAM,CALO;AAMb,WAAO,CANM;AAOb,SAAK,CAPQ;AAQb,gBAAY;AACV,aAAK,EADK;AAEV,gBAAQ,EAFE;AAGV,gBAAQ,EAHE;AAIV,qBAAa,EAJH;AAKV,cAAM,EALI;AAMV,eAAO,EANG;AAOV,aAAK;AAPK,KARC;AAiBb,QAjBa,gBAiBP,GAjBO,EAiBM,MAjBN,EAiB0B,KAjB1B,EAiBuC;AAClD,YAAI,CAAC,KAAK,UAAL,CAAgB,MAAhB,CAAL,EAA8B;AAE9B,aAAK,UAAL,CAAgB,MAAhB,wBAA6B,GAA7B,EAAmC,KAAnC;AACA,aAAK,MAAL,CAAY,MAAZ;AACD,KAtBY;AAuBb,UAvBa,kBAuBL,GAvBK,EAuBQ,MAvBR,EAuB0B;AACrC,YAAI,KAAK,UAAL,CAAgB,MAAhB,EAAwB,GAAxB,KAAgC,IAApC,EAA0C;AAE1C,eAAQ,KAAK,UAAL,CAAwB,MAAxB,EAAgC,GAAhC,CAAR;AACA,aAAK,MAAL,CAAY,MAAZ;AACD,KA5BY;AA6Bb,UA7Ba,kBA6BL,MA7BK,EA6Ba;AACxB,aAAK,MAAL,IAAe,OAAO,MAAP,CAAc,KAAK,UAAL,CAAgB,MAAhB,CAAd,EACZ,MADY,CACL,UAAC,GAAD,EAAc,GAAd;AAAA,mBAAuC,MAAM,GAA7C;AAAA,SADK,EAC8C,CAD9C,CAAf;AAED;AAhCY,CAAf","sourcesContent":["export type TargetProp = 'bar' | 'bottom' | 'footer' | 'insetFooter' | 'left' | 'right' | 'top'\n\ninterface TargetPropValues {\n [uid: number]: number\n}\n\nexport default {\n bar: 0,\n bottom: 0,\n footer: 0,\n insetFooter: 0,\n left: 0,\n right: 0,\n top: 0,\n components: {\n bar: {} as TargetPropValues,\n bottom: {} as TargetPropValues,\n footer: {} as TargetPropValues,\n insetFooter: {} as TargetPropValues,\n left: {} as TargetPropValues,\n right: {} as TargetPropValues,\n top: {} as TargetPropValues\n },\n bind (uid: number, target: TargetProp, value: number): void {\n if (!this.components[target]) return\n\n this.components[target] = { [uid]: value }\n this.update(target)\n },\n unbind (uid: number, target: TargetProp): void {\n if (this.components[target][uid] == null) return\n\n delete (this.components as any)[target][uid]\n this.update(target)\n },\n update (target: TargetProp): void {\n this[target] = Object.values(this.components[target])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n"],"sourceRoot":""}
+131
View File
@@ -0,0 +1,131 @@
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import Vue from 'vue';
var BREAKPOINTS_DEFAULTS = {
thresholds: {
xs: 600,
sm: 960,
md: 1280,
lg: 1920
},
scrollbarWidth: 16
};
/**
* Factory function for the breakpoint mixin.
*/
export default function breakpoint() {
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (!opts) {
opts = {};
}
return Vue.extend({
data: function data() {
return _extends({
clientHeight: getClientHeight(),
clientWidth: getClientWidth(),
resizeTimeout: undefined
}, BREAKPOINTS_DEFAULTS, opts);
},
computed: {
breakpoint: function breakpoint() {
var xs = this.clientWidth < this.thresholds.xs;
var sm = this.clientWidth < this.thresholds.sm && !xs;
var md = this.clientWidth < this.thresholds.md - this.scrollbarWidth && !(sm || xs);
var lg = this.clientWidth < this.thresholds.lg - this.scrollbarWidth && !(md || sm || xs);
var xl = this.clientWidth >= this.thresholds.lg - this.scrollbarWidth;
var xsOnly = xs;
var smOnly = sm;
var smAndDown = (xs || sm) && !(md || lg || xl);
var smAndUp = !xs && (sm || md || lg || xl);
var mdOnly = md;
var mdAndDown = (xs || sm || md) && !(lg || xl);
var mdAndUp = !(xs || sm) && (md || lg || xl);
var lgOnly = lg;
var lgAndDown = (xs || sm || md || lg) && !xl;
var lgAndUp = !(xs || sm || md) && (lg || xl);
var xlOnly = xl;
var name = void 0;
switch (true) {
case xs:
name = 'xs';
break;
case sm:
name = 'sm';
break;
case md:
name = 'md';
break;
case lg:
name = 'lg';
break;
default:
name = 'xl';
break;
}
return {
// Definite breakpoint.
xs: xs,
sm: sm,
md: md,
lg: lg,
xl: xl,
// Useful e.g. to construct CSS class names dynamically.
name: name,
// Breakpoint ranges.
xsOnly: xsOnly,
smOnly: smOnly,
smAndDown: smAndDown,
smAndUp: smAndUp,
mdOnly: mdOnly,
mdAndDown: mdAndDown,
mdAndUp: mdAndUp,
lgOnly: lgOnly,
lgAndDown: lgAndDown,
lgAndUp: lgAndUp,
xlOnly: xlOnly,
// For custom breakpoint logic.
width: this.clientWidth,
height: this.clientHeight,
thresholds: this.thresholds,
scrollbarWidth: this.scrollbarWidth
};
}
},
created: function created() {
if (typeof window === 'undefined') return;
window.addEventListener('resize', this.onResize, { passive: true });
},
beforeDestroy: function beforeDestroy() {
if (typeof window === 'undefined') return;
window.removeEventListener('resize', this.onResize);
},
methods: {
onResize: function onResize() {
clearTimeout(this.resizeTimeout);
// Added debounce to match what
// v-resize used to do but was
// removed due to a memory leak
// https://github.com/vuetifyjs/vuetify/pull/2997
this.resizeTimeout = window.setTimeout(this.setDimensions, 200);
},
setDimensions: function setDimensions() {
this.clientHeight = getClientHeight();
this.clientWidth = getClientWidth();
}
}
});
}
// Cross-browser support as described in:
// https://stackoverflow.com/questions/1248081
function getClientWidth() {
if (typeof document === 'undefined') return 0; // SSR
return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
}
function getClientHeight() {
if (typeof document === 'undefined') return 0; // SSR
return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
}
//# sourceMappingURL=breakpoint.js.map
File diff suppressed because one or more lines are too long
+143
View File
@@ -0,0 +1,143 @@
// Maps internal Vuetify icon names to actual Material Design icon names.
var ICONS_MATERIAL = {
'complete': 'check',
'cancel': 'cancel',
'close': 'close',
'delete': 'cancel',
'clear': 'clear',
'success': 'check_circle',
'info': 'info',
'warning': 'priority_high',
'error': 'warning',
'prev': 'chevron_left',
'next': 'chevron_right',
'checkboxOn': 'check_box',
'checkboxOff': 'check_box_outline_blank',
'checkboxIndeterminate': 'indeterminate_check_box',
'delimiter': 'fiber_manual_record',
'sort': 'arrow_upward',
'expand': 'keyboard_arrow_down',
'menu': 'menu',
'subgroup': 'arrow_drop_down',
'dropdown': 'arrow_drop_down',
'radioOn': 'radio_button_checked',
'radioOff': 'radio_button_unchecked',
'edit': 'edit',
'ratingEmpty': 'star_border',
'ratingFull': 'star',
'ratingHalf': 'star_half',
'loading': 'cached'
};
// Maps internal Vuetify icon names to actual icons from materialdesignicons.com
var ICONS_MDI = {
'complete': 'mdi-check',
'cancel': 'mdi-close-circle',
'close': 'mdi-close',
'delete': 'mdi-close-circle',
'clear': 'mdi-close',
'success': 'mdi-check-circle',
'info': 'mdi-information',
'warning': 'mdi-exclamation',
'error': 'mdi-alert',
'prev': 'mdi-chevron-left',
'next': 'mdi-chevron-right',
'checkboxOn': 'mdi-checkbox-marked',
'checkboxOff': 'mdi-checkbox-blank-outline',
'checkboxIndeterminate': 'mdi-minus-box',
'delimiter': 'mdi-circle',
'sort': 'mdi-arrow-up',
'expand': 'mdi-chevron-down',
'menu': 'mdi-menu',
'subgroup': 'mdi-menu-down',
'dropdown': 'mdi-menu-down',
'radioOn': 'mdi-radiobox-marked',
'radioOff': 'mdi-radiobox-blank',
'edit': 'mdi-pencil',
'ratingEmpty': 'mdi-star-outline',
'ratingFull': 'mdi-star',
'ratingHalf': 'mdi-star-half'
};
// Maps internal Vuetify icon names to actual Font-Awesome 4 icon names.
var ICONS_FONTAWESOME4 = {
'complete': 'fa fa-check',
'cancel': 'fa fa-times-circle',
'close': 'fa fa-times',
'delete': 'fa fa-times-circle',
'clear': 'fa fa-times-circle',
'success': 'fa fa-check-circle',
'info': 'fa fa-info-circle',
'warning': 'fa fa-exclamation',
'error': 'fa fa-exclamation-triangle',
'prev': 'fa fa-chevron-left',
'next': 'fa fa-chevron-right',
'checkboxOn': 'fa fa-check-square',
'checkboxOff': 'fa fa-square-o',
'checkboxIndeterminate': 'fa fa-minus-square',
'delimiter': 'fa fa-circle',
'sort': 'fa fa-sort-up',
'expand': 'fa fa-chevron-down',
'menu': 'fa fa-bars',
'subgroup': 'fa fa-caret-down',
'dropdown': 'fa fa-caret-down',
'radioOn': 'fa fa-dot-circle',
'radioOff': 'fa fa-circle-o',
'edit': 'fa fa-pencil',
'ratingEmpty': 'fa fa-star-o',
'ratingFull': 'fa fa-star',
'ratingHalf': 'fa fa-star-half-o'
};
// Maps internal Vuetify icon names to actual Font-Awesome 5+ icon names.
var ICONS_FONTAWESOME = {
'complete': 'fas fa-check',
'cancel': 'fas fa-times-circle',
'close': 'fas fa-times',
'delete': 'fas fa-times-circle',
'clear': 'fas fa-times-circle',
'success': 'fas fa-check-circle',
'info': 'fas fa-info-circle',
'warning': 'fas fa-exclamation',
'error': 'fas fa-exclamation-triangle',
'prev': 'fas fa-chevron-left',
'next': 'fas fa-chevron-right',
'checkboxOn': 'fas fa-check-square',
'checkboxOff': 'far fa-square',
'checkboxIndeterminate': 'fas fa-minus-square',
'delimiter': 'fas fa-circle',
'sort': 'fas fa-sort-up',
'expand': 'fas fa-chevron-down',
'menu': 'fas fa-bars',
'subgroup': 'fas fa-caret-down',
'dropdown': 'fas fa-caret-down',
'radioOn': 'far fa-dot-circle',
'radioOff': 'far fa-circle',
'edit': 'fas fa-edit',
'ratingEmpty': 'far fa-star',
'ratingFull': 'fas fa-star',
'ratingHalf': 'fas fa-star-half'
};
export function convertToComponentDeclarations(component, iconSet) {
var result = {};
for (var key in iconSet) {
result[key] = {
component: component,
props: {
icon: iconSet[key].split(' fa-')
}
};
}
return result;
}
var iconSets = {
md: ICONS_MATERIAL,
mdi: ICONS_MDI,
fa: ICONS_FONTAWESOME,
fa4: ICONS_FONTAWESOME4,
faSvg: convertToComponentDeclarations('font-awesome-icon', ICONS_FONTAWESOME)
};
export default function icons() {
var iconfont = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'md';
var icons = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return Object.assign({}, iconSets[iconfont] || iconSets.md, icons);
}
//# sourceMappingURL=icons.js.map
File diff suppressed because one or more lines are too long
+44
View File
@@ -0,0 +1,44 @@
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
import en from '../../../locale/en';
import { getObjectValueByPath } from '../../../util/helpers';
import { consoleError, consoleWarn } from '../../../util/console';
var LANG_PREFIX = '$vuetify.';
var fallback = Symbol('Lang fallback');
function getTranslation(locale, key) {
var usingFallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var shortKey = key.replace(LANG_PREFIX, '');
var translation = getObjectValueByPath(locale, shortKey, fallback);
if (translation === fallback) {
if (usingFallback) {
consoleError('Translation key "' + shortKey + '" not found in fallback');
translation = key;
} else {
consoleWarn('Translation key "' + shortKey + '" not found, falling back to default');
translation = getTranslation(en, key, true);
}
}
return translation;
}
export default function lang() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return {
locales: Object.assign({ en: en }, config.locales),
current: config.current || 'en',
t: function t(key) {
for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
params[_key - 1] = arguments[_key];
}
if (!key.startsWith(LANG_PREFIX)) return key;
if (config.t) return config.t.apply(config, [key].concat(_toConsumableArray(params)));
var translation = getTranslation(this.locales[this.current], key);
return translation.replace(/\{(\d+)\}/g, function (match, index) {
return String(params[+index]);
});
}
};
}
//# sourceMappingURL=lang.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/Vuetify/mixins/lang.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAP,MAAe,oBAAf;AACA,SAAS,oBAAT,QAAqC,uBAArC;AACA,SAAS,YAAT,EAAuB,WAAvB,QAA0C,uBAA1C;AAIA,IAAM,cAAc,WAApB;AACA,IAAM,WAAW,OAAO,eAAP,CAAjB;AAEA,SAAS,cAAT,CAAyB,MAAzB,EAAgD,GAAhD,EAAkF;AAAA,QAArB,aAAqB,uEAAL,KAAK;;AAChF,QAAM,WAAW,IAAI,OAAJ,CAAY,WAAZ,EAAyB,EAAzB,CAAjB;AACA,QAAI,cAAc,qBAAqB,MAArB,EAA6B,QAA7B,EAAuC,QAAvC,CAAlB;AAEA,QAAI,gBAAgB,QAApB,EAA8B;AAC5B,YAAI,aAAJ,EAAmB;AACjB,+CAAiC,QAAjC;AACA,0BAAc,GAAd;AACD,SAHD,MAGO;AACL,8CAAgC,QAAhC;AACA,0BAAc,eAAe,EAAf,EAAmB,GAAnB,EAAwB,IAAxB,CAAd;AACD;AACF;AAED,WAAO,WAAP;AACD;AAED,eAAc,SAAU,IAAV,GAA4C;AAAA,QAA5B,MAA4B,uEAAF,EAAE;;AACxD,WAAO;AACL,iBAAS,OAAO,MAAP,CAAc,EAAE,MAAF,EAAd,EAAsB,OAAO,OAA7B,CADJ;AAEL,iBAAS,OAAO,OAAP,IAAkB,IAFtB;AAGL,SAHK,aAGF,GAHE,EAGY;AAAA,8CAAN,MAAM;AAAN,sBAAM;AAAA;;AACf,gBAAI,CAAC,IAAI,UAAJ,CAAe,WAAf,CAAL,EAAkC,OAAO,GAAP;AAElC,gBAAI,OAAO,CAAX,EAAc,OAAO,OAAO,CAAP,gBAAS,GAAT,4BAAiB,MAAjB,GAAP;AAEd,gBAAM,cAAc,eAAe,KAAK,OAAL,CAAa,KAAK,OAAlB,CAAf,EAA2C,GAA3C,CAApB;AAEA,mBAAO,YAAY,OAAZ,CAAoB,YAApB,EAAkC,UAAC,KAAD,EAAgB,KAAhB,EAAiC;AACxE,uBAAO,OAAO,OAAO,CAAC,KAAR,CAAP,CAAP;AACD,aAFM,CAAP;AAGD;AAbI,KAAP;AAeD","sourcesContent":["import en from '../../../locale/en'\nimport { getObjectValueByPath } from '../../../util/helpers'\nimport { consoleError, consoleWarn } from '../../../util/console'\nimport { VuetifyUseOptions as Options } from 'vuetify/types'\nimport { VuetifyLanguage, VuetifyLocale } from 'vuetify/types/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (locale: VuetifyLocale, key: string, usingFallback = false): string {\n const shortKey = key.replace(LANG_PREFIX, '')\n let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n if (translation === fallback) {\n if (usingFallback) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n translation = key\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n translation = getTranslation(en, key, true)\n }\n }\n\n return translation\n}\n\nexport default function lang (config: Options['lang'] = {}): VuetifyLanguage {\n return {\n locales: Object.assign({ en }, config.locales),\n current: config.current || 'en',\n t (key, ...params) {\n if (!key.startsWith(LANG_PREFIX)) return key\n\n if (config.t) return config.t(key, ...params)\n\n const translation = getTranslation(this.locales[this.current], key)\n\n return translation.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[+index])\n })\n }\n }\n}\n"],"sourceRoot":""}
+14
View File
@@ -0,0 +1,14 @@
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var OPTIONS_DEFAULTS = {
minifyTheme: null,
themeCache: null,
customProperties: false,
cspNonce: null
};
export default function options() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return _extends({}, OPTIONS_DEFAULTS, options);
}
//# sourceMappingURL=options.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/Vuetify/mixins/options.ts"],"names":[],"mappings":";;AAEA,IAAM,mBAAmB;AACvB,iBAAa,IADU;AAEvB,gBAAY,IAFW;AAGvB,sBAAkB,KAHK;AAIvB,cAAU;AAJa,CAAzB;AAOA,eAAc,SAAU,OAAV,GAAwD;AAAA,QAArC,OAAqC,uEAAF,EAAE;;AACpE,wBACK,gBADL,EAEK,OAFL;AAID","sourcesContent":["import { VuetifyOptions } from '../../../../types'\n\nconst OPTIONS_DEFAULTS = {\n minifyTheme: null,\n themeCache: null,\n customProperties: false,\n cspNonce: null\n} as VuetifyOptions\n\nexport default function options (options: Partial<VuetifyOptions> = {}): VuetifyOptions {\n return {\n ...OPTIONS_DEFAULTS,\n ...options\n }\n}\n"],"sourceRoot":""}
+19
View File
@@ -0,0 +1,19 @@
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
/* eslint-disable no-multi-spaces */
var THEME_DEFAULTS = {
primary: '#1976D2',
secondary: '#424242',
accent: '#82B1FF',
error: '#FF5252',
info: '#2196F3',
success: '#4CAF50',
warning: '#FB8C00' // orange.darken1
};
export default function theme() {
var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (theme === false) return false;
return _extends({}, THEME_DEFAULTS, theme);
}
//# sourceMappingURL=theme.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/Vuetify/mixins/theme.ts"],"names":[],"mappings":";;;AAGA,IAAM,iBAAiB;AACrB,aAAS,SADY;AAErB,eAAW,SAFU;AAGrB,YAAQ,SAHa;AAIrB,WAAO,SAJc;AAKrB,UAAM,SALe;AAMrB,aAAS,SANY;AAOrB,aAAS,SAPY,CAOC;AAPD,CAAvB;AAUA,eAAc,SAAU,KAAV,GAAuD;AAAA,QAAtC,KAAsC,uEAAF,EAAE;;AACnE,QAAI,UAAU,KAAd,EAAqB,OAAO,KAAP;AAErB,wBACK,cADL,EAEK,KAFL;AAID","sourcesContent":["import { VuetifyUseOptions, VuetifyTheme } from 'vuetify/types'\n\n/* eslint-disable no-multi-spaces */\nconst THEME_DEFAULTS = {\n primary: '#1976D2', // blue.darken2\n secondary: '#424242', // grey.darken3\n accent: '#82B1FF', // blue.accent1\n error: '#FF5252', // red.accent2\n info: '#2196F3', // blue.base\n success: '#4CAF50', // green.base\n warning: '#FB8C00' // orange.darken1\n}\n\nexport default function theme (theme: VuetifyUseOptions['theme'] = {}): VuetifyTheme | false {\n if (theme === false) return false\n\n return {\n ...THEME_DEFAULTS,\n ...theme\n }\n}\n"],"sourceRoot":""}