| Index: polymer_1.0.4/bower_components/polymer/polymer-micro.html
|
| diff --git a/polymer_1.0.4/bower_components/polymer/polymer-micro.html b/polymer_1.0.4/bower_components/polymer/polymer-micro.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e16f5b17a6d546f7c733c20ff67574a18655f3cf
|
| --- /dev/null
|
| +++ b/polymer_1.0.4/bower_components/polymer/polymer-micro.html
|
| @@ -0,0 +1,523 @@
|
| +<!--
|
| +@license
|
| +Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
| +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| +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
|
| +--><script>(function () {
|
| +function resolve() {
|
| +document.body.removeAttribute('unresolved');
|
| +}
|
| +if (window.WebComponents) {
|
| +addEventListener('WebComponentsReady', resolve);
|
| +} else {
|
| +if (document.readyState === 'interactive' || document.readyState === 'complete') {
|
| +resolve();
|
| +} else {
|
| +addEventListener('DOMContentLoaded', resolve);
|
| +}
|
| +}
|
| +}());
|
| +Polymer = {
|
| +Settings: function () {
|
| +var user = window.Polymer || {};
|
| +location.search.slice(1).split('&').forEach(function (o) {
|
| +o = o.split('=');
|
| +o[0] && (user[o[0]] = o[1] || true);
|
| +});
|
| +var wantShadow = user.dom === 'shadow';
|
| +var hasShadow = Boolean(Element.prototype.createShadowRoot);
|
| +var nativeShadow = hasShadow && !window.ShadowDOMPolyfill;
|
| +var useShadow = wantShadow && hasShadow;
|
| +var hasNativeImports = Boolean('import' in document.createElement('link'));
|
| +var useNativeImports = hasNativeImports;
|
| +var useNativeCustomElements = !window.CustomElements || window.CustomElements.useNative;
|
| +return {
|
| +wantShadow: wantShadow,
|
| +hasShadow: hasShadow,
|
| +nativeShadow: nativeShadow,
|
| +useShadow: useShadow,
|
| +useNativeShadow: useShadow && nativeShadow,
|
| +useNativeImports: useNativeImports,
|
| +useNativeCustomElements: useNativeCustomElements
|
| +};
|
| +}()
|
| +};
|
| +(function () {
|
| +var userPolymer = window.Polymer;
|
| +window.Polymer = function (prototype) {
|
| +var ctor = desugar(prototype);
|
| +prototype = ctor.prototype;
|
| +var options = { prototype: prototype };
|
| +if (prototype.extends) {
|
| +options.extends = prototype.extends;
|
| +}
|
| +Polymer.telemetry._registrate(prototype);
|
| +document.registerElement(prototype.is, options);
|
| +return ctor;
|
| +};
|
| +var desugar = function (prototype) {
|
| +prototype = Polymer.Base.chainObject(prototype, Polymer.Base);
|
| +prototype.registerCallback();
|
| +return prototype.constructor;
|
| +};
|
| +window.Polymer = Polymer;
|
| +if (userPolymer) {
|
| +for (var i in userPolymer) {
|
| +Polymer[i] = userPolymer[i];
|
| +}
|
| +}
|
| +Polymer.Class = desugar;
|
| +}());
|
| +Polymer.telemetry = {
|
| +registrations: [],
|
| +_regLog: function (prototype) {
|
| +console.log('[' + prototype.is + ']: registered');
|
| +},
|
| +_registrate: function (prototype) {
|
| +this.registrations.push(prototype);
|
| +Polymer.log && this._regLog(prototype);
|
| +},
|
| +dumpRegistrations: function () {
|
| +this.registrations.forEach(this._regLog);
|
| +}
|
| +};
|
| +Object.defineProperty(window, 'currentImport', {
|
| +enumerable: true,
|
| +configurable: true,
|
| +get: function () {
|
| +return (document._currentScript || document.currentScript).ownerDocument;
|
| +}
|
| +});
|
| +Polymer.Base = {
|
| +_addFeature: function (feature) {
|
| +this.extend(this, feature);
|
| +},
|
| +registerCallback: function () {
|
| +this._registerFeatures();
|
| +this._doBehavior('registered');
|
| +},
|
| +createdCallback: function () {
|
| +Polymer.telemetry.instanceCount++;
|
| +this.root = this;
|
| +this._doBehavior('created');
|
| +this._initFeatures();
|
| +},
|
| +attachedCallback: function () {
|
| +this.isAttached = true;
|
| +this._doBehavior('attached');
|
| +},
|
| +detachedCallback: function () {
|
| +this.isAttached = false;
|
| +this._doBehavior('detached');
|
| +},
|
| +attributeChangedCallback: function (name) {
|
| +this._setAttributeToProperty(this, name);
|
| +this._doBehavior('attributeChanged', arguments);
|
| +},
|
| +extend: function (prototype, api) {
|
| +if (prototype && api) {
|
| +Object.getOwnPropertyNames(api).forEach(function (n) {
|
| +this.copyOwnProperty(n, api, prototype);
|
| +}, this);
|
| +}
|
| +return prototype || api;
|
| +},
|
| +copyOwnProperty: function (name, source, target) {
|
| +var pd = Object.getOwnPropertyDescriptor(source, name);
|
| +if (pd) {
|
| +Object.defineProperty(target, name, pd);
|
| +}
|
| +},
|
| +_log: console.log.apply.bind(console.log, console),
|
| +_warn: console.warn.apply.bind(console.warn, console),
|
| +_error: console.error.apply.bind(console.error, console),
|
| +_logf: function () {
|
| +return this._logPrefix.concat([this.is]).concat(Array.prototype.slice.call(arguments, 0));
|
| +}
|
| +};
|
| +Polymer.Base._logPrefix = function () {
|
| +var color = window.chrome || /firefox/i.test(navigator.userAgent);
|
| +return color ? [
|
| +'%c[%s::%s]:',
|
| +'font-weight: bold; background-color:#EEEE00;'
|
| +] : ['[%s::%s]:'];
|
| +}();
|
| +Polymer.Base.chainObject = function (object, inherited) {
|
| +if (object && inherited && object !== inherited) {
|
| +if (!Object.__proto__) {
|
| +object = Polymer.Base.extend(Object.create(inherited), object);
|
| +}
|
| +object.__proto__ = inherited;
|
| +}
|
| +return object;
|
| +};
|
| +Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
|
| +Polymer.telemetry.instanceCount = 0;
|
| +(function () {
|
| +var modules = {};
|
| +var DomModule = function () {
|
| +return document.createElement('dom-module');
|
| +};
|
| +DomModule.prototype = Object.create(HTMLElement.prototype);
|
| +DomModule.prototype.constructor = DomModule;
|
| +DomModule.prototype.createdCallback = function () {
|
| +var id = this.id || this.getAttribute('name') || this.getAttribute('is');
|
| +if (id) {
|
| +this.id = id;
|
| +modules[id] = this;
|
| +}
|
| +};
|
| +DomModule.prototype.import = function (id, slctr) {
|
| +var m = modules[id];
|
| +if (!m) {
|
| +forceDocumentUpgrade();
|
| +m = modules[id];
|
| +}
|
| +if (m && slctr) {
|
| +m = m.querySelector(slctr);
|
| +}
|
| +return m;
|
| +};
|
| +var cePolyfill = window.CustomElements && !CustomElements.useNative;
|
| +if (cePolyfill) {
|
| +var ready = CustomElements.ready;
|
| +CustomElements.ready = true;
|
| +}
|
| +document.registerElement('dom-module', DomModule);
|
| +if (cePolyfill) {
|
| +CustomElements.ready = ready;
|
| +}
|
| +function forceDocumentUpgrade() {
|
| +if (cePolyfill) {
|
| +var script = document._currentScript || document.currentScript;
|
| +if (script) {
|
| +CustomElements.upgradeAll(script.ownerDocument);
|
| +}
|
| +}
|
| +}
|
| +}());
|
| +Polymer.Base._addFeature({
|
| +_prepIs: function () {
|
| +if (!this.is) {
|
| +var module = (document._currentScript || document.currentScript).parentNode;
|
| +if (module.localName === 'dom-module') {
|
| +var id = module.id || module.getAttribute('name') || module.getAttribute('is');
|
| +this.is = id;
|
| +}
|
| +}
|
| +}
|
| +});
|
| +Polymer.Base._addFeature({
|
| +behaviors: [],
|
| +_prepBehaviors: function () {
|
| +if (this.behaviors.length) {
|
| +this.behaviors = this._flattenBehaviorsList(this.behaviors);
|
| +}
|
| +this._prepAllBehaviors(this.behaviors);
|
| +},
|
| +_flattenBehaviorsList: function (behaviors) {
|
| +var flat = [];
|
| +behaviors.forEach(function (b) {
|
| +if (b instanceof Array) {
|
| +flat = flat.concat(this._flattenBehaviorsList(b));
|
| +} else if (b) {
|
| +flat.push(b);
|
| +} else {
|
| +this._warn(this._logf('_flattenBehaviorsList', 'behavior is null, check for missing or 404 import'));
|
| +}
|
| +}, this);
|
| +return flat;
|
| +},
|
| +_prepAllBehaviors: function (behaviors) {
|
| +for (var i = behaviors.length - 1; i >= 0; i--) {
|
| +this._mixinBehavior(behaviors[i]);
|
| +}
|
| +for (var i = 0, l = behaviors.length; i < l; i++) {
|
| +this._prepBehavior(behaviors[i]);
|
| +}
|
| +this._prepBehavior(this);
|
| +},
|
| +_mixinBehavior: function (b) {
|
| +Object.getOwnPropertyNames(b).forEach(function (n) {
|
| +switch (n) {
|
| +case 'hostAttributes':
|
| +case 'registered':
|
| +case 'properties':
|
| +case 'observers':
|
| +case 'listeners':
|
| +case 'created':
|
| +case 'attached':
|
| +case 'detached':
|
| +case 'attributeChanged':
|
| +case 'configure':
|
| +case 'ready':
|
| +break;
|
| +default:
|
| +if (!this.hasOwnProperty(n)) {
|
| +this.copyOwnProperty(n, b, this);
|
| +}
|
| +break;
|
| +}
|
| +}, this);
|
| +},
|
| +_doBehavior: function (name, args) {
|
| +this.behaviors.forEach(function (b) {
|
| +this._invokeBehavior(b, name, args);
|
| +}, this);
|
| +this._invokeBehavior(this, name, args);
|
| +},
|
| +_invokeBehavior: function (b, name, args) {
|
| +var fn = b[name];
|
| +if (fn) {
|
| +fn.apply(this, args || Polymer.nar);
|
| +}
|
| +},
|
| +_marshalBehaviors: function () {
|
| +this.behaviors.forEach(function (b) {
|
| +this._marshalBehavior(b);
|
| +}, this);
|
| +this._marshalBehavior(this);
|
| +}
|
| +});
|
| +Polymer.Base._addFeature({
|
| +_prepExtends: function () {
|
| +if (this.extends) {
|
| +this.__proto__ = this._getExtendedPrototype(this.extends);
|
| +}
|
| +},
|
| +_getExtendedPrototype: function (tag) {
|
| +return this._getExtendedNativePrototype(tag);
|
| +},
|
| +_nativePrototypes: {},
|
| +_getExtendedNativePrototype: function (tag) {
|
| +var p = this._nativePrototypes[tag];
|
| +if (!p) {
|
| +var np = this.getNativePrototype(tag);
|
| +p = this.extend(Object.create(np), Polymer.Base);
|
| +this._nativePrototypes[tag] = p;
|
| +}
|
| +return p;
|
| +},
|
| +getNativePrototype: function (tag) {
|
| +return Object.getPrototypeOf(document.createElement(tag));
|
| +}
|
| +});
|
| +Polymer.Base._addFeature({
|
| +_prepConstructor: function () {
|
| +this._factoryArgs = this.extends ? [
|
| +this.extends,
|
| +this.is
|
| +] : [this.is];
|
| +var ctor = function () {
|
| +return this._factory(arguments);
|
| +};
|
| +if (this.hasOwnProperty('extends')) {
|
| +ctor.extends = this.extends;
|
| +}
|
| +Object.defineProperty(this, 'constructor', {
|
| +value: ctor,
|
| +writable: true,
|
| +configurable: true
|
| +});
|
| +ctor.prototype = this;
|
| +},
|
| +_factory: function (args) {
|
| +var elt = document.createElement.apply(document, this._factoryArgs);
|
| +if (this.factoryImpl) {
|
| +this.factoryImpl.apply(elt, args);
|
| +}
|
| +return elt;
|
| +}
|
| +});
|
| +Polymer.nob = Object.create(null);
|
| +Polymer.Base._addFeature({
|
| +properties: {},
|
| +getPropertyInfo: function (property) {
|
| +var info = this._getPropertyInfo(property, this.properties);
|
| +if (!info) {
|
| +this.behaviors.some(function (b) {
|
| +return info = this._getPropertyInfo(property, b.properties);
|
| +}, this);
|
| +}
|
| +return info || Polymer.nob;
|
| +},
|
| +_getPropertyInfo: function (property, properties) {
|
| +var p = properties && properties[property];
|
| +if (typeof p === 'function') {
|
| +p = properties[property] = { type: p };
|
| +}
|
| +if (p) {
|
| +p.defined = true;
|
| +}
|
| +return p;
|
| +}
|
| +});
|
| +Polymer.CaseMap = {
|
| +_caseMap: {},
|
| +dashToCamelCase: function (dash) {
|
| +var mapped = Polymer.CaseMap._caseMap[dash];
|
| +if (mapped) {
|
| +return mapped;
|
| +}
|
| +if (dash.indexOf('-') < 0) {
|
| +return Polymer.CaseMap._caseMap[dash] = dash;
|
| +}
|
| +return Polymer.CaseMap._caseMap[dash] = dash.replace(/-([a-z])/g, function (m) {
|
| +return m[1].toUpperCase();
|
| +});
|
| +},
|
| +camelToDashCase: function (camel) {
|
| +var mapped = Polymer.CaseMap._caseMap[camel];
|
| +if (mapped) {
|
| +return mapped;
|
| +}
|
| +return Polymer.CaseMap._caseMap[camel] = camel.replace(/([a-z][A-Z])/g, function (g) {
|
| +return g[0] + '-' + g[1].toLowerCase();
|
| +});
|
| +}
|
| +};
|
| +Polymer.Base._addFeature({
|
| +_prepAttributes: function () {
|
| +this._aggregatedAttributes = {};
|
| +},
|
| +_addHostAttributes: function (attributes) {
|
| +if (attributes) {
|
| +this.mixin(this._aggregatedAttributes, attributes);
|
| +}
|
| +},
|
| +_marshalHostAttributes: function () {
|
| +this._applyAttributes(this, this._aggregatedAttributes);
|
| +},
|
| +_applyAttributes: function (node, attr$) {
|
| +for (var n in attr$) {
|
| +if (!this.hasAttribute(n) && n !== 'class') {
|
| +this.serializeValueToAttribute(attr$[n], n, this);
|
| +}
|
| +}
|
| +},
|
| +_marshalAttributes: function () {
|
| +this._takeAttributesToModel(this);
|
| +},
|
| +_takeAttributesToModel: function (model) {
|
| +for (var i = 0, l = this.attributes.length; i < l; i++) {
|
| +this._setAttributeToProperty(model, this.attributes[i].name);
|
| +}
|
| +},
|
| +_setAttributeToProperty: function (model, attrName) {
|
| +if (!this._serializing) {
|
| +var propName = Polymer.CaseMap.dashToCamelCase(attrName);
|
| +var info = this.getPropertyInfo(propName);
|
| +if (info.defined || this._propertyEffects && this._propertyEffects[propName]) {
|
| +var val = this.getAttribute(attrName);
|
| +model[propName] = this.deserialize(val, info.type);
|
| +}
|
| +}
|
| +},
|
| +_serializing: false,
|
| +reflectPropertyToAttribute: function (name) {
|
| +this._serializing = true;
|
| +this.serializeValueToAttribute(this[name], Polymer.CaseMap.camelToDashCase(name));
|
| +this._serializing = false;
|
| +},
|
| +serializeValueToAttribute: function (value, attribute, node) {
|
| +var str = this.serialize(value);
|
| +(node || this)[str === undefined ? 'removeAttribute' : 'setAttribute'](attribute, str);
|
| +},
|
| +deserialize: function (value, type) {
|
| +switch (type) {
|
| +case Number:
|
| +value = Number(value);
|
| +break;
|
| +case Boolean:
|
| +value = value !== null;
|
| +break;
|
| +case Object:
|
| +try {
|
| +value = JSON.parse(value);
|
| +} catch (x) {
|
| +}
|
| +break;
|
| +case Array:
|
| +try {
|
| +value = JSON.parse(value);
|
| +} catch (x) {
|
| +value = null;
|
| +console.warn('Polymer::Attributes: couldn`t decode Array as JSON');
|
| +}
|
| +break;
|
| +case Date:
|
| +value = new Date(value);
|
| +break;
|
| +case String:
|
| +default:
|
| +break;
|
| +}
|
| +return value;
|
| +},
|
| +serialize: function (value) {
|
| +switch (typeof value) {
|
| +case 'boolean':
|
| +return value ? '' : undefined;
|
| +case 'object':
|
| +if (value instanceof Date) {
|
| +return value;
|
| +} else if (value) {
|
| +try {
|
| +return JSON.stringify(value);
|
| +} catch (x) {
|
| +return '';
|
| +}
|
| +}
|
| +default:
|
| +return value != null ? value : undefined;
|
| +}
|
| +}
|
| +});
|
| +Polymer.Base._addFeature({
|
| +_setupDebouncers: function () {
|
| +this._debouncers = {};
|
| +},
|
| +debounce: function (jobName, callback, wait) {
|
| +this._debouncers[jobName] = Polymer.Debounce.call(this, this._debouncers[jobName], callback, wait);
|
| +},
|
| +isDebouncerActive: function (jobName) {
|
| +var debouncer = this._debouncers[jobName];
|
| +return debouncer && debouncer.finish;
|
| +},
|
| +flushDebouncer: function (jobName) {
|
| +var debouncer = this._debouncers[jobName];
|
| +if (debouncer) {
|
| +debouncer.complete();
|
| +}
|
| +},
|
| +cancelDebouncer: function (jobName) {
|
| +var debouncer = this._debouncers[jobName];
|
| +if (debouncer) {
|
| +debouncer.stop();
|
| +}
|
| +}
|
| +});
|
| +Polymer.version = '1.0.4';
|
| +Polymer.Base._addFeature({
|
| +_registerFeatures: function () {
|
| +this._prepIs();
|
| +this._prepAttributes();
|
| +this._prepBehaviors();
|
| +this._prepExtends();
|
| +this._prepConstructor();
|
| +},
|
| +_prepBehavior: function (b) {
|
| +this._addHostAttributes(b.hostAttributes);
|
| +},
|
| +_marshalBehavior: function (b) {
|
| +},
|
| +_initFeatures: function () {
|
| +this._marshalHostAttributes();
|
| +this._setupDebouncers();
|
| +this._marshalBehaviors();
|
| +}
|
| +});</script>
|
| +
|
|
|