Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3014)

Unified Diff: bower_components/core-iconset/core-iconset.html

Issue 786953007: npm_modules: Fork bower_components into Polymer 0.4.0 and 0.5.0 versions (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « bower_components/core-iconset/bower.json ('k') | bower_components/core-iconset/demo.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bower_components/core-iconset/core-iconset.html
diff --git a/bower_components/core-iconset/core-iconset.html b/bower_components/core-iconset/core-iconset.html
deleted file mode 100644
index 7ab2d34011c1f0fa8481f5d8df1bb08f10a38089..0000000000000000000000000000000000000000
--- a/bower_components/core-iconset/core-iconset.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!--
-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
--->
-
-<!--
-/**
- * @group Polymer Core Elements
- *
- * The `core-iconset` element allows users to define their own icon sets.
- * The `src` property specifies the url of the icon image. Multiple icons may
- * be included in this image and they may be organized into rows.
- * The `icons` property is a space separated list of names corresponding to the
- * icons. The names must be ordered as the icons are ordered in the icon image.
- * Icons are expected to be square and are the size specified by the `iconSize`
- * property. The `width` property corresponds to the width of the icon image
- * and must be specified if icons are arranged into multiple rows in the image.
- *
- * All `core-iconset` elements are available for use by other `core-iconset`
- * elements via a database keyed by id. Typically, an element author that wants
- * to support a set of custom icons uses a `core-iconset` to retrieve
- * and use another, user-defined iconset.
- *
- * Example:
- *
- * <core-iconset id="my-icons" src="my-icons.png" width="96" iconSize="24"
- * icons="location place starta stopb bus car train walk">
- * </core-iconset>
- *
- * This will automatically register the icon set "my-icons" to the iconset
- * database. To use these icons from within another element, make a
- * `core-iconset` element and call the `byId` method to retrieve a
- * given iconset. To apply a particular icon to an element, use the
- * `applyIcon` method. For example:
- *
- * iconset.applyIcon(iconNode, 'car');
- *
- * Themed icon sets are also supported. The `core-iconset` can contain child
- * `property` elements that specify a theme with an offsetX and offsetY of the
- * theme within the icon resource. For example.
- *
- * <core-iconset id="my-icons" src="my-icons.png" width="96" iconSize="24"
- * icons="location place starta stopb bus car train walk">
- * <property theme="special" offsetX="256" offsetY="24"></property>
- * </core-iconset>
- *
- * Then a themed icon can be applied like this:
- *
- * iconset.applyIcon(iconNode, 'car', 'special');
- *
- * @element core-iconset
- * @extends core-meta
- * @homepage github.io
- */
--->
-
-<link rel="import" href="../core-meta/core-meta.html">
-
-<polymer-element name="core-iconset" extends="core-meta" attributes="src width icons iconSize">
-
- <script>
-
- Polymer('core-iconset', {
-
- /**
- * The URL of the iconset image.
- *
- * @attribute src
- * @type string
- * @default ''
- */
- src: '',
-
- /**
- * The width of the iconset image. This must only be specified if the
- * icons are arranged into separate rows inside the image.
- *
- * @attribute width
- * @type number
- * @default 0
- */
- width: 0,
-
- /**
- * A space separated list of names corresponding to icons in the iconset
- * image file. This list must be ordered the same as the icon images
- * in the image file.
- *
- * @attribute icons
- * @type string
- * @default ''
- */
- icons: '',
-
- /**
- * The size of an individual icon. Note that icons must be square.
- *
- * @attribute iconSize
- * @type number
- * @default 24
- */
- iconSize: 24,
-
- /**
- * The horizontal offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offsetX
- * @type number
- * @default 0
- */
- offsetX: 0,
- /**
- * The vertical offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offsetY
- * @type number
- * @default 0
- */
- offsetY: 0,
- type: 'iconset',
-
- created: function() {
- this.iconMap = {};
- this.iconNames = [];
- this.themes = {};
- },
-
- ready: function() {
- // TODO(sorvell): ensure iconset's src is always relative to the main
- // document
- if (this.src && (this.ownerDocument !== document)) {
- this.src = this.resolvePath(this.src, this.ownerDocument.baseURI);
- }
- this.super();
- this.updateThemes();
- },
-
- iconsChanged: function() {
- var ox = this.offsetX;
- var oy = this.offsetY;
- this.icons && this.icons.split(/\s+/g).forEach(function(name, i) {
- this.iconNames.push(name);
- this.iconMap[name] = {
- offsetX: ox,
- offsetY: oy
- }
- if (ox + this.iconSize < this.width) {
- ox += this.iconSize;
- } else {
- ox = this.offsetX;
- oy += this.iconSize;
- }
- }, this);
- },
-
- updateThemes: function() {
- var ts = this.querySelectorAll('property[theme]');
- ts && ts.array().forEach(function(t) {
- this.themes[t.getAttribute('theme')] = {
- offsetX: parseInt(t.getAttribute('offsetX')) || 0,
- offsetY: parseInt(t.getAttribute('offsetY')) || 0
- };
- }, this);
- },
-
- // TODO(ffu): support retrived by index e.g. getOffset(10);
- /**
- * Returns an object containing `offsetX` and `offsetY` properties which
- * specify the pixel locaion in the iconset's src file for the given
- * `icon` and `theme`. It's uncommon to call this method. It is useful,
- * for example, to manually position a css backgroundImage to the proper
- * offset. It's more common to use the `applyIcon` method.
- *
- * @method getOffset
- * @param {String|Number} icon The name of the icon or the index of the
- * icon within in the icon image.
- * @param {String} theme The name of the theme.
- * @returns {Object} An object specifying the offset of the given icon
- * within the icon resource file; `offsetX` is the horizontal offset and
- * `offsetY` is the vertical offset. Both values are in pixel units.
- */
- getOffset: function(icon, theme) {
- var i = this.iconMap[icon];
- if (!i) {
- var n = this.iconNames[Number(icon)];
- i = this.iconMap[n];
- }
- var t = this.themes[theme];
- if (i && t) {
- return {
- offsetX: i.offsetX + t.offsetX,
- offsetY: i.offsetY + t.offsetY
- }
- }
- return i;
- },
-
- /**
- * Applies an icon to the given element as a css background image. This
- * method does not size the element, and it's often necessary to set
- * the element's height and width so that the background image is visible.
- *
- * @method applyIcon
- * @param {Element} element The element to which the background is
- * applied.
- * @param {String|Number} icon The name or index of the icon to apply.
- * @param {Number} scale (optional, defaults to 1) A scaling factor
- * with which the icon can be magnified.
- * @return {Element} The icon element.
- */
- applyIcon: function(element, icon, scale) {
- var offset = this.getOffset(icon);
- scale = scale || 1;
- if (element && offset) {
- var icon = element._icon || document.createElement('div');
- var style = icon.style;
- style.backgroundImage = 'url(' + this.src + ')';
- style.backgroundPosition = (-offset.offsetX * scale + 'px') +
- ' ' + (-offset.offsetY * scale + 'px');
- style.backgroundSize = scale === 1 ? 'auto' :
- this.width * scale + 'px';
- if (icon.parentNode !== element) {
- element.appendChild(icon);
- }
- return icon;
- }
- }
-
- });
-
- </script>
-
-</polymer-element>
« no previous file with comments | « bower_components/core-iconset/bower.json ('k') | bower_components/core-iconset/demo.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698