jekyll-polymer-magazine 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +45 -0
  4. data/_includes/disqus.html +24 -0
  5. data/_includes/head.html +21 -0
  6. data/_includes/javascripts.html +9 -0
  7. data/_layouts/default.html +4 -0
  8. data/_layouts/page.html +17 -0
  9. data/_layouts/post.html +95 -0
  10. data/assets/bower.json +29 -0
  11. data/assets/bower_components/app-layout/.bower.json +55 -0
  12. data/assets/bower_components/app-layout/.github/ISSUE_TEMPLATE.md +33 -0
  13. data/assets/bower_components/app-layout/.gitignore +1 -0
  14. data/assets/bower_components/app-layout/.travis.yml +23 -0
  15. data/assets/bower_components/app-layout/CONTRIBUTING.md +77 -0
  16. data/assets/bower_components/app-layout/README.md +106 -0
  17. data/assets/bower_components/app-layout/app-box/README.md +69 -0
  18. data/assets/bower_components/app-layout/app-box/app-box.html +238 -0
  19. data/assets/bower_components/app-layout/app-box/demo/document-scroll.html +216 -0
  20. data/assets/bower_components/app-layout/app-box/demo/index.html +40 -0
  21. data/assets/bower_components/app-layout/app-box/demo/scrolling-region.html +230 -0
  22. data/assets/bower_components/app-layout/app-drawer-layout/README.md +93 -0
  23. data/assets/bower_components/app-layout/app-drawer-layout/app-drawer-layout.html +277 -0
  24. data/assets/bower_components/app-layout/app-drawer-layout/demo/index.html +40 -0
  25. data/assets/bower_components/app-layout/app-drawer-layout/demo/simple-drawer.html +67 -0
  26. data/assets/bower_components/app-layout/app-drawer-layout/demo/two-drawers.html +70 -0
  27. data/assets/bower_components/app-layout/app-drawer-layout/test/app-drawer-layout.html +234 -0
  28. data/assets/bower_components/app-layout/app-drawer-layout/test/index.html +25 -0
  29. data/assets/bower_components/app-layout/app-drawer/README.md +37 -0
  30. data/assets/bower_components/app-layout/app-drawer/app-drawer.html +690 -0
  31. data/assets/bower_components/app-layout/app-drawer/demo/index.html +40 -0
  32. data/assets/bower_components/app-layout/app-drawer/demo/left-drawer.html +70 -0
  33. data/assets/bower_components/app-layout/app-drawer/demo/right-drawer.html +94 -0
  34. data/assets/bower_components/app-layout/app-drawer/test/app-drawer.html +794 -0
  35. data/assets/bower_components/app-layout/app-drawer/test/index.html +25 -0
  36. data/assets/bower_components/app-layout/app-grid/README.md +124 -0
  37. data/assets/bower_components/app-layout/app-grid/app-grid-style.html +196 -0
  38. data/assets/bower_components/app-layout/app-grid/demo/aspect-ratio.html +113 -0
  39. data/assets/bower_components/app-layout/app-grid/demo/flickr-grid-layout.html +264 -0
  40. data/assets/bower_components/app-layout/app-grid/demo/index.html +41 -0
  41. data/assets/bower_components/app-layout/app-grid/demo/md-grid-layout.html +159 -0
  42. data/assets/bower_components/app-layout/app-grid/demo/simple-responsive-grid.html +124 -0
  43. data/assets/bower_components/app-layout/app-grid/test/app-grid-1.html +154 -0
  44. data/assets/bower_components/app-layout/app-grid/test/app-grid-2.html +157 -0
  45. data/assets/bower_components/app-layout/app-grid/test/app-grid-3.html +159 -0
  46. data/assets/bower_components/app-layout/app-grid/test/index.html +29 -0
  47. data/assets/bower_components/app-layout/app-header-layout/README.md +42 -0
  48. data/assets/bower_components/app-layout/app-header-layout/app-header-layout.html +228 -0
  49. data/assets/bower_components/app-layout/app-header-layout/demo/footer.html +90 -0
  50. data/assets/bower_components/app-layout/app-header-layout/demo/index.html +42 -0
  51. data/assets/bower_components/app-layout/app-header-layout/demo/music.html +239 -0
  52. data/assets/bower_components/app-layout/app-header-layout/demo/scrolling-region.html +87 -0
  53. data/assets/bower_components/app-layout/app-header-layout/demo/simple.html +74 -0
  54. data/assets/bower_components/app-layout/app-header-layout/test/app-header-layout.html +152 -0
  55. data/assets/bower_components/app-layout/app-header-layout/test/index.html +25 -0
  56. data/assets/bower_components/app-layout/app-header/README.md +199 -0
  57. data/assets/bower_components/app-layout/app-header/app-header.html +715 -0
  58. data/assets/bower_components/app-layout/app-header/demo/blend-background-1.html +109 -0
  59. data/assets/bower_components/app-layout/app-header/demo/blend-background-2.html +113 -0
  60. data/assets/bower_components/app-layout/app-header/demo/blend-background-3.html +110 -0
  61. data/assets/bower_components/app-layout/app-header/demo/contacts.html +124 -0
  62. data/assets/bower_components/app-layout/app-header/demo/custom-sticky-element-1.html +82 -0
  63. data/assets/bower_components/app-layout/app-header/demo/custom-sticky-element-2.html +89 -0
  64. data/assets/bower_components/app-layout/app-header/demo/give.html +115 -0
  65. data/assets/bower_components/app-layout/app-header/demo/index.html +48 -0
  66. data/assets/bower_components/app-layout/app-header/demo/music.html +235 -0
  67. data/assets/bower_components/app-layout/app-header/demo/no-effects.html +64 -0
  68. data/assets/bower_components/app-layout/app-header/demo/notes.html +174 -0
  69. data/assets/bower_components/app-layout/app-header/test/app-header.html +512 -0
  70. data/assets/bower_components/app-layout/app-header/test/index.html +25 -0
  71. data/assets/bower_components/app-layout/app-layout.html +19 -0
  72. data/assets/bower_components/app-layout/app-scroll-effects/README.md +84 -0
  73. data/assets/bower_components/app-layout/app-scroll-effects/app-scroll-effects-behavior.html +392 -0
  74. data/assets/bower_components/app-layout/app-scroll-effects/app-scroll-effects.html +17 -0
  75. data/assets/bower_components/app-layout/app-scroll-effects/effects/blend-background.html +42 -0
  76. data/assets/bower_components/app-layout/app-scroll-effects/effects/fade-background.html +53 -0
  77. data/assets/bower_components/app-layout/app-scroll-effects/effects/material.html +30 -0
  78. data/assets/bower_components/app-layout/app-scroll-effects/effects/parallax-background.html +55 -0
  79. data/assets/bower_components/app-layout/app-scroll-effects/effects/resize-snapped-title.html +64 -0
  80. data/assets/bower_components/app-layout/app-scroll-effects/effects/resize-title.html +85 -0
  81. data/assets/bower_components/app-layout/app-scroll-effects/effects/waterfall.html +26 -0
  82. data/assets/bower_components/app-layout/app-scroll-effects/test/app-scroll-effects-behavior.html +217 -0
  83. data/assets/bower_components/app-layout/app-scroll-effects/test/blend-background.html +90 -0
  84. data/assets/bower_components/app-layout/app-scroll-effects/test/fade-background.html +99 -0
  85. data/assets/bower_components/app-layout/app-scroll-effects/test/index.html +37 -0
  86. data/assets/bower_components/app-layout/app-scroll-effects/test/parallax-background.html +85 -0
  87. data/assets/bower_components/app-layout/app-scroll-effects/test/resize-snapped-title.html +93 -0
  88. data/assets/bower_components/app-layout/app-scroll-effects/test/resize-title.html +100 -0
  89. data/assets/bower_components/app-layout/app-scroll-effects/test/utils.html +43 -0
  90. data/assets/bower_components/app-layout/app-scroll-effects/test/waterfall.html +87 -0
  91. data/assets/bower_components/app-layout/app-scroll-effects/test/x-container.html +100 -0
  92. data/assets/bower_components/app-layout/app-scrollpos-control/README.md +35 -0
  93. data/assets/bower_components/app-layout/app-scrollpos-control/app-scrollpos-control.html +107 -0
  94. data/assets/bower_components/app-layout/app-scrollpos-control/demo/index.html +82 -0
  95. data/assets/bower_components/app-layout/app-scrollpos-control/test/app-scrollpos-control.html +69 -0
  96. data/assets/bower_components/app-layout/app-scrollpos-control/test/index.html +25 -0
  97. data/assets/bower_components/app-layout/app-toolbar/README.md +43 -0
  98. data/assets/bower_components/app-layout/app-toolbar/app-toolbar.html +117 -0
  99. data/assets/bower_components/app-layout/app-toolbar/demo/index.html +97 -0
  100. data/assets/bower_components/app-layout/app-toolbar/test/app-toolbar.html +88 -0
  101. data/assets/bower_components/app-layout/app-toolbar/test/index.html +25 -0
  102. data/assets/bower_components/app-layout/bower.json +45 -0
  103. data/assets/bower_components/app-layout/build.sh +22 -0
  104. data/assets/bower_components/app-layout/demo/contacts.json +11002 -0
  105. data/assets/bower_components/app-layout/demo/demo1.html +109 -0
  106. data/assets/bower_components/app-layout/demo/demo2.html +76 -0
  107. data/assets/bower_components/app-layout/demo/demo3.html +79 -0
  108. data/assets/bower_components/app-layout/demo/demo4.html +173 -0
  109. data/assets/bower_components/app-layout/demo/demo5.html +126 -0
  110. data/assets/bower_components/app-layout/demo/demo6.html +126 -0
  111. data/assets/bower_components/app-layout/demo/demo7.html +76 -0
  112. data/assets/bower_components/app-layout/demo/sample-content.html +102 -0
  113. data/assets/bower_components/app-layout/docs.html +30 -0
  114. data/assets/bower_components/app-layout/helpers/helpers.html +130 -0
  115. data/assets/bower_components/app-layout/helpers/test/index.html +27 -0
  116. data/assets/bower_components/app-layout/helpers/test/register-effect.html +49 -0
  117. data/assets/bower_components/app-layout/helpers/test/scroll.html +114 -0
  118. data/assets/bower_components/app-layout/index.html +428 -0
  119. data/assets/bower_components/app-layout/patterns/expand-card/index.html +73 -0
  120. data/assets/bower_components/app-layout/patterns/transform-navigation/index.html +39 -0
  121. data/assets/bower_components/app-layout/patterns/transform-navigation/x-app.html +132 -0
  122. data/assets/bower_components/app-layout/site/device-viewer/device-layout-viewer.html +196 -0
  123. data/assets/bower_components/app-layout/site/device-viewer/device-view.html +194 -0
  124. data/assets/bower_components/app-layout/site/device-viewer/index.html +42 -0
  125. data/assets/bower_components/app-layout/site/images/cds2015.png +0 -0
  126. data/assets/bower_components/app-layout/site/images/getting-started.png +0 -0
  127. data/assets/bower_components/app-layout/site/images/io2016.png +0 -0
  128. data/assets/bower_components/app-layout/site/images/landing-page.png +0 -0
  129. data/assets/bower_components/app-layout/site/images/pesto.png +0 -0
  130. data/assets/bower_components/app-layout/site/images/pica.png +0 -0
  131. data/assets/bower_components/app-layout/site/images/polymer-summit.png +0 -0
  132. data/assets/bower_components/app-layout/site/images/polymer.svg +46 -0
  133. data/assets/bower_components/app-layout/site/images/publishing.png +0 -0
  134. data/assets/bower_components/app-layout/site/images/shrine.png +0 -0
  135. data/assets/bower_components/app-layout/site/images/test-drive.png +0 -0
  136. data/assets/bower_components/app-layout/site/resources.json +76 -0
  137. data/assets/bower_components/app-layout/templates/getting-started/bower.json +13 -0
  138. data/assets/bower_components/app-layout/templates/getting-started/index.html +39 -0
  139. data/assets/bower_components/app-layout/templates/getting-started/x-app.html +75 -0
  140. data/assets/bower_components/app-layout/templates/landing-page/bower.json +14 -0
  141. data/assets/bower_components/app-layout/templates/landing-page/index.html +39 -0
  142. data/assets/bower_components/app-layout/templates/landing-page/x-app.html +186 -0
  143. data/assets/bower_components/app-layout/templates/pesto/bower.json +24 -0
  144. data/assets/bower_components/app-layout/templates/pesto/data/recipes.json +402 -0
  145. data/assets/bower_components/app-layout/templates/pesto/index.html +55 -0
  146. data/assets/bower_components/app-layout/templates/pesto/manifest.json +15 -0
  147. data/assets/bower_components/app-layout/templates/pesto/src/app-icons.html +27 -0
  148. data/assets/bower_components/app-layout/templates/pesto/src/recipe-app.html +210 -0
  149. data/assets/bower_components/app-layout/templates/pesto/src/recipe-detail.html +224 -0
  150. data/assets/bower_components/app-layout/templates/pesto/src/recipe-list.html +190 -0
  151. data/assets/bower_components/app-layout/templates/publishing/bower.json +23 -0
  152. data/assets/bower_components/app-layout/templates/publishing/data/articles.json +111 -0
  153. data/assets/bower_components/app-layout/templates/publishing/index.html +49 -0
  154. data/assets/bower_components/app-layout/templates/publishing/manifest.json +21 -0
  155. data/assets/bower_components/app-layout/templates/publishing/src/app-icons.html +20 -0
  156. data/assets/bower_components/app-layout/templates/publishing/src/article-detail.html +119 -0
  157. data/assets/bower_components/app-layout/templates/publishing/src/article-headline.html +69 -0
  158. data/assets/bower_components/app-layout/templates/publishing/src/blog-app.html +331 -0
  159. data/assets/bower_components/app-layout/templates/publishing/src/two-columns-grid.html +142 -0
  160. data/assets/bower_components/app-layout/templates/shrine/bower.json +21 -0
  161. data/assets/bower_components/app-layout/templates/shrine/data/featured.json +72 -0
  162. data/assets/bower_components/app-layout/templates/shrine/data/items.json +192 -0
  163. data/assets/bower_components/app-layout/templates/shrine/index.html +48 -0
  164. data/assets/bower_components/app-layout/templates/shrine/manifest.json +22 -0
  165. data/assets/bower_components/app-layout/templates/shrine/src/shrine-app.html +397 -0
  166. data/assets/bower_components/app-layout/templates/shrine/src/shrine-detail.html +297 -0
  167. data/assets/bower_components/app-layout/templates/shrine/src/shrine-featured-item.html +210 -0
  168. data/assets/bower_components/app-layout/templates/shrine/src/shrine-item.html +136 -0
  169. data/assets/bower_components/app-layout/templates/shrine/src/shrine-list.html +127 -0
  170. data/assets/bower_components/app-layout/templates/shrine/src/shrine-simple-item.html +82 -0
  171. data/assets/bower_components/app-layout/templates/test-drive/bower.json +14 -0
  172. data/assets/bower_components/app-layout/templates/test-drive/index.html +40 -0
  173. data/assets/bower_components/app-layout/templates/test-drive/test-app.html +233 -0
  174. data/assets/bower_components/app-layout/test/index.html +33 -0
  175. data/assets/bower_components/font-roboto/.bower.json +31 -0
  176. data/assets/bower_components/font-roboto/README.md +1 -0
  177. data/assets/bower_components/font-roboto/bower.json +22 -0
  178. data/assets/bower_components/font-roboto/roboto.html +11 -0
  179. data/assets/bower_components/iron-a11y-announcer/.bower.json +43 -0
  180. data/assets/bower_components/iron-a11y-announcer/.github/ISSUE_TEMPLATE.md +33 -0
  181. data/assets/bower_components/iron-a11y-announcer/.gitignore +1 -0
  182. data/assets/bower_components/iron-a11y-announcer/.travis.yml +23 -0
  183. data/assets/bower_components/iron-a11y-announcer/CONTRIBUTING.md +77 -0
  184. data/assets/bower_components/iron-a11y-announcer/README.md +55 -0
  185. data/assets/bower_components/iron-a11y-announcer/bower.json +33 -0
  186. data/assets/bower_components/iron-a11y-announcer/demo/index.html +38 -0
  187. data/assets/bower_components/iron-a11y-announcer/demo/x-announces.html +60 -0
  188. data/assets/bower_components/iron-a11y-announcer/index.html +28 -0
  189. data/assets/bower_components/iron-a11y-announcer/iron-a11y-announcer.html +124 -0
  190. data/assets/bower_components/iron-a11y-announcer/test/index.html +24 -0
  191. data/assets/bower_components/iron-a11y-announcer/test/iron-a11y-announcer.html +56 -0
  192. data/assets/bower_components/iron-a11y-keys-behavior/.bower.json +43 -0
  193. data/assets/bower_components/iron-a11y-keys-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  194. data/assets/bower_components/iron-a11y-keys-behavior/.gitignore +1 -0
  195. data/assets/bower_components/iron-a11y-keys-behavior/.travis.yml +25 -0
  196. data/assets/bower_components/iron-a11y-keys-behavior/CONTRIBUTING.md +77 -0
  197. data/assets/bower_components/iron-a11y-keys-behavior/README.md +58 -0
  198. data/assets/bower_components/iron-a11y-keys-behavior/bower.json +33 -0
  199. data/assets/bower_components/iron-a11y-keys-behavior/demo/index.html +24 -0
  200. data/assets/bower_components/iron-a11y-keys-behavior/demo/x-key-aware.html +105 -0
  201. data/assets/bower_components/iron-a11y-keys-behavior/index.html +24 -0
  202. data/assets/bower_components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html +496 -0
  203. data/assets/bower_components/iron-a11y-keys-behavior/test/basic-test.html +445 -0
  204. data/assets/bower_components/iron-a11y-keys-behavior/test/index.html +28 -0
  205. data/assets/bower_components/iron-autogrow-textarea/.bower.json +48 -0
  206. data/assets/bower_components/iron-autogrow-textarea/.github/ISSUE_TEMPLATE.md +33 -0
  207. data/assets/bower_components/iron-autogrow-textarea/.gitignore +1 -0
  208. data/assets/bower_components/iron-autogrow-textarea/.travis.yml +23 -0
  209. data/assets/bower_components/iron-autogrow-textarea/CONTRIBUTING.md +77 -0
  210. data/assets/bower_components/iron-autogrow-textarea/README.md +41 -0
  211. data/assets/bower_components/iron-autogrow-textarea/bower.json +39 -0
  212. data/assets/bower_components/iron-autogrow-textarea/demo/index.html +111 -0
  213. data/assets/bower_components/iron-autogrow-textarea/hero.svg +33 -0
  214. data/assets/bower_components/iron-autogrow-textarea/index.html +30 -0
  215. data/assets/bower_components/iron-autogrow-textarea/iron-autogrow-textarea.html +361 -0
  216. data/assets/bower_components/iron-autogrow-textarea/test/basic.html +190 -0
  217. data/assets/bower_components/iron-autogrow-textarea/test/index.html +24 -0
  218. data/assets/bower_components/iron-behaviors/.bower.json +42 -0
  219. data/assets/bower_components/iron-behaviors/.github/ISSUE_TEMPLATE.md +33 -0
  220. data/assets/bower_components/iron-behaviors/.gitignore +1 -0
  221. data/assets/bower_components/iron-behaviors/.travis.yml +23 -0
  222. data/assets/bower_components/iron-behaviors/CONTRIBUTING.md +77 -0
  223. data/assets/bower_components/iron-behaviors/README.md +22 -0
  224. data/assets/bower_components/iron-behaviors/bower.json +32 -0
  225. data/assets/bower_components/iron-behaviors/demo/index.html +48 -0
  226. data/assets/bower_components/iron-behaviors/demo/simple-button.html +66 -0
  227. data/assets/bower_components/iron-behaviors/index.html +27 -0
  228. data/assets/bower_components/iron-behaviors/iron-button-state.html +228 -0
  229. data/assets/bower_components/iron-behaviors/iron-control-state.html +110 -0
  230. data/assets/bower_components/iron-behaviors/test/active-state.html +280 -0
  231. data/assets/bower_components/iron-behaviors/test/disabled-state.html +82 -0
  232. data/assets/bower_components/iron-behaviors/test/focused-state.html +161 -0
  233. data/assets/bower_components/iron-behaviors/test/index.html +27 -0
  234. data/assets/bower_components/iron-behaviors/test/test-elements.html +91 -0
  235. data/assets/bower_components/iron-checked-element-behavior/.bower.json +43 -0
  236. data/assets/bower_components/iron-checked-element-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  237. data/assets/bower_components/iron-checked-element-behavior/.gitignore +1 -0
  238. data/assets/bower_components/iron-checked-element-behavior/.travis.yml +23 -0
  239. data/assets/bower_components/iron-checked-element-behavior/CONTRIBUTING.md +77 -0
  240. data/assets/bower_components/iron-checked-element-behavior/README.md +27 -0
  241. data/assets/bower_components/iron-checked-element-behavior/bower.json +34 -0
  242. data/assets/bower_components/iron-checked-element-behavior/demo/index.html +39 -0
  243. data/assets/bower_components/iron-checked-element-behavior/demo/simple-checkbox.html +65 -0
  244. data/assets/bower_components/iron-checked-element-behavior/index.html +30 -0
  245. data/assets/bower_components/iron-checked-element-behavior/iron-checked-element-behavior.html +120 -0
  246. data/assets/bower_components/iron-checked-element-behavior/test/basic.html +152 -0
  247. data/assets/bower_components/iron-checked-element-behavior/test/index.html +31 -0
  248. data/assets/bower_components/iron-checked-element-behavior/test/simple-checkbox.html +26 -0
  249. data/assets/bower_components/iron-collapse/.bower.json +43 -0
  250. data/assets/bower_components/iron-collapse/.github/ISSUE_TEMPLATE.md +33 -0
  251. data/assets/bower_components/iron-collapse/.gitignore +1 -0
  252. data/assets/bower_components/iron-collapse/.travis.yml +24 -0
  253. data/assets/bower_components/iron-collapse/CONTRIBUTING.md +77 -0
  254. data/assets/bower_components/iron-collapse/README.md +66 -0
  255. data/assets/bower_components/iron-collapse/bower.json +34 -0
  256. data/assets/bower_components/iron-collapse/demo/index.html +104 -0
  257. data/assets/bower_components/iron-collapse/hero.svg +23 -0
  258. data/assets/bower_components/iron-collapse/index.html +31 -0
  259. data/assets/bower_components/iron-collapse/iron-collapse.html +302 -0
  260. data/assets/bower_components/iron-collapse/test/a11y.html +74 -0
  261. data/assets/bower_components/iron-collapse/test/basic.html +199 -0
  262. data/assets/bower_components/iron-collapse/test/flex.html +152 -0
  263. data/assets/bower_components/iron-collapse/test/horizontal.html +97 -0
  264. data/assets/bower_components/iron-collapse/test/index.html +35 -0
  265. data/assets/bower_components/iron-collapse/test/nested.html +131 -0
  266. data/assets/bower_components/iron-dropdown/.bower.json +47 -0
  267. data/assets/bower_components/iron-dropdown/.github/ISSUE_TEMPLATE.md +33 -0
  268. data/assets/bower_components/iron-dropdown/.gitignore +1 -0
  269. data/assets/bower_components/iron-dropdown/.travis.yml +23 -0
  270. data/assets/bower_components/iron-dropdown/CONTRIBUTING.md +77 -0
  271. data/assets/bower_components/iron-dropdown/README.md +46 -0
  272. data/assets/bower_components/iron-dropdown/bower.json +38 -0
  273. data/assets/bower_components/iron-dropdown/demo/grow-height-animation.html +36 -0
  274. data/assets/bower_components/iron-dropdown/demo/index.html +160 -0
  275. data/assets/bower_components/iron-dropdown/demo/x-select.html +80 -0
  276. data/assets/bower_components/iron-dropdown/index.html +24 -0
  277. data/assets/bower_components/iron-dropdown/iron-dropdown-scroll-manager.html +350 -0
  278. data/assets/bower_components/iron-dropdown/iron-dropdown.html +347 -0
  279. data/assets/bower_components/iron-dropdown/test/index.html +28 -0
  280. data/assets/bower_components/iron-dropdown/test/iron-dropdown-scroll-manager.html +187 -0
  281. data/assets/bower_components/iron-dropdown/test/iron-dropdown.html +519 -0
  282. data/assets/bower_components/iron-dropdown/test/x-scrollable-element.html +53 -0
  283. data/assets/bower_components/iron-fit-behavior/.bower.json +41 -0
  284. data/assets/bower_components/iron-fit-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  285. data/assets/bower_components/iron-fit-behavior/.gitignore +1 -0
  286. data/assets/bower_components/iron-fit-behavior/.travis.yml +23 -0
  287. data/assets/bower_components/iron-fit-behavior/CONTRIBUTING.md +77 -0
  288. data/assets/bower_components/iron-fit-behavior/README.md +57 -0
  289. data/assets/bower_components/iron-fit-behavior/bower.json +31 -0
  290. data/assets/bower_components/iron-fit-behavior/demo/index.html +166 -0
  291. data/assets/bower_components/iron-fit-behavior/demo/simple-fit.html +41 -0
  292. data/assets/bower_components/iron-fit-behavior/index.html +30 -0
  293. data/assets/bower_components/iron-fit-behavior/iron-fit-behavior.html +598 -0
  294. data/assets/bower_components/iron-fit-behavior/test/index.html +31 -0
  295. data/assets/bower_components/iron-fit-behavior/test/iron-fit-behavior.html +949 -0
  296. data/assets/bower_components/iron-fit-behavior/test/test-fit.html +41 -0
  297. data/assets/bower_components/iron-flex-layout/.bower.json +41 -0
  298. data/assets/bower_components/iron-flex-layout/.gitignore +2 -0
  299. data/assets/bower_components/iron-flex-layout/.travis.yml +25 -0
  300. data/assets/bower_components/iron-flex-layout/CONTRIBUTING.md +77 -0
  301. data/assets/bower_components/iron-flex-layout/README.md +55 -0
  302. data/assets/bower_components/iron-flex-layout/bower.json +31 -0
  303. data/assets/bower_components/iron-flex-layout/classes/iron-flex-layout.html +311 -0
  304. data/assets/bower_components/iron-flex-layout/classes/iron-shadow-flex-layout.html +307 -0
  305. data/assets/bower_components/iron-flex-layout/demo/index.html +396 -0
  306. data/assets/bower_components/iron-flex-layout/index.html +24 -0
  307. data/assets/bower_components/iron-flex-layout/iron-flex-layout-classes.html +431 -0
  308. data/assets/bower_components/iron-flex-layout/iron-flex-layout.html +399 -0
  309. data/assets/bower_components/iron-flex-layout/test/index.html +31 -0
  310. data/assets/bower_components/iron-flex-layout/test/iron-flex-layout-classes.html +412 -0
  311. data/assets/bower_components/iron-flex-layout/test/iron-flex-layout.html +434 -0
  312. data/assets/bower_components/iron-form-element-behavior/.bower.json +41 -0
  313. data/assets/bower_components/iron-form-element-behavior/.gitignore +1 -0
  314. data/assets/bower_components/iron-form-element-behavior/.travis.yml +22 -0
  315. data/assets/bower_components/iron-form-element-behavior/CONTRIBUTING.md +72 -0
  316. data/assets/bower_components/iron-form-element-behavior/README.md +23 -0
  317. data/assets/bower_components/iron-form-element-behavior/bower.json +31 -0
  318. data/assets/bower_components/iron-form-element-behavior/demo/index.html +67 -0
  319. data/assets/bower_components/iron-form-element-behavior/demo/simple-element.html +27 -0
  320. data/assets/bower_components/iron-form-element-behavior/demo/simple-form.html +53 -0
  321. data/assets/bower_components/iron-form-element-behavior/index.html +30 -0
  322. data/assets/bower_components/iron-form-element-behavior/iron-form-element-behavior.html +86 -0
  323. data/assets/bower_components/iron-form-element-behavior/test/basic.html +71 -0
  324. data/assets/bower_components/iron-form-element-behavior/test/index.html +24 -0
  325. data/assets/bower_components/iron-form-element-behavior/test/simple-element.html +23 -0
  326. data/assets/bower_components/iron-form-element-behavior/test/simple-form.html +19 -0
  327. data/assets/bower_components/iron-icon/.bower.json +45 -0
  328. data/assets/bower_components/iron-icon/.github/ISSUE_TEMPLATE.md +33 -0
  329. data/assets/bower_components/iron-icon/.gitignore +1 -0
  330. data/assets/bower_components/iron-icon/.travis.yml +23 -0
  331. data/assets/bower_components/iron-icon/CONTRIBUTING.md +77 -0
  332. data/assets/bower_components/iron-icon/README.md +22 -0
  333. data/assets/bower_components/iron-icon/bower.json +35 -0
  334. data/assets/bower_components/iron-icon/demo/async.html +62 -0
  335. data/assets/bower_components/iron-icon/demo/index.html +48 -0
  336. data/assets/bower_components/iron-icon/demo/location.png +0 -0
  337. data/assets/bower_components/iron-icon/hero.svg +19 -0
  338. data/assets/bower_components/iron-icon/index.html +26 -0
  339. data/assets/bower_components/iron-icon/iron-icon.html +210 -0
  340. data/assets/bower_components/iron-icon/test/index.html +27 -0
  341. data/assets/bower_components/iron-icon/test/iron-icon.html +246 -0
  342. data/assets/bower_components/iron-icons/.bower.json +48 -0
  343. data/assets/bower_components/iron-icons/.github/ISSUE_TEMPLATE.md +33 -0
  344. data/assets/bower_components/iron-icons/.gitignore +3 -0
  345. data/assets/bower_components/iron-icons/.travis.yml +24 -0
  346. data/assets/bower_components/iron-icons/CONTRIBUTING.md +77 -0
  347. data/assets/bower_components/iron-icons/README.md +49 -0
  348. data/assets/bower_components/iron-icons/av-icons.html +96 -0
  349. data/assets/bower_components/iron-icons/bower.json +38 -0
  350. data/assets/bower_components/iron-icons/communication-icons.html +66 -0
  351. data/assets/bower_components/iron-icons/demo/index.html +116 -0
  352. data/assets/bower_components/iron-icons/device-icons.html +95 -0
  353. data/assets/bower_components/iron-icons/editor-icons.html +84 -0
  354. data/assets/bower_components/iron-icons/hardware-icons.html +64 -0
  355. data/assets/bower_components/iron-icons/hero.svg +35 -0
  356. data/assets/bower_components/iron-icons/image-icons.html +171 -0
  357. data/assets/bower_components/iron-icons/index.html +26 -0
  358. data/assets/bower_components/iron-icons/iron-icons.html +353 -0
  359. data/assets/bower_components/iron-icons/maps-icons.html +84 -0
  360. data/assets/bower_components/iron-icons/notification-icons.html +70 -0
  361. data/assets/bower_components/iron-icons/places-icons.html +35 -0
  362. data/assets/bower_components/iron-icons/social-icons.html +46 -0
  363. data/assets/bower_components/iron-iconset-svg/.bower.json +44 -0
  364. data/assets/bower_components/iron-iconset-svg/.github/ISSUE_TEMPLATE.md +33 -0
  365. data/assets/bower_components/iron-iconset-svg/.gitignore +1 -0
  366. data/assets/bower_components/iron-iconset-svg/.travis.yml +23 -0
  367. data/assets/bower_components/iron-iconset-svg/CONTRIBUTING.md +77 -0
  368. data/assets/bower_components/iron-iconset-svg/README.md +56 -0
  369. data/assets/bower_components/iron-iconset-svg/bower.json +34 -0
  370. data/assets/bower_components/iron-iconset-svg/demo/index.html +70 -0
  371. data/assets/bower_components/iron-iconset-svg/demo/svg-sample-icons.html +81 -0
  372. data/assets/bower_components/iron-iconset-svg/index.html +26 -0
  373. data/assets/bower_components/iron-iconset-svg/iron-iconset-svg.html +241 -0
  374. data/assets/bower_components/iron-iconset-svg/test/index.html +27 -0
  375. data/assets/bower_components/iron-iconset-svg/test/iron-iconset-svg.html +233 -0
  376. data/assets/bower_components/iron-image/.bower.json +43 -0
  377. data/assets/bower_components/iron-image/.github/ISSUE_TEMPLATE.md +33 -0
  378. data/assets/bower_components/iron-image/.gitignore +1 -0
  379. data/assets/bower_components/iron-image/.travis.yml +23 -0
  380. data/assets/bower_components/iron-image/CONTRIBUTING.md +77 -0
  381. data/assets/bower_components/iron-image/README.md +86 -0
  382. data/assets/bower_components/iron-image/bower.json +33 -0
  383. data/assets/bower_components/iron-image/demo/index.html +266 -0
  384. data/assets/bower_components/iron-image/demo/loading.png +0 -0
  385. data/assets/bower_components/iron-image/demo/polymer.svg +175 -0
  386. data/assets/bower_components/iron-image/index.html +24 -0
  387. data/assets/bower_components/iron-image/iron-image.html +404 -0
  388. data/assets/bower_components/iron-image/test/index.html +23 -0
  389. data/assets/bower_components/iron-image/test/iron-image.html +338 -0
  390. data/assets/bower_components/iron-input/.bower.json +44 -0
  391. data/assets/bower_components/iron-input/.github/ISSUE_TEMPLATE.md +33 -0
  392. data/assets/bower_components/iron-input/.gitignore +1 -0
  393. data/assets/bower_components/iron-input/.travis.yml +23 -0
  394. data/assets/bower_components/iron-input/CONTRIBUTING.md +77 -0
  395. data/assets/bower_components/iron-input/README.md +59 -0
  396. data/assets/bower_components/iron-input/bower.json +35 -0
  397. data/assets/bower_components/iron-input/demo/index.html +87 -0
  398. data/assets/bower_components/iron-input/hero.svg +19 -0
  399. data/assets/bower_components/iron-input/index.html +30 -0
  400. data/assets/bower_components/iron-input/iron-input.html +306 -0
  401. data/assets/bower_components/iron-input/test/disabled-input.html +32 -0
  402. data/assets/bower_components/iron-input/test/index.html +24 -0
  403. data/assets/bower_components/iron-input/test/iron-input.html +281 -0
  404. data/assets/bower_components/iron-input/test/letters-only.html +30 -0
  405. data/assets/bower_components/iron-media-query/.bower.json +41 -0
  406. data/assets/bower_components/iron-media-query/.gitignore +1 -0
  407. data/assets/bower_components/iron-media-query/.travis.yml +22 -0
  408. data/assets/bower_components/iron-media-query/CONTRIBUTING.md +72 -0
  409. data/assets/bower_components/iron-media-query/README.md +28 -0
  410. data/assets/bower_components/iron-media-query/bower.json +32 -0
  411. data/assets/bower_components/iron-media-query/demo/index.html +93 -0
  412. data/assets/bower_components/iron-media-query/hero.svg +29 -0
  413. data/assets/bower_components/iron-media-query/index.html +29 -0
  414. data/assets/bower_components/iron-media-query/iron-media-query.html +121 -0
  415. data/assets/bower_components/iron-media-query/test/basic.html +118 -0
  416. data/assets/bower_components/iron-media-query/test/index.html +26 -0
  417. data/assets/bower_components/iron-menu-behavior/.bower.json +46 -0
  418. data/assets/bower_components/iron-menu-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  419. data/assets/bower_components/iron-menu-behavior/.gitignore +1 -0
  420. data/assets/bower_components/iron-menu-behavior/.travis.yml +23 -0
  421. data/assets/bower_components/iron-menu-behavior/CONTRIBUTING.md +77 -0
  422. data/assets/bower_components/iron-menu-behavior/README.md +30 -0
  423. data/assets/bower_components/iron-menu-behavior/bower.json +37 -0
  424. data/assets/bower_components/iron-menu-behavior/demo/index.html +118 -0
  425. data/assets/bower_components/iron-menu-behavior/demo/simple-menu.html +48 -0
  426. data/assets/bower_components/iron-menu-behavior/demo/simple-menubar.html +52 -0
  427. data/assets/bower_components/iron-menu-behavior/index.html +30 -0
  428. data/assets/bower_components/iron-menu-behavior/iron-menu-behavior.html +376 -0
  429. data/assets/bower_components/iron-menu-behavior/iron-menubar-behavior.html +81 -0
  430. data/assets/bower_components/iron-menu-behavior/test/index.html +33 -0
  431. data/assets/bower_components/iron-menu-behavior/test/iron-menu-behavior.html +559 -0
  432. data/assets/bower_components/iron-menu-behavior/test/iron-menubar-behavior.html +162 -0
  433. data/assets/bower_components/iron-menu-behavior/test/test-menu.html +46 -0
  434. data/assets/bower_components/iron-menu-behavior/test/test-menubar.html +46 -0
  435. data/assets/bower_components/iron-menu-behavior/test/test-nested-menu.html +44 -0
  436. data/assets/bower_components/iron-meta/.bower.json +40 -0
  437. data/assets/bower_components/iron-meta/.github/ISSUE_TEMPLATE.md +33 -0
  438. data/assets/bower_components/iron-meta/.gitignore +1 -0
  439. data/assets/bower_components/iron-meta/.travis.yml +23 -0
  440. data/assets/bower_components/iron-meta/CONTRIBUTING.md +77 -0
  441. data/assets/bower_components/iron-meta/README.md +110 -0
  442. data/assets/bower_components/iron-meta/bower.json +30 -0
  443. data/assets/bower_components/iron-meta/demo/index.html +76 -0
  444. data/assets/bower_components/iron-meta/hero.svg +33 -0
  445. data/assets/bower_components/iron-meta/index.html +27 -0
  446. data/assets/bower_components/iron-meta/iron-meta.html +333 -0
  447. data/assets/bower_components/iron-meta/test/basic.html +48 -0
  448. data/assets/bower_components/iron-meta/test/index.html +29 -0
  449. data/assets/bower_components/iron-meta/test/iron-meta.html +195 -0
  450. data/assets/bower_components/iron-overlay-behavior/.bower.json +47 -0
  451. data/assets/bower_components/iron-overlay-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  452. data/assets/bower_components/iron-overlay-behavior/.gitignore +1 -0
  453. data/assets/bower_components/iron-overlay-behavior/.travis.yml +23 -0
  454. data/assets/bower_components/iron-overlay-behavior/CONTRIBUTING.md +77 -0
  455. data/assets/bower_components/iron-overlay-behavior/README.md +78 -0
  456. data/assets/bower_components/iron-overlay-behavior/bower.json +37 -0
  457. data/assets/bower_components/iron-overlay-behavior/demo/index.html +188 -0
  458. data/assets/bower_components/iron-overlay-behavior/demo/simple-overlay.html +46 -0
  459. data/assets/bower_components/iron-overlay-behavior/index.html +30 -0
  460. data/assets/bower_components/iron-overlay-behavior/iron-focusables-helper.html +220 -0
  461. data/assets/bower_components/iron-overlay-behavior/iron-overlay-backdrop.html +168 -0
  462. data/assets/bower_components/iron-overlay-behavior/iron-overlay-behavior.html +638 -0
  463. data/assets/bower_components/iron-overlay-behavior/iron-overlay-manager.html +362 -0
  464. data/assets/bower_components/iron-overlay-behavior/test/index.html +33 -0
  465. data/assets/bower_components/iron-overlay-behavior/test/iron-focusables-helper.html +182 -0
  466. data/assets/bower_components/iron-overlay-behavior/test/iron-overlay-backdrop.html +85 -0
  467. data/assets/bower_components/iron-overlay-behavior/test/iron-overlay-behavior.html +1250 -0
  468. data/assets/bower_components/iron-overlay-behavior/test/test-buttons-wrapper.html +39 -0
  469. data/assets/bower_components/iron-overlay-behavior/test/test-buttons.html +34 -0
  470. data/assets/bower_components/iron-overlay-behavior/test/test-menu-button.html +38 -0
  471. data/assets/bower_components/iron-overlay-behavior/test/test-overlay.html +101 -0
  472. data/assets/bower_components/iron-overlay-behavior/test/test-overlay2.html +52 -0
  473. data/assets/bower_components/iron-range-behavior/.bower.json +39 -0
  474. data/assets/bower_components/iron-range-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  475. data/assets/bower_components/iron-range-behavior/.gitignore +1 -0
  476. data/assets/bower_components/iron-range-behavior/.travis.yml +23 -0
  477. data/assets/bower_components/iron-range-behavior/CONTRIBUTING.md +77 -0
  478. data/assets/bower_components/iron-range-behavior/README.md +24 -0
  479. data/assets/bower_components/iron-range-behavior/bower.json +29 -0
  480. data/assets/bower_components/iron-range-behavior/demo/index.html +80 -0
  481. data/assets/bower_components/iron-range-behavior/index.html +24 -0
  482. data/assets/bower_components/iron-range-behavior/iron-range-behavior.html +121 -0
  483. data/assets/bower_components/iron-range-behavior/test/basic.html +180 -0
  484. data/assets/bower_components/iron-range-behavior/test/index.html +24 -0
  485. data/assets/bower_components/iron-range-behavior/test/x-progressbar.html +19 -0
  486. data/assets/bower_components/iron-resizable-behavior/.bower.json +41 -0
  487. data/assets/bower_components/iron-resizable-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  488. data/assets/bower_components/iron-resizable-behavior/.gitignore +1 -0
  489. data/assets/bower_components/iron-resizable-behavior/.travis.yml +23 -0
  490. data/assets/bower_components/iron-resizable-behavior/CONTRIBUTING.md +77 -0
  491. data/assets/bower_components/iron-resizable-behavior/README.md +36 -0
  492. data/assets/bower_components/iron-resizable-behavior/bower.json +31 -0
  493. data/assets/bower_components/iron-resizable-behavior/demo/index.html +29 -0
  494. data/assets/bower_components/iron-resizable-behavior/demo/src/x-app.html +105 -0
  495. data/assets/bower_components/iron-resizable-behavior/index.html +25 -0
  496. data/assets/bower_components/iron-resizable-behavior/iron-resizable-behavior.html +195 -0
  497. data/assets/bower_components/iron-resizable-behavior/test/basic.html +223 -0
  498. data/assets/bower_components/iron-resizable-behavior/test/index.html +29 -0
  499. data/assets/bower_components/iron-resizable-behavior/test/iron-resizable-behavior.html +88 -0
  500. data/assets/bower_components/iron-resizable-behavior/test/test-elements.html +193 -0
  501. data/assets/bower_components/iron-scroll-target-behavior/.bower.json +40 -0
  502. data/assets/bower_components/iron-scroll-target-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  503. data/assets/bower_components/iron-scroll-target-behavior/.gitignore +2 -0
  504. data/assets/bower_components/iron-scroll-target-behavior/.travis.yml +23 -0
  505. data/assets/bower_components/iron-scroll-target-behavior/CONTRIBUTING.md +77 -0
  506. data/assets/bower_components/iron-scroll-target-behavior/README.md +28 -0
  507. data/assets/bower_components/iron-scroll-target-behavior/bower.json +31 -0
  508. data/assets/bower_components/iron-scroll-target-behavior/demo/document.html +39 -0
  509. data/assets/bower_components/iron-scroll-target-behavior/demo/scrolling-region.html +51 -0
  510. data/assets/bower_components/iron-scroll-target-behavior/demo/x-scrollable.html +101 -0
  511. data/assets/bower_components/iron-scroll-target-behavior/index.html +28 -0
  512. data/assets/bower_components/iron-scroll-target-behavior/iron-scroll-target-behavior.html +260 -0
  513. data/assets/bower_components/iron-scroll-target-behavior/test/basic.html +317 -0
  514. data/assets/bower_components/iron-scroll-target-behavior/test/index.html +32 -0
  515. data/assets/bower_components/iron-scroll-target-behavior/test/x-nested-scrollable.html +39 -0
  516. data/assets/bower_components/iron-scroll-target-behavior/test/x-scrollable.html +65 -0
  517. data/assets/bower_components/iron-selector/.bower.json +42 -0
  518. data/assets/bower_components/iron-selector/.github/ISSUE_TEMPLATE.md +33 -0
  519. data/assets/bower_components/iron-selector/.gitignore +2 -0
  520. data/assets/bower_components/iron-selector/.travis.yml +23 -0
  521. data/assets/bower_components/iron-selector/CONTRIBUTING.md +77 -0
  522. data/assets/bower_components/iron-selector/README.md +91 -0
  523. data/assets/bower_components/iron-selector/bower.json +33 -0
  524. data/assets/bower_components/iron-selector/demo/index.html +101 -0
  525. data/assets/bower_components/iron-selector/index.html +28 -0
  526. data/assets/bower_components/iron-selector/iron-multi-selectable.html +154 -0
  527. data/assets/bower_components/iron-selector/iron-selectable.html +388 -0
  528. data/assets/bower_components/iron-selector/iron-selection.html +119 -0
  529. data/assets/bower_components/iron-selector/iron-selector.html +87 -0
  530. data/assets/bower_components/iron-selector/test/activate-event.html +150 -0
  531. data/assets/bower_components/iron-selector/test/attr-for-selected-elements.html +30 -0
  532. data/assets/bower_components/iron-selector/test/attr-for-selected.html +229 -0
  533. data/assets/bower_components/iron-selector/test/basic.html +263 -0
  534. data/assets/bower_components/iron-selector/test/content-element.html +44 -0
  535. data/assets/bower_components/iron-selector/test/content.html +169 -0
  536. data/assets/bower_components/iron-selector/test/excluded-local-names.html +96 -0
  537. data/assets/bower_components/iron-selector/test/index.html +43 -0
  538. data/assets/bower_components/iron-selector/test/multi.html +375 -0
  539. data/assets/bower_components/iron-selector/test/next-previous.html +135 -0
  540. data/assets/bower_components/iron-selector/test/numeric-ids.html +73 -0
  541. data/assets/bower_components/iron-selector/test/selected-attribute.html +129 -0
  542. data/assets/bower_components/iron-selector/test/template-repeat.html +104 -0
  543. data/assets/bower_components/iron-validatable-behavior/.bower.json +42 -0
  544. data/assets/bower_components/iron-validatable-behavior/.github/ISSUE_TEMPLATE.md +33 -0
  545. data/assets/bower_components/iron-validatable-behavior/.gitignore +1 -0
  546. data/assets/bower_components/iron-validatable-behavior/.travis.yml +23 -0
  547. data/assets/bower_components/iron-validatable-behavior/CONTRIBUTING.md +77 -0
  548. data/assets/bower_components/iron-validatable-behavior/README.md +42 -0
  549. data/assets/bower_components/iron-validatable-behavior/bower.json +33 -0
  550. data/assets/bower_components/iron-validatable-behavior/demo/cats-only.html +46 -0
  551. data/assets/bower_components/iron-validatable-behavior/demo/index.html +71 -0
  552. data/assets/bower_components/iron-validatable-behavior/demo/validatable-input.html +46 -0
  553. data/assets/bower_components/iron-validatable-behavior/index.html +30 -0
  554. data/assets/bower_components/iron-validatable-behavior/iron-validatable-behavior.html +149 -0
  555. data/assets/bower_components/iron-validatable-behavior/test/cats-only.html +30 -0
  556. data/assets/bower_components/iron-validatable-behavior/test/dogs-only.html +30 -0
  557. data/assets/bower_components/iron-validatable-behavior/test/index.html +32 -0
  558. data/assets/bower_components/iron-validatable-behavior/test/iron-validatable-behavior.html +88 -0
  559. data/assets/bower_components/iron-validatable-behavior/test/test-validatable.html +29 -0
  560. data/assets/bower_components/neon-animation/.bower.json +61 -0
  561. data/assets/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md +33 -0
  562. data/assets/bower_components/neon-animation/.gitignore +1 -0
  563. data/assets/bower_components/neon-animation/.travis.yml +23 -0
  564. data/assets/bower_components/neon-animation/CONTRIBUTING.md +77 -0
  565. data/assets/bower_components/neon-animation/README.md +306 -0
  566. data/assets/bower_components/neon-animation/animations/cascaded-animation.html +95 -0
  567. data/assets/bower_components/neon-animation/animations/fade-in-animation.html +49 -0
  568. data/assets/bower_components/neon-animation/animations/fade-out-animation.html +49 -0
  569. data/assets/bower_components/neon-animation/animations/hero-animation.html +83 -0
  570. data/assets/bower_components/neon-animation/animations/opaque-animation.html +46 -0
  571. data/assets/bower_components/neon-animation/animations/reverse-ripple-animation.html +87 -0
  572. data/assets/bower_components/neon-animation/animations/ripple-animation.html +93 -0
  573. data/assets/bower_components/neon-animation/animations/scale-down-animation.html +65 -0
  574. data/assets/bower_components/neon-animation/animations/scale-up-animation.html +65 -0
  575. data/assets/bower_components/neon-animation/animations/slide-down-animation.html +59 -0
  576. data/assets/bower_components/neon-animation/animations/slide-from-bottom-animation.html +59 -0
  577. data/assets/bower_components/neon-animation/animations/slide-from-left-animation.html +60 -0
  578. data/assets/bower_components/neon-animation/animations/slide-from-right-animation.html +60 -0
  579. data/assets/bower_components/neon-animation/animations/slide-from-top-animation.html +59 -0
  580. data/assets/bower_components/neon-animation/animations/slide-left-animation.html +59 -0
  581. data/assets/bower_components/neon-animation/animations/slide-right-animation.html +59 -0
  582. data/assets/bower_components/neon-animation/animations/slide-up-animation.html +59 -0
  583. data/assets/bower_components/neon-animation/animations/transform-animation.html +70 -0
  584. data/assets/bower_components/neon-animation/bower.json +52 -0
  585. data/assets/bower_components/neon-animation/demo/card/index.html +166 -0
  586. data/assets/bower_components/neon-animation/demo/card/x-card.html +94 -0
  587. data/assets/bower_components/neon-animation/demo/card/x-cards-list.html +75 -0
  588. data/assets/bower_components/neon-animation/demo/declarative/index.html +132 -0
  589. data/assets/bower_components/neon-animation/demo/doc/index.html +70 -0
  590. data/assets/bower_components/neon-animation/demo/doc/my-animatable.html +68 -0
  591. data/assets/bower_components/neon-animation/demo/doc/my-dialog.html +94 -0
  592. data/assets/bower_components/neon-animation/demo/dropdown/animated-dropdown.html +90 -0
  593. data/assets/bower_components/neon-animation/demo/dropdown/index.html +54 -0
  594. data/assets/bower_components/neon-animation/demo/grid/animated-grid.html +164 -0
  595. data/assets/bower_components/neon-animation/demo/grid/fullsize-page-with-card.html +122 -0
  596. data/assets/bower_components/neon-animation/demo/grid/index.html +64 -0
  597. data/assets/bower_components/neon-animation/demo/index.html +45 -0
  598. data/assets/bower_components/neon-animation/demo/list/full-view.html +118 -0
  599. data/assets/bower_components/neon-animation/demo/list/index.html +35 -0
  600. data/assets/bower_components/neon-animation/demo/list/list-demo.html +102 -0
  601. data/assets/bower_components/neon-animation/demo/list/list-view.html +124 -0
  602. data/assets/bower_components/neon-animation/demo/load/animated-grid.html +146 -0
  603. data/assets/bower_components/neon-animation/demo/load/full-page.html +82 -0
  604. data/assets/bower_components/neon-animation/demo/load/index.html +48 -0
  605. data/assets/bower_components/neon-animation/demo/reprojection/animated-grid.html +167 -0
  606. data/assets/bower_components/neon-animation/demo/reprojection/fullsize-page-with-card.html +120 -0
  607. data/assets/bower_components/neon-animation/demo/reprojection/index.html +63 -0
  608. data/assets/bower_components/neon-animation/demo/reprojection/reprojected-pages.html +45 -0
  609. data/assets/bower_components/neon-animation/demo/shared-styles.html +47 -0
  610. data/assets/bower_components/neon-animation/demo/tiles/circles-page.html +107 -0
  611. data/assets/bower_components/neon-animation/demo/tiles/index.html +70 -0
  612. data/assets/bower_components/neon-animation/demo/tiles/squares-page.html +100 -0
  613. data/assets/bower_components/neon-animation/guides/neon-animation.md +314 -0
  614. data/assets/bower_components/neon-animation/index.html +30 -0
  615. data/assets/bower_components/neon-animation/neon-animatable-behavior.html +150 -0
  616. data/assets/bower_components/neon-animation/neon-animatable.html +54 -0
  617. data/assets/bower_components/neon-animation/neon-animated-pages.html +220 -0
  618. data/assets/bower_components/neon-animation/neon-animation-behavior.html +86 -0
  619. data/assets/bower_components/neon-animation/neon-animation-runner-behavior.html +129 -0
  620. data/assets/bower_components/neon-animation/neon-animation.html +18 -0
  621. data/assets/bower_components/neon-animation/neon-animations.html +29 -0
  622. data/assets/bower_components/neon-animation/neon-shared-element-animatable-behavior.html +43 -0
  623. data/assets/bower_components/neon-animation/neon-shared-element-animation-behavior.html +72 -0
  624. data/assets/bower_components/neon-animation/test/index.html +28 -0
  625. data/assets/bower_components/neon-animation/test/neon-animated-pages-descendant-selection.html +118 -0
  626. data/assets/bower_components/neon-animation/test/neon-animated-pages-lazy.html +73 -0
  627. data/assets/bower_components/neon-animation/test/neon-animated-pages.html +101 -0
  628. data/assets/bower_components/neon-animation/test/test-resizable-pages.html +58 -0
  629. data/assets/bower_components/neon-animation/web-animations.html +11 -0
  630. data/assets/bower_components/paper-badge/.bower.json +46 -0
  631. data/assets/bower_components/paper-badge/.github/ISSUE_TEMPLATE.md +33 -0
  632. data/assets/bower_components/paper-badge/.gitignore +1 -0
  633. data/assets/bower_components/paper-badge/.travis.yml +23 -0
  634. data/assets/bower_components/paper-badge/CONTRIBUTING.md +77 -0
  635. data/assets/bower_components/paper-badge/README.md +67 -0
  636. data/assets/bower_components/paper-badge/bower.json +37 -0
  637. data/assets/bower_components/paper-badge/demo/index.html +112 -0
  638. data/assets/bower_components/paper-badge/demo/test-button.html +44 -0
  639. data/assets/bower_components/paper-badge/index.html +28 -0
  640. data/assets/bower_components/paper-badge/paper-badge.html +240 -0
  641. data/assets/bower_components/paper-badge/test/basic.html +278 -0
  642. data/assets/bower_components/paper-badge/test/index.html +24 -0
  643. data/assets/bower_components/paper-badge/test/test-button.html +36 -0
  644. data/assets/bower_components/paper-behaviors/.bower.json +51 -0
  645. data/assets/bower_components/paper-behaviors/.github/ISSUE_TEMPLATE.md +33 -0
  646. data/assets/bower_components/paper-behaviors/.gitignore +1 -0
  647. data/assets/bower_components/paper-behaviors/.travis.yml +23 -0
  648. data/assets/bower_components/paper-behaviors/CONTRIBUTING.md +77 -0
  649. data/assets/bower_components/paper-behaviors/README.md +44 -0
  650. data/assets/bower_components/paper-behaviors/bower.json +42 -0
  651. data/assets/bower_components/paper-behaviors/demo/index.html +45 -0
  652. data/assets/bower_components/paper-behaviors/demo/paper-button.html +64 -0
  653. data/assets/bower_components/paper-behaviors/demo/paper-radio-button.html +112 -0
  654. data/assets/bower_components/paper-behaviors/index.html +26 -0
  655. data/assets/bower_components/paper-behaviors/paper-button-behavior.html +97 -0
  656. data/assets/bower_components/paper-behaviors/paper-checked-element-behavior.html +57 -0
  657. data/assets/bower_components/paper-behaviors/paper-inky-focus-behavior.html +51 -0
  658. data/assets/bower_components/paper-behaviors/paper-ripple-behavior.html +126 -0
  659. data/assets/bower_components/paper-behaviors/test/index.html +29 -0
  660. data/assets/bower_components/paper-behaviors/test/paper-button-behavior.html +113 -0
  661. data/assets/bower_components/paper-behaviors/test/paper-checked-element-behavior.html +94 -0
  662. data/assets/bower_components/paper-behaviors/test/paper-radio-button-behavior.html +58 -0
  663. data/assets/bower_components/paper-behaviors/test/paper-ripple-behavior.html +335 -0
  664. data/assets/bower_components/paper-behaviors/test/shadowed-ripple.html +55 -0
  665. data/assets/bower_components/paper-behaviors/test/test-button.html +34 -0
  666. data/assets/bower_components/paper-behaviors/test/test-radio-button.html +41 -0
  667. data/assets/bower_components/paper-button/.bower.json +50 -0
  668. data/assets/bower_components/paper-button/.github/ISSUE_TEMPLATE.md +33 -0
  669. data/assets/bower_components/paper-button/.gitignore +1 -0
  670. data/assets/bower_components/paper-button/.travis.yml +23 -0
  671. data/assets/bower_components/paper-button/CONTRIBUTING.md +77 -0
  672. data/assets/bower_components/paper-button/README.md +73 -0
  673. data/assets/bower_components/paper-button/bower.json +41 -0
  674. data/assets/bower_components/paper-button/demo/index.html +138 -0
  675. data/assets/bower_components/paper-button/index.html +26 -0
  676. data/assets/bower_components/paper-button/paper-button.html +186 -0
  677. data/assets/bower_components/paper-button/test/index.html +24 -0
  678. data/assets/bower_components/paper-button/test/paper-button.html +108 -0
  679. data/assets/bower_components/paper-card/.bower.json +49 -0
  680. data/assets/bower_components/paper-card/.github/ISSUE_TEMPLATE.md +33 -0
  681. data/assets/bower_components/paper-card/.gitignore +1 -0
  682. data/assets/bower_components/paper-card/.travis.yml +23 -0
  683. data/assets/bower_components/paper-card/CONTRIBUTING.md +77 -0
  684. data/assets/bower_components/paper-card/README.md +79 -0
  685. data/assets/bower_components/paper-card/bower.json +40 -0
  686. data/assets/bower_components/paper-card/demo/cafe.png +0 -0
  687. data/assets/bower_components/paper-card/demo/donuts.png +0 -0
  688. data/assets/bower_components/paper-card/demo/house.png +0 -0
  689. data/assets/bower_components/paper-card/demo/index.html +323 -0
  690. data/assets/bower_components/paper-card/demo/travel.png +0 -0
  691. data/assets/bower_components/paper-card/demo/trip.png +0 -0
  692. data/assets/bower_components/paper-card/index.html +28 -0
  693. data/assets/bower_components/paper-card/paper-card.html +254 -0
  694. data/assets/bower_components/paper-card/test/basic.html +109 -0
  695. data/assets/bower_components/paper-card/test/index.html +26 -0
  696. data/assets/bower_components/paper-chip/.bower.json +47 -0
  697. data/assets/bower_components/paper-chip/LICENSE +20 -0
  698. data/assets/bower_components/paper-chip/README.md +11 -0
  699. data/assets/bower_components/paper-chip/bower.json +37 -0
  700. data/assets/bower_components/paper-chip/demo/avatars.html +29 -0
  701. data/assets/bower_components/paper-chip/demo/index.html +173 -0
  702. data/assets/bower_components/paper-chip/gulpfile.js +125 -0
  703. data/assets/bower_components/paper-chip/index.html +18 -0
  704. data/assets/bower_components/paper-chip/package.json +43 -0
  705. data/assets/bower_components/paper-chip/paper-chip.html +459 -0
  706. data/assets/bower_components/paper-dropdown-menu/.bower.json +57 -0
  707. data/assets/bower_components/paper-dropdown-menu/.github/ISSUE_TEMPLATE.md +33 -0
  708. data/assets/bower_components/paper-dropdown-menu/.gitignore +1 -0
  709. data/assets/bower_components/paper-dropdown-menu/.travis.yml +24 -0
  710. data/assets/bower_components/paper-dropdown-menu/CONTRIBUTING.md +77 -0
  711. data/assets/bower_components/paper-dropdown-menu/README.md +44 -0
  712. data/assets/bower_components/paper-dropdown-menu/bower.json +48 -0
  713. data/assets/bower_components/paper-dropdown-menu/demo/index.html +295 -0
  714. data/assets/bower_components/paper-dropdown-menu/index.html +24 -0
  715. data/assets/bower_components/paper-dropdown-menu/paper-dropdown-menu-icons.html +17 -0
  716. data/assets/bower_components/paper-dropdown-menu/paper-dropdown-menu-light.html +596 -0
  717. data/assets/bower_components/paper-dropdown-menu/paper-dropdown-menu-shared-styles.html +78 -0
  718. data/assets/bower_components/paper-dropdown-menu/paper-dropdown-menu.html +406 -0
  719. data/assets/bower_components/paper-dropdown-menu/test/index.html +26 -0
  720. data/assets/bower_components/paper-dropdown-menu/test/paper-dropdown-menu-light.html +219 -0
  721. data/assets/bower_components/paper-dropdown-menu/test/paper-dropdown-menu.html +220 -0
  722. data/assets/bower_components/paper-fab/.bower.json +49 -0
  723. data/assets/bower_components/paper-fab/.github/ISSUE_TEMPLATE.md +33 -0
  724. data/assets/bower_components/paper-fab/.gitignore +1 -0
  725. data/assets/bower_components/paper-fab/.travis.yml +23 -0
  726. data/assets/bower_components/paper-fab/CONTRIBUTING.md +77 -0
  727. data/assets/bower_components/paper-fab/README.md +53 -0
  728. data/assets/bower_components/paper-fab/bower.json +39 -0
  729. data/assets/bower_components/paper-fab/demo/index.html +90 -0
  730. data/assets/bower_components/paper-fab/index.html +24 -0
  731. data/assets/bower_components/paper-fab/paper-fab.html +187 -0
  732. data/assets/bower_components/paper-fab/test/a11y.html +67 -0
  733. data/assets/bower_components/paper-fab/test/basic.html +141 -0
  734. data/assets/bower_components/paper-fab/test/index.html +26 -0
  735. data/assets/bower_components/paper-header-panel/.bower.json +43 -0
  736. data/assets/bower_components/paper-header-panel/.github/ISSUE_TEMPLATE.md +33 -0
  737. data/assets/bower_components/paper-header-panel/.gitignore +1 -0
  738. data/assets/bower_components/paper-header-panel/.travis.yml +23 -0
  739. data/assets/bower_components/paper-header-panel/CONTRIBUTING.md +77 -0
  740. data/assets/bower_components/paper-header-panel/README.md +152 -0
  741. data/assets/bower_components/paper-header-panel/bower.json +33 -0
  742. data/assets/bower_components/paper-header-panel/demo/index.html +150 -0
  743. data/assets/bower_components/paper-header-panel/hero.svg +38 -0
  744. data/assets/bower_components/paper-header-panel/index.html +36 -0
  745. data/assets/bower_components/paper-header-panel/paper-header-panel.html +512 -0
  746. data/assets/bower_components/paper-header-panel/test/basic.html +156 -0
  747. data/assets/bower_components/paper-header-panel/test/index.html +31 -0
  748. data/assets/bower_components/paper-icon-button/.bower.json +50 -0
  749. data/assets/bower_components/paper-icon-button/.github/ISSUE_TEMPLATE.md +33 -0
  750. data/assets/bower_components/paper-icon-button/.gitignore +1 -0
  751. data/assets/bower_components/paper-icon-button/.travis.yml +23 -0
  752. data/assets/bower_components/paper-icon-button/CONTRIBUTING.md +77 -0
  753. data/assets/bower_components/paper-icon-button/README.md +95 -0
  754. data/assets/bower_components/paper-icon-button/bower.json +40 -0
  755. data/assets/bower_components/paper-icon-button/demo/index.html +103 -0
  756. data/assets/bower_components/paper-icon-button/demo/paper-icon-button-light.html +57 -0
  757. data/assets/bower_components/paper-icon-button/index.html +23 -0
  758. data/assets/bower_components/paper-icon-button/paper-icon-button-light.html +91 -0
  759. data/assets/bower_components/paper-icon-button/paper-icon-button.html +176 -0
  760. data/assets/bower_components/paper-icon-button/test/a11y.html +92 -0
  761. data/assets/bower_components/paper-icon-button/test/basic.html +75 -0
  762. data/assets/bower_components/paper-icon-button/test/index.html +26 -0
  763. data/assets/bower_components/paper-input/.bower.json +61 -0
  764. data/assets/bower_components/paper-input/.github/ISSUE_TEMPLATE.md +33 -0
  765. data/assets/bower_components/paper-input/.gitignore +1 -0
  766. data/assets/bower_components/paper-input/.travis.yml +24 -0
  767. data/assets/bower_components/paper-input/CONTRIBUTING.md +77 -0
  768. data/assets/bower_components/paper-input/README.md +38 -0
  769. data/assets/bower_components/paper-input/all-imports.html +12 -0
  770. data/assets/bower_components/paper-input/bower.json +51 -0
  771. data/assets/bower_components/paper-input/demo/index.html +155 -0
  772. data/assets/bower_components/paper-input/demo/ssn-input.html +96 -0
  773. data/assets/bower_components/paper-input/demo/ssn-validator.html +27 -0
  774. data/assets/bower_components/paper-input/hero.svg +19 -0
  775. data/assets/bower_components/paper-input/index.html +28 -0
  776. data/assets/bower_components/paper-input/paper-input-addon-behavior.html +47 -0
  777. data/assets/bower_components/paper-input/paper-input-behavior.html +569 -0
  778. data/assets/bower_components/paper-input/paper-input-char-counter.html +99 -0
  779. data/assets/bower_components/paper-input/paper-input-container.html +626 -0
  780. data/assets/bower_components/paper-input/paper-input-error.html +94 -0
  781. data/assets/bower_components/paper-input/paper-input.html +170 -0
  782. data/assets/bower_components/paper-input/paper-textarea.html +144 -0
  783. data/assets/bower_components/paper-input/test/index.html +32 -0
  784. data/assets/bower_components/paper-input/test/letters-only.html +30 -0
  785. data/assets/bower_components/paper-input/test/paper-input-char-counter.html +109 -0
  786. data/assets/bower_components/paper-input/test/paper-input-container.html +302 -0
  787. data/assets/bower_components/paper-input/test/paper-input-error.html +68 -0
  788. data/assets/bower_components/paper-input/test/paper-input.html +398 -0
  789. data/assets/bower_components/paper-input/test/paper-textarea.html +233 -0
  790. data/assets/bower_components/paper-item/.bower.json +53 -0
  791. data/assets/bower_components/paper-item/.github/ISSUE_TEMPLATE.md +33 -0
  792. data/assets/bower_components/paper-item/.gitignore +1 -0
  793. data/assets/bower_components/paper-item/.travis.yml +23 -0
  794. data/assets/bower_components/paper-item/CONTRIBUTING.md +77 -0
  795. data/assets/bower_components/paper-item/README.md +163 -0
  796. data/assets/bower_components/paper-item/all-imports.html +13 -0
  797. data/assets/bower_components/paper-item/bower.json +43 -0
  798. data/assets/bower_components/paper-item/demo/index.html +191 -0
  799. data/assets/bower_components/paper-item/index.html +30 -0
  800. data/assets/bower_components/paper-item/paper-icon-item.html +86 -0
  801. data/assets/bower_components/paper-item/paper-item-behavior.html +36 -0
  802. data/assets/bower_components/paper-item/paper-item-body.html +83 -0
  803. data/assets/bower_components/paper-item/paper-item-shared-styles.html +70 -0
  804. data/assets/bower_components/paper-item/paper-item.html +111 -0
  805. data/assets/bower_components/paper-item/test/index.html +31 -0
  806. data/assets/bower_components/paper-item/test/paper-item.html +218 -0
  807. data/assets/bower_components/paper-material/.bower.json +44 -0
  808. data/assets/bower_components/paper-material/.gitignore +1 -0
  809. data/assets/bower_components/paper-material/.travis.yml +25 -0
  810. data/assets/bower_components/paper-material/CONTRIBUTING.md +72 -0
  811. data/assets/bower_components/paper-material/README.md +35 -0
  812. data/assets/bower_components/paper-material/bower.json +35 -0
  813. data/assets/bower_components/paper-material/demo/index.html +84 -0
  814. data/assets/bower_components/paper-material/index.html +30 -0
  815. data/assets/bower_components/paper-material/paper-material-shared-styles.html +42 -0
  816. data/assets/bower_components/paper-material/paper-material.html +78 -0
  817. data/assets/bower_components/paper-material/test/index.html +24 -0
  818. data/assets/bower_components/paper-material/test/paper-material.html +88 -0
  819. data/assets/bower_components/paper-menu-button/.bower.json +56 -0
  820. data/assets/bower_components/paper-menu-button/.github/ISSUE_TEMPLATE.md +33 -0
  821. data/assets/bower_components/paper-menu-button/.gitignore +1 -0
  822. data/assets/bower_components/paper-menu-button/.travis.yml +23 -0
  823. data/assets/bower_components/paper-menu-button/CONTRIBUTING.md +77 -0
  824. data/assets/bower_components/paper-menu-button/README.md +69 -0
  825. data/assets/bower_components/paper-menu-button/bower.json +47 -0
  826. data/assets/bower_components/paper-menu-button/demo/index.html +203 -0
  827. data/assets/bower_components/paper-menu-button/hero.svg +39 -0
  828. data/assets/bower_components/paper-menu-button/index.html +24 -0
  829. data/assets/bower_components/paper-menu-button/paper-menu-button-animations.html +109 -0
  830. data/assets/bower_components/paper-menu-button/paper-menu-button.html +479 -0
  831. data/assets/bower_components/paper-menu-button/test/index.html +24 -0
  832. data/assets/bower_components/paper-menu-button/test/paper-menu-button.html +199 -0
  833. data/assets/bower_components/paper-menu/.bower.json +49 -0
  834. data/assets/bower_components/paper-menu/.gitignore +1 -0
  835. data/assets/bower_components/paper-menu/.travis.yml +25 -0
  836. data/assets/bower_components/paper-menu/CONTRIBUTING.md +72 -0
  837. data/assets/bower_components/paper-menu/README.md +113 -0
  838. data/assets/bower_components/paper-menu/bower.json +39 -0
  839. data/assets/bower_components/paper-menu/demo/index.html +150 -0
  840. data/assets/bower_components/paper-menu/hero.svg +35 -0
  841. data/assets/bower_components/paper-menu/index.html +30 -0
  842. data/assets/bower_components/paper-menu/paper-menu-shared-styles.html +47 -0
  843. data/assets/bower_components/paper-menu/paper-menu.html +102 -0
  844. data/assets/bower_components/paper-menu/paper-submenu.html +231 -0
  845. data/assets/bower_components/paper-menu/test/index.html +37 -0
  846. data/assets/bower_components/paper-menu/test/paper-menu.html +64 -0
  847. data/assets/bower_components/paper-menu/test/paper-submenu.html +203 -0
  848. data/assets/bower_components/paper-progress/.bower.json +43 -0
  849. data/assets/bower_components/paper-progress/.github/ISSUE_TEMPLATE.md +33 -0
  850. data/assets/bower_components/paper-progress/.gitignore +1 -0
  851. data/assets/bower_components/paper-progress/.travis.yml +23 -0
  852. data/assets/bower_components/paper-progress/CONTRIBUTING.md +77 -0
  853. data/assets/bower_components/paper-progress/README.md +49 -0
  854. data/assets/bower_components/paper-progress/bower.json +33 -0
  855. data/assets/bower_components/paper-progress/demo/index.html +127 -0
  856. data/assets/bower_components/paper-progress/hero.svg +21 -0
  857. data/assets/bower_components/paper-progress/index.html +28 -0
  858. data/assets/bower_components/paper-progress/paper-progress.html +354 -0
  859. data/assets/bower_components/paper-progress/test/basic.html +148 -0
  860. data/assets/bower_components/paper-progress/test/index.html +24 -0
  861. data/assets/bower_components/paper-ripple/.bower.json +45 -0
  862. data/assets/bower_components/paper-ripple/.github/ISSUE_TEMPLATE.md +33 -0
  863. data/assets/bower_components/paper-ripple/.gitignore +1 -0
  864. data/assets/bower_components/paper-ripple/.travis.yml +23 -0
  865. data/assets/bower_components/paper-ripple/CONTRIBUTING.md +77 -0
  866. data/assets/bower_components/paper-ripple/README.md +40 -0
  867. data/assets/bower_components/paper-ripple/bower.json +35 -0
  868. data/assets/bower_components/paper-ripple/demo/index.html +415 -0
  869. data/assets/bower_components/paper-ripple/hero.svg +30 -0
  870. data/assets/bower_components/paper-ripple/index.html +27 -0
  871. data/assets/bower_components/paper-ripple/paper-ripple.html +763 -0
  872. data/assets/bower_components/paper-ripple/test/index.html +24 -0
  873. data/assets/bower_components/paper-ripple/test/paper-ripple.html +253 -0
  874. data/assets/bower_components/paper-spinner/.bower.json +47 -0
  875. data/assets/bower_components/paper-spinner/.github/ISSUE_TEMPLATE.md +33 -0
  876. data/assets/bower_components/paper-spinner/.gitignore +1 -0
  877. data/assets/bower_components/paper-spinner/.travis.yml +23 -0
  878. data/assets/bower_components/paper-spinner/CONTRIBUTING.md +77 -0
  879. data/assets/bower_components/paper-spinner/README.md +49 -0
  880. data/assets/bower_components/paper-spinner/bower.json +38 -0
  881. data/assets/bower_components/paper-spinner/demo/index.html +97 -0
  882. data/assets/bower_components/paper-spinner/hero.svg +27 -0
  883. data/assets/bower_components/paper-spinner/index.html +30 -0
  884. data/assets/bower_components/paper-spinner/paper-spinner-behavior.html +87 -0
  885. data/assets/bower_components/paper-spinner/paper-spinner-lite.html +71 -0
  886. data/assets/bower_components/paper-spinner/paper-spinner-styles.html +341 -0
  887. data/assets/bower_components/paper-spinner/paper-spinner.html +91 -0
  888. data/assets/bower_components/paper-spinner/test/index.html +31 -0
  889. data/assets/bower_components/paper-spinner/test/paper-spinner.html +86 -0
  890. data/assets/bower_components/paper-styles/.bower.json +42 -0
  891. data/assets/bower_components/paper-styles/CONTRIBUTING.md +77 -0
  892. data/assets/bower_components/paper-styles/README.md +49 -0
  893. data/assets/bower_components/paper-styles/bower.json +33 -0
  894. data/assets/bower_components/paper-styles/classes/global.html +96 -0
  895. data/assets/bower_components/paper-styles/classes/shadow-layout.html +307 -0
  896. data/assets/bower_components/paper-styles/classes/shadow.html +52 -0
  897. data/assets/bower_components/paper-styles/classes/typography.html +169 -0
  898. data/assets/bower_components/paper-styles/color.html +333 -0
  899. data/assets/bower_components/paper-styles/default-theme.html +72 -0
  900. data/assets/bower_components/paper-styles/demo-pages.html +72 -0
  901. data/assets/bower_components/paper-styles/demo.css +25 -0
  902. data/assets/bower_components/paper-styles/demo/index.html +339 -0
  903. data/assets/bower_components/paper-styles/index.html +24 -0
  904. data/assets/bower_components/paper-styles/paper-styles-classes.html +14 -0
  905. data/assets/bower_components/paper-styles/paper-styles.html +44 -0
  906. data/assets/bower_components/paper-styles/shadow.html +76 -0
  907. data/assets/bower_components/paper-styles/typography.html +169 -0
  908. data/assets/bower_components/paper-tabs/.bower.json +54 -0
  909. data/assets/bower_components/paper-tabs/.github/ISSUE_TEMPLATE.md +33 -0
  910. data/assets/bower_components/paper-tabs/.gitignore +1 -0
  911. data/assets/bower_components/paper-tabs/.travis.yml +24 -0
  912. data/assets/bower_components/paper-tabs/CONTRIBUTING.md +77 -0
  913. data/assets/bower_components/paper-tabs/README.md +46 -0
  914. data/assets/bower_components/paper-tabs/bower.json +44 -0
  915. data/assets/bower_components/paper-tabs/demo/index.html +338 -0
  916. data/assets/bower_components/paper-tabs/hero.svg +23 -0
  917. data/assets/bower_components/paper-tabs/index.html +25 -0
  918. data/assets/bower_components/paper-tabs/paper-tab.html +176 -0
  919. data/assets/bower_components/paper-tabs/paper-tabs-icons.html +18 -0
  920. data/assets/bower_components/paper-tabs/paper-tabs.html +661 -0
  921. data/assets/bower_components/paper-tabs/test/attr-for-selected.html +82 -0
  922. data/assets/bower_components/paper-tabs/test/basic.html +394 -0
  923. data/assets/bower_components/paper-tabs/test/index.html +31 -0
  924. data/assets/bower_components/paper-tabs/test/links.html +163 -0
  925. data/assets/bower_components/paper-toolbar/.bower.json +47 -0
  926. data/assets/bower_components/paper-toolbar/.github/ISSUE_TEMPLATE.md +33 -0
  927. data/assets/bower_components/paper-toolbar/.gitignore +1 -0
  928. data/assets/bower_components/paper-toolbar/.travis.yml +23 -0
  929. data/assets/bower_components/paper-toolbar/CONTRIBUTING.md +77 -0
  930. data/assets/bower_components/paper-toolbar/README.md +107 -0
  931. data/assets/bower_components/paper-toolbar/bower.json +37 -0
  932. data/assets/bower_components/paper-toolbar/demo/index.html +186 -0
  933. data/assets/bower_components/paper-toolbar/index.html +38 -0
  934. data/assets/bower_components/paper-toolbar/paper-toolbar.html +383 -0
  935. data/assets/bower_components/paper-toolbar/test/index.html +24 -0
  936. data/assets/bower_components/paper-toolbar/test/paper-toolbar.html +148 -0
  937. data/assets/bower_components/paper-tooltip/.bower.json +45 -0
  938. data/assets/bower_components/paper-tooltip/.github/ISSUE_TEMPLATE.md +33 -0
  939. data/assets/bower_components/paper-tooltip/.gitignore +1 -0
  940. data/assets/bower_components/paper-tooltip/.travis.yml +23 -0
  941. data/assets/bower_components/paper-tooltip/CONTRIBUTING.md +77 -0
  942. data/assets/bower_components/paper-tooltip/README.md +62 -0
  943. data/assets/bower_components/paper-tooltip/bower.json +36 -0
  944. data/assets/bower_components/paper-tooltip/demo/index.html +133 -0
  945. data/assets/bower_components/paper-tooltip/demo/test-button.html +37 -0
  946. data/assets/bower_components/paper-tooltip/index.html +28 -0
  947. data/assets/bower_components/paper-tooltip/paper-tooltip.html +395 -0
  948. data/assets/bower_components/paper-tooltip/test/basic.html +501 -0
  949. data/assets/bower_components/paper-tooltip/test/index.html +24 -0
  950. data/assets/bower_components/paper-tooltip/test/test-button.html +43 -0
  951. data/assets/bower_components/paper-ui-elements/.bower.json +35 -0
  952. data/assets/bower_components/paper-ui-elements/README.md +2 -0
  953. data/assets/bower_components/paper-ui-elements/bower.json +24 -0
  954. data/assets/bower_components/polymer/.bower.json +45 -0
  955. data/assets/bower_components/polymer/LICENSE.txt +27 -0
  956. data/assets/bower_components/polymer/bower.json +35 -0
  957. data/assets/bower_components/polymer/build.log +626 -0
  958. data/assets/bower_components/polymer/polymer-micro.html +732 -0
  959. data/assets/bower_components/polymer/polymer-mini.html +2164 -0
  960. data/assets/bower_components/polymer/polymer.html +5414 -0
  961. data/assets/bower_components/web-animations-js/.bower.json +41 -0
  962. data/assets/bower_components/web-animations-js/CONTRIBUTING.md +105 -0
  963. data/assets/bower_components/web-animations-js/COPYING +202 -0
  964. data/assets/bower_components/web-animations-js/History.md +227 -0
  965. data/assets/bower_components/web-animations-js/README.md +172 -0
  966. data/assets/bower_components/web-animations-js/bower.json +31 -0
  967. data/assets/bower_components/web-animations-js/web-animations-next-lite.min.js +17 -0
  968. data/assets/bower_components/web-animations-js/web-animations-next-lite.min.js.map +1 -0
  969. data/assets/bower_components/web-animations-js/web-animations-next.min.js +17 -0
  970. data/assets/bower_components/web-animations-js/web-animations-next.min.js.map +1 -0
  971. data/assets/bower_components/web-animations-js/web-animations.html +50 -0
  972. data/assets/bower_components/web-animations-js/web-animations.min.js +17 -0
  973. data/assets/bower_components/web-animations-js/web-animations.min.js.map +1 -0
  974. data/assets/bower_components/webcomponentsjs/.bower.json +30 -0
  975. data/assets/bower_components/webcomponentsjs/CustomElements.js +1029 -0
  976. data/assets/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
  977. data/assets/bower_components/webcomponentsjs/HTMLImports.js +1157 -0
  978. data/assets/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
  979. data/assets/bower_components/webcomponentsjs/MutationObserver.js +350 -0
  980. data/assets/bower_components/webcomponentsjs/MutationObserver.min.js +11 -0
  981. data/assets/bower_components/webcomponentsjs/README.md +155 -0
  982. data/assets/bower_components/webcomponentsjs/ShadowDOM.js +4496 -0
  983. data/assets/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
  984. data/assets/bower_components/webcomponentsjs/bower.json +21 -0
  985. data/assets/bower_components/webcomponentsjs/build.log +527 -0
  986. data/assets/bower_components/webcomponentsjs/package.json +31 -0
  987. data/assets/bower_components/webcomponentsjs/webcomponents-lite.js +2505 -0
  988. data/assets/bower_components/webcomponentsjs/webcomponents-lite.min.js +12 -0
  989. data/assets/bower_components/webcomponentsjs/webcomponents.js +7209 -0
  990. data/assets/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
  991. data/assets/css/highlighter.css +80 -0
  992. data/assets/css/simplegrid.css +287 -0
  993. data/assets/css/style.css +45 -0
  994. metadata +1078 -0
