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

Unified Diff: polymer_0.5.0/bower_components/core-label/core-label.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, 12 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
Index: polymer_0.5.0/bower_components/core-label/core-label.html
diff --git a/polymer_0.5.0/bower_components/core-label/core-label.html b/polymer_0.5.0/bower_components/core-label/core-label.html
new file mode 100644
index 0000000000000000000000000000000000000000..60041f80394fa8959c875f0ef6e112f418bf3d52
--- /dev/null
+++ b/polymer_0.5.0/bower_components/core-label/core-label.html
@@ -0,0 +1,124 @@
+<!--
+ @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
+-->
+
+<!--
+`<core-label>` provides a version of the `<label>` element that works with Custom Elements as well as native elements.
+
+All text in the `core-label` will be applied to the target element as a screen-reader accessible description.
+
+There are two ways to use `core-label` to target an element:
+
+1. place an element inside core-label with the `for` attribute:
+
+ <core-label>
+ Context for the Button
+ <paper-button for>button</paper-button>
+ </core-label>
+
+2. Set the `for` attribute on the `core-label` element to point to a target element in the same scope with a query
+string:
+
+ <core-label for=".foo">
+ Context for the button witht the "foo" class"
+ </core-label>
+ <paper-button class="foo">Far away button</paper-button>
+
+All taps on the `core-label` will be forwarded to the "target" element.
+
+@group Core Elements
+@element core-label
+@homepage github.io
+-->
+
+<link rel="import" href="../polymer/polymer.html">
+
+<!-- Native <label> has cursor: default -->
+<style>
+ html /deep/ core-label {
+ cursor: default;
+ }
+</style>
+
+<polymer-element name="core-label">
+ <script>
+ (function() {
+
+ var ID = 0;
+ function generate(node) {
+ if (!node.id) {
+ node.id = 'core-label-' + ID++;
+ }
+ return node.id;
+ }
+
+ Polymer('core-label', {
+ /**
+ * A query selector string for a "target" element not nested in the `<core-label>`
+ *
+ * @attribute for
+ * @type string
+ * @default ''
+ */
+ publish: {
+ 'for': {reflect: true, value: ''}
+ },
+ eventDelegates: {
+ 'tap': 'tapHandler'
+ },
+ created: function() {
+ generate(this);
+ this._forElement = null;
+ },
+ ready: function() {
+ if (!this.for) {
+ this._forElement = this.querySelector('[for]');
+ this._tie();
+ }
+ },
+ tapHandler: function(ev) {
+ if (!this._forElement) {
+ return;
+ }
+ if (ev.target === this._forElement) {
+ return;
+ }
+ this._forElement.focus();
+ this._forElement.click();
+ this.fire('tap', null, this._forElement);
+ },
+ _tie: function() {
+ if (this._forElement) {
+ this._forElement.setAttribute('aria-labelledby', this.id);
+ }
+ },
+ _findScope: function() {
+ var n = this.parentNode;
+ while(n && n.parentNode) {
+ n = n.parentNode;
+ }
+ return n;
+ },
+ forChanged: function(oldFor, newFor) {
+ if (this._forElement) {
+ this._forElement.removeAttribute('aria-labelledby');
+ }
+ var scope = this._findScope();
+ if (!scope) {
+ return;
+ }
+ this._forElement = scope.querySelector(newFor);
+ if (this._forElement) {
+ this._tie();
+ }
+ }
+ });
+ })();
+ </script>
+</polymer-element>
« no previous file with comments | « polymer_0.5.0/bower_components/core-label/bower.json ('k') | polymer_0.5.0/bower_components/core-label/demo.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698