easycomments 1.0.1

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 (379) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +14 -0
  5. data/LICENSE +21 -0
  6. data/README.md +92 -0
  7. data/Rakefile +49 -0
  8. data/_config.yml +28 -0
  9. data/bin/ec +45 -0
  10. data/config.ru +12 -0
  11. data/dashboard.rb +57 -0
  12. data/easycomments.gemspec +22 -0
  13. data/ec.rb +43 -0
  14. data/lib/easycomments/ec_configuration.rb +42 -0
  15. data/lib/easycomments/ec_dashboard_model.rb +70 -0
  16. data/lib/easycomments/ec_model.rb +47 -0
  17. data/lib/easycomments.rb +14 -0
  18. data/public/bower.json +32 -0
  19. data/public/bower_components/core-a11y-keys/.bower.json +28 -0
  20. data/public/bower_components/core-a11y-keys/README.md +4 -0
  21. data/public/bower_components/core-a11y-keys/bower.json +18 -0
  22. data/public/bower_components/core-a11y-keys/core-a11y-keys.html +335 -0
  23. data/public/bower_components/core-a11y-keys/demo.html +41 -0
  24. data/public/bower_components/core-a11y-keys/index.html +22 -0
  25. data/public/bower_components/core-ajax/.bower.json +22 -0
  26. data/public/bower_components/core-ajax/README.md +4 -0
  27. data/public/bower_components/core-ajax/bower.json +11 -0
  28. data/public/bower_components/core-ajax/core-ajax.html +434 -0
  29. data/public/bower_components/core-ajax/core-xhr.html +116 -0
  30. data/public/bower_components/core-ajax/demo-progress.html +65 -0
  31. data/public/bower_components/core-ajax/demo.html +43 -0
  32. data/public/bower_components/core-ajax/index.html +22 -0
  33. data/public/bower_components/core-ajax/metadata.html +23 -0
  34. data/public/bower_components/core-ajax/test/core-ajax-progress.html +108 -0
  35. data/public/bower_components/core-ajax/test/core-ajax-race.html +81 -0
  36. data/public/bower_components/core-ajax/test/core-ajax.html +287 -0
  37. data/public/bower_components/core-ajax/test/index.html +17 -0
  38. data/public/bower_components/core-collapse/.bower.json +21 -0
  39. data/public/bower_components/core-collapse/README.md +4 -0
  40. data/public/bower_components/core-collapse/bower.json +11 -0
  41. data/public/bower_components/core-collapse/core-collapse.css +16 -0
  42. data/public/bower_components/core-collapse/core-collapse.html +298 -0
  43. data/public/bower_components/core-collapse/demo.html +75 -0
  44. data/public/bower_components/core-collapse/index.html +22 -0
  45. data/public/bower_components/core-collapse/test/basic.html +85 -0
  46. data/public/bower_components/core-collapse/test/index.html +24 -0
  47. data/public/bower_components/core-component-page/.bower.json +19 -0
  48. data/public/bower_components/core-component-page/README.md +6 -0
  49. data/public/bower_components/core-component-page/bowager-logo.png +0 -0
  50. data/public/bower_components/core-component-page/bower.json +9 -0
  51. data/public/bower_components/core-component-page/core-component-page.html +37 -0
  52. data/public/bower_components/core-component-page/demo.html +23 -0
  53. data/public/bower_components/core-component-page/index.html +22 -0
  54. data/public/bower_components/core-drawer-panel/.bower.json +19 -0
  55. data/public/bower_components/core-drawer-panel/README.md +4 -0
  56. data/public/bower_components/core-drawer-panel/bower.json +9 -0
  57. data/public/bower_components/core-drawer-panel/core-drawer-panel.css +160 -0
  58. data/public/bower_components/core-drawer-panel/core-drawer-panel.html +418 -0
  59. data/public/bower_components/core-drawer-panel/demo.html +68 -0
  60. data/public/bower_components/core-drawer-panel/index.html +22 -0
  61. data/public/bower_components/core-drawer-panel/metadata.html +37 -0
  62. data/public/bower_components/core-focusable/.bower.json +18 -0
  63. data/public/bower_components/core-focusable/README.md +6 -0
  64. data/public/bower_components/core-focusable/bower.json +8 -0
  65. data/public/bower_components/core-focusable/core-focusable.html +4 -0
  66. data/public/bower_components/core-focusable/core-focusable.js +134 -0
  67. data/public/bower_components/core-focusable/demo.html +109 -0
  68. data/public/bower_components/core-focusable/polymer-mixin.js +35 -0
  69. data/public/bower_components/core-header-panel/.bower.json +18 -0
  70. data/public/bower_components/core-header-panel/README.md +4 -0
  71. data/public/bower_components/core-header-panel/bower.json +8 -0
  72. data/public/bower_components/core-header-panel/core-header-panel.css +78 -0
  73. data/public/bower_components/core-header-panel/core-header-panel.html +277 -0
  74. data/public/bower_components/core-header-panel/demo.html +100 -0
  75. data/public/bower_components/core-header-panel/index.html +23 -0
  76. data/public/bower_components/core-header-panel/metadata.html +37 -0
  77. data/public/bower_components/core-icon/.bower.json +19 -0
  78. data/public/bower_components/core-icon/README.md +4 -0
  79. data/public/bower_components/core-icon/bower.json +9 -0
  80. data/public/bower_components/core-icon/core-icon.css +16 -0
  81. data/public/bower_components/core-icon/core-icon.html +201 -0
  82. data/public/bower_components/core-icon/demo.html +44 -0
  83. data/public/bower_components/core-icon/index.html +22 -0
  84. data/public/bower_components/core-icon/metadata.html +21 -0
  85. data/public/bower_components/core-icon-button/.bower.json +18 -0
  86. data/public/bower_components/core-icon-button/README.md +4 -0
  87. data/public/bower_components/core-icon-button/bower.json +8 -0
  88. data/public/bower_components/core-icon-button/core-icon-button.css +75 -0
  89. data/public/bower_components/core-icon-button/core-icon-button.html +81 -0
  90. data/public/bower_components/core-icon-button/demo.html +35 -0
  91. data/public/bower_components/core-icon-button/index.html +22 -0
  92. data/public/bower_components/core-icon-button/metadata.html +20 -0
  93. data/public/bower_components/core-icons/.bower.json +24 -0
  94. data/public/bower_components/core-icons/.gitignore +2 -0
  95. data/public/bower_components/core-icons/README.md +8 -0
  96. data/public/bower_components/core-icons/av-icons.html +65 -0
  97. data/public/bower_components/core-icons/bower.json +14 -0
  98. data/public/bower_components/core-icons/communication-icons.html +54 -0
  99. data/public/bower_components/core-icons/core-icons.html +278 -0
  100. data/public/bower_components/core-icons/demo.html +98 -0
  101. data/public/bower_components/core-icons/device-icons.html +90 -0
  102. data/public/bower_components/core-icons/editor-icons.html +67 -0
  103. data/public/bower_components/core-icons/hardware-icons.html +56 -0
  104. data/public/bower_components/core-icons/image-icons.html +152 -0
  105. data/public/bower_components/core-icons/index.html +22 -0
  106. data/public/bower_components/core-icons/maps-icons.html +70 -0
  107. data/public/bower_components/core-icons/notification-icons.html +49 -0
  108. data/public/bower_components/core-icons/social-icons.html +39 -0
  109. data/public/bower_components/core-iconset/.bower.json +20 -0
  110. data/public/bower_components/core-iconset/README.md +4 -0
  111. data/public/bower_components/core-iconset/bower.json +10 -0
  112. data/public/bower_components/core-iconset/core-iconset.html +241 -0
  113. data/public/bower_components/core-iconset/demo.html +62 -0
  114. data/public/bower_components/core-iconset/index.html +22 -0
  115. data/public/bower_components/core-iconset/my-icons-big.png +0 -0
  116. data/public/bower_components/core-iconset/my-icons.png +0 -0
  117. data/public/bower_components/core-iconset-svg/.bower.json +19 -0
  118. data/public/bower_components/core-iconset-svg/README.md +4 -0
  119. data/public/bower_components/core-iconset-svg/bower.json +9 -0
  120. data/public/bower_components/core-iconset-svg/core-iconset-svg.html +168 -0
  121. data/public/bower_components/core-iconset-svg/demo.html +66 -0
  122. data/public/bower_components/core-iconset-svg/index.html +22 -0
  123. data/public/bower_components/core-iconset-svg/svg-sample-icons.html +68 -0
  124. data/public/bower_components/core-input/.bower.json +20 -0
  125. data/public/bower_components/core-input/README.md +2 -0
  126. data/public/bower_components/core-input/bower.json +10 -0
  127. data/public/bower_components/core-input/core-input.css +41 -0
  128. data/public/bower_components/core-input/core-input.html +148 -0
  129. data/public/bower_components/core-input/demo.html +62 -0
  130. data/public/bower_components/core-input/index.html +22 -0
  131. data/public/bower_components/core-input/metadata.html +23 -0
  132. data/public/bower_components/core-input/test/a11y.html +55 -0
  133. data/public/bower_components/core-input/test/basic.html +60 -0
  134. data/public/bower_components/core-input/test/index.html +25 -0
  135. data/public/bower_components/core-item/.bower.json +19 -0
  136. data/public/bower_components/core-item/README.md +4 -0
  137. data/public/bower_components/core-item/bower.json +9 -0
  138. data/public/bower_components/core-item/core-item.css +45 -0
  139. data/public/bower_components/core-item/core-item.html +73 -0
  140. data/public/bower_components/core-item/demo.html +92 -0
  141. data/public/bower_components/core-item/index.html +22 -0
  142. data/public/bower_components/core-item/metadata.html +24 -0
  143. data/public/bower_components/core-media-query/.bower.json +18 -0
  144. data/public/bower_components/core-media-query/README.md +4 -0
  145. data/public/bower_components/core-media-query/bower.json +8 -0
  146. data/public/bower_components/core-media-query/core-media-query.html +87 -0
  147. data/public/bower_components/core-media-query/demo.html +44 -0
  148. data/public/bower_components/core-media-query/index.html +22 -0
  149. data/public/bower_components/core-menu/.bower.json +22 -0
  150. data/public/bower_components/core-menu/README.md +4 -0
  151. data/public/bower_components/core-menu/bower.json +11 -0
  152. data/public/bower_components/core-menu/core-menu.css +18 -0
  153. data/public/bower_components/core-menu/core-menu.html +73 -0
  154. data/public/bower_components/core-menu/core-submenu.css +43 -0
  155. data/public/bower_components/core-menu/core-submenu.html +126 -0
  156. data/public/bower_components/core-menu/demo.html +101 -0
  157. data/public/bower_components/core-menu/index.html +22 -0
  158. data/public/bower_components/core-menu/metadata.html +62 -0
  159. data/public/bower_components/core-meta/.bower.json +18 -0
  160. data/public/bower_components/core-meta/README.md +4 -0
  161. data/public/bower_components/core-meta/bower.json +8 -0
  162. data/public/bower_components/core-meta/core-meta.html +145 -0
  163. data/public/bower_components/core-meta/demo.html +58 -0
  164. data/public/bower_components/core-meta/index.html +22 -0
  165. data/public/bower_components/core-overlay/.bower.json +20 -0
  166. data/public/bower_components/core-overlay/README.md +4 -0
  167. data/public/bower_components/core-overlay/bower.json +10 -0
  168. data/public/bower_components/core-overlay/core-key-helper.html +22 -0
  169. data/public/bower_components/core-overlay/core-overlay-layer.html +116 -0
  170. data/public/bower_components/core-overlay/core-overlay.html +776 -0
  171. data/public/bower_components/core-overlay/demo.html +155 -0
  172. data/public/bower_components/core-overlay/gulpfile.js +2 -0
  173. data/public/bower_components/core-overlay/index.html +22 -0
  174. data/public/bower_components/core-overlay/tests/html/core-overlay-basic.html +127 -0
  175. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning-margin.html +153 -0
  176. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning.html +167 -0
  177. data/public/bower_components/core-overlay/tests/html/core-overlay-quick-close.html +45 -0
  178. data/public/bower_components/core-overlay/tests/html/core-overlay-scroll.html +130 -0
  179. data/public/bower_components/core-overlay/tests/js/htmltests.js +7 -0
  180. data/public/bower_components/core-overlay/tests/runner.html +14 -0
  181. data/public/bower_components/core-overlay/tests/tests.json +6 -0
  182. data/public/bower_components/core-pages/.bower.json +19 -0
  183. data/public/bower_components/core-pages/README.md +4 -0
  184. data/public/bower_components/core-pages/bower.json +8 -0
  185. data/public/bower_components/core-pages/core-pages.css +30 -0
  186. data/public/bower_components/core-pages/core-pages.html +44 -0
  187. data/public/bower_components/core-pages/demo.html +136 -0
  188. data/public/bower_components/core-pages/index.html +22 -0
  189. data/public/bower_components/core-pages/metadata.html +25 -0
  190. data/public/bower_components/core-resizable/.bower.json +18 -0
  191. data/public/bower_components/core-resizable/README.md +4 -0
  192. data/public/bower_components/core-resizable/bower.json +8 -0
  193. data/public/bower_components/core-resizable/core-resizable.html +248 -0
  194. data/public/bower_components/core-resizable/index.html +22 -0
  195. data/public/bower_components/core-resizable/test/basic.html +504 -0
  196. data/public/bower_components/core-resizable/test/index.html +16 -0
  197. data/public/bower_components/core-resizable/test/test-elements.html +66 -0
  198. data/public/bower_components/core-scaffold/.bower.json +22 -0
  199. data/public/bower_components/core-scaffold/README.md +4 -0
  200. data/public/bower_components/core-scaffold/bower.json +11 -0
  201. data/public/bower_components/core-scaffold/core-scaffold.html +252 -0
  202. data/public/bower_components/core-scaffold/demo.html +82 -0
  203. data/public/bower_components/core-scaffold/index.html +22 -0
  204. data/public/bower_components/core-scaffold/metadata.html +52 -0
  205. data/public/bower_components/core-selection/.bower.json +21 -0
  206. data/public/bower_components/core-selection/README.md +4 -0
  207. data/public/bower_components/core-selection/bower.json +11 -0
  208. data/public/bower_components/core-selection/core-selection.html +149 -0
  209. data/public/bower_components/core-selection/demo.html +59 -0
  210. data/public/bower_components/core-selection/index.html +22 -0
  211. data/public/bower_components/core-selection/test/basic.html +62 -0
  212. data/public/bower_components/core-selection/test/index.html +25 -0
  213. data/public/bower_components/core-selection/test/multi.html +63 -0
  214. data/public/bower_components/core-selector/.bower.json +22 -0
  215. data/public/bower_components/core-selector/.gitignore +2 -0
  216. data/public/bower_components/core-selector/README.md +4 -0
  217. data/public/bower_components/core-selector/bower.json +12 -0
  218. data/public/bower_components/core-selector/core-selector.html +548 -0
  219. data/public/bower_components/core-selector/demo.html +106 -0
  220. data/public/bower_components/core-selector/index.html +22 -0
  221. data/public/bower_components/core-selector/metadata.html +20 -0
  222. data/public/bower_components/core-selector/test/activate-event.html +63 -0
  223. data/public/bower_components/core-selector/test/basic.html +126 -0
  224. data/public/bower_components/core-selector/test/content.html +101 -0
  225. data/public/bower_components/core-selector/test/index.html +30 -0
  226. data/public/bower_components/core-selector/test/multi.html +115 -0
  227. data/public/bower_components/core-selector/test/next-previous.html +113 -0
  228. data/public/bower_components/core-selector/test/selected-attr-prop.html +62 -0
  229. data/public/bower_components/core-selector/test/template-repeat.html +63 -0
  230. data/public/bower_components/core-style/.bower.json +18 -0
  231. data/public/bower_components/core-style/README.md +4 -0
  232. data/public/bower_components/core-style/bower.json +8 -0
  233. data/public/bower_components/core-style/core-style.html +387 -0
  234. data/public/bower_components/core-style/demo.html +58 -0
  235. data/public/bower_components/core-style/elements.html +55 -0
  236. data/public/bower_components/core-style/index.html +22 -0
  237. data/public/bower_components/core-style/my-theme.html +73 -0
  238. data/public/bower_components/core-toolbar/.bower.json +19 -0
  239. data/public/bower_components/core-toolbar/README.md +4 -0
  240. data/public/bower_components/core-toolbar/bower.json +9 -0
  241. data/public/bower_components/core-toolbar/core-toolbar.css +117 -0
  242. data/public/bower_components/core-toolbar/core-toolbar.html +155 -0
  243. data/public/bower_components/core-toolbar/demo.html +119 -0
  244. data/public/bower_components/core-toolbar/index.html +22 -0
  245. data/public/bower_components/core-toolbar/metadata.html +28 -0
  246. data/public/bower_components/core-toolbar/test/basic.html +86 -0
  247. data/public/bower_components/core-toolbar/test/index.html +24 -0
  248. data/public/bower_components/core-transition/.bower.json +19 -0
  249. data/public/bower_components/core-transition/README.md +2 -0
  250. data/public/bower_components/core-transition/bower.json +9 -0
  251. data/public/bower_components/core-transition/core-transition-css.html +220 -0
  252. data/public/bower_components/core-transition/core-transition-overlay.css +46 -0
  253. data/public/bower_components/core-transition/core-transition.html +140 -0
  254. data/public/bower_components/core-transition/demo.html +87 -0
  255. data/public/bower_components/core-transition/index.html +22 -0
  256. data/public/bower_components/font-roboto/.bower.json +15 -0
  257. data/public/bower_components/font-roboto/roboto.html +9 -0
  258. data/public/bower_components/paper-button/.bower.json +27 -0
  259. data/public/bower_components/paper-button/README.md +4 -0
  260. data/public/bower_components/paper-button/bower.json +16 -0
  261. data/public/bower_components/paper-button/demo.html +157 -0
  262. data/public/bower_components/paper-button/index.html +22 -0
  263. data/public/bower_components/paper-button/metadata.html +17 -0
  264. data/public/bower_components/paper-button/paper-button-base.html +164 -0
  265. data/public/bower_components/paper-button/paper-button.html +197 -0
  266. data/public/bower_components/paper-button/test/index.html +24 -0
  267. data/public/bower_components/paper-button/test/paper-button.html +112 -0
  268. data/public/bower_components/paper-icon-button/.bower.json +25 -0
  269. data/public/bower_components/paper-icon-button/README.md +4 -0
  270. data/public/bower_components/paper-icon-button/bower.json +15 -0
  271. data/public/bower_components/paper-icon-button/demo.html +150 -0
  272. data/public/bower_components/paper-icon-button/index.html +22 -0
  273. data/public/bower_components/paper-icon-button/metadata.html +21 -0
  274. data/public/bower_components/paper-icon-button/paper-icon-button.html +154 -0
  275. data/public/bower_components/paper-icon-button/test/a11y.html +68 -0
  276. data/public/bower_components/paper-icon-button/test/basic.html +50 -0
  277. data/public/bower_components/paper-icon-button/test/index.html +25 -0
  278. data/public/bower_components/paper-input/.bower.json +26 -0
  279. data/public/bower_components/paper-input/.gitignore +1 -0
  280. data/public/bower_components/paper-input/README.md +4 -0
  281. data/public/bower_components/paper-input/bower.json +15 -0
  282. data/public/bower_components/paper-input/demo.html +236 -0
  283. data/public/bower_components/paper-input/index.html +22 -0
  284. data/public/bower_components/paper-input/metadata.html +20 -0
  285. data/public/bower_components/paper-input/paper-autogrow-textarea.html +162 -0
  286. data/public/bower_components/paper-input/paper-char-counter.html +121 -0
  287. data/public/bower_components/paper-input/paper-input-decorator.css +132 -0
  288. data/public/bower_components/paper-input/paper-input-decorator.html +547 -0
  289. data/public/bower_components/paper-input/paper-input.html +145 -0
  290. data/public/bower_components/paper-input/test/index.html +26 -0
  291. data/public/bower_components/paper-input/test/paper-autogrow-textarea.html +146 -0
  292. data/public/bower_components/paper-input/test/paper-input-decorator.html +240 -0
  293. data/public/bower_components/paper-input/test/paper-input.html +68 -0
  294. data/public/bower_components/paper-input/test/util.js +15 -0
  295. data/public/bower_components/paper-radio-button/.bower.json +22 -0
  296. data/public/bower_components/paper-radio-button/README.md +4 -0
  297. data/public/bower_components/paper-radio-button/bower.json +12 -0
  298. data/public/bower_components/paper-radio-button/demo.html +84 -0
  299. data/public/bower_components/paper-radio-button/index.html +22 -0
  300. data/public/bower_components/paper-radio-button/metadata.html +17 -0
  301. data/public/bower_components/paper-radio-button/paper-radio-button.css +108 -0
  302. data/public/bower_components/paper-radio-button/paper-radio-button.html +166 -0
  303. data/public/bower_components/paper-ripple/.bower.json +23 -0
  304. data/public/bower_components/paper-ripple/README.md +4 -0
  305. data/public/bower_components/paper-ripple/bower.json +13 -0
  306. data/public/bower_components/paper-ripple/demo.html +414 -0
  307. data/public/bower_components/paper-ripple/index.html +22 -0
  308. data/public/bower_components/paper-ripple/metadata.html +20 -0
  309. data/public/bower_components/paper-ripple/paper-ripple.html +477 -0
  310. data/public/bower_components/paper-ripple/test/index.html +24 -0
  311. data/public/bower_components/paper-ripple/test/position.html +109 -0
  312. data/public/bower_components/paper-shadow/.bower.json +22 -0
  313. data/public/bower_components/paper-shadow/README.md +4 -0
  314. data/public/bower_components/paper-shadow/bower.json +11 -0
  315. data/public/bower_components/paper-shadow/demo.html +134 -0
  316. data/public/bower_components/paper-shadow/index.html +22 -0
  317. data/public/bower_components/paper-shadow/metadata.html +17 -0
  318. data/public/bower_components/paper-shadow/paper-shadow.css +66 -0
  319. data/public/bower_components/paper-shadow/paper-shadow.html +86 -0
  320. data/public/bower_components/paper-shadow/test/basic.html +62 -0
  321. data/public/bower_components/paper-shadow/test/index.html +24 -0
  322. data/public/bower_components/paper-tabs/.bower.json +26 -0
  323. data/public/bower_components/paper-tabs/README.md +4 -0
  324. data/public/bower_components/paper-tabs/bower.json +15 -0
  325. data/public/bower_components/paper-tabs/demo.html +242 -0
  326. data/public/bower_components/paper-tabs/index.html +22 -0
  327. data/public/bower_components/paper-tabs/metadata.html +58 -0
  328. data/public/bower_components/paper-tabs/paper-tab.css +59 -0
  329. data/public/bower_components/paper-tabs/paper-tab.html +82 -0
  330. data/public/bower_components/paper-tabs/paper-tabs.css +80 -0
  331. data/public/bower_components/paper-tabs/paper-tabs.html +353 -0
  332. data/public/bower_components/paper-toast/.bower.json +22 -0
  333. data/public/bower_components/paper-toast/README.md +4 -0
  334. data/public/bower_components/paper-toast/bower.json +11 -0
  335. data/public/bower_components/paper-toast/demo.html +63 -0
  336. data/public/bower_components/paper-toast/index.html +22 -0
  337. data/public/bower_components/paper-toast/metadata.html +20 -0
  338. data/public/bower_components/paper-toast/paper-toast.css +80 -0
  339. data/public/bower_components/paper-toast/paper-toast.html +296 -0
  340. data/public/bower_components/paper-toggle-button/.bower.json +20 -0
  341. data/public/bower_components/paper-toggle-button/README.md +4 -0
  342. data/public/bower_components/paper-toggle-button/bower.json +9 -0
  343. data/public/bower_components/paper-toggle-button/demo.html +97 -0
  344. data/public/bower_components/paper-toggle-button/index.html +22 -0
  345. data/public/bower_components/paper-toggle-button/metadata.html +17 -0
  346. data/public/bower_components/paper-toggle-button/paper-toggle-button.css +95 -0
  347. data/public/bower_components/paper-toggle-button/paper-toggle-button.html +179 -0
  348. data/public/bower_components/polymer/.bower.json +32 -0
  349. data/public/bower_components/polymer/README.md +21 -0
  350. data/public/bower_components/polymer/bower.json +23 -0
  351. data/public/bower_components/polymer/build.log +26 -0
  352. data/public/bower_components/polymer/layout.html +286 -0
  353. data/public/bower_components/polymer/polymer.html +12 -0
  354. data/public/bower_components/polymer/polymer.js +11859 -0
  355. data/public/bower_components/polymer/polymer.min.js +14 -0
  356. data/public/bower_components/webcomponentsjs/.bower.json +23 -0
  357. data/public/bower_components/webcomponentsjs/CustomElements.js +634 -0
  358. data/public/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
  359. data/public/bower_components/webcomponentsjs/HTMLImports.js +764 -0
  360. data/public/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
  361. data/public/bower_components/webcomponentsjs/README.md +73 -0
  362. data/public/bower_components/webcomponentsjs/ShadowDOM.js +4277 -0
  363. data/public/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
  364. data/public/bower_components/webcomponentsjs/bower.json +14 -0
  365. data/public/bower_components/webcomponentsjs/build.log +31 -0
  366. data/public/bower_components/webcomponentsjs/package.json +31 -0
  367. data/public/bower_components/webcomponentsjs/webcomponents-lite.js +1728 -0
  368. data/public/bower_components/webcomponentsjs/webcomponents-lite.min.js +11 -0
  369. data/public/bower_components/webcomponentsjs/webcomponents.js +6114 -0
  370. data/public/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
  371. data/public/css/main.css +41 -0
  372. data/public/elements/ec-dashboard/ec-dashboard.html +269 -0
  373. data/public/polymer-loader.html +24 -0
  374. data/public/polymer-loader.vulcanized.html +19 -0
  375. data/spec/ec/ec_dashboard_spec.rb +78 -0
  376. data/spec/ec/ec_spec.rb +78 -0
  377. data/spec/spec_helper.rb +27 -0
  378. data/views/index.html +88 -0
  379. metadata +464 -0