@@ -0,0 +1,2164 @@
1
+ <!--
2
+ @license
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ --><link rel="import" href="polymer-micro.html">
10
+
11
+
12
+
13
+ <script>Polymer.Base._addFeature({
14
+ _prepTemplate: function () {
15
+ if (this._template === undefined) {
16
+ this._template = Polymer.DomModule.import(this.is, 'template');
17
+ }
18
+ if (this._template && this._template.hasAttribute('is')) {
19
+ this._warn(this._logf('_prepTemplate', 'top-level Polymer template ' + 'must not be a type-extension, found', this._template, 'Move inside simple <template>.'));
20
+ }
21
+ if (this._template && !this._template.content && window.HTMLTemplateElement && HTMLTemplateElement.decorate) {
22
+ HTMLTemplateElement.decorate(this._template);
23
+ }
24
+ },
25
+ _stampTemplate: function () {
26
+ if (this._template) {
27
+ this.root = this.instanceTemplate(this._template);
28
+ }
29
+ },
30
+ instanceTemplate: function (template) {
31
+ var dom = document.importNode(template._content || template.content, true);
32
+ return dom;
33
+ }
34
+ });(function () {
35
+ var baseAttachedCallback = Polymer.Base.attachedCallback;
36
+ Polymer.Base._addFeature({
37
+ _hostStack: [],
38
+ ready: function () {
39
+ },
40
+ _registerHost: function (host) {
41
+ this.dataHost = host = host || Polymer.Base._hostStack[Polymer.Base._hostStack.length - 1];
42
+ if (host && host._clients) {
43
+ host._clients.push(this);
44
+ }
45
+ this._clients = null;
46
+ this._clientsReadied = false;
47
+ },
48
+ _beginHosting: function () {
49
+ Polymer.Base._hostStack.push(this);
50
+ if (!this._clients) {
51
+ this._clients = [];
52
+ }
53
+ },
54
+ _endHosting: function () {
55
+ Polymer.Base._hostStack.pop();
56
+ },
57
+ _tryReady: function () {
58
+ this._readied = false;
59
+ if (this._canReady()) {
60
+ this._ready();
61
+ }
62
+ },
63
+ _canReady: function () {
64
+ return !this.dataHost || this.dataHost._clientsReadied;
65
+ },
66
+ _ready: function () {
67
+ this._beforeClientsReady();
68
+ if (this._template) {
69
+ this._setupRoot();
70
+ this._readyClients();
71
+ }
72
+ this._clientsReadied = true;
73
+ this._clients = null;
74
+ this._afterClientsReady();
75
+ this._readySelf();
76
+ },
77
+ _readyClients: function () {
78
+ this._beginDistribute();
79
+ var c$ = this._clients;
80
+ if (c$) {
81
+ for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
82
+ c._ready();
83
+ }
84
+ }
85
+ this._finishDistribute();
86
+ },
87
+ _readySelf: function () {
88
+ this._doBehavior('ready');
89
+ this._readied = true;
90
+ if (this._attachedPending) {
91
+ this._attachedPending = false;
92
+ this.attachedCallback();
93
+ }
94
+ },
95
+ _beforeClientsReady: function () {
96
+ },
97
+ _afterClientsReady: function () {
98
+ },
99
+ _beforeAttached: function () {
100
+ },
101
+ attachedCallback: function () {
102
+ if (this._readied) {
103
+ this._beforeAttached();
104
+ baseAttachedCallback.call(this);
105
+ } else {
106
+ this._attachedPending = true;
107
+ }
108
+ }
109
+ });
110
+ }());Polymer.ArraySplice = function () {
111
+ function newSplice(index, removed, addedCount) {
112
+ return {
113
+ index: index,
114
+ removed: removed,
115
+ addedCount: addedCount
116
+ };
117
+ }
118
+ var EDIT_LEAVE = 0;
119
+ var EDIT_UPDATE = 1;
120
+ var EDIT_ADD = 2;
121
+ var EDIT_DELETE = 3;
122
+ function ArraySplice() {
123
+ }
124
+ ArraySplice.prototype = {
125
+ calcEditDistances: function (current, currentStart, currentEnd, old, oldStart, oldEnd) {
126
+ var rowCount = oldEnd - oldStart + 1;
127
+ var columnCount = currentEnd - currentStart + 1;
128
+ var distances = new Array(rowCount);
129
+ for (var i = 0; i < rowCount; i++) {
130
+ distances[i] = new Array(columnCount);
131
+ distances[i][0] = i;
132
+ }
133
+ for (var j = 0; j < columnCount; j++)
134
+ distances[0][j] = j;
135
+ for (i = 1; i < rowCount; i++) {
136
+ for (j = 1; j < columnCount; j++) {
137
+ if (this.equals(current[currentStart + j - 1], old[oldStart + i - 1]))
138
+ distances[i][j] = distances[i - 1][j - 1];
139
+ else {
140
+ var north = distances[i - 1][j] + 1;
141
+ var west = distances[i][j - 1] + 1;
142
+ distances[i][j] = north < west ? north : west;
143
+ }
144
+ }
145
+ }
146
+ return distances;
147
+ },
148
+ spliceOperationsFromEditDistances: function (distances) {
149
+ var i = distances.length - 1;
150
+ var j = distances[0].length - 1;
151
+ var current = distances[i][j];
152
+ var edits = [];
153
+ while (i > 0 || j > 0) {
154
+ if (i == 0) {
155
+ edits.push(EDIT_ADD);
156
+ j--;
157
+ continue;
158
+ }
159
+ if (j == 0) {
160
+ edits.push(EDIT_DELETE);
161
+ i--;
162
+ continue;
163
+ }
164
+ var northWest = distances[i - 1][j - 1];
165
+ var west = distances[i - 1][j];
166
+ var north = distances[i][j - 1];
167
+ var min;
168
+ if (west < north)
169
+ min = west < northWest ? west : northWest;
170
+ else
171
+ min = north < northWest ? north : northWest;
172
+ if (min == northWest) {
173
+ if (northWest == current) {
174
+ edits.push(EDIT_LEAVE);
175
+ } else {
176
+ edits.push(EDIT_UPDATE);
177
+ current = northWest;
178
+ }
179
+ i--;
180
+ j--;
181
+ } else if (min == west) {
182
+ edits.push(EDIT_DELETE);
183
+ i--;
184
+ current = west;
185
+ } else {
186
+ edits.push(EDIT_ADD);
187
+ j--;
188
+ current = north;
189
+ }
190
+ }
191
+ edits.reverse();
192
+ return edits;
193
+ },
194
+ calcSplices: function (current, currentStart, currentEnd, old, oldStart, oldEnd) {
195
+ var prefixCount = 0;
196
+ var suffixCount = 0;
197
+ var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);
198
+ if (currentStart == 0 && oldStart == 0)
199
+ prefixCount = this.sharedPrefix(current, old, minLength);
200
+ if (currentEnd == current.length && oldEnd == old.length)
201
+ suffixCount = this.sharedSuffix(current, old, minLength - prefixCount);
202
+ currentStart += prefixCount;
203
+ oldStart += prefixCount;
204
+ currentEnd -= suffixCount;
205
+ oldEnd -= suffixCount;
206
+ if (currentEnd - currentStart == 0 && oldEnd - oldStart == 0)
207
+ return [];
208
+ if (currentStart == currentEnd) {
209
+ var splice = newSplice(currentStart, [], 0);
210
+ while (oldStart < oldEnd)
211
+ splice.removed.push(old[oldStart++]);
212
+ return [splice];
213
+ } else if (oldStart == oldEnd)
214
+ return [newSplice(currentStart, [], currentEnd - currentStart)];
215
+ var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));
216
+ splice = undefined;
217
+ var splices = [];
218
+ var index = currentStart;
219
+ var oldIndex = oldStart;
220
+ for (var i = 0; i < ops.length; i++) {
221
+ switch (ops[i]) {
222
+ case EDIT_LEAVE:
223
+ if (splice) {
224
+ splices.push(splice);
225
+ splice = undefined;
226
+ }
227
+ index++;
228
+ oldIndex++;
229
+ break;
230
+ case EDIT_UPDATE:
231
+ if (!splice)
232
+ splice = newSplice(index, [], 0);
233
+ splice.addedCount++;
234
+ index++;
235
+ splice.removed.push(old[oldIndex]);
236
+ oldIndex++;
237
+ break;
238
+ case EDIT_ADD:
239
+ if (!splice)
240
+ splice = newSplice(index, [], 0);
241
+ splice.addedCount++;
242
+ index++;
243
+ break;
244
+ case EDIT_DELETE:
245
+ if (!splice)
246
+ splice = newSplice(index, [], 0);
247
+ splice.removed.push(old[oldIndex]);
248
+ oldIndex++;
249
+ break;
250
+ }
251
+ }
252
+ if (splice) {
253
+ splices.push(splice);
254
+ }
255
+ return splices;
256
+ },
257
+ sharedPrefix: function (current, old, searchLength) {
258
+ for (var i = 0; i < searchLength; i++)
259
+ if (!this.equals(current[i], old[i]))
260
+ return i;
261
+ return searchLength;
262
+ },
263
+ sharedSuffix: function (current, old, searchLength) {
264
+ var index1 = current.length;
265
+ var index2 = old.length;
266
+ var count = 0;
267
+ while (count < searchLength && this.equals(current[--index1], old[--index2]))
268
+ count++;
269
+ return count;
270
+ },
271
+ calculateSplices: function (current, previous) {
272
+ return this.calcSplices(current, 0, current.length, previous, 0, previous.length);
273
+ },
274
+ equals: function (currentValue, previousValue) {
275
+ return currentValue === previousValue;
276
+ }
277
+ };
278
+ return new ArraySplice();
279
+ }();Polymer.domInnerHTML = function () {
280
+ var escapeAttrRegExp = /[&\u00A0"]/g;
281
+ var escapeDataRegExp = /[&\u00A0<>]/g;
282
+ function escapeReplace(c) {
283
+ switch (c) {
284
+ case '&':
285
+ return '&amp;';
286
+ case '<':
287
+ return '&lt;';
288
+ case '>':
289
+ return '&gt;';
290
+ case '"':
291
+ return '&quot;';
292
+ case '\xA0':
293
+ return '&nbsp;';
294
+ }
295
+ }
296
+ function escapeAttr(s) {
297
+ return s.replace(escapeAttrRegExp, escapeReplace);
298
+ }
299
+ function escapeData(s) {
300
+ return s.replace(escapeDataRegExp, escapeReplace);
301
+ }
302
+ function makeSet(arr) {
303
+ var set = {};
304
+ for (var i = 0; i < arr.length; i++) {
305
+ set[arr[i]] = true;
306
+ }
307
+ return set;
308
+ }
309
+ var voidElements = makeSet([
310
+ 'area',
311
+ 'base',
312
+ 'br',
313
+ 'col',
314
+ 'command',
315
+ 'embed',
316
+ 'hr',
317
+ 'img',
318
+ 'input',
319
+ 'keygen',
320
+ 'link',
321
+ 'meta',
322
+ 'param',
323
+ 'source',
324
+ 'track',
325
+ 'wbr'
326
+ ]);
327
+ var plaintextParents = makeSet([
328
+ 'style',
329
+ 'script',
330
+ 'xmp',
331
+ 'iframe',
332
+ 'noembed',
333
+ 'noframes',
334
+ 'plaintext',
335
+ 'noscript'
336
+ ]);
337
+ function getOuterHTML(node, parentNode, composed) {
338
+ switch (node.nodeType) {
339
+ case Node.ELEMENT_NODE:
340
+ var tagName = node.localName;
341
+ var s = '<' + tagName;
342
+ var attrs = node.attributes;
343
+ for (var i = 0, attr; attr = attrs[i]; i++) {
344
+ s += ' ' + attr.name + '="' + escapeAttr(attr.value) + '"';
345
+ }
346
+ s += '>';
347
+ if (voidElements[tagName]) {
348
+ return s;
349
+ }
350
+ return s + getInnerHTML(node, composed) + '</' + tagName + '>';
351
+ case Node.TEXT_NODE:
352
+ var data = node.data;
353
+ if (parentNode && plaintextParents[parentNode.localName]) {
354
+ return data;
355
+ }
356
+ return escapeData(data);
357
+ case Node.COMMENT_NODE:
358
+ return '<!--' + node.data + '-->';
359
+ default:
360
+ console.error(node);
361
+ throw new Error('not implemented');
362
+ }
363
+ }
364
+ function getInnerHTML(node, composed) {
365
+ if (node instanceof HTMLTemplateElement)
366
+ node = node.content;
367
+ var s = '';
368
+ var c$ = Polymer.dom(node).childNodes;
369
+ for (var i = 0, l = c$.length, child; i < l && (child = c$[i]); i++) {
370
+ s += getOuterHTML(child, node, composed);
371
+ }
372
+ return s;
373
+ }
374
+ return { getInnerHTML: getInnerHTML };
375
+ }();(function () {
376
+ 'use strict';
377
+ var nativeInsertBefore = Element.prototype.insertBefore;
378
+ var nativeAppendChild = Element.prototype.appendChild;
379
+ var nativeRemoveChild = Element.prototype.removeChild;
380
+ Polymer.TreeApi = {
381
+ arrayCopyChildNodes: function (parent) {
382
+ var copy = [], i = 0;
383
+ for (var n = parent.firstChild; n; n = n.nextSibling) {
384
+ copy[i++] = n;
385
+ }
386
+ return copy;
387
+ },
388
+ arrayCopyChildren: function (parent) {
389
+ var copy = [], i = 0;
390
+ for (var n = parent.firstElementChild; n; n = n.nextElementSibling) {
391
+ copy[i++] = n;
392
+ }
393
+ return copy;
394
+ },
395
+ arrayCopy: function (a$) {
396
+ var l = a$.length;
397
+ var copy = new Array(l);
398
+ for (var i = 0; i < l; i++) {
399
+ copy[i] = a$[i];
400
+ }
401
+ return copy;
402
+ }
403
+ };
404
+ Polymer.TreeApi.Logical = {
405
+ hasParentNode: function (node) {
406
+ return Boolean(node.__dom && node.__dom.parentNode);
407
+ },
408
+ hasChildNodes: function (node) {
409
+ return Boolean(node.__dom && node.__dom.childNodes !== undefined);
410
+ },
411
+ getChildNodes: function (node) {
412
+ return this.hasChildNodes(node) ? this._getChildNodes(node) : node.childNodes;
413
+ },
414
+ _getChildNodes: function (node) {
415
+ if (!node.__dom.childNodes) {
416
+ node.__dom.childNodes = [];
417
+ for (var n = node.__dom.firstChild; n; n = n.__dom.nextSibling) {
418
+ node.__dom.childNodes.push(n);
419
+ }
420
+ }
421
+ return node.__dom.childNodes;
422
+ },
423
+ getParentNode: function (node) {
424
+ return node.__dom && node.__dom.parentNode !== undefined ? node.__dom.parentNode : node.parentNode;
425
+ },
426
+ getFirstChild: function (node) {
427
+ return node.__dom && node.__dom.firstChild !== undefined ? node.__dom.firstChild : node.firstChild;
428
+ },
429
+ getLastChild: function (node) {
430
+ return node.__dom && node.__dom.lastChild !== undefined ? node.__dom.lastChild : node.lastChild;
431
+ },
432
+ getNextSibling: function (node) {
433
+ return node.__dom && node.__dom.nextSibling !== undefined ? node.__dom.nextSibling : node.nextSibling;
434
+ },
435
+ getPreviousSibling: function (node) {
436
+ return node.__dom && node.__dom.previousSibling !== undefined ? node.__dom.previousSibling : node.previousSibling;
437
+ },
438
+ getFirstElementChild: function (node) {
439
+ return node.__dom && node.__dom.firstChild !== undefined ? this._getFirstElementChild(node) : node.firstElementChild;
440
+ },
441
+ _getFirstElementChild: function (node) {
442
+ var n = node.__dom.firstChild;
443
+ while (n && n.nodeType !== Node.ELEMENT_NODE) {
444
+ n = n.__dom.nextSibling;
445
+ }
446
+ return n;
447
+ },
448
+ getLastElementChild: function (node) {
449
+ return node.__dom && node.__dom.lastChild !== undefined ? this._getLastElementChild(node) : node.lastElementChild;
450
+ },
451
+ _getLastElementChild: function (node) {
452
+ var n = node.__dom.lastChild;
453
+ while (n && n.nodeType !== Node.ELEMENT_NODE) {
454
+ n = n.__dom.previousSibling;
455
+ }
456
+ return n;
457
+ },
458
+ getNextElementSibling: function (node) {
459
+ return node.__dom && node.__dom.nextSibling !== undefined ? this._getNextElementSibling(node) : node.nextElementSibling;
460
+ },
461
+ _getNextElementSibling: function (node) {
462
+ var n = node.__dom.nextSibling;
463
+ while (n && n.nodeType !== Node.ELEMENT_NODE) {
464
+ n = n.__dom.nextSibling;
465
+ }
466
+ return n;
467
+ },
468
+ getPreviousElementSibling: function (node) {
469
+ return node.__dom && node.__dom.previousSibling !== undefined ? this._getPreviousElementSibling(node) : node.previousElementSibling;
470
+ },
471
+ _getPreviousElementSibling: function (node) {
472
+ var n = node.__dom.previousSibling;
473
+ while (n && n.nodeType !== Node.ELEMENT_NODE) {
474
+ n = n.__dom.previousSibling;
475
+ }
476
+ return n;
477
+ },
478
+ saveChildNodes: function (node) {
479
+ if (!this.hasChildNodes(node)) {
480
+ node.__dom = node.__dom || {};
481
+ node.__dom.firstChild = node.firstChild;
482
+ node.__dom.lastChild = node.lastChild;
483
+ node.__dom.childNodes = [];
484
+ for (var n = node.firstChild; n; n = n.nextSibling) {
485
+ n.__dom = n.__dom || {};
486
+ n.__dom.parentNode = node;
487
+ node.__dom.childNodes.push(n);
488
+ n.__dom.nextSibling = n.nextSibling;
489
+ n.__dom.previousSibling = n.previousSibling;
490
+ }
491
+ }
492
+ },
493
+ recordInsertBefore: function (node, container, ref_node) {
494
+ container.__dom.childNodes = null;
495
+ if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
496
+ for (var n = node.firstChild; n; n = n.nextSibling) {
497
+ this._linkNode(n, container, ref_node);
498
+ }
499
+ } else {
500
+ this._linkNode(node, container, ref_node);
501
+ }
502
+ },
503
+ _linkNode: function (node, container, ref_node) {
504
+ node.__dom = node.__dom || {};
505
+ container.__dom = container.__dom || {};
506
+ if (ref_node) {
507
+ ref_node.__dom = ref_node.__dom || {};
508
+ }
509
+ node.__dom.previousSibling = ref_node ? ref_node.__dom.previousSibling : container.__dom.lastChild;
510
+ if (node.__dom.previousSibling) {
511
+ node.__dom.previousSibling.__dom.nextSibling = node;
512
+ }
513
+ node.__dom.nextSibling = ref_node || null;
514
+ if (node.__dom.nextSibling) {
515
+ node.__dom.nextSibling.__dom.previousSibling = node;
516
+ }
517
+ node.__dom.parentNode = container;
518
+ if (ref_node) {
519
+ if (ref_node === container.__dom.firstChild) {
520
+ container.__dom.firstChild = node;
521
+ }
522
+ } else {
523
+ container.__dom.lastChild = node;
524
+ if (!container.__dom.firstChild) {
525
+ container.__dom.firstChild = node;
526
+ }
527
+ }
528
+ container.__dom.childNodes = null;
529
+ },
530
+ recordRemoveChild: function (node, container) {
531
+ node.__dom = node.__dom || {};
532
+ container.__dom = container.__dom || {};
533
+ if (node === container.__dom.firstChild) {
534
+ container.__dom.firstChild = node.__dom.nextSibling;
535
+ }
536
+ if (node === container.__dom.lastChild) {
537
+ container.__dom.lastChild = node.__dom.previousSibling;
538
+ }
539
+ var p = node.__dom.previousSibling;
540
+ var n = node.__dom.nextSibling;
541
+ if (p) {
542
+ p.__dom.nextSibling = n;
543
+ }
544
+ if (n) {
545
+ n.__dom.previousSibling = p;
546
+ }
547
+ node.__dom.parentNode = node.__dom.previousSibling = node.__dom.nextSibling = undefined;
548
+ container.__dom.childNodes = null;
549
+ }
550
+ };
551
+ Polymer.TreeApi.Composed = {
552
+ getChildNodes: function (node) {
553
+ return Polymer.TreeApi.arrayCopyChildNodes(node);
554
+ },
555
+ getParentNode: function (node) {
556
+ return node.parentNode;
557
+ },
558
+ clearChildNodes: function (node) {
559
+ node.textContent = '';
560
+ },
561
+ insertBefore: function (parentNode, newChild, refChild) {
562
+ return nativeInsertBefore.call(parentNode, newChild, refChild || null);
563
+ },
564
+ appendChild: function (parentNode, newChild) {
565
+ return nativeAppendChild.call(parentNode, newChild);
566
+ },
567
+ removeChild: function (parentNode, node) {
568
+ return nativeRemoveChild.call(parentNode, node);
569
+ }
570
+ };
571
+ }());Polymer.DomApi = function () {
572
+ 'use strict';
573
+ var Settings = Polymer.Settings;
574
+ var TreeApi = Polymer.TreeApi;
575
+ var DomApi = function (node) {
576
+ this.node = needsToWrap ? DomApi.wrap(node) : node;
577
+ };
578
+ var needsToWrap = Settings.hasShadow && !Settings.nativeShadow;
579
+ DomApi.wrap = window.wrap ? window.wrap : function (node) {
580
+ return node;
581
+ };
582
+ DomApi.prototype = {
583
+ flush: function () {
584
+ Polymer.dom.flush();
585
+ },
586
+ deepContains: function (node) {
587
+ if (this.node.contains(node)) {
588
+ return true;
589
+ }
590
+ var n = node;
591
+ var doc = node.ownerDocument;
592
+ while (n && n !== doc && n !== this.node) {
593
+ n = Polymer.dom(n).parentNode || n.host;
594
+ }
595
+ return n === this.node;
596
+ },
597
+ queryDistributedElements: function (selector) {
598
+ var c$ = this.getEffectiveChildNodes();
599
+ var list = [];
600
+ for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
601
+ if (c.nodeType === Node.ELEMENT_NODE && DomApi.matchesSelector.call(c, selector)) {
602
+ list.push(c);
603
+ }
604
+ }
605
+ return list;
606
+ },
607
+ getEffectiveChildNodes: function () {
608
+ var list = [];
609
+ var c$ = this.childNodes;
610
+ for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
611
+ if (c.localName === CONTENT) {
612
+ var d$ = dom(c).getDistributedNodes();
613
+ for (var j = 0; j < d$.length; j++) {
614
+ list.push(d$[j]);
615
+ }
616
+ } else {
617
+ list.push(c);
618
+ }
619
+ }
620
+ return list;
621
+ },
622
+ observeNodes: function (callback) {
623
+ if (callback) {
624
+ if (!this.observer) {
625
+ this.observer = this.node.localName === CONTENT ? new DomApi.DistributedNodesObserver(this) : new DomApi.EffectiveNodesObserver(this);
626
+ }
627
+ return this.observer.addListener(callback);
628
+ }
629
+ },
630
+ unobserveNodes: function (handle) {
631
+ if (this.observer) {
632
+ this.observer.removeListener(handle);
633
+ }
634
+ },
635
+ notifyObserver: function () {
636
+ if (this.observer) {
637
+ this.observer.notify();
638
+ }
639
+ },
640
+ _query: function (matcher, node, halter) {
641
+ node = node || this.node;
642
+ var list = [];
643
+ this._queryElements(TreeApi.Logical.getChildNodes(node), matcher, halter, list);
644
+ return list;
645
+ },
646
+ _queryElements: function (elements, matcher, halter, list) {
647
+ for (var i = 0, l = elements.length, c; i < l && (c = elements[i]); i++) {
648
+ if (c.nodeType === Node.ELEMENT_NODE) {
649
+ if (this._queryElement(c, matcher, halter, list)) {
650
+ return true;
651
+ }
652
+ }
653
+ }
654
+ },
655
+ _queryElement: function (node, matcher, halter, list) {
656
+ var result = matcher(node);
657
+ if (result) {
658
+ list.push(node);
659
+ }
660
+ if (halter && halter(result)) {
661
+ return result;
662
+ }
663
+ this._queryElements(TreeApi.Logical.getChildNodes(node), matcher, halter, list);
664
+ }
665
+ };
666
+ var CONTENT = DomApi.CONTENT = 'content';
667
+ var dom = DomApi.factory = function (node) {
668
+ node = node || document;
669
+ if (!node.__domApi) {
670
+ node.__domApi = new DomApi.ctor(node);
671
+ }
672
+ return node.__domApi;
673
+ };
674
+ DomApi.hasApi = function (node) {
675
+ return Boolean(node.__domApi);
676
+ };
677
+ DomApi.ctor = DomApi;
678
+ Polymer.dom = function (obj, patch) {
679
+ if (obj instanceof Event) {
680
+ return Polymer.EventApi.factory(obj);
681
+ } else {
682
+ return DomApi.factory(obj, patch);
683
+ }
684
+ };
685
+ var p = Element.prototype;
686
+ DomApi.matchesSelector = p.matches || p.matchesSelector || p.mozMatchesSelector || p.msMatchesSelector || p.oMatchesSelector || p.webkitMatchesSelector;
687
+ return DomApi;
688
+ }();(function () {
689
+ 'use strict';
690
+ var Settings = Polymer.Settings;
691
+ var DomApi = Polymer.DomApi;
692
+ var dom = DomApi.factory;
693
+ var TreeApi = Polymer.TreeApi;
694
+ var getInnerHTML = Polymer.domInnerHTML.getInnerHTML;
695
+ var CONTENT = DomApi.CONTENT;
696
+ if (Settings.useShadow) {
697
+ return;
698
+ }
699
+ var nativeCloneNode = Element.prototype.cloneNode;
700
+ var nativeImportNode = Document.prototype.importNode;
701
+ Polymer.Base.extend(DomApi.prototype, {
702
+ _lazyDistribute: function (host) {
703
+ if (host.shadyRoot && host.shadyRoot._distributionClean) {
704
+ host.shadyRoot._distributionClean = false;
705
+ Polymer.dom.addDebouncer(host.debounce('_distribute', host._distributeContent));
706
+ }
707
+ },
708
+ appendChild: function (node) {
709
+ return this.insertBefore(node);
710
+ },
711
+ insertBefore: function (node, ref_node) {
712
+ if (ref_node && TreeApi.Logical.getParentNode(ref_node) !== this.node) {
713
+ throw Error('The ref_node to be inserted before is not a child ' + 'of this node');
714
+ }
715
+ if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {
716
+ var parent = TreeApi.Logical.getParentNode(node);
717
+ if (parent) {
718
+ if (DomApi.hasApi(parent)) {
719
+ dom(parent).notifyObserver();
720
+ }
721
+ this._removeNode(node);
722
+ } else {
723
+ this._removeOwnerShadyRoot(node);
724
+ }
725
+ }
726
+ if (!this._addNode(node, ref_node)) {
727
+ if (ref_node) {
728
+ ref_node = ref_node.localName === CONTENT ? this._firstComposedNode(ref_node) : ref_node;
729
+ }
730
+ var container = this.node._isShadyRoot ? this.node.host : this.node;
731
+ if (ref_node) {
732
+ TreeApi.Composed.insertBefore(container, node, ref_node);
733
+ } else {
734
+ TreeApi.Composed.appendChild(container, node);
735
+ }
736
+ }
737
+ this.notifyObserver();
738
+ return node;
739
+ },
740
+ _addNode: function (node, ref_node) {
741
+ var root = this.getOwnerRoot();
742
+ if (root) {
743
+ var ipAdded = this._maybeAddInsertionPoint(node, this.node);
744
+ if (!root._invalidInsertionPoints) {
745
+ root._invalidInsertionPoints = ipAdded;
746
+ }
747
+ this._addNodeToHost(root.host, node);
748
+ }
749
+ if (TreeApi.Logical.hasChildNodes(this.node)) {
750
+ TreeApi.Logical.recordInsertBefore(node, this.node, ref_node);
751
+ }
752
+ var handled = this._maybeDistribute(node) || this.node.shadyRoot;
753
+ if (handled) {
754
+ if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
755
+ while (node.firstChild) {
756
+ TreeApi.Composed.removeChild(node, node.firstChild);
757
+ }
758
+ } else {
759
+ var parent = TreeApi.Composed.getParentNode(node);
760
+ if (parent) {
761
+ TreeApi.Composed.removeChild(parent, node);
762
+ }
763
+ }
764
+ }
765
+ return handled;
766
+ },
767
+ removeChild: function (node) {
768
+ if (TreeApi.Logical.getParentNode(node) !== this.node) {
769
+ throw Error('The node to be removed is not a child of this node: ' + node);
770
+ }
771
+ if (!this._removeNode(node)) {
772
+ var container = this.node._isShadyRoot ? this.node.host : this.node;
773
+ var parent = TreeApi.Composed.getParentNode(node);
774
+ if (container === parent) {
775
+ TreeApi.Composed.removeChild(container, node);
776
+ }
777
+ }
778
+ this.notifyObserver();
779
+ return node;
780
+ },
781
+ _removeNode: function (node) {
782
+ var logicalParent = TreeApi.Logical.hasParentNode(node) && TreeApi.Logical.getParentNode(node);
783
+ var distributed;
784
+ var root = this._ownerShadyRootForNode(node);
785
+ if (logicalParent) {
786
+ distributed = dom(node)._maybeDistributeParent();
787
+ TreeApi.Logical.recordRemoveChild(node, logicalParent);
788
+ if (root && this._removeDistributedChildren(root, node)) {
789
+ root._invalidInsertionPoints = true;
790
+ this._lazyDistribute(root.host);
791
+ }
792
+ }
793
+ this._removeOwnerShadyRoot(node);
794
+ if (root) {
795
+ this._removeNodeFromHost(root.host, node);
796
+ }
797
+ return distributed;
798
+ },
799
+ replaceChild: function (node, ref_node) {
800
+ this.insertBefore(node, ref_node);
801
+ this.removeChild(ref_node);
802
+ return node;
803
+ },
804
+ _hasCachedOwnerRoot: function (node) {
805
+ return Boolean(node._ownerShadyRoot !== undefined);
806
+ },
807
+ getOwnerRoot: function () {
808
+ return this._ownerShadyRootForNode(this.node);
809
+ },
810
+ _ownerShadyRootForNode: function (node) {
811
+ if (!node) {
812
+ return;
813
+ }
814
+ var root = node._ownerShadyRoot;
815
+ if (root === undefined) {
816
+ if (node._isShadyRoot) {
817
+ root = node;
818
+ } else {
819
+ var parent = TreeApi.Logical.getParentNode(node);
820
+ if (parent) {
821
+ root = parent._isShadyRoot ? parent : this._ownerShadyRootForNode(parent);
822
+ } else {
823
+ root = null;
824
+ }
825
+ }
826
+ if (root || document.documentElement.contains(node)) {
827
+ node._ownerShadyRoot = root;
828
+ }
829
+ }
830
+ return root;
831
+ },
832
+ _maybeDistribute: function (node) {
833
+ var fragContent = node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !node.__noContent && dom(node).querySelector(CONTENT);
834
+ var wrappedContent = fragContent && TreeApi.Logical.getParentNode(fragContent).nodeType !== Node.DOCUMENT_FRAGMENT_NODE;
835
+ var hasContent = fragContent || node.localName === CONTENT;
836
+ if (hasContent) {
837
+ var root = this.getOwnerRoot();
838
+ if (root) {
839
+ this._lazyDistribute(root.host);
840
+ }
841
+ }
842
+ var needsDist = this._nodeNeedsDistribution(this.node);
843
+ if (needsDist) {
844
+ this._lazyDistribute(this.node);
845
+ }
846
+ return needsDist || hasContent && !wrappedContent;
847
+ },
848
+ _maybeAddInsertionPoint: function (node, parent) {
849
+ var added;
850
+ if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !node.__noContent) {
851
+ var c$ = dom(node).querySelectorAll(CONTENT);
852
+ for (var i = 0, n, np, na; i < c$.length && (n = c$[i]); i++) {
853
+ np = TreeApi.Logical.getParentNode(n);
854
+ if (np === node) {
855
+ np = parent;
856
+ }
857
+ na = this._maybeAddInsertionPoint(n, np);
858
+ added = added || na;
859
+ }
860
+ } else if (node.localName === CONTENT) {
861
+ TreeApi.Logical.saveChildNodes(parent);
862
+ TreeApi.Logical.saveChildNodes(node);
863
+ added = true;
864
+ }
865
+ return added;
866
+ },
867
+ _updateInsertionPoints: function (host) {
868
+ var i$ = host.shadyRoot._insertionPoints = dom(host.shadyRoot).querySelectorAll(CONTENT);
869
+ for (var i = 0, c; i < i$.length; i++) {
870
+ c = i$[i];
871
+ TreeApi.Logical.saveChildNodes(c);
872
+ TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));
873
+ }
874
+ },
875
+ _nodeNeedsDistribution: function (node) {
876
+ return node && node.shadyRoot && DomApi.hasInsertionPoint(node.shadyRoot);
877
+ },
878
+ _addNodeToHost: function (host, node) {
879
+ if (host._elementAdd) {
880
+ host._elementAdd(node);
881
+ }
882
+ },
883
+ _removeNodeFromHost: function (host, node) {
884
+ if (host._elementRemove) {
885
+ host._elementRemove(node);
886
+ }
887
+ },
888
+ _removeDistributedChildren: function (root, container) {
889
+ var hostNeedsDist;
890
+ var ip$ = root._insertionPoints;
891
+ for (var i = 0; i < ip$.length; i++) {
892
+ var content = ip$[i];
893
+ if (this._contains(container, content)) {
894
+ var dc$ = dom(content).getDistributedNodes();
895
+ for (var j = 0; j < dc$.length; j++) {
896
+ hostNeedsDist = true;
897
+ var node = dc$[j];
898
+ var parent = TreeApi.Composed.getParentNode(node);
899
+ if (parent) {
900
+ TreeApi.Composed.removeChild(parent, node);
901
+ }
902
+ }
903
+ }
904
+ }
905
+ return hostNeedsDist;
906
+ },
907
+ _contains: function (container, node) {
908
+ while (node) {
909
+ if (node == container) {
910
+ return true;
911
+ }
912
+ node = TreeApi.Logical.getParentNode(node);
913
+ }
914
+ },
915
+ _removeOwnerShadyRoot: function (node) {
916
+ if (this._hasCachedOwnerRoot(node)) {
917
+ var c$ = TreeApi.Logical.getChildNodes(node);
918
+ for (var i = 0, l = c$.length, n; i < l && (n = c$[i]); i++) {
919
+ this._removeOwnerShadyRoot(n);
920
+ }
921
+ }
922
+ node._ownerShadyRoot = undefined;
923
+ },
924
+ _firstComposedNode: function (content) {
925
+ var n$ = dom(content).getDistributedNodes();
926
+ for (var i = 0, l = n$.length, n, p$; i < l && (n = n$[i]); i++) {
927
+ p$ = dom(n).getDestinationInsertionPoints();
928
+ if (p$[p$.length - 1] === content) {
929
+ return n;
930
+ }
931
+ }
932
+ },
933
+ querySelector: function (selector) {
934
+ var result = this._query(function (n) {
935
+ return DomApi.matchesSelector.call(n, selector);
936
+ }, this.node, function (n) {
937
+ return Boolean(n);
938
+ })[0];
939
+ return result || null;
940
+ },
941
+ querySelectorAll: function (selector) {
942
+ return this._query(function (n) {
943
+ return DomApi.matchesSelector.call(n, selector);
944
+ }, this.node);
945
+ },
946
+ getDestinationInsertionPoints: function () {
947
+ return this.node._destinationInsertionPoints || [];
948
+ },
949
+ getDistributedNodes: function () {
950
+ return this.node._distributedNodes || [];
951
+ },
952
+ _clear: function () {
953
+ while (this.childNodes.length) {
954
+ this.removeChild(this.childNodes[0]);
955
+ }
956
+ },
957
+ setAttribute: function (name, value) {
958
+ this.node.setAttribute(name, value);
959
+ this._maybeDistributeParent();
960
+ },
961
+ removeAttribute: function (name) {
962
+ this.node.removeAttribute(name);
963
+ this._maybeDistributeParent();
964
+ },
965
+ _maybeDistributeParent: function () {
966
+ if (this._nodeNeedsDistribution(this.parentNode)) {
967
+ this._lazyDistribute(this.parentNode);
968
+ return true;
969
+ }
970
+ },
971
+ cloneNode: function (deep) {
972
+ var n = nativeCloneNode.call(this.node, false);
973
+ if (deep) {
974
+ var c$ = this.childNodes;
975
+ var d = dom(n);
976
+ for (var i = 0, nc; i < c$.length; i++) {
977
+ nc = dom(c$[i]).cloneNode(true);
978
+ d.appendChild(nc);
979
+ }
980
+ }
981
+ return n;
982
+ },
983
+ importNode: function (externalNode, deep) {
984
+ var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
985
+ var n = nativeImportNode.call(doc, externalNode, false);
986
+ if (deep) {
987
+ var c$ = TreeApi.Logical.getChildNodes(externalNode);
988
+ var d = dom(n);
989
+ for (var i = 0, nc; i < c$.length; i++) {
990
+ nc = dom(doc).importNode(c$[i], true);
991
+ d.appendChild(nc);
992
+ }
993
+ }
994
+ return n;
995
+ },
996
+ _getComposedInnerHTML: function () {
997
+ return getInnerHTML(this.node, true);
998
+ }
999
+ });
1000
+ Object.defineProperties(DomApi.prototype, {
1001
+ activeElement: {
1002
+ get: function () {
1003
+ var active = document.activeElement;
1004
+ if (!active) {
1005
+ return null;
1006
+ }
1007
+ var isShadyRoot = !!this.node._isShadyRoot;
1008
+ if (this.node !== document) {
1009
+ if (!isShadyRoot) {
1010
+ return null;
1011
+ }
1012
+ if (this.node.host === active || !this.node.host.contains(active)) {
1013
+ return null;
1014
+ }
1015
+ }
1016
+ var activeRoot = dom(active).getOwnerRoot();
1017
+ while (activeRoot && activeRoot !== this.node) {
1018
+ active = activeRoot.host;
1019
+ activeRoot = dom(active).getOwnerRoot();
1020
+ }
1021
+ if (this.node === document) {
1022
+ return activeRoot ? null : active;
1023
+ } else {
1024
+ return activeRoot === this.node ? active : null;
1025
+ }
1026
+ },
1027
+ configurable: true
1028
+ },
1029
+ childNodes: {
1030
+ get: function () {
1031
+ var c$ = TreeApi.Logical.getChildNodes(this.node);
1032
+ return Array.isArray(c$) ? c$ : TreeApi.arrayCopyChildNodes(this.node);
1033
+ },
1034
+ configurable: true
1035
+ },
1036
+ children: {
1037
+ get: function () {
1038
+ if (TreeApi.Logical.hasChildNodes(this.node)) {
1039
+ return Array.prototype.filter.call(this.childNodes, function (n) {
1040
+ return n.nodeType === Node.ELEMENT_NODE;
1041
+ });
1042
+ } else {
1043
+ return TreeApi.arrayCopyChildren(this.node);
1044
+ }
1045
+ },
1046
+ configurable: true
1047
+ },
1048
+ parentNode: {
1049
+ get: function () {
1050
+ return TreeApi.Logical.getParentNode(this.node);
1051
+ },
1052
+ configurable: true
1053
+ },
1054
+ firstChild: {
1055
+ get: function () {
1056
+ return TreeApi.Logical.getFirstChild(this.node);
1057
+ },
1058
+ configurable: true
1059
+ },
1060
+ lastChild: {
1061
+ get: function () {
1062
+ return TreeApi.Logical.getLastChild(this.node);
1063
+ },
1064
+ configurable: true
1065
+ },
1066
+ nextSibling: {
1067
+ get: function () {
1068
+ return TreeApi.Logical.getNextSibling(this.node);
1069
+ },
1070
+ configurable: true
1071
+ },
1072
+ previousSibling: {
1073
+ get: function () {
1074
+ return TreeApi.Logical.getPreviousSibling(this.node);
1075
+ },
1076
+ configurable: true
1077
+ },
1078
+ firstElementChild: {
1079
+ get: function () {
1080
+ return TreeApi.Logical.getFirstElementChild(this.node);
1081
+ },
1082
+ configurable: true
1083
+ },
1084
+ lastElementChild: {
1085
+ get: function () {
1086
+ return TreeApi.Logical.getLastElementChild(this.node);
1087
+ },
1088
+ configurable: true
1089
+ },
1090
+ nextElementSibling: {
1091
+ get: function () {
1092
+ return TreeApi.Logical.getNextElementSibling(this.node);
1093
+ },
1094
+ configurable: true
1095
+ },
1096
+ previousElementSibling: {
1097
+ get: function () {
1098
+ return TreeApi.Logical.getPreviousElementSibling(this.node);
1099
+ },
1100
+ configurable: true
1101
+ },
1102
+ textContent: {
1103
+ get: function () {
1104
+ var nt = this.node.nodeType;
1105
+ if (nt === Node.TEXT_NODE || nt === Node.COMMENT_NODE) {
1106
+ return this.node.textContent;
1107
+ } else {
1108
+ var tc = [];
1109
+ for (var i = 0, cn = this.childNodes, c; c = cn[i]; i++) {
1110
+ if (c.nodeType !== Node.COMMENT_NODE) {
1111
+ tc.push(c.textContent);
1112
+ }
1113
+ }
1114
+ return tc.join('');
1115
+ }
1116
+ },
1117
+ set: function (text) {
1118
+ var nt = this.node.nodeType;
1119
+ if (nt === Node.TEXT_NODE || nt === Node.COMMENT_NODE) {
1120
+ this.node.textContent = text;
1121
+ } else {
1122
+ this._clear();
1123
+ if (text) {
1124
+ this.appendChild(document.createTextNode(text));
1125
+ }
1126
+ }
1127
+ },
1128
+ configurable: true
1129
+ },
1130
+ innerHTML: {
1131
+ get: function () {
1132
+ var nt = this.node.nodeType;
1133
+ if (nt === Node.TEXT_NODE || nt === Node.COMMENT_NODE) {
1134
+ return null;
1135
+ } else {
1136
+ return getInnerHTML(this.node);
1137
+ }
1138
+ },
1139
+ set: function (text) {
1140
+ var nt = this.node.nodeType;
1141
+ if (nt !== Node.TEXT_NODE || nt !== Node.COMMENT_NODE) {
1142
+ this._clear();
1143
+ var d = document.createElement('div');
1144
+ d.innerHTML = text;
1145
+ var c$ = TreeApi.arrayCopyChildNodes(d);
1146
+ for (var i = 0; i < c$.length; i++) {
1147
+ this.appendChild(c$[i]);
1148
+ }
1149
+ }
1150
+ },
1151
+ configurable: true
1152
+ }
1153
+ });
1154
+ DomApi.hasInsertionPoint = function (root) {
1155
+ return Boolean(root && root._insertionPoints.length);
1156
+ };
1157
+ }());(function () {
1158
+ 'use strict';
1159
+ var Settings = Polymer.Settings;
1160
+ var TreeApi = Polymer.TreeApi;
1161
+ var DomApi = Polymer.DomApi;
1162
+ if (!Settings.useShadow) {
1163
+ return;
1164
+ }
1165
+ Polymer.Base.extend(DomApi.prototype, {
1166
+ querySelectorAll: function (selector) {
1167
+ return TreeApi.arrayCopy(this.node.querySelectorAll(selector));
1168
+ },
1169
+ getOwnerRoot: function () {
1170
+ var n = this.node;
1171
+ while (n) {
1172
+ if (n.nodeType === Node.DOCUMENT_FRAGMENT_NODE && n.host) {
1173
+ return n;
1174
+ }
1175
+ n = n.parentNode;
1176
+ }
1177
+ },
1178
+ importNode: function (externalNode, deep) {
1179
+ var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
1180
+ return doc.importNode(externalNode, deep);
1181
+ },
1182
+ getDestinationInsertionPoints: function () {
1183
+ var n$ = this.node.getDestinationInsertionPoints && this.node.getDestinationInsertionPoints();
1184
+ return n$ ? TreeApi.arrayCopy(n$) : [];
1185
+ },
1186
+ getDistributedNodes: function () {
1187
+ var n$ = this.node.getDistributedNodes && this.node.getDistributedNodes();
1188
+ return n$ ? TreeApi.arrayCopy(n$) : [];
1189
+ }
1190
+ });
1191
+ Object.defineProperties(DomApi.prototype, {
1192
+ activeElement: {
1193
+ get: function () {
1194
+ var node = DomApi.wrap(this.node);
1195
+ var activeElement = node.activeElement;
1196
+ return node.contains(activeElement) ? activeElement : null;
1197
+ },
1198
+ configurable: true
1199
+ },
1200
+ childNodes: {
1201
+ get: function () {
1202
+ return TreeApi.arrayCopyChildNodes(this.node);
1203
+ },
1204
+ configurable: true
1205
+ },
1206
+ children: {
1207
+ get: function () {
1208
+ return TreeApi.arrayCopyChildren(this.node);
1209
+ },
1210
+ configurable: true
1211
+ },
1212
+ textContent: {
1213
+ get: function () {
1214
+ return this.node.textContent;
1215
+ },
1216
+ set: function (value) {
1217
+ return this.node.textContent = value;
1218
+ },
1219
+ configurable: true
1220
+ },
1221
+ innerHTML: {
1222
+ get: function () {
1223
+ return this.node.innerHTML;
1224
+ },
1225
+ set: function (value) {
1226
+ return this.node.innerHTML = value;
1227
+ },
1228
+ configurable: true
1229
+ }
1230
+ });
1231
+ var forwardMethods = function (m$) {
1232
+ for (var i = 0; i < m$.length; i++) {
1233
+ forwardMethod(m$[i]);
1234
+ }
1235
+ };
1236
+ var forwardMethod = function (method) {
1237
+ DomApi.prototype[method] = function () {
1238
+ return this.node[method].apply(this.node, arguments);
1239
+ };
1240
+ };
1241
+ forwardMethods([
1242
+ 'cloneNode',
1243
+ 'appendChild',
1244
+ 'insertBefore',
1245
+ 'removeChild',
1246
+ 'replaceChild',
1247
+ 'setAttribute',
1248
+ 'removeAttribute',
1249
+ 'querySelector'
1250
+ ]);
1251
+ var forwardProperties = function (f$) {
1252
+ for (var i = 0; i < f$.length; i++) {
1253
+ forwardProperty(f$[i]);
1254
+ }
1255
+ };
1256
+ var forwardProperty = function (name) {
1257
+ Object.defineProperty(DomApi.prototype, name, {
1258
+ get: function () {
1259
+ return this.node[name];
1260
+ },
1261
+ configurable: true
1262
+ });
1263
+ };
1264
+ forwardProperties([
1265
+ 'parentNode',
1266
+ 'firstChild',
1267
+ 'lastChild',
1268
+ 'nextSibling',
1269
+ 'previousSibling',
1270
+ 'firstElementChild',
1271
+ 'lastElementChild',
1272
+ 'nextElementSibling',
1273
+ 'previousElementSibling'
1274
+ ]);
1275
+ }());Polymer.Base.extend(Polymer.dom, {
1276
+ _flushGuard: 0,
1277
+ _FLUSH_MAX: 100,
1278
+ _needsTakeRecords: !Polymer.Settings.useNativeCustomElements,
1279
+ _debouncers: [],
1280
+ _staticFlushList: [],
1281
+ _finishDebouncer: null,
1282
+ flush: function () {
1283
+ this._flushGuard = 0;
1284
+ this._prepareFlush();
1285
+ while (this._debouncers.length && this._flushGuard < this._FLUSH_MAX) {
1286
+ while (this._debouncers.length) {
1287
+ this._debouncers.shift().complete();
1288
+ }
1289
+ if (this._finishDebouncer) {
1290
+ this._finishDebouncer.complete();
1291
+ }
1292
+ this._prepareFlush();
1293
+ this._flushGuard++;
1294
+ }
1295
+ if (this._flushGuard >= this._FLUSH_MAX) {
1296
+ console.warn('Polymer.dom.flush aborted. Flush may not be complete.');
1297
+ }
1298
+ },
1299
+ _prepareFlush: function () {
1300
+ if (this._needsTakeRecords) {
1301
+ CustomElements.takeRecords();
1302
+ }
1303
+ for (var i = 0; i < this._staticFlushList.length; i++) {
1304
+ this._staticFlushList[i]();
1305
+ }
1306
+ },
1307
+ addStaticFlush: function (fn) {
1308
+ this._staticFlushList.push(fn);
1309
+ },
1310
+ removeStaticFlush: function (fn) {
1311
+ var i = this._staticFlushList.indexOf(fn);
1312
+ if (i >= 0) {
1313
+ this._staticFlushList.splice(i, 1);
1314
+ }
1315
+ },
1316
+ addDebouncer: function (debouncer) {
1317
+ this._debouncers.push(debouncer);
1318
+ this._finishDebouncer = Polymer.Debounce(this._finishDebouncer, this._finishFlush);
1319
+ },
1320
+ _finishFlush: function () {
1321
+ Polymer.dom._debouncers = [];
1322
+ }
1323
+ });Polymer.EventApi = function () {
1324
+ 'use strict';
1325
+ var DomApi = Polymer.DomApi.ctor;
1326
+ var Settings = Polymer.Settings;
1327
+ DomApi.Event = function (event) {
1328
+ this.event = event;
1329
+ };
1330
+ if (Settings.useShadow) {
1331
+ DomApi.Event.prototype = {
1332
+ get rootTarget() {
1333
+ return this.event.path[0];
1334
+ },
1335
+ get localTarget() {
1336
+ return this.event.target;
1337
+ },
1338
+ get path() {
1339
+ var path = this.event.path;
1340
+ if (!Array.isArray(path)) {
1341
+ path = Array.prototype.slice.call(path);
1342
+ }
1343
+ return path;
1344
+ }
1345
+ };
1346
+ } else {
1347
+ DomApi.Event.prototype = {
1348
+ get rootTarget() {
1349
+ return this.event.target;
1350
+ },
1351
+ get localTarget() {
1352
+ var current = this.event.currentTarget;
1353
+ var currentRoot = current && Polymer.dom(current).getOwnerRoot();
1354
+ var p$ = this.path;
1355
+ for (var i = 0; i < p$.length; i++) {
1356
+ if (Polymer.dom(p$[i]).getOwnerRoot() === currentRoot) {
1357
+ return p$[i];
1358
+ }
1359
+ }
1360
+ },
1361
+ get path() {
1362
+ if (!this.event._path) {
1363
+ var path = [];
1364
+ var current = this.rootTarget;
1365
+ while (current) {
1366
+ path.push(current);
1367
+ var insertionPoints = Polymer.dom(current).getDestinationInsertionPoints();
1368
+ if (insertionPoints.length) {
1369
+ for (var i = 0; i < insertionPoints.length - 1; i++) {
1370
+ path.push(insertionPoints[i]);
1371
+ }
1372
+ current = insertionPoints[insertionPoints.length - 1];
1373
+ } else {
1374
+ current = Polymer.dom(current).parentNode || current.host;
1375
+ }
1376
+ }
1377
+ path.push(window);
1378
+ this.event._path = path;
1379
+ }
1380
+ return this.event._path;
1381
+ }
1382
+ };
1383
+ }
1384
+ var factory = function (event) {
1385
+ if (!event.__eventApi) {
1386
+ event.__eventApi = new DomApi.Event(event);
1387
+ }
1388
+ return event.__eventApi;
1389
+ };
1390
+ return { factory: factory };
1391
+ }();(function () {
1392
+ 'use strict';
1393
+ var DomApi = Polymer.DomApi.ctor;
1394
+ var useShadow = Polymer.Settings.useShadow;
1395
+ Object.defineProperty(DomApi.prototype, 'classList', {
1396
+ get: function () {
1397
+ if (!this._classList) {
1398
+ this._classList = new DomApi.ClassList(this);
1399
+ }
1400
+ return this._classList;
1401
+ },
1402
+ configurable: true
1403
+ });
1404
+ DomApi.ClassList = function (host) {
1405
+ this.domApi = host;
1406
+ this.node = host.node;
1407
+ };
1408
+ DomApi.ClassList.prototype = {
1409
+ add: function () {
1410
+ this.node.classList.add.apply(this.node.classList, arguments);
1411
+ this._distributeParent();
1412
+ },
1413
+ remove: function () {
1414
+ this.node.classList.remove.apply(this.node.classList, arguments);
1415
+ this._distributeParent();
1416
+ },
1417
+ toggle: function () {
1418
+ this.node.classList.toggle.apply(this.node.classList, arguments);
1419
+ this._distributeParent();
1420
+ },
1421
+ _distributeParent: function () {
1422
+ if (!useShadow) {
1423
+ this.domApi._maybeDistributeParent();
1424
+ }
1425
+ },
1426
+ contains: function () {
1427
+ return this.node.classList.contains.apply(this.node.classList, arguments);
1428
+ }
1429
+ };
1430
+ }());(function () {
1431
+ 'use strict';
1432
+ var DomApi = Polymer.DomApi.ctor;
1433
+ var Settings = Polymer.Settings;
1434
+ DomApi.EffectiveNodesObserver = function (domApi) {
1435
+ this.domApi = domApi;
1436
+ this.node = this.domApi.node;
1437
+ this._listeners = [];
1438
+ };
1439
+ DomApi.EffectiveNodesObserver.prototype = {
1440
+ addListener: function (callback) {
1441
+ if (!this._isSetup) {
1442
+ this._setup();
1443
+ this._isSetup = true;
1444
+ }
1445
+ var listener = {
1446
+ fn: callback,
1447
+ _nodes: []
1448
+ };
1449
+ this._listeners.push(listener);
1450
+ this._scheduleNotify();
1451
+ return listener;
1452
+ },
1453
+ removeListener: function (handle) {
1454
+ var i = this._listeners.indexOf(handle);
1455
+ if (i >= 0) {
1456
+ this._listeners.splice(i, 1);
1457
+ handle._nodes = [];
1458
+ }
1459
+ if (!this._hasListeners()) {
1460
+ this._cleanup();
1461
+ this._isSetup = false;
1462
+ }
1463
+ },
1464
+ _setup: function () {
1465
+ this._observeContentElements(this.domApi.childNodes);
1466
+ },
1467
+ _cleanup: function () {
1468
+ this._unobserveContentElements(this.domApi.childNodes);
1469
+ },
1470
+ _hasListeners: function () {
1471
+ return Boolean(this._listeners.length);
1472
+ },
1473
+ _scheduleNotify: function () {
1474
+ if (this._debouncer) {
1475
+ this._debouncer.stop();
1476
+ }
1477
+ this._debouncer = Polymer.Debounce(this._debouncer, this._notify);
1478
+ this._debouncer.context = this;
1479
+ Polymer.dom.addDebouncer(this._debouncer);
1480
+ },
1481
+ notify: function () {
1482
+ if (this._hasListeners()) {
1483
+ this._scheduleNotify();
1484
+ }
1485
+ },
1486
+ _notify: function () {
1487
+ this._beforeCallListeners();
1488
+ this._callListeners();
1489
+ },
1490
+ _beforeCallListeners: function () {
1491
+ this._updateContentElements();
1492
+ },
1493
+ _updateContentElements: function () {
1494
+ this._observeContentElements(this.domApi.childNodes);
1495
+ },
1496
+ _observeContentElements: function (elements) {
1497
+ for (var i = 0, n; i < elements.length && (n = elements[i]); i++) {
1498
+ if (this._isContent(n)) {
1499
+ n.__observeNodesMap = n.__observeNodesMap || new WeakMap();
1500
+ if (!n.__observeNodesMap.has(this)) {
1501
+ n.__observeNodesMap.set(this, this._observeContent(n));
1502
+ }
1503
+ }
1504
+ }
1505
+ },
1506
+ _observeContent: function (content) {
1507
+ var self = this;
1508
+ var h = Polymer.dom(content).observeNodes(function () {
1509
+ self._scheduleNotify();
1510
+ });
1511
+ h._avoidChangeCalculation = true;
1512
+ return h;
1513
+ },
1514
+ _unobserveContentElements: function (elements) {
1515
+ for (var i = 0, n, h; i < elements.length && (n = elements[i]); i++) {
1516
+ if (this._isContent(n)) {
1517
+ h = n.__observeNodesMap.get(this);
1518
+ if (h) {
1519
+ Polymer.dom(n).unobserveNodes(h);
1520
+ n.__observeNodesMap.delete(this);
1521
+ }
1522
+ }
1523
+ }
1524
+ },
1525
+ _isContent: function (node) {
1526
+ return node.localName === 'content';
1527
+ },
1528
+ _callListeners: function () {
1529
+ var o$ = this._listeners;
1530
+ var nodes = this._getEffectiveNodes();
1531
+ for (var i = 0, o; i < o$.length && (o = o$[i]); i++) {
1532
+ var info = this._generateListenerInfo(o, nodes);
1533
+ if (info || o._alwaysNotify) {
1534
+ this._callListener(o, info);
1535
+ }
1536
+ }
1537
+ },
1538
+ _getEffectiveNodes: function () {
1539
+ return this.domApi.getEffectiveChildNodes();
1540
+ },
1541
+ _generateListenerInfo: function (listener, newNodes) {
1542
+ if (listener._avoidChangeCalculation) {
1543
+ return true;
1544
+ }
1545
+ var oldNodes = listener._nodes;
1546
+ var info = {
1547
+ target: this.node,
1548
+ addedNodes: [],
1549
+ removedNodes: []
1550
+ };
1551
+ var splices = Polymer.ArraySplice.calculateSplices(newNodes, oldNodes);
1552
+ for (var i = 0, s; i < splices.length && (s = splices[i]); i++) {
1553
+ for (var j = 0, n; j < s.removed.length && (n = s.removed[j]); j++) {
1554
+ info.removedNodes.push(n);
1555
+ }
1556
+ }
1557
+ for (i = 0, s; i < splices.length && (s = splices[i]); i++) {
1558
+ for (j = s.index; j < s.index + s.addedCount; j++) {
1559
+ info.addedNodes.push(newNodes[j]);
1560
+ }
1561
+ }
1562
+ listener._nodes = newNodes;
1563
+ if (info.addedNodes.length || info.removedNodes.length) {
1564
+ return info;
1565
+ }
1566
+ },
1567
+ _callListener: function (listener, info) {
1568
+ return listener.fn.call(this.node, info);
1569
+ },
1570
+ enableShadowAttributeTracking: function () {
1571
+ }
1572
+ };
1573
+ if (Settings.useShadow) {
1574
+ var baseSetup = DomApi.EffectiveNodesObserver.prototype._setup;
1575
+ var baseCleanup = DomApi.EffectiveNodesObserver.prototype._cleanup;
1576
+ Polymer.Base.extend(DomApi.EffectiveNodesObserver.prototype, {
1577
+ _setup: function () {
1578
+ if (!this._observer) {
1579
+ var self = this;
1580
+ this._mutationHandler = function (mxns) {
1581
+ if (mxns && mxns.length) {
1582
+ self._scheduleNotify();
1583
+ }
1584
+ };
1585
+ this._observer = new MutationObserver(this._mutationHandler);
1586
+ this._boundFlush = function () {
1587
+ self._flush();
1588
+ };
1589
+ Polymer.dom.addStaticFlush(this._boundFlush);
1590
+ this._observer.observe(this.node, { childList: true });
1591
+ }
1592
+ baseSetup.call(this);
1593
+ },
1594
+ _cleanup: function () {
1595
+ this._observer.disconnect();
1596
+ this._observer = null;
1597
+ this._mutationHandler = null;
1598
+ Polymer.dom.removeStaticFlush(this._boundFlush);
1599
+ baseCleanup.call(this);
1600
+ },
1601
+ _flush: function () {
1602
+ if (this._observer) {
1603
+ this._mutationHandler(this._observer.takeRecords());
1604
+ }
1605
+ },
1606
+ enableShadowAttributeTracking: function () {
1607
+ if (this._observer) {
1608
+ this._makeContentListenersAlwaysNotify();
1609
+ this._observer.disconnect();
1610
+ this._observer.observe(this.node, {
1611
+ childList: true,
1612
+ attributes: true,
1613
+ subtree: true
1614
+ });
1615
+ var root = this.domApi.getOwnerRoot();
1616
+ var host = root && root.host;
1617
+ if (host && Polymer.dom(host).observer) {
1618
+ Polymer.dom(host).observer.enableShadowAttributeTracking();
1619
+ }
1620
+ }
1621
+ },
1622
+ _makeContentListenersAlwaysNotify: function () {
1623
+ for (var i = 0, h; i < this._listeners.length; i++) {
1624
+ h = this._listeners[i];
1625
+ h._alwaysNotify = h._isContentListener;
1626
+ }
1627
+ }
1628
+ });
1629
+ }
1630
+ }());(function () {
1631
+ 'use strict';
1632
+ var DomApi = Polymer.DomApi.ctor;
1633
+ var Settings = Polymer.Settings;
1634
+ DomApi.DistributedNodesObserver = function (domApi) {
1635
+ DomApi.EffectiveNodesObserver.call(this, domApi);
1636
+ };
1637
+ DomApi.DistributedNodesObserver.prototype = Object.create(DomApi.EffectiveNodesObserver.prototype);
1638
+ Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, {
1639
+ _setup: function () {
1640
+ },
1641
+ _cleanup: function () {
1642
+ },
1643
+ _beforeCallListeners: function () {
1644
+ },
1645
+ _getEffectiveNodes: function () {
1646
+ return this.domApi.getDistributedNodes();
1647
+ }
1648
+ });
1649
+ if (Settings.useShadow) {
1650
+ Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, {
1651
+ _setup: function () {
1652
+ if (!this._observer) {
1653
+ var root = this.domApi.getOwnerRoot();
1654
+ var host = root && root.host;
1655
+ if (host) {
1656
+ var self = this;
1657
+ this._observer = Polymer.dom(host).observeNodes(function () {
1658
+ self._scheduleNotify();
1659
+ });
1660
+ this._observer._isContentListener = true;
1661
+ if (this._hasAttrSelect()) {
1662
+ Polymer.dom(host).observer.enableShadowAttributeTracking();
1663
+ }
1664
+ }
1665
+ }
1666
+ },
1667
+ _hasAttrSelect: function () {
1668
+ var select = this.node.getAttribute('select');
1669
+ return select && select.match(/[[.]+/);
1670
+ },
1671
+ _cleanup: function () {
1672
+ var root = this.domApi.getOwnerRoot();
1673
+ var host = root && root.host;
1674
+ if (host) {
1675
+ Polymer.dom(host).unobserveNodes(this._observer);
1676
+ }
1677
+ this._observer = null;
1678
+ }
1679
+ });
1680
+ }
1681
+ }());(function () {
1682
+ var DomApi = Polymer.DomApi;
1683
+ var TreeApi = Polymer.TreeApi;
1684
+ Polymer.Base._addFeature({
1685
+ _prepShady: function () {
1686
+ this._useContent = this._useContent || Boolean(this._template);
1687
+ },
1688
+ _setupShady: function () {
1689
+ this.shadyRoot = null;
1690
+ if (!this.__domApi) {
1691
+ this.__domApi = null;
1692
+ }
1693
+ if (!this.__dom) {
1694
+ this.__dom = null;
1695
+ }
1696
+ if (!this._ownerShadyRoot) {
1697
+ this._ownerShadyRoot = undefined;
1698
+ }
1699
+ },
1700
+ _poolContent: function () {
1701
+ if (this._useContent) {
1702
+ TreeApi.Logical.saveChildNodes(this);
1703
+ }
1704
+ },
1705
+ _setupRoot: function () {
1706
+ if (this._useContent) {
1707
+ this._createLocalRoot();
1708
+ if (!this.dataHost) {
1709
+ upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));
1710
+ }
1711
+ }
1712
+ },
1713
+ _createLocalRoot: function () {
1714
+ this.shadyRoot = this.root;
1715
+ this.shadyRoot._distributionClean = false;
1716
+ this.shadyRoot._hasDistributed = false;
1717
+ this.shadyRoot._isShadyRoot = true;
1718
+ this.shadyRoot._dirtyRoots = [];
1719
+ var i$ = this.shadyRoot._insertionPoints = !this._notes || this._notes._hasContent ? this.shadyRoot.querySelectorAll('content') : [];
1720
+ TreeApi.Logical.saveChildNodes(this.shadyRoot);
1721
+ for (var i = 0, c; i < i$.length; i++) {
1722
+ c = i$[i];
1723
+ TreeApi.Logical.saveChildNodes(c);
1724
+ TreeApi.Logical.saveChildNodes(c.parentNode);
1725
+ }
1726
+ this.shadyRoot.host = this;
1727
+ },
1728
+ get domHost() {
1729
+ var root = Polymer.dom(this).getOwnerRoot();
1730
+ return root && root.host;
1731
+ },
1732
+ distributeContent: function (updateInsertionPoints) {
1733
+ if (this.shadyRoot) {
1734
+ this.shadyRoot._invalidInsertionPoints = this.shadyRoot._invalidInsertionPoints || updateInsertionPoints;
1735
+ var host = getTopDistributingHost(this);
1736
+ Polymer.dom(this)._lazyDistribute(host);
1737
+ }
1738
+ },
1739
+ _distributeContent: function () {
1740
+ if (this._useContent && !this.shadyRoot._distributionClean) {
1741
+ if (this.shadyRoot._invalidInsertionPoints) {
1742
+ Polymer.dom(this)._updateInsertionPoints(this);
1743
+ this.shadyRoot._invalidInsertionPoints = false;
1744
+ }
1745
+ this._beginDistribute();
1746
+ this._distributeDirtyRoots();
1747
+ this._finishDistribute();
1748
+ }
1749
+ },
1750
+ _beginDistribute: function () {
1751
+ if (this._useContent && DomApi.hasInsertionPoint(this.shadyRoot)) {
1752
+ this._resetDistribution();
1753
+ this._distributePool(this.shadyRoot, this._collectPool());
1754
+ }
1755
+ },
1756
+ _distributeDirtyRoots: function () {
1757
+ var c$ = this.shadyRoot._dirtyRoots;
1758
+ for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
1759
+ c._distributeContent();
1760
+ }
1761
+ this.shadyRoot._dirtyRoots = [];
1762
+ },
1763
+ _finishDistribute: function () {
1764
+ if (this._useContent) {
1765
+ this.shadyRoot._distributionClean = true;
1766
+ if (DomApi.hasInsertionPoint(this.shadyRoot)) {
1767
+ this._composeTree();
1768
+ notifyContentObservers(this.shadyRoot);
1769
+ } else {
1770
+ if (!this.shadyRoot._hasDistributed) {
1771
+ TreeApi.Composed.clearChildNodes(this);
1772
+ this.appendChild(this.shadyRoot);
1773
+ } else {
1774
+ var children = this._composeNode(this);
1775
+ this._updateChildNodes(this, children);
1776
+ }
1777
+ }
1778
+ if (!this.shadyRoot._hasDistributed) {
1779
+ notifyInitialDistribution(this);
1780
+ }
1781
+ this.shadyRoot._hasDistributed = true;
1782
+ }
1783
+ },
1784
+ elementMatches: function (selector, node) {
1785
+ node = node || this;
1786
+ return DomApi.matchesSelector.call(node, selector);
1787
+ },
1788
+ _resetDistribution: function () {
1789
+ var children = TreeApi.Logical.getChildNodes(this);
1790
+ for (var i = 0; i < children.length; i++) {
1791
+ var child = children[i];
1792
+ if (child._destinationInsertionPoints) {
1793
+ child._destinationInsertionPoints = undefined;
1794
+ }
1795
+ if (isInsertionPoint(child)) {
1796
+ clearDistributedDestinationInsertionPoints(child);
1797
+ }
1798
+ }
1799
+ var root = this.shadyRoot;
1800
+ var p$ = root._insertionPoints;
1801
+ for (var j = 0; j < p$.length; j++) {
1802
+ p$[j]._distributedNodes = [];
1803
+ }
1804
+ },
1805
+ _collectPool: function () {
1806
+ var pool = [];
1807
+ var children = TreeApi.Logical.getChildNodes(this);
1808
+ for (var i = 0; i < children.length; i++) {
1809
+ var child = children[i];
1810
+ if (isInsertionPoint(child)) {
1811
+ pool.push.apply(pool, child._distributedNodes);
1812
+ } else {
1813
+ pool.push(child);
1814
+ }
1815
+ }
1816
+ return pool;
1817
+ },
1818
+ _distributePool: function (node, pool) {
1819
+ var p$ = node._insertionPoints;
1820
+ for (var i = 0, l = p$.length, p; i < l && (p = p$[i]); i++) {
1821
+ this._distributeInsertionPoint(p, pool);
1822
+ maybeRedistributeParent(p, this);
1823
+ }
1824
+ },
1825
+ _distributeInsertionPoint: function (content, pool) {
1826
+ var anyDistributed = false;
1827
+ for (var i = 0, l = pool.length, node; i < l; i++) {
1828
+ node = pool[i];
1829
+ if (!node) {
1830
+ continue;
1831
+ }
1832
+ if (this._matchesContentSelect(node, content)) {
1833
+ distributeNodeInto(node, content);
1834
+ pool[i] = undefined;
1835
+ anyDistributed = true;
1836
+ }
1837
+ }
1838
+ if (!anyDistributed) {
1839
+ var children = TreeApi.Logical.getChildNodes(content);
1840
+ for (var j = 0; j < children.length; j++) {
1841
+ distributeNodeInto(children[j], content);
1842
+ }
1843
+ }
1844
+ },
1845
+ _composeTree: function () {
1846
+ this._updateChildNodes(this, this._composeNode(this));
1847
+ var p$ = this.shadyRoot._insertionPoints;
1848
+ for (var i = 0, l = p$.length, p, parent; i < l && (p = p$[i]); i++) {
1849
+ parent = TreeApi.Logical.getParentNode(p);
1850
+ if (!parent._useContent && parent !== this && parent !== this.shadyRoot) {
1851
+ this._updateChildNodes(parent, this._composeNode(parent));
1852
+ }
1853
+ }
1854
+ },
1855
+ _composeNode: function (node) {
1856
+ var children = [];
1857
+ var c$ = TreeApi.Logical.getChildNodes(node.shadyRoot || node);
1858
+ for (var i = 0; i < c$.length; i++) {
1859
+ var child = c$[i];
1860
+ if (isInsertionPoint(child)) {
1861
+ var distributedNodes = child._distributedNodes;
1862
+ for (var j = 0; j < distributedNodes.length; j++) {
1863
+ var distributedNode = distributedNodes[j];
1864
+ if (isFinalDestination(child, distributedNode)) {
1865
+ children.push(distributedNode);
1866
+ }
1867
+ }
1868
+ } else {
1869
+ children.push(child);
1870
+ }
1871
+ }
1872
+ return children;
1873
+ },
1874
+ _updateChildNodes: function (container, children) {
1875
+ var composed = TreeApi.Composed.getChildNodes(container);
1876
+ var splices = Polymer.ArraySplice.calculateSplices(children, composed);
1877
+ for (var i = 0, d = 0, s; i < splices.length && (s = splices[i]); i++) {
1878
+ for (var j = 0, n; j < s.removed.length && (n = s.removed[j]); j++) {
1879
+ if (TreeApi.Composed.getParentNode(n) === container) {
1880
+ TreeApi.Composed.removeChild(container, n);
1881
+ }
1882
+ composed.splice(s.index + d, 1);
1883
+ }
1884
+ d -= s.addedCount;
1885
+ }
1886
+ for (var i = 0, s, next; i < splices.length && (s = splices[i]); i++) {
1887
+ next = composed[s.index];
1888
+ for (j = s.index, n; j < s.index + s.addedCount; j++) {
1889
+ n = children[j];
1890
+ TreeApi.Composed.insertBefore(container, n, next);
1891
+ composed.splice(j, 0, n);
1892
+ }
1893
+ }
1894
+ },
1895
+ _matchesContentSelect: function (node, contentElement) {
1896
+ var select = contentElement.getAttribute('select');
1897
+ if (!select) {
1898
+ return true;
1899
+ }
1900
+ select = select.trim();
1901
+ if (!select) {
1902
+ return true;
1903
+ }
1904
+ if (!(node instanceof Element)) {
1905
+ return false;
1906
+ }
1907
+ var validSelectors = /^(:not\()?[*.#[a-zA-Z_|]/;
1908
+ if (!validSelectors.test(select)) {
1909
+ return false;
1910
+ }
1911
+ return this.elementMatches(select, node);
1912
+ },
1913
+ _elementAdd: function () {
1914
+ },
1915
+ _elementRemove: function () {
1916
+ }
1917
+ });
1918
+ function distributeNodeInto(child, insertionPoint) {
1919
+ insertionPoint._distributedNodes.push(child);
1920
+ var points = child._destinationInsertionPoints;
1921
+ if (!points) {
1922
+ child._destinationInsertionPoints = [insertionPoint];
1923
+ } else {
1924
+ points.push(insertionPoint);
1925
+ }
1926
+ }
1927
+ function clearDistributedDestinationInsertionPoints(content) {
1928
+ var e$ = content._distributedNodes;
1929
+ if (e$) {
1930
+ for (var i = 0; i < e$.length; i++) {
1931
+ var d = e$[i]._destinationInsertionPoints;
1932
+ if (d) {
1933
+ d.splice(d.indexOf(content) + 1, d.length);
1934
+ }
1935
+ }
1936
+ }
1937
+ }
1938
+ function maybeRedistributeParent(content, host) {
1939
+ var parent = TreeApi.Logical.getParentNode(content);
1940
+ if (parent && parent.shadyRoot && DomApi.hasInsertionPoint(parent.shadyRoot) && parent.shadyRoot._distributionClean) {
1941
+ parent.shadyRoot._distributionClean = false;
1942
+ host.shadyRoot._dirtyRoots.push(parent);
1943
+ }
1944
+ }
1945
+ function isFinalDestination(insertionPoint, node) {
1946
+ var points = node._destinationInsertionPoints;
1947
+ return points && points[points.length - 1] === insertionPoint;
1948
+ }
1949
+ function isInsertionPoint(node) {
1950
+ return node.localName == 'content';
1951
+ }
1952
+ function getTopDistributingHost(host) {
1953
+ while (host && hostNeedsRedistribution(host)) {
1954
+ host = host.domHost;
1955
+ }
1956
+ return host;
1957
+ }
1958
+ function hostNeedsRedistribution(host) {
1959
+ var c$ = TreeApi.Logical.getChildNodes(host);
1960
+ for (var i = 0, c; i < c$.length; i++) {
1961
+ c = c$[i];
1962
+ if (c.localName && c.localName === 'content') {
1963
+ return host.domHost;
1964
+ }
1965
+ }
1966
+ }
1967
+ function notifyContentObservers(root) {
1968
+ for (var i = 0, c; i < root._insertionPoints.length; i++) {
1969
+ c = root._insertionPoints[i];
1970
+ if (DomApi.hasApi(c)) {
1971
+ Polymer.dom(c).notifyObserver();
1972
+ }
1973
+ }
1974
+ }
1975
+ function notifyInitialDistribution(host) {
1976
+ if (DomApi.hasApi(host)) {
1977
+ Polymer.dom(host).notifyObserver();
1978
+ }
1979
+ }
1980
+ var needsUpgrade = window.CustomElements && !CustomElements.useNative;
1981
+ function upgradeLogicalChildren(children) {
1982
+ if (needsUpgrade && children) {
1983
+ for (var i = 0; i < children.length; i++) {
1984
+ CustomElements.upgrade(children[i]);
1985
+ }
1986
+ }
1987
+ }
1988
+ }());if (Polymer.Settings.useShadow) {
1989
+ Polymer.Base._addFeature({
1990
+ _poolContent: function () {
1991
+ },
1992
+ _beginDistribute: function () {
1993
+ },
1994
+ distributeContent: function () {
1995
+ },
1996
+ _distributeContent: function () {
1997
+ },
1998
+ _finishDistribute: function () {
1999
+ },
2000
+ _createLocalRoot: function () {
2001
+ this.createShadowRoot();
2002
+ this.shadowRoot.appendChild(this.root);
2003
+ this.root = this.shadowRoot;
2004
+ }
2005
+ });
2006
+ }Polymer.Async = {
2007
+ _currVal: 0,
2008
+ _lastVal: 0,
2009
+ _callbacks: [],
2010
+ _twiddleContent: 0,
2011
+ _twiddle: document.createTextNode(''),
2012
+ run: function (callback, waitTime) {
2013
+ if (waitTime > 0) {
2014
+ return ~setTimeout(callback, waitTime);
2015
+ } else {
2016
+ this._twiddle.textContent = this._twiddleContent++;
2017
+ this._callbacks.push(callback);
2018
+ return this._currVal++;
2019
+ }
2020
+ },
2021
+ cancel: function (handle) {
2022
+ if (handle < 0) {
2023
+ clearTimeout(~handle);
2024
+ } else {
2025
+ var idx = handle - this._lastVal;
2026
+ if (idx >= 0) {
2027
+ if (!this._callbacks[idx]) {
2028
+ throw 'invalid async handle: ' + handle;
2029
+ }
2030
+ this._callbacks[idx] = null;
2031
+ }
2032
+ }
2033
+ },
2034
+ _atEndOfMicrotask: function () {
2035
+ var len = this._callbacks.length;
2036
+ for (var i = 0; i < len; i++) {
2037
+ var cb = this._callbacks[i];
2038
+ if (cb) {
2039
+ try {
2040
+ cb();
2041
+ } catch (e) {
2042
+ i++;
2043
+ this._callbacks.splice(0, i);
2044
+ this._lastVal += i;
2045
+ this._twiddle.textContent = this._twiddleContent++;
2046
+ throw e;
2047
+ }
2048
+ }
2049
+ }
2050
+ this._callbacks.splice(0, len);
2051
+ this._lastVal += len;
2052
+ }
2053
+ };
2054
+ new window.MutationObserver(function () {
2055
+ Polymer.Async._atEndOfMicrotask();
2056
+ }).observe(Polymer.Async._twiddle, { characterData: true });Polymer.Debounce = function () {
2057
+ var Async = Polymer.Async;
2058
+ var Debouncer = function (context) {
2059
+ this.context = context;
2060
+ var self = this;
2061
+ this.boundComplete = function () {
2062
+ self.complete();
2063
+ };
2064
+ };
2065
+ Debouncer.prototype = {
2066
+ go: function (callback, wait) {
2067
+ var h;
2068
+ this.finish = function () {
2069
+ Async.cancel(h);
2070
+ };
2071
+ h = Async.run(this.boundComplete, wait);
2072
+ this.callback = callback;
2073
+ },
2074
+ stop: function () {
2075
+ if (this.finish) {
2076
+ this.finish();
2077
+ this.finish = null;
2078
+ this.callback = null;
2079
+ }
2080
+ },
2081
+ complete: function () {
2082
+ if (this.finish) {
2083
+ var callback = this.callback;
2084
+ this.stop();
2085
+ callback.call(this.context);
2086
+ }
2087
+ }
2088
+ };
2089
+ function debounce(debouncer, callback, wait) {
2090
+ if (debouncer) {
2091
+ debouncer.stop();
2092
+ } else {
2093
+ debouncer = new Debouncer(this);
2094
+ }
2095
+ debouncer.go(callback, wait);
2096
+ return debouncer;
2097
+ }
2098
+ return debounce;
2099
+ }();Polymer.Base._addFeature({
2100
+ _setupDebouncers: function () {
2101
+ this._debouncers = {};
2102
+ },
2103
+ debounce: function (jobName, callback, wait) {
2104
+ return this._debouncers[jobName] = Polymer.Debounce.call(this, this._debouncers[jobName], callback, wait);
2105
+ },
2106
+ isDebouncerActive: function (jobName) {
2107
+ var debouncer = this._debouncers[jobName];
2108
+ return !!(debouncer && debouncer.finish);
2109
+ },
2110
+ flushDebouncer: function (jobName) {
2111
+ var debouncer = this._debouncers[jobName];
2112
+ if (debouncer) {
2113
+ debouncer.complete();
2114
+ }
2115
+ },
2116
+ cancelDebouncer: function (jobName) {
2117
+ var debouncer = this._debouncers[jobName];
2118
+ if (debouncer) {
2119
+ debouncer.stop();
2120
+ }
2121
+ }
2122
+ });Polymer.DomModule = document.createElement('dom-module');
2123
+ Polymer.Base._addFeature({
2124
+ _registerFeatures: function () {
2125
+ this._prepIs();
2126
+ this._prepBehaviors();
2127
+ this._prepConstructor();
2128
+ this._prepTemplate();
2129
+ this._prepShady();
2130
+ this._prepPropertyInfo();
2131
+ },
2132
+ _prepBehavior: function (b) {
2133
+ this._addHostAttributes(b.hostAttributes);
2134
+ },
2135
+ _initFeatures: function () {
2136
+ this._registerHost();
2137
+ if (this._template) {
2138
+ this._poolContent();
2139
+ this._beginHosting();
2140
+ this._stampTemplate();
2141
+ this._endHosting();
2142
+ }
2143
+ this._marshalHostAttributes();
2144
+ this._setupDebouncers();
2145
+ this._marshalBehaviors();
2146
+ this._tryReady();
2147
+ },
2148
+ _marshalBehavior: function (b) {
2149
+ }
2150
+ });</script>
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+