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,477 @@
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
+ `paper-ripple` provides a visual effect that other paper elements can
12
+ use to simulate a rippling effect emanating from the point of contact. The
13
+ effect can be visualized as a concentric circle with motion.
14
+
15
+ Example:
16
+
17
+ <paper-ripple></paper-ripple>
18
+
19
+ `paper-ripple` listens to "down" and "up" events so it would display ripple
20
+ effect when touches on it. You can also defeat the default behavior and
21
+ manually route the down and up actions to the ripple element. Note that it is
22
+ important if you call downAction() you will have to make sure to call upAction()
23
+ so that `paper-ripple` would end the animation loop.
24
+
25
+ Example:
26
+
27
+ <paper-ripple id="ripple" style="pointer-events: none;"></paper-ripple>
28
+ ...
29
+ downAction: function(e) {
30
+ this.$.ripple.downAction({x: e.x, y: e.y});
31
+ },
32
+ upAction: function(e) {
33
+ this.$.ripple.upAction();
34
+ }
35
+
36
+ Styling ripple effect:
37
+
38
+ Use CSS color property to style the ripple:
39
+
40
+ paper-ripple {
41
+ color: #4285f4;
42
+ }
43
+
44
+ Note that CSS color property is inherited so it is not required to set it on
45
+ the `paper-ripple` element directly.
46
+
47
+ By default, the ripple is centered on the point of contact. Apply `recenteringTouch`
48
+ class to have the ripple grow toward the center of its container.
49
+
50
+ <paper-ripple class="recenteringTouch"></paper-ripple>
51
+
52
+ Apply `circle` class to make the rippling effect within a circle.
53
+
54
+ <paper-ripple class="circle"></paper-ripple>
55
+
56
+ @group Paper Elements
57
+ @element paper-ripple
58
+ @homepage github.io
59
+ -->
60
+
61
+ <!--
62
+ Fired when the animation finishes. This is useful if you want to wait until the ripple
63
+ animation finishes to perform some action.
64
+
65
+ @event core-transitionend
66
+ @param {Object} detail
67
+ @param {Object} detail.node The animated node
68
+ -->
69
+
70
+ <link rel="import" href="../polymer/polymer.html" >
71
+
72
+ <polymer-element name="paper-ripple" attributes="initialOpacity opacityDecayVelocity">
73
+ <template>
74
+
75
+ <style>
76
+
77
+ :host {
78
+ display: block;
79
+ position: relative;
80
+ border-radius: inherit;
81
+ overflow: hidden;
82
+ }
83
+
84
+ :host-context([noink]) {
85
+ pointer-events: none;
86
+ }
87
+
88
+ #bg, #waves, .wave-container, .wave {
89
+ pointer-events: none;
90
+ position: absolute;
91
+ top: 0;
92
+ left: 0;
93
+ width: 100%;
94
+ height: 100%;
95
+ }
96
+
97
+ #bg, .wave {
98
+ opacity: 0;
99
+ }
100
+
101
+ #waves, .wave {
102
+ overflow: hidden;
103
+ }
104
+
105
+ .wave-container, .wave {
106
+ border-radius: 50%;
107
+ }
108
+
109
+ :host(.circle) #bg,
110
+ :host(.circle) #waves {
111
+ border-radius: 50%;
112
+ }
113
+
114
+ :host(.circle) .wave-container {
115
+ overflow: hidden;
116
+ }
117
+
118
+ </style>
119
+
120
+ <div id="bg"></div>
121
+ <div id="waves">
122
+ </div>
123
+
124
+ </template>
125
+ <script>
126
+
127
+ (function() {
128
+
129
+ var waveMaxRadius = 150;
130
+ //
131
+ // INK EQUATIONS
132
+ //
133
+ function waveRadiusFn(touchDownMs, touchUpMs, anim) {
134
+ // Convert from ms to s
135
+ var touchDown = touchDownMs / 1000;
136
+ var touchUp = touchUpMs / 1000;
137
+ var totalElapsed = touchDown + touchUp;
138
+ var ww = anim.width, hh = anim.height;
139
+ // use diagonal size of container to avoid floating point math sadness
140
+ var waveRadius = Math.min(Math.sqrt(ww * ww + hh * hh), waveMaxRadius) * 1.1 + 5;
141
+ var duration = 1.1 - .2 * (waveRadius / waveMaxRadius);
142
+ var tt = (totalElapsed / duration);
143
+
144
+ var size = waveRadius * (1 - Math.pow(80, -tt));
145
+ return Math.abs(size);
146
+ }
147
+
148
+ function waveOpacityFn(td, tu, anim) {
149
+ // Convert from ms to s.
150
+ var touchDown = td / 1000;
151
+ var touchUp = tu / 1000;
152
+ var totalElapsed = touchDown + touchUp;
153
+
154
+ if (tu <= 0) { // before touch up
155
+ return anim.initialOpacity;
156
+ }
157
+ return Math.max(0, anim.initialOpacity - touchUp * anim.opacityDecayVelocity);
158
+ }
159
+
160
+ function waveOuterOpacityFn(td, tu, anim) {
161
+ // Convert from ms to s.
162
+ var touchDown = td / 1000;
163
+ var touchUp = tu / 1000;
164
+
165
+ // Linear increase in background opacity, capped at the opacity
166
+ // of the wavefront (waveOpacity).
167
+ var outerOpacity = touchDown * 0.3;
168
+ var waveOpacity = waveOpacityFn(td, tu, anim);
169
+ return Math.max(0, Math.min(outerOpacity, waveOpacity));
170
+ }
171
+
172
+ // Determines whether the wave should be completely removed.
173
+ function waveDidFinish(wave, radius, anim) {
174
+ var waveOpacity = waveOpacityFn(wave.tDown, wave.tUp, anim);
175
+
176
+ // If the wave opacity is 0 and the radius exceeds the bounds
177
+ // of the element, then this is finished.
178
+ return waveOpacity < 0.01 && radius >= Math.min(wave.maxRadius, waveMaxRadius);
179
+ };
180
+
181
+ function waveAtMaximum(wave, radius, anim) {
182
+ var waveOpacity = waveOpacityFn(wave.tDown, wave.tUp, anim);
183
+
184
+ return waveOpacity >= anim.initialOpacity && radius >= Math.min(wave.maxRadius, waveMaxRadius);
185
+ }
186
+
187
+ //
188
+ // DRAWING
189
+ //
190
+ function drawRipple(ctx, x, y, radius, innerAlpha, outerAlpha) {
191
+ // Only animate opacity and transform
192
+ if (outerAlpha !== undefined) {
193
+ ctx.bg.style.opacity = outerAlpha;
194
+ }
195
+ ctx.wave.style.opacity = innerAlpha;
196
+
197
+ var s = radius / (ctx.containerSize / 2);
198
+ var dx = x - (ctx.containerWidth / 2);
199
+ var dy = y - (ctx.containerHeight / 2);
200
+
201
+ ctx.wc.style.webkitTransform = 'translate3d(' + dx + 'px,' + dy + 'px,0)';
202
+ ctx.wc.style.transform = 'translate3d(' + dx + 'px,' + dy + 'px,0)';
203
+
204
+ // 2d transform for safari because of border-radius and overflow:hidden clipping bug.
205
+ // https://bugs.webkit.org/show_bug.cgi?id=98538
206
+ ctx.wave.style.webkitTransform = 'scale(' + s + ',' + s + ')';
207
+ ctx.wave.style.transform = 'scale3d(' + s + ',' + s + ',1)';
208
+ }
209
+
210
+ //
211
+ // SETUP
212
+ //
213
+ function createWave(elem) {
214
+ var elementStyle = window.getComputedStyle(elem);
215
+ var fgColor = elementStyle.color;
216
+
217
+ var inner = document.createElement('div');
218
+ inner.style.backgroundColor = fgColor;
219
+ inner.classList.add('wave');
220
+
221
+ var outer = document.createElement('div');
222
+ outer.classList.add('wave-container');
223
+ outer.appendChild(inner);
224
+
225
+ var container = elem.$.waves;
226
+ container.appendChild(outer);
227
+
228
+ elem.$.bg.style.backgroundColor = fgColor;
229
+
230
+ var wave = {
231
+ bg: elem.$.bg,
232
+ wc: outer,
233
+ wave: inner,
234
+ waveColor: fgColor,
235
+ maxRadius: 0,
236
+ isMouseDown: false,
237
+ mouseDownStart: 0.0,
238
+ mouseUpStart: 0.0,
239
+ tDown: 0,
240
+ tUp: 0
241
+ };
242
+ return wave;
243
+ }
244
+
245
+ function removeWaveFromScope(scope, wave) {
246
+ if (scope.waves) {
247
+ var pos = scope.waves.indexOf(wave);
248
+ scope.waves.splice(pos, 1);
249
+ // FIXME cache nodes
250
+ wave.wc.remove();
251
+ }
252
+ };
253
+
254
+ // Shortcuts.
255
+ var pow = Math.pow;
256
+ var now = Date.now;
257
+ if (window.performance && performance.now) {
258
+ now = performance.now.bind(performance);
259
+ }
260
+
261
+ function cssColorWithAlpha(cssColor, alpha) {
262
+ var parts = cssColor.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
263
+ if (typeof alpha == 'undefined') {
264
+ alpha = 1;
265
+ }
266
+ if (!parts) {
267
+ return 'rgba(255, 255, 255, ' + alpha + ')';
268
+ }
269
+ return 'rgba(' + parts[1] + ', ' + parts[2] + ', ' + parts[3] + ', ' + alpha + ')';
270
+ }
271
+
272
+ function dist(p1, p2) {
273
+ return Math.sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
274
+ }
275
+
276
+ function distanceFromPointToFurthestCorner(point, size) {
277
+ var tl_d = dist(point, {x: 0, y: 0});
278
+ var tr_d = dist(point, {x: size.w, y: 0});
279
+ var bl_d = dist(point, {x: 0, y: size.h});
280
+ var br_d = dist(point, {x: size.w, y: size.h});
281
+ return Math.max(tl_d, tr_d, bl_d, br_d);
282
+ }
283
+
284
+ Polymer('paper-ripple', {
285
+
286
+ /**
287
+ * The initial opacity set on the wave.
288
+ *
289
+ * @attribute initialOpacity
290
+ * @type number
291
+ * @default 0.25
292
+ */
293
+ initialOpacity: 0.25,
294
+
295
+ /**
296
+ * How fast (opacity per second) the wave fades out.
297
+ *
298
+ * @attribute opacityDecayVelocity
299
+ * @type number
300
+ * @default 0.8
301
+ */
302
+ opacityDecayVelocity: 0.8,
303
+
304
+ backgroundFill: true,
305
+ pixelDensity: 2,
306
+
307
+ eventDelegates: {
308
+ down: 'downAction',
309
+ up: 'upAction'
310
+ },
311
+
312
+ ready: function() {
313
+ this.waves = [];
314
+ },
315
+
316
+ downAction: function(e) {
317
+ var wave = createWave(this);
318
+
319
+ this.cancelled = false;
320
+ wave.isMouseDown = true;
321
+ wave.tDown = 0.0;
322
+ wave.tUp = 0.0;
323
+ wave.mouseUpStart = 0.0;
324
+ wave.mouseDownStart = now();
325
+
326
+ var rect = this.getBoundingClientRect();
327
+ var width = rect.width;
328
+ var height = rect.height;
329
+ var touchX = e.x - rect.left;
330
+ var touchY = e.y - rect.top;
331
+
332
+ wave.startPosition = {x:touchX, y:touchY};
333
+
334
+ if (this.classList.contains("recenteringTouch")) {
335
+ wave.endPosition = {x: width / 2, y: height / 2};
336
+ wave.slideDistance = dist(wave.startPosition, wave.endPosition);
337
+ }
338
+ wave.containerSize = Math.max(width, height);
339
+ wave.containerWidth = width;
340
+ wave.containerHeight = height;
341
+ wave.maxRadius = distanceFromPointToFurthestCorner(wave.startPosition, {w: width, h: height});
342
+
343
+ // The wave is circular so constrain its container to 1:1
344
+ wave.wc.style.top = (wave.containerHeight - wave.containerSize) / 2 + 'px';
345
+ wave.wc.style.left = (wave.containerWidth - wave.containerSize) / 2 + 'px';
346
+ wave.wc.style.width = wave.containerSize + 'px';
347
+ wave.wc.style.height = wave.containerSize + 'px';
348
+
349
+ this.waves.push(wave);
350
+
351
+ if (!this._loop) {
352
+ this._loop = this.animate.bind(this, {
353
+ width: width,
354
+ height: height
355
+ });
356
+ requestAnimationFrame(this._loop);
357
+ }
358
+ // else there is already a rAF
359
+ },
360
+
361
+ upAction: function() {
362
+ for (var i = 0; i < this.waves.length; i++) {
363
+ // Declare the next wave that has mouse down to be mouse'ed up.
364
+ var wave = this.waves[i];
365
+ if (wave.isMouseDown) {
366
+ wave.isMouseDown = false
367
+ wave.mouseUpStart = now();
368
+ wave.mouseDownStart = 0;
369
+ wave.tUp = 0.0;
370
+ break;
371
+ }
372
+ }
373
+ this._loop && requestAnimationFrame(this._loop);
374
+ },
375
+
376
+ cancel: function() {
377
+ this.cancelled = true;
378
+ },
379
+
380
+ animate: function(ctx) {
381
+ var shouldRenderNextFrame = false;
382
+
383
+ var deleteTheseWaves = [];
384
+ // The oldest wave's touch down duration
385
+ var longestTouchDownDuration = 0;
386
+ var longestTouchUpDuration = 0;
387
+ // Save the last known wave color
388
+ var lastWaveColor = null;
389
+ // wave animation values
390
+ var anim = {
391
+ initialOpacity: this.initialOpacity,
392
+ opacityDecayVelocity: this.opacityDecayVelocity,
393
+ height: ctx.height,
394
+ width: ctx.width
395
+ }
396
+
397
+ for (var i = 0; i < this.waves.length; i++) {
398
+ var wave = this.waves[i];
399
+
400
+ if (wave.mouseDownStart > 0) {
401
+ wave.tDown = now() - wave.mouseDownStart;
402
+ }
403
+ if (wave.mouseUpStart > 0) {
404
+ wave.tUp = now() - wave.mouseUpStart;
405
+ }
406
+
407
+ // Determine how long the touch has been up or down.
408
+ var tUp = wave.tUp;
409
+ var tDown = wave.tDown;
410
+ longestTouchDownDuration = Math.max(longestTouchDownDuration, tDown);
411
+ longestTouchUpDuration = Math.max(longestTouchUpDuration, tUp);
412
+
413
+ // Obtain the instantenous size and alpha of the ripple.
414
+ var radius = waveRadiusFn(tDown, tUp, anim);
415
+ var waveAlpha = waveOpacityFn(tDown, tUp, anim);
416
+ var waveColor = cssColorWithAlpha(wave.waveColor, waveAlpha);
417
+ lastWaveColor = wave.waveColor;
418
+
419
+ // Position of the ripple.
420
+ var x = wave.startPosition.x;
421
+ var y = wave.startPosition.y;
422
+
423
+ // Ripple gravitational pull to the center of the canvas.
424
+ if (wave.endPosition) {
425
+
426
+ // This translates from the origin to the center of the view based on the max dimension of
427
+ var translateFraction = Math.min(1, radius / wave.containerSize * 2 / Math.sqrt(2) );
428
+
429
+ x += translateFraction * (wave.endPosition.x - wave.startPosition.x);
430
+ y += translateFraction * (wave.endPosition.y - wave.startPosition.y);
431
+ }
432
+
433
+ // If we do a background fill fade too, work out the correct color.
434
+ var bgFillColor = null;
435
+ if (this.backgroundFill) {
436
+ var bgFillAlpha = waveOuterOpacityFn(tDown, tUp, anim);
437
+ bgFillColor = cssColorWithAlpha(wave.waveColor, bgFillAlpha);
438
+ }
439
+
440
+ // Draw the ripple.
441
+ drawRipple(wave, x, y, radius, waveAlpha, bgFillAlpha);
442
+
443
+ // Determine whether there is any more rendering to be done.
444
+ var maximumWave = waveAtMaximum(wave, radius, anim);
445
+ var waveDissipated = waveDidFinish(wave, radius, anim);
446
+ var shouldKeepWave = !waveDissipated || maximumWave;
447
+ // keep rendering dissipating wave when at maximum radius on upAction
448
+ var shouldRenderWaveAgain = wave.mouseUpStart ? !waveDissipated : !maximumWave;
449
+ shouldRenderNextFrame = shouldRenderNextFrame || shouldRenderWaveAgain;
450
+ if (!shouldKeepWave || this.cancelled) {
451
+ deleteTheseWaves.push(wave);
452
+ }
453
+ }
454
+
455
+ if (shouldRenderNextFrame) {
456
+ requestAnimationFrame(this._loop);
457
+ }
458
+
459
+ for (var i = 0; i < deleteTheseWaves.length; ++i) {
460
+ var wave = deleteTheseWaves[i];
461
+ removeWaveFromScope(this, wave);
462
+ }
463
+
464
+ if (!this.waves.length && this._loop) {
465
+ // clear the background color
466
+ this.$.bg.style.backgroundColor = null;
467
+ this._loop = null;
468
+ this.fire('core-transitionend');
469
+ }
470
+ }
471
+
472
+ });
473
+
474
+ })();
475
+
476
+ </script>
477
+ </polymer-element>
@@ -0,0 +1,24 @@
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
+ <meta charset="UTF-8">
13
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
14
+ <title>Tests</title>
15
+ <script src="../../web-component-tester/browser.js"></script>
16
+ </head>
17
+ <body>
18
+ <script>
19
+ WCT.loadSuites([
20
+ 'position.html'
21
+ ]);
22
+ </script>
23
+ </body>
24
+ </html>
@@ -0,0 +1,109 @@
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
+
13
+ <meta charset="UTF-8">
14
+ <title>paper-ripple position tests</title>
15
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
16
+
17
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
18
+ <script src="../../web-component-tester/browser.js"></script>
19
+ <script src="../../polymer-gestures/test/js/fake.js"></script>
20
+
21
+ <link href="../paper-ripple.html" rel="import">
22
+
23
+ <style>
24
+ .ripple-container {
25
+ border: 1px solid black;
26
+ position: relative;
27
+ margin: 16px;
28
+ }
29
+
30
+ .ripple-container > span {
31
+ pointer-events: none;
32
+ }
33
+
34
+ .ripple-1 {
35
+ width: 320px;
36
+ height: 480px;
37
+ }
38
+
39
+ .ripple-1-tap {
40
+ top: 10px;
41
+ }
42
+
43
+ .ripple-2 {
44
+ width: 480px;
45
+ height: 320px;
46
+ }
47
+
48
+ .ripple-2-tap {
49
+ pointer-events: none;
50
+ }
51
+
52
+ .ripple-3 {
53
+ width: 320px;
54
+ height: 320px;
55
+ }
56
+ </style>
57
+
58
+ </head>
59
+ <body unresolved>
60
+
61
+ <div class="ripple-container ripple-1" layout vertical center>
62
+ <paper-ripple fit></paper-ripple>
63
+ <span class="ripple-1-tap">tap here</span>
64
+ </div>
65
+
66
+ <div class="ripple-container ripple-2" layout horizontal center>
67
+ <paper-ripple fit></paper-ripple>
68
+ <span class="ripple-2-tap">tap here</span>
69
+ </div>
70
+
71
+ <script>
72
+ var fake = new Fake();
73
+
74
+ function centerOf(node) {
75
+ var rect = node.getBoundingClientRect();
76
+ return {x: rect.left + rect.width / 2, y: rect.top + rect.height / 2};
77
+ }
78
+
79
+ function approxEqual(p1, p2) {
80
+ return Math.floor(p1.x) == Math.floor(p2.x) && Math.floor(p1.y) == Math.floor(p2.y);
81
+ }
82
+
83
+ test('tall container', function(done) {
84
+ var ripple1 = document.querySelector('.ripple-1-tap');
85
+ fake.downOnNode(ripple1, function() {
86
+ requestAnimationFrame(function() {
87
+ var wave = document.querySelector('.ripple-1 /deep/ .wave');
88
+ assert.ok(approxEqual(centerOf(ripple1), centerOf(wave)));
89
+ done();
90
+ });
91
+ });
92
+ });
93
+
94
+ test('wide container', function(done) {
95
+ var ripple2 = document.querySelector('.ripple-2-tap');
96
+ fake.downOnNode(ripple2, function() {
97
+ requestAnimationFrame(function() {
98
+ var wave = document.querySelector('.ripple-2 /deep/ .wave');
99
+ assert.ok(approxEqual(centerOf(ripple2), centerOf(wave)));
100
+ done();
101
+ });
102
+
103
+ });
104
+ });
105
+
106
+ </script>
107
+
108
+ </body>
109
+ </html>
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "paper-shadow",
3
+ "private": true,
4
+ "dependencies": {
5
+ "polymer": "Polymer/polymer#^0.5"
6
+ },
7
+ "devDependencies": {
8
+ "web-component-tester": "Polymer/web-component-tester#^1.1.4"
9
+ },
10
+ "version": "0.5.5",
11
+ "homepage": "https://github.com/Polymer/paper-shadow",
12
+ "_release": "0.5.5",
13
+ "_resolution": {
14
+ "type": "version",
15
+ "tag": "0.5.5",
16
+ "commit": "ca5f5a38d1a174eeb3eaf5e9949da8a8236997bb"
17
+ },
18
+ "_source": "git://github.com/Polymer/paper-shadow.git",
19
+ "_target": "~0.5.5",
20
+ "_originalSource": "Polymer/paper-shadow",
21
+ "_direct": true
22
+ }
@@ -0,0 +1,4 @@
1
+ paper-shadow
2
+ ============
3
+
4
+ See the [component page](http://polymer-project.org/docs/elements/paper-elements.html#paper-shadow) for more information.
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "paper-shadow",
3
+ "private": true,
4
+ "dependencies": {
5
+ "polymer": "Polymer/polymer#^0.5"
6
+ },
7
+ "devDependencies": {
8
+ "web-component-tester": "Polymer/web-component-tester#^1.1.4"
9
+ },
10
+ "version": "0.5.5"
11
+ }