@@ -0,0 +1,548 @@
1
+ <!--
2
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
6
+ Code distributed by Google as part of the polymer project is also
7
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
8
+ -->
9
+
10
+ <!--
11
+ @group Polymer Core Elements
12
+
13
+ `<core-selector>` is used to manage a list of elements that can be selected.
14
+
15
+ The attribute `selected` indicates which item element is being selected.
16
+ The attribute `multi` indicates if multiple items can be selected at once.
17
+ Tapping on the item element would fire `core-activate` event. Use
18
+ `core-select` event to listen for selection changes.
19
+
20
+ Example:
21
+
22
+ <core-selector selected="0">
23
+ <div>Item 1</div>
24
+ <div>Item 2</div>
25
+ <div>Item 3</div>
26
+ </core-selector>
27
+
28
+ `<core-selector>` is not styled. Use the `core-selected` CSS class to style the selected element.
29
+
30
+ <style>
31
+ .item.core-selected {
32
+ background: #eee;
33
+ }
34
+ </style>
35
+ ...
36
+ <core-selector>
37
+ <div class="item">Item 1</div>
38
+ <div class="item">Item 2</div>
39
+ <div class="item">Item 3</div>
40
+ </core-selector>
41
+
42
+ @element core-selector
43
+ @status stable
44
+ @homepage github.io
45
+ -->
46
+
47
+ <!--
48
+ Fired when an item's selection state is changed. This event is fired both
49
+ when an item is selected or deselected. The `isSelected` detail property
50
+ contains the selection state.
51
+
52
+ @event core-select
53
+ @param {Object} detail
54
+ @param {boolean} detail.isSelected true for selection and false for deselection
55
+ @param {Object} detail.item the item element
56
+ -->
57
+ <!--
58
+ Fired when an item element is tapped.
59
+
60
+ @event core-activate
61
+ @param {Object} detail
62
+ @param {Object} detail.item the item element
63
+ -->
64
+
65
+ <link rel="import" href="../polymer/polymer.html">
66
+ <link rel="import" href="../core-selection/core-selection.html">
67
+
68
+ <polymer-element name="core-selector"
69
+ attributes="selected multi valueattr selectedClass selectedProperty selectedAttribute selectedItem selectedModel selectedIndex notap excludedLocalNames target itemsSelector activateEvent">
70
+
71
+ <template>
72
+ <core-selection id="selection" multi="{{multi}}" on-core-select="{{selectionSelect}}"></core-selection>
73
+ <content id="items" select="*"></content>
74
+ </template>
75
+
76
+ <script>
77
+
78
+ Polymer('core-selector', {
79
+
80
+ /**
81
+ * Gets or sets the selected element. Default to use the index
82
+ * of the item element.
83
+ *
84
+ * If you want a specific attribute value of the element to be
85
+ * used instead of index, set "valueattr" to that attribute name.
86
+ *
87
+ * Example:
88
+ *
89
+ * <core-selector valueattr="label" selected="foo">
90
+ * <div label="foo"></div>
91
+ * <div label="bar"></div>
92
+ * <div label="zot"></div>
93
+ * </core-selector>
94
+ *
95
+ * In multi-selection this should be an array of values.
96
+ *
97
+ * Example:
98
+ *
99
+ * <core-selector id="selector" valueattr="label" multi>
100
+ * <div label="foo"></div>
101
+ * <div label="bar"></div>
102
+ * <div label="zot"></div>
103
+ * </core-selector>
104
+ *
105
+ * this.$.selector.selected = ['foo', 'zot'];
106
+ *
107
+ * @attribute selected
108
+ * @type Object
109
+ * @default null
110
+ */
111
+ selected: null,
112
+
113
+ /**
114
+ * If true, multiple selections are allowed.
115
+ *
116
+ * @attribute multi
117
+ * @type boolean
118
+ * @default false
119
+ */
120
+ multi: false,
121
+
122
+ /**
123
+ * Specifies the attribute to be used for "selected" attribute.
124
+ *
125
+ * @attribute valueattr
126
+ * @type string
127
+ * @default 'name'
128
+ */
129
+ valueattr: 'name',
130
+
131
+ /**
132
+ * Specifies the CSS class to be used to add to the selected element.
133
+ *
134
+ * @attribute selectedClass
135
+ * @type string
136
+ * @default 'core-selected'
137
+ */
138
+ selectedClass: 'core-selected',
139
+
140
+ /**
141
+ * Specifies the property to be used to set on the selected element
142
+ * to indicate its active state.
143
+ *
144
+ * @attribute selectedProperty
145
+ * @type string
146
+ * @default ''
147
+ */
148
+ selectedProperty: '',
149
+
150
+ /**
151
+ * Specifies the attribute to set on the selected element to indicate
152
+ * its active state.
153
+ *
154
+ * @attribute selectedAttribute
155
+ * @type string
156
+ * @default 'active'
157
+ */
158
+ selectedAttribute: 'active',
159
+
160
+ /**
161
+ * Returns the currently selected element. In multi-selection this returns
162
+ * an array of selected elements.
163
+ * Note that you should not use this to set the selection. Instead use
164
+ * `selected`.
165
+ *
166
+ * @attribute selectedItem
167
+ * @type Object
168
+ * @default null
169
+ */
170
+ selectedItem: null,
171
+
172
+ /**
173
+ * In single selection, this returns the model associated with the
174
+ * selected element.
175
+ * Note that you should not use this to set the selection. Instead use
176
+ * `selected`.
177
+ *
178
+ * @attribute selectedModel
179
+ * @type Object
180
+ * @default null
181
+ */
182
+ selectedModel: null,
183
+
184
+ /**
185
+ * In single selection, this returns the selected index.
186
+ * Note that you should not use this to set the selection. Instead use
187
+ * `selected`.
188
+ *
189
+ * @attribute selectedIndex
190
+ * @type number
191
+ * @default -1
192
+ */
193
+ selectedIndex: -1,
194
+
195
+ /**
196
+ * Nodes with local name that are in the list will not be included
197
+ * in the selection items. In the following example, `items` returns four
198
+ * `core-item`'s and doesn't include `h3` and `hr`.
199
+ *
200
+ * <core-selector excludedLocalNames="h3 hr">
201
+ * <h3>Header</h3>
202
+ * <core-item>Item1</core-item>
203
+ * <core-item>Item2</core-item>
204
+ * <hr>
205
+ * <core-item>Item3</core-item>
206
+ * <core-item>Item4</core-item>
207
+ * </core-selector>
208
+ *
209
+ * @attribute excludedLocalNames
210
+ * @type string
211
+ * @default ''
212
+ */
213
+ excludedLocalNames: '',
214
+
215
+ /**
216
+ * The target element that contains items. If this is not set
217
+ * core-selector is the container.
218
+ *
219
+ * @attribute target
220
+ * @type Object
221
+ * @default null
222
+ */
223
+ target: null,
224
+
225
+ /**
226
+ * This can be used to query nodes from the target node to be used for
227
+ * selection items. Note this only works if `target` is set
228
+ * and is not `core-selector` itself.
229
+ *
230
+ * Example:
231
+ *
232
+ * <core-selector target="{{$.myForm}}" itemsSelector="input[type=radio]"></core-selector>
233
+ * <form id="myForm">
234
+ * <label><input type="radio" name="color" value="red"> Red</label> <br>
235
+ * <label><input type="radio" name="color" value="green"> Green</label> <br>
236
+ * <label><input type="radio" name="color" value="blue"> Blue</label> <br>
237
+ * <p>color = {{color}}</p>
238
+ * </form>
239
+ *
240
+ * @attribute itemsSelector
241
+ * @type string
242
+ * @default ''
243
+ */
244
+ itemsSelector: '',
245
+
246
+ /**
247
+ * The event that would be fired from the item element to indicate
248
+ * it is being selected.
249
+ *
250
+ * @attribute activateEvent
251
+ * @type string
252
+ * @default 'tap'
253
+ */
254
+ activateEvent: 'tap',
255
+
256
+ /**
257
+ * Set this to true to disallow changing the selection via the
258
+ * `activateEvent`.
259
+ *
260
+ * @attribute notap
261
+ * @type boolean
262
+ * @default false
263
+ */
264
+ notap: false,
265
+
266
+ defaultExcludedLocalNames: 'template',
267
+
268
+ observe: {
269
+ 'selected multi': 'selectedChanged'
270
+ },
271
+
272
+ ready: function() {
273
+ this.activateListener = this.activateHandler.bind(this);
274
+ this.itemFilter = this.filterItem.bind(this);
275
+ this.excludedLocalNamesChanged();
276
+ this.observer = new MutationObserver(this.updateSelected.bind(this));
277
+ if (!this.target) {
278
+ this.target = this;
279
+ }
280
+ },
281
+
282
+ /**
283
+ * Returns an array of all items.
284
+ *
285
+ * @property items
286
+ */
287
+ get items() {
288
+ if (!this.target) {
289
+ return [];
290
+ }
291
+ var nodes = this.target !== this ? (this.itemsSelector ?
292
+ this.target.querySelectorAll(this.itemsSelector) :
293
+ this.target.children) : this.$.items.getDistributedNodes();
294
+ return Array.prototype.filter.call(nodes, this.itemFilter);
295
+ },
296
+
297
+ filterItem: function(node) {
298
+ return !this._excludedNames[node.localName];
299
+ },
300
+
301
+ excludedLocalNamesChanged: function() {
302
+ this._excludedNames = {};
303
+ var s = this.defaultExcludedLocalNames;
304
+ if (this.excludedLocalNames) {
305
+ s += ' ' + this.excludedLocalNames;
306
+ }
307
+ s.split(/\s+/g).forEach(function(n) {
308
+ this._excludedNames[n] = 1;
309
+ }, this);
310
+ },
311
+
312
+ targetChanged: function(old) {
313
+ if (old) {
314
+ this.removeListener(old);
315
+ this.observer.disconnect();
316
+ this.clearSelection();
317
+ }
318
+ if (this.target) {
319
+ this.addListener(this.target);
320
+ this.observer.observe(this.target, {childList: true});
321
+ this.updateSelected();
322
+ }
323
+ },
324
+
325
+ addListener: function(node) {
326
+ Polymer.addEventListener(node, this.activateEvent, this.activateListener);
327
+ },
328
+
329
+ removeListener: function(node) {
330
+ Polymer.removeEventListener(node, this.activateEvent, this.activateListener);
331
+ },
332
+
333
+ /**
334
+ * Returns the selected item(s). If the `multi` property is true,
335
+ * this will return an array, otherwise it will return
336
+ * the selected item or undefined if there is no selection.
337
+ */
338
+ get selection() {
339
+ return this.$.selection.getSelection();
340
+ },
341
+
342
+ selectedChanged: function() {
343
+ // TODO(ffu): Right now this is the only way to know that the `selected`
344
+ // is an array and was mutated, as opposed to newly assigned.
345
+ if (arguments.length === 1) {
346
+ this.processSplices(arguments[0]);
347
+ } else {
348
+ this.updateSelected();
349
+ }
350
+ },
351
+
352
+ updateSelected: function() {
353
+ this.validateSelected();
354
+ if (this.multi) {
355
+ this.clearSelection(this.selected)
356
+ this.selected && this.selected.forEach(function(s) {
357
+ this.setValueSelected(s, true)
358
+ }, this);
359
+ } else {
360
+ this.valueToSelection(this.selected);
361
+ }
362
+ },
363
+
364
+ validateSelected: function() {
365
+ // convert to an array for multi-selection
366
+ if (this.multi && !Array.isArray(this.selected) &&
367
+ this.selected != null) {
368
+ this.selected = [this.selected];
369
+ // use the first selected in the array for single-selection
370
+ } else if (!this.multi && Array.isArray(this.selected)) {
371
+ var s = this.selected[0];
372
+ this.clearSelection([s]);
373
+ this.selected = s;
374
+ }
375
+ },
376
+
377
+ processSplices: function(splices) {
378
+ for (var i = 0, splice; splice = splices[i]; i++) {
379
+ for (var j = 0; j < splice.removed.length; j++) {
380
+ this.setValueSelected(splice.removed[j], false);
381
+ }
382
+ for (var j = 0; j < splice.addedCount; j++) {
383
+ this.setValueSelected(this.selected[splice.index + j], true);
384
+ }
385
+ }
386
+ },
387
+
388
+ clearSelection: function(excludes) {
389
+ this.$.selection.selection.slice().forEach(function(item) {
390
+ var v = this.valueForNode(item) || this.items.indexOf(item);
391
+ if (!excludes || excludes.indexOf(v) < 0) {
392
+ this.$.selection.setItemSelected(item, false);
393
+ }
394
+ }, this);
395
+ },
396
+
397
+ valueToSelection: function(value) {
398
+ var item = this.valueToItem(value);
399
+ this.$.selection.select(item);
400
+ },
401
+
402
+ setValueSelected: function(value, isSelected) {
403
+ var item = this.valueToItem(value);
404
+ if (isSelected ^ this.$.selection.isSelected(item)) {
405
+ this.$.selection.setItemSelected(item, isSelected);
406
+ }
407
+ },
408
+
409
+ updateSelectedItem: function() {
410
+ this.selectedItem = this.selection;
411
+ },
412
+
413
+ selectedItemChanged: function() {
414
+ if (this.selectedItem) {
415
+ var t = this.selectedItem.templateInstance;
416
+ this.selectedModel = t ? t.model : undefined;
417
+ } else {
418
+ this.selectedModel = null;
419
+ }
420
+ this.selectedIndex = this.selectedItem ?
421
+ parseInt(this.valueToIndex(this.selected)) : -1;
422
+ },
423
+
424
+ valueToItem: function(value) {
425
+ return (value === null || value === undefined) ?
426
+ null : this.items[this.valueToIndex(value)];
427
+ },
428
+
429
+ valueToIndex: function(value) {
430
+ // find an item with value == value and return it's index
431
+ for (var i=0, items=this.items, c; (c=items[i]); i++) {
432
+ if (this.valueForNode(c) == value) {
433
+ return i;
434
+ }
435
+ }
436
+ // if no item found, the value itself is probably the index
437
+ return value;
438
+ },
439
+
440
+ valueForNode: function(node) {
441
+ return node[this.valueattr] || node.getAttribute(this.valueattr);
442
+ },
443
+
444
+ // events fired from <core-selection> object
445
+ selectionSelect: function(e, detail) {
446
+ this.updateSelectedItem();
447
+ if (detail.item) {
448
+ this.applySelection(detail.item, detail.isSelected);
449
+ }
450
+ },
451
+
452
+ applySelection: function(item, isSelected) {
453
+ if (this.selectedClass) {
454
+ item.classList.toggle(this.selectedClass, isSelected);
455
+ }
456
+ if (this.selectedProperty) {
457
+ item[this.selectedProperty] = isSelected;
458
+ }
459
+ if (this.selectedAttribute && item.setAttribute) {
460
+ if (isSelected) {
461
+ item.setAttribute(this.selectedAttribute, '');
462
+ } else {
463
+ item.removeAttribute(this.selectedAttribute);
464
+ }
465
+ }
466
+ },
467
+
468
+ // event fired from host
469
+ activateHandler: function(e) {
470
+ if (!this.notap) {
471
+ var i = this.findDistributedTarget(e.target, this.items);
472
+ if (i >= 0) {
473
+ var item = this.items[i];
474
+ var s = this.valueForNode(item) || i;
475
+ if (this.multi) {
476
+ if (this.selected) {
477
+ this.addRemoveSelected(s);
478
+ } else {
479
+ this.selected = [s];
480
+ }
481
+ } else {
482
+ this.selected = s;
483
+ }
484
+ this.asyncFire('core-activate', {item: item});
485
+ }
486
+ }
487
+ },
488
+
489
+ addRemoveSelected: function(value) {
490
+ var i = this.selected.indexOf(value);
491
+ if (i >= 0) {
492
+ this.selected.splice(i, 1);
493
+ } else {
494
+ this.selected.push(value);
495
+ }
496
+ },
497
+
498
+ findDistributedTarget: function(target, nodes) {
499
+ // find first ancestor of target (including itself) that
500
+ // is in nodes, if any
501
+ while (target && target != this) {
502
+ var i = Array.prototype.indexOf.call(nodes, target);
503
+ if (i >= 0) {
504
+ return i;
505
+ }
506
+ target = target.parentNode;
507
+ }
508
+ },
509
+
510
+ selectIndex: function(index) {
511
+ var item = this.items[index];
512
+ if (item) {
513
+ this.selected = this.valueForNode(item) || index;
514
+ return item;
515
+ }
516
+ },
517
+
518
+ /**
519
+ * Selects the previous item. This should be used in single selection only.
520
+ *
521
+ * @method selectPrevious
522
+ * @param {boolean} wrapped if true and it is already at the first item,
523
+ * wrap to the end
524
+ * @returns the previous item or undefined if there is none
525
+ */
526
+ selectPrevious: function(wrapped) {
527
+ var i = wrapped && !this.selectedIndex ?
528
+ this.items.length - 1 : this.selectedIndex - 1;
529
+ return this.selectIndex(i);
530
+ },
531
+
532
+ /**
533
+ * Selects the next item. This should be used in single selection only.
534
+ *
535
+ * @method selectNext
536
+ * @param {boolean} wrapped if true and it is already at the last item,
537
+ * wrap to the front
538
+ * @returns the next item or undefined if there is none
539
+ */
540
+ selectNext: function(wrapped) {
541
+ var i = wrapped && this.selectedIndex >= this.items.length - 1 ?
542
+ 0 : this.selectedIndex + 1;
543
+ return this.selectIndex(i);
544
+ }
545
+
546
+ });
547
+ </script>
548
+ </polymer-element>
@@ -0,0 +1,106 @@
1
+ <!DOCTYPE html>
2
+ <!--
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
+ -->
10
+ <html>
11
+ <head>
12
+ <title>Selector</title>
13
+ <script src="../webcomponentsjs/webcomponents.js"></script>
14
+ <link rel="import" href="core-selector.html">
15
+ </head>
16
+ <body unresolved>
17
+ <polymer-element name="selector-examples">
18
+ <template>
19
+ <style>
20
+ .list {
21
+ display: block;
22
+ border: 1px solid #ccc;
23
+ border-bottom: none;
24
+ background: #666;
25
+ color: white;
26
+ list-style: none;
27
+ margin: 0;
28
+ padding: 0;
29
+ }
30
+
31
+ .list > * {
32
+ height: 40px;
33
+ line-height: 40px;
34
+ padding: 0 20px;
35
+ border-bottom: 1px solid #ccc;
36
+ }
37
+
38
+ .list > *.core-selected {
39
+ background: #333;
40
+ }
41
+
42
+ li {
43
+ height: 30px;
44
+ }
45
+
46
+ li.core-selected:after {
47
+ content: "\2713";
48
+ position: absolute;
49
+ padding-left: 10px;
50
+ }
51
+ </style>
52
+
53
+ <h2>basic</h2>
54
+ <core-selector class="list" selected="0">
55
+ <div>Item 0</div>
56
+ <div>Item 1</div>
57
+ <div>Item 2</div>
58
+ <div>Item 3</div>
59
+ <div>Item 4</div>
60
+ </core-selector>
61
+
62
+ <h2>multi-selection</h2>
63
+ <core-selector class="list" selected="{{multiSelected}}" multi>
64
+ <div>Item 0</div>
65
+ <div>Item 1</div>
66
+ <div>Item 2</div>
67
+ <div>Item 3</div>
68
+ <div>Item 4</div>
69
+ </core-selector>
70
+
71
+ <h2>list</h2>
72
+ <core-selector target="{{$.list}}" selected="0"></core-selector>
73
+ <ul id="list">
74
+ <li>Item 0</li>
75
+ <li>Item 1</li>
76
+ <li>Item 2</li>
77
+ <li>Item 3</li>
78
+ <li>Item 4</li>
79
+ </ul>
80
+
81
+ <h2>binding of a group of radio buttons to a variable</h2>
82
+ <core-selector target="{{$.myForm}}" itemsSelector="input[type=radio]"
83
+ selected="{{color}}" valueattr="value" selectedProperty="checked"
84
+ activateEvent="change"></core-selector>
85
+ <form id="myForm">
86
+ <label><input type="radio" name="color" value="red"> Red</label> <br>
87
+ <label><input type="radio" name="color" value="green"> Green</label> <br>
88
+ <label><input type="radio" name="color" value="blue"> Blue</label> <br>
89
+ <p>color = {{color}}</p>
90
+ </form>
91
+
92
+ </template>
93
+
94
+ <script>
95
+ Polymer('selector-examples', {
96
+ ready: function() {
97
+ this.multiSelected = [1, 3];
98
+ this.color = 'green';
99
+ }
100
+ });
101
+ </script>
102
+ </polymer-element>
103
+
104
+ <selector-examples></selector-examples>
105
+ </body>
106
+ </html>
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <!--
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
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
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
9
+ -->
10
+ <html>
11
+ <head>
12
+
13
+ <script src="../webcomponentsjs/webcomponents.js"></script>
14
+ <link rel="import" href="../core-component-page/core-component-page.html">
15
+
16
+ </head>
17
+ <body unresolved>
18
+
19
+ <core-component-page></core-component-page>
20
+
21
+ </body>
22
+ </html>
@@ -0,0 +1,20 @@
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
+ -->
10
+ <x-meta id="core-selector" label="Selector" group="Core" isContainer>
11
+
12
+ <template>
13
+ <core-selector selected="0" style="width:100%;height:50px;"></core-selector>
14
+ </template>
15
+
16
+ <template>
17
+ <link rel="import" href="core-selector.html">
18
+ </template>
19
+
20
+ </x-meta>