update shared components
This commit is contained in:
parent
ee11212148
commit
6f21a963ea
52 changed files with 1405 additions and 1023 deletions
239
dashboard-ui/bower_components/polymer/polymer.html
vendored
239
dashboard-ui/bower_components/polymer/polymer.html
vendored
|
@ -16,6 +16,8 @@ Code distributed by Google as part of the polymer project is also
|
|||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
--><link rel="import" href="polymer-mini.html">
|
||||
|
||||
|
||||
|
||||
<script>Polymer.nar = [];
|
||||
Polymer.Annotations = {
|
||||
parseAnnotations: function (template) {
|
||||
|
@ -254,7 +256,7 @@ at.value = a === 'style' ? resolveCss(v, ownerDocument) : resolve(v, ownerDocume
|
|||
}
|
||||
}
|
||||
function resolve(url, ownerDocument) {
|
||||
if (url && url[0] === '#') {
|
||||
if (url && ABS_URL.test(url)) {
|
||||
return url;
|
||||
}
|
||||
var resolver = getUrlResolver(ownerDocument);
|
||||
|
@ -285,6 +287,7 @@ var URL_ATTRS = {
|
|||
],
|
||||
form: ['action']
|
||||
};
|
||||
var ABS_URL = /(^\/)|(^#)|(^[\w-\d]*:)/;
|
||||
var BINDING_RX = /\{\{|\[\[/;
|
||||
Polymer.ResolveUrl = {
|
||||
resolveCss: resolveCss,
|
||||
|
@ -567,6 +570,10 @@ return false;
|
|||
}();
|
||||
var IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);
|
||||
var mouseCanceller = function (mouseEvent) {
|
||||
var sc = mouseEvent.sourceCapabilities;
|
||||
if (sc && !sc.firesTouchEvents) {
|
||||
return;
|
||||
}
|
||||
mouseEvent[HANDLED_OBJ] = { skip: true };
|
||||
if (mouseEvent.type === 'click') {
|
||||
var path = Polymer.dom(mouseEvent).path;
|
||||
|
@ -768,7 +775,7 @@ prevent = dy > dx;
|
|||
prevent = dx > dy;
|
||||
}
|
||||
if (prevent) {
|
||||
ev.preventDefault();
|
||||
//ev.preventDefault();
|
||||
} else {
|
||||
Gestures.prevent('track');
|
||||
}
|
||||
|
@ -1433,7 +1440,7 @@ node = node || this;
|
|||
var effects = node._propertyEffects && node._propertyEffects[property];
|
||||
if (effects) {
|
||||
node._propertySetter(property, value, effects, quiet);
|
||||
} else {
|
||||
} else if (node[property] !== value) {
|
||||
node[property] = value;
|
||||
}
|
||||
},
|
||||
|
@ -1910,9 +1917,6 @@ _applyEffectValue: function (info, value) {
|
|||
var node = this._nodes[info.index];
|
||||
var property = info.name;
|
||||
value = this._computeFinalAnnotationValue(node, property, value, info);
|
||||
if (info.customEvent && node[property] === value) {
|
||||
return;
|
||||
}
|
||||
if (info.kind == 'attribute') {
|
||||
this.serializeValueToAttribute(value, property, node);
|
||||
} else {
|
||||
|
@ -1980,6 +1984,7 @@ this._configure();
|
|||
},
|
||||
_configure: function () {
|
||||
this._configureAnnotationReferences();
|
||||
this._configureInstanceProperties();
|
||||
this._aboveConfig = this.mixin({}, this._config);
|
||||
var config = {};
|
||||
for (var i = 0; i < this.behaviors.length; i++) {
|
||||
|
@ -1992,13 +1997,18 @@ if (this._clients && this._clients.length) {
|
|||
this._distributeConfig(this._config);
|
||||
}
|
||||
},
|
||||
_configureInstanceProperties: function () {
|
||||
for (var i in this._propertyEffects) {
|
||||
if (!usePolyfillProto && this.hasOwnProperty(i)) {
|
||||
this._configValue(i, this[i]);
|
||||
delete this[i];
|
||||
}
|
||||
}
|
||||
},
|
||||
_configureProperties: function (properties, config) {
|
||||
for (var i in properties) {
|
||||
var c = properties[i];
|
||||
if (!usePolyfillProto && this.hasOwnProperty(i) && this._propertyEffects && this._propertyEffects[i]) {
|
||||
config[i] = this[i];
|
||||
delete this[i];
|
||||
} else if (c.value !== undefined) {
|
||||
if (c.value !== undefined) {
|
||||
var value = c.value;
|
||||
if (typeof value == 'function') {
|
||||
value = value.call(this, this._config);
|
||||
|
@ -2699,10 +2709,42 @@ return this.getCssBuildType(dm);
|
|||
getCssBuildType: function (element) {
|
||||
return element.getAttribute('css-build');
|
||||
},
|
||||
_findMatchingParen: function (text, start) {
|
||||
var level = 0;
|
||||
for (var i = start, l = text.length; i < l; i++) {
|
||||
switch (text[i]) {
|
||||
case '(':
|
||||
level++;
|
||||
break;
|
||||
case ')':
|
||||
if (--level === 0) {
|
||||
return i;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
processVariableAndFallback: function (str, callback) {
|
||||
var start = str.indexOf('var(');
|
||||
if (start === -1) {
|
||||
return callback(str, '', '', '');
|
||||
}
|
||||
var end = this._findMatchingParen(str, start + 3);
|
||||
var inner = str.substring(start + 4, end);
|
||||
var prefix = str.substring(0, start);
|
||||
var suffix = this.processVariableAndFallback(str.substring(end + 1), callback);
|
||||
var comma = inner.indexOf(',');
|
||||
if (comma === -1) {
|
||||
return callback(prefix, inner.trim(), '', suffix);
|
||||
}
|
||||
var value = inner.substring(0, comma).trim();
|
||||
var fallback = inner.substring(comma + 1).trim();
|
||||
return callback(prefix, value, fallback, suffix);
|
||||
},
|
||||
rx: {
|
||||
VAR_ASSIGN: /(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,
|
||||
MIXIN_MATCH: /(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,
|
||||
VAR_MATCH: /(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)+))[\s]*?\)/gi,
|
||||
VAR_CONSUMED: /(--[\w-]+)\s*([:,;)]|$)/gi,
|
||||
ANIMATION_MATCH: /(animation\s*:)|(animation-name\s*:)/,
|
||||
MEDIA_MATCH: /@media[^(]*(\([^)]*\))/,
|
||||
|
@ -2997,42 +3039,66 @@ STRIP: /%[^,]*$/
|
|||
var styleUtil = Polymer.StyleUtil;
|
||||
var MIXIN_MATCH = styleUtil.rx.MIXIN_MATCH;
|
||||
var VAR_ASSIGN = styleUtil.rx.VAR_ASSIGN;
|
||||
var VAR_MATCH = styleUtil.rx.VAR_MATCH;
|
||||
var BAD_VAR = /var\(\s*(--[^,]*),\s*(--[^)]*)\)/g;
|
||||
var APPLY_NAME_CLEAN = /;\s*/m;
|
||||
var INITIAL_INHERIT = /^\s*(initial)|(inherit)\s*$/;
|
||||
var MIXIN_VAR_SEP = '_-_';
|
||||
var mixinMap = {};
|
||||
function mapSet(name, prop) {
|
||||
function mapSet(name, props) {
|
||||
name = name.trim();
|
||||
mixinMap[name] = prop;
|
||||
mixinMap[name] = {
|
||||
properties: props,
|
||||
dependants: {}
|
||||
};
|
||||
}
|
||||
function mapGet(name) {
|
||||
name = name.trim();
|
||||
return mixinMap[name];
|
||||
}
|
||||
function replaceInitialOrInherit(property, value) {
|
||||
var match = INITIAL_INHERIT.exec(value);
|
||||
if (match) {
|
||||
if (match[1]) {
|
||||
value = ApplyShim._getInitialValueForProperty(property);
|
||||
} else {
|
||||
value = 'apply-shim-inherit';
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function cssTextToMap(text) {
|
||||
var props = text.split(';');
|
||||
var property, value;
|
||||
var out = {};
|
||||
for (var i = 0, p, sp; i < props.length; i++) {
|
||||
p = props[i];
|
||||
if (p) {
|
||||
sp = p.split(':');
|
||||
if (sp.length > 1) {
|
||||
out[sp[0].trim()] = sp.slice(1).join(':');
|
||||
property = sp[0].trim();
|
||||
value = replaceInitialOrInherit(property, sp.slice(1).join(':'));
|
||||
out[property] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
function invalidateMixinEntry(mixinEntry) {
|
||||
var currentProto = ApplyShim.__currentElementProto;
|
||||
var currentElementName = currentProto && currentProto.is;
|
||||
for (var elementName in mixinEntry.dependants) {
|
||||
if (elementName !== currentElementName) {
|
||||
mixinEntry.dependants[elementName].__applyShimInvalid = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
function produceCssProperties(matchText, propertyName, valueProperty, valueMixin) {
|
||||
if (valueProperty) {
|
||||
VAR_MATCH.lastIndex = 0;
|
||||
var m = VAR_MATCH.exec(valueProperty);
|
||||
if (m) {
|
||||
var value = m[2];
|
||||
if (mapGet(value)) {
|
||||
styleUtil.processVariableAndFallback(valueProperty, function (prefix, value) {
|
||||
if (value && mapGet(value)) {
|
||||
valueMixin = '@apply ' + value + ';';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
if (!valueMixin) {
|
||||
return matchText;
|
||||
|
@ -3040,44 +3106,57 @@ return matchText;
|
|||
var mixinAsProperties = consumeCssProperties(valueMixin);
|
||||
var prefix = matchText.slice(0, matchText.indexOf('--'));
|
||||
var mixinValues = cssTextToMap(mixinAsProperties);
|
||||
var oldProperties = mapGet(propertyName);
|
||||
var combinedProps = mixinValues;
|
||||
if (oldProperties) {
|
||||
combinedProps = Polymer.Base.mixin(oldProperties, mixinValues);
|
||||
var mixinEntry = mapGet(propertyName);
|
||||
var oldProps = mixinEntry && mixinEntry.properties;
|
||||
if (oldProps) {
|
||||
combinedProps = Object.create(oldProps);
|
||||
combinedProps = Polymer.Base.mixin(combinedProps, mixinValues);
|
||||
} else {
|
||||
mapSet(propertyName, combinedProps);
|
||||
}
|
||||
var out = [];
|
||||
var p, v;
|
||||
var needToInvalidate = false;
|
||||
for (p in combinedProps) {
|
||||
v = mixinValues[p];
|
||||
if (v === undefined) {
|
||||
v = 'initial';
|
||||
}
|
||||
if (oldProps && !(p in oldProps)) {
|
||||
needToInvalidate = true;
|
||||
}
|
||||
out.push(propertyName + MIXIN_VAR_SEP + p + ': ' + v);
|
||||
}
|
||||
if (needToInvalidate) {
|
||||
invalidateMixinEntry(mixinEntry);
|
||||
}
|
||||
if (mixinEntry) {
|
||||
mixinEntry.properties = combinedProps;
|
||||
}
|
||||
if (valueProperty) {
|
||||
prefix = matchText + ';' + prefix;
|
||||
}
|
||||
return prefix + out.join('; ') + ';';
|
||||
}
|
||||
function fixVars(matchText, prefix, value, fallback) {
|
||||
if (!fallback || fallback.indexOf('--') !== 0) {
|
||||
return matchText;
|
||||
}
|
||||
return [
|
||||
prefix,
|
||||
'var(',
|
||||
value,
|
||||
', var(',
|
||||
fallback,
|
||||
'));'
|
||||
].join('');
|
||||
function fixVars(matchText, varA, varB) {
|
||||
return 'var(' + varA + ',' + 'var(' + varB + '));';
|
||||
}
|
||||
function atApplyToCssProperties(mixinName, fallbacks) {
|
||||
mixinName = mixinName.replace(APPLY_NAME_CLEAN, '');
|
||||
var vars = [];
|
||||
var mixinProperties = mapGet(mixinName);
|
||||
if (mixinProperties) {
|
||||
var mixinEntry = mapGet(mixinName);
|
||||
if (!mixinEntry) {
|
||||
mapSet(mixinName, {});
|
||||
mixinEntry = mapGet(mixinName);
|
||||
}
|
||||
if (mixinEntry) {
|
||||
var currentProto = ApplyShim.__currentElementProto;
|
||||
if (currentProto) {
|
||||
mixinEntry.dependants[currentProto.is] = currentProto;
|
||||
}
|
||||
var p, parts, f;
|
||||
for (p in mixinProperties) {
|
||||
for (p in mixinEntry.properties) {
|
||||
f = fallbacks && fallbacks[p];
|
||||
parts = [
|
||||
p,
|
||||
|
@ -3117,10 +3196,14 @@ MIXIN_MATCH.lastIndex = idx + replacement.length;
|
|||
return text;
|
||||
}
|
||||
var ApplyShim = {
|
||||
_measureElement: null,
|
||||
_map: mixinMap,
|
||||
_separator: MIXIN_VAR_SEP,
|
||||
transform: function (styles) {
|
||||
transform: function (styles, elementProto) {
|
||||
this.__currentElementProto = elementProto;
|
||||
styleUtil.forRulesInStyles(styles, this._boundTransformRule);
|
||||
elementProto.__applyShimInvalid = false;
|
||||
this.__currentElementProto = null;
|
||||
},
|
||||
transformRule: function (rule) {
|
||||
rule.cssText = this.transformCssText(rule.parsedCssText);
|
||||
|
@ -3129,9 +3212,17 @@ rule.selector = ':host > *';
|
|||
}
|
||||
},
|
||||
transformCssText: function (cssText) {
|
||||
cssText = cssText.replace(VAR_MATCH, fixVars);
|
||||
cssText = cssText.replace(BAD_VAR, fixVars);
|
||||
cssText = cssText.replace(VAR_ASSIGN, produceCssProperties);
|
||||
return consumeCssProperties(cssText);
|
||||
},
|
||||
_getInitialValueForProperty: function (property) {
|
||||
if (!this._measureElement) {
|
||||
this._measureElement = document.createElement('meta');
|
||||
this._measureElement.style.all = 'initial';
|
||||
document.head.appendChild(this._measureElement);
|
||||
}
|
||||
return window.getComputedStyle(this._measureElement).getPropertyValue(property);
|
||||
}
|
||||
};
|
||||
ApplyShim._boundTransformRule = ApplyShim.transformRule.bind(ApplyShim);
|
||||
|
@ -3168,7 +3259,7 @@ return;
|
|||
}
|
||||
this._styles = this._styles || this._collectStyles();
|
||||
if (settings.useNativeCSSProperties && !this.__cssBuild) {
|
||||
applyShim.transform(this._styles);
|
||||
applyShim.transform(this._styles, this);
|
||||
}
|
||||
var cssText = settings.useNativeCSSProperties && hasTargetedCssBuild ? this._styles.length && this._styles[0].textContent.trim() : styleTransformer.elementStyles(this);
|
||||
this._prepStyleProperties();
|
||||
|
@ -3256,6 +3347,7 @@ return mo;
|
|||
var matchesSelector = Polymer.DomApi.matchesSelector;
|
||||
var styleUtil = Polymer.StyleUtil;
|
||||
var styleTransformer = Polymer.StyleTransformer;
|
||||
var IS_IE = navigator.userAgent.match('Trident');
|
||||
var settings = Polymer.Settings;
|
||||
return {
|
||||
decorateStyles: function (styles, scope) {
|
||||
|
@ -3310,9 +3402,13 @@ return true;
|
|||
} else {
|
||||
var m, rx = this.rx.VAR_ASSIGN;
|
||||
var cssText = rule.parsedCssText;
|
||||
var value;
|
||||
var any;
|
||||
while (m = rx.exec(cssText)) {
|
||||
properties[m[1].trim()] = (m[2] || m[3]).trim();
|
||||
value = (m[2] || m[3]).trim();
|
||||
if (value !== 'inherit') {
|
||||
properties[m[1].trim()] = value;
|
||||
}
|
||||
any = true;
|
||||
}
|
||||
return any;
|
||||
|
@ -3346,11 +3442,16 @@ if (property.indexOf(';') >= 0) {
|
|||
property = this.valueForProperties(property, props);
|
||||
} else {
|
||||
var self = this;
|
||||
var fn = function (all, prefix, value, fallback) {
|
||||
var propertyValue = self.valueForProperty(props[value], props) || self.valueForProperty(props[fallback] || fallback, props) || fallback;
|
||||
return prefix + (propertyValue || '');
|
||||
var fn = function (prefix, value, fallback, suffix) {
|
||||
var propertyValue = self.valueForProperty(props[value], props);
|
||||
if (!propertyValue || propertyValue === 'initial') {
|
||||
propertyValue = self.valueForProperty(props[fallback] || fallback, props) || fallback;
|
||||
} else if (propertyValue === 'apply-shim-inherit') {
|
||||
propertyValue = 'inherit';
|
||||
}
|
||||
return prefix + (propertyValue || '') + suffix;
|
||||
};
|
||||
property = property.replace(this.rx.VAR_MATCH, fn);
|
||||
property = styleUtil.processVariableAndFallback(property, fn);
|
||||
}
|
||||
}
|
||||
return property && property.trim() || '';
|
||||
|
@ -3448,7 +3549,7 @@ var isRoot = parsedSelector === ':root';
|
|||
var isHost = parsedSelector.indexOf(':host') === 0;
|
||||
var cssBuild = scope.__cssBuild || style.__cssBuild;
|
||||
if (cssBuild === 'shady') {
|
||||
isRoot = parsedSelector === hostScope + '> *.' + hostScope || parsedSelector.indexOf('html') !== -1;
|
||||
isRoot = parsedSelector === hostScope + ' > *.' + hostScope || parsedSelector.indexOf('html') !== -1;
|
||||
isHost = !isRoot && parsedSelector.indexOf(hostScope) === 0;
|
||||
}
|
||||
if (cssBuild === 'shadow') {
|
||||
|
@ -3463,7 +3564,7 @@ if (isHost) {
|
|||
if (settings.useNativeShadow && !rule.transformedSelector) {
|
||||
rule.transformedSelector = styleTransformer._transformRuleCss(rule, styleTransformer._transformComplexSelector, scope.is, hostScope);
|
||||
}
|
||||
selectorToMatch = rule.transformedSelector || hostScope;
|
||||
selectorToMatch = rule.transformedSelector || rule.parsedSelector;
|
||||
}
|
||||
callback({
|
||||
selector: selectorToMatch,
|
||||
|
@ -3579,6 +3680,9 @@ style._useCount++;
|
|||
}
|
||||
element._customStyle = style;
|
||||
}
|
||||
if (IS_IE) {
|
||||
style.textContent = style.textContent;
|
||||
}
|
||||
return style;
|
||||
},
|
||||
mixinCustomStyle: function (props, customStyle) {
|
||||
|
@ -3591,14 +3695,20 @@ props[i] = v;
|
|||
}
|
||||
},
|
||||
updateNativeStyleProperties: function (element, properties) {
|
||||
for (var i = 0; i < element.style.length; i++) {
|
||||
element.style.removeProperty(element.style[i]);
|
||||
var oldPropertyNames = element.__customStyleProperties;
|
||||
if (oldPropertyNames) {
|
||||
for (var i = 0; i < oldPropertyNames.length; i++) {
|
||||
element.style.removeProperty(oldPropertyNames[i]);
|
||||
}
|
||||
}
|
||||
var propertyNames = [];
|
||||
for (var p in properties) {
|
||||
if (properties[p] !== null) {
|
||||
element.style.setProperty(p, properties[p]);
|
||||
propertyNames.push(p);
|
||||
}
|
||||
}
|
||||
element.__customStyleProperties = propertyNames;
|
||||
},
|
||||
rx: styleUtil.rx,
|
||||
XSCOPE_NAME: 'x-scope'
|
||||
|
@ -3732,6 +3842,23 @@ this._customStyle = null;
|
|||
_needsStyleProperties: function () {
|
||||
return Boolean(!nativeVariables && this._ownStylePropertyNames && this._ownStylePropertyNames.length);
|
||||
},
|
||||
_validateApplyShim: function () {
|
||||
if (this.__applyShimInvalid) {
|
||||
Polymer.ApplyShim.transform(this._styles, this.__proto__);
|
||||
var cssText = styleTransformer.elementStyles(this);
|
||||
if (nativeShadow) {
|
||||
var templateStyle = this._template.content.querySelector('style');
|
||||
if (templateStyle) {
|
||||
templateStyle.textContent = cssText;
|
||||
}
|
||||
} else {
|
||||
var shadyStyle = this._scopeStyle && this._scopeStyle.nextSibling;
|
||||
if (shadyStyle) {
|
||||
shadyStyle.textContent = cssText;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
_beforeAttached: function () {
|
||||
if ((!this._scopeSelector || this.__stylePropertiesInvalid) && this._needsStyleProperties()) {
|
||||
this.__stylePropertiesInvalid = false;
|
||||
|
@ -3750,6 +3877,9 @@ return styleDefaults;
|
|||
},
|
||||
_updateStyleProperties: function () {
|
||||
var info, scope = this._findStyleHost();
|
||||
if (!scope._styleProperties) {
|
||||
scope._computeStyleProperties();
|
||||
}
|
||||
if (!scope._styleCache) {
|
||||
scope._styleCache = new Polymer.StyleCache();
|
||||
}
|
||||
|
@ -3909,6 +4039,7 @@ this._setupDebouncers();
|
|||
this._setupShady();
|
||||
this._registerHost();
|
||||
if (this._template) {
|
||||
this._validateApplyShim();
|
||||
this._poolContent();
|
||||
this._beginHosting();
|
||||
this._stampTemplate();
|
||||
|
@ -5101,7 +5232,7 @@ this._instance._showHideChildren(hidden);
|
|||
},
|
||||
_forwardParentProp: function (prop, value) {
|
||||
if (this._instance) {
|
||||
this._instance[prop] = value;
|
||||
this._instance.__setProperty(prop, value, true);
|
||||
}
|
||||
},
|
||||
_forwardParentPath: function (path, value) {
|
||||
|
@ -5157,6 +5288,8 @@ return this.dataHost._scopeElementClass(element, selector);
|
|||
return selector;
|
||||
}
|
||||
},
|
||||
_configureInstanceProperties: function () {
|
||||
},
|
||||
_prepConfigure: function () {
|
||||
var config = {};
|
||||
for (var prop in this._propertyEffects) {
|
||||
|
@ -5219,8 +5352,6 @@ this.fire('dom-change');
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue